<?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>233798</bug_id>
          
          <creation_ts>2021-12-02 20:31:20 -0800</creation_ts>
          <short_desc>Follow-up to r286479 to add API test and address issues found by the test</short_desc>
          <delta_ts>2021-12-06 07:46:59 -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>Tools / Tests</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=233783</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>
          <dependson>233874</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820009</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-02 20:31:20 -0800</bug_when>
    <thetext>Add API test for Bug 233783</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820138</commentid>
    <comment_count>1</comment_count>
      <attachid>445857</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-03 08:22:45 -0800</bug_when>
    <thetext>Created attachment 445857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820148</commentid>
    <comment_count>2</comment_count>
      <attachid>445857</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-03 08:47:20 -0800</bug_when>
    <thetext>Comment on attachment 445857
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:419
&gt; +- (void)_isLayerTreeFrozen:(void (^)(BOOL frozen))completionHandler;

availability macros, WKWebViewPrivateForTesting.h

&gt; Source/WebKit/WebProcess/WebPage/WebPage.messages.in:405
&gt; +    isLayerTreeFrozenForTesting() -&gt; (bool isFrozen) Async

The freezing isn&apos;t for testing, the query is.  I&apos;m not sure if the naming could be more clear.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:7275
&gt; +    sourceHeaders.add(&quot;Content-Type&quot;_s, &quot;text/html&quot;_s);

These can be put in the initializer list.  That would clean up the syntax a lot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820149</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-03 08:48:12 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #2)
&gt; Comment on attachment 445857 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=445857&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:419
&gt; &gt; +- (void)_isLayerTreeFrozen:(void (^)(BOOL frozen))completionHandler;
&gt; 
&gt; availability macros, WKWebViewPrivateForTesting.h

I thought we didn&apos;t need TBA macros for SPI?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820150</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-03 08:48:39 -0800</bug_when>
    <thetext>We do</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820155</commentid>
    <comment_count>5</comment_count>
      <attachid>445863</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-03 09:00:52 -0800</bug_when>
    <thetext>Created attachment 445863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820156</commentid>
    <comment_count>6</comment_count>
      <attachid>445863</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-12-03 09:04:18 -0800</bug_when>
    <thetext>Comment on attachment 445863
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Add API test for Bug 233783

Looks like you found something additional to fix in ProvisionalPageProxy, so this is not just adding a test any more. Is that correct? Should we retitle?

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:419
&gt; +- (void)_isLayerTreeFrozen:(void (^)(BOOL frozen))completionHandler WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

Why did you decide to put this into Private rather than PrivateForTesting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820158</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-03 09:08:13 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 445863 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=445863&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:3
&gt; &gt; +        Add API test for Bug 233783
&gt; 
&gt; Looks like you found something additional to fix in ProvisionalPageProxy, so
&gt; this is not just adding a test any more. Is that correct? Should we retitle?

Correct, I will retitle.

&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:419
&gt; &gt; +- (void)_isLayerTreeFrozen:(void (^)(BOOL frozen))completionHandler WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; 
&gt; Why did you decide to put this into Private rather than PrivateForTesting?

Because I wasn&apos;t aware of the WKWebViewPrivateForTesting.h header. I will move it there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820172</commentid>
    <comment_count>8</comment_count>
      <attachid>445865</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-03 09:26:43 -0800</bug_when>
    <thetext>Created attachment 445865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820173</commentid>
    <comment_count>9</comment_count>
      <attachid>445865</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-03 09:28:12 -0800</bug_when>
    <thetext>Comment on attachment 445865
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.messages.in:405
&gt; +    isLayerTreeFrozen() -&gt; (bool isFrozen) Async

nit: for some reason, all the messages.in names start with a capital letter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820175</commentid>
    <comment_count>10</comment_count>
      <attachid>445866</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-03 09:30:02 -0800</bug_when>
    <thetext>Created attachment 445866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820248</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-03 11:39:11 -0800</bug_when>
    <thetext>Committed r286505 (244844@main): &lt;https://commits.webkit.org/244844@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445866.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820249</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-03 11:40:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/86027625&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445857</attachid>
            <date>2021-12-03 08:22:45 -0800</date>
            <delta_ts>2021-12-03 09:00:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233798-20211203082244.patch</filename>
            <type>text/plain</type>
            <size>15083</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU2ZWExZTQwYmI0YjcxNjM1
