<?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>235153</bug_id>
          
          <creation_ts>2022-01-12 13:51:00 -0800</creation_ts>
          <short_desc>Regression(r281520) 3 subtests started failing on dom/traversal/TreeWalker-acceptNode-filter-cross-realm.html WPT test</short_desc>
          <delta_ts>2022-01-14 12:08:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=232387</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>228319</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>benjamin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1830321</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-12 13:51:00 -0800</bug_when>
    <thetext>3 subtests started failing on dom/traversal/TreeWalker-acceptNode-filter-cross-realm.html WPT test after r281520.

Looks like the first 3 subtests started failing and the last subtest started passing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830324</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-12 13:51:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/87485756&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830338</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-12 14:09:32 -0800</bug_when>
    <thetext>Likely due to the changes I made to Source/WebCore/bindings/js/JSDOMConvertCallbacks.h so use a different global object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830549</commentid>
    <comment_count>3</comment_count>
      <attachid>449061</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-13 08:13:52 -0800</bug_when>
    <thetext>Created attachment 449061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830550</commentid>
    <comment_count>4</comment_count>
      <attachid>449062</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-13 08:15:13 -0800</bug_when>
    <thetext>Created attachment 449062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830583</commentid>
    <comment_count>5</comment_count>
      <attachid>449062</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-13 09:49:35 -0800</bug_when>
    <thetext>Comment on attachment 449062
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMConvertCallbacks.h:-49
&gt; -        return T::create(JSC::asObject(value), &amp;callerGlobalObject(globalObject, vm.topCallFrame));

This doesn&apos;t look a right direction to me: we need the incumbent here for backup incumbent scope.
Would you mind giving me a bit time to triage the --debug crash in https://bugs.webkit.org/show_bug.cgi?id=232387?
Landing it will progress TreeWalker-acceptNode-filter-cross-realm.html to 100%.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830585</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-13 09:53:37 -0800</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #5)
&gt; Comment on attachment 449062 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449062&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMConvertCallbacks.h:-49
&gt; &gt; -        return T::create(JSC::asObject(value), &amp;callerGlobalObject(globalObject, vm.topCallFrame));
&gt; 
&gt; This doesn&apos;t look a right direction to me: we need the incumbent here for
&gt; backup incumbent scope.
&gt; Would you mind giving me a bit time to triage the --debug crash in
&gt; https://bugs.webkit.org/show_bug.cgi?id=232387?
&gt; Landing it will progress TreeWalker-acceptNode-filter-cross-realm.html to
&gt; 100%.

if you want to take &lt;rdar://problem/87485756&gt;, go ahead.

&lt;rdar://problem/87485756&gt; is currently on me and the safest path for me at the moment (and given this needs to be addressed soon) is to revert my change.

I saw your patch but it seems to special case geolocation and that doesn&apos;t seem right either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830593</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-01-13 09:58:58 -0800</bug_when>
    <thetext>Our goal is to resolve regressions quickly. With that goal in mind, we usually treat rollback of a recent patch as a reasonable default option.

I think it&apos;s OK to wait for bug 232387 if it will be resolved quickly.

But also, I don&apos;t see any downside to reverting r281520, then landing bug 232387, then re-landing r281520. That&apos;s the simplest way to honor the goal of avoiding regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830602</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-13 10:11:02 -0800</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #7)
&gt; Our goal is to resolve regressions quickly. With that goal in mind, we
&gt; usually treat rollback of a recent patch as a reasonable default option.
&gt; 
&gt; I think it&apos;s OK to wait for bug 232387 if it will be resolved quickly.
&gt; 
&gt; But also, I don&apos;t see any downside to reverting r281520, then landing bug
&gt; 232387, then re-landing r281520. That&apos;s the simplest way to honor the goal
&gt; of avoiding regressions.

The failing test was authored after r281520 and against bug 232387, so doing that ^ might not guarantee its progression.

