<?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>149192</bug_id>
          
          <creation_ts>2015-09-15 15:33:12 -0700</creation_ts>
          <short_desc>WebIDL: Rename [ReturnNewObject] to [NewObject] and use it more consistently in DOM</short_desc>
          <delta_ts>2015-09-16 16:01:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://heycam.github.io/webidl/#NewObject</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1126167</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-15 15:33:12 -0700</bug_when>
    <thetext>Rename [ReturnNewObject] to [NewObject] and use it more consistently in DOM.

This aligns our IDL extended attribute naming with standard Web IDL:
https://heycam.github.io/webidl/#NewObject

We already have [ReturnedNewObject] in most places that the DOM specification uses [NewObject] but we are missing a few so I&apos;ll fix this as well:
https://dom.spec.whatwg.org/#interface-document</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126203</commentid>
    <comment_count>1</comment_count>
      <attachid>261266</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-15 17:04:51 -0700</bug_when>
    <thetext>Created attachment 261266
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126248</commentid>
    <comment_count>2</comment_count>
      <attachid>261283</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-15 19:28:28 -0700</bug_when>
    <thetext>Created attachment 261283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126251</commentid>
    <comment_count>3</comment_count>
      <attachid>261285</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-15 19:46:34 -0700</bug_when>
    <thetext>Created attachment 261285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126252</commentid>
    <comment_count>4</comment_count>
      <attachid>261286</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-15 19:51:45 -0700</bug_when>
    <thetext>Created attachment 261286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126253</commentid>
    <comment_count>5</comment_count>
      <attachid>261287</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-15 19:54:14 -0700</bug_when>
    <thetext>Created attachment 261287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126254</commentid>
    <comment_count>6</comment_count>
      <attachid>261288</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-15 19:55:14 -0700</bug_when>
    <thetext>Created attachment 261288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126404</commentid>
    <comment_count>7</comment_count>
      <attachid>261319</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-16 10:51:12 -0700</bug_when>
    <thetext>Created attachment 261319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126417</commentid>
    <comment_count>8</comment_count>
      <attachid>261319</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-16 11:37:40 -0700</bug_when>
    <thetext>Comment on attachment 261319
Patch

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

I’m a little surprised about what [NewObject] is for in WebIDL. We invented [ReturnNewObject] as a performance optimization for the bindings code; given a guarantee that the result is a new object it can skip the step of looking for an existing DOM wrapper. It was always supposed to be safe to omit it, but more efficient to use it any time the function has an ironclad guaranteed that it won’t return an existing object.

Since [ReturnNewObject] does not have any effect on the semantics of the function, I’m surprised to find a similar WebIDL attribute! This attribute was not intended as part of the interface but just as an annotation for the bindings generator. I wonder if the WebIDL attribute was possibly inspired by [ReturnNewObject] and perhaps a misunderstanding of its purpose? I’m not sure we should be standardizing aspects of IDL that are engine implementation details, although it’s nice to be able to take advantage of them.

Since a lot of this patch is about efficiency, sure would be nice if we had some way to test the performance benefits.

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:82
&gt; +static inline JSValue createNewDocumentWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, Document&amp; document)

Whenever possible the new functions should use references for “guaranteed non-null” arguments such as exec and globalObject. Similarly, we like to use “state” rather than “exec” as the name in new code.

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:94
&gt; +    if (!document.frame()) {

Just moved code, but: Checking frame for null seems subtly wrong here. I’d like to get a deeper understanding of exactly why this is the right check.

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:97
&gt; +        size_t nodeCount = 0;
&gt; +        for (Node* n = &amp;document; n; n = NodeTraversal::next(*n))
&gt; +            ++nodeCount;

Just moved code, but: Isn’t there a tighter way of writing this with the node iterator objects?

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp:215
&gt;  #endif
&gt; +JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestException* impl)

Would be nice if the code generator put a blank line here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126439</commentid>
    <comment_count>9</comment_count>
      <attachid>261319</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-16 13:07:29 -0700</bug_when>
    <thetext>Comment on attachment 261319
Patch

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

I agree it is a bit surprising that WebIDL has such attribute. However, since it does, I think it makes sense to align the naming. WebIDL specifies that we should return a new Object every time. WebKit specifies that we can bypass the existing wrapper check since we know it is a new Object and there won&apos;t be one. The good news is that if we should be able to use [NewObject] everywhere that the specification has it because if the optimization would be invalid, it would likely mean that we don&apos;t comply with the specification (i.e. sometimes return the same object). However, we can also use [NewObject] is places where the specification does not have it if we know WebKit always returns a new object and it is hot code. Also note that if someone tries to use [NewObject] for an API where we don&apos;t always return a new Object, then we will hit an assertion in createNewWrapper():
ASSERT(!getCachedWrapper(globalObject-&gt;world(), domObject));

&gt;&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:82
&gt;&gt; +static inline JSValue createNewDocumentWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, Document&amp; document)
&gt; 
&gt; Whenever possible the new functions should use references for “guaranteed non-null” arguments such as exec and globalObject. Similarly, we like to use “state” rather than “exec” as the name in new code.

OK

&gt;&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:94
&gt;&gt; +    if (!document.frame()) {
&gt; 
&gt; Just moved code, but: Checking frame for null seems subtly wrong here. I’d like to get a deeper understanding of exactly why this is the right check.

Documents in the PageCache do not have a frame so this check will at least match those. Based on the comment above, it looks like the intention was Page-Cache related.

&gt;&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:97
&gt;&gt; +            ++nodeCount;
&gt; 
&gt; Just moved code, but: Isn’t there a tighter way of writing this with the node iterator objects?

Do you mean the DOM NodeIterator type? I haven&apos;t found any Native code using it internally.
We do have a lot of other fancy DOM traversal iterator types but those work with Elements, not Nodes.

&gt;&gt; Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp:215
&gt;&gt; +JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, TestException* impl)
&gt; 
&gt; Would be nice if the code generator put a blank line here.

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126450</commentid>
    <comment_count>10</comment_count>
      <attachid>261324</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-16 13:50:54 -0700</bug_when>
    <thetext>Created attachment 261324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126484</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-16 15:14:57 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 261319 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261319&amp;action=review
&gt; 
&gt; I’m a little surprised about what [NewObject] is for in WebIDL. We invented
&gt; [ReturnNewObject] as a performance optimization for the bindings code; given
&gt; a guarantee that the result is a new object it can skip the step of looking
&gt; for an existing DOM wrapper. It was always supposed to be safe to omit it,
&gt; but more efficient to use it any time the function has an ironclad
&gt; guaranteed that it won’t return an existing object.
&gt; 
&gt; Since [ReturnNewObject] does not have any effect on the semantics of the
&gt; function, I’m surprised to find a similar WebIDL attribute! This attribute
&gt; was not intended as part of the interface but just as an annotation for the
&gt; bindings generator. I wonder if the WebIDL attribute was possibly inspired
&gt; by [ReturnNewObject] and perhaps a misunderstanding of its purpose? I’m not
&gt; sure we should be standardizing aspects of IDL that are engine
&gt; implementation details, although it’s nice to be able to take advantage of
&gt; them.
&gt; 
&gt; Since a lot of this patch is about efficiency, sure would be nice if we had
&gt; some way to test the performance benefits.

I ran Speedometer and Dromaeo. Mostly no impact but there seems to be a nice ~5.7% progression on Dromaeo&apos;s jslib-event-prototype.html. This test is using prototype&apos;s Element.fire [1] which uses Document.createEvent() internally. Note that Document.createEvent() is one of the operations for which I added [NewObject].

[1] http://api.prototypejs.org/dom/Element/fire/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126494</commentid>
    <comment_count>12</comment_count>
      <attachid>261324</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-16 16:01:26 -0700</bug_when>
    <thetext>Comment on attachment 261324
Patch

Clearing flags on attachment: 261324

Committed r189881: &lt;http://trac.webkit.org/changeset/189881&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126495</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-16 16:01:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261266</attachid>
            <date>2015-09-15 17:04:51 -0700</date>
            <delta_ts>2015-09-15 19:28:24 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>0001-149192_NewObject.patch</filename>
            <type>text/plain</type>
            <size>34909</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">RnJvbSAxNmQ4M2MyM2ZhMjhkMWEyYjM3MmYzNmJjNWY4ZGU5NWY1OWE3ZmZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBEdW1leiA8Y2R1bWV6QGFwcGxlLmNvbT4KRGF0ZTog
VHVlLCAxNSBTZXAgMjAxNSAxNTozNDowNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIDE0OTE5Ml9O
ZXdPYmplY3QKCi0tLQogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qICAgfCAgOCAtLS0tCiAuLi4vV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlv
bkN1c3RvbS5jcHAgICB8IDQzIC0tLS0tLS0tLS0tLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwICAgIHwgMjggKysrKysrKysrKysrCiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwICAgICB8ICA0ICstCiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaCAgICAgICB8ICAyICsK
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwICAgICAgIHwgMTMg
KysrKysrCiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCAg
ICB8ICA4ICsrKysKIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAg
ICAgICAgIHwgNDMgLS0tLS0tLS0tLS0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNUb3VjaEN1c3RvbS5jcHAgICAgICAgfCA1MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAgICB8IDUwIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtIHwgMzEgKysrKysrKystLS0tLS0KIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2Rv
bS9ET01JbXBsZW1lbnRhdGlvbi5pZGwgICAgICAgICAgIHwgIDYgKy0tCiBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaWRsICAgICAgICAgICAgICAgICAgICB8IDM0ICsrKysrKystLS0tLS0t
LQogU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsICAgICAgICAgICAgICAgICAgICAgICAgfCAg
MiArLQogU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5vZGUuaWRsICAgICAgICAgICAgICAgICAg
fCAgMiArLQogU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbCAgICAgICAgICAgICAgICAgICAg
ICAgfCAgNiArLS0KIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbCAgICAgICAgICAgICAgICAg
ICAgICAgIHwgIDIgKy0KIDE4IGZpbGVzIGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDIzNyBk
ZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwCiBkZWxldGUgbW9kZSAxMDA2NDQgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAKIGRlbGV0ZSBtb2RlIDEw
MDY0NCBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAKCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggNTRlYzg1YS4uNWI0NjEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjkwLDcgKzY5MCw2IEBACiAJCTFBMkE2ODI0MEI1
QkVERTcwMDAyQTQ4MCAvKiBQcm9ncmVzc1RyYWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkE2ODIyMEI1QkVERTcwMDAyQTQ4MCAvKiBQcm9n
cmVzc1RyYWNrZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkxQTJBQUM1ODBEQzJBM0IxMDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3Jh
Z2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEy
QUFDNTYwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcCAqLzsg
fTsKIAkJMUEyQUFDNTkwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBQUM1
NzBEQzJBM0IxMDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxQTJDNDBBQjBERUI1NUFB
MDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkM0MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0
b20uY3BwICovOyB9OwogCQkxQTJFNkU1OTBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRTZFNTcw
Q0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmNwcCAqLzsgfTsKIAkJMUEyRTZFNUEwQ0M1NTIx
MzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTJFNkU1ODBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTJFNkU3QTBD
QzU1NkQ1MDA0QTIwNjIgLyogU1FMaXRlQXV0aG9yaXplci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJFNkU3ODBDQzU1NkQ1MDA0QTIwNjIgLyog
U1FMaXRlQXV0aG9yaXplci5jcHAgKi87IH07CkBAIC0zNTA1LDcgKzM1MDQsNiBAQAogCQk5M0I3
MEQ2RjA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0I3MEQ1MzA5RUIwQzdDMDA5RDg0
NjggLyogU2NyaXB0Q29udHJvbGxlci5jcHAgKi87IH07CiAJCTkzQjcwRDcwMDlFQjBDN0MwMDlE
ODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0I3MEQ1NDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJv
bGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTkzQjc3QTM4MEFERDc5MjUwMEVBNEI4MSAvKiBGcmFtZUxvYWRlclR5cGVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0I3N0EzNzBBREQ3OTI1MDBF
QTRCODEgLyogRnJhbWVMb2FkZXJUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTkzQkE1OUIyMEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRB
U2VjdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0JBNTlCMTBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNlY3Rpb25DdXN0b20u
Y3BwICovOyB9OwogCQk5M0MwOUE1MzBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0MwOUE1MjBC
MDY0REIzMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNDMDlBN0YwQjA2NEVFRjAwNUFCRDREIC8qIEV2
ZW50SGFuZGxlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQzA5QTdFMEIwNjRFRUYwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXJNYWMubW0gKi87
IH07CiAJCTkzQzA5QTgxMEIwNjRGMDAwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNDMDlBODAwQjA2NEYw
MDAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5jcHAgKi87IH07CkBAIC03ODYwLDcgKzc4NTgsNiBA
QAogCQkxQTJBNjgyMjBCNUJFREU3MDAwMkE0ODAgLyogUHJvZ3Jlc3NUcmFja2VyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9ncmVzc1RyYWNrZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyQUFDNTYwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUEyQUFDNTcwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBMkM0MEFBMERFQjU1QUEwMDVBRjE5
RSAvKiBKU1RleHRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNUZXh0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyRTZF
NTcwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNRTFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUEyRTZFNTgwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNRTFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFBMkU2RTc4MENDNTU2RDUwMDRBMjA2MiAvKiBTUUxpdGVBdXRob3JpemVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNRTGl0ZUF1dGhvcml6ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA4NzUsNyArMTA4NzIsNiBAQAogCQk5M0I3
MEQ1MzA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q29udHJvbGxlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjcwRDU0MDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRD
b250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRDb250
cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjc3QTM3MEFERDc5MjUw
MEVBNEI4MSAvKiBGcmFtZUxvYWRlclR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZyYW1lTG9hZGVyVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
OTNCQTU5QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNDMDlBNTIwQjA2NERCMzAwNUFCRDRE
IC8qIEV2ZW50SGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVu
dEhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNDMDlBN0UwQjA2NEVF
RjAwNUFCRDREIC8qIEV2ZW50SGFuZGxlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEV2ZW50SGFuZGxlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTNDMDlBODAwQjA2NEYwMDAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudEhhbmRsZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE1NTMsNyArMjE1NDksNiBAQAogCQkJCTg5MzFE
RTVBMTRDNDRDNDQwMDBEQzlEMiAvKiBKU0Jsb2JDdXN0b20uY3BwICovLAogCQkJCTQ5RUVEMTRC
MTA1MTk3MTkwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAg
Ki8sCiAJCQkJNDlFRUQxNEQxMDUxOTcxQTAwMDk5RkFCIC8qIEpTQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHAgKi8sCi0JCQkJOTNCQTU5QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RB
VEFTZWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQk3QzMzRjM1ODFCNEEwNDQ4MDA1MDJDQUYgLyog
SlNDaGFyYWN0ZXJEYXRhQ3VzdG9tLmNwcCAqLywKIAkJCQlBNTg0RkUzNzE4NjREQUMxMDA4NDNC
MTAgLyogSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0b20uY3BwICovLAogCQkJCTE0OEI0RkY3MUI2
OTA0MjEwMEM5NTRFNCAvKiBKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCAqLywKQEAg
LTIxNjQ5LDcgKzIxNjQ0LDYgQEAKIAkJCQlFMUZGOEY2NjE4MDc0NjA4MDAxMzI2NzQgLyogSlNT
dWJ0bGVDcnlwdG9DdXN0b20uY3BwICovLAogCQkJCTA4RTRGRTQ1MEUyQkQ0MTQwMEY0Q0FFMCAv
KiBKU1NWR0xlbmd0aEN1c3RvbS5jcHAgKi8sCiAJCQkJQjJDOTZEOEMwQjNBRjJCNzAwNUU4MEVD
IC8qIEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgKi8sCi0JCQkJMUEyQzQwQUEwREVCNTVBQTAwNUFG
MTlFIC8qIEpTVGV4dEN1c3RvbS5jcHAgKi8sCiAJCQkJMDdFMTE3MDYxNDg5RUJFQjAwRUM1QUNF
IC8qIEpTVGV4dFRyYWNrQ3VlQ3VzdG9tLmNwcCAqLywKIAkJCQkwN0UxMTZCMDE0ODlDOUExMDBF
QzVBQ0UgLyogSlNUZXh0VHJhY2tDdXN0b20uY3BwICovLAogCQkJCTA3QjVBMzBDMTQ2ODdENzEw
MEE4MUVDRSAvKiBKU1RleHRUcmFja0xpc3RDdXN0b20uY3BwICovLApAQCAtMjg5NzQsNyArMjg5
NjgsNiBAQAogCQkJCTQ5RUVEMTUwMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDczQUI0QjcxN0Y5MkVDRjAw
NkUwRDZGIC8qIEpTQ2FwYWJpbGl0eVJhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjlC
N0EwMEJBNjAzMjYwMDg1NDA2NCAvKiBKU0NEQVRBU2VjdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQk5M0JBNTlCMjBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNlY3Rpb25DdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQTExMkIwM0VFMTAwM0E1ODNBIC8qIEpTQ2hhbm5l
bE1lcmdlck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQTMxMkIwM0VFMTAwM0E1
ODNBIC8qIEpTQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURG
MzFGMzA5RDFDQzYwMDAwQkUzMjUgLyogSlNDaGFyYWN0ZXJEYXRhLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMjk1MzcsNyArMjk1MzAsNiBAQAogCQkJCTcxRENCNzAxMTU2ODE5NzYwMDg2MjI3MSAv
KiBKU1NWR1pvb21BbmRQYW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNFMTgwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHWm9vbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYz
MjAzMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUEy
QzQwQUIwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5MzNBMTRCODBCN0QxRDUyMDBBNTNGRkQgLyogSlNUZXh0RXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNFRjQ1RjUwRTY4N0I1QzAwMUMxMjg3IC8qIEpTVGV4dE1ldHJpY3MuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwNzU2OTQxNDIyNjY4RDAwNDE0MTYxIC8qIEpTVGV4dFRy
YWNrLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5NzA5MWRhLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ0RB
VEFTZWN0aW9uQ3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ0RBVEFTZWN0aW9uLmgiCi0KLSNpbmNsdWRlICJDREFU
QVNlY3Rpb24uaCIKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1KU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoRXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgQ0RBVEFTZWN0aW9uKiBzZWN0aW9uKQotewotICAgIGlmICghc2Vj
dGlvbikKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotCi0gICAgcmV0dXJuIENSRUFURV9ET01f
V1JBUFBFUihnbG9iYWxPYmplY3QsIENEQVRBU2VjdGlvbiwgc2VjdGlvbik7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRG9jdW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1
bWVudEN1c3RvbS5jcHAKaW5kZXggNzBjY2RhZi4uMmEwYWVlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAKQEAgLTExOCw2ICsxMTgsMzQg
QEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgRG9jdW1lbnQqIGRvY3VtZW4KICAgICByZXR1cm4gd3JhcHBlcjsKIH0KIAorSlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIGlmICghZG9jdW1lbnQp
CisgICAgICAgIHJldHVybiBqc051bGwoKTsKKworICAgIEpTT2JqZWN0KiB3cmFwcGVyOworICAg
IGlmIChkb2N1bWVudC0+aXNIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFU
RV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEhUTUxEb2N1bWVudCwgZG9jdW1lbnQpOworICAg
IGVsc2UgaWYgKGRvY3VtZW50LT5pc1NWR0RvY3VtZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBD
UkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBTVkdEb2N1bWVudCwgZG9jdW1lbnQpOwor
ICAgIGVsc2UKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmpl
Y3QsIERvY3VtZW50LCBkb2N1bWVudCk7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhlIGRvY3VtZW50
IGlzIGtlcHQgYXJvdW5kIGJ5IHRoZSB3aW5kb3cgb2JqZWN0LCBhbmQgd29ya3MgcmlnaHQgd2l0
aCB0aGUKKyAgICAvLyBiYWNrL2ZvcndhcmQgY2FjaGUuCisgICAgaWYgKCFkb2N1bWVudC0+ZnJh
bWUoKSkgeworICAgICAgICBzaXplX3Qgbm9kZUNvdW50ID0gMDsKKyAgICAgICAgZm9yIChOb2Rl
KiBuID0gZG9jdW1lbnQ7IG47IG4gPSBOb2RlVHJhdmVyc2FsOjpuZXh0KCpuKSkKKyAgICAgICAg
ICAgIG5vZGVDb3VudCsrOworCisgICAgICAgIC8vIEZJWE1FOiBBZG9wdCByZXBvcnRFeHRyYU1l
bW9yeVZpc2l0ZWQsIGFuZCBzd2l0Y2ggdG8gcmVwb3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQuCisg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1OTUK
KyAgICAgICAgZXhlYy0+aGVhcCgpLT5kZXByZWNhdGVkUmVwb3J0RXh0cmFNZW1vcnkobm9kZUNv
dW50ICogc2l6ZW9mKE5vZGUpKTsKKyAgICB9CisKKyAgICByZXR1cm4gd3JhcHBlcjsKK30KKwog
SlNWYWx1ZSBKU0RvY3VtZW50OjpwcmVwZW5kKEV4ZWNTdGF0ZSogc3RhdGUpCiB7CiAgICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVt
ZW50Q3VzdG9tLmNwcAppbmRleCA4ZWIwZWRhLi45NTkxM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgSlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEVsZW1lbnQqIGUKIAogICAgIEFTU0VSVCghZ2V0Q2FjaGVkV3JhcHBlcihnbG9i
YWxPYmplY3QtPndvcmxkKCksIGVsZW1lbnQpKTsKIAotICAgIEpTRE9NV3JhcHBlciogd3JhcHBl
cjsgICAgICAgIAorICAgIEpTRE9NV3JhcHBlciogd3JhcHBlcjsKICAgICBpZiAoaXM8SFRNTEVs
ZW1lbnQ+KCplbGVtZW50KSkKICAgICAgICAgd3JhcHBlciA9IGNyZWF0ZUpTSFRNTFdyYXBwZXIo
Z2xvYmFsT2JqZWN0LCBkb3duY2FzdDxIVE1MRWxlbWVudD4oZWxlbWVudCkpOwogICAgIGVsc2Ug
aWYgKGlzPFNWR0VsZW1lbnQ+KCplbGVtZW50KSkKQEAgLTY0LDcgKzY0LDcgQEAgSlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEVsZW1lbnQqIGUKICAgICBlbHNlCiAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dS
QVBQRVIoZ2xvYmFsT2JqZWN0LCBFbGVtZW50LCBlbGVtZW50KTsKIAotICAgIHJldHVybiB3cmFw
cGVyOyAgICAKKyAgICByZXR1cm4gd3JhcHBlcjsKIH0KIAogSlNWYWx1ZSBKU0VsZW1lbnQ6OmJl
Zm9yZShFeGVjU3RhdGUqIHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFbGVtZW50Q3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vs
ZW1lbnRDdXN0b20uaAppbmRleCAyYTFiYTAxLi4wYmMwZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaApAQCAtMzEsNiArMzEsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBFbGVtZW50Kik7CisKIEFMV0FZU19JTkxJTkUg
SlNFbGVtZW50KiBqc0VsZW1lbnRDYXN0KEpTQzo6SlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBpZiAo
VU5MSUtFTFkoIXZhbHVlLmlzQ2VsbCgpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNFdmVudEN1c3RvbS5jcHAKaW5kZXggNTU1YWQzZi4uMTFmNzRiMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKQEAgLTcxLDYgKzcxLDE5IEBAIEpT
VmFsdWUgdG9KUyhFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBF
dmVudCogZXZlbnQpCiAgICAgcmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3Qs
IEV2ZW50LCBldmVudCk7CiB9CiAKKworSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50KiBldmVudCkKK3sKKyAg
ICBpZiAoIWV2ZW50KQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisKKyAgICBzd2l0Y2ggKGV2
ZW50LT5ldmVudEludGVyZmFjZSgpKSB7CisgICAgICAgIERPTV9FVkVOVF9JTlRFUkZBQ0VTX0ZP
Ul9FQUNIKFRSWV9UT19XUkFQX1dJVEhfSU5URVJGQUNFKQorICAgIH0KKworICAgIHJldHVybiBD
UkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBFdmVudCwgZXZlbnQpOworfQorCiAjdW5k
ZWYgVFJZX1RPX1dSQVBfV0lUSF9JTlRFUkZBQ0UKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcAppbmRl
eCA5MGQ3MWViLi44Y2NhMTg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOb2RlTGlzdEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNOb2RlTGlzdEN1c3RvbS5jcHAKQEAgLTU5LDQgKzU5LDEyIEBAIEpTQzo6SlNWYWx1ZSBjcmVh
dGVXcmFwcGVyKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIE5vZGVMaXN0JiBub2Rl
TGlzdCkKICAgICByZXR1cm4gY3JlYXRlTmV3V3JhcHBlcjxKU05vZGVMaXN0PigmZ2xvYmFsT2Jq
ZWN0LCAmbm9kZUxpc3QpOwogfQogCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE5vZGVMaXN0KiBu
b2RlTGlzdCkKK3sKKyAgICBpZiAoIW5vZGVMaXN0KQorICAgICAgICByZXR1cm4gSlNDOjpqc051
bGwoKTsKKworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyKCpnbG9iYWxPYmplY3QsICpub2RlTGlz
dCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1RleHRDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Njkz
M2EwLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3Rv
bS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJKU1RleHQuaCIKLQotI2luY2x1ZGUgIlRleHQuaCIKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1KU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoRXhlY1N0
YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGV4dCogdGV4dCkKLXsKLSAg
ICBpZiAoIXRleHQpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICAKLSAgICByZXR1cm4g
Q1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgVGV4dCwgdGV4dCk7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTVG91Y2hDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaEN1
c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwMDI2ZjIuLjAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMTAsIFRoZSBBbmRy
b2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiAhUExBVEZP
Uk0oSU9TKQotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0KLSNpbmNsdWRlICJKU1RvdWNoLmgi
Ci0KLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1KU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoRXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVG91Y2gqIHRvdWNoKQotewotICAg
IGlmICghdG91Y2gpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLQotICAgIHJldHVybiBDUkVB
VEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBUb3VjaCwgdG91Y2gpOwotfQotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotI2VuZGlm
IC8vICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Rv
dWNoTGlzdEN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkZWRmZTgu
LjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaExpc3RDdXN0
b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAy
MDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0jaWYgIVBMQVRGT1JNKElPUykKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotCi0jaW5jbHVk
ZSAiSlNUb3VjaExpc3QuaCIKLQotI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgotCi11c2luZyBu
YW1lc3BhY2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUb3Vj
aExpc3QqIHRvdWNoTGlzdCkKLXsKLSAgICBpZiAoIXRvdWNoTGlzdCkKLSAgICAgICAgcmV0dXJu
IGpzTnVsbCgpOwotCi0gICAgcmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3Qs
IFRvdWNoTGlzdCwgdG91Y2hMaXN0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gRU5BQkxFKFRPVUNIX0VWRU5UUykKLSNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQppbmRleCA2NDYzY2NhLi5mMmFjNDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNTA5LDE1ICs1MDksNiBAQCBzdWIg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbkNvbnRlbnRIZWFkZXIKICAgICByZXR1cm4gQGltcGxDb250
ZW50SGVhZGVyOwogfQogCi1teSAldXNlc1RvSlNOZXdseUNyZWF0ZWQgPSAoCi0gICAgIkNEQVRB
U2VjdGlvbiIgPT4gMSwKLSAgICAiRWxlbWVudCIgPT4gMSwKLSAgICAiTm9kZSIgPT4gMSwKLSAg
ICAiVGV4dCIgPT4gMSwKLSAgICAiVG91Y2giID0+IDEsCi0gICAgIlRvdWNoTGlzdCIgPT4gMQot
KTsKLQogc3ViIFNob3VsZEdlbmVyYXRlVG9KU0RlY2xhcmF0aW9uCiB7CiAgICAgbXkgKCRoYXNQ
YXJlbnQsICRpbnRlcmZhY2UpID0gQF87CkBAIC0xMjExLDExICsxMjAyLDEwIEBAIHN1YiBHZW5l
cmF0ZUhlYWRlcgogICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgJGV4cG9ydExhYmVs
LiJKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kiwg
JGltcGxUeXBlKik7XG4iKTsKICAgICAgICAgfQogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50
LCAiaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCAkaW1wbFR5cGUmIGltcGwpIHsgcmV0dXJuIHRvSlMo
ZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH1cbiIpOworCisgICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICJKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSos
IEpTRE9NR2xvYmFsT2JqZWN0KiwgJGltcGxUeXBlKik7XG4iKTsKICAgICB9Ci0gICAgaWYgKCR1
c2VzVG9KU05ld2x5Q3JlYXRlZHskaW50ZXJmYWNlTmFtZX0pIHsKLSAgICAgICAgcHVzaChAaGVh
ZGVyQ29udGVudCwgIkpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqLCAkaW50ZXJmYWNlTmFtZSopO1xuIik7Ci0gICAgfQotICAg
IAorCiAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIlxuIik7CiAKICAgICAjIEFkZCBwcm90b3R5
cGUgZGVjbGFyYXRpb24uCkBAIC0zMDU2LDYgKzMwNDYsMTkgQEAgZXh0ZXJuICJDIiB7IGV4dGVy
biB2b2lkKiAke3Z0YWJsZU5hbWVHbnV9W107IH0KICNlbmRpZgogRU5ECiAKKyAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICJKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
dGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsICRpbXBsVHlwZSogaW1wbClc
biIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOworcHVzaChAaW1wbENvbnRl
bnQsIDw8RU5EKTsKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKK0VO
RAorICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5VHlwZSkgeworICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8JGNsYXNzTmFtZSwgJGltcGxUeXBl
PihnbG9iYWxPYmplY3QsIGltcGwpO1xuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjwkY2xhc3NOYW1l
PihnbG9iYWxPYmplY3QsIGltcGwpO1xuIik7CisgICAgICAgIH0KKyAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICJ9XG5cbiIpOworCiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCAkaW1wbFR5cGUqIGltcGwpXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7
XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKQEAgLTQxMTYsNyArNDEx
OSw3IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUKIAogICAgIHJldHVybiAkdmFsdWUgaWYgJGNvZGVH
ZW5lcmF0b3ItPklzU1ZHQW5pbWF0ZWRUeXBlKCR0eXBlKTsKIAotICAgIGlmICgkc2lnbmF0dXJl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmV0dXJuTmV3T2JqZWN0In0pIHsKKyAgICBpZiAoJHNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5ld09iamVjdCJ9KSB7CiAgICAgICAgIHJl
dHVybiAidG9KU05ld2x5Q3JlYXRlZChleGVjLCAkZ2xvYmFsT2JqZWN0LCBXVEY6OmdldFB0cigk
dmFsdWUpKSI7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCBiNzFjYmQ3Li40Nzc5MTJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTg4LDYg
Kzg4LDcgQEAgSlNMZWdhY3lQYXJlbnQ9KgogTWFzcXVlcmFkZXNBc1VuZGVmaW5lZAogTmFtZWRD
b25zdHJ1Y3Rvcj0qCiBOZXdJbXB1cmVQcm9wZXJ0eUZpcmVzV2F0Y2hwb2ludHMKK05ld09iamVj
dAogTm9JbnRlcmZhY2VPYmplY3QKIE5vbmRldGVybWluaXN0aWMKIE5vdEVudW1lcmFibGUKQEAg
LTEwOCw3ICsxMDksNiBAQCBSZXBsYWNlYWJsZQogUmVwbGFjZWFibGVDb25zdHJ1Y3RvcgogUmVw
b3J0RXh0cmFNZW1vcnlDb3N0CiBSZXF1aXJlc0V4aXN0aW5nQXRvbWljU3RyaW5nCi1SZXR1cm5O
ZXdPYmplY3QKIFNldHRlclJhaXNlc0V4Y2VwdGlvbgogU2tpcFZUYWJsZVZhbGlkYXRpb24KIFN0
cmljdFR5cGVDaGVja2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxl
bWVudGF0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwK
aW5kZXggM2QwYTMzZC4uN2ZlNGJmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RP
TUltcGxlbWVudGF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50
YXRpb24uaWRsCkBAIC0zMCwxMCArMzAsMTAgQEAKIAogICAgIC8vIERPTSBMZXZlbCAyCiAKLSAg
ICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIERvY3VtZW50
VHlwZSBjcmVhdGVEb2N1bWVudFR5cGUoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5k
ZWZpbmVkQXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmlu
ZyBxdWFsaWZpZWROYW1lLAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNl
c0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRUeXBlKFtU
cmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1
bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1O
dWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCBET01TdHJpbmcgcHVibGljSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRV
bmRlZmluZWRBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3Ry
aW5nIHN5c3RlbUlkKTsKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNF
eGNlcHRpb25dIERvY3VtZW50IGNyZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5n
LCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgCisg
ICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmpl
Y3RdIERvY3VtZW50IGNyZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmlu
ZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9
TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERvY3VtZW50VHlwZSBkb2N0
eXBlKTsKIApAQCAtNDQsNiArNDQsNiBAQAogCiAgICAgLy8gSFRNTERPTUltcGxlbWVudGF0aW9u
IGludGVyZmFjZSBmcm9tIERPTSBMZXZlbCAyIEhUTUwKIAotICAgIEhUTUxEb2N1bWVudCBjcmVh
dGVIVE1MRG9jdW1lbnQoW0RlZmF1bHQ9TnVsbFN0cmluZ10gb3B0aW9uYWwgRE9NU3RyaW5nIHRp
dGxlKTsKKyAgICBbTmV3T2JqZWN0XSBIVE1MRG9jdW1lbnQgY3JlYXRlSFRNTERvY3VtZW50KFtE
ZWZhdWx0PU51bGxTdHJpbmddIG9wdGlvbmFsIERPTVN0cmluZyB0aXRsZSk7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmlkbAppbmRleCBmMzI2NDc3Li5lZDg5NDZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5pZGwKQEAgLTMxLDE1ICszMSwxNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01J
bXBsZW1lbnRhdGlvbiBpbXBsZW1lbnRhdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxl
bWVudCBkb2N1bWVudEVsZW1lbnQ7CiAKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNl
cHRpb25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudChbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhZ05hbWUpOwotICAgIERvY3VtZW50
RnJhZ21lbnQgICBjcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Ci0gICAgW1JldHVybk5ld09iamVj
dF0gVGV4dCBjcmVhdGVUZXh0Tm9kZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0
cmluZyBkYXRhKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0XSBDb21tZW50IGNyZWF0ZUNvbW1lbnQo
W0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7Ci0gICAgW1JldHVy
bk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBDREFUQVNlY3Rpb24gY3JlYXRlQ0RBVEFTZWN0
aW9uKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEpOwotICAgIFtP
YmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0
aW9uXSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKFtE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhcmdldCwKKyAgICBbTmV3T2Jq
ZWN0LCBSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudChbVHJlYXROdWxsQXM9
TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhZ05hbWUp
OworICAgIFtOZXdPYmplY3RdIERvY3VtZW50RnJhZ21lbnQgICBjcmVhdGVEb2N1bWVudEZyYWdt
ZW50KCk7CisgICAgW05ld09iamVjdF0gVGV4dCBjcmVhdGVUZXh0Tm9kZShbRGVmYXVsdD1VbmRl
ZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsKKyAgICBbTmV3T2JqZWN0XSBDb21tZW50
IGNyZWF0ZUNvbW1lbnQoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0
YSk7CisgICAgW05ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBDREFUQVNlY3Rpb24gY3JlYXRl
Q0RBVEFTZWN0aW9uKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEp
OworICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhj
ZXB0aW9uXSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9u
KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhcmdldCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRh
dGEpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gQXR0ciBjcmVhdGVB
dHRyaWJ1dGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7Ci0g
ICAgW1JldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbnRpdHlSZWZlcmVuY2UgY3Jl
YXRlRW50aXR5UmVmZXJlbmNlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5n
IG5hbWUpOworICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gQXR0ciBjcmVhdGVBdHRy
aWJ1dGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CisgICAg
W05ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbnRpdHlSZWZlcmVuY2UgY3JlYXRlRW50aXR5
UmVmZXJlbmNlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwog
CiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZF
X0MKICAgICBbSW1wbGVtZW50ZWRBcz1nZXRFbGVtZW50c0J5VGFnTmFtZUZvck9iakNdIE5vZGVM
aXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9N
U3RyaW5nIHRhZ25hbWUpOwpAQCAtNDksMTEgKzQ5LDExIEBACiAKICAgICAvLyBJbnRyb2R1Y2Vk
IGluIERPTSBMZXZlbCAyOgogCi0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0
dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIE5vZGUgaW1wb3J0Tm9kZShbRGVmYXVsdD1V
bmRlZmluZWRdIG9wdGlvbmFsIE5vZGUgaW1wb3J0ZWROb2RlLAorICAgIFtPYmpDTGVnYWN5VW5u
YW1lZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBOb2RlIGltcG9ydE5v
ZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBOb2RlIGltcG9ydGVkTm9kZSwKICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBkZWVwKTsKLSAgICBbT2JqQ0xlZ2FjeVVu
bmFtZWRQYXJhbWV0ZXJzLCBSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRWxlbWVu
dCBjcmVhdGVFbGVtZW50TlMoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmlu
ZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lc3BhY2VVUkksCisgICAgW09iakNMZWdhY3lVbm5h
bWVkUGFyYW1ldGVycywgTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRl
RWxlbWVudE5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRp
b25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01T
dHJpbmcgcXVhbGlmaWVkTmFtZSk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywg
UmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMo
W1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0
cmluZyBuYW1lc3BhY2VVUkksCisgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgTmV3
T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMoW1RyZWF0TnVs
bEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1l
c3BhY2VVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1
bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSk7CiAKICNpZiBk
ZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwpAQCAt
ODQsMTkgKzg0LDE5IEBACiAKICAgICAvLyBET00gTGV2ZWwgMiBFdmVudHMgKERvY3VtZW50RXZl
bnRzIGludGVyZmFjZSkKIAotICAgIFtSYWlzZXNFeGNlcHRpb25dIEV2ZW50ICAgICAgICAgICAg
ICBjcmVhdGVFdmVudChbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBldmVu
dFR5cGUpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRXZlbnQgICAgICAgICAg
ICAgIGNyZWF0ZUV2ZW50KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGV2
ZW50VHlwZSk7CiAKICAgICAvLyBET00gTGV2ZWwgMiBUcmFudmVyc2FsIGFuZCBSYW5nZSAoRG9j
dW1lbnRSYW5nZSBpbnRlcmZhY2UpCiAKLSAgICBSYW5nZSAgICAgICAgICAgICAgY3JlYXRlUmFu
Z2UoKTsKKyAgICBbTmV3T2JqZWN0XSBSYW5nZSAgICAgICAgICAgICAgY3JlYXRlUmFuZ2UoKTsK
IAogICAgIC8vIERPTSBMZXZlbCAyIFRyYW52ZXJzYWwgYW5kIFJhbmdlIChEb2N1bWVudFRyYXZl
cnNhbCBpbnRlcmZhY2UpCiAKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlz
ZXNFeGNlcHRpb25dIE5vZGVJdGVyYXRvciBjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSByb290LAor
ICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwgTmV3T2Jq
ZWN0XSBOb2RlSXRlcmF0b3IgY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9vdCwKICAgICAgICAg
b3B0aW9uYWwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LAogICAgICAgICBvcHRpb25hbCBOb2Rl
RmlsdGVyPyBmaWx0ZXIsCiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZXhwYW5kRW50aXR5UmVm
ZXJlbmNlcyk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0
aW9uXSBUcmVlV2Fsa2VyIGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSByb290LAorICAgIFtPYmpDTGVn
YWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBUcmVlV2Fs
a2VyIGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSByb290LAogICAgICAgICBvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIHdoYXRUb1Nob3csCiAgICAgICAgIG9wdGlvbmFsIE5vZGVGaWx0ZXI/IGZpbHRlciwK
ICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKTsKQEAgLTI1
NSw3ICsyNTUsNyBAQAogI2lmIGRlZmluZWQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICYmIEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTCiAjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0RvY3VtZW50
SU9TLmlkbD4KICNlbGlmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RP
VUNIX0VWRU5UUwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gVG91Y2gg
Y3JlYXRlVG91Y2goW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01XaW5kb3cgd2luZG93
LAorICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gVG91Y2ggY3JlYXRlVG91Y2goW0Rl
ZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01XaW5kb3cgd2luZG93LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmlu
ZWRdIG9wdGlvbmFsIEV2ZW50VGFyZ2V0IHRhcmdldCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25h
bCBsb25nIGlkZW50aWZpZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgbG9uZyBwYWdlWCwK
QEAgLTI2Niw3ICsyNjYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGxvbmcgd2Via2l0
UmFkaXVzWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2Vi
a2l0Um90YXRpb25BbmdsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgd2Via2l0Rm9yY2UpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIEN1c3RvbSwgUmFpc2Vz
RXhjZXB0aW9uXSBUb3VjaExpc3QgY3JlYXRlVG91Y2hMaXN0KCk7CisgICAgW05ld09iamVjdCwg
Q3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIFRvdWNoTGlzdCBjcmVhdGVUb3VjaExpc3QoKTsKICNl
bmRpZgogCiAgICAgLy8gUGFnZSB2aXNpYmlsaXR5IEFQSS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbAppbmRleCA2
MmQ3MDAzLi5mYTQ4NzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCkBAIC02OCw3ICs2OCw3IEBACiAgICAg
W0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBOb2RlIGFwcGVuZENoaWxkKFtDdXN0b21SZXR1cm5d
IE5vZGUgbmV3Q2hpbGQpOwogCiAgICAgYm9vbGVhbiAgICAgICAgICAgIGhhc0NoaWxkTm9kZXMo
KTsKLSAgICBOb2RlICAgICAgICAgICAgICAgY2xvbmVOb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0g
b3B0aW9uYWwgYm9vbGVhbiBkZWVwKTsKKyAgICBbTmV3T2JqZWN0XSBOb2RlIGNsb25lTm9kZShb
RGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGJvb2xlYW4gZGVlcCk7CiAgICAgdm9pZCAgICAg
ICAgICAgICAgIG5vcm1hbGl6ZSgpOwogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwg
MjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbAppbmRleCBjNjJmYzc0Li5iYmVmNDViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUGFyZW50Tm9kZS5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1BhcmVudE5vZGUuaWRsCkBAIC00MSw1ICs0MSw1IEBACiAgICAgLy8gW1Vuc2Nv
cGVhYmxlXSBFbGVtZW50PyBxdWVyeShET01TdHJpbmcgcmVsYXRpdmVTZWxlY3RvcnMpOwogICAg
IC8vIFtOZXdPYmplY3QsIFVuc2NvcGVhYmxlXSBFbGVtZW50cyBxdWVyeUFsbChET01TdHJpbmcg
cmVsYXRpdmVTZWxlY3RvcnMpOwogICAgIFtSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgcXVlcnlT
ZWxlY3RvcihET01TdHJpbmcgc2VsZWN0b3JzKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBOb2Rl
TGlzdCBxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZyBzZWxlY3RvcnMpOworICAgIFtSYWlzZXNF
eGNlcHRpb24sIE5ld09iamVjdF0gTm9kZUxpc3QgcXVlcnlTZWxlY3RvckFsbChET01TdHJpbmcg
c2VsZWN0b3JzKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaWRs
IGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbAppbmRleCBiZWUwNDgzLi5kYzhhZWQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9SYW5nZS5pZGwKQEAgLTUzLDExICs1MywxMSBAQAogICAgIFtPYmpDTGVnYWN5VW5u
YW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1jb21wYXJlQm91
bmRhcnlQb2ludHNGb3JCaW5kaW5nc10gc2hvcnQgY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFtEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQgc2hvcnQgaG93LCBSYW5nZSBzb3VyY2VS
YW5nZSk7CiAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGRlbGV0ZUNvbnRlbnRzKCk7Ci0g
ICAgW1JhaXNlc0V4Y2VwdGlvbl0gRG9jdW1lbnRGcmFnbWVudCBleHRyYWN0Q29udGVudHMoKTsK
LSAgICBbUmFpc2VzRXhjZXB0aW9uXSBEb2N1bWVudEZyYWdtZW50IGNsb25lQ29udGVudHMoKTsK
KyAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIERvY3VtZW50RnJhZ21lbnQgZXh0cmFj
dENvbnRlbnRzKCk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudEZy
YWdtZW50IGNsb25lQ29udGVudHMoKTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGluc2Vy
dE5vZGUoTm9kZSBuZXdOb2RlKTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHN1cnJvdW5k
Q29udGVudHMoTm9kZSBuZXdQYXJlbnQpOwotICAgIFJhbmdlIGNsb25lUmFuZ2UoKTsKKyAgICBb
TmV3T2JqZWN0XSBSYW5nZSBjbG9uZVJhbmdlKCk7CiAgICAgRE9NU3RyaW5nIHRvU3RyaW5nKCk7
CiAKICAgICB2b2lkIGRldGFjaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Rl
eHQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaWRsCmluZGV4IDlkZjgyYTIuLjk2YjRh
NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dC5pZGwKQEAgLTIzLDcgKzIzLDcgQEAKIAogICAgIC8vIERPTSBMZXZl
bCAxCiAKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBUZXh0IHNwbGl0VGV4dCh1bnNpZ25lZCBsb25n
IG9mZnNldCk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBUZXh0IHNwbGl0VGV4
dCh1bnNpZ25lZCBsb25nIG9mZnNldCk7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZl
bCAzOgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgd2hvbGVUZXh0Owot
LSAKMi4zLjggKEFwcGxlIEdpdC01OCkKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261283</attachid>
            <date>2015-09-15 19:28:28 -0700</date>
            <delta_ts>2015-09-15 19:46:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149192-20150915192815.patch</filename>
            <type>text/plain</type>
            <size>44393</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjJhMTg5OTIyMWU2NWJk
YmE5NjNjNDU5MTZiZDcxN2JhZjUwM2ZlMC4uMTJkODRlMjJlY2ZkZTczMmUyODg0MzQxOWVkMGM1
MzVmMzgyMDU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDE1LTA5LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViSURMOiBSZW5hbWUgW1Jl
dHVybk5ld09iamVjdF0gdG8gW05ld09iamVjdF0gYW5kIHVzZSBpdCBtb3JlIGNvbnNpc3RlbnRs
eSBpbiBET00KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0OTE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZSBbUmV0dXJuTmV3T2JqZWN0XSB0byBbTmV3T2JqZWN0XSBhbmQgdXNlIGl0IG1vcmUg
Y29uc2lzdGVudGx5IGluCisgICAgICAgIERPTS4KKworICAgICAgICBUaGlzIGFsaWducyBvdXIg
SURMIGV4dGVuZGVkIGF0dHJpYnV0ZSBuYW1pbmcgd2l0aCBzdGFuZGFyZCBXZWIgSURMOgorICAg
ICAgICBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNOZXdPYmplY3QKKworICAgICAg
ICBXZSBhbHJlYWR5IGhhdmUgW1JldHVybmVkTmV3T2JqZWN0XSBpbiBtb3N0IHBsYWNlcyB0aGF0
IHRoZSBET00KKyAgICAgICAgc3BlY2lmaWNhdGlvbiB1c2VzIFtOZXdPYmplY3RdIGJ1dCB3ZSBh
cmUgbWlzc2luZyBhIGZldyBzbyBJJ2xsCisgICAgICAgIGZpeCB0aGlzIGFzIHdlbGw6CisgICAg
ICAgIGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jaW50ZXJmYWNlLWRvY3VtZW50CisKKyAg
ICAgICAgVXNpbmcgW05ld09iamVjdF0gbGV0cyB0aGUgYmluZGluZ3MgZ2VuZXJhdG9yIGtub3cg
dGhhdCB0aGUgQVBJIGluCisgICAgICAgIHF1ZXN0aW9uIGFsd2F5cyByZXR1cm5zIG5ldyBvYmpl
Y3RzIGFuZCB0aGF0IHdlIGNhbiBieXBhc3MgdGhlIGNoZWNrCisgICAgICAgIGZvciBleGlzdGlu
ZyB3cmFwcGVycyBhbmQgZGlyZWN0bHkgY3JlYXRlIGEgbmV3IHdyYXBwZXIgZm9yIHRoZQorICAg
ICAgICByZXR1cm5lZCBvYmplY3QuCisKKyAgICAgICAgTm8gbmV3LWV4cG9zZWQgYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFbGVtZW50
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RleHRD
dXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20u
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50
YXRpb24pOgorICAgICAgICAoTmF0aXZlVG9KU1ZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0OgorICAgICAgICAqIGRvbS9ET01JbXBsZW1lbnRhdGlv
bi5pZGw6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vTm9kZS5p
ZGw6CisgICAgICAgICogZG9tL1BhcmVudE5vZGUuaWRsOgorICAgICAgICAqIGRvbS9SYW5nZS5p
ZGw6CisgICAgICAgICogZG9tL1RleHQuaWRsOgorCiAyMDE1LTA5LTE1ICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIFVucmV2aWV3ZWQgcmVsZWFz
ZSBmaXggYWZ0ZXIgcjE4OTgzMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0MjgxZWRkY2FkNzQy
MTUxNDM5N2ZjODY2MmYzYjE4YTRlMDVkYjM1Li4wNDYyOGI4MzEyZDVmYjUyZWQ0YjQyOTdlZjYw
YjExMzBhNjUxM2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTA4NSw3ICsxMDg1LDYgQEAg
c2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTQXVkaW9UcmFja0xpc3RDdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNCaXF1YWRGaWx0ZXJOb2RlQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTQmxvYkN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU0NEQVRBU2Vj
dGlvbkN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNDU1NSdWxlTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NT
U1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCkBAIC0xMjAwLDcgKzExOTksNiBAQCBzZXQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTU3R5bGVTaGVldExpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMv
SlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCi0gICAgYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTVGV4dFRyYWNrQ3VlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTVGV4dFRyYWNrQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTVGV4dFRyYWNrTGlz
dEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCmluZGV4IDA3MzNhNGZlZGNiNTgyZGU0OWU2NjM0Y2EwMzE0ZWUyMDkxNzQ2OGYuLjhh
MTNkN2RlNTUzYWIwOWYyNmI5YmM5MGMyN2ZkNzZlNDVmODc3MTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTc0NjEsMjAgKzE3NDYx
LDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5n
c1xqc1xKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0b20uY3Bw
Ij4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE4NzA3
LDIwICsxODY5Myw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cYmluZGluZ3NcanNcSlNUZXh0Q3VzdG9tLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1RyZWVXYWxrZXJDdXN0b20uY3BwIj4KICAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTIyODQ0LDQgKzIy
ODE2LDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8
SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNt
LnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDg4NGUxZTJlMmViNDIw
NmRhNzY3ODgyZWYxZjQ5MjcxYTg3ZDk5ZmYuLjJlZGU5NWZiNmQ2MDQ3ZGIyYmNlMWFjNDYyYzg5
YTRhNDE3N2VjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQyMzYsOSArNDIzNiw2IEBACiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRD
dXN0b20uY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ0RBVEFT
ZWN0aW9uQ3VzdG9tLmNwcCI+Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0g
ICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xK
U0NvbW1hbmRMaW5lQVBJSG9zdEN1c3RvbS5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xq
czwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtNDQ0OSw5ICs0NDQ2LDYgQEAKICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAi
PgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUZXh0Q3VzdG9tLmNwcCI+
Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1RyZWVXYWxrZXJDdXN0b20u
Y3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGls
ZT4KQEAgLTE1NDU2LDQgKzE1NDUwLDQgQEAKICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cd2luPC9G
aWx0ZXI+CiAgICAgPC9NQVNNPgogICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDhhMTlhYmUyNTAzNDUwZTcyZDk5
MGFhMzFhMmE2MzQxMjgyNGRiOS4uNDVjMjAwNDAyYzViNzI0NzdjZGM1M2JjYzhkM2MwMjRmYzdh
YTFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNjkwLDcgKzY5MCw2IEBACiAJCTFBMkE2ODI0MEI1QkVERTcwMDAyQTQ4MCAv
KiBQcm9ncmVzc1RyYWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBMkE2ODIyMEI1QkVERTcwMDAyQTQ4MCAvKiBQcm9ncmVzc1RyYWNrZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTJBQUM1
ODBEQzJBM0IxMDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQUFDNTYwREMyQTNCMTAw
QTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcCAqLzsgfTsKIAkJMUEyQUFDNTkw
REMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBQUM1NzBEQzJBM0IxMDBBMjBE
OUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxQTJDNDBBQjBERUI1NUFBMDA1QUYxOUUgLyogSlNU
ZXh0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBMkM0MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwICovOyB9Owog
CQkxQTJFNkU1OTBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRTZFNTcwQ0M1NTIxMzAwNEEyMDYy
IC8qIFNRTFZhbHVlLmNwcCAqLzsgfTsKIAkJMUEyRTZFNUEwQ0M1NTIxMzAwNEEyMDYyIC8qIFNR
TFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTJFNkU1ODBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTJFNkU3QTBDQzU1NkQ1MDA0QTIwNjIg
LyogU1FMaXRlQXV0aG9yaXplci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTJFNkU3ODBDQzU1NkQ1MDA0QTIwNjIgLyogU1FMaXRlQXV0aG9yaXpl
ci5jcHAgKi87IH07CkBAIC0zNTA3LDcgKzM1MDYsNiBAQAogCQk5M0I3MEQ2RjA5RUIwQzdDMDA5
RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5M0I3MEQ1MzA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29u
dHJvbGxlci5jcHAgKi87IH07CiAJCTkzQjcwRDcwMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0I3MEQ1NDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjc3QTM4MEFERDc5
MjUwMEVBNEI4MSAvKiBGcmFtZUxvYWRlclR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0I3N0EzNzBBREQ3OTI1MDBFQTRCODEgLyogRnJhbWVM
b2FkZXJUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTkzQkE1OUIyMEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0JBNTlC
MTBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwICovOyB9OwogCQk5
M0MwOUE1MzBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQg
LyogRXZlbnRIYW5kbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJOTNDMDlBN0YwQjA2NEVFRjAwNUFCRDREIC8qIEV2ZW50SGFuZGxlck1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQzA5QTdF
MEIwNjRFRUYwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXJNYWMubW0gKi87IH07CiAJCTkzQzA5QTgx
MEIwNjRGMDAwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNDMDlBODAwQjA2NEYwMDAwNUFCRDREIC8qIEV2
ZW50SGFuZGxlci5jcHAgKi87IH07CkBAIC03ODYyLDcgKzc4NjAsNiBAQAogCQkxQTJBNjgyMjBC
NUJFREU3MDAwMkE0ODAgLyogUHJvZ3Jlc3NUcmFja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQcm9ncmVzc1RyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUEyQUFDNTYwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyQUFDNTcwREMy
QTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTFBMkM0MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUZXh0Q3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyRTZFNTcwQ0M1NTIxMzAwNEEy
MDYyIC8qIFNRTFZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNRTFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyRTZFNTgwQ0M1
NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNRTFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkU2RTc4MEND
NTU2RDUwMDRBMjA2MiAvKiBTUUxpdGVBdXRob3JpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNRTGl0ZUF1dGhvcml6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTA4NzksNyArMTA4NzYsNiBAQAogCQk5M0I3MEQ1MzA5RUIwQzdDMDA5
RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2NyaXB0Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzQjcwRDU0MDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRDb250cm9sbGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjc3QTM3MEFERDc5MjUwMEVBNEI4MSAvKiBGcmFt
ZUxvYWRlclR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZyYW1lTG9h
ZGVyVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTNCQTU5QjEwRjJBQTVG
RTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTNDMDlBNTIwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudEhhbmRsZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNDMDlBN0UwQjA2NEVFRjAwNUFCRDREIC8qIEV2
ZW50SGFuZGxlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEV2ZW50SGFuZGxlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNDMDlB
ODAwQjA2NEYwMDAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudEhhbmRsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjE1NjcsNyArMjE1NjMsNiBAQAogCQkJCTg5MzFERTVBMTRDNDRDNDQwMDBE
QzlEMiAvKiBKU0Jsb2JDdXN0b20uY3BwICovLAogCQkJCTQ5RUVEMTRCMTA1MTk3MTkwMDA5OUZB
QiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUQx
NEQxMDUxOTcxQTAwMDk5RkFCIC8qIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAg
Ki8sCi0JCQkJOTNCQTU5QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9t
LmNwcCAqLywKIAkJCQk3QzMzRjM1ODFCNEEwNDQ4MDA1MDJDQUYgLyogSlNDaGFyYWN0ZXJEYXRh
Q3VzdG9tLmNwcCAqLywKIAkJCQlBNTg0RkUzNzE4NjREQUMxMDA4NDNCMTAgLyogSlNDb21tYW5k
TGluZUFQSUhvc3RDdXN0b20uY3BwICovLAogCQkJCTE0OEI0RkY3MUI2OTA0MjEwMEM5NTRFNCAv
KiBKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNwcCAqLywKQEAgLTIxNjYzLDcgKzIxNjU4
LDYgQEAKIAkJCQlFMUZGOEY2NjE4MDc0NjA4MDAxMzI2NzQgLyogSlNTdWJ0bGVDcnlwdG9DdXN0
b20uY3BwICovLAogCQkJCTA4RTRGRTQ1MEUyQkQ0MTQwMEY0Q0FFMCAvKiBKU1NWR0xlbmd0aEN1
c3RvbS5jcHAgKi8sCiAJCQkJQjJDOTZEOEMwQjNBRjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0aFNl
Z0N1c3RvbS5jcHAgKi8sCi0JCQkJMUEyQzQwQUEwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1
c3RvbS5jcHAgKi8sCiAJCQkJMDdFMTE3MDYxNDg5RUJFQjAwRUM1QUNFIC8qIEpTVGV4dFRyYWNr
Q3VlQ3VzdG9tLmNwcCAqLywKIAkJCQkwN0UxMTZCMDE0ODlDOUExMDBFQzVBQ0UgLyogSlNUZXh0
VHJhY2tDdXN0b20uY3BwICovLAogCQkJCTA3QjVBMzBDMTQ2ODdENzEwMEE4MUVDRSAvKiBKU1Rl
eHRUcmFja0xpc3RDdXN0b20uY3BwICovLApAQCAtMjg5ODksNyArMjg5ODMsNiBAQAogCQkJCTQ5
RUVEMTUwMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDczQUI0QjcxN0Y5MkVDRjAwNkUwRDZGIC8qIEpTQ2Fw
YWJpbGl0eVJhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjlCN0EwMEJBNjAzMjYwMDg1
NDA2NCAvKiBKU0NEQVRBU2VjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk5M0JBNTlCMjBG
MkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRkRBMTVFQTExMkIwM0VFMTAwM0E1ODNBIC8qIEpTQ2hhbm5lbE1lcmdlck5vZGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQTMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQ2hhbm5l
bFNwbGl0dGVyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzFGMzA5RDFDQzYwMDAw
QkUzMjUgLyogSlNDaGFyYWN0ZXJEYXRhLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk1NTMsNyAr
Mjk1NDYsNiBAQAogCQkJCTcxRENCNzAxMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQ
YW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNFMTgwQUI3NUE2RjAwMEU1QUM0IC8qIEpT
U1ZHWm9vbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYzMjAzMDlEMUNDNjAwMDBC
RTMyNSAvKiBKU1RleHQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUEyQzQwQUIwREVCNTVBQTAw
NUFGMTlFIC8qIEpTVGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzNBMTRCODBC
N0QxRDUyMDBBNTNGRkQgLyogSlNUZXh0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNF
RjQ1RjUwRTY4N0I1QzAwMUMxMjg3IC8qIEpTVGV4dE1ldHJpY3MuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMDcwNzU2OTQxNDIyNjY4RDAwNDE0MTYxIC8qIEpTVGV4dFRyYWNrLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5n
c0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJ
bk9uZS5jcHAKaW5kZXggYjVjNWZmMmU1NjAwNWY3Y2YzNjAzNzQ0OGQ1OWE2ZWViM2JhNWQwMi4u
YjZjMThhNTBlMThmNjIyODZhOTNhNGY1ZTIzZTE5YmYzMGY5Y2M1YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0zNCw3ICsz
NCw2IEBACiAjaW5jbHVkZSAiSlNBdWRpb1RyYWNrQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0F1
ZGlvVHJhY2tMaXN0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0Jsb2JDdXN0b20uY3BwIgotI2lu
Y2x1ZGUgIkpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCIKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkp
CiAjaW5jbHVkZSAiSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAiCiAjZW5kaWYKQEAg
LTEzMyw3ICsxMzIsNiBAQAogI2luY2x1ZGUgIkpTU3RvcmFnZUN1c3RvbS5jcHAiCiAjaW5jbHVk
ZSAiSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1N0eWxlU2hlZXRMaXN0Q3Vz
dG9tLmNwcCIKLSNpbmNsdWRlICJKU1RleHRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVGV4dFRy
YWNrQ3VlQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RleHRUcmFja0N1c3RvbS5jcHAiCiAjaW5j
bHVkZSAiSlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTcwOTFkYWJkOTliOWE2Yzk3MzhkMjA2MWM4ZWZlM2U5ZmI0NjExYy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw0MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJKU0NEQVRBU2VjdGlvbi5o
IgotCi0jaW5jbHVkZSAiQ0RBVEFTZWN0aW9uLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENEQVRBU2VjdGlvbiogc2VjdGlv
bikKLXsKLSAgICBpZiAoIXNlY3Rpb24pCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLQotICAg
IHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBDREFUQVNlY3Rpb24sIHNl
Y3Rpb24pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwCmluZGV4IDcwY2NkYWZmNDAxZThjYjRj
ZTI0MTFhMGY3OGM2NDg4YWNkNTNhYmEuLjJhMGFlZTA3NDllMzRlNDFkMWJjMTI2MDFhNDc3M2Y5
NTFmNTMxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1l
bnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRD
dXN0b20uY3BwCkBAIC0xMTgsNiArMTE4LDM0IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERvY3VtZW50KiBkb2N1bWVuCiAg
ICAgcmV0dXJuIHdyYXBwZXI7CiB9CiAKK0pTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3Rh
dGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERvY3VtZW50KiBkb2N1
bWVudCkKK3sKKyAgICBpZiAoIWRvY3VtZW50KQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisK
KyAgICBKU09iamVjdCogd3JhcHBlcjsKKyAgICBpZiAoZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50
KCkpCisgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBI
VE1MRG9jdW1lbnQsIGRvY3VtZW50KTsKKyAgICBlbHNlIGlmIChkb2N1bWVudC0+aXNTVkdEb2N1
bWVudCgpKQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVj
dCwgU1ZHRG9jdW1lbnQsIGRvY3VtZW50KTsKKyAgICBlbHNlCisgICAgICAgIHdyYXBwZXIgPSBD
UkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBEb2N1bWVudCwgZG9jdW1lbnQpOworCisg
ICAgLy8gTWFrZSBzdXJlIHRoZSBkb2N1bWVudCBpcyBrZXB0IGFyb3VuZCBieSB0aGUgd2luZG93
IG9iamVjdCwgYW5kIHdvcmtzIHJpZ2h0IHdpdGggdGhlCisgICAgLy8gYmFjay9mb3J3YXJkIGNh
Y2hlLgorICAgIGlmICghZG9jdW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgc2l6ZV90IG5vZGVD
b3VudCA9IDA7CisgICAgICAgIGZvciAoTm9kZSogbiA9IGRvY3VtZW50OyBuOyBuID0gTm9kZVRy
YXZlcnNhbDo6bmV4dCgqbikpCisgICAgICAgICAgICBub2RlQ291bnQrKzsKKworICAgICAgICAv
LyBGSVhNRTogQWRvcHQgcmVwb3J0RXh0cmFNZW1vcnlWaXNpdGVkLCBhbmQgc3dpdGNoIHRvIHJl
cG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTk1CisgICAgICAgIGV4ZWMtPmhlYXAoKS0+ZGVwcmVj
YXRlZFJlcG9ydEV4dHJhTWVtb3J5KG5vZGVDb3VudCAqIHNpemVvZihOb2RlKSk7CisgICAgfQor
CisgICAgcmV0dXJuIHdyYXBwZXI7Cit9CisKIEpTVmFsdWUgSlNEb2N1bWVudDo6cHJlcGVuZChF
eGVjU3RhdGUqIHN0YXRlKQogewogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggOGViMGVkYTky
YzM1YWFhYmM4MTEzMmY2Y2U0NGE3MDIwMTliMDRhYS4uOTU5MTNlMjZiOTcxMzJmZTYzZDVhNGNm
YTVmOTAzOWI4MTk0NmZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vs
ZW1lbnRDdXN0b20uY3BwCkBAIC01Niw3ICs1Niw3IEBAIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbGVtZW50KiBl
CiAKICAgICBBU1NFUlQoIWdldENhY2hlZFdyYXBwZXIoZ2xvYmFsT2JqZWN0LT53b3JsZCgpLCBl
bGVtZW50KSk7CiAKLSAgICBKU0RPTVdyYXBwZXIqIHdyYXBwZXI7ICAgICAgICAKKyAgICBKU0RP
TVdyYXBwZXIqIHdyYXBwZXI7CiAgICAgaWYgKGlzPEhUTUxFbGVtZW50PigqZWxlbWVudCkpCiAg
ICAgICAgIHdyYXBwZXIgPSBjcmVhdGVKU0hUTUxXcmFwcGVyKGdsb2JhbE9iamVjdCwgZG93bmNh
c3Q8SFRNTEVsZW1lbnQ+KGVsZW1lbnQpKTsKICAgICBlbHNlIGlmIChpczxTVkdFbGVtZW50Pigq
ZWxlbWVudCkpCkBAIC02NCw3ICs2NCw3IEBAIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbGVtZW50KiBlCiAgICAg
ZWxzZQogICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwg
RWxlbWVudCwgZWxlbWVudCk7CiAKLSAgICByZXR1cm4gd3JhcHBlcjsgICAgCisgICAgcmV0dXJu
IHdyYXBwZXI7CiB9CiAKIEpTVmFsdWUgSlNFbGVtZW50OjpiZWZvcmUoRXhlY1N0YXRlKiBzdGF0
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3Rv
bS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmgKaW5kZXgg
MmExYmEwMTgwMzI0ZDA4NGI0YWM1YjZiMmM5NTdlZGMzOWE3OTZmNy4uMGJjMGVjY2M2MWYwM2Fh
MWFmNzlmYzI2YjIwZTM3OGU0ZjI0ZjFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNFbGVtZW50Q3VzdG9tLmgKQEAgLTMxLDYgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpT
RE9NR2xvYmFsT2JqZWN0KiwgRWxlbWVudCopOworCiBBTFdBWVNfSU5MSU5FIEpTRWxlbWVudCog
anNFbGVtZW50Q2FzdChKU0M6OkpTVmFsdWUgdmFsdWUpCiB7CiAgICAgaWYgKFVOTElLRUxZKCF2
YWx1ZS5pc0NlbGwoKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0V2ZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0
b20uY3BwCmluZGV4IDU1NWFkM2ZhYTNlMzAzNjRmZjI5OWY0MDA3MjI5YjE0MmI2YjIxOWEuLjEx
Zjc0YjA4YzNkZDZlMjQzNzAwOWJkYzY4MWJmZWNhZmJjMGFjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCkBAIC03MSw2ICs3MSwxOSBAQCBKU1Zh
bHVlIHRvSlMoRXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZl
bnQqIGV2ZW50KQogICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBF
dmVudCwgZXZlbnQpOwogfQogCisKK0pTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCit7CisgICAg
aWYgKCFldmVudCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworCisgICAgc3dpdGNoIChldmVu
dC0+ZXZlbnRJbnRlcmZhY2UoKSkgeworICAgICAgICBET01fRVZFTlRfSU5URVJGQUNFU19GT1Jf
RUFDSChUUllfVE9fV1JBUF9XSVRIX0lOVEVSRkFDRSkKKyAgICB9CisKKyAgICByZXR1cm4gQ1JF
QVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgRXZlbnQsIGV2ZW50KTsKK30KKwogI3VuZGVm
IFRSWV9UT19XUkFQX1dJVEhfSU5URVJGQUNFCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAKaW5kZXgg
OTBkNzFlYjg1MzJkNjEyOTYyZTZhYzJjYjQzYzYzNWUxY2ZjZDU1Yy4uOGNjYTE4OGI2YzVhYmVk
MjBkMDFlNDM2Mzk0ZjA3Mjg1NDc1NWFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAKQEAgLTU5LDQgKzU5LDEyIEBAIEpTQzo6SlNWYWx1
ZSBjcmVhdGVXcmFwcGVyKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIE5vZGVMaXN0
JiBub2RlTGlzdCkKICAgICByZXR1cm4gY3JlYXRlTmV3V3JhcHBlcjxKU05vZGVMaXN0PigmZ2xv
YmFsT2JqZWN0LCAmbm9kZUxpc3QpOwogfQogCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE5vZGVM
aXN0KiBub2RlTGlzdCkKK3sKKyAgICBpZiAoIW5vZGVMaXN0KQorICAgICAgICByZXR1cm4gSlND
Ojpqc051bGwoKTsKKworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyKCpnbG9iYWxPYmplY3QsICpu
b2RlTGlzdCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4NjkzM2EwYzYwNzg1MmIwMmRmOGE1OTk4N2U5MTFiNTk3ZGNlMDNmLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTVGV4dEN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJKU1RleHQuaCIKLQotI2luY2x1ZGUgIlRleHQuaCIKLQotdXNpbmcg
bmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1KU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoRXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGV4
dCogdGV4dCkKLXsKLSAgICBpZiAoIXRleHQpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLSAg
ICAKLSAgICByZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgVGV4dCwgdGV4
dCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNUb3VjaEN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkw
MDI2ZjJhYTNhNGFiOWQ5YTQ3ODFmZWRmMDYyZTdiMWU3MjY4NDUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNUb3VjaEN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0KLSNpZiAhUExBVEZPUk0oSU9TKQotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
Ci0KLSNpbmNsdWRlICJKU1RvdWNoLmgiCi0KLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLQot
dXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1KU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoRXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVG91Y2gqIHRvdWNoKQotewotICAgIGlmICghdG91Y2gpCi0gICAgICAgIHJldHVybiBqc051
bGwoKTsKLQotICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBUb3Vj
aCwgdG91Y2gpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQotI2VuZGlmIC8vICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDlkZWRmZTg3OWYyNmFhOGNlMWEyNzRlZDJlN2IwZmI4ZjU5N2YyZDEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaExpc3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNv
dXJjZSBQcm9qZWN0Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgIVBMQVRGT1JNKElPUykKLSNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotCi0jaW5jbHVkZSAiSlNUb3VjaExpc3QuaCIKLQotI2lu
Y2x1ZGUgIkpTRE9NQmluZGluZy5oIgotCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUb3VjaExpc3QqIHRvdWNoTGlzdCkKLXsKLSAg
ICBpZiAoIXRvdWNoTGlzdCkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotCi0gICAgcmV0dXJu
IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIFRvdWNoTGlzdCwgdG91Y2hMaXN0KTsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFRPVUNIX0VW
RU5UUykKLSNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA2NDYzY2NhYjQzM2YzMjBj
OTIzMGM2Zjg3ZGI0M2NiOWEzMTk5OGIxLi5mMmFjNDA0YjE2NTI3ZGZkZmM0ZDUyZjU2M2RkZWYz
ZjIyYmNkNDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQpAQCAtNTA5LDE1ICs1MDksNiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbkNvbnRlbnRIZWFkZXIKICAgICByZXR1cm4gQGltcGxDb250ZW50SGVhZGVyOwogfQog
Ci1teSAldXNlc1RvSlNOZXdseUNyZWF0ZWQgPSAoCi0gICAgIkNEQVRBU2VjdGlvbiIgPT4gMSwK
LSAgICAiRWxlbWVudCIgPT4gMSwKLSAgICAiTm9kZSIgPT4gMSwKLSAgICAiVGV4dCIgPT4gMSwK
LSAgICAiVG91Y2giID0+IDEsCi0gICAgIlRvdWNoTGlzdCIgPT4gMQotKTsKLQogc3ViIFNob3Vs
ZEdlbmVyYXRlVG9KU0RlY2xhcmF0aW9uCiB7CiAgICAgbXkgKCRoYXNQYXJlbnQsICRpbnRlcmZh
Y2UpID0gQF87CkBAIC0xMjExLDExICsxMjAyLDEwIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAg
ICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgJGV4cG9ydExhYmVsLiJKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgJGltcGxUeXBlKik7XG4i
KTsKICAgICAgICAgfQogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiaW5saW5lIEpTQzo6
SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCAkaW1wbFR5cGUmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCAmaW1wbCk7IH1cbiIpOworCisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiwgJGltcGxUeXBlKik7XG4iKTsKICAgICB9Ci0gICAgaWYgKCR1c2VzVG9KU05ld2x5Q3Jl
YXRlZHskaW50ZXJmYWNlTmFtZX0pIHsKLSAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIkpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqLCAkaW50ZXJmYWNlTmFtZSopO1xuIik7Ci0gICAgfQotICAgIAorCiAgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgIlxuIik7CiAKICAgICAjIEFkZCBwcm90b3R5cGUgZGVjbGFyYXRpb24u
CkBAIC0zMDU2LDYgKzMwNDYsMTkgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiAke3Z0YWJs
ZU5hbWVHbnV9W107IH0KICNlbmRpZgogRU5ECiAKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsICRpbXBsVHlwZSogaW1wbClcbiIpOworICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIntcbiIpOworcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKKyAg
ICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKK0VORAorICAgICAgICBpZiAo
JHN2Z1Byb3BlcnR5VHlwZSkgeworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8JGNsYXNzTmFtZSwgJGltcGxUeXBlPihnbG9iYWxPYmplY3Qs
IGltcGwpO1xuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjwkY2xhc3NOYW1lPihnbG9iYWxPYmplY3Qs
IGltcGwpO1xuIik7CisgICAgICAgIH0KKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5c
biIpOworCiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlMoSlND
OjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCAkaW1wbFR5cGUq
IGltcGwpXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKQEAgLTQxMTYsNyArNDExOSw3IEBAIHN1YiBOYXRp
dmVUb0pTVmFsdWUKIAogICAgIHJldHVybiAkdmFsdWUgaWYgJGNvZGVHZW5lcmF0b3ItPklzU1ZH
QW5pbWF0ZWRUeXBlKCR0eXBlKTsKIAotICAgIGlmICgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiUmV0dXJuTmV3T2JqZWN0In0pIHsKKyAgICBpZiAoJHNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Ik5ld09iamVjdCJ9KSB7CiAgICAgICAgIHJldHVybiAidG9KU05ld2x5
Q3JlYXRlZChleGVjLCAkZ2xvYmFsT2JqZWN0LCBXVEY6OmdldFB0cigkdmFsdWUpKSI7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJp
YnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVz
LnR4dAppbmRleCBiNzFjYmQ3MGY1NDM5NjIyN2E2NzNjN2Y4NWMxODYxZGE5NGRhMWZmLi40Nzc5
MTJhNzlkZGE3NWJhNzdhMGYyOTdjMDgzMzNiZDU3ZDNkNzY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTg4LDYgKzg4LDcg
QEAgSlNMZWdhY3lQYXJlbnQ9KgogTWFzcXVlcmFkZXNBc1VuZGVmaW5lZAogTmFtZWRDb25zdHJ1
Y3Rvcj0qCiBOZXdJbXB1cmVQcm9wZXJ0eUZpcmVzV2F0Y2hwb2ludHMKK05ld09iamVjdAogTm9J
bnRlcmZhY2VPYmplY3QKIE5vbmRldGVybWluaXN0aWMKIE5vdEVudW1lcmFibGUKQEAgLTEwOCw3
ICsxMDksNiBAQCBSZXBsYWNlYWJsZQogUmVwbGFjZWFibGVDb25zdHJ1Y3RvcgogUmVwb3J0RXh0
cmFNZW1vcnlDb3N0CiBSZXF1aXJlc0V4aXN0aW5nQXRvbWljU3RyaW5nCi1SZXR1cm5OZXdPYmpl
Y3QKIFNldHRlclJhaXNlc0V4Y2VwdGlvbgogU2tpcFZUYWJsZVZhbGlkYXRpb24KIFN0cmljdFR5
cGVDaGVja2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0
aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKaW5kZXgg
M2QwYTMzZDM5ZmQwNzI1NGJjNWY5OTM1YmZhZTY4YWU4MDFiNDQwYi4uN2ZlNGJmZjk4NjlkMzdi
ODk1MTI2NTQzYjMwZDQyNTUyZTM1NjNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RPTUltcGxlbWVudGF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uaWRsCkBAIC0zMCwxMCArMzAsMTAgQEAKIAogICAgIC8vIERPTSBMZXZlbCAyCiAK
LSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIERvY3Vt
ZW50VHlwZSBjcmVhdGVEb2N1bWVudFR5cGUoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0
VW5kZWZpbmVkQXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0
cmluZyBxdWFsaWZpZWROYW1lLAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJh
aXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRUeXBl
KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERl
ZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUcmVhdE51bGxB
cz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZp
bmVkXSBvcHRpb25hbCBET01TdHJpbmcgcHVibGljSWQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJl
YXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9N
U3RyaW5nIHN5c3RlbUlkKTsKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlz
ZXNFeGNlcHRpb25dIERvY3VtZW50IGNyZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3Ry
aW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwg
CisgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uLCBOZXdP
YmplY3RdIERvY3VtZW50IGNyZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0
cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBxdWFsaWZpZWROYW1l
LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxs
QXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERvY3VtZW50VHlwZSBk
b2N0eXBlKTsKIApAQCAtNDQsNiArNDQsNiBAQAogCiAgICAgLy8gSFRNTERPTUltcGxlbWVudGF0
aW9uIGludGVyZmFjZSBmcm9tIERPTSBMZXZlbCAyIEhUTUwKIAotICAgIEhUTUxEb2N1bWVudCBj
cmVhdGVIVE1MRG9jdW1lbnQoW0RlZmF1bHQ9TnVsbFN0cmluZ10gb3B0aW9uYWwgRE9NU3RyaW5n
IHRpdGxlKTsKKyAgICBbTmV3T2JqZWN0XSBIVE1MRG9jdW1lbnQgY3JlYXRlSFRNTERvY3VtZW50
KFtEZWZhdWx0PU51bGxTdHJpbmddIG9wdGlvbmFsIERPTVN0cmluZyB0aXRsZSk7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmlkbAppbmRleCBmMzI2NDc3MjQwOGI1MTI2MTZlZGYwNjI4ZGM4MWY1
Nzc1YmUyMjBjLi5lZDg5NDZmYzVhNDk3ZWYyNDQ3OGEzYzNmOGIwYTcxOTU5MTM1MGNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTMxLDE1ICszMSwxNSBAQAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvbiBpbXBsZW1lbnRhdGlvbjsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRWxlbWVudCBkb2N1bWVudEVsZW1lbnQ7CiAKLSAgICBbUmV0dXJuTmV3T2JqZWN0
LCBSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudChbVHJlYXROdWxsQXM9TnVs
bFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhZ05hbWUpOwot
ICAgIERvY3VtZW50RnJhZ21lbnQgICBjcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Ci0gICAgW1Jl
dHVybk5ld09iamVjdF0gVGV4dCBjcmVhdGVUZXh0Tm9kZShbRGVmYXVsdD1VbmRlZmluZWRdIG9w
dGlvbmFsIERPTVN0cmluZyBkYXRhKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0XSBDb21tZW50IGNy
ZWF0ZUNvbW1lbnQoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7
Ci0gICAgW1JldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBDREFUQVNlY3Rpb24gY3Jl
YXRlQ0RBVEFTZWN0aW9uKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRh
dGEpOwotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdCwg
UmFpc2VzRXhjZXB0aW9uXSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gY3JlYXRlUHJvY2Vzc2luZ0lu
c3RydWN0aW9uKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhcmdldCwK
KyAgICBbTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudChb
VHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3Ry
aW5nIHRhZ05hbWUpOworICAgIFtOZXdPYmplY3RdIERvY3VtZW50RnJhZ21lbnQgICBjcmVhdGVE
b2N1bWVudEZyYWdtZW50KCk7CisgICAgW05ld09iamVjdF0gVGV4dCBjcmVhdGVUZXh0Tm9kZShb
RGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsKKyAgICBbTmV3T2Jq
ZWN0XSBDb21tZW50IGNyZWF0ZUNvbW1lbnQoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBE
T01TdHJpbmcgZGF0YSk7CisgICAgW05ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBDREFUQVNl
Y3Rpb24gY3JlYXRlQ0RBVEFTZWN0aW9uKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9N
U3RyaW5nIGRhdGEpOworICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE5ld09iamVj
dCwgUmFpc2VzRXhjZXB0aW9uXSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gY3JlYXRlUHJvY2Vzc2lu
Z0luc3RydWN0aW9uKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhcmdl
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
RE9NU3RyaW5nIGRhdGEpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0g
QXR0ciBjcmVhdGVBdHRyaWJ1dGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJp
bmcgbmFtZSk7Ci0gICAgW1JldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbnRpdHlS
ZWZlcmVuY2UgY3JlYXRlRW50aXR5UmVmZXJlbmNlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgRE9NU3RyaW5nIG5hbWUpOworICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gQXR0
ciBjcmVhdGVBdHRyaWJ1dGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcg
bmFtZSk7CisgICAgW05ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbnRpdHlSZWZlcmVuY2Ug
Y3JlYXRlRW50aXR5UmVmZXJlbmNlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3Ry
aW5nIG5hbWUpOwogCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VB
R0VfT0JKRUNUSVZFX0MKICAgICBbSW1wbGVtZW50ZWRBcz1nZXRFbGVtZW50c0J5VGFnTmFtZUZv
ck9iakNdIE5vZGVMaXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lKFtEZWZhdWx0PVVuZGVmaW5lZF0g
b3B0aW9uYWwgRE9NU3RyaW5nIHRhZ25hbWUpOwpAQCAtNDksMTEgKzQ5LDExIEBACiAKICAgICAv
LyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgogCi0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFy
YW1ldGVycywgUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIE5vZGUgaW1wb3J0Tm9k
ZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIE5vZGUgaW1wb3J0ZWROb2RlLAorICAgIFtP
YmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBO
b2RlIGltcG9ydE5vZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBOb2RlIGltcG9ydGVk
Tm9kZSwKICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBkZWVwKTsKLSAgICBb
T2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2Vw
dGlvbl0gRWxlbWVudCBjcmVhdGVFbGVtZW50TlMoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVm
YXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lc3BhY2VVUkksCisgICAgW09i
akNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEVs
ZW1lbnQgY3JlYXRlRWxlbWVudE5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBv
cHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVk
UGFyYW1ldGVycywgUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRl
QXR0cmlidXRlTlMoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9w
dGlvbmFsIERPTVN0cmluZyBuYW1lc3BhY2VVUkksCisgICAgW09iakNMZWdhY3lVbm5hbWVkUGFy
YW1ldGVycywgTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0cmlidXRl
TlMoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERP
TVN0cmluZyBuYW1lc3BhY2VVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxs
U3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFt
ZSk7CiAKICNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpF
Q1RJVkVfQwpAQCAtODQsMTkgKzg0LDE5IEBACiAKICAgICAvLyBET00gTGV2ZWwgMiBFdmVudHMg
KERvY3VtZW50RXZlbnRzIGludGVyZmFjZSkKIAotICAgIFtSYWlzZXNFeGNlcHRpb25dIEV2ZW50
ICAgICAgICAgICAgICBjcmVhdGVFdmVudChbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERP
TVN0cmluZyBldmVudFR5cGUpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRXZl
bnQgICAgICAgICAgICAgIGNyZWF0ZUV2ZW50KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
RE9NU3RyaW5nIGV2ZW50VHlwZSk7CiAKICAgICAvLyBET00gTGV2ZWwgMiBUcmFudmVyc2FsIGFu
ZCBSYW5nZSAoRG9jdW1lbnRSYW5nZSBpbnRlcmZhY2UpCiAKLSAgICBSYW5nZSAgICAgICAgICAg
ICAgY3JlYXRlUmFuZ2UoKTsKKyAgICBbTmV3T2JqZWN0XSBSYW5nZSAgICAgICAgICAgICAgY3Jl
YXRlUmFuZ2UoKTsKIAogICAgIC8vIERPTSBMZXZlbCAyIFRyYW52ZXJzYWwgYW5kIFJhbmdlIChE
b2N1bWVudFRyYXZlcnNhbCBpbnRlcmZhY2UpCiAKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJh
bWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIE5vZGVJdGVyYXRvciBjcmVhdGVOb2RlSXRlcmF0b3Io
Tm9kZSByb290LAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2Vw
dGlvbiwgTmV3T2JqZWN0XSBOb2RlSXRlcmF0b3IgY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9v
dCwKICAgICAgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LAogICAgICAgICBv
cHRpb25hbCBOb2RlRmlsdGVyPyBmaWx0ZXIsCiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZXhw
YW5kRW50aXR5UmVmZXJlbmNlcyk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywg
UmFpc2VzRXhjZXB0aW9uXSBUcmVlV2Fsa2VyIGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSByb290LAor
ICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwgTmV3T2Jq
ZWN0XSBUcmVlV2Fsa2VyIGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSByb290LAogICAgICAgICBvcHRp
b25hbCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csCiAgICAgICAgIG9wdGlvbmFsIE5vZGVGaWx0
ZXI/IGZpbHRlciwKICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBleHBhbmRFbnRpdHlSZWZlcmVu
Y2VzKTsKQEAgLTI1NSw3ICsyNTUsNyBAQAogI2lmIGRlZmluZWQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICYmIEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTCiAjaW5jbHVkZSA8V2ViS2l0QWRkaXRp
b25zL0RvY3VtZW50SU9TLmlkbD4KICNlbGlmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JiYgRU5BQkxFX1RPVUNIX0VWRU5UUwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2Vw
dGlvbl0gVG91Y2ggY3JlYXRlVG91Y2goW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01X
aW5kb3cgd2luZG93LAorICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gVG91Y2ggY3Jl
YXRlVG91Y2goW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01XaW5kb3cgd2luZG93LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVm
YXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIEV2ZW50VGFyZ2V0IHRhcmdldCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZp
bmVkXSBvcHRpb25hbCBsb25nIGlkZW50aWZpZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
bG9uZyBwYWdlWCwKQEAgLTI2Niw3ICsyNjYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFs
IGxvbmcgd2Via2l0UmFkaXVzWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnJlc3RyaWN0
ZWQgZmxvYXQgd2Via2l0Um90YXRpb25BbmdsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1
bnJlc3RyaWN0ZWQgZmxvYXQgd2Via2l0Rm9yY2UpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIEN1
c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBUb3VjaExpc3QgY3JlYXRlVG91Y2hMaXN0KCk7CisgICAg
W05ld09iamVjdCwgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIFRvdWNoTGlzdCBjcmVhdGVUb3Vj
aExpc3QoKTsKICNlbmRpZgogCiAgICAgLy8gUGFnZSB2aXNpYmlsaXR5IEFQSS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmlkbAppbmRleCA2MmQ3MDAzMTY3NjE1ZGM4MzcyZDkxODczYTkyN2RjNDFiNzkzZjU1Li5mYTQ4
NzFiYzlkY2JhYWJhMjUwOWY4MzdlZGExMmQyMjk3YTVmM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCkBA
IC02OCw3ICs2OCw3IEBACiAgICAgW0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBOb2RlIGFwcGVu
ZENoaWxkKFtDdXN0b21SZXR1cm5dIE5vZGUgbmV3Q2hpbGQpOwogCiAgICAgYm9vbGVhbiAgICAg
ICAgICAgIGhhc0NoaWxkTm9kZXMoKTsKLSAgICBOb2RlICAgICAgICAgICAgICAgY2xvbmVOb2Rl
KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgYm9vbGVhbiBkZWVwKTsKKyAgICBbTmV3T2Jq
ZWN0XSBOb2RlIGNsb25lTm9kZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGJvb2xlYW4g
ZGVlcCk7CiAgICAgdm9pZCAgICAgICAgICAgICAgIG5vcm1hbGl6ZSgpOwogCiAgICAgLy8gSW50
cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
YXJlbnROb2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbAppbmRleCBj
NjJmYzc0YTk3YWYxOWFhNzQ4NTVjYjRkNTUzOTI3NGEyMDJhYjllLi5iYmVmNDViMzcyMThjNWQ4
NzFmMDUzZmIxMzEzZTAxNzNkMmY5YzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
UGFyZW50Tm9kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5vZGUuaWRsCkBA
IC00MSw1ICs0MSw1IEBACiAgICAgLy8gW1Vuc2NvcGVhYmxlXSBFbGVtZW50PyBxdWVyeShET01T
dHJpbmcgcmVsYXRpdmVTZWxlY3RvcnMpOwogICAgIC8vIFtOZXdPYmplY3QsIFVuc2NvcGVhYmxl
XSBFbGVtZW50cyBxdWVyeUFsbChET01TdHJpbmcgcmVsYXRpdmVTZWxlY3RvcnMpOwogICAgIFtS
YWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgcXVlcnlTZWxlY3RvcihET01TdHJpbmcgc2VsZWN0b3Jz
KTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBOb2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxsKERPTVN0
cmluZyBzZWxlY3RvcnMpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gTm9kZUxp
c3QgcXVlcnlTZWxlY3RvckFsbChET01TdHJpbmcgc2VsZWN0b3JzKTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1Jhbmdl
LmlkbAppbmRleCBiZWUwNDgzYzlhYzMxNjc4YzJjNzY1ZDdmNzBlMzkzMjNmYzU4YTg3Li5kYzhh
ZWQ0NjlhMmZmYzZhMGQ3NDM4MWY1NmUzOTIzZTFmNzNmZTM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vUmFuZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5pZGwK
QEAgLTUzLDExICs1MywxMSBAQAogICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJh
aXNlc0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1jb21wYXJlQm91bmRhcnlQb2ludHNGb3JCaW5k
aW5nc10gc2hvcnQgY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0
aW9uYWwgdW5zaWduZWQgc2hvcnQgaG93LCBSYW5nZSBzb3VyY2VSYW5nZSk7CiAKICAgICBbUmFp
c2VzRXhjZXB0aW9uXSB2b2lkIGRlbGV0ZUNvbnRlbnRzKCk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlv
bl0gRG9jdW1lbnRGcmFnbWVudCBleHRyYWN0Q29udGVudHMoKTsKLSAgICBbUmFpc2VzRXhjZXB0
aW9uXSBEb2N1bWVudEZyYWdtZW50IGNsb25lQ29udGVudHMoKTsKKyAgICBbUmFpc2VzRXhjZXB0
aW9uLCBOZXdPYmplY3RdIERvY3VtZW50RnJhZ21lbnQgZXh0cmFjdENvbnRlbnRzKCk7CisgICAg
W1JhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdtZW50IGNsb25lQ29udGVu
dHMoKTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGluc2VydE5vZGUoTm9kZSBuZXdOb2Rl
KTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHN1cnJvdW5kQ29udGVudHMoTm9kZSBuZXdQ
YXJlbnQpOwotICAgIFJhbmdlIGNsb25lUmFuZ2UoKTsKKyAgICBbTmV3T2JqZWN0XSBSYW5nZSBj
bG9uZVJhbmdlKCk7CiAgICAgRE9NU3RyaW5nIHRvU3RyaW5nKCk7CiAKICAgICB2b2lkIGRldGFj
aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaWRsIGIvU291cmNlL1dl
YkNvcmUvZG9tL1RleHQuaWRsCmluZGV4IDlkZjgyYTJhNjM0NzczNzQ1YTdmZmFlMDBlNThmN2U2
ZjUyYjMxOTYuLjk2YjRhNDM2N2VkMzM4NTE4MzBkN2QyNTVkNzJmZjQ5OWIxNDEwOTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVGV4dC5pZGwKQEAgLTIzLDcgKzIzLDcgQEAKIAogICAgIC8vIERPTSBMZXZlbCAxCiAKLSAg
ICBbUmFpc2VzRXhjZXB0aW9uXSBUZXh0IHNwbGl0VGV4dCh1bnNpZ25lZCBsb25nIG9mZnNldCk7
CisgICAgW1JhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBUZXh0IHNwbGl0VGV4dCh1bnNpZ25l
ZCBsb25nIG9mZnNldCk7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAzOgogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgd2hvbGVUZXh0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261285</attachid>
            <date>2015-09-15 19:46:34 -0700</date>
            <delta_ts>2015-09-15 19:51:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149192-20150915194621.patch</filename>
            <type>text/plain</type>
            <size>77254</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjJhMTg5OTIyMWU2NWJk
YmE5NjNjNDU5MTZiZDcxN2JhZjUwM2ZlMC4uODBhMmNhNDFkZGZjYTY2M2JjMGQ4Nzg2OGZkMjg0
ZWI3ZDhmMDg4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE1LTA5LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViSURMOiBSZW5hbWUgW1Jl
dHVybk5ld09iamVjdF0gdG8gW05ld09iamVjdF0gYW5kIHVzZSBpdCBtb3JlIGNvbnNpc3RlbnRs
eSBpbiBET00KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0OTE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZSBbUmV0dXJuTmV3T2JqZWN0XSB0byBbTmV3T2JqZWN0XSBhbmQgdXNlIGl0IG1vcmUg
Y29uc2lzdGVudGx5IGluCisgICAgICAgIERPTS4KKworICAgICAgICBUaGlzIGFsaWducyBvdXIg
SURMIGV4dGVuZGVkIGF0dHJpYnV0ZSBuYW1pbmcgd2l0aCBzdGFuZGFyZCBXZWIgSURMOgorICAg
ICAgICBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNOZXdPYmplY3QKKworICAgICAg
ICBXZSBhbHJlYWR5IGhhdmUgW1JldHVybk5ld09iamVjdF0gaW4gbW9zdCBwbGFjZXMgdGhhdCB0
aGUgRE9NCisgICAgICAgIHNwZWNpZmljYXRpb24gdXNlcyBbTmV3T2JqZWN0XSBidXQgd2UgYXJl
IG1pc3NpbmcgYSBmZXcgc28gSSdsbAorICAgICAgICBmaXggdGhpcyBhcyB3ZWxsOgorICAgICAg
ICBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1kb2N1bWVudAorCisgICAg
ICAgIFVzaW5nIFtOZXdPYmplY3RdIGxldHMgdGhlIGJpbmRpbmdzIGdlbmVyYXRvciBrbm93IHRo
YXQgdGhlIEFQSSBpbgorICAgICAgICBxdWVzdGlvbiBhbHdheXMgcmV0dXJucyBuZXcgb2JqZWN0
cyBhbmQgdGhhdCB3ZSBjYW4gYnlwYXNzIHRoZSBjaGVjaworICAgICAgICBmb3IgZXhpc3Rpbmcg
d3JhcHBlcnMgYW5kIGRpcmVjdGx5IGNyZWF0ZSBhIG5ldyB3cmFwcGVyIGZvciB0aGUKKyAgICAg
ICAgcmV0dXJuZWQgb2JqZWN0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIHN1cHBv
cnQgZm9yIGdlbmVyYXRpbmcgdGhlIHRvSlNOZXdseUNyZWF0ZWQoKQorICAgICAgICB1dGlsaXR5
IGZ1bmN0aW9uIGZvciBtb3N0IHR5cGVzLiBQcmV2aW91c2x5LCB0byB1c2UgW1JldHVybk5ld09i
amVjdF0KKyAgICAgICAgZm9yIGEgbmV3IHR5cGUsIHlvdSBuZWVkZWQgdG8gYWRkIHRoZSB0eXBl
IHRvIGEgaGFyZC1jb2RlZCBsaXN0IGluCisgICAgICAgIHRoZSBiaW5kaW5ncyBnZW5lcmF0b3Ig
dGhlbiBwcm92aWRlIHlvdXIgb3duIGltcGxlbWVudGF0aW9uIGZvcgorICAgICAgICB0b0pTTmV3
bHlDcmVhdGVkKCkgYXMgY3VzdG9tIGJpbmRpbmdzLgorCisgICAgICAgIE5vIG5ldy1leHBvc2Vk
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRWxlbWVudEN1c3RvbS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdl
bmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAg
ICAoTmF0aXZlVG9KU1ZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJp
YnV0ZXMudHh0OgorICAgICAgICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGw6CisgICAgICAg
ICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vTm9kZS5pZGw6CisgICAgICAgICog
ZG9tL1BhcmVudE5vZGUuaWRsOgorICAgICAgICAqIGRvbS9SYW5nZS5pZGw6CisgICAgICAgICog
ZG9tL1RleHQuaWRsOgorCiAyMDE1LTA5LTE1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIFtXaW5dIFVucmV2aWV3ZWQgcmVsZWFzZSBmaXggYWZ0ZXIgcjE4
OTgzMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0MjgxZWRkY2FkNzQyMTUxNDM5N2ZjODY2MmYz
YjE4YTRlMDVkYjM1Li4wNDYyOGI4MzEyZDVmYjUyZWQ0YjQyOTdlZjYwYjExMzBhNjUxM2VkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTA4NSw3ICsxMDg1LDYgQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogICAgIGJpbmRpbmdzL2pzL0pTQXVkaW9UcmFja0xpc3RDdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNCaXF1YWRGaWx0ZXJOb2RlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
QmxvYkN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlND
U1NSdWxlTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRp
b25DdXN0b20uY3BwCkBAIC0xMjAwLDcgKzExOTksNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgYmluZGluZ3MvanMvSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
U3R5bGVTaGVldExpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9D
dXN0b20uY3BwCi0gICAgYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTVGV4dFRyYWNrQ3VlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTVGV4dFRyYWNr
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTVGV4dFRyYWNrTGlzdEN1c3RvbS5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDA3
MzNhNGZlZGNiNTgyZGU0OWU2NjM0Y2EwMzE0ZWUyMDkxNzQ2OGYuLjhhMTNkN2RlNTUzYWIwOWYy
NmI5YmM5MGMyN2ZkNzZlNDVmODc3MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTc0NjEsMjAgKzE3NDYxLDYgQEAKICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NEQVRBU2Vj
dGlvbkN1c3RvbS5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0b20uY3BwIj4KICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE4NzA3LDIwICsxODY5Myw2IEBA
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgog
ICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNc
SlNUZXh0Q3VzdG9tLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xKU1RyZWVXYWxrZXJDdXN0b20uY3BwIj4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTIyODQ0LDQgKzIyODE2LDQgQEAKICAgPElt
cG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9
IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAg
IDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
PC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDg4NGUxZTJlMmViNDIwNmRhNzY3ODgyZWYxZjQ5
MjcxYTg3ZDk5ZmYuLjJlZGU5NWZiNmQ2MDQ3ZGIyYmNlMWFjNDYyYzg5YTRhNDE3N2VjZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnMKQEAgLTQyMzYsOSArNDIzNiw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xqc1xKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIj4KICAg
ICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNw
cCI+Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NvbW1hbmRMaW5lQVBJ
SG9zdEN1c3RvbS5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAg
IDwvQ2xDb21waWxlPgpAQCAtNDQ0OSw5ICs0NDQ2LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAiPgogICAgICAgPEZpbHRl
cj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUZXh0Q3VzdG9tLmNwcCI+Ci0gICAgICA8RmlsdGVy
PmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1RyZWVXYWxrZXJDdXN0b20uY3BwIj4KICAgICAgIDxG
aWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTE1NDU2LDQg
KzE1NDUwLDQgQEAKICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cd2luPC9GaWx0ZXI+CiAgICAgPC9N
QVNNPgogICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMDhhMTlhYmUyNTAzNDUwZTcyZDk5MGFhMzFhMmE2MzQxMjgy
NGRiOS4uNDVjMjAwNDAyYzViNzI0NzdjZGM1M2JjYzhkM2MwMjRmYzdhYTFkMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjkw
LDcgKzY5MCw2IEBACiAJCTFBMkE2ODI0MEI1QkVERTcwMDAyQTQ4MCAvKiBQcm9ncmVzc1RyYWNr
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkE2
ODIyMEI1QkVERTcwMDAyQTQ4MCAvKiBQcm9ncmVzc1RyYWNrZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTJBQUM1ODBEQzJBM0IxMDBBMjBE
OUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQUFDNTYwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlLmNwcCAqLzsgfTsKIAkJMUEyQUFDNTkwREMyQTNCMTAwQTIwRDlB
IC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBQUM1NzBEQzJBM0IxMDBBMjBEOUEgLyogQXBwbGljYXRp
b25DYWNoZVN0b3JhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQkxQTJDNDBBQjBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9tLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkM0MEFBMERF
QjU1QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwICovOyB9OwogCQkxQTJFNkU1OTBDQzU1
MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUEyRTZFNTcwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmNw
cCAqLzsgfTsKIAkJMUEyRTZFNUEwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJFNkU1ODBDQzU1MjEz
MDA0QTIwNjIgLyogU1FMVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkxQTJFNkU3QTBDQzU1NkQ1MDA0QTIwNjIgLyogU1FMaXRlQXV0aG9y
aXplci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTJFNkU3ODBDQzU1NkQ1MDA0QTIwNjIgLyogU1FMaXRlQXV0aG9yaXplci5jcHAgKi87IH07CkBA
IC0zNTA3LDcgKzM1MDYsNiBAQAogCQk5M0I3MEQ2RjA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0
Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0I3MEQ1MzA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5jcHAgKi87
IH07CiAJCTkzQjcwRDcwMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0I3MEQ1NDA5RUIw
QzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQjc3QTM4MEFERDc5MjUwMEVBNEI4MSAvKiBG
cmFtZUxvYWRlclR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0I3N0EzNzBBREQ3OTI1MDBFQTRCODEgLyogRnJhbWVMb2FkZXJUeXBlcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTkzQkE1OUIy
MEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0JBNTlCMTBGMkFBNUZFMDA4RThF
OTkgLyogSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwICovOyB9OwogCQk5M0MwOUE1MzBCMDY0REIz
MDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRIYW5kbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTND
MDlBN0YwQjA2NEVFRjAwNUFCRDREIC8qIEV2ZW50SGFuZGxlck1hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQzA5QTdFMEIwNjRFRUYwMDVBQkQ0
RCAvKiBFdmVudEhhbmRsZXJNYWMubW0gKi87IH07CiAJCTkzQzA5QTgxMEIwNjRGMDAwMDVBQkQ0
RCAvKiBFdmVudEhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNDMDlBODAwQjA2NEYwMDAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5jcHAg
Ki87IH07CkBAIC03ODYyLDcgKzc4NjAsNiBAQAogCQkxQTJBNjgyMjBCNUJFREU3MDAwMkE0ODAg
LyogUHJvZ3Jlc3NUcmFja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
cm9ncmVzc1RyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyQUFDNTYw
REMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyQUFDNTcwREMyQTNCMTAwQTIwRDlBIC8q
IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTFBMkM0MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUZXh0Q3VzdG9tLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyRTZFNTcwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNRTFZhbHVlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyRTZFNTgwQ0M1NTIxMzAwNEEyMDYyIC8q
IFNRTFZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNRTFZhbHVlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkU2RTc4MENDNTU2RDUwMDRBMjA2MiAv
KiBTUUxpdGVBdXRob3JpemVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNRTGl0ZUF1dGhvcml6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTA4NzksNyArMTA4NzYsNiBAQAogCQk5M0I3MEQ1MzA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0
Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Ny
aXB0Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQjcwRDU0
MDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTY3JpcHRDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzQjc3QTM3MEFERDc5MjUwMEVBNEI4MSAvKiBGcmFtZUxvYWRlclR5cGVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZyYW1lTG9hZGVyVHlwZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTNCQTU5QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpT
Q0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTNDMDlBNTIwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudEhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTNDMDlBN0UwQjA2NEVFRjAwNUFCRDREIC8qIEV2ZW50SGFuZGxlck1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEV2ZW50SGFuZGxlck1h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNDMDlBODAwQjA2NEYwMDAwNUFC
RDREIC8qIEV2ZW50SGFuZGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBFdmVudEhhbmRsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE1
NjcsNyArMjE1NjMsNiBAQAogCQkJCTg5MzFERTVBMTRDNDRDNDQwMDBEQzlEMiAvKiBKU0Jsb2JD
dXN0b20uY3BwICovLAogCQkJCTQ5RUVEMTRCMTA1MTk3MTkwMDA5OUZBQiAvKiBKU0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUQxNEQxMDUxOTcxQTAwMDk5
RkFCIC8qIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8sCi0JCQkJOTNCQTU5
QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQk3
QzMzRjM1ODFCNEEwNDQ4MDA1MDJDQUYgLyogSlNDaGFyYWN0ZXJEYXRhQ3VzdG9tLmNwcCAqLywK
IAkJCQlBNTg0RkUzNzE4NjREQUMxMDA4NDNCMTAgLyogSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0
b20uY3BwICovLAogCQkJCTE0OEI0RkY3MUI2OTA0MjEwMEM5NTRFNCAvKiBKU0NvdW50UXVldWlu
Z1N0cmF0ZWd5Q3VzdG9tLmNwcCAqLywKQEAgLTIxNjYzLDcgKzIxNjU4LDYgQEAKIAkJCQlFMUZG
OEY2NjE4MDc0NjA4MDAxMzI2NzQgLyogSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwICovLAogCQkJ
CTA4RTRGRTQ1MEUyQkQ0MTQwMEY0Q0FFMCAvKiBKU1NWR0xlbmd0aEN1c3RvbS5jcHAgKi8sCiAJ
CQkJQjJDOTZEOEMwQjNBRjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgKi8s
Ci0JCQkJMUEyQzQwQUEwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1c3RvbS5jcHAgKi8sCiAJ
CQkJMDdFMTE3MDYxNDg5RUJFQjAwRUM1QUNFIC8qIEpTVGV4dFRyYWNrQ3VlQ3VzdG9tLmNwcCAq
LywKIAkJCQkwN0UxMTZCMDE0ODlDOUExMDBFQzVBQ0UgLyogSlNUZXh0VHJhY2tDdXN0b20uY3Bw
ICovLAogCQkJCTA3QjVBMzBDMTQ2ODdENzEwMEE4MUVDRSAvKiBKU1RleHRUcmFja0xpc3RDdXN0
b20uY3BwICovLApAQCAtMjg5ODksNyArMjg5ODMsNiBAQAogCQkJCTQ5RUVEMTUwMTA1MTk3MUEw
MDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMDczQUI0QjcxN0Y5MkVDRjAwNkUwRDZGIC8qIEpTQ2FwYWJpbGl0eVJhbmdlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjlCN0EwMEJBNjAzMjYwMDg1NDA2NCAvKiBKU0NEQVRB
U2VjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk5M0JBNTlCMjBGMkFBNUZFMDA4RThFOTkg
LyogSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQTEx
MkIwM0VFMTAwM0E1ODNBIC8qIEpTQ2hhbm5lbE1lcmdlck5vZGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRkRBMTVFQTMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQ2hhbm5lbFNwbGl0dGVyTm9kZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzFGMzA5RDFDQzYwMDAwQkUzMjUgLyogSlNDaGFy
YWN0ZXJEYXRhLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk1NTMsNyArMjk1NDYsNiBAQAogCQkJ
CTcxRENCNzAxMTU2ODE5NzYwMDg2MjI3MSAvKiBKU1NWR1pvb21BbmRQYW4uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQjJGQTNFMTgwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHWm9vbUV2ZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYzMjAzMDlEMUNDNjAwMDBCRTMyNSAvKiBKU1RleHQu
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUEyQzQwQUIwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4
dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzNBMTRCODBCN0QxRDUyMDBBNTNGRkQg
LyogSlNUZXh0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRjQ1RjUwRTY4N0I1QzAw
MUMxMjg3IC8qIEpTVGV4dE1ldHJpY3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwNzU2OTQx
NDIyNjY4RDAwNDE0MTYxIC8qIEpTVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKaW5kZXgg
YjVjNWZmMmU1NjAwNWY3Y2YzNjAzNzQ0OGQ1OWE2ZWViM2JhNWQwMi4uYjZjMThhNTBlMThmNjIy
ODZhOTNhNGY1ZTIzZTE5YmYzMGY5Y2M1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVk
ZSAiSlNBdWRpb1RyYWNrQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0F1ZGlvVHJhY2tMaXN0Q3Vz
dG9tLmNwcCIKICNpbmNsdWRlICJKU0Jsb2JDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTQ0RBVEFT
ZWN0aW9uQ3VzdG9tLmNwcCIKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAjaW5jbHVkZSAiSlND
b3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAiCiAjZW5kaWYKQEAgLTEzMyw3ICsxMzIsNiBA
QAogI2luY2x1ZGUgIkpTU3RvcmFnZUN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNTdHlsZVNoZWV0
Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1N0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcCIKLSNpbmNs
dWRlICJKU1RleHRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrQ3VlQ3VzdG9tLmNw
cCIKICNpbmNsdWRlICJKU1RleHRUcmFja0N1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0VHJh
Y2tMaXN0Q3VzdG9tLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q0RBVEFTZWN0aW9uQ3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTcw
OTFkYWJkOTliOWE2Yzk3MzhkMjA2MWM4ZWZlM2U5ZmI0NjExYy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJKU0NEQVRBU2VjdGlvbi5oIgotCi0jaW5jbHVkZSAi
Q0RBVEFTZWN0aW9uLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIENEQVRBU2VjdGlvbiogc2VjdGlvbikKLXsKLSAgICBpZiAo
IXNlY3Rpb24pCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLQotICAgIHJldHVybiBDUkVBVEVf
RE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBDREFUQVNlY3Rpb24sIHNlY3Rpb24pOwotfQotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RG9jdW1lbnRDdXN0b20uY3BwCmluZGV4IDcwY2NkYWZmNDAxZThjYjRjZTI0MTFhMGY3OGM2NDg4
YWNkNTNhYmEuLjJmNTI2YmVjZDExODFiMzNlN2NlYTkzMGNjODZlOGE4NTcwYTg0NDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwCkBAIC03
OSw2ICs3OSwzMSBAQCB2b2lkIEpTRG9jdW1lbnQ6OnNldExvY2F0aW9uKEV4ZWNTdGF0ZSogZXhl
YywgSlNWYWx1ZSB2YWx1ZSkKICAgICAgICAgbG9jYXRpb24tPnNldEhyZWYobG9jYXRpb25TdHJp
bmcsIGFjdGl2ZURPTVdpbmRvdyhleGVjKSwgZmlyc3RET01XaW5kb3coZXhlYykpOwogfQogCitz
dGF0aWMgaW5saW5lIEpTVmFsdWUgY3JlYXRlTmV3RG9jdW1lbnRXcmFwcGVyKEV4ZWNTdGF0ZSog
ZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRG9jdW1lbnQmIGRvY3VtZW50
KQoreworICAgIEpTT2JqZWN0KiB3cmFwcGVyOworICAgIGlmIChkb2N1bWVudC5pc0hUTUxEb2N1
bWVudCgpKQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVj
dCwgSFRNTERvY3VtZW50LCAmZG9jdW1lbnQpOworICAgIGVsc2UgaWYgKGRvY3VtZW50LmlzU1ZH
RG9jdW1lbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxP
YmplY3QsIFNWR0RvY3VtZW50LCAmZG9jdW1lbnQpOworICAgIGVsc2UKKyAgICAgICAgd3JhcHBl
ciA9IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIERvY3VtZW50LCAmZG9jdW1lbnQp
OworCisgICAgLy8gTWFrZSBzdXJlIHRoZSBkb2N1bWVudCBpcyBrZXB0IGFyb3VuZCBieSB0aGUg
d2luZG93IG9iamVjdCwgYW5kIHdvcmtzIHJpZ2h0IHdpdGggdGhlCisgICAgLy8gYmFjay9mb3J3
YXJkIGNhY2hlLgorICAgIGlmICghZG9jdW1lbnQuZnJhbWUoKSkgeworICAgICAgICBzaXplX3Qg
bm9kZUNvdW50ID0gMDsKKyAgICAgICAgZm9yIChOb2RlKiBuID0gZG9jdW1lbnQ7IG47IG4gPSBO
b2RlVHJhdmVyc2FsOjpuZXh0KCpuKSkKKyAgICAgICAgICAgICEhbm9kZUNvdW50OworCisgICAg
ICAgIC8vIEZJWE1FOiBBZG9wdCByZXBvcnRFeHRyYU1lbW9yeVZpc2l0ZWQsIGFuZCBzd2l0Y2gg
dG8gcmVwb3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI1OTUKKyAgICAgICAgZXhlYy0+aGVhcCgpLT5k
ZXByZWNhdGVkUmVwb3J0RXh0cmFNZW1vcnkobm9kZUNvdW50ICogc2l6ZW9mKE5vZGUpKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gd3JhcHBlcjsKK30KKwogSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSog
ZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRG9jdW1lbnQqIGRvY3VtZW50
KQogewogICAgIGlmICghZG9jdW1lbnQpCkBAIC05NiwyNiArMTIxLDEyIEBAIEpTVmFsdWUgdG9K
UyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERvY3Vt
ZW50KiBkb2N1bWVuCiAgICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKICAgICB9CiAKLSAgICBp
ZiAoZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50KCkpCi0gICAgICAgIHdyYXBwZXIgPSBDUkVBVEVf
RE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBIVE1MRG9jdW1lbnQsIGRvY3VtZW50KTsKLSAgICBl
bHNlIGlmIChkb2N1bWVudC0+aXNTVkdEb2N1bWVudCgpKQotICAgICAgICB3cmFwcGVyID0gQ1JF
QVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgU1ZHRG9jdW1lbnQsIGRvY3VtZW50KTsKLSAg
ICBlbHNlCi0gICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0
LCBEb2N1bWVudCwgZG9jdW1lbnQpOwotCi0gICAgLy8gTWFrZSBzdXJlIHRoZSBkb2N1bWVudCBp
cyBrZXB0IGFyb3VuZCBieSB0aGUgd2luZG93IG9iamVjdCwgYW5kIHdvcmtzIHJpZ2h0IHdpdGgg
dGhlCi0gICAgLy8gYmFjay9mb3J3YXJkIGNhY2hlLgotICAgIGlmICghZG9jdW1lbnQtPmZyYW1l
KCkpIHsKLSAgICAgICAgc2l6ZV90IG5vZGVDb3VudCA9IDA7Ci0gICAgICAgIGZvciAoTm9kZSog
biA9IGRvY3VtZW50OyBuOyBuID0gTm9kZVRyYXZlcnNhbDo6bmV4dCgqbikpCi0gICAgICAgICAg
ICBub2RlQ291bnQrKzsKLSAgICAgICAgCi0gICAgICAgIC8vIEZJWE1FOiBBZG9wdCByZXBvcnRF
eHRyYU1lbW9yeVZpc2l0ZWQsIGFuZCBzd2l0Y2ggdG8gcmVwb3J0RXh0cmFNZW1vcnlBbGxvY2F0
ZWQuCi0gICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDI1OTUKLSAgICAgICAgZXhlYy0+aGVhcCgpLT5kZXByZWNhdGVkUmVwb3J0RXh0cmFNZW1vcnko
bm9kZUNvdW50ICogc2l6ZW9mKE5vZGUpKTsKLSAgICB9CisgICAgcmV0dXJuIGNyZWF0ZU5ld0Rv
Y3VtZW50V3JhcHBlcihleGVjLCBnbG9iYWxPYmplY3QsICpkb2N1bWVudCk7Cit9CiAKLSAgICBy
ZXR1cm4gd3JhcHBlcjsKK0pTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqIGV4ZWMs
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERvY3VtZW50KiBkb2N1bWVudCkKK3sK
KyAgICByZXR1cm4gZG9jdW1lbnQgPyBjcmVhdGVOZXdEb2N1bWVudFdyYXBwZXIoZXhlYywgZ2xv
YmFsT2JqZWN0LCAqZG9jdW1lbnQpIDoganNOdWxsKCk7CiB9CiAKIEpTVmFsdWUgSlNEb2N1bWVu
dDo6cHJlcGVuZChFeGVjU3RhdGUqIHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0VsZW1lbnRDdXN0b20uaAppbmRleCAyYTFiYTAxODAzMjRkMDg0YjRhYzViNmIyYzk1N2Vk
YzM5YTc5NmY3Li4wYmMwZWNjYzYxZjAzYWExYWY3OWZjMjZiMjBlMzc4ZTRmMjRmMWVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaApAQCAtMzEsNiAr
MzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBFbGVtZW50Kik7CisK
IEFMV0FZU19JTkxJTkUgSlNFbGVtZW50KiBqc0VsZW1lbnRDYXN0KEpTQzo6SlNWYWx1ZSB2YWx1
ZSkKIHsKICAgICBpZiAoVU5MSUtFTFkoIXZhbHVlLmlzQ2VsbCgpKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKaW5kZXggNTU1YWQzZmFhM2UzMDM2NGZm
Mjk5ZjQwMDcyMjliMTQyYjZiMjE5YS4uMDdiMTYzN2ZlODI3MmU2OTNhYTRjNGIwYTIzOTQ5Mjhj
YzNkYmFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5j
cHAKQEAgLTUzLDYgKzUzLDE1IEBAIEpTVmFsdWUgSlNFdmVudDo6Y2xpcGJvYXJkRGF0YShFeGVj
U3RhdGUqIGV4ZWMpIGNvbnN0CiAgICAgY2FzZSBpbnRlcmZhY2VOYW1lIyNJbnRlcmZhY2VUeXBl
OiBcCiAgICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBpbnRl
cmZhY2VOYW1lLCBldmVudCk7CiAKK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSBjcmVhdGVOZXdFdmVu
dFdyYXBwZXIoSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZlbnQmIGV2ZW50KQor
eworICAgIHN3aXRjaCAoZXZlbnQtPmV2ZW50SW50ZXJmYWNlKCkpIHsKKyAgICAgICAgRE9NX0VW
RU5UX0lOVEVSRkFDRVNfRk9SX0VBQ0goVFJZX1RPX1dSQVBfV0lUSF9JTlRFUkZBQ0UpCisgICAg
fQorCisgICAgcmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEV2ZW50LCBl
dmVudCk7Cit9CisKIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiB7CiAgICAgSlNMb2NrSG9sZGVyIGxvY2soZ2xv
YmFsT2JqZWN0LT52bSgpKTsKQEAgLTY0LDExICs3MywxMyBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0
YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZlbnQqIGV2ZW50KQogICAg
IGlmICh3cmFwcGVyKQogICAgICAgICByZXR1cm4gd3JhcHBlcjsKIAotICAgIHN3aXRjaCAoZXZl
bnQtPmV2ZW50SW50ZXJmYWNlKCkpIHsKLSAgICAgICAgRE9NX0VWRU5UX0lOVEVSRkFDRVNfRk9S
X0VBQ0goVFJZX1RPX1dSQVBfV0lUSF9JTlRFUkZBQ0UpCi0gICAgfQorICAgIHJldHVybiBjcmVh
dGVOZXdFdmVudFdyYXBwZXIoZ2xvYmFsT2JqZWN0LCAqZXZlbnQpOworfQogCi0gICAgcmV0dXJu
IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEV2ZW50LCBldmVudCk7CisKK0pTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBFdmVudCogZXZlbnQpCit7CisgICAgcmV0dXJuIGV2ZW50ID8gY3JlYXRlTmV3RXZl
bnRXcmFwcGVyKGdsb2JhbE9iamVjdCwgKmV2ZW50KSA6IGpzTnVsbCgpOwogfQogCiAjdW5kZWYg
VFJZX1RPX1dSQVBfV0lUSF9JTlRFUkZBQ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOb2RlTGlzdEN1c3RvbS5jcHAKaW5kZXggOTBkNzFlYjg1MzJkNjEyOTYyZTZhYzJjYjQz
YzYzNWUxY2ZjZDU1Yy4uOGNjYTE4OGI2YzVhYmVkMjBkMDFlNDM2Mzk0ZjA3Mjg1NDc1NWFjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAK
QEAgLTU5LDQgKzU5LDEyIEBAIEpTQzo6SlNWYWx1ZSBjcmVhdGVXcmFwcGVyKEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QsIE5vZGVMaXN0JiBub2RlTGlzdCkKICAgICByZXR1cm4gY3Jl
YXRlTmV3V3JhcHBlcjxKU05vZGVMaXN0PigmZ2xvYmFsT2JqZWN0LCAmbm9kZUxpc3QpOwogfQog
CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE5vZGVMaXN0KiBub2RlTGlzdCkKK3sKKyAgICBpZiAo
IW5vZGVMaXN0KQorICAgICAgICByZXR1cm4gSlNDOjpqc051bGwoKTsKKworICAgIHJldHVybiBj
cmVhdGVXcmFwcGVyKCpnbG9iYWxPYmplY3QsICpub2RlTGlzdCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4
dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NjkzM2EwYzYwNzg1MmIwMmRmOGE1OTk4
N2U5MTFiNTk3ZGNlMDNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxl
IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJKU1RleHQuaCIK
LQotI2luY2x1ZGUgIlRleHQuaCIKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1KU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoRXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGV4dCogdGV4dCkKLXsKLSAgICBpZiAoIXRleHQp
Ci0gICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICAKLSAgICByZXR1cm4gQ1JFQVRFX0RPTV9X
UkFQUEVSKGdsb2JhbE9iamVjdCwgVGV4dCwgdGV4dCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwMDI2ZjJhYTNhNGFiOWQ5YTQ3ODFmZWRmMDYy
ZTdiMWU3MjY4NDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMTAsIFRoZSBBbmRyb2lk
IE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiAhUExBVEZPUk0o
SU9TKQotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0KLSNpbmNsdWRlICJKU1RvdWNoLmgiCi0K
LSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1KU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoRXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVG91Y2gqIHRvdWNoKQotewotICAgIGlm
ICghdG91Y2gpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLQotICAgIHJldHVybiBDUkVBVEVf
RE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBUb3VjaCwgdG91Y2gpOwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotI2VuZGlmIC8v
ICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1RvdWNoTGlzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNo
TGlzdEN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkZWRmZTg3OWYy
NmFhOGNlMWEyNzRlZDJlN2IwZmI4ZjU5N2YyZDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaExp
c3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBB
UyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotCi0jaWYgIVBMQVRGT1JNKElPUykKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotCi0j
aW5jbHVkZSAiSlNUb3VjaExpc3QuaCIKLQotI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgotCi11
c2luZyBuYW1lc3BhY2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBUb3VjaExpc3QqIHRvdWNoTGlzdCkKLXsKLSAgICBpZiAoIXRvdWNoTGlzdCkKLSAgICAgICAg
cmV0dXJuIGpzTnVsbCgpOwotCi0gICAgcmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxP
YmplY3QsIFRvdWNoTGlzdCwgdG91Y2hMaXN0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gRU5BQkxFKFRPVUNIX0VWRU5UUykKLSNlbmRpZiAvLyAhUExBVEZPUk0o
SU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbQppbmRleCA2NDYzY2NhYjQzM2YzMjBjOTIzMGM2Zjg3ZGI0M2NiOWEzMTk5OGIxLi5m
MmFjNDA0YjE2NTI3ZGZkZmM0ZDUyZjU2M2RkZWYzZjIyYmNkNDZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNTA5LDE1
ICs1MDksNiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbkNvbnRlbnRIZWFkZXIKICAgICBy
ZXR1cm4gQGltcGxDb250ZW50SGVhZGVyOwogfQogCi1teSAldXNlc1RvSlNOZXdseUNyZWF0ZWQg
PSAoCi0gICAgIkNEQVRBU2VjdGlvbiIgPT4gMSwKLSAgICAiRWxlbWVudCIgPT4gMSwKLSAgICAi
Tm9kZSIgPT4gMSwKLSAgICAiVGV4dCIgPT4gMSwKLSAgICAiVG91Y2giID0+IDEsCi0gICAgIlRv
dWNoTGlzdCIgPT4gMQotKTsKLQogc3ViIFNob3VsZEdlbmVyYXRlVG9KU0RlY2xhcmF0aW9uCiB7
CiAgICAgbXkgKCRoYXNQYXJlbnQsICRpbnRlcmZhY2UpID0gQF87CkBAIC0xMjExLDExICsxMjAy
LDEwIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgJGV4cG9ydExhYmVsLiJKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiwgJGltcGxUeXBlKik7XG4iKTsKICAgICAgICAgfQogICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRl
KiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCAkaW1wbFR5cGUmIGltcGwp
IHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH1cbiIpOworCisgICAg
ICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgJGltcGxUeXBlKik7XG4iKTsKICAg
ICB9Ci0gICAgaWYgKCR1c2VzVG9KU05ld2x5Q3JlYXRlZHskaW50ZXJmYWNlTmFtZX0pIHsKLSAg
ICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIkpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCAkaW50ZXJmYWNlTmFtZSopO1xu
Iik7Ci0gICAgfQotICAgIAorCiAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIlxuIik7CiAKICAg
ICAjIEFkZCBwcm90b3R5cGUgZGVjbGFyYXRpb24uCkBAIC0zMDU2LDYgKzMwNDYsMTkgQEAgZXh0
ZXJuICJDIiB7IGV4dGVybiB2b2lkKiAke3Z0YWJsZU5hbWVHbnV9W107IH0KICNlbmRpZgogRU5E
CiAKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsICRp
bXBsVHlwZSogaW1wbClcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwor
cHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVy
biBqc051bGwoKTsKK0VORAorICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5VHlwZSkgeworICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8JGNsYXNz
TmFtZSwgJGltcGxUeXBlPihnbG9iYWxPYmplY3QsIGltcGwpO1xuIik7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gY3JlYXRlV3Jh
cHBlcjwkY2xhc3NOYW1lPihnbG9iYWxPYmplY3QsIGltcGwpO1xuIik7CisgICAgICAgIH0KKyAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOworCiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCAkaW1wbFR5cGUqIGltcGwpXG4iKTsKICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsK
QEAgLTQxMTYsNyArNDExOSw3IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUKIAogICAgIHJldHVybiAk
dmFsdWUgaWYgJGNvZGVHZW5lcmF0b3ItPklzU1ZHQW5pbWF0ZWRUeXBlKCR0eXBlKTsKIAotICAg
IGlmICgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmV0dXJuTmV3T2JqZWN0In0p
IHsKKyAgICBpZiAoJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5ld09iamVjdCJ9
KSB7CiAgICAgICAgIHJldHVybiAidG9KU05ld2x5Q3JlYXRlZChleGVjLCAkZ2xvYmFsT2JqZWN0
LCBXVEY6OmdldFB0cigkdmFsdWUpKSI7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCBiNzFjYmQ3MGY1NDM5NjIy
N2E2NzNjN2Y4NWMxODYxZGE5NGRhMWZmLi40Nzc5MTJhNzlkZGE3NWJhNzdhMGYyOTdjMDgzMzNi
ZDU3ZDNkNzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURM
QXR0cmlidXRlcy50eHQKQEAgLTg4LDYgKzg4LDcgQEAgSlNMZWdhY3lQYXJlbnQ9KgogTWFzcXVl
cmFkZXNBc1VuZGVmaW5lZAogTmFtZWRDb25zdHJ1Y3Rvcj0qCiBOZXdJbXB1cmVQcm9wZXJ0eUZp
cmVzV2F0Y2hwb2ludHMKK05ld09iamVjdAogTm9JbnRlcmZhY2VPYmplY3QKIE5vbmRldGVybWlu
aXN0aWMKIE5vdEVudW1lcmFibGUKQEAgLTEwOCw3ICsxMDksNiBAQCBSZXBsYWNlYWJsZQogUmVw
bGFjZWFibGVDb25zdHJ1Y3RvcgogUmVwb3J0RXh0cmFNZW1vcnlDb3N0CiBSZXF1aXJlc0V4aXN0
aW5nQXRvbWljU3RyaW5nCi1SZXR1cm5OZXdPYmplY3QKIFNldHRlclJhaXNlc0V4Y2VwdGlvbgog
U2tpcFZUYWJsZVZhbGlkYXRpb24KIFN0cmljdFR5cGVDaGVja2luZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0
aXZlRE9NT2JqZWN0LmNwcAppbmRleCAxYTEwOTNkZjE3MjYyZDYzZDI2NTFkNTk1MDZiMGNiNGNj
YjYwZjM1Li43MTk5YzRhOGEwOTZjYjA4NWY0YzYyOGQ5NmQ0MWE2NzZkODcwMTJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZl
RE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtMjYyLDYgKzI2MiwxMyBAQCBleHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0QWN0aXZlRE9N
T2JqZWN0QFdlYkNvcmVAQAogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3Jl
MTlUZXN0QWN0aXZlRE9NT2JqZWN0RVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBUZXN0QWN0aXZlRE9NT2JqZWN0KiBpbXBsKQoreworICAgIGlmICghaW1wbCkK
KyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTVGVz
dEFjdGl2ZURPTU9iamVjdD4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVl
IHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBU
ZXN0QWN0aXZlRE9NT2JqZWN0KiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01P
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RB
Y3RpdmVET01PYmplY3QuaAppbmRleCA5Njc4N2Q0NDRjYTZhNGU3Nzk1MTFmZDQ3YTg1MzliZjVm
YmM1NWI4Li5iY2EwYTMwODg4NDcwNTAwZmFmNzllMzY3YjBiZWRlYjllM2RmN2UyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZl
RE9NT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEFjdGl2ZURPTU9iamVjdC5oCkBAIC04NCw2ICs4NCw3IEBAIGlubGluZSBKU0M6Oldl
YWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RBY3RpdmVE
T01PYmplY3QqCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqLCBUZXN0QWN0aXZlRE9NT2JqZWN0Kik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRv
SlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFRlc3RBY3RpdmVET01PYmplY3QmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0
YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0QWN0aXZlRE9NT2JqZWN0Kik7CiAKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAKaW5kZXggNDJjN2Q5OGRj
OGY2ZGEwY2U0ZjgyZGY4NThlNTk5NzQyZmI1OTNlNC4uNTQzYmQ3NmFlZTAyNjg5ZmQ4YmFmYTRl
OWQwMGE3NjJjYzIwOWI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwCkBAIC0xNzksNiArMTc5
LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9f
N1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0luCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQq
IF9aVFZON1dlYkNvcmU0MlRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVj
dEVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0KiBpbXBsKQoreworICAgIGlmICghaW1w
bCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpT
VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0PihnbG9iYWxPYmplY3Qs
IGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVy
ZmFjZU9iamVjdCogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JX
aXRoTm9JbnRlcmZhY2VPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5oCmlu
ZGV4IGRjZTlkMDViNGU3MGY5ODYwYjZjZGM4N2JhODUxMTAwMmZkZGQ3OWEuLjk1N2RiNmM0NjQ5
ZTQ5OTI5YmQ1MTc5ZTQ4NWJlOGI2ZGE2NGZiZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0lu
dGVyZmFjZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5oCkBAIC04
MCw2ICs4MCw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERP
TVdyYXBwZXJXb3JsZCYsIFRlc3RDdXN0b21Db25zdHJ1Y3RvCiAKIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEN1
c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0JiBpbXBsKSB7IHJldHVybiB0b0pT
KGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEN1c3RvbUNvbnN0
cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Kik7CiAKIC8vIEN1c3RvbSBjb25zdHJ1Y3Rvcgog
SlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdEpTVGVzdEN1c3RvbUNv
bnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0KEpTQzo6RXhlY1N0YXRlKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9t
TmFtZWRHZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAppbmRleCBiYmEyM2Y3MTAzY2EwNjFhNGRlNzRk
ZGQ0Y2M3ZDIzZjQ0YmRjNTk0Li5iNzczZDBhZTY1ZDNhZTMxYzBmMWI3YjlhNzIyN2U1NjMxZjA4
MTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKQEAgLTI0Nyw2ICsy
NDcsMTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/
P183VGVzdEN1c3RvbU5hbWVkR2V0dGVyQFdlYkNvcmUKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9p
ZCogX1pUVk43V2ViQ29yZTIxVGVzdEN1c3RvbU5hbWVkR2V0dGVyRVtdOyB9CiAjZW5kaWYKICNl
bmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGltcGwp
Cit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI+KGdsb2JhbE9iamVjdCwgaW1w
bCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEN1c3RvbU5hbWVkR2V0dGVyKiBpbXBsKQogewogICAg
IGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKaW5kZXggODQ1ZDdj
MzEwYjBhMzM1OTMwNmIyMDA3MzU4MjhjNmFjNDYyODM1Ni4uMDFjZDMzYWE1YzI1MDkwYTczZDdi
YzU1NTk5M2QzMTg2ZWNiNDM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgK
QEAgLTg3LDYgKzg3LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3du
ZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEN1c3RvbU5hbWVkR2V0dGUKIAogSlNDOjpKU1ZhbHVl
IHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RDdXN0b21OYW1l
ZEdldHRlciopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVj
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIm
IGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqLCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmU2MTRiNmVkZWRiMDI2
MmViY2Q0NjdlMDcwMDM1MWM1OWQ1ZGYzYy4uNWIxMjUzYTc2ZDZkNmZmYzc2MDZhOTAxYWVmZGNi
MjNjMGU1M2M3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcApAQCAtMjY2
LDYgKzI2NiwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZp
ZXIoIj8/XzdUZXN0RXZlbnRDb25zdHJ1Y3RvckBXZWJDb3JlQAogZXh0ZXJuICJDIiB7IGV4dGVy
biB2b2lkKiBfWlRWTjdXZWJDb3JlMjBUZXN0RXZlbnRDb25zdHJ1Y3RvckVbXTsgfQogI2VuZGlm
CiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV2ZW50Q29uc3RydWN0b3IqIGlt
cGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0
dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0RXZlbnRDb25zdHJ1Y3Rvcj4oZ2xvYmFsT2JqZWN0LCBp
bXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlbnRDb25zdHJ1Y3RvciogaW1wbCkKIHsKICAg
ICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaAppbmRleCAwMjIxNjJi
MGQ2YWY4ZjFiY2JkYzRjODU0NWI3NmQwMTI1NWMzMGIxLi44NWIzMjcyMTI0OTYwNGZhNDFjMWZi
M2VjZTFlNzAyNTk3OGViZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmgKQEAg
LTgzLDYgKzgzLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIo
RE9NV3JhcHBlcldvcmxkJiwgVGVzdEV2ZW50Q29uc3RydWN0b3IKIAogSlNDOjpKU1ZhbHVlIHRv
SlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RFdmVudENvbnN0cnVj
dG9yKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFdmVudENvbnN0cnVjdG9yJiBpbXBs
KSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kiwg
VGVzdEV2ZW50Q29uc3RydWN0b3IqKTsKIAogYm9vbCBmaWxsVGVzdEV2ZW50Q29uc3RydWN0b3JJ
bml0KFRlc3RFdmVudENvbnN0cnVjdG9ySW5pdCYsIEpTRGljdGlvbmFyeSYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRU
YXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV2ZW50VGFyZ2V0LmNwcAppbmRleCAwYzg4NTdkYjJmNzlkODk2MWJjMDZhMzAxOGFjYTIzYWMw
MzY2ODgxLi4xMDUxZDViN2E0ZTZlZGYxZDY3NmE1MmY1MzIwYTdlODhjNDkyNDMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRU
YXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RFdmVudFRhcmdldC5jcHAKQEAgLTM0MCw2ICszNDAsMTMgQEAgZXh0ZXJuICJDIiB7IGV4
dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdEV2ZW50VGFyZ2V0QFdlYkNv
cmVAQDZCQCIKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTE1VGVzdEV2
ZW50VGFyZ2V0RVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBU
ZXN0RXZlbnRUYXJnZXQqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4g
anNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0RXZlbnRUYXJnZXQ+KGds
b2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV2ZW50VGFyZ2V0KiBpbXBs
KQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmgKaW5kZXggNTE5NTMxOWU4
MWM1NmZiY2I0ZGJhMGFjMjEyYmU1ZGVkODBlYmYyOC4uZGE3NWEzODMyNWUwNTVhYjhhYzIyMGYw
YmZjMTJkYmZjZDgxYjViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmgKQEAgLTkxLDYgKzkxLDcg
QEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldv
cmxkJiwgVGVzdEV2ZW50VGFyZ2V0KikKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RFdmVudFRhcmdldCopOwogaW5saW5lIEpTQzo6
SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBUZXN0RXZlbnRUYXJnZXQmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xv
YmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0RXZlbnRUYXJnZXQqKTsKIAogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCmluZGV4IDM4N2MyZjYy
NmJmNzFmNWVhZWI2YzZkMmZkNTIwYWRiYzU5MDYzZjIuLjM3Y2E0NDBlYjBjNjM0YzIyM2ZlYjRk
ZDVjNDk1ZjA1NDEwOGM4MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCkBAIC0yMTIsNiArMjEy
LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9f
N1Rlc3RFeGNlcHRpb25AV2ViQ29yZUBANkJAIilbCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQq
IF9aVFZON1dlYkNvcmUxM1Rlc3RFeGNlcHRpb25FW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFeGNlcHRpb24qIGltcGwpCit7CisgICAgaWYgKCFpbXBs
KQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNU
ZXN0RXhjZXB0aW9uPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RF
eGNlcHRpb24qIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5oCmluZGV4
IGM3MTAxNDk5ZGM5ZGY0ZGFmNWQ4OWRiNzQxMDAxODE3MDEzZTAxODAuLmJlNGYwMDQzOWVlMThk
ZDUzM2JjNWNmZWUzYzNkZTdmNWU5NTMyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmgKQEAgLTg1LDYg
Kzg1LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3Jh
cHBlcldvcmxkJiwgVGVzdEV4Y2VwdGlvbiopCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0RXhjZXB0aW9uKik7CiBpbmxpbmUgSlND
OjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFRlc3RFeGNlcHRpb24mIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xv
YmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0RXhjZXB0aW9uKik7CiAKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUu
Y3BwCmluZGV4IGNmYzc4YThiNWM0M2YxYTZlNTBlODViMmE0ZmIwNzVjYmZiMzczMDQuLmM1Nzkw
N2Y1YzhiODBlOTQ5NzUyOTllNDEyZGIwNjliN2IwNTM2YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKQEAgLTE3NCw2ICsxNzQsMTMgQEAgZXh0ZXJuICJDIiB7
IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdEdlbmVyYXRlSXNSZWFj
aGFibGVAV2ViQ28KIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIzVGVz
dEdlbmVyYXRlSXNSZWFjaGFibGVFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKiBpbXBsKQoreworICAgIGlmICghaW1w
bCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpT
VGVzdEdlbmVyYXRlSXNSZWFjaGFibGU+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6
SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEdlbmVyYXRlSXNSZWFjaGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmgKaW5kZXggOWE3NWE3Y2I1YWRlOTRi
NzE2OGMyZGIzNjA0ZDRkZWM4OGE1NWQ4NC4uM2ZjZjA5ZWUzZmU5Y2Y1MWMzNzNiNGY0NjEyMDUy
ZDhkNjU0NjRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oCkBAIC04
MSw2ICs4MSw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERP
TVdyYXBwZXJXb3JsZCYsIFRlc3RHZW5lcmF0ZUlzUmVhY2hhCiAKIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0R2VuZXJhdGVJc1JlYWNo
YWJsZSopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSYg
aW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCosIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW50ZXJmYWNlLmNwcAppbmRleCAxMDM1Njg4YTk5YzNiNTA1Njc4YmQ0ODVhZDY3
YWJkOTcwYTJhOWIxLi5kM2U4MDg4MmYwNjdjZWE2ZjMwYTZhMWFjYzFlZTUzNjUyMDY0OGVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW50ZXJmYWNlLmNwcApAQCAtOTU1LDYgKzk1NSwxMyBAQCB2b2lkIEpTVGVzdElu
dGVyZmFjZU93bmVyOjpmaW5hbGl6ZShKU0M6OkpTQ2VsbComIGNlbGwsIHZvaWQqIGNvbnRleHQp
CiAgICAgdW5jYWNoZVdyYXBwZXIod29ybGQsICZ3cmFwcGVyLmltcGwoKSwgJndyYXBwZXIpOwog
fQogCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RJbnRlcmZhY2UqIGltcGwpCit7CisgICAg
aWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdy
YXBwZXI8SlNUZXN0SW50ZXJmYWNlPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFRlc3RJbnRlcmZhY2UqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5oCmluZGV4IDBiYzc3ZWYyOTc5MjVkMzgwOTUwYTg0OGU3N2NhMmI2ZjI5ZjI0MzIuLjFlZmQ3
NTJkODY0NDYxZjRkM2ZhZmYyNDdjMmY4Yjc0OTM1ODIxZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgK
QEAgLTExMSw2ICsxMTEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJP
d25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0SW50ZXJmYWNlKikKIAogV0VCQ09SRV9FWFBPUlQg
SlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRl
c3RJbnRlcmZhY2UqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSog
ZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEludGVyZmFjZSYgaW1w
bCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCos
IFRlc3RJbnRlcmZhY2UqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggZjQ3ZTJkYTExNmI4ZDRi
ZDk0YTkwYmNmMmNlYTYzMTA0M2RhMGJhOC4uMWMwMjcwN2Y2M2I4ODJlNmNiNjdkNzBjNDljYmU2
MDgxZGQxNjEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmNwcApAQCAtMTk5LDYgKzE5OSwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25z
dCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckBXZQogZXh0ZXJu
ICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjZUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lckVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICBy
ZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcj4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRv
SlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAppbmRleCAxOGI0M2Q4NTU1ZTBiYTcz
NTVjNWIxNThkOWVlN2I3YzhlNDcwOGY0Li5mMjA2NTIyYTRmMmNiZGM5OGVjN2QyNzdhMTBkMDNm
NzFkN2ZmYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgK
QEAgLTgxLDYgKzgxLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3du
ZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdE1lZGlhUXVlcnlMaXN0TGkKIAogSlNDOjpKU1ZhbHVl
IHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwp
OyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqKTsKIAogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKaW5kZXgg
MGNmOWU4MDZjMDZkZmFkMjgxMDNhMGNjY2ZjYzA4Y2IyYjEzNDI3NC4uYTE3NWRhZmJlNzRjZGE2
MmE4MDA4YzkwNTJkZDQ0MmEzNDZmM2U0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVj
dG9yLmNwcApAQCAtMjU0LDYgKzI1NCwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpj
b25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TmFtZWRDb25zdHJ1Y3RvckBXZWJDb3JlQAogZXh0
ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjBUZXN0TmFtZWRDb25zdHJ1Y3Rv
ckVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5hbWVk
Q29uc3RydWN0b3IqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNO
dWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcj4o
Z2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0TmFtZWRDb25zdHJ1Y3Rv
ciogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3Iu
aAppbmRleCA2NmYyZWM3NzM4MGRkZTg3MzEyYjUzZjg4MzE3ZDYzNzdhYzc3YTVjLi42NWJmYmYw
ZTg1YjU5NzM0MzNlZjgyZmRhNmE2NzZiYzU1ZDAzNjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENv
bnN0cnVjdG9yLmgKQEAgLTgyLDYgKzgyLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVy
KiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdE5hbWVkQ29uc3RydWN0b3IKIAog
SlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRl
c3ROYW1lZENvbnN0cnVjdG9yKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVj
U3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3ROYW1lZENv
bnN0cnVjdG9yJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwp
OyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiwgVGVzdE5hbWVkQ29uc3RydWN0b3IqKTsKIAogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAKaW5kZXggNWU4YWE2
ZTMxOTE2ODY2ZjU4YWY4NTAyYWRkNzA0NTdhNzg2YTdjOS4uMjk3NjRiYTdkOWRlYTUyODEyY2I0
ZGVkNmYzMjlmNWIwOGMzMDBiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNw
cApAQCAtNTA1LDYgKzUwNSwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBf
X2lkZW50aWZpZXIoIj8/XzdUZXN0Tm9uZGV0ZXJtaW5pc3RpY0BXZWJDb3JlQAogZXh0ZXJuICJD
IiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjBUZXN0Tm9uZGV0ZXJtaW5pc3RpY0VbXTsg
fQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5vbmRldGVybWlu
aXN0aWMqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7
CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYz4oZ2xvYmFs
T2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Tm9uZGV0ZXJtaW5pc3RpYyogaW1w
bCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuaAppbmRl
eCBlYjUxNzAzZjQyN2UyYjRkYTJjYTcwYzZhNGRjZDE5OGFmODMwMDBmLi43MjEyMTkwZDVmMjc4
Y2UxOWJkNDUyMzJmZjNmZDUyZTJlMTFmOTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlz
dGljLmgKQEAgLTgxLDYgKzgxLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFw
cGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdE5vbmRldGVybWluaXN0aWMKIAogSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3ROb25k
ZXRlcm1pbmlzdGljKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3ROb25kZXRlcm1pbmlz
dGljJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiwgVGVzdE5vbmRldGVybWluaXN0aWMqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwCmluZGV4IDJlMTBmNTMwYjdiNGJhNjRiODQ5MjViYzQ3YjQ0YzY2MWU2NmI0
MzguLmNhZTMwNWI0ZTQ4MmE5M2U2Nzc0NWU4MmZhOGY5MjA2MDJmMmUzZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3Bw
CkBAIC00NzA0LDYgKzQ3MDQsMTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3Qg
X19pZGVudGlmaWVyKCI/P183VGVzdE9iakBXZWJDb3JlQEA2QkAiKVtdKSgpOwogZXh0ZXJuICJD
IiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlN1Rlc3RPYmpFW107IH0KICNlbmRpZgogI2Vu
ZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RPYmoqIGltcGwpCit7CisgICAgaWYgKCFp
bXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8
SlNUZXN0T2JqPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhK
U0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RPYmoq
IGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCmluZGV4IDc3NGM3MTQ5YWQ1ZWYyYjI1YzIy
MDAwNmIwMTNhZGQzN2VkOTVjYTUuLjBiYzdmYzZhMTJiYmQyODQ1N2M4NmFlYzQ5YzNkZGVmZTA2
MzE0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T2JqLmgKQEAgLTk3LDYgKzk3LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93
bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdE9iaiopCiAKIEpTQzo6SlNW
YWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0T2JqKik7
CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RPYmomIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhl
YywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0T2JqKik7CiAKIC8vIEZ1
bmN0aW9ucwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAK
aW5kZXggNDQ2OTQyNGM1MWVmMTJlOGFhNDhmNTljMzM2YTA5MjRiNzA4MTFlNy4uY2I3OTBiNzk3
NWNmZjYxY2RjNDQ0ODkzZTEzZWYxNmUxZTU0M2EzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcApAQCAtMjY4LDYgKzI2OCwxMyBAQCBleHRlcm4gIkMi
IHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yc0BXZQogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjZU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0VbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMqIGltcGwpCit7CisgICAg
aWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdy
YXBwZXI8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsK
K30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyogaW1wbCkKIHsKICAg
ICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaApp
bmRleCBlNTIzZmMxMGJmMDAwYzY5N2NmMDJjYWIzZDk4NTAwNTJmYWM4MTNiLi5jYjM3OGRkNTc5
OTQyODA5M2YxZmZiZTJkMDg3ZmVmMjI3YjAxZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzLmgKQEAgLTgxLDYgKzgxLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hh
bmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdE92ZXJsb2FkZWRD
b25zdHIKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCosIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVl
IHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMs
IGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnMqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJp
ZGVCdWlsdGlucy5jcHAKaW5kZXggNWY3Y2E2OTYxMWRiN2MwNjJlOWZlMWZlNGYwZmZhYWQ2ZmI2
NzBjMS4uMmJiYTcwMjNiNWJkY2Q4N2I3NGM1NTNiY2U0NWFhNWI4NjA5MjUzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRl
QnVpbHRpbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcApAQCAtMjQzLDYgKzI0MywxMyBAQCBleHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3ZlcnJpZGVC
dWlsdGluc0BXZWJDb3JlQAogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3Jl
MjBUZXN0T3ZlcnJpZGVCdWlsdGluc0VbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdE92ZXJyaWRlQnVpbHRpbnMqIGltcGwpCit7CisgICAgaWYgKCFpbXBs
KQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNU
ZXN0T3ZlcnJpZGVCdWlsdGlucz4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1Zh
bHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBUZXN0T3ZlcnJpZGVCdWlsdGlucyogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJp
ZGVCdWlsdGlucy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE92ZXJyaWRlQnVpbHRpbnMuaAppbmRleCAwNDQ5MmFhOWVjYzZhNWJlNjg4NTlkMzA4Njk4
NzViNTRkY2Q4Njc4Li5iZjc2OTIwZGRlYWNlZWZiODk3NGMyZDA5NDMyZTlkMGZhMzYyYmM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcnJpZGVCdWlsdGlucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmgKQEAgLTg3LDYgKzg3LDcgQEAgaW5saW5l
IEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVz
dE92ZXJyaWRlQnVpbHRpbnMKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCosIFRlc3RPdmVycmlkZUJ1aWx0aW5zKik7CiBpbmxpbmUgSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RPdmVycmlkZUJ1aWx0aW5zJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMs
IGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE92ZXJyaWRlQnVpbHRpbnMq
KTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IGYxYjY0ZDJjYjZiZWM0
OTUyM2MwZTU5MmM1NDA3MmJkNWNjM2MzMWIuLmZkNmJhOWQyZDRhZTEzNjgzYWJmODlhMzhmZGNh
OTM4YmM2M2MwNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0zMzMsNiArMzMzLDEzIEBAIGV4dGVybiAiQyIgeyBl
eHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUzNFRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIGlt
cGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0
dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlPihn
bG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCmluZGV4IDY0MjFkMjMw
YjU2NDQ1MDAwOTQ1MDUyZDkxOTk2NGFjNGE1YzIyMjIuLmFlNDQ1OGU4OGYxYjg3OTQ0Mzk2NWFh
ZjhiNWZiNjczODhkYzQyMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKQEAgLTg3LDYgKzg3LDcgQEAgaW5saW5lIEpTQzo6V2Vh
a0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdFNlcmlhbGl6
ZWRTY3JpcHQKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2Jh
bE9iamVjdCosIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqKTsKIGlubGluZSBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSYgaW1wbCkg
eyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0VHlwZWRlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAppbmRleCBmMGVhMjgzZmExMjJiZjNiYjYxN2ZjNmEy
YTQzNGUwMDg1YjY5ODlmLi5jZTFlZmI4MjMwODAxODA0ZWMyNzU4MzIxMjVkODU5MDA1MzQ0MzQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0VHlwZWRlZnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKQEAgLTc0Miw2ICs3NDIsMTMgQEAgZXh0ZXJuICJDIiB7
IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdFR5cGVkZWZzQFdlYkNv
cmVAQDZCQCIpW10KIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTEyVGVz
dFR5cGVkZWZzRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBU
ZXN0VHlwZWRlZnMqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNO
dWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0VHlwZWRlZnM+KGdsb2JhbE9i
amVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdFR5cGVkZWZzKiBpbXBsKQogewogICAg
IGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKaW5kZXggNmIxODNhOWI5YTA1MDk3ODNkYjcxN2Mz
MmJhNzU5MWY4NmU0OWM2ZC4uN2MzYjVjNDYwZTdlYWNhMWE4Zjc0NGJhYWQzNTIwODA3OWMzZDdk
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFR5cGVkZWZzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFR5cGVkZWZzLmgKQEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hh
bmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdFR5cGVkZWZzKikK
IAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCos
IFRlc3RUeXBlZGVmcyopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRl
KiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0VHlwZWRlZnMmIGlt
cGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3Qq
LCBUZXN0VHlwZWRlZnMqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmNw
cAppbmRleCA5ODMxNTNlYTNjNjViMWRkNWFlMGI3ZDQ2MDc0MTMyMDIwMzJhYzE2Li5kOGJjMjI2
Njg2YmY3ZjljMTQ0NzZkMDUzODk3NWI4MTcwYjExNWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAKQEAgLTE5
NSw2ICsxOTUsMTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlm
aWVyKCI/P183YXR0cmlidXRlQFdlYkNvcmVAQDZCQCIpW10pKCkKIGV4dGVybiAiQyIgeyBleHRl
cm4gdm9pZCogX1pUVk43V2ViQ29yZTlhdHRyaWJ1dGVFW107IH0KICNlbmRpZgogI2VuZGlmCitK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGF0dHJpYnV0ZSogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwp
CisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU2F0
dHJpYnV0ZT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlND
OjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBhdHRyaWJ1dGUq
IGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaAppbmRleCBiNzY5ZTlkYWIyMmFlYTRi
ODVjN2MwM2I5ZTY0ODhmOWU1YmNlYjUxLi42MTVlOTBhMmYxNmMwNjQ1ZWQzZDdlZGI3ODM2YThm
NDUzYmY5ZDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNhdHRyaWJ1dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaApAQCAtODIsNiArODIsNyBAQCBpbmxpbmUgSlNDOjpXZWFr
SGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBhdHRyaWJ1dGUqKQog
CiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kiwg
YXR0cmlidXRlKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGF0dHJpYnV0ZSYgaW1wbCkgeyBy
ZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIGF0dHJp
YnV0ZSopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcAppbmRleCAyMDdj
MGI1ZWEyMzVhN2U5Mzk0ZmJjOGJiM2NiNjBkZDg3MmY3YTY0Li43ZTBmZDU2YmUyOGNmN2FkNzFi
ZGE2MWUwN2NiM2U1ZjM4MmY4YmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwCkBAIC0xNjYsNiArMTY2LDEzIEBA
IHZvaWQgSlNyZWFkb25seU93bmVyOjpmaW5hbGl6ZShKU0M6OkpTQ2VsbComIGNlbGwsIHZvaWQq
IGNvbnRleHQpCiAgICAgdW5jYWNoZVdyYXBwZXIod29ybGQsICZ3cmFwcGVyLmltcGwoKSwgJndy
YXBwZXIpOwogfQogCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHJlYWRvbmx5KiBpbXBsKQorewor
ICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVh
dGVXcmFwcGVyPEpTcmVhZG9ubHk+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNW
YWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgcmVhZG9ubHkqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmgKaW5kZXggZDBlMTg4
OGM4M2M2YTU2YzVlMTc4MzUyMGE1NmNiMjcwMzJjNmIyYy4uZWMyM2EyZTkzNGQwOWVmNWZhMWQ0
OTExMDAyOGQyYWVhMWE0MmFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5oCkBAIC04MSw2ICs4MSw3IEBAIGlubGluZSBK
U0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIHJlYWRv
bmx5KikKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCosIHJlYWRvbmx5Kik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3Rh
dGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHJlYWRvbmx5JiBpbXBs
KSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kiwg
cmVhZG9ubHkqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RPTUltcGxlbWVudGF0aW9uLmlkbAppbmRleCAzZDBhMzNkMzlmZDA3MjU0YmM1Zjk5MzViZmFl
NjhhZTgwMWI0NDBiLi43ZmU0YmZmOTg2OWQzN2I4OTUxMjY1NDNiMzBkNDI1NTJlMzU2M2Y2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKQEAgLTMwLDEwICszMCwx
MCBAQAogCiAgICAgLy8gRE9NIExldmVsIDIKIAotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFt
ZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gRG9jdW1lbnRUeXBlIGNyZWF0ZURvY3VtZW50VHlwZShb
VHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nLCBEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsCisgICAgW09i
akNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIERv
Y3VtZW50VHlwZSBjcmVhdGVEb2N1bWVudFR5cGUoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRy
ZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERP
TVN0cmluZyBxdWFsaWZpZWROYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVk
QXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBwdWJs
aWNJZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERl
ZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgc3lzdGVtSWQpOwotICAgIFtPYmpD
TGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gRG9jdW1lbnQgY3JlYXRl
RG9jdW1lbnQoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRp
b25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCAKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJh
bWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRG9jdW1lbnQgY3JlYXRlRG9jdW1l
bnQoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBE
T01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0
aW9uYWwgRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVm
aW5lZF0gb3B0aW9uYWwgRG9jdW1lbnRUeXBlIGRvY3R5cGUpOwogCkBAIC00NCw2ICs0NCw2IEBA
CiAKICAgICAvLyBIVE1MRE9NSW1wbGVtZW50YXRpb24gaW50ZXJmYWNlIGZyb20gRE9NIExldmVs
IDIgSFRNTAogCi0gICAgSFRNTERvY3VtZW50IGNyZWF0ZUhUTUxEb2N1bWVudChbRGVmYXVsdD1O
dWxsU3RyaW5nXSBvcHRpb25hbCBET01TdHJpbmcgdGl0bGUpOworICAgIFtOZXdPYmplY3RdIEhU
TUxEb2N1bWVudCBjcmVhdGVIVE1MRG9jdW1lbnQoW0RlZmF1bHQ9TnVsbFN0cmluZ10gb3B0aW9u
YWwgRE9NU3RyaW5nIHRpdGxlKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IGYz
MjY0NzcyNDA4YjUxMjYxNmVkZjA2MjhkYzgxZjU3NzViZTIyMGMuLmVkODk0NmZjNWE0OTdlZjI0
NDc4YTNjM2Y4YjBhNzE5NTkxMzUwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMzEs
MTUgKzMxLDE1IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUltcGxlbWVudGF0aW9uIGlt
cGxlbWVudGF0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50IGRvY3VtZW50RWxl
bWVudDsKIAotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRWxlbWVudCBj
cmVhdGVFbGVtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBv
cHRpb25hbCBET01TdHJpbmcgdGFnTmFtZSk7Ci0gICAgRG9jdW1lbnRGcmFnbWVudCAgIGNyZWF0
ZURvY3VtZW50RnJhZ21lbnQoKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0XSBUZXh0IGNyZWF0ZVRl
eHROb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEpOwotICAg
IFtSZXR1cm5OZXdPYmplY3RdIENvbW1lbnQgY3JlYXRlQ29tbWVudChbRGVmYXVsdD1VbmRlZmlu
ZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlz
ZXNFeGNlcHRpb25dIENEQVRBU2VjdGlvbiBjcmVhdGVDREFUQVNlY3Rpb24oW0RlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVk
UGFyYW1ldGVycywgUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIFByb2Nlc3NpbmdJ
bnN0cnVjdGlvbiBjcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oW0RlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0LAorICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2Vw
dGlvbl0gRWxlbWVudCBjcmVhdGVFbGVtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1
bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgdGFnTmFtZSk7CisgICAgW05ld09iamVj
dF0gRG9jdW1lbnRGcmFnbWVudCAgIGNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKKyAgICBbTmV3
T2JqZWN0XSBUZXh0IGNyZWF0ZVRleHROb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
RE9NU3RyaW5nIGRhdGEpOworICAgIFtOZXdPYmplY3RdIENvbW1lbnQgY3JlYXRlQ29tbWVudChb
RGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsKKyAgICBbTmV3T2Jq
ZWN0LCBSYWlzZXNFeGNlcHRpb25dIENEQVRBU2VjdGlvbiBjcmVhdGVDREFUQVNlY3Rpb24oW0Rl
ZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7CisgICAgW09iakNMZWdh
Y3lVbm5hbWVkUGFyYW1ldGVycywgTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIFByb2Nlc3Np
bmdJbnN0cnVjdGlvbiBjcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oW0RlZmF1bHQ9VW5kZWZp
bmVkXSBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
W0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7Ci0gICAgW1JldHVy
bk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBBdHRyIGNyZWF0ZUF0dHJpYnV0ZShbRGVmYXVs
dD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKLSAgICBbUmV0dXJuTmV3T2Jq
ZWN0LCBSYWlzZXNFeGNlcHRpb25dIEVudGl0eVJlZmVyZW5jZSBjcmVhdGVFbnRpdHlSZWZlcmVu
Y2UoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CisgICAgW05l
d09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBBdHRyIGNyZWF0ZUF0dHJpYnV0ZShbRGVmYXVsdD1V
bmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKKyAgICBbTmV3T2JqZWN0LCBSYWlz
ZXNFeGNlcHRpb25dIEVudGl0eVJlZmVyZW5jZSBjcmVhdGVFbnRpdHlSZWZlcmVuY2UoW0RlZmF1
bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CiAKICNpZiBkZWZpbmVkKExB
TkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgIFtJbXBsZW1l
bnRlZEFzPWdldEVsZW1lbnRzQnlUYWdOYW1lRm9yT2JqQ10gTm9kZUxpc3QgZ2V0RWxlbWVudHNC
eVRhZ05hbWUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgdGFnbmFtZSk7
CkBAIC00OSwxMSArNDksMTEgQEAKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6
CiAKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSZXR1cm5OZXdPYmplY3QsIFJh
aXNlc0V4Y2VwdGlvbl0gTm9kZSBpbXBvcnROb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgTm9kZSBpbXBvcnRlZE5vZGUsCisgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywg
TmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIE5vZGUgaW1wb3J0Tm9kZShbRGVmYXVsdD1VbmRl
ZmluZWRdIG9wdGlvbmFsIE5vZGUgaW1wb3J0ZWROb2RlLAogICAgICAgICAgICAgICAgICAgICBv
cHRpb25hbCBib29sZWFuIGRlZXApOwotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMs
IFJldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbGVtZW50IGNyZWF0ZUVsZW1lbnRO
UyhbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9N
U3RyaW5nIG5hbWVzcGFjZVVSSSwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBO
ZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRWxlbWVudCBjcmVhdGVFbGVtZW50TlMoW1RyZWF0
TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBu
YW1lc3BhY2VVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RyZWF0TnVsbEFzPU51
bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBxdWFsaWZpZWRO
YW1lKTsKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSZXR1cm5OZXdPYmplY3Qs
IFJhaXNlc0V4Y2VwdGlvbl0gQXR0ciBjcmVhdGVBdHRyaWJ1dGVOUyhbVHJlYXROdWxsQXM9TnVs
bFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVS
SSwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBOZXdPYmplY3QsIFJhaXNlc0V4
Y2VwdGlvbl0gQXR0ciBjcmVhdGVBdHRyaWJ1dGVOUyhbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9w
dGlvbmFsIERPTVN0cmluZyBxdWFsaWZpZWROYW1lKTsKIAogI2lmIGRlZmluZWQoTEFOR1VBR0Vf
T0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCkBAIC04NCwxOSArODQsMTkgQEAK
IAogICAgIC8vIERPTSBMZXZlbCAyIEV2ZW50cyAoRG9jdW1lbnRFdmVudHMgaW50ZXJmYWNlKQog
Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gRXZlbnQgICAgICAgICAgICAgIGNyZWF0ZUV2ZW50KFtE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGV2ZW50VHlwZSk7CisgICAgW1Jh
aXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBFdmVudCAgICAgICAgICAgICAgY3JlYXRlRXZlbnQo
W0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZXZlbnRUeXBlKTsKIAogICAg
IC8vIERPTSBMZXZlbCAyIFRyYW52ZXJzYWwgYW5kIFJhbmdlIChEb2N1bWVudFJhbmdlIGludGVy
ZmFjZSkKIAotICAgIFJhbmdlICAgICAgICAgICAgICBjcmVhdGVSYW5nZSgpOworICAgIFtOZXdP
YmplY3RdIFJhbmdlICAgICAgICAgICAgICBjcmVhdGVSYW5nZSgpOwogCiAgICAgLy8gRE9NIExl
dmVsIDIgVHJhbnZlcnNhbCBhbmQgUmFuZ2UgKERvY3VtZW50VHJhdmVyc2FsIGludGVyZmFjZSkK
IAotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gTm9k
ZUl0ZXJhdG9yIGNyZWF0ZU5vZGVJdGVyYXRvcihOb2RlIHJvb3QsCisgICAgW09iakNMZWdhY3lV
bm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIE5vZGVJdGVyYXRv
ciBjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSByb290LAogICAgICAgICBvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIHdoYXRUb1Nob3csCiAgICAgICAgIG9wdGlvbmFsIE5vZGVGaWx0ZXI/IGZpbHRlciwK
ICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKTsKLSAgICBb
T2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIFRyZWVXYWxrZXIg
Y3JlYXRlVHJlZVdhbGtlcihOb2RlIHJvb3QsCisgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1l
dGVycywgUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIFRyZWVXYWxrZXIgY3JlYXRlVHJlZVdh
bGtlcihOb2RlIHJvb3QsCiAgICAgICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hv
dywKICAgICAgICAgb3B0aW9uYWwgTm9kZUZpbHRlcj8gZmlsdGVyLAogICAgICAgICBvcHRpb25h
bCBib29sZWFuIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpOwpAQCAtMjU1LDcgKzI1NSw3IEBACiAj
aWYgZGVmaW5lZChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMKICNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvRG9jdW1lbnRJT1MuaWRsPgogI2VsaWYg
ZGVmaW5lZChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAmJiBFTkFCTEVfVE9VQ0hfRVZFTlRTCi0gICAg
W1JldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBUb3VjaCBjcmVhdGVUb3VjaChbRGVm
YXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVdpbmRvdyB3aW5kb3csCisgICAgW05ld09iamVj
dCwgUmFpc2VzRXhjZXB0aW9uXSBUb3VjaCBjcmVhdGVUb3VjaChbRGVmYXVsdD1VbmRlZmluZWRd
IG9wdGlvbmFsIERPTVdpbmRvdyB3aW5kb3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRXZl
bnRUYXJnZXQgdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGxvbmcgaWRlbnRpZmll
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
W0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBsb25nIHBhZ2VYLApAQCAtMjY2LDcgKzI2Niw3
IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgbG9uZyB3ZWJraXRSYWRpdXNZLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1V
bmRlZmluZWRdIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB3ZWJraXRSb3RhdGlvbkFuZ2xl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb
RGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB3ZWJraXRGb3Jj
ZSk7Ci0gICAgW1JldHVybk5ld09iamVjdCwgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIFRvdWNo
TGlzdCBjcmVhdGVUb3VjaExpc3QoKTsKKyAgICBbTmV3T2JqZWN0LCBDdXN0b20sIFJhaXNlc0V4
Y2VwdGlvbl0gVG91Y2hMaXN0IGNyZWF0ZVRvdWNoTGlzdCgpOwogI2VuZGlmCiAKICAgICAvLyBQ
YWdlIHZpc2liaWxpdHkgQVBJLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
aWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCmluZGV4IDYyZDcwMDMxNjc2MTVkYzgz
NzJkOTE4NzNhOTI3ZGM0MWI3OTNmNTUuLmZhNDg3MWJjOWRjYmFhYmEyNTA5ZjgzN2VkYTEyZDIy
OTdhNWYzYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKQEAgLTY4LDcgKzY4LDcgQEAKICAgICBbQ3VzdG9t
LCBSYWlzZXNFeGNlcHRpb25dIE5vZGUgYXBwZW5kQ2hpbGQoW0N1c3RvbVJldHVybl0gTm9kZSBu
ZXdDaGlsZCk7CiAKICAgICBib29sZWFuICAgICAgICAgICAgaGFzQ2hpbGROb2RlcygpOwotICAg
IE5vZGUgICAgICAgICAgICAgICBjbG9uZU5vZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25h
bCBib29sZWFuIGRlZXApOworICAgIFtOZXdPYmplY3RdIE5vZGUgY2xvbmVOb2RlKFtEZWZhdWx0
PVVuZGVmaW5lZF0gb3B0aW9uYWwgYm9vbGVhbiBkZWVwKTsKICAgICB2b2lkICAgICAgICAgICAg
ICAgbm9ybWFsaXplKCk7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5vZGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL1BhcmVudE5vZGUuaWRsCmluZGV4IGM2MmZjNzRhOTdhZjE5YWE3NDg1NWNiNGQ1NTM5
Mjc0YTIwMmFiOWUuLmJiZWY0NWIzNzIxOGM1ZDg3MWYwNTNmYjEzMTNlMDE3M2QyZjljMDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUGFyZW50Tm9kZS5pZGwKQEAgLTQxLDUgKzQxLDUgQEAKICAgICAvLyBbVW5z
Y29wZWFibGVdIEVsZW1lbnQ/IHF1ZXJ5KERPTVN0cmluZyByZWxhdGl2ZVNlbGVjdG9ycyk7CiAg
ICAgLy8gW05ld09iamVjdCwgVW5zY29wZWFibGVdIEVsZW1lbnRzIHF1ZXJ5QWxsKERPTVN0cmlu
ZyByZWxhdGl2ZVNlbGVjdG9ycyk7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gRWxlbWVudCBxdWVy
eVNlbGVjdG9yKERPTVN0cmluZyBzZWxlY3RvcnMpOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIE5v
ZGVMaXN0IHF1ZXJ5U2VsZWN0b3JBbGwoRE9NU3RyaW5nIHNlbGVjdG9ycyk7CisgICAgW1JhaXNl
c0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBOb2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmlu
ZyBzZWxlY3RvcnMpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaWRsCmluZGV4IGJlZTA0ODNjOWFjMzE2Nzhj
MmM3NjVkN2Y3MGUzOTMyM2ZjNThhODcuLmRjOGFlZDQ2OWEyZmZjNmEwZDc0MzgxZjU2ZTM5MjNl
MWY3M2ZlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbApAQCAtNTMsMTEgKzUzLDExIEBACiAgICAgW09i
akNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFz
PWNvbXBhcmVCb3VuZGFyeVBvaW50c0ZvckJpbmRpbmdzXSBzaG9ydCBjb21wYXJlQm91bmRhcnlQ
b2ludHMoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25lZCBzaG9ydCBob3csIFJh
bmdlIHNvdXJjZVJhbmdlKTsKIAogICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgZGVsZXRlQ29u
dGVudHMoKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBEb2N1bWVudEZyYWdtZW50IGV4dHJhY3RD
b250ZW50cygpOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIERvY3VtZW50RnJhZ21lbnQgY2xvbmVD
b250ZW50cygpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRG9jdW1lbnRGcmFn
bWVudCBleHRyYWN0Q29udGVudHMoKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3Rd
IERvY3VtZW50RnJhZ21lbnQgY2xvbmVDb250ZW50cygpOwogICAgIFtSYWlzZXNFeGNlcHRpb25d
IHZvaWQgaW5zZXJ0Tm9kZShOb2RlIG5ld05vZGUpOwogICAgIFtSYWlzZXNFeGNlcHRpb25dIHZv
aWQgc3Vycm91bmRDb250ZW50cyhOb2RlIG5ld1BhcmVudCk7Ci0gICAgUmFuZ2UgY2xvbmVSYW5n
ZSgpOworICAgIFtOZXdPYmplY3RdIFJhbmdlIGNsb25lUmFuZ2UoKTsKICAgICBET01TdHJpbmcg
dG9TdHJpbmcoKTsKIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5pZGwKaW5kZXggOWRm
ODJhMmE2MzQ3NzM3NDVhN2ZmYWUwMGU1OGY3ZTZmNTJiMzE5Ni4uOTZiNGE0MzY3ZWQzMzg1MTgz
MGQ3ZDI1NWQ3MmZmNDk5YjE0MTA5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Rl
eHQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbApAQCAtMjMsNyArMjMsNyBA
QAogCiAgICAgLy8gRE9NIExldmVsIDEKIAotICAgIFtSYWlzZXNFeGNlcHRpb25dIFRleHQgc3Bs
aXRUZXh0KHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdP
YmplY3RdIFRleHQgc3BsaXRUZXh0KHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKIAogICAgIC8vIElu
dHJvZHVjZWQgaW4gRE9NIExldmVsIDM6CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyAgICAgICB3aG9sZVRleHQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261286</attachid>
            <date>2015-09-15 19:51:45 -0700</date>
            <delta_ts>2015-09-15 19:54:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149192-20150915195133.patch</filename>
            <type>text/plain</type>
            <size>77609</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjJhMTg5OTIyMWU2NWJk
YmE5NjNjNDU5MTZiZDcxN2JhZjUwM2ZlMC4uODBhMmNhNDFkZGZjYTY2M2JjMGQ4Nzg2OGZkMjg0
ZWI3ZDhmMDg4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE1LTA5LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViSURMOiBSZW5hbWUgW1Jl
dHVybk5ld09iamVjdF0gdG8gW05ld09iamVjdF0gYW5kIHVzZSBpdCBtb3JlIGNvbnNpc3RlbnRs
eSBpbiBET00KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0OTE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZSBbUmV0dXJuTmV3T2JqZWN0XSB0byBbTmV3T2JqZWN0XSBhbmQgdXNlIGl0IG1vcmUg
Y29uc2lzdGVudGx5IGluCisgICAgICAgIERPTS4KKworICAgICAgICBUaGlzIGFsaWducyBvdXIg
SURMIGV4dGVuZGVkIGF0dHJpYnV0ZSBuYW1pbmcgd2l0aCBzdGFuZGFyZCBXZWIgSURMOgorICAg
ICAgICBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNOZXdPYmplY3QKKworICAgICAg
ICBXZSBhbHJlYWR5IGhhdmUgW1JldHVybk5ld09iamVjdF0gaW4gbW9zdCBwbGFjZXMgdGhhdCB0
aGUgRE9NCisgICAgICAgIHNwZWNpZmljYXRpb24gdXNlcyBbTmV3T2JqZWN0XSBidXQgd2UgYXJl
IG1pc3NpbmcgYSBmZXcgc28gSSdsbAorICAgICAgICBmaXggdGhpcyBhcyB3ZWxsOgorICAgICAg
ICBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1kb2N1bWVudAorCisgICAg
ICAgIFVzaW5nIFtOZXdPYmplY3RdIGxldHMgdGhlIGJpbmRpbmdzIGdlbmVyYXRvciBrbm93IHRo
YXQgdGhlIEFQSSBpbgorICAgICAgICBxdWVzdGlvbiBhbHdheXMgcmV0dXJucyBuZXcgb2JqZWN0
cyBhbmQgdGhhdCB3ZSBjYW4gYnlwYXNzIHRoZSBjaGVjaworICAgICAgICBmb3IgZXhpc3Rpbmcg
d3JhcHBlcnMgYW5kIGRpcmVjdGx5IGNyZWF0ZSBhIG5ldyB3cmFwcGVyIGZvciB0aGUKKyAgICAg
ICAgcmV0dXJuZWQgb2JqZWN0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIHN1cHBv
cnQgZm9yIGdlbmVyYXRpbmcgdGhlIHRvSlNOZXdseUNyZWF0ZWQoKQorICAgICAgICB1dGlsaXR5
IGZ1bmN0aW9uIGZvciBtb3N0IHR5cGVzLiBQcmV2aW91c2x5LCB0byB1c2UgW1JldHVybk5ld09i
amVjdF0KKyAgICAgICAgZm9yIGEgbmV3IHR5cGUsIHlvdSBuZWVkZWQgdG8gYWRkIHRoZSB0eXBl
IHRvIGEgaGFyZC1jb2RlZCBsaXN0IGluCisgICAgICAgIHRoZSBiaW5kaW5ncyBnZW5lcmF0b3Ig
dGhlbiBwcm92aWRlIHlvdXIgb3duIGltcGxlbWVudGF0aW9uIGZvcgorICAgICAgICB0b0pTTmV3
bHlDcmVhdGVkKCkgYXMgY3VzdG9tIGJpbmRpbmdzLgorCisgICAgICAgIE5vIG5ldy1leHBvc2Vk
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRWxlbWVudEN1c3RvbS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdl
bmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAg
ICAoTmF0aXZlVG9KU1ZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJp
YnV0ZXMudHh0OgorICAgICAgICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGw6CisgICAgICAg
ICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vTm9kZS5pZGw6CisgICAgICAgICog
ZG9tL1BhcmVudE5vZGUuaWRsOgorICAgICAgICAqIGRvbS9SYW5nZS5pZGw6CisgICAgICAgICog
ZG9tL1RleHQuaWRsOgorCiAyMDE1LTA5LTE1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIFtXaW5dIFVucmV2aWV3ZWQgcmVsZWFzZSBmaXggYWZ0ZXIgcjE4
OTgzMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0MjgxZWRkY2FkNzQyMTUxNDM5N2ZjODY2MmYz
YjE4YTRlMDVkYjM1Li5lYWJmYjhhMmJiZjkxNzgxZTU1NzJiNDFmOGExZTk0OWNmZTBhNjliIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTA4NSw3ICsxMDg1LDYgQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogICAgIGJpbmRpbmdzL2pzL0pTQXVkaW9UcmFja0xpc3RDdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNCaXF1YWRGaWx0ZXJOb2RlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
QmxvYkN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlND
U1NSdWxlTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRp
b25DdXN0b20uY3BwCkBAIC0xMjAwLDEyICsxMTk5LDkgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIGJpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U1N0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRv
Q3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU1RleHRUcmFja0N1ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RleHRUcmFj
a0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RleHRUcmFja0xpc3RDdXN0b20uY3BwCi0g
ICAgYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU1RvdWNo
TGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RyZWVX
YWxrZXJDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvagppbmRleCAwNzMzYTRmZWRjYjU4MmRlNDllNjYzNGNhMDMxNGVlMjA5MTc0Njhm
Li44YTEzZDdkZTU1M2FiMDlmMjZiOWJjOTBjMjdmZDc2ZTQ1Zjg3NzE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE3NDYxLDIwICsx
NzQ2MSw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmlu
ZGluZ3NcanNcSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9t
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0x
ODcwNywyMCArMTg2OTMsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVGV4dEN1c3RvbS5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fp
cm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCI+
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMjg0NCw0
ICsyMjgxNiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAg
ICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNc
bWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA4ODRlMWUyZTJl
YjQyMDZkYTc2Nzg4MmVmMWY0OTI3MWE4N2Q5OWZmLi4yZWRlOTVmYjZkNjA0N2RiMmJjZTFhYzQ2
MmM4OWE0YTQxNzdlY2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00MjM2LDkgKzQyMzYsNiBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNDYW52YXNSZW5kZXJpbmdDb250
ZXh0Q3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NE
QVRBU2VjdGlvbkN1c3RvbS5jcHAiPgotICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVy
PgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3Nc
anNcSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0b20uY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGlu
Z3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ0NDksOSArNDQ0Niw2IEBACiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1NWR1BhdGhTZWdDdXN0b20u
Y3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVGV4dEN1c3RvbS5j
cHAiPgotICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUcmVlV2Fsa2VyQ3Vz
dG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+CkBAIC0xNTQ1Niw0ICsxNTQ1MCw0IEBACiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXHdp
bjwvRmlsdGVyPgogICAgIDwvTUFTTT4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA4YTE5YWJlMjUwMzQ1MGU3
MmQ5OTBhYTMxYTJhNjM0MTI4MjRkYjkuLjQ1YzIwMDQwMmM1YjcyNDc3Y2RjNTNiY2M4ZDNjMDI0
ZmM3YWExZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTY5MCw3ICs2OTAsNiBAQAogCQkxQTJBNjgyNDBCNUJFREU3MDAwMkE0
ODAgLyogUHJvZ3Jlc3NUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTJBNjgyMjBCNUJFREU3MDAwMkE0ODAgLyogUHJvZ3Jlc3NUcmFja2Vy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEy
QUFDNTgwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkFBQzU2MERDMkEz
QjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgKi87IH07CiAJCTFBMkFB
QzU5MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQUFDNTcwREMyQTNCMTAw
QTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUEyQzQwQUIwREVCNTVBQTAwNUFGMTlFIC8q
IEpTVGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9tLmNwcCAqLzsg
fTsKIAkJMUEyRTZFNTkwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTU3MENDNTUyMTMwMDRB
MjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi87IH07CiAJCTFBMkU2RTVBMENDNTUyMTMwMDRBMjA2MiAv
KiBTUUxWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUEyRTZFNTgwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyRTZFN0EwQ0M1NTZENTAwNEEy
MDYyIC8qIFNRTGl0ZUF1dGhvcml6ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUEyRTZFNzgwQ0M1NTZENTAwNEEyMDYyIC8qIFNRTGl0ZUF1dGhv
cml6ZXIuY3BwICovOyB9OwpAQCAtMzUwNyw3ICszNTA2LDYgQEAKIAkJOTNCNzBENkYwOUVCMEM3
QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCNzBENTMwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlw
dENvbnRyb2xsZXIuY3BwICovOyB9OwogCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0NjggLyogU2Ny
aXB0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCNzBENTQwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0I3N0EzODBB
REQ3OTI1MDBFQTRCODEgLyogRnJhbWVMb2FkZXJUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCNzdBMzcwQURENzkyNTAwRUE0QjgxIC8qIEZy
YW1lTG9hZGVyVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQk5M0JBNTlCMjBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNlY3Rpb25DdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
QTU5QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCAqLzsgfTsK
IAkJOTNDMDlBNTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNDMDlBNTIwQjA2NERCMzAwNUFC
RDREIC8qIEV2ZW50SGFuZGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTkzQzA5QTdGMEIwNjRFRUYwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXJN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Mw
OUE3RTBCMDY0RUVGMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyTWFjLm1tICovOyB9OwogCQk5M0Mw
OUE4MTBCMDY0RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQzA5QTgwMEIwNjRGMDAwMDVBQkQ0RCAv
KiBFdmVudEhhbmRsZXIuY3BwICovOyB9OwpAQCAtNzg2Miw3ICs3ODYwLDYgQEAKIAkJMUEyQTY4
MjIwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUHJvZ3Jlc3NUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBMkFBQzU2MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3Rv
cmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkFBQzU3
MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVGV4dEN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkU2RTU3MENDNTUyMTMw
MDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTUUxWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkU2RTU4
MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTUUxWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTJFNkU3
ODBDQzU1NkQ1MDA0QTIwNjIgLyogU1FMaXRlQXV0aG9yaXplci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTUUxpdGVBdXRob3JpemVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTEwODc5LDcgKzEwODc2LDYgQEAKIAkJOTNCNzBENTMwOUVCMEM3
QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNjcmlwdENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0I3MEQ1NDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q29udHJvbGxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0I3N0EzNzBBREQ3OTI1MDBFQTRCODEgLyog
RnJhbWVMb2FkZXJUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGcmFt
ZUxvYWRlclR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzQkE1OUIxMEYy
QUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQzA5QTUyMEIwNjREQjMwMDVBQkQ0RCAvKiBFdmVudEhh
bmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRIYW5kbGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQzA5QTdFMEIwNjRFRUYwMDVBQkQ0RCAv
KiBFdmVudEhhbmRsZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBFdmVudEhhbmRsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkz
QzA5QTgwMEIwNjRGMDAwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRIYW5kbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTIxNTY3LDcgKzIxNTYzLDYgQEAKIAkJCQk4OTMxREU1QTE0QzQ0QzQ0
MDAwREM5RDIgLyogSlNCbG9iQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUVFRDE0QjEwNTE5NzE5MDAw
OTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwICovLAogCQkJCTQ5
RUVEMTREMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwICovLAotCQkJCTkzQkE1OUIxMEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1
c3RvbS5jcHAgKi8sCiAJCQkJN0MzM0YzNTgxQjRBMDQ0ODAwNTAyQ0FGIC8qIEpTQ2hhcmFjdGVy
RGF0YUN1c3RvbS5jcHAgKi8sCiAJCQkJQTU4NEZFMzcxODY0REFDMTAwODQzQjEwIC8qIEpTQ29t
bWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcCAqLywKIAkJCQkxNDhCNEZGNzFCNjkwNDIxMDBDOTU0
RTQgLyogSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAgKi8sCkBAIC0yMTY2Myw3ICsy
MTY1OCw2IEBACiAJCQkJRTFGRjhGNjYxODA3NDYwODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRv
Q3VzdG9tLmNwcCAqLywKIAkJCQkwOEU0RkU0NTBFMkJENDE0MDBGNENBRTAgLyogSlNTVkdMZW5n
dGhDdXN0b20uY3BwICovLAogCQkJCUIyQzk2RDhDMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1Bh
dGhTZWdDdXN0b20uY3BwICovLAotCQkJCTFBMkM0MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1Rl
eHRDdXN0b20uY3BwICovLAogCQkJCTA3RTExNzA2MTQ4OUVCRUIwMEVDNUFDRSAvKiBKU1RleHRU
cmFja0N1ZUN1c3RvbS5jcHAgKi8sCiAJCQkJMDdFMTE2QjAxNDg5QzlBMTAwRUM1QUNFIC8qIEpT
VGV4dFRyYWNrQ3VzdG9tLmNwcCAqLywKIAkJCQkwN0I1QTMwQzE0Njg3RDcxMDBBODFFQ0UgLyog
SlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCAqLywKQEAgLTI4OTg5LDcgKzI4OTgzLDYgQEAKIAkJ
CQk0OUVFRDE1MDEwNTE5NzFBMDAwOTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3M0FCNEI3MTdGOTJFQ0YwMDZFMEQ2RiAvKiBK
U0NhcGFiaWxpdHlSYW5nZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0Y5QjdBMDBCQTYwMzI2
MDA4NTQwNjQgLyogSlNDREFUQVNlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTNCQTU5
QjIwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUZEQTE1RUExMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0NoYW5uZWxNZXJnZXJOb2Rl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1RUEzMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0No
YW5uZWxTcGxpdHRlck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMxRjMwOUQxQ0M2
MDAwMEJFMzI1IC8qIEpTQ2hhcmFjdGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5NTUz
LDcgKzI5NTQ2LDYgQEAKIAkJCQk3MURDQjcwMTE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29t
QW5kUGFuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzRTE4MEFCNzVBNkYwMDBFNUFDNCAv
KiBKU1NWR1pvb21FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzIwMzA5RDFDQzYw
MDAwQkUzMjUgLyogSlNUZXh0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFBMkM0MEFCMERFQjU1
QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzQTE0
QjgwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDRUY0NUY1MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTA3MDc1Njk0MTQyMjY2OEQwMDQxNDE2MSAvKiBKU1RleHRUcmFjay5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmlu
ZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdz
QWxsSW5PbmUuY3BwCmluZGV4IGI1YzVmZjJlNTYwMDVmN2NmMzYwMzc0NDhkNTlhNmVlYjNiYTVk
MDIuLjAxNmVmYjBjNTc3NGY2YjY1OWQzMGZkZTRhOWY4Yjc5ZTQxZjUxYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcApAQCAtMzQs
NyArMzQsNiBAQAogI2luY2x1ZGUgIkpTQXVkaW9UcmFja0N1c3RvbS5jcHAiCiAjaW5jbHVkZSAi
SlNBdWRpb1RyYWNrTGlzdEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNCbG9iQ3VzdG9tLmNwcCIK
LSNpbmNsdWRlICJKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAiCiAjaWYgRU5BQkxFKFNUUkVBTVNf
QVBJKQogI2luY2x1ZGUgIkpTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwIgogI2VuZGlm
CkBAIC0xMzMsMTIgKzEzMiw5IEBACiAjaW5jbHVkZSAiSlNTdG9yYWdlQ3VzdG9tLmNwcCIKICNp
bmNsdWRlICJKU1N0eWxlU2hlZXRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTU3R5bGVTaGVldExp
c3RDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVGV4dEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNU
ZXh0VHJhY2tDdWVDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrQ3VzdG9tLmNwcCIK
ICNpbmNsdWRlICJKU1RleHRUcmFja0xpc3RDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVG91Y2hD
dXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVG91Y2hMaXN0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJK
U1RyYWNrQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RyYWNrRXZlbnRDdXN0b20uY3BwIgogI2lu
Y2x1ZGUgIkpTVHJlZVdhbGtlckN1c3RvbS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk3MDkxZGFiZDk5YjlhNmM5NzM4ZDIwNjFjOGVmZTNlOWZiNDYxMWMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSlNDREFUQVNlY3Rpb24uaCIK
LQotI2luY2x1ZGUgIkNEQVRBU2VjdGlvbi5oIgotCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDREFUQVNlY3Rpb24qIHNlY3Rpb24p
Ci17Ci0gICAgaWYgKCFzZWN0aW9uKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0KLSAgICBy
ZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgQ0RBVEFTZWN0aW9uLCBzZWN0
aW9uKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAppbmRleCA3MGNjZGFmZjQwMWU4Y2I0Y2Uy
NDExYTBmNzhjNjQ4OGFjZDUzYWJhLi4yZjUyNmJlY2QxMTgxYjMzZTdjZWE5MzBjYzg2ZThhODU3
MGE4NDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3Vz
dG9tLmNwcApAQCAtNzksNiArNzksMzEgQEAgdm9pZCBKU0RvY3VtZW50OjpzZXRMb2NhdGlvbihF
eGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUpCiAgICAgICAgIGxvY2F0aW9uLT5zZXRIcmVm
KGxvY2F0aW9uU3RyaW5nLCBhY3RpdmVET01XaW5kb3coZXhlYyksIGZpcnN0RE9NV2luZG93KGV4
ZWMpKTsKIH0KIAorc3RhdGljIGlubGluZSBKU1ZhbHVlIGNyZWF0ZU5ld0RvY3VtZW50V3JhcHBl
cihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERvY3Vt
ZW50JiBkb2N1bWVudCkKK3sKKyAgICBKU09iamVjdCogd3JhcHBlcjsKKyAgICBpZiAoZG9jdW1l
bnQuaXNIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBF
UihnbG9iYWxPYmplY3QsIEhUTUxEb2N1bWVudCwgJmRvY3VtZW50KTsKKyAgICBlbHNlIGlmIChk
b2N1bWVudC5pc1NWR0RvY3VtZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dS
QVBQRVIoZ2xvYmFsT2JqZWN0LCBTVkdEb2N1bWVudCwgJmRvY3VtZW50KTsKKyAgICBlbHNlCisg
ICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBEb2N1bWVu
dCwgJmRvY3VtZW50KTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgZG9jdW1lbnQgaXMga2VwdCBh
cm91bmQgYnkgdGhlIHdpbmRvdyBvYmplY3QsIGFuZCB3b3JrcyByaWdodCB3aXRoIHRoZQorICAg
IC8vIGJhY2svZm9yd2FyZCBjYWNoZS4KKyAgICBpZiAoIWRvY3VtZW50LmZyYW1lKCkpIHsKKyAg
ICAgICAgc2l6ZV90IG5vZGVDb3VudCA9IDA7CisgICAgICAgIGZvciAoTm9kZSogbiA9IGRvY3Vt
ZW50OyBuOyBuID0gTm9kZVRyYXZlcnNhbDo6bmV4dCgqbikpCisgICAgICAgICAgICAhIW5vZGVD
b3VudDsKKworICAgICAgICAvLyBGSVhNRTogQWRvcHQgcmVwb3J0RXh0cmFNZW1vcnlWaXNpdGVk
LCBhbmQgc3dpdGNoIHRvIHJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkLgorICAgICAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTk1CisgICAgICAgIGV4
ZWMtPmhlYXAoKS0+ZGVwcmVjYXRlZFJlcG9ydEV4dHJhTWVtb3J5KG5vZGVDb3VudCAqIHNpemVv
ZihOb2RlKSk7CisgICAgfQorCisgICAgcmV0dXJuIHdyYXBwZXI7Cit9CisKIEpTVmFsdWUgdG9K
UyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERvY3Vt
ZW50KiBkb2N1bWVudCkKIHsKICAgICBpZiAoIWRvY3VtZW50KQpAQCAtOTYsMjYgKzEyMSwxMiBA
QCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBEb2N1bWVudCogZG9jdW1lbgogICAgICAgICAgICAgcmV0dXJuIHdyYXBwZXI7CiAg
ICAgfQogCi0gICAgaWYgKGRvY3VtZW50LT5pc0hUTUxEb2N1bWVudCgpKQotICAgICAgICB3cmFw
cGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgSFRNTERvY3VtZW50LCBkb2N1
bWVudCk7Ci0gICAgZWxzZSBpZiAoZG9jdW1lbnQtPmlzU1ZHRG9jdW1lbnQoKSkKLSAgICAgICAg
d3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIFNWR0RvY3VtZW50LCBk
b2N1bWVudCk7Ci0gICAgZWxzZQotICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVS
KGdsb2JhbE9iamVjdCwgRG9jdW1lbnQsIGRvY3VtZW50KTsKLQotICAgIC8vIE1ha2Ugc3VyZSB0
aGUgZG9jdW1lbnQgaXMga2VwdCBhcm91bmQgYnkgdGhlIHdpbmRvdyBvYmplY3QsIGFuZCB3b3Jr
cyByaWdodCB3aXRoIHRoZQotICAgIC8vIGJhY2svZm9yd2FyZCBjYWNoZS4KLSAgICBpZiAoIWRv
Y3VtZW50LT5mcmFtZSgpKSB7Ci0gICAgICAgIHNpemVfdCBub2RlQ291bnQgPSAwOwotICAgICAg
ICBmb3IgKE5vZGUqIG4gPSBkb2N1bWVudDsgbjsgbiA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoKm4p
KQotICAgICAgICAgICAgbm9kZUNvdW50Kys7Ci0gICAgICAgIAotICAgICAgICAvLyBGSVhNRTog
QWRvcHQgcmVwb3J0RXh0cmFNZW1vcnlWaXNpdGVkLCBhbmQgc3dpdGNoIHRvIHJlcG9ydEV4dHJh
TWVtb3J5QWxsb2NhdGVkLgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQyNTk1Ci0gICAgICAgIGV4ZWMtPmhlYXAoKS0+ZGVwcmVjYXRlZFJlcG9y
dEV4dHJhTWVtb3J5KG5vZGVDb3VudCAqIHNpemVvZihOb2RlKSk7Ci0gICAgfQorICAgIHJldHVy
biBjcmVhdGVOZXdEb2N1bWVudFdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0LCAqZG9jdW1lbnQp
OworfQogCi0gICAgcmV0dXJuIHdyYXBwZXI7CitKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoRXhl
Y1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBEb2N1bWVudCog
ZG9jdW1lbnQpCit7CisgICAgcmV0dXJuIGRvY3VtZW50ID8gY3JlYXRlTmV3RG9jdW1lbnRXcmFw
cGVyKGV4ZWMsIGdsb2JhbE9iamVjdCwgKmRvY3VtZW50KSA6IGpzTnVsbCgpOwogfQogCiBKU1Zh
bHVlIEpTRG9jdW1lbnQ6OnByZXBlbmQoRXhlY1N0YXRlKiBzdGF0ZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmgKaW5kZXggMmExYmEwMTgwMzI0ZDA4NGI0
YWM1YjZiMmM5NTdlZGMzOWE3OTZmNy4uMGJjMGVjY2M2MWYwM2FhMWFmNzlmYzI2YjIwZTM3OGU0
ZjI0ZjFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50
Q3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9t
LmgKQEAgLTMxLDYgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kiwg
RWxlbWVudCopOworCiBBTFdBWVNfSU5MSU5FIEpTRWxlbWVudCoganNFbGVtZW50Q2FzdChKU0M6
OkpTVmFsdWUgdmFsdWUpCiB7CiAgICAgaWYgKFVOTElLRUxZKCF2YWx1ZS5pc0NlbGwoKSkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCmluZGV4IDU1NWFk
M2ZhYTNlMzAzNjRmZjI5OWY0MDA3MjI5YjE0MmI2YjIxOWEuLjA3YjE2MzdmZTgyNzJlNjkzYWE0
YzRiMGEyMzk0OTI4Y2MzZGJhZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRXZlbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RXZlbnRDdXN0b20uY3BwCkBAIC01Myw2ICs1MywxNSBAQCBKU1ZhbHVlIEpTRXZlbnQ6OmNsaXBi
b2FyZERhdGEoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogICAgIGNhc2UgaW50ZXJmYWNlTmFtZSMj
SW50ZXJmYWNlVHlwZTogXAogICAgICAgICByZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2Jh
bE9iamVjdCwgaW50ZXJmYWNlTmFtZSwgZXZlbnQpOwogCitzdGF0aWMgaW5saW5lIEpTVmFsdWUg
Y3JlYXRlTmV3RXZlbnRXcmFwcGVyKEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2
ZW50JiBldmVudCkKK3sKKyAgICBzd2l0Y2ggKGV2ZW50LT5ldmVudEludGVyZmFjZSgpKSB7Cisg
ICAgICAgIERPTV9FVkVOVF9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9UT19XUkFQX1dJVEhfSU5U
RVJGQUNFKQorICAgIH0KKworICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2Jq
ZWN0LCBFdmVudCwgZXZlbnQpOworfQorCiBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZlbnQqIGV2ZW50KQogewogICAgIEpTTG9ja0hv
bGRlciBsb2NrKGdsb2JhbE9iamVjdC0+dm0oKSk7CkBAIC02NCwxMSArNzMsMTMgQEAgSlNWYWx1
ZSB0b0pTKEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50
KiBldmVudCkKICAgICBpZiAod3JhcHBlcikKICAgICAgICAgcmV0dXJuIHdyYXBwZXI7CiAKLSAg
ICBzd2l0Y2ggKGV2ZW50LT5ldmVudEludGVyZmFjZSgpKSB7Ci0gICAgICAgIERPTV9FVkVOVF9J
TlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9UT19XUkFQX1dJVEhfSU5URVJGQUNFKQotICAgIH0KKyAg
ICByZXR1cm4gY3JlYXRlTmV3RXZlbnRXcmFwcGVyKGdsb2JhbE9iamVjdCwgKmV2ZW50KTsKK30K
IAotICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBFdmVudCwgZXZl
bnQpOworCitKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoRXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgRXZlbnQqIGV2ZW50KQoreworICAgIHJldHVybiBldmVudCA/
IGNyZWF0ZU5ld0V2ZW50V3JhcHBlcihnbG9iYWxPYmplY3QsICpldmVudCkgOiBqc051bGwoKTsK
IH0KIAogI3VuZGVmIFRSWV9UT19XUkFQX1dJVEhfSU5URVJGQUNFCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwCmluZGV4IDkwZDcxZWI4NTMyZDYx
Mjk2MmU2YWMyY2I0M2M2MzVlMWNmY2Q1NWMuLjhjY2ExODhiNmM1YWJlZDIwZDAxZTQzNjM5NGYw
NzI4NTQ3NTVhY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9k
ZUxpc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxp
c3RDdXN0b20uY3BwCkBAIC01OSw0ICs1OSwxMiBAQCBKU0M6OkpTVmFsdWUgY3JlYXRlV3JhcHBl
cihKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBOb2RlTGlzdCYgbm9kZUxpc3QpCiAg
ICAgcmV0dXJuIGNyZWF0ZU5ld1dyYXBwZXI8SlNOb2RlTGlzdD4oJmdsb2JhbE9iamVjdCwgJm5v
ZGVMaXN0KTsKIH0KIAorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBOb2RlTGlzdCogbm9kZUxpc3Qp
Cit7CisgICAgaWYgKCFub2RlTGlzdCkKKyAgICAgICAgcmV0dXJuIEpTQzo6anNOdWxsKCk7CisK
KyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcigqZ2xvYmFsT2JqZWN0LCAqbm9kZUxpc3QpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1RleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNU
ZXh0Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY5MzNhMGM2MDc4
NTJiMDJkZjhhNTk5ODdlOTExYjU5N2RjZTAzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RleHRDdXN0
b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiSlNUZXh0LmgiCi0KLSNpbmNsdWRlICJUZXh0LmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNT
dGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRleHQqIHRleHQpCi17Ci0g
ICAgaWYgKCF0ZXh0KQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgCi0gICAgcmV0dXJu
IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIFRleHQsIHRleHQpOwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1RvdWNoQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hD
dXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDAyNmYyYWEzYTRhYjlk
OWE0NzgxZmVkZjA2MmU3YjFlNzI2ODQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20u
Y3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDEw
LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0j
aWYgIVBMQVRGT1JNKElPUykKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotCi0jaW5jbHVkZSAi
SlNUb3VjaC5oIgotCi0jaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0KLXVzaW5nIG5hbWVzcGFj
ZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRvdWNoKiB0b3Vj
aCkKLXsKLSAgICBpZiAoIXRvdWNoKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0KLSAgICBy
ZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgVG91Y2gsIHRvdWNoKTsKLX0K
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFRPVUNIX0VWRU5U
UykKLSNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNUb3VjaExpc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNUb3VjaExpc3RDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5ZGVkZmU4NzlmMjZhYThjZTFhMjc0ZWQyZTdiMGZiOGY1OTdmMmQxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLQotI2lmICFQTEFURk9STShJT1MpCi0jaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKLQotI2luY2x1ZGUgIkpTVG91Y2hMaXN0LmgiCi0KLSNpbmNsdWRlICJKU0RPTUJp
bmRpbmcuaCIKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1KU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoRXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgVG91Y2hMaXN0KiB0b3VjaExpc3QpCi17Ci0gICAgaWYgKCF0b3VjaExp
c3QpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLQotICAgIHJldHVybiBDUkVBVEVfRE9NX1dS
QVBQRVIoZ2xvYmFsT2JqZWN0LCBUb3VjaExpc3QsIHRvdWNoTGlzdCk7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0jZW5kaWYg
Ly8gIVBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggNjQ2M2NjYWI0MzNmMzIwYzkyMzBjNmY4N2RiNDNj
YjlhMzE5OThiMS4uZjJhYzQwNGIxNjUyN2RmZGZjNGQ1MmY1NjNkZGVmM2YyMmJjZDQ2YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KQEAgLTUwOSwxNSArNTA5LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb25Db250ZW50
SGVhZGVyCiAgICAgcmV0dXJuIEBpbXBsQ29udGVudEhlYWRlcjsKIH0KIAotbXkgJXVzZXNUb0pT
TmV3bHlDcmVhdGVkID0gKAotICAgICJDREFUQVNlY3Rpb24iID0+IDEsCi0gICAgIkVsZW1lbnQi
ID0+IDEsCi0gICAgIk5vZGUiID0+IDEsCi0gICAgIlRleHQiID0+IDEsCi0gICAgIlRvdWNoIiA9
PiAxLAotICAgICJUb3VjaExpc3QiID0+IDEKLSk7Ci0KIHN1YiBTaG91bGRHZW5lcmF0ZVRvSlNE
ZWNsYXJhdGlvbgogewogICAgIG15ICgkaGFzUGFyZW50LCAkaW50ZXJmYWNlKSA9IEBfOwpAQCAt
MTIxMSwxMSArMTIwMiwxMCBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgICAgIHB1c2go
QGhlYWRlckNvbnRlbnQsICRleHBvcnRMYWJlbC4iSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosICRpbXBsVHlwZSopO1xuIik7CiAgICAgICAgIH0K
ICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgImlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgJGlt
cGxUeXBlJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9
XG4iKTsKKworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosICRpbXBsVHlw
ZSopO1xuIik7CiAgICAgfQotICAgIGlmICgkdXNlc1RvSlNOZXdseUNyZWF0ZWR7JGludGVyZmFj
ZU5hbWV9KSB7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgJGludGVy
ZmFjZU5hbWUqKTtcbiIpOwotICAgIH0KLSAgICAKKwogICAgIHB1c2goQGhlYWRlckNvbnRlbnQs
ICJcbiIpOwogCiAgICAgIyBBZGQgcHJvdG90eXBlIGRlY2xhcmF0aW9uLgpAQCAtMzA1Niw2ICsz
MDQ2LDE5IEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogJHt2dGFibGVOYW1lR251fVtdOyB9
CiAjZW5kaWYKIEVORAogCisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNDOjpKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCAkaW1wbFR5cGUqIGltcGwpXG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJ7XG4iKTsKK3B1c2goQGltcGxDb250ZW50LCA8PEVORCk7CisgICAgaWYgKCFpbXBsKQor
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CitFTkQKKyAgICAgICAgaWYgKCRzdmdQcm9wZXJ0eVR5
cGUpIHsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBjcmVhdGVX
cmFwcGVyPCRjbGFzc05hbWUsICRpbXBsVHlwZT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTtcbiIpOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0
dXJuIGNyZWF0ZVdyYXBwZXI8JGNsYXNzTmFtZT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTtcbiIpOwor
ICAgICAgICB9CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKKwogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIkpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgJGltcGxUeXBlKiBpbXBsKVxuIik7CiAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCA8PEVORCk7CkBAIC00MTE2LDcgKzQxMTksNyBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAK
ICAgICByZXR1cm4gJHZhbHVlIGlmICRjb2RlR2VuZXJhdG9yLT5Jc1NWR0FuaW1hdGVkVHlwZSgk
dHlwZSk7CiAKLSAgICBpZiAoJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJldHVy
bk5ld09iamVjdCJ9KSB7CisgICAgaWYgKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJOZXdPYmplY3QifSkgewogICAgICAgICByZXR1cm4gInRvSlNOZXdseUNyZWF0ZWQoZXhlYywg
JGdsb2JhbE9iamVjdCwgV1RGOjpnZXRQdHIoJHZhbHVlKSkiOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKaW5kZXggYjcx
Y2JkNzBmNTQzOTYyMjdhNjczYzdmODVjMTg2MWRhOTRkYTFmZi4uNDc3OTEyYTc5ZGRhNzViYTc3
YTBmMjk3YzA4MzMzYmQ1N2QzZDc2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CkBAIC04OCw2ICs4OCw3IEBAIEpTTGVnYWN5UGFy
ZW50PSoKIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQKIE5hbWVkQ29uc3RydWN0b3I9KgogTmV3SW1w
dXJlUHJvcGVydHlGaXJlc1dhdGNocG9pbnRzCitOZXdPYmplY3QKIE5vSW50ZXJmYWNlT2JqZWN0
CiBOb25kZXRlcm1pbmlzdGljCiBOb3RFbnVtZXJhYmxlCkBAIC0xMDgsNyArMTA5LDYgQEAgUmVw
bGFjZWFibGUKIFJlcGxhY2VhYmxlQ29uc3RydWN0b3IKIFJlcG9ydEV4dHJhTWVtb3J5Q29zdAog
UmVxdWlyZXNFeGlzdGluZ0F0b21pY1N0cmluZwotUmV0dXJuTmV3T2JqZWN0CiBTZXR0ZXJSYWlz
ZXNFeGNlcHRpb24KIFNraXBWVGFibGVWYWxpZGF0aW9uCiBTdHJpY3RUeXBlQ2hlY2tpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RB
Y3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggMWExMDkzZGYxNzI2MmQ2M2QyNjUx
ZDU5NTA2YjBjYjRjY2I2MGYzNS4uNzE5OWM0YThhMDk2Y2IwODVmNGM2MjhkOTZkNDFhNjc2ZDg3
MDEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKQEAgLTI2Miw2ICsyNjIs
MTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183
VGVzdEFjdGl2ZURPTU9iamVjdEBXZWJDb3JlQEAKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCog
X1pUVk43V2ViQ29yZTE5VGVzdEFjdGl2ZURPTU9iamVjdEVbXTsgfQogI2VuZGlmCiAjZW5kaWYK
K0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEFjdGl2ZURPTU9iamVjdCogaW1wbCkKK3sKKyAg
ICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxKU1Rlc3RBY3RpdmVET01PYmplY3Q+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisK
IEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdEFjdGl2ZURPTU9iamVjdCogaW1wbCkKIHsKICAgICBpZiAoIWltcGwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0QWN0aXZlRE9NT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmgKaW5kZXggOTY3ODdkNDQ0Y2E2YTRlNzc5NTEx
ZmQ0N2E4NTM5YmY1ZmJjNTViOC4uYmNhMGEzMDg4ODQ3MDUwMGZhZjc5ZTM2N2IwYmVkZWI5ZTNk
ZjdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEFjdGl2ZURPTU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuaApAQCAtODQsNiArODQsNyBAQCBp
bmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQm
LCBUZXN0QWN0aXZlRE9NT2JqZWN0KgogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEFjdGl2ZURPTU9iamVjdCopOwogaW5saW5lIEpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBUZXN0QWN0aXZlRE9NT2JqZWN0JiBpbXBsKSB7IHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEFjdGl2ZURPTU9iamVj
dCopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhO
b0ludGVyZmFjZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwCmlu
ZGV4IDQyYzdkOThkYzhmNmRhMGNlNGY4MmRmODU4ZTU5OTc0MmZiNTkzZTQuLjU0M2JkNzZhZWUw
MjY4OWZkOGJhZmE0ZTlkMDBhNzYyY2MyMDliODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0lu
dGVyZmFjZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcApA
QCAtMTc5LDYgKzE3OSwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lk
ZW50aWZpZXIoIj8/XzdUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbgogZXh0ZXJuICJDIiB7
IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlNDJUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3RFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCogaW1wbCkKK3sK
KyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3Jl
YXRlV3JhcHBlcjxKU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4o
Z2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tQ29uc3RydWN0
b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZh
Y2VPYmplY3QuaAppbmRleCBkY2U5ZDA1YjRlNzBmOTg2MGI2Y2RjODdiYTg1MTEwMDJmZGRkNzlh
Li45NTdkYjZjNDY0OWU0OTkyOWJkNTE3OWU0ODViZThiNmRhNjRmYmVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3Ry
dWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VP
YmplY3QuaApAQCAtODAsNiArODAsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdy
YXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0Q3VzdG9tQ29uc3RydWN0bwogCiBKU0M6
OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEN1
c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0Kik7CiBpbmxpbmUgSlNDOjpKU1Zh
bHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCYgaW1wbCkg
eyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRl
c3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCopOwogCiAvLyBDdXN0b20g
Y29uc3RydWN0b3IKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RK
U1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdChKU0M6OkV4ZWNTdGF0
ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKaW5kZXggYmJhMjNmNzEw
M2NhMDYxYTRkZTc0ZGRkNGNjN2QyM2Y0NGJkYzU5NC4uYjc3M2QwYWU2NWQzYWUzMWMwZjFiN2I5
YTcyMjdlNTYzMWYwODE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3Bw
CkBAIC0yNDcsNiArMjQ3LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9f
aWRlbnRpZmllcigiPz9fN1Rlc3RDdXN0b21OYW1lZEdldHRlckBXZWJDb3JlCiBleHRlcm4gIkMi
IHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyMVRlc3RDdXN0b21OYW1lZEdldHRlckVbXTsg
fQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEN1c3RvbU5hbWVk
R2V0dGVyKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyPihnbG9i
YWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSos
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDdXN0b21OYW1lZEdldHRlciog
aW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5o
CmluZGV4IDg0NWQ3YzMxMGIwYTMzNTkzMDZiMjAwNzM1ODI4YzZhYzQ2MjgzNTYuLjAxY2QzM2Fh
NWMyNTA5MGE3M2Q3YmM1NTU5OTNkMzE4NmVjYjQzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21O
YW1lZEdldHRlci5oCkBAIC04Nyw2ICs4Nyw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25l
ciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RDdXN0b21OYW1lZEdldHRlCiAK
IEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4
ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEN1c3Rv
bU5hbWVkR2V0dGVyJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmlt
cGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpT
RE9NR2xvYmFsT2JqZWN0KiwgVGVzdEN1c3RvbU5hbWVkR2V0dGVyKik7CiAKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IGZl
NjE0YjZlZGVkYjAyNjJlYmNkNDY3ZTA3MDAzNTFjNTlkNWRmM2MuLjViMTI1M2E3NmQ2ZDZmZmM3
NjA2YTkwMWFlZmRjYjIzYzBlNTNjN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5jcHAKQEAgLTI2Niw2ICsyNjYsMTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29u
c3QgX19pZGVudGlmaWVyKCI/P183VGVzdEV2ZW50Q29uc3RydWN0b3JAV2ViQ29yZUAKIGV4dGVy
biAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIwVGVzdEV2ZW50Q29uc3RydWN0b3JF
W107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFdmVudENv
bnN0cnVjdG9yKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVs
bCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTVGVzdEV2ZW50Q29uc3RydWN0b3I+KGds
b2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV2ZW50Q29uc3RydWN0b3Iq
IGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmgK
aW5kZXggMDIyMTYyYjBkNmFmOGYxYmNiZGM0Yzg1NDViNzZkMDEyNTVjMzBiMS4uODViMzI3MjEy
NDk2MDRmYTQxYzFmYjNlY2UxZTcwMjU5NzhlYmU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5oCkBAIC04Myw2ICs4Myw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciog
d3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RFdmVudENvbnN0cnVjdG9yCiAKIEpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0
RXZlbnRDb25zdHJ1Y3RvciopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0
YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlbnRDb25z
dHJ1Y3RvciYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsg
fQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCosIFRlc3RFdmVudENvbnN0cnVjdG9yKik7CiAKIGJvb2wgZmlsbFRlc3RFdmVu
dENvbnN0cnVjdG9ySW5pdChUZXN0RXZlbnRDb25zdHJ1Y3RvckluaXQmLCBKU0RpY3Rpb25hcnkm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggMGM4ODU3ZGIyZjc5ZDg5NjFiYzA2
YTMwMThhY2EyM2FjMDM2Njg4MS4uMTA1MWQ1YjdhNGU2ZWRmMWQ2NzZhNTJmNTMyMGE3ZTg4YzQ5
MjQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0zNDAsNiArMzQwLDEzIEBAIGV4
dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RFdmVu
dFRhcmdldEBXZWJDb3JlQEA2QkAiCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dl
YkNvcmUxNVRlc3RFdmVudFRhcmdldEVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdEV2ZW50VGFyZ2V0KiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAg
ICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTVGVzdEV2
ZW50VGFyZ2V0PihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhK
U0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFdmVu
dFRhcmdldCogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCmlu
ZGV4IDUxOTUzMTllODFjNTZmYmNiNGRiYTBhYzIxMmJlNWRlZDgwZWJmMjguLmRhNzVhMzgzMjVl
MDU1YWI4YWMyMjBmMGJmYzEyZGJmY2Q4MWI1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCkBA
IC05MSw2ICs5MSw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVy
KERPTVdyYXBwZXJXb3JsZCYsIFRlc3RFdmVudFRhcmdldCopCiAKIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0RXZlbnRUYXJnZXQqKTsK
IGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV2ZW50VGFyZ2V0JiBpbXBsKSB7IHJldHVybiB0
b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEV2ZW50VGFy
Z2V0Kik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcApp
bmRleCAzODdjMmY2MjZiZjcxZjVlYWViNmM2ZDJmZDUyMGFkYmM1OTA2M2YyLi4zN2NhNDQwZWIw
YzYzNGMyMjNmZWI0ZGQ1YzQ5NWYwNTQxMDhjODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcApA
QCAtMjEyLDYgKzIxMiwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lk
ZW50aWZpZXIoIj8/XzdUZXN0RXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpWwogZXh0ZXJuICJDIiB7
IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTNUZXN0RXhjZXB0aW9uRVtdOyB9CiAjZW5kaWYK
ICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXhjZXB0aW9uKiBpbXBsKQorewor
ICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVh
dGVXcmFwcGVyPEpTVGVzdEV4Y2VwdGlvbj4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlND
OjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBUZXN0RXhjZXB0aW9uKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNl
cHRpb24uaAppbmRleCBjNzEwMTQ5OWRjOWRmNGRhZjVkODlkYjc0MTAwMTgxNzAxM2UwMTgwLi5i
ZTRmMDA0MzllZTE4ZGQ1MzNiYzVjZmVlM2MzZGU3ZjVlOTUzMmE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlv
bi5oCkBAIC04NSw2ICs4NSw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBl
ck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RFeGNlcHRpb24qKQogCiBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEV4Y2VwdGlvbiop
OwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXhjZXB0aW9uJiBpbXBsKSB7IHJldHVybiB0
b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEV4Y2VwdGlv
biopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0
ZUlzUmVhY2hhYmxlLmNwcAppbmRleCBjZmM3OGE4YjVjNDNmMWE2ZTUwZTg1YjJhNGZiMDc1Y2Jm
YjM3MzA0Li5jNTc5MDdmNWM4YjgwZTk0OTc1Mjk5ZTQxMmRiMDY5YjdiMDUzNmJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCkBAIC0xNzQsNiArMTc0LDEzIEBA
IGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RH
ZW5lcmF0ZUlzUmVhY2hhYmxlQFdlYkNvCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZO
N1dlYkNvcmUyM1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlRVtdOyB9CiAjZW5kaWYKICNlbmRpZgor
SlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSogaW1wbCkKK3sK
KyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3Jl
YXRlV3JhcHBlcjxKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPihnbG9iYWxPYmplY3QsIGltcGwp
OworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKiBpbXBsKQogewogICAg
IGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oCmluZGV4IDlh
NzVhN2NiNWFkZTk0YjcxNjhjMmRiMzYwNGQ0ZGVjODhhNTVkODQuLjNmY2YwOWVlM2ZlOWNmNTFj
MzczYjRmNDYxMjA1MmQ4ZDY1NDY0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFj
aGFibGUuaApAQCAtODEsNiArODEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdy
YXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0R2VuZXJhdGVJc1JlYWNoYQogCiBKU0M6
OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEdl
bmVyYXRlSXNSZWFjaGFibGUqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNT
dGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEdlbmVyYXRl
SXNSZWFjaGFibGUmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1w
bCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNE
T01HbG9iYWxPYmplY3QqLCBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSopOwogCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKaW5kZXggMTAzNTY4OGE5OWMzYjUw
NTY3OGJkNDg1YWQ2N2FiZDk3MGEyYTliMS4uZDNlODA4ODJmMDY3Y2VhNmYzMGE2YTFhY2MxZWU1
MzY1MjA2NDhlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKQEAgLTk1NSw2ICs5NTUsMTMgQEAg
dm9pZCBKU1Rlc3RJbnRlcmZhY2VPd25lcjo6ZmluYWxpemUoSlNDOjpKU0NlbGwqJiBjZWxsLCB2
b2lkKiBjb250ZXh0KQogICAgIHVuY2FjaGVXcmFwcGVyKHdvcmxkLCAmd3JhcHBlci5pbXBsKCks
ICZ3cmFwcGVyKTsKIH0KIAorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0SW50ZXJmYWNlKiBp
bXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPEpTVGVzdEludGVyZmFjZT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsK
K30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUZXN0SW50ZXJmYWNlKiBpbXBsKQogewogICAgIGlmICghaW1wbCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RJbnRlcmZhY2UuaAppbmRleCAwYmM3N2VmMjk3OTI1ZDM4MDk1MGE4NDhlNzdjYTJiNmYy
OWYyNDMyLi4xZWZkNzUyZDg2NDQ2MWY0ZDNmYWZmMjQ3YzJmOGI3NDkzNTgyMWQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZS5oCkBAIC0xMTEsNiArMTExLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93
bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEludGVyZmFjZSopCiAKIFdF
QkNPUkVfRVhQT1JUIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqLCBUZXN0SW50ZXJmYWNlKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlND
OjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RJ
bnRlcmZhY2UmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7
IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCBUZXN0SW50ZXJmYWNlKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCmluZGV4IGY0
N2UyZGExMTZiOGQ0YmQ5NGE5MGJjZjJjZWE2MzEwNDNkYTBiYTguLjFjMDI3MDdmNjNiODgyZTZj
YjY3ZDcwYzQ5Y2JlNjA4MWRkMTYxMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5jcHAKQEAgLTE5OSw2ICsxOTksMTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVy
biB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXJAV2UKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTI2VGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXJFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXBsKQoreworICAgIGlmICghaW1w
bCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGltcGwpCiB7CiAgICAgaWYgKCFp
bXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKaW5kZXggMThi
NDNkODU1NWUwYmE3MzU1YzViMTU4ZDllZTdiN2M4ZTQ3MDhmNC4uZjIwNjUyMmE0ZjJjYmRjOThl
YzdkMjc3YTEwZDAzZjcxZDdmZmE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5oCkBAIC04MSw2ICs4MSw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25l
ciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpCiAK
IEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpT
Qzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxP
YmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKik7
CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0
b3IuY3BwCmluZGV4IDBjZjllODA2YzA2ZGZhZDI4MTAzYTBjY2NmY2MwOGNiMmIxMzQyNzQuLmEx
NzVkYWZiZTc0Y2RhNjJhODAwOGM5MDUyZGQ0NDJhMzQ2ZjNlNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRDb25zdHJ1Y3Rvci5jcHAKQEAgLTI1NCw2ICsyNTQsMTMgQEAgZXh0ZXJuICJDIiB7IGV4
dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdE5hbWVkQ29uc3RydWN0b3JA
V2ViQ29yZUAKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIwVGVzdE5h
bWVkQ29uc3RydWN0b3JFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFRlc3ROYW1lZENvbnN0cnVjdG9yKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAg
ICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTVGVzdE5hbWVk
Q29uc3RydWN0b3I+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5h
bWVkQ29uc3RydWN0b3IqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZENvbnN0cnVjdG9yLmgKaW5kZXggNjZmMmVjNzczODBkZGU4NzMxMmI1M2Y4ODMxN2Q2Mzc3YWM3
N2E1Yy4uNjViZmJmMGU4NWI1OTczNDMzZWY4MmZkYTZhNjc2YmM1NWQwMzY0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCkBAIC04Miw2ICs4Miw3IEBAIGlubGluZSBKU0M6Oldl
YWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3ROYW1lZENv
bnN0cnVjdG9yCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqLCBUZXN0TmFtZWRDb25zdHJ1Y3RvciopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0
b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBUZXN0TmFtZWRDb25zdHJ1Y3RvciYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxP
YmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3ROYW1lZENvbnN0cnVjdG9yKik7CiAKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3Bw
CmluZGV4IDVlOGFhNmUzMTkxNjg2NmY1OGFmODUwMmFkZDcwNDU3YTc4NmE3YzkuLjI5NzY0YmE3
ZDlkZWE1MjgxMmNiNGRlZDZmMzI5ZjViMDhjMzAwYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0
ZXJtaW5pc3RpYy5jcHAKQEAgLTUwNSw2ICs1MDUsMTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2
b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdE5vbmRldGVybWluaXN0aWNAV2ViQ29y
ZUAKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTIwVGVzdE5vbmRldGVy
bWluaXN0aWNFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRl
c3ROb25kZXRlcm1pbmlzdGljKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0
dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTVGVzdE5vbmRldGVybWlu
aXN0aWM+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5vbmRldGVy
bWluaXN0aWMqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1p
bmlzdGljLmgKaW5kZXggZWI1MTcwM2Y0MjdlMmI0ZGEyY2E3MGM2YTRkY2QxOThhZjgzMDAwZi4u
NzIxMjE5MGQ1ZjI3OGNlMTliZDQ1MjMyZmYzZmQ1MmUyZTExZjk1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0
aWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Tm9uZGV0ZXJtaW5pc3RpYy5oCkBAIC04MSw2ICs4MSw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5k
bGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3ROb25kZXRlcm1pbmlz
dGljCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqLCBUZXN0Tm9uZGV0ZXJtaW5pc3RpYyopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpT
Qzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0
Tm9uZGV0ZXJtaW5pc3RpYyYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3Qs
ICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3ROb25kZXRlcm1pbmlzdGljKik7CiAKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCAyZTEwZjUzMGI3YjRiYTY0Yjg0OTI1YmM0
N2I0NGM2NjFlNjZiNDM4Li5jYWUzMDViNGU0ODJhOTNlNjc3NDVlODJmYThmOTIwNjAyZjJlM2Rl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcApAQCAtNDcwNCw2ICs0NzA0LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4g
dm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RPYmpAV2ViQ29yZUBANkJAIilbXSko
KTsKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTdUZXN0T2JqRVtdOyB9
CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0T2JqKiBpbXBsKQor
eworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBj
cmVhdGVXcmFwcGVyPEpTVGVzdE9iaj4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBUZXN0T2JqKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRleCA3NzRjNzE0
OWFkNWVmMmIyNWMyMjAwMDZiMDEzYWRkMzdlZDk1Y2E1Li4wYmM3ZmM2YTEyYmJkMjg0NTdjODZh
ZWM0OWMzZGRlZmUwNjMxNDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCkBAIC05Nyw2ICs5Nyw3IEBAIGlubGluZSBKU0M6
OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RPYmoq
KQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiwgVGVzdE9iaiopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBl
eGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0T2JqJiBpbXBsKSB7IHJl
dHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE9i
aiopOwogCiAvLyBGdW5jdGlvbnMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnMuY3BwCmluZGV4IDQ0Njk0MjRjNTFlZjEyZThhYTQ4ZjU5YzMzNmEwOTI0YjcwODEx
ZTcuLmNiNzkwYjc5NzVjZmY2MWNkYzQ0NDg5M2UxM2VmMTZlMWU1NDNhM2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKQEAgLTI2OCw2ICsyNjgsMTMg
QEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNAV2UKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pU
Vk43V2ViQ29yZTI2VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNFW107IH0KICNlbmRpZgogI2Vu
ZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKiBp
bXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KGdsb2JhbE9i
amVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMq
IGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzLmgKaW5kZXggZTUyM2ZjMTBiZjAwMGM2OTdjZjAyY2FiM2Q5ODUwMDUyZmFjODEz
Yi4uY2IzNzhkZDU3OTk0MjgwOTNmMWZmYmUyZDA4N2ZlZjIyN2IwMWQ2OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oCkBAIC04MSw2ICs4MSw3IEBAIGlubGlu
ZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRl
c3RPdmVybG9hZGVkQ29uc3RyCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqLCBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyopOwogaW5saW5l
IEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyYgaW1wbCkgeyByZXR1
cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJy
aWRlQnVpbHRpbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwCmluZGV4IDVmN2NhNjk2MTFkYjdjMDYyZTlmZTFm
ZTRmMGZmYWFkNmZiNjcwYzEuLjJiYmE3MDIzYjViZGNkODdiNzRjNTUzYmNlNDVhYTViODYwOTI1
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHAKQEAgLTI0Myw2ICsyNDMs
MTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183
VGVzdE92ZXJyaWRlQnVpbHRpbnNAV2ViQ29yZUAKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCog
X1pUVk43V2ViQ29yZTIwVGVzdE92ZXJyaWRlQnVpbHRpbnNFW107IH0KICNlbmRpZgogI2VuZGlm
CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RPdmVycmlkZUJ1aWx0aW5zKiBpbXBsKQorewor
ICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVh
dGVXcmFwcGVyPEpTVGVzdE92ZXJyaWRlQnVpbHRpbnM+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9
CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgVGVzdE92ZXJyaWRlQnVpbHRpbnMqIGltcGwpCiB7CiAgICAgaWYgKCFp
bXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmgKaW5kZXggMDQ0OTJhYTllY2M2YTVi
ZTY4ODU5ZDMwODY5ODc1YjU0ZGNkODY3OC4uYmY3NjkyMGRkZWFjZWVmYjg5NzRjMmQwOTQzMmU5
ZDBmYTM2MmJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5oCkBAIC04Nyw2ICs4
Nyw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBw
ZXJXb3JsZCYsIFRlc3RPdmVycmlkZUJ1aWx0aW5zCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0T3ZlcnJpZGVCdWlsdGlucyopOwog
aW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0T3ZlcnJpZGVCdWlsdGlucyYgaW1wbCkgeyByZXR1
cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RPdmVy
cmlkZUJ1aWx0aW5zKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRleCBm
MWI2NGQyY2I2YmVjNDk1MjNjMGU1OTJjNTQwNzJiZDVjYzNjMzFiLi5mZDZiYTlkMmQ0YWUxMzY4
M2FiZjg5YTM4ZmRjYTkzOGJjNjNjMDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMzMzLDYgKzMzMywxMyBAQCBl
eHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZQogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdX
ZWJDb3JlMzRUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlRVtdOyB9CiAjZW5kaWYK
ICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVs
bCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaApp
bmRleCA2NDIxZDIzMGI1NjQ0NTAwMDk0NTA1MmQ5MTk5NjRhYzRhNWMyMjIyLi5hZTQ0NThlODhm
MWI4Nzk0NDM5NjVhYWY4YjVmYjY3Mzg4ZGM0MjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC04Nyw2ICs4Nyw3IEBAIGlu
bGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYs
IFRlc3RTZXJpYWxpemVkU2NyaXB0CiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
Kik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0K
K0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKik7CiAKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKaW5kZXggZjBlYTI4M2ZhMTIy
YmYzYmI2MTdmYzZhMmE0MzRlMDA4NWI2OTg5Zi4uY2UxZWZiODIzMDgwMTgwNGVjMjc1ODMyMTI1
ZDg1OTAwNTM0NDM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCkBAIC03NDIsNiArNzQyLDEzIEBA
IGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RU
eXBlZGVmc0BXZWJDb3JlQEA2QkAiKVtdCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZO
N1dlYkNvcmUxMlRlc3RUeXBlZGVmc0VbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdFR5cGVkZWZzKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAg
ICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTVGVzdFR5cGVk
ZWZzPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4
ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RUeXBlZGVmcyog
aW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oCmluZGV4IDZiMTgzYTliOWEw
NTA5NzgzZGI3MTdjMzJiYTc1OTFmODZlNDljNmQuLjdjM2I1YzQ2MGU3ZWFjYTFhOGY3NDRiYWFk
MzUyMDgwNzljM2Q3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oCkBAIC04NCw2ICs4NCw3IEBAIGlubGlu
ZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRl
c3RUeXBlZGVmcyopCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCBUZXN0VHlwZWRlZnMqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVz
dFR5cGVkZWZzJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwp
OyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiwgVGVzdFR5cGVkZWZzKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
YXR0cmlidXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U2F0dHJpYnV0ZS5jcHAKaW5kZXggOTgzMTUzZWEzYzY1YjFkZDVhZTBiN2Q0NjA3NDEzMjAyMDMy
YWMxNi4uZDhiYzIyNjY4NmJmN2Y5YzE0NDc2ZDA1Mzg5NzViODE3MGIxMTVjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1
dGUuY3BwCkBAIC0xOTUsNiArMTk1LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNv
bnN0IF9faWRlbnRpZmllcigiPz9fN2F0dHJpYnV0ZUBXZWJDb3JlQEA2QkAiKVtdKSgpCiBleHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmU5YXR0cmlidXRlRVtdOyB9CiAjZW5k
aWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBhdHRyaWJ1dGUqIGltcGwpCit7Cisg
ICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0
ZVdyYXBwZXI8SlNhdHRyaWJ1dGU+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNW
YWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgYXR0cmlidXRlKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmgKaW5kZXggYjc2
OWU5ZGFiMjJhZWE0Yjg1YzdjMDNiOWU2NDg4ZjllNWJjZWI1MS4uNjE1ZTkwYTJmMTZjMDY0NWVk
M2Q3ZWRiNzgzNmE4ZjQ1M2JmOWQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmgKQEAgLTgyLDYgKzgyLDcgQEAgaW5s
aW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwg
YXR0cmlidXRlKikKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCosIGF0dHJpYnV0ZSopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBhdHRyaWJ1
dGUmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqLCBhdHRyaWJ1dGUqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5j
cHAKaW5kZXggMjA3YzBiNWVhMjM1YTdlOTM5NGZiYzhiYjNjYjYwZGQ4NzJmN2E2NC4uN2UwZmQ1
NmJlMjhjZjdhZDcxYmRhNjFlMDdjYjNlNWYzODJmOGJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcApAQCAtMTY2
LDYgKzE2NiwxMyBAQCB2b2lkIEpTcmVhZG9ubHlPd25lcjo6ZmluYWxpemUoSlNDOjpKU0NlbGwq
JiBjZWxsLCB2b2lkKiBjb250ZXh0KQogICAgIHVuY2FjaGVXcmFwcGVyKHdvcmxkLCAmd3JhcHBl
ci5pbXBsKCksICZ3cmFwcGVyKTsKIH0KIAorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCByZWFkb25s
eSogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAg
ICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU3JlYWRvbmx5PihnbG9iYWxPYmplY3QsIGltcGwpOwor
fQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIHJlYWRvbmx5KiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5o
CmluZGV4IGQwZTE4ODhjODNjNmE1NmM1ZTE3ODM1MjBhNTZjYjI3MDMyYzZiMmMuLmVjMjNhMmU5
MzRkMDllZjVmYTFkNDkxMTAwMjhkMmFlYTFhNDJhZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaApAQCAtODEsNiArODEs
NyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVy
V29ybGQmLCByZWFkb25seSopCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqLCByZWFkb25seSopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBy
ZWFkb25seSYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsg
fQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCosIHJlYWRvbmx5Kik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKaW5kZXggM2QwYTMzZDM5ZmQwNzI1
NGJjNWY5OTM1YmZhZTY4YWU4MDFiNDQwYi4uN2ZlNGJmZjk4NjlkMzdiODk1MTI2NTQzYjMwZDQy
NTUyZTM1NjNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0
aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCkBA
IC0zMCwxMCArMzAsMTAgQEAKIAogICAgIC8vIERPTSBMZXZlbCAyCiAKLSAgICBbT2JqQ0xlZ2Fj
eVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIERvY3VtZW50VHlwZSBjcmVhdGVE
b2N1bWVudFR5cGUoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVs
bFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBxdWFsaWZpZWRO
YW1lLAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwg
TmV3T2JqZWN0XSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRUeXBlKFtUcmVhdE51bGxBcz1O
dWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBU
cmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBE
T01TdHJpbmcgcHVibGljSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1O
dWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHN5c3RlbUlk
KTsKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIERv
Y3VtZW50IGNyZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVu
ZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgCisgICAgW09iakNMZWdh
Y3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIERvY3VtZW50
IGNyZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5l
ZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgRGVmYXVsdD1V
bmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywg
RGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERvY3VtZW50VHlwZSBkb2N0eXBlKTsKIApAQCAt
NDQsNiArNDQsNiBAQAogCiAgICAgLy8gSFRNTERPTUltcGxlbWVudGF0aW9uIGludGVyZmFjZSBm
cm9tIERPTSBMZXZlbCAyIEhUTUwKIAotICAgIEhUTUxEb2N1bWVudCBjcmVhdGVIVE1MRG9jdW1l
bnQoW0RlZmF1bHQ9TnVsbFN0cmluZ10gb3B0aW9uYWwgRE9NU3RyaW5nIHRpdGxlKTsKKyAgICBb
TmV3T2JqZWN0XSBIVE1MRG9jdW1lbnQgY3JlYXRlSFRNTERvY3VtZW50KFtEZWZhdWx0PU51bGxT
dHJpbmddIG9wdGlvbmFsIERPTVN0cmluZyB0aXRsZSk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmlkbAppbmRleCBmMzI2NDc3MjQwOGI1MTI2MTZlZGYwNjI4ZGM4MWY1Nzc1YmUyMjBjLi5lZDg5
NDZmYzVhNDk3ZWYyNDQ3OGEzYzNmOGIwYTcxOTU5MTM1MGNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5pZGwKQEAgLTMxLDE1ICszMSwxNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01JbXBs
ZW1lbnRhdGlvbiBpbXBsZW1lbnRhdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVu
dCBkb2N1bWVudEVsZW1lbnQ7CiAKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRp
b25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudChbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0
PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhZ05hbWUpOwotICAgIERvY3VtZW50RnJh
Z21lbnQgICBjcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Ci0gICAgW1JldHVybk5ld09iamVjdF0g
VGV4dCBjcmVhdGVUZXh0Tm9kZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmlu
ZyBkYXRhKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0XSBDb21tZW50IGNyZWF0ZUNvbW1lbnQoW0Rl
ZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7Ci0gICAgW1JldHVybk5l
d09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBDREFUQVNlY3Rpb24gY3JlYXRlQ0RBVEFTZWN0aW9u
KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEpOwotICAgIFtPYmpD
TGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9u
XSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKFtEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhcmdldCwKKyAgICBbTmV3T2JqZWN0
LCBSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudChbVHJlYXROdWxsQXM9TnVs
bFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhZ05hbWUpOwor
ICAgIFtOZXdPYmplY3RdIERvY3VtZW50RnJhZ21lbnQgICBjcmVhdGVEb2N1bWVudEZyYWdtZW50
KCk7CisgICAgW05ld09iamVjdF0gVGV4dCBjcmVhdGVUZXh0Tm9kZShbRGVmYXVsdD1VbmRlZmlu
ZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsKKyAgICBbTmV3T2JqZWN0XSBDb21tZW50IGNy
ZWF0ZUNvbW1lbnQoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7
CisgICAgW05ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBDREFUQVNlY3Rpb24gY3JlYXRlQ0RB
VEFTZWN0aW9uKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEpOwor
ICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhjZXB0
aW9uXSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKFtE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHRhcmdldCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEp
OwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gQXR0ciBjcmVhdGVBdHRy
aWJ1dGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7Ci0gICAg
W1JldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbnRpdHlSZWZlcmVuY2UgY3JlYXRl
RW50aXR5UmVmZXJlbmNlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5h
bWUpOworICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gQXR0ciBjcmVhdGVBdHRyaWJ1
dGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZSk7CisgICAgW05l
d09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbnRpdHlSZWZlcmVuY2UgY3JlYXRlRW50aXR5UmVm
ZXJlbmNlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwogCiAj
aWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MK
ICAgICBbSW1wbGVtZW50ZWRBcz1nZXRFbGVtZW50c0J5VGFnTmFtZUZvck9iakNdIE5vZGVMaXN0
IGdldEVsZW1lbnRzQnlUYWdOYW1lKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3Ry
aW5nIHRhZ25hbWUpOwpAQCAtNDksMTEgKzQ5LDExIEBACiAKICAgICAvLyBJbnRyb2R1Y2VkIGlu
IERPTSBMZXZlbCAyOgogCi0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0dXJu
TmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIE5vZGUgaW1wb3J0Tm9kZShbRGVmYXVsdD1VbmRl
ZmluZWRdIG9wdGlvbmFsIE5vZGUgaW1wb3J0ZWROb2RlLAorICAgIFtPYmpDTGVnYWN5VW5uYW1l
ZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBOb2RlIGltcG9ydE5vZGUo
W0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBOb2RlIGltcG9ydGVkTm9kZSwKICAgICAgICAg
ICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBkZWVwKTsKLSAgICBbT2JqQ0xlZ2FjeVVubmFt
ZWRQYXJhbWV0ZXJzLCBSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRWxlbWVudCBj
cmVhdGVFbGVtZW50TlMoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRd
IG9wdGlvbmFsIERPTVN0cmluZyBuYW1lc3BhY2VVUkksCisgICAgW09iakNMZWdhY3lVbm5hbWVk
UGFyYW1ldGVycywgTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRlRWxl
bWVudE5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25h
bCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtU
cmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJp
bmcgcXVhbGlmaWVkTmFtZSk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0
dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMoW1Ry
ZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmlu
ZyBuYW1lc3BhY2VVUkksCisgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgTmV3T2Jq
ZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMoW1RyZWF0TnVsbEFz
PU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lc3Bh
Y2VVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9
VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSk7CiAKICNpZiBkZWZp
bmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwpAQCAtODQs
MTkgKzg0LDE5IEBACiAKICAgICAvLyBET00gTGV2ZWwgMiBFdmVudHMgKERvY3VtZW50RXZlbnRz
IGludGVyZmFjZSkKIAotICAgIFtSYWlzZXNFeGNlcHRpb25dIEV2ZW50ICAgICAgICAgICAgICBj
cmVhdGVFdmVudChbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBldmVudFR5
cGUpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRXZlbnQgICAgICAgICAgICAg
IGNyZWF0ZUV2ZW50KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGV2ZW50
VHlwZSk7CiAKICAgICAvLyBET00gTGV2ZWwgMiBUcmFudmVyc2FsIGFuZCBSYW5nZSAoRG9jdW1l
bnRSYW5nZSBpbnRlcmZhY2UpCiAKLSAgICBSYW5nZSAgICAgICAgICAgICAgY3JlYXRlUmFuZ2Uo
KTsKKyAgICBbTmV3T2JqZWN0XSBSYW5nZSAgICAgICAgICAgICAgY3JlYXRlUmFuZ2UoKTsKIAog
ICAgIC8vIERPTSBMZXZlbCAyIFRyYW52ZXJzYWwgYW5kIFJhbmdlIChEb2N1bWVudFRyYXZlcnNh
bCBpbnRlcmZhY2UpCiAKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNF
eGNlcHRpb25dIE5vZGVJdGVyYXRvciBjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSByb290LAorICAg
IFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0
XSBOb2RlSXRlcmF0b3IgY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9vdCwKICAgICAgICAgb3B0
aW9uYWwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LAogICAgICAgICBvcHRpb25hbCBOb2RlRmls
dGVyPyBmaWx0ZXIsCiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZXhwYW5kRW50aXR5UmVmZXJl
bmNlcyk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9u
XSBUcmVlV2Fsa2VyIGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSByb290LAorICAgIFtPYmpDTGVnYWN5
VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBUcmVlV2Fsa2Vy
IGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSByb290LAogICAgICAgICBvcHRpb25hbCB1bnNpZ25lZCBs
b25nIHdoYXRUb1Nob3csCiAgICAgICAgIG9wdGlvbmFsIE5vZGVGaWx0ZXI/IGZpbHRlciwKICAg
ICAgICAgb3B0aW9uYWwgYm9vbGVhbiBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKTsKQEAgLTI1NSw3
ICsyNTUsNyBAQAogI2lmIGRlZmluZWQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICYmIEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTCiAjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0RvY3VtZW50SU9T
LmlkbD4KICNlbGlmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RPVUNI
X0VWRU5UUwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gVG91Y2ggY3Jl
YXRlVG91Y2goW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01XaW5kb3cgd2luZG93LAor
ICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gVG91Y2ggY3JlYXRlVG91Y2goW0RlZmF1
bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01XaW5kb3cgd2luZG93LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRd
IG9wdGlvbmFsIEV2ZW50VGFyZ2V0IHRhcmdldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBs
b25nIGlkZW50aWZpZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgbG9uZyBwYWdlWCwKQEAg
LTI2Niw3ICsyNjYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGxvbmcgd2Via2l0UmFk
aXVzWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2Via2l0
Um90YXRpb25BbmdsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxv
YXQgd2Via2l0Rm9yY2UpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIEN1c3RvbSwgUmFpc2VzRXhj
ZXB0aW9uXSBUb3VjaExpc3QgY3JlYXRlVG91Y2hMaXN0KCk7CisgICAgW05ld09iamVjdCwgQ3Vz
dG9tLCBSYWlzZXNFeGNlcHRpb25dIFRvdWNoTGlzdCBjcmVhdGVUb3VjaExpc3QoKTsKICNlbmRp
ZgogCiAgICAgLy8gUGFnZSB2aXNpYmlsaXR5IEFQSS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbAppbmRleCA2MmQ3
MDAzMTY3NjE1ZGM4MzcyZDkxODczYTkyN2RjNDFiNzkzZjU1Li5mYTQ4NzFiYzlkY2JhYWJhMjUw
OWY4MzdlZGExMmQyMjk3YTVmM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCkBAIC02OCw3ICs2OCw3IEBA
CiAgICAgW0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBOb2RlIGFwcGVuZENoaWxkKFtDdXN0b21S
ZXR1cm5dIE5vZGUgbmV3Q2hpbGQpOwogCiAgICAgYm9vbGVhbiAgICAgICAgICAgIGhhc0NoaWxk
Tm9kZXMoKTsKLSAgICBOb2RlICAgICAgICAgICAgICAgY2xvbmVOb2RlKFtEZWZhdWx0PVVuZGVm
aW5lZF0gb3B0aW9uYWwgYm9vbGVhbiBkZWVwKTsKKyAgICBbTmV3T2JqZWN0XSBOb2RlIGNsb25l
Tm9kZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGJvb2xlYW4gZGVlcCk7CiAgICAgdm9p
ZCAgICAgICAgICAgICAgIG5vcm1hbGl6ZSgpOwogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00g
TGV2ZWwgMjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbAppbmRleCBjNjJmYzc0YTk3YWYxOWFh
NzQ4NTVjYjRkNTUzOTI3NGEyMDJhYjllLi5iYmVmNDViMzcyMThjNWQ4NzFmMDUzZmIxMzEzZTAx
NzNkMmY5YzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUGFyZW50Tm9kZS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5vZGUuaWRsCkBAIC00MSw1ICs0MSw1IEBA
CiAgICAgLy8gW1Vuc2NvcGVhYmxlXSBFbGVtZW50PyBxdWVyeShET01TdHJpbmcgcmVsYXRpdmVT
ZWxlY3RvcnMpOwogICAgIC8vIFtOZXdPYmplY3QsIFVuc2NvcGVhYmxlXSBFbGVtZW50cyBxdWVy
eUFsbChET01TdHJpbmcgcmVsYXRpdmVTZWxlY3RvcnMpOwogICAgIFtSYWlzZXNFeGNlcHRpb25d
IEVsZW1lbnQgcXVlcnlTZWxlY3RvcihET01TdHJpbmcgc2VsZWN0b3JzKTsKLSAgICBbUmFpc2Vz
RXhjZXB0aW9uXSBOb2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZyBzZWxlY3RvcnMp
OworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gTm9kZUxpc3QgcXVlcnlTZWxlY3Rv
ckFsbChET01TdHJpbmcgc2VsZWN0b3JzKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vUmFuZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbAppbmRleCBiZWUw
NDgzYzlhYzMxNjc4YzJjNzY1ZDdmNzBlMzkzMjNmYzU4YTg3Li5kYzhhZWQ0NjlhMmZmYzZhMGQ3
NDM4MWY1NmUzOTIzZTFmNzNmZTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFu
Z2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5pZGwKQEAgLTUzLDExICs1Mywx
MSBAQAogICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwg
SW1wbGVtZW50ZWRBcz1jb21wYXJlQm91bmRhcnlQb2ludHNGb3JCaW5kaW5nc10gc2hvcnQgY29t
cGFyZUJvdW5kYXJ5UG9pbnRzKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQg
c2hvcnQgaG93LCBSYW5nZSBzb3VyY2VSYW5nZSk7CiAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2
b2lkIGRlbGV0ZUNvbnRlbnRzKCk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gRG9jdW1lbnRGcmFn
bWVudCBleHRyYWN0Q29udGVudHMoKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBEb2N1bWVudEZy
YWdtZW50IGNsb25lQ29udGVudHMoKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3Rd
IERvY3VtZW50RnJhZ21lbnQgZXh0cmFjdENvbnRlbnRzKCk7CisgICAgW1JhaXNlc0V4Y2VwdGlv
biwgTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdtZW50IGNsb25lQ29udGVudHMoKTsKICAgICBbUmFp
c2VzRXhjZXB0aW9uXSB2b2lkIGluc2VydE5vZGUoTm9kZSBuZXdOb2RlKTsKICAgICBbUmFpc2Vz
RXhjZXB0aW9uXSB2b2lkIHN1cnJvdW5kQ29udGVudHMoTm9kZSBuZXdQYXJlbnQpOwotICAgIFJh
bmdlIGNsb25lUmFuZ2UoKTsKKyAgICBbTmV3T2JqZWN0XSBSYW5nZSBjbG9uZVJhbmdlKCk7CiAg
ICAgRE9NU3RyaW5nIHRvU3RyaW5nKCk7CiAKICAgICB2b2lkIGRldGFjaCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHQu
aWRsCmluZGV4IDlkZjgyYTJhNjM0NzczNzQ1YTdmZmFlMDBlNThmN2U2ZjUyYjMxOTYuLjk2YjRh
NDM2N2VkMzM4NTE4MzBkN2QyNTVkNzJmZjQ5OWIxNDEwOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5pZGwKQEAg
LTIzLDcgKzIzLDcgQEAKIAogICAgIC8vIERPTSBMZXZlbCAxCiAKLSAgICBbUmFpc2VzRXhjZXB0
aW9uXSBUZXh0IHNwbGl0VGV4dCh1bnNpZ25lZCBsb25nIG9mZnNldCk7CisgICAgW1JhaXNlc0V4
Y2VwdGlvbiwgTmV3T2JqZWN0XSBUZXh0IHNwbGl0VGV4dCh1bnNpZ25lZCBsb25nIG9mZnNldCk7
CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAzOgogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgICAgICAgd2hvbGVUZXh0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261287</attachid>
            <date>2015-09-15 19:54:14 -0700</date>
            <delta_ts>2015-09-15 19:55:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149192-20150915195401.patch</filename>
            <type>text/plain</type>
            <size>77610</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjJhMTg5OTIyMWU2NWJk
YmE5NjNjNDU5MTZiZDcxN2JhZjUwM2ZlMC4uODBhMmNhNDFkZGZjYTY2M2JjMGQ4Nzg2OGZkMjg0
ZWI3ZDhmMDg4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE1LTA5LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViSURMOiBSZW5hbWUgW1Jl
dHVybk5ld09iamVjdF0gdG8gW05ld09iamVjdF0gYW5kIHVzZSBpdCBtb3JlIGNvbnNpc3RlbnRs
eSBpbiBET00KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0OTE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZSBbUmV0dXJuTmV3T2JqZWN0XSB0byBbTmV3T2JqZWN0XSBhbmQgdXNlIGl0IG1vcmUg
Y29uc2lzdGVudGx5IGluCisgICAgICAgIERPTS4KKworICAgICAgICBUaGlzIGFsaWducyBvdXIg
SURMIGV4dGVuZGVkIGF0dHJpYnV0ZSBuYW1pbmcgd2l0aCBzdGFuZGFyZCBXZWIgSURMOgorICAg
ICAgICBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNOZXdPYmplY3QKKworICAgICAg
ICBXZSBhbHJlYWR5IGhhdmUgW1JldHVybk5ld09iamVjdF0gaW4gbW9zdCBwbGFjZXMgdGhhdCB0
aGUgRE9NCisgICAgICAgIHNwZWNpZmljYXRpb24gdXNlcyBbTmV3T2JqZWN0XSBidXQgd2UgYXJl
IG1pc3NpbmcgYSBmZXcgc28gSSdsbAorICAgICAgICBmaXggdGhpcyBhcyB3ZWxsOgorICAgICAg
ICBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1kb2N1bWVudAorCisgICAg
ICAgIFVzaW5nIFtOZXdPYmplY3RdIGxldHMgdGhlIGJpbmRpbmdzIGdlbmVyYXRvciBrbm93IHRo
YXQgdGhlIEFQSSBpbgorICAgICAgICBxdWVzdGlvbiBhbHdheXMgcmV0dXJucyBuZXcgb2JqZWN0
cyBhbmQgdGhhdCB3ZSBjYW4gYnlwYXNzIHRoZSBjaGVjaworICAgICAgICBmb3IgZXhpc3Rpbmcg
d3JhcHBlcnMgYW5kIGRpcmVjdGx5IGNyZWF0ZSBhIG5ldyB3cmFwcGVyIGZvciB0aGUKKyAgICAg
ICAgcmV0dXJuZWQgb2JqZWN0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIHN1cHBv
cnQgZm9yIGdlbmVyYXRpbmcgdGhlIHRvSlNOZXdseUNyZWF0ZWQoKQorICAgICAgICB1dGlsaXR5
IGZ1bmN0aW9uIGZvciBtb3N0IHR5cGVzLiBQcmV2aW91c2x5LCB0byB1c2UgW1JldHVybk5ld09i
amVjdF0KKyAgICAgICAgZm9yIGEgbmV3IHR5cGUsIHlvdSBuZWVkZWQgdG8gYWRkIHRoZSB0eXBl
IHRvIGEgaGFyZC1jb2RlZCBsaXN0IGluCisgICAgICAgIHRoZSBiaW5kaW5ncyBnZW5lcmF0b3Ig
dGhlbiBwcm92aWRlIHlvdXIgb3duIGltcGxlbWVudGF0aW9uIGZvcgorICAgICAgICB0b0pTTmV3
bHlDcmVhdGVkKCkgYXMgY3VzdG9tIGJpbmRpbmdzLgorCisgICAgICAgIE5vIG5ldy1leHBvc2Vk
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRWxlbWVudEN1c3RvbS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdl
bmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAg
ICAoTmF0aXZlVG9KU1ZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJp
YnV0ZXMudHh0OgorICAgICAgICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGw6CisgICAgICAg
ICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vTm9kZS5pZGw6CisgICAgICAgICog
ZG9tL1BhcmVudE5vZGUuaWRsOgorICAgICAgICAqIGRvbS9SYW5nZS5pZGw6CisgICAgICAgICog
ZG9tL1RleHQuaWRsOgorCiAyMDE1LTA5LTE1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIFtXaW5dIFVucmV2aWV3ZWQgcmVsZWFzZSBmaXggYWZ0ZXIgcjE4
OTgzMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0MjgxZWRkY2FkNzQyMTUxNDM5N2ZjODY2MmYz
YjE4YTRlMDVkYjM1Li5lYWJmYjhhMmJiZjkxNzgxZTU1NzJiNDFmOGExZTk0OWNmZTBhNjliIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTA4NSw3ICsxMDg1LDYgQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogICAgIGJpbmRpbmdzL2pzL0pTQXVkaW9UcmFja0xpc3RDdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNCaXF1YWRGaWx0ZXJOb2RlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
QmxvYkN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlND
U1NSdWxlTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRp
b25DdXN0b20uY3BwCkBAIC0xMjAwLDEyICsxMTk5LDkgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIGJpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U1N0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRv
Q3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU1RleHRUcmFja0N1ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RleHRUcmFj
a0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RleHRUcmFja0xpc3RDdXN0b20uY3BwCi0g
ICAgYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU1RvdWNo
TGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RyZWVX
YWxrZXJDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvagppbmRleCAwNzMzYTRmZWRjYjU4MmRlNDllNjYzNGNhMDMxNGVlMjA5MTc0Njhm
Li44YTEzZDdkZTU1M2FiMDlmMjZiOWJjOTBjMjdmZDc2ZTQ1Zjg3NzE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE3NDYxLDIwICsx
NzQ2MSw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmlu
ZGluZ3NcanNcSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9t
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0x
ODcwNywyMCArMTg2OTMsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVGV4dEN1c3RvbS5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fp
cm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCI+
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMjg0NCw0
ICsyMjgxNiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAg
ICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNc
bWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA4ODRlMWUyZTJl
YjQyMDZkYTc2Nzg4MmVmMWY0OTI3MWE4N2Q5OWZmLi4yZWRlOTVmYjZkNjA0N2RiMmJjZTFhYzQ2
MmM4OWE0YTQxNzdlY2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00MjM2LDkgKzQyMzYsNiBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNDYW52YXNSZW5kZXJpbmdDb250
ZXh0Q3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NE
QVRBU2VjdGlvbkN1c3RvbS5jcHAiPgotICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVy
PgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3Nc
anNcSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0b20uY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGlu
Z3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ0NDksOSArNDQ0Niw2IEBACiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1NWR1BhdGhTZWdDdXN0b20u
Y3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVGV4dEN1c3RvbS5j
cHAiPgotICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUcmVlV2Fsa2VyQ3Vz
dG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+CkBAIC0xNTQ1Niw0ICsxNTQ1MCw0IEBACiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXHdp
bjwvRmlsdGVyPgogICAgIDwvTUFTTT4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA4YTE5YWJlMjUwMzQ1MGU3
MmQ5OTBhYTMxYTJhNjM0MTI4MjRkYjkuLjQ1YzIwMDQwMmM1YjcyNDc3Y2RjNTNiY2M4ZDNjMDI0
ZmM3YWExZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTY5MCw3ICs2OTAsNiBAQAogCQkxQTJBNjgyNDBCNUJFREU3MDAwMkE0
ODAgLyogUHJvZ3Jlc3NUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTJBNjgyMjBCNUJFREU3MDAwMkE0ODAgLyogUHJvZ3Jlc3NUcmFja2Vy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEy
QUFDNTgwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkFBQzU2MERDMkEz
QjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgKi87IH07CiAJCTFBMkFB
QzU5MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQUFDNTcwREMyQTNCMTAw
QTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUEyQzQwQUIwREVCNTVBQTAwNUFGMTlFIC8q
IEpTVGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9tLmNwcCAqLzsg
fTsKIAkJMUEyRTZFNTkwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTU3MENDNTUyMTMwMDRB
MjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi87IH07CiAJCTFBMkU2RTVBMENDNTUyMTMwMDRBMjA2MiAv
KiBTUUxWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUEyRTZFNTgwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyRTZFN0EwQ0M1NTZENTAwNEEy
MDYyIC8qIFNRTGl0ZUF1dGhvcml6ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUEyRTZFNzgwQ0M1NTZENTAwNEEyMDYyIC8qIFNRTGl0ZUF1dGhv
cml6ZXIuY3BwICovOyB9OwpAQCAtMzUwNyw3ICszNTA2LDYgQEAKIAkJOTNCNzBENkYwOUVCMEM3
QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCNzBENTMwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlw
dENvbnRyb2xsZXIuY3BwICovOyB9OwogCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0NjggLyogU2Ny
aXB0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCNzBENTQwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0I3N0EzODBB
REQ3OTI1MDBFQTRCODEgLyogRnJhbWVMb2FkZXJUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCNzdBMzcwQURENzkyNTAwRUE0QjgxIC8qIEZy
YW1lTG9hZGVyVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQk5M0JBNTlCMjBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNlY3Rpb25DdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
QTU5QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCAqLzsgfTsK
IAkJOTNDMDlBNTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNDMDlBNTIwQjA2NERCMzAwNUFC
RDREIC8qIEV2ZW50SGFuZGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTkzQzA5QTdGMEIwNjRFRUYwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXJN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Mw
OUE3RTBCMDY0RUVGMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyTWFjLm1tICovOyB9OwogCQk5M0Mw
OUE4MTBCMDY0RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQzA5QTgwMEIwNjRGMDAwMDVBQkQ0RCAv
KiBFdmVudEhhbmRsZXIuY3BwICovOyB9OwpAQCAtNzg2Miw3ICs3ODYwLDYgQEAKIAkJMUEyQTY4
MjIwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUHJvZ3Jlc3NUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBMkFBQzU2MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3Rv
cmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkFBQzU3
MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVGV4dEN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkU2RTU3MENDNTUyMTMw
MDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTUUxWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkU2RTU4
MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTUUxWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTJFNkU3
ODBDQzU1NkQ1MDA0QTIwNjIgLyogU1FMaXRlQXV0aG9yaXplci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTUUxpdGVBdXRob3JpemVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTEwODc5LDcgKzEwODc2LDYgQEAKIAkJOTNCNzBENTMwOUVCMEM3
QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNjcmlwdENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0I3MEQ1NDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q29udHJvbGxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0I3N0EzNzBBREQ3OTI1MDBFQTRCODEgLyog
RnJhbWVMb2FkZXJUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGcmFt
ZUxvYWRlclR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzQkE1OUIxMEYy
QUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQzA5QTUyMEIwNjREQjMwMDVBQkQ0RCAvKiBFdmVudEhh
bmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRIYW5kbGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQzA5QTdFMEIwNjRFRUYwMDVBQkQ0RCAv
KiBFdmVudEhhbmRsZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBFdmVudEhhbmRsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkz
QzA5QTgwMEIwNjRGMDAwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRIYW5kbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTIxNTY3LDcgKzIxNTYzLDYgQEAKIAkJCQk4OTMxREU1QTE0QzQ0QzQ0
MDAwREM5RDIgLyogSlNCbG9iQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUVFRDE0QjEwNTE5NzE5MDAw
OTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwICovLAogCQkJCTQ5
RUVEMTREMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwICovLAotCQkJCTkzQkE1OUIxMEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1
c3RvbS5jcHAgKi8sCiAJCQkJN0MzM0YzNTgxQjRBMDQ0ODAwNTAyQ0FGIC8qIEpTQ2hhcmFjdGVy
RGF0YUN1c3RvbS5jcHAgKi8sCiAJCQkJQTU4NEZFMzcxODY0REFDMTAwODQzQjEwIC8qIEpTQ29t
bWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcCAqLywKIAkJCQkxNDhCNEZGNzFCNjkwNDIxMDBDOTU0
RTQgLyogSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAgKi8sCkBAIC0yMTY2Myw3ICsy
MTY1OCw2IEBACiAJCQkJRTFGRjhGNjYxODA3NDYwODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRv
Q3VzdG9tLmNwcCAqLywKIAkJCQkwOEU0RkU0NTBFMkJENDE0MDBGNENBRTAgLyogSlNTVkdMZW5n
dGhDdXN0b20uY3BwICovLAogCQkJCUIyQzk2RDhDMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1Bh
dGhTZWdDdXN0b20uY3BwICovLAotCQkJCTFBMkM0MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1Rl
eHRDdXN0b20uY3BwICovLAogCQkJCTA3RTExNzA2MTQ4OUVCRUIwMEVDNUFDRSAvKiBKU1RleHRU
cmFja0N1ZUN1c3RvbS5jcHAgKi8sCiAJCQkJMDdFMTE2QjAxNDg5QzlBMTAwRUM1QUNFIC8qIEpT
VGV4dFRyYWNrQ3VzdG9tLmNwcCAqLywKIAkJCQkwN0I1QTMwQzE0Njg3RDcxMDBBODFFQ0UgLyog
SlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCAqLywKQEAgLTI4OTg5LDcgKzI4OTgzLDYgQEAKIAkJ
CQk0OUVFRDE1MDEwNTE5NzFBMDAwOTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3M0FCNEI3MTdGOTJFQ0YwMDZFMEQ2RiAvKiBK
U0NhcGFiaWxpdHlSYW5nZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0Y5QjdBMDBCQTYwMzI2
MDA4NTQwNjQgLyogSlNDREFUQVNlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTNCQTU5
QjIwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUZEQTE1RUExMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0NoYW5uZWxNZXJnZXJOb2Rl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1RUEzMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0No
YW5uZWxTcGxpdHRlck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMxRjMwOUQxQ0M2
MDAwMEJFMzI1IC8qIEpTQ2hhcmFjdGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5NTUz
LDcgKzI5NTQ2LDYgQEAKIAkJCQk3MURDQjcwMTE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29t
QW5kUGFuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzRTE4MEFCNzVBNkYwMDBFNUFDNCAv
KiBKU1NWR1pvb21FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzIwMzA5RDFDQzYw
MDAwQkUzMjUgLyogSlNUZXh0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFBMkM0MEFCMERFQjU1
QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzQTE0
QjgwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDRUY0NUY1MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTA3MDc1Njk0MTQyMjY2OEQwMDQxNDE2MSAvKiBKU1RleHRUcmFjay5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmlu
ZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdz
QWxsSW5PbmUuY3BwCmluZGV4IGI1YzVmZjJlNTYwMDVmN2NmMzYwMzc0NDhkNTlhNmVlYjNiYTVk
MDIuLjAxNmVmYjBjNTc3NGY2YjY1OWQzMGZkZTRhOWY4Yjc5ZTQxZjUxYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcApAQCAtMzQs
NyArMzQsNiBAQAogI2luY2x1ZGUgIkpTQXVkaW9UcmFja0N1c3RvbS5jcHAiCiAjaW5jbHVkZSAi
SlNBdWRpb1RyYWNrTGlzdEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNCbG9iQ3VzdG9tLmNwcCIK
LSNpbmNsdWRlICJKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAiCiAjaWYgRU5BQkxFKFNUUkVBTVNf
QVBJKQogI2luY2x1ZGUgIkpTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwIgogI2VuZGlm
CkBAIC0xMzMsMTIgKzEzMiw5IEBACiAjaW5jbHVkZSAiSlNTdG9yYWdlQ3VzdG9tLmNwcCIKICNp
bmNsdWRlICJKU1N0eWxlU2hlZXRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTU3R5bGVTaGVldExp
c3RDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVGV4dEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNU
ZXh0VHJhY2tDdWVDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrQ3VzdG9tLmNwcCIK
ICNpbmNsdWRlICJKU1RleHRUcmFja0xpc3RDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVG91Y2hD
dXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVG91Y2hMaXN0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJK
U1RyYWNrQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RyYWNrRXZlbnRDdXN0b20uY3BwIgogI2lu
Y2x1ZGUgIkpTVHJlZVdhbGtlckN1c3RvbS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk3MDkxZGFiZDk5YjlhNmM5NzM4ZDIwNjFjOGVmZTNlOWZiNDYxMWMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSlNDREFUQVNlY3Rpb24uaCIK
LQotI2luY2x1ZGUgIkNEQVRBU2VjdGlvbi5oIgotCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDREFUQVNlY3Rpb24qIHNlY3Rpb24p
Ci17Ci0gICAgaWYgKCFzZWN0aW9uKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0KLSAgICBy
ZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgQ0RBVEFTZWN0aW9uLCBzZWN0
aW9uKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAppbmRleCA3MGNjZGFmZjQwMWU4Y2I0Y2Uy
NDExYTBmNzhjNjQ4OGFjZDUzYWJhLi5hYjg4NzliZjJmNTAzODg5MzcxYjJmOTBlODdhNjZmY2Fj
ZTg3MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3Vz
dG9tLmNwcApAQCAtNzksNiArNzksMzEgQEAgdm9pZCBKU0RvY3VtZW50OjpzZXRMb2NhdGlvbihF
eGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUpCiAgICAgICAgIGxvY2F0aW9uLT5zZXRIcmVm
KGxvY2F0aW9uU3RyaW5nLCBhY3RpdmVET01XaW5kb3coZXhlYyksIGZpcnN0RE9NV2luZG93KGV4
ZWMpKTsKIH0KIAorc3RhdGljIGlubGluZSBKU1ZhbHVlIGNyZWF0ZU5ld0RvY3VtZW50V3JhcHBl
cihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERvY3Vt
ZW50JiBkb2N1bWVudCkKK3sKKyAgICBKU09iamVjdCogd3JhcHBlcjsKKyAgICBpZiAoZG9jdW1l
bnQuaXNIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBF
UihnbG9iYWxPYmplY3QsIEhUTUxEb2N1bWVudCwgJmRvY3VtZW50KTsKKyAgICBlbHNlIGlmIChk
b2N1bWVudC5pc1NWR0RvY3VtZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dS
QVBQRVIoZ2xvYmFsT2JqZWN0LCBTVkdEb2N1bWVudCwgJmRvY3VtZW50KTsKKyAgICBlbHNlCisg
ICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBEb2N1bWVu
dCwgJmRvY3VtZW50KTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgZG9jdW1lbnQgaXMga2VwdCBh
cm91bmQgYnkgdGhlIHdpbmRvdyBvYmplY3QsIGFuZCB3b3JrcyByaWdodCB3aXRoIHRoZQorICAg
IC8vIGJhY2svZm9yd2FyZCBjYWNoZS4KKyAgICBpZiAoIWRvY3VtZW50LmZyYW1lKCkpIHsKKyAg
ICAgICAgc2l6ZV90IG5vZGVDb3VudCA9IDA7CisgICAgICAgIGZvciAoTm9kZSogbiA9ICZkb2N1
bWVudDsgbjsgbiA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoKm4pKQorICAgICAgICAgICAgKytub2Rl
Q291bnQ7CisKKyAgICAgICAgLy8gRklYTUU6IEFkb3B0IHJlcG9ydEV4dHJhTWVtb3J5VmlzaXRl
ZCwgYW5kIHN3aXRjaCB0byByZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZC4KKyAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjU5NQorICAgICAgICBl
eGVjLT5oZWFwKCktPmRlcHJlY2F0ZWRSZXBvcnRFeHRyYU1lbW9yeShub2RlQ291bnQgKiBzaXpl
b2YoTm9kZSkpOworICAgIH0KKworICAgIHJldHVybiB3cmFwcGVyOworfQorCiBKU1ZhbHVlIHRv
SlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBEb2N1
bWVudCogZG9jdW1lbnQpCiB7CiAgICAgaWYgKCFkb2N1bWVudCkKQEAgLTk2LDI2ICsxMjEsMTIg
QEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgRG9jdW1lbnQqIGRvY3VtZW4KICAgICAgICAgICAgIHJldHVybiB3cmFwcGVyOwog
ICAgIH0KIAotICAgIGlmIChkb2N1bWVudC0+aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEhUTUxEb2N1bWVudCwgZG9j
dW1lbnQpOwotICAgIGVsc2UgaWYgKGRvY3VtZW50LT5pc1NWR0RvY3VtZW50KCkpCi0gICAgICAg
IHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBTVkdEb2N1bWVudCwg
ZG9jdW1lbnQpOwotICAgIGVsc2UKLSAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBF
UihnbG9iYWxPYmplY3QsIERvY3VtZW50LCBkb2N1bWVudCk7Ci0KLSAgICAvLyBNYWtlIHN1cmUg
dGhlIGRvY3VtZW50IGlzIGtlcHQgYXJvdW5kIGJ5IHRoZSB3aW5kb3cgb2JqZWN0LCBhbmQgd29y
a3MgcmlnaHQgd2l0aCB0aGUKLSAgICAvLyBiYWNrL2ZvcndhcmQgY2FjaGUuCi0gICAgaWYgKCFk
b2N1bWVudC0+ZnJhbWUoKSkgewotICAgICAgICBzaXplX3Qgbm9kZUNvdW50ID0gMDsKLSAgICAg
ICAgZm9yIChOb2RlKiBuID0gZG9jdW1lbnQ7IG47IG4gPSBOb2RlVHJhdmVyc2FsOjpuZXh0KCpu
KSkKLSAgICAgICAgICAgIG5vZGVDb3VudCsrOwotICAgICAgICAKLSAgICAgICAgLy8gRklYTUU6
IEFkb3B0IHJlcG9ydEV4dHJhTWVtb3J5VmlzaXRlZCwgYW5kIHN3aXRjaCB0byByZXBvcnRFeHRy
YU1lbW9yeUFsbG9jYXRlZC4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MjU5NQotICAgICAgICBleGVjLT5oZWFwKCktPmRlcHJlY2F0ZWRSZXBv
cnRFeHRyYU1lbW9yeShub2RlQ291bnQgKiBzaXplb2YoTm9kZSkpOwotICAgIH0KKyAgICByZXR1
cm4gY3JlYXRlTmV3RG9jdW1lbnRXcmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCwgKmRvY3VtZW50
KTsKK30KIAotICAgIHJldHVybiB3cmFwcGVyOworSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4
ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRG9jdW1lbnQq
IGRvY3VtZW50KQoreworICAgIHJldHVybiBkb2N1bWVudCA/IGNyZWF0ZU5ld0RvY3VtZW50V3Jh
cHBlcihleGVjLCBnbG9iYWxPYmplY3QsICpkb2N1bWVudCkgOiBqc051bGwoKTsKIH0KIAogSlNW
YWx1ZSBKU0RvY3VtZW50OjpwcmVwZW5kKEV4ZWNTdGF0ZSogc3RhdGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5oCmluZGV4IDJhMWJhMDE4MDMyNGQwODRi
NGFjNWI2YjJjOTU3ZWRjMzlhNzk2ZjcuLjBiYzBlY2NjNjFmMDNhYTFhZjc5ZmMyNmIyMGUzNzhl
NGYyNGYxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVu
dEN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3Rv
bS5oCkBAIC0zMSw2ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCos
IEVsZW1lbnQqKTsKKwogQUxXQVlTX0lOTElORSBKU0VsZW1lbnQqIGpzRWxlbWVudENhc3QoSlND
OjpKU1ZhbHVlIHZhbHVlKQogewogICAgIGlmIChVTkxJS0VMWSghdmFsdWUuaXNDZWxsKCkpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAppbmRleCA1NTVh
ZDNmYWEzZTMwMzY0ZmYyOTlmNDAwNzIyOWIxNDJiNmIyMTlhLi40YWY2NjhlYWVlNDdkODk0OWQ4
NTk1ZDlkMjQxZTA1MzFkOWY2N2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0V2ZW50Q3VzdG9tLmNwcApAQCAtNTMsNiArNTMsMTUgQEAgSlNWYWx1ZSBKU0V2ZW50OjpjbGlw
Ym9hcmREYXRhKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKICAgICBjYXNlIGludGVyZmFjZU5hbWUj
I0ludGVyZmFjZVR5cGU6IFwKICAgICAgICAgcmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9i
YWxPYmplY3QsIGludGVyZmFjZU5hbWUsIGV2ZW50KTsKIAorc3RhdGljIGlubGluZSBKU1ZhbHVl
IGNyZWF0ZU5ld0V2ZW50V3JhcHBlcihKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBF
dmVudCYgZXZlbnQpCit7CisgICAgc3dpdGNoIChldmVudC5ldmVudEludGVyZmFjZSgpKSB7Cisg
ICAgICAgIERPTV9FVkVOVF9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9UT19XUkFQX1dJVEhfSU5U
RVJGQUNFKQorICAgIH0KKworICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2Jq
ZWN0LCBFdmVudCwgJmV2ZW50KTsKK30KKwogSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50KiBldmVudCkKIHsKICAgICBKU0xvY2tI
b2xkZXIgbG9jayhnbG9iYWxPYmplY3QtPnZtKCkpOwpAQCAtNjQsMTEgKzczLDEzIEBAIEpTVmFs
dWUgdG9KUyhFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVu
dCogZXZlbnQpCiAgICAgaWYgKHdyYXBwZXIpCiAgICAgICAgIHJldHVybiB3cmFwcGVyOwogCi0g
ICAgc3dpdGNoIChldmVudC0+ZXZlbnRJbnRlcmZhY2UoKSkgewotICAgICAgICBET01fRVZFTlRf
SU5URVJGQUNFU19GT1JfRUFDSChUUllfVE9fV1JBUF9XSVRIX0lOVEVSRkFDRSkKLSAgICB9Cisg
ICAgcmV0dXJuIGNyZWF0ZU5ld0V2ZW50V3JhcHBlcihnbG9iYWxPYmplY3QsICpldmVudCk7Cit9
CiAKLSAgICByZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgRXZlbnQsIGV2
ZW50KTsKKworSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50KiBldmVudCkKK3sKKyAgICByZXR1cm4gZXZlbnQg
PyBjcmVhdGVOZXdFdmVudFdyYXBwZXIoZ2xvYmFsT2JqZWN0LCAqZXZlbnQpIDoganNOdWxsKCk7
CiB9CiAKICN1bmRlZiBUUllfVE9fV1JBUF9XSVRIX0lOVEVSRkFDRQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcAppbmRleCA5MGQ3MWViODUzMmQ2
MTI5NjJlNmFjMmNiNDNjNjM1ZTFjZmNkNTVjLi44Y2NhMTg4YjZjNWFiZWQyMGQwMWU0MzYzOTRm
MDcyODU0NzU1YWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05v
ZGVMaXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVM
aXN0Q3VzdG9tLmNwcApAQCAtNTksNCArNTksMTIgQEAgSlNDOjpKU1ZhbHVlIGNyZWF0ZVdyYXBw
ZXIoSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgTm9kZUxpc3QmIG5vZGVMaXN0KQog
ICAgIHJldHVybiBjcmVhdGVOZXdXcmFwcGVyPEpTTm9kZUxpc3Q+KCZnbG9iYWxPYmplY3QsICZu
b2RlTGlzdCk7CiB9CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0
YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTm9kZUxpc3QqIG5vZGVMaXN0
KQoreworICAgIGlmICghbm9kZUxpc3QpCisgICAgICAgIHJldHVybiBKU0M6OmpzTnVsbCgpOwor
CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXIoKmdsb2JhbE9iamVjdCwgKm5vZGVMaXN0KTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
VGV4dEN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2OTMzYTBjNjA3
ODUyYjAyZGY4YTU5OTg3ZTkxMWI1OTdkY2UwM2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUZXh0Q3Vz
dG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkpTVGV4dC5oIgotCi0jaW5jbHVkZSAiVGV4dC5oIgotCi11c2luZyBuYW1lc3BhY2UgSlND
OwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXh0KiB0ZXh0KQotewot
ICAgIGlmICghdGV4dCkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIAotICAgIHJldHVy
biBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBUZXh0LCB0ZXh0KTsKLX0KLQotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNUb3VjaEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNo
Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTAwMjZmMmFhM2E0YWI5
ZDlhNDc4MWZlZGYwNjJlN2IxZTcyNjg0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoQ3VzdG9t
LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgMjAx
MCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmICFQTEFURk9STShJT1MpCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLQotI2luY2x1ZGUg
IkpTVG91Y2guaCIKLQotI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgotCi11c2luZyBuYW1lc3Bh
Y2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUb3VjaCogdG91
Y2gpCi17Ci0gICAgaWYgKCF0b3VjaCkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotCi0gICAg
cmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIFRvdWNoLCB0b3VjaCk7Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShUT1VDSF9FVkVO
VFMpCi0jZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOWRlZGZlODc5ZjI2YWE4Y2UxYTI3NGVkMmU3YjBmYjhmNTk3ZjJkMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QK
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiAhUExBVEZPUk0oSU9TKQotI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCi0KLSNpbmNsdWRlICJKU1RvdWNoTGlzdC5oIgotCi0jaW5jbHVkZSAiSlNET01C
aW5kaW5nLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFRvdWNoTGlzdCogdG91Y2hMaXN0KQotewotICAgIGlmICghdG91Y2hM
aXN0KQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0KLSAgICByZXR1cm4gQ1JFQVRFX0RPTV9X
UkFQUEVSKGdsb2JhbE9iamVjdCwgVG91Y2hMaXN0LCB0b3VjaExpc3QpOwotfQotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotI2VuZGlm
IC8vICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDY0NjNjY2FiNDMzZjMyMGM5MjMwYzZmODdkYjQz
Y2I5YTMxOTk4YjEuLmYyYWM0MDRiMTY1MjdkZmRmYzRkNTJmNTYzZGRlZjNmMjJiY2Q0NmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCkBAIC01MDksMTUgKzUwOSw2IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uQ29udGVu
dEhlYWRlcgogICAgIHJldHVybiBAaW1wbENvbnRlbnRIZWFkZXI7CiB9CiAKLW15ICV1c2VzVG9K
U05ld2x5Q3JlYXRlZCA9ICgKLSAgICAiQ0RBVEFTZWN0aW9uIiA9PiAxLAotICAgICJFbGVtZW50
IiA9PiAxLAotICAgICJOb2RlIiA9PiAxLAotICAgICJUZXh0IiA9PiAxLAotICAgICJUb3VjaCIg
PT4gMSwKLSAgICAiVG91Y2hMaXN0IiA9PiAxCi0pOwotCiBzdWIgU2hvdWxkR2VuZXJhdGVUb0pT
RGVjbGFyYXRpb24KIHsKICAgICBteSAoJGhhc1BhcmVudCwgJGludGVyZmFjZSkgPSBAXzsKQEAg
LTEyMTEsMTEgKzEyMDIsMTAgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAkZXhwb3J0TGFiZWwuIkpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCAkaW1wbFR5cGUqKTtcbiIpOwogICAgICAgICB9
CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMo
SlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsICRp
bXBsVHlwZSYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsg
fVxuIik7CisKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIkpTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCAkaW1wbFR5
cGUqKTtcbiIpOwogICAgIH0KLSAgICBpZiAoJHVzZXNUb0pTTmV3bHlDcmVhdGVkeyRpbnRlcmZh
Y2VOYW1lfSkgewotICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosICRpbnRl
cmZhY2VOYW1lKik7XG4iKTsKLSAgICB9Ci0gICAgCisKICAgICBwdXNoKEBoZWFkZXJDb250ZW50
LCAiXG4iKTsKIAogICAgICMgQWRkIHByb3RvdHlwZSBkZWNsYXJhdGlvbi4KQEAgLTMwNTYsNiAr
MzA0NiwxOSBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqICR7dnRhYmxlTmFtZUdudX1bXTsg
fQogI2VuZGlmCiBFTkQKIAorICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIkpTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgJGltcGxUeXBlKiBpbXBsKVxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAie1xuIik7CitwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOworICAgIGlmICghaW1wbCkK
KyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworRU5ECisgICAgICAgIGlmICgkc3ZnUHJvcGVydHlU
eXBlKSB7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjwkY2xhc3NOYW1lLCAkaW1wbFR5cGU+KGdsb2JhbE9iamVjdCwgaW1wbCk7XG4iKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPCRjbGFzc05hbWU+KGdsb2JhbE9iamVjdCwgaW1wbCk7XG4iKTsK
KyAgICAgICAgfQorICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CisKICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSos
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsICRpbXBsVHlwZSogaW1wbClcbiIpOwog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgPDxFTkQpOwpAQCAtNDExNiw3ICs0MTE5LDcgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQog
CiAgICAgcmV0dXJuICR2YWx1ZSBpZiAkY29kZUdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUo
JHR5cGUpOwogCi0gICAgaWYgKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXR1
cm5OZXdPYmplY3QifSkgeworICAgIGlmICgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiTmV3T2JqZWN0In0pIHsKICAgICAgICAgcmV0dXJuICJ0b0pTTmV3bHlDcmVhdGVkKGV4ZWMs
ICRnbG9iYWxPYmplY3QsIFdURjo6Z2V0UHRyKCR2YWx1ZSkpIjsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IGI3
MWNiZDcwZjU0Mzk2MjI3YTY3M2M3Zjg1YzE4NjFkYTk0ZGExZmYuLjQ3NzkxMmE3OWRkYTc1YmE3
N2EwZjI5N2MwODMzM2JkNTdkM2Q3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dApAQCAtODgsNiArODgsNyBAQCBKU0xlZ2FjeVBh
cmVudD0qCiBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkCiBOYW1lZENvbnN0cnVjdG9yPSoKIE5ld0lt
cHVyZVByb3BlcnR5RmlyZXNXYXRjaHBvaW50cworTmV3T2JqZWN0CiBOb0ludGVyZmFjZU9iamVj
dAogTm9uZGV0ZXJtaW5pc3RpYwogTm90RW51bWVyYWJsZQpAQCAtMTA4LDcgKzEwOSw2IEBAIFJl
cGxhY2VhYmxlCiBSZXBsYWNlYWJsZUNvbnN0cnVjdG9yCiBSZXBvcnRFeHRyYU1lbW9yeUNvc3QK
IFJlcXVpcmVzRXhpc3RpbmdBdG9taWNTdHJpbmcKLVJldHVybk5ld09iamVjdAogU2V0dGVyUmFp
c2VzRXhjZXB0aW9uCiBTa2lwVlRhYmxlVmFsaWRhdGlvbgogU3RyaWN0VHlwZUNoZWNraW5nCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDFhMTA5M2RmMTcyNjJkNjNkMjY1
MWQ1OTUwNmIwY2I0Y2NiNjBmMzUuLjcxOTljNGE4YTA5NmNiMDg1ZjRjNjI4ZDk2ZDQxYTY3NmQ4
NzAxMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC0yNjIsNiArMjYy
LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9f
N1Rlc3RBY3RpdmVET01PYmplY3RAV2ViQ29yZUBACiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQq
IF9aVFZON1dlYkNvcmUxOVRlc3RBY3RpdmVET01PYmplY3RFW107IH0KICNlbmRpZgogI2VuZGlm
CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RBY3RpdmVET01PYmplY3QqIGltcGwpCit7Cisg
ICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0
ZVdyYXBwZXI8SlNUZXN0QWN0aXZlRE9NT2JqZWN0PihnbG9iYWxPYmplY3QsIGltcGwpOworfQor
CiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFRlc3RBY3RpdmVET01PYmplY3QqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBs
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEFjdGl2ZURPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5oCmluZGV4IDk2Nzg3ZDQ0NGNhNmE0ZTc3OTUx
MWZkNDdhODUzOWJmNWZiYzU1YjguLmJjYTBhMzA4ODg0NzA1MDBmYWY3OWUzNjdiMGJlZGViOWUz
ZGY3ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RBY3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTg0LDYgKzg0LDcgQEAg
aW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxk
JiwgVGVzdEFjdGl2ZURPTU9iamVjdCoKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RBY3RpdmVET01PYmplY3QqKTsKIGlubGluZSBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgVGVzdEFjdGl2ZURPTU9iamVjdCYgaW1wbCkgeyByZXR1cm4gdG9KUyhl
eGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RBY3RpdmVET01PYmpl
Y3QqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRo
Tm9JbnRlcmZhY2VPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcApp
bmRleCA0MmM3ZDk4ZGM4ZjZkYTBjZTRmODJkZjg1OGU1OTk3NDJmYjU5M2U0Li41NDNiZDc2YWVl
MDI2ODlmZDhiYWZhNGU5ZDAwYTc2MmNjMjA5YjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAK
QEAgLTE3OSw2ICsxNzksMTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19p
ZGVudGlmaWVyKCI/P183VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW4KIGV4dGVybiAiQyIg
eyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTQyVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5v
SW50ZXJmYWNlT2JqZWN0RVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqIGltcGwpCit7
CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q+
KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0
YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEN1c3RvbUNvbnN0cnVj
dG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0KiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0
b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0LmgKaW5kZXggZGNlOWQwNWI0ZTcwZjk4NjBiNmNkYzg3YmE4NTExMDAyZmRkZDc5
YS4uOTU3ZGI2YzQ2NDllNDk5MjliZDUxNzllNDg1YmU4YjZkYTY0ZmJlZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0
cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNl
T2JqZWN0LmgKQEAgLTgwLDYgKzgwLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3
cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEN1c3RvbUNvbnN0cnVjdG8KIAogSlND
OjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCopOwogaW5saW5lIEpTQzo6SlNW
YWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QmIGltcGwp
IHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqKTsKIAogLy8gQ3VzdG9t
IGNvbnN0cnVjdG9yCiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0
SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QoSlNDOjpFeGVjU3Rh
dGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCmluZGV4IGJiYTIzZjcx
MDNjYTA2MWE0ZGU3NGRkZDRjYzdkMjNmNDRiZGM1OTQuLmI3NzNkMGFlNjVkM2FlMzFjMGYxYjdi
OWE3MjI3ZTU2MzFmMDgxNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNw
cApAQCAtMjQ3LDYgKzI0NywxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBf
X2lkZW50aWZpZXIoIj8/XzdUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJAV2ViQ29yZQogZXh0ZXJuICJD
IiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjFUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJFW107
IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4
ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDdXN0b21OYW1l
ZEdldHRlciogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwo
KTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RDdXN0b21OYW1lZEdldHRlcj4oZ2xv
YmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIq
IGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIu
aAppbmRleCA4NDVkN2MzMTBiMGEzMzU5MzA2YjIwMDczNTgyOGM2YWM0NjI4MzU2Li4wMWNkMzNh
YTVjMjUwOTBhNzNkN2JjNTU1OTkzZDMxODZlY2I0Mzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9t
TmFtZWRHZXR0ZXIuaApAQCAtODcsNiArODcsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3du
ZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZQog
CiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kiwg
VGVzdEN1c3RvbU5hbWVkR2V0dGVyKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpF
eGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDdXN0
b21OYW1lZEdldHRlciYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZp
bXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCosIFRlc3RDdXN0b21OYW1lZEdldHRlciopOwogCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAppbmRleCBm
ZTYxNGI2ZWRlZGIwMjYyZWJjZDQ2N2UwNzAwMzUxYzU5ZDVkZjNjLi41YjEyNTNhNzZkNmQ2ZmZj
NzYwNmE5MDFhZWZkY2IyM2MwZTUzYzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0
b3IuY3BwCkBAIC0yNjYsNiArMjY2LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNv
bnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RFdmVudENvbnN0cnVjdG9yQFdlYkNvcmVACiBleHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyMFRlc3RFdmVudENvbnN0cnVjdG9y
RVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlbnRD
b25zdHJ1Y3RvciogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051
bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RFdmVudENvbnN0cnVjdG9yPihn
bG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFdmVudENvbnN0cnVjdG9y
KiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5o
CmluZGV4IDAyMjE2MmIwZDZhZjhmMWJjYmRjNGM4NTQ1Yjc2ZDAxMjU1YzMwYjEuLjg1YjMyNzIx
MjQ5NjA0ZmE0MWMxZmIzZWNlMWU3MDI1OTc4ZWJlNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29u
c3RydWN0b3IuaApAQCAtODMsNiArODMsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIq
IHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0RXZlbnRDb25zdHJ1Y3RvcgogCiBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVz
dEV2ZW50Q29uc3RydWN0b3IqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNT
dGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV2ZW50Q29u
c3RydWN0b3ImIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7
IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCBUZXN0RXZlbnRDb25zdHJ1Y3RvciopOwogCiBib29sIGZpbGxUZXN0RXZl
bnRDb25zdHJ1Y3RvckluaXQoVGVzdEV2ZW50Q29uc3RydWN0b3JJbml0JiwgSlNEaWN0aW9uYXJ5
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IDBjODg1N2RiMmY3OWQ4OTYxYmMw
NmEzMDE4YWNhMjNhYzAzNjY4ODEuLjEwNTFkNWI3YTRlNmVkZjFkNjc2YTUyZjUzMjBhN2U4OGM0
OTI0MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMzQwLDYgKzM0MCwxMyBAQCBl
eHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXZl
bnRUYXJnZXRAV2ViQ29yZUBANkJAIgogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdX
ZWJDb3JlMTVUZXN0RXZlbnRUYXJnZXRFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFRlc3RFdmVudFRhcmdldCogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisg
ICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RF
dmVudFRhcmdldD4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZl
bnRUYXJnZXQqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaApp
bmRleCA1MTk1MzE5ZTgxYzU2ZmJjYjRkYmEwYWMyMTJiZTVkZWQ4MGViZjI4Li5kYTc1YTM4MzI1
ZTA1NWFiOGFjMjIwZjBiZmMxMmRiZmNkODFiNWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaApA
QCAtOTEsNiArOTEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25l
cihET01XcmFwcGVyV29ybGQmLCBUZXN0RXZlbnRUYXJnZXQqKQogCiBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEV2ZW50VGFyZ2V0Kik7
CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFdmVudFRhcmdldCYgaW1wbCkgeyByZXR1cm4g
dG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RFdmVudFRh
cmdldCopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAK
aW5kZXggMzg3YzJmNjI2YmY3MWY1ZWFlYjZjNmQyZmQ1MjBhZGJjNTkwNjNmMi4uMzdjYTQ0MGVi
MGM2MzRjMjIzZmViNGRkNWM0OTVmMDU0MTA4YzgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAK
QEAgLTIxMiw2ICsyMTIsMTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19p
ZGVudGlmaWVyKCI/P183VGVzdEV4Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKVsKIGV4dGVybiAiQyIg
eyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTEzVGVzdEV4Y2VwdGlvbkVbXTsgfQogI2VuZGlm
CiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV4Y2VwdGlvbiogaW1wbCkKK3sK
KyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3Jl
YXRlV3JhcHBlcjxKU1Rlc3RFeGNlcHRpb24+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgVGVzdEV4Y2VwdGlvbiogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhj
ZXB0aW9uLmgKaW5kZXggYzcxMDE0OTlkYzlkZjRkYWY1ZDg5ZGI3NDEwMDE4MTcwMTNlMDE4MC4u
YmU0ZjAwNDM5ZWUxOGRkNTMzYmM1Y2ZlZTNjM2RlN2Y1ZTk1MzJhNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRp
b24uaApAQCAtODUsNiArODUsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBw
ZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0RXhjZXB0aW9uKikKIAogSlNDOjpKU1ZhbHVl
IHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RFeGNlcHRpb24q
KTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV4Y2VwdGlvbiYgaW1wbCkgeyByZXR1cm4g
dG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RFeGNlcHRp
b24qKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZS5jcHAKaW5kZXggY2ZjNzhhOGI1YzQzZjFhNmU1MGU4NWIyYTRmYjA3NWNi
ZmIzNzMwNC4uYzU3OTA3ZjVjOGI4MGU5NDk3NTI5OWU0MTJkYjA2OWI3YjA1MzZiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVy
YXRlSXNSZWFjaGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcApAQCAtMTc0LDYgKzE3NCwxMyBA
QCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0
R2VuZXJhdGVJc1JlYWNoYWJsZUBXZWJDbwogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRW
TjdXZWJDb3JlMjNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUVbXTsgfQogI2VuZGlmCiAjZW5kaWYK
K0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUqIGltcGwpCit7
CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8SlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZT4oZ2xvYmFsT2JqZWN0LCBpbXBs
KTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSogaW1wbCkKIHsKICAg
ICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaAppbmRleCA5
YTc1YTdjYjVhZGU5NGI3MTY4YzJkYjM2MDRkNGRlYzg4YTU1ZDg0Li4zZmNmMDllZTNmZTljZjUx
YzM3M2I0ZjQ2MTIwNTJkOGQ2NTQ2NGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVh
Y2hhYmxlLmgKQEAgLTgxLDYgKzgxLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3
cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEdlbmVyYXRlSXNSZWFjaGEKIAogSlND
OjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RH
ZW5lcmF0ZUlzUmVhY2hhYmxlKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVj
U3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RHZW5lcmF0
ZUlzUmVhY2hhYmxlJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmlt
cGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpT
RE9NR2xvYmFsT2JqZWN0KiwgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUqKTsKIAogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IDEwMzU2ODhhOTljM2I1
MDU2NzhiZDQ4NWFkNjdhYmQ5NzBhMmE5YjEuLmQzZTgwODgyZjA2N2NlYTZmMzBhNmExYWNjMWVl
NTM2NTIwNjQ4ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC05NTUsNiArOTU1LDEzIEBA
IHZvaWQgSlNUZXN0SW50ZXJmYWNlT3duZXI6OmZpbmFsaXplKEpTQzo6SlNDZWxsKiYgY2VsbCwg
dm9pZCogY29udGV4dCkKICAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJndyYXBwZXIuaW1wbCgp
LCAmd3JhcHBlcik7CiB9CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEludGVyZmFjZSog
aW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICBy
ZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RJbnRlcmZhY2U+KGdsb2JhbE9iamVjdCwgaW1wbCk7
Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgVGVzdEludGVyZmFjZSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW50ZXJmYWNlLmgKaW5kZXggMGJjNzdlZjI5NzkyNWQzODA5NTBhODQ4ZTc3Y2EyYjZm
MjlmMjQzMi4uMWVmZDc1MmQ4NjQ0NjFmNGQzZmFmZjI0N2MyZjhiNzQ5MzU4MjFkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVy
ZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RJbnRlcmZhY2UuaApAQCAtMTExLDYgKzExMSw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVP
d25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RJbnRlcmZhY2UqKQogCiBX
RUJDT1JFX0VYUE9SVCBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiwgVGVzdEludGVyZmFjZSopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpT
Qzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0
SW50ZXJmYWNlJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwp
OyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiwgVGVzdEludGVyZmFjZSopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAppbmRleCBm
NDdlMmRhMTE2YjhkNGJkOTRhOTBiY2YyY2VhNjMxMDQzZGEwYmE4Li4xYzAyNzA3ZjYzYjg4MmU2
Y2I2N2Q3MGM0OWNiZTYwODFkZDE2MTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0xOTksNiArMTk5LDEzIEBAIGV4dGVybiAiQyIgeyBleHRl
cm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyQFdlCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyNlRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogaW1wbCkKK3sKKyAgICBpZiAoIWlt
cGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXBsKQogewogICAgIGlmICgh
aW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCmluZGV4IDE4
YjQzZDg1NTVlMGJhNzM1NWM1YjE1OGQ5ZWU3YjdjOGU0NzA4ZjQuLmYyMDY1MjJhNGYyY2JkYzk4
ZWM3ZDI3N2ExMGQwM2Y3MWQ3ZmZhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIuaApAQCAtODEsNiArODEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3du
ZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0TWVkaWFRdWVyeUxpc3RMaQog
CiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kiwg
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXImIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciop
OwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVj
dG9yLmNwcAppbmRleCAwY2Y5ZTgwNmMwNmRmYWQyODEwM2EwY2NjZmNjMDhjYjJiMTM0Mjc0Li5h
MTc1ZGFmYmU3NGNkYTYyYTgwMDhjOTA1MmRkNDQyYTM0NmYzZTQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkQ29uc3RydWN0b3IuY3BwCkBAIC0yNTQsNiArMjU0LDEzIEBAIGV4dGVybiAiQyIgeyBl
eHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZENvbnN0cnVjdG9y
QFdlYkNvcmVACiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyMFRlc3RO
YW1lZENvbnN0cnVjdG9yRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAg
ICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3ROYW1l
ZENvbnN0cnVjdG9yPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RO
YW1lZENvbnN0cnVjdG9yKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVj
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRDb25zdHJ1Y3Rvci5oCmluZGV4IDY2ZjJlYzc3MzgwZGRlODczMTJiNTNmODgzMTdkNjM3N2Fj
NzdhNWMuLjY1YmZiZjBlODViNTk3MzQzM2VmODJmZGE2YTY3NmJjNTVkMDM2NDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtODIsNiArODIsNyBAQCBpbmxpbmUgSlNDOjpX
ZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0TmFtZWRD
b25zdHJ1Y3RvcgogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiwgVGVzdE5hbWVkQ29uc3RydWN0b3IqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVGVzdE5hbWVkQ29uc3RydWN0b3ImIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0TmFtZWRDb25zdHJ1Y3RvciopOwogCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNw
cAppbmRleCA1ZThhYTZlMzE5MTY4NjZmNThhZjg1MDJhZGQ3MDQ1N2E3ODZhN2M5Li4yOTc2NGJh
N2Q5ZGVhNTI4MTJjYjRkZWQ2ZjMyOWY1YjA4YzMwMGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRl
dGVybWluaXN0aWMuY3BwCkBAIC01MDUsNiArNTA1LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4g
dm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROb25kZXRlcm1pbmlzdGljQFdlYkNv
cmVACiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyMFRlc3ROb25kZXRl
cm1pbmlzdGljRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBU
ZXN0Tm9uZGV0ZXJtaW5pc3RpYyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJl
dHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3ROb25kZXRlcm1p
bmlzdGljPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3ROb25kZXRl
cm1pbmlzdGljKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJt
aW5pc3RpYy5oCmluZGV4IGViNTE3MDNmNDI3ZTJiNGRhMmNhNzBjNmE0ZGNkMTk4YWY4MzAwMGYu
LjcyMTIxOTBkNWYyNzhjZTE5YmQ0NTIzMmZmM2ZkNTJlMmUxMWY5NTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlz
dGljLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5vbmRldGVybWluaXN0aWMuaApAQCAtODEsNiArODEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFu
ZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0Tm9uZGV0ZXJtaW5p
c3RpYwogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiwgVGVzdE5vbmRldGVybWluaXN0aWMqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVz
dE5vbmRldGVybWluaXN0aWMmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0
LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0Tm9uZGV0ZXJtaW5pc3RpYyopOwogCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggMmUxMGY1MzBiN2I0YmE2NGI4NDkyNWJj
NDdiNDRjNjYxZTY2YjQzOC4uY2FlMzA1YjRlNDgyYTkzZTY3NzQ1ZTgyZmE4ZjkyMDYwMmYyZTNk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHAKQEAgLTQ3MDQsNiArNDcwNCwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJu
IHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T2JqQFdlYkNvcmVAQDZCQCIpW10p
KCk7CiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmU3VGVzdE9iakVbXTsg
fQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE9iaiogaW1wbCkK
K3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxKU1Rlc3RPYmo+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6
SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGVzdE9iaiogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKaW5kZXggNzc0Yzcx
NDlhZDVlZjJiMjVjMjIwMDA2YjAxM2FkZDM3ZWQ5NWNhNS4uMGJjN2ZjNmExMmJiZDI4NDU3Yzg2
YWVjNDljM2RkZWZlMDYzMTQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaApAQCAtOTcsNiArOTcsNyBAQCBpbmxpbmUgSlND
OjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0T2Jq
KikKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCosIFRlc3RPYmoqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSog
ZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE9iaiYgaW1wbCkgeyBy
ZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RP
YmoqKTsKIAogLy8gRnVuY3Rpb25zCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzLmNwcAppbmRleCA0NDY5NDI0YzUxZWYxMmU4YWE0OGY1OWMzMzZhMDkyNGI3MDgx
MWU3Li5jYjc5MGI3OTc1Y2ZmNjFjZGM0NDQ4OTNlMTNlZjE2ZTFlNTQzYTNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCkBAIC0yNjgsNiArMjY4LDEz
IEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQFdlCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9a
VFZON1dlYkNvcmUyNlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzRVtdOyB9CiAjZW5kaWYKICNl
bmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyog
aW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICBy
ZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihnbG9iYWxP
YmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
KiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycy5oCmluZGV4IGU1MjNmYzEwYmYwMDBjNjk3Y2YwMmNhYjNkOTg1MDA1MmZhYzgx
M2IuLmNiMzc4ZGQ1Nzk5NDI4MDkzZjFmZmJlMmQwODdmZWYyMjdiMDFkNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaApAQCAtODEsNiArODEsNyBAQCBpbmxp
bmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBU
ZXN0T3ZlcmxvYWRlZENvbnN0cgogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSos
IEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMqKTsKIGlubGlu
ZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMmIGltcGwpIHsgcmV0
dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycyopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVy
cmlkZUJ1aWx0aW5zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcAppbmRleCA1ZjdjYTY5NjExZGI3YzA2MmU5ZmUx
ZmU0ZjBmZmFhZDZmYjY3MGMxLi4yYmJhNzAyM2I1YmRjZDg3Yjc0YzU1M2JjZTQ1YWE1Yjg2MDky
NTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwCkBAIC0yNDMsNiArMjQz
LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9f
N1Rlc3RPdmVycmlkZUJ1aWx0aW5zQFdlYkNvcmVACiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQq
IF9aVFZON1dlYkNvcmUyMFRlc3RPdmVycmlkZUJ1aWx0aW5zRVtdOyB9CiAjZW5kaWYKICNlbmRp
ZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0T3ZlcnJpZGVCdWlsdGlucyogaW1wbCkKK3sK
KyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3Jl
YXRlV3JhcHBlcjxKU1Rlc3RPdmVycmlkZUJ1aWx0aW5zPihnbG9iYWxPYmplY3QsIGltcGwpOwor
fQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFRlc3RPdmVycmlkZUJ1aWx0aW5zKiBpbXBsKQogewogICAgIGlmICgh
aW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5oCmluZGV4IDA0NDkyYWE5ZWNjNmE1
YmU2ODg1OWQzMDg2OTg3NWI1NGRjZDg2NzguLmJmNzY5MjBkZGVhY2VlZmI4OTc0YzJkMDk0MzJl
OWQwZmEzNjJiYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuaApAQCAtODcsNiAr
ODcsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFw
cGVyV29ybGQmLCBUZXN0T3ZlcnJpZGVCdWlsdGlucwogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE92ZXJyaWRlQnVpbHRpbnMqKTsK
IGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE92ZXJyaWRlQnVpbHRpbnMmIGltcGwpIHsgcmV0
dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0T3Zl
cnJpZGVCdWlsdGlucyopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXgg
ZjFiNjRkMmNiNmJlYzQ5NTIzYzBlNTkyYzU0MDcyYmQ1Y2MzYzMxYi4uZmQ2YmE5ZDJkNGFlMTM2
ODNhYmY4OWEzOGZkY2E5MzhiYzYzYzA1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTMzMyw2ICszMzMsMTMgQEAg
ZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGUKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43
V2ViQ29yZTM0VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUVbXTsgfQogI2VuZGlm
CiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZSogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051
bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2U+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgK
aW5kZXggNjQyMWQyMzBiNTY0NDUwMDA5NDUwNTJkOTE5OTY0YWM0YTVjMjIyMi4uYWU0NDU4ZTg4
ZjFiODc5NDQzOTY1YWFmOGI1ZmI2NzM4OGRjNDIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaApAQCAtODcsNiArODcsNyBAQCBp
bmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQm
LCBUZXN0U2VyaWFsaXplZFNjcmlwdAogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZSopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9
CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSopOwogCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCmluZGV4IGYwZWEyODNmYTEy
MmJmM2JiNjE3ZmM2YTJhNDM0ZTAwODViNjk4OWYuLmNlMWVmYjgyMzA4MDE4MDRlYzI3NTgzMjEy
NWQ4NTkwMDUzNDQzNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcApAQCAtNzQyLDYgKzc0MiwxMyBA
QCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0
VHlwZWRlZnNAV2ViQ29yZUBANkJAIilbXQogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRW
TjdXZWJDb3JlMTJUZXN0VHlwZWRlZnNFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFRlc3RUeXBlZGVmcyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAg
ICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RUeXBl
ZGVmcz4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0VHlwZWRlZnMq
IGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuaAppbmRleCA2YjE4M2E5Yjlh
MDUwOTc4M2RiNzE3YzMyYmE3NTkxZjg2ZTQ5YzZkLi43YzNiNWM0NjBlN2VhY2ExYThmNzQ0YmFh
ZDM1MjA4MDc5YzNkN2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuaApAQCAtODQsNiArODQsNyBAQCBpbmxp
bmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBU
ZXN0VHlwZWRlZnMqKQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiwgVGVzdFR5cGVkZWZzKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMo
SlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRl
c3RUeXBlZGVmcyYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBs
KTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RP
TUdsb2JhbE9iamVjdCosIFRlc3RUeXBlZGVmcyopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U2F0dHJpYnV0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNhdHRyaWJ1dGUuY3BwCmluZGV4IDk4MzE1M2VhM2M2NWIxZGQ1YWUwYjdkNDYwNzQxMzIwMjAz
MmFjMTYuLmQ4YmMyMjY2ODZiZjdmOWMxNDQ3NmQwNTM4OTc1YjgxNzBiMTE1Y2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmli
dXRlLmNwcApAQCAtMTk1LDYgKzE5NSwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpj
b25zdCBfX2lkZW50aWZpZXIoIj8/XzdhdHRyaWJ1dGVAV2ViQ29yZUBANkJAIilbXSkoKQogZXh0
ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlOWF0dHJpYnV0ZUVbXTsgfQogI2Vu
ZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgYXR0cmlidXRlKiBpbXBsKQorewor
ICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVh
dGVXcmFwcGVyPEpTYXR0cmlidXRlPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIGF0dHJpYnV0ZSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5oCmluZGV4IGI3
NjllOWRhYjIyYWVhNGI4NWM3YzAzYjllNjQ4OGY5ZTViY2ViNTEuLjYxNWU5MGEyZjE2YzA2NDVl
ZDNkN2VkYjc4MzZhOGY0NTNiZjlkN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5oCkBAIC04Miw2ICs4Miw3IEBAIGlu
bGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYs
IGF0dHJpYnV0ZSopCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCBhdHRyaWJ1dGUqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgYXR0cmli
dXRlJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiwgYXR0cmlidXRlKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHku
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHku
Y3BwCmluZGV4IDIwN2MwYjVlYTIzNWE3ZTkzOTRmYmM4YmIzY2I2MGRkODcyZjdhNjQuLjdlMGZk
NTZiZTI4Y2Y3YWQ3MWJkYTYxZTA3Y2IzZTVmMzgyZjhiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5jcHAKQEAgLTE2
Niw2ICsxNjYsMTMgQEAgdm9pZCBKU3JlYWRvbmx5T3duZXI6OmZpbmFsaXplKEpTQzo6SlNDZWxs
KiYgY2VsbCwgdm9pZCogY29udGV4dCkKICAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJndyYXBw
ZXIuaW1wbCgpLCAmd3JhcHBlcik7CiB9CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgcmVhZG9u
bHkqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7Cisg
ICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNyZWFkb25seT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsK
K30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCByZWFkb25seSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25s
eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHku
aAppbmRleCBkMGUxODg4YzgzYzZhNTZjNWUxNzgzNTIwYTU2Y2IyNzAzMmM2YjJjLi5lYzIzYTJl
OTM0ZDA5ZWY1ZmExZDQ5MTEwMDI4ZDJhZWExYTQyYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmgKQEAgLTgxLDYgKzgx
LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBl
cldvcmxkJiwgcmVhZG9ubHkqKQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSos
IEpTRE9NR2xvYmFsT2JqZWN0KiwgcmVhZG9ubHkqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
cmVhZG9ubHkmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7
IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCByZWFkb25seSopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCmluZGV4IDNkMGEzM2QzOWZkMDcy
NTRiYzVmOTkzNWJmYWU2OGFlODAxYjQ0MGIuLjdmZTRiZmY5ODY5ZDM3Yjg5NTEyNjU0M2IzMGQ0
MjU1MmUzNTYzZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRh
dGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbApA
QCAtMzAsMTAgKzMwLDEwIEBACiAKICAgICAvLyBET00gTGV2ZWwgMgogCi0gICAgW09iakNMZWdh
Y3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uXSBEb2N1bWVudFR5cGUgY3JlYXRl
RG9jdW1lbnRUeXBlKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51
bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVk
TmFtZSwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24s
IE5ld09iamVjdF0gRG9jdW1lbnRUeXBlIGNyZWF0ZURvY3VtZW50VHlwZShbVHJlYXROdWxsQXM9
TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5l
ZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywg
VHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
RE9NU3RyaW5nIHB1YmxpY0lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9
TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBzeXN0ZW1J
ZCk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uXSBE
b2N1bWVudCBjcmVhdGVEb2N1bWVudChbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgRGVmYXVsdD1V
bmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lc3BhY2VVUkksIAorICAgIFtPYmpDTGVn
YWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVu
dCBjcmVhdGVEb2N1bWVudChbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmlu
ZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lc3BhY2VVUkksCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9
VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcs
IERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBEb2N1bWVudFR5cGUgZG9jdHlwZSk7CiAKQEAg
LTQ0LDYgKzQ0LDYgQEAKIAogICAgIC8vIEhUTUxET01JbXBsZW1lbnRhdGlvbiBpbnRlcmZhY2Ug
ZnJvbSBET00gTGV2ZWwgMiBIVE1MCiAKLSAgICBIVE1MRG9jdW1lbnQgY3JlYXRlSFRNTERvY3Vt
ZW50KFtEZWZhdWx0PU51bGxTdHJpbmddIG9wdGlvbmFsIERPTVN0cmluZyB0aXRsZSk7CisgICAg
W05ld09iamVjdF0gSFRNTERvY3VtZW50IGNyZWF0ZUhUTUxEb2N1bWVudChbRGVmYXVsdD1OdWxs
U3RyaW5nXSBvcHRpb25hbCBET01TdHJpbmcgdGl0bGUpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5pZGwKaW5kZXggZjMyNjQ3NzI0MDhiNTEyNjE2ZWRmMDYyOGRjODFmNTc3NWJlMjIwYy4uZWQ4
OTQ2ZmM1YTQ5N2VmMjQ0NzhhM2MzZjhiMGE3MTk1OTEzNTBjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaWRsCkBAIC0zMSwxNSArMzEsMTUgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NSW1w
bGVtZW50YXRpb24gaW1wbGVtZW50YXRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1l
bnQgZG9jdW1lbnRFbGVtZW50OwogCi0gICAgW1JldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0
aW9uXSBFbGVtZW50IGNyZWF0ZUVsZW1lbnQoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVs
dD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyB0YWdOYW1lKTsKLSAgICBEb2N1bWVudEZy
YWdtZW50ICAgY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwotICAgIFtSZXR1cm5OZXdPYmplY3Rd
IFRleHQgY3JlYXRlVGV4dE5vZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJp
bmcgZGF0YSk7Ci0gICAgW1JldHVybk5ld09iamVjdF0gQ29tbWVudCBjcmVhdGVDb21tZW50KFtE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEpOwotICAgIFtSZXR1cm5O
ZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gQ0RBVEFTZWN0aW9uIGNyZWF0ZUNEQVRBU2VjdGlv
bihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsKLSAgICBbT2Jq
Q0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlv
bl0gUHJvY2Vzc2luZ0luc3RydWN0aW9uIGNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbihbRGVm
YXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyB0YXJnZXQsCisgICAgW05ld09iamVj
dCwgUmFpc2VzRXhjZXB0aW9uXSBFbGVtZW50IGNyZWF0ZUVsZW1lbnQoW1RyZWF0TnVsbEFzPU51
bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyB0YWdOYW1lKTsK
KyAgICBbTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdtZW50ICAgY3JlYXRlRG9jdW1lbnRGcmFnbWVu
dCgpOworICAgIFtOZXdPYmplY3RdIFRleHQgY3JlYXRlVGV4dE5vZGUoW0RlZmF1bHQ9VW5kZWZp
bmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7CisgICAgW05ld09iamVjdF0gQ29tbWVudCBj
cmVhdGVDb21tZW50KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEp
OworICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gQ0RBVEFTZWN0aW9uIGNyZWF0ZUNE
QVRBU2VjdGlvbihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsK
KyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBOZXdPYmplY3QsIFJhaXNlc0V4Y2Vw
dGlvbl0gUHJvY2Vzc2luZ0luc3RydWN0aW9uIGNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbihb
RGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyB0YXJnZXQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRh
KTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0
cmlidXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwotICAg
IFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRW50aXR5UmVmZXJlbmNlIGNyZWF0
ZUVudGl0eVJlZmVyZW5jZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBu
YW1lKTsKKyAgICBbTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0cmli
dXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOworICAgIFtO
ZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRW50aXR5UmVmZXJlbmNlIGNyZWF0ZUVudGl0eVJl
ZmVyZW5jZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKIAog
I2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9D
CiAgICAgW0ltcGxlbWVudGVkQXM9Z2V0RWxlbWVudHNCeVRhZ05hbWVGb3JPYmpDXSBOb2RlTGlz
dCBnZXRFbGVtZW50c0J5VGFnTmFtZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0
cmluZyB0YWduYW1lKTsKQEAgLTQ5LDExICs0OSwxMSBAQAogCiAgICAgLy8gSW50cm9kdWNlZCBp
biBET00gTGV2ZWwgMjoKIAotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVy
bk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBOb2RlIGltcG9ydE5vZGUoW0RlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCBOb2RlIGltcG9ydGVkTm9kZSwKKyAgICBbT2JqQ0xlZ2FjeVVubmFt
ZWRQYXJhbWV0ZXJzLCBOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gTm9kZSBpbXBvcnROb2Rl
KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgTm9kZSBpbXBvcnRlZE5vZGUsCiAgICAgICAg
ICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZGVlcCk7Ci0gICAgW09iakNMZWdhY3lVbm5h
bWVkUGFyYW1ldGVycywgUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQg
Y3JlYXRlRWxlbWVudE5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgIFtPYmpDTGVnYWN5VW5uYW1l
ZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbGVtZW50IGNyZWF0ZUVs
ZW1lbnROUyhbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb
VHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3Ry
aW5nIHF1YWxpZmllZE5hbWUpOwotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJl
dHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBBdHRyIGNyZWF0ZUF0dHJpYnV0ZU5TKFtU
cmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJp
bmcgbmFtZXNwYWNlVVJJLAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE5ld09i
amVjdCwgUmFpc2VzRXhjZXB0aW9uXSBBdHRyIGNyZWF0ZUF0dHJpYnV0ZU5TKFtUcmVhdE51bGxB
cz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNw
YWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0
PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUpOwogCiAjaWYgZGVm
aW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKQEAgLTg0
LDE5ICs4NCwxOSBAQAogCiAgICAgLy8gRE9NIExldmVsIDIgRXZlbnRzIChEb2N1bWVudEV2ZW50
cyBpbnRlcmZhY2UpCiAKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBFdmVudCAgICAgICAgICAgICAg
Y3JlYXRlRXZlbnQoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZXZlbnRU
eXBlKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIEV2ZW50ICAgICAgICAgICAg
ICBjcmVhdGVFdmVudChbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBldmVu
dFR5cGUpOwogCiAgICAgLy8gRE9NIExldmVsIDIgVHJhbnZlcnNhbCBhbmQgUmFuZ2UgKERvY3Vt
ZW50UmFuZ2UgaW50ZXJmYWNlKQogCi0gICAgUmFuZ2UgICAgICAgICAgICAgIGNyZWF0ZVJhbmdl
KCk7CisgICAgW05ld09iamVjdF0gUmFuZ2UgICAgICAgICAgICAgIGNyZWF0ZVJhbmdlKCk7CiAK
ICAgICAvLyBET00gTGV2ZWwgMiBUcmFudmVyc2FsIGFuZCBSYW5nZSAoRG9jdW1lbnRUcmF2ZXJz
YWwgaW50ZXJmYWNlKQogCi0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2Vz
RXhjZXB0aW9uXSBOb2RlSXRlcmF0b3IgY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9vdCwKKyAg
ICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIE5ld09iamVj
dF0gTm9kZUl0ZXJhdG9yIGNyZWF0ZU5vZGVJdGVyYXRvcihOb2RlIHJvb3QsCiAgICAgICAgIG9w
dGlvbmFsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywKICAgICAgICAgb3B0aW9uYWwgTm9kZUZp
bHRlcj8gZmlsdGVyLAogICAgICAgICBvcHRpb25hbCBib29sZWFuIGV4cGFuZEVudGl0eVJlZmVy
ZW5jZXMpOwotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlv
bl0gVHJlZVdhbGtlciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9vdCwKKyAgICBbT2JqQ0xlZ2Fj
eVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gVHJlZVdhbGtl
ciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9vdCwKICAgICAgICAgb3B0aW9uYWwgdW5zaWduZWQg
bG9uZyB3aGF0VG9TaG93LAogICAgICAgICBvcHRpb25hbCBOb2RlRmlsdGVyPyBmaWx0ZXIsCiAg
ICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZXhwYW5kRW50aXR5UmVmZXJlbmNlcyk7CkBAIC0yNTUs
NyArMjU1LDcgQEAKICNpZiBkZWZpbmVkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAmJiBFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUwogI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9Eb2N1bWVudElP
Uy5pZGw+CiAjZWxpZiBkZWZpbmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICYmIEVOQUJMRV9UT1VD
SF9FVkVOVFMKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIFRvdWNoIGNy
ZWF0ZVRvdWNoKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NV2luZG93IHdpbmRvdywK
KyAgICBbTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIFRvdWNoIGNyZWF0ZVRvdWNoKFtEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NV2luZG93IHdpbmRvdywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCBFdmVudFRhcmdldCB0YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
bG9uZyBpZGVudGlmaWVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGxvbmcgcGFnZVgsCkBA
IC0yNjYsNyArMjY2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBsb25nIHdlYmtpdFJh
ZGl1c1ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHdlYmtp
dFJvdGF0aW9uQW5nbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZs
b2F0IHdlYmtpdEZvcmNlKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBDdXN0b20sIFJhaXNlc0V4
Y2VwdGlvbl0gVG91Y2hMaXN0IGNyZWF0ZVRvdWNoTGlzdCgpOworICAgIFtOZXdPYmplY3QsIEN1
c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBUb3VjaExpc3QgY3JlYXRlVG91Y2hMaXN0KCk7CiAjZW5k
aWYKIAogICAgIC8vIFBhZ2UgdmlzaWJpbGl0eSBBUEkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKaW5kZXggNjJk
NzAwMzE2NzYxNWRjODM3MmQ5MTg3M2E5MjdkYzQxYjc5M2Y1NS4uZmE0ODcxYmM5ZGNiYWFiYTI1
MDlmODM3ZWRhMTJkMjI5N2E1ZjNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbApAQCAtNjgsNyArNjgsNyBA
QAogICAgIFtDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gTm9kZSBhcHBlbmRDaGlsZChbQ3VzdG9t
UmV0dXJuXSBOb2RlIG5ld0NoaWxkKTsKIAogICAgIGJvb2xlYW4gICAgICAgICAgICBoYXNDaGls
ZE5vZGVzKCk7Ci0gICAgTm9kZSAgICAgICAgICAgICAgIGNsb25lTm9kZShbRGVmYXVsdD1VbmRl
ZmluZWRdIG9wdGlvbmFsIGJvb2xlYW4gZGVlcCk7CisgICAgW05ld09iamVjdF0gTm9kZSBjbG9u
ZU5vZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBib29sZWFuIGRlZXApOwogICAgIHZv
aWQgICAgICAgICAgICAgICBub3JtYWxpemUoKTsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9N
IExldmVsIDI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUGFyZW50Tm9kZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUGFyZW50Tm9kZS5pZGwKaW5kZXggYzYyZmM3NGE5N2FmMTlh
YTc0ODU1Y2I0ZDU1MzkyNzRhMjAyYWI5ZS4uYmJlZjQ1YjM3MjE4YzVkODcxZjA1M2ZiMTMxM2Uw
MTczZDJmOWMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5vZGUuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbApAQCAtNDEsNSArNDEsNSBA
QAogICAgIC8vIFtVbnNjb3BlYWJsZV0gRWxlbWVudD8gcXVlcnkoRE9NU3RyaW5nIHJlbGF0aXZl
U2VsZWN0b3JzKTsKICAgICAvLyBbTmV3T2JqZWN0LCBVbnNjb3BlYWJsZV0gRWxlbWVudHMgcXVl
cnlBbGwoRE9NU3RyaW5nIHJlbGF0aXZlU2VsZWN0b3JzKTsKICAgICBbUmFpc2VzRXhjZXB0aW9u
XSBFbGVtZW50IHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5nIHNlbGVjdG9ycyk7Ci0gICAgW1JhaXNl
c0V4Y2VwdGlvbl0gTm9kZUxpc3QgcXVlcnlTZWxlY3RvckFsbChET01TdHJpbmcgc2VsZWN0b3Jz
KTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIE5vZGVMaXN0IHF1ZXJ5U2VsZWN0
b3JBbGwoRE9NU3RyaW5nIHNlbGVjdG9ycyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1JhbmdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5pZGwKaW5kZXggYmVl
MDQ4M2M5YWMzMTY3OGMyYzc2NWQ3ZjcwZTM5MzIzZmM1OGE4Ny4uZGM4YWVkNDY5YTJmZmM2YTBk
NzQzODFmNTZlMzkyM2UxZjczZmUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Jh
bmdlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaWRsCkBAIC01MywxMSArNTMs
MTEgQEAKICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24s
IEltcGxlbWVudGVkQXM9Y29tcGFyZUJvdW5kYXJ5UG9pbnRzRm9yQmluZGluZ3NdIHNob3J0IGNv
bXBhcmVCb3VuZGFyeVBvaW50cyhbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIHVuc2lnbmVk
IHNob3J0IGhvdywgUmFuZ2Ugc291cmNlUmFuZ2UpOwogCiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0g
dm9pZCBkZWxldGVDb250ZW50cygpOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIERvY3VtZW50RnJh
Z21lbnQgZXh0cmFjdENvbnRlbnRzKCk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gRG9jdW1lbnRG
cmFnbWVudCBjbG9uZUNvbnRlbnRzKCk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0
XSBEb2N1bWVudEZyYWdtZW50IGV4dHJhY3RDb250ZW50cygpOworICAgIFtSYWlzZXNFeGNlcHRp
b24sIE5ld09iamVjdF0gRG9jdW1lbnRGcmFnbWVudCBjbG9uZUNvbnRlbnRzKCk7CiAgICAgW1Jh
aXNlc0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnROb2RlKE5vZGUgbmV3Tm9kZSk7CiAgICAgW1JhaXNl
c0V4Y2VwdGlvbl0gdm9pZCBzdXJyb3VuZENvbnRlbnRzKE5vZGUgbmV3UGFyZW50KTsKLSAgICBS
YW5nZSBjbG9uZVJhbmdlKCk7CisgICAgW05ld09iamVjdF0gUmFuZ2UgY2xvbmVSYW5nZSgpOwog
ICAgIERPTVN0cmluZyB0b1N0cmluZygpOwogCiAgICAgdm9pZCBkZXRhY2goKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0
LmlkbAppbmRleCA5ZGY4MmEyYTYzNDc3Mzc0NWE3ZmZhZTAwZTU4ZjdlNmY1MmIzMTk2Li45NmI0
YTQzNjdlZDMzODUxODMwZDdkMjU1ZDcyZmY0OTliMTQxMDkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaWRsCkBA
IC0yMyw3ICsyMyw3IEBACiAKICAgICAvLyBET00gTGV2ZWwgMQogCi0gICAgW1JhaXNlc0V4Y2Vw
dGlvbl0gVGV4dCBzcGxpdFRleHQodW5zaWduZWQgbG9uZyBvZmZzZXQpOworICAgIFtSYWlzZXNF
eGNlcHRpb24sIE5ld09iamVjdF0gVGV4dCBzcGxpdFRleHQodW5zaWduZWQgbG9uZyBvZmZzZXQp
OwogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMzoKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nICAgICAgIHdob2xlVGV4dDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261288</attachid>
            <date>2015-09-15 19:55:14 -0700</date>
            <delta_ts>2015-09-16 10:51:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149192-20150915195502.patch</filename>
            <type>text/plain</type>
            <size>77694</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjJhMTg5OTIyMWU2NWJk
YmE5NjNjNDU5MTZiZDcxN2JhZjUwM2ZlMC4uODBhMmNhNDFkZGZjYTY2M2JjMGQ4Nzg2OGZkMjg0
ZWI3ZDhmMDg4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE1LTA5LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViSURMOiBSZW5hbWUgW1Jl
dHVybk5ld09iamVjdF0gdG8gW05ld09iamVjdF0gYW5kIHVzZSBpdCBtb3JlIGNvbnNpc3RlbnRs
eSBpbiBET00KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0OTE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZSBbUmV0dXJuTmV3T2JqZWN0XSB0byBbTmV3T2JqZWN0XSBhbmQgdXNlIGl0IG1vcmUg
Y29uc2lzdGVudGx5IGluCisgICAgICAgIERPTS4KKworICAgICAgICBUaGlzIGFsaWducyBvdXIg
SURMIGV4dGVuZGVkIGF0dHJpYnV0ZSBuYW1pbmcgd2l0aCBzdGFuZGFyZCBXZWIgSURMOgorICAg
ICAgICBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNOZXdPYmplY3QKKworICAgICAg
ICBXZSBhbHJlYWR5IGhhdmUgW1JldHVybk5ld09iamVjdF0gaW4gbW9zdCBwbGFjZXMgdGhhdCB0
aGUgRE9NCisgICAgICAgIHNwZWNpZmljYXRpb24gdXNlcyBbTmV3T2JqZWN0XSBidXQgd2UgYXJl
IG1pc3NpbmcgYSBmZXcgc28gSSdsbAorICAgICAgICBmaXggdGhpcyBhcyB3ZWxsOgorICAgICAg
ICBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1kb2N1bWVudAorCisgICAg
ICAgIFVzaW5nIFtOZXdPYmplY3RdIGxldHMgdGhlIGJpbmRpbmdzIGdlbmVyYXRvciBrbm93IHRo
YXQgdGhlIEFQSSBpbgorICAgICAgICBxdWVzdGlvbiBhbHdheXMgcmV0dXJucyBuZXcgb2JqZWN0
cyBhbmQgdGhhdCB3ZSBjYW4gYnlwYXNzIHRoZSBjaGVjaworICAgICAgICBmb3IgZXhpc3Rpbmcg
d3JhcHBlcnMgYW5kIGRpcmVjdGx5IGNyZWF0ZSBhIG5ldyB3cmFwcGVyIGZvciB0aGUKKyAgICAg
ICAgcmV0dXJuZWQgb2JqZWN0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIHN1cHBv
cnQgZm9yIGdlbmVyYXRpbmcgdGhlIHRvSlNOZXdseUNyZWF0ZWQoKQorICAgICAgICB1dGlsaXR5
IGZ1bmN0aW9uIGZvciBtb3N0IHR5cGVzLiBQcmV2aW91c2x5LCB0byB1c2UgW1JldHVybk5ld09i
amVjdF0KKyAgICAgICAgZm9yIGEgbmV3IHR5cGUsIHlvdSBuZWVkZWQgdG8gYWRkIHRoZSB0eXBl
IHRvIGEgaGFyZC1jb2RlZCBsaXN0IGluCisgICAgICAgIHRoZSBiaW5kaW5ncyBnZW5lcmF0b3Ig
dGhlbiBwcm92aWRlIHlvdXIgb3duIGltcGxlbWVudGF0aW9uIGZvcgorICAgICAgICB0b0pTTmV3
bHlDcmVhdGVkKCkgYXMgY3VzdG9tIGJpbmRpbmdzLgorCisgICAgICAgIE5vIG5ldy1leHBvc2Vk
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRWxlbWVudEN1c3RvbS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3
bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdl
bmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAg
ICAoTmF0aXZlVG9KU1ZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJp
YnV0ZXMudHh0OgorICAgICAgICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGw6CisgICAgICAg
ICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vTm9kZS5pZGw6CisgICAgICAgICog
ZG9tL1BhcmVudE5vZGUuaWRsOgorICAgICAgICAqIGRvbS9SYW5nZS5pZGw6CisgICAgICAgICog
ZG9tL1RleHQuaWRsOgorCiAyMDE1LTA5LTE1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIFtXaW5dIFVucmV2aWV3ZWQgcmVsZWFzZSBmaXggYWZ0ZXIgcjE4
OTgzMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0MjgxZWRkY2FkNzQyMTUxNDM5N2ZjODY2MmYz
YjE4YTRlMDVkYjM1Li5lYWJmYjhhMmJiZjkxNzgxZTU1NzJiNDFmOGExZTk0OWNmZTBhNjliIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTA4NSw3ICsxMDg1LDYgQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogICAgIGJpbmRpbmdzL2pzL0pTQXVkaW9UcmFja0xpc3RDdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNCaXF1YWRGaWx0ZXJOb2RlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
QmxvYkN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlND
U1NSdWxlTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRp
b25DdXN0b20uY3BwCkBAIC0xMjAwLDEyICsxMTk5LDkgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIGJpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U1N0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRv
Q3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU1RleHRUcmFja0N1ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RleHRUcmFj
a0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RleHRUcmFja0xpc3RDdXN0b20uY3BwCi0g
ICAgYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU1RvdWNo
TGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RyZWVX
YWxrZXJDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvagppbmRleCAwNzMzYTRmZWRjYjU4MmRlNDllNjYzNGNhMDMxNGVlMjA5MTc0Njhm
Li44YTEzZDdkZTU1M2FiMDlmMjZiOWJjOTBjMjdmZDc2ZTQ1Zjg3NzE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE3NDYxLDIwICsx
NzQ2MSw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmlu
ZGluZ3NcanNcSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9t
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0x
ODcwNywyMCArMTg2OTMsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVGV4dEN1c3RvbS5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fp
cm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCI+
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMjg0NCw0
ICsyMjgxNiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAg
ICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNc
bWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA4ODRlMWUyZTJl
YjQyMDZkYTc2Nzg4MmVmMWY0OTI3MWE4N2Q5OWZmLi4yZWRlOTVmYjZkNjA0N2RiMmJjZTFhYzQ2
MmM4OWE0YTQxNzdlY2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00MjM2LDkgKzQyMzYsNiBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNDYW52YXNSZW5kZXJpbmdDb250
ZXh0Q3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NE
QVRBU2VjdGlvbkN1c3RvbS5jcHAiPgotICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVy
PgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3Nc
anNcSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0b20uY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGlu
Z3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ0NDksOSArNDQ0Niw2IEBACiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1NWR1BhdGhTZWdDdXN0b20u
Y3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVGV4dEN1c3RvbS5j
cHAiPgotICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUcmVlV2Fsa2VyQ3Vz
dG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+CkBAIC0xNTQ1Niw0ICsxNTQ1MCw0IEBACiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXHdp
bjwvRmlsdGVyPgogICAgIDwvTUFTTT4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA4YTE5YWJlMjUwMzQ1MGU3
MmQ5OTBhYTMxYTJhNjM0MTI4MjRkYjkuLjQ1YzIwMDQwMmM1YjcyNDc3Y2RjNTNiY2M4ZDNjMDI0
ZmM3YWExZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTY5MCw3ICs2OTAsNiBAQAogCQkxQTJBNjgyNDBCNUJFREU3MDAwMkE0
ODAgLyogUHJvZ3Jlc3NUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTJBNjgyMjBCNUJFREU3MDAwMkE0ODAgLyogUHJvZ3Jlc3NUcmFja2Vy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEy
QUFDNTgwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkFBQzU2MERDMkEz
QjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgKi87IH07CiAJCTFBMkFB
QzU5MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQUFDNTcwREMyQTNCMTAw
QTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUEyQzQwQUIwREVCNTVBQTAwNUFGMTlFIC8q
IEpTVGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9tLmNwcCAqLzsg
fTsKIAkJMUEyRTZFNTkwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTU3MENDNTUyMTMwMDRB
MjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi87IH07CiAJCTFBMkU2RTVBMENDNTUyMTMwMDRBMjA2MiAv
KiBTUUxWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUEyRTZFNTgwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyRTZFN0EwQ0M1NTZENTAwNEEy
MDYyIC8qIFNRTGl0ZUF1dGhvcml6ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUEyRTZFNzgwQ0M1NTZENTAwNEEyMDYyIC8qIFNRTGl0ZUF1dGhv
cml6ZXIuY3BwICovOyB9OwpAQCAtMzUwNyw3ICszNTA2LDYgQEAKIAkJOTNCNzBENkYwOUVCMEM3
QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCNzBENTMwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlw
dENvbnRyb2xsZXIuY3BwICovOyB9OwogCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0NjggLyogU2Ny
aXB0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCNzBENTQwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0I3N0EzODBB
REQ3OTI1MDBFQTRCODEgLyogRnJhbWVMb2FkZXJUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCNzdBMzcwQURENzkyNTAwRUE0QjgxIC8qIEZy
YW1lTG9hZGVyVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQk5M0JBNTlCMjBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNlY3Rpb25DdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNC
QTU5QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCAqLzsgfTsK
IAkJOTNDMDlBNTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNDMDlBNTIwQjA2NERCMzAwNUFC
RDREIC8qIEV2ZW50SGFuZGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTkzQzA5QTdGMEIwNjRFRUYwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXJN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Mw
OUE3RTBCMDY0RUVGMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyTWFjLm1tICovOyB9OwogCQk5M0Mw
OUE4MTBCMDY0RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQzA5QTgwMEIwNjRGMDAwMDVBQkQ0RCAv
KiBFdmVudEhhbmRsZXIuY3BwICovOyB9OwpAQCAtNzg2Miw3ICs3ODYwLDYgQEAKIAkJMUEyQTY4
MjIwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUHJvZ3Jlc3NUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBMkFBQzU2MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3Rv
cmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkFBQzU3
MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVGV4dEN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkU2RTU3MENDNTUyMTMw
MDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTUUxWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkU2RTU4
MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTUUxWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTJFNkU3
ODBDQzU1NkQ1MDA0QTIwNjIgLyogU1FMaXRlQXV0aG9yaXplci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTUUxpdGVBdXRob3JpemVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTEwODc5LDcgKzEwODc2LDYgQEAKIAkJOTNCNzBENTMwOUVCMEM3
QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNjcmlwdENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5M0I3MEQ1NDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q29udHJvbGxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0I3N0EzNzBBREQ3OTI1MDBFQTRCODEgLyog
RnJhbWVMb2FkZXJUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGcmFt
ZUxvYWRlclR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzQkE1OUIxMEYy
QUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQzA5QTUyMEIwNjREQjMwMDVBQkQ0RCAvKiBFdmVudEhh
bmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRIYW5kbGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQzA5QTdFMEIwNjRFRUYwMDVBQkQ0RCAv
KiBFdmVudEhhbmRsZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBFdmVudEhhbmRsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkz
QzA5QTgwMEIwNjRGMDAwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRIYW5kbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTIxNTY3LDcgKzIxNTYzLDYgQEAKIAkJCQk4OTMxREU1QTE0QzQ0QzQ0
MDAwREM5RDIgLyogSlNCbG9iQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUVFRDE0QjEwNTE5NzE5MDAw
OTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwICovLAogCQkJCTQ5
RUVEMTREMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwICovLAotCQkJCTkzQkE1OUIxMEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1
c3RvbS5jcHAgKi8sCiAJCQkJN0MzM0YzNTgxQjRBMDQ0ODAwNTAyQ0FGIC8qIEpTQ2hhcmFjdGVy
RGF0YUN1c3RvbS5jcHAgKi8sCiAJCQkJQTU4NEZFMzcxODY0REFDMTAwODQzQjEwIC8qIEpTQ29t
bWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcCAqLywKIAkJCQkxNDhCNEZGNzFCNjkwNDIxMDBDOTU0
RTQgLyogSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAgKi8sCkBAIC0yMTY2Myw3ICsy
MTY1OCw2IEBACiAJCQkJRTFGRjhGNjYxODA3NDYwODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRv
Q3VzdG9tLmNwcCAqLywKIAkJCQkwOEU0RkU0NTBFMkJENDE0MDBGNENBRTAgLyogSlNTVkdMZW5n
dGhDdXN0b20uY3BwICovLAogCQkJCUIyQzk2RDhDMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1Bh
dGhTZWdDdXN0b20uY3BwICovLAotCQkJCTFBMkM0MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1Rl
eHRDdXN0b20uY3BwICovLAogCQkJCTA3RTExNzA2MTQ4OUVCRUIwMEVDNUFDRSAvKiBKU1RleHRU
cmFja0N1ZUN1c3RvbS5jcHAgKi8sCiAJCQkJMDdFMTE2QjAxNDg5QzlBMTAwRUM1QUNFIC8qIEpT
VGV4dFRyYWNrQ3VzdG9tLmNwcCAqLywKIAkJCQkwN0I1QTMwQzE0Njg3RDcxMDBBODFFQ0UgLyog
SlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCAqLywKQEAgLTI4OTg5LDcgKzI4OTgzLDYgQEAKIAkJ
CQk0OUVFRDE1MDEwNTE5NzFBMDAwOTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3M0FCNEI3MTdGOTJFQ0YwMDZFMEQ2RiAvKiBK
U0NhcGFiaWxpdHlSYW5nZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0Y5QjdBMDBCQTYwMzI2
MDA4NTQwNjQgLyogSlNDREFUQVNlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTNCQTU5
QjIwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUZEQTE1RUExMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0NoYW5uZWxNZXJnZXJOb2Rl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1RUEzMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0No
YW5uZWxTcGxpdHRlck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMxRjMwOUQxQ0M2
MDAwMEJFMzI1IC8qIEpTQ2hhcmFjdGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5NTUz
LDcgKzI5NTQ2LDYgQEAKIAkJCQk3MURDQjcwMTE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29t
QW5kUGFuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzRTE4MEFCNzVBNkYwMDBFNUFDNCAv
KiBKU1NWR1pvb21FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzIwMzA5RDFDQzYw
MDAwQkUzMjUgLyogSlNUZXh0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFBMkM0MEFCMERFQjU1
QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzQTE0
QjgwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDRUY0NUY1MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTA3MDc1Njk0MTQyMjY2OEQwMDQxNDE2MSAvKiBKU1RleHRUcmFjay5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmlu
ZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdz
QWxsSW5PbmUuY3BwCmluZGV4IGI1YzVmZjJlNTYwMDVmN2NmMzYwMzc0NDhkNTlhNmVlYjNiYTVk
MDIuLjAxNmVmYjBjNTc3NGY2YjY1OWQzMGZkZTRhOWY4Yjc5ZTQxZjUxYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcApAQCAtMzQs
NyArMzQsNiBAQAogI2luY2x1ZGUgIkpTQXVkaW9UcmFja0N1c3RvbS5jcHAiCiAjaW5jbHVkZSAi
SlNBdWRpb1RyYWNrTGlzdEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNCbG9iQ3VzdG9tLmNwcCIK
LSNpbmNsdWRlICJKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAiCiAjaWYgRU5BQkxFKFNUUkVBTVNf
QVBJKQogI2luY2x1ZGUgIkpTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwIgogI2VuZGlm
CkBAIC0xMzMsMTIgKzEzMiw5IEBACiAjaW5jbHVkZSAiSlNTdG9yYWdlQ3VzdG9tLmNwcCIKICNp
bmNsdWRlICJKU1N0eWxlU2hlZXRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTU3R5bGVTaGVldExp
c3RDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVGV4dEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNU
ZXh0VHJhY2tDdWVDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrQ3VzdG9tLmNwcCIK
ICNpbmNsdWRlICJKU1RleHRUcmFja0xpc3RDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVG91Y2hD
dXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVG91Y2hMaXN0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJK
U1RyYWNrQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RyYWNrRXZlbnRDdXN0b20uY3BwIgogI2lu
Y2x1ZGUgIkpTVHJlZVdhbGtlckN1c3RvbS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk3MDkxZGFiZDk5YjlhNmM5NzM4ZDIwNjFjOGVmZTNlOWZiNDYxMWMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSlNDREFUQVNlY3Rpb24uaCIK
LQotI2luY2x1ZGUgIkNEQVRBU2VjdGlvbi5oIgotCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDREFUQVNlY3Rpb24qIHNlY3Rpb24p
Ci17Ci0gICAgaWYgKCFzZWN0aW9uKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0KLSAgICBy
ZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgQ0RBVEFTZWN0aW9uLCBzZWN0
aW9uKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAppbmRleCA3MGNjZGFmZjQwMWU4Y2I0Y2Uy
NDExYTBmNzhjNjQ4OGFjZDUzYWJhLi5hYjg4NzliZjJmNTAzODg5MzcxYjJmOTBlODdhNjZmY2Fj
ZTg3MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3Vz
dG9tLmNwcApAQCAtNzksNiArNzksMzEgQEAgdm9pZCBKU0RvY3VtZW50OjpzZXRMb2NhdGlvbihF
eGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUpCiAgICAgICAgIGxvY2F0aW9uLT5zZXRIcmVm
KGxvY2F0aW9uU3RyaW5nLCBhY3RpdmVET01XaW5kb3coZXhlYyksIGZpcnN0RE9NV2luZG93KGV4
ZWMpKTsKIH0KIAorc3RhdGljIGlubGluZSBKU1ZhbHVlIGNyZWF0ZU5ld0RvY3VtZW50V3JhcHBl
cihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERvY3Vt
ZW50JiBkb2N1bWVudCkKK3sKKyAgICBKU09iamVjdCogd3JhcHBlcjsKKyAgICBpZiAoZG9jdW1l
bnQuaXNIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBF
UihnbG9iYWxPYmplY3QsIEhUTUxEb2N1bWVudCwgJmRvY3VtZW50KTsKKyAgICBlbHNlIGlmIChk
b2N1bWVudC5pc1NWR0RvY3VtZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dS
QVBQRVIoZ2xvYmFsT2JqZWN0LCBTVkdEb2N1bWVudCwgJmRvY3VtZW50KTsKKyAgICBlbHNlCisg
ICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBEb2N1bWVu
dCwgJmRvY3VtZW50KTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgZG9jdW1lbnQgaXMga2VwdCBh
cm91bmQgYnkgdGhlIHdpbmRvdyBvYmplY3QsIGFuZCB3b3JrcyByaWdodCB3aXRoIHRoZQorICAg
IC8vIGJhY2svZm9yd2FyZCBjYWNoZS4KKyAgICBpZiAoIWRvY3VtZW50LmZyYW1lKCkpIHsKKyAg
ICAgICAgc2l6ZV90IG5vZGVDb3VudCA9IDA7CisgICAgICAgIGZvciAoTm9kZSogbiA9ICZkb2N1
bWVudDsgbjsgbiA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoKm4pKQorICAgICAgICAgICAgKytub2Rl
Q291bnQ7CisKKyAgICAgICAgLy8gRklYTUU6IEFkb3B0IHJlcG9ydEV4dHJhTWVtb3J5VmlzaXRl
ZCwgYW5kIHN3aXRjaCB0byByZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZC4KKyAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjU5NQorICAgICAgICBl
eGVjLT5oZWFwKCktPmRlcHJlY2F0ZWRSZXBvcnRFeHRyYU1lbW9yeShub2RlQ291bnQgKiBzaXpl
b2YoTm9kZSkpOworICAgIH0KKworICAgIHJldHVybiB3cmFwcGVyOworfQorCiBKU1ZhbHVlIHRv
SlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBEb2N1
bWVudCogZG9jdW1lbnQpCiB7CiAgICAgaWYgKCFkb2N1bWVudCkKQEAgLTk2LDI2ICsxMjEsMTIg
QEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgRG9jdW1lbnQqIGRvY3VtZW4KICAgICAgICAgICAgIHJldHVybiB3cmFwcGVyOwog
ICAgIH0KIAotICAgIGlmIChkb2N1bWVudC0+aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEhUTUxEb2N1bWVudCwgZG9j
dW1lbnQpOwotICAgIGVsc2UgaWYgKGRvY3VtZW50LT5pc1NWR0RvY3VtZW50KCkpCi0gICAgICAg
IHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBTVkdEb2N1bWVudCwg
ZG9jdW1lbnQpOwotICAgIGVsc2UKLSAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBF
UihnbG9iYWxPYmplY3QsIERvY3VtZW50LCBkb2N1bWVudCk7Ci0KLSAgICAvLyBNYWtlIHN1cmUg
dGhlIGRvY3VtZW50IGlzIGtlcHQgYXJvdW5kIGJ5IHRoZSB3aW5kb3cgb2JqZWN0LCBhbmQgd29y
a3MgcmlnaHQgd2l0aCB0aGUKLSAgICAvLyBiYWNrL2ZvcndhcmQgY2FjaGUuCi0gICAgaWYgKCFk
b2N1bWVudC0+ZnJhbWUoKSkgewotICAgICAgICBzaXplX3Qgbm9kZUNvdW50ID0gMDsKLSAgICAg
ICAgZm9yIChOb2RlKiBuID0gZG9jdW1lbnQ7IG47IG4gPSBOb2RlVHJhdmVyc2FsOjpuZXh0KCpu
KSkKLSAgICAgICAgICAgIG5vZGVDb3VudCsrOwotICAgICAgICAKLSAgICAgICAgLy8gRklYTUU6
IEFkb3B0IHJlcG9ydEV4dHJhTWVtb3J5VmlzaXRlZCwgYW5kIHN3aXRjaCB0byByZXBvcnRFeHRy
YU1lbW9yeUFsbG9jYXRlZC4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MjU5NQotICAgICAgICBleGVjLT5oZWFwKCktPmRlcHJlY2F0ZWRSZXBv
cnRFeHRyYU1lbW9yeShub2RlQ291bnQgKiBzaXplb2YoTm9kZSkpOwotICAgIH0KKyAgICByZXR1
cm4gY3JlYXRlTmV3RG9jdW1lbnRXcmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCwgKmRvY3VtZW50
KTsKK30KIAotICAgIHJldHVybiB3cmFwcGVyOworSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4
ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRG9jdW1lbnQq
IGRvY3VtZW50KQoreworICAgIHJldHVybiBkb2N1bWVudCA/IGNyZWF0ZU5ld0RvY3VtZW50V3Jh
cHBlcihleGVjLCBnbG9iYWxPYmplY3QsICpkb2N1bWVudCkgOiBqc051bGwoKTsKIH0KIAogSlNW
YWx1ZSBKU0RvY3VtZW50OjpwcmVwZW5kKEV4ZWNTdGF0ZSogc3RhdGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5oCmluZGV4IDJhMWJhMDE4MDMyNGQwODRi
NGFjNWI2YjJjOTU3ZWRjMzlhNzk2ZjcuLjBiYzBlY2NjNjFmMDNhYTFhZjc5ZmMyNmIyMGUzNzhl
NGYyNGYxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVu
dEN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3Rv
bS5oCkBAIC0zMSw2ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCos
IEVsZW1lbnQqKTsKKwogQUxXQVlTX0lOTElORSBKU0VsZW1lbnQqIGpzRWxlbWVudENhc3QoSlND
OjpKU1ZhbHVlIHZhbHVlKQogewogICAgIGlmIChVTkxJS0VMWSghdmFsdWUuaXNDZWxsKCkpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAppbmRleCA1NTVh
ZDNmYWEzZTMwMzY0ZmYyOTlmNDAwNzIyOWIxNDJiNmIyMTlhLi4yZDk1YjRkMjkxMGNhOTE5ZDkz
ZGE0MTNlMzhkZWJkYTA2NDdlYzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0V2ZW50Q3VzdG9tLmNwcApAQCAtNTEsNyArNTEsMTYgQEAgSlNWYWx1ZSBKU0V2ZW50OjpjbGlw
Ym9hcmREYXRhKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKIAogI2RlZmluZSBUUllfVE9fV1JBUF9X
SVRIX0lOVEVSRkFDRShpbnRlcmZhY2VOYW1lKSBcCiAgICAgY2FzZSBpbnRlcmZhY2VOYW1lIyNJ
bnRlcmZhY2VUeXBlOiBcCi0gICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFs
T2JqZWN0LCBpbnRlcmZhY2VOYW1lLCBldmVudCk7CisgICAgICAgIHJldHVybiBDUkVBVEVfRE9N
X1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBpbnRlcmZhY2VOYW1lLCAmZXZlbnQpOworCitzdGF0aWMg
aW5saW5lIEpTVmFsdWUgY3JlYXRlTmV3RXZlbnRXcmFwcGVyKEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEV2ZW50JiBldmVudCkKK3sKKyAgICBzd2l0Y2ggKGV2ZW50LmV2ZW50SW50
ZXJmYWNlKCkpIHsKKyAgICAgICAgRE9NX0VWRU5UX0lOVEVSRkFDRVNfRk9SX0VBQ0goVFJZX1RP
X1dSQVBfV0lUSF9JTlRFUkZBQ0UpCisgICAgfQorCisgICAgcmV0dXJuIENSRUFURV9ET01fV1JB
UFBFUihnbG9iYWxPYmplY3QsIEV2ZW50LCAmZXZlbnQpOworfQogCiBKU1ZhbHVlIHRvSlMoRXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZlbnQqIGV2ZW50KQog
ewpAQCAtNjQsMTEgKzczLDEzIEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAgICAgaWYgKHdyYXBwZXIpCiAg
ICAgICAgIHJldHVybiB3cmFwcGVyOwogCi0gICAgc3dpdGNoIChldmVudC0+ZXZlbnRJbnRlcmZh
Y2UoKSkgewotICAgICAgICBET01fRVZFTlRfSU5URVJGQUNFU19GT1JfRUFDSChUUllfVE9fV1JB
UF9XSVRIX0lOVEVSRkFDRSkKLSAgICB9CisgICAgcmV0dXJuIGNyZWF0ZU5ld0V2ZW50V3JhcHBl
cihnbG9iYWxPYmplY3QsICpldmVudCk7Cit9CiAKLSAgICByZXR1cm4gQ1JFQVRFX0RPTV9XUkFQ
UEVSKGdsb2JhbE9iamVjdCwgRXZlbnQsIGV2ZW50KTsKKworSlNWYWx1ZSB0b0pTTmV3bHlDcmVh
dGVkKEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50KiBl
dmVudCkKK3sKKyAgICByZXR1cm4gZXZlbnQgPyBjcmVhdGVOZXdFdmVudFdyYXBwZXIoZ2xvYmFs
T2JqZWN0LCAqZXZlbnQpIDoganNOdWxsKCk7CiB9CiAKICN1bmRlZiBUUllfVE9fV1JBUF9XSVRI
X0lOVEVSRkFDRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2Rl
TGlzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3Vz
dG9tLmNwcAppbmRleCA5MGQ3MWViODUzMmQ2MTI5NjJlNmFjMmNiNDNjNjM1ZTFjZmNkNTVjLi44
Y2NhMTg4YjZjNWFiZWQyMGQwMWU0MzYzOTRmMDcyODU0NzU1YWNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcApAQCAtNTksNCArNTksMTIg
QEAgSlNDOjpKU1ZhbHVlIGNyZWF0ZVdyYXBwZXIoSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCwgTm9kZUxpc3QmIG5vZGVMaXN0KQogICAgIHJldHVybiBjcmVhdGVOZXdXcmFwcGVyPEpT
Tm9kZUxpc3Q+KCZnbG9iYWxPYmplY3QsICZub2RlTGlzdCk7CiB9CiAKK0pTQzo6SlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgTm9kZUxpc3QqIG5vZGVMaXN0KQoreworICAgIGlmICghbm9kZUxpc3QpCisgICAg
ICAgIHJldHVybiBKU0M6OmpzTnVsbCgpOworCisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXIoKmds
b2JhbE9iamVjdCwgKm5vZGVMaXN0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg2OTMzYTBjNjA3ODUyYjAyZGY4YTU5OTg3ZTkxMWI1OTdkY2UwM2Yu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQz
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTVGV4dC5oIgotCi0jaW5jbHVkZSAiVGV4
dC5oIgotCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBUZXh0KiB0ZXh0KQotewotICAgIGlmICghdGV4dCkKLSAgICAgICAgcmV0dXJu
IGpzTnVsbCgpOwotICAgIAotICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2Jq
ZWN0LCBUZXh0LCB0ZXh0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoQ3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTAwMjZmMmFhM2E0YWI5ZDlhNDc4MWZlZGYwNjJlN2IxZTcyNjg0NS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1RvdWNoQ3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJv
amVjdAotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmICFQTEFURk9STShJT1MpCi0jaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKLQotI2luY2x1ZGUgIkpTVG91Y2guaCIKLQotI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgotCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUb3VjaCogdG91Y2gpCi17Ci0gICAgaWYgKCF0b3VjaCkKLSAgICAg
ICAgcmV0dXJuIGpzTnVsbCgpOwotCi0gICAgcmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9i
YWxPYmplY3QsIFRvdWNoLCB0b3VjaCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmIC8vIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0jZW5kaWYgLy8gIVBMQVRGT1JNKElPUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRlZGZlODc5ZjI2YWE4Y2UxYTI3NGVkMmU3
YjBmYjhmNTk3ZjJkMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMTAsIFRoZSBB
bmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiAhUExB
VEZPUk0oSU9TKQotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0KLSNpbmNsdWRlICJKU1RvdWNo
TGlzdC5oIgotCi0jaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBK
U0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4
ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRvdWNoTGlzdCogdG91
Y2hMaXN0KQotewotICAgIGlmICghdG91Y2hMaXN0KQotICAgICAgICByZXR1cm4ganNOdWxsKCk7
Ci0KLSAgICByZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgVG91Y2hMaXN0
LCB0b3VjaExpc3QpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQotI2VuZGlmIC8vICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDY0
NjNjY2FiNDMzZjMyMGM5MjMwYzZmODdkYjQzY2I5YTMxOTk4YjEuLmYyYWM0MDRiMTY1MjdkZmRm
YzRkNTJmNTYzZGRlZjNmMjJiY2Q0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC01MDksMTUgKzUwOSw2IEBAIHN1YiBH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uQ29udGVudEhlYWRlcgogICAgIHJldHVybiBAaW1wbENvbnRl
bnRIZWFkZXI7CiB9CiAKLW15ICV1c2VzVG9KU05ld2x5Q3JlYXRlZCA9ICgKLSAgICAiQ0RBVEFT
ZWN0aW9uIiA9PiAxLAotICAgICJFbGVtZW50IiA9PiAxLAotICAgICJOb2RlIiA9PiAxLAotICAg
ICJUZXh0IiA9PiAxLAotICAgICJUb3VjaCIgPT4gMSwKLSAgICAiVG91Y2hMaXN0IiA9PiAxCi0p
OwotCiBzdWIgU2hvdWxkR2VuZXJhdGVUb0pTRGVjbGFyYXRpb24KIHsKICAgICBteSAoJGhhc1Bh
cmVudCwgJGludGVyZmFjZSkgPSBAXzsKQEAgLTEyMTEsMTEgKzEyMDIsMTAgQEAgc3ViIEdlbmVy
YXRlSGVhZGVyCiAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAkZXhwb3J0TGFiZWwu
IkpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCAk
aW1wbFR5cGUqKTtcbiIpOwogICAgICAgICB9CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQs
ICJpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsICRpbXBsVHlwZSYgaW1wbCkgeyByZXR1cm4gdG9KUyhl
eGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfVxuIik7CisKKyAgICAgICAgcHVzaChAaGVhZGVy
Q29udGVudCwgIkpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqLCAkaW1wbFR5cGUqKTtcbiIpOwogICAgIH0KLSAgICBpZiAoJHVz
ZXNUb0pTTmV3bHlDcmVhdGVkeyRpbnRlcmZhY2VOYW1lfSkgewotICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCosICRpbnRlcmZhY2VOYW1lKik7XG4iKTsKLSAgICB9Ci0gICAg
CisKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiXG4iKTsKIAogICAgICMgQWRkIHByb3RvdHlw
ZSBkZWNsYXJhdGlvbi4KQEAgLTMwNTYsNiArMzA0NiwxOSBAQCBleHRlcm4gIkMiIHsgZXh0ZXJu
IHZvaWQqICR7dnRhYmxlTmFtZUdudX1bXTsgfQogI2VuZGlmCiBFTkQKIAorICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIkpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0
YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgJGltcGxUeXBlKiBpbXBsKVxu
Iik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CitwdXNoKEBpbXBsQ29udGVu
dCwgPDxFTkQpOworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworRU5E
CisgICAgICAgIGlmICgkc3ZnUHJvcGVydHlUeXBlKSB7CisgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjwkY2xhc3NOYW1lLCAkaW1wbFR5cGU+
KGdsb2JhbE9iamVjdCwgaW1wbCk7XG4iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPCRjbGFzc05hbWU+
KGdsb2JhbE9iamVjdCwgaW1wbCk7XG4iKTsKKyAgICAgICAgfQorICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIn1cblxuIik7CisKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsICRpbXBsVHlwZSogaW1wbClcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntc
biIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwpAQCAtNDExNiw3ICs0MTE5
LDcgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogCiAgICAgcmV0dXJuICR2YWx1ZSBpZiAkY29kZUdl
bmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUoJHR5cGUpOwogCi0gICAgaWYgKCRzaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXR1cm5OZXdPYmplY3QifSkgeworICAgIGlmICgkc2ln
bmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmV3T2JqZWN0In0pIHsKICAgICAgICAgcmV0
dXJuICJ0b0pTTmV3bHlDcmVhdGVkKGV4ZWMsICRnbG9iYWxPYmplY3QsIFdURjo6Z2V0UHRyKCR2
YWx1ZSkpIjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IGI3MWNiZDcwZjU0Mzk2MjI3YTY3M2M3Zjg1YzE4NjFk
YTk0ZGExZmYuLjQ3NzkxMmE3OWRkYTc1YmE3N2EwZjI5N2MwODMzM2JkNTdkM2Q3NjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dApA
QCAtODgsNiArODgsNyBAQCBKU0xlZ2FjeVBhcmVudD0qCiBNYXNxdWVyYWRlc0FzVW5kZWZpbmVk
CiBOYW1lZENvbnN0cnVjdG9yPSoKIE5ld0ltcHVyZVByb3BlcnR5RmlyZXNXYXRjaHBvaW50cwor
TmV3T2JqZWN0CiBOb0ludGVyZmFjZU9iamVjdAogTm9uZGV0ZXJtaW5pc3RpYwogTm90RW51bWVy
YWJsZQpAQCAtMTA4LDcgKzEwOSw2IEBAIFJlcGxhY2VhYmxlCiBSZXBsYWNlYWJsZUNvbnN0cnVj
dG9yCiBSZXBvcnRFeHRyYU1lbW9yeUNvc3QKIFJlcXVpcmVzRXhpc3RpbmdBdG9taWNTdHJpbmcK
LVJldHVybk5ld09iamVjdAogU2V0dGVyUmFpc2VzRXhjZXB0aW9uCiBTa2lwVlRhYmxlVmFsaWRh
dGlvbgogU3RyaWN0VHlwZUNoZWNraW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3Bw
CmluZGV4IDFhMTA5M2RmMTcyNjJkNjNkMjY1MWQ1OTUwNmIwY2I0Y2NiNjBmMzUuLjcxOTljNGE4
YTA5NmNiMDg1ZjRjNjI4ZDk2ZDQxYTY3NmQ4NzAxMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVE
T01PYmplY3QuY3BwCkBAIC0yNjIsNiArMjYyLDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9p
ZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RBY3RpdmVET01PYmplY3RAV2ViQ29yZUBA
CiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxOVRlc3RBY3RpdmVET01P
YmplY3RFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RB
Y3RpdmVET01PYmplY3QqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4g
anNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0QWN0aXZlRE9NT2JqZWN0
PihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNT
dGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RBY3RpdmVET01PYmpl
Y3QqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5o
CmluZGV4IDk2Nzg3ZDQ0NGNhNmE0ZTc3OTUxMWZkNDdhODUzOWJmNWZiYzU1YjguLmJjYTBhMzA4
ODg0NzA1MDBmYWY3OWUzNjdiMGJlZGViOWUzZGY3ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9N
T2JqZWN0LmgKQEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3
cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEFjdGl2ZURPTU9iamVjdCoKIAogSlND
OjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RB
Y3RpdmVET01PYmplY3QqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEFjdGl2ZURPTU9i
amVjdCYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQor
SlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2Jh
bE9iamVjdCosIFRlc3RBY3RpdmVET01PYmplY3QqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9y
V2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcAppbmRleCA0MmM3ZDk4ZGM4ZjZkYTBjZTRmODJkZjg1
OGU1OTk3NDJmYjU5M2U0Li41NDNiZDc2YWVlMDI2ODlmZDhiYWZhNGU5ZDAwYTc2MmNjMjA5Yjgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3Rv
cldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAKQEAgLTE3OSw2ICsxNzksMTMgQEAgZXh0ZXJuICJD
IiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdEN1c3RvbUNvbnN0
cnVjdG9yV2l0aE5vSW4KIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTQy
VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0RVtdOyB9CiAjZW5kaWYK
ICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRo
Tm9JbnRlcmZhY2VPYmplY3QqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0Q3VzdG9tQ29uc3Ry
dWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0KiBpbXBs
KQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1
c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgKaW5kZXggZGNlOWQwNWI0ZTcw
Zjk4NjBiNmNkYzg3YmE4NTExMDAyZmRkZDc5YS4uOTU3ZGI2YzQ2NDllNDk5MjliZDUxNzllNDg1
YmU4YjZkYTY0ZmJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgKQEAgLTgwLDYgKzgwLDcgQEAgaW5s
aW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwg
VGVzdEN1c3RvbUNvbnN0cnVjdG8KIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFj
ZU9iamVjdCopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVj
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JX
aXRoTm9JbnRlcmZhY2VPYmplY3QmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0
YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRl
cmZhY2VPYmplY3QqKTsKIAogLy8gQ3VzdG9tIGNvbnN0cnVjdG9yCiBKU0M6OkVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3QoSlNDOjpFeGVjU3RhdGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXIuY3BwCmluZGV4IGJiYTIzZjcxMDNjYTA2MWE0ZGU3NGRkZDRjYzdkMjNmNDRiZGM1
OTQuLmI3NzNkMGFlNjVkM2FlMzFjMGYxYjdiOWE3MjI3ZTU2MzFmMDgxNDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1l
ZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtMjQ3LDYgKzI0NywxMyBAQCBleHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXJAV2ViQ29yZQogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3Jl
MjFUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFRlc3RDdXN0b21OYW1lZEdldHRlciogaW1wbCkKK3sKKyAgICBpZiAoIWlt
cGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxK
U1Rlc3RDdXN0b21OYW1lZEdldHRlcj4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1
c3RvbU5hbWVkR2V0dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAppbmRleCA4NDVkN2MzMTBiMGEzMzU5MzA2YjIw
MDczNTgyOGM2YWM0NjI4MzU2Li4wMWNkMzNhYTVjMjUwOTBhNzNkN2JjNTU1OTkzZDMxODZlY2I0
Mzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaApAQCAtODcsNiArODcsNyBA
QCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29y
bGQmLCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNT
dGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEN1c3RvbU5hbWVkR2V0dGVyKik7CiBpbmxp
bmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDdXN0b21OYW1lZEdldHRlciYgaW1wbCkgeyByZXR1cm4g
dG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RDdXN0b21O
YW1lZEdldHRlciopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
dmVudENvbnN0cnVjdG9yLmNwcAppbmRleCBmZTYxNGI2ZWRlZGIwMjYyZWJjZDQ2N2UwNzAwMzUx
YzU5ZDVkZjNjLi41YjEyNTNhNzZkNmQ2ZmZjNzYwNmE5MDFhZWZkY2IyM2MwZTUzYzdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZl
bnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0yNjYsNiArMjY2LDEzIEBAIGV4
dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RFdmVu
dENvbnN0cnVjdG9yQFdlYkNvcmVACiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dl
YkNvcmUyMFRlc3RFdmVudENvbnN0cnVjdG9yRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlbnRDb25zdHJ1Y3RvciogaW1wbCkKK3sKKyAgICBpZiAo
IWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBl
cjxKU1Rlc3RFdmVudENvbnN0cnVjdG9yPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6
OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFRlc3RFdmVudENvbnN0cnVjdG9yKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
dmVudENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCmluZGV4IDAyMjE2MmIwZDZhZjhmMWJjYmRjNGM4
NTQ1Yjc2ZDAxMjU1YzMwYjEuLjg1YjMyNzIxMjQ5NjA0ZmE0MWMxZmIzZWNlMWU3MDI1OTc4ZWJl
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RFdmVudENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaApAQCAtODMsNiArODMsNyBAQCBp
bmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQm
LCBUZXN0RXZlbnRDb25zdHJ1Y3RvcgogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEV2ZW50Q29uc3RydWN0b3IqKTsKIGlubGluZSBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgVGVzdEV2ZW50Q29uc3RydWN0b3ImIGltcGwpIHsgcmV0dXJuIHRvSlMo
ZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVh
dGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0RXZlbnRDb25zdHJ1
Y3RvciopOwogCiBib29sIGZpbGxUZXN0RXZlbnRDb25zdHJ1Y3RvckluaXQoVGVzdEV2ZW50Q29u
c3RydWN0b3JJbml0JiwgSlNEaWN0aW9uYXJ5Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3Bw
CmluZGV4IDBjODg1N2RiMmY3OWQ4OTYxYmMwNmEzMDE4YWNhMjNhYzAzNjY4ODEuLjEwNTFkNWI3
YTRlNmVkZjFkNjc2YTUyZjUzMjBhN2U4OGM0OTI0MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0
LmNwcApAQCAtMzQwLDYgKzM0MCwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25z
dCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRUYXJnZXRAV2ViQ29yZUBANkJAIgogZXh0ZXJu
ICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTVUZXN0RXZlbnRUYXJnZXRFW107IH0K
ICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
dGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFdmVudFRhcmdldCog
aW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICBy
ZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RFdmVudFRhcmdldD4oZ2xvYmFsT2JqZWN0LCBpbXBs
KTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlbnRUYXJnZXQqIGltcGwpCiB7CiAgICAgaWYgKCFp
bXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaAppbmRleCA1MTk1MzE5ZTgxYzU2ZmJjYjRkYmEwYWMy
MTJiZTVkZWQ4MGViZjI4Li5kYTc1YTM4MzI1ZTA1NWFiOGFjMjIwZjBiZmMxMmRiZmNkODFiNWIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaApAQCAtOTEsNiArOTEsNyBAQCBpbmxpbmUgSlNDOjpX
ZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0RXZlbnRU
YXJnZXQqKQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiwgVGVzdEV2ZW50VGFyZ2V0Kik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlND
OjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RF
dmVudFRhcmdldCYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBs
KTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RP
TUdsb2JhbE9iamVjdCosIFRlc3RFdmVudFRhcmdldCopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKaW5kZXggMzg3YzJmNjI2YmY3MWY1ZWFlYjZjNmQy
ZmQ1MjBhZGJjNTkwNjNmMi4uMzdjYTQ0MGViMGM2MzRjMjIzZmViNGRkNWM0OTVmMDU0MTA4Yzgw
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTIxMiw2ICsyMTIsMTMgQEAgZXh0ZXJuICJD
IiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdEV4Y2VwdGlvbkBX
ZWJDb3JlQEA2QkAiKVsKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTEz
VGVzdEV4Y2VwdGlvbkVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVGVzdEV4Y2VwdGlvbiogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVy
biBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RFeGNlcHRpb24+KGds
b2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV4Y2VwdGlvbiogaW1wbCkK
IHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmgKaW5kZXggYzcxMDE0OTlkYzlkZjRk
YWY1ZDg5ZGI3NDEwMDE4MTcwMTNlMDE4MC4uYmU0ZjAwNDM5ZWUxOGRkNTMzYmM1Y2ZlZTNjM2Rl
N2Y1ZTk1MzJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uaApAQCAtODUsNiArODUsNyBAQCBpbmxpbmUg
SlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0
RXhjZXB0aW9uKikKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCosIFRlc3RFeGNlcHRpb24qKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVz
dEV4Y2VwdGlvbiYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBs
KTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RP
TUdsb2JhbE9iamVjdCosIFRlc3RFeGNlcHRpb24qKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKaW5kZXggY2ZjNzhh
OGI1YzQzZjFhNmU1MGU4NWIyYTRmYjA3NWNiZmIzNzMwNC4uYzU3OTA3ZjVjOGI4MGU5NDk3NTI5
OWU0MTJkYjA2OWI3YjA1MzZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlLmNwcApAQCAtMTc0LDYgKzE3NCwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpj
b25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUBXZWJDbwogZXh0
ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjNUZXN0R2VuZXJhdGVJc1JlYWNo
YWJsZUVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEdl
bmVyYXRlSXNSZWFjaGFibGUqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0R2VuZXJhdGVJc1Jl
YWNoYWJsZT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlND
OjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNo
YWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdl
bmVyYXRlSXNSZWFjaGFibGUuaAppbmRleCA5YTc1YTdjYjVhZGU5NGI3MTY4YzJkYjM2MDRkNGRl
Yzg4YTU1ZDg0Li4zZmNmMDllZTNmZTljZjUxYzM3M2I0ZjQ2MTIwNTJkOGQ2NTQ2NGZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmgKQEAgLTgxLDYgKzgxLDcgQEAgaW5s
aW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwg
VGVzdEdlbmVyYXRlSXNSZWFjaGEKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKik7CiBpbmxpbmUg
SlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlJiBpbXBsKSB7IHJldHVybiB0
b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEdlbmVyYXRl
SXNSZWFjaGFibGUqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZh
Y2UuY3BwCmluZGV4IDEwMzU2ODhhOTljM2I1MDU2NzhiZDQ4NWFkNjdhYmQ5NzBhMmE5YjEuLmQz
ZTgwODgyZjA2N2NlYTZmMzBhNmExYWNjMWVlNTM2NTIwNjQ4ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZh
Y2UuY3BwCkBAIC05NTUsNiArOTU1LDEzIEBAIHZvaWQgSlNUZXN0SW50ZXJmYWNlT3duZXI6OmZp
bmFsaXplKEpTQzo6SlNDZWxsKiYgY2VsbCwgdm9pZCogY29udGV4dCkKICAgICB1bmNhY2hlV3Jh
cHBlcih3b3JsZCwgJndyYXBwZXIuaW1wbCgpLCAmd3JhcHBlcik7CiB9CiAKK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdEludGVyZmFjZSogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAg
ICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RJbnRl
cmZhY2U+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEludGVyZmFj
ZSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKaW5kZXggMGJjNzdl
ZjI5NzkyNWQzODA5NTBhODQ4ZTc3Y2EyYjZmMjlmMjQzMi4uMWVmZDc1MmQ4NjQ0NjFmNGQzZmFm
ZjI0N2MyZjhiNzQ5MzU4MjFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaApAQCAtMTExLDYgKzExMSw3
IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJX
b3JsZCYsIFRlc3RJbnRlcmZhY2UqKQogCiBXRUJDT1JFX0VYUE9SVCBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEludGVyZmFjZSopOwog
aW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0SW50ZXJmYWNlJiBpbXBsKSB7IHJldHVybiB0b0pT
KGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEludGVyZmFjZSop
OwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmNwcAppbmRleCBmNDdlMmRhMTE2YjhkNGJkOTRhOTBiY2YyY2VhNjMx
MDQzZGEwYmE4Li4xYzAyNzA3ZjYzYjg4MmU2Y2I2N2Q3MGM0OWNiZTYwODFkZDE2MTBhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0xOTksNiAr
MTk5LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigi
Pz9fN1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQFdlCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZv
aWQqIF9aVFZON1dlYkNvcmUyNlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyRVtdOyB9CiAjZW5k
aWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lciogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPihn
bG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oCmluZGV4IDE4YjQzZDg1NTVlMGJhNzM1NWM1YjE1OGQ5ZWU3Yjdj
OGU0NzA4ZjQuLmYyMDY1MjJhNGYyY2JkYzk4ZWM3ZDI3N2ExMGQwM2Y3MWQ3ZmZhNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApAQCAtODEsNiArODEsNyBA
QCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29y
bGQmLCBUZXN0TWVkaWFRdWVyeUxpc3RMaQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNT
dGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqKTsK
IGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXImIGltcGwp
IHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAppbmRleCAwY2Y5ZTgwNmMwNmRmYWQy
ODEwM2EwY2NjZmNjMDhjYjJiMTM0Mjc0Li5hMTc1ZGFmYmU3NGNkYTYyYTgwMDhjOTA1MmRkNDQy
YTM0NmYzZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCkBAIC0yNTQs
NiArMjU0LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmll
cigiPz9fN1Rlc3ROYW1lZENvbnN0cnVjdG9yQFdlYkNvcmVACiBleHRlcm4gIkMiIHsgZXh0ZXJu
IHZvaWQqIF9aVFZON1dlYkNvcmUyMFRlc3ROYW1lZENvbnN0cnVjdG9yRVtdOyB9CiAjZW5kaWYK
ICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1w
bCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3ROYW1lZENvbnN0cnVjdG9yPihnbG9iYWxPYmplY3QsIGlt
cGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3ROYW1lZENvbnN0cnVjdG9yKiBpbXBsKQogewogICAg
IGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCmluZGV4IDY2ZjJlYzc3
MzgwZGRlODczMTJiNTNmODgzMTdkNjM3N2FjNzdhNWMuLjY1YmZiZjBlODViNTk3MzQzM2VmODJm
ZGE2YTY3NmJjNTVkMDM2NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAt
ODIsNiArODIsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihE
T01XcmFwcGVyV29ybGQmLCBUZXN0TmFtZWRDb25zdHJ1Y3RvcgogCiBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE5hbWVkQ29uc3RydWN0
b3IqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5hbWVkQ29uc3RydWN0b3ImIGltcGwp
IHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBU
ZXN0TmFtZWRDb25zdHJ1Y3RvciopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25k
ZXRlcm1pbmlzdGljLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcAppbmRleCA1ZThhYTZlMzE5MTY4NjZmNThhZjg1
MDJhZGQ3MDQ1N2E3ODZhN2M5Li4yOTc2NGJhN2Q5ZGVhNTI4MTJjYjRkZWQ2ZjMyOWY1YjA4YzMw
MGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3BwCkBAIC01MDUsNiArNTA1
LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9f
N1Rlc3ROb25kZXRlcm1pbmlzdGljQFdlYkNvcmVACiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQq
IF9aVFZON1dlYkNvcmUyMFRlc3ROb25kZXRlcm1pbmlzdGljRVtdOyB9CiAjZW5kaWYKICNlbmRp
ZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Tm9uZGV0ZXJtaW5pc3RpYyogaW1wbCkKK3sK
KyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3Jl
YXRlV3JhcHBlcjxKU1Rlc3ROb25kZXRlcm1pbmlzdGljPihnbG9iYWxPYmplY3QsIGltcGwpOwor
fQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFRlc3ROb25kZXRlcm1pbmlzdGljKiBpbXBsKQogewogICAgIGlmICgh
aW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5oCmluZGV4IGViNTE3MDNmNDI3ZTJi
NGRhMmNhNzBjNmE0ZGNkMTk4YWY4MzAwMGYuLjcyMTIxOTBkNWYyNzhjZTE5YmQ0NTIzMmZmM2Zk
NTJlMmUxMWY5NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuaApAQCAtODEsNiAr
ODEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFw
cGVyV29ybGQmLCBUZXN0Tm9uZGV0ZXJtaW5pc3RpYwogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE5vbmRldGVybWluaXN0aWMqKTsK
IGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5vbmRldGVybWluaXN0aWMmIGltcGwpIHsgcmV0
dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0Tm9u
ZGV0ZXJtaW5pc3RpYyopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5k
ZXggMmUxMGY1MzBiN2I0YmE2NGI4NDkyNWJjNDdiNDRjNjYxZTY2YjQzOC4uY2FlMzA1YjRlNDgy
YTkzZTY3NzQ1ZTgyZmE4ZjkyMDYwMmYyZTNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQ3MDQsNiArNDcw
NCwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/
XzdUZXN0T2JqQFdlYkNvcmVAQDZCQCIpW10pKCk7CiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQq
IF9aVFZON1dlYkNvcmU3VGVzdE9iakVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdE9iaiogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJl
dHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RPYmo+KGdsb2Jh
bE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE9iaiogaW1wbCkKIHsKICAgICBp
ZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T2JqLmgKaW5kZXggNzc0YzcxNDlhZDVlZjJiMjVjMjIwMDA2YjAxM2FkZDM3ZWQ5
NWNhNS4uMGJjN2ZjNmExMmJiZDI4NDU3Yzg2YWVjNDljM2RkZWZlMDYzMTQwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaApA
QCAtOTcsNiArOTcsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25l
cihET01XcmFwcGVyV29ybGQmLCBUZXN0T2JqKikKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RPYmoqKTsKIGlubGluZSBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgVGVzdE9iaiYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3Qs
ICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RPYmoqKTsKIAogLy8gRnVuY3Rpb25zCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAppbmRleCA0NDY5NDI0YzUx
ZWYxMmU4YWE0OGY1OWMzMzZhMDkyNGI3MDgxMWU3Li5jYjc5MGI3OTc1Y2ZmNjFjZGM0NDQ4OTNl
MTNlZjE2ZTFlNTQzYTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnMuY3BwCkBAIC0yNjgsNiArMjY4LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAo
KmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQFdlCiBl
eHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyNlRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAg
ICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFs
dWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oCmluZGV4IGU1MjNmYzEwYmYw
MDBjNjk3Y2YwMmNhYjNkOTg1MDA1MmZhYzgxM2IuLmNiMzc4ZGQ1Nzk5NDI4MDkzZjFmZmJlMmQw
ODdmZWYyMjdiMDFkNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnMuaApAQCAtODEsNiArODEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBw
ZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0T3ZlcmxvYWRlZENvbnN0cgogCiBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNT
dGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAm
aW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqLCBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyopOwogCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNwcApp
bmRleCA1ZjdjYTY5NjExZGI3YzA2MmU5ZmUxZmU0ZjBmZmFhZDZmYjY3MGMxLi4yYmJhNzAyM2I1
YmRjZDg3Yjc0YzU1M2JjZTQ1YWE1Yjg2MDkyNTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRl
QnVpbHRpbnMuY3BwCkBAIC0yNDMsNiArMjQzLDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9p
ZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RPdmVycmlkZUJ1aWx0aW5zQFdlYkNvcmVA
CiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyMFRlc3RPdmVycmlkZUJ1
aWx0aW5zRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0
T3ZlcnJpZGVCdWlsdGlucyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVy
biBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RPdmVycmlkZUJ1aWx0
aW5zPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4
ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RPdmVycmlkZUJ1
aWx0aW5zKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWls
dGlucy5oCmluZGV4IDA0NDkyYWE5ZWNjNmE1YmU2ODg1OWQzMDg2OTg3NWI1NGRjZDg2NzguLmJm
NzY5MjBkZGVhY2VlZmI4OTc0YzJkMDk0MzJlOWQwZmEzNjJiYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5z
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92
ZXJyaWRlQnVpbHRpbnMuaApAQCAtODcsNiArODcsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxl
T3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0T3ZlcnJpZGVCdWlsdGlu
cwogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiwgVGVzdE92ZXJyaWRlQnVpbHRpbnMqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE92
ZXJyaWRlQnVpbHRpbnMmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAm
aW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqLCBUZXN0T3ZlcnJpZGVCdWlsdGlucyopOwogCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggZjFiNjRkMmNiNmJlYzQ5NTIzYzBlNTkyYzU0MDcy
YmQ1Y2MzYzMxYi4uZmQ2YmE5ZDJkNGFlMTM2ODNhYmY4OWEzOGZkY2E5MzhiYzYzYzA1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZS5jcHAKQEAgLTMzMyw2ICszMzMsMTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29u
c3QgX19pZGVudGlmaWVyKCI/P183VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGUKIGV4dGVy
biAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTM0VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZUVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogaW1wbCkKK3sKKyAgICBpZiAo
IWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBl
cjxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U+KGdsb2JhbE9iamVjdCwgaW1w
bCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSog
aW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKaW5kZXggNjQyMWQyMzBiNTY0NDUwMDA5NDUwNTJk
OTE5OTY0YWM0YTVjMjIyMi4uYWU0NDU4ZTg4ZjFiODc5NDQzOTY1YWFmOGI1ZmI2NzM4OGRjNDIz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuaApAQCAtODcsNiArODcsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdy
YXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0U2VyaWFsaXplZFNjcmlwdAogCiBKU0M6
OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZSopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVm
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlw
ZWRlZnMuY3BwCmluZGV4IGYwZWEyODNmYTEyMmJmM2JiNjE3ZmM2YTJhNDM0ZTAwODViNjk4OWYu
LmNlMWVmYjgyMzA4MDE4MDRlYzI3NTgzMjEyNWQ4NTkwMDUzNDQzNDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVk
ZWZzLmNwcApAQCAtNzQyLDYgKzc0MiwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpj
b25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0VHlwZWRlZnNAV2ViQ29yZUBANkJAIilbXQogZXh0
ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTJUZXN0VHlwZWRlZnNFW107IH0K
ICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
dGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RUeXBlZGVmcyogaW1w
bCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RUeXBlZGVmcz4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30K
KwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBUZXN0VHlwZWRlZnMqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5
cGVkZWZzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
VHlwZWRlZnMuaAppbmRleCA2YjE4M2E5YjlhMDUwOTc4M2RiNzE3YzMyYmE3NTkxZjg2ZTQ5YzZk
Li43YzNiNWM0NjBlN2VhY2ExYThmNzQ0YmFhZDM1MjA4MDc5YzNkN2Q1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRl
ZnMuaApAQCAtODQsNiArODQsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBw
ZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0VHlwZWRlZnMqKQogCiBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdFR5cGVkZWZzKik7
CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RUeXBlZGVmcyYgaW1wbCkgeyByZXR1cm4gdG9K
UyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RUeXBlZGVmcyop
OwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3BwCmluZGV4IDk4MzE1M2Vh
M2M2NWIxZGQ1YWUwYjdkNDYwNzQxMzIwMjAzMmFjMTYuLmQ4YmMyMjY2ODZiZjdmOWMxNDQ3NmQw
NTM4OTc1YjgxNzBiMTE1Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmNwcApAQCAtMTk1LDYgKzE5NSwxMyBAQCBl
eHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdhdHRyaWJ1
dGVAV2ViQ29yZUBANkJAIilbXSkoKQogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdX
ZWJDb3JlOWF0dHJpYnV0ZUVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgYXR0cmlidXRlKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJu
IGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTYXR0cmlidXRlPihnbG9iYWxP
YmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGF0dHJpYnV0ZSogaW1wbCkKIHsKICAgICBp
ZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNhdHRyaWJ1dGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU2F0dHJpYnV0ZS5oCmluZGV4IGI3NjllOWRhYjIyYWVhNGI4NWM3YzAzYjllNjQ4OGY5
ZTViY2ViNTEuLjYxNWU5MGEyZjE2YzA2NDVlZDNkN2VkYjc4MzZhOGY0NTNiZjlkN2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJp
YnV0ZS5oCkBAIC04Miw2ICs4Miw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3Jh
cHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIGF0dHJpYnV0ZSopCiAKIEpTQzo6SlNWYWx1ZSB0
b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBhdHRyaWJ1dGUqKTsKIGlu
bGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgYXR0cmlidXRlJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMs
IGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChK
U0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgYXR0cmlidXRlKik7CiAKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwCmluZGV4IDIwN2MwYjVlYTIzNWE3ZTkzOTRm
YmM4YmIzY2I2MGRkODcyZjdhNjQuLjdlMGZkNTZiZTI4Y2Y3YWQ3MWJkYTYxZTA3Y2IzZTVmMzgy
ZjhiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU3JlYWRvbmx5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNyZWFkb25seS5jcHAKQEAgLTE2Niw2ICsxNjYsMTMgQEAgdm9pZCBKU3JlYWRvbmx5
T3duZXI6OmZpbmFsaXplKEpTQzo6SlNDZWxsKiYgY2VsbCwgdm9pZCogY29udGV4dCkKICAgICB1
bmNhY2hlV3JhcHBlcih3b3JsZCwgJndyYXBwZXIuaW1wbCgpLCAmd3JhcHBlcik7CiB9CiAKK0pT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgcmVhZG9ubHkqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQor
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNyZWFk
b25seT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCByZWFkb25seSogaW1w
bCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaAppbmRleCBkMGUxODg4YzgzYzZhNTZjNWUxNzgz
NTIwYTU2Y2IyNzAzMmM2YjJjLi5lYzIzYTJlOTM0ZDA5ZWY1ZmExZDQ5MTEwMDI4ZDJhZWExYTQy
YWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNyZWFkb25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU3JlYWRvbmx5LmgKQEAgLTgxLDYgKzgxLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93
bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgcmVhZG9ubHkqKQogCiBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgcmVhZG9ubHkq
KTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgcmVhZG9ubHkmIGltcGwpIHsgcmV0dXJuIHRvSlMo
ZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVh
dGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCByZWFkb25seSopOwogCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01JbXBsZW1lbnRhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRp
b24uaWRsCmluZGV4IDNkMGEzM2QzOWZkMDcyNTRiYzVmOTkzNWJmYWU2OGFlODAxYjQ0MGIuLjdm
ZTRiZmY5ODY5ZDM3Yjg5NTEyNjU0M2IzMGQ0MjU1MmUzNTYzZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbApAQCAtMzAsMTAgKzMwLDEwIEBACiAKICAgICAvLyBE
T00gTGV2ZWwgMgogCi0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhj
ZXB0aW9uXSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRUeXBlKFtUcmVhdE51bGxBcz1OdWxs
U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVkXSBv
cHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQ
YXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRG9jdW1lbnRUeXBlIGNyZWF0
ZURvY3VtZW50VHlwZShbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1O
dWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHF1YWxpZmll
ZE5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nLCBE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHB1YmxpY0lkLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RyZWF0TnVsbEFzPU51
bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRd
IG9wdGlvbmFsIERPTVN0cmluZyBzeXN0ZW1JZCk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFy
YW1ldGVycywgUmFpc2VzRXhjZXB0aW9uXSBEb2N1bWVudCBjcmVhdGVEb2N1bWVudChbVHJlYXRO
dWxsQXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBu
YW1lc3BhY2VVUkksIAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4
Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudCBjcmVhdGVEb2N1bWVudChbVHJlYXROdWxsQXM9
TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lc3Bh
Y2VVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RyZWF0
TnVsbEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcg
cXVhbGlmaWVkTmFtZSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBE
b2N1bWVudFR5cGUgZG9jdHlwZSk7CiAKQEAgLTQ0LDYgKzQ0LDYgQEAKIAogICAgIC8vIEhUTUxE
T01JbXBsZW1lbnRhdGlvbiBpbnRlcmZhY2UgZnJvbSBET00gTGV2ZWwgMiBIVE1MCiAKLSAgICBI
VE1MRG9jdW1lbnQgY3JlYXRlSFRNTERvY3VtZW50KFtEZWZhdWx0PU51bGxTdHJpbmddIG9wdGlv
bmFsIERPTVN0cmluZyB0aXRsZSk7CisgICAgW05ld09iamVjdF0gSFRNTERvY3VtZW50IGNyZWF0
ZUhUTUxEb2N1bWVudChbRGVmYXVsdD1OdWxsU3RyaW5nXSBvcHRpb25hbCBET01TdHJpbmcgdGl0
bGUpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggZjMyNjQ3NzI0MDhiNTEyNjE2
ZWRmMDYyOGRjODFmNTc3NWJlMjIwYy4uZWQ4OTQ2ZmM1YTQ5N2VmMjQ0NzhhM2MzZjhiMGE3MTk1
OTEzNTBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0zMSwxNSArMzEsMTUgQEAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NSW1wbGVtZW50YXRpb24gaW1wbGVtZW50YXRpb247CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgZG9jdW1lbnRFbGVtZW50OwogCi0gICAgW1Jl
dHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbGVtZW50IGNyZWF0ZUVsZW1lbnQoW1Ry
ZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmlu
ZyB0YWdOYW1lKTsKLSAgICBEb2N1bWVudEZyYWdtZW50ICAgY3JlYXRlRG9jdW1lbnRGcmFnbWVu
dCgpOwotICAgIFtSZXR1cm5OZXdPYmplY3RdIFRleHQgY3JlYXRlVGV4dE5vZGUoW0RlZmF1bHQ9
VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7Ci0gICAgW1JldHVybk5ld09iamVj
dF0gQ29tbWVudCBjcmVhdGVDb21tZW50KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9N
U3RyaW5nIGRhdGEpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gQ0RB
VEFTZWN0aW9uIGNyZWF0ZUNEQVRBU2VjdGlvbihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFs
IERPTVN0cmluZyBkYXRhKTsKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSZXR1
cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gUHJvY2Vzc2luZ0luc3RydWN0aW9uIGNyZWF0
ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0
cmluZyB0YXJnZXQsCisgICAgW05ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbGVtZW50IGNy
ZWF0ZUVsZW1lbnQoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsRGVmYXVsdD1VbmRlZmluZWRdIG9w
dGlvbmFsIERPTVN0cmluZyB0YWdOYW1lKTsKKyAgICBbTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdt
ZW50ICAgY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOworICAgIFtOZXdPYmplY3RdIFRleHQgY3Jl
YXRlVGV4dE5vZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7
CisgICAgW05ld09iamVjdF0gQ29tbWVudCBjcmVhdGVDb21tZW50KFtEZWZhdWx0PVVuZGVmaW5l
ZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEpOworICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2Vw
dGlvbl0gQ0RBVEFTZWN0aW9uIGNyZWF0ZUNEQVRBU2VjdGlvbihbRGVmYXVsdD1VbmRlZmluZWRd
IG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0
ZXJzLCBOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gUHJvY2Vzc2luZ0luc3RydWN0aW9uIGNy
ZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERP
TVN0cmluZyB0YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmlu
ZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlz
ZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0cmlidXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0
aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2Vw
dGlvbl0gRW50aXR5UmVmZXJlbmNlIGNyZWF0ZUVudGl0eVJlZmVyZW5jZShbRGVmYXVsdD1VbmRl
ZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKKyAgICBbTmV3T2JqZWN0LCBSYWlzZXNF
eGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0cmlidXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgRE9NU3RyaW5nIG5hbWUpOworICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRW50
aXR5UmVmZXJlbmNlIGNyZWF0ZUVudGl0eVJlZmVyZW5jZShbRGVmYXVsdD1VbmRlZmluZWRdIG9w
dGlvbmFsIERPTVN0cmluZyBuYW1lKTsKIAogI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZF
X0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgW0ltcGxlbWVudGVkQXM9Z2V0RWxlbWVu
dHNCeVRhZ05hbWVGb3JPYmpDXSBOb2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFtZShbRGVmYXVs
dD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyB0YWduYW1lKTsKQEAgLTQ5LDExICs0OSwx
MSBAQAogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKIAotICAgIFtPYmpDTGVn
YWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBO
b2RlIGltcG9ydE5vZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBOb2RlIGltcG9ydGVk
Tm9kZSwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBOZXdPYmplY3QsIFJhaXNl
c0V4Y2VwdGlvbl0gTm9kZSBpbXBvcnROb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
Tm9kZSBpbXBvcnRlZE5vZGUsCiAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4g
ZGVlcCk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0dXJuTmV3T2JqZWN0
LCBSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudE5TKFtUcmVhdE51bGxBcz1O
dWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNl
VVJJLAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2Vz
RXhjZXB0aW9uXSBFbGVtZW50IGNyZWF0ZUVsZW1lbnROUyhbVHJlYXROdWxsQXM9TnVsbFN0cmlu
ZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0
PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUpOwotICAgIFtPYmpD
TGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9u
XSBBdHRyIGNyZWF0ZUF0dHJpYnV0ZU5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9
VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgIFtPYmpDTGVn
YWN5VW5uYW1lZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBBdHRyIGNy
ZWF0ZUF0dHJpYnV0ZU5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJl
YXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5n
IHF1YWxpZmllZE5hbWUpOwogCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYg
TEFOR1VBR0VfT0JKRUNUSVZFX0MKQEAgLTg0LDE5ICs4NCwxOSBAQAogCiAgICAgLy8gRE9NIExl
dmVsIDIgRXZlbnRzIChEb2N1bWVudEV2ZW50cyBpbnRlcmZhY2UpCiAKLSAgICBbUmFpc2VzRXhj
ZXB0aW9uXSBFdmVudCAgICAgICAgICAgICAgY3JlYXRlRXZlbnQoW0RlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCBET01TdHJpbmcgZXZlbnRUeXBlKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uLCBO
ZXdPYmplY3RdIEV2ZW50ICAgICAgICAgICAgICBjcmVhdGVFdmVudChbRGVmYXVsdD1VbmRlZmlu
ZWRdIG9wdGlvbmFsIERPTVN0cmluZyBldmVudFR5cGUpOwogCiAgICAgLy8gRE9NIExldmVsIDIg
VHJhbnZlcnNhbCBhbmQgUmFuZ2UgKERvY3VtZW50UmFuZ2UgaW50ZXJmYWNlKQogCi0gICAgUmFu
Z2UgICAgICAgICAgICAgIGNyZWF0ZVJhbmdlKCk7CisgICAgW05ld09iamVjdF0gUmFuZ2UgICAg
ICAgICAgICAgIGNyZWF0ZVJhbmdlKCk7CiAKICAgICAvLyBET00gTGV2ZWwgMiBUcmFudmVyc2Fs
IGFuZCBSYW5nZSAoRG9jdW1lbnRUcmF2ZXJzYWwgaW50ZXJmYWNlKQogCi0gICAgW09iakNMZWdh
Y3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uXSBOb2RlSXRlcmF0b3IgY3JlYXRl
Tm9kZUl0ZXJhdG9yKE5vZGUgcm9vdCwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJz
LCBSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gTm9kZUl0ZXJhdG9yIGNyZWF0ZU5vZGVJdGVy
YXRvcihOb2RlIHJvb3QsCiAgICAgICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hv
dywKICAgICAgICAgb3B0aW9uYWwgTm9kZUZpbHRlcj8gZmlsdGVyLAogICAgICAgICBvcHRpb25h
bCBib29sZWFuIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpOwotICAgIFtPYmpDTGVnYWN5VW5uYW1l
ZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gVHJlZVdhbGtlciBjcmVhdGVUcmVlV2Fsa2Vy
KE5vZGUgcm9vdCwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNl
cHRpb24sIE5ld09iamVjdF0gVHJlZVdhbGtlciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9vdCwK
ICAgICAgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LAogICAgICAgICBvcHRp
b25hbCBOb2RlRmlsdGVyPyBmaWx0ZXIsCiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZXhwYW5k
RW50aXR5UmVmZXJlbmNlcyk7CkBAIC0yNTUsNyArMjU1LDcgQEAKICNpZiBkZWZpbmVkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAmJiBFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUwogI2luY2x1ZGUg
PFdlYktpdEFkZGl0aW9ucy9Eb2N1bWVudElPUy5pZGw+CiAjZWxpZiBkZWZpbmVkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICYmIEVOQUJMRV9UT1VDSF9FVkVOVFMKLSAgICBbUmV0dXJuTmV3T2JqZWN0
LCBSYWlzZXNFeGNlcHRpb25dIFRvdWNoIGNyZWF0ZVRvdWNoKFtEZWZhdWx0PVVuZGVmaW5lZF0g
b3B0aW9uYWwgRE9NV2luZG93IHdpbmRvdywKKyAgICBbTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRp
b25dIFRvdWNoIGNyZWF0ZVRvdWNoKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NV2lu
ZG93IHdpbmRvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBFdmVudFRhcmdldCB0YXJnZXQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgbG9uZyBpZGVudGlmaWVyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmlu
ZWRdIG9wdGlvbmFsIGxvbmcgcGFnZVgsCkBAIC0yNjYsNyArMjY2LDcgQEAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZp
bmVkXSBvcHRpb25hbCBsb25nIHdlYmtpdFJhZGl1c1ksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgdW5yZXN0cmljdGVkIGZsb2F0IHdlYmtpdFJvdGF0aW9uQW5nbGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5l
ZF0gb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHdlYmtpdEZvcmNlKTsKLSAgICBbUmV0dXJu
TmV3T2JqZWN0LCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gVG91Y2hMaXN0IGNyZWF0ZVRvdWNo
TGlzdCgpOworICAgIFtOZXdPYmplY3QsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBUb3VjaExp
c3QgY3JlYXRlVG91Y2hMaXN0KCk7CiAjZW5kaWYKIAogICAgIC8vIFBhZ2UgdmlzaWJpbGl0eSBB
UEkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5pZGwKaW5kZXggNjJkNzAwMzE2NzYxNWRjODM3MmQ5MTg3M2E5MjdkYzQx
Yjc5M2Y1NS4uZmE0ODcxYmM5ZGNiYWFiYTI1MDlmODM3ZWRhMTJkMjI5N2E1ZjNjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmlkbApAQCAtNjgsNyArNjgsNyBAQAogICAgIFtDdXN0b20sIFJhaXNlc0V4Y2VwdGlv
bl0gTm9kZSBhcHBlbmRDaGlsZChbQ3VzdG9tUmV0dXJuXSBOb2RlIG5ld0NoaWxkKTsKIAogICAg
IGJvb2xlYW4gICAgICAgICAgICBoYXNDaGlsZE5vZGVzKCk7Ci0gICAgTm9kZSAgICAgICAgICAg
ICAgIGNsb25lTm9kZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGJvb2xlYW4gZGVlcCk7
CisgICAgW05ld09iamVjdF0gTm9kZSBjbG9uZU5vZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRp
b25hbCBib29sZWFuIGRlZXApOwogICAgIHZvaWQgICAgICAgICAgICAgICBub3JtYWxpemUoKTsK
IAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vUGFyZW50Tm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUGFyZW50Tm9k
ZS5pZGwKaW5kZXggYzYyZmM3NGE5N2FmMTlhYTc0ODU1Y2I0ZDU1MzkyNzRhMjAyYWI5ZS4uYmJl
ZjQ1YjM3MjE4YzVkODcxZjA1M2ZiMTMxM2UwMTczZDJmOWMwOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1BhcmVudE5vZGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJl
bnROb2RlLmlkbApAQCAtNDEsNSArNDEsNSBAQAogICAgIC8vIFtVbnNjb3BlYWJsZV0gRWxlbWVu
dD8gcXVlcnkoRE9NU3RyaW5nIHJlbGF0aXZlU2VsZWN0b3JzKTsKICAgICAvLyBbTmV3T2JqZWN0
LCBVbnNjb3BlYWJsZV0gRWxlbWVudHMgcXVlcnlBbGwoRE9NU3RyaW5nIHJlbGF0aXZlU2VsZWN0
b3JzKTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSBFbGVtZW50IHF1ZXJ5U2VsZWN0b3IoRE9NU3Ry
aW5nIHNlbGVjdG9ycyk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gTm9kZUxpc3QgcXVlcnlTZWxl
Y3RvckFsbChET01TdHJpbmcgc2VsZWN0b3JzKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdP
YmplY3RdIE5vZGVMaXN0IHF1ZXJ5U2VsZWN0b3JBbGwoRE9NU3RyaW5nIHNlbGVjdG9ycyk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9SYW5nZS5pZGwKaW5kZXggYmVlMDQ4M2M5YWMzMTY3OGMyYzc2NWQ3ZjcwZTM5MzIz
ZmM1OGE4Ny4uZGM4YWVkNDY5YTJmZmM2YTBkNzQzODFmNTZlMzkyM2UxZjczZmUzNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vUmFuZ2UuaWRsCkBAIC01MywxMSArNTMsMTEgQEAKICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQ
YXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Y29tcGFyZUJvdW5kYXJ5
UG9pbnRzRm9yQmluZGluZ3NdIHNob3J0IGNvbXBhcmVCb3VuZGFyeVBvaW50cyhbRGVmYXVsdD1V
bmRlZmluZWRdIG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0IGhvdywgUmFuZ2Ugc291cmNlUmFuZ2Up
OwogCiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVDb250ZW50cygpOwotICAgIFtS
YWlzZXNFeGNlcHRpb25dIERvY3VtZW50RnJhZ21lbnQgZXh0cmFjdENvbnRlbnRzKCk7Ci0gICAg
W1JhaXNlc0V4Y2VwdGlvbl0gRG9jdW1lbnRGcmFnbWVudCBjbG9uZUNvbnRlbnRzKCk7CisgICAg
W1JhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdtZW50IGV4dHJhY3RDb250
ZW50cygpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRG9jdW1lbnRGcmFnbWVu
dCBjbG9uZUNvbnRlbnRzKCk7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnROb2Rl
KE5vZGUgbmV3Tm9kZSk7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzdXJyb3VuZENvbnRl
bnRzKE5vZGUgbmV3UGFyZW50KTsKLSAgICBSYW5nZSBjbG9uZVJhbmdlKCk7CisgICAgW05ld09i
amVjdF0gUmFuZ2UgY2xvbmVSYW5nZSgpOwogICAgIERPTVN0cmluZyB0b1N0cmluZygpOwogCiAg
ICAgdm9pZCBkZXRhY2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbAppbmRleCA5ZGY4MmEyYTYzNDc3Mzc0NWE3
ZmZhZTAwZTU4ZjdlNmY1MmIzMTk2Li45NmI0YTQzNjdlZDMzODUxODMwZDdkMjU1ZDcyZmY0OTli
MTQxMDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1RleHQuaWRsCkBAIC0yMyw3ICsyMyw3IEBACiAKICAgICAvLyBET00g
TGV2ZWwgMQogCi0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gVGV4dCBzcGxpdFRleHQodW5zaWduZWQg
bG9uZyBvZmZzZXQpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gVGV4dCBzcGxp
dFRleHQodW5zaWduZWQgbG9uZyBvZmZzZXQpOwogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00g
TGV2ZWwgMzoKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIHdob2xlVGV4
dDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261319</attachid>
            <date>2015-09-16 10:51:12 -0700</date>
            <delta_ts>2015-09-16 13:50:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149192-20150916105111.patch</filename>
            <type>text/plain</type>
            <size>84021</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRmOGRkYmZkM2MyNTEw
NzI3N2JmY2EzNDc5MzQzMmRhNzFhZmVkMC4uMzYwZTlmYzI2YWY2NDY0ZTFmMjA5NjZlNDBjN2U3
MjFmODg5ZDdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMSBAQAorMjAxNS0wOS0xNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFdlYklETDogUmVuYW1lIFtS
ZXR1cm5OZXdPYmplY3RdIHRvIFtOZXdPYmplY3RdIGFuZCB1c2UgaXQgbW9yZSBjb25zaXN0ZW50
bHkgaW4gRE9NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDkxOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW5hbWUgW1JldHVybk5ld09iamVjdF0gdG8gW05ld09iamVjdF0gYW5kIHVzZSBpdCBtb3Jl
IGNvbnNpc3RlbnRseSBpbgorICAgICAgICBET00uCisKKyAgICAgICAgVGhpcyBhbGlnbnMgb3Vy
IElETCBleHRlbmRlZCBhdHRyaWJ1dGUgbmFtaW5nIHdpdGggc3RhbmRhcmQgV2ViIElETDoKKyAg
ICAgICAgaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jTmV3T2JqZWN0CisKKyAgICAg
ICAgV2UgYWxyZWFkeSBoYXZlIFtSZXR1cm5OZXdPYmplY3RdIGluIG1vc3QgcGxhY2VzIHRoYXQg
dGhlIERPTQorICAgICAgICBzcGVjaWZpY2F0aW9uIHVzZXMgW05ld09iamVjdF0gYnV0IHdlIGFy
ZSBtaXNzaW5nIGEgZmV3IHNvIEknbGwKKyAgICAgICAgZml4IHRoaXMgYXMgd2VsbDoKKyAgICAg
ICAgaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNpbnRlcmZhY2UtZG9jdW1lbnQKKworICAg
ICAgICBVc2luZyBbTmV3T2JqZWN0XSBsZXRzIHRoZSBiaW5kaW5ncyBnZW5lcmF0b3Iga25vdyB0
aGF0IHRoZSBBUEkgaW4KKyAgICAgICAgcXVlc3Rpb24gYWx3YXlzIHJldHVybnMgbmV3IG9iamVj
dHMgYW5kIHRoYXQgd2UgY2FuIGJ5cGFzcyB0aGUgY2hlY2sKKyAgICAgICAgZm9yIGV4aXN0aW5n
IHdyYXBwZXJzIGFuZCBkaXJlY3RseSBjcmVhdGUgYSBuZXcgd3JhcHBlciBmb3IgdGhlCisgICAg
ICAgIHJldHVybmVkIG9iamVjdC4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gYWRkcyBzdXBw
b3J0IGZvciBnZW5lcmF0aW5nIHRoZSB0b0pTTmV3bHlDcmVhdGVkKCkKKyAgICAgICAgdXRpbGl0
eSBmdW5jdGlvbiBmb3IgbW9zdCB0eXBlcy4gUHJldmlvdXNseSwgdG8gdXNlIFtSZXR1cm5OZXdP
YmplY3RdCisgICAgICAgIGZvciBhIG5ldyB0eXBlLCB5b3UgbmVlZGVkIHRvIGFkZCB0aGUgdHlw
ZSB0byBhIGhhcmQtY29kZWQgbGlzdCBpbgorICAgICAgICB0aGUgYmluZGluZ3MgZ2VuZXJhdG9y
IHRoZW4gcHJvdmlkZSB5b3VyIG93biBpbXBsZW1lbnRhdGlvbiBmb3IKKyAgICAgICAgdG9KU05l
d2x5Q3JlYXRlZCgpIGFzIGN1c3RvbSBiaW5kaW5ncy4KKworICAgICAgICBObyBuZXctZXhwb3Nl
ZCBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgQWRkIHRvSlNO
ZXdseUNyZWF0ZWQoKSBjdXN0b20gaW1wbGVtZW50YXRpb24gZm9yIE5vZGUsIEV2ZW50IGFuZAor
ICAgICAgICBEb2N1bWVudCwgdGhhdCBzaGFyZXMgY29kZSB3aXRoIHRoZSBleGlzdGluZyB0b0pT
KCkgaW1wbGVtZW50YXRpb24gZm9yCisgICAgICAgIHRob3NlIHR5cGVzLgorCisgICAgICAgICog
YmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGlu
Z3MvanMvSlNUb3VjaEN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMv
SlNUb3VjaExpc3RDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICBEcm9wIHNldmVyYWwgY3Vz
dG9tIGJpbmRpbmdzIGZpbGVzIGFzIHRoZSBiaW5kaW5ncyBnZW5lcmF0b3IgaXMKKyAgICAgICAg
bm93IGFibGUgdG8gZ2VuZXJhdGUgdGhlIHRvSlNOZXdseUNyZWF0ZWQoKSB1dGlsaXR5IGZ1bmN0
aW9uIGZvcgorICAgICAgICBtb3N0IHR5cGVzLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIC0gUmVuYW1lIFtSZXR1cm5OZXdPYmplY3Rd
IHRvIFtOZXdPYmplY3RdLgorICAgICAgICAtIEdlbmVyYXRlIGEgdG9KU05ld2x5Q3JlYXRlZCgp
IHdoZW5ldmVyIHdlIGdlbmVyYXRlIGEgdG9KUygpIGFscmVhZHkuCisgICAgICAgICAgR2V0IHJp
ZCBvZiB0aGUgaGFyZC1jb2RlZCBsaXN0IG9mIHR5cGVzIHRoYXQgbmVlZCBhCisgICAgICAgICAg
dG9KU05ld2x5Q3JlYXRlZCgpLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRy
aWJ1dGVzLnR4dDoKKyAgICAgICAgUmVuYW1lIFtSZXR1cm5OZXdPYmplY3RdIHRvIFtOZXdPYmpl
Y3RdLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURP
TU9iamVjdC5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFj
dGl2ZURPTU9iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHA6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50
ZXJmYWNlT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEN1c3RvbU5hbWVkR2V0dGVyLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uaDoKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHA6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmg6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmg6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmg6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5o
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0
aW5zLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJp
ZGVCdWlsdGlucy5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHA6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmg6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5Lmg6CisgICAgICAgIFJlYmFzZWxpbmUgYmluZGluZ3Mg
dGVzdHMuCisKKyAgICAgICAgKiBkb20vQXR0ci5pZGw6CisgICAgICAgICogZG9tL0NEQVRBU2Vj
dGlvbi5pZGw6CisgICAgICAgICogZG9tL0NvbW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9Eb2N1
bWVudEZyYWdtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRUeXBlLmlkbDoKKyAgICAg
ICAgKiBkb20vRW50aXR5UmVmZXJlbmNlLmlkbDoKKyAgICAgICAgKiBkb20vUHJvY2Vzc2luZ0lu
c3RydWN0aW9uLmlkbDoKKyAgICAgICAgQWRkIFtKU0dlbmVyYXRlVG9KU09iamVjdF0gc28gdGhh
dCB0aGUgYmluZGluZ3MgZ2VuZXJhdG9yIGdlbmVyYXRlcworICAgICAgICBhIHRvSlMoKSAvIHRv
SlNOZXdseUNyZWF0ZWQoKSBmb3IgdGhpcyB0eXBlLiBXaGlsZSBpdCBpcyBub3Qgc3RyaWN0bHkK
KyAgICAgICAgbmVlZGVkLCBpdCBhdm9pZHMgZmFsbGluZyBiYWNrIHRvIHVzaW5nIHRoZSB0b0pT
KCkgZnJvbSBOb2RlIHdoaWNoCisgICAgICAgIGNhbGxzIHRoZSB2aXJ0dWFsIG5vZGVUeXBlKCkg
ZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSBub2RlIHR5cGUuCisgICAgICAgIFRoaXMgY2hhbmdl
IHdhcyBtYWRlIGZvciBlZmZpY2llbmN5IHB1cnBvc2VzLgorCisgICAgICAgICogZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmlkbDoKKyAgICAgICAgUmVuYW1lIFtSZXR1cm5OZXdPYmplY3RdIHRvIFtO
ZXdPYmplY3RdIGFuZCBhZGQgaXQgdG8gY3JlYXRlSFRNTERvY3VtZW50KCkKKyAgICAgICAgYXMg
d2VsbCwgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICBodHRwczovL2RvbS5zcGVj
LndoYXR3Zy5vcmcvI2ludGVyZmFjZS1kb21pbXBsZW1lbnRhdGlvbgorCisgICAgICAgICogZG9t
L0RvY3VtZW50LmlkbDoKKyAgICAgICAgUmVuYW1lIFtSZXR1cm5OZXdPYmplY3RdIHRvIFtOZXdP
YmplY3RdIGFuZCBhZGQgaXQgdG8gbW9yZSBvcGVyYXRpb25zCisgICAgICAgIGFzIHBlciBoZSBE
T00gc3BlY2lmaWNhdGlvbjoKKyAgICAgICAgaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNk
b2N1bWVudAorCisgICAgICAgICogZG9tL05vZGUuaWRsOgorICAgICAgICBBZGQgW05ld09iamVj
dF0gdG8gY2xvbmVOb2RlKCkgYXMgcGVyIHRoZSBET00gc3BlY2lmaWNhdGlvbjoKKyAgICAgICAg
aHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNub2RlCisKKyAgICAgICAgKiBkb20vUGFyZW50
Tm9kZS5pZGw6CisgICAgICAgIEFkZCBbTmV3T2JqZWN0XSB0byBxdWVyeVNlbGVjdG9yQWxsKCkg
YXMgcGVyIHRoZSBET00gc3BlY2lmaWNhdGlvbjoKKyAgICAgICAgaHR0cHM6Ly9kb20uc3BlYy53
aGF0d2cub3JnLyNwYXJlbnRub2RlCisKKyAgICAgICAgKiBkb20vUmFuZ2UuaWRsOgorICAgICAg
ICBBZGQgW05ld09iamVjdF0gZm9yIHNldmVyYWwgb3BlcmF0aW9ucywgYXMgcGVyIHRoZSBET00g
c3BlY2lmaWNhdGlvbjoKKyAgICAgICAgaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNpbnRl
cmZhY2UtcmFuZ2UKKwogMjAxNS0wOS0xNiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIHN0cmF5IGxvZ2dpbmcgc3RyaW5nIG1pc3Rha2VubHkgbGVm
dCBpbiByMTg5NzQ2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlZjE2YjdlODRhOWY2NDljZjgz
MjVmN2ExODkzODZhMWE3NWU3ZTM1Li5kZDY2NDVjYTRhOGJjNzBkOGQ3MjFmOGFmZWRkM2E4OWVi
NTNiYzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTA4Niw3ICsxMDg2LDYgQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTQXVkaW9UcmFja0xpc3RDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNCaXF1YWRGaWx0ZXJOb2RlQ3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTQmxvYkN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCiAgICAgYmluZGlu
Z3MvanMvSlNDU1NSdWxlTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0NTU1N0eWxl
RGVjbGFyYXRpb25DdXN0b20uY3BwCkBAIC0xMjAxLDEyICsxMjAwLDkgQEAgc2V0KFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU1N0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTU3Vi
dGxlQ3J5cHRvQ3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU1RleHRUcmFja0N1ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U1RleHRUcmFja0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RleHRUcmFja0xpc3RDdXN0
b20uY3BwCi0gICAgYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9q
cy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU1RyZWVXYWxrZXJDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA2ZDEyMjg1NDJlMWYwMmEzZTk5NjA5Yzg2MGNiN2Ji
NjIxMDc5ZjU0Li5hNjI0YTEzY2Y5MzY3ZWU3NmE2ZGQzOGE2NWY1MTdkMjRjNTFiNzRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE3
NDc1LDIwICsxNzQ3NSw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIj4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNh
aXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19X
aW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
U3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNh
aXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
X1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJv
ZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJv
ZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ29tbWFuZExpbmVBUElI
b3N0Q3VzdG9tLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CkBAIC0xODcyMSwyMCArMTg3MDcsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVGV4dEN1c3RvbS5jcHAiPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2lu
Q2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
X1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVs
ZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2lu
Q2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUcmVlV2Fsa2VyQ3Vz
dG9tLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBA
IC0yMjg1OSw0ICsyMjgzMSw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFy
Z2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxkQ3VzdG9t
aXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBk
M2IwMDc3Y2E3NDQ3NTFlZjJhNjhiMDY3OWY4ODEzYzE2MmMyZjhiLi45OWYzYmNhNDc3NjQzODJj
MzBmY2IyOTA1YWQxMzIzNDJlZWI0YjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00MjM2LDkgKzQyMzYs
NiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNDYW52YXNSZW5k
ZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0
ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5n
c1xqc1xKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAiPgotICAgICAgPEZpbHRlcj5iaW5kaW5nc1xq
czwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0b20uY3BwIj4KICAgICAgIDxGaWx0
ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTQ0NDksOSArNDQ0
Niw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1NWR1BhdGhT
ZWdDdXN0b20uY3BwIj4KICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8
L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVGV4
dEN1c3RvbS5jcHAiPgotICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgotICAgIDwv
Q2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNUcmVl
V2Fsa2VyQ3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAg
ICAgPC9DbENvbXBpbGU+CkBAIC0xNTQ2Miw0ICsxNTQ1Niw0IEBACiAgICAgICA8RmlsdGVyPnBs
YXRmb3JtXHdpbjwvRmlsdGVyPgogICAgIDwvTUFTTT4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2pl
Y3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQ1Njk5ZGFj
OWVkZWIwMGU3YWE3YzNlZTFhYTAyMWZiMGZhYWY5NjguLmJkMmI5YWM0MmMyNzU2YmM5MDNmZTYy
MDI2ZGNlOGIwMTZmM2UyYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY5MCw3ICs2OTAsNiBAQAogCQkxQTJBNjgyNDBCNUJF
REU3MDAwMkE0ODAgLyogUHJvZ3Jlc3NUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBNjgyMjBCNUJFREU3MDAwMkE0ODAgLyogUHJvZ3Jl
c3NUcmFja2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMUEyQUFDNTgwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkFB
QzU2MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgKi87IH07
CiAJCTFBMkFBQzU5MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQUFDNTcw
REMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUEyQzQwQUIwREVCNTVBQTAw
NUFGMTlFIC8qIEpTVGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9t
LmNwcCAqLzsgfTsKIAkJMUEyRTZFNTkwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTU3MEND
NTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi87IH07CiAJCTFBMkU2RTVBMENDNTUyMTMw
MDRBMjA2MiAvKiBTUUxWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEyRTZFNTgwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyRTZFN0EwQ0M1
NTZENTAwNEEyMDYyIC8qIFNRTGl0ZUF1dGhvcml6ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRTZFNzgwQ0M1NTZENTAwNEEyMDYyIC8qIFNR
TGl0ZUF1dGhvcml6ZXIuY3BwICovOyB9OwpAQCAtMzUwNyw3ICszNTA2LDYgQEAKIAkJOTNCNzBE
NkYwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCNzBENTMwOUVCMEM3QzAwOUQ4NDY4
IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwICovOyB9OwogCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0
NjggLyogU2NyaXB0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNCNzBENTQwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xs
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5
M0I3N0EzODBBREQ3OTI1MDBFQTRCODEgLyogRnJhbWVMb2FkZXJUeXBlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCNzdBMzcwQURENzkyNTAwRUE0
QjgxIC8qIEZyYW1lTG9hZGVyVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQk5M0JBNTlCMjBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNl
Y3Rpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNCQTU5QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNw
cCAqLzsgfTsKIAkJOTNDMDlBNTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNDMDlBNTIwQjA2
NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzQzA5QTdGMEIwNjRFRUYwMDVBQkQ0RCAvKiBFdmVu
dEhhbmRsZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0MwOUE3RTBCMDY0RUVGMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyTWFjLm1tICovOyB9
OwogCQk5M0MwOUE4MTBCMDY0RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQzA5QTgwMEIwNjRGMDAw
MDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuY3BwICovOyB9OwpAQCAtNzg2NCw3ICs3ODYyLDYgQEAK
IAkJMUEyQTY4MjIwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvZ3Jlc3NUcmFja2VyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBMkFBQzU2MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBB
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFBMkFBQzU3MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUg
LyogSlNUZXh0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTVGV4dEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkU2RTU3
MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTUUxWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFBMkU2RTU4MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTUUxWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQTJFNkU3ODBDQzU1NkQ1MDA0QTIwNjIgLyogU1FMaXRlQXV0aG9yaXplci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTUUxpdGVBdXRob3JpemVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwODgxLDcgKzEwODc4LDYgQEAKIAkJOTNCNzBE
NTMwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5M0I3MEQ1NDA5RUIwQzdDMDA5RDg0NjggLyogU2NyaXB0Q29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0Q29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0I3N0EzNzBBREQ3OTI1MDBF
QTRCODEgLyogRnJhbWVMb2FkZXJUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBGcmFtZUxvYWRlclR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkz
QkE1OUIxMEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQzA5QTUyMEIwNjREQjMwMDVBQkQ0RCAv
KiBFdmVudEhhbmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRI
YW5kbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQzA5QTdFMEIwNjRFRUYw
MDVBQkQ0RCAvKiBFdmVudEhhbmRsZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBFdmVudEhhbmRsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzQzA5QTgwMEIwNjRGMDAwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRIYW5kbGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxNTc0LDcgKzIxNTcwLDYgQEAKIAkJCQk4OTMxREU1
QTE0QzQ0QzQ0MDAwREM5RDIgLyogSlNCbG9iQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUVFRDE0QjEw
NTE5NzE5MDAwOTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwICov
LAogCQkJCTQ5RUVEMTREMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwICovLAotCQkJCTkzQkE1OUIxMEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRB
U2VjdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJN0MzM0YzNTgxQjRBMDQ0ODAwNTAyQ0FGIC8qIEpT
Q2hhcmFjdGVyRGF0YUN1c3RvbS5jcHAgKi8sCiAJCQkJQTU4NEZFMzcxODY0REFDMTAwODQzQjEw
IC8qIEpTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcCAqLywKIAkJCQkxNDhCNEZGNzFCNjkw
NDIxMDBDOTU0RTQgLyogSlNDb3VudFF1ZXVpbmdTdHJhdGVneUN1c3RvbS5jcHAgKi8sCkBAIC0y
MTY3MCw3ICsyMTY2NSw2IEBACiAJCQkJRTFGRjhGNjYxODA3NDYwODAwMTMyNjc0IC8qIEpTU3Vi
dGxlQ3J5cHRvQ3VzdG9tLmNwcCAqLywKIAkJCQkwOEU0RkU0NTBFMkJENDE0MDBGNENBRTAgLyog
SlNTVkdMZW5ndGhDdXN0b20uY3BwICovLAogCQkJCUIyQzk2RDhDMEIzQUYyQjcwMDVFODBFQyAv
KiBKU1NWR1BhdGhTZWdDdXN0b20uY3BwICovLAotCQkJCTFBMkM0MEFBMERFQjU1QUEwMDVBRjE5
RSAvKiBKU1RleHRDdXN0b20uY3BwICovLAogCQkJCTA3RTExNzA2MTQ4OUVCRUIwMEVDNUFDRSAv
KiBKU1RleHRUcmFja0N1ZUN1c3RvbS5jcHAgKi8sCiAJCQkJMDdFMTE2QjAxNDg5QzlBMTAwRUM1
QUNFIC8qIEpTVGV4dFRyYWNrQ3VzdG9tLmNwcCAqLywKIAkJCQkwN0I1QTMwQzE0Njg3RDcxMDBB
ODFFQ0UgLyogSlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCAqLywKQEAgLTI4OTk5LDcgKzI4OTkz
LDYgQEAKIAkJCQk0OUVFRDE1MDEwNTE5NzFBMDAwOTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdD
b250ZXh0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3M0FCNEI3MTdGOTJFQ0YwMDZF
MEQ2RiAvKiBKU0NhcGFiaWxpdHlSYW5nZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0Y5QjdB
MDBCQTYwMzI2MDA4NTQwNjQgLyogSlNDREFUQVNlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJOTNCQTU5QjIwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUZEQTE1RUExMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0NoYW5uZWxN
ZXJnZXJOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1RUEzMTJCMDNFRTEwMDNBNTgz
QSAvKiBKU0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMx
RjMwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTQ2hhcmFjdGVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTI5NTYzLDcgKzI5NTU2LDYgQEAKIAkJCQk3MURDQjcwMTE1NjgxOTc2MDA4NjIyNzEgLyog
SlNTVkdab29tQW5kUGFuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzRTE4MEFCNzVBNkYw
MDBFNUFDNCAvKiBKU1NWR1pvb21FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzIw
MzA5RDFDQzYwMDAwQkUzMjUgLyogSlNUZXh0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFBMkM0
MEFCMERFQjU1QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOTMzQTE0QjgwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDRUY0NUY1MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTA3MDc1Njk0MTQyMjY2OEQwMDQxNDE2MSAvKiBKU1RleHRUcmFj
ay5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IGI1YzVmZjJlNTYwMDVmN2NmMzYwMzc0NDhkNTlh
NmVlYjNiYTVkMDIuLjAxNmVmYjBjNTc3NGY2YjY1OWQzMGZkZTRhOWY4Yjc5ZTQxZjUxYWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNw
cApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkpTQXVkaW9UcmFja0N1c3RvbS5jcHAiCiAj
aW5jbHVkZSAiSlNBdWRpb1RyYWNrTGlzdEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNCbG9iQ3Vz
dG9tLmNwcCIKLSNpbmNsdWRlICJKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAiCiAjaWYgRU5BQkxF
KFNUUkVBTVNfQVBJKQogI2luY2x1ZGUgIkpTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3Bw
IgogI2VuZGlmCkBAIC0xMzMsMTIgKzEzMiw5IEBACiAjaW5jbHVkZSAiSlNTdG9yYWdlQ3VzdG9t
LmNwcCIKICNpbmNsdWRlICJKU1N0eWxlU2hlZXRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTU3R5
bGVTaGVldExpc3RDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVGV4dEN1c3RvbS5jcHAiCiAjaW5j
bHVkZSAiSlNUZXh0VHJhY2tDdWVDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrQ3Vz
dG9tLmNwcCIKICNpbmNsdWRlICJKU1RleHRUcmFja0xpc3RDdXN0b20uY3BwIgotI2luY2x1ZGUg
IkpTVG91Y2hDdXN0b20uY3BwIgotI2luY2x1ZGUgIkpTVG91Y2hMaXN0Q3VzdG9tLmNwcCIKICNp
bmNsdWRlICJKU1RyYWNrQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RyYWNrRXZlbnRDdXN0b20u
Y3BwIgogI2luY2x1ZGUgIkpTVHJlZVdhbGtlckN1c3RvbS5jcHAiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDk3MDkxZGFiZDk5YjlhNmM5NzM4ZDIwNjFjOGVmZTNlOWZiNDYx
MWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwCisrKyAvZGV2L251
bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSlNDREFUQVNl
Y3Rpb24uaCIKLQotI2luY2x1ZGUgIkNEQVRBU2VjdGlvbi5oIgotCi11c2luZyBuYW1lc3BhY2Ug
SlNDOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDREFUQVNlY3Rpb24q
IHNlY3Rpb24pCi17Ci0gICAgaWYgKCFzZWN0aW9uKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7
Ci0KLSAgICByZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgQ0RBVEFTZWN0
aW9uLCBzZWN0aW9uKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAppbmRleCA3MGNjZGFmZjQw
MWU4Y2I0Y2UyNDExYTBmNzhjNjQ4OGFjZDUzYWJhLi5hYjg4NzliZjJmNTAzODg5MzcxYjJmOTBl
ODdhNjZmY2FjZTg3MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RvY3VtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rv
Y3VtZW50Q3VzdG9tLmNwcApAQCAtNzksNiArNzksMzEgQEAgdm9pZCBKU0RvY3VtZW50OjpzZXRM
b2NhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUpCiAgICAgICAgIGxvY2F0aW9u
LT5zZXRIcmVmKGxvY2F0aW9uU3RyaW5nLCBhY3RpdmVET01XaW5kb3coZXhlYyksIGZpcnN0RE9N
V2luZG93KGV4ZWMpKTsKIH0KIAorc3RhdGljIGlubGluZSBKU1ZhbHVlIGNyZWF0ZU5ld0RvY3Vt
ZW50V3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICBKU09iamVjdCogd3JhcHBlcjsKKyAgICBp
ZiAoZG9jdW1lbnQuaXNIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgd3JhcHBlciA9IENSRUFURV9E
T01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEhUTUxEb2N1bWVudCwgJmRvY3VtZW50KTsKKyAgICBl
bHNlIGlmIChkb2N1bWVudC5pc1NWR0RvY3VtZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBDUkVB
VEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBTVkdEb2N1bWVudCwgJmRvY3VtZW50KTsKKyAg
ICBlbHNlCisgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0
LCBEb2N1bWVudCwgJmRvY3VtZW50KTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgZG9jdW1lbnQg
aXMga2VwdCBhcm91bmQgYnkgdGhlIHdpbmRvdyBvYmplY3QsIGFuZCB3b3JrcyByaWdodCB3aXRo
IHRoZQorICAgIC8vIGJhY2svZm9yd2FyZCBjYWNoZS4KKyAgICBpZiAoIWRvY3VtZW50LmZyYW1l
KCkpIHsKKyAgICAgICAgc2l6ZV90IG5vZGVDb3VudCA9IDA7CisgICAgICAgIGZvciAoTm9kZSog
biA9ICZkb2N1bWVudDsgbjsgbiA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoKm4pKQorICAgICAgICAg
ICAgKytub2RlQ291bnQ7CisKKyAgICAgICAgLy8gRklYTUU6IEFkb3B0IHJlcG9ydEV4dHJhTWVt
b3J5VmlzaXRlZCwgYW5kIHN3aXRjaCB0byByZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZC4KKyAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjU5NQor
ICAgICAgICBleGVjLT5oZWFwKCktPmRlcHJlY2F0ZWRSZXBvcnRFeHRyYU1lbW9yeShub2RlQ291
bnQgKiBzaXplb2YoTm9kZSkpOworICAgIH0KKworICAgIHJldHVybiB3cmFwcGVyOworfQorCiBK
U1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgaWYgKCFkb2N1bWVudCkKQEAgLTk2LDI2
ICsxMjEsMTIgQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgRG9jdW1lbnQqIGRvY3VtZW4KICAgICAgICAgICAgIHJldHVybiB3
cmFwcGVyOwogICAgIH0KIAotICAgIGlmIChkb2N1bWVudC0+aXNIVE1MRG9jdW1lbnQoKSkKLSAg
ICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEhUTUxEb2N1
bWVudCwgZG9jdW1lbnQpOwotICAgIGVsc2UgaWYgKGRvY3VtZW50LT5pc1NWR0RvY3VtZW50KCkp
Ci0gICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBTVkdE
b2N1bWVudCwgZG9jdW1lbnQpOwotICAgIGVsc2UKLSAgICAgICAgd3JhcHBlciA9IENSRUFURV9E
T01fV1JBUFBFUihnbG9iYWxPYmplY3QsIERvY3VtZW50LCBkb2N1bWVudCk7Ci0KLSAgICAvLyBN
YWtlIHN1cmUgdGhlIGRvY3VtZW50IGlzIGtlcHQgYXJvdW5kIGJ5IHRoZSB3aW5kb3cgb2JqZWN0
LCBhbmQgd29ya3MgcmlnaHQgd2l0aCB0aGUKLSAgICAvLyBiYWNrL2ZvcndhcmQgY2FjaGUuCi0g
ICAgaWYgKCFkb2N1bWVudC0+ZnJhbWUoKSkgewotICAgICAgICBzaXplX3Qgbm9kZUNvdW50ID0g
MDsKLSAgICAgICAgZm9yIChOb2RlKiBuID0gZG9jdW1lbnQ7IG47IG4gPSBOb2RlVHJhdmVyc2Fs
OjpuZXh0KCpuKSkKLSAgICAgICAgICAgIG5vZGVDb3VudCsrOwotICAgICAgICAKLSAgICAgICAg
Ly8gRklYTUU6IEFkb3B0IHJlcG9ydEV4dHJhTWVtb3J5VmlzaXRlZCwgYW5kIHN3aXRjaCB0byBy
ZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZC4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjU5NQotICAgICAgICBleGVjLT5oZWFwKCktPmRlcHJl
Y2F0ZWRSZXBvcnRFeHRyYU1lbW9yeShub2RlQ291bnQgKiBzaXplb2YoTm9kZSkpOwotICAgIH0K
KyAgICByZXR1cm4gY3JlYXRlTmV3RG9jdW1lbnRXcmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCwg
KmRvY3VtZW50KTsKK30KIAotICAgIHJldHVybiB3cmFwcGVyOworSlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
RG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIHJldHVybiBkb2N1bWVudCA/IGNyZWF0ZU5ld0Rv
Y3VtZW50V3JhcHBlcihleGVjLCBnbG9iYWxPYmplY3QsICpkb2N1bWVudCkgOiBqc051bGwoKTsK
IH0KIAogSlNWYWx1ZSBKU0RvY3VtZW50OjpwcmVwZW5kKEV4ZWNTdGF0ZSogc3RhdGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5oCmluZGV4IDJhMWJhMDE4
MDMyNGQwODRiNGFjNWI2YjJjOTU3ZWRjMzlhNzk2ZjcuLjBiYzBlY2NjNjFmMDNhYTFhZjc5ZmMy
NmIyMGUzNzhlNGYyNGYxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRWxlbWVudEN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxl
bWVudEN1c3RvbS5oCkBAIC0zMSw2ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
SlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2Jh
bE9iamVjdCosIEVsZW1lbnQqKTsKKwogQUxXQVlTX0lOTElORSBKU0VsZW1lbnQqIGpzRWxlbWVu
dENhc3QoSlNDOjpKU1ZhbHVlIHZhbHVlKQogewogICAgIGlmIChVTkxJS0VMWSghdmFsdWUuaXND
ZWxsKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApp
bmRleCA1NTVhZDNmYWEzZTMwMzY0ZmYyOTlmNDAwNzIyOWIxNDJiNmIyMTlhLi4yZDk1YjRkMjkx
MGNhOTE5ZDkzZGE0MTNlMzhkZWJkYTA2NDdlYzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcApAQCAtNTEsNyArNTEsMTYgQEAgSlNWYWx1ZSBKU0V2
ZW50OjpjbGlwYm9hcmREYXRhKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKIAogI2RlZmluZSBUUllf
VE9fV1JBUF9XSVRIX0lOVEVSRkFDRShpbnRlcmZhY2VOYW1lKSBcCiAgICAgY2FzZSBpbnRlcmZh
Y2VOYW1lIyNJbnRlcmZhY2VUeXBlOiBcCi0gICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQ
RVIoZ2xvYmFsT2JqZWN0LCBpbnRlcmZhY2VOYW1lLCBldmVudCk7CisgICAgICAgIHJldHVybiBD
UkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBpbnRlcmZhY2VOYW1lLCAmZXZlbnQpOwor
CitzdGF0aWMgaW5saW5lIEpTVmFsdWUgY3JlYXRlTmV3RXZlbnRXcmFwcGVyKEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50JiBldmVudCkKK3sKKyAgICBzd2l0Y2ggKGV2ZW50
LmV2ZW50SW50ZXJmYWNlKCkpIHsKKyAgICAgICAgRE9NX0VWRU5UX0lOVEVSRkFDRVNfRk9SX0VB
Q0goVFJZX1RPX1dSQVBfV0lUSF9JTlRFUkZBQ0UpCisgICAgfQorCisgICAgcmV0dXJuIENSRUFU
RV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEV2ZW50LCAmZXZlbnQpOworfQogCiBKU1ZhbHVl
IHRvSlMoRXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRXZlbnQq
IGV2ZW50KQogewpAQCAtNjQsMTEgKzczLDEzIEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAgICAgaWYgKHdy
YXBwZXIpCiAgICAgICAgIHJldHVybiB3cmFwcGVyOwogCi0gICAgc3dpdGNoIChldmVudC0+ZXZl
bnRJbnRlcmZhY2UoKSkgewotICAgICAgICBET01fRVZFTlRfSU5URVJGQUNFU19GT1JfRUFDSChU
UllfVE9fV1JBUF9XSVRIX0lOVEVSRkFDRSkKLSAgICB9CisgICAgcmV0dXJuIGNyZWF0ZU5ld0V2
ZW50V3JhcHBlcihnbG9iYWxPYmplY3QsICpldmVudCk7Cit9CiAKLSAgICByZXR1cm4gQ1JFQVRF
X0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgRXZlbnQsIGV2ZW50KTsKKworSlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEV2ZW50KiBldmVudCkKK3sKKyAgICByZXR1cm4gZXZlbnQgPyBjcmVhdGVOZXdFdmVudFdyYXBw
ZXIoZ2xvYmFsT2JqZWN0LCAqZXZlbnQpIDoganNOdWxsKCk7CiB9CiAKICN1bmRlZiBUUllfVE9f
V1JBUF9XSVRIX0lOVEVSRkFDRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOb2RlTGlzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05v
ZGVMaXN0Q3VzdG9tLmNwcAppbmRleCA5MGQ3MWViODUzMmQ2MTI5NjJlNmFjMmNiNDNjNjM1ZTFj
ZmNkNTVjLi44Y2NhMTg4YjZjNWFiZWQyMGQwMWU0MzYzOTRmMDcyODU0NzU1YWNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcApAQCAtNTks
NCArNTksMTIgQEAgSlNDOjpKU1ZhbHVlIGNyZWF0ZVdyYXBwZXIoSlNET01HbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCwgTm9kZUxpc3QmIG5vZGVMaXN0KQogICAgIHJldHVybiBjcmVhdGVOZXdX
cmFwcGVyPEpTTm9kZUxpc3Q+KCZnbG9iYWxPYmplY3QsICZub2RlTGlzdCk7CiB9CiAKK0pTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgTm9kZUxpc3QqIG5vZGVMaXN0KQoreworICAgIGlmICghbm9kZUxp
c3QpCisgICAgICAgIHJldHVybiBKU0M6OmpzTnVsbCgpOworCisgICAgcmV0dXJuIGNyZWF0ZVdy
YXBwZXIoKmdsb2JhbE9iamVjdCwgKm5vZGVMaXN0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2OTMzYTBjNjA3ODUyYjAyZGY4YTU5OTg3ZTkxMWI1
OTdkY2UwM2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTVGV4dC5oIgotCi0jaW5j
bHVkZSAiVGV4dC5oIgotCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBUZXh0KiB0ZXh0KQotewotICAgIGlmICghdGV4dCkKLSAgICAg
ICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIAotICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIo
Z2xvYmFsT2JqZWN0LCBUZXh0LCB0ZXh0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoQ3VzdG9tLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOTAwMjZmMmFhM2E0YWI5ZDlhNDc4MWZlZGYwNjJlN2IxZTcy
Njg0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoQ3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDUwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBT
b3VyY2UgUHJvamVjdAotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmICFQTEFURk9STShJT1MpCi0j
aWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLQotI2luY2x1ZGUgIkpTVG91Y2guaCIKLQotI2luY2x1
ZGUgIkpTRE9NQmluZGluZy5oIgotCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLUpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUb3VjaCogdG91Y2gpCi17Ci0gICAgaWYgKCF0b3Vj
aCkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotCi0gICAgcmV0dXJuIENSRUFURV9ET01fV1JB
UFBFUihnbG9iYWxPYmplY3QsIFRvdWNoLCB0b3VjaCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0jZW5kaWYgLy8gIVBMQVRG
T1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hM
aXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3Vz
dG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRlZGZlODc5ZjI2YWE4Y2Ux
YTI3NGVkMmU3YjBmYjhmNTk3ZjJkMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoTGlzdEN1c3Rv
bS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIw
MTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0K
LSNpZiAhUExBVEZPUk0oSU9TKQotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0KLSNpbmNsdWRl
ICJKU1RvdWNoTGlzdC5oIgotCi0jaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0KLXVzaW5nIG5h
bWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRvdWNo
TGlzdCogdG91Y2hMaXN0KQotewotICAgIGlmICghdG91Y2hMaXN0KQotICAgICAgICByZXR1cm4g
anNOdWxsKCk7Ci0KLSAgICByZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwg
VG91Y2hMaXN0LCB0b3VjaExpc3QpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotI2VuZGlmIC8vICFQTEFURk9STShJT1MpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CmluZGV4IDY0NjNjY2FiNDMzZjMyMGM5MjMwYzZmODdkYjQzY2I5YTMxOTk4YjEuLmMzYzVkM2Zi
YTAxYzBjMGViNGQ4M2Y3YjY5OWY0ODVjMTI0N2MxYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC01MDksMTUgKzUwOSw2
IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uQ29udGVudEhlYWRlcgogICAgIHJldHVybiBA
aW1wbENvbnRlbnRIZWFkZXI7CiB9CiAKLW15ICV1c2VzVG9KU05ld2x5Q3JlYXRlZCA9ICgKLSAg
ICAiQ0RBVEFTZWN0aW9uIiA9PiAxLAotICAgICJFbGVtZW50IiA9PiAxLAotICAgICJOb2RlIiA9
PiAxLAotICAgICJUZXh0IiA9PiAxLAotICAgICJUb3VjaCIgPT4gMSwKLSAgICAiVG91Y2hMaXN0
IiA9PiAxCi0pOwotCiBzdWIgU2hvdWxkR2VuZXJhdGVUb0pTRGVjbGFyYXRpb24KIHsKICAgICBt
eSAoJGhhc1BhcmVudCwgJGludGVyZmFjZSkgPSBAXzsKQEAgLTEyMTEsMTEgKzEyMDIsMTAgQEAg
c3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAkZXhw
b3J0TGFiZWwuIkpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqLCAkaW1wbFR5cGUqKTtcbiIpOwogICAgICAgICB9CiAgICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICJpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsICRpbXBsVHlwZSYgaW1wbCkgeyByZXR1
cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfVxuIik7CisKKyAgICAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgIkpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCAkaW1wbFR5cGUqKTtcbiIpOwogICAgIH0KLSAg
ICBpZiAoJHVzZXNUb0pTTmV3bHlDcmVhdGVkeyRpbnRlcmZhY2VOYW1lfSkgewotICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosICRpbnRlcmZhY2VOYW1lKik7XG4iKTsKLSAg
ICB9Ci0gICAgCisKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiXG4iKTsKIAogICAgICMgQWRk
IHByb3RvdHlwZSBkZWNsYXJhdGlvbi4KQEAgLTMwNTYsNiArMzA0NiwxOSBAQCBleHRlcm4gIkMi
IHsgZXh0ZXJuIHZvaWQqICR7dnRhYmxlTmFtZUdudX1bXTsgfQogI2VuZGlmCiBFTkQKIAorICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIkpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgJGltcGxUeXBl
KiBpbXBsKVxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CitwdXNoKEBp
bXBsQ29udGVudCwgPDxFTkQpOworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVs
bCgpOworRU5ECisgICAgICAgIGlmICgkc3ZnUHJvcGVydHlUeXBlKSB7CisgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gY3JlYXRlTmV3V3JhcHBlcjwkY2xhc3NOYW1l
LCAkaW1wbFR5cGU+KGdsb2JhbE9iamVjdCwgaW1wbCk7XG4iKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBjcmVhdGVOZXdXcmFw
cGVyPCRjbGFzc05hbWU+KGdsb2JhbE9iamVjdCwgaW1wbCk7XG4iKTsKKyAgICAgICAgfQorICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CisKICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsICRpbXBsVHlwZSogaW1wbClcbiIpOwogICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIntcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwpA
QCAtNDExNiw3ICs0MTE5LDcgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogCiAgICAgcmV0dXJuICR2
YWx1ZSBpZiAkY29kZUdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUoJHR5cGUpOwogCi0gICAg
aWYgKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXR1cm5OZXdPYmplY3QifSkg
eworICAgIGlmICgkc2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmV3T2JqZWN0In0p
IHsKICAgICAgICAgcmV0dXJuICJ0b0pTTmV3bHlDcmVhdGVkKGV4ZWMsICRnbG9iYWxPYmplY3Qs
IFdURjo6Z2V0UHRyKCR2YWx1ZSkpIjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IGI3MWNiZDcwZjU0Mzk2MjI3
YTY3M2M3Zjg1YzE4NjFkYTk0ZGExZmYuLjQ3NzkxMmE3OWRkYTc1YmE3N2EwZjI5N2MwODMzM2Jk
NTdkM2Q3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURM
QXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExB
dHRyaWJ1dGVzLnR4dApAQCAtODgsNiArODgsNyBAQCBKU0xlZ2FjeVBhcmVudD0qCiBNYXNxdWVy
YWRlc0FzVW5kZWZpbmVkCiBOYW1lZENvbnN0cnVjdG9yPSoKIE5ld0ltcHVyZVByb3BlcnR5Rmly
ZXNXYXRjaHBvaW50cworTmV3T2JqZWN0CiBOb0ludGVyZmFjZU9iamVjdAogTm9uZGV0ZXJtaW5p
c3RpYwogTm90RW51bWVyYWJsZQpAQCAtMTA4LDcgKzEwOSw2IEBAIFJlcGxhY2VhYmxlCiBSZXBs
YWNlYWJsZUNvbnN0cnVjdG9yCiBSZXBvcnRFeHRyYU1lbW9yeUNvc3QKIFJlcXVpcmVzRXhpc3Rp
bmdBdG9taWNTdHJpbmcKLVJldHVybk5ld09iamVjdAogU2V0dGVyUmFpc2VzRXhjZXB0aW9uCiBT
a2lwVlRhYmxlVmFsaWRhdGlvbgogU3RyaWN0VHlwZUNoZWNraW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3Rp
dmVET01PYmplY3QuY3BwCmluZGV4IDFhMTA5M2RmMTcyNjJkNjNkMjY1MWQ1OTUwNmIwY2I0Y2Ni
NjBmMzUuLjcxOTljNGE4YTA5NmNiMDg1ZjRjNjI4ZDk2ZDQxYTY3NmQ4NzAxMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVE
T01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC0yNjIsNiArMjYyLDEzIEBAIGV4dGVybiAi
QyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RBY3RpdmVET01P
YmplY3RAV2ViQ29yZUBACiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUx
OVRlc3RBY3RpdmVET01PYmplY3RFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RBY3RpdmVET01PYmplY3QqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQor
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNUZXN0
QWN0aXZlRE9NT2JqZWN0PihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRl
c3RBY3RpdmVET01PYmplY3QqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFj
dGl2ZURPTU9iamVjdC5oCmluZGV4IDk2Nzg3ZDQ0NGNhNmE0ZTc3OTUxMWZkNDdhODUzOWJmNWZi
YzU1YjguLmJjYTBhMzA4ODg0NzA1MDBmYWY3OWUzNjdiMGJlZGViOWUzZGY3ZTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVE
T01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIEpTQzo6V2Vh
a0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEFjdGl2ZURP
TU9iamVjdCoKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2Jh
bE9iamVjdCosIFRlc3RBY3RpdmVET01PYmplY3QqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
VGVzdEFjdGl2ZURPTU9iamVjdCYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmpl
Y3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RBY3RpdmVET01PYmplY3QqKTsKIAogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmpl
Y3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1
c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcAppbmRleCA0MmM3ZDk4ZGM4
ZjZkYTBjZTRmODJkZjg1OGU1OTk3NDJmYjU5M2U0Li41NDNiZDc2YWVlMDI2ODlmZDhiYWZhNGU5
ZDAwYTc2MmNjMjA5YjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAKQEAgLTE3OSw2ICsxNzks
MTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183
VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW4KIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCog
X1pUVk43V2ViQ29yZTQyVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0
RVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqIGltcGwpCit7CisgICAgaWYgKCFpbXBs
KQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q+KGdsb2JhbE9iamVjdCwg
aW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0KiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25zdHJ1Y3Rvcldp
dGhOb0ludGVyZmFjZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgKaW5k
ZXggZGNlOWQwNWI0ZTcwZjk4NjBiNmNkYzg3YmE4NTExMDAyZmRkZDc5YS4uOTU3ZGI2YzQ2NDll
NDk5MjliZDUxNzllNDg1YmU4YjZkYTY0ZmJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50
ZXJmYWNlT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmgKQEAgLTgw
LDYgKzgwLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9N
V3JhcHBlcldvcmxkJiwgVGVzdEN1c3RvbUNvbnN0cnVjdG8KIAogSlNDOjpKU1ZhbHVlIHRvSlMo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RDdXN0b21Db25zdHJ1Y3Rv
cldpdGhOb0ludGVyZmFjZU9iamVjdCopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3Vz
dG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QmIGltcGwpIHsgcmV0dXJuIHRvSlMo
ZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVh
dGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0Q3VzdG9tQ29uc3Ry
dWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QqKTsKIAogLy8gQ3VzdG9tIGNvbnN0cnVjdG9yCiBK
U0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0SlNUZXN0Q3VzdG9tQ29u
c3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QoSlNDOjpFeGVjU3RhdGUqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21O
YW1lZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCmluZGV4IGJiYTIzZjcxMDNjYTA2MWE0ZGU3NGRk
ZDRjYzdkMjNmNDRiZGM1OTQuLmI3NzNkMGFlNjVkM2FlMzFjMGYxYjdiOWE3MjI3ZTU2MzFmMDgx
NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtMjQ3LDYgKzI0
NywxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/
XzdUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJAV2ViQ29yZQogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lk
KiBfWlRWTjdXZWJDb3JlMjFUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJFW107IH0KICNlbmRpZgogI2Vu
ZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDdXN0b21OYW1lZEdldHRlciogaW1wbCkK
K3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxKU1Rlc3RDdXN0b21OYW1lZEdldHRlcj4oZ2xvYmFsT2JqZWN0LCBpbXBs
KTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGltcGwpCiB7CiAgICAg
aWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAppbmRleCA4NDVkN2Mz
MTBiMGEzMzU5MzA2YjIwMDczNTgyOGM2YWM0NjI4MzU2Li4wMWNkMzNhYTVjMjUwOTBhNzNkN2Jj
NTU1OTkzZDMxODZlY2I0Mzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaApA
QCAtODcsNiArODcsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25l
cihET01XcmFwcGVyV29ybGQmLCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZQogCiBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEN1c3RvbU5hbWVk
R2V0dGVyKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDdXN0b21OYW1lZEdldHRlciYg
aW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCosIFRlc3RDdXN0b21OYW1lZEdldHRlciopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAppbmRleCBmZTYxNGI2ZWRlZGIwMjYy
ZWJjZDQ2N2UwNzAwMzUxYzU5ZDVkZjNjLi41YjEyNTNhNzZkNmQ2ZmZjNzYwNmE5MDFhZWZkY2Iy
M2MwZTUzYzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0yNjYs
NiArMjY2LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmll
cigiPz9fN1Rlc3RFdmVudENvbnN0cnVjdG9yQFdlYkNvcmVACiBleHRlcm4gIkMiIHsgZXh0ZXJu
IHZvaWQqIF9aVFZON1dlYkNvcmUyMFRlc3RFdmVudENvbnN0cnVjdG9yRVtdOyB9CiAjZW5kaWYK
ICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlbnRDb25zdHJ1Y3RvciogaW1w
bCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RFdmVudENvbnN0cnVjdG9yPihnbG9iYWxPYmplY3QsIGlt
cGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFdmVudENvbnN0cnVjdG9yKiBpbXBsKQogewogICAg
IGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCmluZGV4IDAyMjE2MmIw
ZDZhZjhmMWJjYmRjNGM4NTQ1Yjc2ZDAxMjU1YzMwYjEuLjg1YjMyNzIxMjQ5NjA0ZmE0MWMxZmIz
ZWNlMWU3MDI1OTc4ZWJlNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaApAQCAt
ODMsNiArODMsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihE
T01XcmFwcGVyV29ybGQmLCBUZXN0RXZlbnRDb25zdHJ1Y3RvcgogCiBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEV2ZW50Q29uc3RydWN0
b3IqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV2ZW50Q29uc3RydWN0b3ImIGltcGwp
IHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBU
ZXN0RXZlbnRDb25zdHJ1Y3RvciopOwogCiBib29sIGZpbGxUZXN0RXZlbnRDb25zdHJ1Y3Rvcklu
aXQoVGVzdEV2ZW50Q29uc3RydWN0b3JJbml0JiwgSlNEaWN0aW9uYXJ5Jik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRh
cmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
RXZlbnRUYXJnZXQuY3BwCmluZGV4IDBjODg1N2RiMmY3OWQ4OTYxYmMwNmEzMDE4YWNhMjNhYzAz
NjY4ODEuLjEwNTFkNWI3YTRlNmVkZjFkNjc2YTUyZjUzMjBhN2U4OGM0OTI0MzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRh
cmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMzQwLDYgKzM0MCwxMyBAQCBleHRlcm4gIkMiIHsgZXh0
ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRUYXJnZXRAV2ViQ29y
ZUBANkJAIgogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTVUZXN0RXZl
bnRUYXJnZXRFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRl
c3RFdmVudFRhcmdldCogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBq
c051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RFdmVudFRhcmdldD4oZ2xv
YmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlbnRUYXJnZXQqIGltcGwp
CiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaAppbmRleCA1MTk1MzE5ZTgx
YzU2ZmJjYjRkYmEwYWMyMTJiZTVkZWQ4MGViZjI4Li5kYTc1YTM4MzI1ZTA1NWFiOGFjMjIwZjBi
ZmMxMmRiZmNkODFiNWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaApAQCAtOTEsNiArOTEsNyBA
QCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29y
bGQmLCBUZXN0RXZlbnRUYXJnZXQqKQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEV2ZW50VGFyZ2V0Kik7CiBpbmxpbmUgSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RFdmVudFRhcmdldCYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9i
YWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RFdmVudFRhcmdldCopOwogCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKaW5kZXggMzg3YzJmNjI2
YmY3MWY1ZWFlYjZjNmQyZmQ1MjBhZGJjNTkwNjNmMi4uMzdjYTQ0MGViMGM2MzRjMjIzZmViNGRk
NWM0OTVmMDU0MTA4YzgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTIxMiw2ICsyMTIs
MTMgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183
VGVzdEV4Y2VwdGlvbkBXZWJDb3JlQEA2QkAiKVsKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCog
X1pUVk43V2ViQ29yZTEzVGVzdEV4Y2VwdGlvbkVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgVGVzdEV4Y2VwdGlvbiogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwp
CisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rl
c3RFeGNlcHRpb24+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV4
Y2VwdGlvbiogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmgKaW5kZXgg
YzcxMDE0OTlkYzlkZjRkYWY1ZDg5ZGI3NDEwMDE4MTcwMTNlMDE4MC4uYmU0ZjAwNDM5ZWUxOGRk
NTMzYmM1Y2ZlZTNjM2RlN2Y1ZTk1MzJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uaApAQCAtODUsNiAr
ODUsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFw
cGVyV29ybGQmLCBUZXN0RXhjZXB0aW9uKikKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RFeGNlcHRpb24qKTsKIGlubGluZSBKU0M6
OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdEV4Y2VwdGlvbiYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9i
YWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RFeGNlcHRpb24qKTsKIAogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5j
cHAKaW5kZXggY2ZjNzhhOGI1YzQzZjFhNmU1MGU4NWIyYTRmYjA3NWNiZmIzNzMwNC4uYzU3OTA3
ZjVjOGI4MGU5NDk3NTI5OWU0MTJkYjA2OWI3YjA1MzZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RH
ZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcApAQCAtMTc0LDYgKzE3NCwxMyBAQCBleHRlcm4gIkMiIHsg
ZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0R2VuZXJhdGVJc1JlYWNo
YWJsZUBXZWJDbwogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjNUZXN0
R2VuZXJhdGVJc1JlYWNoYWJsZUVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6SlNWYWx1ZSB0
b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUqIGltcGwpCit7CisgICAgaWYgKCFpbXBs
KQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8SlNU
ZXN0R2VuZXJhdGVJc1JlYWNoYWJsZT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
R2VuZXJhdGVJc1JlYWNoYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaAppbmRleCA5YTc1YTdjYjVhZGU5NGI3
MTY4YzJkYjM2MDRkNGRlYzg4YTU1ZDg0Li4zZmNmMDllZTNmZTljZjUxYzM3M2I0ZjQ2MTIwNTJk
OGQ2NTQ2NGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmgKQEAgLTgx
LDYgKzgxLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9N
V3JhcHBlcldvcmxkJiwgVGVzdEdlbmVyYXRlSXNSZWFjaGEKIAogSlNDOjpKU1ZhbHVlIHRvSlMo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlJiBp
bXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiwgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IDEwMzU2ODhhOTljM2I1MDU2NzhiZDQ4NWFkNjdh
YmQ5NzBhMmE5YjEuLmQzZTgwODgyZjA2N2NlYTZmMzBhNmExYWNjMWVlNTM2NTIwNjQ4ZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC05NTUsNiArOTU1LDEzIEBAIHZvaWQgSlNUZXN0SW50
ZXJmYWNlT3duZXI6OmZpbmFsaXplKEpTQzo6SlNDZWxsKiYgY2VsbCwgdm9pZCogY29udGV4dCkK
ICAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJndyYXBwZXIuaW1wbCgpLCAmd3JhcHBlcik7CiB9
CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEludGVyZmFjZSogaW1wbCkKK3sKKyAgICBp
ZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3Jh
cHBlcjxKU1Rlc3RJbnRlcmZhY2U+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNW
YWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVGVzdEludGVyZmFjZSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
LmgKaW5kZXggMGJjNzdlZjI5NzkyNWQzODA5NTBhODQ4ZTc3Y2EyYjZmMjlmMjQzMi4uMWVmZDc1
MmQ4NjQ0NjFmNGQzZmFmZjI0N2MyZjhiNzQ5MzU4MjFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaApA
QCAtMTExLDYgKzExMSw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93
bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RJbnRlcmZhY2UqKQogCiBXRUJDT1JFX0VYUE9SVCBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVz
dEludGVyZmFjZSopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBl
eGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0SW50ZXJmYWNlJiBpbXBs
KSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kiwg
VGVzdEludGVyZmFjZSopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAppbmRleCBmNDdlMmRhMTE2YjhkNGJk
OTRhOTBiY2YyY2VhNjMxMDQzZGEwYmE4Li4xYzAyNzA3ZjYzYjg4MmU2Y2I2N2Q3MGM0OWNiZTYw
ODFkZDE2MTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
Y3BwCkBAIC0xOTksNiArMTk5LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0
IF9faWRlbnRpZmllcigiPz9fN1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQFdlCiBleHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyNlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lciogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJl
dHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCmluZGV4IDE4YjQzZDg1NTVlMGJhNzM1
NWM1YjE1OGQ5ZWU3YjdjOGU0NzA4ZjQuLmYyMDY1MjJhNGYyY2JkYzk4ZWM3ZDI3N2ExMGQwM2Y3
MWQ3ZmZhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApA
QCAtODEsNiArODEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25l
cihET01XcmFwcGVyV29ybGQmLCBUZXN0TWVkaWFRdWVyeUxpc3RMaQogCiBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSog
ZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXImIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7
IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciopOwogCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAppbmRleCAw
Y2Y5ZTgwNmMwNmRmYWQyODEwM2EwY2NjZmNjMDhjYjJiMTM0Mjc0Li5hMTc1ZGFmYmU3NGNkYTYy
YTgwMDhjOTA1MmRkNDQyYTM0NmYzZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0
b3IuY3BwCkBAIC0yNTQsNiArMjU0LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNv
bnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3ROYW1lZENvbnN0cnVjdG9yQFdlYkNvcmVACiBleHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyMFRlc3ROYW1lZENvbnN0cnVjdG9y
RVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0TmFtZWRD
b25zdHJ1Y3RvciogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051
bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3ROYW1lZENvbnN0cnVjdG9yPihn
bG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3ROYW1lZENvbnN0cnVjdG9y
KiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5o
CmluZGV4IDY2ZjJlYzc3MzgwZGRlODczMTJiNTNmODgzMTdkNjM3N2FjNzdhNWMuLjY1YmZiZjBl
ODViNTk3MzQzM2VmODJmZGE2YTY3NmJjNTVkMDM2NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29u
c3RydWN0b3IuaApAQCAtODIsNiArODIsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIq
IHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0TmFtZWRDb25zdHJ1Y3RvcgogCiBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVz
dE5hbWVkQ29uc3RydWN0b3IqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNT
dGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5hbWVkQ29u
c3RydWN0b3ImIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7
IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCBUZXN0TmFtZWRDb25zdHJ1Y3RvciopOwogCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcAppbmRleCA1ZThhYTZl
MzE5MTY4NjZmNThhZjg1MDJhZGQ3MDQ1N2E3ODZhN2M5Li4yOTc2NGJhN2Q5ZGVhNTI4MTJjYjRk
ZWQ2ZjMyOWY1YjA4YzMwMGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3Bw
CkBAIC01MDUsNiArNTA1LDEzIEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9f
aWRlbnRpZmllcigiPz9fN1Rlc3ROb25kZXRlcm1pbmlzdGljQFdlYkNvcmVACiBleHRlcm4gIkMi
IHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyMFRlc3ROb25kZXRlcm1pbmlzdGljRVtdOyB9
CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Tm9uZGV0ZXJtaW5p
c3RpYyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3ROb25kZXRlcm1pbmlzdGljPihnbG9iYWxP
YmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3ROb25kZXRlcm1pbmlzdGljKiBpbXBs
KQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5oCmluZGV4
IGViNTE3MDNmNDI3ZTJiNGRhMmNhNzBjNmE0ZGNkMTk4YWY4MzAwMGYuLjcyMTIxOTBkNWYyNzhj
ZTE5YmQ0NTIzMmZmM2ZkNTJlMmUxMWY5NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0
aWMuaApAQCAtODEsNiArODEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBw
ZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0Tm9uZGV0ZXJtaW5pc3RpYwogCiBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE5vbmRl
dGVybWluaXN0aWMqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSog
ZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5vbmRldGVybWluaXN0
aWMmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqLCBUZXN0Tm9uZGV0ZXJtaW5pc3RpYyopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKaW5kZXggMmUxMGY1MzBiN2I0YmE2NGI4NDkyNWJjNDdiNDRjNjYxZTY2YjQz
OC4uY2FlMzA1YjRlNDgyYTkzZTY3NzQ1ZTgyZmE4ZjkyMDYwMmYyZTNkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAK
QEAgLTQ3MDQsNiArNDcwNCwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBf
X2lkZW50aWZpZXIoIj8/XzdUZXN0T2JqQFdlYkNvcmVAQDZCQCIpW10pKCk7CiBleHRlcm4gIkMi
IHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmU3VGVzdE9iakVbXTsgfQogI2VuZGlmCiAjZW5k
aWYKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE9iaiogaW1wbCkKK3sKKyAgICBpZiAoIWlt
cGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxK
U1Rlc3RPYmo+KGdsb2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE9iaiog
aW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKaW5kZXggNzc0YzcxNDlhZDVlZjJiMjVjMjIw
MDA2YjAxM2FkZDM3ZWQ5NWNhNS4uMGJjN2ZjNmExMmJiZDI4NDU3Yzg2YWVjNDljM2RkZWZlMDYz
MTQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPYmouaApAQCAtOTcsNiArOTcsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3du
ZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0T2JqKikKIAogSlNDOjpKU1Zh
bHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RPYmoqKTsK
IGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE9iaiYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVj
LCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RPYmoqKTsKIAogLy8gRnVu
Y3Rpb25zCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcApp
bmRleCA0NDY5NDI0YzUxZWYxMmU4YWE0OGY1OWMzMzZhMDkyNGI3MDgxMWU3Li5jYjc5MGI3OTc1
Y2ZmNjFjZGM0NDQ4OTNlMTNlZjE2ZTFlNTQzYTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCkBAIC0yNjgsNiArMjY4LDEzIEBAIGV4dGVybiAiQyIg
eyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzQFdlCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyNlRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyogaW1wbCkKK3sKKyAgICBp
ZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3Jh
cHBlcjxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihnbG9iYWxPYmplY3QsIGltcGwpOwor
fQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKiBpbXBsKQogewogICAg
IGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oCmlu
ZGV4IGU1MjNmYzEwYmYwMDBjNjk3Y2YwMmNhYjNkOTg1MDA1MmZhYzgxM2IuLmNiMzc4ZGQ1Nzk5
NDI4MDkzZjFmZmJlMmQwODdmZWYyMjdiMDFkNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuaApAQCAtODEsNiArODEsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFu
ZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0T3ZlcmxvYWRlZENv
bnN0cgogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiwgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywg
Z2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9ycyopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlk
ZUJ1aWx0aW5zLmNwcAppbmRleCA1ZjdjYTY5NjExZGI3YzA2MmU5ZmUxZmU0ZjBmZmFhZDZmYjY3
MGMxLi4yYmJhNzAyM2I1YmRjZDg3Yjc0YzU1M2JjZTQ1YWE1Yjg2MDkyNTM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVC
dWlsdGlucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuY3BwCkBAIC0yNDMsNiArMjQzLDEzIEBAIGV4dGVybiAi
QyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RPdmVycmlkZUJ1
aWx0aW5zQFdlYkNvcmVACiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUy
MFRlc3RPdmVycmlkZUJ1aWx0aW5zRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorSlNDOjpKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBUZXN0T3ZlcnJpZGVCdWlsdGlucyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwp
CisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rl
c3RPdmVycmlkZUJ1aWx0aW5zPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFs
dWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFRlc3RPdmVycmlkZUJ1aWx0aW5zKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlk
ZUJ1aWx0aW5zLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcnJpZGVCdWlsdGlucy5oCmluZGV4IDA0NDkyYWE5ZWNjNmE1YmU2ODg1OWQzMDg2OTg3
NWI1NGRjZDg2NzguLmJmNzY5MjBkZGVhY2VlZmI4OTc0YzJkMDk0MzJlOWQwZmEzNjJiYzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVycmlkZUJ1aWx0aW5zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuaApAQCAtODcsNiArODcsNyBAQCBpbmxpbmUg
SlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0
T3ZlcnJpZGVCdWlsdGlucwogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpT
RE9NR2xvYmFsT2JqZWN0KiwgVGVzdE92ZXJyaWRlQnVpbHRpbnMqKTsKIGlubGluZSBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgVGVzdE92ZXJyaWRlQnVpbHRpbnMmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywg
Z2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0T3ZlcnJpZGVCdWlsdGlucyop
OwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggZjFiNjRkMmNiNmJlYzQ5
NTIzYzBlNTkyYzU0MDcyYmQ1Y2MzYzMxYi4uZmQ2YmE5ZDJkNGFlMTM2ODNhYmY4OWEzOGZkY2E5
MzhiYzYzYzA1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTMzMyw2ICszMzMsMTMgQEAgZXh0ZXJuICJDIiB7IGV4
dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGUKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTM0VGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogaW1w
bCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U+KGds
b2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKaW5kZXggNjQyMWQyMzBi
NTY0NDUwMDA5NDUwNTJkOTE5OTY0YWM0YTVjMjIyMi4uYWU0NDU4ZTg4ZjFiODc5NDQzOTY1YWFm
OGI1ZmI2NzM4OGRjNDIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UuaApAQCAtODcsNiArODcsNyBAQCBpbmxpbmUgSlNDOjpXZWFr
SGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0U2VyaWFsaXpl
ZFNjcmlwdAogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiwgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSopOwogaW5saW5lIEpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlJiBpbXBsKSB7
IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RUeXBlZGVmcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCmluZGV4IGYwZWEyODNmYTEyMmJmM2JiNjE3ZmM2YTJh
NDM0ZTAwODViNjk4OWYuLmNlMWVmYjgyMzA4MDE4MDRlYzI3NTgzMjEyNWQ4NTkwMDUzNDQzNDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RUeXBlZGVmcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFR5cGVkZWZzLmNwcApAQCAtNzQyLDYgKzc0MiwxMyBAQCBleHRlcm4gIkMiIHsg
ZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0VHlwZWRlZnNAV2ViQ29y
ZUBANkJAIilbXQogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTJUZXN0
VHlwZWRlZnNFW107IH0KICNlbmRpZgogI2VuZGlmCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRl
c3RUeXBlZGVmcyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051
bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxKU1Rlc3RUeXBlZGVmcz4oZ2xvYmFsT2Jq
ZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0VHlwZWRlZnMqIGltcGwpCiB7CiAgICAg
aWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuaAppbmRleCA2YjE4M2E5YjlhMDUwOTc4M2RiNzE3YzMy
YmE3NTkxZjg2ZTQ5YzZkLi43YzNiNWM0NjBlN2VhY2ExYThmNzQ0YmFhZDM1MjA4MDc5YzNkN2Q1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0VHlwZWRlZnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0VHlwZWRlZnMuaApAQCAtODQsNiArODQsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFu
ZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0VHlwZWRlZnMqKQog
CiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kiwg
VGVzdFR5cGVkZWZzKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RUeXBlZGVmcyYgaW1w
bCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCos
IFRlc3RUeXBlZGVmcyopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3Bw
CmluZGV4IDk4MzE1M2VhM2M2NWIxZGQ1YWUwYjdkNDYwNzQxMzIwMjAzMmFjMTYuLmQ4YmMyMjY2
ODZiZjdmOWMxNDQ3NmQwNTM4OTc1YjgxNzBiMTE1Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmNwcApAQCAtMTk1
LDYgKzE5NSwxMyBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZp
ZXIoIj8/XzdhdHRyaWJ1dGVAV2ViQ29yZUBANkJAIilbXSkoKQogZXh0ZXJuICJDIiB7IGV4dGVy
biB2b2lkKiBfWlRWTjdXZWJDb3JlOWF0dHJpYnV0ZUVbXTsgfQogI2VuZGlmCiAjZW5kaWYKK0pT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgYXR0cmlidXRlKiBpbXBsKQoreworICAgIGlmICghaW1wbCkK
KyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEpTYXR0
cmlidXRlPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGF0dHJpYnV0ZSog
aW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5oCmluZGV4IGI3NjllOWRhYjIyYWVhNGI4
NWM3YzAzYjllNjQ4OGY5ZTViY2ViNTEuLjYxNWU5MGEyZjE2YzA2NDVlZDNkN2VkYjc4MzZhOGY0
NTNiZjlkN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU2F0dHJpYnV0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU2F0dHJpYnV0ZS5oCkBAIC04Miw2ICs4Miw3IEBAIGlubGluZSBKU0M6OldlYWtI
YW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIGF0dHJpYnV0ZSopCiAK
IEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBh
dHRyaWJ1dGUqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhl
YywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgYXR0cmlidXRlJiBpbXBsKSB7IHJl
dHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgYXR0cmli
dXRlKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwCmluZGV4IDIwN2Mw
YjVlYTIzNWE3ZTkzOTRmYmM4YmIzY2I2MGRkODcyZjdhNjQuLjdlMGZkNTZiZTI4Y2Y3YWQ3MWJk
YTYxZTA3Y2IzZTVmMzgyZjhiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5jcHAKQEAgLTE2Niw2ICsxNjYsMTMgQEAg
dm9pZCBKU3JlYWRvbmx5T3duZXI6OmZpbmFsaXplKEpTQzo6SlNDZWxsKiYgY2VsbCwgdm9pZCog
Y29udGV4dCkKICAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJndyYXBwZXIuaW1wbCgpLCAmd3Jh
cHBlcik7CiB9CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgcmVhZG9ubHkqIGltcGwpCit7Cisg
ICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0
ZVdyYXBwZXI8SlNyZWFkb25seT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1Zh
bHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCByZWFkb25seSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaAppbmRleCBkMGUxODg4
YzgzYzZhNTZjNWUxNzgzNTIwYTU2Y2IyNzAzMmM2YjJjLi5lYzIzYTJlOTM0ZDA5ZWY1ZmExZDQ5
MTEwMDI4ZDJhZWExYTQyYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmgKQEAgLTgxLDYgKzgxLDcgQEAgaW5saW5lIEpT
Qzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgcmVhZG9u
bHkqKQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiwgcmVhZG9ubHkqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0
ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgcmVhZG9ubHkmIGltcGwp
IHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBy
ZWFkb25seSopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9BdHRyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmlkbAppbmRl
eCAxNWMwMDFhNmJkYmIwY2UwODNlNmQyZGEzMGE1ZTAyY2Q4MWQ3NGZlLi5mNzE5ZDEzOWYxY2Vk
MmRlMTIyOTY5MTEzZDRkYjMyYzIxYTY5ODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQXR0ci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaWRsCkBAIC0yMCw3ICsy
MCw4IEBACiAKIFsKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKLSAgICBKU0dlbmVyYXRlVG9O
YXRpdmVPYmplY3QKKyAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCisgICAgSlNHZW5lcmF0
ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIEF0dHIgOiBOb2RlIHsKIAogICAgIC8vIERPTSBMZXZl
bCAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ0RBVEFTZWN0aW9uLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uaWRsCmluZGV4IDkzOWZlMjdiMzVmOTZlMDFj
ZjVlNTBlOGNjOWQ2YTUxYzgyN2IyMGIuLmZjN2E4YWU0NzcxYTY5YzMyMGI0NmIzOWIwNmJjYjkx
Y2FiMjZmZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uaWRsCkBAIC0xNyw2ICsxNyw4
IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi1pbnRlcmZhY2UgQ0RB
VEFTZWN0aW9uIDogVGV4dCB7CitbCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKK10gaW50ZXJm
YWNlIENEQVRBU2VjdGlvbiA6IFRleHQgewogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0NvbW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbW1lbnQuaWRsCmluZGV4
IDA1MDNkNjMxNTNiMmI3ZGZkZTAwNmZmMDg3OTQ5MjY2MzVlN2M4NDQuLjFiNjNhYTAyYzU2MjRk
MDExNGZkMDdkZmJjNTU2NTk5ZTIxOGViM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Db21tZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29tbWVudC5pZGwKQEAgLTE5
LDcgKzE5LDggQEAKIAogWwogICAgIENvbnN0cnVjdG9yKFtEZWZhdWx0PU51bGxTdHJpbmddIG9w
dGlvbmFsIERPTVN0cmluZyBkYXRhKSwKLSAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPURvY3VtZW50
CisgICAgQ29uc3RydWN0b3JDYWxsV2l0aD1Eb2N1bWVudCwKKyAgICBKU0dlbmVyYXRlVG9KU09i
amVjdAogXSBpbnRlcmZhY2UgQ29tbWVudCA6IENoYXJhY3RlckRhdGEgewogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKaW5kZXggM2QwYTMzZDM5ZmQwNzI1NGJj
NWY5OTM1YmZhZTY4YWU4MDFiNDQwYi4uN2ZlNGJmZjk4NjlkMzdiODk1MTI2NTQzYjMwZDQyNTUy
ZTM1NjNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9u
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCkBAIC0z
MCwxMCArMzAsMTAgQEAKIAogICAgIC8vIERPTSBMZXZlbCAyCiAKLSAgICBbT2JqQ0xlZ2FjeVVu
bmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIERvY3VtZW50VHlwZSBjcmVhdGVEb2N1
bWVudFR5cGUoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0
cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBxdWFsaWZpZWROYW1l
LAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbiwgTmV3
T2JqZWN0XSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRUeXBlKFtUcmVhdE51bGxBcz1OdWxs
U3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVkXSBv
cHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVh
dFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01T
dHJpbmcgcHVibGljSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxs
U3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHN5c3RlbUlkKTsK
LSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIERvY3Vt
ZW50IGNyZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVm
aW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgCisgICAgW09iakNMZWdhY3lV
bm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIERvY3VtZW50IGNy
ZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0g
b3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRl
ZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgRGVm
YXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERvY3VtZW50VHlwZSBkb2N0eXBlKTsKIApAQCAtNDQs
NiArNDQsNiBAQAogCiAgICAgLy8gSFRNTERPTUltcGxlbWVudGF0aW9uIGludGVyZmFjZSBmcm9t
IERPTSBMZXZlbCAyIEhUTUwKIAotICAgIEhUTUxEb2N1bWVudCBjcmVhdGVIVE1MRG9jdW1lbnQo
W0RlZmF1bHQ9TnVsbFN0cmluZ10gb3B0aW9uYWwgRE9NU3RyaW5nIHRpdGxlKTsKKyAgICBbTmV3
T2JqZWN0XSBIVE1MRG9jdW1lbnQgY3JlYXRlSFRNTERvY3VtZW50KFtEZWZhdWx0PU51bGxTdHJp
bmddIG9wdGlvbmFsIERPTVN0cmluZyB0aXRsZSk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmlk
bAppbmRleCBiNzIzNTJhOWRmMGE5NTBmMWNmNDg5OTgyNGZlYzBhNjRiMGNkMTI1Li4wZmZjZDdi
MWJjMDhhMmNlNDM4ZGU0OWJhNmRjYTM1N2FlYjg4ZjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5p
ZGwKQEAgLTMxLDE1ICszMSwxNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01JbXBsZW1l
bnRhdGlvbiBpbXBsZW1lbnRhdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudCBk
b2N1bWVudEVsZW1lbnQ7CiAKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25d
IEVsZW1lbnQgY3JlYXRlRWxlbWVudChET01TdHJpbmcgdGFnTmFtZSk7Ci0gICAgRG9jdW1lbnRG
cmFnbWVudCAgIGNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0
XSBUZXh0IGNyZWF0ZVRleHROb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3Ry
aW5nIGRhdGEpOwotICAgIFtSZXR1cm5OZXdPYmplY3RdIENvbW1lbnQgY3JlYXRlQ29tbWVudChb
RGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKTsKLSAgICBbUmV0dXJu
TmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIENEQVRBU2VjdGlvbiBjcmVhdGVDREFUQVNlY3Rp
b24oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7Ci0gICAgW09i
akNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRp
b25dIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBjcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oW0Rl
ZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0LAorICAgIFtOZXdPYmpl
Y3QsIFJhaXNlc0V4Y2VwdGlvbl0gRWxlbWVudCBjcmVhdGVFbGVtZW50KERPTVN0cmluZyB0YWdO
YW1lKTsKKyAgICBbTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdtZW50ICAgY3JlYXRlRG9jdW1lbnRG
cmFnbWVudCgpOworICAgIFtOZXdPYmplY3RdIFRleHQgY3JlYXRlVGV4dE5vZGUoW0RlZmF1bHQ9
VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7CisgICAgW05ld09iamVjdF0gQ29t
bWVudCBjcmVhdGVDb21tZW50KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5n
IGRhdGEpOworICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gQ0RBVEFTZWN0aW9uIGNy
ZWF0ZUNEQVRBU2VjdGlvbihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBk
YXRhKTsKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBOZXdPYmplY3QsIFJhaXNl
c0V4Y2VwdGlvbl0gUHJvY2Vzc2luZ0luc3RydWN0aW9uIGNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVj
dGlvbihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyB0YXJnZXQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmlu
ZyBkYXRhKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3Jl
YXRlQXR0cmlidXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUp
OwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRW50aXR5UmVmZXJlbmNl
IGNyZWF0ZUVudGl0eVJlZmVyZW5jZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0
cmluZyBuYW1lKTsKKyAgICBbTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEF0dHIgY3JlYXRl
QXR0cmlidXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwor
ICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRW50aXR5UmVmZXJlbmNlIGNyZWF0ZUVu
dGl0eVJlZmVyZW5jZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1l
KTsKIAogI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVD
VElWRV9DCiAgICAgW0ltcGxlbWVudGVkQXM9Z2V0RWxlbWVudHNCeVRhZ05hbWVGb3JPYmpDXSBO
b2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFtZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFs
IERPTVN0cmluZyB0YWduYW1lKTsKQEAgLTQ5LDExICs0OSwxMSBAQAogCiAgICAgLy8gSW50cm9k
dWNlZCBpbiBET00gTGV2ZWwgMjoKIAotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMs
IFJldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBOb2RlIGltcG9ydE5vZGUoW0RlZmF1
bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBOb2RlIGltcG9ydGVkTm9kZSwKKyAgICBbT2JqQ0xlZ2Fj
eVVubmFtZWRQYXJhbWV0ZXJzLCBOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gTm9kZSBpbXBv
cnROb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgTm9kZSBpbXBvcnRlZE5vZGUsCiAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZGVlcCk7Ci0gICAgW09iakNMZWdh
Y3lVbm5hbWVkUGFyYW1ldGVycywgUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIEVs
ZW1lbnQgY3JlYXRlRWxlbWVudE5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgIFtPYmpDTGVnYWN5
VW5uYW1lZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBFbGVtZW50IGNy
ZWF0ZUVsZW1lbnROUyhbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0g
b3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
RE9NU3RyaW5nIHF1YWxpZmllZE5hbWUpOwotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRl
cnMsIFJldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBBdHRyIGNyZWF0ZUF0dHJpYnV0
ZU5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBE
T01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMs
IE5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBBdHRyIGNyZWF0ZUF0dHJpYnV0ZU5TKFtUcmVh
dE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcg
bmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUpOwogCiAj
aWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MK
QEAgLTg0LDE5ICs4NCwxOSBAQAogCiAgICAgLy8gRE9NIExldmVsIDIgRXZlbnRzIChEb2N1bWVu
dEV2ZW50cyBpbnRlcmZhY2UpCiAKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBFdmVudCAgICAgICAg
ICAgICAgY3JlYXRlRXZlbnQoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcg
ZXZlbnRUeXBlKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIEV2ZW50ICAgICAg
ICAgICAgICBjcmVhdGVFdmVudChbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmlu
ZyBldmVudFR5cGUpOwogCiAgICAgLy8gRE9NIExldmVsIDIgVHJhbnZlcnNhbCBhbmQgUmFuZ2Ug
KERvY3VtZW50UmFuZ2UgaW50ZXJmYWNlKQogCi0gICAgUmFuZ2UgICAgICAgICAgICAgIGNyZWF0
ZVJhbmdlKCk7CisgICAgW05ld09iamVjdF0gUmFuZ2UgICAgICAgICAgICAgIGNyZWF0ZVJhbmdl
KCk7CiAKICAgICAvLyBET00gTGV2ZWwgMiBUcmFudmVyc2FsIGFuZCBSYW5nZSAoRG9jdW1lbnRU
cmF2ZXJzYWwgaW50ZXJmYWNlKQogCi0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywg
UmFpc2VzRXhjZXB0aW9uXSBOb2RlSXRlcmF0b3IgY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9v
dCwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIE5l
d09iamVjdF0gTm9kZUl0ZXJhdG9yIGNyZWF0ZU5vZGVJdGVyYXRvcihOb2RlIHJvb3QsCiAgICAg
ICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywKICAgICAgICAgb3B0aW9uYWwg
Tm9kZUZpbHRlcj8gZmlsdGVyLAogICAgICAgICBvcHRpb25hbCBib29sZWFuIGV4cGFuZEVudGl0
eVJlZmVyZW5jZXMpOwotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4
Y2VwdGlvbl0gVHJlZVdhbGtlciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9vdCwKKyAgICBbT2Jq
Q0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gVHJl
ZVdhbGtlciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9vdCwKICAgICAgICAgb3B0aW9uYWwgdW5z
aWduZWQgbG9uZyB3aGF0VG9TaG93LAogICAgICAgICBvcHRpb25hbCBOb2RlRmlsdGVyPyBmaWx0
ZXIsCiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZXhwYW5kRW50aXR5UmVmZXJlbmNlcyk7CkBA
IC0yNTUsNyArMjU1LDcgQEAKICNpZiBkZWZpbmVkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAm
JiBFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUwogI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9Eb2N1
bWVudElPUy5pZGw+CiAjZWxpZiBkZWZpbmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICYmIEVOQUJM
RV9UT1VDSF9FVkVOVFMKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIFRv
dWNoIGNyZWF0ZVRvdWNoKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NV2luZG93IHdp
bmRvdywKKyAgICBbTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIFRvdWNoIGNyZWF0ZVRvdWNo
KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NV2luZG93IHdpbmRvdywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCBFdmVudFRhcmdldCB0YXJnZXQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0
aW9uYWwgbG9uZyBpZGVudGlmaWVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGxvbmcgcGFn
ZVgsCkBAIC0yNjYsNyArMjY2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBsb25nIHdl
YmtpdFJhZGl1c1ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0
IHdlYmtpdFJvdGF0aW9uQW5nbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5yZXN0cmlj
dGVkIGZsb2F0IHdlYmtpdEZvcmNlKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBDdXN0b20sIFJh
aXNlc0V4Y2VwdGlvbl0gVG91Y2hMaXN0IGNyZWF0ZVRvdWNoTGlzdCgpOworICAgIFtOZXdPYmpl
Y3QsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBUb3VjaExpc3QgY3JlYXRlVG91Y2hMaXN0KCk7
CiAjZW5kaWYKIAogICAgIC8vIFBhZ2UgdmlzaWJpbGl0eSBBUEkuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnRGcmFnbWVudC5pZGwKaW5kZXggNzg1NTJlOTliNTIzZWRlOGUwNjVmM2Q1YmFmOWQx
OWJiMGViMjViYy4uNjkwOTY0Njg3ZjE1YmExZjBiZjY5Yjk1OWRmOTg2YTQwYzYzYTkyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50LmlkbApAQCAtMTksNyArMTksOCBAQAog
CiBbCiAgICAgQ29uc3RydWN0b3IsCi0gICAgQ29uc3RydWN0b3JDYWxsV2l0aD1Eb2N1bWVudAor
ICAgIENvbnN0cnVjdG9yQ2FsbFdpdGg9RG9jdW1lbnQsCisgICAgSlNHZW5lcmF0ZVRvSlNPYmpl
Y3QKIF0gaW50ZXJmYWNlIERvY3VtZW50RnJhZ21lbnQgOiBOb2RlIHsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFR5cGUuaWRsIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50VHlwZS5pZGwKaW5kZXggYTZlZDYzOWI1ZjBkY2M5MDhlZGE1NmZlNmQzMDhm
MzBkZDc2ZjlhOC4uYTk2MzhiZTU5YzFlM2QwNTVjZmFmZGNiODllYTRiYzhkYzc1MDI4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50VHlwZS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50VHlwZS5pZGwKQEAgLTE5LDYgKzE5LDcgQEAKIAogWwogICAg
IEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBp
bnRlcmZhY2UgRG9jdW1lbnRUeXBlIDogTm9kZSB7CiAKICAgICAvLyBET00gTGV2ZWwgMQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VudGl0eVJlZmVyZW5jZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRW50aXR5UmVmZXJlbmNlLmlkbAppbmRleCAzNjM1NTRhYmMzZmE1OGE4MmU4
MzVhZTU5OTgzMzg1YzA3ZDI2ZjAxLi42ZDA1MzVmOWJjMWRhYTc5MTc4MzFlZmRiZTZhYmQwN2Fl
OWI3ZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5UmVmZXJlbmNlLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5UmVmZXJlbmNlLmlkbApAQCAtMTcsNiAr
MTcsOCBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAotaW50ZXJmYWNl
IEVudGl0eVJlZmVyZW5jZSA6IE5vZGUgeworWworICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0Citd
IGludGVyZmFjZSBFbnRpdHlSZWZlcmVuY2UgOiBOb2RlIHsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbApp
bmRleCA2MmQ3MDAzMTY3NjE1ZGM4MzcyZDkxODczYTkyN2RjNDFiNzkzZjU1Li5mYTQ4NzFiYzlk
Y2JhYWJhMjUwOWY4MzdlZGExMmQyMjk3YTVmM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCkBAIC02OCw3
ICs2OCw3IEBACiAgICAgW0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBOb2RlIGFwcGVuZENoaWxk
KFtDdXN0b21SZXR1cm5dIE5vZGUgbmV3Q2hpbGQpOwogCiAgICAgYm9vbGVhbiAgICAgICAgICAg
IGhhc0NoaWxkTm9kZXMoKTsKLSAgICBOb2RlICAgICAgICAgICAgICAgY2xvbmVOb2RlKFtEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgYm9vbGVhbiBkZWVwKTsKKyAgICBbTmV3T2JqZWN0XSBO
b2RlIGNsb25lTm9kZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIGJvb2xlYW4gZGVlcCk7
CiAgICAgdm9pZCAgICAgICAgICAgICAgIG5vcm1hbGl6ZSgpOwogCiAgICAgLy8gSW50cm9kdWNl
ZCBpbiBET00gTGV2ZWwgMjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnRO
b2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbAppbmRleCBjNjJmYzc0
YTk3YWYxOWFhNzQ4NTVjYjRkNTUzOTI3NGEyMDJhYjllLi5iYmVmNDViMzcyMThjNWQ4NzFmMDUz
ZmIxMzEzZTAxNzNkMmY5YzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUGFyZW50
Tm9kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5vZGUuaWRsCkBAIC00MSw1
ICs0MSw1IEBACiAgICAgLy8gW1Vuc2NvcGVhYmxlXSBFbGVtZW50PyBxdWVyeShET01TdHJpbmcg
cmVsYXRpdmVTZWxlY3RvcnMpOwogICAgIC8vIFtOZXdPYmplY3QsIFVuc2NvcGVhYmxlXSBFbGVt
ZW50cyBxdWVyeUFsbChET01TdHJpbmcgcmVsYXRpdmVTZWxlY3RvcnMpOwogICAgIFtSYWlzZXNF
eGNlcHRpb25dIEVsZW1lbnQgcXVlcnlTZWxlY3RvcihET01TdHJpbmcgc2VsZWN0b3JzKTsKLSAg
ICBbUmFpc2VzRXhjZXB0aW9uXSBOb2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZyBz
ZWxlY3RvcnMpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gTm9kZUxpc3QgcXVl
cnlTZWxlY3RvckFsbChET01TdHJpbmcgc2VsZWN0b3JzKTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsCmluZGV4IGIxOGVhYTY5MjZlZWQwMmRjMGQ1
NDI4ZWFjODk3N2IzNjZmM2VlZWUuLmFhMjM4ODI0NjJiMWFmMTcxMWIxODA5NjY1ZTJiMTBiMjhh
N2Y2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rp
b24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRs
CkBAIC0xOSw3ICsxOSw5IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwog
Ci1pbnRlcmZhY2UgUHJvY2Vzc2luZ0luc3RydWN0aW9uIDogQ2hhcmFjdGVyRGF0YSB7CitbCisg
ICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKK10gaW50ZXJmYWNlIFByb2Nlc3NpbmdJbnN0cnVjdGlv
biA6IENoYXJhY3RlckRhdGEgewogCiAgICAgLy8gRE9NIExldmVsIDEKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5p
ZGwKaW5kZXggYmVlMDQ4M2M5YWMzMTY3OGMyYzc2NWQ3ZjcwZTM5MzIzZmM1OGE4Ny4uZGM4YWVk
NDY5YTJmZmM2YTBkNzQzODFmNTZlMzkyM2UxZjczZmUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1JhbmdlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaWRsCkBA
IC01MywxMSArNTMsMTEgQEAKICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlz
ZXNFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Y29tcGFyZUJvdW5kYXJ5UG9pbnRzRm9yQmluZGlu
Z3NdIHNob3J0IGNvbXBhcmVCb3VuZGFyeVBvaW50cyhbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlv
bmFsIHVuc2lnbmVkIHNob3J0IGhvdywgUmFuZ2Ugc291cmNlUmFuZ2UpOwogCiAgICAgW1JhaXNl
c0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVDb250ZW50cygpOwotICAgIFtSYWlzZXNFeGNlcHRpb25d
IERvY3VtZW50RnJhZ21lbnQgZXh0cmFjdENvbnRlbnRzKCk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlv
bl0gRG9jdW1lbnRGcmFnbWVudCBjbG9uZUNvbnRlbnRzKCk7CisgICAgW1JhaXNlc0V4Y2VwdGlv
biwgTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdtZW50IGV4dHJhY3RDb250ZW50cygpOworICAgIFtS
YWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRG9jdW1lbnRGcmFnbWVudCBjbG9uZUNvbnRlbnRz
KCk7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnROb2RlKE5vZGUgbmV3Tm9kZSk7
CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzdXJyb3VuZENvbnRlbnRzKE5vZGUgbmV3UGFy
ZW50KTsKLSAgICBSYW5nZSBjbG9uZVJhbmdlKCk7CisgICAgW05ld09iamVjdF0gUmFuZ2UgY2xv
bmVSYW5nZSgpOwogICAgIERPTVN0cmluZyB0b1N0cmluZygpOwogCiAgICAgdm9pZCBkZXRhY2go
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261324</attachid>
            <date>2015-09-16 13:50:54 -0700</date>
            <delta_ts>2015-09-16 16:01:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149192-20150916135041.patch</filename>
            <type>text/plain</type>
            <size>84720</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Q3MDVhNTIzNWE3YjQz
YTVmNThmNTRjNjQ1MjIxOThkYmRkNTZjNi4uZDk2YWVkNTNkZTdkOGM2OGUyNTAzNTcwYmJhNzIx
ZTQ1M2JhYmI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEzMyBAQAogMjAxNS0wOS0xNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIFdlYklETDogUmVuYW1lIFtS
ZXR1cm5OZXdPYmplY3RdIHRvIFtOZXdPYmplY3RdIGFuZCB1c2UgaXQgbW9yZSBjb25zaXN0ZW50
bHkgaW4gRE9NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDkxOTIKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBS
ZW5hbWUgW1JldHVybk5ld09iamVjdF0gdG8gW05ld09iamVjdF0gYW5kIHVzZSBpdCBtb3JlIGNv
bnNpc3RlbnRseSBpbgorICAgICAgICBET00uCisKKyAgICAgICAgVGhpcyBhbGlnbnMgb3VyIElE
TCBleHRlbmRlZCBhdHRyaWJ1dGUgbmFtaW5nIHdpdGggc3RhbmRhcmQgV2ViIElETDoKKyAgICAg
ICAgaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jTmV3T2JqZWN0CisKKyAgICAgICAg
V2UgYWxyZWFkeSBoYXZlIFtSZXR1cm5OZXdPYmplY3RdIGluIG1vc3QgcGxhY2VzIHRoYXQgdGhl
IERPTQorICAgICAgICBzcGVjaWZpY2F0aW9uIHVzZXMgW05ld09iamVjdF0gYnV0IHdlIGFyZSBt
aXNzaW5nIGEgZmV3IHNvIEknbGwKKyAgICAgICAgZml4IHRoaXMgYXMgd2VsbDoKKyAgICAgICAg
aHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNpbnRlcmZhY2UtZG9jdW1lbnQKKworICAgICAg
ICBVc2luZyBbTmV3T2JqZWN0XSBsZXRzIHRoZSBiaW5kaW5ncyBnZW5lcmF0b3Iga25vdyB0aGF0
IHRoZSBBUEkgaW4KKyAgICAgICAgcXVlc3Rpb24gYWx3YXlzIHJldHVybnMgbmV3IG9iamVjdHMg
YW5kIHRoYXQgd2UgY2FuIGJ5cGFzcyB0aGUgY2hlY2sKKyAgICAgICAgZm9yIGV4aXN0aW5nIHdy
YXBwZXJzIGFuZCBkaXJlY3RseSBjcmVhdGUgYSBuZXcgd3JhcHBlciBmb3IgdGhlCisgICAgICAg
IHJldHVybmVkIG9iamVjdC4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gYWRkcyBzdXBwb3J0
IGZvciBnZW5lcmF0aW5nIHRoZSB0b0pTTmV3bHlDcmVhdGVkKCkKKyAgICAgICAgdXRpbGl0eSBm
dW5jdGlvbiBmb3IgbW9zdCB0eXBlcy4gUHJldmlvdXNseSwgdG8gdXNlIFtSZXR1cm5OZXdPYmpl
Y3RdCisgICAgICAgIGZvciBhIG5ldyB0eXBlLCB5b3UgbmVlZGVkIHRvIGFkZCB0aGUgdHlwZSB0
byBhIGhhcmQtY29kZWQgbGlzdCBpbgorICAgICAgICB0aGUgYmluZGluZ3MgZ2VuZXJhdG9yIHRo
ZW4gcHJvdmlkZSB5b3VyIG93biBpbXBsZW1lbnRhdGlvbiBmb3IKKyAgICAgICAgdG9KU05ld2x5
Q3JlYXRlZCgpIGFzIGN1c3RvbSBiaW5kaW5ncy4KKworICAgICAgICBObyBuZXctZXhwb3NlZCBi
ZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9t
LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgQWRkIHRvSlNOZXds
eUNyZWF0ZWQoKSBjdXN0b20gaW1wbGVtZW50YXRpb24gZm9yIE5vZGUsIEV2ZW50IGFuZAorICAg
ICAgICBEb2N1bWVudCwgdGhhdCBzaGFyZXMgY29kZSB3aXRoIHRoZSBleGlzdGluZyB0b0pTKCkg
aW1wbGVtZW50YXRpb24gZm9yCisgICAgICAgIHRob3NlIHR5cGVzLgorCisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNUb3VjaEN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNU
b3VjaExpc3RDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICBEcm9wIHNldmVyYWwgY3VzdG9t
IGJpbmRpbmdzIGZpbGVzIGFzIHRoZSBiaW5kaW5ncyBnZW5lcmF0b3IgaXMKKyAgICAgICAgbm93
IGFibGUgdG8gZ2VuZXJhdGUgdGhlIHRvSlNOZXdseUNyZWF0ZWQoKSB1dGlsaXR5IGZ1bmN0aW9u
IGZvcgorICAgICAgICBtb3N0IHR5cGVzLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIC0gUmVuYW1lIFtSZXR1cm5OZXdPYmplY3RdIHRv
IFtOZXdPYmplY3RdLgorICAgICAgICAtIEdlbmVyYXRlIGEgdG9KU05ld2x5Q3JlYXRlZCgpIHdo
ZW5ldmVyIHdlIGdlbmVyYXRlIGEgdG9KUygpIGFscmVhZHkuCisgICAgICAgICAgR2V0IHJpZCBv
ZiB0aGUgaGFyZC1jb2RlZCBsaXN0IG9mIHR5cGVzIHRoYXQgbmVlZCBhCisgICAgICAgICAgdG9K
U05ld2x5Q3JlYXRlZCgpLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLnR4dDoKKyAgICAgICAgUmVuYW1lIFtSZXR1cm5OZXdPYmplY3RdIHRvIFtOZXdPYmplY3Rd
LgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9i
amVjdC5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2
ZURPTU9iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHA6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0Lmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1
c3RvbU5hbWVkR2V0dGVyLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHA6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmg6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmg6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5z
LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVC
dWlsdGlucy5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmg6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU3JlYWRvbmx5Lmg6CisgICAgICAgIFJlYmFzZWxpbmUgYmluZGluZ3MgdGVz
dHMuCisKKyAgICAgICAgKiBkb20vQXR0ci5pZGw6CisgICAgICAgICogZG9tL0NEQVRBU2VjdGlv
bi5pZGw6CisgICAgICAgICogZG9tL0NvbW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dEZyYWdtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRUeXBlLmlkbDoKKyAgICAgICAg
KiBkb20vRW50aXR5UmVmZXJlbmNlLmlkbDoKKyAgICAgICAgKiBkb20vUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uLmlkbDoKKyAgICAgICAgQWRkIFtKU0dlbmVyYXRlVG9KU09iamVjdF0gc28gdGhhdCB0
aGUgYmluZGluZ3MgZ2VuZXJhdG9yIGdlbmVyYXRlcworICAgICAgICBhIHRvSlMoKSAvIHRvSlNO
ZXdseUNyZWF0ZWQoKSBmb3IgdGhpcyB0eXBlLiBXaGlsZSBpdCBpcyBub3Qgc3RyaWN0bHkKKyAg
ICAgICAgbmVlZGVkLCBpdCBhdm9pZHMgZmFsbGluZyBiYWNrIHRvIHVzaW5nIHRoZSB0b0pTKCkg
ZnJvbSBOb2RlIHdoaWNoCisgICAgICAgIGNhbGxzIHRoZSB2aXJ0dWFsIG5vZGVUeXBlKCkgZnVu
Y3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSBub2RlIHR5cGUuCisgICAgICAgIFRoaXMgY2hhbmdlIHdh
cyBtYWRlIGZvciBlZmZpY2llbmN5IHB1cnBvc2VzLgorCisgICAgICAgICogZG9tL0RPTUltcGxl
bWVudGF0aW9uLmlkbDoKKyAgICAgICAgUmVuYW1lIFtSZXR1cm5OZXdPYmplY3RdIHRvIFtOZXdP
YmplY3RdIGFuZCBhZGQgaXQgdG8gY3JlYXRlSFRNTERvY3VtZW50KCkKKyAgICAgICAgYXMgd2Vs
bCwgYXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICBodHRwczovL2RvbS5zcGVjLndo
YXR3Zy5vcmcvI2ludGVyZmFjZS1kb21pbXBsZW1lbnRhdGlvbgorCisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmlkbDoKKyAgICAgICAgUmVuYW1lIFtSZXR1cm5OZXdPYmplY3RdIHRvIFtOZXdPYmpl
Y3RdIGFuZCBhZGQgaXQgdG8gbW9yZSBvcGVyYXRpb25zCisgICAgICAgIGFzIHBlciBoZSBET00g
c3BlY2lmaWNhdGlvbjoKKyAgICAgICAgaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb2N1
bWVudAorCisgICAgICAgICogZG9tL05vZGUuaWRsOgorICAgICAgICBBZGQgW05ld09iamVjdF0g
dG8gY2xvbmVOb2RlKCkgYXMgcGVyIHRoZSBET00gc3BlY2lmaWNhdGlvbjoKKyAgICAgICAgaHR0
cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNub2RlCisKKyAgICAgICAgKiBkb20vUGFyZW50Tm9k
ZS5pZGw6CisgICAgICAgIEFkZCBbTmV3T2JqZWN0XSB0byBxdWVyeVNlbGVjdG9yQWxsKCkgYXMg
cGVyIHRoZSBET00gc3BlY2lmaWNhdGlvbjoKKyAgICAgICAgaHR0cHM6Ly9kb20uc3BlYy53aGF0
d2cub3JnLyNwYXJlbnRub2RlCisKKyAgICAgICAgKiBkb20vUmFuZ2UuaWRsOgorICAgICAgICBB
ZGQgW05ld09iamVjdF0gZm9yIHNldmVyYWwgb3BlcmF0aW9ucywgYXMgcGVyIHRoZSBET00gc3Bl
Y2lmaWNhdGlvbjoKKyAgICAgICAgaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNpbnRlcmZh
Y2UtcmFuZ2UKKworMjAxNS0wOS0xNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CiAgICAgICAgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIFtVbmZvcmdlYWJsZV0gSURMIGV4dGVu
ZGVkIGF0dHJpYnV0ZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ5MTQ3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZWYxNmI3ZTg0YTlmNjQ5Y2Y4
MzI1ZjdhMTg5Mzg2YTFhNzVlN2UzNS4uZGQ2NjQ1Y2E0YThiYzcwZDhkNzIxZjhhZmVkZDNhODll
YjUzYmM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwODYsNyArMTA4Niw2IEBAIHNldChX
ZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0F1ZGlvVHJhY2tMaXN0Q3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTQmlxdWFkRmlsdGVyTm9kZUN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU0Jsb2JDdXN0b20uY3BwCi0gICAgYmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25D
dXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTQ1NTUnVsZUxpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDU1NTdHls
ZURlY2xhcmF0aW9uQ3VzdG9tLmNwcApAQCAtMTIwMSwxMiArMTIwMCw5IEBAIHNldChXZWJDb3Jl
X1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU1N0eWxlU2hlZXRDdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1N1
YnRsZUNyeXB0b0N1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNUZXh0VHJhY2tDdWVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMv
SlNUZXh0VHJhY2tDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNUZXh0VHJhY2tMaXN0Q3Vz
dG9tLmNwcAotICAgIGJpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwCi0gICAgYmluZGluZ3Mv
anMvSlNUb3VjaExpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5j
cHAKICAgICBiaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggNmQxMjI4NTQyZTFmMDJhM2U5OTYwOWM4NjBjYjdi
YjYyMTA3OWY1NC4uYTYyNGExM2NmOTM2N2VlNzZhNmRkMzhhNjVmNTE3ZDI0YzUxYjc0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0x
NzQ3NSwyMCArMTc0NzUsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCI+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdf
V2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU0NvbW1hbmRMaW5lQVBJ
SG9zdEN1c3RvbS5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgpAQCAtMTg3MjEsMjAgKzE4NzA3LDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1RleHRDdXN0b20uY3BwIj4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVHJlZVdhbGtlckN1
c3RvbS5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpA
QCAtMjI4NTksNCArMjI4MzEsNCBAQAogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRh
cmdldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxCdWlsZEN1c3Rv
bWl6YXRpb25zXG1hc20udGFyZ2V0cyIgLz4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXgg
ZDNiMDA3N2NhNzQ0NzUxZWYyYTY4YjA2NzlmODgxM2MxNjJjMmY4Yi4uOTlmM2JjYTQ3NzY0Mzgy
YzMwZmNiMjkwNWFkMTMyMzQyZWViNGIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNDIzNiw5ICs0MjM2
LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGlu
Z3NcanNcSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3Nc
anM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGJpbmRpbmdzXGpzXEpTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcCI+CiAgICAgICA8Rmls
dGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC00NDQ5LDkgKzQ0
NDYsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNTVkdQYXRo
U2VnQ3VzdG9tLmNwcCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xKU1Rl
eHRDdXN0b20uY3BwIj4KLSAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KLSAgICA8
L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTVHJl
ZVdhbGtlckN1c3RvbS5jcHAiPgogICAgICAgPEZpbHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgpAQCAtMTU0NjIsNCArMTU0NTYsNCBAQAogICAgICAgPEZpbHRlcj5w
bGF0Zm9ybVx3aW48L0ZpbHRlcj4KICAgICA8L01BU00+CiAgIDwvSXRlbUdyb3VwPgotPC9Qcm9q
ZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NTY5OWRh
YzllZGViMDBlN2FhN2MzZWUxYWEwMjFmYjBmYWFmOTY4Li5iZDJiOWFjNDJjMjc1NmJjOTAzZmU2
MjAyNmRjZThiMDE2ZjNlMmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02OTAsNyArNjkwLDYgQEAKIAkJMUEyQTY4MjQwQjVC
RURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQTY4MjIwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dy
ZXNzVHJhY2tlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTFBMkFBQzU4MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJB
QUM1NjBEQzJBM0IxMDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwICovOyB9
OwogCQkxQTJBQUM1OTBEQzJBM0IxMDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkFBQzU3
MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBMkM0MEFCMERFQjU1QUEw
MDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUEyQzQwQUEwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1c3Rv
bS5jcHAgKi87IH07CiAJCTFBMkU2RTU5MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJFNkU1NzBD
QzU1MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuY3BwICovOyB9OwogCQkxQTJFNkU1QTBDQzU1MjEz
MDA0QTIwNjIgLyogU1FMVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBMkU2RTU4MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBMkU2RTdBMEND
NTU2RDUwMDRBMjA2MiAvKiBTUUxpdGVBdXRob3JpemVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTc4MENDNTU2RDUwMDRBMjA2MiAvKiBT
UUxpdGVBdXRob3JpemVyLmNwcCAqLzsgfTsKQEAgLTM1MDcsNyArMzUwNiw2IEBACiAJCTkzQjcw
RDZGMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjcwRDUzMDlFQjBDN0MwMDlEODQ2
OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJOTNCNzBENzAwOUVCMEM3QzAwOUQ4
NDY4IC8qIFNjcmlwdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQjcwRDU0MDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9s
bGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
OTNCNzdBMzgwQURENzkyNTAwRUE0QjgxIC8qIEZyYW1lTG9hZGVyVHlwZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQjc3QTM3MEFERDc5MjUwMEVB
NEI4MSAvKiBGcmFtZUxvYWRlclR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTNCQTU5QjIwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFT
ZWN0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQkE1OUIxMEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1c3RvbS5j
cHAgKi87IH07CiAJCTkzQzA5QTUzMEIwNjREQjMwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQzA5QTUyMEIw
NjREQjMwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0MwOUE3RjBCMDY0RUVGMDA1QUJENEQgLyogRXZl
bnRIYW5kbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNDMDlBN0UwQjA2NEVFRjAwNUFCRDREIC8qIEV2ZW50SGFuZGxlck1hYy5tbSAqLzsg
fTsKIAkJOTNDMDlBODEwQjA2NEYwMDAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0MwOUE4MDBCMDY0RjAw
MDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCAqLzsgfTsKQEAgLTc4NjQsNyArNzg2Miw2IEBA
CiAJCTFBMkE2ODIyMEI1QkVERTcwMDAyQTQ4MCAvKiBQcm9ncmVzc1RyYWNrZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb2dyZXNzVHJhY2tlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQTJBQUM1NjBEQzJBM0IxMDBBMjBEOUEgLyogQXBwbGljYXRp
b25DYWNoZVN0b3JhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQTJBQUM1NzBEQzJBM0IxMDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUEyQzQwQUEwREVCNTVBQTAwNUFGMTlF
IC8qIEpTVGV4dEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1RleHRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTJFNkU1
NzBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU1FMVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQTJFNkU1ODBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU1FMVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUEyRTZFNzgwQ0M1NTZENTAwNEEyMDYyIC8qIFNRTGl0ZUF1dGhvcml6ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1FMaXRlQXV0aG9yaXplci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDg4MSw3ICsxMDg3OCw2IEBACiAJCTkzQjcw
RDUzMDlFQjBDN0MwMDlEODQ2OCAvKiBTY3JpcHRDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDb250cm9sbGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCNzBENTQwOUVCMEM3QzAwOUQ4NDY4IC8qIFNjcmlwdENv
bnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENvbnRy
b2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCNzdBMzcwQURENzkyNTAw
RUE0QjgxIC8qIEZyYW1lTG9hZGVyVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRnJhbWVMb2FkZXJUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5
M0JBNTlCMTBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDREFUQVNlY3Rpb25DdXN0b20uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQg
LyogRXZlbnRIYW5kbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50
SGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0MwOUE3RTBCMDY0RUVG
MDA1QUJENEQgLyogRXZlbnRIYW5kbGVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gRXZlbnRIYW5kbGVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5M0MwOUE4MDBCMDY0RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50SGFuZGxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTU3NCw3ICsyMTU3MCw2IEBACiAJCQkJODkzMURF
NUExNEM0NEM0NDAwMERDOUQyIC8qIEpTQmxvYkN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUQxNEIx
MDUxOTcxOTAwMDk5RkFCIC8qIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCAq
LywKIAkJCQk0OUVFRDE0RDEwNTE5NzFBMDAwOTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250
ZXh0Q3VzdG9tLmNwcCAqLywKLQkJCQk5M0JBNTlCMTBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFU
QVNlY3Rpb25DdXN0b20uY3BwICovLAogCQkJCTdDMzNGMzU4MUI0QTA0NDgwMDUwMkNBRiAvKiBK
U0NoYXJhY3RlckRhdGFDdXN0b20uY3BwICovLAogCQkJCUE1ODRGRTM3MTg2NERBQzEwMDg0M0Ix
MCAvKiBKU0NvbW1hbmRMaW5lQVBJSG9zdEN1c3RvbS5jcHAgKi8sCiAJCQkJMTQ4QjRGRjcxQjY5
MDQyMTAwQzk1NEU0IC8qIEpTQ291bnRRdWV1aW5nU3RyYXRlZ3lDdXN0b20uY3BwICovLApAQCAt
MjE2NzAsNyArMjE2NjUsNiBAQAogCQkJCUUxRkY4RjY2MTgwNzQ2MDgwMDEzMjY3NCAvKiBKU1N1
YnRsZUNyeXB0b0N1c3RvbS5jcHAgKi8sCiAJCQkJMDhFNEZFNDUwRTJCRDQxNDAwRjRDQUUwIC8q
IEpTU1ZHTGVuZ3RoQ3VzdG9tLmNwcCAqLywKIAkJCQlCMkM5NkQ4QzBCM0FGMkI3MDA1RTgwRUMg
LyogSlNTVkdQYXRoU2VnQ3VzdG9tLmNwcCAqLywKLQkJCQkxQTJDNDBBQTBERUI1NUFBMDA1QUYx
OUUgLyogSlNUZXh0Q3VzdG9tLmNwcCAqLywKIAkJCQkwN0UxMTcwNjE0ODlFQkVCMDBFQzVBQ0Ug
LyogSlNUZXh0VHJhY2tDdWVDdXN0b20uY3BwICovLAogCQkJCTA3RTExNkIwMTQ4OUM5QTEwMEVD
NUFDRSAvKiBKU1RleHRUcmFja0N1c3RvbS5jcHAgKi8sCiAJCQkJMDdCNUEzMEMxNDY4N0Q3MTAw
QTgxRUNFIC8qIEpTVGV4dFRyYWNrTGlzdEN1c3RvbS5jcHAgKi8sCkBAIC0yODk5OSw3ICsyODk5
Myw2IEBACiAJCQkJNDlFRUQxNTAxMDUxOTcxQTAwMDk5RkFCIC8qIEpTQ2FudmFzUmVuZGVyaW5n
Q29udGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzNBQjRCNzE3RjkyRUNGMDA2
RTBENkYgLyogSlNDYXBhYmlsaXR5UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGOUI3
QTAwQkE2MDMyNjAwODU0MDY0IC8qIEpTQ0RBVEFTZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTkzQkE1OUIyMEYyQUE1RkUwMDhFOEU5OSAvKiBKU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGREExNUVBMTEyQjAzRUUxMDAzQTU4M0EgLyogSlNDaGFubmVs
TWVyZ2VyTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGREExNUVBMzEyQjAzRUUxMDAzQTU4
M0EgLyogSlNDaGFubmVsU3BsaXR0ZXJOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYz
MUYzMDlEMUNDNjAwMDBCRTMyNSAvKiBKU0NoYXJhY3RlckRhdGEuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yOTU2Myw3ICsyOTU1Niw2IEBACiAJCQkJNzFEQ0I3MDExNTY4MTk3NjAwODYyMjcxIC8q
IEpTU1ZHWm9vbUFuZFBhbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0UxODBBQjc1QTZG
MDAwRTVBQzQgLyogSlNTVkdab29tRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMy
MDMwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQTJD
NDBBQjBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTkzM0ExNEI4MEI3RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQ0VGNDVGNTBFNjg3QjVDMDAxQzEyODcgLyogSlNUZXh0TWV0cmljcy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwNzA3NTY5NDE0MjI2NjhEMDA0MTQxNjEgLyogSlNUZXh0VHJh
Y2suY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNCaW5kaW5nc0FsbEluT25lLmNwcAppbmRleCBiNWM1ZmYyZTU2MDA1ZjdjZjM2MDM3NDQ4ZDU5
YTZlZWIzYmE1ZDAyLi4wMTZlZmIwYzU3NzRmNmI2NTlkMzBmZGU0YTlmOGI3OWU0MWY1MWFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJKU0F1ZGlvVHJhY2tDdXN0b20uY3BwIgog
I2luY2x1ZGUgIkpTQXVkaW9UcmFja0xpc3RDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTQmxvYkN1
c3RvbS5jcHAiCi0jaW5jbHVkZSAiSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIgogI2lmIEVOQUJM
RShTVFJFQU1TX0FQSSkKICNpbmNsdWRlICJKU0NvdW50UXVldWluZ1N0cmF0ZWd5Q3VzdG9tLmNw
cCIKICNlbmRpZgpAQCAtMTMzLDEyICsxMzIsOSBAQAogI2luY2x1ZGUgIkpTU3RvcmFnZUN1c3Rv
bS5jcHAiCiAjaW5jbHVkZSAiSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1N0
eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcCIKLSNpbmNsdWRlICJKU1RleHRDdXN0b20uY3BwIgogI2lu
Y2x1ZGUgIkpTVGV4dFRyYWNrQ3VlQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RleHRUcmFja0N1
c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCIKLSNpbmNsdWRl
ICJKU1RvdWNoQ3VzdG9tLmNwcCIKLSNpbmNsdWRlICJKU1RvdWNoTGlzdEN1c3RvbS5jcHAiCiAj
aW5jbHVkZSAiSlNUcmFja0N1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNUcmFja0V2ZW50Q3VzdG9t
LmNwcCIKICNpbmNsdWRlICJKU1RyZWVXYWxrZXJDdXN0b20uY3BwIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5NzA5MWRhYmQ5OWI5YTZjOTczOGQyMDYxYzhlZmUzZTlmYjQ2
MTFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBw
bGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ0RBVEFT
ZWN0aW9uLmgiCi0KLSNpbmNsdWRlICJDREFUQVNlY3Rpb24uaCIKLQotdXNpbmcgbmFtZXNwYWNl
IEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1KU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ0RBVEFTZWN0aW9u
KiBzZWN0aW9uKQotewotICAgIGlmICghc2VjdGlvbikKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OwotCi0gICAgcmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIENEQVRBU2Vj
dGlvbiwgc2VjdGlvbik7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAKaW5kZXggNzBjY2RhZmY0
MDFlOGNiNGNlMjQxMWEwZjc4YzY0ODhhY2Q1M2FiYS4uYmI4ZjM2ZjYzYzBhMjgzYWNmMThiY2Vm
YjA3NDNjZTRmYWQwMzNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNEb2N1bWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
b2N1bWVudEN1c3RvbS5jcHAKQEAgLTc5LDcgKzc5LDMyIEBAIHZvaWQgSlNEb2N1bWVudDo6c2V0
TG9jYXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlKQogICAgICAgICBsb2NhdGlv
bi0+c2V0SHJlZihsb2NhdGlvblN0cmluZywgYWN0aXZlRE9NV2luZG93KGV4ZWMpLCBmaXJzdERP
TVdpbmRvdyhleGVjKSk7CiB9CiAKLUpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERvY3VtZW50KiBkb2N1bWVudCkKK3N0YXRpYyBp
bmxpbmUgSlNWYWx1ZSBjcmVhdGVOZXdEb2N1bWVudFdyYXBwZXIoRXhlY1N0YXRlJiBzdGF0ZSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgRG9jdW1lbnQmIGRvY3VtZW50KQorewor
ICAgIEpTT2JqZWN0KiB3cmFwcGVyOworICAgIGlmIChkb2N1bWVudC5pc0hUTUxEb2N1bWVudCgp
KQorICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKCZnbG9iYWxPYmplY3QsIEhU
TUxEb2N1bWVudCwgJmRvY3VtZW50KTsKKyAgICBlbHNlIGlmIChkb2N1bWVudC5pc1NWR0RvY3Vt
ZW50KCkpCisgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoJmdsb2JhbE9iamVj
dCwgU1ZHRG9jdW1lbnQsICZkb2N1bWVudCk7CisgICAgZWxzZQorICAgICAgICB3cmFwcGVyID0g
Q1JFQVRFX0RPTV9XUkFQUEVSKCZnbG9iYWxPYmplY3QsIERvY3VtZW50LCAmZG9jdW1lbnQpOwor
CisgICAgLy8gTWFrZSBzdXJlIHRoZSBkb2N1bWVudCBpcyBrZXB0IGFyb3VuZCBieSB0aGUgd2lu
ZG93IG9iamVjdCwgYW5kIHdvcmtzIHJpZ2h0IHdpdGggdGhlCisgICAgLy8gYmFjay9mb3J3YXJk
IGNhY2hlLgorICAgIGlmICghZG9jdW1lbnQuZnJhbWUoKSkgeworICAgICAgICBzaXplX3Qgbm9k
ZUNvdW50ID0gMDsKKyAgICAgICAgZm9yIChOb2RlKiBuID0gJmRvY3VtZW50OyBuOyBuID0gTm9k
ZVRyYXZlcnNhbDo6bmV4dCgqbikpCisgICAgICAgICAgICArK25vZGVDb3VudDsKKworICAgICAg
ICAvLyBGSVhNRTogQWRvcHQgcmVwb3J0RXh0cmFNZW1vcnlWaXNpdGVkLCBhbmQgc3dpdGNoIHRv
IHJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNTk1CisgICAgICAgIHN0YXRlLmhlYXAoKS0+ZGVw
cmVjYXRlZFJlcG9ydEV4dHJhTWVtb3J5KG5vZGVDb3VudCAqIHNpemVvZihOb2RlKSk7CisgICAg
fQorCisgICAgcmV0dXJuIHdyYXBwZXI7Cit9CisKK0pTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIHN0
YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBEb2N1bWVudCogZG9jdW1lbnQp
CiB7CiAgICAgaWYgKCFkb2N1bWVudCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwpAQCAtODks
MzMgKzExNCwxOSBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBEb2N1bWVudCogZG9jdW1lbgogICAgICAgICByZXR1cm4gd3Jh
cHBlcjsKIAogICAgIGlmIChET01XaW5kb3cqIGRvbVdpbmRvdyA9IGRvY3VtZW50LT5kb21XaW5k
b3coKSkgewotICAgICAgICBnbG9iYWxPYmplY3QgPSB0b0pTRE9NV2luZG93KHRvSlMoZXhlYywg
ZG9tV2luZG93KSk7CisgICAgICAgIGdsb2JhbE9iamVjdCA9IHRvSlNET01XaW5kb3codG9KUyhz
dGF0ZSwgZG9tV2luZG93KSk7CiAgICAgICAgIC8vIENyZWF0aW5nIGEgd3JhcHBlciBmb3IgZG9t
V2luZG93IG1pZ2h0IGhhdmUgY3JlYXRlZCBhIHdyYXBwZXIgZm9yIGRvY3VtZW50IGFzIHdlbGwu
CiAgICAgICAgIHdyYXBwZXIgPSBnZXRDYWNoZWRXcmFwcGVyKGdsb2JhbE9iamVjdC0+d29ybGQo
KSwgZG9jdW1lbnQpOwogICAgICAgICBpZiAod3JhcHBlcikKICAgICAgICAgICAgIHJldHVybiB3
cmFwcGVyOwogICAgIH0KIAotICAgIGlmIChkb2N1bWVudC0+aXNIVE1MRG9jdW1lbnQoKSkKLSAg
ICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEhUTUxEb2N1
bWVudCwgZG9jdW1lbnQpOwotICAgIGVsc2UgaWYgKGRvY3VtZW50LT5pc1NWR0RvY3VtZW50KCkp
Ci0gICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBTVkdE
b2N1bWVudCwgZG9jdW1lbnQpOwotICAgIGVsc2UKLSAgICAgICAgd3JhcHBlciA9IENSRUFURV9E
T01fV1JBUFBFUihnbG9iYWxPYmplY3QsIERvY3VtZW50LCBkb2N1bWVudCk7Ci0KLSAgICAvLyBN
YWtlIHN1cmUgdGhlIGRvY3VtZW50IGlzIGtlcHQgYXJvdW5kIGJ5IHRoZSB3aW5kb3cgb2JqZWN0
LCBhbmQgd29ya3MgcmlnaHQgd2l0aCB0aGUKLSAgICAvLyBiYWNrL2ZvcndhcmQgY2FjaGUuCi0g
ICAgaWYgKCFkb2N1bWVudC0+ZnJhbWUoKSkgewotICAgICAgICBzaXplX3Qgbm9kZUNvdW50ID0g
MDsKLSAgICAgICAgZm9yIChOb2RlKiBuID0gZG9jdW1lbnQ7IG47IG4gPSBOb2RlVHJhdmVyc2Fs
OjpuZXh0KCpuKSkKLSAgICAgICAgICAgIG5vZGVDb3VudCsrOwotICAgICAgICAKLSAgICAgICAg
Ly8gRklYTUU6IEFkb3B0IHJlcG9ydEV4dHJhTWVtb3J5VmlzaXRlZCwgYW5kIHN3aXRjaCB0byBy
ZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZC4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjU5NQotICAgICAgICBleGVjLT5oZWFwKCktPmRlcHJl
Y2F0ZWRSZXBvcnRFeHRyYU1lbW9yeShub2RlQ291bnQgKiBzaXplb2YoTm9kZSkpOwotICAgIH0K
KyAgICByZXR1cm4gY3JlYXRlTmV3RG9jdW1lbnRXcmFwcGVyKCpzdGF0ZSwgKmdsb2JhbE9iamVj
dCwgKmRvY3VtZW50KTsKK30KIAotICAgIHJldHVybiB3cmFwcGVyOworSlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gZG9jdW1lbnQgPyBjcmVhdGVO
ZXdEb2N1bWVudFdyYXBwZXIoKnN0YXRlLCAqZ2xvYmFsT2JqZWN0LCAqZG9jdW1lbnQpIDoganNO
dWxsKCk7CiB9CiAKIEpTVmFsdWUgSlNEb2N1bWVudDo6cHJlcGVuZChFeGVjU3RhdGUqIHN0YXRl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9t
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaAppbmRleCAy
YTFiYTAxODAzMjRkMDg0YjRhYzViNmIyYzk1N2VkYzM5YTc5NmY3Li4wYmMwZWNjYzYxZjAzYWEx
YWY3OWZjMjZiMjBlMzc4ZTRmMjRmMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0VsZW1lbnRDdXN0b20uaApAQCAtMzEsNiArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNE
T01HbG9iYWxPYmplY3QqLCBFbGVtZW50Kik7CisKIEFMV0FZU19JTkxJTkUgSlNFbGVtZW50KiBq
c0VsZW1lbnRDYXN0KEpTQzo6SlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBpZiAoVU5MSUtFTFkoIXZh
bHVlLmlzQ2VsbCgpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RXZlbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3Rv
bS5jcHAKaW5kZXggNTU1YWQzZmFhM2UzMDM2NGZmMjk5ZjQwMDcyMjliMTQyYjZiMjE5YS4uYWY3
YzNiMDExMDhmZWIzNWUwMDZjYWE1OWVlNTI5ODU1OTE4YTc2MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKQEAgLTUxLDcgKzUxLDE2IEBAIEpTVmFs
dWUgSlNFdmVudDo6Y2xpcGJvYXJkRGF0YShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiAKICNkZWZp
bmUgVFJZX1RPX1dSQVBfV0lUSF9JTlRFUkZBQ0UoaW50ZXJmYWNlTmFtZSkgXAogICAgIGNhc2Ug
aW50ZXJmYWNlTmFtZSMjSW50ZXJmYWNlVHlwZTogXAotICAgICAgICByZXR1cm4gQ1JFQVRFX0RP
TV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgaW50ZXJmYWNlTmFtZSwgZXZlbnQpOworICAgICAgICBy
ZXR1cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKCZnbG9iYWxPYmplY3QsIGludGVyZmFjZU5hbWUsICZl
dmVudCk7CisKK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSBjcmVhdGVOZXdFdmVudFdyYXBwZXIoSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgRXZlbnQmIGV2ZW50KQoreworICAgIHN3aXRj
aCAoZXZlbnQuZXZlbnRJbnRlcmZhY2UoKSkgeworICAgICAgICBET01fRVZFTlRfSU5URVJGQUNF
U19GT1JfRUFDSChUUllfVE9fV1JBUF9XSVRIX0lOVEVSRkFDRSkKKyAgICB9CisKKyAgICByZXR1
cm4gQ1JFQVRFX0RPTV9XUkFQUEVSKCZnbG9iYWxPYmplY3QsIEV2ZW50LCAmZXZlbnQpOworfQog
CiBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgRXZlbnQqIGV2ZW50KQogewpAQCAtNjQsMTEgKzczLDEzIEBAIEpTVmFsdWUgdG9KUyhFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCiAg
ICAgaWYgKHdyYXBwZXIpCiAgICAgICAgIHJldHVybiB3cmFwcGVyOwogCi0gICAgc3dpdGNoIChl
dmVudC0+ZXZlbnRJbnRlcmZhY2UoKSkgewotICAgICAgICBET01fRVZFTlRfSU5URVJGQUNFU19G
T1JfRUFDSChUUllfVE9fV1JBUF9XSVRIX0lOVEVSRkFDRSkKLSAgICB9CisgICAgcmV0dXJuIGNy
ZWF0ZU5ld0V2ZW50V3JhcHBlcigqZ2xvYmFsT2JqZWN0LCAqZXZlbnQpOworfQogCi0gICAgcmV0
dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIEV2ZW50LCBldmVudCk7CisKK0pT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBFdmVudCogZXZlbnQpCit7CisgICAgcmV0dXJuIGV2ZW50ID8gY3JlYXRlTmV3
RXZlbnRXcmFwcGVyKCpnbG9iYWxPYmplY3QsICpldmVudCkgOiBqc051bGwoKTsKIH0KIAogI3Vu
ZGVmIFRSWV9UT19XUkFQX1dJVEhfSU5URVJGQUNFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwCmluZGV4IDkwZDcxZWI4NTMyZDYxMjk2MmU2YWMy
Y2I0M2M2MzVlMWNmY2Q1NWMuLjhjY2ExODhiNmM1YWJlZDIwZDAxZTQzNjM5NGYwNzI4NTQ3NTVh
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0
b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20u
Y3BwCkBAIC01OSw0ICs1OSwxMiBAQCBKU0M6OkpTVmFsdWUgY3JlYXRlV3JhcHBlcihKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBOb2RlTGlzdCYgbm9kZUxpc3QpCiAgICAgcmV0dXJu
IGNyZWF0ZU5ld1dyYXBwZXI8SlNOb2RlTGlzdD4oJmdsb2JhbE9iamVjdCwgJm5vZGVMaXN0KTsK
IH0KIAorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RP
TUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBOb2RlTGlzdCogbm9kZUxpc3QpCit7CisgICAg
aWYgKCFub2RlTGlzdCkKKyAgICAgICAgcmV0dXJuIEpTQzo6anNOdWxsKCk7CisKKyAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcigqZ2xvYmFsT2JqZWN0LCAqbm9kZUxpc3QpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1RleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9t
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY5MzNhMGM2MDc4NTJiMDJkZjhh
NTk5ODdlOTExYjU5N2RjZTAzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBB
cHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSlNUZXh0
LmgiCi0KLSNpbmNsdWRlICJUZXh0LmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0ZSosIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRleHQqIHRleHQpCi17Ci0gICAgaWYgKCF0
ZXh0KQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgCi0gICAgcmV0dXJuIENSRUFURV9E
T01fV1JBUFBFUihnbG9iYWxPYmplY3QsIFRleHQsIHRleHQpOwotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNo
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDAyNmYyYWEzYTRhYjlkOWE0NzgxZmVk
ZjA2MmU3YjFlNzI2ODQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDEwLCBUaGUgQW5k
cm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgIVBMQVRG
T1JNKElPUykKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotCi0jaW5jbHVkZSAiSlNUb3VjaC5o
IgotCi0jaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRvdWNoKiB0b3VjaCkKLXsKLSAg
ICBpZiAoIXRvdWNoKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0KLSAgICByZXR1cm4gQ1JF
QVRFX0RPTV9XUkFQUEVSKGdsb2JhbE9iamVjdCwgVG91Y2gsIHRvdWNoKTsKLX0KLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFRPVUNIX0VWRU5UUykKLSNlbmRp
ZiAvLyAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNUb3VjaExpc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNU
b3VjaExpc3RDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGVkZmU4
NzlmMjZhYThjZTFhMjc0ZWQyZTdiMGZiOGY1OTdmMmQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91
Y2hMaXN0Q3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLQotI2lmICFQTEFURk9STShJT1MpCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykK
LQotI2luY2x1ZGUgIkpTVG91Y2hMaXN0LmgiCi0KLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIK
LQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1KU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoRXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVG91Y2hMaXN0KiB0b3VjaExpc3QpCi17Ci0gICAgaWYgKCF0b3VjaExpc3QpCi0gICAg
ICAgIHJldHVybiBqc051bGwoKTsKLQotICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xv
YmFsT2JqZWN0LCBUb3VjaExpc3QsIHRvdWNoTGlzdCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0jZW5kaWYgLy8gIVBMQVRG
T1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KaW5kZXggYTgzNjIwOThiYjkxNTVhMjQ4MGNkNGEwY2VmYWQzMzM1YjU3NjU2
MS4uYzVmMWM1OWI4NmVlM2FhNGQxNTkzYTRlNWIyNDBlODlhZWUzMTE3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTUw
OSwxNSArNTA5LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb25Db250ZW50SGVhZGVyCiAg
ICAgcmV0dXJuIEBpbXBsQ29udGVudEhlYWRlcjsKIH0KIAotbXkgJXVzZXNUb0pTTmV3bHlDcmVh
dGVkID0gKAotICAgICJDREFUQVNlY3Rpb24iID0+IDEsCi0gICAgIkVsZW1lbnQiID0+IDEsCi0g
ICAgIk5vZGUiID0+IDEsCi0gICAgIlRleHQiID0+IDEsCi0gICAgIlRvdWNoIiA9PiAxLAotICAg
ICJUb3VjaExpc3QiID0+IDEKLSk7Ci0KIHN1YiBTaG91bGRHZW5lcmF0ZVRvSlNEZWNsYXJhdGlv
bgogewogICAgIG15ICgkaGFzUGFyZW50LCAkaW50ZXJmYWNlKSA9IEBfOwpAQCAtMTIxNSwxMSAr
MTIwNiwxMCBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgICAgIHB1c2goQGhlYWRlckNv
bnRlbnQsICRleHBvcnRMYWJlbC4iSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBK
U0RPTUdsb2JhbE9iamVjdCosICRpbXBsVHlwZSopO1xuIik7CiAgICAgICAgIH0KICAgICAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgImlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNT
dGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgJGltcGxUeXBlJiBp
bXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9XG4iKTsKKwor
ICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosICRpbXBsVHlwZSopO1xuIik7
CiAgICAgfQotICAgIGlmICgkdXNlc1RvSlNOZXdseUNyZWF0ZWR7JGludGVyZmFjZU5hbWV9KSB7
Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgJGludGVyZmFjZU5hbWUq
KTtcbiIpOwotICAgIH0KLSAgICAKKwogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJcbiIpOwog
CiAgICAgIyBBZGQgcHJvdG90eXBlIGRlY2xhcmF0aW9uLgpAQCAtMzA2NCw3ICszMDU0LDIxIEBA
IGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0ICR7dnRhYmxlUmVmV2lufVtdKSgpOyB9
CiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqICR7dnRhYmxlTmFtZUdudX1bXTsgfQogI2VuZGlm
CiAjZW5kaWYKKworRU5ECisKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsICRpbXBsVHlwZSogaW1wbClcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIntcbiIpOworcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKKyAgICBpZiAoIWltcGwp
CisgICAgICAgIHJldHVybiBqc051bGwoKTsKIEVORAorICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5
VHlwZSkgeworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGNyZWF0
ZU5ld1dyYXBwZXI8JGNsYXNzTmFtZSwgJGltcGxUeXBlPihnbG9iYWxPYmplY3QsIGltcGwpO1xu
Iik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICByZXR1cm4gY3JlYXRlTmV3V3JhcHBlcjwkY2xhc3NOYW1lPihnbG9iYWxPYmplY3QsIGltcGwp
O1xuIik7CisgICAgICAgIH0KKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwog
CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCAkaW1wbFR5cGUqIGltcGwp
XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKQEAgLTQxMjYsNyArNDEz
MCw3IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUKIAogICAgIHJldHVybiAkdmFsdWUgaWYgJGNvZGVH
ZW5lcmF0b3ItPklzU1ZHQW5pbWF0ZWRUeXBlKCR0eXBlKTsKIAotICAgIGlmICgkc2lnbmF0dXJl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmV0dXJuTmV3T2JqZWN0In0pIHsKKyAgICBpZiAoJHNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5ld09iamVjdCJ9KSB7CiAgICAgICAgIHJl
dHVybiAidG9KU05ld2x5Q3JlYXRlZChleGVjLCAkZ2xvYmFsT2JqZWN0LCBXVEY6OmdldFB0cigk
dmFsdWUpKSI7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCBhMDQwYmRhZDAyYzA2OTcxZmJkZDRjODE1ODc4MWYx
OWYxMjA1NmFjLi4zOGI3ZTMzZTRmZTI5OTM1N2RjNGEyNDhmNjk5YjY0ODgwMmQzOGM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQK
QEAgLTg4LDYgKzg4LDcgQEAgSlNMZWdhY3lQYXJlbnQ9KgogTWFzcXVlcmFkZXNBc1VuZGVmaW5l
ZAogTmFtZWRDb25zdHJ1Y3Rvcj0qCiBOZXdJbXB1cmVQcm9wZXJ0eUZpcmVzV2F0Y2hwb2ludHMK
K05ld09iamVjdAogTm9JbnRlcmZhY2VPYmplY3QKIE5vbmRldGVybWluaXN0aWMKIE5vdEVudW1l
cmFibGUKQEAgLTEwNyw3ICsxMDgsNiBAQCBSZXBsYWNlYWJsZQogUmVwbGFjZWFibGVDb25zdHJ1
Y3RvcgogUmVwb3J0RXh0cmFNZW1vcnlDb3N0CiBSZXF1aXJlc0V4aXN0aW5nQXRvbWljU3RyaW5n
Ci1SZXR1cm5OZXdPYmplY3QKIFNldHRlclJhaXNlc0V4Y2VwdGlvbgogU2tpcFZUYWJsZVZhbGlk
YXRpb24KIFN0cmljdFR5cGVDaGVja2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cAppbmRleCAxYTEwOTNkZjE3MjYyZDYzZDI2NTFkNTk1MDZiMGNiNGNjYjYwZjM1Li41MTE1Zjdh
YmNjYTMxNDQ3YTRiODZjM2U1YjMxMWZjN2IxNzVkNDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZl
RE9NT2JqZWN0LmNwcApAQCAtMjYyLDYgKzI2MiwxNCBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZv
aWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0QWN0aXZlRE9NT2JqZWN0QFdlYkNvcmVA
QAogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTlUZXN0QWN0aXZlRE9N
T2JqZWN0RVtdOyB9CiAjZW5kaWYKICNlbmRpZgorCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRl
c3RBY3RpdmVET01PYmplY3QqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZU5ld1dyYXBwZXI8SlNUZXN0QWN0aXZlRE9N
T2JqZWN0PihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RBY3RpdmVE
T01PYmplY3QqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9i
amVjdC5oCmluZGV4IDk2Nzg3ZDQ0NGNhNmE0ZTc3OTUxMWZkNDdhODUzOWJmNWZiYzU1YjguLmJj
YTBhMzA4ODg0NzA1MDBmYWY3OWUzNjdiMGJlZGViOWUzZGY3ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0
aXZlRE9NT2JqZWN0LmgKQEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93
bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEFjdGl2ZURPTU9iamVjdCoK
IAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCos
IFRlc3RBY3RpdmVET01PYmplY3QqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4
ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEFjdGl2
ZURPTU9iamVjdCYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBs
KTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RP
TUdsb2JhbE9iamVjdCosIFRlc3RBY3RpdmVET01PYmplY3QqKTsKIAogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0
cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmNwcAppbmRleCA0MmM3ZDk4ZGM4ZjZkYTBjZTRm
ODJkZjg1OGU1OTk3NDJmYjU5M2U0Li4wNmNhOTk2YTc0NzFlMTNlNGJmZTdiNjc2ZWQ2YTA2N2Nh
MGI4OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdC5jcHAKQEAgLTE3OSw2ICsxNzksMTQgQEAgZXh0
ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdEN1c3Rv
bUNvbnN0cnVjdG9yV2l0aE5vSW4KIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2Vi
Q29yZTQyVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0RVtdOyB9CiAj
ZW5kaWYKICNlbmRpZgorCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
dGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDdXN0b21Db25zdHJ1
Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAg
ICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlTmV3V3JhcHBlcjxKU1Rlc3RD
dXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdD4oZ2xvYmFsT2JqZWN0LCBpbXBs
KTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VP
YmplY3QqIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5v
SW50ZXJmYWNlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaAppbmRleCBk
Y2U5ZDA1YjRlNzBmOTg2MGI2Y2RjODdiYTg1MTEwMDJmZGRkNzlhLi45NTdkYjZjNDY0OWU0OTky
OWJkNTE3OWU0ODViZThiNmRhNjRmYmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZh
Y2VPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaApAQCAtODAsNiAr
ODAsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFw
cGVyV29ybGQmLCBUZXN0Q3VzdG9tQ29uc3RydWN0bwogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0
aE5vSW50ZXJmYWNlT2JqZWN0Kik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVj
U3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDdXN0b21D
b25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCYgaW1wbCkgeyByZXR1cm4gdG9KUyhleGVj
LCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RDdXN0b21Db25zdHJ1Y3Rv
cldpdGhOb0ludGVyZmFjZU9iamVjdCopOwogCiAvLyBDdXN0b20gY29uc3RydWN0b3IKIEpTQzo6
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU1Rlc3RDdXN0b21Db25zdHJ1
Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdChKU0M6OkV4ZWNTdGF0ZSopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVk
R2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDdXN0b21OYW1lZEdldHRlci5jcHAKaW5kZXggYmJhMjNmNzEwM2NhMDYxYTRkZTc0ZGRkNGNj
N2QyM2Y0NGJkYzU5NC4uOWYzY2U0ZTIyNTU2MzJmOWYyZjI5NjNiMjlhZmRhYWIyOWI2NzRkYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEN1c3RvbU5hbWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBAIC0yNDcsNiArMjQ3LDE0
IEBAIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rl
c3RDdXN0b21OYW1lZEdldHRlckBXZWJDb3JlCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9a
VFZON1dlYkNvcmUyMVRlc3RDdXN0b21OYW1lZEdldHRlckVbXTsgfQogI2VuZGlmCiAjZW5kaWYK
KworSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGltcGwpCit7
CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNy
ZWF0ZU5ld1dyYXBwZXI8SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI+KGdsb2JhbE9iamVjdCwgaW1w
bCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEN1c3RvbU5hbWVkR2V0dGVyKiBpbXBsKQogewogICAg
IGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKaW5kZXggODQ1ZDdj
MzEwYjBhMzM1OTMwNmIyMDA3MzU4MjhjNmFjNDYyODM1Ni4uMDFjZDMzYWE1YzI1MDkwYTczZDdi
YzU1NTk5M2QzMTg2ZWNiNDM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgK
QEAgLTg3LDYgKzg3LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3du
ZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEN1c3RvbU5hbWVkR2V0dGUKIAogSlNDOjpKU1ZhbHVl
IHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RDdXN0b21OYW1l
ZEdldHRlciopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVj
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIm
IGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqLCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmU2MTRiNmVkZWRiMDI2
MmViY2Q0NjdlMDcwMDM1MWM1OWQ1ZGYzYy4uMmIwNDY0NDI0NmZkNDE1ZWQzNmI4MTU1N2Q3MWM3
ZDYwNTkyZDYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcApAQCAtMjY2
LDYgKzI2NiwxNCBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZp
ZXIoIj8/XzdUZXN0RXZlbnRDb25zdHJ1Y3RvckBXZWJDb3JlQAogZXh0ZXJuICJDIiB7IGV4dGVy
biB2b2lkKiBfWlRWTjdXZWJDb3JlMjBUZXN0RXZlbnRDb25zdHJ1Y3RvckVbXTsgfQogI2VuZGlm
CiAjZW5kaWYKKworSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0RXZlbnRDb25zdHJ1Y3Rvciog
aW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICBy
ZXR1cm4gY3JlYXRlTmV3V3JhcHBlcjxKU1Rlc3RFdmVudENvbnN0cnVjdG9yPihnbG9iYWxPYmpl
Y3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFdmVudENvbnN0cnVjdG9yKiBpbXBsKQog
ewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCmluZGV4IDAy
MjE2MmIwZDZhZjhmMWJjYmRjNGM4NTQ1Yjc2ZDAxMjU1YzMwYjEuLjg1YjMyNzIxMjQ5NjA0ZmE0
MWMxZmIzZWNlMWU3MDI1OTc4ZWJlNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3Iu
aApAQCAtODMsNiArODMsNyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJP
d25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0RXZlbnRDb25zdHJ1Y3RvcgogCiBKU0M6OkpTVmFs
dWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEV2ZW50Q29u
c3RydWN0b3IqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhl
YywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV2ZW50Q29uc3RydWN0b3Im
IGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6
SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqLCBUZXN0RXZlbnRDb25zdHJ1Y3RvciopOwogCiBib29sIGZpbGxUZXN0RXZlbnRDb25zdHJ1
Y3RvckluaXQoVGVzdEV2ZW50Q29uc3RydWN0b3JJbml0JiwgSlNEaWN0aW9uYXJ5Jik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
dmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IDBjODg1N2RiMmY3OWQ4OTYxYmMwNmEzMDE4YWNh
MjNhYzAzNjY4ODEuLmUwYjBmZjJkNzU0MjNjNzY2MTA2MjJkMDg1NzM5YTgxNWRkNjg5ZTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
dmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMzQwLDYgKzM0MCwxNCBAQCBleHRlcm4gIkMi
IHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0RXZlbnRUYXJnZXRA
V2ViQ29yZUBANkJAIgogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTVU
ZXN0RXZlbnRUYXJnZXRFW107IH0KICNlbmRpZgogI2VuZGlmCisKK0pTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGVzdEV2ZW50VGFyZ2V0KiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAg
cmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVOZXdXcmFwcGVyPEpTVGVzdEV2ZW50
VGFyZ2V0PihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFdmVudFRh
cmdldCogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCmluZGV4
IDUxOTUzMTllODFjNTZmYmNiNGRiYTBhYzIxMmJlNWRlZDgwZWJmMjguLmRhNzVhMzgzMjVlMDU1
YWI4YWMyMjBmMGJmYzEyZGJmY2Q4MWI1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCkBAIC05
MSw2ICs5MSw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERP
TVdyYXBwZXJXb3JsZCYsIFRlc3RFdmVudFRhcmdldCopCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0RXZlbnRUYXJnZXQqKTsKIGlu
bGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEV2ZW50VGFyZ2V0JiBpbXBsKSB7IHJldHVybiB0b0pT
KGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEV2ZW50VGFyZ2V0
Kik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAppbmRl
eCAzODdjMmY2MjZiZjcxZjVlYWViNmM2ZDJmZDUyMGFkYmM1OTA2M2YyLi45MTQ3ZjY4M2NmYjk3
N2IzNmZhYWUzMzg2ZGJlNzJhYTg5ZmU5MGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcApAQCAt
MjEyLDYgKzIxMiwxNCBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50
aWZpZXIoIj8/XzdUZXN0RXhjZXB0aW9uQFdlYkNvcmVAQDZCQCIpWwogZXh0ZXJuICJDIiB7IGV4
dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMTNUZXN0RXhjZXB0aW9uRVtdOyB9CiAjZW5kaWYKICNl
bmRpZgorCitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFeGNlcHRpb24qIGltcGwpCit7Cisg
ICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0
ZU5ld1dyYXBwZXI8SlNUZXN0RXhjZXB0aW9uPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RFeGNlcHRpb24qIGltcGwpCiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2Vw
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4
Y2VwdGlvbi5oCmluZGV4IGM3MTAxNDk5ZGM5ZGY0ZGFmNWQ4OWRiNzQxMDAxODE3MDEzZTAxODAu
LmJlNGYwMDQzOWVlMThkZDUzM2JjNWNmZWUzYzNkZTdmNWU5NTMyYTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0
aW9uLmgKQEAgLTg1LDYgKzg1LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFw
cGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEV4Y2VwdGlvbiopCiAKIEpTQzo6SlNWYWx1
ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0RXhjZXB0aW9u
Kik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RFeGNlcHRpb24mIGltcGwpIHsgcmV0dXJu
IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0RXhjZXB0
aW9uKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVy
YXRlSXNSZWFjaGFibGUuY3BwCmluZGV4IGNmYzc4YThiNWM0M2YxYTZlNTBlODViMmE0ZmIwNzVj
YmZiMzczMDQuLjM4ODk1ZGE0NzA3ZjM4NTM3NDZlZjRhMGQ3ZDIyM2FlZTQyZTJiOGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5l
cmF0ZUlzUmVhY2hhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKQEAgLTE3NCw2ICsxNzQsMTQg
QEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVz
dEdlbmVyYXRlSXNSZWFjaGFibGVAV2ViQ28KIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pU
Vk43V2ViQ29yZTIzVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVFW107IH0KICNlbmRpZgogI2VuZGlm
CisKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUqIGltcGwp
Cit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJu
IGNyZWF0ZU5ld1dyYXBwZXI8SlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZT4oZ2xvYmFsT2JqZWN0
LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSogaW1wbCkK
IHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaApp
bmRleCA5YTc1YTdjYjVhZGU5NGI3MTY4YzJkYjM2MDRkNGRlYzg4YTU1ZDg0Li4zZmNmMDllZTNm
ZTljZjUxYzM3M2I0ZjQ2MTIwNTJkOGQ2NTQ2NGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0
ZUlzUmVhY2hhYmxlLmgKQEAgLTgxLDYgKzgxLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93
bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdEdlbmVyYXRlSXNSZWFjaGEK
IAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCos
IFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlND
OjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RH
ZW5lcmF0ZUlzUmVhY2hhYmxlJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVj
dCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUqKTsKIAogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IDEwMzU2ODhh
OTljM2I1MDU2NzhiZDQ4NWFkNjdhYmQ5NzBhMmE5YjEuLjYwZjk2ZGUxODI3MTE4MTMzZWJmMTVm
MmQyMjM3YjYxZmI5MzMxMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC05NTUsNiArOTU1
LDEzIEBAIHZvaWQgSlNUZXN0SW50ZXJmYWNlT3duZXI6OmZpbmFsaXplKEpTQzo6SlNDZWxsKiYg
Y2VsbCwgdm9pZCogY29udGV4dCkKICAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJndyYXBwZXIu
aW1wbCgpLCAmd3JhcHBlcik7CiB9CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEludGVy
ZmFjZSogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICByZXR1cm4gY3JlYXRlTmV3V3JhcHBlcjxKU1Rlc3RJbnRlcmZhY2U+KGdsb2JhbE9iamVj
dCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdEludGVyZmFjZSogaW1wbCkKIHsKICAgICBp
ZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKaW5kZXggMGJjNzdlZjI5NzkyNWQzODA5NTBhODQ4
ZTc3Y2EyYjZmMjlmMjQzMi4uMWVmZDc1MmQ4NjQ0NjFmNGQzZmFmZjI0N2MyZjhiNzQ5MzU4MjFk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbnRlcmZhY2UuaApAQCAtMTExLDYgKzExMSw3IEBAIGlubGluZSBKU0M6Oldl
YWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RJbnRlcmZh
Y2UqKQogCiBXRUJDT1JFX0VYUE9SVCBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSos
IEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEludGVyZmFjZSopOwogaW5saW5lIEpTQzo6SlNWYWx1
ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBUZXN0SW50ZXJmYWNlJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVj
dCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdEludGVyZmFjZSopOwogCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNw
cAppbmRleCBmNDdlMmRhMTE2YjhkNGJkOTRhOTBiY2YyY2VhNjMxMDQzZGEwYmE4Li45NjI0YWM3
ODA0MzE3NzQ3NzdjMGM5MTE0ZWE3NGI2NzIwODBkM2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0xOTksNiArMTk5LDE0IEBAIGV4dGVybiAi
QyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyQFdlCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUy
NlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyRVtdOyB9CiAjZW5kaWYKICNlbmRpZgorCitKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXBsKQorewor
ICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVh
dGVOZXdXcmFwcGVyPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KGdsb2JhbE9iamVjdCwg
aW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGltcGwp
CiB7CiAgICAgaWYgKCFpbXBsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyLmgKaW5kZXggMThiNDNkODU1NWUwYmE3MzU1YzViMTU4ZDllZTdiN2M4ZTQ3MDhmNC4uZjIw
NjUyMmE0ZjJjYmRjOThlYzdkMjc3YTEwZDAzZjcxZDdmZmE3OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCkBAIC04MSw2ICs4MSw3IEBAIGlubGluZSBKU0M6
OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RNZWRp
YVF1ZXJ5TGlzdExpCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciopOwogaW5saW5lIEpTQzo6
SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciYgaW1wbCkgeyByZXR1cm4gdG9K
UyhleGVjLCBnbG9iYWxPYmplY3QsICZpbXBsKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3Ry
dWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkQ29uc3RydWN0b3IuY3BwCmluZGV4IDBjZjllODA2YzA2ZGZhZDI4MTAzYTBjY2NmY2Mw
OGNiMmIxMzQyNzQuLjQ2MDdlZTkxMmU1MDdmM2NkN2IzODI5MDJhYTJiZDg5N2U2OWU0YmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKQEAgLTI1NCw2ICsyNTQsMTQgQEAg
ZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdE5h
bWVkQ29uc3RydWN0b3JAV2ViQ29yZUAKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43
V2ViQ29yZTIwVGVzdE5hbWVkQ29uc3RydWN0b3JFW107IH0KICNlbmRpZgogI2VuZGlmCisKK0pT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5hbWVkQ29uc3RydWN0b3IqIGltcGwpCit7CisgICAg
aWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZU5l
d1dyYXBwZXI8SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcj4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30K
KwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCkKIHsKICAgICBpZiAoIWlt
cGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuaAppbmRleCA2NmYyZWM3NzM4MGRkZTg3
MzEyYjUzZjg4MzE3ZDYzNzdhYzc3YTVjLi42NWJmYmYwZTg1YjU5NzM0MzNlZjgyZmRhNmE2NzZi
YzU1ZDAzNjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmgKQEAgLTgyLDYgKzgy
LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBl
cldvcmxkJiwgVGVzdE5hbWVkQ29uc3RydWN0b3IKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpF
eGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3ROYW1lZENvbnN0cnVjdG9yKik7CiBp
bmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3ROYW1lZENvbnN0cnVjdG9yJiBpbXBsKSB7IHJldHVy
biB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE5hbWVk
Q29uc3RydWN0b3IqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5p
c3RpYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Tm9uZGV0ZXJtaW5pc3RpYy5jcHAKaW5kZXggNWU4YWE2ZTMxOTE2ODY2ZjU4YWY4NTAyYWRkNzA0
NTdhNzg2YTdjOS4uNjNhNjUzNTE5MDliMDllODEyMzZiZGNhMmQ2MTVmYjliMGE5OTIyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5v
bmRldGVybWluaXN0aWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcApAQCAtNTA1LDYgKzUwNSwxNCBAQCBl
eHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0Tm9u
ZGV0ZXJtaW5pc3RpY0BXZWJDb3JlQAogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdX
ZWJDb3JlMjBUZXN0Tm9uZGV0ZXJtaW5pc3RpY0VbXTsgfQogI2VuZGlmCiAjZW5kaWYKKworSlND
OjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Tm9uZGV0ZXJtaW5pc3RpYyogaW1wbCkKK3sKKyAgICBp
ZiAoIWltcGwpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlTmV3
V3JhcHBlcjxKU1Rlc3ROb25kZXRlcm1pbmlzdGljPihnbG9iYWxPYmplY3QsIGltcGwpOworfQor
CiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFRlc3ROb25kZXRlcm1pbmlzdGljKiBpbXBsKQogewogICAgIGlmICghaW1w
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROb25kZXRlcm1pbmlzdGljLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5oCmluZGV4IGViNTE3MDNmNDI3ZTJiNGRh
MmNhNzBjNmE0ZGNkMTk4YWY4MzAwMGYuLjcyMTIxOTBkNWYyNzhjZTE5YmQ0NTIzMmZmM2ZkNTJl
MmUxMWY5NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuaApAQCAtODEsNiArODEs
NyBAQCBpbmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVy
V29ybGQmLCBUZXN0Tm9uZGV0ZXJtaW5pc3RpYwogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4
ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE5vbmRldGVybWluaXN0aWMqKTsKIGlu
bGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE5vbmRldGVybWluaXN0aWMmIGltcGwpIHsgcmV0dXJu
IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0Tm9uZGV0
ZXJtaW5pc3RpYyopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXgg
MmUxMGY1MzBiN2I0YmE2NGI4NDkyNWJjNDdiNDRjNjYxZTY2YjQzOC4uYzJjZWEwZDA3ZmU4MDg0
ZTg3MDVjNzQ2MTNlNDVlZGIzMWYxMWM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQ3MDQsNiArNDcwNCwx
NCBAQCBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdU
ZXN0T2JqQFdlYkNvcmVAQDZCQCIpW10pKCk7CiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9a
VFZON1dlYkNvcmU3VGVzdE9iakVbXTsgfQogI2VuZGlmCiAjZW5kaWYKKworSlNDOjpKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBUZXN0T2JqKiBpbXBsKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0
dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVOZXdXcmFwcGVyPEpTVGVzdE9iaj4oZ2xv
YmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0T2JqKiBpbXBsKQogewogICAg
IGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouaAppbmRleCA3NzRjNzE0OWFkNWVmMmIyNWMyMjAwMDZiMDEzYWRkMzdl
ZDk1Y2E1Li4wYmM3ZmM2YTEyYmJkMjg0NTdjODZhZWM0OWMzZGRlZmUwNjMxNDAwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5o
CkBAIC05Nyw2ICs5Nyw3IEBAIGlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93
bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RPYmoqKQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE9iaiopOwogaW5saW5lIEpTQzo6
SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBUZXN0T2JqJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVj
dCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE9iaiopOwogCiAvLyBGdW5jdGlvbnMKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCmluZGV4IDQ0Njk0MjRj
NTFlZjEyZThhYTQ4ZjU5YzMzNmEwOTI0YjcwODExZTcuLmQzOTkwMzZiYzQxYWVlNzY4MWQ3NzVk
YmFkYTdhNjhjNDc4NjQ3NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycy5jcHAKQEAgLTI2OCw2ICsyNjgsMTQgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lk
ICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNAV2UK
IGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTI2VGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnNFW107IH0KICNlbmRpZgogI2VuZGlmCisKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3
bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQor
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZU5ld1dyYXBwZXI8SlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlND
OjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyogaW1wbCkKIHsKICAgICBpZiAoIWlt
cGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaAppbmRleCBlNTIz
ZmMxMGJmMDAwYzY5N2NmMDJjYWIzZDk4NTAwNTJmYWM4MTNiLi5jYjM3OGRkNTc5OTQyODA5M2Yx
ZmZiZTJkMDg3ZmVmMjI3YjAxZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzLmgKQEAgLTgxLDYgKzgxLDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVy
KiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdE92ZXJsb2FkZWRDb25zdHIKIAog
SlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKik7CiBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlND
OjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzJiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9i
amVjdCwgJmltcGwpOyB9CitKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
dGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMqKTsK
IAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlu
cy5jcHAKaW5kZXggNWY3Y2E2OTYxMWRiN2MwNjJlOWZlMWZlNGYwZmZhYWQ2ZmI2NzBjMS4uNTkz
MmYyMGVhZWQ3ZjVlOTg0MWQ1ZmViOTViYjFiODg0ODRiODU5YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVycmlkZUJ1aWx0aW5zLmNwcApAQCAtMjQzLDYgKzI0MywxNCBAQCBleHRlcm4gIkMiIHsgZXh0
ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0T3ZlcnJpZGVCdWlsdGluc0BX
ZWJDb3JlQAogZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjBUZXN0T3Zl
cnJpZGVCdWlsdGluc0VbXTsgfQogI2VuZGlmCiAjZW5kaWYKKworSlNDOjpKU1ZhbHVlIHRvSlNO
ZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBUZXN0T3ZlcnJpZGVCdWlsdGlucyogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAg
ICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4gY3JlYXRlTmV3V3JhcHBlcjxKU1Rlc3RP
dmVycmlkZUJ1aWx0aW5zPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFsdWUg
dG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRl
c3RPdmVycmlkZUJ1aWx0aW5zKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1
aWx0aW5zLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcnJpZGVCdWlsdGlucy5oCmluZGV4IDA0NDkyYWE5ZWNjNmE1YmU2ODg1OWQzMDg2OTg3NWI1
NGRjZDg2NzguLmJmNzY5MjBkZGVhY2VlZmI4OTc0YzJkMDk0MzJlOWQwZmEzNjJiYzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVy
cmlkZUJ1aWx0aW5zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuaApAQCAtODcsNiArODcsNyBAQCBpbmxpbmUgSlND
OjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQmLCBUZXN0T3Zl
cnJpZGVCdWlsdGlucwogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0KiwgVGVzdE92ZXJyaWRlQnVpbHRpbnMqKTsKIGlubGluZSBKU0M6OkpTVmFs
dWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGVzdE92ZXJyaWRlQnVpbHRpbnMmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xv
YmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUZXN0T3ZlcnJpZGVCdWlsdGlucyopOwog
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggZjFiNjRkMmNiNmJlYzQ5NTIz
YzBlNTkyYzU0MDcyYmQ1Y2MzYzMxYi4uZWIzMDU1OGNkN2YxYThmMGI3ZmE4MTM4NWE4NWIyYzUx
NTJhNTVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZS5jcHAKQEAgLTMzMyw2ICszMzMsMTQgQEAgZXh0ZXJuICJDIiB7IGV4dGVy
biB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGUKIGV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTM0VGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUVbXTsgfQogI2VuZGlmCiAjZW5kaWYKKworSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiBpbXBs
KQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVy
biBjcmVhdGVOZXdXcmFwcGVyPEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZT4o
Z2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlKiBpbXBsKQogewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAppbmRleCA2NDIxZDIz
MGI1NjQ0NTAwMDk0NTA1MmQ5MTk5NjRhYzRhNWMyMjIyLi5hZTQ0NThlODhmMWI4Nzk0NDM5NjVh
YWY4YjVmYjY3Mzg4ZGM0MjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC04Nyw2ICs4Nyw3IEBAIGlubGluZSBKU0M6Oldl
YWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RTZXJpYWxp
emVkU2NyaXB0CiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKik7CiBpbmxpbmUg
SlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UmIGltcGwp
IHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pTQzo6SlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKik7CiAKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFR5cGVkZWZzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKaW5kZXggZjBlYTI4M2ZhMTIyYmYzYmI2MTdmYzZh
MmE0MzRlMDA4NWI2OTg5Zi4uZDZiNjQyYjk0ZWIzZDYwYjk2MmY4ZWRjY2RkOTJjYWJhN2I0ZDMx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFR5cGVkZWZzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCkBAIC03NDIsNiArNzQyLDE0IEBAIGV4dGVybiAiQyIg
eyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RUeXBlZGVmc0BXZWJD
b3JlQEA2QkAiKVtdCiBleHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUxMlRl
c3RUeXBlZGVmc0VbXTsgfQogI2VuZGlmCiAjZW5kaWYKKworSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBUZXN0VHlwZWRlZnMqIGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4g
anNOdWxsKCk7CisgICAgcmV0dXJuIGNyZWF0ZU5ld1dyYXBwZXI8SlNUZXN0VHlwZWRlZnM+KGds
b2JhbE9iamVjdCwgaW1wbCk7Cit9CisKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdFR5cGVkZWZzKiBpbXBsKQog
ewogICAgIGlmICghaW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKaW5kZXggNmIxODNhOWI5YTA1MDk3ODNk
YjcxN2MzMmJhNzU5MWY4NmU0OWM2ZC4uN2MzYjVjNDYwZTdlYWNhMWE4Zjc0NGJhYWQzNTIwODA3
OWMzZDdkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFR5cGVkZWZzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKQEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIEpTQzo6
V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBlcldvcmxkJiwgVGVzdFR5cGVk
ZWZzKikKIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCosIFRlc3RUeXBlZGVmcyopOwogaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhl
Y1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0VHlwZWRl
ZnMmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7IH0KK0pT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxP
YmplY3QqLCBUZXN0VHlwZWRlZnMqKTsKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmli
dXRlLmNwcAppbmRleCA5ODMxNTNlYTNjNjViMWRkNWFlMGI3ZDQ2MDc0MTMyMDIwMzJhYzE2Li5k
ZmM4M2VmNTc4ZDJkM2VjNjUwODlkMjg1YWFhYWNlM2FkY2I3NzlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAK
QEAgLTE5NSw2ICsxOTUsMTQgQEAgZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19p
ZGVudGlmaWVyKCI/P183YXR0cmlidXRlQFdlYkNvcmVAQDZCQCIpW10pKCkKIGV4dGVybiAiQyIg
eyBleHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTlhdHRyaWJ1dGVFW107IH0KICNlbmRpZgogI2Vu
ZGlmCisKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgYXR0cmlidXRlKiBpbXBsKQoreworICAgIGlm
ICghaW1wbCkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBjcmVhdGVOZXdX
cmFwcGVyPEpTYXR0cmlidXRlPihnbG9iYWxPYmplY3QsIGltcGwpOworfQorCiBKU0M6OkpTVmFs
dWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IGF0dHJpYnV0ZSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5oCmluZGV4IGI3Njll
OWRhYjIyYWVhNGI4NWM3YzAzYjllNjQ4OGY5ZTViY2ViNTEuLjYxNWU5MGEyZjE2YzA2NDVlZDNk
N2VkYjc4MzZhOGY0NTNiZjlkN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5oCkBAIC04Miw2ICs4Miw3IEBAIGlubGlu
ZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIGF0
dHJpYnV0ZSopCiAKIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9i
YWxPYmplY3QqLCBhdHRyaWJ1dGUqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4
ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgYXR0cmlidXRl
JiBpbXBsKSB7IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgJmltcGwpOyB9CitKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0KiwgYXR0cmlidXRlKik7CiAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3Bw
CmluZGV4IDIwN2MwYjVlYTIzNWE3ZTkzOTRmYmM4YmIzY2I2MGRkODcyZjdhNjQuLmYxODdiYjgw
NmJiNGJhMTljMzA0ODUwMTE0NjVmNWZhMWRiYjFjMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5jcHAKQEAgLTE2Niw2
ICsxNjYsMTMgQEAgdm9pZCBKU3JlYWRvbmx5T3duZXI6OmZpbmFsaXplKEpTQzo6SlNDZWxsKiYg
Y2VsbCwgdm9pZCogY29udGV4dCkKICAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJndyYXBwZXIu
aW1wbCgpLCAmd3JhcHBlcik7CiB9CiAKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
Qzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgcmVhZG9ubHkq
IGltcGwpCit7CisgICAgaWYgKCFpbXBsKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAg
cmV0dXJuIGNyZWF0ZU5ld1dyYXBwZXI8SlNyZWFkb25seT4oZ2xvYmFsT2JqZWN0LCBpbXBsKTsK
K30KKwogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCByZWFkb25seSogaW1wbCkKIHsKICAgICBpZiAoIWltcGwpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25s
eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHku
aAppbmRleCBkMGUxODg4YzgzYzZhNTZjNWUxNzgzNTIwYTU2Y2IyNzAzMmM2YjJjLi5lYzIzYTJl
OTM0ZDA5ZWY1ZmExZDQ5MTEwMDI4ZDJhZWExYTQyYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmgKQEAgLTgxLDYgKzgx
LDcgQEAgaW5saW5lIEpTQzo6V2Vha0hhbmRsZU93bmVyKiB3cmFwcGVyT3duZXIoRE9NV3JhcHBl
cldvcmxkJiwgcmVhZG9ubHkqKQogCiBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSos
IEpTRE9NR2xvYmFsT2JqZWN0KiwgcmVhZG9ubHkqKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
cmVhZG9ubHkmIGltcGwpIHsgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCAmaW1wbCk7
IH0KK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCByZWFkb25seSopOwogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9BdHRyLmlkbAppbmRleCAxNWMwMDFhNmJkYmIwY2UwODNlNmQyZGEzMGE1ZTAyY2Q4MWQ3NGZl
Li5mNzE5ZDEzOWYxY2VkMmRlMTIyOTY5MTEzZDRkYjMyYzIxYTY5ODVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vQXR0ci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIu
aWRsCkBAIC0yMCw3ICsyMCw4IEBACiAKIFsKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKLSAg
ICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QKKyAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3Qs
CisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIEF0dHIgOiBOb2RlIHsKIAog
ICAgIC8vIERPTSBMZXZlbCAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ0RBVEFT
ZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uaWRsCmluZGV4IDkz
OWZlMjdiMzVmOTZlMDFjZjVlNTBlOGNjOWQ2YTUxYzgyN2IyMGIuLmZjN2E4YWU0NzcxYTY5YzMy
MGI0NmIzOWIwNmJjYjkxY2FiMjZmZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9D
REFUQVNlY3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uaWRs
CkBAIC0xNyw2ICsxNyw4IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwog
Ci1pbnRlcmZhY2UgQ0RBVEFTZWN0aW9uIDogVGV4dCB7CitbCisgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QKK10gaW50ZXJmYWNlIENEQVRBU2VjdGlvbiA6IFRleHQgewogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0Nv
bW1lbnQuaWRsCmluZGV4IDA1MDNkNjMxNTNiMmI3ZGZkZTAwNmZmMDg3OTQ5MjY2MzVlN2M4NDQu
LjFiNjNhYTAyYzU2MjRkMDExNGZkMDdkZmJjNTU2NTk5ZTIxOGViM2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Db21tZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29t
bWVudC5pZGwKQEAgLTE5LDcgKzE5LDggQEAKIAogWwogICAgIENvbnN0cnVjdG9yKFtEZWZhdWx0
PU51bGxTdHJpbmddIG9wdGlvbmFsIERPTVN0cmluZyBkYXRhKSwKLSAgICBDb25zdHJ1Y3RvckNh
bGxXaXRoPURvY3VtZW50CisgICAgQ29uc3RydWN0b3JDYWxsV2l0aD1Eb2N1bWVudCwKKyAgICBK
U0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRlcmZhY2UgQ29tbWVudCA6IENoYXJhY3RlckRhdGEg
ewogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKaW5kZXggM2Qw
YTMzZDM5ZmQwNzI1NGJjNWY5OTM1YmZhZTY4YWU4MDFiNDQwYi4uN2ZlNGJmZjk4NjlkMzdiODk1
MTI2NTQzYjMwZDQyNTUyZTM1NjNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RP
TUltcGxlbWVudGF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50
YXRpb24uaWRsCkBAIC0zMCwxMCArMzAsMTAgQEAKIAogICAgIC8vIERPTSBMZXZlbCAyCiAKLSAg
ICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIERvY3VtZW50
VHlwZSBjcmVhdGVEb2N1bWVudFR5cGUoW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5k
ZWZpbmVkQXM9TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmlu
ZyBxdWFsaWZpZWROYW1lLAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNl
c0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRUeXBlKFtU
cmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1
bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtUcmVhdE51bGxBcz1O
dWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmcsIERlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCBET01TdHJpbmcgcHVibGljSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRV
bmRlZmluZWRBcz1OdWxsU3RyaW5nLCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3Ry
aW5nIHN5c3RlbUlkKTsKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNF
eGNlcHRpb25dIERvY3VtZW50IGNyZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5n
LCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgCisg
ICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmpl
Y3RdIERvY3VtZW50IGNyZWF0ZURvY3VtZW50KFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmlu
ZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9
TnVsbFN0cmluZywgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERvY3VtZW50VHlwZSBkb2N0
eXBlKTsKIApAQCAtNDQsNiArNDQsNiBAQAogCiAgICAgLy8gSFRNTERPTUltcGxlbWVudGF0aW9u
IGludGVyZmFjZSBmcm9tIERPTSBMZXZlbCAyIEhUTUwKIAotICAgIEhUTUxEb2N1bWVudCBjcmVh
dGVIVE1MRG9jdW1lbnQoW0RlZmF1bHQ9TnVsbFN0cmluZ10gb3B0aW9uYWwgRE9NU3RyaW5nIHRp
dGxlKTsKKyAgICBbTmV3T2JqZWN0XSBIVE1MRG9jdW1lbnQgY3JlYXRlSFRNTERvY3VtZW50KFtE
ZWZhdWx0PU51bGxTdHJpbmddIG9wdGlvbmFsIERPTVN0cmluZyB0aXRsZSk7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmlkbAppbmRleCA0NWVjZThjMTI4NTA1ZTc2MWYyZWViZTNmYTIzMjBiZTU0
M2MwZDM5Li5kZmQ3ZDdhMTAyNDgwMjU3YTM2N2U1ODE5ODAzODhjMzdhY2ZlMTQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5pZGwKQEAgLTMxLDE1ICszMSwxNSBAQAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01JbXBsZW1lbnRhdGlvbiBpbXBsZW1lbnRhdGlvbjsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRWxlbWVudCBkb2N1bWVudEVsZW1lbnQ7CiAKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBS
YWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudChET01TdHJpbmcgdGFnTmFtZSk7
Ci0gICAgRG9jdW1lbnRGcmFnbWVudCAgIGNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKLSAgICBb
UmV0dXJuTmV3T2JqZWN0XSBUZXh0IGNyZWF0ZVRleHROb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0g
b3B0aW9uYWwgRE9NU3RyaW5nIGRhdGEpOwotICAgIFtSZXR1cm5OZXdPYmplY3RdIENvbW1lbnQg
Y3JlYXRlQ29tbWVudChbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBkYXRh
KTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIENEQVRBU2VjdGlvbiBj
cmVhdGVDREFUQVNlY3Rpb24oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcg
ZGF0YSk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0dXJuTmV3T2JqZWN0
LCBSYWlzZXNFeGNlcHRpb25dIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBjcmVhdGVQcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0
LAorICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRWxlbWVudCBjcmVhdGVFbGVtZW50
KERPTVN0cmluZyB0YWdOYW1lKTsKKyAgICBbTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdtZW50ICAg
Y3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOworICAgIFtOZXdPYmplY3RdIFRleHQgY3JlYXRlVGV4
dE5vZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgZGF0YSk7CisgICAg
W05ld09iamVjdF0gQ29tbWVudCBjcmVhdGVDb21tZW50KFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0
aW9uYWwgRE9NU3RyaW5nIGRhdGEpOworICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0g
Q0RBVEFTZWN0aW9uIGNyZWF0ZUNEQVRBU2VjdGlvbihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlv
bmFsIERPTVN0cmluZyBkYXRhKTsKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBO
ZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gUHJvY2Vzc2luZ0luc3RydWN0aW9uIGNyZWF0ZVBy
b2Nlc3NpbmdJbnN0cnVjdGlvbihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmlu
ZyB0YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9w
dGlvbmFsIERPTVN0cmluZyBkYXRhKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlzZXNFeGNl
cHRpb25dIEF0dHIgY3JlYXRlQXR0cmlidXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwg
RE9NU3RyaW5nIG5hbWUpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0g
RW50aXR5UmVmZXJlbmNlIGNyZWF0ZUVudGl0eVJlZmVyZW5jZShbRGVmYXVsdD1VbmRlZmluZWRd
IG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKKyAgICBbTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRp
b25dIEF0dHIgY3JlYXRlQXR0cmlidXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9N
U3RyaW5nIG5hbWUpOworICAgIFtOZXdPYmplY3QsIFJhaXNlc0V4Y2VwdGlvbl0gRW50aXR5UmVm
ZXJlbmNlIGNyZWF0ZUVudGl0eVJlZmVyZW5jZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFs
IERPTVN0cmluZyBuYW1lKTsKIAogI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYm
IExBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgW0ltcGxlbWVudGVkQXM9Z2V0RWxlbWVudHNCeVRh
Z05hbWVGb3JPYmpDXSBOb2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFtZShbRGVmYXVsdD1VbmRl
ZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyB0YWduYW1lKTsKQEAgLTQ5LDExICs0OSwxMSBAQAog
CiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKIAotICAgIFtPYmpDTGVnYWN5VW5u
YW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBOb2RlIGlt
cG9ydE5vZGUoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBOb2RlIGltcG9ydGVkTm9kZSwK
KyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBOZXdPYmplY3QsIFJhaXNlc0V4Y2Vw
dGlvbl0gTm9kZSBpbXBvcnROb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgTm9kZSBp
bXBvcnRlZE5vZGUsCiAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZGVlcCk7
Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0dXJuTmV3T2JqZWN0LCBSYWlz
ZXNFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudE5TKFtUcmVhdE51bGxBcz1OdWxsU3Ry
aW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAor
ICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhjZXB0
aW9uXSBFbGVtZW50IGNyZWF0ZUVsZW1lbnROUyhbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZh
dWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVm
aW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUpOwotICAgIFtPYmpDTGVnYWN5
VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBBdHRy
IGNyZWF0ZUF0dHJpYnV0ZU5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZp
bmVkXSBvcHRpb25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgIFtPYmpDTGVnYWN5VW5u
YW1lZFBhcmFtZXRlcnMsIE5ld09iamVjdCwgUmFpc2VzRXhjZXB0aW9uXSBBdHRyIGNyZWF0ZUF0
dHJpYnV0ZU5TKFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLERlZmF1bHQ9VW5kZWZpbmVkXSBvcHRp
b25hbCBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVHJlYXROdWxs
QXM9TnVsbFN0cmluZyxEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIHF1YWxp
ZmllZE5hbWUpOwogCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VB
R0VfT0JKRUNUSVZFX0MKQEAgLTg0LDE5ICs4NCwxOSBAQAogCiAgICAgLy8gRE9NIExldmVsIDIg
RXZlbnRzIChEb2N1bWVudEV2ZW50cyBpbnRlcmZhY2UpCiAKLSAgICBbUmFpc2VzRXhjZXB0aW9u
XSBFdmVudCAgICAgICAgICAgICAgY3JlYXRlRXZlbnQoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRp
b25hbCBET01TdHJpbmcgZXZlbnRUeXBlKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmpl
Y3RdIEV2ZW50ICAgICAgICAgICAgICBjcmVhdGVFdmVudChbRGVmYXVsdD1VbmRlZmluZWRdIG9w
dGlvbmFsIERPTVN0cmluZyBldmVudFR5cGUpOwogCiAgICAgLy8gRE9NIExldmVsIDIgVHJhbnZl
cnNhbCBhbmQgUmFuZ2UgKERvY3VtZW50UmFuZ2UgaW50ZXJmYWNlKQogCi0gICAgUmFuZ2UgICAg
ICAgICAgICAgIGNyZWF0ZVJhbmdlKCk7CisgICAgW05ld09iamVjdF0gUmFuZ2UgICAgICAgICAg
ICAgIGNyZWF0ZVJhbmdlKCk7CiAKICAgICAvLyBET00gTGV2ZWwgMiBUcmFudmVyc2FsIGFuZCBS
YW5nZSAoRG9jdW1lbnRUcmF2ZXJzYWwgaW50ZXJmYWNlKQogCi0gICAgW09iakNMZWdhY3lVbm5h
bWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uXSBOb2RlSXRlcmF0b3IgY3JlYXRlTm9kZUl0
ZXJhdG9yKE5vZGUgcm9vdCwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlz
ZXNFeGNlcHRpb24sIE5ld09iamVjdF0gTm9kZUl0ZXJhdG9yIGNyZWF0ZU5vZGVJdGVyYXRvcihO
b2RlIHJvb3QsCiAgICAgICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywKICAg
ICAgICAgb3B0aW9uYWwgTm9kZUZpbHRlcj8gZmlsdGVyLAogICAgICAgICBvcHRpb25hbCBib29s
ZWFuIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpOwotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFt
ZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gVHJlZVdhbGtlciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUg
cm9vdCwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24s
IE5ld09iamVjdF0gVHJlZVdhbGtlciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9vdCwKICAgICAg
ICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LAogICAgICAgICBvcHRpb25hbCBO
b2RlRmlsdGVyPyBmaWx0ZXIsCiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZXhwYW5kRW50aXR5
UmVmZXJlbmNlcyk7CkBAIC0yNTUsNyArMjU1LDcgQEAKICNpZiBkZWZpbmVkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAmJiBFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUwogI2luY2x1ZGUgPFdlYktp
dEFkZGl0aW9ucy9Eb2N1bWVudElPUy5pZGw+CiAjZWxpZiBkZWZpbmVkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICYmIEVOQUJMRV9UT1VDSF9FVkVOVFMKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBSYWlz
ZXNFeGNlcHRpb25dIFRvdWNoIGNyZWF0ZVRvdWNoKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgRE9NV2luZG93IHdpbmRvdywKKyAgICBbTmV3T2JqZWN0LCBSYWlzZXNFeGNlcHRpb25dIFRv
dWNoIGNyZWF0ZVRvdWNoKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NV2luZG93IHdp
bmRvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBFdmVudFRhcmdldCB0YXJnZXQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0
PVVuZGVmaW5lZF0gb3B0aW9uYWwgbG9uZyBpZGVudGlmaWVyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWRdIG9w
dGlvbmFsIGxvbmcgcGFnZVgsCkBAIC0yNjYsNyArMjY2LDcgQEAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBv
cHRpb25hbCBsb25nIHdlYmtpdFJhZGl1c1ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5y
ZXN0cmljdGVkIGZsb2F0IHdlYmtpdFJvdGF0aW9uQW5nbGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0
aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHdlYmtpdEZvcmNlKTsKLSAgICBbUmV0dXJuTmV3T2Jq
ZWN0LCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gVG91Y2hMaXN0IGNyZWF0ZVRvdWNoTGlzdCgp
OworICAgIFtOZXdPYmplY3QsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBUb3VjaExpc3QgY3Jl
YXRlVG91Y2hMaXN0KCk7CiAjZW5kaWYKIAogICAgIC8vIFBhZ2UgdmlzaWJpbGl0eSBBUEkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwKaW5kZXggNzg1NTJlOTliNTIzZWRl
OGUwNjVmM2Q1YmFmOWQxOWJiMGViMjViYy4uNjkwOTY0Njg3ZjE1YmExZjBiZjY5Yjk1OWRmOTg2
YTQwYzYzYTkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50LmlkbApAQCAt
MTksNyArMTksOCBAQAogCiBbCiAgICAgQ29uc3RydWN0b3IsCi0gICAgQ29uc3RydWN0b3JDYWxs
V2l0aD1Eb2N1bWVudAorICAgIENvbnN0cnVjdG9yQ2FsbFdpdGg9RG9jdW1lbnQsCisgICAgSlNH
ZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIERvY3VtZW50RnJhZ21lbnQgOiBOb2RlIHsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFR5cGUuaWRsIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50VHlwZS5pZGwKaW5kZXggYTZlZDYzOWI1ZjBkY2M5
MDhlZGE1NmZlNmQzMDhmMzBkZDc2ZjlhOC4uYTk2MzhiZTU5YzFlM2QwNTVjZmFmZGNiODllYTRi
YzhkYzc1MDI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50VHlwZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50VHlwZS5pZGwKQEAgLTE5LDYgKzE5
LDcgQEAKIAogWwogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBKU0dlbmVyYXRl
VG9KU09iamVjdAogXSBpbnRlcmZhY2UgRG9jdW1lbnRUeXBlIDogTm9kZSB7CiAKICAgICAvLyBE
T00gTGV2ZWwgMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VudGl0eVJlZmVyZW5j
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5UmVmZXJlbmNlLmlkbAppbmRleCAzNjM1
NTRhYmMzZmE1OGE4MmU4MzVhZTU5OTgzMzg1YzA3ZDI2ZjAxLi42ZDA1MzVmOWJjMWRhYTc5MTc4
MzFlZmRiZTZhYmQwN2FlOWI3ZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRW50
aXR5UmVmZXJlbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5UmVmZXJlbmNl
LmlkbApAQCAtMTcsNiArMTcsOCBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAg
Ki8KIAotaW50ZXJmYWNlIEVudGl0eVJlZmVyZW5jZSA6IE5vZGUgeworWworICAgIEpTR2VuZXJh
dGVUb0pTT2JqZWN0CitdIGludGVyZmFjZSBFbnRpdHlSZWZlcmVuY2UgOiBOb2RlIHsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmlkbAppbmRleCA2MmQ3MDAzMTY3NjE1ZGM4MzcyZDkxODczYTkyN2RjNDFiNzkz
ZjU1Li5mYTQ4NzFiYzlkY2JhYWJhMjUwOWY4MzdlZGExMmQyMjk3YTVmM2M5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaWRsCkBAIC02OCw3ICs2OCw3IEBACiAgICAgW0N1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBO
b2RlIGFwcGVuZENoaWxkKFtDdXN0b21SZXR1cm5dIE5vZGUgbmV3Q2hpbGQpOwogCiAgICAgYm9v
bGVhbiAgICAgICAgICAgIGhhc0NoaWxkTm9kZXMoKTsKLSAgICBOb2RlICAgICAgICAgICAgICAg
Y2xvbmVOb2RlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgYm9vbGVhbiBkZWVwKTsKKyAg
ICBbTmV3T2JqZWN0XSBOb2RlIGNsb25lTm9kZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFs
IGJvb2xlYW4gZGVlcCk7CiAgICAgdm9pZCAgICAgICAgICAgICAgIG5vcm1hbGl6ZSgpOwogCiAg
ICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9QYXJlbnROb2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlk
bAppbmRleCBjNjJmYzc0YTk3YWYxOWFhNzQ4NTVjYjRkNTUzOTI3NGEyMDJhYjllLi5iYmVmNDVi
MzcyMThjNWQ4NzFmMDUzZmIxMzEzZTAxNzNkMmY5YzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vUGFyZW50Tm9kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5v
ZGUuaWRsCkBAIC00MSw1ICs0MSw1IEBACiAgICAgLy8gW1Vuc2NvcGVhYmxlXSBFbGVtZW50PyBx
dWVyeShET01TdHJpbmcgcmVsYXRpdmVTZWxlY3RvcnMpOwogICAgIC8vIFtOZXdPYmplY3QsIFVu
c2NvcGVhYmxlXSBFbGVtZW50cyBxdWVyeUFsbChET01TdHJpbmcgcmVsYXRpdmVTZWxlY3RvcnMp
OwogICAgIFtSYWlzZXNFeGNlcHRpb25dIEVsZW1lbnQgcXVlcnlTZWxlY3RvcihET01TdHJpbmcg
c2VsZWN0b3JzKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBOb2RlTGlzdCBxdWVyeVNlbGVjdG9y
QWxsKERPTVN0cmluZyBzZWxlY3RvcnMpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVj
dF0gTm9kZUxpc3QgcXVlcnlTZWxlY3RvckFsbChET01TdHJpbmcgc2VsZWN0b3JzKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsCmluZGV4IGIxOGVh
YTY5MjZlZWQwMmRjMGQ1NDI4ZWFjODk3N2IzNjZmM2VlZWUuLmFhMjM4ODI0NjJiMWFmMTcxMWIx
ODA5NjY1ZTJiMTBiMjhhN2Y2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24uaWRsCkBAIC0xOSw3ICsxOSw5IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KICAqLwogCi1pbnRlcmZhY2UgUHJvY2Vzc2luZ0luc3RydWN0aW9uIDogQ2hhcmFj
dGVyRGF0YSB7CitbCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKK10gaW50ZXJmYWNlIFByb2Nl
c3NpbmdJbnN0cnVjdGlvbiA6IENoYXJhY3RlckRhdGEgewogCiAgICAgLy8gRE9NIExldmVsIDEK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9SYW5nZS5pZGwKaW5kZXggYmVlMDQ4M2M5YWMzMTY3OGMyYzc2NWQ3ZjcwZTM5MzIz
ZmM1OGE4Ny4uZGM4YWVkNDY5YTJmZmM2YTBkNzQzODFmNTZlMzkyM2UxZjczZmUzNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vUmFuZ2UuaWRsCkBAIC01MywxMSArNTMsMTEgQEAKICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQ
YXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Y29tcGFyZUJvdW5kYXJ5
UG9pbnRzRm9yQmluZGluZ3NdIHNob3J0IGNvbXBhcmVCb3VuZGFyeVBvaW50cyhbRGVmYXVsdD1V
bmRlZmluZWRdIG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0IGhvdywgUmFuZ2Ugc291cmNlUmFuZ2Up
OwogCiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVDb250ZW50cygpOwotICAgIFtS
YWlzZXNFeGNlcHRpb25dIERvY3VtZW50RnJhZ21lbnQgZXh0cmFjdENvbnRlbnRzKCk7Ci0gICAg
W1JhaXNlc0V4Y2VwdGlvbl0gRG9jdW1lbnRGcmFnbWVudCBjbG9uZUNvbnRlbnRzKCk7CisgICAg
W1JhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudEZyYWdtZW50IGV4dHJhY3RDb250
ZW50cygpOworICAgIFtSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRG9jdW1lbnRGcmFnbWVu
dCBjbG9uZUNvbnRlbnRzKCk7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnROb2Rl
KE5vZGUgbmV3Tm9kZSk7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzdXJyb3VuZENvbnRl
bnRzKE5vZGUgbmV3UGFyZW50KTsKLSAgICBSYW5nZSBjbG9uZVJhbmdlKCk7CisgICAgW05ld09i
amVjdF0gUmFuZ2UgY2xvbmVSYW5nZSgpOwogICAgIERPTVN0cmluZyB0b1N0cmluZygpOwogCiAg
ICAgdm9pZCBkZXRhY2goKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>