NzUxNDQ1OWViYmZjZDBkYzQ4NWYyOGUuLmViYTYwMTYyYjVjYTZlNTJlZmM2YjBmZTE0ODRjODc0
ZWE2YjNlMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjEtMTItMDMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQVBJIHRlc3QgZm9yIEJ1ZyAy
MzM3ODMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
Mzc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBf
aXNMYXllclRyZWVGcm96ZW46XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGVzdHJveVByb3Zpc2lvbmFsUGFnZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aXNMYXllclRyZWVGcm96ZW5Gb3JUZXN0aW5n
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjppc0xh
eWVyVHJlZUZyb3plbkZvclRlc3RpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW46CisgICAgICAgIEFkZCBuZXcgU1BJIHRvIGNoZWNrIGlmIHRoZSBsYXllciB0cmVlIGlzIGZy
b3plbiBpbiB0aGUgV2ViUHJvY2VzcyBzbyB0aGF0IEkgY291bGQKKyAgICAgICAgd3JpdGUgYW4g
QVBJIHRlc3QgZm9yIHRoaXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6UHJvdmlz
aW9uYWxQYWdlUHJveHkpOgorICAgICAgICBNYWtlIHN1cmUgbV9wcm92aXNpb25hbExvYWRVUkwg
Z2V0cyBpbml0aWFsaXplZCB3aGVuIHRoZSBQcm92aXNpb25hbFBhZ2VQcm94eSBnZXRzCisgICAg
ICAgIGNvbnN0cnVjdGVkICphZnRlciogdGhlIHByb3Zpc2lvbmFsIGxvYWQgaGFzIGFscmVhZHkg
c3RhcnRlZCAod2hpY2ggaXMgdGhlIGNhc2UKKyAgICAgICAgd2hlbiB0aGUgcHJvY2VzcyBzd2Fw
IGlzIHRyaWdnZXJlZCBieSBDT09QKS4KKworICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBh
Z2VQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKToKKyAgICAgICAgSWYgdGhl
IHByb3Zpc2lvbmFsIGxvYWQgbG9hZCBmYWlscyBpbiB0aGUgcHJvdmlzaW9uYWwgcHJvY2Vzcywg
YW5kIHRoZSBQcm92aXNpb25hbFBhZ2VQcm94eQorICAgICAgICB3YXMgY29uc3RydWN0ZWQgb24g
cmVzb3VyY2UgcmVzcG9uc2UgKENPT1AgY2FzZSksIHRoZW4gbm8gbG9uZ2VyIGZvcndhcmQgdGhl
CisgICAgICAgIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSgpIHRvIHRoZSBXZWJQYWdl
UHJveHkuIEluc3RlYWQsIHdlIGRlc3Ryb3kgdGhlCisgICAgICAgIFByb3Zpc2lvbmFsUGFnZVBy
b3h5LiBUaGlzIGlzIHRvIGF2b2lkIGR1cGxpY2F0ZSBjYWxscyB0byBkaWRGYWlsUHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWUoKS4KKyAgICAgICAgSW4gdGhpcyBjYXNlLCB0aGVyZSBpcyBzdGlsbCBh
IHByb3Zpc2lvbmFsIGxvYWQgb25nb2luZyBpbiB0aGUgY29tbWl0dGVkIHByb2Nlc3MgYW5kIHRo
ZQorICAgICAgICBQcm92aXNpb25hbFBhZ2VQcm94eSBkZXN0cnVjdG9yIHdpbGwgdGFrZSBjYXJl
IG9mIHN0b3BwaW5nIHRoYXQgcHJvdmlzaW9uYWwgbG9hZCAoZHVlIHRvCisgICAgICAgIHIyODY0
NzkpLCB3aGljaCB3aWxsIGNhdXNlIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB0byBzZW5kIGl0cyBv
d24KKyAgICAgICAgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lIElQQy4KKwogMjAyMS0x
Mi0wMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbmFtZSBEZXJpdmVkU291cmNlcy9XZWJLaXQyIHRvIERlcml2ZWRTb3VyY2VzL1dlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXgg
YzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYy4uYjM3ZmViMjliNTdjMzQ0
MTdiYzIxODAyNTM2NTU4MGRiZTIxNDIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yNDU1LDYgKzI0NTUsMTQgQEAgLSAodm9pZClf
bG9hZFNlcnZpY2VXb3JrZXI6KE5TVVJMICopdXJsICBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
XikoQk9PTCBzdWNjZXMKICAgICB9KTsKIH0KIAorLSAodm9pZClfaXNMYXllclRyZWVGcm96ZW46
KHZvaWQgKF4pKEJPT0wgZnJvemVuKSljb21wbGV0aW9uSGFuZGxlcgoreworICAgIFRIUk9XX0lG
X1NVU1BFTkRFRDsKKyAgICBfcGFnZS0+aXNMYXllclRyZWVGcm96ZW5Gb3JUZXN0aW5nKFtjb21w
bGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildKGJvb2wgaXNG
cm96ZW4pIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoaXNGcm96ZW4pOworICAgIH0pOwor
fQorCiAtICh2b2lkKV9ncmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcwogewogICAgIFRIUk9XX0lG
X1NVU1BFTkRFRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGNjNjExY2VjYmM1NTExMzQ3ZDViODBjNjIxZDc4OTE4
NThlODk2MWQuLjg5NWI0MmZlMDQxYTNkYzQwYzE2OGY2NTMwNGQ0MTRjYjFjYjBiM2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZh
dGUuaApAQCAtNDE2LDYgKzQxNiw4IEBAIGZvciB0aGlzIHByb3BlcnR5LgogCiAtICh2b2lkKV9z
dGFydEltYWdlQW5hbHlzaXM6KE5TU3RyaW5nICopaWRlbnRpZmllciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCistICh2b2lkKV9pc0xheWVy
VHJlZUZyb3plbjoodm9pZCAoXikoQk9PTCBmcm96ZW4pKWNvbXBsZXRpb25IYW5kbGVyOworCiBA
ZW5kCiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAKaW5kZXggYjVhZGZmMjIxODVmMzBmNjMyMjFjNzEx
NzNiMzQxYjE2ZGNhMjg3OS4uZjJiZWNmZTg1NTg2NTQ2N2UwOGIzMjUyYzA0ZTYxOGExNmI3YWIy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5
LmNwcApAQCAtNjcsNiArNjcsNyBAQCBQcm92aXNpb25hbFBhZ2VQcm94eTo6UHJvdmlzaW9uYWxQ
YWdlUHJveHkoV2ViUGFnZVByb3h5JiBwYWdlLCBSZWY8V2ViUHJvY2Vzc1BybwogICAgICwgbV9y
ZXF1ZXN0KHJlcXVlc3QpCiAgICAgLCBtX3Byb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQocHJv
Y2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCkKICAgICAsIG1faXNQcm9jZXNzU3dhcHBpbmdPbk5h
dmlnYXRpb25SZXNwb25zZShpc1Byb2Nlc3NTd2FwcGluZ09uTmF2aWdhdGlvblJlc3BvbnNlKQor
ICAgICwgbV9wcm92aXNpb25hbExvYWRVUkwoaXNQcm9jZXNzU3dhcHBpbmdPbk5hdmlnYXRpb25S
ZXNwb25zZSA/IHJlcXVlc3QudXJsKCkgOiBVUkwoKSkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgICwgbV9wcm92aXNpb25hbExvYWRBY3Rpdml0eShtX3Byb2Nlc3MtPnRocm90dGxlcigp
LmZvcmVncm91bmRBY3Rpdml0eSgiUHJvdmlzaW9uYWwgTG9hZCJfcykpCiAjZW5kaWYKQEAgLTI5
Niw2ICsyOTcsMTUgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUkKICAgICBBU1NFUlQoIW1fcHJv
dmlzaW9uYWxMb2FkVVJMLmlzTnVsbCgpKTsKICAgICBtX3Byb3Zpc2lvbmFsTG9hZFVSTCA9IHsg
fTsKIAorICAgIGlmIChtX2lzUHJvY2Vzc1N3YXBwaW5nT25OYXZpZ2F0aW9uUmVzcG9uc2UpIHsK
KyAgICAgICAgLy8gSWYgdGhlIHByb3Zpc2lvbmFsIGxvYWQgZmFpbHMgYW5kIHdlIHdlcmUgcHJv
Y2Vzcy1zd2FwcGluZyBvbiBuYXZpZ2F0aW9uIHJlc3BvbnNlLCB0aGVuIHdlIHNpbXBseSBkZXN0
cm95IG91cnNlbHZlcy4KKyAgICAgICAgLy8gSW4gdGhpcyBjYXNlLCB0aGUgcHJvdmlzaW9uYWwg
bG9hZCBpcyBzdGlsbCBvbmdvaW5nIGluIHRoZSBjb21taXR0ZWQgcHJvY2VzcyBhbmQgdGhlIFBy
b3Zpc2lvbmFsUGFnZVByb3h5IGRlc3RydWN0b3IKKyAgICAgICAgLy8gd2lsbCBzdG9wIGl0IGFu
ZCBjYXVzZSB0aGUgY29tbWl0dGVkIHByb2Nlc3MgdG8gc2VuZCBpdHMgb3duIERpZEZhaWxQcm92
aXNpb25hbExvYWRGb3JGcmFtZSBJUEMuCisgICAgICAgIEFTU0VSVChtX3BhZ2UucHJvdmlzaW9u
YWxQYWdlUHJveHkoKSA9PSB0aGlzKTsKKyAgICAgICAgbV9wYWdlLmRlc3Ryb3lQcm92aXNpb25h
bFBhZ2UoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIC8vIE1ha2Ugc3VyZSB0aGUg
UGFnZSdzIG1haW4gZnJhbWUncyBleHBlY3RlZFVSTCBnZXRzIGNsZWFyZWQgc2luY2Ugd2UgdXBk
YXRlZCBpdCBpbiBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZC4KICAgICBpZiAoYXV0byogcGFnZU1h
aW5GcmFtZSA9IG1fcGFnZS5tYWluRnJhbWUoKSkKICAgICAgICAgcGFnZU1haW5GcmFtZS0+ZGlk
RmFpbFByb3Zpc2lvbmFsTG9hZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggZGI3NjhhMGNlZDI3OTIxZDU5OTg3NzI1OWIxNTgzM2YwZWExZDBhOC4uOTVj
ZjZhMWI4N2VkYjc2NWZiMzg3NWI5NmZiOWI0Njk0YzY0OWI0YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zNTg3LDYgKzM1ODcsMTEgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmNvbW1pdFByb3Zpc2lvbmFsUGFnZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwg
RnJhbWVJbmZvRGF0YSYKICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmRpZENvbW1pdFByb3Zp
c2lvbmFsUGFnZShvbGRXZWJQYWdlSUQsIG1fd2ViUGFnZUlEKTsKIH0KIAordm9pZCBXZWJQYWdl
UHJveHk6OmRlc3Ryb3lQcm92aXNpb25hbFBhZ2UoKQoreworICAgIG1fcHJvdmlzaW9uYWxQYWdl
ID0gbnVsbHB0cjsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmNvbnRpbnVlTmF2aWdhdGlvbklu
TmV3UHJvY2VzcyhBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIHN0ZDo6dW5pcXVlX3B0cjxT
dXNwZW5kZWRQYWdlUHJveHk+JiYgc3VzcGVuZGVkUGFnZSwgUmVmPFdlYlByb2Nlc3NQcm94eT4m
JiBuZXdQcm9jZXNzLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50IHByb2Nlc3NTd2FwUmVx
dWVzdGVkQnlDbGllbnQsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCBzaG91bGRUcmVhdEFz
Q29udGludWluZ0xvYWQsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xpY2llcz4mJiB3ZWJzaXRlUG9s
aWNpZXMsIHN0ZDo6b3B0aW9uYWw8TmV0d29ya1Jlc291cmNlTG9hZElkZW50aWZpZXI+IGV4aXN0
aW5nTmV0d29ya1Jlc291cmNlTG9hZElkZW50aWZpZXJUb1Jlc3VtZSkKIHsKICAgICBXRUJQQUdF
UFJPWFlfUkVMRUFTRV9MT0coTG9hZGluZywgImNvbnRpbnVlTmF2aWdhdGlvbkluTmV3UHJvY2Vz
czogbmV3UHJvY2Vzc1BJRD0laSwgaGFzU3VzcGVuZGVkUGFnZT0laSIsIG5ld1Byb2Nlc3MtPnBy
b2Nlc3NJZGVudGlmaWVyKCksICEhc3VzcGVuZGVkUGFnZSk7CkBAIC0xMDgwMCw2ICsxMDgwNSwx
MSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlzcGF0Y2hBY3Rpdml0eVN0YXRlVXBkYXRlRm9yVGVz
dGluZygpCiAgICAgfSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojppc0xheWVyVHJlZUZyb3pl
bkZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3sKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OmlzTGF5
ZXJUcmVlRnJvemVuRm9yVGVzdGluZygpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Cit9
CisKIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0U3BlZWNoUmVjb2duaXRpb25QZXJtaXNzaW9u
KFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uUmVxdWVzdCYgcmVxdWVzdCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFNwZWVjaFJlY29nbml0aW9uRXJyb3I+JiYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICghbV9zcGVlY2hSZWNvZ25pdGlvblBlcm1pc3Np
b25NYW5hZ2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiMDQ1
MzlkNjAwNWQ1NDNiYzYyZmI4OTA1OTk2NDY4OTMyYTMzZTkyLi42NGVjZTMyMzA1ZmNkZGU0N2Qx
ZWVlY2Q1Y2FlYjllYTI2OGU0N2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaApAQCAtMTUwMiw2ICsxNTAyLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0T3ZlcmxheVNj
cm9sbGJhclN0eWxlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxl
Pik7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGU+IG92
ZXJsYXlTY3JvbGxiYXJTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYmFyT3ZlcmxheVN0
eWxlOyB9CiAKKyAgICB2b2lkIGlzTGF5ZXJUcmVlRnJvemVuRm9yVGVzdGluZyhDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKwogICAgIC8vIFdoZW4gdGhlIHN0YXRlIG9mIHRoZSB3
aW5kb3cgY2hhbmdlcyBzdWNoIHRoYXQgdGhlIFdlYlBhZ2UgbmVlZHMgaW1tZWRpYXRlIHVwZGF0
ZSwgdGhlIFVJUHJvY2VzcyBzZW5kcyBhIG5ldwogICAgIC8vIEFjdGl2aXR5U3RhdGVDaGFuZ2VJ
RCB0byB0aGUgV2ViUHJvY2VzcyB0aHJvdWdoIHRoZSBTZXRBY3Rpdml0eVN0YXRlIG1lc3NhZ2Uu
IFRoZSBVSVByb2Nlc3Mgd2lsbCB3YWl0IHRpbGwgaXQKICAgICAvLyByZWNlaXZlcyBhIENvbW1p
dExheWVyVHJlZSB3aGljaCBoYXMgYW4gQWN0aXZpdHlTdGF0ZUNoYW5nZUlEIGVxdWFsIHRvIG9y
IGdyZWF0ZXIgdGhhbiB0aGUgb25lIGl0IHNlbnQuCkBAIC0xNzcwLDYgKzE3NzIsNyBAQCBwdWJs
aWM6CiAKICAgICBQcm92aXNpb25hbFBhZ2VQcm94eSogcHJvdmlzaW9uYWxQYWdlUHJveHkoKSBj
b25zdCB7IHJldHVybiBtX3Byb3Zpc2lvbmFsUGFnZS5nZXQoKTsgfQogICAgIHZvaWQgY29tbWl0
UHJvdmlzaW9uYWxQYWdlKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYm
LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIGZyYW1lSGFzQ3VzdG9tQ29udGVudFByb3ZpZGVyLCBX
ZWJDb3JlOjpGcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBi
b29sIHVzZWRMZWdhY3lUTFMsIGJvb2wgY29udGFpbnNQbHVnaW5Eb2N1bWVudCwgc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpIYXNJbnNlY3VyZUNvbnRlbnQ+IGZvcmNlZEhhc0luc2VjdXJlQ29udGVu
dCwgV2ViQ29yZTo6TW91c2VFdmVudFBvbGljeSwgY29uc3QgVXNlckRhdGEmKTsKKyAgICB2b2lk
IGRlc3Ryb3lQcm92aXNpb25hbFBhZ2UoKTsKIAogICAgIC8vIExvZ2ljIHNoYXJlZCBiZXR3ZWVu
IHRoZSBXZWJQYWdlUHJveHkgYW5kIHRoZSBQcm92aXNpb25hbFBhZ2VQcm94eS4KICAgICB2b2lk
IGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVTaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94
eT4mJiwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBGcmFtZUluZm9EYXRhJiYsIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYmLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIFVSTCYmLCBVUkwmJiB1
bnJlYWNoYWJsZVVSTCwgY29uc3QgVXNlckRhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMWUxOTczYTAzMDhjMTE4NmE3YTRkMTlkZjVm
Mjc3MjA1NmZhOTBkZC4uYjU3MzQ4ZDRhMGQ3NDg2MTIxZDQ4MzQxMzk4YjY0N2RjYWQ2MWQ1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI3
ODcsNiArMjc4NywxMSBAQCB2b2lkIFdlYlBhZ2U6OnVuZnJlZXplTGF5ZXJUcmVlKExheWVyVHJl
ZUZyZWV6ZVJlYXNvbiByZWFzb24pCiAgICAgdXBkYXRlRHJhd2luZ0FyZWFMYXllclRyZWVGcmVl
emVTdGF0ZSgpOwogfQogCit2b2lkIFdlYlBhZ2U6OmlzTGF5ZXJUcmVlRnJvemVuRm9yVGVzdGlu
ZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQorewor
ICAgIGNvbXBsZXRpb25IYW5kbGVyKCEhbV9sYXllclRyZWVGcmVlemVSZWFzb25zKTsKK30KKwog
dm9pZCBXZWJQYWdlOjp1cGRhdGVEcmF3aW5nQXJlYUxheWVyVHJlZUZyZWV6ZVN0YXRlKCkKIHsK
ICAgICBpZiAoIW1fZHJhd2luZ0FyZWEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKaW5kZXggMjYyZGU2YTQyYTY5NDk1MzAyMDFjNzIzZGFlN2U0NTIyYzU3MTYy
YS4uYmIxODVhZWViMzA5ZmQ2ZGIxMzhhMzk5OGI5NDRiNzljMmNhYWMwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtODU5LDYgKzg1OSw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIGZyZWV6ZUxheWVyVHJlZShMYXllclRyZWVGcmVlemVSZWFzb24pOwog
ICAgIHZvaWQgdW5mcmVlemVMYXllclRyZWUoTGF5ZXJUcmVlRnJlZXplUmVhc29uKTsKIAorICAg
IHZvaWQgaXNMYXllclRyZWVGcm96ZW5Gb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYpOworCiAgICAgdm9pZCBtYXJrTGF5ZXJzVm9sYXRpbGUoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlciA9IHsgfSk7CiAgICAgdm9pZCBjYW5j
ZWxNYXJrTGF5ZXJzVm9sYXRpbGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMzc3MTU5MGVmZDJiNmM1ZWQ0
MDlkMmYzYzlmNTFlNTE1ZDU3MzZmZi4uOTI3NzYwZmRmNjNkMGVkMDgzNGQ5NTRmNTY1NzhiOWRh
ZWM4ZGE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00MDIsNiArNDAyLDcgQEAgR2VuZXJhdGVTeW50aGV0aWNF
ZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFu
ZFR5cGUKIAogICAgIEZyZWV6ZUxheWVyVHJlZUR1ZVRvU3dpcGVBbmltYXRpb24oKQogICAgIFVu
ZnJlZXplTGF5ZXJUcmVlRHVlVG9Td2lwZUFuaW1hdGlvbigpCisgICAgaXNMYXllclRyZWVGcm96
ZW5Gb3JUZXN0aW5nKCkgLT4gKGJvb2wgaXNGcm96ZW4pIEFzeW5jCiAKICAgICAjIFByaW50aW5n
LgogICAgIEJlZ2luUHJpbnRpbmcoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0
cnVjdCBXZWJLaXQ6OlByaW50SW5mbyBwcmludEluZm8pCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWFlNzc3OGM1MWI1M2ViZWFkNGQ4MGUwNjIy
ZjA1MjdlYzM3ZDNiNy4uN2EyNjJhMWZlODYyYjlhMGFmODJlNWFmNjFjZDkwNmEwNjNhYmYzYiAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTEyLTAzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIEFQSSB0ZXN0IGZvciBCdWcgMjMzNzgzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM3OTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZp
Z2F0aW9uLm1tOgorCiAyMDIxLTEyLTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBQZXJzaXN0IE5hdmlnYXRpb25QcmVsb2FkU3RhdGUgaW4gc2VydmljZSB3
b3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5t
bQppbmRleCBjZTM0MmZhYzU3ZjQ0MTdhODFlYmRhZWNhNDQ5ZjQ4OTg0NzVhOTU4Li5jM2U4OWFk
NWJjODQ3NGYzODZiODYyZDk4YTYwNzM4MGQ0MDUzZjIwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5h
dmlnYXRpb24ubW0KQEAgLTcyNjYsNiArNzI2Niw2OCBAQCBURVNUKFdlYlByb2Nlc3NDYWNoZSwg
Q2xlYXJXaGVuRW50ZXJpbmdDYWNoZSkKICAgICBbcHJvY2Vzc1Bvb2wgX2NsZWFyV2ViUHJvY2Vz
c0NhY2hlXTsKIH0KIAorVEVTVChQcm9jZXNzU3dhcCwgUmVzcG9uc2VQb2xpY3lEb3dubG9hZEFm
dGVyQ09PUFByb2Nlc3NTd2FwKQoreworICAgIHVzaW5nIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
OworCisgICAgSFRUUFNlcnZlciBzZXJ2ZXIoc3RkOjppbml0aWFsaXplcl9saXN0PHN0ZDo6cGFp
cjxTdHJpbmcsIEhUVFBSZXNwb25zZT4+IHsgfSwgSFRUUFNlcnZlcjo6UHJvdG9jb2w6Okh0dHBz
KTsKKyAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBzb3VyY2VIZWFkZXJzOworICAgIHNvdXJj
ZUhlYWRlcnMuYWRkKCJDb250ZW50LVR5cGUiX3MsICJ0ZXh0L2h0bWwiX3MpOworICAgIHNlcnZl
ci5hZGRSZXNwb25zZSgiL3NvdXJjZS5odG1sIl9zLCBIVFRQUmVzcG9uc2UgeyBXVEZNb3ZlKHNv
dXJjZUhlYWRlcnMpLCAiZm9vIl9zIH0pOworICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGRl
c3RpbmF0aW9uSGVhZGVyczsKKyAgICBkZXN0aW5hdGlvbkhlYWRlcnMuYWRkKCJDb250ZW50LVR5
cGUiX3MsICJ0ZXh0L2h0bWwiX3MpOworICAgIGRlc3RpbmF0aW9uSGVhZGVycy5hZGQoIkNyb3Nz
LU9yaWdpbi1PcGVuZXItUG9saWN5Il9zLCAic2FtZS1vcmlnaW4iX3MpOworICAgIHNlcnZlci5h
ZGRSZXNwb25zZSgiL2Rlc3RpbmF0aW9uLmh0bWwiX3MsIEhUVFBSZXNwb25zZSB7IFdURk1vdmUo
ZGVzdGluYXRpb25IZWFkZXJzKSwgImJhciJfcyB9KTsKKworICAgIGF1dG8gcHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uID0gcHNvblByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigpOworICAgIGF1dG8g
cHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29u
ZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8g
d2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBh
bGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9vbDpw
cm9jZXNzUG9vbC5nZXQoKV07CisgICAgZm9yIChfV0tFeHBlcmltZW50YWxGZWF0dXJlICpmZWF0
dXJlIGluIFtXS1ByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJlc10pIHsKKyAgICAgICAg
aWYgKFtmZWF0dXJlLmtleSBpc0VxdWFsVG9TdHJpbmc6QCJDcm9zc09yaWdpbk9wZW5lclBvbGlj
eUVuYWJsZWQiXSkKKyAgICAgICAgICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRpb24gcHJlZmVyZW5j
ZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1cmVdOworICAg
ICAgICBlbHNlIGlmIChbZmVhdHVyZS5rZXkgaXNFcXVhbFRvU3RyaW5nOkAiQ3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeUVuYWJsZWQiXSkKKyAgICAgICAgICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRp
b24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOmZl
YXR1cmVdOworICAgIH0KKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJh
dGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIGF1dG8gbmF2aWdhdGlvbkRl
bGVnYXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsK
KyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdl
dCgpXTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpzZXJ2
ZXIucmVxdWVzdCgiL3NvdXJjZS5odG1sIildOworICAgIFV0aWw6OnJ1bigmZG9uZSk7CisgICAg
ZG9uZSA9IGZhbHNlOworCisgICAgYXV0byBwaWQxID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVu
dGlmaWVyXTsKKworICAgIC8vIFRoZSBuZXh0IG5hdmlnYXRpb24gd2lsbCBnZXQgY29udmVydGVk
IGludG8gYSBkb3dubG9hZCB2aWEgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlLgor
ICAgIHNob3VsZENvbnZlcnRUb0Rvd25sb2FkID0gdHJ1ZTsKKworICAgIGRvbmUgPSBmYWxzZTsK
KyAgICBmYWlsZWQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpzZXJ2ZXIucmVx
dWVzdCgiL2Rlc3RpbmF0aW9uLmh0bWwiKV07CisgICAgVXRpbDo6cnVuKCZmYWlsZWQpOworICAg
IGZhaWxlZCA9IGZhbHNlOworICAgIHNob3VsZENvbnZlcnRUb0Rvd25sb2FkID0gZmFsc2U7CisK
KyAgICBhdXRvIHBpZDIgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworICAgIEVY
UEVDVF9FUShwaWQxLCBwaWQyKTsKKworICAgIC8vIFRoZSBsYXllciB0cmVlIHNob3VsZCBubyBs
b25nZXIgYmUgZnJvemVuIHNpbmNlIHRoZSBuYXZpZ2F0aW9uIGRpZG4ndCBoYXBwZW4uCisgICAg
X19ibG9jayBib29sIGlzRnJvemVuID0gdHJ1ZTsKKyAgICBkbyB7CisgICAgICAgIFV0aWw6OnNs
ZWVwKDAuMSk7CisgICAgICAgIGRvbmUgPSBmYWxzZTsKKyAgICAgICAgW3dlYlZpZXcgX2lzTGF5
ZXJUcmVlRnJvemVuOl4oQk9PTCBmcm96ZW4pIHsKKyAgICAgICAgICAgIGlzRnJvemVuID0gZnJv
emVuOworICAgICAgICAgICAgZG9uZSA9IHRydWU7CisgICAgICAgIH1dOworICAgICAgICBVdGls
OjpydW4oJmRvbmUpOworICAgIH0gd2hpbGUgKGlzRnJvemVuKTsKK30KKwogZW51bSBjbGFzcyBJ
c1NhbWVPcmlnaW4gOiBib29sIHsgTm8sIFllcyB9OwogZW51bSBjbGFzcyBEb1NlcnZlclNpZGVS
ZWRpcmVjdCA6IGJvb2wgeyBObywgWWVzIH07CiBzdGF0aWMgdm9pZCBydW5DT09QUHJvY2Vzc1N3
YXBUZXN0KGNvbnN0IGNoYXIqIHNvdXJjZUNPT1AsIGNvbnN0IGNoYXIqIHNvdXJjZUNPRVAsIGNv
bnN0IGNoYXIqIGRlc3RpbmF0aW9uQ09PUCwgY29uc3QgY2hhciogZGVzdGluYXRpb25DT0VQLCBJ
c1NhbWVPcmlnaW4gaXNTYW1lT3JpZ2luLCBEb1NlcnZlclNpZGVSZWRpcmVjdCBkb1NlcnZlclNp
ZGVSZWRpcmVjdCwgRXhwZWN0U3dhcCBleHBlY3RTd2FwKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445863</attachid>
            <date>2021-12-03 09:00:52 -0800</date>
            <delta_ts>2021-12-03 09:26:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233798-20211203090052.patch</filename>
            <type>text/plain</type>
            <size>14681</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU2ZWExZTQwYmI0YjcxNjM1
