<?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>50337</bug_id>
          
          <creation_ts>2010-12-01 11:15:50 -0800</creation_ts>
          <short_desc>Web Inspector: Inspector protocol cleanup task</short_desc>
          <delta_ts>2010-12-03 15:42:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>50401</dependson>
          <blocked>47775</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>315762</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-12-01 11:15:50 -0800</bug_when>
    <thetext>just small renames and adjustments for the protocol things.

&apos;handler&apos; keyword in idl file was replaced with &apos;domain&apos;.
&apos;domain&apos; property was assigned in the each backend to frontend messages.

At the next step WebInspector wrapper functions will be removed and &apos;agents&apos; will be called directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315873</commentid>
    <comment_count>1</comment_count>
      <attachid>75320</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-12-01 14:01:25 -0800</bug_when>
    <thetext>Created attachment 75320
[patch] initial version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315879</commentid>
    <comment_count>2</comment_count>
      <attachid>75320</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-12-01 14:30:03 -0800</bug_when>
    <thetext>Comment on attachment 75320
[patch] initial version.

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

&gt; LayoutTests/ChangeLog:5
&gt; +        clean

Please provide a meaningful message.

&gt; LayoutTests/inspector/report-API-errors-expected.txt:6
&gt; +Protocol Error: the message is for not existing domain &apos;wrongDomain&apos;

non-existing

&gt; WebCore/inspector/front-end/inspector.js:523
&gt; +    this.domains.Inspector = this;

I don&apos;t like &quot;domains&quot; object much. How about:

InspectorBackend.registerDomainDispatcher(&quot;Inspector&quot;, this);
InspectorBackend.registerDomainDispatcher(&quot;Resources&quot;, WebInspector.resourceManager);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317118</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-12-03 15:41:56 -0800</bug_when>
    <thetext>Committed r73315
	M	WebKit/chromium/ChangeLog
	M	WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
	M	WebCore/ChangeLog
	M	WebCore/inspector/CodeGeneratorInspector.pm
	M	WebCore/inspector/Inspector.idl
	M	WebCore/inspector/front-end/DOMAgent.js
	M	WebCore/inspector/front-end/inspector.js
	M	WebCore/inspector/front-end/Callback.js
	M	LayoutTests/inspector/report-API-errors-expected.txt
	M	LayoutTests/inspector/report-API-errors.html
	M	LayoutTests/inspector/report-protocol-errors-expected.txt
	M	LayoutTests/inspector/report-protocol-errors.html
	M	LayoutTests/ChangeLog
r73315 = 452cc2aeaa47482b6ac77f9a7c77514e02642476 (refs/remotes/trunk)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75320</attachid>
            <date>2010-12-01 14:01:25 -0800</date>
            <delta_ts>2010-12-03 15:42:13 -0800</delta_ts>
            <desc>[patch] initial version.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>30372</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjOWYzNjA5Li40NzdiNmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTIt
MDEgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNsZWFuCisKKyAgICAgICAgTmVl
ZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAgICAgICAqIGlu
c3BlY3Rvci9yZXBvcnQtQVBJLWVycm9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVj
dG9yL3JlcG9ydC1BUEktZXJyb3JzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3JlcG9ydC1w
cm90b2NvbC1lcnJvcnMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTEyLTAxICBCcmlhbiBXZWluc3Rl
aW4gIDxid2VpbnN0ZWluQGFwcGxlLmNvbT4KIAogICAgICAgICBTa2lwIGFub3RoZXIgSFRNTFBy
b2dyZXNzRWxlbWVudCB0ZXN0IG9uIFdpbmRvd3MsIGJlY2F1c2UgaXQncyBub3QgdHVybmVkIG9u
IGZvciBXaW5kb3dzIHlldC4gQWRkaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcmVwb3J0LUFQSS1lcnJvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3JlcG9ydC1BUEktZXJyb3JzLWV4cGVjdGVkLnR4dAppbmRleCBhYmFiNTVlLi4zMTYyYjM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcmVwb3J0LUFQSS1lcnJvcnMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXBvcnQtQVBJLWVycm9ycy1leHBl
Y3RlZC50eHQKQEAgLTMsNSArMyw2IEBAIFRlc3RzIHRoYXQgSW5zcGVjdG9yQmFja2VuZFN0dWIg
aXMgY2F0Y2hpbmcgaW5jb3JyZWN0IGFyZ3VtZW50cy4KIFByb3RvY29sIEVycm9yOiBJbnZhbGlk
IHR5cGUgb2YgYXJndW1lbnQgJ2VuYWJsZScgZm9yICdJbnNwZWN0b3JCYWNrZW5kLnNldE1vbml0
b3JpbmdYSFJFbmFibGVkJyBjYWxsLiBJdCBzaG91bGQgYmUgJ2Jvb2xlYW4nIGJ1dCBpdCBpcyAn
bnVtYmVyJy4KIFByb3RvY29sIEVycm9yOiBJbnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMgZm9y
ICdJbnNwZWN0b3JCYWNrZW5kLnNldE1vbml0b3JpbmdYSFJFbmFibGVkJyBjYWxsLiBJdCBzaG91
bGQgaGF2ZSB0aGUgbmV4dCBhcmd1bWVudHMgJ3siZW5hYmxlIjoiYm9vbGVhbiJ9Jy4KIFByb3Rv
Y29sIEVycm9yOiBPcHRpb25hbCBjYWxsYmFjayBhcmd1bWVudCBmb3IgJ0luc3BlY3RvckJhY2tl
bmQuc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQnIGNhbGwgc2hvdWxkIGJlIGEgZnVuY3Rpb24gYnV0
IGl0cyB0eXBlIGlzICdzdHJpbmcnLgotUHJvdG9jb2wgRXJyb3I6IEF0dGVtcHRlZCB0byBkaXNw
YXRjaCBhbiB1bmltcGxlbWVudGVkIFdlYkluc3BlY3RvciBtZXRob2QgJ3NvbWV0aGluZy1zdHJh
bmdlJworUHJvdG9jb2wgRXJyb3I6IHRoZSBtZXNzYWdlIGlzIGZvciBub3QgZXhpc3RpbmcgZG9t
YWluICd3cm9uZ0RvbWFpbicKK1Byb3RvY29sIEVycm9yOiBBdHRlbXB0ZWQgdG8gZGlzcGF0Y2gg
YW4gdW5pbXBsZW1lbnRlZCBtZXRob2QgJ1dlYkluc3BlY3Rvci5tb2RlbHMuSW5zcGVjdG9yLnNv
bWV0aGluZy1zdHJhbmdlJwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcmVw
b3J0LUFQSS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXBvcnQtQVBJLWVy
cm9ycy5odG1sCmluZGV4IGEyYmMyODAuLjc5MzYwZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9yZXBvcnQtQVBJLWVycm9ycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9yZXBvcnQtQVBJLWVycm9ycy5odG1sCkBAIC0xNiw3ICsxNiw4IEBAIGZ1bmN0aW9uIHRl
c3QoKQogICAgIEluc3BlY3RvckJhY2tlbmQuc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQodHJ1ZSwg
Im5vdCBhIGZ1bmN0aW9uIik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5zZXRNb25pdG9yaW5nWEhS
RW5hYmxlZCh0cnVlLCB1bmRlZmluZWQpOwogICAgIEluc3BlY3RvckJhY2tlbmQuc2V0TW9uaXRv
cmluZ1hIUkVuYWJsZWQoZmFsc2UsIHVuZGVmaW5lZCk7Ci0gICAgV2ViSW5zcGVjdG9yX3N5bmNE
aXNwYXRjaCgneyJ0eXBlIjogImV2ZW50IiwgImRvbWFpbiI6ICJkb20iLCAiZXZlbnQiOiAic29t
ZXRoaW5nLXN0cmFuZ2UiLCAiZGF0YSI6IHt9fScpOworICAgIFdlYkluc3BlY3Rvcl9zeW5jRGlz
cGF0Y2goJ3sidHlwZSI6ICJldmVudCIsICJkb21haW4iOiAid3JvbmdEb21haW4iLCAiZXZlbnQi
OiAic29tZXRoaW5nLXN0cmFuZ2UiLCAiZGF0YSI6IHt9fScpOworICAgIFdlYkluc3BlY3Rvcl9z
eW5jRGlzcGF0Y2goJ3sidHlwZSI6ICJldmVudCIsICJkb21haW4iOiAiSW5zcGVjdG9yIiwgImV2
ZW50IjogInNvbWV0aGluZy1zdHJhbmdlIiwgImRhdGEiOiB7fX0nKTsKIAogICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcmVwb3J0LXByb3RvY29sLWVycm9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvcmVwb3J0LXByb3RvY29sLWVycm9ycy1leHBlY3RlZC50eHQKaW5kZXggZjEwMjczYi4u
MjIyMWM4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3JlcG9ydC1wcm90b2Nv
bC1lcnJvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXBvcnQt
cHJvdG9jb2wtZXJyb3JzLWV4cGVjdGVkLnR4dApAQCAtNDQsNiArNDQsNyBAQCBUZXN0cyB0aGF0
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyIGlzIGNhdGNoaW5nIGluY29ycmVjdCBtZXNzYWdl
cy4KIH0KIHsKICAgICBzZXEgOiAyCisgICAgZG9tYWluIDogIlJlc291cmNlcyIKICAgICBzdWNj
ZXNzIDogZmFsc2UKICAgICBlcnJvcnMgOiB7CiAgICAgICAgIDAgOiAiUHJvdG9jb2wgRXJyb3I6
ICdhcmd1bWVudHMnIHByb3BlcnR5IHdpdGggdHlwZSAnb2JqZWN0JyB3YXMgbm90IGZvdW5kLiIK
QEAgLTUxLDYgKzUyLDcgQEAgVGVzdHMgdGhhdCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciBp
cyBjYXRjaGluZyBpbmNvcnJlY3QgbWVzc2FnZXMuCiB9CiB7CiAgICAgc2VxIDogMworICAgIGRv
bWFpbiA6ICJSZXNvdXJjZXMiCiAgICAgc3VjY2VzcyA6IGZhbHNlCiAgICAgZXJyb3JzIDogewog
ICAgICAgICAwIDogIlByb3RvY29sIEVycm9yOiAnYXJndW1lbnRzJyBwcm9wZXJ0eSB3aXRoIHR5
cGUgJ29iamVjdCcgd2FzIG5vdCBmb3VuZC4iCkBAIC01OCw2ICs2MCw3IEBAIFRlc3RzIHRoYXQg
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIgaXMgY2F0Y2hpbmcgaW5jb3JyZWN0IG1lc3NhZ2Vz
LgogfQogewogICAgIHNlcSA6IDQKKyAgICBkb21haW4gOiAiUmVzb3VyY2VzIgogICAgIHN1Y2Nl
c3MgOiBmYWxzZQogICAgIGVycm9ycyA6IHsKICAgICAgICAgMCA6ICJQcm90b2NvbCBFcnJvcjog
QXJndW1lbnQgJ2ZyYW1lSWQnIHdpdGggdHlwZSAnTnVtYmVyJyB3YXMgbm90IGZvdW5kLiIKQEAg
LTY3LDYgKzcwLDcgQEAgVGVzdHMgdGhhdCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciBpcyBj
YXRjaGluZyBpbmNvcnJlY3QgbWVzc2FnZXMuCiB9CiB7CiAgICAgc2VxIDogNQorICAgIGRvbWFp
biA6ICJSZXNvdXJjZXMiCiAgICAgc3VjY2VzcyA6IGZhbHNlCiAgICAgZXJyb3JzIDogewogICAg
ICAgICAwIDogIlByb3RvY29sIEVycm9yOiBBcmd1bWVudCAnZnJhbWVJZCcgd2l0aCB0eXBlICdO
dW1iZXInIHdhcyBub3QgZm91bmQuIgpAQCAtNzYsMTggKzgwLDIwIEBAIFRlc3RzIHRoYXQgSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIgaXMgY2F0Y2hpbmcgaW5jb3JyZWN0IG1lc3NhZ2VzLgog
fQogewogICAgIHNlcSA6IDYKKyAgICBkb21haW4gOiAiRGVidWdnZXIiCiAgICAgc3VjY2VzcyA6
IGZhbHNlCiAgICAgZXJyb3JzIDogewotICAgICAgICAwIDogIlByb3RvY29sIEVycm9yOiBEZWJ1
ZyBoYW5kbGVyIGlzIG5vdCBhdmFpbGFibGUuIgorICAgICAgICAwIDogIlByb3RvY29sIEVycm9y
OiBEZWJ1Z2dlciBoYW5kbGVyIGlzIG5vdCBhdmFpbGFibGUuIgogICAgICAgICAxIDogIlByb3Rv
Y29sIEVycm9yOiBBcmd1bWVudCAnc291cmNlSUQnIHdpdGggdHlwZSAnU3RyaW5nJyB3YXMgbm90
IGZvdW5kLiIKICAgICAgICAgMiA6ICJQcm90b2NvbCBFcnJvcjogQXJndW1lbnQgJ2xpbmVOdW1i
ZXInIHdpdGggdHlwZSAnTnVtYmVyJyB3YXMgbm90IGZvdW5kLiIKICAgICB9CiB9CiB7CiAgICAg
c2VxIDogNworICAgIGRvbWFpbiA6ICJEZWJ1Z2dlciIKICAgICBzdWNjZXNzIDogZmFsc2UKICAg
ICBlcnJvcnMgOiB7Ci0gICAgICAgIDAgOiAiUHJvdG9jb2wgRXJyb3I6IERlYnVnIGhhbmRsZXIg
aXMgbm90IGF2YWlsYWJsZS4iCisgICAgICAgIDAgOiAiUHJvdG9jb2wgRXJyb3I6IERlYnVnZ2Vy
IGhhbmRsZXIgaXMgbm90IGF2YWlsYWJsZS4iCiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDkyYmZiZDYuLjhlNzQzYjMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTAtMTItMDEgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvciBwcm90b2NvbCBjbGVhbnVwIHRhc2suCisKKyAg
ICAgICAgVGhlIHBhdGNoIGhhcyBqdXN0IHNtYWxsIHJlbmFtZXMgYW5kIGFkanVzdG1lbnRzIGZv
ciB0aGUgcHJvdG9jb2wgdGhpbmdzLgorICAgICAgICdoYW5kbGVyJyBrZXl3b3JkIGluIGlkbCBm
aWxlIHdhcyByZXBsYWNlZCB3aXRoICdkb21haW4nLgorICAgICAgICdkb21haW4nIHByb3BlcnR5
IHdhcyBhc3NpZ25lZCBmb3IgdGhlIGVhY2ggYmFja2VuZCB0byBmcm9udGVuZCBtZXNzYWdlcy4K
KyAgICAgICAgQXQgdGhlIG5leHQgc3RlcCBXZWJJbnNwZWN0b3Igd3JhcHBlciBmdW5jdGlvbnMg
d2lsbCBiZSByZW1vdmVkIGFuZCAnYWdlbnRzJyB3aWxsIGJlIGNhbGxlZCBkaXJlY3RseS4KKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTAzMzcKKwor
ICAgICAgICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3IuaWRsOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yX3N5bmNEaXNwYXRjaCk6CisKIDIw
MTAtMTItMDEgIEdyYWNlIEtsb2JhICA8a2xvYmFnQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rv
ci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtIGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVy
YXRvckluc3BlY3Rvci5wbQppbmRleCAxNzdjYTNiLi4wMmUyMDlmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KQEAgLTE5LDE2ICsxOSwxNiBAQCAkdHlw
ZVRyYW5zZm9ybXsiQmFja2VuZCJ9ID0gewogICAgICJoZWFkZXIiID0+ICJJbnNwZWN0b3JCYWNr
ZW5kLmgiLAogICAgICJkb21haW5BY2Nlc3NvciIgPT4gIm1faW5zcGVjdG9yQ29udHJvbGxlci0+
aW5zcGVjdG9yQmFja2VuZCgpIiwKIH07Ci0kdHlwZVRyYW5zZm9ybXsiQ29udHJvbGxlciJ9ID0g
eworJHR5cGVUcmFuc2Zvcm17Ikluc3BlY3RvciJ9ID0gewogICAgICJmb3J3YXJkSGVhZGVyIiA9
PiAiSW5zcGVjdG9yQ29udHJvbGxlci5oIiwKICAgICAiZG9tYWluQWNjZXNzb3IiID0+ICJtX2lu
c3BlY3RvckNvbnRyb2xsZXIiLAogfTsKLSR0eXBlVHJhbnNmb3JteyJEZWJ1ZyJ9ID0geworJHR5
cGVUcmFuc2Zvcm17IkRlYnVnZ2VyIn0gPSB7CiAgICAgImZvcndhcmQiID0+ICJJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50IiwKICAgICAiaGVhZGVyIiA9PiAiSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5o
IiwKICAgICAiZG9tYWluQWNjZXNzb3IiID0+ICJtX2luc3BlY3RvckNvbnRyb2xsZXItPmRlYnVn
Z2VyQWdlbnQoKSIsCiB9OwotJHR5cGVUcmFuc2Zvcm17IlJlc291cmNlIn0gPSB7CiskdHlwZVRy
YW5zZm9ybXsiUmVzb3VyY2VzIn0gPSB7CiAgICAgImZvcndhcmQiID0+ICJJbnNwZWN0b3JSZXNv
dXJjZUFnZW50IiwKICAgICAiaGVhZGVyIiA9PiAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIiwK
ICAgICAiZG9tYWluQWNjZXNzb3IiID0+ICJtX2luc3BlY3RvckNvbnRyb2xsZXItPm1fcmVzb3Vy
Y2VBZ2VudCIsCkBAIC0yNDAsNyArMjQwLDcgQEAgc3ViIEdlbmVyYXRlSW50ZXJmYWNlCiAgICAg
cHVzaChAYmFja2VuZEhlYWQsICIgICAgc3RhdGljIGJvb2wgZ2V0Q29tbWFuZE5hbWUoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBTdHJpbmcqIHJlc3VsdCk7Iik7CiAgICAgJGJhY2tlbmRDb25zdHJ1
Y3RvciA9IGpvaW4oIlxuIiwgQGJhY2tlbmRIZWFkKTsKICAgICAkYmFja2VuZEZvb3RlciA9ICIg
ICAgSW5zcGVjdG9yQ29udHJvbGxlciogbV9pbnNwZWN0b3JDb250cm9sbGVyOyI7Ci0gICAgJGJh
Y2tlbmRUeXBlc3siQ29udHJvbGxlciJ9ID0gMTsKKyAgICAkYmFja2VuZFR5cGVzeyJJbnNwZWN0
b3IifSA9IDE7CiAgICAgJGJhY2tlbmRUeXBlc3siSW5zcGVjdG9yQ2xpZW50In0gPSAxOwogICAg
ICRiYWNrZW5kVHlwZXN7IlBhc3NSZWZQdHIifSA9IDE7CiAgICAgJGJhY2tlbmRUeXBlc3siT2Jq
ZWN0In0gPSAxOwpAQCAtMjgyLDYgKzI4Miw3IEBAIHN1YiBnZW5lcmF0ZUZyb250ZW5kRnVuY3Rp
b24KIAogICAgIG15ICRmdW5jdGlvbk5hbWUgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZTsK
IAorICAgIG15ICRkb21haW4gPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57ImRvbWFpbiJ9IHx8ICJJbnNwZWN0b3IiOwogICAgIG15IEBhcmdzRmlsdGVyZWQgPSBn
cmVwKCRfLT5kaXJlY3Rpb24gZXEgIm91dCIsIEB7JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfSk7ICMg
anVzdCBrZWVwIG9ubHkgb3V0IHBhcmFtZXRlcnMgZm9yIGZyb250ZW5kIGludGVyZmFjZS4KICAg
ICBtYXAoJGZyb250ZW5kVHlwZXN7JF8tPnR5cGV9ID0gMSwgQGFyZ3NGaWx0ZXJlZCk7ICMgcmVn
aXN0ZXIgcmVxdWlyZWQgdHlwZXMuCiAgICAgbXkgJGFyZ3VtZW50cyA9IGpvaW4oIiwgIiwgbWFw
KCR0eXBlVHJhbnNmb3JteyRfLT50eXBlfS0+eyJwYXJhbSJ9IC4gIiAiIC4gJF8tPm5hbWUsIEBh
cmdzRmlsdGVyZWQpKTsgIyBwcmVwYXJlIGFyZ3VtZW50cyBmb3IgZnVuY3Rpb24gc2lnbmF0dXJl
LgpAQCAtMjk1LDYgKzI5Niw3IEBAIHN1YiBnZW5lcmF0ZUZyb250ZW5kRnVuY3Rpb24KICAgICAg
ICAgcHVzaChAZnVuY3Rpb24sICJ7Iik7CiAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIFJl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+ICR7ZnVuY3Rpb25OYW1lfU1lc3NhZ2UgPSBJbnNwZWN0b3JP
YmplY3Q6OmNyZWF0ZSgpOyIpOwogICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAke2Z1bmN0
aW9uTmFtZX1NZXNzYWdlLT5zZXRTdHJpbmcoXCJ0eXBlXCIsIFwiZXZlbnRcIik7Iik7CisgICAg
ICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICR7ZnVuY3Rpb25OYW1lfU1lc3NhZ2UtPnNldFN0cmlu
ZyhcImRvbWFpblwiLCBcIiRkb21haW5cIik7Iik7CiAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAi
ICAgICR7ZnVuY3Rpb25OYW1lfU1lc3NhZ2UtPnNldFN0cmluZyhcImV2ZW50XCIsIFwiJGZ1bmN0
aW9uTmFtZVwiKTsiKTsKICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gcGF5bG9hZERhdGFPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgp
OyIpOwogICAgICAgICBteSBAcHVzaEFyZ3VtZW50cyA9IG1hcCgiICAgIHBheWxvYWREYXRhT2Jq
ZWN0LT5zZXQiIC4gJHR5cGVUcmFuc2Zvcm17JF8tPnR5cGV9LT57IkpTT05UeXBlIn0gLiAiKFwi
IiAuICRfLT5uYW1lIC4gIlwiLCAiIC4gJF8tPm5hbWUgLiAiKTsiLCBAYXJnc0ZpbHRlcmVkKTsK
QEAgLTM0MCw3ICszNDIsNyBAQCBzdWIgZ2VuZXJhdGVCYWNrZW5kRnVuY3Rpb24KICAgICBwdXNo
KEBmdW5jdGlvbiwgIiAgICBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IHByb3RvY29sRXJyb3JzID0g
SW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpOyIpOwogICAgIHB1c2goQGZ1bmN0aW9uLCAiIik7CiAK
LSAgICBteSAkZG9tYWluID0gJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJoYW5kbGVyIn0gfHwgIkNvbnRyb2xsZXIiOworICAgIG15ICRkb21haW4gPSAkZnVuY3Rp
b24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57ImRvbWFpbiJ9IHx8ICJJbnNwZWN0
b3IiOwogICAgIG15ICRkb21haW5BY2Nlc3NvciA9ICR0eXBlVHJhbnNmb3JteyRkb21haW59LT57
ImRvbWFpbkFjY2Vzc29yIn07CiAgICAgJGJhY2tlbmRUeXBlc3skZG9tYWlufSA9IDE7CiAgICAg
cHVzaChAZnVuY3Rpb24sICIgICAgaWYgKCEkZG9tYWluQWNjZXNzb3IpIik7CkBAIC0zNzcsNiAr
Mzc5LDcgQEAgc3ViIGdlbmVyYXRlQmFja2VuZEZ1bmN0aW9uCiAgICAgcHVzaChAZnVuY3Rpb24s
ICIgICAgaWYgKChjYWxsSWQgfHwgcHJvdG9jb2xFcnJvcnMtPmxlbmd0aCgpKSAmJiBtX2luc3Bl
Y3RvckNvbnRyb2xsZXItPmhhc0Zyb250ZW5kKCkpIHsiKTsKICAgICBwdXNoKEBmdW5jdGlvbiwg
IiAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVzcG9uc2VNZXNzYWdlID0gSW5zcGVj
dG9yT2JqZWN0OjpjcmVhdGUoKTsiKTsKICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgcmVz
cG9uc2VNZXNzYWdlLT5zZXROdW1iZXIoXCJzZXFcIiwgY2FsbElkKTsiKTsKKyAgICBwdXNoKEBm
dW5jdGlvbiwgIiAgICAgICAgcmVzcG9uc2VNZXNzYWdlLT5zZXRTdHJpbmcoXCJkb21haW5cIiwg
XCIkZG9tYWluXCIpOyIpOwogICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICByZXNwb25zZU1l
c3NhZ2UtPnNldEJvb2xlYW4oXCJzdWNjZXNzXCIsICFwcm90b2NvbEVycm9ycy0+bGVuZ3RoKCkp
OyIpOwogICAgIHB1c2goQGZ1bmN0aW9uLCAiIik7CiAgICAgcHVzaChAZnVuY3Rpb24sICIgICAg
ICAgIGlmIChwcm90b2NvbEVycm9ycy0+bGVuZ3RoKCkpIik7CkBAIC01NDcsNyArNTUwLDcgQEAg
c3ViIGdlbmVyYXRlQmFja2VuZFN0dWJKUwogCiAgICAgZm9yZWFjaCBteSAkZnVuY3Rpb24gKEBi
YWNrZW5kRnVuY3Rpb25zKSB7CiAgICAgICAgIG15ICRuYW1lID0gJGZ1bmN0aW9uLT5zaWduYXR1
cmUtPm5hbWU7Ci0gICAgICAgIG15ICRkb21haW4gPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57ImhhbmRsZXIifTsKKyAgICAgICAgbXkgJGRvbWFpbiA9ICRmdW5j
dGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiZG9tYWluIn07CiAgICAgICAg
IG15ICRhcmd1bWVudE5hbWVzID0gam9pbigiLCIsIG1hcCgiXCIiIC4gJF8tPm5hbWUgLiAiXCI6
IFwiIiAuIGxjKCR0eXBlVHJhbnNmb3JteyRfLT50eXBlfS0+eyJKU09OVHlwZSJ9KSAuICJcIiIs
IGdyZXAoJF8tPmRpcmVjdGlvbiBlcSAiaW4iLCBAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30pKSk7
CiAgICAgICAgIHB1c2goQEpTU3R1YnMsICIgICAgdGhpcy5fcmVnaXN0ZXJEZWxlZ2F0ZSgneyIg
LgogICAgICAgICAgICAgIlwic2VxXCI6IDAsICIgLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmlkbCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5pZGwKaW5k
ZXggYzE4NWQyZC4uMGE5YWJlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmlkbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsCkBAIC05MiwyMSAr
OTIsMjEgQEAgbW9kdWxlIGNvcmUgewogI2VuZGlmCiAKICAgICAgICAgLy8gVGhpcyBtZXRob2Qg
aXMgZ29pbmcgdG8gYmUgYnJva2VuIGRvd24gaW50byBzbWFsbGVyIHBhcnRzLgotICAgICAgICBb
aGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIHBvcHVsYXRlU2NyaXB0T2JqZWN0cygpOworICAgICAg
ICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBwb3B1bGF0ZVNjcmlwdE9iamVjdHMoKTsKIAotICAg
ICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIGdldEluc3BlY3RvclN0YXRlKG91dCBPYmpl
Y3Qgc3RhdGUpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBnZXRJbnNwZWN0b3JT
dGF0ZShvdXQgT2JqZWN0IHN0YXRlKTsKIAotICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2
b2lkIHNldFNlYXJjaGluZ0Zvck5vZGUoaW4gYm9vbGVhbiBlbmFibGVkLCBvdXQgYm9vbGVhbiBu
ZXdTdGF0ZSk7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldFNlYXJjaGluZ0Zv
ck5vZGUoaW4gYm9vbGVhbiBlbmFibGVkLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7CiAKLSAgICAg
ICAgW2hhbmRsZXI9Q29udHJvbGxlcl0gdm9pZCBzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChpbiBi
b29sZWFuIGVuYWJsZSwgb3V0IGJvb2xlYW4gbmV3U3RhdGUpOworICAgICAgICBbZG9tYWluPUlu
c3BlY3Rvcl0gdm9pZCBzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChpbiBib29sZWFuIGVuYWJsZSwg
b3V0IGJvb2xlYW4gbmV3U3RhdGUpOwogCi0gICAgICAgIFtoYW5kbGVyPUNvbnRyb2xsZXJdIHZv
aWQgcmVsb2FkUGFnZSgpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCByZWxvYWRQ
YWdlKCk7CiAKLSAgICAgICAgW2hhbmRsZXI9Q29udHJvbGxlcl0gdm9pZCBzdGFydFRpbWVsaW5l
UHJvZmlsZXIoKTsKLSAgICAgICAgW2hhbmRsZXI9Q29udHJvbGxlcl0gdm9pZCBzdG9wVGltZWxp
bmVQcm9maWxlcigpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBzdGFydFRpbWVs
aW5lUHJvZmlsZXIoKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc3RvcFRpbWVs
aW5lUHJvZmlsZXIoKTsKIAotICAgICAgICBbaGFuZGxlcj1SZXNvdXJjZV0gdm9pZCBjYWNoZWRS
ZXNvdXJjZXMob3V0IE9iamVjdCByZXNvdXJjZXMpOwotICAgICAgICBbaGFuZGxlcj1SZXNvdXJj
ZV0gdm9pZCByZXNvdXJjZUNvbnRlbnQoaW4gdW5zaWduZWQgbG9uZyBmcmFtZUlkLCBpbiBTdHJp
bmcgdXJsLCBpbiBib29sZWFuIGJhc2U2NEVuY29kZSwgb3V0IFN0cmluZyBjb250ZW50KTsKKyAg
ICAgICAgW2RvbWFpbj1SZXNvdXJjZXNdIHZvaWQgY2FjaGVkUmVzb3VyY2VzKG91dCBPYmplY3Qg
cmVzb3VyY2VzKTsKKyAgICAgICAgW2RvbWFpbj1SZXNvdXJjZXNdIHZvaWQgcmVzb3VyY2VDb250
ZW50KGluIHVuc2lnbmVkIGxvbmcgZnJhbWVJZCwgaW4gU3RyaW5nIHVybCwgaW4gYm9vbGVhbiBi
YXNlNjRFbmNvZGUsIG91dCBTdHJpbmcgY29udGVudCk7CiAgICAgICAgIFtub3RpZnldIHZvaWQg
aWRlbnRpZmllckZvckluaXRpYWxSZXF1ZXN0KG91dCBsb25nIGlkZW50aWZpZXIsIG91dCBTdHJp
bmcgdXJsLCBvdXQgT2JqZWN0IGxvYWRlcik7CiAgICAgICAgIFtub3RpZnldIHZvaWQgd2lsbFNl
bmRSZXF1ZXN0KG91dCBsb25nIGlkZW50aWZpZXIsIG91dCBkb3VibGUgdGltZSwgb3V0IE9iamVj
dCByZXF1ZXN0LCBvdXQgT2JqZWN0IHJlZGlyZWN0UmVzcG9uc2UpOwogICAgICAgICBbbm90aWZ5
XSB2b2lkIG1hcmtSZXNvdXJjZUFzQ2FjaGVkKG91dCBsb25nIGlkZW50aWZpZXIpOwpAQCAtMTI1
LDEzNCArMTI1LDEzNCBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIFtub3RpZnldIHZvaWQgZGlk
Q2xvc2VXZWJTb2NrZXQob3V0IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgb3V0IGRvdWJsZSB0
aW1lKTsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICYmIEVOQUJM
RV9KQVZBU0NSSVBUX0RFQlVHR0VSCi0gICAgICAgIFtoYW5kbGVyPUJhY2tlbmRdIHZvaWQgZW5h
YmxlRGVidWdnZXIoaW4gYm9vbGVhbiBhbHdheXMpOwotICAgICAgICBbaGFuZGxlcj1Db250cm9s
bGVyXSB2b2lkIGRpc2FibGVEZWJ1Z2dlcihpbiBib29sZWFuIGFsd2F5cyk7CisgICAgICAgIFtk
b21haW49QmFja2VuZF0gdm9pZCBlbmFibGVEZWJ1Z2dlcihpbiBib29sZWFuIGFsd2F5cyk7Cisg
ICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGRpc2FibGVEZWJ1Z2dlcihpbiBib29sZWFu
IGFsd2F5cyk7CiAKLSAgICAgICAgW2hhbmRsZXI9RGVidWddIHZvaWQgc2V0QnJlYWtwb2ludChp
biBTdHJpbmcgc291cmNlSUQsIGluIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBpbiBib29sZWFu
IGVuYWJsZWQsIGluIFN0cmluZyBjb25kaXRpb24sIG91dCBib29sZWFuIHN1Y2Nlc3MsIG91dCB1
bnNpZ25lZCBpbnQgYWN0dWFsTGluZU51bWJlcik7Ci0gICAgICAgIFtoYW5kbGVyPURlYnVnXSB2
b2lkIHJlbW92ZUJyZWFrcG9pbnQoaW4gU3RyaW5nIHNvdXJjZUlELCBpbiB1bnNpZ25lZCBsb25n
IGxpbmVOdW1iZXIpOwotICAgICAgICBbaGFuZGxlcj1EZWJ1Z10gdm9pZCBhY3RpdmF0ZUJyZWFr
cG9pbnRzKCk7Ci0gICAgICAgIFtoYW5kbGVyPURlYnVnXSB2b2lkIGRlYWN0aXZhdGVCcmVha3Bv
aW50cygpOworICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIHNldEJyZWFrcG9pbnQoaW4g
U3RyaW5nIHNvdXJjZUlELCBpbiB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgaW4gYm9vbGVhbiBl
bmFibGVkLCBpbiBTdHJpbmcgY29uZGl0aW9uLCBvdXQgYm9vbGVhbiBzdWNjZXNzLCBvdXQgdW5z
aWduZWQgaW50IGFjdHVhbExpbmVOdW1iZXIpOworICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2
b2lkIHJlbW92ZUJyZWFrcG9pbnQoaW4gU3RyaW5nIHNvdXJjZUlELCBpbiB1bnNpZ25lZCBsb25n
IGxpbmVOdW1iZXIpOworICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIGFjdGl2YXRlQnJl
YWtwb2ludHMoKTsKKyAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBkZWFjdGl2YXRlQnJl
YWtwb2ludHMoKTsKIAotICAgICAgICBbaGFuZGxlcj1EZWJ1Z10gdm9pZCBwYXVzZSgpOwotICAg
ICAgICBbaGFuZGxlcj1EZWJ1Z10gdm9pZCByZXN1bWUoKTsKKyAgICAgICAgW2RvbWFpbj1EZWJ1
Z2dlcl0gdm9pZCBwYXVzZSgpOworICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIHJlc3Vt
ZSgpOwogCi0gICAgICAgIFtoYW5kbGVyPURlYnVnXSB2b2lkIHN0ZXBPdmVyU3RhdGVtZW50KCk7
Ci0gICAgICAgIFtoYW5kbGVyPURlYnVnXSB2b2lkIHN0ZXBJbnRvU3RhdGVtZW50KCk7Ci0gICAg
ICAgIFtoYW5kbGVyPURlYnVnXSB2b2lkIHN0ZXBPdXRPZkZ1bmN0aW9uKCk7CisgICAgICAgIFtk
b21haW49RGVidWdnZXJdIHZvaWQgc3RlcE92ZXJTdGF0ZW1lbnQoKTsKKyAgICAgICAgW2RvbWFp
bj1EZWJ1Z2dlcl0gdm9pZCBzdGVwSW50b1N0YXRlbWVudCgpOworICAgICAgICBbZG9tYWluPURl
YnVnZ2VyXSB2b2lkIHN0ZXBPdXRPZkZ1bmN0aW9uKCk7CiAKLSAgICAgICAgW2hhbmRsZXI9RGVi
dWddIHZvaWQgc2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShpbiBsb25nIHBhdXNlT25FeGNlcHRp
b25zU3RhdGUsIG91dCBsb25nIG5ld1N0YXRlKTsKKyAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0g
dm9pZCBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKGluIGxvbmcgcGF1c2VPbkV4Y2VwdGlvbnNT
dGF0ZSwgb3V0IGxvbmcgbmV3U3RhdGUpOwogCi0gICAgICAgIFtoYW5kbGVyPURlYnVnXSB2b2lk
IGVkaXRTY3JpcHRTb3VyY2UoaW4gU3RyaW5nIHNvdXJjZUlELCBpbiBTdHJpbmcgbmV3Q29udGVu
dCwgb3V0IGJvb2xlYW4gc3VjY2Vzcywgb3V0IFN0cmluZyByZXN1bHQsIG91dCBWYWx1ZSBuZXdD
YWxsRnJhbWVzKTsKLSAgICAgICAgW2hhbmRsZXI9RGVidWddIHZvaWQgZ2V0U2NyaXB0U291cmNl
KGluIFN0cmluZyBzb3VyY2VJRCwgb3V0IFN0cmluZyBzY3JpcHRTb3VyY2UpOworICAgICAgICBb
ZG9tYWluPURlYnVnZ2VyXSB2b2lkIGVkaXRTY3JpcHRTb3VyY2UoaW4gU3RyaW5nIHNvdXJjZUlE
LCBpbiBTdHJpbmcgbmV3Q29udGVudCwgb3V0IGJvb2xlYW4gc3VjY2Vzcywgb3V0IFN0cmluZyBy
ZXN1bHQsIG91dCBWYWx1ZSBuZXdDYWxsRnJhbWVzKTsKKyAgICAgICAgW2RvbWFpbj1EZWJ1Z2dl
cl0gdm9pZCBnZXRTY3JpcHRTb3VyY2UoaW4gU3RyaW5nIHNvdXJjZUlELCBvdXQgU3RyaW5nIHNj
cmlwdFNvdXJjZSk7CiAKLSAgICAgICAgW2hhbmRsZXI9Q29udHJvbGxlcl0gdm9pZCBzZXROYXRp
dmVCcmVha3BvaW50KGluIE9iamVjdCBicmVha3BvaW50LCBvdXQgU3RyaW5nIGJyZWFrcG9pbnRJ
ZCk7Ci0gICAgICAgIFtoYW5kbGVyPUNvbnRyb2xsZXJdIHZvaWQgcmVtb3ZlTmF0aXZlQnJlYWtw
b2ludChpbiBTdHJpbmcgYnJlYWtwb2ludElkKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3Jd
IHZvaWQgc2V0TmF0aXZlQnJlYWtwb2ludChpbiBPYmplY3QgYnJlYWtwb2ludCwgb3V0IFN0cmlu
ZyBicmVha3BvaW50SWQpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCByZW1vdmVO
YXRpdmVCcmVha3BvaW50KGluIFN0cmluZyBicmVha3BvaW50SWQpOwogCi0gICAgICAgIFtoYW5k
bGVyPUNvbnRyb2xsZXJdIHZvaWQgZW5hYmxlUHJvZmlsZXIoaW4gYm9vbGVhbiBhbHdheXMpOwot
ICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIGRpc2FibGVQcm9maWxlcihpbiBib29s
ZWFuIGFsd2F5cyk7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGVuYWJsZVByb2Zp
bGVyKGluIGJvb2xlYW4gYWx3YXlzKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQg
ZGlzYWJsZVByb2ZpbGVyKGluIGJvb2xlYW4gYWx3YXlzKTsKIAotICAgICAgICBbaGFuZGxlcj1D
b250cm9sbGVyXSB2b2lkIHN0YXJ0UHJvZmlsaW5nKCk7Ci0gICAgICAgIFtoYW5kbGVyPUNvbnRy
b2xsZXJdIHZvaWQgc3RvcFByb2ZpbGluZygpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0g
dm9pZCBzdGFydFByb2ZpbGluZygpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBz
dG9wUHJvZmlsaW5nKCk7CiAKLSAgICAgICAgW2hhbmRsZXI9UHJvZmlsZXJdIHZvaWQgZ2V0UHJv
ZmlsZUhlYWRlcnMob3V0IEFycmF5IGhlYWRlcnMpOwotICAgICAgICBbaGFuZGxlcj1Qcm9maWxl
cl0gdm9pZCBnZXRQcm9maWxlKGluIFN0cmluZyB0eXBlLCBpbiB1bnNpZ25lZCBsb25nIHVpZCwg
b3V0IE9iamVjdCBwcm9maWxlKTsKKyAgICAgICAgW2RvbWFpbj1Qcm9maWxlcl0gdm9pZCBnZXRQ
cm9maWxlSGVhZGVycyhvdXQgQXJyYXkgaGVhZGVycyk7CisgICAgICAgIFtkb21haW49UHJvZmls
ZXJdIHZvaWQgZ2V0UHJvZmlsZShpbiBTdHJpbmcgdHlwZSwgaW4gdW5zaWduZWQgbG9uZyB1aWQs
IG91dCBPYmplY3QgcHJvZmlsZSk7CiAKLSAgICAgICAgW2hhbmRsZXI9UHJvZmlsZXJdIHZvaWQg
cmVtb3ZlUHJvZmlsZShpbiBTdHJpbmcgdHlwZSwgaW4gdW5zaWduZWQgbG9uZyB1aWQpOwotICAg
ICAgICBbaGFuZGxlcj1Qcm9maWxlcl0gdm9pZCBjbGVhclByb2ZpbGVzKCk7CisgICAgICAgIFtk
b21haW49UHJvZmlsZXJdIHZvaWQgcmVtb3ZlUHJvZmlsZShpbiBTdHJpbmcgdHlwZSwgaW4gdW5z
aWduZWQgbG9uZyB1aWQpOworICAgICAgICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIGNsZWFyUHJv
ZmlsZXMoKTsKIAotICAgICAgICBbaGFuZGxlcj1Qcm9maWxlcl0gdm9pZCB0YWtlSGVhcFNuYXBz
aG90KCk7CisgICAgICAgIFtkb21haW49UHJvZmlsZXJdIHZvaWQgdGFrZUhlYXBTbmFwc2hvdCgp
OwogI2VuZGlmCi0gICAgICAgIFtoYW5kbGVyPUJhY2tlbmRdIHZvaWQgc2V0SW5qZWN0ZWRTY3Jp
cHRTb3VyY2UoaW4gU3RyaW5nIHNjcmlwdFNvdXJjZSk7Ci0gICAgICAgIFtoYW5kbGVyPUJhY2tl
bmRdIHZvaWQgZGlzcGF0Y2hPbkluamVjdGVkU2NyaXB0KGluIGxvbmcgaW5qZWN0ZWRTY3JpcHRJ
ZCwgaW4gU3RyaW5nIG1ldGhvZE5hbWUsIGluIFN0cmluZyBhcmd1bWVudHMsIG91dCBWYWx1ZSBy
ZXN1bHQsIG91dCBib29sZWFuIGlzRXhjZXB0aW9uKTsKLSAgICAgICAgW2hhbmRsZXI9Q29udHJv
bGxlcl0gdm9pZCBhZGRTY3JpcHRUb0V2YWx1YXRlT25Mb2FkKGluIFN0cmluZyBzY3JpcHRTb3Vy
Y2UpOwotICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIHJlbW92ZUFsbFNjcmlwdHNU
b0V2YWx1YXRlT25Mb2FkKCk7Ci0KLSAgICAgICAgW2hhbmRsZXI9RE9NXSB2b2lkIGdldENoaWxk
Tm9kZXMoaW4gbG9uZyBub2RlSWQpOwotICAgICAgICBbaGFuZGxlcj1ET01dIHZvaWQgc2V0QXR0
cmlidXRlKGluIGxvbmcgZWxlbWVudElkLCBpbiBTdHJpbmcgbmFtZSwgaW4gU3RyaW5nIHZhbHVl
LCBvdXQgYm9vbGVhbiBzdWNjZXNzKTsKLSAgICAgICAgW2hhbmRsZXI9RE9NXSB2b2lkIHJlbW92
ZUF0dHJpYnV0ZShpbiBsb25nIGVsZW1lbnRJZCwgaW4gU3RyaW5nIG5hbWUsIG91dCBib29sZWFu
IHN1Y2Nlc3MpOwotICAgICAgICBbaGFuZGxlcj1ET01dIHZvaWQgc2V0VGV4dE5vZGVWYWx1ZShp
biBsb25nIG5vZGVJZCwgaW4gU3RyaW5nIHZhbHVlLCBvdXQgYm9vbGVhbiBzdWNjZXNzKTsKLSAg
ICAgICAgW2hhbmRsZXI9RE9NXSB2b2lkIGdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZShpbiBsb25n
IG5vZGVJZCwgb3V0IGxvbmcgb3V0Tm9kZUlkLCBvdXQgQXJyYXkgbGlzdGVuZXJzQXJyYXkpOwot
ICAgICAgICBbaGFuZGxlcj1ET01dIHZvaWQgY29weU5vZGUoaW4gbG9uZyBub2RlSWQpOwotICAg
ICAgICBbaGFuZGxlcj1ET01dIHZvaWQgcmVtb3ZlTm9kZShpbiBsb25nIG5vZGVJZCwgb3V0IGxv
bmcgb3V0Tm9kZUlkKTsKLSAgICAgICAgW2hhbmRsZXI9RE9NXSB2b2lkIGNoYW5nZVRhZ05hbWUo
aW4gbG9uZyBub2RlSWQsIGluIFN0cmluZyBuZXdUYWdOYW1lLCBvdXQgbG9uZyBvdXROb2RlSWQp
OwotICAgICAgICBbaGFuZGxlcj1ET01dIHZvaWQgZ2V0T3V0ZXJIVE1MKGluIGxvbmcgbm9kZUlk
LCBvdXQgU3RyaW5nIG91dGVySFRNTCk7Ci0gICAgICAgIFtoYW5kbGVyPURPTV0gdm9pZCBzZXRP
dXRlckhUTUwoaW4gbG9uZyBub2RlSWQsIGluIFN0cmluZyBvdXRlckhUTUwsIG91dCBsb25nIG91
dE5vZGVJZCk7Ci0gICAgICAgIFtoYW5kbGVyPURPTV0gdm9pZCBhZGRJbnNwZWN0ZWROb2RlKGlu
IGxvbmcgbm9kZUlkKTsKLSAgICAgICAgW2hhbmRsZXI9RE9NXSB2b2lkIHBlcmZvcm1TZWFyY2go
aW4gU3RyaW5nIHF1ZXJ5LCBpbiBib29sZWFuIHJ1blN5bmNocm9ub3VzbHkpOwotICAgICAgICBb
aGFuZGxlcj1ET01dIHZvaWQgc2VhcmNoQ2FuY2VsZWQoKTsKLSAgICAgICAgW2hhbmRsZXI9RE9N
XSB2b2lkIHB1c2hOb2RlQnlQYXRoVG9Gcm9udGVuZChpbiBTdHJpbmcgcGF0aCwgb3V0IGxvbmcg
bm9kZUlkKTsKLQotICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIHNldENvbnNvbGVN
ZXNzYWdlc0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7
CisgICAgICAgIFtkb21haW49QmFja2VuZF0gdm9pZCBzZXRJbmplY3RlZFNjcmlwdFNvdXJjZShp
biBTdHJpbmcgc2NyaXB0U291cmNlKTsKKyAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIGRp
c3BhdGNoT25JbmplY3RlZFNjcmlwdChpbiBsb25nIGluamVjdGVkU2NyaXB0SWQsIGluIFN0cmlu
ZyBtZXRob2ROYW1lLCBpbiBTdHJpbmcgYXJndW1lbnRzLCBvdXQgVmFsdWUgcmVzdWx0LCBvdXQg
Ym9vbGVhbiBpc0V4Y2VwdGlvbik7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGFk
ZFNjcmlwdFRvRXZhbHVhdGVPbkxvYWQoaW4gU3RyaW5nIHNjcmlwdFNvdXJjZSk7CisgICAgICAg
IFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHJlbW92ZUFsbFNjcmlwdHNUb0V2YWx1YXRlT25Mb2Fk
KCk7CisKKyAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgZ2V0Q2hpbGROb2RlcyhpbiBsb25nIG5v
ZGVJZCk7CisgICAgICAgIFtkb21haW49RE9NXSB2b2lkIHNldEF0dHJpYnV0ZShpbiBsb25nIGVs
ZW1lbnRJZCwgaW4gU3RyaW5nIG5hbWUsIGluIFN0cmluZyB2YWx1ZSwgb3V0IGJvb2xlYW4gc3Vj
Y2Vzcyk7CisgICAgICAgIFtkb21haW49RE9NXSB2b2lkIHJlbW92ZUF0dHJpYnV0ZShpbiBsb25n
IGVsZW1lbnRJZCwgaW4gU3RyaW5nIG5hbWUsIG91dCBib29sZWFuIHN1Y2Nlc3MpOworICAgICAg
ICBbZG9tYWluPURPTV0gdm9pZCBzZXRUZXh0Tm9kZVZhbHVlKGluIGxvbmcgbm9kZUlkLCBpbiBT
dHJpbmcgdmFsdWUsIG91dCBib29sZWFuIHN1Y2Nlc3MpOworICAgICAgICBbZG9tYWluPURPTV0g
dm9pZCBnZXRFdmVudExpc3RlbmVyc0Zvck5vZGUoaW4gbG9uZyBub2RlSWQsIG91dCBsb25nIG91
dE5vZGVJZCwgb3V0IEFycmF5IGxpc3RlbmVyc0FycmF5KTsKKyAgICAgICAgW2RvbWFpbj1ET01d
IHZvaWQgY29weU5vZGUoaW4gbG9uZyBub2RlSWQpOworICAgICAgICBbZG9tYWluPURPTV0gdm9p
ZCByZW1vdmVOb2RlKGluIGxvbmcgbm9kZUlkLCBvdXQgbG9uZyBvdXROb2RlSWQpOworICAgICAg
ICBbZG9tYWluPURPTV0gdm9pZCBjaGFuZ2VUYWdOYW1lKGluIGxvbmcgbm9kZUlkLCBpbiBTdHJp
bmcgbmV3VGFnTmFtZSwgb3V0IGxvbmcgb3V0Tm9kZUlkKTsKKyAgICAgICAgW2RvbWFpbj1ET01d
IHZvaWQgZ2V0T3V0ZXJIVE1MKGluIGxvbmcgbm9kZUlkLCBvdXQgU3RyaW5nIG91dGVySFRNTCk7
CisgICAgICAgIFtkb21haW49RE9NXSB2b2lkIHNldE91dGVySFRNTChpbiBsb25nIG5vZGVJZCwg
aW4gU3RyaW5nIG91dGVySFRNTCwgb3V0IGxvbmcgb3V0Tm9kZUlkKTsKKyAgICAgICAgW2RvbWFp
bj1ET01dIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShpbiBsb25nIG5vZGVJZCk7CisgICAgICAgIFtk
b21haW49RE9NXSB2b2lkIHBlcmZvcm1TZWFyY2goaW4gU3RyaW5nIHF1ZXJ5LCBpbiBib29sZWFu
IHJ1blN5bmNocm9ub3VzbHkpOworICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBzZWFyY2hDYW5j
ZWxlZCgpOworICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBwdXNoTm9kZUJ5UGF0aFRvRnJvbnRl
bmQoaW4gU3RyaW5nIHBhdGgsIG91dCBsb25nIG5vZGVJZCk7CisKKyAgICAgICAgW2RvbWFpbj1J
bnNwZWN0b3JdIHZvaWQgc2V0Q29uc29sZU1lc3NhZ2VzRW5hYmxlZChpbiBib29sZWFuIGVuYWJs
ZWQsIG91dCBib29sZWFuIG5ld1N0YXRlKTsKICAgICAgICAgW25vdGlmeV0gdm9pZCBhZGRDb25z
b2xlTWVzc2FnZShvdXQgT2JqZWN0IG1lc3NhZ2VPYmopOwogICAgICAgICBbbm90aWZ5XSB2b2lk
IHVwZGF0ZUNvbnNvbGVNZXNzYWdlRXhwaXJlZENvdW50KG91dCB1bnNpZ25lZCBsb25nIGNvdW50
KTsKICAgICAgICAgW25vdGlmeV0gdm9pZCB1cGRhdGVDb25zb2xlTWVzc2FnZVJlcGVhdENvdW50
KG91dCB1bnNpZ25lZCBsb25nIGNvdW50KTsKIAotICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVy
XSB2b2lkIGNsZWFyQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9y
XSB2b2lkIGNsZWFyQ29uc29sZU1lc3NhZ2VzKCk7CiAgICAgICAgIFtub3RpZnldIHZvaWQgY29u
c29sZU1lc3NhZ2VzQ2xlYXJlZCgpOwogCi0gICAgICAgIFtoYW5kbGVyPUNvbnRyb2xsZXJdIHZv
aWQgaGlnaGxpZ2h0RE9NTm9kZShpbiBsb25nIG5vZGVJZCk7Ci0gICAgICAgIFtoYW5kbGVyPUNv
bnRyb2xsZXJdIHZvaWQgaGlkZURPTU5vZGVIaWdobGlnaHQoKTsKLSAgICAgICAgW2hhbmRsZXI9
Q29udHJvbGxlcl0gdm9pZCBvcGVuSW5JbnNwZWN0ZWRXaW5kb3coaW4gU3RyaW5nIHVybCk7Ci0K
LSAgICAgICAgW2hhbmRsZXI9Q29udHJvbGxlcl0gdm9pZCBoaWdobGlnaHRGcmFtZShpbiB1bnNp
Z25lZCBsb25nIGZyYW1lSWQpOwotICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIGhp
ZGVGcmFtZUhpZ2hsaWdodCgpOwotCi0gICAgICAgIFtoYW5kbGVyPURPTV0gdm9pZCBnZXRTdHls
ZXMoaW4gbG9uZyBub2RlSWQsIGluIGJvb2xlYW4gYXV0aE9ubHksIG91dCBWYWx1ZSBzdHlsZXMp
OwotICAgICAgICBbaGFuZGxlcj1ET01dIHZvaWQgZ2V0QWxsU3R5bGVzKG91dCBBcnJheSBzdHls
ZXMpOwotICAgICAgICBbaGFuZGxlcj1ET01dIHZvaWQgZ2V0SW5saW5lU3R5bGUoaW4gbG9uZyBu
b2RlSWQsIG91dCBWYWx1ZSBzdHlsZSk7Ci0gICAgICAgIFtoYW5kbGVyPURPTV0gdm9pZCBnZXRD
b21wdXRlZFN0eWxlKGluIGxvbmcgbm9kZUlkLCBvdXQgVmFsdWUgc3R5bGUpOwotICAgICAgICBb
aGFuZGxlcj1ET01dIHZvaWQgZ2V0U3R5bGVTaGVldChpbiBsb25nIHN0eWxlU2hlZXRJZCwgb3V0
IE9iamVjdCBzdHlsZVNoZWV0KTsKLSAgICAgICAgW2hhbmRsZXI9RE9NXSB2b2lkIGdldFN0eWxl
U291cmNlRGF0YShpbiBsb25nIHN0eWxlU2hlZXRJZCwgb3V0IE9iamVjdCBzdHlsZVNvdXJjZURh
dGEpOwotICAgICAgICBbaGFuZGxlcj1ET01dIHZvaWQgYXBwbHlTdHlsZVRleHQoaW4gbG9uZyBz
dHlsZUlkLCBpbiBTdHJpbmcgc3R5bGVUZXh0LCBpbiBTdHJpbmcgcHJvcGVydHlOYW1lLCBvdXQg
Ym9vbGVhbiBzdWNjZXNzLCBvdXQgVmFsdWUgc3R5bGUpOwotICAgICAgICBbaGFuZGxlcj1ET01d
IHZvaWQgc2V0U3R5bGVUZXh0KGluIGxvbmcgc3R5bGVJZCwgaW4gU3RyaW5nIHN0eWxlVGV4dCwg
b3V0IGJvb2xlYW4gc3VjY2Vzcyk7Ci0gICAgICAgIFtoYW5kbGVyPURPTV0gdm9pZCBzZXRTdHls
ZVByb3BlcnR5KGluIGxvbmcgc3R5bGVJZCwgaW4gU3RyaW5nIG5hbWUsIGluIFN0cmluZyB2YWx1
ZSwgb3V0IGJvb2xlYW4gc3VjY2Vzcyk7Ci0gICAgICAgIFtoYW5kbGVyPURPTV0gdm9pZCB0b2dn
bGVTdHlsZUVuYWJsZWQoaW4gbG9uZyBzdHlsZUlkLCBpbiBTdHJpbmcgcHJvcGVydHlOYW1lLCBp
biBib29sZWFuIGRpc2FibGVkLCBvdXQgVmFsdWUgc3R5bGUpOwotICAgICAgICBbaGFuZGxlcj1E
T01dIHZvaWQgc2V0UnVsZVNlbGVjdG9yKGluIGxvbmcgcnVsZUlkLCBpbiBTdHJpbmcgc2VsZWN0
b3IsIGluIGxvbmcgc2VsZWN0ZWROb2RlSWQsIG91dCBWYWx1ZSBydWxlLCBvdXQgYm9vbGVhbiBz
ZWxlY3RvckFmZmVjdHNOb2RlKTsKLSAgICAgICAgW2hhbmRsZXI9RE9NXSB2b2lkIGFkZFJ1bGUo
aW4gU3RyaW5nIHNlbGVjdG9yLCBpbiBsb25nIHNlbGVjdGVkTm9kZUlkLCBvdXQgVmFsdWUgcnVs
ZSwgb3V0IGJvb2xlYW4gc2VsZWN0b3JBZmZlY3RzTm9kZSk7Ci0KLSAgICAgICAgW2hhbmRsZXI9
Q1NTXSB2b2lkIGdldFN0eWxlc0Zvck5vZGUyKGluIGxvbmcgbm9kZUlkLCBvdXQgVmFsdWUgc3R5
bGVzKTsKLSAgICAgICAgW2hhbmRsZXI9Q1NTXSB2b2lkIGdldENvbXB1dGVkU3R5bGVGb3JOb2Rl
MihpbiBsb25nIG5vZGVJZCwgb3V0IFZhbHVlIHN0eWxlKTsKLSAgICAgICAgW2hhbmRsZXI9Q1NT
XSB2b2lkIGdldElubGluZVN0eWxlRm9yTm9kZTIoaW4gbG9uZyBub2RlSWQsIG91dCBWYWx1ZSBz
dHlsZSk7Ci0gICAgICAgIFtoYW5kbGVyPUNTU10gdm9pZCBnZXRBbGxTdHlsZXMyKG91dCBBcnJh
eSBzdHlsZVNoZWV0SWRzKTsKLSAgICAgICAgW2hhbmRsZXI9Q1NTXSB2b2lkIGdldFN0eWxlU2hl
ZXQyKGluIFN0cmluZyBzdHlsZVNoZWV0SWQsIG91dCBWYWx1ZSBzdHlsZVNoZWV0KTsKLSAgICAg
ICAgW2hhbmRsZXI9Q1NTXSB2b2lkIGdldFN0eWxlU2hlZXRUZXh0MihpbiBTdHJpbmcgc3R5bGVT
aGVldElkLCBvdXQgU3RyaW5nIHVybCwgb3V0IFN0cmluZyB0ZXh0KTsKLSAgICAgICAgW2hhbmRs
ZXI9Q1NTXSB2b2lkIHNldFN0eWxlU2hlZXRUZXh0MihpbiBTdHJpbmcgc3R5bGVTaGVldElkLCBp
biBTdHJpbmcgdGV4dCwgb3V0IGJvb2xlYW4gc3VjY2Vzcyk7Ci0gICAgICAgIFtoYW5kbGVyPUNT
U10gdm9pZCBzZXRQcm9wZXJ0eVRleHQyKGluIE9iamVjdCBzdHlsZUlkLCBpbiBsb25nIHByb3Bl
cnR5SW5kZXgsIGluIFN0cmluZyB0ZXh0LCBpbiBib29sZWFuIG92ZXJ3cml0ZSwgb3V0IFZhbHVl
IHN0eWxlKTsKLSAgICAgICAgW2hhbmRsZXI9Q1NTXSB2b2lkIHRvZ2dsZVByb3BlcnR5MihpbiBP
YmplY3Qgc3R5bGVJZCwgaW4gbG9uZyBwcm9wZXJ0eUluZGV4LCBpbiBib29sZWFuIGRpc2FibGUs
IG91dCBWYWx1ZSBzdHlsZSk7Ci0gICAgICAgIFtoYW5kbGVyPUNTU10gdm9pZCBzZXRSdWxlU2Vs
ZWN0b3IyKGluIE9iamVjdCBydWxlSWQsIGluIFN0cmluZyBzZWxlY3Rvciwgb3V0IFZhbHVlIHJ1
bGUpOwotICAgICAgICBbaGFuZGxlcj1DU1NdIHZvaWQgYWRkUnVsZTIoaW4gbG9uZyBjb250ZXh0
Tm9kZUlkLCBpbiBTdHJpbmcgc2VsZWN0b3IsIG91dCBWYWx1ZSBydWxlKTsKLSAgICAgICAgW2hh
bmRsZXI9Q1NTXSB2b2lkIGdldFN1cHBvcnRlZENTU1Byb3BlcnRpZXMob3V0IEFycmF5IGNzc1By
b3BlcnRpZXMpOwotICAgICAgICBbaGFuZGxlcj1DU1NdIHZvaWQgcXVlcnlTZWxlY3RvckFsbChp
biBsb25nIGRvY3VtZW50SWQsIGluIFN0cmluZyBzZWxlY3Rvciwgb3V0IEFycmF5IHJlc3VsdCk7
Ci0KLSAgICAgICAgW2hhbmRsZXI9Q29udHJvbGxlcl0gdm9pZCBnZXRDb29raWVzKG91dCBBcnJh
eSBjb29raWVzLCBvdXQgU3RyaW5nIGNvb2tpZXNTdHJpbmcpOwotICAgICAgICBbaGFuZGxlcj1D
b250cm9sbGVyXSB2b2lkIGRlbGV0ZUNvb2tpZShpbiBTdHJpbmcgY29va2llTmFtZSwgaW4gU3Ry
aW5nIGRvbWFpbik7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGhpZ2hsaWdodERP
TU5vZGUoaW4gbG9uZyBub2RlSWQpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBo
aWRlRE9NTm9kZUhpZ2hsaWdodCgpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBv
cGVuSW5JbnNwZWN0ZWRXaW5kb3coaW4gU3RyaW5nIHVybCk7CisKKyAgICAgICAgW2RvbWFpbj1J
bnNwZWN0b3JdIHZvaWQgaGlnaGxpZ2h0RnJhbWUoaW4gdW5zaWduZWQgbG9uZyBmcmFtZUlkKTsK
KyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgaGlkZUZyYW1lSGlnaGxpZ2h0KCk7CisK
KyAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgZ2V0U3R5bGVzKGluIGxvbmcgbm9kZUlkLCBpbiBi
b29sZWFuIGF1dGhPbmx5LCBvdXQgVmFsdWUgc3R5bGVzKTsKKyAgICAgICAgW2RvbWFpbj1ET01d
IHZvaWQgZ2V0QWxsU3R5bGVzKG91dCBBcnJheSBzdHlsZXMpOworICAgICAgICBbZG9tYWluPURP
TV0gdm9pZCBnZXRJbmxpbmVTdHlsZShpbiBsb25nIG5vZGVJZCwgb3V0IFZhbHVlIHN0eWxlKTsK
KyAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgZ2V0Q29tcHV0ZWRTdHlsZShpbiBsb25nIG5vZGVJ
ZCwgb3V0IFZhbHVlIHN0eWxlKTsKKyAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgZ2V0U3R5bGVT
aGVldChpbiBsb25nIHN0eWxlU2hlZXRJZCwgb3V0IE9iamVjdCBzdHlsZVNoZWV0KTsKKyAgICAg
ICAgW2RvbWFpbj1ET01dIHZvaWQgZ2V0U3R5bGVTb3VyY2VEYXRhKGluIGxvbmcgc3R5bGVTaGVl
dElkLCBvdXQgT2JqZWN0IHN0eWxlU291cmNlRGF0YSk7CisgICAgICAgIFtkb21haW49RE9NXSB2
b2lkIGFwcGx5U3R5bGVUZXh0KGluIGxvbmcgc3R5bGVJZCwgaW4gU3RyaW5nIHN0eWxlVGV4dCwg
aW4gU3RyaW5nIHByb3BlcnR5TmFtZSwgb3V0IGJvb2xlYW4gc3VjY2Vzcywgb3V0IFZhbHVlIHN0
eWxlKTsKKyAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgc2V0U3R5bGVUZXh0KGluIGxvbmcgc3R5
bGVJZCwgaW4gU3RyaW5nIHN0eWxlVGV4dCwgb3V0IGJvb2xlYW4gc3VjY2Vzcyk7CisgICAgICAg
IFtkb21haW49RE9NXSB2b2lkIHNldFN0eWxlUHJvcGVydHkoaW4gbG9uZyBzdHlsZUlkLCBpbiBT
dHJpbmcgbmFtZSwgaW4gU3RyaW5nIHZhbHVlLCBvdXQgYm9vbGVhbiBzdWNjZXNzKTsKKyAgICAg
ICAgW2RvbWFpbj1ET01dIHZvaWQgdG9nZ2xlU3R5bGVFbmFibGVkKGluIGxvbmcgc3R5bGVJZCwg
aW4gU3RyaW5nIHByb3BlcnR5TmFtZSwgaW4gYm9vbGVhbiBkaXNhYmxlZCwgb3V0IFZhbHVlIHN0
eWxlKTsKKyAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgc2V0UnVsZVNlbGVjdG9yKGluIGxvbmcg
cnVsZUlkLCBpbiBTdHJpbmcgc2VsZWN0b3IsIGluIGxvbmcgc2VsZWN0ZWROb2RlSWQsIG91dCBW
YWx1ZSBydWxlLCBvdXQgYm9vbGVhbiBzZWxlY3RvckFmZmVjdHNOb2RlKTsKKyAgICAgICAgW2Rv
bWFpbj1ET01dIHZvaWQgYWRkUnVsZShpbiBTdHJpbmcgc2VsZWN0b3IsIGluIGxvbmcgc2VsZWN0
ZWROb2RlSWQsIG91dCBWYWx1ZSBydWxlLCBvdXQgYm9vbGVhbiBzZWxlY3RvckFmZmVjdHNOb2Rl
KTsKKworICAgICAgICBbZG9tYWluPUNTU10gdm9pZCBnZXRTdHlsZXNGb3JOb2RlMihpbiBsb25n
IG5vZGVJZCwgb3V0IFZhbHVlIHN0eWxlcyk7CisgICAgICAgIFtkb21haW49Q1NTXSB2b2lkIGdl
dENvbXB1dGVkU3R5bGVGb3JOb2RlMihpbiBsb25nIG5vZGVJZCwgb3V0IFZhbHVlIHN0eWxlKTsK
KyAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgZ2V0SW5saW5lU3R5bGVGb3JOb2RlMihpbiBsb25n
IG5vZGVJZCwgb3V0IFZhbHVlIHN0eWxlKTsKKyAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgZ2V0
QWxsU3R5bGVzMihvdXQgQXJyYXkgc3R5bGVTaGVldElkcyk7CisgICAgICAgIFtkb21haW49Q1NT
XSB2b2lkIGdldFN0eWxlU2hlZXQyKGluIFN0cmluZyBzdHlsZVNoZWV0SWQsIG91dCBWYWx1ZSBz
dHlsZVNoZWV0KTsKKyAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgZ2V0U3R5bGVTaGVldFRleHQy
KGluIFN0cmluZyBzdHlsZVNoZWV0SWQsIG91dCBTdHJpbmcgdXJsLCBvdXQgU3RyaW5nIHRleHQp
OworICAgICAgICBbZG9tYWluPUNTU10gdm9pZCBzZXRTdHlsZVNoZWV0VGV4dDIoaW4gU3RyaW5n
IHN0eWxlU2hlZXRJZCwgaW4gU3RyaW5nIHRleHQsIG91dCBib29sZWFuIHN1Y2Nlc3MpOworICAg
ICAgICBbZG9tYWluPUNTU10gdm9pZCBzZXRQcm9wZXJ0eVRleHQyKGluIE9iamVjdCBzdHlsZUlk
LCBpbiBsb25nIHByb3BlcnR5SW5kZXgsIGluIFN0cmluZyB0ZXh0LCBpbiBib29sZWFuIG92ZXJ3
cml0ZSwgb3V0IFZhbHVlIHN0eWxlKTsKKyAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgdG9nZ2xl
UHJvcGVydHkyKGluIE9iamVjdCBzdHlsZUlkLCBpbiBsb25nIHByb3BlcnR5SW5kZXgsIGluIGJv
b2xlYW4gZGlzYWJsZSwgb3V0IFZhbHVlIHN0eWxlKTsKKyAgICAgICAgW2RvbWFpbj1DU1NdIHZv
aWQgc2V0UnVsZVNlbGVjdG9yMihpbiBPYmplY3QgcnVsZUlkLCBpbiBTdHJpbmcgc2VsZWN0b3Is
IG91dCBWYWx1ZSBydWxlKTsKKyAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgYWRkUnVsZTIoaW4g
bG9uZyBjb250ZXh0Tm9kZUlkLCBpbiBTdHJpbmcgc2VsZWN0b3IsIG91dCBWYWx1ZSBydWxlKTsK
KyAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgZ2V0U3VwcG9ydGVkQ1NTUHJvcGVydGllcyhvdXQg
QXJyYXkgY3NzUHJvcGVydGllcyk7CisgICAgICAgIFtkb21haW49Q1NTXSB2b2lkIHF1ZXJ5U2Vs
ZWN0b3JBbGwoaW4gbG9uZyBkb2N1bWVudElkLCBpbiBTdHJpbmcgc2VsZWN0b3IsIG91dCBBcnJh
eSByZXN1bHQpOworCisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGdldENvb2tpZXMo
b3V0IEFycmF5IGNvb2tpZXMsIG91dCBTdHJpbmcgY29va2llc1N0cmluZyk7CisgICAgICAgIFtk
b21haW49SW5zcGVjdG9yXSB2b2lkIGRlbGV0ZUNvb2tpZShpbiBTdHJpbmcgY29va2llTmFtZSwg
aW4gU3RyaW5nIGRvbWFpbik7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBM
SUNBVElPTlMpICYmIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMKLSAgICAgICAgW2hh
bmRsZXI9QXBwbGljYXRpb25DYWNoZV0gdm9pZCBnZXRBcHBsaWNhdGlvbkNhY2hlcyhvdXQgVmFs
dWUgYXBwbGljYXRpb25DYWNoZXMpOworICAgICAgICBbZG9tYWluPUFwcGxpY2F0aW9uQ2FjaGVd
IHZvaWQgZ2V0QXBwbGljYXRpb25DYWNoZXMob3V0IFZhbHVlIGFwcGxpY2F0aW9uQ2FjaGVzKTsK
ICNlbmRpZgogCiAjaWYgZGVmaW5lZChFTkFCTEVfRklMRV9TWVNURU0pICYmIEVOQUJMRV9GSUxF
X1NZU1RFTQotICAgICAgICBbaGFuZGxlcj1GaWxlU3lzdGVtXSB2b2lkIGdldEZpbGVTeXN0ZW1Q
YXRoQXN5bmMoaW4gdW5zaWduZWQgaW50IHR5cGUsIGluIFN0cmluZyBvcmlnaW4pOwotICAgICAg
ICBbaGFuZGxlcj1GaWxlU3lzdGVtXSB2b2lkIHJldmVhbEZvbGRlckluT1MoaW4gU3RyaW5nIHBh
dGgpOworICAgICAgICBbZG9tYWluPUZpbGVTeXN0ZW1dIHZvaWQgZ2V0RmlsZVN5c3RlbVBhdGhB
c3luYyhpbiB1bnNpZ25lZCBpbnQgdHlwZSwgaW4gU3RyaW5nIG9yaWdpbik7CisgICAgICAgIFtk
b21haW49RmlsZVN5c3RlbV0gdm9pZCByZXZlYWxGb2xkZXJJbk9TKGluIFN0cmluZyBwYXRoKTsK
ICAgICAgICAgW25vdGlmeV0gdm9pZCBkaWRHZXRGaWxlU3lzdGVtUGF0aChvdXQgU3RyaW5nIHJv
b3QsIG91dCBpbnQgdHlwZSwgb3V0IFN0cmluZyBvcmlnaW4pOwogICAgICAgICBbbm90aWZ5XSB2
b2lkIGRpZEdldEZpbGVTeXN0ZW1FcnJvcihvdXQgaW50IHR5cGUsIG91dCBTdHJpbmcgb3JpZ2lu
KTsKICAgICAgICAgW25vdGlmeV0gdm9pZCBkaWRHZXRGaWxlU3lzdGVtRGlzYWJsZWQoKTsKICNl
bmRpZgogCi0gICAgICAgIFtoYW5kbGVyPUJhY2tlbmRdIHZvaWQgcmVsZWFzZVdyYXBwZXJPYmpl
Y3RHcm91cChpbiBsb25nIGluamVjdGVkU2NyaXB0SWQsIGluIFN0cmluZyBvYmplY3RHcm91cCk7
Ci0gICAgICAgIFtoYW5kbGVyPUNvbnRyb2xsZXJdIHZvaWQgZGlkRXZhbHVhdGVGb3JUZXN0SW5G
cm9udGVuZChpbiBsb25nIHRlc3RDYWxsSWQsIGluIFN0cmluZyBqc29uUmVzdWx0KTsKKyAgICAg
ICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIHJlbGVhc2VXcmFwcGVyT2JqZWN0R3JvdXAoaW4gbG9u
ZyBpbmplY3RlZFNjcmlwdElkLCBpbiBTdHJpbmcgb2JqZWN0R3JvdXApOworICAgICAgICBbZG9t
YWluPUluc3BlY3Rvcl0gdm9pZCBkaWRFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGluIGxvbmcg
dGVzdENhbGxJZCwgaW4gU3RyaW5nIGpzb25SZXN1bHQpOwogCiAjaWYgZGVmaW5lZChFTkFCTEVf
REFUQUJBU0UpICYmIEVOQUJMRV9EQVRBQkFTRQotICAgICAgICBbaGFuZGxlcj1CYWNrZW5kXSB2
b2lkIGdldERhdGFiYXNlVGFibGVOYW1lcyhpbiBsb25nIGRhdGFiYXNlSWQsIG91dCBBcnJheSB0
YWJsZU5hbWVzKTsKLSAgICAgICAgW2hhbmRsZXI9QmFja2VuZF0gdm9pZCBleGVjdXRlU1FMKGlu
IGxvbmcgZGF0YWJhc2VJZCwgaW4gU3RyaW5nIHF1ZXJ5LCBvdXQgYm9vbGVhbiBzdWNjZXNzLCBv
dXQgbG9uZyB0cmFuc2FjdGlvbklkKTsKKyAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIGdl
dERhdGFiYXNlVGFibGVOYW1lcyhpbiBsb25nIGRhdGFiYXNlSWQsIG91dCBBcnJheSB0YWJsZU5h
bWVzKTsKKyAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIGV4ZWN1dGVTUUwoaW4gbG9uZyBk
YXRhYmFzZUlkLCBpbiBTdHJpbmcgcXVlcnksIG91dCBib29sZWFuIHN1Y2Nlc3MsIG91dCBsb25n
IHRyYW5zYWN0aW9uSWQpOwogICAgICAgICBbbm90aWZ5XSB2b2lkIHNxbFRyYW5zYWN0aW9uU3Vj
Y2VlZGVkKG91dCBsb25nIHRyYW5zYWN0aW9uSWQsIG91dCBWYWx1ZSBjb2x1bW5OYW1lcywgb3V0
IFZhbHVlIHZhbHVlcyk7CiAgICAgICAgIFtub3RpZnldIHZvaWQgc3FsVHJhbnNhY3Rpb25GYWls
ZWQob3V0IGxvbmcgdHJhbnNhY3Rpb25JZCwgb3V0IFZhbHVlIHNxbEVycm9yKTsKICNlbmRpZgog
CiAjaWYgZGVmaW5lZChFTkFCTEVfRE9NX1NUT1JBR0UpICYmIEVOQUJMRV9ET01fU1RPUkFHRQot
ICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIGdldERPTVN0b3JhZ2VFbnRyaWVzKGlu
IGxvbmcgc3RvcmFnZUlkLCBvdXQgQXJyYXkgZW50cmllcyk7Ci0gICAgICAgIFtoYW5kbGVyPUNv
bnRyb2xsZXJdIHZvaWQgc2V0RE9NU3RvcmFnZUl0ZW0oaW4gbG9uZyBzdG9yYWdlSWQsIGluIFN0
cmluZyBrZXksIGluIFN0cmluZyB2YWx1ZSwgb3V0IGJvb2xlYW4gc3VjY2Vzcyk7Ci0gICAgICAg
IFtoYW5kbGVyPUNvbnRyb2xsZXJdIHZvaWQgcmVtb3ZlRE9NU3RvcmFnZUl0ZW0oaW4gbG9uZyBz
dG9yYWdlSWQsIGluIFN0cmluZyBrZXksIG91dCBib29sZWFuIHN1Y2Nlc3MpOworICAgICAgICBb
ZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBnZXRET01TdG9yYWdlRW50cmllcyhpbiBsb25nIHN0b3Jh
Z2VJZCwgb3V0IEFycmF5IGVudHJpZXMpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9p
ZCBzZXRET01TdG9yYWdlSXRlbShpbiBsb25nIHN0b3JhZ2VJZCwgaW4gU3RyaW5nIGtleSwgaW4g
U3RyaW5nIHZhbHVlLCBvdXQgYm9vbGVhbiBzdWNjZXNzKTsKKyAgICAgICAgW2RvbWFpbj1JbnNw
ZWN0b3JdIHZvaWQgcmVtb3ZlRE9NU3RvcmFnZUl0ZW0oaW4gbG9uZyBzdG9yYWdlSWQsIGluIFN0
cmluZyBrZXksIG91dCBib29sZWFuIHN1Y2Nlc3MpOwogI2VuZGlmCiAgICAgfTsKIH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDUxMTQ1Y2YuLmNhMjkwNGMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtNTE5LDYgKzUx
OSw4IEBAIFdlYkluc3BlY3Rvci5kb0xvYWRlZERvbmUgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5k
cmF3ZXIudmlzaWJsZVZpZXcgPSB0aGlzLmNvbnNvbGU7CiAgICAgdGhpcy5yZXNvdXJjZU1hbmFn
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlTWFuYWdlcigpOwogICAgIHRoaXMuZG9tQWdl
bnQgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTUFnZW50KCk7CisgICAgdGhpcy5kb21haW5zID0ge307
CisgICAgdGhpcy5kb21haW5zLkluc3BlY3RvciA9IHRoaXM7CiAKICAgICB0aGlzLnJlc291cmNl
Q2F0ZWdvcmllcyA9IHsKICAgICAgICAgZG9jdW1lbnRzOiBuZXcgV2ViSW5zcGVjdG9yLlJlc291
cmNlQ2F0ZWdvcnkoImRvY3VtZW50cyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiRG9jdW1lbnRz
IiksICJyZ2IoNDcsMTAyLDIzNikiKSwKQEAgLTY3OSwxMSArNjgxLDE2IEBAIFdlYkluc3BlY3Rv
cl9zeW5jRGlzcGF0Y2ggPSBmdW5jdGlvbihtZXNzYWdlKQogICAgIH0KIAogICAgIGlmIChtZXNz
YWdlT2JqZWN0LnR5cGUgPT09ICJldmVudCIpIHsKLSAgICAgICAgaWYgKCEobWVzc2FnZU9iamVj
dC5ldmVudCBpbiBXZWJJbnNwZWN0b3IpKSB7Ci0gICAgICAgICAgICBjb25zb2xlLmVycm9yKCJQ
cm90b2NvbCBFcnJvcjogQXR0ZW1wdGVkIHRvIGRpc3BhdGNoIGFuIHVuaW1wbGVtZW50ZWQgV2Vi
SW5zcGVjdG9yIG1ldGhvZCAnJXMnIiwgbWVzc2FnZU9iamVjdC5ldmVudCk7CisgICAgICAgIGlm
ICghKG1lc3NhZ2VPYmplY3QuZG9tYWluIGluIFdlYkluc3BlY3Rvci5kb21haW5zKSkgeworICAg
ICAgICAgIGNvbnNvbGUuZXJyb3IoIlByb3RvY29sIEVycm9yOiB0aGUgbWVzc2FnZSBpcyBmb3Ig
bm90IGV4aXN0aW5nIGRvbWFpbiAnJXMnIiwgbWVzc2FnZU9iamVjdC5kb21haW4pOworICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB2YXIgZG9tYWluTW9kZWwgPSBXZWJJbnNw
ZWN0b3IuZG9tYWluc1ttZXNzYWdlT2JqZWN0LmRvbWFpbl07CisgICAgICAgIGlmICghKG1lc3Nh
Z2VPYmplY3QuZXZlbnQgaW4gZG9tYWluTW9kZWwpKSB7CisgICAgICAgICAgICBjb25zb2xlLmVy
cm9yKCJQcm90b2NvbCBFcnJvcjogQXR0ZW1wdGVkIHRvIGRpc3BhdGNoIGFuIHVuaW1wbGVtZW50
ZWQgbWV0aG9kICdXZWJJbnNwZWN0b3IubW9kZWxzLiVzLiVzJyIsIG1lc3NhZ2VPYmplY3QuZG9t
YWluLCBtZXNzYWdlT2JqZWN0LmV2ZW50KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQotICAgICAgICBXZWJJbnNwZWN0b3JbbWVzc2FnZU9iamVjdC5ldmVudF0uYXBwbHkoV2ViSW5z
cGVjdG9yLCBhcmd1bWVudHMpOworICAgICAgICBkb21haW5Nb2RlbFttZXNzYWdlT2JqZWN0LmV2
ZW50XS5hcHBseShkb21haW5Nb2RlbCwgYXJndW1lbnRzKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>