<?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>208626</bug_id>
          
          <creation_ts>2020-03-04 23:55:58 -0800</creation_ts>
          <short_desc>[WebAuthn] Implement SPI -[_WKWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]</short_desc>
          <delta_ts>2020-03-05 15:58:17 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>181943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1625967</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-03-04 23:55:58 -0800</bug_when>
    <thetext>Implement SPI -[_WKWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625968</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-04 23:56:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/60074148&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625973</commentid>
    <comment_count>2</comment_count>
      <attachid>392542</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-03-05 00:09:27 -0800</bug_when>
    <thetext>Created attachment 392542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626304</commentid>
    <comment_count>3</comment_count>
      <attachid>392542</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-05 14:38:15 -0800</bug_when>
    <thetext>Comment on attachment 392542
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626316</commentid>
    <comment_count>4</comment_count>
      <attachid>392542</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-03-05 15:00:16 -0800</bug_when>
    <thetext>Comment on attachment 392542
Patch

Thanks Brent for the r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626359</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 15:57:34 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 392542:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626360</commentid>
    <comment_count>6</comment_count>
      <attachid>392542</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 15:58:16 -0800</bug_when>
    <thetext>Comment on attachment 392542
Patch

Clearing flags on attachment: 392542

Committed r257954: &lt;https://trac.webkit.org/changeset/257954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626361</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 15:58:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392542</attachid>
            <date>2020-03-05 00:09:27 -0800</date>
            <delta_ts>2020-03-05 15:58:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208626-20200305000927.patch</filename>
            <type>text/plain</type>
            <size>33087</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMwYzA0NzQ2ZTVhNmExNjky
NWM5MzBiNzE1M2FiZjQxOGVlYWVhZjcuLmRlZGMyZjg2YmNmYWY5MmFjM2Y4NjFiYTc0YWE0MjRl
YzU1MmY3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDMtMDQgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIEltcGxlbWVu
dCBTUEkgLVtfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRGVsZWdhdGUgcGFuZWw6c2VsZWN0QXNz
ZXJ0aW9uUmVzcG9uc2U6c291cmNlOmNvbXBsZXRpb25IYW5kbGVyOl0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODYyNgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjAwNzQxNDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIHBhdGNoIGFkZHMgYSBwYXJhbWV0ZXIgKHNvdXJjZSkgdG8gdGhlIG9y
aWdpbmFsIFNQSSBzdWNoIHRoYXQgY2xpZW50cyBjYW4ga25vdyB3aGVyZSB0aG9zZSByZXNwb25z
ZXMgYXJlIGZyb20uCisgICAgICAgIEJlc2lkZXMgdGhhdCB0aGlzIHBhdGNoIGFsc28gY2hhbmdl
cyB0aGUgY29tcGxldGlvbkhhbmRsZXIgdG8gYWNjZXB0IGEgcG9pbnRlciBpbnN0ZWFkIG9mIGEg
cmVmZXJlbmNlIHN1Y2ggdGhhdCBjbGllbnRzCisgICAgICAgIGNhbiBwYXNzIGEgbnVsbHB0ciBh
cyBhIG5vIG9wLiBJbiBvcmRlciB0byBrZWVwIFdlYktpdFRlc3RSdW5uZXIgcnVubmluZywgdGhl
IHBhdGNoIHRoZW4gb3ZlcnJpZGVzIHRoaXMgU1BJIGluIHRoZSBDIEFQSSB0bworICAgICAgICBh
bHdheXMgcmV0dXJuIHRoZSBmaXJzdCBpdGVtLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9B
UElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9BUElXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lmg6CisgICAgICAgIChBUEk6
OldlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQ6OnNlbGVjdEFzc2VydGlvblJlc3BvbnNlIGNv
bnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdL
UGFnZVNldFBhZ2VVSUNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0b3IuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50
aWNhdG9yTWFuYWdlcjo6c2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2UpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW06
CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXV0aGVudGljYXRvcjo6Z2V0QXNzZXJ0aW9uKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGljYXRp
b25QYW5lbENsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9D
b2NvYS9XZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50OjpXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50
KToKKyAgICAgICAgKFdlYktpdDo6d2tXZWJBdXRoZW50aWNhdGlvblNvdXJjZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQ6OnNlbGVjdEFzc2VydGlvblJl
c3BvbnNlIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2Vi
QXV0aGVudGljYXRpb25GbGFncy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9maWRvL0N0YXBBdXRoZW50aWNhdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q3RhcEF1
dGhlbnRpY2F0b3I6OmNvbnRpbnVlR2V0TmV4dEFzc2VydGlvbkFmdGVyUmVzcG9uc2VSZWNlaXZl
ZCk6CisKIDIwMjAtMDMtMDQgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCBhIGJ1aWxkIGZpeCBhZnRlciByMjU3ODc3CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2ViQXV0aGVudGljYXRpb25Bc3NlcnRp
b25SZXNwb25zZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYkF1dGhlbnRp
Y2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UuaAppbmRleCA0MTc2MjA4MDVkNDNkZjdkMDc2YjQ5ZTAw
OGMyMTFjODYxZjUyOGNkLi4wMTcwMDgxODYxNzk2MjI2NGY4YTQwZGNhOWM2NDIzMjZkYTBmZmQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2ViQXV0aGVudGlj
YXRpb25Bc3NlcnRpb25SZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlLmgKQEAgLTQzLDcgKzQzLDcg
QEAgcHVibGljOgogICAgIGNvbnN0IFdURjo6U3RyaW5nJiBkaXNwbGF5TmFtZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVzcG9uc2UtPmRpc3BsYXlOYW1lKCk7IH0KICAgICBSZWZQdHI8RGF0YT4gdXNl
ckhhbmRsZSgpIGNvbnN0OwogCi0gICAgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2Vy
dGlvblJlc3BvbnNlJiByZXNwb25zZSgpIHsgcmV0dXJuIG1fcmVzcG9uc2UuZ2V0KCk7IH0KKyAg
ICBXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UqIHJlc3BvbnNlKCkgeyBy
ZXR1cm4gbV9yZXNwb25zZS5wdHIoKTsgfQogCiBwcml2YXRlOgogICAgIFdlYkF1dGhlbnRpY2F0
aW9uQXNzZXJ0aW9uUmVzcG9uc2UoUmVmPFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25S
ZXNwb25zZT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
V2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVdlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQuaAppbmRleCBjZDBkNmFiNjcwZDhm
MmZlYzY4MjkyZjE1YjczMzI5OWMwZDIyZDNmLi5mMDEyMDM5ZmEzMDc5OWJkNDQ2Yjg0OTFlODQw
NDU5OTIzYTg5MGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
V2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50LmgKQEAgLTUwLDcgKzUwLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVQYW5lbChXZWJLaXQ6OldlYkF1dGhl
bnRpY2F0aW9uU3RhdHVzKSBjb25zdCB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzbWlzc1BhbmVs
KFdlYktpdDo6V2ViQXV0aGVudGljYXRpb25SZXN1bHQpIGNvbnN0IHsgfQogICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0UGluKHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdU
Rjo6U3RyaW5nJik+JiYgY29tcGxldGlvbkhhbmRsZXIpIGNvbnN0IHsgY29tcGxldGlvbkhhbmRs
ZXIoZW1wdHlTdHJpbmcoKSk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0QXNzZXJ0aW9uUmVz
cG9uc2UoVmVjdG9yPFJlZjxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+
PiYmIHJlc3BvbnNlcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpBdXRo
ZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgY29uc3Qg
eyBBU1NFUlQoIXJlc3BvbnNlcy5pc0VtcHR5KCkpOyBjb21wbGV0aW9uSGFuZGxlcihyZXNwb25z
ZXNbMF0pOyB9CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdEFzc2VydGlvblJlc3BvbnNlKFZlY3Rv
cjxSZWY8V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4mJiByZXNwb25z
ZXMsIFdlYktpdDo6V2ViQXV0aGVudGljYXRpb25Tb3VyY2UsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKik+JiYgY29tcGxldGlv
bkhhbmRsZXIpIGNvbnN0IHsgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGVjaWRlUG9saWN5Rm9yTG9jYWxBdXRoZW50aWNhdG9yKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViS2l0OjpMb2NhbEF1dGhlbnRpY2F0b3JQb2xpY3kpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKSBjb25zdCB7IGNvbXBsZXRpb25IYW5kbGVyKFdlYktpdDo6TG9jYWxBdXRoZW50aWNh
dG9yUG9saWN5OjpEaXNhbGxvdyk7IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuY3BwCmluZGV4IDAwZjQ5MDUyZmI1OWY5Y2E4MzdjNGRiZDQxNTljY2Y5Njk5YzVl
NDMuLjJiMjQ2ZWQ4N2EyYzc2ODk5ZmRiNWVjNTQ3YjQ2MjMwZGY1ZGQ2OGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMjA4Myw5ICsyMDgzLDE4IEBAIHZv
aWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VV
SUNsaWVudEJhc2UqIHdrQ2xpZW50CiAgICAgICAgIC8vIFRoZSBjdXJyZW50IG1ldGhvZCBpcyBz
cGVjaWFsaXplZCBmb3IgV2ViS2l0VGVzdFJ1bm5lci4KICAgICAgICAgdm9pZCBydW5XZWJBdXRo
ZW50aWNhdGlvblBhbmVsKFdlYlBhZ2VQcm94eSYsIEFQSTo6V2ViQXV0aGVudGljYXRpb25QYW5l
bCYgcGFuZWwsIFdlYkZyYW1lUHJveHkmLCBGcmFtZUluZm9EYXRhJiYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViS2l0OjpXZWJBdXRoZW50aWNhdGlvblBhbmVsUmVzdWx0KT4mJiBjb21wbGV0
aW9uSGFuZGxlcikgZmluYWwKICAgICAgICAgewotICAgICAgICAgICAgY2xhc3MgUGFuZWxDbGll
bnQgOiBwdWJsaWMgQVBJOjpXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50IHsKKyAgICAgICAg
ICAgIGNsYXNzIFBhbmVsQ2xpZW50IGZpbmFsIDogcHVibGljIEFQSTo6V2ViQXV0aGVudGljYXRp
b25QYW5lbENsaWVudCB7CiAgICAgICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICAgICAgdm9p
ZCBkZWNpZGVQb2xpY3lGb3JMb2NhbEF1dGhlbnRpY2F0b3IoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJLaXQ6OkxvY2FsQXV0aGVudGljYXRvclBvbGljeSk+JiYgY29tcGxldGlvbkhhbmRsZXIp
IGNvbnN0IHsgY29tcGxldGlvbkhhbmRsZXIoV2ViS2l0OjpMb2NhbEF1dGhlbnRpY2F0b3JQb2xp
Y3k6OkFsbG93KTsgfQorICAgICAgICAgICAgICAgIHZvaWQgc2VsZWN0QXNzZXJ0aW9uUmVzcG9u
c2UoVmVjdG9yPFJlZjxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+PiYm
IHJlc3BvbnNlcywgV2ViS2l0OjpXZWJBdXRoZW50aWNhdGlvblNvdXJjZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UqKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgY29uc3QgZmluYWwKKyAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgIEFTU0VSVCghcmVzcG9uc2VzLmlzRW1wdHkoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3BvbnNlc1swXS5wdHIoKSk7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JMb2NhbEF1dGhl
bnRpY2F0b3IoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OkxvY2FsQXV0aGVudGljYXRv
clBvbGljeSk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGNvbnN0IGZpbmFsCisgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXZWJLaXQ6OkxvY2Fs
QXV0aGVudGljYXRvclBvbGljeTo6QWxsb3cpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH07CiAKICAgICAgICAgICAgIGlmICghbV9jbGllbnQucnVuV2ViQXV0aGVudGljYXRpb25Q
YW5lbCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmgKaW5kZXggODgzZGZmNDdhMTRmMjhkNmJm
ZDJlZWY3ZTJlODg0YmVlZTE5NzMwMC4uZDUxNThiZjNhZjUwZTQ4MWE5MjE2MjZiNDA5NWY2ZDA1
M2NmOTgwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oCkBAIC03Myw2ICs3MywxMSBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tMb2NhbEF1dGhlbnRpY2F0b3JQb2xpY3kpIHsK
ICAgICBfV0tMb2NhbEF1dGhlbnRpY2F0b3JQb2xpY3lEaXNhbGxvdywKIH0gV0tfQVBJX0FWQUlM
QUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAordHlwZWRlZiBOU19F
TlVNKE5TSW50ZWdlciwgX1dLV2ViQXV0aGVudGljYXRpb25Tb3VyY2UpIHsKKyAgICBfV0tXZWJB
dXRoZW50aWNhdGlvblNvdXJjZUxvY2FsLAorICAgIF9XS1dlYkF1dGhlbnRpY2F0aW9uU291cmNl
RXh0ZXJuYWwsCit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CisKIEBwcm90b2NvbCBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRGVsZWdhdGUg
PE5TT2JqZWN0PgogCiBAb3B0aW9uYWwKQEAgLTgwLDcgKzg1LDcgQEAgdHlwZWRlZiBOU19FTlVN
KE5TSW50ZWdlciwgX1dLTG9jYWxBdXRoZW50aWNhdG9yUG9saWN5KSB7CiAtICh2b2lkKXBhbmVs
OihfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsICopcGFuZWwgdXBkYXRlV2ViQXV0aGVudGljYXRp
b25QYW5lbDooX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbFVwZGF0ZSl1cGRhdGUgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpcGFu
ZWw6KF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgKilwYW5lbCBkaXNtaXNzV2ViQXV0aGVudGlj
YXRpb25QYW5lbFdpdGhSZXN1bHQ6KF9XS1dlYkF1dGhlbnRpY2F0aW9uUmVzdWx0KXJlc3VsdCBX
S19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAo
dm9pZClwYW5lbDooX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCAqKXBhbmVsIHJlcXVlc3RQSU5X
aXRoUmVtYWluaW5nUmV0cmllczooTlNVSW50ZWdlcilyZXRyaWVzIGNvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShOU1N0cmluZyAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClwYW5lbDooX1dL
V2ViQXV0aGVudGljYXRpb25QYW5lbCAqKXBhbmVsIHNlbGVjdEFzc2VydGlvblJlc3BvbnNlOihO
U0FycmF5IDwgX1dLV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZSAqPiAqKXJlc3Bv
bnNlcyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLV2ViQXV0aGVudGljYXRpb25Bc3Nl
cnRpb25SZXNwb25zZSAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClwYW5lbDooX1dLV2ViQXV0
aGVudGljYXRpb25QYW5lbCAqKXBhbmVsIHNlbGVjdEFzc2VydGlvblJlc3BvbnNlOihOU0FycmF5
IDwgX1dLV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZSAqPiAqKXJlc3BvbnNlcyBz
b3VyY2U6KF9XS1dlYkF1dGhlbnRpY2F0aW9uU291cmNlKXNvdXJjZSBjb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoX1dLV2ViQXV0aGVudGljYXRpb25Bc3NlcnRpb25SZXNwb25zZSAqKSljb21w
bGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOwogLSAodm9pZClwYW5lbDooX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCAqKXBh
bmVsIGRlY2lkZVBvbGljeUZvckxvY2FsQXV0aGVudGljYXRvcldpdGhDb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoX1dLTG9jYWxBdXRoZW50aWNhdG9yUG9saWN5IHBvbGljeSkpY29tcGxldGlv
bkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRvci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRvci5oCmluZGV4IDU2NzFhZWM3Njk3ODI2ZGQxZWUx
MzFiYWI5ZmY3ODk2YjJkNDU0ODIuLjc4ZTMyZmI4MGNmNzUxOGEzODQ3MGY0MTU5ZDM3NTkxMzAy
OGExZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZG93bmdyYWRlKEF1dGhlbnRpY2F0b3IqIGlkLCBSZWY8QXV0aGVu
dGljYXRvcj4mJiBkb3duZ3JhZGVkQXV0aGVudGljYXRvcikgPSAwOwogICAgICAgICB2aXJ0dWFs
IHZvaWQgYXV0aGVudGljYXRvclN0YXR1c1VwZGF0ZWQoV2ViQXV0aGVudGljYXRpb25TdGF0dXMp
ID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQaW4odWludDY0X3QgcmV0cmllcywg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXVEY6OlN0cmluZyYpPiYmKSA9IDA7Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBzZWxlY3RBc3NlcnRpb25SZXNwb25zZShjb25zdCBIYXNoU2V0PFJl
ZjxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+PiYsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
Jik+JiYpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHNlbGVjdEFzc2VydGlvblJlc3BvbnNl
KGNvbnN0IEhhc2hTZXQ8UmVmPFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25z
ZT4+JiwgV2ViQXV0aGVudGljYXRpb25Tb3VyY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
Q29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKik+JiYpID0gMDsKICAgICAgICAg
dmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvckxvY2FsQXV0aGVudGljYXRvcihDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKExvY2FsQXV0aGVudGljYXRvclBvbGljeSk+JiYpID0gMDsKICAgICB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdG9yTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5jcHAKaW5kZXggYzM5MTgwMWIzYzJlMDU5
MTk0YTVkYTc2Yjc5ODM0Y2FmNDcxNzA2Yi4uOTc3ODM3NTE3ZTE3MDhiZjJhYTU1MWZlNjRkNmEy
NTQwM2NkYWFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcApAQCAtMjgz
LDE1ICsyODMsMTUgQEAgdm9pZCBBdXRoZW50aWNhdG9yTWFuYWdlcjo6cmVxdWVzdFBpbih1aW50
NjRfdCByZXRyaWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGMKICAgICB9KTsKIH0KIAotdm9p
ZCBBdXRoZW50aWNhdG9yTWFuYWdlcjo6c2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2UoY29uc3QgSGFz
aFNldDxSZWY8QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4mIHJlc3BvbnNlcywgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2Um
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgQXV0aGVudGljYXRvck1hbmFnZXI6OnNlbGVj
dEFzc2VydGlvblJlc3BvbnNlKGNvbnN0IEhhc2hTZXQ8UmVmPEF1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZT4+JiByZXNwb25zZXMsIFdlYkF1dGhlbnRpY2F0aW9uU291cmNlIHNvdXJjZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UqKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBWZWN0b3I8UmVmPEF1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZT4+IHJlc3BvbnNlVmVjdG9yOwogICAgIHJlc3BvbnNlVmVjdG9yLnJlc2Vy
dmVJbml0aWFsQ2FwYWNpdHkocmVzcG9uc2VzLnNpemUoKSk7CiAgICAgZm9yIChhdXRvJiByZXNw
b25zZSA6IHJlc3BvbnNlcykKICAgICAgICAgcmVzcG9uc2VWZWN0b3IudW5jaGVja2VkQXBwZW5k
KHJlc3BvbnNlLmNvcHlSZWYoKSk7CiAKLSAgICBkaXNwYXRjaFBhbmVsQ2xpZW50Q2FsbChbcmVz
cG9uc2VzID0gV1RGTW92ZShyZXNwb25zZVZlY3RvciksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcildIChjb25zdCBBUEk6OldlYkF1dGhlbnRpY2F0aW9uUGFu
ZWwmIHBhbmVsKSBtdXRhYmxlIHsKLSAgICAgICAgcGFuZWwuY2xpZW50KCkuc2VsZWN0QXNzZXJ0
aW9uUmVzcG9uc2UoV1RGTW92ZShyZXNwb25zZXMpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CisgICAgZGlzcGF0Y2hQYW5lbENsaWVudENhbGwoW3Jlc3BvbnNlcyA9IFdURk1vdmUocmVz
cG9uc2VWZWN0b3IpLCBzb3VyY2UsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcildIChjb25zdCBBUEk6OldlYkF1dGhlbnRpY2F0aW9uUGFuZWwmIHBhbmVsKSBt
dXRhYmxlIHsKKyAgICAgICAgcGFuZWwuY2xpZW50KCkuc2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2Uo
V1RGTW92ZShyZXNwb25zZXMpLCBzb3VyY2UsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
ICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmgKaW5kZXggYmQwYjk2
ZDRjOTgwMTE5NzhhMGNhN2RlZDRkZDBkMjBjMmRiNjk5Zi4uOTgyMzM4NmI5YTE2OTg3YTJlNWZk
NWNkZWJmMmY2MjQyMTQ3MjAyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5oCkBA
IC04Miw3ICs4Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3duZ3JhZGUoQXV0aGVudGljYXRv
ciogaWQsIFJlZjxBdXRoZW50aWNhdG9yPiYmIGRvd25ncmFkZWRBdXRoZW50aWNhdG9yKSBmaW5h
bDsKICAgICB2b2lkIGF1dGhlbnRpY2F0b3JTdGF0dXNVcGRhdGVkKFdlYkF1dGhlbnRpY2F0aW9u
U3RhdHVzKSBmaW5hbDsKICAgICB2b2lkIHJlcXVlc3RQaW4odWludDY0X3QgcmV0cmllcywgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXVEY6OlN0cmluZyYpPiYmKSBmaW5hbDsKLSAgICB2
b2lkIHNlbGVjdEFzc2VydGlvblJlc3BvbnNlKGNvbnN0IEhhc2hTZXQ8UmVmPFdlYkNvcmU6OkF1
dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZT4+JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChj
b25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UmKT4mJikgZmluYWw7
CisgICAgdm9pZCBzZWxlY3RBc3NlcnRpb25SZXNwb25zZShjb25zdCBIYXNoU2V0PFJlZjxXZWJD
b3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+PiYsIFdlYkF1dGhlbnRpY2F0aW9u
U291cmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZSopPiYmKSBmaW5hbDsKICAgICB2b2lkIGRlY2lkZVBvbGljeUZvckxvY2Fs
QXV0aGVudGljYXRvcihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKExvY2FsQXV0aGVudGljYXRvclBv
bGljeSk+JiYpIGZpbmFsOwogCiAgICAgLy8gT3ZlcnJpZGVuIGJ5IE1vY2tBdXRoZW50aWNhdG9y
TWFuYWdlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbQppbmRleCBm
MWQ5NDQ1NjQ3MDA4OTFiYzBiNjZmZmU3N2RmYTZiNzY0ZjA1MmZjLi5kYThjMWIzOWZmYThhYjVm
NmNhMGMwOTc5YzlhZjM0YzliNTdmYzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRo
ZW50aWNhdG9yLm1tCkBAIC00MjMsMTcgKzQyMywxNyBAQCB2b2lkIExvY2FsQXV0aGVudGljYXRv
cjo6Z2V0QXNzZXJ0aW9uKCkKICAgICBtX2Nvbm5lY3Rpb24tPmZpbHRlclJlc3BvbnNlcyhtX2Fz
c2VydGlvblJlc3BvbnNlcyk7CiAKICAgICBpZiAoYXV0byogb2JzZXJ2ZXIgPSB0aGlzLT5vYnNl
cnZlcigpKSB7Ci0gICAgICAgIGF1dG8gY2FsbGJhY2sgPSBbdGhpcywgd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cigqdGhpcyldIChjb25zdCBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UmIHJl
c3BvbnNlKSB7CisgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBbdGhpcywgd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cigqdGhpcyldIChBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UqIHJlc3BvbnNl
KSB7CiAgICAgICAgICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogICAgICAgICAgICAg
aWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIGF1
dG8gcmV0dXJuUmVzcG9uc2UgPSBtX2Fzc2VydGlvblJlc3BvbnNlcy50YWtlKGNvbnN0X2Nhc3Q8
QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKj4oJnJlc3BvbnNlKSk7CisgICAgICAgICAg
ICBhdXRvIHJldHVyblJlc3BvbnNlID0gbV9hc3NlcnRpb25SZXNwb25zZXMudGFrZShyZXNwb25z
ZSk7CiAgICAgICAgICAgICBpZiAoIXJldHVyblJlc3BvbnNlKQogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIGNvbnRpbnVlR2V0QXNzZXJ0aW9uQWZ0ZXJSZXNwb25zZVNlbGVj
dGVkKFdURk1vdmUoKnJldHVyblJlc3BvbnNlKSk7CiAgICAgICAgIH07Ci0gICAgICAgIG9ic2Vy
dmVyLT5zZWxlY3RBc3NlcnRpb25SZXNwb25zZShtX2Fzc2VydGlvblJlc3BvbnNlcywgV1RGTW92
ZShjYWxsYmFjaykpOworICAgICAgICBvYnNlcnZlci0+c2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2Uo
bV9hc3NlcnRpb25SZXNwb25zZXMsIFdlYkF1dGhlbnRpY2F0aW9uU291cmNlOjpMb2NhbCwgV1RG
TW92ZShjYWxsYmFjaykpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0aGVudGljYXRpb25QYW5lbENs
aWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2Ev
V2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudC5oCmluZGV4IGQyZWRmZjZiZjkyMTg3ODZlNTlk
MmExNGMwMzg2MTViMDY0YzhiNTkuLjgyNzAxNjRiNmM5ODQ5N2U4NDhjMTIwMjZhMGQwYmQ2ZGFm
YmNmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9XZWJBdXRoZW50aWNhdGlvblBh
bmVsQ2xpZW50LmgKQEAgLTQ5LDcgKzQ5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVBh
bmVsKFdlYkF1dGhlbnRpY2F0aW9uU3RhdHVzKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGRpc21p
c3NQYW5lbChXZWJBdXRoZW50aWNhdGlvblJlc3VsdCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBy
ZXF1ZXN0UGluKHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdURjo6U3Ry
aW5nJik+JiYpIGNvbnN0IGZpbmFsOwotICAgIHZvaWQgc2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2Uo
VmVjdG9yPFJlZjxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+PiYmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZSYpPiYmKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNlbGVjdEFzc2VydGlvblJl
c3BvbnNlKFZlY3RvcjxSZWY8V2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
Pj4mJiwgV2ViQXV0aGVudGljYXRpb25Tb3VyY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
Q29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKik+JiYpIGNvbnN0IGZpbmFsOwog
ICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTG9jYWxBdXRoZW50aWNhdG9yKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoTG9jYWxBdXRoZW50aWNhdG9yUG9saWN5KT4mJikgY29uc3QgZmluYWw7CiAKICAg
ICBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsICptX3BhbmVsOwpAQCAtNTksNyArNTksNyBAQCBw
cml2YXRlOgogICAgICAgICBib29sIHBhbmVsVXBkYXRlV2ViQXV0aGVudGljYXRpb25QYW5lbCA6
IDE7CiAgICAgICAgIGJvb2wgcGFuZWxEaXNtaXNzV2ViQXV0aGVudGljYXRpb25QYW5lbFdpdGhS
ZXN1bHQgOiAxOwogICAgICAgICBib29sIHBhbmVsUmVxdWVzdFBpbldpdGhSZW1haW5pbmdSZXRy
aWVzQ29tcGxldGlvbkhhbmRsZXIgOiAxOwotICAgICAgICBib29sIHBhbmVsU2VsZWN0QXNzZXJ0
aW9uUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciA6IDE7CisgICAgICAgIGJvb2wgcGFuZWxTZWxl
Y3RBc3NlcnRpb25SZXNwb25zZVNvdXJjZUNvbXBsZXRpb25IYW5kbGVyIDogMTsKICAgICAgICAg
Ym9vbCBwYW5lbERlY2lkZVBvbGljeUZvckxvY2FsQXV0aGVudGljYXRvckNvbXBsZXRpb25IYW5k
bGVyIDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRob2RzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0
aW9uUGFuZWxDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9Db2NvYS9XZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50Lm1tCmluZGV4IGRiZGY1YWU1
NjNmZDgzYWUwNDNkZGMxNjI1NTgxYWE5YjhkZjdkNjYuLmM1YWEwMDcxMTY2ZjFhOWQ4Y2QwYjQw
Yjg4MTJlYTcxZjUzNDc5YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0
aGVudGljYXRpb25QYW5lbENsaWVudC5tbQpAQCAtNDgsNyArNDgsNyBAQCBXZWJBdXRoZW50aWNh
dGlvblBhbmVsQ2xpZW50OjpXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50KF9XS1dlYkF1dGhl
bnRpY2F0aW9uUAogICAgIG1fZGVsZWdhdGVNZXRob2RzLnBhbmVsVXBkYXRlV2ViQXV0aGVudGlj
YXRpb25QYW5lbCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHBhbmVs
OnVwZGF0ZVdlYkF1dGhlbnRpY2F0aW9uUGFuZWw6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
cGFuZWxEaXNtaXNzV2ViQXV0aGVudGljYXRpb25QYW5lbFdpdGhSZXN1bHQgPSBbZGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihwYW5lbDpkaXNtaXNzV2ViQXV0aGVudGljYXRp
b25QYW5lbFdpdGhSZXN1bHQ6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMucGFuZWxSZXF1ZXN0
UGluV2l0aFJlbWFpbmluZ1JldHJpZXNDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNw
b25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHBhbmVsOnJlcXVlc3RQSU5XaXRoUmVtYWluaW5nUmV0
cmllczpjb21wbGV0aW9uSGFuZGxlcjopXTsKLSAgICBtX2RlbGVnYXRlTWV0aG9kcy5wYW5lbFNl
bGVjdEFzc2VydGlvblJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihwYW5lbDpzZWxlY3RBc3NlcnRpb25SZXNwb25zZTpjb21w
bGV0aW9uSGFuZGxlcjopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy5wYW5lbFNlbGVjdEFzc2Vy
dGlvblJlc3BvbnNlU291cmNlQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihwYW5lbDpzZWxlY3RBc3NlcnRpb25SZXNwb25zZTpzb3VyY2U6
Y29tcGxldGlvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMucGFuZWxEZWNpZGVQ
b2xpY3lGb3JMb2NhbEF1dGhlbnRpY2F0b3JDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHBhbmVsOmRlY2lkZVBvbGljeUZvckxvY2FsQXV0
aGVudGljYXRvcldpdGhDb21wbGV0aW9uSGFuZGxlcjopXTsKIH0KIApAQCAtMTM3LDE4ICsxMzcs
MzAgQEAgdm9pZCBXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50OjpyZXF1ZXN0UGluKHVpbnQ2
NF90IHJldHJpZXMsIENvbXBsZXRpb25IYW5kbGUKICAgICB9KS5nZXQoKV07CiB9CiAKLXZvaWQg
V2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudDo6c2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2UoVmVj
dG9yPFJlZjxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+PiYmIHJlc3Bv
bnNlcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdG9y
QXNzZXJ0aW9uUmVzcG9uc2UmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgY29uc3QKK3N0YXRpYyBf
V0tXZWJBdXRoZW50aWNhdGlvblNvdXJjZSB3a1dlYkF1dGhlbnRpY2F0aW9uU291cmNlKFdlYkF1
dGhlbnRpY2F0aW9uU291cmNlIHJlc3VsdCkKK3sKKyAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAg
IGNhc2UgV2ViQXV0aGVudGljYXRpb25Tb3VyY2U6OkxvY2FsOgorICAgICAgICByZXR1cm4gX1dL
V2ViQXV0aGVudGljYXRpb25Tb3VyY2VMb2NhbDsKKyAgICBjYXNlIFdlYkF1dGhlbnRpY2F0aW9u
U291cmNlOjpFeHRlcm5hbDoKKyAgICAgICAgcmV0dXJuIF9XS1dlYkF1dGhlbnRpY2F0aW9uU291
cmNlRXh0ZXJuYWw7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVy
biBfV0tXZWJBdXRoZW50aWNhdGlvblNvdXJjZUxvY2FsOworfQorCit2b2lkIFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWxDbGllbnQ6OnNlbGVjdEFzc2VydGlvblJlc3BvbnNlKFZlY3RvcjxSZWY8V2Vi
Q29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4mJiByZXNwb25zZXMsIFdlYkF1
dGhlbnRpY2F0aW9uU291cmNlIHNvdXJjZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3Jl
OjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UqKT4mJiBjb21wbGV0aW9uSGFuZGxlcikg
Y29uc3QKIHsKICAgICBBU1NFUlQoIXJlc3BvbnNlcy5pc0VtcHR5KCkpOwogCi0gICAgaWYgKCFt
X2RlbGVnYXRlTWV0aG9kcy5wYW5lbFNlbGVjdEFzc2VydGlvblJlc3BvbnNlQ29tcGxldGlvbkhh
bmRsZXIpIHsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIocmVzcG9uc2VzWzBdKTsKKyAgICBp
ZiAoIW1fZGVsZWdhdGVNZXRob2RzLnBhbmVsU2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2VTb3VyY2VD
b21wbGV0aW9uSGFuZGxlcikgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGF1dG8gZGVsZWdhdGUgPSBtX2RlbGVnYXRl
LmdldCgpOwogICAgIGlmICghZGVsZWdhdGUpIHsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
cmVzcG9uc2VzWzBdKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE1NywxMSArMTY5LDE2IEBAIHZvaWQgV2ViQXV0aGVu
dGljYXRpb25QYW5lbENsaWVudDo6c2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2UoVmVjdG9yPFJlZjxX
ZWJDb3JlOjpBCiAgICAgZm9yIChhdXRvJiByZXNwb25zZSA6IHJlc3BvbnNlcykKICAgICAgICAg
YXBpUmVzcG9uc2VzLnVuY2hlY2tlZEFwcGVuZChBUEk6OldlYkF1dGhlbnRpY2F0aW9uQXNzZXJ0
aW9uUmVzcG9uc2U6OmNyZWF0ZShyZXNwb25zZS5jb3B5UmVmKCkpKTsKIAotICAgIGF1dG8gY2hl
Y2tlciA9IENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZS5nZXQo
KSwgQHNlbGVjdG9yKHBhbmVsOnNlbGVjdEFzc2VydGlvblJlc3BvbnNlOmNvbXBsZXRpb25IYW5k
bGVyOikpOwotICAgIFtkZWxlZ2F0ZSBwYW5lbDptX3BhbmVsIHNlbGVjdEFzc2VydGlvblJlc3Bv
bnNlOndyYXBwZXIoQVBJOjpBcnJheTo6Y3JlYXRlKFdURk1vdmUoYXBpUmVzcG9uc2VzKSkpIGNv
bXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSwgY2hlY2tlciA9IFdURk1vdmUoY2hlY2tlcildKF9XS1dlYkF1
dGhlbnRpY2F0aW9uQXNzZXJ0aW9uUmVzcG9uc2UgKnJlc3BvbnNlKSBtdXRhYmxlIHsKKyAgICBh
dXRvIGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdh
dGUuZ2V0KCksIEBzZWxlY3RvcihwYW5lbDpzZWxlY3RBc3NlcnRpb25SZXNwb25zZTpzb3VyY2U6
Y29tcGxldGlvbkhhbmRsZXI6KSk7CisgICAgW2RlbGVnYXRlIHBhbmVsOm1fcGFuZWwgc2VsZWN0
QXNzZXJ0aW9uUmVzcG9uc2U6d3JhcHBlcihBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShhcGlS
ZXNwb25zZXMpKSkgc291cmNlOndrV2ViQXV0aGVudGljYXRpb25Tb3VyY2Uoc291cmNlKSBjb21w
bGV0aW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3ZlKGNoZWNrZXIpXShfV0tXZWJBdXRo
ZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlICpyZXNwb25zZSkgbXV0YWJsZSB7CiAgICAgICAg
IGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxsZWQoKSkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgY2hlY2tlci0+ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCk7
CisKKyAgICAgICAgaWYgKCFyZXNwb25zZSkgeworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIobnVsbHB0cik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoc3RhdGljX2Nhc3Q8QVBJOjpXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlv
blJlc3BvbnNlJj4oW3Jlc3BvbnNlIF9hcGlPYmplY3RdKS5yZXNwb25zZSgpKTsKICAgICB9KS5n
ZXQoKV07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvbkZsYWdzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvbkZsYWdzLmgKaW5kZXggNjU4ZWVi
Y2JkNTc2ZTEyYjI1NDdmZjUyOGMyNTViZTFkZTg0ZDY0MS4uY2IwNjVhOWNkMDMyYzllNWEyZTdk
OWIyNGZmMjI5MDE0ZDVlM2E4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRpb25GbGFncy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uRmxhZ3Mu
aApAQCAtNTYsNiArNTYsMTEgQEAgZW51bSBjbGFzcyBMb2NhbEF1dGhlbnRpY2F0b3JQb2xpY3kg
OiBib29sIHsKICAgICBEaXNhbGxvdwogfTsKIAorZW51bSBjbGFzcyBXZWJBdXRoZW50aWNhdGlv
blNvdXJjZSA6IGJvb2wgeworICAgIExvY2FsLAorICAgIEV4dGVybmFsCit9OworCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9maWRvL0N0YXBBdXRo
ZW50aWNhdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L2ZpZG8vQ3RhcEF1dGhlbnRpY2F0b3IuY3BwCmluZGV4IDdlMDRhY2I1OTZlZDhmMDhmYTRlNWMz
NGE0OTU3OGQ5NTdkZjNkMmEuLjQxZThkNWFiYmNjZTc2NjQ3NGYzZGIwODY1NTEwMTgwY2U1NTY5
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L2ZpZG8vQ3RhcEF1dGhlbnRpY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL2ZpZG8vQ3RhcEF1dGhlbnRpY2F0b3IuY3BwCkBAIC0xOTcsMTEg
KzE5NywxMSBAQCB2b2lkIEN0YXBBdXRoZW50aWNhdG9yOjpjb250aW51ZUdldE5leHRBc3NlcnRp
b25BZnRlclJlc3BvbnNlUmVjZWl2ZWQoVmVjdG9yPHVpbgogCiAgICAgaWYgKCFtX3JlbWFpbmlu
Z0Fzc2VydGlvblJlc3BvbnNlcykgewogICAgICAgICBpZiAoYXV0byogb2JzZXJ2ZXIgPSB0aGlz
LT5vYnNlcnZlcigpKSB7Ci0gICAgICAgICAgICBvYnNlcnZlci0+c2VsZWN0QXNzZXJ0aW9uUmVz
cG9uc2UobV9hc3NlcnRpb25SZXNwb25zZXMsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRy
KCp0aGlzKV0gKGNvbnN0IEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSYgcmVzcG9uc2Up
IHsKKyAgICAgICAgICAgIG9ic2VydmVyLT5zZWxlY3RBc3NlcnRpb25SZXNwb25zZShtX2Fzc2Vy
dGlvblJlc3BvbnNlcywgV2ViQXV0aGVudGljYXRpb25Tb3VyY2U6OkV4dGVybmFsLCBbdGhpcywg
d2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldIChBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UqIHJlc3BvbnNlKSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFp
bigpKTsKICAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICAgICAgYXV0byByZXR1cm5SZXNwb25zZSA9IG1fYXNzZXJ0
aW9uUmVzcG9uc2VzLnRha2UoY29uc3RfY2FzdDxBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9u
c2UqPigmcmVzcG9uc2UpKTsKKyAgICAgICAgICAgICAgICBhdXRvIHJldHVyblJlc3BvbnNlID0g
bV9hc3NlcnRpb25SZXNwb25zZXMudGFrZShyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgaWYg
KCFyZXR1cm5SZXNwb25zZSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgICAgIHJlY2VpdmVSZXNwb25kKFdURk1vdmUoKnJldHVyblJlc3BvbnNlKSk7CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTU3MDZkYzMyMTk3
ZWUxZDk0MzFlYjgzNzJiOTc5NGI0OGJlZDIwOS4uN2IwYzg3OWU3NTA1M2UwYzQ4NjMxMTc2ZTI3
MDliZmQzZTA2MWE3ZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAzLTA0ICBKaWV3ZW4gVGFuICA8amlld2Vu
X3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhuXSBJbXBsZW1lbnQgU1BJIC1bX1dL
V2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRlIHBhbmVsOnNlbGVjdEFzc2VydGlvblJlc3Bv
bnNlOnNvdXJjZTpjb21wbGV0aW9uSGFuZGxlcjpdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg2MjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYw
MDc0MTQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50
aWNhdGlvblBhbmVsLm1tOgorICAgICAgICAoLVtUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbERl
bGVnYXRlIHBhbmVsOnNlbGVjdEFzc2VydGlvblJlc3BvbnNlOnNvdXJjZTpjb21wbGV0aW9uSGFu
ZGxlcjpdKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAoLVtUZXN0
V2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRlIHBhbmVsOnNlbGVjdEFzc2VydGlvblJlc3Bv
bnNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBEZWxldGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlk
LW11bHRpcGxlLWFjY291bnRzLmh0bWw6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS5odG1sOiBBZGRl
ZC4KKwogMjAyMC0wMy0wNCAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW2J1aWxkLndlYmtpdC5vcmddIFJlbW92ZSBsZWFrcyBxdWV1ZQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCAyZWFiZDRjNDA0NDA2ZTNiYmVjYzFiZDYyYmQ5YzA1YzlhOWI0Yzg5
Li44NGM4NmRmZWMzYjM4NThjYzk1YmE2NjI0M2QyYjFmZTY4ZGIwMDY3IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMzQ1LDYgKzM0NSw3IEBACiAJCTU3MUY3RkQwMUYyOTYxRkIwMDk0NjY0
OCAvKiBJbmRleGVkREJTdHJ1Y3R1cmVkQ2xvbmVCYWNrd2FyZENvbXBhdGliaWxpdHkuc3FsaXRl
My13YWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTcxRjdGQ0YxRjI5NjFFMTAwOTQ2NjQ4IC8qIEluZGV4ZWREQlN0cnVjdHVyZWRDbG9uZUJh
Y2t3YXJkQ29tcGF0aWJpbGl0eS5zcWxpdGUzLXdhbCAqLzsgfTsKIAkJNTcyQjQwMzQyMTc2OUE4
ODAwMEFENDNFIC8qIEN0YXBSZXF1ZXN0VGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzJCNDAzMzIxNzY5QTg4MDAwQUQ0M0UgLyogQ3RhcFJl
cXVlc3RUZXN0LmNwcCAqLzsgfTsKIAkJNTcyQjQwNDQyMTc4MUI0MzAwMEFENDNFIC8qIEN0YXBS
ZXNwb25zZVRlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTcyQjQwNDMyMTc4MUI0MjAwMEFENDNFIC8qIEN0YXBSZXNwb25zZVRlc3QuY3BwICov
OyB9OworCQk1NzJDRUY3MTI0MEY4NzQ3MDBDNDEyQTIgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdl
dC1hc3NlcnRpb24tbGEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzJDRUY3MDI0MEY4NkFFMDBDNDEyQTIgLyogd2ViLWF1dGhlbnRp
Y2F0aW9uLWdldC1hc3NlcnRpb24tbGEuaHRtbCAqLzsgfTsKIAkJNTczMDNCQzkyMDA4MjREMzAw
MzU1OTY1IC8qIENCT1JWYWx1ZVRlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTczMDNCQUMyMDA2QzU2MDAwMzU1OTY1IC8qIENCT1JWYWx1ZVRl
c3QuY3BwICovOyB9OwogCQk1NzMwM0JDQTIwMDgyQzAxMDAzNTU5NjUgLyogQ0JPUldyaXRlclRl
c3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcz
MDNCQUIyMDA2QzU1NDAwMzU1OTY1IC8qIENCT1JXcml0ZXJUZXN0LmNwcCAqLzsgfTsKIAkJNTcz
MDNCQ0IyMDA4Mzc2NTAwMzU1OTY1IC8qIENCT1JSZWFkZXJUZXN0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQkMyMjAwNzFFMjIwMDM1NTk2
NSAvKiBDQk9SUmVhZGVyVGVzdC5jcHAgKi87IH07CkBAIC0xNTI4LDYgKzE1MjksNyBAQAogCQkJ
CTU3OERBNDRFMjNFQ0QyOEIwMDI0NjAxMCAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2Vy
dGlvbi1oaWQtcGluLWludmFsaWQtZXJyb3ItcmV0cnkuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQk1NzBEMjZGQzIzQzNGODcwMDBENUNGNjcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdl
dC1hc3NlcnRpb24taGlkLXBpbi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3NjYz
REVDMjM0RjFGOTMwMEU4NUUwOSAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1o
aWQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQk1NzJDRUY3MTI0MEY4NzQ3MDBDNDEy
QTIgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLywKIAkJCQk1Nzk4MzM5MjIzNjhGQTM3MDA4RTU1NDcgLyogd2ViLWF1dGhlbnRp
Y2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLW11bHRpcGxlLXRhZ3MuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQk1NzY2M0RFQTIzNEVBNjZEMDBFODVFMDkgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24tbmZjLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc3
NDU0RDIyMzU5QkIwMTAwOEUxRUQ3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9u
LXUyZi1uby1jcmVkZW50aWFscy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMTk3MSw2
ICsxOTczLDcgQEAKIAkJNTcyQjQwMzMyMTc2OUE4ODAwMEFENDNFIC8qIEN0YXBSZXF1ZXN0VGVz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDdGFwUmVxdWVzdFRl
c3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzJCNDAzNTIxNzZBMDI5MDAw
QUQ0M0UgLyogRmlkb1Rlc3REYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpZG9UZXN0RGF0YS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzJCNDA0MzIxNzgxQjQyMDAwQUQ0M0UgLyog
Q3RhcFJlc3BvbnNlVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDdGFwUmVzcG9uc2VUZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTcy
Q0VGNzAyNDBGODZBRTAwQzQxMkEyIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9u
LWxhLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEu
aHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MzAzQkFCMjAwNkM1NTQwMDM1
NTk2NSAvKiBDQk9SV3JpdGVyVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDQk9SV3JpdGVyVGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU3MzAzQkFDMjAwNkM1NjAwMDM1NTk2NSAvKiBDQk9SVmFsdWVUZXN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENCT1JWYWx1ZVRlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1NzMwM0JDMjIwMDcxRTIyMDAzNTU5NjUgLyogQ0JPUlJlYWRl
clRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ0JPUlJlYWRl
clRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzYxMSw2ICszNjE0LDcg
QEAKIAkJCQk1NzhEQTQ0RDIzRUNEMjYxMDAyNDYwMTAgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdl
dC1hc3NlcnRpb24taGlkLXBpbi1pbnZhbGlkLWVycm9yLXJldHJ5Lmh0bWwgKi8sCiAJCQkJNTcw
RDI2RkIyM0MzRjg2NTAwRDVDRjY3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9u
LWhpZC1waW4uaHRtbCAqLywKIAkJCQk1NzY2M0RFQjIzNEYxRjgwMDBFODVFMDkgLyogd2ViLWF1
dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLmh0bWwgKi8sCisJCQkJNTcyQ0VGNzAyNDBG
ODZBRTAwQzQxMkEyIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLmh0bWwg
Ki8sCiAJCQkJNTc5ODMzN0IyMzVFQjY1QzAwOEU1NTQ3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLW5mYy1tdWx0aXBsZS10YWdzLmh0bWwgKi8sCiAJCQkJNTc2NjNERTkyMzRF
QTYwQjAwRTg1RTA5IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLW5mYy5odG1s
ICovLAogCQkJCTU3NzQ1NEQxMjM1OUJBRDUwMDhFMUVENyAvKiB3ZWItYXV0aGVudGljYXRpb24t
Z2V0LWFzc2VydGlvbi11MmYtbm8tY3JlZGVudGlhbHMuaHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25Q
YW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0
aGVudGljYXRpb25QYW5lbC5tbQppbmRleCBjMDY3NDIwMzBlNzZmNzA4ODVlN2QzODU5MzA4ZTgx
OGZkYTI3NGZiLi43NDljOTdmZjk2YzMyN2FmZTY4YTcwNWI3ZjQwYjRmODcwMWExMjc4IDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhl
bnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0xMzIsMTMgKzEzMiwxNCBAQCAt
ICh2b2lkKXBhbmVsOihfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsICopcGFuZWwgcmVxdWVzdFBJ
TldpdGhSZW1haW5pbmdSZXRyaWVzOgogICAgIGNvbXBsZXRpb25IYW5kbGVyKHdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWxQaW4pOwogfQogCi0tICh2b2lkKXBhbmVsOihfV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsICopcGFuZWwgc2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2U6KE5TQXJyYXkgPCBfV0tXZWJB
dXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlICo+ICopcmVzcG9uc2VzIGNvbXBsZXRpb25I
YW5kbGVyOih2b2lkICheKShfV0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlICop
KWNvbXBsZXRpb25IYW5kbGVyCistICh2b2lkKXBhbmVsOihfV0tXZWJBdXRoZW50aWNhdGlvblBh
bmVsICopcGFuZWwgc2VsZWN0QXNzZXJ0aW9uUmVzcG9uc2U6KE5TQXJyYXkgPCBfV0tXZWJBdXRo
ZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlICo+ICopcmVzcG9uc2VzIHNvdXJjZTooX1dLV2Vi
QXV0aGVudGljYXRpb25Tb3VyY2Upc291cmNlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShf
V0tXZWJBdXRoZW50aWNhdGlvbkFzc2VydGlvblJlc3BvbnNlICopKWNvbXBsZXRpb25IYW5kbGVy
CiB7CiAgICAgaWYgKHJlc3BvbnNlcy5jb3VudCA9PSAxKSB7CiAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKHJlc3BvbnNlc1swXSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBFWFBF
Q1RfRVEoc291cmNlLCBfV0tXZWJBdXRoZW50aWNhdGlvblNvdXJjZUV4dGVybmFsKTsKICAgICBF
WFBFQ1RfRVEocmVzcG9uc2VzLmNvdW50LCAydWwpOwogICAgIGZvciAoX1dLV2ViQXV0aGVudGlj
YXRpb25Bc3NlcnRpb25SZXNwb25zZSAqcmVzcG9uc2UgaW4gcmVzcG9uc2VzKSB7CiAgICAgICAg
IEVYUEVDVF9UUlVFKFtyZXNwb25zZS5uYW1lIGlzRXF1YWw6QCJqb2hucHNtaXRoQGV4YW1wbGUu
Y29tIl0gfHwgW3Jlc3BvbnNlLm5hbWUgaXNFcXVhbDpAIiJdKTsKQEAgLTExNTksNyArMTE2MCw3
IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTXVsdGlwbGVBY2NvdW50c051bGxEZWxl
Z2F0ZSkKICAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKIAogICAg
IFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dGVzdFVS
TC5nZXQoKV1dOwotICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAiU3VjY2VlZGVkISJdOwor
ICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAiT3BlcmF0aW9uIHRpbWVkIG91dC4iXTsKIH0K
IAogVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBNdWx0aXBsZUFjY291bnRzKQpAQCAtMTI5
MSw2ICsxMjkyLDI2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFNYWtlQ3JlZGVu
dGlhbEFsbG93TG9jYWxBdXRoZW50aWNhdG9yKQogICAgIGNsZWFuVXBLZXljaGFpbigiIik7CiB9
CiAKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFHZXRBc3NlcnRpb24pCit7CisgICAg
cmVzZXQoKTsKKyAgICBSZXRhaW5QdHI8TlNVUkw+IHRlc3RVUkwgPSBbW05TQnVuZGxlIG1haW5C
dW5kbGVdIFVSTEZvclJlc291cmNlOkAid2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24t
bGEiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJl
c291cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1
cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlBy
b2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107Cisg
ICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJp
bWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Cisg
ICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJp
bWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1l
bnRhbEZlYXR1cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmln
dXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlE
ZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBBU1NFUlRfVFJVRShhZGRLZXlUb0tleWNo
YWluKHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQsICIiLCB0ZXN0VXNlcmhhbmRsZUJhc2U2NCkp
OworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6
dGVzdFVSTC5nZXQoKV1dOworICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAiU3VjY2VlZGVk
ISJdOworICAgIGNoZWNrUGFuZWwoW2RlbGVnYXRlIHBhbmVsXSwgQCIiLCBAW2Fkb3B0TlMoW1tO
U051bWJlciBhbGxvY10gaW5pdFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFuc3BvcnRV
U0JdKS5nZXQoKSwgYWRvcHROUyhbW05TTnVtYmVyIGFsbG9jXSBpbml0V2l0aEludDpfV0tXZWJB
dXRoZW50aWNhdGlvblRyYW5zcG9ydEludGVybmFsXSkuZ2V0KCldLCBfV0tXZWJBdXRoZW50aWNh
dGlvblR5cGVHZXQpOworICAgIGNsZWFuVXBLZXljaGFpbigiIik7Cit9CisKICNlbmRpZiAvLyBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKSB8fCBQTEFURk9STShJT1MpCiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLW11bHRpcGxlLWFj
Y291bnRzLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1h
dXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1tdWx0aXBsZS1hY2NvdW50cy5odG1sCmlu
ZGV4IGQ2MzdlNDIwNzk1ZmQ1Njc3YmQ1MGYxMWRkNTRlYTYwNDI0OWFlNDkuLmYxYzdhYzFmODMw
N2Y3OWEyM2QzMTU4ZDU4ODViMjRkYzQ5Nzc5OTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24t
aGlkLW11bHRpcGxlLWFjY291bnRzLmh0bWwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtbXVsdGlw
bGUtYWNjb3VudHMuaHRtbApAQCAtNDEsNyArNDEsNyBAQAogICAgIGNvbnN0IG9wdGlvbnMgPSB7
CiAgICAgICAgIHB1YmxpY0tleTogewogICAgICAgICAgICAgY2hhbGxlbmdlOiBuZXcgVWludDhB
cnJheSgxNiksCi0gICAgICAgICAgICB0aW1lb3V0OiAxMDAwCisgICAgICAgICAgICB0aW1lb3V0
OiAxMDAKICAgICAgICAgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEu
aHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRp
Y2F0aW9uLWdldC1hc3NlcnRpb24tbGEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmEzYzViYTQ0YjAyZmIx
MDUyOWQwMTRkZjVkZTY0MjhkNDk4MGJmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlv
bi1sYS5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW5wdXQi
PgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICBpbnRlcm5h
bHMuc2V0TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbih7IGxvY2FsOiB7IGFjY2Vw
dEF1dGhlbnRpY2F0aW9uOiB0cnVlLCBhY2NlcHRBdHRlc3RhdGlvbjogZmFsc2UgfSB9KTsKKyAg
ICAgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7IGlucHV0LmZvY3VzKCk7IH0p
OworICAgIH0KKworICAgIGNvbnN0IG9wdGlvbnMgPSB7CisgICAgICAgIHB1YmxpY0tleTogewor
ICAgICAgICAgICAgY2hhbGxlbmdlOiBuZXcgVWludDhBcnJheSgxNiksCisgICAgICAgICAgICB0
aW1lb3V0OiAxMDAKKyAgICAgICAgfQorICAgIH07CisKKyAgICBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuZ2V0KG9wdGlvbnMpLnRoZW4oY3JlZGVudGlhbCA9PiB7CisgICAgICAgIC8vIGNvbnNvbGUu
bG9nKCJTdWNjZWVkZWQhIik7CisgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJz
LnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJTdWNjZWVkZWQhIik7CisgICAgfSwgZXJyb3IgPT4g
eworICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgd2luZG93
LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoZXJyb3IubWVz
c2FnZSk7CisgICAgfSk7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>