NzUxNDQ1OWViYmZjZDBkYzQ4NWYyOGUuLmRjMzg3NjljMGJlYWU4YzQ2NDk4ZmM3OGM4M2VlMmI4
NWY5NGExNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjEtMTItMDMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQVBJIHRlc3QgZm9yIEJ1ZyAy
MzM3ODMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
Mzc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBf
aXNMYXllclRyZWVGcm96ZW46XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGVzdHJveVByb3Zpc2lvbmFsUGFnZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aXNMYXllclRyZWVGcm96ZW4pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmlzTGF5ZXJUcmVlRnJv
emVuKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICBBZGQgbmV3
IFNQSSB0byBjaGVjayBpZiB0aGUgbGF5ZXIgdHJlZSBpcyBmcm96ZW4gaW4gdGhlIFdlYlByb2Nl
c3Mgc28gdGhhdCBJIGNvdWxkCisgICAgICAgIHdyaXRlIGFuIEFQSSB0ZXN0IGZvciB0aGlzLgor
CisgICAgICAgICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OlByb3Zpc2lvbmFsUGFnZVByb3h5KToKKyAg
ICAgICAgTWFrZSBzdXJlIG1fcHJvdmlzaW9uYWxMb2FkVVJMIGdldHMgaW5pdGlhbGl6ZWQgd2hl
biB0aGUgUHJvdmlzaW9uYWxQYWdlUHJveHkgZ2V0cworICAgICAgICBjb25zdHJ1Y3RlZCAqYWZ0
ZXIqIHRoZSBwcm92aXNpb25hbCBsb2FkIGhhcyBhbHJlYWR5IHN0YXJ0ZWQgKHdoaWNoIGlzIHRo
ZSBjYXNlCisgICAgICAgIHdoZW4gdGhlIHByb2Nlc3Mgc3dhcCBpcyB0cmlnZ2VyZWQgYnkgQ09P
UCkuCisKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZEZhaWxQcm92
aXNpb25hbExvYWRGb3JGcmFtZSk6CisgICAgICAgIElmIHRoZSBwcm92aXNpb25hbCBsb2FkIGxv
YWQgZmFpbHMgaW4gdGhlIHByb3Zpc2lvbmFsIHByb2Nlc3MsIGFuZCB0aGUgUHJvdmlzaW9uYWxQ
YWdlUHJveHkKKyAgICAgICAgd2FzIGNvbnN0cnVjdGVkIG9uIHJlc291cmNlIHJlc3BvbnNlIChD
T09QIGNhc2UpLCB0aGVuIG5vIGxvbmdlciBmb3J3YXJkIHRoZQorICAgICAgICBkaWRGYWlsUHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUoKSB0byB0aGUgV2ViUGFnZVByb3h5LiBJbnN0ZWFkLCB3ZSBk
ZXN0cm95IHRoZQorICAgICAgICBQcm92aXNpb25hbFBhZ2VQcm94eS4gVGhpcyBpcyB0byBhdm9p
ZCBkdXBsaWNhdGUgY2FsbHMgdG8gZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKCkuCisg
ICAgICAgIEluIHRoaXMgY2FzZSwgdGhlcmUgaXMgc3RpbGwgYSBwcm92aXNpb25hbCBsb2FkIG9u
Z29pbmcgaW4gdGhlIGNvbW1pdHRlZCBwcm9jZXNzIGFuZCB0aGUKKyAgICAgICAgUHJvdmlzaW9u
YWxQYWdlUHJveHkgZGVzdHJ1Y3RvciB3aWxsIHRha2UgY2FyZSBvZiBzdG9wcGluZyB0aGF0IHBy
b3Zpc2lvbmFsIGxvYWQgKGR1ZSB0bworICAgICAgICByMjg2NDc5KSwgd2hpY2ggd2lsbCBjYXVz
ZSB0aGUgY29tbWl0dGVkIHByb2Nlc3MgdG8gc2VuZCBpdHMgb3duCisgICAgICAgIGRpZEZhaWxQ
cm92aXNpb25hbExvYWRGb3JGcmFtZSBJUEMuCisKIDIwMjEtMTItMDMgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0MiB0byBEZXJpdmVkU291cmNlcy9XZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGM0ZWU1MjUwNzY0MmRiNGU1NGNm
YWRmN2ZlZTNiZjFiN2MwZDNkM2MuLmE3ZDZlMjVkMDJiNWIzMzg5ZDRhNWY0NTM0MDQ3ZmMyNzFk
MzY1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQpAQCAtMjQ1NSw2ICsyNDU1LDE0IEBAIC0gKHZvaWQpX2xvYWRTZXJ2aWNlV29ya2VyOihO
U1VSTCAqKXVybCAgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgc3VjY2VzCiAgICAg
fSk7CiB9CiAKKy0gKHZvaWQpX2lzTGF5ZXJUcmVlRnJvemVuOih2b2lkICheKShCT09MIGZyb3pl
bikpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBUSFJPV19JRl9TVVNQRU5ERUQ7CisgICAgX3Bh
Z2UtPmlzTGF5ZXJUcmVlRnJvemVuKFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihj
b21wbGV0aW9uSGFuZGxlcildKGJvb2wgaXNGcm96ZW4pIHsKKyAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoaXNGcm96ZW4pOworICAgIH0pOworfQorCiAtICh2b2lkKV9ncmFudEFjY2Vzc1RvQXNz
ZXRTZXJ2aWNlcwogewogICAgIFRIUk9XX0lGX1NVU1BFTkRFRDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGNjNjEx
Y2VjYmM1NTExMzQ3ZDViODBjNjIxZDc4OTE4NThlODk2MWQuLmM3OGVjYzBhNWU2MWZiNWNjYmIy
NjM2NDYyMTZjZmNhOWViOTVmYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNDE2LDYgKzQxNiw4IEBAIGZvciB0
aGlzIHByb3BlcnR5LgogCiAtICh2b2lkKV9zdGFydEltYWdlQW5hbHlzaXM6KE5TU3RyaW5nICop
aWRlbnRpZmllciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwogCistICh2b2lkKV9pc0xheWVyVHJlZUZyb3plbjoodm9pZCAoXikoQk9PTCBmcm96
ZW4pKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CisKIEBlbmQKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcAppbmRleCBi
NWFkZmYyMjE4NWYzMGY2MzIyMWM3MTE3M2IzNDFiMTZkY2EyODc5Li5mMmJlY2ZlODU1ODY1NDY3
ZTA4YjMyNTJjMDRlNjE4YTE2YjdhYjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCkBAIC02Nyw2ICs2Nyw3IEBAIFByb3Zpc2lvbmFs
UGFnZVByb3h5OjpQcm92aXNpb25hbFBhZ2VQcm94eShXZWJQYWdlUHJveHkmIHBhZ2UsIFJlZjxX
ZWJQcm9jZXNzUHJvCiAgICAgLCBtX3JlcXVlc3QocmVxdWVzdCkKICAgICAsIG1fcHJvY2Vzc1N3
YXBSZXF1ZXN0ZWRCeUNsaWVudChwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50KQogICAgICwg
bV9pc1Byb2Nlc3NTd2FwcGluZ09uTmF2aWdhdGlvblJlc3BvbnNlKGlzUHJvY2Vzc1N3YXBwaW5n
T25OYXZpZ2F0aW9uUmVzcG9uc2UpCisgICAgLCBtX3Byb3Zpc2lvbmFsTG9hZFVSTChpc1Byb2Nl
c3NTd2FwcGluZ09uTmF2aWdhdGlvblJlc3BvbnNlID8gcmVxdWVzdC51cmwoKSA6IFVSTCgpKQog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgLCBtX3Byb3Zpc2lvbmFsTG9hZEFjdGl2aXR5
KG1fcHJvY2Vzcy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJQcm92aXNpb25hbCBM
b2FkIl9zKSkKICNlbmRpZgpAQCAtMjk2LDYgKzI5NywxNSBAQCB2b2lkIFByb3Zpc2lvbmFsUGFn
ZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZy
YW1lSQogICAgIEFTU0VSVCghbV9wcm92aXNpb25hbExvYWRVUkwuaXNOdWxsKCkpOwogICAgIG1f
cHJvdmlzaW9uYWxMb2FkVVJMID0geyB9OwogCisgICAgaWYgKG1faXNQcm9jZXNzU3dhcHBpbmdP
bk5hdmlnYXRpb25SZXNwb25zZSkgeworICAgICAgICAvLyBJZiB0aGUgcHJvdmlzaW9uYWwgbG9h
ZCBmYWlscyBhbmQgd2Ugd2VyZSBwcm9jZXNzLXN3YXBwaW5nIG9uIG5hdmlnYXRpb24gcmVzcG9u
c2UsIHRoZW4gd2Ugc2ltcGx5IGRlc3Ryb3kgb3Vyc2VsdmVzLgorICAgICAgICAvLyBJbiB0aGlz
IGNhc2UsIHRoZSBwcm92aXNpb25hbCBsb2FkIGlzIHN0aWxsIG9uZ29pbmcgaW4gdGhlIGNvbW1p
dHRlZCBwcm9jZXNzIGFuZCB0aGUgUHJvdmlzaW9uYWxQYWdlUHJveHkgZGVzdHJ1Y3RvcgorICAg
ICAgICAvLyB3aWxsIHN0b3AgaXQgYW5kIGNhdXNlIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB0byBz
ZW5kIGl0cyBvd24gRGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lIElQQy4KKyAgICAgICAg
QVNTRVJUKG1fcGFnZS5wcm92aXNpb25hbFBhZ2VQcm94eSgpID09IHRoaXMpOworICAgICAgICBt
X3BhZ2UuZGVzdHJveVByb3Zpc2lvbmFsUGFnZSgpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgLy8gTWFrZSBzdXJlIHRoZSBQYWdlJ3MgbWFpbiBmcmFtZSdzIGV4cGVjdGVkVVJMIGdl
dHMgY2xlYXJlZCBzaW5jZSB3ZSB1cGRhdGVkIGl0IGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2Fk
LgogICAgIGlmIChhdXRvKiBwYWdlTWFpbkZyYW1lID0gbV9wYWdlLm1haW5GcmFtZSgpKQogICAg
ICAgICBwYWdlTWFpbkZyYW1lLT5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkYjc2OGEwY2VkMjc5MjFkNTk5ODc3
MjU5YjE1ODMzZjBlYTFkMGE4Li5hODMwMzUzNzY0MGIxOTRlMmFhYzA3ZjhjMWM1Y2Y1MTZjODU1
NWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTM1ODcs
NiArMzU4NywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y29tbWl0UHJvdmlzaW9uYWxQYWdlKEZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCBGcmFtZUluZm9EYXRhJgogICAgIG1faW5zcGVjdG9yQ29u
dHJvbGxlci0+ZGlkQ29tbWl0UHJvdmlzaW9uYWxQYWdlKG9sZFdlYlBhZ2VJRCwgbV93ZWJQYWdl
SUQpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGVzdHJveVByb3Zpc2lvbmFsUGFnZSgpCit7
CisgICAgbV9wcm92aXNpb25hbFBhZ2UgPSBudWxscHRyOworfQorCiB2b2lkIFdlYlBhZ2VQcm94
eTo6Y29udGludWVOYXZpZ2F0aW9uSW5OZXdQcm9jZXNzKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdh
dGlvbiwgc3RkOjp1bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4mJiBzdXNwZW5kZWRQYWdl
LCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIG5ld1Byb2Nlc3MsIFByb2Nlc3NTd2FwUmVxdWVzdGVk
QnlDbGllbnQgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgU2hvdWxkVHJlYXRBc0NvbnRp
bnVpbmdMb2FkIHNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCwgUmVmUHRyPEFQSTo6V2Vic2l0
ZVBvbGljaWVzPiYmIHdlYnNpdGVQb2xpY2llcywgc3RkOjpvcHRpb25hbDxOZXR3b3JrUmVzb3Vy
Y2VMb2FkSWRlbnRpZmllcj4gZXhpc3RpbmdOZXR3b3JrUmVzb3VyY2VMb2FkSWRlbnRpZmllclRv
UmVzdW1lKQogewogICAgIFdFQlBBR0VQUk9YWV9SRUxFQVNFX0xPRyhMb2FkaW5nLCAiY29udGlu
dWVOYXZpZ2F0aW9uSW5OZXdQcm9jZXNzOiBuZXdQcm9jZXNzUElEPSVpLCBoYXNTdXNwZW5kZWRQ
YWdlPSVpIiwgbmV3UHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgISFzdXNwZW5kZWRQYWdl
KTsKQEAgLTEwODAwLDYgKzEwODA1LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaXNwYXRjaEFj
dGl2aXR5U3RhdGVVcGRhdGVGb3JUZXN0aW5nKCkKICAgICB9KTsKIH0KIAordm9pZCBXZWJQYWdl
UHJveHk6OmlzTGF5ZXJUcmVlRnJvemVuKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpX
ZWJQYWdlOjppc0xheWVyVHJlZUZyb3plbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7
Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0U3BlZWNoUmVjb2duaXRpb25QZXJtaXNz
aW9uKFdlYkNvcmU6OlNwZWVjaFJlY29nbml0aW9uUmVxdWVzdCYgcmVxdWVzdCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFNwZWVjaFJlY29nbml0aW9uRXJyb3I+JiYpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICghbV9zcGVlY2hSZWNvZ25pdGlvblBlcm1p
c3Npb25NYW5hZ2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBi
MDQ1MzlkNjAwNWQ1NDNiYzYyZmI4OTA1OTk2NDY4OTMyYTMzZTkyLi41YTgzMmU1NWFjYmExODli
MzliOWU4OTdjYzFjYTE4YjdiNDg0NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtMTUwMiw2ICsxNTAyLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0T3Zlcmxh
eVNjcm9sbGJhclN0eWxlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0
eWxlPik7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGU+
IG92ZXJsYXlTY3JvbGxiYXJTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYmFyT3Zlcmxh
eVN0eWxlOyB9CiAKKyAgICB2b2lkIGlzTGF5ZXJUcmVlRnJvemVuKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpOworCiAgICAgLy8gV2hlbiB0aGUgc3RhdGUgb2YgdGhlIHdpbmRvdyBj
aGFuZ2VzIHN1Y2ggdGhhdCB0aGUgV2ViUGFnZSBuZWVkcyBpbW1lZGlhdGUgdXBkYXRlLCB0aGUg
VUlQcm9jZXNzIHNlbmRzIGEgbmV3CiAgICAgLy8gQWN0aXZpdHlTdGF0ZUNoYW5nZUlEIHRvIHRo
ZSBXZWJQcm9jZXNzIHRocm91Z2ggdGhlIFNldEFjdGl2aXR5U3RhdGUgbWVzc2FnZS4gVGhlIFVJ
UHJvY2VzcyB3aWxsIHdhaXQgdGlsbCBpdAogICAgIC8vIHJlY2VpdmVzIGEgQ29tbWl0TGF5ZXJU
cmVlIHdoaWNoIGhhcyBhbiBBY3Rpdml0eVN0YXRlQ2hhbmdlSUQgZXF1YWwgdG8gb3IgZ3JlYXRl
ciB0aGFuIHRoZSBvbmUgaXQgc2VudC4KQEAgLTE3NzAsNiArMTc3Miw3IEBAIHB1YmxpYzoKIAog
ICAgIFByb3Zpc2lvbmFsUGFnZVByb3h5KiBwcm92aXNpb25hbFBhZ2VQcm94eSgpIGNvbnN0IHsg
cmV0dXJuIG1fcHJvdmlzaW9uYWxQYWdlLmdldCgpOyB9CiAgICAgdm9pZCBjb21taXRQcm92aXNp
b25hbFBhZ2UoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBGcmFtZUluZm9EYXRhJiYsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUsIGJvb2wgZnJhbWVIYXNDdXN0b21Db250ZW50UHJvdmlkZXIsIFdlYkNvcmU6
OkZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGJvb2wgdXNl
ZExlZ2FjeVRMUywgYm9vbCBjb250YWluc1BsdWdpbkRvY3VtZW50LCBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6Okhhc0luc2VjdXJlQ29udGVudD4gZm9yY2VkSGFzSW5zZWN1cmVDb250ZW50LCBXZWJD
b3JlOjpNb3VzZUV2ZW50UG9saWN5LCBjb25zdCBVc2VyRGF0YSYpOworICAgIHZvaWQgZGVzdHJv
eVByb3Zpc2lvbmFsUGFnZSgpOwogCiAgICAgLy8gTG9naWMgc2hhcmVkIGJldHdlZW4gdGhlIFdl
YlBhZ2VQcm94eSBhbmQgdGhlIFByb3Zpc2lvbmFsUGFnZVByb3h5LgogICAgIHZvaWQgZGlkU3Rh
cnRQcm92aXNpb25hbExvYWRGb3JGcmFtZVNoYXJlZChSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmLCBX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJiwgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgVVJMJiYsIFVSTCYmIHVucmVhY2hh
YmxlVVJMLCBjb25zdCBVc2VyRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCAxZTE5NzNhMDMwOGMxMTg2YTdhNGQxOWRmNWYyNzcyMDU2
ZmE5MGRkLi5iM2IwZmJjYzc2ZTYwZjY3OGJmMWM2ZGU1MjEzMDU5OGNiMmQwMDg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjc4Nyw2ICsy
Nzg3LDExIEBAIHZvaWQgV2ViUGFnZTo6dW5mcmVlemVMYXllclRyZWUoTGF5ZXJUcmVlRnJlZXpl
UmVhc29uIHJlYXNvbikKICAgICB1cGRhdGVEcmF3aW5nQXJlYUxheWVyVHJlZUZyZWV6ZVN0YXRl
KCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6aXNMYXllclRyZWVGcm96ZW4oQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBjb21wbGV0aW9uSGFu
ZGxlcighIW1fbGF5ZXJUcmVlRnJlZXplUmVhc29ucyk7Cit9CisKIHZvaWQgV2ViUGFnZTo6dXBk
YXRlRHJhd2luZ0FyZWFMYXllclRyZWVGcmVlemVTdGF0ZSgpCiB7CiAgICAgaWYgKCFtX2RyYXdp
bmdBcmVhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4
IDI2MmRlNmE0MmE2OTQ5NTMwMjAxYzcyM2RhZTdlNDUyMmM1NzE2MmEuLjM1YzIzZmU2MDJlYjRm
OTA0MWFiYjBhOTg3ZTdkMmYwY2EwZjhiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKQEAgLTg1OSw2ICs4NTksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBm
cmVlemVMYXllclRyZWUoTGF5ZXJUcmVlRnJlZXplUmVhc29uKTsKICAgICB2b2lkIHVuZnJlZXpl
TGF5ZXJUcmVlKExheWVyVHJlZUZyZWV6ZVJlYXNvbik7CiAKKyAgICB2b2lkIGlzTGF5ZXJUcmVl
RnJvemVuKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworCiAgICAgdm9pZCBtYXJr
TGF5ZXJzVm9sYXRpbGUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlciA9IHsgfSk7CiAgICAgdm9pZCBjYW5jZWxNYXJrTGF5ZXJzVm9sYXRpbGUoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW4KaW5kZXggMzc3MTU5MGVmZDJiNmM1ZWQ0MDlkMmYzYzlmNTFlNTE1ZDU3MzZmZi4uY2Qz
ZDRkZGI2NjI0NzQzODBjMTI4ZmEwY2JmMzM3ZDMxMmQxMmYzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00MDIs
NiArNDAyLDcgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3Qg
V2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKIAogICAgIEZyZWV6ZUxheWVyVHJl
ZUR1ZVRvU3dpcGVBbmltYXRpb24oKQogICAgIFVuZnJlZXplTGF5ZXJUcmVlRHVlVG9Td2lwZUFu
aW1hdGlvbigpCisgICAgaXNMYXllclRyZWVGcm96ZW4oKSAtPiAoYm9vbCBpc0Zyb3plbikgQXN5
bmMKIAogICAgICMgUHJpbnRpbmcuCiAgICAgQmVnaW5QcmludGluZyhXZWJDb3JlOjpGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6UHJpbnRJbmZvIHByaW50SW5mbykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YWU3Nzc4
YzUxYjUzZWJlYWQ0ZDgwZTA2MjJmMDUyN2VjMzdkM2I3Li43YTI2MmExZmU4NjJiOWEwYWY4MmU1
YWY2MWNkOTA2YTA2M2FiZjNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTItMDMgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQVBJIHRlc3QgZm9yIEJ1ZyAyMzM3ODMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzc5OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkg
dGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW06CisKIDIwMjEtMTItMDMgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFBlcnNpc3QgTmF2aWdhdGlvblByZWxv
YWRTdGF0ZSBpbiBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24gZGF0YWJhc2UKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5h
dmlnYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nl
c3NTd2FwT25OYXZpZ2F0aW9uLm1tCmluZGV4IGNlMzQyZmFjNTdmNDQxN2E4MWViZGFlY2E0NDlm
NDg5ODQ3NWE5NTguLjM2ZDFjY2ZmMDgwMWM0OTUzNTllNzhkYjM3MDQ3OTY3NmFkODhmYWMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3
YXBPbk5hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQpAQCAtNzI2Niw2ICs3MjY2LDY0IEBAIFRF
U1QoV2ViUHJvY2Vzc0NhY2hlLCBDbGVhcldoZW5FbnRlcmluZ0NhY2hlKQogICAgIFtwcm9jZXNz
UG9vbCBfY2xlYXJXZWJQcm9jZXNzQ2FjaGVdOwogfQogCitURVNUKFByb2Nlc3NTd2FwLCBSZXNw
b25zZVBvbGljeURvd25sb2FkQWZ0ZXJDT09QUHJvY2Vzc1N3YXApCit7CisgICAgdXNpbmcgbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEk7CisKKyAgICBIVFRQU2VydmVyIHNlcnZlcih7CisgICAgICAg
IHsgIi9zb3VyY2UuaHRtbCIsIHsgImZvbyIgfSB9LAorICAgICAgICB7ICIvZGVzdGluYXRpb24u
aHRtbCIsIHsgeyB7ICJDb250ZW50LVR5cGUiLCAidGV4dC9odG1sIiB9LCB7ICJDcm9zcy1Pcmln
aW4tT3BlbmVyLVBvbGljeSIsICJzYW1lLW9yaWdpbiIgfSB9LCAiYmFyIiB9IH0sCisgICAgfSwg
SFRUUFNlcnZlcjo6UHJvdG9jb2w6Okh0dHBzKTsKKworICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uID0gcHNvblByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigpOworICAgIGF1dG8gcHJv
Y2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmln
dXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gd2Vi
Vmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxv
Y10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9vbDpwcm9j
ZXNzUG9vbC5nZXQoKV07CisgICAgZm9yIChfV0tFeHBlcmltZW50YWxGZWF0dXJlICpmZWF0dXJl
IGluIFtXS1ByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJlc10pIHsKKyAgICAgICAgaWYg
KFtmZWF0dXJlLmtleSBpc0VxdWFsVG9TdHJpbmc6QCJDcm9zc09yaWdpbk9wZW5lclBvbGljeUVu
YWJsZWQiXSkKKyAgICAgICAgICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNd
IF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1cmVdOworICAgICAg
ICBlbHNlIGlmIChbZmVhdHVyZS5rZXkgaXNFcXVhbFRvU3RyaW5nOkAiQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeUVuYWJsZWQiXSkKKyAgICAgICAgICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRpb24g
cHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOmZlYXR1
cmVdOworICAgIH0KKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlv
bjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVn
YXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAg
ICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgp
XTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpzZXJ2ZXIu
cmVxdWVzdCgiL3NvdXJjZS5odG1sIildOworICAgIFV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9u
ZSA9IGZhbHNlOworCisgICAgYXV0byBwaWQxID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlm
aWVyXTsKKworICAgIC8vIFRoZSBuZXh0IG5hdmlnYXRpb24gd2lsbCBnZXQgY29udmVydGVkIGlu
dG8gYSBkb3dubG9hZCB2aWEgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlLgorICAg
IHNob3VsZENvbnZlcnRUb0Rvd25sb2FkID0gdHJ1ZTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAg
ICBmYWlsZWQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpzZXJ2ZXIucmVxdWVz
dCgiL2Rlc3RpbmF0aW9uLmh0bWwiKV07CisgICAgVXRpbDo6cnVuKCZmYWlsZWQpOworICAgIGZh
aWxlZCA9IGZhbHNlOworICAgIHNob3VsZENvbnZlcnRUb0Rvd25sb2FkID0gZmFsc2U7CisKKyAg
ICBhdXRvIHBpZDIgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworICAgIEVYUEVD
VF9FUShwaWQxLCBwaWQyKTsKKworICAgIC8vIFRoZSBsYXllciB0cmVlIHNob3VsZCBubyBsb25n
ZXIgYmUgZnJvemVuIHNpbmNlIHRoZSBuYXZpZ2F0aW9uIGRpZG4ndCBoYXBwZW4uCisgICAgX19i
bG9jayBib29sIGlzRnJvemVuID0gdHJ1ZTsKKyAgICBkbyB7CisgICAgICAgIFV0aWw6OnNsZWVw
KDAuMSk7CisgICAgICAgIGRvbmUgPSBmYWxzZTsKKyAgICAgICAgW3dlYlZpZXcgX2lzTGF5ZXJU
cmVlRnJvemVuOl4oQk9PTCBmcm96ZW4pIHsKKyAgICAgICAgICAgIGlzRnJvemVuID0gZnJvemVu
OworICAgICAgICAgICAgZG9uZSA9IHRydWU7CisgICAgICAgIH1dOworICAgICAgICBVdGlsOjpy
dW4oJmRvbmUpOworICAgIH0gd2hpbGUgKGlzRnJvemVuKTsKK30KKwogZW51bSBjbGFzcyBJc1Nh
bWVPcmlnaW4gOiBib29sIHsgTm8sIFllcyB9OwogZW51bSBjbGFzcyBEb1NlcnZlclNpZGVSZWRp
cmVjdCA6IGJvb2wgeyBObywgWWVzIH07CiBzdGF0aWMgdm9pZCBydW5DT09QUHJvY2Vzc1N3YXBU
ZXN0KGNvbnN0IGNoYXIqIHNvdXJjZUNPT1AsIGNvbnN0IGNoYXIqIHNvdXJjZUNPRVAsIGNvbnN0
IGNoYXIqIGRlc3RpbmF0aW9uQ09PUCwgY29uc3QgY2hhciogZGVzdGluYXRpb25DT0VQLCBJc1Nh
bWVPcmlnaW4gaXNTYW1lT3JpZ2luLCBEb1NlcnZlclNpZGVSZWRpcmVjdCBkb1NlcnZlclNpZGVS
ZWRpcmVjdCwgRXhwZWN0U3dhcCBleHBlY3RTd2FwKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445865</attachid>
            <date>2021-12-03 09:26:43 -0800</date>
            <delta_ts>2021-12-03 09:29:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233798-20211203092643.patch</filename>
            <type>text/plain</type>
            <size>15292</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU2ZWExZTQwYmI0YjcxNjM1
