<?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>176827</bug_id>
          
          <creation_ts>2017-09-13 01:34:00 -0700</creation_ts>
          <short_desc>Web Inspector: move Console.addInspectedNode to DOM.setInspectedNode</short_desc>
          <delta_ts>2022-09-07 08:27:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=170570</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>thisiskatewinslet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1348233</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-09-13 01:34:00 -0700</bug_when>
    <thetext>This would allow us to tighten when we send specific information about nodes to the frontend to only for the selected node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350015</commentid>
    <comment_count>1</comment_count>
      <attachid>321116</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-09-18 11:34:01 -0700</bug_when>
    <thetext>Created attachment 321116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350016</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-18 11:36:56 -0700</bug_when>
    <thetext>Attachment 321116 did not pass style-queue:


ERROR: Source/WebCore/inspector/InspectorDOMAgent.cpp:207:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352290</commentid>
    <comment_count>3</comment_count>
      <attachid>321116</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-25 11:46:03 -0700</bug_when>
    <thetext>Comment on attachment 321116
Patch

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

r=me, very nice!

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js:61
&gt; +    get inspectedNode() { return this._inspectedNode; }

Is this actually used? inspectedNode/_inspectedNode other than an early return in `setInspectedNode()`?

Given that `setInspectedNode` doesn&apos;t populate it until a callback, I&apos;d expect clients to have a hard time using this, since it would be wrong immediately after someone sets the value. I think we should drop this.

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js:537
&gt; +        // COMPATIBILITY (iOS 11): DOM.setInspectedNode did not exist.
&gt; +        if (!DOMAgent.setInspectedNode) {

Well done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352517</commentid>
    <comment_count>4</comment_count>
      <attachid>321777</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-09-25 17:15:26 -0700</bug_when>
    <thetext>Created attachment 321777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352549</commentid>
    <comment_count>5</comment_count>
      <attachid>321777</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-25 18:40:34 -0700</bug_when>
    <thetext>Comment on attachment 321777
Patch

Clearing flags on attachment: 321777

Committed r222486: &lt;http://trac.webkit.org/changeset/222486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352550</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-25 18:40:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353417</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:28:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693354&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321116</attachid>
            <date>2017-09-18 11:34:01 -0700</date>
            <delta_ts>2017-09-25 17:15:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176827-20170918113400.patch</filename>
            <type>text/plain</type>
            <size>45570</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDhmNThmMjMwMDk2NDZhZmVmYzlhMDE5ODc4MmM3
NjM3MGUwYWIyYmQuLjgwM2MyNjZkMzQ4ODQ0NGViOWEyMDA1ZjM1ZmQyODc2MzM2OWFkYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA5LTE4ICBEZXZp
biBSb3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IG1vdmUgQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIHRvIERPTS5zZXRJbnNwZWN0ZWROb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4MjcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6CisKKyAgICAgICAgKiBpbnNwZWN0
b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgIChJbnNw
ZWN0b3I6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKTogRGVs
ZXRlZC4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb246CisgICAg
ICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uOgorCiAyMDE3LTA5LTE3ICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIE1lcmdlIEpTTGV4aWNh
bEVudmlyb25tZW50IGFuZCBKU0Vudmlyb25tZW50UmVjb3JkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNhZmNh
NDAxZDFjMGE4Yjc5YTBiODQ2MzIyZmNhZWU1MTJjNGJlNy4uMTJhOGRiYjAwMTA5YjEwNTMxMTkz
NzZjNjA1ZWU4MjhiODcwMjU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTA5
LTE4ICBEZXZpbiBSb3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IG1vdmUgQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIHRvIERPTS5zZXRJbnNw
ZWN0ZWROb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzY4MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0czogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQt
bm9kZS1hY2Nlc3MuaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL2RvbS9zZXRJbnNwZWN0
ZWROb2RlLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2V0SW5zcGVjdGVkTm9kZSk6CisKKyAgICAgICAgKiBp
bnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlQ29u
c29sZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlQWdlbnQ6OmFkZElu
c3BlY3RlZE5vZGUpOiBEZWxldGVkLgorCisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckNvbnNv
bGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKTog
RGVsZXRlZC4KKwogMjAxNy0wOS0xNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjIxOTc0KTogW0hhcmZidXp6XSBUZXN0
IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2hlYnJldy1zZWxlY3Rpb24uaHRtbCBpcyBmYWlsaW5n
IHNpbmNlIHIyMjE5NzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGMwNjcwMzhlN2M5NDg2
YmQ2NGFiM2Y2ZDg4NmM2ZjgzNTQ3MjdhOTMuLjNlNWI1OTg4NWQzY2I4OGUyNzM4MmE1OTMzNzJi
Y2ExMDkxMzdlNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDE3LTA5LTE4ICBEZXZpbiBSb3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IG1vdmUgQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIHRvIERPTS5z
ZXRJbnNwZWN0ZWROb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzY4MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanM6Cisg
ICAgICAgIChXSS5ET01UcmVlTWFuYWdlcik6CisgICAgICAgIChXSS5ET01UcmVlTWFuYWdlci5w
cm90b3R5cGUuZ2V0IGluc3BlY3RlZE5vZGUpOgorICAgICAgICAoV0kuRE9NVHJlZU1hbmFnZXIu
cHJvdG90eXBlLnNldEluc3BlY3RlZE5vZGUpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9ET01UcmVlQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZp
ZXcucHJvdG90eXBlLl9zZWxlY3RlZE5vZGVEaWRDaGFuZ2UpOgorCiAyMDE3LTA5LTE3ICBOaWtp
dGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFN0eWxlcyBSZWRlc2lnbjogc3VwcG9ydCB0b2dnbGluZyBwcm9wZXJ0aWVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckNvbnNvbGVBZ2VudC5oCmluZGV4IGIyYjJhNmE3MGNiM2I4N2QwY2MyMTNiMGZkNGIwYmYw
NTVkOWU0OTAuLmUyMWEwY2YzMjllOGJmOWVkODAzMDFjYWMzZThmY2JhOGQyODZjMzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCkBAIC02Miw3ICs2Miw2IEBAIHB1YmxpYzoKICAgICB2
b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIGNsZWFyTWVzc2Fn
ZXMoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldE1vbml0b3JpbmdYSFJFbmFi
bGVkKEVycm9yU3RyaW5nJiwgYm9vbCBlbmFibGVkKSBvdmVycmlkZSA9IDA7Ci0gICAgdm9pZCBh
ZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nJiwgaW50IG5vZGVJZCkgb3ZlcnJpZGUgPSAwOwog
CiAgICAgYm9vbCBlbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9lbmFibGVkOyB9CiAgICAgdm9p
ZCByZXNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwCmluZGV4
IDQwMTE2MmJjMjk1MWExNGJjNDNhNDBiNGYxMDUxOWQyNGNlMDc4OGIuLmRiODhmY2NlMmMzOTkz
YTlmM2YyZDdlNmIyZDE5ODhlZmU2OWNiMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENv
bnNvbGVBZ2VudC5jcHAKQEAgLTM4LDkgKzM4LDQgQEAgdm9pZCBKU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudDo6c2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW4K
ICAgICBlcnJvclN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgiTm90IHN1cHBvcnRlZCBmb3IgSmF2YVNj
cmlwdCBjb250ZXh0Iik7CiB9CiAKLXZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFk
ZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBpbnQpCi17Ci0gICAgZXJy
b3JTdHJpbmcgPSBBU0NJSUxpdGVyYWwoIk5vdCBzdXBwb3J0ZWQgZm9yIEphdmFTY3JpcHQgY29u
dGV4dCIpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFn
ZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudC5oCmluZGV4IDk1ZDAwY2VlMjEzYTY0YzI3NGJiMzg3NTYzMzczMzUx
NmU2ZWYyNWYuLjEyOTE4MmExYjNlMGYyNGRmNmQyOWIzMDYxNjlkZWE2Y2Y0MDE4YTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2Jq
ZWN0Q29uc29sZUFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaApAQCAtMzgsNyArMzgsNiBAQCBwdWJs
aWM6CiAKICAgICAvLyBGSVhNRTogWEhScyBhbmQgTm9kZXMgb25seSBtYWtlcyBzZW5zZSBkZWJ1
Z2dpbmcgYSBXZWIgY29udGV4dC4gQ2FuIHRoaXMgYmUgbW92ZWQgdG8gYSBkaWZmZXJlbnQgYWdl
bnQ/CiAgICAgdm9pZCBzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyYsIGJvb2wg
ZW5hYmxlZCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBhZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5n
JiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ29u
c29sZS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25z
b2xlLmpzb24KaW5kZXggMjA2ODY4ZWU4MzkwYmIzYjRjZGUxZmMwNDRlZTc3ZmM0YWIwMWMyYS4u
YjRkMTBjZWY5OTU3NmUxYWUzYWUxNDkxNGI5MmVmOWYwMWZhMGFiZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24KQEAg
LTY0LDEzICs2NCw2IEBACiAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9u
IjogIk1vbml0b3JpbmcgZW5hYmxlZCBzdGF0ZS4iIH0KICAgICAgICAgICAgIF0KLSAgICAgICAg
fSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiYWRkSW5zcGVjdGVkTm9kZSIsCi0g
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBjb25zb2xlIHRvIHJlZmVyIHRvIHRo
ZSBub2RlIHdpdGggZ2l2ZW4gaWQgdmlhICQwIChzZWUgQ29tbWFuZCBMaW5lIEFQSSBmb3IgbW9y
ZSBkZXRhaWxzKS4iLAotICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJET00uTm9kZUlkIiwgImRlc2NyaXB0aW9u
IjogIkRPTSBub2RlIGlkIHRvIGJlIGFjY2Vzc2libGUgYnkgbWVhbnMgb2YgJDAgY29tbWFuZCBs
aW5lIEFQSS4iIH0KLSAgICAgICAgICAgIF0KICAgICAgICAgfQogICAgIF0sCiAgICAgImV2ZW50
cyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9j
b2wvRE9NLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RP
TS5qc29uCmluZGV4IDI2YTc1NDU1ZDg0ZDY2NmM1OGFlZWJkNTNmMDZhMWMxYTZiNDU5ZGMuLmY5
ZGY2NmQzMTYzZDZiZjljZjE4M2NlNzg5NzQ4MTk2NDU2Njg2YWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbgpAQCAtNDc1LDYgKzQ3
NSwxMyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiSWQgb2Yg
dGhlIG5vZGUgdG8gZm9jdXMuIiB9CiAgICAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAg
IHsKKyAgICAgICAgICAgICJuYW1lIjogInNldEluc3BlY3RlZE5vZGUiLAorICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgY29uc29sZSB0byByZWZlciB0byB0aGUgbm9kZSB3aXRo
IGdpdmVuIGlkIHZpYSAkMCAoc2VlIENvbW1hbmQgTGluZSBBUEkgZm9yIG1vcmUgZGV0YWlscyku
IiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRlc2NyaXB0aW9uIjogIkRPTSBub2RlIGlk
IHRvIGJlIGFjY2Vzc2libGUgYnkgbWVhbnMgb2YgJDAgY29tbWFuZCBsaW5lIEFQSS4iIH0KKyAg
ICAgICAgICAgIF0KICAgICAgICAgfQogICAgIF0sCiAgICAgImV2ZW50cyI6IFsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDQ5ZmY3M2Q3
YzQ5YWZmNmUyOGE0YzgxNjY1ODhiNDUyOGMzMmQyODcuLmVlMThmYmRkZDc2ZjFhZTMwOWNlNDU4
MDM5YzllMTBlMDE2Yjk3ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlUnVs
ZS5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDaGFyYWN0ZXJEYXRh
LmgiCisjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCiAjaW5jbHVkZSAiQ29udGFpbmVy
Tm9kZS5oIgogI2luY2x1ZGUgIkNvb2tpZS5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgpAQCAt
OTIsNiArOTMsNyBAQAogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJUZXh0Tm9kZVRyYXZl
cnNhbC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSAiV2ViSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmgiCiAjaW5jbHVkZSAiWFBhdGhSZXN1bHQuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIK
ICNpbmNsdWRlIDxpbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5Lmg+CkBAIC0yMDAsNiArMjAy
LDE3IEBAIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6dGltZXJGaXJlZCgpCiAg
ICAgbV9lbGVtZW50cy5jbGVhcigpOwogfQogCitjbGFzcyBJbnNwZWN0YWJsZU5vZGUgZmluYWwg
OiBwdWJsaWMgQ29tbWFuZExpbmVBUElIb3N0OjpJbnNwZWN0YWJsZU9iamVjdCB7CitwdWJsaWM6
CisgICAgZXhwbGljaXQgSW5zcGVjdGFibGVOb2RlKE5vZGUqIG5vZGUpIDogbV9ub2RlKG5vZGUp
IHsgfQorICAgIEpTQzo6SlNWYWx1ZSBnZXQoSlNDOjpFeGVjU3RhdGUmIHN0YXRlKSBmaW5hbAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIEluc3BlY3RvckRPTUFnZW50Ojpub2RlQXNTY3JpcHRWYWx1
ZShzdGF0ZSwgbV9ub2RlLmdldCgpKTsKKyAgICB9Citwcml2YXRlOgorICAgIFJlZlB0cjxOb2Rl
PiBtX25vZGU7Cit9OworCiBTdHJpbmcgSW5zcGVjdG9yRE9NQWdlbnQ6OnRvRXJyb3JTdHJpbmco
RXhjZXB0aW9uQ29kZSBlYykKIHsKICAgICByZXR1cm4gZWMgPyBTdHJpbmcoRE9NRXhjZXB0aW9u
OjpuYW1lKGVjKSkgOiBlbXB0eVN0cmluZygpOwpAQCAtMTI1NSw2ICsxMjY4LDE4IEBAIHZvaWQg
SW5zcGVjdG9yRE9NQWdlbnQ6OmZvY3VzKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgaW50IG5v
ZGVJZCkKICAgICBlbGVtZW50LT5mb2N1cygpOwogfQogCit2b2lkIEluc3BlY3RvckRPTUFnZW50
OjpzZXRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgaW50IG5vZGVJZCkK
K3sKKyAgICBOb2RlKiBub2RlID0gbm9kZUZvcklkKG5vZGVJZCk7CisgICAgaWYgKCFub2RlIHx8
IG5vZGUtPmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpIHsKKyAgICAgICAgZXJyb3JTdHJpbmcg
PSBBU0NJSUxpdGVyYWwoIk5vIG5vZGUgd2l0aCBnaXZlbiBpZCBmb3VuZCIpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKENvbW1hbmRMaW5lQVBJSG9zdCogY29tbWFuZExpbmVB
UElIb3N0ID0gc3RhdGljX2Nhc3Q8V2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJj4obV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpLmNvbW1hbmRMaW5lQVBJSG9zdCgpKQorICAgICAgICBjb21tYW5kTGlu
ZUFQSUhvc3QtPmFkZEluc3BlY3RlZE9iamVjdChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RhYmxl
Tm9kZT4obm9kZSkpOworfQorCiB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpyZXNvbHZlTm9kZShF
cnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyogY29uc3Qg
b2JqZWN0R3JvdXAsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpSZW1vdGVP
YmplY3Q+JiByZXN1bHQpCiB7CiAgICAgU3RyaW5nIG9iamVjdEdyb3VwTmFtZSA9IG9iamVjdEdy
b3VwID8gKm9iamVjdEdyb3VwIDogZW1wdHlTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggMTdhZjI4NGQxOWY5ODQwYzJkOTk4ZmFk
YTcyZjhhN2JkMjU0ZWQ1NC4uNmU1YTM0MzM4YTQ4MWVlNDlmOGE3NTY4ZWViODY0OGVmNjY3NTk1
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAg
LTE0MSwxMiArMTQxLDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIGhpZ2hsaWdodE5vZGUoRXJyb3JT
dHJpbmcmLCBjb25zdCBJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdCYgaGlnaGxpZ2h0Q29uZmln
LCBjb25zdCBpbnQqIGNvbnN0IG5vZGVJZCwgY29uc3QgU3RyaW5nKiBjb25zdCBvYmplY3RJZCkg
b3ZlcnJpZGU7CiAgICAgdm9pZCBoaWdobGlnaHROb2RlTGlzdChFcnJvclN0cmluZyYsIGNvbnN0
IEluc3BlY3Rvcjo6SW5zcGVjdG9yQXJyYXkmIG5vZGVJZHMsIGNvbnN0IEluc3BlY3Rvcjo6SW5z
cGVjdG9yT2JqZWN0JiBoaWdobGlnaHRDb25maWcpIG92ZXJyaWRlOwogICAgIHZvaWQgaGlnaGxp
Z2h0RnJhbWUoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGZyYW1lSWQsIGNvbnN0IEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yT2JqZWN0KiBjb2xvciwgY29uc3QgSW5zcGVjdG9yOjpJbnNwZWN0b3JP
YmplY3QqIG91dGxpbmVDb2xvcikgb3ZlcnJpZGU7Ci0KICAgICB2b2lkIG1vdmVUbyhFcnJvclN0
cmluZyYsIGludCBub2RlSWQsIGludCB0YXJnZXROb2RlSWQsIGNvbnN0IGludCogY29uc3QgYW5j
aG9yTm9kZUlkLCBpbnQqIG5ld05vZGVJZCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1bmRvKEVycm9y
U3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZWRvKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBtYXJrVW5kb2FibGVTdGF0ZShFcnJvclN0cmluZyYpIG92ZXJyaWRlOwogICAg
IHZvaWQgZm9jdXMoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlkKSBvdmVycmlkZTsKKyAgICB2b2lk
IHNldEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlkKSBvdmVycmlkZTsKIAog
ICAgIHZvaWQgZ2V0RXZlbnRMaXN0ZW5lcnMoTm9kZSosIFZlY3RvcjxFdmVudExpc3RlbmVySW5m
bz4mIGxpc3RlbmVyc0FycmF5LCBib29sIGluY2x1ZGVBbmNlc3RvcnMpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHAKaW5kZXggY2IxNWM4OGI5OGRh
NmMxY2UzZjJmMGE4MmI2YzdjZmNlMDc3YTJkZC4uZjY4YzMxZDUyMWJkZmZlOGY2MjRiNWUxN2Rh
MDg4YWZlMDgzMTU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VD
b25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29s
ZUFnZW50LmNwcApAQCAtNTQsMjcgKzU0LDQgQEAgdm9pZCBQYWdlQ29uc29sZUFnZW50OjpjbGVh
ck1lc3NhZ2VzKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZykKICAgICBXZWJDb25zb2xlQWdlbnQ6
OmNsZWFyTWVzc2FnZXMoZXJyb3JTdHJpbmcpOwogfQogCi1jbGFzcyBJbnNwZWN0YWJsZU5vZGUg
ZmluYWwgOiBwdWJsaWMgQ29tbWFuZExpbmVBUElIb3N0OjpJbnNwZWN0YWJsZU9iamVjdCB7Ci1w
dWJsaWM6Ci0gICAgZXhwbGljaXQgSW5zcGVjdGFibGVOb2RlKE5vZGUqIG5vZGUpIDogbV9ub2Rl
KG5vZGUpIHsgfQotICAgIEpTQzo6SlNWYWx1ZSBnZXQoSlNDOjpFeGVjU3RhdGUmIHN0YXRlKSBm
aW5hbAotICAgIHsKLSAgICAgICAgcmV0dXJuIEluc3BlY3RvckRPTUFnZW50Ojpub2RlQXNTY3Jp
cHRWYWx1ZShzdGF0ZSwgbV9ub2RlLmdldCgpKTsKLSAgICB9Ci1wcml2YXRlOgotICAgIFJlZlB0
cjxOb2RlPiBtX25vZGU7Ci19OwotCi12b2lkIFBhZ2VDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3Rl
ZE5vZGUoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkKQotewotICAgIE5vZGUq
IG5vZGUgPSBtX2luc3BlY3RvckRPTUFnZW50LT5ub2RlRm9ySWQobm9kZUlkKTsKLSAgICBpZiAo
IW5vZGUgfHwgbm9kZS0+aXNJblVzZXJBZ2VudFNoYWRvd1RyZWUoKSkgewotICAgICAgICBlcnJv
clN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgibm9kZUlkIGlzIG5vdCB2YWxpZCIpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKENvbW1hbmRMaW5lQVBJSG9zdCogY29tbWFuZExpbmVB
UElIb3N0ID0gc3RhdGljX2Nhc3Q8V2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJj4obV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpLmNvbW1hbmRMaW5lQVBJSG9zdCgpKQotICAgICAgICBjb21tYW5kTGlu
ZUFQSUhvc3QtPmFkZEluc3BlY3RlZE9iamVjdChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RhYmxl
Tm9kZT4obm9kZSkpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaAppbmRleCAzMTc3ZGMwZmNjMjIwZDA3M2Q4
YzU2YWViYTQ0YWRmNzQxOTFmYWE4Li5iMGMxY2E3NTNmMmQwZTE5YzEwMDg0Mjk2YzcwY2U0M2Jk
NDI5ZTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVB
Z2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmgK
QEAgLTQ3LDcgKzQ3LDYgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJNZXNz
YWdlcyhFcnJvclN0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShF
cnJvclN0cmluZyYsIGludCBub2RlSWQpIG92ZXJyaWRlOwogCiAgICAgSW5zcGVjdG9yRE9NQWdl
bnQqIG1faW5zcGVjdG9yRE9NQWdlbnQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvV29ya2VyQ29uc29sZUFnZW50LmNwcAppbmRleCBhZjcxNDI5NDk4ODcxNTU0ODY0MGQ3MmQ2
MDExYjgxZGNhOWQ4MTFhLi43ZWE1ZTRhMDUyMTIyYmFlYTViOWQwZTFlYjZmNzZmNDA1YWRlMDJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmNw
cApAQCAtMzUsOSArMzUsNCBAQCBXb3JrZXJDb25zb2xlQWdlbnQ6OldvcmtlckNvbnNvbGVBZ2Vu
dChXb3JrZXJBZ2VudENvbnRleHQmIGNvbnRleHQsIEluc3BlY3RvckhlYQogewogfQogCi12b2lk
IFdvcmtlckNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyYgZXJyb3JT
dHJpbmcsIGludCkKLXsKLSAgICBlcnJvclN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgiVW5zdXBwb3J0
ZWQgZm9yIFdvcmtlcnMuIik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaAppbmRleCBkMjA3OGI4Y2Nm
Y2E0MWM0MjQyYzllNzEzNDViYTJhYmM1MmNjYmFjLi41YTFkYzIzMDhjMTBhYTMxZjE2NWI1NmIy
MmY2OTFhYmUzZjVhNWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VyQ29uc29sZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNv
bnNvbGVBZ2VudC5oCkBAIC0zNiw5ICszNiw2IEBAIGNsYXNzIFdvcmtlckNvbnNvbGVBZ2VudCBm
aW5hbCA6IHB1YmxpYyBXZWJDb25zb2xlQWdlbnQgewogcHVibGljOgogICAgIFdvcmtlckNvbnNv
bGVBZ2VudChXb3JrZXJBZ2VudENvbnRleHQmLCBJbnNwZWN0b3I6Okluc3BlY3RvckhlYXBBZ2Vu
dCopOwogICAgIH5Xb3JrZXJDb25zb2xlQWdlbnQoKSB7IH0KLQotcHJpdmF0ZToKLSAgICB2b2lk
IGFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlkKSBvdmVycmlkZTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIu
anMKaW5kZXggMGUyYmQ0OWM4NWIwNzllYTJhZTA2YWJmMGQyOTkzMTQzNWUxYzczNy4uMDViYTU2
NmQ0NjY0MTFkNWFmNDRiNTgxMzQyYmRjOGExZTdlMGY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9N
VHJlZU1hbmFnZXIuanMKQEAgLTQzLDYgKzQzLDcgQEAgV0kuRE9NVHJlZU1hbmFnZXIgPSBjbGFz
cyBET01UcmVlTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9jb250ZW50
Tm9kZXNUb0Zsb3dzTWFwID0gbmV3IE1hcDsKICAgICAgICAgdGhpcy5fcmVzdG9yZVNlbGVjdGVk
Tm9kZUlzQWxsb3dlZCA9IHRydWU7CiAgICAgICAgIHRoaXMuX2xvYWROb2RlQXR0cmlidXRlc1Rp
bWVvdXQgPSAwOworICAgICAgICB0aGlzLl9pbnNwZWN0ZWROb2RlID0gbnVsbDsKIAogICAgICAg
ICBXSS5GcmFtZS5hZGRFdmVudExpc3RlbmVyKFdJLkZyYW1lLkV2ZW50Lk1haW5SZXNvdXJjZURp
ZENoYW5nZSwgdGhpcy5fbWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzKTsKICAgICB9CkBAIC01
Nyw2ICs1OCw4IEBAIFdJLkRPTVRyZWVNYW5hZ2VyID0gY2xhc3MgRE9NVHJlZU1hbmFnZXIgZXh0
ZW5kcyBXSS5PYmplY3QKIAogICAgIC8vIFB1YmxpYwogCisgICAgZ2V0IGluc3BlY3RlZE5vZGUo
KSB7IHJldHVybiB0aGlzLl9pbnNwZWN0ZWROb2RlOyB9CisKICAgICByZXF1ZXN0RG9jdW1lbnQo
Y2FsbGJhY2spCiAgICAgewogICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnQpIHsKQEAgLTUxNiw2
ICs1MTksMjkgQEAgV0kuRE9NVHJlZU1hbmFnZXIgPSBjbGFzcyBET01UcmVlTWFuYWdlciBleHRl
bmRzIFdJLk9iamVjdAogICAgICAgICB9KTsKICAgICB9CiAKKyAgICBzZXRJbnNwZWN0ZWROb2Rl
KG5vZGUpCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydChub2RlIGluc3RhbmNlb2YgV0ku
RE9NTm9kZSk7CisgICAgICAgIGlmIChub2RlID09PSB0aGlzLl9pbnNwZWN0ZWROb2RlKQorICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBjYWxsYmFjayA9IChlcnJvcikgPT4gewor
ICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoIWVycm9yLCBlcnJvcik7CisgICAgICAgICAgICBp
ZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICB0aGlzLl9p
bnNwZWN0ZWROb2RlID0gbm9kZTsKKyAgICAgICAgfTsKKworICAgICAgICAvLyBDT01QQVRJQklM
SVRZIChpT1MgMTEpOiBET00uc2V0SW5zcGVjdGVkTm9kZSBkaWQgbm90IGV4aXN0LgorICAgICAg
ICBpZiAoIURPTUFnZW50LnNldEluc3BlY3RlZE5vZGUpIHsKKyAgICAgICAgICAgIENvbnNvbGVB
Z2VudC5hZGRJbnNwZWN0ZWROb2RlKG5vZGUuaWQsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgICAgIERPTUFnZW50LnNldEluc3BlY3RlZE5vZGUobm9k
ZS5pZCwgY2FsbGJhY2spOworICAgIH0KKwogICAgIF9idWlsZEhpZ2hsaWdodENvbmZpZyhtb2Rl
ID0gImFsbCIpCiAgICAgewogICAgICAgICBsZXQgaGlnaGxpZ2h0Q29uZmlnID0ge3Nob3dJbmZv
OiBtb2RlID09PSAiYWxsIn07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKaW5kZXggYzFi
ZjkyY2YzYjdiYjA2MTM2NjNiMzdiMjY1ZmVjMmIzOTUyOTBkYy4uOTNhOWE2YjJjOTE3NDY2MTJl
YzI4OTE0NmYyMTFlMDgwMTQ5YWZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwpA
QCAtNDM1LDcgKzQzNSw3IEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVD
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgICAgICB0aGlzLl9sYXN0
U2VsZWN0ZWROb2RlUGF0aFNldHRpbmcudmFsdWUgPSB7dXJsOiBXSS5mcmFtZVJlc291cmNlTWFu
YWdlci5tYWluRnJhbWUudXJsLmhhc2gsIHBhdGg6IHNlbGVjdGVkRE9NTm9kZS5wYXRoKCl9Owog
CiAgICAgICAgIGlmIChzZWxlY3RlZERPTU5vZGUpCi0gICAgICAgICAgICBDb25zb2xlQWdlbnQu
YWRkSW5zcGVjdGVkTm9kZShzZWxlY3RlZERPTU5vZGUuaWQpOworICAgICAgICAgICAgV0kuZG9t
VHJlZU1hbmFnZXIuc2V0SW5zcGVjdGVkTm9kZShzZWxlY3RlZERPTU5vZGUpOwogCiAgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkNvbnRlbnRWaWV3LkV2ZW50LlNlbGVj
dGlvblBhdGhDb21wb25lbnRzRGlkQ2hhbmdlKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmI3YjY2NzM0ZmJk
OTAyOTJhYzMyNjNjNGFkYjE0NmUzYWE1NjVkNC4uNDRiMWNhNzdhMDdmNmVhM2NjYWM0NzEyYjhk
NmUxZjlkZjcyOWQ3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA5LTE4ICBEZXZpbiBS
b3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IG1vdmUgQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIHRvIERPTS5zZXRJbnNwZWN0ZWROb2RlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4MjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvaW5zcGVjdG9yL2RvbS9jcm9zcy1kb21haW4taW5zcGVjdGVkLW5vZGUtYWNjZXNzLWV4cGVj
dGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vzcy1leHBlY3RlZC50eHQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQt
bm9kZS1hY2Nlc3MuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vzcy5odG1sLgor
ICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGkuaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZG9tL3NldEluc3BlY3RlZE5vZGUtZXhwZWN0ZWQudHh0OiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvYWRkSW5zcGVjdGVkTm9kZS1leHBl
Y3RlZC50eHQuCisgICAgICAgICogaW5zcGVjdG9yL2RvbS9zZXRJbnNwZWN0ZWROb2RlLmh0bWw6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9hZGRJbnNwZWN0ZWRO
b2RlLmh0bWwuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTctMDktMTcgIE5pa2l0
YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogU3R5bGVzIFJlZGVzaWduOiBzdXBwb3J0IHRvZ2dsaW5nIHByb3BlcnRpZXMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY3Jvc3MtZG9tYWlu
LWluc3BlY3RlZC1ub2RlLWFjY2Vzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQtbm9kZS1hY2Nlc3Mt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjM4ZjZiZDg1YTcy
ZjZhYmQ3MDhkNzc4ZjA5ODg3YTFhZjYyNDEwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vzcy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDI6IEJsb2Nr
ZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vz
c2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLiBQcm90b2Nv
bHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDQyOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIg
ZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
Ii4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KLVRlc3QgdGhhdCBj
b2RlIGV2YWx1YXRlZCBpbiB0aGUgbWFpbiBmcmFtZSBjYW5ub3QgYWNjZXNzICQwIHRoYXQgcmVz
b2x2ZXMgdG8gYSBub2RlIGluIGEgZnJhbWUgZnJvbSBhIGRpZmZlcmVudCBkb21haW4uIEJ1ZyAx
MDU0MjMuCi0KLQotUEFTUzogUGFnZSBzaG91bGQgaGF2ZSBhIHN1YmZyYW1lLgotCi09PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IENvbW1hbmRMaW5lQVBJLiQwLmNyb3NzLWZyYW1lCi0tLSBSdW5uaW5n
IHRlc3QgY2FzZTogQXR0ZW1wdENyb3NzRnJhbWUkMEFjY2Vzc0Zyb21NYWluRnJhbWUKLVNldHRp
bmcgJDAgdG8gbm9kZSB3aXRoaW4gc3ViZnJhbWUuCi1QQVNTOiBNYWluRnJhbWUgYWNjZXNzIHRv
ICQwIG5vZGUgaW4gc3ViZnJhbWUgc2hvdWxkIGJlIG51bGwuCi0KLS0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBBdHRlbXB0U2FtZUZyYW1lJDBBY2Nlc3NGcm9tTWFpbkZyYW1lCi1TZXR0aW5nICQwIHRv
IG5vZGUgd2l0aGluIHRoZSBtYWluIGZyYW1lLgotUEFTUzogTWFpbkZyYW1lIGFjY2VzcyB0byAk
MCBub2RlIGluIG1haW4gZnJhbWUgc2hvdWxkIGJlIGEgbm9kZS4KLQotLS0gUnVubmluZyB0ZXN0
IGNhc2U6IEF0dGVtcHRDcm9zc0ZyYW1lJDBBY2Nlc3NGcm9tU3ViRnJhbWUKLVNldHRpbmcgJDAg
dG8gbm9kZSB3aXRoaW4gdGhlIG1haW4gZnJhbWUuCi1QQVNTOiBTdWJGcmFtZSBhY2Nlc3MgdG8g
JDAgbm9kZSBpbiBtYWluIGZyYW1lIHNob3VsZCBiZSBudWxsLgotCi0tLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogQXR0ZW1wdFNhbWVGcmFtZSQwQWNjZXNzRnJvbVN1YkZyYW1lCi1TZXR0aW5nICQwIHRv
IG5vZGUgd2l0aGluIHRoZSBzdWJmcmFtZS4KLVBBU1M6IFN1YkZyYW1lIGFjY2VzcyB0byAkMCBu
b2RlIGluIHN1YiBmcmFtZSBzaG91bGQgYmUgYSBub2RlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQt
bm9kZS1hY2Nlc3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vzcy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiMGQwZjQ5NWNhZTExY2E0NmVlY2ExODVmODBkMTFkZDZhNzkyN2Y1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1u
b2RlLWFjY2Vzcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotPCFkb2N0eXBl
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1m
dW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFz
eW5jU3VpdGUoIkNvbW1hbmRMaW5lQVBJLiQwLmNyb3NzLWZyYW1lIik7Ci0KLSAgICBsZXQgbWFp
bkZyYW1lID0gV0kuZnJhbWVSZXNvdXJjZU1hbmFnZXIubWFpbkZyYW1lOwotICAgIGxldCBjaGls
ZEZyYW1lcyA9IG1haW5GcmFtZS5jaGlsZEZyYW1lQ29sbGVjdGlvbi50b0FycmF5KCk7Ci0gICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChjaGlsZEZyYW1lcy5sZW5ndGgsIDEsICJQYWdlIHNo
b3VsZCBoYXZlIGEgc3ViZnJhbWUuIik7Ci0KLSAgICBsZXQgbm9kZUluTWFpbkZyYW1lSWQ7Ci0g
ICAgbGV0IG5vZGVJblN1YkZyYW1lSWQ7Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAg
ICAgIG5hbWU6ICJBdHRlbXB0Q3Jvc3NGcmFtZSQwQWNjZXNzRnJvbU1haW5GcmFtZSIsCi0gICAg
ICAgIGRlc2NyaXB0aW9uOiAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyAkMCBub2RlIGlu
IGRpZmZlcmVudCBkb21haW4gc3ViZnJhbWUgZnJvbSB0aGUgbWFpbiBmcmFtZS4iLAotICAgICAg
ICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
IlNldHRpbmcgJDAgdG8gbm9kZSB3aXRoaW4gc3ViZnJhbWUuIik7Ci0gICAgICAgICAgICBDb25z
b2xlQWdlbnQuYWRkSW5zcGVjdGVkTm9kZShub2RlSW5TdWJGcmFtZUlkKTsKLSAgICAgICAgICAg
IFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZS5pbnZva2Uoe2V4cHJlc3Npb246ICIkMCIsIGluY2x1ZGVD
b21tYW5kTGluZUFQSTogdHJ1ZX0sIChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCwgd2FzVGhy
b3duKSA9PiB7ICAgIAotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJv
ciwgIlNob3VsZCBub3QgYmUgYSBwcm90b2NvbCBlcnJvci4iKTsKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3duLCAiU2hvdWxkIG5vdCBiZSBhbiBleGNlcHRp
b24uIik7Ci0gICAgICAgICAgICAgICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJLlJlbW90ZU9iamVj
dC5mcm9tUGF5bG9hZChyZW1vdGVPYmplY3RQYXlsb2FkKTsKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVtb3RlT2JqZWN0LnZhbHVlID09PSBudWxsLCAiTWFpbkZy
YW1lIGFjY2VzcyB0byAkMCBub2RlIGluIHN1YmZyYW1lIHNob3VsZCBiZSBudWxsLiIpOwotICAg
ICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAg
fSk7Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJBdHRlbXB0U2Ft
ZUZyYW1lJDBBY2Nlc3NGcm9tTWFpbkZyYW1lIiwKLSAgICAgICAgZGVzY3JpcHRpb246ICJTaG91
bGQgYmUgYWJsZSB0byBhY2Nlc3MgJDAgbm9kZSBpbiB0aGUgc2FtZSBmcmFtZS4iLAotICAgICAg
ICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
IlNldHRpbmcgJDAgdG8gbm9kZSB3aXRoaW4gdGhlIG1haW4gZnJhbWUuIik7Ci0gICAgICAgICAg
ICBDb25zb2xlQWdlbnQuYWRkSW5zcGVjdGVkTm9kZShub2RlSW5NYWluRnJhbWVJZCk7Ci0gICAg
ICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUuaW52b2tlKHtleHByZXNzaW9uOiAiJDAiLCBp
bmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWV9LCAoZXJyb3IsIHJlbW90ZU9iamVjdFBheWxvYWQs
IHdhc1Rocm93bikgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFl
cnJvciwgIlNob3VsZCBub3QgYmUgYSBwcm90b2NvbCBlcnJvci4iKTsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3duLCAiU2hvdWxkIG5vdCBiZSBhbiBleGNl
cHRpb24uIik7Ci0gICAgICAgICAgICAgICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJLlJlbW90ZU9i
amVjdC5mcm9tUGF5bG9hZChyZW1vdGVPYmplY3RQYXlsb2FkKTsKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVtb3RlT2JqZWN0LmlzTm9kZSgpLCAiTWFpbkZyYW1l
IGFjY2VzcyB0byAkMCBub2RlIGluIG1haW4gZnJhbWUgc2hvdWxkIGJlIGEgbm9kZS4iKTsKLSAg
ICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAg
IH0pOwotCi0gICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAiQXR0ZW1wdENy
b3NzRnJhbWUkMEFjY2Vzc0Zyb21TdWJGcmFtZSIsCi0gICAgICAgIGRlc2NyaXB0aW9uOiAiU2hv
dWxkIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyAkMCBub2RlIGluIGRpZmZlcmVudCBkb21haW4gbWFp
biBmcmFtZSBmcm9tIHRoZSBzdWJmcmFtZS4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVj
dCkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlNldHRpbmcgJDAgdG8gbm9kZSB3
aXRoaW4gdGhlIG1haW4gZnJhbWUuIik7Ci0gICAgICAgICAgICBDb25zb2xlQWdlbnQuYWRkSW5z
cGVjdGVkTm9kZShub2RlSW5NYWluRnJhbWVJZCk7Ci0gICAgICAgICAgICBSdW50aW1lQWdlbnQu
ZXZhbHVhdGUuaW52b2tlKHtleHByZXNzaW9uOiAiJDAiLCBpbmNsdWRlQ29tbWFuZExpbmVBUEk6
IHRydWUsIGNvbnRleHRJZDogY2hpbGRGcmFtZXNbMF0ucGFnZUV4ZWN1dGlvbkNvbnRleHQuaWR9
LCAoZXJyb3IsIHJlbW90ZU9iamVjdFBheWxvYWQsIHdhc1Rocm93bikgPT4gewotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlNob3VsZCBub3QgYmUgYSBwcm90
b2NvbCBlcnJvci4iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2Fz
VGhyb3duLCAiU2hvdWxkIG5vdCBiZSBhbiBleGNlcHRpb24uIik7Ci0gICAgICAgICAgICAgICAg
bGV0IHJlbW90ZU9iamVjdCA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZW1vdGVPYmpl
Y3RQYXlsb2FkKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVt
b3RlT2JqZWN0LnZhbHVlID09PSBudWxsLCAiU3ViRnJhbWUgYWNjZXNzIHRvICQwIG5vZGUgaW4g
bWFpbiBmcmFtZSBzaG91bGQgYmUgbnVsbC4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0pOwotCi0gICAgc3VpdGUuYWRkVGVz
dENhc2UoewotICAgICAgICBuYW1lOiAiQXR0ZW1wdFNhbWVGcmFtZSQwQWNjZXNzRnJvbVN1YkZy
YW1lIiwKLSAgICAgICAgZGVzY3JpcHRpb246ICJTaG91bGQgYmUgYWJsZSB0byBhY2Nlc3MgJDAg
bm9kZSBpbiB0aGUgc2FtZSBmcmFtZS4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlNldHRpbmcgJDAgdG8gbm9kZSB3aXRo
aW4gdGhlIHN1YmZyYW1lLiIpOwotICAgICAgICAgICAgQ29uc29sZUFnZW50LmFkZEluc3BlY3Rl
ZE5vZGUobm9kZUluU3ViRnJhbWVJZCk7Ci0gICAgICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVh
dGUuaW52b2tlKHtleHByZXNzaW9uOiAiJDAiLCBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWUs
IGNvbnRleHRJZDogY2hpbGRGcmFtZXNbMF0ucGFnZUV4ZWN1dGlvbkNvbnRleHQuaWR9LCAoZXJy
b3IsIHJlbW90ZU9iamVjdFBheWxvYWQsIHdhc1Rocm93bikgPT4gewotICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlNob3VsZCBub3QgYmUgYSBwcm90b2NvbCBl
cnJvci4iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3du
LCAiU2hvdWxkIG5vdCBiZSBhbiBleGNlcHRpb24uIik7Ci0gICAgICAgICAgICAgICAgbGV0IHJl
bW90ZU9iamVjdCA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZW1vdGVPYmplY3RQYXls
b2FkKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVtb3RlT2Jq
ZWN0LmlzTm9kZSgpLCAiU3ViRnJhbWUgYWNjZXNzIHRvICQwIG5vZGUgaW4gc3ViIGZyYW1lIHNo
b3VsZCBiZSBhIG5vZGUuIik7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0KLSAgICB9KTsKLQotICAgIFdJLmRvbVRyZWVNYW5hZ2VyLnJlcXVl
c3REb2N1bWVudCgoZG9jdW1lbnROb2RlKSA9PiB7Ci0gICAgICAgIFdJLmRvbVRyZWVNYW5hZ2Vy
LnF1ZXJ5U2VsZWN0b3IoZG9jdW1lbnROb2RlLmlkLCAiaWZyYW1lI215ZnJhbWUiLCAobm9kZUlk
KSA9PiB7Ci0gICAgICAgICAgICBsZXQgaWZyYW1lTm9kZSA9IFdJLmRvbVRyZWVNYW5hZ2VyLm5v
ZGVGb3JJZChub2RlSWQpOwotICAgICAgICAgICAgbGV0IGlmcmFtZURvY3VtZW50Tm9kZUlkID0g
aWZyYW1lTm9kZS5jaGlsZHJlblswXS5pZDsKLSAgICAgICAgICAgIFdJLmRvbVRyZWVNYW5hZ2Vy
LnF1ZXJ5U2VsZWN0b3IoaWZyYW1lRG9jdW1lbnROb2RlSWQsICJkaXYjcm9vdERpdiIsIChub2Rl
SWQpID0+IHsKLSAgICAgICAgICAgICAgICBub2RlSW5NYWluRnJhbWVJZCA9IGlmcmFtZU5vZGUu
aWQ7Ci0gICAgICAgICAgICAgICAgbm9kZUluU3ViRnJhbWVJZCA9IG5vZGVJZDsKLSAgICAgICAg
ICAgICAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKLSAgICAgICAgICAgIH0pOwot
ICAgICAgICB9KTsKLSAgICB9KTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5U
ZXN0IHRoYXQgY29kZSBldmFsdWF0ZWQgaW4gdGhlIG1haW4gZnJhbWUgY2Fubm90IGFjY2VzcyAk
MCB0aGF0IHJlc29sdmVzIHRvIGEgbm9kZSBpbiBhIGZyYW1lIGZyb20gYSBkaWZmZXJlbnQgZG9t
YWluLiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1
NDIzIj5CdWcgMTA1NDIzLjwvYT48L3A+Ci08aWZyYW1lIGlkPSJteWZyYW1lIiBzcmM9Imh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcGFnZS9yZXNvdXJjZXMvdGVzdC1wYWdlLmh0bWwi
IG9ubG9hZD0icnVuVGVzdCgpIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RvbS9jcm9zcy1kb21haW4taW5z
cGVjdGVkLW5vZGUtYWNjZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2RvbS9jcm9zcy1kb21haW4taW5zcGVjdGVkLW5vZGUtYWNjZXNzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kNjM4ZjZiZDg1YTcyZjZhYmQ3MDhkNzc4ZjA5ODg3YTFhZjYyNDEw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9t
L2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQtbm9kZS1hY2Nlc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MjogQmxvY2tlZCBhIGZyYW1lIHdpdGgg
b3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0
aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3RvY29scywgZG9tYWlucywgYW5k
IHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDI6IEJsb2NrZWQgYSBm
cmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIiBmcm9tIGFjY2Vzc2luZyBh
IGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiLiBQcm90b2NvbHMsIGRv
bWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorVGVzdCB0aGF0IGNvZGUgZXZhbHVhdGVkIGlu
IHRoZSBtYWluIGZyYW1lIGNhbm5vdCBhY2Nlc3MgJDAgdGhhdCByZXNvbHZlcyB0byBhIG5vZGUg
aW4gYSBmcmFtZSBmcm9tIGEgZGlmZmVyZW50IGRvbWFpbi4gQnVnIDEwNTQyMy4KKworCitQQVNT
OiBQYWdlIHNob3VsZCBoYXZlIGEgc3ViZnJhbWUuCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
Q29tbWFuZExpbmVBUEkuJDAuY3Jvc3MtZnJhbWUKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBBdHRl
bXB0Q3Jvc3NGcmFtZSQwQWNjZXNzRnJvbU1haW5GcmFtZQorU2V0dGluZyAkMCB0byBub2RlIHdp
dGhpbiBzdWJmcmFtZS4KK1BBU1M6IE1haW5GcmFtZSBhY2Nlc3MgdG8gJDAgbm9kZSBpbiBzdWJm
cmFtZSBzaG91bGQgYmUgbnVsbC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IEF0dGVtcHRTYW1l
RnJhbWUkMEFjY2Vzc0Zyb21NYWluRnJhbWUKK1NldHRpbmcgJDAgdG8gbm9kZSB3aXRoaW4gdGhl
IG1haW4gZnJhbWUuCitQQVNTOiBNYWluRnJhbWUgYWNjZXNzIHRvICQwIG5vZGUgaW4gbWFpbiBm
cmFtZSBzaG91bGQgYmUgYSBub2RlLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQXR0ZW1wdENy
b3NzRnJhbWUkMEFjY2Vzc0Zyb21TdWJGcmFtZQorU2V0dGluZyAkMCB0byBub2RlIHdpdGhpbiB0
aGUgbWFpbiBmcmFtZS4KK1BBU1M6IFN1YkZyYW1lIGFjY2VzcyB0byAkMCBub2RlIGluIG1haW4g
ZnJhbWUgc2hvdWxkIGJlIG51bGwuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBBdHRlbXB0U2Ft
ZUZyYW1lJDBBY2Nlc3NGcm9tU3ViRnJhbWUKK1NldHRpbmcgJDAgdG8gbm9kZSB3aXRoaW4gdGhl
IHN1YmZyYW1lLgorUEFTUzogU3ViRnJhbWUgYWNjZXNzIHRvICQwIG5vZGUgaW4gc3ViIGZyYW1l
IHNob3VsZCBiZSBhIG5vZGUuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2RvbS9jcm9zcy1kb21haW4taW5zcGVjdGVkLW5vZGUtYWNjZXNzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vY3Jvc3MtZG9tYWluLWluc3BlY3Rl
ZC1ub2RlLWFjY2Vzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0YTU4ZjljZTBjMWNmNDNiZjg5MDkyYjU2
OGIzM2Y0ZTU0MGYxZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9kb20vY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vzcy5odG1sCkBA
IC0wLDAgKzEsOTkgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRl
ID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJDb21tYW5kTGluZUFQSS4kMC5jcm9z
cy1mcmFtZSIpOworCisgICAgbGV0IG1haW5GcmFtZSA9IFdJLmZyYW1lUmVzb3VyY2VNYW5hZ2Vy
Lm1haW5GcmFtZTsKKyAgICBsZXQgY2hpbGRGcmFtZXMgPSBtYWluRnJhbWUuY2hpbGRGcmFtZUNv
bGxlY3Rpb24udG9BcnJheSgpOworICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoY2hpbGRG
cmFtZXMubGVuZ3RoLCAxLCAiUGFnZSBzaG91bGQgaGF2ZSBhIHN1YmZyYW1lLiIpOworCisgICAg
bGV0IG5vZGVJbk1haW5GcmFtZUlkOworICAgIGxldCBub2RlSW5TdWJGcmFtZUlkOworCisgICAg
c3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiQXR0ZW1wdENyb3NzRnJhbWUkMEFj
Y2Vzc0Zyb21NYWluRnJhbWUiLAorICAgICAgICBkZXNjcmlwdGlvbjogIlNob3VsZCBub3QgYmUg
YWJsZSB0byBhY2Nlc3MgJDAgbm9kZSBpbiBkaWZmZXJlbnQgZG9tYWluIHN1YmZyYW1lIGZyb20g
dGhlIG1haW4gZnJhbWUuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTZXR0aW5nICQwIHRvIG5vZGUgd2l0aGluIHN1YmZy
YW1lLiIpOworICAgICAgICAgICAgRE9NQWdlbnQuc2V0SW5zcGVjdGVkTm9kZShub2RlSW5TdWJG
cmFtZUlkKTsKKyAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZS5pbnZva2Uoe2V4cHJl
c3Npb246ICIkMCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZX0sIChlcnJvciwgcmVtb3Rl
T2JqZWN0UGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7ICAgIAorICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlNob3VsZCBub3QgYmUgYSBwcm90b2NvbCBlcnJvci4i
KTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3duLCAiU2hv
dWxkIG5vdCBiZSBhbiBleGNlcHRpb24uIik7CisgICAgICAgICAgICAgICAgbGV0IHJlbW90ZU9i
amVjdCA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZW1vdGVPYmplY3RQYXlsb2FkKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVtb3RlT2JqZWN0LnZh
bHVlID09PSBudWxsLCAiTWFpbkZyYW1lIGFjY2VzcyB0byAkMCBub2RlIGluIHN1YmZyYW1lIHNo
b3VsZCBiZSBudWxsLiIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAg
ICAgIG5hbWU6ICJBdHRlbXB0U2FtZUZyYW1lJDBBY2Nlc3NGcm9tTWFpbkZyYW1lIiwKKyAgICAg
ICAgZGVzY3JpcHRpb246ICJTaG91bGQgYmUgYWJsZSB0byBhY2Nlc3MgJDAgbm9kZSBpbiB0aGUg
c2FtZSBmcmFtZS4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coIlNldHRpbmcgJDAgdG8gbm9kZSB3aXRoaW4gdGhlIG1haW4g
ZnJhbWUuIik7CisgICAgICAgICAgICBET01BZ2VudC5zZXRJbnNwZWN0ZWROb2RlKG5vZGVJbk1h
aW5GcmFtZUlkKTsKKyAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZS5pbnZva2Uoe2V4
cHJlc3Npb246ICIkMCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZX0sIChlcnJvciwgcmVt
b3RlT2JqZWN0UGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiU2hvdWxkIG5vdCBiZSBhIHByb3RvY29sIGVycm9yLiIp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCF3YXNUaHJvd24sICJTaG91
bGQgbm90IGJlIGFuIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAgICAgICBsZXQgcmVtb3RlT2Jq
ZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxvYWQpOwor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZW1vdGVPYmplY3QuaXNO
b2RlKCksICJNYWluRnJhbWUgYWNjZXNzIHRvICQwIG5vZGUgaW4gbWFpbiBmcmFtZSBzaG91bGQg
YmUgYSBub2RlLiIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0p
OworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAg
IG5hbWU6ICJBdHRlbXB0Q3Jvc3NGcmFtZSQwQWNjZXNzRnJvbVN1YkZyYW1lIiwKKyAgICAgICAg
ZGVzY3JpcHRpb246ICJTaG91bGQgbm90IGJlIGFibGUgdG8gYWNjZXNzICQwIG5vZGUgaW4gZGlm
ZmVyZW50IGRvbWFpbiBtYWluIGZyYW1lIGZyb20gdGhlIHN1YmZyYW1lLiIsCisgICAgICAgIHRl
c3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU2V0
dGluZyAkMCB0byBub2RlIHdpdGhpbiB0aGUgbWFpbiBmcmFtZS4iKTsKKyAgICAgICAgICAgIERP
TUFnZW50LnNldEluc3BlY3RlZE5vZGUobm9kZUluTWFpbkZyYW1lSWQpOworICAgICAgICAgICAg
UnVudGltZUFnZW50LmV2YWx1YXRlLmludm9rZSh7ZXhwcmVzc2lvbjogIiQwIiwgaW5jbHVkZUNv
bW1hbmRMaW5lQVBJOiB0cnVlLCBjb250ZXh0SWQ6IGNoaWxkRnJhbWVzWzBdLnBhZ2VFeGVjdXRp
b25Db250ZXh0LmlkfSwgKGVycm9yLCByZW1vdGVPYmplY3RQYXlsb2FkLCB3YXNUaHJvd24pID0+
IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJTaG91bGQg
bm90IGJlIGEgcHJvdG9jb2wgZXJyb3IuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnQoIXdhc1Rocm93biwgIlNob3VsZCBub3QgYmUgYW4gZXhjZXB0aW9uLiIpOworICAg
ICAgICAgICAgICAgIGxldCByZW1vdGVPYmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxv
YWQocmVtb3RlT2JqZWN0UGF5bG9hZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RUaGF0KHJlbW90ZU9iamVjdC52YWx1ZSA9PT0gbnVsbCwgIlN1YkZyYW1lIGFjY2VzcyB0
byAkMCBub2RlIGluIG1haW4gZnJhbWUgc2hvdWxkIGJlIG51bGwuIik7CisgICAgICAgICAgICAg
ICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAg
IHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIkF0dGVtcHRTYW1lRnJhbWUkMEFj
Y2Vzc0Zyb21TdWJGcmFtZSIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiU2hvdWxkIGJlIGFibGUg
dG8gYWNjZXNzICQwIG5vZGUgaW4gdGhlIHNhbWUgZnJhbWUuIiwKKyAgICAgICAgdGVzdChyZXNv
bHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTZXR0aW5nICQw
IHRvIG5vZGUgd2l0aGluIHRoZSBzdWJmcmFtZS4iKTsKKyAgICAgICAgICAgIERPTUFnZW50LnNl
dEluc3BlY3RlZE5vZGUobm9kZUluU3ViRnJhbWVJZCk7CisgICAgICAgICAgICBSdW50aW1lQWdl
bnQuZXZhbHVhdGUuaW52b2tlKHtleHByZXNzaW9uOiAiJDAiLCBpbmNsdWRlQ29tbWFuZExpbmVB
UEk6IHRydWUsIGNvbnRleHRJZDogY2hpbGRGcmFtZXNbMF0ucGFnZUV4ZWN1dGlvbkNvbnRleHQu
aWR9LCAoZXJyb3IsIHJlbW90ZU9iamVjdFBheWxvYWQsIHdhc1Rocm93bikgPT4geworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlNob3VsZCBub3QgYmUgYSBw
cm90b2NvbCBlcnJvci4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCgh
d2FzVGhyb3duLCAiU2hvdWxkIG5vdCBiZSBhbiBleGNlcHRpb24uIik7CisgICAgICAgICAgICAg
ICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZW1vdGVP
YmplY3RQYXlsb2FkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQo
cmVtb3RlT2JqZWN0LmlzTm9kZSgpLCAiU3ViRnJhbWUgYWNjZXNzIHRvICQwIG5vZGUgaW4gc3Vi
IGZyYW1lIHNob3VsZCBiZSBhIG5vZGUuIik7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIFdJLmRvbVRyZWVNYW5h
Z2VyLnJlcXVlc3REb2N1bWVudCgoZG9jdW1lbnROb2RlKSA9PiB7CisgICAgICAgIFdJLmRvbVRy
ZWVNYW5hZ2VyLnF1ZXJ5U2VsZWN0b3IoZG9jdW1lbnROb2RlLmlkLCAiaWZyYW1lI215ZnJhbWUi
LCAobm9kZUlkKSA9PiB7CisgICAgICAgICAgICBsZXQgaWZyYW1lTm9kZSA9IFdJLmRvbVRyZWVN
YW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpOworICAgICAgICAgICAgbGV0IGlmcmFtZURvY3VtZW50
Tm9kZUlkID0gaWZyYW1lTm9kZS5jaGlsZHJlblswXS5pZDsKKyAgICAgICAgICAgIFdJLmRvbVRy
ZWVNYW5hZ2VyLnF1ZXJ5U2VsZWN0b3IoaWZyYW1lRG9jdW1lbnROb2RlSWQsICJkaXYjcm9vdERp
diIsIChub2RlSWQpID0+IHsKKyAgICAgICAgICAgICAgICBub2RlSW5NYWluRnJhbWVJZCA9IGlm
cmFtZU5vZGUuaWQ7CisgICAgICAgICAgICAgICAgbm9kZUluU3ViRnJhbWVJZCA9IG5vZGVJZDsK
KyAgICAgICAgICAgICAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UZXN0IHRoYXQgY29kZSBldmFsdWF0ZWQgaW4gdGhlIG1haW4gZnJhbWUgY2Fubm90
IGFjY2VzcyAkMCB0aGF0IHJlc29sdmVzIHRvIGEgbm9kZSBpbiBhIGZyYW1lIGZyb20gYSBkaWZm
ZXJlbnQgZG9tYWluLiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA1NDIzIj5CdWcgMTA1NDIzLjwvYT48L3A+Cis8aWZyYW1lIGlkPSJteWZyYW1lIiBz
cmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcGFnZS9yZXNvdXJjZXMvdGVzdC1w
YWdlLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2FkZEluc3BlY3RlZE5v
ZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvYWRkSW5zcGVj
dGVkTm9kZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3MmFi
NDlhNzVlOTZjN2U3MGJlOGM5MjI5NDE5NTE0ZjgwNjZhMGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUv
YWRkSW5zcGVjdGVkTm9kZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCww
IEBACi1UZXN0IGZvciB0aGUgQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIGNvbW1hbmQuCi0KLQot
PT0gUnVubmluZyB0ZXN0IHN1aXRlOiBDb25zb2xlLmFkZEluc3BlY3RlZE5vZGUKLS0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBDaGVjayQwSXNVbmRlZmluZWQKLVBBU1M6ICQwIHNob3VsZCBiZSB1bmRl
ZmluZWQuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTZXRBbmRDaGVja05vZGVBCi1QQVNTOiAk
MCBzaG91bGQgYmUgYSBub2RlLgotUEFTUzogJDAgc2hvdWxkIGJlIE5vZGUgQS4KLQotLS0gUnVu
bmluZyB0ZXN0IGNhc2U6IFNldEJhZE5vZGVJZAotUEFTUzogU2hvdWxkIGJlIGFuIGVycm9yCi1Q
QVNTOiAkMCBzaG91bGQgYmUgYSBub2RlLgotUEFTUzogJDAgc2hvdWxkIGJlIE5vZGUgQS4KLQot
LS0gUnVubmluZyB0ZXN0IGNhc2U6IFNldEFuZENoZWNrTm9kZUIKLVBBU1M6ICQwIHNob3VsZCBi
ZSBhIG5vZGUuCi1QQVNTOiAkMCBzaG91bGQgbm90IGJlIE5vZGUgQS4KLVBBU1M6ICQwIHNob3Vs
ZCBiZSBOb2RlIEIuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2FkZEluc3BlY3RlZE5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Fk
ZEluc3BlY3RlZE5vZGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY4NmVk
MjQ2NmJkYzYyNzVhNTYxMzI3NWJiMGEzZDljMmU4Y2QzNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9h
ZGRJbnNwZWN0ZWROb2RlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBACi08IWRv
Y3R5cGUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBldmFsdWF0ZSQwKGNhbGxiYWNr
KSB7Ci0gICAgICAgIFdJLnJ1bnRpbWVNYW5hZ2VyLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5kb3co
IiQwIiwge29iamVjdEdyb3VwOiAidGVzdCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZX0s
IGNhbGxiYWNrKTsKLSAgICB9Ci0KLSAgICBsZXQgbm9kZUEsIG5vZGVCOwotCi0gICAgbGV0IHN1
aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJDb25zb2xlLmFkZEluc3BlY3Rl
ZE5vZGUiKTsKLQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIkNoZWNr
JDBJc1VuZGVmaW5lZCIsCi0gICAgICAgIGRlc2NyaXB0aW9uOiAiTm8gaW5zcGVjdGVkIG5vZGUg
eWV0LCAkMCBzaG91bGQgYmUgdW5kZWZpbmVkLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVq
ZWN0KSB7Ci0gICAgICAgICAgICBldmFsdWF0ZSQwKChyZW1vdGVPYmplY3QpID0+IHsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVtb3RlT2JqZWN0LmlzVW5kZWZp
bmVkKCksICIkMCBzaG91bGQgYmUgdW5kZWZpbmVkLiIpOwotICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfSk7Ci0KLSAgICBzdWl0ZS5h
ZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJTZXRBbmRDaGVja05vZGVBIiwKLSAgICAgICAg
ZGVzY3JpcHRpb246ICJTZXQgdGhlIGluc3BlY3RlZCBub2RlIHRvIGJlIE5vZGUgQSBhbmQgY2hl
Y2sgdGhhdCAkMCBpcyBOb2RlIEEuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsK
LSAgICAgICAgICAgIENvbnNvbGVBZ2VudC5hZGRJbnNwZWN0ZWROb2RlKG5vZGVBLmlkKTsKLSAg
ICAgICAgICAgIGV2YWx1YXRlJDAoKHJlbW90ZU9iamVjdCkgPT4gewotICAgICAgICAgICAgICAg
IHJlbW90ZU9iamVjdC5wdXNoTm9kZVRvRnJvbnRlbmQoKG5vZGVJZCkgPT4gewotICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVtb3RlT2JqZWN0LmlzTm9kZSgp
LCAiJDAgc2hvdWxkIGJlIGEgbm9kZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RUaGF0KG5vZGVJZCA9PT0gbm9kZUEuaWQsICIkMCBzaG91bGQgYmUgTm9kZSBB
LiIpOwotICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0pOwotCi0gICAgc3VpdGUuYWRkVGVz
dENhc2UoewotICAgICAgICBuYW1lOiAiU2V0QmFkTm9kZUlkIiwKLSAgICAgICAgZGVzY3JpcHRp
b246ICJJZiBhbiBpbnZhbGlkIGluc3BlY3RlZCBub2RlIGlzIHNldCwgaXQgc2hvdWxkIG5vdCBi
ZSBib3VuZCB0byAkMC4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAg
ICAgICAgQ29uc29sZUFnZW50LmFkZEluc3BlY3RlZE5vZGUoOTk5OTk5LCAoZXJyb3IpID0+IHsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZXJyb3IsICJTaG91bGQg
YmUgYW4gZXJyb3IiKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgZXZhbHVhdGUkMCgo
cmVtb3RlT2JqZWN0KSA9PiB7Ci0gICAgICAgICAgICAgICAgcmVtb3RlT2JqZWN0LnB1c2hOb2Rl
VG9Gcm9udGVuZCgobm9kZUlkKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0VGhhdChyZW1vdGVPYmplY3QuaXNOb2RlKCksICIkMCBzaG91bGQgYmUgYSBub2Rl
LiIpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQobm9kZUlk
ID09PSBub2RlQS5pZCwgIiQwIHNob3VsZCBiZSBOb2RlIEEuIik7Ci0gICAgICAgICAgICAgICAg
ICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAg
ICAgICB9Ci0gICAgfSk7Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6
ICJTZXRBbmRDaGVja05vZGVCIiwKLSAgICAgICAgZGVzY3JpcHRpb246ICJTZXQgdGhlIGluc3Bl
Y3RlZCBub2RlIHRvIGJlIE5vZGUgQiBhbmQgY2hlY2sgdGhhdCAkMCBpcyBOb2RlIEIuIiwKLSAg
ICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIENvbnNvbGVBZ2VudC5h
ZGRJbnNwZWN0ZWROb2RlKG5vZGVCLmlkKTsKLSAgICAgICAgICAgIGV2YWx1YXRlJDAoKHJlbW90
ZU9iamVjdCkgPT4gewotICAgICAgICAgICAgICAgIHJlbW90ZU9iamVjdC5wdXNoTm9kZVRvRnJv
bnRlbmQoKG5vZGVJZCkgPT4gewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdFRoYXQocmVtb3RlT2JqZWN0LmlzTm9kZSgpLCAiJDAgc2hvdWxkIGJlIGEgbm9kZS4iKTsK
LSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KG5vZGVJZCAhPT0g
bm9kZUEuaWQsICIkMCBzaG91bGQgbm90IGJlIE5vZGUgQS4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KG5vZGVJZCA9PT0gbm9kZUIuaWQsICIkMCBzaG91
bGQgYmUgTm9kZSBCLiIpOwotICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0pOwotCi0gICAg
Ly8gRklYTUU6IFdoYXQgc2hvdWxkICQwIGJlIGFmdGVyIHJlbG9hZGluZyAvIG5hdmlnYXRpbmcg
dGhlIHBhZ2UuIFNob3VsZCBpdCBiZSBjbGVhcmVkPwotCi0gICAgV0kuZG9tVHJlZU1hbmFnZXIu
cmVxdWVzdERvY3VtZW50KChkb2N1bWVudE5vZGUpID0+IHsKLSAgICAgICAgV0kuZG9tVHJlZU1h
bmFnZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5vZGUuaWQsICIjYSIsIChjb250ZW50Tm9kZUlk
KSA9PiB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChjb250ZW50Tm9kZUlkLCAi
I2Egbm9kZSBzaG91bGQgZXhpc3QuIik7Ci0gICAgICAgICAgICBub2RlQSA9IFdJLmRvbVRyZWVN
YW5hZ2VyLm5vZGVGb3JJZChjb250ZW50Tm9kZUlkKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIFdJ
LmRvbVRyZWVNYW5hZ2VyLnF1ZXJ5U2VsZWN0b3IoZG9jdW1lbnROb2RlLmlkLCAiI2IiLCAoY29u
dGVudE5vZGVJZCkgPT4gewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoY29udGVu
dE5vZGVJZCwgIiNiIG5vZGUgc2hvdWxkIGV4aXN0LiIpOwotICAgICAgICAgICAgbm9kZUIgPSBX
SS5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQoY29udGVudE5vZGVJZCk7Ci0gICAgICAgICAgICBz
dWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3QgZm9y
IHRoZSBDb25zb2xlLmFkZEluc3BlY3RlZE5vZGUgY29tbWFuZC48L3A+Ci08ZGl2IHN0eWxlPSJk
aXNwbGF5Om5vbmUiPgotICAgIDxwIGlkPSJhIj5Ob2RlIEE8L3A+Ci0gICAgPHAgaWQ9ImIiPk5v
ZGUgQjwvcD4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS5odG1sCmluZGV4IGI3YTEzYjgzZDg2
YmI1YTNjNWNmNmFjNTkwN2FmMmZkOTJmMTZiOWEuLmY1ODZhMmQwMmFkMzlmYjE0ZmIwZTM0ZGQz
YWY4MDIyMzQ5MzAyMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbW1hbmQtbGluZS1hcGkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb21tYW5kLWxpbmUtYXBpLmh0bWwKQEAgLTEwMyw3ICsxMDMsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdCgpOwogICAgICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgICAgIENvbnNvbGVBZ2VudC5hZGRJbnNwZWN0ZWROb2RlKGNvbnRl
bnROb2RlSWQpOworICAgICAgICAgICAgICAgIERPTUFnZW50LnNldEluc3BlY3RlZE5vZGUoY29u
dGVudE5vZGVJZCk7CiAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgfSk7
CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9zZXRJ
bnNwZWN0ZWROb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vc2V0
SW5zcGVjdGVkTm9kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTczNDE4MDZlZmMyMzA0ZjUz
YmRmNDJmZGM4YTc2ZWVmYmM5YTY1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kb20vc2V0SW5zcGVjdGVkTm9kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBA
QAorVGVzdCBmb3IgdGhlIERPTS5zZXRJbnNwZWN0ZWROb2RlIGNvbW1hbmQuCisKKworPT0gUnVu
bmluZyB0ZXN0IHN1aXRlOiBET00uc2V0SW5zcGVjdGVkTm9kZQorLS0gUnVubmluZyB0ZXN0IGNh
c2U6IENoZWNrJDBJc1VuZGVmaW5lZAorUEFTUzogJDAgc2hvdWxkIGJlIHVuZGVmaW5lZC4KKwor
LS0gUnVubmluZyB0ZXN0IGNhc2U6IFNldEFuZENoZWNrTm9kZUEKK1BBU1M6ICQwIHNob3VsZCBi
ZSBhIG5vZGUuCitQQVNTOiAkMCBzaG91bGQgYmUgTm9kZSBBLgorCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogU2V0QmFkTm9kZUlkCitQQVNTOiBTaG91bGQgYmUgYW4gZXJyb3IKK1BBU1M6ICQwIHNo
b3VsZCBiZSBhIG5vZGUuCitQQVNTOiAkMCBzaG91bGQgYmUgTm9kZSBBLgorCistLSBSdW5uaW5n
IHRlc3QgY2FzZTogU2V0QW5kQ2hlY2tOb2RlQgorUEFTUzogJDAgc2hvdWxkIGJlIGEgbm9kZS4K
K1BBU1M6ICQwIHNob3VsZCBub3QgYmUgTm9kZSBBLgorUEFTUzogJDAgc2hvdWxkIGJlIE5vZGUg
Qi4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9zZXRJbnNwZWN0ZWRO
b2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL3NldEluc3BlY3RlZE5vZGUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43NzMyYzZjNTA4YTA2NWFmYTFkNjM0ZmRkMGRjZTUyZTY4ZjU1ZmJmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9zZXRJbnNwZWN0ZWRO
b2RlLmh0bWwKQEAgLTAsMCArMSw5OCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7Cisg
ICAgZnVuY3Rpb24gZXZhbHVhdGUkMChjYWxsYmFjaykgeworICAgICAgICBXSS5ydW50aW1lTWFu
YWdlci5ldmFsdWF0ZUluSW5zcGVjdGVkV2luZG93KCIkMCIsIHtvYmplY3RHcm91cDogInRlc3Qi
LCBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWV9LCBjYWxsYmFjayk7CisgICAgfQorCisgICAg
bGV0IG5vZGVBLCBub2RlQjsKKworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRl
QXN5bmNTdWl0ZSgiRE9NLnNldEluc3BlY3RlZE5vZGUiKTsKKworICAgIHN1aXRlLmFkZFRlc3RD
YXNlKHsKKyAgICAgICAgbmFtZTogIkNoZWNrJDBJc1VuZGVmaW5lZCIsCisgICAgICAgIGRlc2Ny
aXB0aW9uOiAiTm8gaW5zcGVjdGVkIG5vZGUgeWV0LCAkMCBzaG91bGQgYmUgdW5kZWZpbmVkLiIs
CisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBldmFsdWF0ZSQw
KChyZW1vdGVPYmplY3QpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dFRoYXQocmVtb3RlT2JqZWN0LmlzVW5kZWZpbmVkKCksICIkMCBzaG91bGQgYmUgdW5kZWZpbmVk
LiIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0pOworICAgICAg
ICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJT
ZXRBbmRDaGVja05vZGVBIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJTZXQgdGhlIGluc3BlY3Rl
ZCBub2RlIHRvIGJlIE5vZGUgQSBhbmQgY2hlY2sgdGhhdCAkMCBpcyBOb2RlIEEuIiwKKyAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIERPTUFnZW50LnNldEluc3Bl
Y3RlZE5vZGUobm9kZUEuaWQpOworICAgICAgICAgICAgZXZhbHVhdGUkMCgocmVtb3RlT2JqZWN0
KSA9PiB7CisgICAgICAgICAgICAgICAgcmVtb3RlT2JqZWN0LnB1c2hOb2RlVG9Gcm9udGVuZCgo
bm9kZUlkKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dChyZW1vdGVPYmplY3QuaXNOb2RlKCksICIkMCBzaG91bGQgYmUgYSBub2RlLiIpOworICAgICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQobm9kZUlkID09PSBub2RlQS5p
ZCwgIiQwIHNob3VsZCBiZSBOb2RlIEEuIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUo
KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAg
fSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJTZXRCYWROb2Rl
SWQiLAorICAgICAgICBkZXNjcmlwdGlvbjogIklmIGFuIGludmFsaWQgaW5zcGVjdGVkIG5vZGUg
aXMgc2V0LCBpdCBzaG91bGQgbm90IGJlIGJvdW5kIHRvICQwLiIsCisgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBET01BZ2VudC5zZXRJbnNwZWN0ZWROb2RlKDk5
OTk5OSwgKGVycm9yKSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RU
aGF0KGVycm9yLCAiU2hvdWxkIGJlIGFuIGVycm9yIik7CisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIGV2YWx1YXRlJDAoKHJlbW90ZU9iamVjdCkgPT4geworICAgICAgICAgICAgICAgIHJl
bW90ZU9iamVjdC5wdXNoTm9kZVRvRnJvbnRlbmQoKG5vZGVJZCkgPT4geworICAgICAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVtb3RlT2JqZWN0LmlzTm9kZSgpLCAi
JDAgc2hvdWxkIGJlIGEgbm9kZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RUaGF0KG5vZGVJZCA9PT0gbm9kZUEuaWQsICIkMCBzaG91bGQgYmUgTm9kZSBBLiIp
OworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENh
c2UoeworICAgICAgICBuYW1lOiAiU2V0QW5kQ2hlY2tOb2RlQiIsCisgICAgICAgIGRlc2NyaXB0
aW9uOiAiU2V0IHRoZSBpbnNwZWN0ZWQgbm9kZSB0byBiZSBOb2RlIEIgYW5kIGNoZWNrIHRoYXQg
JDAgaXMgTm9kZSBCLiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAg
ICAgICBET01BZ2VudC5zZXRJbnNwZWN0ZWROb2RlKG5vZGVCLmlkKTsKKyAgICAgICAgICAgIGV2
YWx1YXRlJDAoKHJlbW90ZU9iamVjdCkgPT4geworICAgICAgICAgICAgICAgIHJlbW90ZU9iamVj
dC5wdXNoTm9kZVRvRnJvbnRlbmQoKG5vZGVJZCkgPT4geworICAgICAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVtb3RlT2JqZWN0LmlzTm9kZSgpLCAiJDAgc2hvdWxk
IGJlIGEgbm9kZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RU
aGF0KG5vZGVJZCAhPT0gbm9kZUEuaWQsICIkMCBzaG91bGQgbm90IGJlIE5vZGUgQS4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KG5vZGVJZCA9PT0gbm9k
ZUIuaWQsICIkMCBzaG91bGQgYmUgTm9kZSBCLiIpOworICAgICAgICAgICAgICAgICAgICByZXNv
bHZlKCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQor
ICAgIH0pOworCisgICAgLy8gRklYTUU6IFdoYXQgc2hvdWxkICQwIGJlIGFmdGVyIHJlbG9hZGlu
ZyAvIG5hdmlnYXRpbmcgdGhlIHBhZ2UuIFNob3VsZCBpdCBiZSBjbGVhcmVkPworCisgICAgV0ku
ZG9tVHJlZU1hbmFnZXIucmVxdWVzdERvY3VtZW50KChkb2N1bWVudE5vZGUpID0+IHsKKyAgICAg
ICAgV0kuZG9tVHJlZU1hbmFnZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5vZGUuaWQsICIjYSIs
IChjb250ZW50Tm9kZUlkKSA9PiB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChj
b250ZW50Tm9kZUlkLCAiI2Egbm9kZSBzaG91bGQgZXhpc3QuIik7CisgICAgICAgICAgICBub2Rl
QSA9IFdJLmRvbVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChjb250ZW50Tm9kZUlkKTsKKyAgICAgICAg
fSk7CisgICAgICAgIFdJLmRvbVRyZWVNYW5hZ2VyLnF1ZXJ5U2VsZWN0b3IoZG9jdW1lbnROb2Rl
LmlkLCAiI2IiLCAoY29udGVudE5vZGVJZCkgPT4geworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnQoY29udGVudE5vZGVJZCwgIiNiIG5vZGUgc2hvdWxkIGV4aXN0LiIpOworICAgICAg
ICAgICAgbm9kZUIgPSBXSS5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQoY29udGVudE5vZGVJZCk7
CisgICAgICAgICAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKKyAgICAgICAgfSk7
CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKzxwPlRlc3QgZm9yIHRoZSBET00uc2V0SW5zcGVjdGVkTm9kZSBjb21tYW5kLjwvcD4KKzxk
aXYgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CisgICAgPHAgaWQ9ImEiPk5vZGUgQTwvcD4KKyAgICA8
cCBpZD0iYiI+Tm9kZSBCPC9wPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGUzNmExMjI3MjdkMGViMzg4YzE3
N2YyYTZmMzZkOTY5YjcwZjhlZWYuLmJjOTM3ZjcyOWRjNWFiMWE2OWJjMDRhMTNjYTg5YzVjZmNh
YTkxMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0y
MDA4LDcgKzIwMDgsNiBAQCB3ZWJraXQub3JnL2IvMTQ5OTE2IGh0dHAvdGVzdHMvaW5zcGVjdG9y
L2RvbS9kaXNjb25uZWN0LWRvbS10cmVlLWFmdGVyLW1haW4tZnJhbQogd2Via2l0Lm9yZy9iLzE0
OTkxNiBpbnNwZWN0b3IvY29kZW1pcnJvci9wcmV0dHlwcmludGluZy1jc3MuaHRtbCBbIFBhc3Mg
U2xvdyBdCiB3ZWJraXQub3JnL2IvMTQ5OTE2IGluc3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0eXBy
aW50aW5nLWNzcy1ydWxlcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNDk5
MTYgaW5zcGVjdG9yL2NvZGVtaXJyb3IvcHJldHR5cHJpbnRpbmctamF2YXNjcmlwdC5odG1sIFsg
UGFzcyBTbG93IF0KLXdlYmtpdC5vcmcvYi8xNDk5MTYgaW5zcGVjdG9yL2NvbnNvbGUvYWRkSW5z
cGVjdGVkTm9kZS5odG1sIFsgUGFzcyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xNDk5MTYgaW5zcGVj
dG9yL2NvbnNvbGUvY2xlYXJNZXNzYWdlcy5odG1sIFsgUGFzcyBTbG93IF0KIHdlYmtpdC5vcmcv
Yi8xNDk5MTYgaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS5odG1sIFsgUGFzcyBT
bG93IF0KIHdlYmtpdC5vcmcvYi8xNDk5MTYgaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1hcGku
aHRtbCBbIFBhc3MgVGltZW91dCBdCkBAIC0yMDI5LDYgKzIwMjgsNyBAQCB3ZWJraXQub3JnL2Iv
MTQ5OTE2IGluc3BlY3Rvci9jc3Mvc3R5bGVzaGVldC1ldmVudHMtaW1wb3J0cy5odG1sIFsgUGFz
cyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xNDk5MTYgaW5zcGVjdG9yL2Nzcy9zdHlsZXNoZWV0LWV2
ZW50cy1pbnNwZWN0b3Itc3R5bGVzaGVldC5odG1sIFsgUGFzcyBTbG93IF0KIHdlYmtpdC5vcmcv
Yi8xNDk5MTYgaW5zcGVjdG9yL2Nzcy9zdHlsZXNoZWV0LWV2ZW50cy1tdWx0aXBsZS1kb2N1bWVu
dHMuaHRtbCBbIFBhc3MgU2xvdyBdCiB3ZWJraXQub3JnL2IvMTQ5OTE2IGluc3BlY3Rvci9jc3Mv
c3R5bGVzaGVldC13aXRoLW11dGF0aW9ucy5odG1sIFsgUGFzcyBTbG93IF0KK3dlYmtpdC5vcmcv
Yi8xNDk5MTYgaW5zcGVjdG9yL2RvbS9zZXRJbnNwZWN0ZWROb2RlLmh0bWwgWyBQYXNzIFNsb3cg
XQogd2Via2l0Lm9yZy9iLzE0OTkxNiBpbnNwZWN0b3IvaGVhcC9nYXJiYWdlQ29sbGVjdGVkLmh0
bWwgWyBQYXNzIFNsb3cgXQogd2Via2l0Lm9yZy9iLzE0OTkxNiBpbnNwZWN0b3IvaGVhcC9nYy5o
dG1sIFsgUGFzcyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xNDk5MTYgaW5zcGVjdG9yL25ldHdvcmsv
Y2xpZW50LWJsb2NrZWQtbG9hZC5odG1sIFsgUGFzcyBTbG93IF0KQEAgLTIwOTQsNyArMjA5NCw3
IEBAIHdlYmtpdC5vcmcvYi8xMTY5NTggaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Njcm9sbHN0YXRl
LWFmdGVyLWxvY2F0aW9uLXJlbG9hZC5odG1sCiAKIHdlYmtpdC5vcmcvYi8xMjA2ODIgaW5zcGVj
dG9yL3BhZ2UvYXJjaGl2ZS5odG1sIFsgVGltZW91dCBdCiAKLXdlYmtpdC5vcmcvYi8xMjI1NzEg
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jcm9zcy1kb21haW4taW5zcGVjdGVkLW5vZGUt
YWNjZXNzLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQord2Via2l0Lm9yZy9iLzEyMjU3MSBodHRwL3Rl
c3RzL2luc3BlY3Rvci9kb20vY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vzcy5odG1s
IFsgVGltZW91dCBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xMjI1NzEgaW5zcGVjdG9yL2RlYnVnZ2Vy
L3NldEJyZWFrcG9pbnQuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTIyNTcx
IGluc3BlY3Rvci9kZWJ1Z2dlci9jYWxsLWZyYW1lLWZ1bmN0aW9uLW5hbWUuaHRtbCBbIFRpbWVv
dXQgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTIyNTcxIGluc3BlY3Rvci9kZWJ1Z2dlci9zZXRCcmVh
a3BvaW50LW9wdGlvbnMtZXhjZXB0aW9uLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyZmM4YjMwOWMyNGFhNzE4OTgw
ZjExNWUyNzY5NDU0ODYzYjRiMGE4Li41ODc5NGNiMjZkOTM3YzA2YzFjMGRiMDg0ZjQ4MGRmZjYw
ZWQ1OTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTM5Miw3ICsxMzkyLDcgQEAgd2Via2l0Lm9yZy9iLzEyNzExNiBbIERlYnVnIF0gc3ZnL2N1c3Rv
bS9hbmltYXRlLWluaXRpYWwtcGF1c2UtdW5wYXVzZS5odG1sIFsgUGEKIAogd2Via2l0Lm9yZy9i
LzE2MTcyMCBbIERlYnVnIF0gc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbCBb
IFBhc3MgVGltZW91dCBdCiAKLXdlYmtpdC5vcmcvYi8xNTUxMzggWyBEZWJ1ZyBdIGluc3BlY3Rv
ci9jb25zb2xlL2FkZEluc3BlY3RlZE5vZGUuaHRtbCBbIFBhc3MgVGltZW91dCBdCit3ZWJraXQu
b3JnL2IvMTU1MTM4IFsgRGVidWcgXSBpbnNwZWN0b3IvZG9tL3NldEluc3BlY3RlZE5vZGUuaHRt
bCBbIFBhc3MgVGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8xNjMwNDYganMvcmVncmVzcy0xNDEw
OTguaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321777</attachid>
            <date>2017-09-25 17:15:26 -0700</date>
            <delta_ts>2017-09-25 18:40:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176827-20170925171525.patch</filename>
            <type>text/plain</type>
            <size>45230</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDIxZDJkNmM2MTcwOWEzOTlmNjY4MjAxYjIzM2Rj
MTQyYzJiYmE4NjguLmU1MWUyOWFkMTZmZGVmZmE2Y2RkODdlMTUxNzRiOWNjZDU1YWE1YzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA5LTI1ICBEZXZp
biBSb3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IG1vdmUgQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIHRvIERPTS5zZXRJbnNwZWN0ZWROb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4MjcK
KworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oOgorCisgICAgICAgICogaW5zcGVj
dG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoSW5z
cGVjdG9yOjpKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZSk6IERl
bGV0ZWQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvQ29uc29sZS5qc29uOgorICAg
ICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbjoKKwogMjAxNy0wOS0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgQXR0
cmlidXRlIGFuIGVudW0gY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwZmQwOWUwOGFlNTc3Y2E1NzJkMzRh
Mjc0NTM4NmVjZGFiNjRkYjQzLi5kZjExOGQ2YjhmZjllYmRhMTMxZWNlNTJmNGQ0Y2RlNWNjNTI0
YzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDktMjUgIERldmluIFJvdXNz
byAgPHdlYmtpdEBkZXZpbnJvdXNzby5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogbW92
ZSBDb25zb2xlLmFkZEluc3BlY3RlZE5vZGUgdG8gRE9NLnNldEluc3BlY3RlZE5vZGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNworCisgICAg
ICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICBUZXN0czogaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZG9tL2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQtbm9kZS1hY2Nlc3MuaHRt
bAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL2RvbS9zZXRJbnNwZWN0ZWROb2RlLmh0bWwKKwor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JE
T01BZ2VudDo6c2V0SW5zcGVjdGVkTm9kZSk6CisKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUNv
bnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5vZGUpOiBE
ZWxldGVkLgorCisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKTogRGVsZXRlZC4KKwogMjAx
Ny0wOS0yNSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtXZWJJRExd
IEZhY3RvciBvdXQgSXNFeGNlcHRpb25PciBjaGVjayBmcm9tIHRvSlMvdG9KU05ld2x5Q3JlYXRl
ZCBzaWduYXR1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDNkN2Q4MGQxMjYyN2NhMGYy
NmRjNjg0MWJlMGE1ZWE0NTFmNzc5ZjcuLmNiOGIwYzg2YjhlY2U5OTQzNzFlNDZhNmJhNDQ2Yjk4
MThiM2Y4MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3
LTA5LTI1ICBEZXZpbiBSb3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IG1vdmUgQ29uc29sZS5hZGRJbnNwZWN0ZWROb2RlIHRvIERPTS5zZXRJ
bnNwZWN0ZWROb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzY4MjcKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzOgorICAg
ICAgICAoV0kuRE9NVHJlZU1hbmFnZXIpOgorICAgICAgICAoV0kuRE9NVHJlZU1hbmFnZXIucHJv
dG90eXBlLnNldEluc3BlY3RlZE5vZGUpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9ET01UcmVlQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcu
cHJvdG90eXBlLl9zZWxlY3RlZE5vZGVEaWRDaGFuZ2UpOgorCiAyMDE3LTA5LTI1ICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBmb2xs
b3ctdXAgdG8gcjIyMjQ3MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKaW5kZXggYjJiMmE2
YTcwY2IzYjg3ZDBjYzIxM2IwZmQ0YjBiZjA1NWQ5ZTQ5MC4uZTIxYTBjZjMyOWU4YmY5ZWQ4MDMw
MWNhYzNlOGZjYmE4ZDI4NmMzOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTYy
LDcgKzYyLDYgQEAgcHVibGljOgogICAgIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyYpIG92ZXJy
aWRlOwogICAgIHZvaWQgY2xlYXJNZXNzYWdlcyhFcnJvclN0cmluZyYpIG92ZXJyaWRlOwogICAg
IHZvaWQgc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoRXJyb3JTdHJpbmcmLCBib29sIGVuYWJsZWQp
IG92ZXJyaWRlID0gMDsKLSAgICB2b2lkIGFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcmLCBp
bnQgbm9kZUlkKSBvdmVycmlkZSA9IDA7CiAKICAgICBib29sIGVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2VuYWJsZWQ7IH0KICAgICB2b2lkIHJlc2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2Vu
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudC5jcHAKaW5kZXggNDAxMTYyYmMyOTUxYTE0YmM0M2E0MGI0ZjEwNTE5
ZDI0Y2UwNzg4Yi4uZGI4OGZjY2UyYzM5OTNhOWYzZjJkN2U2YjJkMTk4OGVmZTY5Y2IyZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxP
YmplY3RDb25zb2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApAQCAtMzgsOSArMzgsNCBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50OjpzZXRNb25pdG9yaW5nWEhSRW5hYmxl
ZChFcnJvclN0cmluZyYgZXJyb3JTdHJpbgogICAgIGVycm9yU3RyaW5nID0gQVNDSUlMaXRlcmFs
KCJOb3Qgc3VwcG9ydGVkIGZvciBKYXZhU2NyaXB0IGNvbnRleHQiKTsKIH0KIAotdm9pZCBKU0ds
b2JhbE9iamVjdENvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyYgZXJy
b3JTdHJpbmcsIGludCkKLXsKLSAgICBlcnJvclN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgiTm90IHN1
cHBvcnRlZCBmb3IgSmF2YVNjcmlwdCBjb250ZXh0Iik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIElu
c3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgKaW5kZXggOTVkMDBj
ZWUyMTNhNjRjMjc0YmIzODc1NjMzNzMzNTE2ZTZlZjI1Zi4uMTI5MTgyYTFiM2UwZjI0ZGY2ZDI5
YjMwNjE2OWRlYTZjZjQwMThhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2Vu
dC5oCkBAIC0zOCw3ICszOCw2IEBAIHB1YmxpYzoKIAogICAgIC8vIEZJWE1FOiBYSFJzIGFuZCBO
b2RlcyBvbmx5IG1ha2VzIHNlbnNlIGRlYnVnZ2luZyBhIFdlYiBjb250ZXh0LiBDYW4gdGhpcyBi
ZSBtb3ZlZCB0byBhIGRpZmZlcmVudCBhZ2VudD8KICAgICB2b2lkIHNldE1vbml0b3JpbmdYSFJF
bmFibGVkKEVycm9yU3RyaW5nJiwgYm9vbCBlbmFibGVkKSBvdmVycmlkZTsKLSAgICB2b2lkIGFk
ZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlkKSBvdmVycmlkZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9Db25zb2xlLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3Byb3RvY29sL0NvbnNvbGUuanNvbgppbmRleCAyMDY4NjhlZTgzOTBiYjNi
NGNkZTFmYzA0NGVlNzdmYzRhYjAxYzJhLi5iNGQxMGNlZjk5NTc2ZTFhZTNhZTE0OTE0YjkyZWY5
ZjAxZmEwYWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3By
b3RvY29sL0NvbnNvbGUuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL0NvbnNvbGUuanNvbgpAQCAtNjQsMTMgKzY0LDYgQEAKICAgICAgICAgICAgICJw
YXJhbWV0ZXJzIjogWwogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZW5hYmxlZCIsICJ0eXBl
IjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiTW9uaXRvcmluZyBlbmFibGVkIHN0YXRlLiIg
fQogICAgICAgICAgICAgXQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFt
ZSI6ICJhZGRJbnNwZWN0ZWROb2RlIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFi
bGVzIGNvbnNvbGUgdG8gcmVmZXIgdG8gdGhlIG5vZGUgd2l0aCBnaXZlbiBpZCB2aWEgJDAgKHNl
ZSBDb21tYW5kIExpbmUgQVBJIGZvciBtb3JlIGRldGFpbHMpLiIsCi0gICAgICAgICAgICAicGFy
YW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICIkcmVmIjog
IkRPTS5Ob2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiRE9NIG5vZGUgaWQgdG8gYmUgYWNjZXNzaWJs
ZSBieSBtZWFucyBvZiAkMCBjb21tYW5kIGxpbmUgQVBJLiIgfQotICAgICAgICAgICAgXQogICAg
ICAgICB9CiAgICAgXSwKICAgICAiZXZlbnRzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KaW5kZXggMjZhNzU0NTVkODRkNjY2YzU4
YWVlYmQ1M2YwNmExYzFhNmI0NTlkYy4uZjlkZjY2ZDMxNjNkNmJmOWNmMTgzY2U3ODk3NDgxOTY0
NTY2ODZhZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90
b2NvbC9ET00uanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RPTS5qc29uCkBAIC00NzUsNiArNDc1LDEzIEBACiAgICAgICAgICAgICAicGFyYW1ldGVy
cyI6IFsKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICIkcmVmIjogIk5vZGVJ
ZCIsICJkZXNjcmlwdGlvbiI6ICJJZCBvZiB0aGUgbm9kZSB0byBmb2N1cy4iIH0KICAgICAgICAg
ICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAic2V0SW5z
cGVjdGVkTm9kZSIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBjb25zb2xl
IHRvIHJlZmVyIHRvIHRoZSBub2RlIHdpdGggZ2l2ZW4gaWQgdmlhICQwIChzZWUgQ29tbWFuZCBM
aW5lIEFQSSBmb3IgbW9yZSBkZXRhaWxzKS4iLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBb
CisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAi
ZGVzY3JpcHRpb24iOiAiRE9NIG5vZGUgaWQgdG8gYmUgYWNjZXNzaWJsZSBieSBtZWFucyBvZiAk
MCBjb21tYW5kIGxpbmUgQVBJLiIgfQorICAgICAgICAgICAgXQogICAgICAgICB9CiAgICAgXSwK
ICAgICAiZXZlbnRzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHAKaW5kZXggNDlmZjczZDdjNDlhZmY2ZTI4YTRjODE2NjU4OGI0NTI4YzMyZDI4
Ny4uNjZiNDc1MGJjZmExYzZmOTE1ZDA2OWYyNzM0NmQwMjJjMjMzZDExMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC00Miw2ICs0Miw3
IEBACiAjaW5jbHVkZSAiQ1NTU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5o
IgogI2luY2x1ZGUgIkNoYXJhY3RlckRhdGEuaCIKKyNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhv
c3QuaCIKICNpbmNsdWRlICJDb250YWluZXJOb2RlLmgiCiAjaW5jbHVkZSAiQ29va2llLmgiCiAj
aW5jbHVkZSAiQ29va2llSmFyLmgiCkBAIC05Miw2ICs5Myw3IEBACiAjaW5jbHVkZSAiVGV4dC5o
IgogI2luY2x1ZGUgIlRleHROb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNp
bmNsdWRlICJXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJYUGF0aFJlc3Vs
dC5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JZGVudGlmaWVy
c0ZhY3RvcnkuaD4KQEAgLTIwMCw2ICsyMDIsMjEgQEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRy
aWJ1dGVUYXNrOjp0aW1lckZpcmVkKCkKICAgICBtX2VsZW1lbnRzLmNsZWFyKCk7CiB9CiAKK2Ns
YXNzIEluc3BlY3RhYmxlTm9kZSBmaW5hbCA6IHB1YmxpYyBDb21tYW5kTGluZUFQSUhvc3Q6Oklu
c3BlY3RhYmxlT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBJbnNwZWN0YWJsZU5vZGUo
Tm9kZSogbm9kZSkKKyAgICAgICAgOiBtX25vZGUobm9kZSkKKyAgICB7CisgICAgfQorCisgICAg
SlNDOjpKU1ZhbHVlIGdldChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUpIGZpbmFsCisgICAgeworICAg
ICAgICByZXR1cm4gSW5zcGVjdG9yRE9NQWdlbnQ6Om5vZGVBc1NjcmlwdFZhbHVlKHN0YXRlLCBt
X25vZGUuZ2V0KCkpOworICAgIH0KK3ByaXZhdGU6CisgICAgUmVmUHRyPE5vZGU+IG1fbm9kZTsK
K307CisKIFN0cmluZyBJbnNwZWN0b3JET01BZ2VudDo6dG9FcnJvclN0cmluZyhFeGNlcHRpb25D
b2RlIGVjKQogewogICAgIHJldHVybiBlYyA/IFN0cmluZyhET01FeGNlcHRpb246Om5hbWUoZWMp
KSA6IGVtcHR5U3RyaW5nKCk7CkBAIC0xMjU1LDYgKzEyNzIsMTggQEAgdm9pZCBJbnNwZWN0b3JE
T01BZ2VudDo6Zm9jdXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkKQogICAg
IGVsZW1lbnQtPmZvY3VzKCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldEluc3Bl
Y3RlZE5vZGUoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkKQoreworICAgIE5v
ZGUqIG5vZGUgPSBub2RlRm9ySWQobm9kZUlkKTsKKyAgICBpZiAoIW5vZGUgfHwgbm9kZS0+aXNJ
blVzZXJBZ2VudFNoYWRvd1RyZWUoKSkgeworICAgICAgICBlcnJvclN0cmluZyA9IEFTQ0lJTGl0
ZXJhbCgiTm8gbm9kZSB3aXRoIGdpdmVuIGlkIGZvdW5kIik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQSUhvc3QgPSBz
dGF0aWNfY2FzdDxXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXImPihtX2luamVjdGVkU2NyaXB0TWFu
YWdlcikuY29tbWFuZExpbmVBUElIb3N0KCkpCisgICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+
YWRkSW5zcGVjdGVkT2JqZWN0KHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdGFibGVOb2RlPihub2Rl
KSk7Cit9CisKIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlc29sdmVOb2RlKEVycm9yU3RyaW5n
JiBlcnJvclN0cmluZywgaW50IG5vZGVJZCwgY29uc3QgU3RyaW5nKiBjb25zdCBvYmplY3RHcm91
cCwgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJl
c3VsdCkKIHsKICAgICBTdHJpbmcgb2JqZWN0R3JvdXBOYW1lID0gb2JqZWN0R3JvdXAgPyAqb2Jq
ZWN0R3JvdXAgOiBlbXB0eVN0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NQWdlbnQuaAppbmRleCAxN2FmMjg0ZDE5Zjk4NDBjMmQ5OThmYWRhNzJmOGE3YmQy
NTRlZDU0Li42ZTVhMzQzMzhhNDgxZWU0OWY4YTc1NjhlZWI4NjQ4ZWY2Njc1OTVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMTQxLDEyICsx
NDEsMTIgQEAgcHVibGljOgogICAgIHZvaWQgaGlnaGxpZ2h0Tm9kZShFcnJvclN0cmluZyYsIGNv
bnN0IEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0JiBoaWdobGlnaHRDb25maWcsIGNvbnN0IGlu
dCogY29uc3Qgbm9kZUlkLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdElkKSBvdmVycmlkZTsK
ICAgICB2b2lkIGhpZ2hsaWdodE5vZGVMaXN0KEVycm9yU3RyaW5nJiwgY29uc3QgSW5zcGVjdG9y
OjpJbnNwZWN0b3JBcnJheSYgbm9kZUlkcywgY29uc3QgSW5zcGVjdG9yOjpJbnNwZWN0b3JPYmpl
Y3QmIGhpZ2hsaWdodENvbmZpZykgb3ZlcnJpZGU7CiAgICAgdm9pZCBoaWdobGlnaHRGcmFtZShF
cnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgSW5zcGVjdG9yOjpJbnNw
ZWN0b3JPYmplY3QqIGNvbG9yLCBjb25zdCBJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdCogb3V0
bGluZUNvbG9yKSBvdmVycmlkZTsKLQogICAgIHZvaWQgbW92ZVRvKEVycm9yU3RyaW5nJiwgaW50
IG5vZGVJZCwgaW50IHRhcmdldE5vZGVJZCwgY29uc3QgaW50KiBjb25zdCBhbmNob3JOb2RlSWQs
IGludCogbmV3Tm9kZUlkKSBvdmVycmlkZTsKICAgICB2b2lkIHVuZG8oRXJyb3JTdHJpbmcmKSBv
dmVycmlkZTsKICAgICB2b2lkIHJlZG8oRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lk
IG1hcmtVbmRvYWJsZVN0YXRlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBmb2N1
cyhFcnJvclN0cmluZyYsIGludCBub2RlSWQpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0SW5zcGVj
dGVkTm9kZShFcnJvclN0cmluZyYsIGludCBub2RlSWQpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBn
ZXRFdmVudExpc3RlbmVycyhOb2RlKiwgVmVjdG9yPEV2ZW50TGlzdGVuZXJJbmZvPiYgbGlzdGVu
ZXJzQXJyYXksIGJvb2wgaW5jbHVkZUFuY2VzdG9ycyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcAppbmRleCBjYjE1Yzg4Yjk4ZGE2YzFjZTNmMmYw
YTgyYjZjN2NmY2UwNzdhMmRkLi5mNjhjMzFkNTIxYmRmZmU4ZjYyNGI1ZTE3ZGEwODhhZmUwODMx
NTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuY3Bw
CkBAIC01NCwyNyArNTQsNCBAQCB2b2lkIFBhZ2VDb25zb2xlQWdlbnQ6OmNsZWFyTWVzc2FnZXMo
RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nKQogICAgIFdlYkNvbnNvbGVBZ2VudDo6Y2xlYXJNZXNz
YWdlcyhlcnJvclN0cmluZyk7CiB9CiAKLWNsYXNzIEluc3BlY3RhYmxlTm9kZSBmaW5hbCA6IHB1
YmxpYyBDb21tYW5kTGluZUFQSUhvc3Q6Okluc3BlY3RhYmxlT2JqZWN0IHsKLXB1YmxpYzoKLSAg
ICBleHBsaWNpdCBJbnNwZWN0YWJsZU5vZGUoTm9kZSogbm9kZSkgOiBtX25vZGUobm9kZSkgeyB9
Ci0gICAgSlNDOjpKU1ZhbHVlIGdldChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUpIGZpbmFsCi0gICAg
ewotICAgICAgICByZXR1cm4gSW5zcGVjdG9yRE9NQWdlbnQ6Om5vZGVBc1NjcmlwdFZhbHVlKHN0
YXRlLCBtX25vZGUuZ2V0KCkpOwotICAgIH0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPE5vZGU+IG1f
bm9kZTsKLX07Ci0KLXZvaWQgUGFnZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJv
clN0cmluZyYgZXJyb3JTdHJpbmcsIGludCBub2RlSWQpCi17Ci0gICAgTm9kZSogbm9kZSA9IG1f
aW5zcGVjdG9yRE9NQWdlbnQtPm5vZGVGb3JJZChub2RlSWQpOwotICAgIGlmICghbm9kZSB8fCBu
b2RlLT5pc0luVXNlckFnZW50U2hhZG93VHJlZSgpKSB7Ci0gICAgICAgIGVycm9yU3RyaW5nID0g
QVNDSUlMaXRlcmFsKCJub2RlSWQgaXMgbm90IHZhbGlkIik7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5kTGluZUFQSUhvc3QgPSBz
dGF0aWNfY2FzdDxXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXImPihtX2luamVjdGVkU2NyaXB0TWFu
YWdlcikuY29tbWFuZExpbmVBUElIb3N0KCkpCi0gICAgICAgIGNvbW1hbmRMaW5lQVBJSG9zdC0+
YWRkSW5zcGVjdGVkT2JqZWN0KHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdGFibGVOb2RlPihub2Rl
KSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvUGFnZUNvbnNvbGVBZ2VudC5oCmluZGV4IDMxNzdkYzBmY2MyMjBkMDczZDhjNTZhZWJhNDRh
ZGY3NDE5MWZhYTguLmIwYzFjYTc1M2YyZDBlMTljMTAwODQyOTZjNzBjZTQzYmQ0MjllN2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaApAQCAtNDcsNyAr
NDcsNiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhck1lc3NhZ2VzKEVycm9y
U3RyaW5nJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBhZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5n
JiwgaW50IG5vZGVJZCkgb3ZlcnJpZGU7CiAKICAgICBJbnNwZWN0b3JET01BZ2VudCogbV9pbnNw
ZWN0b3JET01BZ2VudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VyQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJD
b25zb2xlQWdlbnQuY3BwCmluZGV4IGFmNzE0Mjk0OTg4NzE1NTQ4NjQwZDcyZDYwMTFiODFkY2E5
ZDgxMWEuLjdlYTVlNGEwNTIxMjJiYWVhNWI5ZDBlMWViNmY3NmY0MDVhZGUwMmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwCkBAIC0zNSw5
ICszNSw0IEBAIFdvcmtlckNvbnNvbGVBZ2VudDo6V29ya2VyQ29uc29sZUFnZW50KFdvcmtlckFn
ZW50Q29udGV4dCYgY29udGV4dCwgSW5zcGVjdG9ySGVhCiB7CiB9CiAKLXZvaWQgV29ya2VyQ29u
c29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgaW50
KQotewotICAgIGVycm9yU3RyaW5nID0gQVNDSUlMaXRlcmFsKCJVbnN1cHBvcnRlZCBmb3IgV29y
a2Vycy4iKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oCmluZGV4IGQyMDc4YjhjY2ZjYTQxYzQyNDJj
OWU3MTM0NWJhMmFiYzUyY2NiYWMuLjVhMWRjMjMwOGMxMGFhMzFmMTY1YjU2YjIyZjY5MWFiZTNm
NWE1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xl
QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50
LmgKQEAgLTM2LDkgKzM2LDYgQEAgY2xhc3MgV29ya2VyQ29uc29sZUFnZW50IGZpbmFsIDogcHVi
bGljIFdlYkNvbnNvbGVBZ2VudCB7CiBwdWJsaWM6CiAgICAgV29ya2VyQ29uc29sZUFnZW50KFdv
cmtlckFnZW50Q29udGV4dCYsIEluc3BlY3Rvcjo6SW5zcGVjdG9ySGVhcEFnZW50Kik7CiAgICAg
fldvcmtlckNvbnNvbGVBZ2VudCgpIHsgfQotCi1wcml2YXRlOgotICAgIHZvaWQgYWRkSW5zcGVj
dGVkTm9kZShFcnJvclN0cmluZyYsIGludCBub2RlSWQpIG92ZXJyaWRlOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5qcwppbmRleCBm
MDFhOWMzM2I1ZGMwNzEwYjQxMjI2YTA5YjE1OTZiN2Y4MzFiYzc1Li44Mjc4MmZlNzhhZDBkY2Zj
ZmYzMTJmMjZhMTlmNTg3MTA0MTAxMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdl
ci5qcwpAQCAtNDEsNiArNDEsNyBAQCBXSS5ET01UcmVlTWFuYWdlciA9IGNsYXNzIERPTVRyZWVN
YW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuX2F0dHJpYnV0ZUxvYWROb2Rl
SWRzID0ge307CiAgICAgICAgIHRoaXMuX3Jlc3RvcmVTZWxlY3RlZE5vZGVJc0FsbG93ZWQgPSB0
cnVlOwogICAgICAgICB0aGlzLl9sb2FkTm9kZUF0dHJpYnV0ZXNUaW1lb3V0ID0gMDsKKyAgICAg
ICAgdGhpcy5faW5zcGVjdGVkTm9kZSA9IG51bGw7CiAKICAgICAgICAgV0kuRnJhbWUuYWRkRXZl
bnRMaXN0ZW5lcihXSS5GcmFtZS5FdmVudC5NYWluUmVzb3VyY2VEaWRDaGFuZ2UsIHRoaXMuX21h
aW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcyk7CiAgICAgfQpAQCAtNTAyLDYgKzUwMywyOSBAQCBX
SS5ET01UcmVlTWFuYWdlciA9IGNsYXNzIERPTVRyZWVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0
CiAgICAgICAgIH0pOwogICAgIH0KIAorICAgIHNldEluc3BlY3RlZE5vZGUobm9kZSkKKyAgICB7
CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KG5vZGUgaW5zdGFuY2VvZiBXSS5ET01Ob2RlKTsKKyAg
ICAgICAgaWYgKG5vZGUgPT09IHRoaXMuX2luc3BlY3RlZE5vZGUpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgbGV0IGNhbGxiYWNrID0gKGVycm9yKSA9PiB7CisgICAgICAgICAgICBj
b25zb2xlLmFzc2VydCghZXJyb3IsIGVycm9yKTsKKyAgICAgICAgICAgIGlmIChlcnJvcikKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIHRoaXMuX2luc3BlY3RlZE5vZGUg
PSBub2RlOworICAgICAgICB9OworCisgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMSk6
IERPTS5zZXRJbnNwZWN0ZWROb2RlIGRpZCBub3QgZXhpc3QuCisgICAgICAgIGlmICghRE9NQWdl
bnQuc2V0SW5zcGVjdGVkTm9kZSkgeworICAgICAgICAgICAgQ29uc29sZUFnZW50LmFkZEluc3Bl
Y3RlZE5vZGUobm9kZS5pZCwgY2FsbGJhY2spOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgRE9NQWdlbnQuc2V0SW5zcGVjdGVkTm9kZShub2RlLmlkLCBjYWxsYmFj
ayk7CisgICAgfQorCiAgICAgX2J1aWxkSGlnaGxpZ2h0Q29uZmlnKG1vZGUgPSAiYWxsIikKICAg
ICB7CiAgICAgICAgIGxldCBoaWdobGlnaHRDb25maWcgPSB7c2hvd0luZm86IG1vZGUgPT09ICJh
bGwifTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwppbmRleCBjMWJmOTJjZjNiN2JiMDYx
MzY2M2IzN2IyNjVmZWMyYjM5NTI5MGRjLi45M2E5YTZiMmM5MTc0NjYxMmVjMjg5MTQ2ZjIxMWUw
ODAxNDlhZmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCkBAIC00MzUsNyArNDM1
LDcgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgICAgIHRoaXMuX2xhc3RTZWxlY3RlZE5vZGVQ
YXRoU2V0dGluZy52YWx1ZSA9IHt1cmw6IFdJLmZyYW1lUmVzb3VyY2VNYW5hZ2VyLm1haW5GcmFt
ZS51cmwuaGFzaCwgcGF0aDogc2VsZWN0ZWRET01Ob2RlLnBhdGgoKX07CiAKICAgICAgICAgaWYg
KHNlbGVjdGVkRE9NTm9kZSkKLSAgICAgICAgICAgIENvbnNvbGVBZ2VudC5hZGRJbnNwZWN0ZWRO
b2RlKHNlbGVjdGVkRE9NTm9kZS5pZCk7CisgICAgICAgICAgICBXSS5kb21UcmVlTWFuYWdlci5z
ZXRJbnNwZWN0ZWROb2RlKHNlbGVjdGVkRE9NTm9kZSk7CiAKICAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoV0kuQ29udGVudFZpZXcuRXZlbnQuU2VsZWN0aW9uUGF0aENvbXBv
bmVudHNEaWRDaGFuZ2UpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMTBhZGZkMjViNjhkN2ZjYjUxNDc0NjIx
MmVlNWE1ODA4NjUxMjNhLi5jYWE4ZDE0ZDI1OTA3MDhmMWQyNGJlYzAyMDFmZTEzYjNkYWI5YTg2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTctMDktMjUgIERldmluIFJvdXNzbyAgPHdlYmtp
dEBkZXZpbnJvdXNzby5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogbW92ZSBDb25zb2xl
LmFkZEluc3BlY3RlZE5vZGUgdG8gRE9NLnNldEluc3BlY3RlZE5vZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNworCisgICAgICAgIFJldmll
d2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9y
L2RvbS9jcm9zcy1kb21haW4taW5zcGVjdGVkLW5vZGUtYWNjZXNzLWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY3Jvc3Mt
ZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vzcy1leHBlY3RlZC50eHQuCisgICAgICAgICogaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZG9tL2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQtbm9kZS1hY2Nlc3Mu
aHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vzcy5odG1sLgorICAgICAgICAqIGlu
c3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGkuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZG9tL3NldEluc3BlY3RlZE5vZGUtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvYWRkSW5zcGVjdGVkTm9kZS1leHBlY3RlZC50eHQuCisg
ICAgICAgICogaW5zcGVjdG9yL2RvbS9zZXRJbnNwZWN0ZWROb2RlLmh0bWw6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9hZGRJbnNwZWN0ZWROb2RlLmh0bWwuCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTctMDktMjUgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYlJUQyB2aWRlbyBkb2VzIG5vdCByZXN1bWUg
cmVjZWl2aW5nIHdoZW4gc3dpdGNoaW5nIGJhY2sgdG8gU2FmYXJpIDExIG9uIGlPUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jcm9zcy1kb21h
aW4taW5zcGVjdGVkLW5vZGUtYWNjZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vz
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2MzhmNmJkODVh
NzJmNmFiZDcwOGQ3NzhmMDk4ODdhMWFmNjI0MTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jcm9zcy1kb21haW4taW5zcGVjdGVkLW5vZGUtYWNjZXNzLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0MjogQmxv
Y2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNj
ZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIuIFByb3Rv
Y29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgNDI6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
IiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgotVGVzdCB0aGF0
IGNvZGUgZXZhbHVhdGVkIGluIHRoZSBtYWluIGZyYW1lIGNhbm5vdCBhY2Nlc3MgJDAgdGhhdCBy
ZXNvbHZlcyB0byBhIG5vZGUgaW4gYSBmcmFtZSBmcm9tIGEgZGlmZmVyZW50IGRvbWFpbi4gQnVn
IDEwNTQyMy4KLQotCi1QQVNTOiBQYWdlIHNob3VsZCBoYXZlIGEgc3ViZnJhbWUuCi0KLT09IFJ1
bm5pbmcgdGVzdCBzdWl0ZTogQ29tbWFuZExpbmVBUEkuJDAuY3Jvc3MtZnJhbWUKLS0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBBdHRlbXB0Q3Jvc3NGcmFtZSQwQWNjZXNzRnJvbU1haW5GcmFtZQotU2V0
dGluZyAkMCB0byBub2RlIHdpdGhpbiBzdWJmcmFtZS4KLVBBU1M6IE1haW5GcmFtZSBhY2Nlc3Mg
dG8gJDAgbm9kZSBpbiBzdWJmcmFtZSBzaG91bGQgYmUgbnVsbC4KLQotLS0gUnVubmluZyB0ZXN0
IGNhc2U6IEF0dGVtcHRTYW1lRnJhbWUkMEFjY2Vzc0Zyb21NYWluRnJhbWUKLVNldHRpbmcgJDAg
dG8gbm9kZSB3aXRoaW4gdGhlIG1haW4gZnJhbWUuCi1QQVNTOiBNYWluRnJhbWUgYWNjZXNzIHRv
ICQwIG5vZGUgaW4gbWFpbiBmcmFtZSBzaG91bGQgYmUgYSBub2RlLgotCi0tLSBSdW5uaW5nIHRl
c3QgY2FzZTogQXR0ZW1wdENyb3NzRnJhbWUkMEFjY2Vzc0Zyb21TdWJGcmFtZQotU2V0dGluZyAk
MCB0byBub2RlIHdpdGhpbiB0aGUgbWFpbiBmcmFtZS4KLVBBU1M6IFN1YkZyYW1lIGFjY2VzcyB0
byAkMCBub2RlIGluIG1haW4gZnJhbWUgc2hvdWxkIGJlIG51bGwuCi0KLS0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBBdHRlbXB0U2FtZUZyYW1lJDBBY2Nlc3NGcm9tU3ViRnJhbWUKLVNldHRpbmcgJDAg
dG8gbm9kZSB3aXRoaW4gdGhlIHN1YmZyYW1lLgotUEFTUzogU3ViRnJhbWUgYWNjZXNzIHRvICQw
IG5vZGUgaW4gc3ViIGZyYW1lIHNob3VsZCBiZSBhIG5vZGUuCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY3Jvc3MtZG9tYWluLWluc3BlY3Rl
ZC1ub2RlLWFjY2Vzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jcm9zcy1kb21haW4taW5zcGVjdGVkLW5vZGUtYWNjZXNzLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGIwZDBmNDk1Y2FlMTFjYTQ2ZWVjYTE4NWY4MGQxMWRkNmE3OTI3
ZjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jcm9zcy1kb21haW4taW5zcGVjdGVk
LW5vZGUtYWNjZXNzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi08IWRvY3R5
cGUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRl
QXN5bmNTdWl0ZSgiQ29tbWFuZExpbmVBUEkuJDAuY3Jvc3MtZnJhbWUiKTsKLQotICAgIGxldCBt
YWluRnJhbWUgPSBXSS5mcmFtZVJlc291cmNlTWFuYWdlci5tYWluRnJhbWU7Ci0gICAgbGV0IGNo
aWxkRnJhbWVzID0gbWFpbkZyYW1lLmNoaWxkRnJhbWVDb2xsZWN0aW9uLnRvQXJyYXkoKTsKLSAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKGNoaWxkRnJhbWVzLmxlbmd0aCwgMSwgIlBhZ2Ug
c2hvdWxkIGhhdmUgYSBzdWJmcmFtZS4iKTsKLQotICAgIGxldCBub2RlSW5NYWluRnJhbWVJZDsK
LSAgICBsZXQgbm9kZUluU3ViRnJhbWVJZDsKLQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAg
ICAgICAgbmFtZTogIkF0dGVtcHRDcm9zc0ZyYW1lJDBBY2Nlc3NGcm9tTWFpbkZyYW1lIiwKLSAg
ICAgICAgZGVzY3JpcHRpb246ICJTaG91bGQgbm90IGJlIGFibGUgdG8gYWNjZXNzICQwIG5vZGUg
aW4gZGlmZmVyZW50IGRvbWFpbiBzdWJmcmFtZSBmcm9tIHRoZSBtYWluIGZyYW1lLiIsCi0gICAg
ICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lmxv
ZygiU2V0dGluZyAkMCB0byBub2RlIHdpdGhpbiBzdWJmcmFtZS4iKTsKLSAgICAgICAgICAgIENv
bnNvbGVBZ2VudC5hZGRJbnNwZWN0ZWROb2RlKG5vZGVJblN1YkZyYW1lSWQpOwotICAgICAgICAg
ICAgUnVudGltZUFnZW50LmV2YWx1YXRlLmludm9rZSh7ZXhwcmVzc2lvbjogIiQwIiwgaW5jbHVk
ZUNvbW1hbmRMaW5lQVBJOiB0cnVlfSwgKGVycm9yLCByZW1vdGVPYmplY3RQYXlsb2FkLCB3YXNU
aHJvd24pID0+IHsgICAgCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVy
cm9yLCAiU2hvdWxkIG5vdCBiZSBhIHByb3RvY29sIGVycm9yLiIpOwotICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0KCF3YXNUaHJvd24sICJTaG91bGQgbm90IGJlIGFuIGV4Y2Vw
dGlvbi4iKTsKLSAgICAgICAgICAgICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3RlT2Jq
ZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxvYWQpOwotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZW1vdGVPYmplY3QudmFsdWUgPT09IG51bGwsICJNYWlu
RnJhbWUgYWNjZXNzIHRvICQwIG5vZGUgaW4gc3ViZnJhbWUgc2hvdWxkIGJlIG51bGwuIik7Ci0g
ICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAg
ICB9KTsKLQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIkF0dGVtcHRT
YW1lRnJhbWUkMEFjY2Vzc0Zyb21NYWluRnJhbWUiLAotICAgICAgICBkZXNjcmlwdGlvbjogIlNo
b3VsZCBiZSBhYmxlIHRvIGFjY2VzcyAkMCBub2RlIGluIHRoZSBzYW1lIGZyYW1lLiIsCi0gICAg
ICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lmxv
ZygiU2V0dGluZyAkMCB0byBub2RlIHdpdGhpbiB0aGUgbWFpbiBmcmFtZS4iKTsKLSAgICAgICAg
ICAgIENvbnNvbGVBZ2VudC5hZGRJbnNwZWN0ZWROb2RlKG5vZGVJbk1haW5GcmFtZUlkKTsKLSAg
ICAgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZS5pbnZva2Uoe2V4cHJlc3Npb246ICIkMCIs
IGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZX0sIChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9h
ZCwgd2FzVGhyb3duKSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQo
IWVycm9yLCAiU2hvdWxkIG5vdCBiZSBhIHByb3RvY29sIGVycm9yLiIpOwotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCF3YXNUaHJvd24sICJTaG91bGQgbm90IGJlIGFuIGV4
Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3Rl
T2JqZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxvYWQpOwotICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZW1vdGVPYmplY3QuaXNOb2RlKCksICJNYWluRnJh
bWUgYWNjZXNzIHRvICQwIG5vZGUgaW4gbWFpbiBmcmFtZSBzaG91bGQgYmUgYSBub2RlLiIpOwot
ICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0g
ICAgfSk7Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJBdHRlbXB0
Q3Jvc3NGcmFtZSQwQWNjZXNzRnJvbVN1YkZyYW1lIiwKLSAgICAgICAgZGVzY3JpcHRpb246ICJT
aG91bGQgbm90IGJlIGFibGUgdG8gYWNjZXNzICQwIG5vZGUgaW4gZGlmZmVyZW50IGRvbWFpbiBt
YWluIGZyYW1lIGZyb20gdGhlIHN1YmZyYW1lLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVq
ZWN0KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU2V0dGluZyAkMCB0byBub2Rl
IHdpdGhpbiB0aGUgbWFpbiBmcmFtZS4iKTsKLSAgICAgICAgICAgIENvbnNvbGVBZ2VudC5hZGRJ
bnNwZWN0ZWROb2RlKG5vZGVJbk1haW5GcmFtZUlkKTsKLSAgICAgICAgICAgIFJ1bnRpbWVBZ2Vu
dC5ldmFsdWF0ZS5pbnZva2Uoe2V4cHJlc3Npb246ICIkMCIsIGluY2x1ZGVDb21tYW5kTGluZUFQ
STogdHJ1ZSwgY29udGV4dElkOiBjaGlsZEZyYW1lc1swXS5wYWdlRXhlY3V0aW9uQ29udGV4dC5p
ZH0sIChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7Ci0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiU2hvdWxkIG5vdCBiZSBhIHBy
b3RvY29sIGVycm9yLiIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCF3
YXNUaHJvd24sICJTaG91bGQgbm90IGJlIGFuIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAg
ICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9i
amVjdFBheWxvYWQpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChy
ZW1vdGVPYmplY3QudmFsdWUgPT09IG51bGwsICJTdWJGcmFtZSBhY2Nlc3MgdG8gJDAgbm9kZSBp
biBtYWluIGZyYW1lIHNob3VsZCBiZSBudWxsLiIpOwotICAgICAgICAgICAgICAgIHJlc29sdmUo
KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfSk7Ci0KLSAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJBdHRlbXB0U2FtZUZyYW1lJDBBY2Nlc3NGcm9tU3Vi
RnJhbWUiLAotICAgICAgICBkZXNjcmlwdGlvbjogIlNob3VsZCBiZSBhYmxlIHRvIGFjY2VzcyAk
MCBub2RlIGluIHRoZSBzYW1lIGZyYW1lLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0
KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU2V0dGluZyAkMCB0byBub2RlIHdp
dGhpbiB0aGUgc3ViZnJhbWUuIik7Ci0gICAgICAgICAgICBDb25zb2xlQWdlbnQuYWRkSW5zcGVj
dGVkTm9kZShub2RlSW5TdWJGcmFtZUlkKTsKLSAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFs
dWF0ZS5pbnZva2Uoe2V4cHJlc3Npb246ICIkMCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1
ZSwgY29udGV4dElkOiBjaGlsZEZyYW1lc1swXS5wYWdlRXhlY3V0aW9uQ29udGV4dC5pZH0sIChl
cnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiU2hvdWxkIG5vdCBiZSBhIHByb3RvY29s
IGVycm9yLiIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCF3YXNUaHJv
d24sICJTaG91bGQgbm90IGJlIGFuIGV4Y2VwdGlvbi4iKTsKLSAgICAgICAgICAgICAgICBsZXQg
cmVtb3RlT2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9iamVjdFBh
eWxvYWQpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZW1vdGVP
YmplY3QuaXNOb2RlKCksICJTdWJGcmFtZSBhY2Nlc3MgdG8gJDAgbm9kZSBpbiBzdWIgZnJhbWUg
c2hvdWxkIGJlIGEgbm9kZS4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfQotICAgIH0pOwotCi0gICAgV0kuZG9tVHJlZU1hbmFnZXIucmVx
dWVzdERvY3VtZW50KChkb2N1bWVudE5vZGUpID0+IHsKLSAgICAgICAgV0kuZG9tVHJlZU1hbmFn
ZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5vZGUuaWQsICJpZnJhbWUjbXlmcmFtZSIsIChub2Rl
SWQpID0+IHsKLSAgICAgICAgICAgIGxldCBpZnJhbWVOb2RlID0gV0kuZG9tVHJlZU1hbmFnZXIu
bm9kZUZvcklkKG5vZGVJZCk7Ci0gICAgICAgICAgICBsZXQgaWZyYW1lRG9jdW1lbnROb2RlSWQg
PSBpZnJhbWVOb2RlLmNoaWxkcmVuWzBdLmlkOwotICAgICAgICAgICAgV0kuZG9tVHJlZU1hbmFn
ZXIucXVlcnlTZWxlY3RvcihpZnJhbWVEb2N1bWVudE5vZGVJZCwgImRpdiNyb290RGl2IiwgKG5v
ZGVJZCkgPT4gewotICAgICAgICAgICAgICAgIG5vZGVJbk1haW5GcmFtZUlkID0gaWZyYW1lTm9k
ZS5pZDsKLSAgICAgICAgICAgICAgICBub2RlSW5TdWJGcmFtZUlkID0gbm9kZUlkOwotICAgICAg
ICAgICAgICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxw
PlRlc3QgdGhhdCBjb2RlIGV2YWx1YXRlZCBpbiB0aGUgbWFpbiBmcmFtZSBjYW5ub3QgYWNjZXNz
ICQwIHRoYXQgcmVzb2x2ZXMgdG8gYSBub2RlIGluIGEgZnJhbWUgZnJvbSBhIGRpZmZlcmVudCBk
b21haW4uIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDU0MjMiPkJ1ZyAxMDU0MjMuPC9hPjwvcD4KLTxpZnJhbWUgaWQ9Im15ZnJhbWUiIHNyYz0iaHR0
cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9wYWdlL3Jlc291cmNlcy90ZXN0LXBhZ2UuaHRt
bCIgb25sb2FkPSJydW5UZXN0KCkiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL2Nyb3NzLWRvbWFpbi1p
bnNwZWN0ZWQtbm9kZS1hY2Nlc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZG9tL2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQtbm9kZS1hY2Nlc3MtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ2MzhmNmJkODVhNzJmNmFiZDcwOGQ3NzhmMDk4ODdhMWFmNjI0
MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9k
b20vY3Jvc3MtZG9tYWluLWluc3BlY3RlZC1ub2RlLWFjY2Vzcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQyOiBCbG9ja2VkIGEgZnJhbWUgd2l0
aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3
aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBh
bmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MjogQmxvY2tlZCBh
IGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiIGZyb20gYWNjZXNzaW5n
IGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIuIFByb3RvY29scywg
ZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitUZXN0IHRoYXQgY29kZSBldmFsdWF0ZWQg
aW4gdGhlIG1haW4gZnJhbWUgY2Fubm90IGFjY2VzcyAkMCB0aGF0IHJlc29sdmVzIHRvIGEgbm9k
ZSBpbiBhIGZyYW1lIGZyb20gYSBkaWZmZXJlbnQgZG9tYWluLiBCdWcgMTA1NDIzLgorCisKK1BB
U1M6IFBhZ2Ugc2hvdWxkIGhhdmUgYSBzdWJmcmFtZS4KKworPT0gUnVubmluZyB0ZXN0IHN1aXRl
OiBDb21tYW5kTGluZUFQSS4kMC5jcm9zcy1mcmFtZQorLS0gUnVubmluZyB0ZXN0IGNhc2U6IEF0
dGVtcHRDcm9zc0ZyYW1lJDBBY2Nlc3NGcm9tTWFpbkZyYW1lCitTZXR0aW5nICQwIHRvIG5vZGUg
d2l0aGluIHN1YmZyYW1lLgorUEFTUzogTWFpbkZyYW1lIGFjY2VzcyB0byAkMCBub2RlIGluIHN1
YmZyYW1lIHNob3VsZCBiZSBudWxsLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQXR0ZW1wdFNh
bWVGcmFtZSQwQWNjZXNzRnJvbU1haW5GcmFtZQorU2V0dGluZyAkMCB0byBub2RlIHdpdGhpbiB0
aGUgbWFpbiBmcmFtZS4KK1BBU1M6IE1haW5GcmFtZSBhY2Nlc3MgdG8gJDAgbm9kZSBpbiBtYWlu
IGZyYW1lIHNob3VsZCBiZSBhIG5vZGUuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBBdHRlbXB0
Q3Jvc3NGcmFtZSQwQWNjZXNzRnJvbVN1YkZyYW1lCitTZXR0aW5nICQwIHRvIG5vZGUgd2l0aGlu
IHRoZSBtYWluIGZyYW1lLgorUEFTUzogU3ViRnJhbWUgYWNjZXNzIHRvICQwIG5vZGUgaW4gbWFp
biBmcmFtZSBzaG91bGQgYmUgbnVsbC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IEF0dGVtcHRT
YW1lRnJhbWUkMEFjY2Vzc0Zyb21TdWJGcmFtZQorU2V0dGluZyAkMCB0byBub2RlIHdpdGhpbiB0
aGUgc3ViZnJhbWUuCitQQVNTOiBTdWJGcmFtZSBhY2Nlc3MgdG8gJDAgbm9kZSBpbiBzdWIgZnJh
bWUgc2hvdWxkIGJlIGEgbm9kZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZG9tL2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQtbm9kZS1hY2Nlc3MuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RvbS9jcm9zcy1kb21haW4taW5zcGVj
dGVkLW5vZGUtYWNjZXNzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRhNThmOWNlMGMxY2Y0M2JmODkwOTJi
NTY4YjMzZjRlNTQwZjFmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2RvbS9jcm9zcy1kb21haW4taW5zcGVjdGVkLW5vZGUtYWNjZXNzLmh0bWwK
QEAgLTAsMCArMSw5OSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3Vp
dGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIkNvbW1hbmRMaW5lQVBJLiQwLmNy
b3NzLWZyYW1lIik7CisKKyAgICBsZXQgbWFpbkZyYW1lID0gV0kuZnJhbWVSZXNvdXJjZU1hbmFn
ZXIubWFpbkZyYW1lOworICAgIGxldCBjaGlsZEZyYW1lcyA9IG1haW5GcmFtZS5jaGlsZEZyYW1l
Q29sbGVjdGlvbi50b0FycmF5KCk7CisgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChjaGls
ZEZyYW1lcy5sZW5ndGgsIDEsICJQYWdlIHNob3VsZCBoYXZlIGEgc3ViZnJhbWUuIik7CisKKyAg
ICBsZXQgbm9kZUluTWFpbkZyYW1lSWQ7CisgICAgbGV0IG5vZGVJblN1YkZyYW1lSWQ7CisKKyAg
ICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJBdHRlbXB0Q3Jvc3NGcmFtZSQw
QWNjZXNzRnJvbU1haW5GcmFtZSIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiU2hvdWxkIG5vdCBi
ZSBhYmxlIHRvIGFjY2VzcyAkMCBub2RlIGluIGRpZmZlcmVudCBkb21haW4gc3ViZnJhbWUgZnJv
bSB0aGUgbWFpbiBmcmFtZS4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlNldHRpbmcgJDAgdG8gbm9kZSB3aXRoaW4gc3Vi
ZnJhbWUuIik7CisgICAgICAgICAgICBET01BZ2VudC5zZXRJbnNwZWN0ZWROb2RlKG5vZGVJblN1
YkZyYW1lSWQpOworICAgICAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlLmludm9rZSh7ZXhw
cmVzc2lvbjogIiQwIiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVlfSwgKGVycm9yLCByZW1v
dGVPYmplY3RQYXlsb2FkLCB3YXNUaHJvd24pID0+IHsgICAgCisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiU2hvdWxkIG5vdCBiZSBhIHByb3RvY29sIGVycm9y
LiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCF3YXNUaHJvd24sICJT
aG91bGQgbm90IGJlIGFuIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAgICAgICBsZXQgcmVtb3Rl
T2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxvYWQp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZW1vdGVPYmplY3Qu
dmFsdWUgPT09IG51bGwsICJNYWluRnJhbWUgYWNjZXNzIHRvICQwIG5vZGUgaW4gc3ViZnJhbWUg
c2hvdWxkIGJlIG51bGwuIik7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAg
ICAgICAgbmFtZTogIkF0dGVtcHRTYW1lRnJhbWUkMEFjY2Vzc0Zyb21NYWluRnJhbWUiLAorICAg
ICAgICBkZXNjcmlwdGlvbjogIlNob3VsZCBiZSBhYmxlIHRvIGFjY2VzcyAkMCBub2RlIGluIHRo
ZSBzYW1lIGZyYW1lLiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU2V0dGluZyAkMCB0byBub2RlIHdpdGhpbiB0aGUgbWFp
biBmcmFtZS4iKTsKKyAgICAgICAgICAgIERPTUFnZW50LnNldEluc3BlY3RlZE5vZGUobm9kZUlu
TWFpbkZyYW1lSWQpOworICAgICAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlLmludm9rZSh7
ZXhwcmVzc2lvbjogIiQwIiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVlfSwgKGVycm9yLCBy
ZW1vdGVPYmplY3RQYXlsb2FkLCB3YXNUaHJvd24pID0+IHsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJTaG91bGQgbm90IGJlIGEgcHJvdG9jb2wgZXJyb3Iu
Iik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlNo
b3VsZCBub3QgYmUgYW4gZXhjZXB0aW9uLiIpOworICAgICAgICAgICAgICAgIGxldCByZW1vdGVP
YmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVtb3RlT2JqZWN0UGF5bG9hZCk7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KHJlbW90ZU9iamVjdC5p
c05vZGUoKSwgIk1haW5GcmFtZSBhY2Nlc3MgdG8gJDAgbm9kZSBpbiBtYWluIGZyYW1lIHNob3Vs
ZCBiZSBhIG5vZGUuIik7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAg
fSk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAg
ICAgbmFtZTogIkF0dGVtcHRDcm9zc0ZyYW1lJDBBY2Nlc3NGcm9tU3ViRnJhbWUiLAorICAgICAg
ICBkZXNjcmlwdGlvbjogIlNob3VsZCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgJDAgbm9kZSBpbiBk
aWZmZXJlbnQgZG9tYWluIG1haW4gZnJhbWUgZnJvbSB0aGUgc3ViZnJhbWUuIiwKKyAgICAgICAg
dGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJT
ZXR0aW5nICQwIHRvIG5vZGUgd2l0aGluIHRoZSBtYWluIGZyYW1lLiIpOworICAgICAgICAgICAg
RE9NQWdlbnQuc2V0SW5zcGVjdGVkTm9kZShub2RlSW5NYWluRnJhbWVJZCk7CisgICAgICAgICAg
ICBSdW50aW1lQWdlbnQuZXZhbHVhdGUuaW52b2tlKHtleHByZXNzaW9uOiAiJDAiLCBpbmNsdWRl
Q29tbWFuZExpbmVBUEk6IHRydWUsIGNvbnRleHRJZDogY2hpbGRGcmFtZXNbMF0ucGFnZUV4ZWN1
dGlvbkNvbnRleHQuaWR9LCAoZXJyb3IsIHJlbW90ZU9iamVjdFBheWxvYWQsIHdhc1Rocm93bikg
PT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlNob3Vs
ZCBub3QgYmUgYSBwcm90b2NvbCBlcnJvci4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydCghd2FzVGhyb3duLCAiU2hvdWxkIG5vdCBiZSBhbiBleGNlcHRpb24uIik7Cisg
ICAgICAgICAgICAgICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5
bG9hZChyZW1vdGVPYmplY3RQYXlsb2FkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdFRoYXQocmVtb3RlT2JqZWN0LnZhbHVlID09PSBudWxsLCAiU3ViRnJhbWUgYWNjZXNz
IHRvICQwIG5vZGUgaW4gbWFpbiBmcmFtZSBzaG91bGQgYmUgbnVsbC4iKTsKKyAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0pOworCisg
ICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiQXR0ZW1wdFNhbWVGcmFtZSQw
QWNjZXNzRnJvbVN1YkZyYW1lIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJTaG91bGQgYmUgYWJs
ZSB0byBhY2Nlc3MgJDAgbm9kZSBpbiB0aGUgc2FtZSBmcmFtZS4iLAorICAgICAgICB0ZXN0KHJl
c29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlNldHRpbmcg
JDAgdG8gbm9kZSB3aXRoaW4gdGhlIHN1YmZyYW1lLiIpOworICAgICAgICAgICAgRE9NQWdlbnQu
c2V0SW5zcGVjdGVkTm9kZShub2RlSW5TdWJGcmFtZUlkKTsKKyAgICAgICAgICAgIFJ1bnRpbWVB
Z2VudC5ldmFsdWF0ZS5pbnZva2Uoe2V4cHJlc3Npb246ICIkMCIsIGluY2x1ZGVDb21tYW5kTGlu
ZUFQSTogdHJ1ZSwgY29udGV4dElkOiBjaGlsZEZyYW1lc1swXS5wYWdlRXhlY3V0aW9uQ29udGV4
dC5pZH0sIChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiU2hvdWxkIG5vdCBiZSBh
IHByb3RvY29sIGVycm9yLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
KCF3YXNUaHJvd24sICJTaG91bGQgbm90IGJlIGFuIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAg
ICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlbW90
ZU9iamVjdFBheWxvYWQpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dChyZW1vdGVPYmplY3QuaXNOb2RlKCksICJTdWJGcmFtZSBhY2Nlc3MgdG8gJDAgbm9kZSBpbiBz
dWIgZnJhbWUgc2hvdWxkIGJlIGEgbm9kZS4iKTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgV0kuZG9tVHJlZU1h
bmFnZXIucmVxdWVzdERvY3VtZW50KChkb2N1bWVudE5vZGUpID0+IHsKKyAgICAgICAgV0kuZG9t
VHJlZU1hbmFnZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5vZGUuaWQsICJpZnJhbWUjbXlmcmFt
ZSIsIChub2RlSWQpID0+IHsKKyAgICAgICAgICAgIGxldCBpZnJhbWVOb2RlID0gV0kuZG9tVHJl
ZU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZCk7CisgICAgICAgICAgICBsZXQgaWZyYW1lRG9jdW1l
bnROb2RlSWQgPSBpZnJhbWVOb2RlLmNoaWxkcmVuWzBdLmlkOworICAgICAgICAgICAgV0kuZG9t
VHJlZU1hbmFnZXIucXVlcnlTZWxlY3RvcihpZnJhbWVEb2N1bWVudE5vZGVJZCwgImRpdiNyb290
RGl2IiwgKG5vZGVJZCkgPT4geworICAgICAgICAgICAgICAgIG5vZGVJbk1haW5GcmFtZUlkID0g
aWZyYW1lTm9kZS5pZDsKKyAgICAgICAgICAgICAgICBub2RlSW5TdWJGcmFtZUlkID0gbm9kZUlk
OworICAgICAgICAgICAgICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRlc3QgdGhhdCBjb2RlIGV2YWx1YXRlZCBpbiB0aGUgbWFpbiBmcmFtZSBjYW5u
b3QgYWNjZXNzICQwIHRoYXQgcmVzb2x2ZXMgdG8gYSBub2RlIGluIGEgZnJhbWUgZnJvbSBhIGRp
ZmZlcmVudCBkb21haW4uIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDU0MjMiPkJ1ZyAxMDU0MjMuPC9hPjwvcD4KKzxpZnJhbWUgaWQ9Im15ZnJhbWUi
IHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9wYWdlL3Jlc291cmNlcy90ZXN0
LXBhZ2UuaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvYWRkSW5zcGVjdGVk
Tm9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9hZGRJbnNw
ZWN0ZWROb2RlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjcy
YWI0OWE3NWU5NmM3ZTcwYmU4YzkyMjk0MTk1MTRmODA2NmEwYS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9hZGRJbnNwZWN0ZWROb2RlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIxICsw
LDAgQEAKLVRlc3QgZm9yIHRoZSBDb25zb2xlLmFkZEluc3BlY3RlZE5vZGUgY29tbWFuZC4KLQot
Ci09PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IENvbnNvbGUuYWRkSW5zcGVjdGVkTm9kZQotLS0gUnVu
bmluZyB0ZXN0IGNhc2U6IENoZWNrJDBJc1VuZGVmaW5lZAotUEFTUzogJDAgc2hvdWxkIGJlIHVu
ZGVmaW5lZC4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFNldEFuZENoZWNrTm9kZUEKLVBBU1M6
ICQwIHNob3VsZCBiZSBhIG5vZGUuCi1QQVNTOiAkMCBzaG91bGQgYmUgTm9kZSBBLgotCi0tLSBS
dW5uaW5nIHRlc3QgY2FzZTogU2V0QmFkTm9kZUlkCi1QQVNTOiBTaG91bGQgYmUgYW4gZXJyb3IK
LVBBU1M6ICQwIHNob3VsZCBiZSBhIG5vZGUuCi1QQVNTOiAkMCBzaG91bGQgYmUgTm9kZSBBLgot
Ci0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU2V0QW5kQ2hlY2tOb2RlQgotUEFTUzogJDAgc2hvdWxk
IGJlIGEgbm9kZS4KLVBBU1M6ICQwIHNob3VsZCBub3QgYmUgTm9kZSBBLgotUEFTUzogJDAgc2hv
dWxkIGJlIE5vZGUgQi4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvYWRkSW5zcGVjdGVkTm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUv
YWRkSW5zcGVjdGVkTm9kZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Zjg2
ZWQyNDY2YmRjNjI3NWE1NjEzMjc1YmIwYTNkOWMyZThjZDM3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2FkZEluc3BlY3RlZE5vZGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk4ICswLDAgQEAKLTwh
ZG9jdHlwZSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9uIGV2YWx1YXRlJDAoY2FsbGJh
Y2spIHsKLSAgICAgICAgV0kucnVudGltZU1hbmFnZXIuZXZhbHVhdGVJbkluc3BlY3RlZFdpbmRv
dygiJDAiLCB7b2JqZWN0R3JvdXA6ICJ0ZXN0IiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVl
fSwgY2FsbGJhY2spOwotICAgIH0KLQotICAgIGxldCBub2RlQSwgbm9kZUI7Ci0KLSAgICBsZXQg
c3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIkNvbnNvbGUuYWRkSW5zcGVj
dGVkTm9kZSIpOwotCi0gICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAiQ2hl
Y2skMElzVW5kZWZpbmVkIiwKLSAgICAgICAgZGVzY3JpcHRpb246ICJObyBpbnNwZWN0ZWQgbm9k
ZSB5ZXQsICQwIHNob3VsZCBiZSB1bmRlZmluZWQuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKLSAgICAgICAgICAgIGV2YWx1YXRlJDAoKHJlbW90ZU9iamVjdCkgPT4gewotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZW1vdGVPYmplY3QuaXNVbmRl
ZmluZWQoKSwgIiQwIHNob3VsZCBiZSB1bmRlZmluZWQuIik7Ci0gICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICB9KTsKLQotICAgIHN1aXRl
LmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIlNldEFuZENoZWNrTm9kZUEiLAotICAgICAg
ICBkZXNjcmlwdGlvbjogIlNldCB0aGUgaW5zcGVjdGVkIG5vZGUgdG8gYmUgTm9kZSBBIGFuZCBj
aGVjayB0aGF0ICQwIGlzIE5vZGUgQS4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgICAgICAgQ29uc29sZUFnZW50LmFkZEluc3BlY3RlZE5vZGUobm9kZUEuaWQpOwot
ICAgICAgICAgICAgZXZhbHVhdGUkMCgocmVtb3RlT2JqZWN0KSA9PiB7Ci0gICAgICAgICAgICAg
ICAgcmVtb3RlT2JqZWN0LnB1c2hOb2RlVG9Gcm9udGVuZCgobm9kZUlkKSA9PiB7Ci0gICAgICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZW1vdGVPYmplY3QuaXNOb2Rl
KCksICIkMCBzaG91bGQgYmUgYSBub2RlLiIpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdFRoYXQobm9kZUlkID09PSBub2RlQS5pZCwgIiQwIHNob3VsZCBiZSBOb2Rl
IEEuIik7Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfSk7Ci0KLSAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJTZXRCYWROb2RlSWQiLAotICAgICAgICBkZXNjcmlw
dGlvbjogIklmIGFuIGludmFsaWQgaW5zcGVjdGVkIG5vZGUgaXMgc2V0LCBpdCBzaG91bGQgbm90
IGJlIGJvdW5kIHRvICQwLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAg
ICAgICAgICBDb25zb2xlQWdlbnQuYWRkSW5zcGVjdGVkTm9kZSg5OTk5OTksIChlcnJvcikgPT4g
ewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChlcnJvciwgIlNob3Vs
ZCBiZSBhbiBlcnJvciIpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBldmFsdWF0ZSQw
KChyZW1vdGVPYmplY3QpID0+IHsKLSAgICAgICAgICAgICAgICByZW1vdGVPYmplY3QucHVzaE5v
ZGVUb0Zyb250ZW5kKChub2RlSWQpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RUaGF0KHJlbW90ZU9iamVjdC5pc05vZGUoKSwgIiQwIHNob3VsZCBiZSBhIG5v
ZGUuIik7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChub2Rl
SWQgPT09IG5vZGVBLmlkLCAiJDAgc2hvdWxkIGJlIE5vZGUgQS4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0KLSAgICB9KTsKLQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFt
ZTogIlNldEFuZENoZWNrTm9kZUIiLAotICAgICAgICBkZXNjcmlwdGlvbjogIlNldCB0aGUgaW5z
cGVjdGVkIG5vZGUgdG8gYmUgTm9kZSBCIGFuZCBjaGVjayB0aGF0ICQwIGlzIE5vZGUgQi4iLAot
ICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgQ29uc29sZUFnZW50
LmFkZEluc3BlY3RlZE5vZGUobm9kZUIuaWQpOwotICAgICAgICAgICAgZXZhbHVhdGUkMCgocmVt
b3RlT2JqZWN0KSA9PiB7Ci0gICAgICAgICAgICAgICAgcmVtb3RlT2JqZWN0LnB1c2hOb2RlVG9G
cm9udGVuZCgobm9kZUlkKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdChyZW1vdGVPYmplY3QuaXNOb2RlKCksICIkMCBzaG91bGQgYmUgYSBub2RlLiIp
OwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQobm9kZUlkICE9
PSBub2RlQS5pZCwgIiQwIHNob3VsZCBub3QgYmUgTm9kZSBBLiIpOwotICAgICAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQobm9kZUlkID09PSBub2RlQi5pZCwgIiQwIHNo
b3VsZCBiZSBOb2RlIEIuIik7Ci0gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfSk7Ci0KLSAg
ICAvLyBGSVhNRTogV2hhdCBzaG91bGQgJDAgYmUgYWZ0ZXIgcmVsb2FkaW5nIC8gbmF2aWdhdGlu
ZyB0aGUgcGFnZS4gU2hvdWxkIGl0IGJlIGNsZWFyZWQ/Ci0KLSAgICBXSS5kb21UcmVlTWFuYWdl
ci5yZXF1ZXN0RG9jdW1lbnQoKGRvY3VtZW50Tm9kZSkgPT4gewotICAgICAgICBXSS5kb21UcmVl
TWFuYWdlci5xdWVyeVNlbGVjdG9yKGRvY3VtZW50Tm9kZS5pZCwgIiNhIiwgKGNvbnRlbnROb2Rl
SWQpID0+IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGNvbnRlbnROb2RlSWQs
ICIjYSBub2RlIHNob3VsZCBleGlzdC4iKTsKLSAgICAgICAgICAgIG5vZGVBID0gV0kuZG9tVHJl
ZU1hbmFnZXIubm9kZUZvcklkKGNvbnRlbnROb2RlSWQpOwotICAgICAgICB9KTsKLSAgICAgICAg
V0kuZG9tVHJlZU1hbmFnZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5vZGUuaWQsICIjYiIsIChj
b250ZW50Tm9kZUlkKSA9PiB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChjb250
ZW50Tm9kZUlkLCAiI2Igbm9kZSBzaG91bGQgZXhpc3QuIik7Ci0gICAgICAgICAgICBub2RlQiA9
IFdJLmRvbVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChjb250ZW50Tm9kZUlkKTsKLSAgICAgICAgICAg
IHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0K
LTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdCBm
b3IgdGhlIENvbnNvbGUuYWRkSW5zcGVjdGVkTm9kZSBjb21tYW5kLjwvcD4KLTxkaXYgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+Ci0gICAgPHAgaWQ9ImEiPk5vZGUgQTwvcD4KLSAgICA8cCBpZD0iYiI+
Tm9kZSBCPC9wPgotPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLmh0bWwKaW5kZXggYjdhMTNiODNk
ODZiYjVhM2M1Y2Y2YWM1OTA3YWYyZmQ5MmYxNmI5YS4uZjU4NmEyZDAyYWQzOWZiMTRmYjBlMzRk
ZDNhZjgwMjIzNDkzMDIwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29tbWFuZC1saW5lLWFwaS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbW1hbmQtbGluZS1hcGkuaHRtbApAQCAtMTAzLDcgKzEwMyw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KCk7CiAgICAgICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICAgICAgQ29uc29sZUFnZW50LmFkZEluc3BlY3RlZE5vZGUoY29u
dGVudE5vZGVJZCk7CisgICAgICAgICAgICAgICAgRE9NQWdlbnQuc2V0SW5zcGVjdGVkTm9kZShj
b250ZW50Tm9kZUlkKTsKICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICB9
KTsKICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL3Nl
dEluc3BlY3RlZE5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9z
ZXRJbnNwZWN0ZWROb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzM0MTgwNmVmYzIzMDRm
NTNiZGY0MmZkYzhhNzZlZWZiYzlhNjUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS9zZXRJbnNwZWN0ZWROb2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIx
IEBACitUZXN0IGZvciB0aGUgRE9NLnNldEluc3BlY3RlZE5vZGUgY29tbWFuZC4KKworCis9PSBS
dW5uaW5nIHRlc3Qgc3VpdGU6IERPTS5zZXRJbnNwZWN0ZWROb2RlCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogQ2hlY2skMElzVW5kZWZpbmVkCitQQVNTOiAkMCBzaG91bGQgYmUgdW5kZWZpbmVkLgor
CistLSBSdW5uaW5nIHRlc3QgY2FzZTogU2V0QW5kQ2hlY2tOb2RlQQorUEFTUzogJDAgc2hvdWxk
IGJlIGEgbm9kZS4KK1BBU1M6ICQwIHNob3VsZCBiZSBOb2RlIEEuCisKKy0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBTZXRCYWROb2RlSWQKK1BBU1M6IFNob3VsZCBiZSBhbiBlcnJvcgorUEFTUzogJDAg
c2hvdWxkIGJlIGEgbm9kZS4KK1BBU1M6ICQwIHNob3VsZCBiZSBOb2RlIEEuCisKKy0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBTZXRBbmRDaGVja05vZGVCCitQQVNTOiAkMCBzaG91bGQgYmUgYSBub2Rl
LgorUEFTUzogJDAgc2hvdWxkIG5vdCBiZSBOb2RlIEEuCitQQVNTOiAkMCBzaG91bGQgYmUgTm9k
ZSBCLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL3NldEluc3BlY3Rl
ZE5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vc2V0SW5zcGVjdGVkTm9kZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc3MzJjNmM1MDhhMDY1YWZhMWQ2MzRmZGQwZGNlNTJlNjhmNTVmYmYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL3NldEluc3BlY3Rl
ZE5vZGUuaHRtbApAQCAtMCwwICsxLDk4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICBmdW5jdGlvbiBldmFsdWF0ZSQwKGNhbGxiYWNrKSB7CisgICAgICAgIFdJLnJ1bnRpbWVN
YW5hZ2VyLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5kb3coIiQwIiwge29iamVjdEdyb3VwOiAidGVz
dCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZX0sIGNhbGxiYWNrKTsKKyAgICB9CisKKyAg
ICBsZXQgbm9kZUEsIG5vZGVCOworCisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVh
dGVBc3luY1N1aXRlKCJET00uc2V0SW5zcGVjdGVkTm9kZSIpOworCisgICAgc3VpdGUuYWRkVGVz
dENhc2UoeworICAgICAgICBuYW1lOiAiQ2hlY2skMElzVW5kZWZpbmVkIiwKKyAgICAgICAgZGVz
Y3JpcHRpb246ICJObyBpbnNwZWN0ZWQgbm9kZSB5ZXQsICQwIHNob3VsZCBiZSB1bmRlZmluZWQu
IiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGV2YWx1YXRl
JDAoKHJlbW90ZU9iamVjdCkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0VGhhdChyZW1vdGVPYmplY3QuaXNVbmRlZmluZWQoKSwgIiQwIHNob3VsZCBiZSB1bmRlZmlu
ZWQuIik7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSk7CisgICAg
ICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTog
IlNldEFuZENoZWNrTm9kZUEiLAorICAgICAgICBkZXNjcmlwdGlvbjogIlNldCB0aGUgaW5zcGVj
dGVkIG5vZGUgdG8gYmUgTm9kZSBBIGFuZCBjaGVjayB0aGF0ICQwIGlzIE5vZGUgQS4iLAorICAg
ICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgRE9NQWdlbnQuc2V0SW5z
cGVjdGVkTm9kZShub2RlQS5pZCk7CisgICAgICAgICAgICBldmFsdWF0ZSQwKChyZW1vdGVPYmpl
Y3QpID0+IHsKKyAgICAgICAgICAgICAgICByZW1vdGVPYmplY3QucHVzaE5vZGVUb0Zyb250ZW5k
KChub2RlSWQpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RU
aGF0KHJlbW90ZU9iamVjdC5pc05vZGUoKSwgIiQwIHNob3VsZCBiZSBhIG5vZGUuIik7CisgICAg
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChub2RlSWQgPT09IG5vZGVB
LmlkLCAiJDAgc2hvdWxkIGJlIE5vZGUgQS4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2
ZSgpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAg
ICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlNldEJhZE5v
ZGVJZCIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiSWYgYW4gaW52YWxpZCBpbnNwZWN0ZWQgbm9k
ZSBpcyBzZXQsIGl0IHNob3VsZCBub3QgYmUgYm91bmQgdG8gJDAuIiwKKyAgICAgICAgdGVzdChy
ZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIERPTUFnZW50LnNldEluc3BlY3RlZE5vZGUo
OTk5OTk5LCAoZXJyb3IpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dFRoYXQoZXJyb3IsICJTaG91bGQgYmUgYW4gZXJyb3IiKTsKKyAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgZXZhbHVhdGUkMCgocmVtb3RlT2JqZWN0KSA9PiB7CisgICAgICAgICAgICAgICAg
cmVtb3RlT2JqZWN0LnB1c2hOb2RlVG9Gcm9udGVuZCgobm9kZUlkKSA9PiB7CisgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZW1vdGVPYmplY3QuaXNOb2RlKCks
ICIkMCBzaG91bGQgYmUgYSBub2RlLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdFRoYXQobm9kZUlkID09PSBub2RlQS5pZCwgIiQwIHNob3VsZCBiZSBOb2RlIEEu
Iik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0
Q2FzZSh7CisgICAgICAgIG5hbWU6ICJTZXRBbmRDaGVja05vZGVCIiwKKyAgICAgICAgZGVzY3Jp
cHRpb246ICJTZXQgdGhlIGluc3BlY3RlZCBub2RlIHRvIGJlIE5vZGUgQiBhbmQgY2hlY2sgdGhh
dCAkMCBpcyBOb2RlIEIuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAg
ICAgICAgIERPTUFnZW50LnNldEluc3BlY3RlZE5vZGUobm9kZUIuaWQpOworICAgICAgICAgICAg
ZXZhbHVhdGUkMCgocmVtb3RlT2JqZWN0KSA9PiB7CisgICAgICAgICAgICAgICAgcmVtb3RlT2Jq
ZWN0LnB1c2hOb2RlVG9Gcm9udGVuZCgobm9kZUlkKSA9PiB7CisgICAgICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZW1vdGVPYmplY3QuaXNOb2RlKCksICIkMCBzaG91
bGQgYmUgYSBub2RlLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dFRoYXQobm9kZUlkICE9PSBub2RlQS5pZCwgIiQwIHNob3VsZCBub3QgYmUgTm9kZSBBLiIpOwor
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQobm9kZUlkID09PSBu
b2RlQi5pZCwgIiQwIHNob3VsZCBiZSBOb2RlIEIuIik7CisgICAgICAgICAgICAgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9
CisgICAgfSk7CisKKyAgICAvLyBGSVhNRTogV2hhdCBzaG91bGQgJDAgYmUgYWZ0ZXIgcmVsb2Fk
aW5nIC8gbmF2aWdhdGluZyB0aGUgcGFnZS4gU2hvdWxkIGl0IGJlIGNsZWFyZWQ/CisKKyAgICBX
SS5kb21UcmVlTWFuYWdlci5yZXF1ZXN0RG9jdW1lbnQoKGRvY3VtZW50Tm9kZSkgPT4geworICAg
ICAgICBXSS5kb21UcmVlTWFuYWdlci5xdWVyeVNlbGVjdG9yKGRvY3VtZW50Tm9kZS5pZCwgIiNh
IiwgKGNvbnRlbnROb2RlSWQpID0+IHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
KGNvbnRlbnROb2RlSWQsICIjYSBub2RlIHNob3VsZCBleGlzdC4iKTsKKyAgICAgICAgICAgIG5v
ZGVBID0gV0kuZG9tVHJlZU1hbmFnZXIubm9kZUZvcklkKGNvbnRlbnROb2RlSWQpOworICAgICAg
ICB9KTsKKyAgICAgICAgV0kuZG9tVHJlZU1hbmFnZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5v
ZGUuaWQsICIjYiIsIChjb250ZW50Tm9kZUlkKSA9PiB7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydChjb250ZW50Tm9kZUlkLCAiI2Igbm9kZSBzaG91bGQgZXhpc3QuIik7CisgICAg
ICAgICAgICBub2RlQiA9IFdJLmRvbVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChjb250ZW50Tm9kZUlk
KTsKKyAgICAgICAgICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworICAgICAgICB9
KTsKKyAgICB9KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPHA+VGVzdCBmb3IgdGhlIERPTS5zZXRJbnNwZWN0ZWROb2RlIGNvbW1hbmQuPC9wPgor
PGRpdiBzdHlsZT0iZGlzcGxheTpub25lIj4KKyAgICA8cCBpZD0iYSI+Tm9kZSBBPC9wPgorICAg
IDxwIGlkPSJiIj5Ob2RlIEI8L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzAxNWU2NjBmZmU3MWI1Mjg2
MWE1ZjdlNDI2YWE0NmYxY2Y5Njc5MS4uYjk4YTVhMzg1MWY2YTkwZWVjMzUyM2Q4MDM2YTNlYjFh
M2FmOTgzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTIwMDAsNyArMjAwMCw2IEBAIHdlYmtpdC5vcmcvYi8xNDk5MTYgaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZG9tL2Rpc2Nvbm5lY3QtZG9tLXRyZWUtYWZ0ZXItbWFpbi1mcmFtCiB3ZWJraXQub3JnL2Iv
MTQ5OTE2IGluc3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0eXByaW50aW5nLWNzcy5odG1sIFsgUGFz
cyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xNDk5MTYgaW5zcGVjdG9yL2NvZGVtaXJyb3IvcHJldHR5
cHJpbnRpbmctY3NzLXJ1bGVzLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzE0
OTkxNiBpbnNwZWN0b3IvY29kZW1pcnJvci9wcmV0dHlwcmludGluZy1qYXZhc2NyaXB0Lmh0bWwg
WyBQYXNzIFNsb3cgXQotd2Via2l0Lm9yZy9iLzE0OTkxNiBpbnNwZWN0b3IvY29uc29sZS9hZGRJ
bnNwZWN0ZWROb2RlLmh0bWwgWyBQYXNzIFNsb3cgXQogd2Via2l0Lm9yZy9iLzE0OTkxNiBpbnNw
ZWN0b3IvY29uc29sZS9jbGVhck1lc3NhZ2VzLmh0bWwgWyBQYXNzIFNsb3cgXQogd2Via2l0Lm9y
Zy9iLzE0OTkxNiBpbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLmh0bWwgWyBQYXNz
IFNsb3cgXQogd2Via2l0Lm9yZy9iLzE0OTkxNiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWFw
aS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KQEAgLTIwMjEsNiArMjAyMCw3IEBAIHdlYmtpdC5vcmcv
Yi8xNDk5MTYgaW5zcGVjdG9yL2Nzcy9zdHlsZXNoZWV0LWV2ZW50cy1pbXBvcnRzLmh0bWwgWyBQ
YXNzIFNsb3cgXQogd2Via2l0Lm9yZy9iLzE0OTkxNiBpbnNwZWN0b3IvY3NzL3N0eWxlc2hlZXQt
ZXZlbnRzLWluc3BlY3Rvci1zdHlsZXNoZWV0Lmh0bWwgWyBQYXNzIFNsb3cgXQogd2Via2l0Lm9y
Zy9iLzE0OTkxNiBpbnNwZWN0b3IvY3NzL3N0eWxlc2hlZXQtZXZlbnRzLW11bHRpcGxlLWRvY3Vt
ZW50cy5odG1sIFsgUGFzcyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xNDk5MTYgaW5zcGVjdG9yL2Nz
cy9zdHlsZXNoZWV0LXdpdGgtbXV0YXRpb25zLmh0bWwgWyBQYXNzIFNsb3cgXQord2Via2l0Lm9y
Zy9iLzE0OTkxNiBpbnNwZWN0b3IvZG9tL3NldEluc3BlY3RlZE5vZGUuaHRtbCBbIFBhc3MgU2xv
dyBdCiB3ZWJraXQub3JnL2IvMTQ5OTE2IGluc3BlY3Rvci9oZWFwL2dhcmJhZ2VDb2xsZWN0ZWQu
aHRtbCBbIFBhc3MgU2xvdyBdCiB3ZWJraXQub3JnL2IvMTQ5OTE2IGluc3BlY3Rvci9oZWFwL2dj
Lmh0bWwgWyBQYXNzIFNsb3cgXQogd2Via2l0Lm9yZy9iLzE0OTkxNiBpbnNwZWN0b3IvbmV0d29y
ay9jbGllbnQtYmxvY2tlZC1sb2FkLmh0bWwgWyBQYXNzIFNsb3cgXQpAQCAtMjA4Niw3ICsyMDg2
LDcgQEAgd2Via2l0Lm9yZy9iLzExNjk1OCBodHRwL3Rlc3RzL25hdmlnYXRpb24vc2Nyb2xsc3Rh
dGUtYWZ0ZXItbG9jYXRpb24tcmVsb2FkLmh0bWwKIAogd2Via2l0Lm9yZy9iLzEyMDY4MiBpbnNw
ZWN0b3IvcGFnZS9hcmNoaXZlLmh0bWwgWyBUaW1lb3V0IF0KIAotd2Via2l0Lm9yZy9iLzEyMjU3
MSBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nyb3NzLWRvbWFpbi1pbnNwZWN0ZWQtbm9k
ZS1hY2Nlc3MuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCit3ZWJraXQub3JnL2IvMTIyNTcxIGh0dHAv
dGVzdHMvaW5zcGVjdG9yL2RvbS9jcm9zcy1kb21haW4taW5zcGVjdGVkLW5vZGUtYWNjZXNzLmh0
bWwgWyBUaW1lb3V0IFBhc3MgXQogd2Via2l0Lm9yZy9iLzEyMjU3MSBpbnNwZWN0b3IvZGVidWdn
ZXIvc2V0QnJlYWtwb2ludC5odG1sIFsgVGltZW91dCBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xMjI1
NzEgaW5zcGVjdG9yL2RlYnVnZ2VyL2NhbGwtZnJhbWUtZnVuY3Rpb24tbmFtZS5odG1sIFsgVGlt
ZW91dCBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xMjI1NzEgaW5zcGVjdG9yL2RlYnVnZ2VyL3NldEJy
ZWFrcG9pbnQtb3B0aW9ucy1leGNlcHRpb24uaHRtbCBbIFRpbWVvdXQgUGFzcyBdCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGYzZmNiZjAwZTFiOTE3ZDky
ZDlhNjM0MzI3YzMyZmQyMTM1MDcxMjguLmQwYzg5OTI4MTNlYmU2YjBmYTk0MWRhNDY3ZTVjMDg3
ZDY4ZDA3YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xMzc4LDcgKzEzNzgsNyBAQCB3ZWJraXQub3JnL2IvMTI3MTE2IFsgRGVidWcgXSBzdmcvY3Vz
dG9tL2FuaW1hdGUtaW5pdGlhbC1wYXVzZS11bnBhdXNlLmh0bWwgWyBQYQogCiB3ZWJraXQub3Jn
L2IvMTYxNzIwIFsgRGVidWcgXSBzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KIAotd2Via2l0Lm9yZy9iLzE1NTEzOCBbIERlYnVnIF0gaW5zcGVj
dG9yL2NvbnNvbGUvYWRkSW5zcGVjdGVkTm9kZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KK3dlYmtp
dC5vcmcvYi8xNTUxMzggWyBEZWJ1ZyBdIGluc3BlY3Rvci9kb20vc2V0SW5zcGVjdGVkTm9kZS5o
dG1sIFsgUGFzcyBUaW1lb3V0IF0KIAogd2Via2l0Lm9yZy9iLzE2MzA0NiBqcy9yZWdyZXNzLTE0
MTA5OC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>