(In reply to Chris Dumez from comment #6)
&gt; if you want to take &lt;rdar://problem/87485756&gt;, go ahead.

Thanks, I will make it my topmost priority for today.

&gt; I saw your patch but it seems to special case geolocation and that doesn&apos;t
&gt; seem right either.

It does, yes, via [SkipCallbackInvokeCheck] extended attribute, but it&apos;s a spec requirement as you noted in r281520.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830606</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-13 10:17:07 -0800</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #8)
&gt; (In reply to Geoffrey Garen from comment #7)
&gt; &gt; Our goal is to resolve regressions quickly. With that goal in mind, we
&gt; &gt; usually treat rollback of a recent patch as a reasonable default option.
&gt; &gt; 
&gt; &gt; I think it&apos;s OK to wait for bug 232387 if it will be resolved quickly.
&gt; &gt; 
&gt; &gt; But also, I don&apos;t see any downside to reverting r281520, then landing bug
&gt; &gt; 232387, then re-landing r281520. That&apos;s the simplest way to honor the goal
&gt; &gt; of avoiding regressions.
&gt; 
&gt; The failing test was authored after r281520 and against bug 232387, so doing
&gt; that ^ might not guarantee its progression.
&gt; 
&gt; (In reply to Chris Dumez from comment #6)
&gt; &gt; if you want to take &lt;rdar://problem/87485756&gt;, go ahead.
&gt; 
&gt; Thanks, I will make it my topmost priority for today.
&gt; 
&gt; &gt; I saw your patch but it seems to special case geolocation and that doesn&apos;t
&gt; &gt; seem right either.
&gt; 
&gt; It does, yes, via [SkipCallbackInvokeCheck] extended attribute, but it&apos;s a
&gt; spec requirement as you noted in r281520.

No other browser has implemented r281520 as far as I know and we never shipped it. Therefore, reverting r281520 is safe. Also, clearly r281520 is implemented wrong since it is causing a WPT regressions. It also adds complexity as we can see in your patch attempt, causing you to add a custom IDL attribute.

I don&apos;t think we should have a [SkipCallbackInvokeCheck] custom attribute and that&apos;s why I think your patch is not truly correct. Either the behavior obtained by [SkipCallbackInvokeCheck] is spec-compliant / correct and then it should be applied everywhere (thus not needing a custom IDL attribute) or it is not correct. Special casing Geolocation doesn&apos;t make sense IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830625</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-13 10:47:39 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #9)
&gt; (In reply to Alexey Shvayka from comment #8)
&gt; &gt; (In reply to Geoffrey Garen from comment #7)
&gt; &gt; &gt; Our goal is to resolve regressions quickly. With that goal in mind, we
&gt; &gt; &gt; usually treat rollback of a recent patch as a reasonable default option.
&gt; &gt; &gt; 
&gt; &gt; &gt; I think it&apos;s OK to wait for bug 232387 if it will be resolved quickly.
&gt; &gt; &gt; 
&gt; &gt; &gt; But also, I don&apos;t see any downside to reverting r281520, then landing bug
&gt; &gt; &gt; 232387, then re-landing r281520. That&apos;s the simplest way to honor the goal
&gt; &gt; &gt; of avoiding regressions.
&gt; &gt; 
&gt; &gt; The failing test was authored after r281520 and against bug 232387, so doing
&gt; &gt; that ^ might not guarantee its progression.
&gt; &gt; 
&gt; &gt; (In reply to Chris Dumez from comment #6)
&gt; &gt; &gt; if you want to take &lt;rdar://problem/87485756&gt;, go ahead.
&gt; &gt; 
&gt; &gt; Thanks, I will make it my topmost priority for today.
&gt; &gt; 
&gt; &gt; &gt; I saw your patch but it seems to special case geolocation and that doesn&apos;t
&gt; &gt; &gt; seem right either.
&gt; &gt; 
&gt; &gt; It does, yes, via [SkipCallbackInvokeCheck] extended attribute, but it&apos;s a
&gt; &gt; spec requirement as you noted in r281520.
&gt; 
&gt; No other browser has implemented r281520 as far as I know and we never
&gt; shipped it. Therefore, reverting r281520 is safe. Also, clearly r281520 is
&gt; implemented wrong since it is causing a WPT regressions. It also adds
&gt; complexity as we can see in your patch attempt, causing you to add a custom
&gt; IDL attribute.

Looks like Firefox landed it in August, probably shipped it already.

&gt; I don&apos;t think we should have a [SkipCallbackInvokeCheck] custom attribute
&gt; and that&apos;s why I think your patch is not truly correct. Either the behavior
&gt; obtained by [SkipCallbackInvokeCheck] is spec-compliant / correct and then
&gt; it should be applied everywhere (thus not needing a custom IDL attribute) or
&gt; it is not correct. Special casing Geolocation doesn&apos;t make sense IMO.

I would love to remove [SkipCallbackInvokeCheck] as well, yet AFAIK browsers invoke some callbacks, like NodeFilter, even if their frame was detached, but not the other ones. There is a spec gap for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830978</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-14 11:20:03 -0800</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #10)
&gt; (In reply to Chris Dumez from comment #9)
&gt; &gt; I don&apos;t think we should have a [SkipCallbackInvokeCheck] custom attribute
&gt; &gt; and that&apos;s why I think your patch is not truly correct. Either the behavior
&gt; &gt; obtained by [SkipCallbackInvokeCheck] is spec-compliant / correct and then
&gt; &gt; it should be applied everywhere (thus not needing a custom IDL attribute) or
&gt; &gt; it is not correct. Special casing Geolocation doesn&apos;t make sense IMO.
&gt; 
&gt; I would love to remove [SkipCallbackInvokeCheck] as well, yet AFAIK browsers
&gt; invoke some callbacks, like NodeFilter, even if their frame was detached,
&gt; but not the other ones. There is a spec gap for this.

I&apos;ve tested all callback interfaces and most of the callbacks, and can conclude that Chrome invokes a callback until the lexical global object of the method that registered the callback is alive. Firefox, on the other hand, invokes a callback until its global object is alive.
With r281520 and without bug 232387, a callback is invoked until its incumbent global object is alive, which is indeed not correct.

If we align with Firefox, which behaviour seems a bit more intuitive to me, we would pass geolocation-API/non-fully-active.https.html, which uses `resolve` / `reject` handlers of the fully active main frame as Geolocation callbacks, without adding [SkipCallbackInvokeCheck].

As for NodeFilter / XPathNSResolver, we can also align them by removing [SkipCallbackInvokeCheck] from them.
A nice side effect from that is simplifying return type from CallbackResultType to ExceptionOr.

===

Considering that revert of r281520 is technically a subset of bug 232387, I suggest we revert r281520 to 1) quickly resolve the regression, 2) keep commit history cleaner, 3) simplify the bug 232387 change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830979</commentid>
    <comment_count>12</comment_count>
      <attachid>449190</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-14 11:20:37 -0800</bug_when>
    <thetext>Created attachment 449190
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831001</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-14 12:08:47 -0800</bug_when>
    <thetext>Committed r288024 (246050@main): &lt;https://commits.webkit.org/246050@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449190.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449061</attachid>
            <date>2022-01-13 08:13:52 -0800</date>
            <delta_ts>2022-01-13 08:15:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235153-20220113081351.patch</filename>
            <type>text/plain</type>
            <size>17741</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU0YzFmNjJlZGM2ODI0
MWM0NWYzZjczNmZmNmQ0OGZjZmY3NjJjYi4uMTIxNjE4ZmVkMzRlYTU0NTAyYTYwNjEzMGU1ODZk
MTVjM2YzMTJmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAxLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMjgxNTIw
KSAzIHN1YnRlc3RzIHN0YXJ0ZWQgZmFpbGluZyBvbiBkb20vdHJhdmVyc2FsL1RyZWVXYWxrZXIt
YWNjZXB0Tm9kZS1maWx0ZXItY3Jvc3MtcmVhbG0uaHRtbCBXUFQgdGVzdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTUzCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84NzQ4NTc1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnQgcjI4MTUyMCBzaW5jZSBpdCByZWdyZXNz
ZWQgZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWFjY2VwdE5vZGUtZmlsdGVyLWNyb3NzLXJlYWxt
Lmh0bWwgV1BUIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpnZXRDdXJyZW50UG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OndhdGNoUG9zaXRpb24pOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29udmVydENhbGxiYWNrcy5oOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udmVydGVyPElETENhbGxiYWNrRnVuY3Rpb248VD4+Ojpjb252ZXJ0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnZlcnRlcjxJRExDYWxsYmFja0ludGVyZmFjZTxUPj46OmNvbnZlcnQp
OgorICAgICAgICAqIGRvbS9UYXNrU291cmNlLmg6CisKIDIwMjItMDEtMTMgIFppcmFuIFN1biAg
PHpzdW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIEZpeCByb3VuZGluZyBvZiBk
aXN0cmlidXRlZCBmcmVlIHNwYWNlIHRvIGZsZXhpYmxlIHRyYWNrcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAppbmRleCBjZDM3MmY0
MzY5MWFkZDRkN2RmMGM5ZTUyNTcwZWFmZmQyOTM0MDM3Li5iMWNhY2YxZTZmNzQ1YzhjMzBhMzNl
ZjI1ZjdjOTk2NWFjODM0OTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2lmIEVOQUJMRShH
RU9MT0NBVElPTikKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRXZlbnRMb29w
LmgiCiAjaW5jbHVkZSAiRmVhdHVyZVBvbGljeS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiR2VvTm90aWZpZXIuaCIKQEAgLTMwMCwxNCArMjk5LDggQEAgR2VvbG9jYXRpb25Qb3Np
dGlvbiogR2VvbG9jYXRpb246Omxhc3RQb3NpdGlvbigpCiAKIHZvaWQgR2VvbG9jYXRpb246Omdl
dEN1cnJlbnRQb3NpdGlvbihSZWY8UG9zaXRpb25DYWxsYmFjaz4mJiBzdWNjZXNzQ2FsbGJhY2ss
IFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+JiYgZXJyb3JDYWxsYmFjaywgUG9zaXRpb25P
cHRpb25zJiYgb3B0aW9ucykKIHsKLSAgICBpZiAoIWRvY3VtZW50KCkgfHwgIWRvY3VtZW50KCkt
PmlzRnVsbHlBY3RpdmUoKSkgewotICAgICAgICBpZiAoZXJyb3JDYWxsYmFjayAmJiBlcnJvckNh
bGxiYWNrLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgICAgIGVycm9yQ2Fs
bGJhY2stPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRh
c2tTb3VyY2U6Okdlb2xvY2F0aW9uLCBbZXJyb3JDYWxsYmFja10gewotICAgICAgICAgICAgICAg
IGVycm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcjo6Y3Jl
YXRlKEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcjo6UE9TSVRJT05fVU5BVkFJTEFCTEUsICJEb2N1
bWVudCBpcyBub3QgZnVsbHkgYWN0aXZlIl9zKSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAg
fQorICAgIGlmICghZnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAogICAgIGF1dG8g
bm90aWZpZXIgPSBHZW9Ob3RpZmllcjo6Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKHN1Y2Nlc3NDYWxs
YmFjayksIFdURk1vdmUoZXJyb3JDYWxsYmFjayksIFdURk1vdmUob3B0aW9ucykpOwogICAgIHN0
YXJ0UmVxdWVzdChub3RpZmllci5wdHIoKSk7CkBAIC0zMTcsMTQgKzMxMCw4IEBAIHZvaWQgR2Vv
bG9jYXRpb246OmdldEN1cnJlbnRQb3NpdGlvbihSZWY8UG9zaXRpb25DYWxsYmFjaz4mJiBzdWNj
ZXNzQ2FsbGJhY2ssIFJlCiAKIGludCBHZW9sb2NhdGlvbjo6d2F0Y2hQb3NpdGlvbihSZWY8UG9z
aXRpb25DYWxsYmFjaz4mJiBzdWNjZXNzQ2FsbGJhY2ssIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2Fs
bGJhY2s+JiYgZXJyb3JDYWxsYmFjaywgUG9zaXRpb25PcHRpb25zJiYgb3B0aW9ucykKIHsKLSAg
ICBpZiAoIWRvY3VtZW50KCkgfHwgIWRvY3VtZW50KCktPmlzRnVsbHlBY3RpdmUoKSkgewotICAg
ICAgICBpZiAoZXJyb3JDYWxsYmFjayAmJiBlcnJvckNhbGxiYWNrLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpIHsKLSAgICAgICAgICAgIGVycm9yQ2FsbGJhY2stPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Okdlb2xvY2F0aW9uLCBb
ZXJyb3JDYWxsYmFja10gewotICAgICAgICAgICAgICAgIGVycm9yQ2FsbGJhY2stPmhhbmRsZUV2
ZW50KEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcjo6Y3JlYXRlKEdlb2xvY2F0aW9uUG9zaXRpb25F
cnJvcjo6UE9TSVRJT05fVU5BVkFJTEFCTEUsICJEb2N1bWVudCBpcyBub3QgZnVsbHkgYWN0aXZl
Il9zKSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQorICAgIGlmICghZnJhbWUoKSkKICAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgfQogCiAgICAgYXV0byBub3RpZmllciA9IEdlb05vdGlmaWVy
OjpjcmVhdGUoKnRoaXMsIFdURk1vdmUoc3VjY2Vzc0NhbGxiYWNrKSwgV1RGTW92ZShlcnJvckNh
bGxiYWNrKSwgV1RGTW92ZShvcHRpb25zKSk7CiAgICAgc3RhcnRSZXF1ZXN0KG5vdGlmaWVyLnB0
cigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVy
dENhbGxiYWNrcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0Q2Fs
bGJhY2tzLmgKaW5kZXggZTI2OTZhNDY3OGUzYzE1MjExMGI5YTVlZTAyYWI5NTAxMjU1ZmQ1Zi4u
YjE2NThlMGM3MWJlNDRlOTcyY2QxOWRkOWYwZWE5ZmYxN2ZhZDIxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0Q2FsbGJhY2tzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0Q2FsbGJhY2tzLmgKQEAgLTQ2LDcg
KzQ2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IENvbnZlcnRlcjxJRExDYWxsYmFj
a0Z1bmN0aW9uPFQ+PiA6IERlZmF1bHRDb252ZXJ0ZXIKICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgICAgICB9CiAKLSAgICAgICAgcmV0dXJuIFQ6OmNyZWF0ZShKU0M6OmFzT2JqZWN0
KHZhbHVlKSwgJmNhbGxlckdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QsIHZtLnRvcENhbGxGcmFt
ZSkpOworICAgICAgICByZXR1cm4gVDo6Y3JlYXRlKEpTQzo6YXNPYmplY3QodmFsdWUpLCAmZ2xv
YmFsT2JqZWN0KTsKICAgICB9CiB9OwogCkBAIC04MCw3ICs4MCw3IEBAIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBDb252ZXJ0ZXI8SURMQ2FsbGJhY2tJbnRlcmZhY2U8VD4+IDogRGVmYXVs
dENvbnZlcnRlCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQogCi0gICAg
ICAgIHJldHVybiBUOjpjcmVhdGUoSlNDOjphc09iamVjdCh2YWx1ZSksICZjYWxsZXJHbG9iYWxP
YmplY3QoZ2xvYmFsT2JqZWN0LCB2bS50b3BDYWxsRnJhbWUpKTsKKyAgICAgICAgcmV0dXJuIFQ6
OmNyZWF0ZShKU0M6OmFzT2JqZWN0KHZhbHVlKSwgJmdsb2JhbE9iamVjdCk7CiAgICAgfQogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKaW5kZXggNzljMTM1MDMxMTY3ZDM3Yzk5YzAzYTYyNDk4
OTBiYjY5MzIwODk2NC4uYjFhMDI5MDdiNDA2NWM5OWIxZTgzZTcyYzU1MDJkMmI5MTg0OTEyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCkBAIC0zMiw3ICszMiw2IEBAIGVudW0gY2xhc3MgVGFz
a1NvdXJjZSA6IHVpbnQ4X3QgewogICAgIERhdGFiYXNlQWNjZXNzLAogICAgIEZpbGVSZWFkaW5n
LAogICAgIEZvbnRMb2FkaW5nLAotICAgIEdlb2xvY2F0aW9uLAogICAgIElkbGVUYXNrLAogICAg
IEluZGV4ZWREQiwKICAgICBNZWRpYUVsZW1lbnQsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDFiNjY3NjZhOTQ4M2UzOWFl
ZDM1N2M2NDAyZmZlN2RhN2YyYjgzMy4uZmE1YjZkNTlmOTU0ZWE5YzZjYzYxYWIyOGY5ZTk3YjQ1
YzA3ZjhmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAxLTEzICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMjgxNTIwKSAzIHN1YnRl
c3RzIHN0YXJ0ZWQgZmFpbGluZyBvbiBkb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYWNjZXB0Tm9k
ZS1maWx0ZXItY3Jvc3MtcmVhbG0uaHRtbCBXUFQgdGVzdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS84NzQ4NTc1Nj4KKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnQgcjI4MTUyMCBzaW5jZSBp
dCByZWdyZXNzZWQgZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWFjY2VwdE5vZGUtZmlsdGVyLWNy
b3NzLXJlYWxtLmh0bWwgV1BUIHRlc3QuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLWRlbGV0ZWQtY29udGV4
dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2st
dG8tZGVsZXRlZC1jb250ZXh0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24v
ZGlzY29ubmVjdGVkLWZyYW1lLWFscmVhZHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1hbHJlYWR5Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUtcGVybWlz
c2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9u
L2Rpc2Nvbm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9uLWRlbmllZC5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQt
aW5uZXIxLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvZGV0YWNoZWQtc3ZnLXBhcmVudC13
aW5kb3ctZXZlbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9kZXRhY2hl
ZC1zdmctcGFyZW50LXdpbmRvdy1ldmVudHMuaHRtbDoKKwogMjAyMi0wMS0xMCAgU2VyZ2lvIFZp
bGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWZsZXhib3hd
IEluY29ycmVjdCBoZWlnaHQgb2YgZmxleCBpdGVtcyB3aXRoIGFzcGVjdC1yYXRpbyB3aGVuZXZl
ciB0aGUgY3Jvc3MgYXhpcyBpbnRyaW5zaWMgc2l6ZSBpcyBsYXJnZXIgdGhhbiB0aGUgdmlld3Bv
cnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDg5ZmQyZTRhZjIwMjI3NTU2ODZi
Yzg2M2MxNmEwODkzMTY3YTM0ZTAuLmFkYjI1OGQ0ZTRjN2JhZjQ3MTlkNTJhYTk4YzUyYTgxM2Ez
N2RmOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDIyLTAxLTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVn
cmVzc2lvbihyMjgxNTIwKSAzIHN1YnRlc3RzIHN0YXJ0ZWQgZmFpbGluZyBvbiBkb20vdHJhdmVy
c2FsL1RyZWVXYWxrZXItYWNjZXB0Tm9kZS1maWx0ZXItY3Jvc3MtcmVhbG0uaHRtbCBXUFQgdGVz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTUz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NzQ4NTc1Nj4KKworICAgICAgICBVbnJldmlld2Vk
LCByZXZlcnQgcjI4MTUyMCBzaW5jZSBpdCByZWdyZXNzZWQgZG9tL3RyYXZlcnNhbC9UcmVlV2Fs
a2VyLWFjY2VwdE5vZGUtZmlsdGVyLWNyb3NzLXJlYWxtLmh0bWwgV1BUIHRlc3QuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZ2VvbG9jYXRpb24tQVBJL25vbi1mdWxseS1hY3RpdmUu
aHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAxLTEzICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBGaXggcm91bmRpbmcgb2YgZGlzdHJpYnV0ZWQg
ZnJlZSBzcGFjZSB0byBmbGV4aWJsZSB0cmFja3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVjNTBj
ODkzNmE3NzA5MGE4NTA0NDQzN2YwYzU1ZGE5NDlhZTAyZDQuLjgwMGNmNjkwNWNjYmExNDIxZTMz
NTE1YTA5ZTJjZTA3NWY2MDY1NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTUxLDYgKzU1MSw3
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29va2llcy9zYW1lc2l0ZS93aW5k
b3ctb3Blbi5odHRwcy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2dlb2xvY2F0aW9uLUFQSS9ub24tc2VjdXJlLWNvbnRleHRzLmh0dHAuaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9nZW9sb2NhdGlvbi1BUEkvZ2V0Q3Vy
cmVudFBvc2l0aW9uX3Blcm1pc3Npb25fYWxsb3cuaHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9nZW9sb2NhdGlvbi1BUEkvZ2V0Q3VycmVudFBvc2l0
aW9uX3Blcm1pc3Npb25fZGVueS5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2dlb2xvY2F0aW9uLUFQSS9ub24tZnVsbHktYWN0aXZlLmh0dHBzLmh0
bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZ2VvbG9jYXRpb24t
QVBJL3dhdGNoUG9zaXRpb25fcGVybWlzc2lvbl9kZW55Lmh0dHBzLmh0bWwgWyBTa2lwIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1s
b2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tb3JpZ2luLWlkbmEuc3ViLndpbmRvdy5odG1sIFsg
U2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlz
dG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0aW9uX2Fzc2lnbi5odG1sIFsgU2tpcCBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10
by1kZWxldGVkLWNvbnRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vY2FsbGJhY2stdG8tZGVsZXRlZC1jb250ZXh0LWV4cGVjdGVkLnR4dAppbmRleCA2
NDU1NzVkOTU3Yzc3MTZjNTk0MzRmMTA5NjM5NDgwNTI3NTEzNGQwLi5lN2JhOWU2M2E0NDYzYTk4
N2ZmYWI5NzU1NzU1Y2M1OGQ2ZTYyNDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLWRlbGV0ZWQt
Y29udGV4dC1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw3IEBAIFRlc3RzIHRoYXQgd2hlbiBhIEdl
b2xvY2F0aW9uIHJlcXVlc3QgaXMgbWFkZSBmcm9tIGEgcmVtb3RlIGZyYW1lLCBhbmQgdGhhdCBm
cmFtCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBObyBjYWxsYmFja3MgaW52
b2tlZAorUEFTUyBTdWNjZXNzIGNhbGxiYWNrIGludm9rZWQKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2stdG8tZGVsZXRlZC1jb250ZXh0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQu
aHRtbAppbmRleCBlMTA1YzU0MDhmMzM3YWRhNDQwOGU5MDY1MDE3MzRlZWRkOTJhNmUxLi41MDQz
YmVmZjM0ZjM0ZmFiNWY4ZmIzZGFiNTg2ODNmNGFhYWQxOGJjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxl
dGVkLWNvbnRleHQuaHRtbApAQCAtMTMsNyArMTMsNyBAQCBmdW5jdGlvbiBvbkZpcnN0SWZyYW1l
TG9hZGVkKCkgewogCiBmdW5jdGlvbiBvblNlY29uZElmcmFtZUxvYWRlZCgpIHsKICAgICB3aW5k
b3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdFBhc3NlZCgnTm8gY2FsbGJh
Y2tzIGludm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnTm8gY2FsbGJhY2tzIGludm9rZWQn
KTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSwgNTAwKTsKIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1hbHJl
YWR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nv
bm5lY3RlZC1mcmFtZS1hbHJlYWR5LWV4cGVjdGVkLnR4dAppbmRleCBjYTkxYzEyYTY0OWUyNWI1
ZDEwNjgyZmRjMjRhZWM1OWYyYzA4YzFiLi4xMjY5OWNjMTJjMjBjNjI0MTQ2Y2JlNGYwNTgwYjQy
YTJhNWU3MmNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9k
aXNjb25uZWN0ZWQtZnJhbWUtYWxyZWFkeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLWFscmVhZHktZXhwZWN0ZWQu
dHh0CkBAIC0zLDcgKzMsNyBAQCBUZXN0cyB0aGF0IHdoZW4gYSByZXF1ZXN0IGlzIG1hZGUgb24g
YSBHZW9sb2NhdGlvbiBvYmplY3QgYWZ0ZXIgaXRzIGZyYW1lIGhhcyBiZQogT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgogCiAKLVBBU1MgRXJyb3IgY2FsbGJhY2sgaW52b2tlZAorTWV0aG9kIGNh
bGxlZCBvbiBHZW9sb2NhdGlvbiBvYmplY3Qgd2l0aCBkaXNjb25uZWN0ZWQgRnJhbWUuCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1hbHJl
YWR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQt
ZnJhbWUtYWxyZWFkeS5odG1sCmluZGV4IGRiMDU4N2I5YjFjZWYxYTZlODRlMDg5Y2Q2ODM2ZTY5
NDY5Mjg0NWYuLmRhMTZlYjEzNDRkZmVmMWNhZDhjZTNjZDA0NjBlZWNmNjg4ZjY1ZWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFt
ZS1hbHJlYWR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vZGlz
Y29ubmVjdGVkLWZyYW1lLWFscmVhZHkuaHRtbApAQCAtMjMsNyArMjMsNyBAQCBmdW5jdGlvbiBv
blNlY29uZElmcmFtZUxvYWRlZCgpIHsKICAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxs
YmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAg
ICB9LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIHRlc3RQYXNzZWQoJ0Vycm9yIGNhbGxiYWNrIGlu
dm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tlZCcpOwog
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9KTsKICAgICBzZXRUaW1lb3V0KGZpbmlzaFRl
c3QsIDEwMDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24v
ZGlzY29ubmVjdGVkLWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1leHBlY3RlZC50eHQKaW5kZXggOGUxMDYxMTk3
ZDQ5Nzg5NmUyMjUwMzMxMjMwNTA2MzNlN2I0NzJjOC4uZWJjOGIyNTZkMDdiYzM1NTFhMWVhZTY3
NGNiMjMwYTNjMmMyZWNiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9j
YXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC00
LDcgKzQsNyBAQCBUZXN0cyB0aGF0IHdoZW4gYSByZXF1ZXN0IGlzIG1hZGUgb24gYSBHZW9sb2Nh
dGlvbiBvYmplY3QgYW5kIGl0cyBGcmFtZSBpcyBkaXNjbwogT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgogCiAKLVBBU1MgRXJyb3IgY2FsbGJhY2sgaW52b2tlZAorUEFTUyBObyBjYWxsYmFja3Mg
aW52b2tlZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0
ZWQtZnJhbWUtcGVybWlzc2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLXBlcm1pc3Npb24tZGVuaWVkLWV4
cGVjdGVkLnR4dAppbmRleCA2ODlkODliZmM2MzU0MjM2NzhiM2RhYzA2ZmYyZjBkZGViMTg1MDc2
Li45NDI0NjBlMzlkMzE2MGZmMGIzMjYwMjQ3YTZmN2Y0NmU2NTkwYmY0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUtcGVybWlz
c2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xv
Y2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9uLWRlbmllZC1leHBlY3RlZC50eHQK
QEAgLTcsNyArNyw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIGVycm9yLmNvZGUg
aXMgZXJyb3IuUEVSTUlTU0lPTl9ERU5JRUQKIFBBU1MgZXJyb3IubWVzc2FnZSBpcyAiVXNlciBk
ZW5pZWQgR2VvbG9jYXRpb24iCiAKLVBBU1MgRXJyb3IgY2FsbGJhY2sgaW52b2tlZAorUEFTUyBO
byBjYWxsYmFja3MgaW52b2tlZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlv
bi9kaXNjb25uZWN0ZWQtZnJhbWUtcGVybWlzc2lvbi1kZW5pZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9uLWRlbmll
ZC5odG1sCmluZGV4IDU1M2Q1MDNhMWViMzVmNTQ2ZTYzZjFhMzMyNTJjY2Y3YTFhNGIzNWEuLjY1
MTFhMTNmMzFjNjE2YWEwOWU1ODQ0YmE5YjExNDQ1NGIwNjM3NGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9u
LWRlbmllZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nv
bm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9uLWRlbmllZC5odG1sCkBAIC0zNiwxMyArMzYsMTMgQEAg
ZnVuY3Rpb24gb25JZnJhbWVVbmxvYWRlZCgpIHsKICAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2Vz
cyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwogICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKICAgICB9LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIHRlc3RQYXNzZWQoJ0Vycm9yIGNhbGxi
YWNrIGludm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tl
ZCcpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9KTsKICAgICBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewotICAgICAgICB0ZXN0RmFpbGVkKCdObyBjYWxsYmFja3MgaW52b2tlZCcpOwor
ICAgICAgICB0ZXN0UGFzc2VkKCdObyBjYWxsYmFja3MgaW52b2tlZCcpOwogICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKLSAgICB9LCAxMDAwKTsKKyAgICB9LCAxMDApOwogfQogCiB2YXIgaWZyYW1l
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS5odG1sCmluZGV4
IGFhOWMzYzJjYjU4OWI2MzNmMjAyOGFmMmFkZDVhZTI3MjZiYzY1MjAuLjk2Y2QzNGI2YzkwNjM0
YmY1YmQzNWEwOGQ1MDgwYjMxNmYwYzM0YjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS5odG1sCkBAIC0yMywxMyAr
MjMsMTMgQEAgZnVuY3Rpb24gb25JZnJhbWVVbmxvYWRlZCgpIHsKICAgICAgICAgdGVzdEZhaWxl
ZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwogICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKICAgICB9LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIHRlc3RQYXNzZWQoJ0Vy
cm9yIGNhbGxiYWNrIGludm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJh
Y2sgaW52b2tlZCcpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9KTsKICAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICB0ZXN0RmFpbGVkKCdObyBjYWxsYmFja3MgaW52
b2tlZCcpOworICAgICAgICB0ZXN0UGFzc2VkKCdObyBjYWxsYmFja3MgaW52b2tlZCcpOwogICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9LCAxMDAwKTsKKyAgICB9LCAxMDApOwogfQogCiB2
YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvY2FsbGJhY2stdG8t
ZGVsZXRlZC1jb250ZXh0LWlubmVyMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9j
YXRpb24vcmVzb3VyY2VzL2NhbGxiYWNrLXRvLWRlbGV0ZWQtY29udGV4dC1pbm5lcjEuaHRtbApp
bmRleCBmNGMwMjc5ZDFkODBlODJlZTkwNjM4MjAzMThjMThkY2NhOGZiY2ZhLi45YzUxNTgxOTBh
ODE2OGMyY2ViNjJiMDgwYTg1MmE0M2FhODAwY2NlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvY2FsbGJhY2stdG8tZGVsZXRlZC1jb250ZXh0
LWlubmVyMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291
cmNlcy9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQtaW5uZXIxLmh0bWwKQEAgLTEzLDcgKzEz
LDcgQEAKICAgICAgICAgICAvLyBNYWtlIHJlcXVlc3QgZnJvbSByZW1vdGUgZnJhbWUsIHRoaXMg
ZnJhbWUgd2lsbCBiZSBnb25lIGJ5IHRoZSB0aW1lIHRoZSBHZW9sb2NhdGlvbgogICAgICAgICAg
IC8vIG9iamVjdCBhdHRlbXB0cyB0byBpbnZva2UgdGhlIGNhbGxiYWNrLgogICAgICAgICAgIHdp
bmRvdy5wYXJlbnQubmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgcGFyZW50LnRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJh
Y2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKKyAgICAgICAgICAgICAgcGFyZW50LnRlc3RQYXNz
ZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCcpOwogICAgICAgICAgICAgICBwYXJlbnQuZmlu
aXNoSlNUZXN0KCk7CiAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIHBh
cmVudC50ZXN0RmFpbGVkKCdFcnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZGV0YWNoZWQtc3ZnLXBhcmVudC13
aW5kb3ctZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RldGFj
aGVkLXN2Zy1wYXJlbnQtd2luZG93LWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXggMmI3Yjg3YTQ2
MTQ0YTJhZGM5OGNjMDhkY2RiMzBiODI1NzM1ZDY2Yi4uMTllYjUxNjllZTQ1YzdlMzQ1ODhiN2M5
MDhkZjMyMTk2ODZlMWJiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZGV0
YWNoZWQtc3ZnLXBhcmVudC13aW5kb3ctZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9kZXRhY2hlZC1zdmctcGFyZW50LXdpbmRvdy1ldmVudHMtZXhwZWN0
ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBlcnJvcgogVGhpcyB0ZXN0
cyBjcmVhdGluZyBhIGRpc2Nvbm5lY3RlZCBTVkcgZWxlbWVudCB3aXRoIHJlc2l6ZSBldmVudCBo
YW5kbGVyLiBUaGUgZXZlbnQgaGFuZGxlciBzaG91bGQgbm90IGdldCBkaXNwYXRjaGVkIHVubGVz
cyB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQKIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgog
CiAKLVBBU1MgRXhjZXB0aW9uIHRocm93bgogUEFTUyBkaWRGaXJlUmVzaXplIGlzIGZhbHNlCiBQ
QVNTIGRpZEZpcmVPbkVycm9yIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kZXRhY2hlZC1zdmctcGFy
ZW50LXdpbmRvdy1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RldGFjaGVk
LXN2Zy1wYXJlbnQtd2luZG93LWV2ZW50cy5odG1sCmluZGV4IDg4OWYwMDlmZTVmM2U5YzMwZTI5
ZGYyYjk2NDcwMDllM2ZlNWI5MWYuLjZmYmM0M2U5ZGNkMDBlNjNmNGQ5NDRmZTBiYmUzOTVkNzQ3
OGY3NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RldGFjaGVkLXN2Zy1w
YXJlbnQtd2luZG93LWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Rl
dGFjaGVkLXN2Zy1wYXJlbnQtd2luZG93LWV2ZW50cy5odG1sCkBAIC0yMSwxMSArMjEsNyBAQAog
ICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgnZGlkRmlyZU9uRXJyb3InKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICAgICAgICAg
ICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmcmFtZS5jb250ZW50V2luZG93LmV2YWwoJ3Rocm93ICJlcnJvciInKTsKLSAgICAgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgiRXhjZXB0aW9uIHRocm93biIpOwotICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LmV2YWwoJ3Rocm93ICJlcnJvciInKTsK
ICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH07CiAgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2dlb2xvY2F0aW9uLUFQSS9ub24tZnVsbHktYWN0
aXZlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZ2VvbG9jYXRpb24tQVBJL25vbi1mdWxseS1hY3RpdmUuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IDZjNTIxNzRkYjM3NjdkNDdiYTE5MmU0YzNjMzQ3NTk0YjNkZTA3M2QuLjhk
MTMwYzRmNzcwM2VmZTQ5Njg4YTJmMjE3MjY4MzhiMzRkNmViYWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZ2VvbG9jYXRpb24tQVBJL25v
bi1mdWxseS1hY3RpdmUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZ2VvbG9jYXRpb24tQVBJL25vbi1mdWxseS1hY3Rp
dmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNSBAQAogCitIYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKIAotUEFTUyBub24tZnVsbHkgYWN0aXZlIGRvY3VtZW50
IGJlaGF2aW9yCitUSU1FT1VUIG5vbi1mdWxseSBhY3RpdmUgZG9jdW1lbnQgYmVoYXZpb3IgVGVz
dCB0aW1lZCBvdXQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449062</attachid>
            <date>2022-01-13 08:15:13 -0800</date>
            <delta_ts>2022-01-14 11:20:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235153-20220113081512.patch</filename>
            <type>text/plain</type>
            <size>19395</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU0YzFmNjJlZGM2ODI0
MWM0NWYzZjczNmZmNmQ0OGZjZmY3NjJjYi4uMTIxNjE4ZmVkMzRlYTU0NTAyYTYwNjEzMGU1ODZk
MTVjM2YzMTJmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAxLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMjgxNTIw
KSAzIHN1YnRlc3RzIHN0YXJ0ZWQgZmFpbGluZyBvbiBkb20vdHJhdmVyc2FsL1RyZWVXYWxrZXIt
YWNjZXB0Tm9kZS1maWx0ZXItY3Jvc3MtcmVhbG0uaHRtbCBXUFQgdGVzdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTUzCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84NzQ4NTc1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnQgcjI4MTUyMCBzaW5jZSBpdCByZWdyZXNz
ZWQgZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWFjY2VwdE5vZGUtZmlsdGVyLWNyb3NzLXJlYWxt
Lmh0bWwgV1BUIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpnZXRDdXJyZW50UG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OndhdGNoUG9zaXRpb24pOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29udmVydENhbGxiYWNrcy5oOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udmVydGVyPElETENhbGxiYWNrRnVuY3Rpb248VD4+Ojpjb252ZXJ0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnZlcnRlcjxJRExDYWxsYmFja0ludGVyZmFjZTxUPj46OmNvbnZlcnQp
OgorICAgICAgICAqIGRvbS9UYXNrU291cmNlLmg6CisKIDIwMjItMDEtMTMgIFppcmFuIFN1biAg
PHpzdW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIEZpeCByb3VuZGluZyBvZiBk
aXN0cmlidXRlZCBmcmVlIHNwYWNlIHRvIGZsZXhpYmxlIHRyYWNrcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAppbmRleCBjZDM3MmY0
MzY5MWFkZDRkN2RmMGM5ZTUyNTcwZWFmZmQyOTM0MDM3Li5iMWNhY2YxZTZmNzQ1YzhjMzBhMzNl
ZjI1ZjdjOTk2NWFjODM0OTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2lmIEVOQUJMRShH
RU9MT0NBVElPTikKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRXZlbnRMb29w
LmgiCiAjaW5jbHVkZSAiRmVhdHVyZVBvbGljeS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiR2VvTm90aWZpZXIuaCIKQEAgLTMwMCwxNCArMjk5LDggQEAgR2VvbG9jYXRpb25Qb3Np
dGlvbiogR2VvbG9jYXRpb246Omxhc3RQb3NpdGlvbigpCiAKIHZvaWQgR2VvbG9jYXRpb246Omdl
dEN1cnJlbnRQb3NpdGlvbihSZWY8UG9zaXRpb25DYWxsYmFjaz4mJiBzdWNjZXNzQ2FsbGJhY2ss
IFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+JiYgZXJyb3JDYWxsYmFjaywgUG9zaXRpb25P
cHRpb25zJiYgb3B0aW9ucykKIHsKLSAgICBpZiAoIWRvY3VtZW50KCkgfHwgIWRvY3VtZW50KCkt
PmlzRnVsbHlBY3RpdmUoKSkgewotICAgICAgICBpZiAoZXJyb3JDYWxsYmFjayAmJiBlcnJvckNh
bGxiYWNrLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgICAgIGVycm9yQ2Fs
bGJhY2stPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRh
c2tTb3VyY2U6Okdlb2xvY2F0aW9uLCBbZXJyb3JDYWxsYmFja10gewotICAgICAgICAgICAgICAg
IGVycm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcjo6Y3Jl
YXRlKEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcjo6UE9TSVRJT05fVU5BVkFJTEFCTEUsICJEb2N1
bWVudCBpcyBub3QgZnVsbHkgYWN0aXZlIl9zKSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAg
fQorICAgIGlmICghZnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAogICAgIGF1dG8g
bm90aWZpZXIgPSBHZW9Ob3RpZmllcjo6Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKHN1Y2Nlc3NDYWxs
YmFjayksIFdURk1vdmUoZXJyb3JDYWxsYmFjayksIFdURk1vdmUob3B0aW9ucykpOwogICAgIHN0
YXJ0UmVxdWVzdChub3RpZmllci5wdHIoKSk7CkBAIC0zMTcsMTQgKzMxMCw4IEBAIHZvaWQgR2Vv
bG9jYXRpb246OmdldEN1cnJlbnRQb3NpdGlvbihSZWY8UG9zaXRpb25DYWxsYmFjaz4mJiBzdWNj
ZXNzQ2FsbGJhY2ssIFJlCiAKIGludCBHZW9sb2NhdGlvbjo6d2F0Y2hQb3NpdGlvbihSZWY8UG9z
aXRpb25DYWxsYmFjaz4mJiBzdWNjZXNzQ2FsbGJhY2ssIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2Fs
bGJhY2s+JiYgZXJyb3JDYWxsYmFjaywgUG9zaXRpb25PcHRpb25zJiYgb3B0aW9ucykKIHsKLSAg
ICBpZiAoIWRvY3VtZW50KCkgfHwgIWRvY3VtZW50KCktPmlzRnVsbHlBY3RpdmUoKSkgewotICAg
ICAgICBpZiAoZXJyb3JDYWxsYmFjayAmJiBlcnJvckNhbGxiYWNrLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpIHsKLSAgICAgICAgICAgIGVycm9yQ2FsbGJhY2stPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Okdlb2xvY2F0aW9uLCBb
ZXJyb3JDYWxsYmFja10gewotICAgICAgICAgICAgICAgIGVycm9yQ2FsbGJhY2stPmhhbmRsZUV2
ZW50KEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcjo6Y3JlYXRlKEdlb2xvY2F0aW9uUG9zaXRpb25F
cnJvcjo6UE9TSVRJT05fVU5BVkFJTEFCTEUsICJEb2N1bWVudCBpcyBub3QgZnVsbHkgYWN0aXZl
Il9zKSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQorICAgIGlmICghZnJhbWUoKSkKICAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgfQogCiAgICAgYXV0byBub3RpZmllciA9IEdlb05vdGlmaWVy
OjpjcmVhdGUoKnRoaXMsIFdURk1vdmUoc3VjY2Vzc0NhbGxiYWNrKSwgV1RGTW92ZShlcnJvckNh
bGxiYWNrKSwgV1RGTW92ZShvcHRpb25zKSk7CiAgICAgc3RhcnRSZXF1ZXN0KG5vdGlmaWVyLnB0
cigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVy
dENhbGxiYWNrcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0Q2Fs
bGJhY2tzLmgKaW5kZXggZTI2OTZhNDY3OGUzYzE1MjExMGI5YTVlZTAyYWI5NTAxMjU1ZmQ1Zi4u
YjE2NThlMGM3MWJlNDRlOTcyY2QxOWRkOWYwZWE5ZmYxN2ZhZDIxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0Q2FsbGJhY2tzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0Q2FsbGJhY2tzLmgKQEAgLTQ2LDcg
KzQ2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IENvbnZlcnRlcjxJRExDYWxsYmFj
a0Z1bmN0aW9uPFQ+PiA6IERlZmF1bHRDb252ZXJ0ZXIKICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgICAgICB9CiAKLSAgICAgICAgcmV0dXJuIFQ6OmNyZWF0ZShKU0M6OmFzT2JqZWN0
KHZhbHVlKSwgJmNhbGxlckdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QsIHZtLnRvcENhbGxGcmFt
ZSkpOworICAgICAgICByZXR1cm4gVDo6Y3JlYXRlKEpTQzo6YXNPYmplY3QodmFsdWUpLCAmZ2xv
YmFsT2JqZWN0KTsKICAgICB9CiB9OwogCkBAIC04MCw3ICs4MCw3IEBAIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBDb252ZXJ0ZXI8SURMQ2FsbGJhY2tJbnRlcmZhY2U8VD4+IDogRGVmYXVs
dENvbnZlcnRlCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQogCi0gICAg
ICAgIHJldHVybiBUOjpjcmVhdGUoSlNDOjphc09iamVjdCh2YWx1ZSksICZjYWxsZXJHbG9iYWxP
YmplY3QoZ2xvYmFsT2JqZWN0LCB2bS50b3BDYWxsRnJhbWUpKTsKKyAgICAgICAgcmV0dXJuIFQ6
OmNyZWF0ZShKU0M6OmFzT2JqZWN0KHZhbHVlKSwgJmdsb2JhbE9iamVjdCk7CiAgICAgfQogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UYXNrU291cmNlLmgKaW5kZXggNzljMTM1MDMxMTY3ZDM3Yzk5YzAzYTYyNDk4
OTBiYjY5MzIwODk2NC4uYjFhMDI5MDdiNDA2NWM5OWIxZTgzZTcyYzU1MDJkMmI5MTg0OTEyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCkBAIC0zMiw3ICszMiw2IEBAIGVudW0gY2xhc3MgVGFz
a1NvdXJjZSA6IHVpbnQ4X3QgewogICAgIERhdGFiYXNlQWNjZXNzLAogICAgIEZpbGVSZWFkaW5n
LAogICAgIEZvbnRMb2FkaW5nLAotICAgIEdlb2xvY2F0aW9uLAogICAgIElkbGVUYXNrLAogICAg
IEluZGV4ZWREQiwKICAgICBNZWRpYUVsZW1lbnQsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDFiNjY3NjZhOTQ4M2UzOWFl
ZDM1N2M2NDAyZmZlN2RhN2YyYjgzMy4uZmE1YjZkNTlmOTU0ZWE5YzZjYzYxYWIyOGY5ZTk3YjQ1
YzA3ZjhmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAxLTEzICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMjgxNTIwKSAzIHN1YnRl
c3RzIHN0YXJ0ZWQgZmFpbGluZyBvbiBkb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYWNjZXB0Tm9k
ZS1maWx0ZXItY3Jvc3MtcmVhbG0uaHRtbCBXUFQgdGVzdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS84NzQ4NTc1Nj4KKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnQgcjI4MTUyMCBzaW5jZSBp
dCByZWdyZXNzZWQgZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWFjY2VwdE5vZGUtZmlsdGVyLWNy
b3NzLXJlYWxtLmh0bWwgV1BUIHRlc3QuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLWRlbGV0ZWQtY29udGV4
dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2st
dG8tZGVsZXRlZC1jb250ZXh0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24v
ZGlzY29ubmVjdGVkLWZyYW1lLWFscmVhZHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1hbHJlYWR5Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUtcGVybWlz
c2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9u
L2Rpc2Nvbm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9uLWRlbmllZC5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQt
aW5uZXIxLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvZGV0YWNoZWQtc3ZnLXBhcmVudC13
aW5kb3ctZXZlbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9kZXRhY2hl
ZC1zdmctcGFyZW50LXdpbmRvdy1ldmVudHMuaHRtbDoKKwogMjAyMi0wMS0xMCAgU2VyZ2lvIFZp
bGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWZsZXhib3hd
IEluY29ycmVjdCBoZWlnaHQgb2YgZmxleCBpdGVtcyB3aXRoIGFzcGVjdC1yYXRpbyB3aGVuZXZl
ciB0aGUgY3Jvc3MgYXhpcyBpbnRyaW5zaWMgc2l6ZSBpcyBsYXJnZXIgdGhhbiB0aGUgdmlld3Bv
cnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDg5ZmQyZTRhZjIwMjI3NTU2ODZi
Yzg2M2MxNmEwODkzMTY3YTM0ZTAuLmFkYjI1OGQ0ZTRjN2JhZjQ3MTlkNTJhYTk4YzUyYTgxM2Ez
N2RmOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDIyLTAxLTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVn
cmVzc2lvbihyMjgxNTIwKSAzIHN1YnRlc3RzIHN0YXJ0ZWQgZmFpbGluZyBvbiBkb20vdHJhdmVy
c2FsL1RyZWVXYWxrZXItYWNjZXB0Tm9kZS1maWx0ZXItY3Jvc3MtcmVhbG0uaHRtbCBXUFQgdGVz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTUz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NzQ4NTc1Nj4KKworICAgICAgICBVbnJldmlld2Vk
LCByZXZlcnQgcjI4MTUyMCBzaW5jZSBpdCByZWdyZXNzZWQgZG9tL3RyYXZlcnNhbC9UcmVlV2Fs
a2VyLWFjY2VwdE5vZGUtZmlsdGVyLWNyb3NzLXJlYWxtLmh0bWwgV1BUIHRlc3QuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZ2VvbG9jYXRpb24tQVBJL25vbi1mdWxseS1hY3RpdmUu
aHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAxLTEzICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBGaXggcm91bmRpbmcgb2YgZGlzdHJpYnV0ZWQg
ZnJlZSBzcGFjZSB0byBmbGV4aWJsZSB0cmFja3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVjNTBj
ODkzNmE3NzA5MGE4NTA0NDQzN2YwYzU1ZGE5NDlhZTAyZDQuLjgwMGNmNjkwNWNjYmExNDIxZTMz
NTE1YTA5ZTJjZTA3NWY2MDY1NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTUxLDYgKzU1MSw3
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29va2llcy9zYW1lc2l0ZS93aW5k
b3ctb3Blbi5odHRwcy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2dlb2xvY2F0aW9uLUFQSS9ub24tc2VjdXJlLWNvbnRleHRzLmh0dHAuaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9nZW9sb2NhdGlvbi1BUEkvZ2V0Q3Vy
cmVudFBvc2l0aW9uX3Blcm1pc3Npb25fYWxsb3cuaHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9nZW9sb2NhdGlvbi1BUEkvZ2V0Q3VycmVudFBvc2l0
aW9uX3Blcm1pc3Npb25fZGVueS5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2dlb2xvY2F0aW9uLUFQSS9ub24tZnVsbHktYWN0aXZlLmh0dHBzLmh0
bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZ2VvbG9jYXRpb24t
QVBJL3dhdGNoUG9zaXRpb25fcGVybWlzc2lvbl9kZW55Lmh0dHBzLmh0bWwgWyBTa2lwIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1s
b2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tb3JpZ2luLWlkbmEuc3ViLndpbmRvdy5odG1sIFsg
U2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlz
dG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0aW9uX2Fzc2lnbi5odG1sIFsgU2tpcCBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10
by1kZWxldGVkLWNvbnRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vY2FsbGJhY2stdG8tZGVsZXRlZC1jb250ZXh0LWV4cGVjdGVkLnR4dAppbmRleCA2
NDU1NzVkOTU3Yzc3MTZjNTk0MzRmMTA5NjM5NDgwNTI3NTEzNGQwLi5lN2JhOWU2M2E0NDYzYTk4
N2ZmYWI5NzU1NzU1Y2M1OGQ2ZTYyNDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLWRlbGV0ZWQt
Y29udGV4dC1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw3IEBAIFRlc3RzIHRoYXQgd2hlbiBhIEdl
b2xvY2F0aW9uIHJlcXVlc3QgaXMgbWFkZSBmcm9tIGEgcmVtb3RlIGZyYW1lLCBhbmQgdGhhdCBm
cmFtCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBObyBjYWxsYmFja3MgaW52
b2tlZAorUEFTUyBTdWNjZXNzIGNhbGxiYWNrIGludm9rZWQKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2stdG8tZGVsZXRlZC1jb250ZXh0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQu
aHRtbAppbmRleCBlMTA1YzU0MDhmMzM3YWRhNDQwOGU5MDY1MDE3MzRlZWRkOTJhNmUxLi41MDQz
YmVmZjM0ZjM0ZmFiNWY4ZmIzZGFiNTg2ODNmNGFhYWQxOGJjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxl
dGVkLWNvbnRleHQuaHRtbApAQCAtMTMsNyArMTMsNyBAQCBmdW5jdGlvbiBvbkZpcnN0SWZyYW1l
TG9hZGVkKCkgewogCiBmdW5jdGlvbiBvblNlY29uZElmcmFtZUxvYWRlZCgpIHsKICAgICB3aW5k
b3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdFBhc3NlZCgnTm8gY2FsbGJh
Y2tzIGludm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnTm8gY2FsbGJhY2tzIGludm9rZWQn
KTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSwgNTAwKTsKIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1hbHJl
YWR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nv
bm5lY3RlZC1mcmFtZS1hbHJlYWR5LWV4cGVjdGVkLnR4dAppbmRleCBjYTkxYzEyYTY0OWUyNWI1
ZDEwNjgyZmRjMjRhZWM1OWYyYzA4YzFiLi4xMjY5OWNjMTJjMjBjNjI0MTQ2Y2JlNGYwNTgwYjQy
YTJhNWU3MmNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9k
aXNjb25uZWN0ZWQtZnJhbWUtYWxyZWFkeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLWFscmVhZHktZXhwZWN0ZWQu
dHh0CkBAIC0zLDcgKzMsNyBAQCBUZXN0cyB0aGF0IHdoZW4gYSByZXF1ZXN0IGlzIG1hZGUgb24g
YSBHZW9sb2NhdGlvbiBvYmplY3QgYWZ0ZXIgaXRzIGZyYW1lIGhhcyBiZQogT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgogCiAKLVBBU1MgRXJyb3IgY2FsbGJhY2sgaW52b2tlZAorTWV0aG9kIGNh
bGxlZCBvbiBHZW9sb2NhdGlvbiBvYmplY3Qgd2l0aCBkaXNjb25uZWN0ZWQgRnJhbWUuCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1hbHJl
YWR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQt
ZnJhbWUtYWxyZWFkeS5odG1sCmluZGV4IGRiMDU4N2I5YjFjZWYxYTZlODRlMDg5Y2Q2ODM2ZTY5
NDY5Mjg0NWYuLmRhMTZlYjEzNDRkZmVmMWNhZDhjZTNjZDA0NjBlZWNmNjg4ZjY1ZWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFt
ZS1hbHJlYWR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vZGlz
Y29ubmVjdGVkLWZyYW1lLWFscmVhZHkuaHRtbApAQCAtMjMsNyArMjMsNyBAQCBmdW5jdGlvbiBv
blNlY29uZElmcmFtZUxvYWRlZCgpIHsKICAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxs
YmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAg
ICB9LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIHRlc3RQYXNzZWQoJ0Vycm9yIGNhbGxiYWNrIGlu
dm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tlZCcpOwog
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9KTsKICAgICBzZXRUaW1lb3V0KGZpbmlzaFRl
c3QsIDEwMDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24v
ZGlzY29ubmVjdGVkLWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1leHBlY3RlZC50eHQKaW5kZXggOGUxMDYxMTk3
ZDQ5Nzg5NmUyMjUwMzMxMjMwNTA2MzNlN2I0NzJjOC4uZWJjOGIyNTZkMDdiYzM1NTFhMWVhZTY3
NGNiMjMwYTNjMmMyZWNiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9j
YXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC00
LDcgKzQsNyBAQCBUZXN0cyB0aGF0IHdoZW4gYSByZXF1ZXN0IGlzIG1hZGUgb24gYSBHZW9sb2Nh
dGlvbiBvYmplY3QgYW5kIGl0cyBGcmFtZSBpcyBkaXNjbwogT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgogCiAKLVBBU1MgRXJyb3IgY2FsbGJhY2sgaW52b2tlZAorUEFTUyBObyBjYWxsYmFja3Mg
aW52b2tlZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0
ZWQtZnJhbWUtcGVybWlzc2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLXBlcm1pc3Npb24tZGVuaWVkLWV4
cGVjdGVkLnR4dAppbmRleCA2ODlkODliZmM2MzU0MjM2NzhiM2RhYzA2ZmYyZjBkZGViMTg1MDc2
Li45NDI0NjBlMzlkMzE2MGZmMGIzMjYwMjQ3YTZmN2Y0NmU2NTkwYmY0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUtcGVybWlz
c2lvbi1kZW5pZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xv
Y2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9uLWRlbmllZC1leHBlY3RlZC50eHQK
QEAgLTcsNyArNyw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIGVycm9yLmNvZGUg
aXMgZXJyb3IuUEVSTUlTU0lPTl9ERU5JRUQKIFBBU1MgZXJyb3IubWVzc2FnZSBpcyAiVXNlciBk
ZW5pZWQgR2VvbG9jYXRpb24iCiAKLVBBU1MgRXJyb3IgY2FsbGJhY2sgaW52b2tlZAorUEFTUyBO
byBjYWxsYmFja3MgaW52b2tlZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlv
bi9kaXNjb25uZWN0ZWQtZnJhbWUtcGVybWlzc2lvbi1kZW5pZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9uLWRlbmll
ZC5odG1sCmluZGV4IDU1M2Q1MDNhMWViMzVmNTQ2ZTYzZjFhMzMyNTJjY2Y3YTFhNGIzNWEuLjY1
MTFhMTNmMzFjNjE2YWEwOWU1ODQ0YmE5YjExNDQ1NGIwNjM3NGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9u
LWRlbmllZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nv
bm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9uLWRlbmllZC5odG1sCkBAIC0zNiwxMyArMzYsMTMgQEAg
ZnVuY3Rpb24gb25JZnJhbWVVbmxvYWRlZCgpIHsKICAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2Vz
cyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwogICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKICAgICB9LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIHRlc3RQYXNzZWQoJ0Vycm9yIGNhbGxi
YWNrIGludm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tl
ZCcpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9KTsKICAgICBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewotICAgICAgICB0ZXN0RmFpbGVkKCdObyBjYWxsYmFja3MgaW52b2tlZCcpOwor
ICAgICAgICB0ZXN0UGFzc2VkKCdObyBjYWxsYmFja3MgaW52b2tlZCcpOwogICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKLSAgICB9LCAxMDAwKTsKKyAgICB9LCAxMDApOwogfQogCiB2YXIgaWZyYW1l
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS5odG1sCmluZGV4
IGFhOWMzYzJjYjU4OWI2MzNmMjAyOGFmMmFkZDVhZTI3MjZiYzY1MjAuLjk2Y2QzNGI2YzkwNjM0
YmY1YmQzNWEwOGQ1MDgwYjMxNmYwYzM0YjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS5odG1sCkBAIC0yMywxMyAr
MjMsMTMgQEAgZnVuY3Rpb24gb25JZnJhbWVVbmxvYWRlZCgpIHsKICAgICAgICAgdGVzdEZhaWxl
ZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwogICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKICAgICB9LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIHRlc3RQYXNzZWQoJ0Vy
cm9yIGNhbGxiYWNrIGludm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJh
Y2sgaW52b2tlZCcpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9KTsKICAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICB0ZXN0RmFpbGVkKCdObyBjYWxsYmFja3MgaW52
b2tlZCcpOworICAgICAgICB0ZXN0UGFzc2VkKCdObyBjYWxsYmFja3MgaW52b2tlZCcpOwogICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9LCAxMDAwKTsKKyAgICB9LCAxMDApOwogfQogCiB2
YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvY2FsbGJhY2stdG8t
ZGVsZXRlZC1jb250ZXh0LWlubmVyMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9j
YXRpb24vcmVzb3VyY2VzL2NhbGxiYWNrLXRvLWRlbGV0ZWQtY29udGV4dC1pbm5lcjEuaHRtbApp
bmRleCBmNGMwMjc5ZDFkODBlODJlZTkwNjM4MjAzMThjMThkY2NhOGZiY2ZhLi45YzUxNTgxOTBh
ODE2OGMyY2ViNjJiMDgwYTg1MmE0M2FhODAwY2NlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvY2FsbGJhY2stdG8tZGVsZXRlZC1jb250ZXh0
LWlubmVyMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291
cmNlcy9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQtaW5uZXIxLmh0bWwKQEAgLTEzLDcgKzEz
LDcgQEAKICAgICAgICAgICAvLyBNYWtlIHJlcXVlc3QgZnJvbSByZW1vdGUgZnJhbWUsIHRoaXMg
ZnJhbWUgd2lsbCBiZSBnb25lIGJ5IHRoZSB0aW1lIHRoZSBHZW9sb2NhdGlvbgogICAgICAgICAg
IC8vIG9iamVjdCBhdHRlbXB0cyB0byBpbnZva2UgdGhlIGNhbGxiYWNrLgogICAgICAgICAgIHdp
bmRvdy5wYXJlbnQubmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgcGFyZW50LnRlc3RGYWlsZWQoJ1N1Y2Nlc3MgY2FsbGJh
Y2sgaW52b2tlZCB1bmV4cGVjdGVkbHknKTsKKyAgICAgICAgICAgICAgcGFyZW50LnRlc3RQYXNz
ZWQoJ1N1Y2Nlc3MgY2FsbGJhY2sgaW52b2tlZCcpOwogICAgICAgICAgICAgICBwYXJlbnQuZmlu
aXNoSlNUZXN0KCk7CiAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIHBh
cmVudC50ZXN0RmFpbGVkKCdFcnJvciBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZGV0YWNoZWQtc3ZnLXBhcmVudC13
aW5kb3ctZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RldGFj
aGVkLXN2Zy1wYXJlbnQtd2luZG93LWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXggMmI3Yjg3YTQ2
MTQ0YTJhZGM5OGNjMDhkY2RiMzBiODI1NzM1ZDY2Yi4uMTllYjUxNjllZTQ1YzdlMzQ1ODhiN2M5
MDhkZjMyMTk2ODZlMWJiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZGV0
YWNoZWQtc3ZnLXBhcmVudC13aW5kb3ctZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9kZXRhY2hlZC1zdmctcGFyZW50LXdpbmRvdy1ldmVudHMtZXhwZWN0
ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBlcnJvcgogVGhpcyB0ZXN0
cyBjcmVhdGluZyBhIGRpc2Nvbm5lY3RlZCBTVkcgZWxlbWVudCB3aXRoIHJlc2l6ZSBldmVudCBo
YW5kbGVyLiBUaGUgZXZlbnQgaGFuZGxlciBzaG91bGQgbm90IGdldCBkaXNwYXRjaGVkIHVubGVz
cyB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQKIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgog
CiAKLVBBU1MgRXhjZXB0aW9uIHRocm93bgogUEFTUyBkaWRGaXJlUmVzaXplIGlzIGZhbHNlCiBQ
QVNTIGRpZEZpcmVPbkVycm9yIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kZXRhY2hlZC1zdmctcGFy
ZW50LXdpbmRvdy1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RldGFjaGVk
LXN2Zy1wYXJlbnQtd2luZG93LWV2ZW50cy5odG1sCmluZGV4IDg4OWYwMDlmZTVmM2U5YzMwZTI5
ZGYyYjk2NDcwMDllM2ZlNWI5MWYuLjZmYmM0M2U5ZGNkMDBlNjNmNGQ5NDRmZTBiYmUzOTVkNzQ3
OGY3NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RldGFjaGVkLXN2Zy1w
YXJlbnQtd2luZG93LWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Rl
dGFjaGVkLXN2Zy1wYXJlbnQtd2luZG93LWV2ZW50cy5odG1sCkBAIC0yMSwxMSArMjEsNyBAQAog
ICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgnZGlkRmlyZU9uRXJyb3InKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICAgICAgICAg
ICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmcmFtZS5jb250ZW50V2luZG93LmV2YWwoJ3Rocm93ICJlcnJvciInKTsKLSAgICAgICAg
ICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgiRXhjZXB0aW9uIHRocm93biIpOwotICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LmV2YWwoJ3Rocm93ICJlcnJvciInKTsK
ICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH07CiAgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS90cmF2ZXJzYWwvVHJlZVdhbGtlci1hY2Nl
cHROb2RlLWZpbHRlci1jcm9zcy1yZWFsbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS90cmF2ZXJzYWwvVHJlZVdhbGtlci1hY2Nl
cHROb2RlLWZpbHRlci1jcm9zcy1yZWFsbS1leHBlY3RlZC50eHQKaW5kZXggZjQ0Y2ZiNzQ0NzJh
OGIwNThlOGIxZWRlYTdjNDQyZjNiY2JjNDRhZi4uOGJiYzFlMThjMTgzNjdlMTcyNDM5YjIxYzcw
ZmI1ZjU5Y2E4YWNiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYWNjZXB0Tm9kZS1maWx0ZXIt
Y3Jvc3MtcmVhbG0tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWFjY2VwdE5vZGUtZmls
dGVyLWNyb3NzLXJlYWxtLWV4cGVjdGVkLnR4dApAQCAtMSwxOSArMSwxMSBAQAogCiAKLUZBSUwg
cGFyZW50J3MgfHRoaXN8LCBwYXJlbnQncyBtZXRob2QsIHBhcmVudCdzIGZpbHRlciwgcGFyZW50
J3Mgcm9vdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVy
cm9yKCkgeworUEFTUyBwYXJlbnQncyB8dGhpc3wsIHBhcmVudCdzIG1ldGhvZCwgcGFyZW50J3Mg
ZmlsdGVyLCBwYXJlbnQncyByb290CitQQVNTIHBhcmVudCdzIHx0aGlzfCwgcGFyZW50J3MgbWV0
aG9kLCBwYXJlbnQncyBmaWx0ZXIsIGlmcmFtZSdzIHJvb3QKK1BBU1MgcGFyZW50J3MgfHRoaXN8
LCBwYXJlbnQncyBtZXRob2QsIGlmcmFtZSdzIGZpbHRlciwgaWZyYW1lJ3Mgcm9vdAorRkFJTCBw
YXJlbnQncyB8dGhpc3wsIGlmcmFtZXMncyBtZXRob2QsIGlmcmFtZSdzIGZpbHRlciwgaWZyYW1l
J3Mgcm9vdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVy
cm9yKCkgewogICAgIFtuYXRpdmUgY29kZV0KIH0iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9u
IFR5cGVFcnJvcigpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9IgotRkFJTCBwYXJlbnQncyB8dGhp
c3wsIHBhcmVudCdzIG1ldGhvZCwgcGFyZW50J3MgZmlsdGVyLCBpZnJhbWUncyByb290IGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBUeXBlRXJyb3IoKSB7Ci0gICAg
W25hdGl2ZSBjb2RlXQotfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVycm9yKCkg
ewotICAgIFtuYXRpdmUgY29kZV0KLX0iCi1GQUlMIHBhcmVudCdzIHx0aGlzfCwgcGFyZW50J3Mg
bWV0aG9kLCBpZnJhbWUncyBmaWx0ZXIsIGlmcmFtZSdzIHJvb3QgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIFR5cGVFcnJvcigpIHsKLSAgICBbbmF0aXZlIGNvZGVd
Ci19IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBUeXBlRXJyb3IoKSB7Ci0gICAgW25hdGl2
ZSBjb2RlXQotfSIKLVBBU1MgcGFyZW50J3MgfHRoaXN8LCBpZnJhbWVzJ3MgbWV0aG9kLCBpZnJh
bWUncyBmaWx0ZXIsIGlmcmFtZSdzIHJvb3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9nZW9sb2NhdGlvbi1BUEkvbm9uLWZ1bGx5LWFj
dGl2ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2dlb2xvY2F0aW9uLUFQSS9ub24tZnVsbHktYWN0aXZlLmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCA2YzUyMTc0ZGIzNzY3ZDQ3YmExOTJlNGMzYzM0NzU5NGIzZGUwNzNkLi44
ZDEzMGM0Zjc3MDNlZmU0OTY4OGEyZjIxNzI2ODM4YjM0ZDZlYmFmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2dlb2xvY2F0aW9uLUFQSS9u
b24tZnVsbHktYWN0aXZlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2dlb2xvY2F0aW9uLUFQSS9ub24tZnVsbHktYWN0
aXZlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDUgQEAKIAorSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKLVBBU1Mgbm9uLWZ1bGx5IGFjdGl2ZSBkb2N1bWVu
dCBiZWhhdmlvcgorVElNRU9VVCBub24tZnVsbHkgYWN0aXZlIGRvY3VtZW50IGJlaGF2aW9yIFRl
c3QgdGltZWQgb3V0CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449190</attachid>
            <date>2022-01-14 11:20:37 -0800</date>
            <delta_ts>2022-01-14 12:08:50 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235153-20220114192036.patch</filename>
            <type>text/plain</type>
            <size>19621</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAxLTE0ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMjgxNTIwKSAz
IHN1YnRlc3RzIHN0YXJ0ZWQgZmFpbGluZyBvbiBkb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYWNj
ZXB0Tm9kZS1maWx0ZXItY3Jvc3MtcmVhbG0uaHRtbCBXUFQgdGVzdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTUzCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84NzQ4NTc1Nj4KKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnQgcjI4MTUyMCBz
aW5jZSBpdCByZWdyZXNzZWQgZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWFjY2VwdE5vZGUtZmls
dGVyLWNyb3NzLXJlYWxtLmh0bWwgV1BUIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xv
Y2F0aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpn
ZXRDdXJyZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OndhdGNo
UG9zaXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvd2ViLWxvY2tzL1dlYkxvY2tNYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkxvY2tNYW5hZ2VyOjpkaWRDb21wbGV0ZUxvY2tSZXF1
ZXN0KToKKyAgICAgICAgQ292ZXJlZCBieSAiUmVtb3ZlZCBGcmFtZSBhcyBsb2NrIGlzIGdyYW50
ZWQiIHRlc3QgaW4gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItbG9ja3MvZnJh
bWVzLnRlbnRhdGl2ZS5odHRwcy5odG1sLgorICAgICAgICBCZWZvcmUgdGhpcyBjaGFuZ2UsIFdl
YkxvY2tHcmFudGVkQ2FsbGJhY2sgd2FzIHVzaW5nIGluY3VtYmVudCBnbG9iYWwgb2JqZWN0ICht
YWluIGZyYW1lIGluIHRlc3QpIHRvIGNyZWF0ZSBhIHByb21pc2UgaW5zdGVhZAorICAgICAgICBv
ZiBsZXhpY2FsIChyZW1vdmVkIGZyYW1lIGluIHRlc3QpLCBjYXVzaW5nIHRoZSB0ZXN0IHRvIGJl
IGZhbHNlLXBhc3NpbmcuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRDYWxs
YmFja3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnZlcnRlcjxJRExDYWxsYmFja0Z1bmN0aW9u
PFQ+Pjo6Y29udmVydCk6CisgICAgICAgIChXZWJDb3JlOjpDb252ZXJ0ZXI8SURMQ2FsbGJhY2tJ
bnRlcmZhY2U8VD4+Ojpjb252ZXJ0KToKKyAgICAgICAgKiBkb20vVGFza1NvdXJjZS5oOgorCiAy
MDIyLTAxLTE0ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CiAKICAgICAgICAg
QVg6IE1vdmUgbWV0aG9kcyB0aGF0IGFyZSB1bm5lY2Vzc2FyaWx5IGluIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QgdG8gQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QgKHBhcnQgMSBvZiBuKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlv
bi5jcHAJKHJldmlzaW9uIDI4ODAyMCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9j
YXRpb24vR2VvbG9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAj
aWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRl
ICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJGZWF0dXJlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJHZW9Ob3RpZmllci5oIgpAQCAtMzAwLDE0ICsyOTksOCBAQCBHZW9s
b2NhdGlvblBvc2l0aW9uKiBHZW9sb2NhdGlvbjo6bGFzdFBvCiAKIHZvaWQgR2VvbG9jYXRpb246
OmdldEN1cnJlbnRQb3NpdGlvbihSZWY8UG9zaXRpb25DYWxsYmFjaz4mJiBzdWNjZXNzQ2FsbGJh
Y2ssIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+JiYgZXJyb3JDYWxsYmFjaywgUG9zaXRp
b25PcHRpb25zJiYgb3B0aW9ucykKIHsKLSAgICBpZiAoIWRvY3VtZW50KCkgfHwgIWRvY3VtZW50
KCktPmlzRnVsbHlBY3RpdmUoKSkgewotICAgICAgICBpZiAoZXJyb3JDYWxsYmFjayAmJiBlcnJv
ckNhbGxiYWNrLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgICAgIGVycm9y
Q2FsbGJhY2stPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+ZXZlbnRMb29wKCkucXVldWVUYXNr
KFRhc2tTb3VyY2U6Okdlb2xvY2F0aW9uLCBbZXJyb3JDYWxsYmFja10gewotICAgICAgICAgICAg
ICAgIGVycm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcjo6
Y3JlYXRlKEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcjo6UE9TSVRJT05fVU5BVkFJTEFCTEUsICJE
b2N1bWVudCBpcyBub3QgZnVsbHkgYWN0aXZlIl9zKSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAg
ICAgfQorICAgIGlmICghZnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAogICAgIGF1
dG8gbm90aWZpZXIgPSBHZW9Ob3RpZmllcjo6Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKHN1Y2Nlc3ND
YWxsYmFjayksIFdURk1vdmUoZXJyb3JDYWxsYmFjayksIFdURk1vdmUob3B0aW9ucykpOwogICAg
IHN0YXJ0UmVxdWVzdChub3RpZmllci5wdHIoKSk7CkBAIC0zMTcsMTQgKzMxMCw4IEBAIHZvaWQg
R2VvbG9jYXRpb246OmdldEN1cnJlbnRQb3NpdGlvbihSZWYKIAogaW50IEdlb2xvY2F0aW9uOjp3
YXRjaFBvc2l0aW9uKFJlZjxQb3NpdGlvbkNhbGxiYWNrPiYmIHN1Y2Nlc3NDYWxsYmFjaywgUmVm
UHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4mJiBlcnJvckNhbGxiYWNrLCBQb3NpdGlvbk9wdGlv
bnMmJiBvcHRpb25zKQogewotICAgIGlmICghZG9jdW1lbnQoKSB8fCAhZG9jdW1lbnQoKS0+aXNG
dWxseUFjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChlcnJvckNhbGxiYWNrICYmIGVycm9yQ2FsbGJh
Y2stPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICAgICAgZXJyb3JDYWxsYmFj
ay0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1Nv
dXJjZTo6R2VvbG9jYXRpb24sIFtlcnJvckNhbGxiYWNrXSB7Ci0gICAgICAgICAgICAgICAgZXJy
b3JDYWxsYmFjay0+aGFuZGxlRXZlbnQoR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yOjpjcmVhdGUo
R2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yOjpQT1NJVElPTl9VTkFWQUlMQUJMRSwgIkRvY3VtZW50
IGlzIG5vdCBmdWxseSBhY3RpdmUiX3MpKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Cisg
ICAgaWYgKCFmcmFtZSgpKQogICAgICAgICByZXR1cm4gMDsKLSAgICB9CiAKICAgICBhdXRvIG5v
dGlmaWVyID0gR2VvTm90aWZpZXI6OmNyZWF0ZSgqdGhpcywgV1RGTW92ZShzdWNjZXNzQ2FsbGJh
Y2spLCBXVEZNb3ZlKGVycm9yQ2FsbGJhY2spLCBXVEZNb3ZlKG9wdGlvbnMpKTsKICAgICBzdGFy
dFJlcXVlc3Qobm90aWZpZXIucHRyKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWItbG9ja3MvV2ViTG9ja01hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViLWxvY2tzL1dlYkxvY2tNYW5hZ2VyLmNwcAkocmV2aXNpb24gMjg4MDIwKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWItbG9ja3MvV2ViTG9ja01hbmFnZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzIsNyArMjcyLDcgQEAgdm9pZCBXZWJMb2NrTWFuYWdlcjo6ZGlk
Q29tcGxldGVMb2NrUmVxdQogICAgICAgICAgICAgYXV0byBsb2NrID0gV2ViTG9jazo6Y3JlYXRl
KHJlcXVlc3QubG9ja0lkZW50aWZpZXIsIHJlcXVlc3QubmFtZSwgcmVxdWVzdC5tb2RlKTsKICAg
ICAgICAgICAgIGF1dG8gcmVzdWx0ID0gcmVxdWVzdC5ncmFudGVkQ2FsbGJhY2stPmhhbmRsZUV2
ZW50KGxvY2sucHRyKCkpOwogICAgICAgICAgICAgUmVmUHRyPERPTVByb21pc2U+IHdhaXRpbmdQ
cm9taXNlID0gcmVzdWx0LnR5cGUoKSA9PSBDYWxsYmFja1Jlc3VsdFR5cGU6OlN1Y2Nlc3MgPyBy
ZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCkgOiBudWxscHRyOwotICAgICAgICAgICAgaWYgKCF3
YWl0aW5nUHJvbWlzZSkgeworICAgICAgICAgICAgaWYgKCF3YWl0aW5nUHJvbWlzZSB8fCB3YWl0
aW5nUHJvbWlzZS0+aXNTdXNwZW5kZWQoKSkgewogICAgICAgICAgICAgICAgIG1fbWFpblRocmVh
ZEJyaWRnZS0+cmVsZWFzZUxvY2socmVxdWVzdC5sb2NrSWRlbnRpZmllciwgcmVxdWVzdC5uYW1l
KTsKICAgICAgICAgICAgICAgICBzZXR0bGVSZWxlYXNlUHJvbWlzZShyZXF1ZXN0LmxvY2tJZGVu
dGlmaWVyLCBFeGNlcHRpb24geyBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yIH0pOwogICAgICAgICAg
ICAgICAgIHJldHVybjsKQEAgLTI4Nyw3ICsyODcsNyBAQCB2b2lkIFdlYkxvY2tNYW5hZ2VyOjpk
aWRDb21wbGV0ZUxvY2tSZXF1CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBhdXRvIHJl
c3VsdCA9IHJlcXVlc3QuZ3JhbnRlZENhbGxiYWNrLT5oYW5kbGVFdmVudChudWxscHRyKTsKICAg
ICAgICAgICAgIFJlZlB0cjxET01Qcm9taXNlPiB3YWl0aW5nUHJvbWlzZSA9IHJlc3VsdC50eXBl
KCkgPT0gQ2FsbGJhY2tSZXN1bHRUeXBlOjpTdWNjZXNzID8gcmVzdWx0LnJlbGVhc2VSZXR1cm5W
YWx1ZSgpIDogbnVsbHB0cjsKLSAgICAgICAgICAgIGlmICghd2FpdGluZ1Byb21pc2UpIHsKKyAg
ICAgICAgICAgIGlmICghd2FpdGluZ1Byb21pc2UgfHwgd2FpdGluZ1Byb21pc2UtPmlzU3VzcGVu
ZGVkKCkpIHsKICAgICAgICAgICAgICAgICBzZXR0bGVSZWxlYXNlUHJvbWlzZShyZXF1ZXN0Lmxv
Y2tJZGVudGlmaWVyLCBFeGNlcHRpb24geyBFeGlzdGluZ0V4Y2VwdGlvbkVycm9yIH0pOwogICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydENhbGxiYWNrcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydENhbGxiYWNrcy5oCShyZXZpc2lvbiAy
ODgwMjApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRDYWxsYmFj
a3MuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgQ29udmVydGVyPElECiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAg
ICAgfQogCi0gICAgICAgIHJldHVybiBUOjpjcmVhdGUoSlNDOjphc09iamVjdCh2YWx1ZSksICZj
YWxsZXJHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCB2bS50b3BDYWxsRnJhbWUpKTsKKyAgICAg
ICAgcmV0dXJuIFQ6OmNyZWF0ZShKU0M6OmFzT2JqZWN0KHZhbHVlKSwgJmdsb2JhbE9iamVjdCk7
CiAgICAgfQogfTsKIApAQCAtODAsNyArODAsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1
Y3QgQ29udmVydGVyPElECiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQog
Ci0gICAgICAgIHJldHVybiBUOjpjcmVhdGUoSlNDOjphc09iamVjdCh2YWx1ZSksICZjYWxsZXJH
bG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCB2bS50b3BDYWxsRnJhbWUpKTsKKyAgICAgICAgcmV0
dXJuIFQ6OmNyZWF0ZShKU0M6OmFzT2JqZWN0KHZhbHVlKSwgJmdsb2JhbE9iamVjdCk7CiAgICAg
fQogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1Rhc2tTb3VyY2UuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCShyZXZpc2lvbiAyODgwMjApCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vVGFza1NvdXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3
ICszMiw2IEBAIGVudW0gY2xhc3MgVGFza1NvdXJjZSA6IHVpbnQ4X3QgewogICAgIERhdGFiYXNl
QWNjZXNzLAogICAgIEZpbGVSZWFkaW5nLAogICAgIEZvbnRMb2FkaW5nLAotICAgIEdlb2xvY2F0
aW9uLAogICAgIElkbGVUYXNrLAogICAgIEluZGV4ZWREQiwKICAgICBNZWRpYUVsZW1lbnQsCklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyODgwMjApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAyMi0wMS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24ocjI4MTUyMCkgMyBzdWJ0ZXN0cyBz
dGFydGVkIGZhaWxpbmcgb24gZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWFjY2VwdE5vZGUtZmls
dGVyLWNyb3NzLXJlYWxtLmh0bWwgV1BUIHRlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTE1MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODc0
ODU3NTY+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0IHIyODE1MjAgc2luY2UgaXQgcmVn
cmVzc2VkIGRvbS90cmF2ZXJzYWwvVHJlZVdhbGtlci1hY2NlcHROb2RlLWZpbHRlci1jcm9zcy1y
ZWFsbS5odG1sIFdQVCB0ZXN0LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxldGVkLWNvbnRleHQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLWRl
bGV0ZWQtY29udGV4dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nv
bm5lY3RlZC1mcmFtZS1hbHJlYWR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9H
ZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUtYWxyZWFkeS5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLXBlcm1pc3Npb24t
ZGVuaWVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNj
b25uZWN0ZWQtZnJhbWUtcGVybWlzc2lvbi1kZW5pZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9HZW9sb2NhdGlvbi9yZXNvdXJjZXMvY2FsbGJhY2stdG8tZGVsZXRlZC1jb250ZXh0LWlubmVy
MS5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL2RldGFjaGVkLXN2Zy1wYXJlbnQtd2luZG93
LWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvZGV0YWNoZWQtc3Zn
LXBhcmVudC13aW5kb3ctZXZlbnRzLmh0bWw6CisKIDIwMjItMDEtMTQgIEFsYW4gQnVqdGFzICA8
emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gSW5jb3JyZWN0IHJvb3QgaW5s
aW5lIGJveCBwb3NpdGlvbiB3aGVuIG5vbi1lbXB0eSBhdG9taWMgaW5saW5lIGxldmVsIGNoaWxk
IGJveCBoYXMgaGVpZ2h0OiAwcHgKSW5kZXg6IExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjg4
MDIwKQorKysgTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAt
NTUxLDYgKzU1MSw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29va2llcy8K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZ2VvbG9jYXRpb24tQVBJL25vbi1zZWN1
cmUtY29udGV4dHMuaHR0cC5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2dlb2xvY2F0aW9uLUFQSS9nZXRDdXJyZW50UG9zaXRpb25fcGVybWlzc2lvbl9hbGxv
dy5odHRwcy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2dl
b2xvY2F0aW9uLUFQSS9nZXRDdXJyZW50UG9zaXRpb25fcGVybWlzc2lvbl9kZW55Lmh0dHBzLmh0
bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZ2VvbG9jYXRpb24t
QVBJL25vbi1mdWxseS1hY3RpdmUuaHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9nZW9sb2NhdGlvbi1BUEkvd2F0Y2hQb3NpdGlvbl9wZXJtaXNzaW9u
X2RlbnkuaHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1v
cmlnaW4taWRuYS5zdWIud2luZG93Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2Uv
bG9jYXRpb25fYXNzaWduLmh0bWwgWyBTa2lwIF0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9t
L0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLWRlbGV0ZWQtY29udGV4dC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2stdG8t
ZGVsZXRlZC1jb250ZXh0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjg4MDIwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vY2FsbGJhY2stdG8tZGVsZXRlZC1jb250ZXh0LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAgVGVzdHMgdGhhdCB3aGVu
IGEgR2VvbG9jYXRpb24gcmVxdWVzdCBpcwogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAK
LVBBU1MgTm8gY2FsbGJhY2tzIGludm9rZWQKK1BBU1MgU3VjY2VzcyBjYWxsYmFjayBpbnZva2Vk
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLWRlbGV0ZWQtY29u
dGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9u
L2NhbGxiYWNrLXRvLWRlbGV0ZWQtY29udGV4dC5odG1sCShyZXZpc2lvbiAyODgwMjApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9jYWxsYmFjay10by1kZWxldGVkLWNvbnRl
eHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTMsNyArMTMsNyBAQCBmdW5jdGlvbiBvbkZpcnN0
SWZyYW1lTG9hZGVkKCkgewogCiBmdW5jdGlvbiBvblNlY29uZElmcmFtZUxvYWRlZCgpIHsKICAg
ICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgdGVzdFBhc3NlZCgnTm8g
Y2FsbGJhY2tzIGludm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnTm8gY2FsbGJhY2tzIGlu
dm9rZWQnKTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSwgNTAwKTsKIH0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1hbHJl
YWR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9s
b2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUtYWxyZWFkeS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDI4ODAyMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3Rl
ZC1mcmFtZS1hbHJlYWR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcg
QEAgVGVzdHMgdGhhdCB3aGVuIGEgcmVxdWVzdCBpcyBtYWRlIG9uIGEgRwogT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgogCiAKLVBBU1MgRXJyb3IgY2FsbGJhY2sgaW52b2tlZAorTWV0aG9kIGNh
bGxlZCBvbiBHZW9sb2NhdGlvbiBvYmplY3Qgd2l0aCBkaXNjb25uZWN0ZWQgRnJhbWUuCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1hbHJlYWR5Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vZGlzY29u
bmVjdGVkLWZyYW1lLWFscmVhZHkuaHRtbAkocmV2aXNpb24gMjg4MDIwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLWFscmVhZHkuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQCBmdW5jdGlvbiBvblNlY29uZElmcmFtZUxv
YWRlZCgpIHsKICAgICAgICAgdGVzdEZhaWxlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVu
ZXhwZWN0ZWRseScpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9LCBmdW5jdGlvbihl
KSB7Ci0gICAgICAgIHRlc3RQYXNzZWQoJ0Vycm9yIGNhbGxiYWNrIGludm9rZWQnKTsKKyAgICAg
ICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52b2tlZCcpOwogICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKICAgICB9KTsKICAgICBzZXRUaW1lb3V0KGZpbmlzaFRlc3QsIDEwMDApOwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlv
bi9kaXNjb25uZWN0ZWQtZnJhbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyODgwMjApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQCBUZXN0cyB0aGF0IHdoZW4gYSBy
ZXF1ZXN0IGlzIG1hZGUgb24gYSBHCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFT
UyBFcnJvciBjYWxsYmFjayBpbnZva2VkCitQQVNTIE5vIGNhbGxiYWNrcyBpbnZva2VkCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFtZS1wZXJtaXNzaW9u
LWRlbmllZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20v
R2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLXBlcm1pc3Npb24tZGVuaWVkLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjg4MDIwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRp
b24vZGlzY29ubmVjdGVkLWZyYW1lLXBlcm1pc3Npb24tZGVuaWVkLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQQogUEFTUyBlcnJvci5jb2RlIGlzIGVycm9yLlBFUk1JU1NJT05fREVOSUVECiBQ
QVNTIGVycm9yLm1lc3NhZ2UgaXMgIlVzZXIgZGVuaWVkIEdlb2xvY2F0aW9uIgogCi1QQVNTIEVy
cm9yIGNhbGxiYWNrIGludm9rZWQKK1BBU1MgTm8gY2FsbGJhY2tzIGludm9rZWQKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vR2VvbG9jYXRpb24vZGlzY29ubmVjdGVkLWZyYW1lLXBlcm1pc3Npb24tZGVu
aWVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24v
ZGlzY29ubmVjdGVkLWZyYW1lLXBlcm1pc3Npb24tZGVuaWVkLmh0bWwJKHJldmlzaW9uIDI4ODAy
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2Rpc2Nvbm5lY3RlZC1mcmFt
ZS1wZXJtaXNzaW9uLWRlbmllZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMyArMzYsMTMg
QEAgZnVuY3Rpb24gb25JZnJhbWVVbmxvYWRlZCgpIHsKICAgICAgICAgdGVzdEZhaWxlZCgnU3Vj
Y2VzcyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOwogICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKICAgICB9LCBmdW5jdGlvbihlKSB7Ci0gICAgICAgIHRlc3RQYXNzZWQoJ0Vycm9yIGNh
bGxiYWNrIGludm9rZWQnKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXJyb3IgY2FsbGJhY2sgaW52
b2tlZCcpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9KTsKICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewotICAgICAgICB0ZXN0RmFpbGVkKCdObyBjYWxsYmFja3MgaW52b2tlZCcp
OworICAgICAgICB0ZXN0UGFzc2VkKCdObyBjYWxsYmFja3MgaW52b2tlZCcpOwogICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKLSAgICB9LCAxMDAwKTsKKyAgICB9LCAxMDApOwogfQogCiB2YXIgaWZy
YW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9kaXNjb25uZWN0ZWQtZnJhbWUu
aHRtbAkocmV2aXNpb24gMjg4MDIwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRp
b24vZGlzY29ubmVjdGVkLWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIzLDEzICsyMywx
MyBAQCBmdW5jdGlvbiBvbklmcmFtZVVubG9hZGVkKCkgewogICAgICAgICB0ZXN0RmFpbGVkKCdT
dWNjZXNzIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7CiAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOwogICAgIH0sIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgdGVzdFBhc3NlZCgnRXJyb3Ig
Y2FsbGJhY2sgaW52b2tlZCcpOworICAgICAgICB0ZXN0RmFpbGVkKCdFcnJvciBjYWxsYmFjayBp
bnZva2VkJyk7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0pOwogICAgIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoJ05vIGNhbGxiYWNrcyBpbnZva2Vk
Jyk7CisgICAgICAgIHRlc3RQYXNzZWQoJ05vIGNhbGxiYWNrcyBpbnZva2VkJyk7CiAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOwotICAgIH0sIDEwMDApOworICAgIH0sIDEwMCk7CiB9CiAKIHZhciBp
ZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3Jlc291cmNlcy9jYWxsYmFjay10by1kZWxldGVkLWNv
bnRleHQtaW5uZXIxLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vcmVzb3VyY2VzL2NhbGxiYWNrLXRvLWRlbGV0ZWQtY29udGV4dC1pbm5lcjEuaHRt
bAkocmV2aXNpb24gMjg4MDIwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24v
cmVzb3VyY2VzL2NhbGxiYWNrLXRvLWRlbGV0ZWQtY29udGV4dC1pbm5lcjEuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTMsNyArMTMsNyBAQAogICAgICAgICAgIC8vIE1ha2UgcmVxdWVzdCBmcm9t
IHJlbW90ZSBmcmFtZSwgdGhpcyBmcmFtZSB3aWxsIGJlIGdvbmUgYnkgdGhlIHRpbWUgdGhlIEdl
b2xvY2F0aW9uCiAgICAgICAgICAgLy8gb2JqZWN0IGF0dGVtcHRzIHRvIGludm9rZSB0aGUgY2Fs
bGJhY2suCiAgICAgICAgICAgd2luZG93LnBhcmVudC5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0
Q3VycmVudFBvc2l0aW9uKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBwYXJlbnQudGVzdEZh
aWxlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkIHVuZXhwZWN0ZWRseScpOworICAgICAgICAg
ICAgICBwYXJlbnQudGVzdFBhc3NlZCgnU3VjY2VzcyBjYWxsYmFjayBpbnZva2VkJyk7CiAgICAg
ICAgICAgICAgIHBhcmVudC5maW5pc2hKU1Rlc3QoKTsKICAgICAgICAgICB9LCBmdW5jdGlvbigp
IHsKICAgICAgICAgICAgICAgcGFyZW50LnRlc3RGYWlsZWQoJ0Vycm9yIGNhbGxiYWNrIGludm9r
ZWQgdW5leHBlY3RlZGx5Jyk7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kZXRhY2hl
ZC1zdmctcGFyZW50LXdpbmRvdy1ldmVudHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RldGFjaGVkLXN2Zy1wYXJlbnQtd2luZG93LWV2ZW50cy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDI4ODAyMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2RldGFjaGVkLXN2Zy1wYXJlbnQtd2luZG93LWV2ZW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsOSArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGVycm9yCiBUaGlzIHRlc3Rz
IGNyZWF0aW5nIGEgZGlzY29ubmVjdGVkIFNWRyBlbGVtZW50IHdpdGggcmVzaXplIGV2ZW50IGhh
bmRsZXIuIFRoZSBldmVudCBoYW5kbGVyIHNob3VsZCBub3QgZ2V0IGRpc3BhdGNoZWQgdW5sZXNz
IHRoZSBlbGVtZW50IGlzIGNvbm5lY3RlZAogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAK
IAotUEFTUyBFeGNlcHRpb24gdGhyb3duCiBQQVNTIGRpZEZpcmVSZXNpemUgaXMgZmFsc2UKIFBB
U1MgZGlkRmlyZU9uRXJyb3IgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RldGFjaGVkLXN2Zy1wYXJlbnQtd2lu
ZG93LWV2ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Rl
dGFjaGVkLXN2Zy1wYXJlbnQtd2luZG93LWV2ZW50cy5odG1sCShyZXZpc2lvbiAyODgwMjApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kZXRhY2hlZC1zdmctcGFyZW50LXdpbmRvdy1ldmVu
dHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjEsMTEgKzIxLDcgQEAKICAgICAgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRmFsc2UoJ2RpZEZpcmVPbkVycm9yJyk7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAg
ICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWUuY29u
dGVudFdpbmRvdy5ldmFsKCd0aHJvdyAiZXJyb3IiJyk7Ci0gICAgICAgICAgICAgICAgICAgIH0g
Y2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkV4Y2VwdGlv
biB0aHJvd24iKTsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBp
ZnJhbWUuY29udGVudFdpbmRvdy5ldmFsKCd0aHJvdyAiZXJyb3IiJyk7CiAgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChpZnJhbWUpOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lv
biAyODgwMjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKHIyODE1MjApIDMgc3VidGVzdHMgc3Rh
cnRlZCBmYWlsaW5nIG9uIGRvbS90cmF2ZXJzYWwvVHJlZVdhbGtlci1hY2NlcHROb2RlLWZpbHRl
ci1jcm9zcy1yZWFsbS5odG1sIFdQVCB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUxNTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg3NDg1
NzU2PgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydCByMjgxNTIwIHNpbmNlIGl0IHJlZ3Jl
c3NlZCBkb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYWNjZXB0Tm9kZS1maWx0ZXItY3Jvc3MtcmVh
bG0uaHRtbCBXUFQgdGVzdC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9nZW9sb2Nh
dGlvbi1BUEkvbm9uLWZ1bGx5LWFjdGl2ZS5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjItMDEt
MTQgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFs6aGFzKCkg
cHNldWRvLWNsYXNzXSBBdm9pZCBPKG5eMikgaW4gc3R5bGUgaW52YWxpZGF0aW9uIHdpdGggcmVw
ZWF0ZWQgRE9NIG11dGF0aW9ucwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYWNjZXB0Tm9kZS1maWx0ZXIt
Y3Jvc3MtcmVhbG0tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWFjY2Vw
dE5vZGUtZmlsdGVyLWNyb3NzLXJlYWxtLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjg4MDIwKQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vdHJhdmVy
c2FsL1RyZWVXYWxrZXItYWNjZXB0Tm9kZS1maWx0ZXItY3Jvc3MtcmVhbG0tZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5ICsxLDExIEBACiAKIAotRkFJTCBwYXJlbnQncyB8dGhp
c3wsIHBhcmVudCdzIG1ldGhvZCwgcGFyZW50J3MgZmlsdGVyLCBwYXJlbnQncyByb290IGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBUeXBlRXJyb3IoKSB7CitQQVNT
IHBhcmVudCdzIHx0aGlzfCwgcGFyZW50J3MgbWV0aG9kLCBwYXJlbnQncyBmaWx0ZXIsIHBhcmVu
dCdzIHJvb3QKK1BBU1MgcGFyZW50J3MgfHRoaXN8LCBwYXJlbnQncyBtZXRob2QsIHBhcmVudCdz
IGZpbHRlciwgaWZyYW1lJ3Mgcm9vdAorUEFTUyBwYXJlbnQncyB8dGhpc3wsIHBhcmVudCdzIG1l
dGhvZCwgaWZyYW1lJ3MgZmlsdGVyLCBpZnJhbWUncyByb290CitGQUlMIHBhcmVudCdzIHx0aGlz
fCwgaWZyYW1lcydzIG1ldGhvZCwgaWZyYW1lJ3MgZmlsdGVyLCBpZnJhbWUncyByb290IGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBUeXBlRXJyb3IoKSB7CiAgICAg
W25hdGl2ZSBjb2RlXQogfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVycm9yKCkg
ewogICAgIFtuYXRpdmUgY29kZV0KIH0iCi1GQUlMIHBhcmVudCdzIHx0aGlzfCwgcGFyZW50J3Mg
bWV0aG9kLCBwYXJlbnQncyBmaWx0ZXIsIGlmcmFtZSdzIHJvb3QgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIFR5cGVFcnJvcigpIHsKLSAgICBbbmF0aXZlIGNvZGVd
Ci19IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBUeXBlRXJyb3IoKSB7Ci0gICAgW25hdGl2
ZSBjb2RlXQotfSIKLUZBSUwgcGFyZW50J3MgfHRoaXN8LCBwYXJlbnQncyBtZXRob2QsIGlmcmFt
ZSdzIGZpbHRlciwgaWZyYW1lJ3Mgcm9vdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlv
biAiZnVuY3Rpb24gVHlwZUVycm9yKCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0iIGJ1dCBnb3Qg
ZnVuY3Rpb24gImZ1bmN0aW9uIFR5cGVFcnJvcigpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19Igot
UEFTUyBwYXJlbnQncyB8dGhpc3wsIGlmcmFtZXMncyBtZXRob2QsIGlmcmFtZSdzIGZpbHRlciwg
aWZyYW1lJ3Mgcm9vdAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2dlb2xvY2F0aW9uLUFQSS9ub24tZnVsbHktYWN0aXZlLmh0dHBzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2dlb2xvY2F0aW9uLUFQSS9ub24tZnVsbHktYWN0aXZlLmh0dHBzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjg4MDIwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9nZW9sb2NhdGlvbi1BUEkvbm9uLWZ1bGx5LWFjdGl2ZS5odHRwcy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw1IEBACiAKK0hhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAogCi1QQVNTIG5vbi1mdWxseSBhY3RpdmUgZG9jdW1lbnQg
YmVoYXZpb3IKK1RJTUVPVVQgbm9uLWZ1bGx5IGFjdGl2ZSBkb2N1bWVudCBiZWhhdmlvciBUZXN0
IHRpbWVkIG91dAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>