NzUxNDQ1OWViYmZjZDBkYzQ4NWYyOGUuLjU1M2NkMTJjNjljMDIwZGFkMzljMzZkN2QzZWFiNzFm
ZDg4MjU2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjEtMTItMDMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBGb2xsb3ctdXAgdG8gcjI4NjQ3OSB0
byBhZGQgQVBJIHRlc3QgYW5kIGFkZHJlc3MgaXNzdWVzIGZvdW5kIGJ5IHRoZSB0ZXN0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM3OTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgZnVuY3Rpb25hbGl0
eSBuZWVkZWQgZm9yIEFQSSB0ZXN0aW5nIGFuZCBmaXggaXNzdWVzIGZvdW5kIGJ5IHRoZSBBUEkg
dGVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZv
clRlc3RpbmcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3Rp
bmcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaXNMYXllclRyZWVGcm96ZW5Gb3JUZXN0aW5n
Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRlc3Ryb3lQcm92aXNpb25hbFBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmlzTGF5ZXJUcmVlRnJvemVuKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjppc0xheWVyVHJlZUZyb3plbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgQWRkIG5ldyBTUEkgdG8gY2hl
Y2sgaWYgdGhlIGxheWVyIHRyZWUgaXMgZnJvemVuIGluIHRoZSBXZWJQcm9jZXNzIHNvIHRoYXQg
SSBjb3VsZAorICAgICAgICB3cml0ZSBhbiBBUEkgdGVzdCBmb3IgdGhpcy4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBy
b3Zpc2lvbmFsUGFnZVByb3h5OjpQcm92aXNpb25hbFBhZ2VQcm94eSk6CisgICAgICAgIE1ha2Ug
c3VyZSBtX3Byb3Zpc2lvbmFsTG9hZFVSTCBnZXRzIGluaXRpYWxpemVkIHdoZW4gdGhlIFByb3Zp
c2lvbmFsUGFnZVByb3h5IGdldHMKKyAgICAgICAgY29uc3RydWN0ZWQgKmFmdGVyKiB0aGUgcHJv
dmlzaW9uYWwgbG9hZCBoYXMgYWxyZWFkeSBzdGFydGVkICh3aGljaCBpcyB0aGUgY2FzZQorICAg
ICAgICB3aGVuIHRoZSBwcm9jZXNzIHN3YXAgaXMgdHJpZ2dlcmVkIGJ5IENPT1ApLgorCisgICAg
ICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2Fk
Rm9yRnJhbWUpOgorICAgICAgICBJZiB0aGUgcHJvdmlzaW9uYWwgbG9hZCBsb2FkIGZhaWxzIGlu
IHRoZSBwcm92aXNpb25hbCBwcm9jZXNzLCBhbmQgdGhlIFByb3Zpc2lvbmFsUGFnZVByb3h5Cisg
ICAgICAgIHdhcyBjb25zdHJ1Y3RlZCBvbiByZXNvdXJjZSByZXNwb25zZSAoQ09PUCBjYXNlKSwg
dGhlbiBubyBsb25nZXIgZm9yd2FyZCB0aGUKKyAgICAgICAgZGlkRmFpbFByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lKCkgdG8gdGhlIFdlYlBhZ2VQcm94eS4gSW5zdGVhZCwgd2UgZGVzdHJveSB0aGUK
KyAgICAgICAgUHJvdmlzaW9uYWxQYWdlUHJveHkuIFRoaXMgaXMgdG8gYXZvaWQgZHVwbGljYXRl
IGNhbGxzIHRvIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSgpLgorICAgICAgICBJbiB0
aGlzIGNhc2UsIHRoZXJlIGlzIHN0aWxsIGEgcHJvdmlzaW9uYWwgbG9hZCBvbmdvaW5nIGluIHRo
ZSBjb21taXR0ZWQgcHJvY2VzcyBhbmQgdGhlCisgICAgICAgIFByb3Zpc2lvbmFsUGFnZVByb3h5
IGRlc3RydWN0b3Igd2lsbCB0YWtlIGNhcmUgb2Ygc3RvcHBpbmcgdGhhdCBwcm92aXNpb25hbCBs
b2FkIChkdWUgdG8KKyAgICAgICAgcjI4NjQ3OSksIHdoaWNoIHdpbGwgY2F1c2UgdGhlIGNvbW1p
dHRlZCBwcm9jZXNzIHRvIHNlbmQgaXRzIG93bgorICAgICAgICBkaWRGYWlsUHJvdmlzaW9uYWxM
b2FkRm9yRnJhbWUgSVBDLgorCiAyMDIxLTEyLTAzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIERlcml2ZWRTb3VyY2VzL1dlYktpdDIg
dG8gRGVyaXZlZFNvdXJjZXMvV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCmluZGV4
IDlhOTk0NjFiNDFlNDU5NWQwZTAzNWJmYWNiMWQ3NWE2ZDgyY2EwYjMuLjRlZTgwNjAwZDU0ZDFj
MDkzMTY2NDQ3MTQwZDM5ODE4NzU0Y2RmNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5o
CkBAIC0xMTYsNiArMTE2LDggQEAgc3RydWN0IFdLQXBwUHJpdmFjeVJlcG9ydFRlc3RpbmdEYXRh
IHsKIC0gKHZvaWQpX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yRm9yVGVzdGluZzooaWQg
PF9XS01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yPilwcml2YXRlQ29vcmRpbmF0b3IgY29tcGxldGlv
bkhhbmRsZXI6KHZvaWQoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXI7CiAtICh2b2lkKV9ncHVU
b1dlYlByb2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nOih2b2lkKF4pKE5TVUludGVnZXIp
KWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CiAKKy0gKHZvaWQpX2lzTGF5ZXJUcmVlRnJvemVuRm9yVGVzdGluZzoo
dm9pZCAoXikoQk9PTCBmcm96ZW4pKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIEBlbmQKIAogdHlwZWRlZiBO
U19FTlVNKE5TSW50ZWdlciwgX1dLTWVkaWFTZXNzaW9uUmVhZHlTdGF0ZSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQpp
bmRleCBjNjkzZTU0ZTM4OTFhZjE0NGVlMWU1YzFhNzIxM2JiNmJiZGI5MDc2Li43Nzk1OGI5MmY0
YzJmM2UzZjAwMTBjOGJmZTE1NjkyMTEzZGU2MDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQpAQCAtNDI0LDYgKzQy
NCwxMyBAQCAtICh2b2lkKV9jbGVhckFwcFByaXZhY3lSZXBvcnRUZXN0aW5nRGF0YToodm9pZChe
KSh2b2lkKSljb21wbGV0aW9uSGFuZGxlcgogICAgIH0pOwogfQogCistICh2b2lkKV9pc0xheWVy
VHJlZUZyb3plbkZvclRlc3Rpbmc6KHZvaWQgKF4pKEJPT0wgZnJvemVuKSljb21wbGV0aW9uSGFu
ZGxlcgoreworICAgIF9wYWdlLT5pc0xheWVyVHJlZUZyb3plbihbY29tcGxldGlvbkhhbmRsZXIg
PSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXShib29sIGlzRnJvemVuKSB7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGlzRnJvemVuKTsKKyAgICB9KTsKK30KKwogLSAodm9pZClf
Z3B1VG9XZWJQcm9jZXNzQ29ubmVjdGlvbkNvdW50Rm9yVGVzdGluZzoodm9pZCheKShOU1VJbnRl
Z2VyKSljb21wbGV0aW9uSGFuZGxlcgogewogICAgIFJlZlB0ciBncHVQcm9jZXNzID0gX3BhZ2Ut
PnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmdwdVByb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcAppbmRleCBiNWFkZmYyMjE4NWYz
MGY2MzIyMWM3MTE3M2IzNDFiMTZkY2EyODc5Li5mMmJlY2ZlODU1ODY1NDY3ZTA4YjMyNTJjMDRl
NjE4YTE2YjdhYjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNp
b25hbFBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9u
YWxQYWdlUHJveHkuY3BwCkBAIC02Nyw2ICs2Nyw3IEBAIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpQ
cm92aXNpb25hbFBhZ2VQcm94eShXZWJQYWdlUHJveHkmIHBhZ2UsIFJlZjxXZWJQcm9jZXNzUHJv
CiAgICAgLCBtX3JlcXVlc3QocmVxdWVzdCkKICAgICAsIG1fcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRC
eUNsaWVudChwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50KQogICAgICwgbV9pc1Byb2Nlc3NT
d2FwcGluZ09uTmF2aWdhdGlvblJlc3BvbnNlKGlzUHJvY2Vzc1N3YXBwaW5nT25OYXZpZ2F0aW9u
UmVzcG9uc2UpCisgICAgLCBtX3Byb3Zpc2lvbmFsTG9hZFVSTChpc1Byb2Nlc3NTd2FwcGluZ09u
TmF2aWdhdGlvblJlc3BvbnNlID8gcmVxdWVzdC51cmwoKSA6IFVSTCgpKQogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiAgICAgLCBtX3Byb3Zpc2lvbmFsTG9hZEFjdGl2aXR5KG1fcHJvY2Vzcy0+
dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJQcm92aXNpb25hbCBMb2FkIl9zKSkKICNl
bmRpZgpAQCAtMjk2LDYgKzI5NywxNSBAQCB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSQogICAgIEFT
U0VSVCghbV9wcm92aXNpb25hbExvYWRVUkwuaXNOdWxsKCkpOwogICAgIG1fcHJvdmlzaW9uYWxM
b2FkVVJMID0geyB9OwogCisgICAgaWYgKG1faXNQcm9jZXNzU3dhcHBpbmdPbk5hdmlnYXRpb25S
ZXNwb25zZSkgeworICAgICAgICAvLyBJZiB0aGUgcHJvdmlzaW9uYWwgbG9hZCBmYWlscyBhbmQg
d2Ugd2VyZSBwcm9jZXNzLXN3YXBwaW5nIG9uIG5hdmlnYXRpb24gcmVzcG9uc2UsIHRoZW4gd2Ug
c2ltcGx5IGRlc3Ryb3kgb3Vyc2VsdmVzLgorICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHRoZSBw
cm92aXNpb25hbCBsb2FkIGlzIHN0aWxsIG9uZ29pbmcgaW4gdGhlIGNvbW1pdHRlZCBwcm9jZXNz
IGFuZCB0aGUgUHJvdmlzaW9uYWxQYWdlUHJveHkgZGVzdHJ1Y3RvcgorICAgICAgICAvLyB3aWxs
IHN0b3AgaXQgYW5kIGNhdXNlIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB0byBzZW5kIGl0cyBvd24g
RGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lIElQQy4KKyAgICAgICAgQVNTRVJUKG1fcGFn
ZS5wcm92aXNpb25hbFBhZ2VQcm94eSgpID09IHRoaXMpOworICAgICAgICBtX3BhZ2UuZGVzdHJv
eVByb3Zpc2lvbmFsUGFnZSgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgLy8gTWFr
ZSBzdXJlIHRoZSBQYWdlJ3MgbWFpbiBmcmFtZSdzIGV4cGVjdGVkVVJMIGdldHMgY2xlYXJlZCBz
aW5jZSB3ZSB1cGRhdGVkIGl0IGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkLgogICAgIGlmIChh
dXRvKiBwYWdlTWFpbkZyYW1lID0gbV9wYWdlLm1haW5GcmFtZSgpKQogICAgICAgICBwYWdlTWFp
bkZyYW1lLT5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCBkYjc2OGEwY2VkMjc5MjFkNTk5ODc3MjU5YjE1ODMzZjBl
YTFkMGE4Li5hODMwMzUzNzY0MGIxOTRlMmFhYzA3ZjhjMWM1Y2Y1MTZjODU1NWE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTM1ODcsNiArMzU4NywxMSBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6Y29tbWl0UHJvdmlzaW9uYWxQYWdlKEZyYW1lSWRlbnRpZmll
ciBmcmFtZUlELCBGcmFtZUluZm9EYXRhJgogICAgIG1faW5zcGVjdG9yQ29udHJvbGxlci0+ZGlk
Q29tbWl0UHJvdmlzaW9uYWxQYWdlKG9sZFdlYlBhZ2VJRCwgbV93ZWJQYWdlSUQpOwogfQogCit2
b2lkIFdlYlBhZ2VQcm94eTo6ZGVzdHJveVByb3Zpc2lvbmFsUGFnZSgpCit7CisgICAgbV9wcm92
aXNpb25hbFBhZ2UgPSBudWxscHRyOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6Y29udGludWVO
YXZpZ2F0aW9uSW5OZXdQcm9jZXNzKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgc3RkOjp1
bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4mJiBzdXNwZW5kZWRQYWdlLCBSZWY8V2ViUHJv
Y2Vzc1Byb3h5PiYmIG5ld1Byb2Nlc3MsIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQgcHJv
Y2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkIHNo
b3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCwgUmVmUHRyPEFQSTo6V2Vic2l0ZVBvbGljaWVzPiYm
IHdlYnNpdGVQb2xpY2llcywgc3RkOjpvcHRpb25hbDxOZXR3b3JrUmVzb3VyY2VMb2FkSWRlbnRp
Zmllcj4gZXhpc3RpbmdOZXR3b3JrUmVzb3VyY2VMb2FkSWRlbnRpZmllclRvUmVzdW1lKQogewog
ICAgIFdFQlBBR0VQUk9YWV9SRUxFQVNFX0xPRyhMb2FkaW5nLCAiY29udGludWVOYXZpZ2F0aW9u
SW5OZXdQcm9jZXNzOiBuZXdQcm9jZXNzUElEPSVpLCBoYXNTdXNwZW5kZWRQYWdlPSVpIiwgbmV3
UHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgISFzdXNwZW5kZWRQYWdlKTsKQEAgLTEwODAw
LDYgKzEwODA1LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaXNwYXRjaEFjdGl2aXR5U3RhdGVV
cGRhdGVGb3JUZXN0aW5nKCkKICAgICB9KTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmlzTGF5
ZXJUcmVlRnJvemVuKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCit7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlOjppc0xh
eWVyVHJlZUZyb3plbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisKIHZvaWQg
V2ViUGFnZVByb3h5OjpyZXF1ZXN0U3BlZWNoUmVjb2duaXRpb25QZXJtaXNzaW9uKFdlYkNvcmU6
OlNwZWVjaFJlY29nbml0aW9uUmVxdWVzdCYgcmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChzdGQ6Om9wdGlvbmFsPFNwZWVjaFJlY29nbml0aW9uRXJyb3I+JiYpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewogICAgIGlmICghbV9zcGVlY2hSZWNvZ25pdGlvblBlcm1pc3Npb25NYW5hZ2Vy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiMDQ1MzlkNjAwNWQ1
NDNiYzYyZmI4OTA1OTk2NDY4OTMyYTMzZTkyLi41YTgzMmU1NWFjYmExODliMzliOWU4OTdjYzFj
YTE4YjdiNDg0NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
MTUwMiw2ICsxNTAyLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0T3ZlcmxheVNjcm9sbGJhclN0
eWxlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlPik7CiAgICAg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGU+IG92ZXJsYXlTY3Jv
bGxiYXJTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlOyB9CiAK
KyAgICB2b2lkIGlzTGF5ZXJUcmVlRnJvemVuKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYpOworCiAgICAgLy8gV2hlbiB0aGUgc3RhdGUgb2YgdGhlIHdpbmRvdyBjaGFuZ2VzIHN1Y2gg
dGhhdCB0aGUgV2ViUGFnZSBuZWVkcyBpbW1lZGlhdGUgdXBkYXRlLCB0aGUgVUlQcm9jZXNzIHNl
bmRzIGEgbmV3CiAgICAgLy8gQWN0aXZpdHlTdGF0ZUNoYW5nZUlEIHRvIHRoZSBXZWJQcm9jZXNz
IHRocm91Z2ggdGhlIFNldEFjdGl2aXR5U3RhdGUgbWVzc2FnZS4gVGhlIFVJUHJvY2VzcyB3aWxs
IHdhaXQgdGlsbCBpdAogICAgIC8vIHJlY2VpdmVzIGEgQ29tbWl0TGF5ZXJUcmVlIHdoaWNoIGhh
cyBhbiBBY3Rpdml0eVN0YXRlQ2hhbmdlSUQgZXF1YWwgdG8gb3IgZ3JlYXRlciB0aGFuIHRoZSBv
bmUgaXQgc2VudC4KQEAgLTE3NzAsNiArMTc3Miw3IEBAIHB1YmxpYzoKIAogICAgIFByb3Zpc2lv
bmFsUGFnZVByb3h5KiBwcm92aXNpb25hbFBhZ2VQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
dmlzaW9uYWxQYWdlLmdldCgpOyB9CiAgICAgdm9pZCBjb21taXRQcm92aXNpb25hbFBhZ2UoV2Vi
Q29yZTo6RnJhbWVJZGVudGlmaWVyLCBGcmFtZUluZm9EYXRhJiYsIFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYmLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUs
IGJvb2wgZnJhbWVIYXNDdXN0b21Db250ZW50UHJvdmlkZXIsIFdlYkNvcmU6OkZyYW1lTG9hZFR5
cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGJvb2wgdXNlZExlZ2FjeVRMUywg
Ym9vbCBjb250YWluc1BsdWdpbkRvY3VtZW50LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Okhhc0lu
c2VjdXJlQ29udGVudD4gZm9yY2VkSGFzSW5zZWN1cmVDb250ZW50LCBXZWJDb3JlOjpNb3VzZUV2
ZW50UG9saWN5LCBjb25zdCBVc2VyRGF0YSYpOworICAgIHZvaWQgZGVzdHJveVByb3Zpc2lvbmFs
UGFnZSgpOwogCiAgICAgLy8gTG9naWMgc2hhcmVkIGJldHdlZW4gdGhlIFdlYlBhZ2VQcm94eSBh
bmQgdGhlIFByb3Zpc2lvbmFsUGFnZVByb3h5LgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JGcmFtZVNoYXJlZChSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmLCBXZWJDb3JlOjpGcmFt
ZUlkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYs
IHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgVVJMJiYsIFVSTCYmIHVucmVhY2hhYmxlVVJMLCBjb25z
dCBVc2VyRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAppbmRleCAxZTE5NzNhMDMwOGMxMTg2YTdhNGQxOWRmNWYyNzcyMDU2ZmE5MGRkLi5iM2Iw
ZmJjYzc2ZTYwZjY3OGJmMWM2ZGU1MjEzMDU5OGNiMmQwMDg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjc4Nyw2ICsyNzg3LDExIEBAIHZv
aWQgV2ViUGFnZTo6dW5mcmVlemVMYXllclRyZWUoTGF5ZXJUcmVlRnJlZXplUmVhc29uIHJlYXNv
bikKICAgICB1cGRhdGVEcmF3aW5nQXJlYUxheWVyVHJlZUZyZWV6ZVN0YXRlKCk7CiB9CiAKK3Zv
aWQgV2ViUGFnZTo6aXNMYXllclRyZWVGcm96ZW4oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBjb21wbGV0aW9uSGFuZGxlcighIW1fbGF5
ZXJUcmVlRnJlZXplUmVhc29ucyk7Cit9CisKIHZvaWQgV2ViUGFnZTo6dXBkYXRlRHJhd2luZ0Fy
ZWFMYXllclRyZWVGcmVlemVTdGF0ZSgpCiB7CiAgICAgaWYgKCFtX2RyYXdpbmdBcmVhKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDI2MmRlNmE0MmE2
OTQ5NTMwMjAxYzcyM2RhZTdlNDUyMmM1NzE2MmEuLjM1YzIzZmU2MDJlYjRmOTA0MWFiYjBhOTg3
ZTdkMmYwY2EwZjhiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKQEAgLTg1OSw2ICs4NTksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBmcmVlemVMYXllclRy
ZWUoTGF5ZXJUcmVlRnJlZXplUmVhc29uKTsKICAgICB2b2lkIHVuZnJlZXplTGF5ZXJUcmVlKExh
eWVyVHJlZUZyZWV6ZVJlYXNvbik7CiAKKyAgICB2b2lkIGlzTGF5ZXJUcmVlRnJvemVuKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworCiAgICAgdm9pZCBtYXJrTGF5ZXJzVm9sYXRp
bGUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlciA9IHsg
fSk7CiAgICAgdm9pZCBjYW5jZWxNYXJrTGF5ZXJzVm9sYXRpbGUoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXgg
Mzc3MTU5MGVmZDJiNmM1ZWQ0MDlkMmYzYzlmNTFlNTE1ZDU3MzZmZi4uY2QzZDRkZGI2NjI0NzQz
ODBjMTI4ZmEwY2JmMzM3ZDMxMmQxMmYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00MDIsNiArNDAyLDcgQEAg
R2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50
aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKIAogICAgIEZyZWV6ZUxheWVyVHJlZUR1ZVRvU3dpcGVB
bmltYXRpb24oKQogICAgIFVuZnJlZXplTGF5ZXJUcmVlRHVlVG9Td2lwZUFuaW1hdGlvbigpCisg
ICAgaXNMYXllclRyZWVGcm96ZW4oKSAtPiAoYm9vbCBpc0Zyb3plbikgQXN5bmMKIAogICAgICMg
UHJpbnRpbmcuCiAgICAgQmVnaW5QcmludGluZyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJh
bWVJRCwgc3RydWN0IFdlYktpdDo6UHJpbnRJbmZvIHByaW50SW5mbykKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YWU3Nzc4YzUxYjUzZWJlYWQ0
ZDgwZTA2MjJmMDUyN2VjMzdkM2I3Li4yMTZmNzA5NmNjMDdhYTAyN2QyZDkwZmFlYmJjZDExMzQ5
NTg1NGZmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTItMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBGb2xsb3ctdXAgdG8gcjI4NjQ3OSB0byBhZGQgQVBJIHRlc3QgYW5k
IGFkZHJlc3MgaXNzdWVzIGZvdW5kIGJ5IHRoZSB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM3OTgKKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
Lm1tOgorCiAyMDIxLTEyLTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBQZXJzaXN0IE5hdmlnYXRpb25QcmVsb2FkU3RhdGUgaW4gc2VydmljZSB3b3JrZXIg
cmVnaXN0cmF0aW9uIGRhdGFiYXNlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQppbmRl
eCBjZTM0MmZhYzU3ZjQ0MTdhODFlYmRhZWNhNDQ5ZjQ4OTg0NzVhOTU4Li44ZDhhNGE3NzlmMTFl
ZDA4ZjE5YmIwMzRkNDc1YjQwZDJmZmMwOGIzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRp
b24ubW0KQEAgLTcyNjYsNiArNzI2Niw2NCBAQCBURVNUKFdlYlByb2Nlc3NDYWNoZSwgQ2xlYXJX
aGVuRW50ZXJpbmdDYWNoZSkKICAgICBbcHJvY2Vzc1Bvb2wgX2NsZWFyV2ViUHJvY2Vzc0NhY2hl
XTsKIH0KIAorVEVTVChQcm9jZXNzU3dhcCwgUmVzcG9uc2VQb2xpY3lEb3dubG9hZEFmdGVyQ09P
UFByb2Nlc3NTd2FwKQoreworICAgIHVzaW5nIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJOworCisg
ICAgSFRUUFNlcnZlciBzZXJ2ZXIoeworICAgICAgICB7ICIvc291cmNlLmh0bWwiLCB7ICJmb28i
IH0gfSwKKyAgICAgICAgeyAiL2Rlc3RpbmF0aW9uLmh0bWwiLCB7IHsgeyAiQ29udGVudC1UeXBl
IiwgInRleHQvaHRtbCIgfSwgeyAiQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kiLCAic2FtZS1v
cmlnaW4iIH0gfSwgImJhciIgfSB9LAorICAgIH0sIEhUVFBTZXJ2ZXI6OlByb3RvY29sOjpIdHRw
cyk7CisKKyAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IHBzb25Qcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24oKTsKKyAgICBhdXRvIHByb2Nlc3NQb29sID0gYWRvcHROUyhbW1dLUHJv
Y2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246cHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uLmdldCgpXSk7CisKKyAgICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHRO
UyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlld0Nv
bmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wuZ2V0KCldOworICAgIGZvciAo
X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqZmVhdHVyZSBpbiBbV0tQcmVmZXJlbmNlcyBfZXhwZXJp
bWVudGFsRmVhdHVyZXNdKSB7CisgICAgICAgIGlmIChbZmVhdHVyZS5rZXkgaXNFcXVhbFRvU3Ry
aW5nOkAiQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmFibGVkIl0pCisgICAgICAgICAgICBbW3dl
YlZpZXdDb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJp
bWVudGFsRmVhdHVyZTpmZWF0dXJlXTsKKyAgICAgICAgZWxzZSBpZiAoW2ZlYXR1cmUua2V5IGlz
RXF1YWxUb1N0cmluZzpAIkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lFbmFibGVkIl0pCisgICAg
ICAgICAgICBbW3dlYlZpZXdDb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZ
RVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTpmZWF0dXJlXTsKKyAgICB9CisKKyAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0
KCldKTsKKyAgICBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdh
dGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRl
bGVnYXRlOm5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBkb25lID0gZmFsc2U7Cisg
ICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6c2VydmVyLnJlcXVlc3QoIi9zb3VyY2UuaHRtbCIpXTsK
KyAgICBVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1dG8gcGlk
MSA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisKKyAgICAvLyBUaGUgbmV4dCBu
YXZpZ2F0aW9uIHdpbGwgZ2V0IGNvbnZlcnRlZCBpbnRvIGEgZG93bmxvYWQgdmlhIGRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25SZXNwb25zZS4KKyAgICBzaG91bGRDb252ZXJ0VG9Eb3dubG9hZCA9
IHRydWU7CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgZmFpbGVkID0gZmFsc2U7CisgICAgW3dl
YlZpZXcgbG9hZFJlcXVlc3Q6c2VydmVyLnJlcXVlc3QoIi9kZXN0aW5hdGlvbi5odG1sIildOwor
ICAgIFV0aWw6OnJ1bigmZmFpbGVkKTsKKyAgICBmYWlsZWQgPSBmYWxzZTsKKyAgICBzaG91bGRD
b252ZXJ0VG9Eb3dubG9hZCA9IGZhbHNlOworCisgICAgYXV0byBwaWQyID0gW3dlYlZpZXcgX3dl
YlByb2Nlc3NJZGVudGlmaWVyXTsKKyAgICBFWFBFQ1RfRVEocGlkMSwgcGlkMik7CisKKyAgICAv
LyBUaGUgbGF5ZXIgdHJlZSBzaG91bGQgbm8gbG9uZ2VyIGJlIGZyb3plbiBzaW5jZSB0aGUgbmF2
aWdhdGlvbiBkaWRuJ3QgaGFwcGVuLgorICAgIF9fYmxvY2sgYm9vbCBpc0Zyb3plbiA9IHRydWU7
CisgICAgZG8geworICAgICAgICBVdGlsOjpzbGVlcCgwLjEpOworICAgICAgICBkb25lID0gZmFs
c2U7CisgICAgICAgIFt3ZWJWaWV3IF9pc0xheWVyVHJlZUZyb3plbkZvclRlc3Rpbmc6XihCT09M
IGZyb3plbikgeworICAgICAgICAgICAgaXNGcm96ZW4gPSBmcm96ZW47CisgICAgICAgICAgICBk
b25lID0gdHJ1ZTsKKyAgICAgICAgfV07CisgICAgICAgIFV0aWw6OnJ1bigmZG9uZSk7CisgICAg
fSB3aGlsZSAoaXNGcm96ZW4pOworfQorCiBlbnVtIGNsYXNzIElzU2FtZU9yaWdpbiA6IGJvb2wg
eyBObywgWWVzIH07CiBlbnVtIGNsYXNzIERvU2VydmVyU2lkZVJlZGlyZWN0IDogYm9vbCB7IE5v
LCBZZXMgfTsKIHN0YXRpYyB2b2lkIHJ1bkNPT1BQcm9jZXNzU3dhcFRlc3QoY29uc3QgY2hhciog
c291cmNlQ09PUCwgY29uc3QgY2hhciogc291cmNlQ09FUCwgY29uc3QgY2hhciogZGVzdGluYXRp
b25DT09QLCBjb25zdCBjaGFyKiBkZXN0aW5hdGlvbkNPRVAsIElzU2FtZU9yaWdpbiBpc1NhbWVP
cmlnaW4sIERvU2VydmVyU2lkZVJlZGlyZWN0IGRvU2VydmVyU2lkZVJlZGlyZWN0LCBFeHBlY3RT
d2FwIGV4cGVjdFN3YXApCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445866</attachid>
            <date>2021-12-03 09:30:02 -0800</date>
            <delta_ts>2021-12-03 11:39:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233798-20211203093001.patch</filename>
            <type>text/plain</type>
            <size>15292</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU2ZWExZTQwYmI0YjcxNjM1
NzUxNDQ1OWViYmZjZDBkYzQ4NWYyOGUuLjU1M2NkMTJjNjljMDIwZGFkMzljMzZkN2QzZWFiNzFm
ZDg4MjU2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjEtMTItMDMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBGb2xsb3ctdXAgdG8gcjI4NjQ3OSB0
byBhZGQgQVBJIHRlc3QgYW5kIGFkZHJlc3MgaXNzdWVzIGZvdW5kIGJ5IHRoZSB0ZXN0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM3OTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgZnVuY3Rpb25hbGl0
eSBuZWVkZWQgZm9yIEFQSSB0ZXN0aW5nIGFuZCBmaXggaXNzdWVzIGZvdW5kIGJ5IHRoZSBBUEkg
dGVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZv
clRlc3RpbmcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3Rp
bmcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaXNMYXllclRyZWVGcm96ZW5Gb3JUZXN0aW5n
Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRlc3Ryb3lQcm92aXNpb25hbFBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmlzTGF5ZXJUcmVlRnJvemVuKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjppc0xheWVyVHJlZUZyb3plbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgQWRkIG5ldyBTUEkgdG8gY2hl
Y2sgaWYgdGhlIGxheWVyIHRyZWUgaXMgZnJvemVuIGluIHRoZSBXZWJQcm9jZXNzIHNvIHRoYXQg
SSBjb3VsZAorICAgICAgICB3cml0ZSBhbiBBUEkgdGVzdCBmb3IgdGhpcy4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBy
b3Zpc2lvbmFsUGFnZVByb3h5OjpQcm92aXNpb25hbFBhZ2VQcm94eSk6CisgICAgICAgIE1ha2Ug
c3VyZSBtX3Byb3Zpc2lvbmFsTG9hZFVSTCBnZXRzIGluaXRpYWxpemVkIHdoZW4gdGhlIFByb3Zp
c2lvbmFsUGFnZVByb3h5IGdldHMKKyAgICAgICAgY29uc3RydWN0ZWQgKmFmdGVyKiB0aGUgcHJv
dmlzaW9uYWwgbG9hZCBoYXMgYWxyZWFkeSBzdGFydGVkICh3aGljaCBpcyB0aGUgY2FzZQorICAg
ICAgICB3aGVuIHRoZSBwcm9jZXNzIHN3YXAgaXMgdHJpZ2dlcmVkIGJ5IENPT1ApLgorCisgICAg
ICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2Fk
Rm9yRnJhbWUpOgorICAgICAgICBJZiB0aGUgcHJvdmlzaW9uYWwgbG9hZCBsb2FkIGZhaWxzIGlu
IHRoZSBwcm92aXNpb25hbCBwcm9jZXNzLCBhbmQgdGhlIFByb3Zpc2lvbmFsUGFnZVByb3h5Cisg
ICAgICAgIHdhcyBjb25zdHJ1Y3RlZCBvbiByZXNvdXJjZSByZXNwb25zZSAoQ09PUCBjYXNlKSwg
dGhlbiBubyBsb25nZXIgZm9yd2FyZCB0aGUKKyAgICAgICAgZGlkRmFpbFByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lKCkgdG8gdGhlIFdlYlBhZ2VQcm94eS4gSW5zdGVhZCwgd2UgZGVzdHJveSB0aGUK
KyAgICAgICAgUHJvdmlzaW9uYWxQYWdlUHJveHkuIFRoaXMgaXMgdG8gYXZvaWQgZHVwbGljYXRl
IGNhbGxzIHRvIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSgpLgorICAgICAgICBJbiB0
aGlzIGNhc2UsIHRoZXJlIGlzIHN0aWxsIGEgcHJvdmlzaW9uYWwgbG9hZCBvbmdvaW5nIGluIHRo
ZSBjb21taXR0ZWQgcHJvY2VzcyBhbmQgdGhlCisgICAgICAgIFByb3Zpc2lvbmFsUGFnZVByb3h5
IGRlc3RydWN0b3Igd2lsbCB0YWtlIGNhcmUgb2Ygc3RvcHBpbmcgdGhhdCBwcm92aXNpb25hbCBs
b2FkIChkdWUgdG8KKyAgICAgICAgcjI4NjQ3OSksIHdoaWNoIHdpbGwgY2F1c2UgdGhlIGNvbW1p
dHRlZCBwcm9jZXNzIHRvIHNlbmQgaXRzIG93bgorICAgICAgICBkaWRGYWlsUHJvdmlzaW9uYWxM
b2FkRm9yRnJhbWUgSVBDLgorCiAyMDIxLTEyLTAzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIERlcml2ZWRTb3VyY2VzL1dlYktpdDIg
dG8gRGVyaXZlZFNvdXJjZXMvV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCmluZGV4
IDlhOTk0NjFiNDFlNDU5NWQwZTAzNWJmYWNiMWQ3NWE2ZDgyY2EwYjMuLjRlZTgwNjAwZDU0ZDFj
MDkzMTY2NDQ3MTQwZDM5ODE4NzU0Y2RmNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5o
CkBAIC0xMTYsNiArMTE2LDggQEAgc3RydWN0IFdLQXBwUHJpdmFjeVJlcG9ydFRlc3RpbmdEYXRh
IHsKIC0gKHZvaWQpX2NyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yRm9yVGVzdGluZzooaWQg
PF9XS01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yPilwcml2YXRlQ29vcmRpbmF0b3IgY29tcGxldGlv
bkhhbmRsZXI6KHZvaWQoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXI7CiAtICh2b2lkKV9ncHVU
b1dlYlByb2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nOih2b2lkKF4pKE5TVUludGVnZXIp
KWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CiAKKy0gKHZvaWQpX2lzTGF5ZXJUcmVlRnJvemVuRm9yVGVzdGluZzoo
dm9pZCAoXikoQk9PTCBmcm96ZW4pKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIEBlbmQKIAogdHlwZWRlZiBO
U19FTlVNKE5TSW50ZWdlciwgX1dLTWVkaWFTZXNzaW9uUmVhZHlTdGF0ZSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQpp
bmRleCBjNjkzZTU0ZTM4OTFhZjE0NGVlMWU1YzFhNzIxM2JiNmJiZGI5MDc2Li43Nzk1OGI5MmY0
YzJmM2UzZjAwMTBjOGJmZTE1NjkyMTEzZGU2MDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQpAQCAtNDI0LDYgKzQy
NCwxMyBAQCAtICh2b2lkKV9jbGVhckFwcFByaXZhY3lSZXBvcnRUZXN0aW5nRGF0YToodm9pZChe
KSh2b2lkKSljb21wbGV0aW9uSGFuZGxlcgogICAgIH0pOwogfQogCistICh2b2lkKV9pc0xheWVy
VHJlZUZyb3plbkZvclRlc3Rpbmc6KHZvaWQgKF4pKEJPT0wgZnJvemVuKSljb21wbGV0aW9uSGFu
ZGxlcgoreworICAgIF9wYWdlLT5pc0xheWVyVHJlZUZyb3plbihbY29tcGxldGlvbkhhbmRsZXIg
PSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXShib29sIGlzRnJvemVuKSB7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGlzRnJvemVuKTsKKyAgICB9KTsKK30KKwogLSAodm9pZClf
Z3B1VG9XZWJQcm9jZXNzQ29ubmVjdGlvbkNvdW50Rm9yVGVzdGluZzoodm9pZCheKShOU1VJbnRl
Z2VyKSljb21wbGV0aW9uSGFuZGxlcgogewogICAgIFJlZlB0ciBncHVQcm9jZXNzID0gX3BhZ2Ut
PnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmdwdVByb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcAppbmRleCBiNWFkZmYyMjE4NWYz
MGY2MzIyMWM3MTE3M2IzNDFiMTZkY2EyODc5Li5mMmJlY2ZlODU1ODY1NDY3ZTA4YjMyNTJjMDRl
NjE4YTE2YjdhYjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNp
b25hbFBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9u
YWxQYWdlUHJveHkuY3BwCkBAIC02Nyw2ICs2Nyw3IEBAIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpQ
cm92aXNpb25hbFBhZ2VQcm94eShXZWJQYWdlUHJveHkmIHBhZ2UsIFJlZjxXZWJQcm9jZXNzUHJv
CiAgICAgLCBtX3JlcXVlc3QocmVxdWVzdCkKICAgICAsIG1fcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRC
eUNsaWVudChwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50KQogICAgICwgbV9pc1Byb2Nlc3NT
d2FwcGluZ09uTmF2aWdhdGlvblJlc3BvbnNlKGlzUHJvY2Vzc1N3YXBwaW5nT25OYXZpZ2F0aW9u
UmVzcG9uc2UpCisgICAgLCBtX3Byb3Zpc2lvbmFsTG9hZFVSTChpc1Byb2Nlc3NTd2FwcGluZ09u
TmF2aWdhdGlvblJlc3BvbnNlID8gcmVxdWVzdC51cmwoKSA6IFVSTCgpKQogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiAgICAgLCBtX3Byb3Zpc2lvbmFsTG9hZEFjdGl2aXR5KG1fcHJvY2Vzcy0+
dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJQcm92aXNpb25hbCBMb2FkIl9zKSkKICNl
bmRpZgpAQCAtMjk2LDYgKzI5NywxNSBAQCB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSQogICAgIEFT
U0VSVCghbV9wcm92aXNpb25hbExvYWRVUkwuaXNOdWxsKCkpOwogICAgIG1fcHJvdmlzaW9uYWxM
b2FkVVJMID0geyB9OwogCisgICAgaWYgKG1faXNQcm9jZXNzU3dhcHBpbmdPbk5hdmlnYXRpb25S
ZXNwb25zZSkgeworICAgICAgICAvLyBJZiB0aGUgcHJvdmlzaW9uYWwgbG9hZCBmYWlscyBhbmQg
d2Ugd2VyZSBwcm9jZXNzLXN3YXBwaW5nIG9uIG5hdmlnYXRpb24gcmVzcG9uc2UsIHRoZW4gd2Ug
c2ltcGx5IGRlc3Ryb3kgb3Vyc2VsdmVzLgorICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHRoZSBw
cm92aXNpb25hbCBsb2FkIGlzIHN0aWxsIG9uZ29pbmcgaW4gdGhlIGNvbW1pdHRlZCBwcm9jZXNz
IGFuZCB0aGUgUHJvdmlzaW9uYWxQYWdlUHJveHkgZGVzdHJ1Y3RvcgorICAgICAgICAvLyB3aWxs
IHN0b3AgaXQgYW5kIGNhdXNlIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB0byBzZW5kIGl0cyBvd24g
RGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lIElQQy4KKyAgICAgICAgQVNTRVJUKG1fcGFn
ZS5wcm92aXNpb25hbFBhZ2VQcm94eSgpID09IHRoaXMpOworICAgICAgICBtX3BhZ2UuZGVzdHJv
eVByb3Zpc2lvbmFsUGFnZSgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgLy8gTWFr
ZSBzdXJlIHRoZSBQYWdlJ3MgbWFpbiBmcmFtZSdzIGV4cGVjdGVkVVJMIGdldHMgY2xlYXJlZCBz
aW5jZSB3ZSB1cGRhdGVkIGl0IGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkLgogICAgIGlmIChh
dXRvKiBwYWdlTWFpbkZyYW1lID0gbV9wYWdlLm1haW5GcmFtZSgpKQogICAgICAgICBwYWdlTWFp
bkZyYW1lLT5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCBkYjc2OGEwY2VkMjc5MjFkNTk5ODc3MjU5YjE1ODMzZjBl
YTFkMGE4Li42MmQ0YjBjYmEwNTFlZDBmYmZhMmI0MmJmZWJjZjRiZDJmY2I0ZWY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTM1ODcsNiArMzU4NywxMSBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6Y29tbWl0UHJvdmlzaW9uYWxQYWdlKEZyYW1lSWRlbnRpZmll
ciBmcmFtZUlELCBGcmFtZUluZm9EYXRhJgogICAgIG1faW5zcGVjdG9yQ29udHJvbGxlci0+ZGlk
Q29tbWl0UHJvdmlzaW9uYWxQYWdlKG9sZFdlYlBhZ2VJRCwgbV93ZWJQYWdlSUQpOwogfQogCit2
b2lkIFdlYlBhZ2VQcm94eTo6ZGVzdHJveVByb3Zpc2lvbmFsUGFnZSgpCit7CisgICAgbV9wcm92
aXNpb25hbFBhZ2UgPSBudWxscHRyOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6Y29udGludWVO
YXZpZ2F0aW9uSW5OZXdQcm9jZXNzKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgc3RkOjp1
bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4mJiBzdXNwZW5kZWRQYWdlLCBSZWY8V2ViUHJv
Y2Vzc1Byb3h5PiYmIG5ld1Byb2Nlc3MsIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQgcHJv
Y2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkIHNo
b3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCwgUmVmUHRyPEFQSTo6V2Vic2l0ZVBvbGljaWVzPiYm
IHdlYnNpdGVQb2xpY2llcywgc3RkOjpvcHRpb25hbDxOZXR3b3JrUmVzb3VyY2VMb2FkSWRlbnRp
Zmllcj4gZXhpc3RpbmdOZXR3b3JrUmVzb3VyY2VMb2FkSWRlbnRpZmllclRvUmVzdW1lKQogewog
ICAgIFdFQlBBR0VQUk9YWV9SRUxFQVNFX0xPRyhMb2FkaW5nLCAiY29udGludWVOYXZpZ2F0aW9u
SW5OZXdQcm9jZXNzOiBuZXdQcm9jZXNzUElEPSVpLCBoYXNTdXNwZW5kZWRQYWdlPSVpIiwgbmV3
UHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgISFzdXNwZW5kZWRQYWdlKTsKQEAgLTEwODAw
LDYgKzEwODA1LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaXNwYXRjaEFjdGl2aXR5U3RhdGVV
cGRhdGVGb3JUZXN0aW5nKCkKICAgICB9KTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmlzTGF5
ZXJUcmVlRnJvemVuKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCit7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlOjpJc0xh
eWVyVHJlZUZyb3plbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisKIHZvaWQg
V2ViUGFnZVByb3h5OjpyZXF1ZXN0U3BlZWNoUmVjb2duaXRpb25QZXJtaXNzaW9uKFdlYkNvcmU6
OlNwZWVjaFJlY29nbml0aW9uUmVxdWVzdCYgcmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChzdGQ6Om9wdGlvbmFsPFNwZWVjaFJlY29nbml0aW9uRXJyb3I+JiYpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewogICAgIGlmICghbV9zcGVlY2hSZWNvZ25pdGlvblBlcm1pc3Npb25NYW5hZ2Vy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiMDQ1MzlkNjAwNWQ1
NDNiYzYyZmI4OTA1OTk2NDY4OTMyYTMzZTkyLi41YTgzMmU1NWFjYmExODliMzliOWU4OTdjYzFj
YTE4YjdiNDg0NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
MTUwMiw2ICsxNTAyLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0T3ZlcmxheVNjcm9sbGJhclN0
eWxlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlPik7CiAgICAg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGU+IG92ZXJsYXlTY3Jv
bGxiYXJTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlOyB9CiAK
KyAgICB2b2lkIGlzTGF5ZXJUcmVlRnJvemVuKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYpOworCiAgICAgLy8gV2hlbiB0aGUgc3RhdGUgb2YgdGhlIHdpbmRvdyBjaGFuZ2VzIHN1Y2gg
dGhhdCB0aGUgV2ViUGFnZSBuZWVkcyBpbW1lZGlhdGUgdXBkYXRlLCB0aGUgVUlQcm9jZXNzIHNl
bmRzIGEgbmV3CiAgICAgLy8gQWN0aXZpdHlTdGF0ZUNoYW5nZUlEIHRvIHRoZSBXZWJQcm9jZXNz
IHRocm91Z2ggdGhlIFNldEFjdGl2aXR5U3RhdGUgbWVzc2FnZS4gVGhlIFVJUHJvY2VzcyB3aWxs
IHdhaXQgdGlsbCBpdAogICAgIC8vIHJlY2VpdmVzIGEgQ29tbWl0TGF5ZXJUcmVlIHdoaWNoIGhh
cyBhbiBBY3Rpdml0eVN0YXRlQ2hhbmdlSUQgZXF1YWwgdG8gb3IgZ3JlYXRlciB0aGFuIHRoZSBv
bmUgaXQgc2VudC4KQEAgLTE3NzAsNiArMTc3Miw3IEBAIHB1YmxpYzoKIAogICAgIFByb3Zpc2lv
bmFsUGFnZVByb3h5KiBwcm92aXNpb25hbFBhZ2VQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
dmlzaW9uYWxQYWdlLmdldCgpOyB9CiAgICAgdm9pZCBjb21taXRQcm92aXNpb25hbFBhZ2UoV2Vi
Q29yZTo6RnJhbWVJZGVudGlmaWVyLCBGcmFtZUluZm9EYXRhJiYsIFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYmLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUs
IGJvb2wgZnJhbWVIYXNDdXN0b21Db250ZW50UHJvdmlkZXIsIFdlYkNvcmU6OkZyYW1lTG9hZFR5
cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGJvb2wgdXNlZExlZ2FjeVRMUywg
Ym9vbCBjb250YWluc1BsdWdpbkRvY3VtZW50LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Okhhc0lu
c2VjdXJlQ29udGVudD4gZm9yY2VkSGFzSW5zZWN1cmVDb250ZW50LCBXZWJDb3JlOjpNb3VzZUV2
ZW50UG9saWN5LCBjb25zdCBVc2VyRGF0YSYpOworICAgIHZvaWQgZGVzdHJveVByb3Zpc2lvbmFs
UGFnZSgpOwogCiAgICAgLy8gTG9naWMgc2hhcmVkIGJldHdlZW4gdGhlIFdlYlBhZ2VQcm94eSBh
bmQgdGhlIFByb3Zpc2lvbmFsUGFnZVByb3h5LgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JGcmFtZVNoYXJlZChSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmLCBXZWJDb3JlOjpGcmFt
ZUlkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYs
IHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgVVJMJiYsIFVSTCYmIHVucmVhY2hhYmxlVVJMLCBjb25z
dCBVc2VyRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAppbmRleCAxZTE5NzNhMDMwOGMxMTg2YTdhNGQxOWRmNWYyNzcyMDU2ZmE5MGRkLi5iM2Iw
ZmJjYzc2ZTYwZjY3OGJmMWM2ZGU1MjEzMDU5OGNiMmQwMDg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjc4Nyw2ICsyNzg3LDExIEBAIHZv
aWQgV2ViUGFnZTo6dW5mcmVlemVMYXllclRyZWUoTGF5ZXJUcmVlRnJlZXplUmVhc29uIHJlYXNv
bikKICAgICB1cGRhdGVEcmF3aW5nQXJlYUxheWVyVHJlZUZyZWV6ZVN0YXRlKCk7CiB9CiAKK3Zv
aWQgV2ViUGFnZTo6aXNMYXllclRyZWVGcm96ZW4oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBjb21wbGV0aW9uSGFuZGxlcighIW1fbGF5
ZXJUcmVlRnJlZXplUmVhc29ucyk7Cit9CisKIHZvaWQgV2ViUGFnZTo6dXBkYXRlRHJhd2luZ0Fy
ZWFMYXllclRyZWVGcmVlemVTdGF0ZSgpCiB7CiAgICAgaWYgKCFtX2RyYXdpbmdBcmVhKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDI2MmRlNmE0MmE2
OTQ5NTMwMjAxYzcyM2RhZTdlNDUyMmM1NzE2MmEuLjM1YzIzZmU2MDJlYjRmOTA0MWFiYjBhOTg3
ZTdkMmYwY2EwZjhiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKQEAgLTg1OSw2ICs4NTksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBmcmVlemVMYXllclRy
ZWUoTGF5ZXJUcmVlRnJlZXplUmVhc29uKTsKICAgICB2b2lkIHVuZnJlZXplTGF5ZXJUcmVlKExh
eWVyVHJlZUZyZWV6ZVJlYXNvbik7CiAKKyAgICB2b2lkIGlzTGF5ZXJUcmVlRnJvemVuKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworCiAgICAgdm9pZCBtYXJrTGF5ZXJzVm9sYXRp
bGUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlciA9IHsg
fSk7CiAgICAgdm9pZCBjYW5jZWxNYXJrTGF5ZXJzVm9sYXRpbGUoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXgg
Mzc3MTU5MGVmZDJiNmM1ZWQ0MDlkMmYzYzlmNTFlNTE1ZDU3MzZmZi4uODM0YjVkNDc4MjI3MDNi
ZmI5YjEwOTIyYmE5NWI1NjQ4YzJlN2FkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00MDIsNiArNDAyLDcgQEAg
R2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50
aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKIAogICAgIEZyZWV6ZUxheWVyVHJlZUR1ZVRvU3dpcGVB
bmltYXRpb24oKQogICAgIFVuZnJlZXplTGF5ZXJUcmVlRHVlVG9Td2lwZUFuaW1hdGlvbigpCisg
ICAgSXNMYXllclRyZWVGcm96ZW4oKSAtPiAoYm9vbCBpc0Zyb3plbikgQXN5bmMKIAogICAgICMg
UHJpbnRpbmcuCiAgICAgQmVnaW5QcmludGluZyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJh
bWVJRCwgc3RydWN0IFdlYktpdDo6UHJpbnRJbmZvIHByaW50SW5mbykKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YWU3Nzc4YzUxYjUzZWJlYWQ0
ZDgwZTA2MjJmMDUyN2VjMzdkM2I3Li4yMTZmNzA5NmNjMDdhYTAyN2QyZDkwZmFlYmJjZDExMzQ5
NTg1NGZmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTItMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBGb2xsb3ctdXAgdG8gcjI4NjQ3OSB0byBhZGQgQVBJIHRlc3QgYW5k
IGFkZHJlc3MgaXNzdWVzIGZvdW5kIGJ5IHRoZSB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM3OTgKKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
Lm1tOgorCiAyMDIxLTEyLTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBQZXJzaXN0IE5hdmlnYXRpb25QcmVsb2FkU3RhdGUgaW4gc2VydmljZSB3b3JrZXIg
cmVnaXN0cmF0aW9uIGRhdGFiYXNlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQppbmRl
eCBjZTM0MmZhYzU3ZjQ0MTdhODFlYmRhZWNhNDQ5ZjQ4OTg0NzVhOTU4Li44ZDhhNGE3NzlmMTFl
ZDA4ZjE5YmIwMzRkNDc1YjQwZDJmZmMwOGIzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRp
b24ubW0KQEAgLTcyNjYsNiArNzI2Niw2NCBAQCBURVNUKFdlYlByb2Nlc3NDYWNoZSwgQ2xlYXJX
aGVuRW50ZXJpbmdDYWNoZSkKICAgICBbcHJvY2Vzc1Bvb2wgX2NsZWFyV2ViUHJvY2Vzc0NhY2hl
XTsKIH0KIAorVEVTVChQcm9jZXNzU3dhcCwgUmVzcG9uc2VQb2xpY3lEb3dubG9hZEFmdGVyQ09P
UFByb2Nlc3NTd2FwKQoreworICAgIHVzaW5nIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJOworCisg
ICAgSFRUUFNlcnZlciBzZXJ2ZXIoeworICAgICAgICB7ICIvc291cmNlLmh0bWwiLCB7ICJmb28i
IH0gfSwKKyAgICAgICAgeyAiL2Rlc3RpbmF0aW9uLmh0bWwiLCB7IHsgeyAiQ29udGVudC1UeXBl
IiwgInRleHQvaHRtbCIgfSwgeyAiQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kiLCAic2FtZS1v
cmlnaW4iIH0gfSwgImJhciIgfSB9LAorICAgIH0sIEhUVFBTZXJ2ZXI6OlByb3RvY29sOjpIdHRw
cyk7CisKKyAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IHBzb25Qcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24oKTsKKyAgICBhdXRvIHByb2Nlc3NQb29sID0gYWRvcHROUyhbW1dLUHJv
Y2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246cHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uLmdldCgpXSk7CisKKyAgICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHRO
UyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlld0Nv
bmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wuZ2V0KCldOworICAgIGZvciAo
X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqZmVhdHVyZSBpbiBbV0tQcmVmZXJlbmNlcyBfZXhwZXJp
bWVudGFsRmVhdHVyZXNdKSB7CisgICAgICAgIGlmIChbZmVhdHVyZS5rZXkgaXNFcXVhbFRvU3Ry
aW5nOkAiQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmFibGVkIl0pCisgICAgICAgICAgICBbW3dl
YlZpZXdDb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJp
bWVudGFsRmVhdHVyZTpmZWF0dXJlXTsKKyAgICAgICAgZWxzZSBpZiAoW2ZlYXR1cmUua2V5IGlz
RXF1YWxUb1N0cmluZzpAIkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lFbmFibGVkIl0pCisgICAg
ICAgICAgICBbW3dlYlZpZXdDb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZ
RVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTpmZWF0dXJlXTsKKyAgICB9CisKKyAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0
KCldKTsKKyAgICBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdh
dGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRl
bGVnYXRlOm5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBkb25lID0gZmFsc2U7Cisg
ICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6c2VydmVyLnJlcXVlc3QoIi9zb3VyY2UuaHRtbCIpXTsK
KyAgICBVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1dG8gcGlk
MSA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisKKyAgICAvLyBUaGUgbmV4dCBu
YXZpZ2F0aW9uIHdpbGwgZ2V0IGNvbnZlcnRlZCBpbnRvIGEgZG93bmxvYWQgdmlhIGRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25SZXNwb25zZS4KKyAgICBzaG91bGRDb252ZXJ0VG9Eb3dubG9hZCA9
IHRydWU7CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgZmFpbGVkID0gZmFsc2U7CisgICAgW3dl
YlZpZXcgbG9hZFJlcXVlc3Q6c2VydmVyLnJlcXVlc3QoIi9kZXN0aW5hdGlvbi5odG1sIildOwor
ICAgIFV0aWw6OnJ1bigmZmFpbGVkKTsKKyAgICBmYWlsZWQgPSBmYWxzZTsKKyAgICBzaG91bGRD
b252ZXJ0VG9Eb3dubG9hZCA9IGZhbHNlOworCisgICAgYXV0byBwaWQyID0gW3dlYlZpZXcgX3dl
YlByb2Nlc3NJZGVudGlmaWVyXTsKKyAgICBFWFBFQ1RfRVEocGlkMSwgcGlkMik7CisKKyAgICAv
LyBUaGUgbGF5ZXIgdHJlZSBzaG91bGQgbm8gbG9uZ2VyIGJlIGZyb3plbiBzaW5jZSB0aGUgbmF2
aWdhdGlvbiBkaWRuJ3QgaGFwcGVuLgorICAgIF9fYmxvY2sgYm9vbCBpc0Zyb3plbiA9IHRydWU7
CisgICAgZG8geworICAgICAgICBVdGlsOjpzbGVlcCgwLjEpOworICAgICAgICBkb25lID0gZmFs
c2U7CisgICAgICAgIFt3ZWJWaWV3IF9pc0xheWVyVHJlZUZyb3plbkZvclRlc3Rpbmc6XihCT09M
IGZyb3plbikgeworICAgICAgICAgICAgaXNGcm96ZW4gPSBmcm96ZW47CisgICAgICAgICAgICBk
b25lID0gdHJ1ZTsKKyAgICAgICAgfV07CisgICAgICAgIFV0aWw6OnJ1bigmZG9uZSk7CisgICAg
fSB3aGlsZSAoaXNGcm96ZW4pOworfQorCiBlbnVtIGNsYXNzIElzU2FtZU9yaWdpbiA6IGJvb2wg
eyBObywgWWVzIH07CiBlbnVtIGNsYXNzIERvU2VydmVyU2lkZVJlZGlyZWN0IDogYm9vbCB7IE5v
LCBZZXMgfTsKIHN0YXRpYyB2b2lkIHJ1bkNPT1BQcm9jZXNzU3dhcFRlc3QoY29uc3QgY2hhciog
c291cmNlQ09PUCwgY29uc3QgY2hhciogc291cmNlQ09FUCwgY29uc3QgY2hhciogZGVzdGluYXRp
b25DT09QLCBjb25zdCBjaGFyKiBkZXN0aW5hdGlvbkNPRVAsIElzU2FtZU9yaWdpbiBpc1NhbWVP
cmlnaW4sIERvU2VydmVyU2lkZVJlZGlyZWN0IGRvU2VydmVyU2lkZVJlZGlyZWN0LCBFeHBlY3RT
d2FwIGV4cGVjdFN3YXApCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>