<?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>59616</bug_id>
          
          <creation_ts>2011-04-27 09:39:37 -0700</creation_ts>
          <short_desc>Web Inspector: add ResourceTreeModel test for initial load.</short_desc>
          <delta_ts>2011-04-28 08:56:45 -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 (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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>393609</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-27 09:39:37 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393612</commentid>
    <comment_count>1</comment_count>
      <attachid>91302</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-27 09:43:55 -0700</bug_when>
    <thetext>Created attachment 91302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393626</commentid>
    <comment_count>2</comment_count>
      <attachid>91302</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-27 10:09:03 -0700</bug_when>
    <thetext>Comment on attachment 91302
Patch

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

&gt; Source/WebCore/inspector/front-end/ResourceTreeModel.js:167
&gt; +        if (!resource.statusCode || resource.statusCode === 200 || resource.statusCode === 304)

Can we use something like hasContent instead of this check? Also, note that responses like 404 may contain custom html code explaining the error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393640</commentid>
    <comment_count>3</comment_count>
      <attachid>91311</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-27 10:24:04 -0700</bug_when>
    <thetext>Created attachment 91311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394403</commentid>
    <comment_count>4</comment_count>
      <attachid>91483</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-28 06:49:25 -0700</bug_when>
    <thetext>Created attachment 91483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394410</commentid>
    <comment_count>5</comment_count>
      <attachid>91483</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-28 07:02:25 -0700</bug_when>
    <thetext>Comment on attachment 91483
Patch

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

&gt; LayoutTests/http/tests/inspector/resource-tree/resource-tree-frame-navigate.html:53
&gt; +Tests resource tree model on iframe navigation.

Please describe what should be treated as a correct result, it&apos;s hard to guess it from the test output.

&gt; Source/WebCore/inspector/front-end/ResourceTreeModel.js:90
&gt; +            this._subframes[frame.parentId] = subframes;

Is it possible that the frame is the main frame?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394429</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-28 08:08:41 -0700</bug_when>
    <thetext>Committed r85184: &lt;http://trac.webkit.org/changeset/85184&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394455</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-28 08:56:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/85184 might have broken Qt Linux Release
The following tests are not passing:
http/tests/inspector/resource-tree/resource-tree-frame-add.html
http/tests/inspector/resource-tree/resource-tree-frame-navigate.html
http/tests/inspector/resource-tree/resource-tree-reload.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91302</attachid>
            <date>2011-04-27 09:43:55 -0700</date>
            <delta_ts>2011-04-27 10:23:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59616-20110427204352.patch</filename>
            <type>text/plain</type>
            <size>18130</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUwNTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMjgyZDc3MzA5NTA2ZGE0YzA0YzY3
NmFmYTNlMTNhYzI1MTZiNmIwLi4zMTU2NDExZTk1NWJkNjM2ZGQ1ZjM3NDE3MzRhYjU1MWMwYmU5
MjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMzQgQEAKIDIwMTEtMDQtMjcgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBSZXNvdXJjZVRyZWVNb2RlbCB0ZXN0IGZv
ciBpbml0aWFsIGxvYWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01OTYxNgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS1tb2RlbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS1tb2RlbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11
cmwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1p
bml0aWFsLWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS10ZXN0LmpzOiBBZGRlZC4KKyAgICAgICAgKGluaXRpYWxpemVfUmVzb3VyY2VUcmVl
VGVzdC5JbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXMpOgorICAgICAgICAoaW5pdGlhbGl6ZV9S
ZXNvdXJjZVRyZWVUZXN0Lkluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlcy5jb21wYXJhdG9yKToK
KyAgICAgICAgKGluaXRpYWxpemVfUmVzb3VyY2VUcmVlVGVzdC5JbnNwZWN0b3JUZXN0LmR1bXBS
ZXNvdXJjZXNVUkxNYXApOgorICAgICAgICAoaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0Lklu
c3BlY3RvclRlc3QuZHVtcFJlc291cmNlc1RyZWUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9SZXNv
dXJjZVRyZWVUZXN0Lkluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVMb2FkZWQpOgor
ICAgICAgICAoaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0KToKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvcmVzb3VyY2UtdHJlZS1pbml0aWFsLWxvYWQtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Njcmlw
dC5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy0yLmNzczogQWRkZWQuCisgICAgICAg
IChodG1sKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9zdHlsZXMuY3NzOiBBZGRlZC4KKyAgICAgICAgKGh0bWwpOgorCisyMDExLTA0LTI3
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKwogICAgICAgICBOb3QgcmV2
aWV3ZWQ6IHJlYmFzZWxpbmluZyBpbnNwZWN0b3IgdGVzdC4KIAogICAgICAgICAqIGluc3BlY3Rv
ci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dDoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUtbW9kZWwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS1tb2RlbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2YzIx
NTUwZTk3Yjc2NzJkY2Y2MzQ2ZTBlNTExMGZmMmFjOGY1MTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS1tb2RlbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4
ICswLDAgQEAKLVRlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwuCi0KLQotaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyA9PiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUtbW9kZWwuaHRtbAotaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwgPT4gaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwKLWh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMgPT4gaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwKLWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2R1bW15LWlmcmFtZS5waHAgPT4gaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvZHVtbXktaWZyYW1lLnBocAotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1v
ZGVsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5YTczNDk0YTJiMTUwNWQz
OTNiNDE2ZDhkNzQ1ZjYxNjViYjJhNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS1tb2RlbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0icmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotCi1mdW5jdGlv
biBsb2FkSWZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvZHVtbXktaWZyYW1lLnBo
cCI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotfQotCi12YXIgdGVz
dCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJj
ZUZpbmlzaGVkLCBvblJlc291cmNlRmluaXNoZWQpOwotCi0gICAgdmFyIHVybHMgPSBbXTsKLSAg
ICBmdW5jdGlvbiBvblJlc291cmNlRmluaXNoZWQoZXZlbnQpCi0gICAgewotICAgICAgICBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZm9yQWxsUmVzb3VyY2VzKHByaW50UmVzb3VyY2Up
OwotICAgICAgICB1cmxzLnNvcnQoKTsKLSAgICAgICAgdXJscy5mb3JFYWNoKEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBwcmludFJlc291cmNlKHJlc291cmNlKQotICAgIHsKLSAgICAg
ICAgdXJscy5wdXNoKHJlc291cmNlLnVybCArICIgPT4gIiArIHJlc291cmNlLmRvY3VtZW50VVJM
KTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkSWZyYW1l
KCkiKTsgICAgCi19Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPgotVGVzdHMgcmVzb3VyY2UgdHJlZSBtb2RlbC4KLTwvcD4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtZG9jdW1lbnQtdXJsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzgxMjg5MDY1MzA4NmFh
M2Q5OGZhYjAyNzg5MmU1OWMxMTBjMzFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50
LXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0cyByZXNvdXJjZSB0cmVlIG1v
ZGVsLgorCisKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMgPT4gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtbW9kZWwuaHRtbAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlLXRyZWUtbW9kZWwuaHRtbCA9PiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1tb2RlbC5odG1sCitodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10
ZXN0LmpzID0+IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZHVtbXktaWZyYW1lLmh0bWwgPT4gaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUu
aHRtbAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcyA9
PiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
dHJlZS1tb2RlbC5odG1sCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS1kb2N1bWVudC11cmwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZTM2N2ZiZWM3MGI4MzI5MjM1ZmRhZDZh
NmZmZWJjNjY4YTE2OThhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1s
CkBAIC0wLDAgKzEsMzcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0
PgorCis8c2NyaXB0PgorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBJbnNwZWN0b3JU
ZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlTG9hZGVkKHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0
ZXAxKCkKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGZvcm1hdHRlcihyZXNvdXJjZSkKKyAgICAg
ICAgeworICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlLnVybCArICIgPT4gIiArIHJlc291cmNl
LmRvY3VtZW50VVJMOworICAgICAgICB9CisgICAgCisgICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFJlc291cmNlcyhmb3JtYXR0ZXIpOyAgICAKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorCis8L2hlYWQ+CisKKzxib2R5PgorPHA+
CitUZXN0cyByZXNvdXJjZSB0cmVlIG1vZGVsLgorPC9wPgorCis8aWZyYW1lIHNyYz0icmVzb3Vy
Y2VzL2R1bW15LWlmcmFtZS5odG1sIiBvbmxvYWQ9InJ1blRlc3QoKSI+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbml0aWFsLWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWlu
aXRpYWwtbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJlNzlmNzc1YWQ3OTVjODRjMTdm
NjJiMTZmYzEzMjllNTRkZjdiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbml0aWFsLWxvYWQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDIgQEAKK1Rlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwg
aW5pdGlhbCBsb2FkLgorCisKK1Jlc291cmNlczoKK3NjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCitkb2N1bWVudCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbml0aWFsLWxvYWQu
aHRtbAorc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKK2RvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1pbml0aWFsLWxv
YWQtaWZyYW1lLmh0bWwKK3NjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC5qcworc3R5bGVzaGVldCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy0yLmNzcwor
c3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2VzL3N0eWxlcy5jc3MKK3N0eWxlc2hlZXQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMuY3NzCitzY3JpcHQgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcworCitSZXNvdXJjZXMg
VVJMIE1hcDoKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwor
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtaW5pdGlhbC1sb2FkLmh0bWwgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLmh0bWwKK2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMg
PT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
LXRyZWUtdGVzdC5qcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWluaXRpYWwtbG9hZC1pZnJhbWUuaHRtbCA9PSBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jl
c291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLWlmcmFtZS5odG1sCitodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC5qcyA9PSBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC5q
cworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9zdHlsZXMtMi5jc3MgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtMi5jc3MKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLmNzcyA9PSBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy5jc3MKK2h0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMgPT0gaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcworCitSZXNvdXJjZXMg
VHJlZToKK0ZyYW1lcworICAgIChyZXNvdXJjZS10cmVlLWluaXRpYWwtbG9hZC5odG1sKQorICAg
ICAgICAocmVzb3VyY2UtdHJlZS1pbml0aWFsLWxvYWQtaWZyYW1lLmh0bWwpCisgICAgICAgICAg
ICBTY3JpcHRzCisgICAgICAgICAgICAgICAgc2NyaXB0LmpzCisgICAgICAgICAgICBTdHlsZXNo
ZWV0cworICAgICAgICAgICAgICAgIHN0eWxlcy0yLmNzcworICAgICAgICAgICAgICAgIHN0eWxl
cy5jc3MKKyAgICAgICAgICAgIHJlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLWlmcmFtZS5odG1s
CisgICAgICAgIFNjcmlwdHMKKyAgICAgICAgICAgIGluc3BlY3Rvci10ZXN0LmpzCisgICAgICAg
ICAgICByZXNvdXJjZS10cmVlLXRlc3QuanMKKyAgICAgICAgICAgIHJlc291cmNlcy10ZXN0Lmpz
CisgICAgICAgIFN0eWxlc2hlZXRzCisgICAgICAgICAgICBzdHlsZXMuY3NzCisgICAgICAgIHJl
c291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLmh0bWwKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWluaXRpYWwt
bG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLWluaXRpYWwtbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwM2UwOGNmMGJl
MTY0ZDNlYTQxMzk0OTU5ZTEzMzEwZGZjNDZlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW5p
dGlhbC1sb2FkLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlLXRyZWUtdGVz
dC5qcyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2Vz
L3N0eWxlcy5jc3MiPgorCis8c2NyaXB0PgorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAg
ICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlTG9hZGVkKHN0ZXAxKTsKKworICAg
IGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIGZvcm1hdChyZXNvdXJj
ZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5U
eXBlLnRvU3RyaW5nKHJlc291cmNlLnR5cGUpICsgIiAiICsgcmVzb3VyY2UudXJsOworICAgICAg
ICB9CisgICAgCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZXM6Iik7
CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlcyhmb3JtYXQpOworICAgIAorICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJSZXNvdXJjZXMgVVJMIE1hcDoiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wUmVzb3VyY2VzVVJMTWFwKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVzb3VyY2VzIFRyZWU6Iik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFJlc291cmNlc1RyZWUoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorCis8L2hl
YWQ+CisKKzxib2R5PgorPHA+CitUZXN0cyByZXNvdXJjZSB0cmVlIG1vZGVsIGluaXRpYWwgbG9h
ZC4KKzwvcD4KKworPGlmcmFtZSBzcmM9InJlc291cmNlcy9yZXNvdXJjZS10cmVlLWluaXRpYWwt
bG9hZC1pZnJhbWUuaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5ZGIz
YjM2ODliNDQyMjUwMjg5MmI3ZWU4YTBlZmRmOTkzYWRhOWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtdGVzdC5qcwpAQCAtMCwwICsxLDY4IEBACit2YXIgaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVU
ZXN0ID0gZnVuY3Rpb24oKSB7CisKK0luc3BlY3RvclRlc3QuZHVtcFJlc291cmNlcyA9IGZ1bmN0
aW9uKGZvcm1hdHRlcikKK3sKKyAgICB2YXIgcmVzdWx0cyA9IFtdOworCisgICAgZnVuY3Rpb24g
Zm9ybWF0dGVyV3JhcHBlcihyZXNvdXJjZSkKKyAgICB7CisgICAgICAgIGlmIChmb3JtYXR0ZXIp
CisgICAgICAgICAgICByZXN1bHRzLnB1c2goeyByZXNvdXJjZTogcmVzb3VyY2UsIHRleHQ6IGZv
cm1hdHRlcihyZXNvdXJjZSkgfSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3VsdHMu
cHVzaCh7IHJlc291cmNlOiByZXNvdXJjZSwgdGV4dDogcmVzb3VyY2UudXJsIH0pOworICAgIH0K
KworICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5mb3JBbGxSZXNvdXJjZXMoZm9y
bWF0dGVyV3JhcHBlcik7CisKKyAgICBmdW5jdGlvbiBjb21wYXJhdG9yKHJlc3VsdDEsIHJlc3Vs
dDIpCisgICAgeworICAgICAgICByZXR1cm4gcmVzdWx0MS5yZXNvdXJjZS51cmwgPiByZXN1bHQy
LnJlc291cmNlLnVybDsKKyAgICB9CisgICAgcmVzdWx0cy5zb3J0KGNvbXBhcmF0b3IpOworCisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgKytpKQorICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHRzW2ldLnRleHQpOworfQorCitJbnNwZWN0b3JUZXN0
LmR1bXBSZXNvdXJjZXNVUkxNYXAgPSBmdW5jdGlvbigpCit7CisgICAgdmFyIHJlc3VsdHMgPSBb
XTsKKyAgICBmb3IgKHZhciB1cmwgaW4gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLl9y
ZXNvdXJjZXNCeVVSTCkgeworICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVz
b3VyY2VUcmVlTW9kZWwuX3Jlc291cmNlc0J5VVJMW3VybF07CisgICAgICAgIHJlc3VsdHMucHVz
aCh7IHVybDogdXJsLCByZXNvdXJjZTogcmVzb3VyY2UgfSk7CisgICAgfQorCisgICAgZnVuY3Rp
b24gY29tcGFyYXRvcihyZXN1bHQxLCByZXN1bHQyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHJl
c3VsdDEudXJsID4gcmVzdWx0Mi51cmw7CisgICAgfQorCisgICAgcmVzdWx0cy5zb3J0KGNvbXBh
cmF0b3IpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgKytpKQor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHRzW2ldLnVybCArICIgPT0gIiAr
IHJlc3VsdHNbaV0ucmVzb3VyY2UudXJsKTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3Vy
Y2VzVHJlZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBmdW5jdGlvbiBkdW1wKHRyZWVJdGVtLCBwcmVm
aXgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVmaXggKyB0cmVl
SXRlbS5saXN0SXRlbUVsZW1lbnQudGV4dENvbnRlbnQpOworCisgICAgICAgIHRyZWVJdGVtLmV4
cGFuZCgpOworICAgICAgICB2YXIgY2hpbGRyZW4gPSB0cmVlSXRlbS5jaGlsZHJlbjsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGNoaWxkcmVuICYmIGkgPCBjaGlsZHJlbi5sZW5ndGg7ICsraSkK
KyAgICAgICAgICAgIGR1bXAoY2hpbGRyZW5baV0sIHByZWZpeCArICIgICAgIik7CisgICAgfQor
CisgICAgV2ViSW5zcGVjdG9yLmN1cnJlbnRQYW5lbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMucmVz
b3VyY2VzOworICAgIGR1bXAoV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMucmVzb3VyY2Vz
TGlzdFRyZWVFbGVtZW50LCAiIik7Cit9CisKK0luc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJj
ZXNBcmVMb2FkZWQgPSBmdW5jdGlvbihjYWxsYmFjaykKK3sKKyAgICBXZWJJbnNwZWN0b3IubmV0
d29ya01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIu
RXZlbnRUeXBlcy5SZXNvdXJjZUZpbmlzaGVkLCBjYWxsYmFjayk7CisgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgiKG5ldyBJbWFnZSgpKS5zcmMgPSAncmVzb3VyY2VzL25vbi1leGl0
aW5nLWltYWdlLnBuZyc7Iik7Cit9CisKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL2R1bW15LWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzYTdmMjQyOTU0OTE0MmY3OGI3Nzc3
OTA0YjI2MTAyODU4ZDk3MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbApA
QCAtMCwwICsxLDYgQEAKKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLWlmcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvcmVzb3VyY2UtdHJlZS1pbml0aWFsLWxvYWQtaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTQ1MzY0NTI5MzVlMmIyMTMyNmMyYmJiOWIzMGM1MDVmYmYyZTIxZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsMTEg
QEAKKzxodG1sPgorCis8aGVhZD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQuanMiPjwvc2NyaXB0Pgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZXMuY3NzIj4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0ic3R5bGVzLTIuY3NzIj4KKzwvaGVhZD4KKworPGJvZHk+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zY3JpcHQuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zY3JpcHQuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDk0NjVkY2FjNDU3MTg3YWM1Y2M0MTdiYWJkYTBmZGU1MGRiYjRmNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL3NjcmlwdC5qcwpAQCAtMCwwICsxLDIgQEAKK2Z1bmN0aW9uIGZvbygpIHsKK30KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtMi5jc3MgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMt
Mi5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjViNjZjYmFiYmE5YjkyODMzNjY4ODNjNjlhMjgxOGViN2NkOThj
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy0yLmNzcwpAQCAtMCwwICsxLDMgQEAKK2h0bWwg
eworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLmNz
cyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL3N0eWxlcy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjViNjZjYmFiYmE5YjkyODMzNjY4ODNjNjlhMjgx
OGViN2NkOThjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy5jc3MKQEAgLTAsMCArMSwzIEBA
CitodG1sIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1NraXBwZWQKaW5kZXggMzQyZjUxNTFiMjQ4OWFjZDQ3NjM2OTQ1MWViOTczZTlkYTA1MjhkZi4u
ZjNlMWEwNTk0NzJiNjA5MDlmYTI2MzY0ZjhhMzBiYTgxNGQ4YmM1OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQKQEAgLTQyMiw3ICs0MjIsOCBAQCBodHRwL3Rlc3RzL3dlYnNvY2tldAogbWVk
aWEvdmlkZW8tY29udHJvbHMtaW4tbWVkaWEtZG9jdW1lbnQuaHRtbAogCiAjIFNvbWV0aW1lcyBm
YWlscyBodHRwOi8vd2Via2l0Lm9yZy9iLzU4MzY3Ci1odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlLW1vZGVsLmh0bWwKK2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUt
ZG9jdW1lbnQtdXJsLmh0bWwKK2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUtaW5p
dGlhbC1sb2FkLmh0bWwKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIE5vIGJ1Z3MgZmlsZWQgYWJvdXQgdGhlIGJlbG93IHlldCMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjcwNDQ4MDk2ZmM1MDMzYWQxZGU1MDljZjM5ZjRjODI5
OWEwMWU3Ny4uMzc3OTJjM2ZjMmIwYjYwODEzMTgxOGUxODYyYzI5OWRiNWU4YTkxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDExLTA0LTI3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRt
YW5AZ29vZ2xlLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgUmVzb3VyY2VUcmVlTW9kZWwgdGVzdCBmb3IgaW5p
dGlhbCBsb2FkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTk2MTYKKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sCisgICAgICAgICAgICAgICBodHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2Fk
Lmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLl9v
blJlc291cmNlVXBkYXRlZCk6CisKKzIwMTEtMDQtMjcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1h
bkBnb29nbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogY2xpY2tpbmcgYm9va21hcmtsZXQgbXVsdGlwbGllcyBy
ZXNvdXJjZXMgcGFuZWwgZW50cmllcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzCmluZGV4IDM1N2UxMjZkYTZjOTVk
OGM4NWUwMTEwM2RlZDNjMTZkM2VhMzUzOWQuLmZlZGRiNjE5NjU2YTdlZDVjMTYwYWEyODJhOGM5
MTNlM2VmZGQ2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VUcmVlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5qcwpAQCAtMTU3LDcgKzE1NywxNyBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYg
KCF0aGlzLl9jYWNoZWRSZXNvdXJjZXNQcm9jZXNzZWQpCiAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIHRoaXMuX2FkZFJlc291cmNlVG9GcmFtZShldmVudC5kYXRhKTsKKworICAgICAgICB2
YXIgcmVzb3VyY2UgPSBldmVudC5kYXRhOworICAgICAgICBpZiAocmVzb3VyY2UuZmFpbGVkKSB7
CisgICAgICAgICAgICB0aGlzLl91bmJpbmRSZXNvdXJjZVVSTChyZXNvdXJjZSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXJlc291cmNlLnN0YXR1c0Nv
ZGUgfHwgcmVzb3VyY2Uuc3RhdHVzQ29kZSA9PT0gMjAwIHx8IHJlc291cmNlLnN0YXR1c0NvZGUg
PT09IDMwNCkKKyAgICAgICAgICAgIHRoaXMuX2FkZFJlc291cmNlVG9GcmFtZShyZXNvdXJjZSk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMuX3VuYmluZFJlc291cmNlVVJMKHJlc291
cmNlKTsKICAgICB9LAogCiAgICAgX2FkZFJlc291cmNlVG9GcmFtZTogZnVuY3Rpb24ocmVzb3Vy
Y2UpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91311</attachid>
            <date>2011-04-27 10:24:04 -0700</date>
            <delta_ts>2011-04-28 06:49:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59616-20110427212402.patch</filename>
            <type>text/plain</type>
            <size>18459</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUwNTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMjgyZDc3MzA5NTA2ZGE0YzA0YzY3
NmFmYTNlMTNhYzI1MTZiNmIwLi4zMTU2NDExZTk1NWJkNjM2ZGQ1ZjM3NDE3MzRhYjU1MWMwYmU5
MjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMzQgQEAKIDIwMTEtMDQtMjcgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBSZXNvdXJjZVRyZWVNb2RlbCB0ZXN0IGZv
ciBpbml0aWFsIGxvYWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01OTYxNgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS1tb2RlbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS1tb2RlbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11
cmwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1p
bml0aWFsLWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS10ZXN0LmpzOiBBZGRlZC4KKyAgICAgICAgKGluaXRpYWxpemVfUmVzb3VyY2VUcmVl
VGVzdC5JbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXMpOgorICAgICAgICAoaW5pdGlhbGl6ZV9S
ZXNvdXJjZVRyZWVUZXN0Lkluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlcy5jb21wYXJhdG9yKToK
KyAgICAgICAgKGluaXRpYWxpemVfUmVzb3VyY2VUcmVlVGVzdC5JbnNwZWN0b3JUZXN0LmR1bXBS
ZXNvdXJjZXNVUkxNYXApOgorICAgICAgICAoaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0Lklu
c3BlY3RvclRlc3QuZHVtcFJlc291cmNlc1RyZWUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9SZXNv
dXJjZVRyZWVUZXN0Lkluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVMb2FkZWQpOgor
ICAgICAgICAoaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0KToKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvcmVzb3VyY2UtdHJlZS1pbml0aWFsLWxvYWQtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Njcmlw
dC5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy0yLmNzczogQWRkZWQuCisgICAgICAg
IChodG1sKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9zdHlsZXMuY3NzOiBBZGRlZC4KKyAgICAgICAgKGh0bWwpOgorCisyMDExLTA0LTI3
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKwogICAgICAgICBOb3QgcmV2
aWV3ZWQ6IHJlYmFzZWxpbmluZyBpbnNwZWN0b3IgdGVzdC4KIAogICAgICAgICAqIGluc3BlY3Rv
ci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dDoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUtbW9kZWwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS1tb2RlbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2YzIx
NTUwZTk3Yjc2NzJkY2Y2MzQ2ZTBlNTExMGZmMmFjOGY1MTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS1tb2RlbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4
ICswLDAgQEAKLVRlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwuCi0KLQotaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyA9PiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUtbW9kZWwuaHRtbAotaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwgPT4gaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwKLWh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMgPT4gaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwKLWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2R1bW15LWlmcmFtZS5waHAgPT4gaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvZHVtbXktaWZyYW1lLnBocAotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1v
ZGVsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5YTczNDk0YTJiMTUwNWQz
OTNiNDE2ZDhkNzQ1ZjYxNjViYjJhNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS1tb2RlbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0icmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotCi1mdW5jdGlv
biBsb2FkSWZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvZHVtbXktaWZyYW1lLnBo
cCI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotfQotCi12YXIgdGVz
dCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJj
ZUZpbmlzaGVkLCBvblJlc291cmNlRmluaXNoZWQpOwotCi0gICAgdmFyIHVybHMgPSBbXTsKLSAg
ICBmdW5jdGlvbiBvblJlc291cmNlRmluaXNoZWQoZXZlbnQpCi0gICAgewotICAgICAgICBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZm9yQWxsUmVzb3VyY2VzKHByaW50UmVzb3VyY2Up
OwotICAgICAgICB1cmxzLnNvcnQoKTsKLSAgICAgICAgdXJscy5mb3JFYWNoKEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBwcmludFJlc291cmNlKHJlc291cmNlKQotICAgIHsKLSAgICAg
ICAgdXJscy5wdXNoKHJlc291cmNlLnVybCArICIgPT4gIiArIHJlc291cmNlLmRvY3VtZW50VVJM
KTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkSWZyYW1l
KCkiKTsgICAgCi19Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPgotVGVzdHMgcmVzb3VyY2UgdHJlZSBtb2RlbC4KLTwvcD4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtZG9jdW1lbnQtdXJsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODcyZjUzN2MxZGZjNzU5
MzlhYTQ3YWFmZTU2NjA1OWUyMDdjMmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50
LXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdHMgcmVzb3VyY2UgdHJlZSBt
b2RlbC4KKworCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzID0+IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbCA9PiBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1k
b2N1bWVudC11cmwuaHRtbAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcyA9PiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbAoraHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1t
eS1pZnJhbWUuaHRtbCA9PiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL2R1bW15LWlmcmFtZS5odG1sCitodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL25vbi1leGl0aW5nLWltYWdlLnBuZyA9
PiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
dHJlZS1kb2N1bWVudC11cmwuaHRtbAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZXMtdGVzdC5qcyA9PiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtZG9jdW1lbnQtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmUzNjdmYmVjNzBiODMyOTIzNWZkYWQ2YTZmZmViYzY2OGExNjk4YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbApAQCAtMCwwICsxLDM3IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2UtdHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKwordmFyIHRlc3QgPSBmdW5j
dGlvbigpCit7CisgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUxvYWRlZChz
dGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICBmdW5jdGlvbiBm
b3JtYXR0ZXIocmVzb3VyY2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiByZXNvdXJj
ZS51cmwgKyAiID0+ICIgKyByZXNvdXJjZS5kb2N1bWVudFVSTDsKKyAgICAgICAgfQorICAgIAor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXMoZm9ybWF0dGVyKTsgICAgCisgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4K
KworPC9oZWFkPgorCis8Ym9keT4KKzxwPgorVGVzdHMgcmVzb3VyY2UgdHJlZSBtb2RlbC4KKzwv
cD4KKworPGlmcmFtZSBzcmM9InJlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbCIgb25sb2FkPSJy
dW5UZXN0KCkiPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1s
b2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbml0aWFsLWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI3NGFkZmE4ZGE1ZDNlYzhmYWRhOWUxYTUzMDBjNGQwMjkzODNkYzUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ2IEBACitU
ZXN0cyByZXNvdXJjZSB0cmVlIG1vZGVsIGluaXRpYWwgbG9hZC4KKworCitSZXNvdXJjZXM6Citz
Y3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwor
ZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLmh0bWwKK3NjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzCitpbWFnZSBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL25v
bi1leGl0aW5nLWltYWdlLnBuZworZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWluaXRpYWwtbG9hZC1p
ZnJhbWUuaHRtbAorc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LmpzCitzdHlsZXNoZWV0IGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLTIuY3NzCitzdHls
ZXNoZWV0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvc3R5bGVzLmNzcworc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy5jc3MKK3NjcmlwdCBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzCisKK1Jlc291cmNlcyBVUkwg
TWFwOgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyA9
PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCitodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1p
bml0aWFsLWxvYWQuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbml0aWFsLWxvYWQuaHRtbAoraHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcyA9PSBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS10ZXN0LmpzCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2VzL25vbi1leGl0aW5nLWltYWdlLnBuZyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL25vbi1leGl0aW5nLWltYWdlLnBuZwor
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9y
ZXNvdXJjZS10cmVlLWluaXRpYWwtbG9hZC1pZnJhbWUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtaW5p
dGlhbC1sb2FkLWlmcmFtZS5odG1sCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC5qcworaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtMi5jc3Mg
PT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9zdHlsZXMtMi5jc3MKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc3R5bGVzLmNzcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy5jc3MKK2h0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcworCitSZXNvdXJjZXMgVHJlZToKK0ZyYW1lcwor
ICAgIChyZXNvdXJjZS10cmVlLWluaXRpYWwtbG9hZC5odG1sKQorICAgICAgICAocmVzb3VyY2Ut
dHJlZS1pbml0aWFsLWxvYWQtaWZyYW1lLmh0bWwpCisgICAgICAgICAgICBTY3JpcHRzCisgICAg
ICAgICAgICAgICAgc2NyaXB0LmpzCisgICAgICAgICAgICBTdHlsZXNoZWV0cworICAgICAgICAg
ICAgICAgIHN0eWxlcy0yLmNzcworICAgICAgICAgICAgICAgIHN0eWxlcy5jc3MKKyAgICAgICAg
ICAgIHJlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLWlmcmFtZS5odG1sCisgICAgICAgIEltYWdl
cworICAgICAgICAgICAgbm9uLWV4aXRpbmctaW1hZ2UucG5nCisgICAgICAgIFNjcmlwdHMKKyAg
ICAgICAgICAgIGluc3BlY3Rvci10ZXN0LmpzCisgICAgICAgICAgICByZXNvdXJjZS10cmVlLXRl
c3QuanMKKyAgICAgICAgICAgIHJlc291cmNlcy10ZXN0LmpzCisgICAgICAgIFN0eWxlc2hlZXRz
CisgICAgICAgICAgICBzdHlsZXMuY3NzCisgICAgICAgIHJlc291cmNlLXRyZWUtaW5pdGlhbC1s
b2FkLmh0bWwKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWluaXRpYWwtbG9hZC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWluaXRp
YWwtbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwM2UwOGNmMGJlMTY0ZDNlYTQxMzk0OTU5ZTEzMzEw
ZGZjNDZlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLmh0bWwKQEAgLTAs
MCArMSw0OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlLXRyZWUtdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL3N0eWxlcy5jc3MiPgorCis8c2Ny
aXB0PgorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkFm
dGVyUmVzb3VyY2VzQXJlTG9hZGVkKHN0ZXAxKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAg
ICB7CisgICAgICAgIGZ1bmN0aW9uIGZvcm1hdChyZXNvdXJjZSkKKyAgICAgICAgeworICAgICAg
ICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKHJlc291cmNl
LnR5cGUpICsgIiAiICsgcmVzb3VyY2UudXJsOworICAgICAgICB9CisgICAgCisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZXM6Iik7CisgICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcFJlc291cmNlcyhmb3JtYXQpOworICAgIAorICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZXMg
VVJMIE1hcDoiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzVVJMTWFwKCk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
UmVzb3VyY2VzIFRyZWU6Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlc1Ry
ZWUoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorCis8L2hlYWQ+CisKKzxib2R5PgorPHA+CitU
ZXN0cyByZXNvdXJjZSB0cmVlIG1vZGVsIGluaXRpYWwgbG9hZC4KKzwvcD4KKworPGlmcmFtZSBz
cmM9InJlc291cmNlcy9yZXNvdXJjZS10cmVlLWluaXRpYWwtbG9hZC1pZnJhbWUuaHRtbCIgb25s
b2FkPSJydW5UZXN0KCkiPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVz
dC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2UtdHJlZS10ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5ZGIzYjM2ODliNDQyMjUwMjg5MmI3ZWU4
YTBlZmRmOTkzYWRhOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcwpAQCAtMCwwICsx
LDY4IEBACit2YXIgaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0ID0gZnVuY3Rpb24oKSB7CisK
K0luc3BlY3RvclRlc3QuZHVtcFJlc291cmNlcyA9IGZ1bmN0aW9uKGZvcm1hdHRlcikKK3sKKyAg
ICB2YXIgcmVzdWx0cyA9IFtdOworCisgICAgZnVuY3Rpb24gZm9ybWF0dGVyV3JhcHBlcihyZXNv
dXJjZSkKKyAgICB7CisgICAgICAgIGlmIChmb3JtYXR0ZXIpCisgICAgICAgICAgICByZXN1bHRz
LnB1c2goeyByZXNvdXJjZTogcmVzb3VyY2UsIHRleHQ6IGZvcm1hdHRlcihyZXNvdXJjZSkgfSk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3VsdHMucHVzaCh7IHJlc291cmNlOiByZXNv
dXJjZSwgdGV4dDogcmVzb3VyY2UudXJsIH0pOworICAgIH0KKworICAgIFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVRyZWVNb2RlbC5mb3JBbGxSZXNvdXJjZXMoZm9ybWF0dGVyV3JhcHBlcik7CisKKyAg
ICBmdW5jdGlvbiBjb21wYXJhdG9yKHJlc3VsdDEsIHJlc3VsdDIpCisgICAgeworICAgICAgICBy
ZXR1cm4gcmVzdWx0MS5yZXNvdXJjZS51cmwgPiByZXN1bHQyLnJlc291cmNlLnVybDsKKyAgICB9
CisgICAgcmVzdWx0cy5zb3J0KGNvbXBhcmF0b3IpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCByZXN1bHRzLmxlbmd0aDsgKytpKQorICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChy
ZXN1bHRzW2ldLnRleHQpOworfQorCitJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXNVUkxNYXAg
PSBmdW5jdGlvbigpCit7CisgICAgdmFyIHJlc3VsdHMgPSBbXTsKKyAgICBmb3IgKHZhciB1cmwg
aW4gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLl9yZXNvdXJjZXNCeVVSTCkgeworICAg
ICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuX3Jlc291
cmNlc0J5VVJMW3VybF07CisgICAgICAgIHJlc3VsdHMucHVzaCh7IHVybDogdXJsLCByZXNvdXJj
ZTogcmVzb3VyY2UgfSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gY29tcGFyYXRvcihyZXN1bHQx
LCByZXN1bHQyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDEudXJsID4gcmVzdWx0Mi51
cmw7CisgICAgfQorCisgICAgcmVzdWx0cy5zb3J0KGNvbXBhcmF0b3IpOworCisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgKytpKQorICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdChyZXN1bHRzW2ldLnVybCArICIgPT0gIiArIHJlc3VsdHNbaV0ucmVzb3VyY2Uu
dXJsKTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzVHJlZSA9IGZ1bmN0aW9uKCkK
K3sKKyAgICBmdW5jdGlvbiBkdW1wKHRyZWVJdGVtLCBwcmVmaXgpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVmaXggKyB0cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQu
dGV4dENvbnRlbnQpOworCisgICAgICAgIHRyZWVJdGVtLmV4cGFuZCgpOworICAgICAgICB2YXIg
Y2hpbGRyZW4gPSB0cmVlSXRlbS5jaGlsZHJlbjsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGNo
aWxkcmVuICYmIGkgPCBjaGlsZHJlbi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGR1bXAoY2hp
bGRyZW5baV0sIHByZWZpeCArICIgICAgIik7CisgICAgfQorCisgICAgV2ViSW5zcGVjdG9yLmN1
cnJlbnRQYW5lbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzOworICAgIGR1bXAoV2Vi
SW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMucmVzb3VyY2VzTGlzdFRyZWVFbGVtZW50LCAiIik7
Cit9CisKK0luc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVMb2FkZWQgPSBmdW5jdGlv
bihjYWxsYmFjaykKK3sKKyAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJjZUZp
bmlzaGVkLCBjYWxsYmFjayk7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiKG5l
dyBJbWFnZSgpKS5zcmMgPSAncmVzb3VyY2VzL25vbi1leGl0aW5nLWltYWdlLnBuZyc7Iik7Cit9
CisKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL2R1bW15LWlmcmFtZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUzYTdmMjQyOTU0OTE0MmY3OGI3Nzc3OTA0YjI2MTAyODU4ZDk3MTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDYgQEAKKzxodG1s
PgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1p
bml0aWFsLWxvYWQtaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ1MzY0NTI5MzVlMmIyMTMyNmMy
YmJiOWIzMGM1MDVmYmYyZTIxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtaW5p
dGlhbC1sb2FkLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzxodG1sPgorCis8aGVhZD4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSJzdHlsZXMuY3NzIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVz
LTIuY3NzIj4KKzwvaGVhZD4KKworPGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9zY3JpcHQuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy9zY3JpcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDk0NjVkY2FjNDU3MTg3YWM1Y2M0
MTdiYWJkYTBmZGU1MGRiYjRmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC5qcwpAQCAtMCww
ICsxLDIgQEAKK2Z1bmN0aW9uIGZvbygpIHsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy9zdHlsZXMtMi5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtMi5jc3MKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVi
NjZjYmFiYmE5YjkyODMzNjY4ODNjNjlhMjgxOGViN2NkOThjMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3N0eWxlcy0yLmNzcwpAQCAtMCwwICsxLDMgQEAKK2h0bWwgeworICAgIGJhY2tncm91bmQtY29s
b3I6IGdyZWVuOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLmNzcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy5jc3MKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjViNjZjYmFiYmE5YjkyODMzNjY4ODNjNjlhMjgxOGViN2NkOThjMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2VzL3N0eWxlcy5jc3MKQEAgLTAsMCArMSwzIEBACitodG1sIHsKKyAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggMzQyZjUx
NTFiMjQ4OWFjZDQ3NjM2OTQ1MWViOTczZTlkYTA1MjhkZi4uZjNlMWEwNTk0NzJiNjA5MDlmYTI2
MzY0ZjhhMzBiYTgxNGQ4YmM1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTQyMiw3
ICs0MjIsOCBAQCBodHRwL3Rlc3RzL3dlYnNvY2tldAogbWVkaWEvdmlkZW8tY29udHJvbHMtaW4t
bWVkaWEtZG9jdW1lbnQuaHRtbAogCiAjIFNvbWV0aW1lcyBmYWlscyBodHRwOi8vd2Via2l0Lm9y
Zy9iLzU4MzY3Ci1odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwK
K2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwKK2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLmh0bWwKIAogIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIE5vIGJ1Z3MgZmls
ZWQgYWJvdXQgdGhlIGJlbG93IHlldCMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggYjcwNDQ4MDk2ZmM1MDMzYWQxZGU1MDljZjM5ZjRjODI5OWEwMWU3Ny4uMzc3OTJjM2ZjMmIw
YjYwODEzMTgxOGUxODYyYzI5OWRiNWU4YTkxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBA
CiAyMDExLTA0LTI3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAorICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBhZGQgUmVzb3VyY2VUcmVlTW9kZWwgdGVzdCBmb3IgaW5pdGlhbCBsb2FkLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MTYKKworICAgICAgICBU
ZXN0czogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRv
Y3VtZW50LXVybC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW5pdGlhbC1sb2FkLmh0bWwKKworICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLl9vblJlc291cmNlVXBkYXRlZCk6CisK
KzIwMTEtMDQtMjcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCiAgICAg
ICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogY2xpY2tpbmcgYm9va21hcmtsZXQgbXVsdGlwbGllcyByZXNvdXJjZXMgcGFuZWwgZW50cmll
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3Vy
Y2VUcmVlTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291
cmNlVHJlZU1vZGVsLmpzCmluZGV4IDM1N2UxMjZkYTZjOTVkOGM4NWUwMTEwM2RlZDNjMTZkM2Vh
MzUzOWQuLmU0NmMyOTg2ZDQxNGI3ZDhmMmZlNWI5Mzg4OGYwYzM1YTg0NGYxMWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVN
b2RlbC5qcwpAQCAtMTU3LDcgKzE1NywxNCBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9k
ZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9jYWNoZWRSZXNvdXJj
ZXNQcm9jZXNzZWQpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHRoaXMuX2FkZFJlc291
cmNlVG9GcmFtZShldmVudC5kYXRhKTsKKworICAgICAgICB2YXIgcmVzb3VyY2UgPSBldmVudC5k
YXRhOworICAgICAgICBpZiAocmVzb3VyY2UuZmFpbGVkKSB7CisgICAgICAgICAgICB0aGlzLl91
bmJpbmRSZXNvdXJjZVVSTChyZXNvdXJjZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKworICAgICAgICB0aGlzLl9hZGRSZXNvdXJjZVRvRnJhbWUocmVzb3VyY2UpOwogICAgIH0s
CiAKICAgICBfYWRkUmVzb3VyY2VUb0ZyYW1lOiBmdW5jdGlvbihyZXNvdXJjZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91483</attachid>
            <date>2011-04-28 06:49:25 -0700</date>
            <delta_ts>2011-04-28 07:02:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59616-20110428174923.patch</filename>
            <type>text/plain</type>
            <size>41750</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUwNTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMjgyZDc3MzA5NTA2ZGE0YzA0YzY3
NmFmYTNlMTNhYzI1MTZiNmIwLi5jN2ExMWUxYWMxOWQ3MzIzNzk5YWU5OTQ2MWM5OGE3NTZhM2Nh
NmQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMDQtMjggIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBSZXNvdXJjZVRyZWVNb2RlbCB0ZXN0cy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjE2CisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlLW1vZGVsLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1yZWxv
YWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2FkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0Lmpz
OiBBZGRlZC4KKyAgICAgICAgKGluaXRpYWxpemVfUmVzb3VyY2VUcmVlVGVzdC5JbnNwZWN0b3JU
ZXN0LmR1bXBSZXNvdXJjZXMpOgorICAgICAgICAoaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0
Lkluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlcy5jb21wYXJhdG9yKToKKyAgICAgICAgKGluaXRp
YWxpemVfUmVzb3VyY2VUcmVlVGVzdC5JbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXNVUkxNYXAp
OgorICAgICAgICAoaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0Lkluc3BlY3RvclRlc3QuZHVt
cFJlc291cmNlc1RyZWUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0Lklu
c3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVMb2FkZWQuY2FsbGJhY2tXcmFwcGVyKToK
KyAgICAgICAgKGluaXRpYWxpemVfUmVzb3VyY2VUcmVlVGVzdC5JbnNwZWN0b3JUZXN0LnJ1bkFm
dGVyUmVzb3VyY2VzQXJlTG9hZGVkKToKKyAgICAgICAgKGluaXRpYWxpemVfUmVzb3VyY2VUcmVl
VGVzdC5JbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZVRyZWVFdmVyeXRoaW5nKToKKyAgICAgICAg
KGluaXRpYWxpemVfUmVzb3VyY2VUcmVlVGVzdCk6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZHVtbXktaWZyYW1lLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jl
c291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291
cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWJlZm9yZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJj
ZS10cmVlLXJlbG9hZC1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanM6IEFkZGVk
LgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlcy9zY3JpcHQtbmF2aWdhdGVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGZv
byk6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvc3R5bGVzLWluaXRpYWwtMi5jc3M6IEFkZGVkLgorICAgICAgICAoaHRtbCk6CisgICAgICAg
ICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWlu
aXRpYWwuY3NzOiBBZGRlZC4KKyAgICAgICAgKGh0bWwpOgorICAgICAgICAqIGh0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzOiBB
ZGRlZC4KKyAgICAgICAgKGh0bWwpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgor
CiAyMDExLTA0LTI3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBOb3QgcmV2aWV3ZWQ6IHJlYmFzZWxpbmluZyBpbnNwZWN0b3IgdGVzdC4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUtbW9kZWwt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS1tb2RlbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2
YzIxNTUwZTk3Yjc2NzJkY2Y2MzQ2ZTBlNTExMGZmMmFjOGY1MTQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS1tb2RlbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw4ICswLDAgQEAKLVRlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwuCi0KLQotaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyA9PiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUtbW9kZWwuaHRtbAotaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwgPT4gaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwKLWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMgPT4gaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1vZGVsLmh0bWwKLWh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2R1bW15LWlmcmFtZS5waHAgPT4gaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvZHVtbXktaWZyYW1lLnBocAotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlLW1v
ZGVsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
LW1vZGVsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5YTczNDk0YTJiMTUw
NWQzOTNiNDE2ZDhkNzQ1ZjYxNjViYjJhNmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS1tb2RlbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0icmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotCi1mdW5j
dGlvbiBsb2FkSWZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvZHVtbXktaWZyYW1l
LnBocCI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotfQotCi12YXIg
dGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNv
dXJjZUZpbmlzaGVkLCBvblJlc291cmNlRmluaXNoZWQpOwotCi0gICAgdmFyIHVybHMgPSBbXTsK
LSAgICBmdW5jdGlvbiBvblJlc291cmNlRmluaXNoZWQoZXZlbnQpCi0gICAgewotICAgICAgICBX
ZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZm9yQWxsUmVzb3VyY2VzKHByaW50UmVzb3Vy
Y2UpOwotICAgICAgICB1cmxzLnNvcnQoKTsKLSAgICAgICAgdXJscy5mb3JFYWNoKEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBwcmludFJlc291cmNlKHJlc291cmNlKQotICAgIHsKLSAg
ICAgICAgdXJscy5wdXNoKHJlc291cmNlLnVybCArICIgPT4gIiArIHJlc291cmNlLmRvY3VtZW50
VVJMKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkSWZy
YW1lKCkiKTsgICAgCi19Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgcmVzb3VyY2UgdHJlZSBtb2RlbC4KLTwvcD4KLQotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
LXRyZWUtZG9jdW1lbnQtdXJsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjdhMTQwNjBhNTJj
MzRkZmE3MWI5NzMwYjIzYmQ2Yjc0NTEzZDFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3Vt
ZW50LXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdHMgcmVzb3VyY2UgdHJl
ZSBtb2RlbC4KKworCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzID0+IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwtbWlzc2luZy5w
bmcgPT4gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sID0+IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRv
Y3VtZW50LXVybC5odG1sCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzID0+IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sCitodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL2R1bW15
LWlmcmFtZS5odG1sID0+IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvZHVtbXktaWZyYW1lLmh0bWwKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMgPT4gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkyZTBjZTQxMTgyZTNmZDMzOWQwZWI3OTM3Njk1NTIyMzBjYWI0ZDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlLXRyZWUtdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVMb2Fk
ZWQoInJlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLW1pc3NpbmcucG5nIiwgc3RlcDEpOworCisg
ICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gZm9ybWF0dGVyKHJl
c291cmNlKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gcmVzb3VyY2UudXJsICsgIiA9
PiAiICsgcmVzb3VyY2UuZG9jdW1lbnRVUkw7CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzKGZvcm1hdHRlcik7ICAgIAorICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+CisKKzwvaGVhZD4K
KworPGJvZHk+Cis8cD4KK1Rlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwuCis8L3A+CisKKzxpZnJh
bWUgc3JjPSJyZXNvdXJjZXMvZHVtbXktaWZyYW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj4K
KworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjY0
YmEwMjhhZTU5ZjdiZGFjNDE5ZTdiNjNlMWU1NWI2OGQ0OWVhYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
dHJlZS1mcmFtZS1uYXZpZ2F0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5MiBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDg6IGlmcmFtZSBuYXZpZ2F0ZWQKK1Rlc3RzIHJlc291cmNlIHRyZWUg
bW9kZWwgb24gaWZyYW1lIG5hdmlnYXRpb24uCisKK0JlZm9yZSBuYXZpZ2F0aW9uCis9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1Jlc291cmNlczoKK3NjcmlwdCBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCitpbWFnZSBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFt
ZS1uYXZpZ2F0ZS1taXNzaW5nLnBuZworZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbAor
c2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZS10cmVlLXRlc3QuanMKK2RvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1p
ZnJhbWUtYmVmb3JlLmh0bWwKK3NjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1pbml0aWFsLmpzCitzdHlsZXNoZWV0IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5
bGVzLWluaXRpYWwtMi5jc3MKK3N0eWxlc2hlZXQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MKK3NjcmlwdCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzCisKK1Jlc291
cmNlcyBVUkwgTWFwOgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1taXNzaW5nLnBuZyA9PSBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1t
aXNzaW5nLnBuZworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS5o
dG1sCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0
ZS1pZnJhbWUtYmVmb3JlLmh0bWwgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFt
ZS1iZWZvcmUuaHRtbAoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy9zY3JpcHQtaW5pdGlhbC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1pbml0aWFsLmpzCitodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxl
cy1pbml0aWFsLTIuY3NzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwtMi5jc3MKK2h0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3Nz
ID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvc3R5bGVzLWluaXRpYWwuY3NzCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlcy10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2VzLXRlc3QuanMKKworUmVzb3VyY2VzIFRyZWU6CitGcmFtZXMKKyAgICAocmVzb3VyY2UtdHJl
ZS1mcmFtZS1uYXZpZ2F0ZS5odG1sKQorICAgICAgICBpZnJhbWUocmVzb3VyY2UtdHJlZS1mcmFt
ZS1uYXZpZ2F0ZS1pZnJhbWUtYmVmb3JlLmh0bWwpCisgICAgICAgICAgICBTY3JpcHRzCisgICAg
ICAgICAgICAgICAgc2NyaXB0LWluaXRpYWwuanMKKyAgICAgICAgICAgIFN0eWxlc2hlZXRzCisg
ICAgICAgICAgICAgICAgc3R5bGVzLWluaXRpYWwtMi5jc3MKKyAgICAgICAgICAgIHJlc291cmNl
LXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWJlZm9yZS5odG1sCisgICAgICAgIEltYWdlcwor
ICAgICAgICAgICAgcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1taXNzaW5nLnBuZworICAg
ICAgICBTY3JpcHRzCisgICAgICAgICAgICBpbnNwZWN0b3ItdGVzdC5qcworICAgICAgICAgICAg
cmVzb3VyY2UtdHJlZS10ZXN0LmpzCisgICAgICAgICAgICByZXNvdXJjZXMtdGVzdC5qcworICAg
ICAgICBTdHlsZXNoZWV0cworICAgICAgICAgICAgc3R5bGVzLWluaXRpYWwuY3NzCisgICAgICAg
IHJlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbAorCitBZnRlciBuYXZpZ2F0aW9uCis9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1Jlc291cmNlczoKK3NjcmlwdCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCitpbWFnZSBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS1mcmFtZS1uYXZpZ2F0ZS0yLW1pc3NpbmcucG5nCitpbWFnZSBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1t
aXNzaW5nLnBuZworZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbAorc2NyaXB0IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRl
c3QuanMKK2RvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYWZ0ZXIu
aHRtbAorc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcworc3R5bGVzaGVldCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFs
LmNzcworc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzCitzY3JpcHQgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcworCitSZXNvdXJjZXMgVVJMIE1h
cDoKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMgPT0g
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcworaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJh
bWUtbmF2aWdhdGUtMi1taXNzaW5nLnBuZyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS0yLW1pc3Npbmcu
cG5nCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1taXNzaW5nLnBuZyA9PSBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1t
aXNzaW5nLnBuZworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS5o
dG1sCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0
ZS1pZnJhbWUtYWZ0ZXIuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1l
LWFmdGVyLmh0bWwKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMKK2h0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5
bGVzLWluaXRpYWwuY3NzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCitodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3Nz
ID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvc3R5bGVzLW5hdmlnYXRlZC5jc3MKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2VzLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZXMtdGVzdC5qcworCitSZXNvdXJjZXMgVHJlZToKK0ZyYW1lcworICAgIChyZXNvdXJjZS10
cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwpCisgICAgICAgIGlmcmFtZShyZXNvdXJjZS10cmVlLWZy
YW1lLW5hdmlnYXRlLWlmcmFtZS1hZnRlci5odG1sKQorICAgICAgICAgICAgU2NyaXB0cworICAg
ICAgICAgICAgICAgIHNjcmlwdC1uYXZpZ2F0ZWQuanMKKyAgICAgICAgICAgIFN0eWxlc2hlZXRz
CisgICAgICAgICAgICAgICAgc3R5bGVzLW5hdmlnYXRlZC5jc3MKKyAgICAgICAgICAgIHJlc291
cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwKKyAgICAgICAgSW1hZ2Vz
CisgICAgICAgICAgICAxcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS0yLW1pc3NpbmcucG5n
CisgICAgICAgICAgICByZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLW1pc3NpbmcucG5nCisg
ICAgICAgIFNjcmlwdHMKKyAgICAgICAgICAgIGluc3BlY3Rvci10ZXN0LmpzCisgICAgICAgICAg
ICByZXNvdXJjZS10cmVlLXRlc3QuanMKKyAgICAgICAgICAgIHJlc291cmNlcy10ZXN0LmpzCisg
ICAgICAgIFN0eWxlc2hlZXRzCisgICAgICAgICAgICBzdHlsZXMtaW5pdGlhbC5jc3MKKyAgICAg
ICAgcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS5odG1sCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1m
cmFtZS1uYXZpZ2F0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZmMzNDUwZWUyMTYwODg3MDRiYTMwNjYwY2EyMjQxMzA5MzVlZWVkNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0PgorCis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9InJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiPgorCis8c2NyaXB0PgorCitmdW5jdGlv
biBuYXZpZ2F0ZUlmcmFtZSgpCit7CisgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpZnJhbWUiKTsKKyAgICBpZnJhbWUucmVtb3ZlQXR0cmlidXRlKCJvbmxvYWQiKTsK
KyAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCJzcmMiLCAicmVzb3VyY2VzL3Jlc291cmNlLXRyZWUt
ZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGlmcmFtZSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3Rv
clRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVMb2FkZWQoInJlc291cmNlLXRyZWUtZnJhbWUtbmF2
aWdhdGUtbWlzc2luZy5wbmciLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIG5hdmlnYXRpb24iKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZVRyZWVF
dmVyeXRoaW5nKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLCAiYWRkTWVzc2FnZSIsIHN0ZXAyKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibmF2aWdhdGVJZnJhbWUoKSIpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QucnVu
QWZ0ZXJSZXNvdXJjZXNBcmVMb2FkZWQoInJlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtMi1t
aXNzaW5nLnBuZyIsIHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJBZnRlciBuYXZpZ2F0aW9uIik7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VUcmVlRXZlcnl0aGluZygpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+CisK
KzwvaGVhZD4KKworPGJvZHk+Cis8cD4KK1Rlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwgb24gaWZy
YW1lIG5hdmlnYXRpb24uCis8L3A+CisKKzxpZnJhbWUgaWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJj
ZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYmVmb3JlLmh0bWwiIG9ubG9h
ZD0icnVuVGVzdCgpIj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9h
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2Nl
MDMzNjVjOWE2YjQ2ZWRiZmYzNjlhMjg1OWYwZWE2MDgzZTQzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLXJlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NSBAQAorVGVzdHMgcmVzb3VyY2Ug
dHJlZSBtb2RlbCBvbiBwYWdlIHJlbG9hZC4KKworCitQYWdlIHJlbG9hZGVkLgorUmVzb3VyY2Vz
Ogorc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMKK2ltYWdlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLXJlbG9hZC1taXNzaW5nLnBuZworZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2FkLmh0bWwK
K3NjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2UtdHJlZS10ZXN0LmpzCitkb2N1bWVudCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtcmVsb2FkLWlmcmFtZS5o
dG1sCitzY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9zY3JpcHQtaW5pdGlhbC5qcworc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLTIu
Y3NzCitzdHlsZXNoZWV0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCitzY3JpcHQgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcworCitSZXNvdXJjZXMgVVJMIE1hcDoK
K2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMgPT0gaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcworaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2Fk
LW1pc3NpbmcucG5nID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC1taXNzaW5nLnBuZworaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2FkLmh0bWwgPT0g
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtcmVsb2FkLmh0bWwKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcworaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLXJl
bG9hZC1pZnJhbWUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtcmVsb2FkLWlmcmFtZS5odG1sCitodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Njcmlw
dC1pbml0aWFsLmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwtMi5jc3MgPT0g
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9z
dHlsZXMtaW5pdGlhbC0yLmNzcworaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MgPT0gaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5j
c3MKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMgPT0g
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcworCitSZXNv
dXJjZXMgVHJlZToKK0ZyYW1lcworICAgIChyZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sKQorICAg
ICAgICAocmVzb3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1lLmh0bWwpCisgICAgICAgICAgICBTY3Jp
cHRzCisgICAgICAgICAgICAgICAgc2NyaXB0LWluaXRpYWwuanMKKyAgICAgICAgICAgIFN0eWxl
c2hlZXRzCisgICAgICAgICAgICAgICAgc3R5bGVzLWluaXRpYWwtMi5jc3MKKyAgICAgICAgICAg
IHJlc291cmNlLXRyZWUtcmVsb2FkLWlmcmFtZS5odG1sCisgICAgICAgIEltYWdlcworICAgICAg
ICAgICAgcmVzb3VyY2UtdHJlZS1yZWxvYWQtbWlzc2luZy5wbmcKKyAgICAgICAgU2NyaXB0cwor
ICAgICAgICAgICAgaW5zcGVjdG9yLXRlc3QuanMKKyAgICAgICAgICAgIHJlc291cmNlLXRyZWUt
dGVzdC5qcworICAgICAgICAgICAgcmVzb3VyY2VzLXRlc3QuanMKKyAgICAgICAgU3R5bGVzaGVl
dHMKKyAgICAgICAgICAgIHN0eWxlcy1pbml0aWFsLmNzcworICAgICAgICByZXNvdXJjZS10cmVl
LXJlbG9hZC5odG1sCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1yZWxvYWQuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1yZWxvYWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzc4NTZjYjc3M2IxOGMzMWFmMGE1NTRiYzQ5MzNkYmY3NGRiMjBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0PgorCis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiPgorCis8c2NyaXB0Pgor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDEp
OworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5y
dW5BZnRlclJlc291cmNlc0FyZUxvYWRlZCgicmVzb3VyY2UtdHJlZS1yZWxvYWQtbWlzc2luZy5w
bmciLCBzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VUcmVlRXZlcnl0aGluZygpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+CisKKzwv
aGVhZD4KKworPGJvZHk+Cis8cD4KK1Rlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwgb24gcGFnZSBy
ZWxvYWQuCis8L3A+CisKKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1yZWxv
YWQtaWZyYW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj4KKworPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjcwYTY0
NjM5ODIwMDdlOTNmZWM5ZDc1YmNmYTNmNDU1OWNhZWExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVl
LXRlc3QuanMKQEAgLTAsMCArMSw5OCBAQAordmFyIGluaXRpYWxpemVfUmVzb3VyY2VUcmVlVGVz
dCA9IGZ1bmN0aW9uKCkgeworCitJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXMgPSBmdW5jdGlv
bihmb3JtYXR0ZXIpCit7CisgICAgdmFyIHJlc3VsdHMgPSBbXTsKKworICAgIGZ1bmN0aW9uIGZv
cm1hdHRlcldyYXBwZXIocmVzb3VyY2UpCisgICAgeworICAgICAgICBpZiAoZm9ybWF0dGVyKQor
ICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHsgcmVzb3VyY2U6IHJlc291cmNlLCB0ZXh0OiBmb3Jt
YXR0ZXIocmVzb3VyY2UpIH0pOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXN1bHRzLnB1
c2goeyByZXNvdXJjZTogcmVzb3VyY2UsIHRleHQ6IHJlc291cmNlLnVybCB9KTsKKyAgICB9CisK
KyAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZm9yQWxsUmVzb3VyY2VzKGZvcm1h
dHRlcldyYXBwZXIpOworCisgICAgZnVuY3Rpb24gY29tcGFyYXRvcihyZXN1bHQxLCByZXN1bHQy
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDEucmVzb3VyY2UudXJsLmxvY2FsZUNvbXBh
cmUocmVzdWx0Mi5yZXNvdXJjZS51cmwpOworICAgIH0KKyAgICByZXN1bHRzLnNvcnQoY29tcGFy
YXRvcik7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdHMubGVuZ3RoOyArK2kpCisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc3VsdHNbaV0udGV4dCk7Cit9CisKK0lu
c3BlY3RvclRlc3QuZHVtcFJlc291cmNlc1VSTE1hcCA9IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIg
cmVzdWx0cyA9IFtdOworICAgIGZvciAodmFyIHVybCBpbiBXZWJJbnNwZWN0b3IucmVzb3VyY2VU
cmVlTW9kZWwuX3Jlc291cmNlc0J5VVJMKSB7CisgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYklu
c3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5fcmVzb3VyY2VzQnlVUkxbdXJsXTsKKyAgICAgICAg
cmVzdWx0cy5wdXNoKHsgdXJsOiB1cmwsIHJlc291cmNlOiByZXNvdXJjZSB9KTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBjb21wYXJhdG9yKHJlc3VsdDEsIHJlc3VsdDIpCisgICAgeworICAgICAg
ICByZXR1cm4gcmVzdWx0MS51cmwgPiByZXN1bHQyLnVybDsKKyAgICB9CisKKyAgICByZXN1bHRz
LnNvcnQoY29tcGFyYXRvcik7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdHMubGVu
Z3RoOyArK2kpCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc3VsdHNbaV0udXJs
ICsgIiA9PSAiICsgcmVzdWx0c1tpXS5yZXNvdXJjZS51cmwpOworfQorCitJbnNwZWN0b3JUZXN0
LmR1bXBSZXNvdXJjZXNUcmVlID0gZnVuY3Rpb24oKQoreworICAgIGZ1bmN0aW9uIGR1bXAodHJl
ZUl0ZW0sIHByZWZpeCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHBy
ZWZpeCArIHRyZWVJdGVtLmxpc3RJdGVtRWxlbWVudC50ZXh0Q29udGVudCk7CisKKyAgICAgICAg
dHJlZUl0ZW0uZXhwYW5kKCk7CisgICAgICAgIHZhciBjaGlsZHJlbiA9IHRyZWVJdGVtLmNoaWxk
cmVuOworICAgICAgICBmb3IgKHZhciBpID0gMDsgY2hpbGRyZW4gJiYgaSA8IGNoaWxkcmVuLmxl
bmd0aDsgKytpKQorICAgICAgICAgICAgZHVtcChjaGlsZHJlbltpXSwgcHJlZml4ICsgIiAgICAi
KTsKKyAgICB9CisKKyAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9y
LnBhbmVscy5yZXNvdXJjZXM7CisgICAgZHVtcChXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNl
cy5yZXNvdXJjZXNMaXN0VHJlZUVsZW1lbnQsICIiKTsKK30KKworSW5zcGVjdG9yVGVzdC5ydW5B
ZnRlclJlc291cmNlc0FyZUxvYWRlZCA9IGZ1bmN0aW9uKHJlc291cmNlTmFtZSwgY2FsbGJhY2sp
Cit7CisgICAgdmFyIHJlc291cmNlTmFtZSA9IHJlc291cmNlTmFtZSB8fCAibm9uLWV4aXN0aW5n
LWltYWdlLnBuZyI7CisgICAgdmFyIGZpcmVkID0gZmFsc2U7CisgICAgZnVuY3Rpb24gY2FsbGJh
Y2tXcmFwcGVyKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKCFmaXJlZCAmJiBldmVudC5kYXRh
LnVybC5pbmRleE9mKHJlc291cmNlTmFtZSkgIT09IC0xKSB7CisgICAgICAgICAgICBmaXJlZCA9
IHRydWU7CisKKyAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBydW4gYWZ0ZXIgYWxsIHNpYmxp
bmcgbGlzdGVuZXJzLgorICAgICAgICAgICAgc2V0VGltZW91dChjYWxsYmFjaywgMCk7CisgICAg
ICAgIH0KKyAgICB9CisgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VGaW5p
c2hlZCwgY2FsbGJhY2tXcmFwcGVyKTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCIobmV3IEltYWdlKCkpLnNyYyA9ICciICsgcmVzb3VyY2VOYW1lICsgIic7Iik7Cit9CisKK0lu
c3BlY3RvclRlc3QuZHVtcFJlc291cmNlVHJlZUV2ZXJ5dGhpbmcgPSBmdW5jdGlvbigpCit7Cisg
ICAgZnVuY3Rpb24gZm9ybWF0KHJlc291cmNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKHJlc291cmNlLnR5cGUpICsgIiAiICsgcmVz
b3VyY2UudXJsOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJj
ZXM6Iik7CisgICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzKGZvcm1hdCk7CisKKyAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlJlc291cmNlcyBVUkwgTWFwOiIpOworICAgIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlc1VS
TE1hcCgpOworCisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZXMgVHJlZToiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmR1
bXBSZXNvdXJjZXNUcmVlKCk7Cit9CisKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL2R1bW15LWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzYTdmMjQyOTU0OTE0MmY3OGI3Nzc3
OTA0YjI2MTAyODU4ZDk3MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbApA
QCAtMCwwICsxLDYgQEAKKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1l
LWFmdGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1hZnRlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY4OGViY2MxYjRhOWI3MDM4YzJjNWFkZDE1OTBhNDU5MzVkOGZlOTcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1h
ZnRlci5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorCis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSJzY3JpcHQtbmF2aWdhdGVkLmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0ic3R5bGVzLW5hdmlnYXRlZC5jc3MiPgorCis8c2NyaXB0PgorY29uc29sZS5sb2coImlm
cmFtZSBuYXZpZ2F0ZWQiKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1l
LWJlZm9yZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYmVmb3Jl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjEzMTFmMjg2YTg5MjJlZDZmMmJkOTczMmIxMGY5NmNlOTk4Nzkw
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1l
LWJlZm9yZS5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxodG1sPgorCis8aGVhZD4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtaW5pdGlhbC5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9InN0eWxlcy1pbml0aWFsLTIuY3NzIj4KKzwvaGVhZD4KKworPGJvZHk+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLXJlbG9hZC1pZnJhbWUuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3Jlc291cmNlLXRyZWUtcmVsb2FkLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxMzExZjI4NmE4
OTIyZWQ2ZjJiZDk3MzJiMTBmOTZjZTk5ODc5MGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJj
ZS10cmVlLXJlbG9hZC1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDEwIEBACis8aHRtbD4KKworPGhl
YWQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LWluaXRpYWwuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZXMtaW5pdGlhbC0yLmNzcyI+Cis8L2hlYWQ+CisKKzxi
b2R5PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9z
Y3JpcHQtaW5pdGlhbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTQ2NWRjYWM0NTcxODdhYzVjYzQxN2JhYmRh
MGZkZTUwZGJiNGY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMKQEAgLTAs
MCArMSwyIEBACitmdW5jdGlvbiBmb28oKSB7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDk0NjVkY2FjNDU3MTg3YWM1Y2M0MTdiYWJkYTBmZGU1MGRiYjRmNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMKQEAgLTAsMCArMSwyIEBACitmdW5j
dGlvbiBmb28oKSB7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMv
c3R5bGVzLWluaXRpYWwtMi5jc3MgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC0yLmNzcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
NWI2NmNiYWJiYTliOTI4MzM2Njg4M2M2OWEyODE4ZWI3Y2Q5OGMyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvc3R5bGVzLWluaXRpYWwtMi5jc3MKQEAgLTAsMCArMSwzIEBACitodG1sIHsKKyAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3N0eWxlcy1pbml0aWFsLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNWI2NmNiYWJiYTliOTI4MzM2Njg4M2M2
OWEyODE4ZWI3Y2Q5OGMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCkBA
IC0wLDAgKzEsMyBAQAoraHRtbCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9zdHlsZXMtbmF2aWdhdGVkLmNzcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY1YjY2Y2JhYmJhOWI5MjgzMzY2ODgzYzY5YTI4MThlYjdjZDk4YzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy9zdHlsZXMtbmF2aWdhdGVkLmNzcwpAQCAtMCwwICsxLDMgQEAKK2h0bWwg
eworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBl
ZAppbmRleCAzNDJmNTE1MWIyNDg5YWNkNDc2MzY5NDUxZWI5NzNlOWRhMDUyOGRmLi5lZGIwYzQy
MTAyN2MwOTFiZWNkZTA4N2MwNDc1Y2RmMWQwMjM3ZDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tp
cHBlZApAQCAtNDIyLDcgKzQyMiw5IEBAIGh0dHAvdGVzdHMvd2Vic29ja2V0CiBtZWRpYS92aWRl
by1jb250cm9scy1pbi1tZWRpYS1kb2N1bWVudC5odG1sCiAKICMgU29tZXRpbWVzIGZhaWxzIGh0
dHA6Ly93ZWJraXQub3JnL2IvNTgzNjcKLWh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUtbW9kZWwuaHRtbAoraHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZS10cmVlLWRvY3VtZW50LXVybC5odG1sCitodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbAoraHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sCiAKICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBObyBidWdzIGZpbGVkIGFib3V0
IHRoZSBiZWxvdyB5ZXQjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI3MDQ0
ODA5NmZjNTAzM2FkMWRlNTA5Y2YzOWY0YzgyOTlhMDFlNzcuLmU0NjU2MDdjYjk1MmM5MDRhNDZm
NjJkNzE5ZDA0OGM1YTQxYzFlNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMS0w
NC0yOCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIFJl
c291cmNlVHJlZU1vZGVsIHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTk2MTYKKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sCisgICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUt
ZnJhbWUtbmF2aWdhdGUuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZS5mcm9udGVuZFJldXNlZCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLl9hZGRGcmFtZSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLl9mcmFtZU5h
dmlnYXRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90
eXBlLl9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVN
b2RlbC5wcm90b3R5cGUuX29uUmVzb3VyY2VVcGRhdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUuZm9yQWxsUmVzb3VyY2VzKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUuX2NsZWFyQ2hpbGRGcmFt
ZXNBbmRSZXNvdXJjZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVs
LnByb3RvdHlwZS5fY2FsbEZvckZyYW1lUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUuX2FkZEZyYW1lc1JlY3Vyc2l2ZWx5KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5fcG9wdWxhdGVSZXNvdXJjZVRy
ZWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5fZnJh
bWVBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBl
Ll9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5w
cm90b3R5cGUuX2ZyYW1lTmF2aWdhdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GcmFtZVRy
ZWVFbGVtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GcmFtZVRyZWVFbGVtZW50LnByb3Rv
dHlwZS5mcmFtZU5hdmlnYXRlZCk6CisKIDIwMTEtMDQtMjcgIFBhdmVsIEZlbGRtYW4gIDxwZmVs
ZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3ku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
VHJlZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJj
ZVRyZWVNb2RlbC5qcwppbmRleCAzNTdlMTI2ZGE2Yzk1ZDhjODVlMDExMDNkZWQzYzE2ZDNlYTM1
MzlkLi43MTJhYWU3MzZlM2E1MDAzMmI4MmYyOGM2N2VhYmI0ZWI3OGVmODMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9k
ZWwuanMKQEAgLTU3LDYgKzU3LDggQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fcmVzb3VyY2VzQnlVUkwgPSB7fTsKICAgICAgICAg
dGhpcy5fcmVzb3VyY2VzQnlGcmFtZUlkID0ge307CiAgICAgICAgIHRoaXMuX3N1YmZyYW1lcyA9
IHt9OworICAgICAgICB0aGlzLl9mcmFtZUlkcyA9IHt9OworICAgICAgICBkZWxldGUgdGhpcy5f
Y2FjaGVkUmVzb3VyY2VzUHJvY2Vzc2VkOwogICAgICAgICBQYWdlQWdlbnQuZ2V0UmVzb3VyY2VU
cmVlKHRoaXMuX3Byb2Nlc3NDYWNoZWRSZXNvdXJjZXMuYmluZCh0aGlzKSk7CiAgICAgfSwKIApA
QCAtNzksMTYgKzgxLDE3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLkluc3BlY3RlZFVSTENoYW5nZWQsIHVybCk7
CiAgICAgfSwKIAotICAgIF9hZGRPclVwZGF0ZUZyYW1lOiBmdW5jdGlvbihmcmFtZSkKKyAgICBf
YWRkRnJhbWU6IGZ1bmN0aW9uKGZyYW1lKQogICAgIHsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2
ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMu
RnJhbWVBZGRlZCwgZnJhbWUpOwotCisgICAgICAgIHRoaXMuX2ZyYW1lSWRzW2ZyYW1lLmlkXSA9
IGZyYW1lOwogICAgICAgICB2YXIgc3ViZnJhbWVzID0gdGhpcy5fc3ViZnJhbWVzW2ZyYW1lLnBh
cmVudElkXTsKICAgICAgICAgaWYgKCFzdWJmcmFtZXMpIHsKICAgICAgICAgICAgIHN1YmZyYW1l
cyA9IFtdOwotICAgICAgICAgICAgdGhpcy5fc3ViZnJhbWVzW2ZyYW1lLnBhcmVudElkIHx8IDBd
ID0gc3ViZnJhbWVzOworICAgICAgICAgICAgdGhpcy5fc3ViZnJhbWVzW2ZyYW1lLnBhcmVudElk
XSA9IHN1YmZyYW1lczsKICAgICAgICAgfQorCiAgICAgICAgIHN1YmZyYW1lcy5wdXNoKGZyYW1l
KTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlJl
c291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuRnJhbWVBZGRlZCwgZnJhbWUpOwogICAgIH0sCiAK
ICAgICBmcmFtZXM6IGZ1bmN0aW9uKHBhcmVudEZyYW1lSWQpCkBAIC0xMTIsMjQgKzExNSwzMCBA
QCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlID0gewogCiAgICAgX2Zy
YW1lTmF2aWdhdGVkOiBmdW5jdGlvbihmcmFtZSwgbG9hZGVySWQpCiAgICAgeworICAgICAgICAv
LyBEbyBub3RoaW5nIHVubGVzcyBjYWNoZWQgcmVzb3VyY2UgdHJlZSBpcyBwcm9jZXNzZWQgLSBp
dCB3aWxsIG92ZXJ3cml0ZSBldmVyeXRoaW5nLgogICAgICAgICBpZiAoIXRoaXMuX2NhY2hlZFJl
c291cmNlc1Byb2Nlc3NlZCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB2YXIgaXNN
YWluRnJhbWUgPSAhZnJhbWUucGFyZW50SWQ7CisgICAgICAgIC8vIEFkZCBmcmFtZSBpbiBjYXNl
IGl0IGlzIHNlZW4gZm9yIHRoZSBmaXJzdCB0aW1lLCBvdGhlcndpc2UsIGRvIGEgd2l0aGluLWZy
YW1lIGNsZWFudXAuCisgICAgICAgIGlmICghdGhpcy5fZnJhbWVJZHNbZnJhbWUuaWRdKQorICAg
ICAgICAgICAgdGhpcy5fYWRkRnJhbWUoZnJhbWUpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICB0aGlzLl9jbGVhckNoaWxkRnJhbWVzQW5kUmVzb3VyY2VzKGZyYW1lLmlkLCBsb2FkZXJJZCk7
CiAKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlJl
c291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuRnJhbWVOYXZpZ2F0ZWQsIHsgZnJhbWU6IGZyYW1l
LCBsb2FkZXJJZDogbG9hZGVySWQsIGlzTWFpbkZyYW1lOiBpc01haW5GcmFtZSB9KTsKIAotICAg
ICAgICAvLyBmcmFtZS5wYXJlbnRJZCA9PT0gMCBpcyB3aGVuIG1haW4gZnJhbWUgbmF2aWdhdGlv
biBoYXBwZW5zLgotICAgICAgICB0aGlzLl9jbGVhckNoaWxkRnJhbWVzQW5kUmVzb3VyY2VzKGlz
TWFpbkZyYW1lID8gMCA6IGZyYW1lLmlkLCBsb2FkZXJJZCk7CisgICAgICAgIHZhciBpc01haW5G
cmFtZSA9ICFmcmFtZS5wYXJlbnRJZDsKIAotICAgICAgICB0aGlzLl9hZGRPclVwZGF0ZUZyYW1l
KGZyYW1lKTsKKyAgICAgICAgLy8gRGlzcGF0Y2ggZnJhbWUgbmF2aWdhdGVkIGV2ZW50IHRvIGNs
aWVudHMgcHJpb3IgdG8gZmlsbGluZyBpdCB3aXRoIHRoZSByZXNvdXJjZXMuIAorICAgICAgICB0
aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9k
ZWwuRXZlbnRUeXBlcy5GcmFtZU5hdmlnYXRlZCwgeyBmcmFtZTogZnJhbWUsIGxvYWRlcklkOiBs
b2FkZXJJZCwgaXNNYWluRnJhbWU6IGlzTWFpbkZyYW1lIH0pOwogCisgICAgICAgIC8vIEZpbGwg
ZnJhbWUgd2l0aCByZXRhaW5lZCByZXNvdXJjZXMgKHRoZSBvbmVzIGxvYWRlZCB1c2luZyBuZXcg
bG9hZGVyKS4gCiAgICAgICAgIHZhciByZXNvdXJjZXNGb3JGcmFtZSA9IHRoaXMuX3Jlc291cmNl
c0J5RnJhbWVJZFtmcmFtZS5pZF07CiAgICAgICAgIGlmIChyZXNvdXJjZXNGb3JGcmFtZSkgewog
ICAgICAgICAgICAgZm9yICh2YXIgdXJsIGluIHJlc291cmNlc0ZvckZyYW1lKQogICAgICAgICAg
ICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5SZXNvdXJj
ZVRyZWVNb2RlbC5FdmVudFR5cGVzLlJlc291cmNlQWRkZWQsIHJlc291cmNlc0ZvckZyYW1lW3Vy
bF0pOwogICAgICAgICB9CiAKKyAgICAgICAgLy8gVXBkYXRlIG1haW4gZnJhbWUsIGlzc3VlIHRv
cC1sZXZlbCBuYXZpZ2F0ZSBldmVudHMuIAogICAgICAgICBpZiAoaXNNYWluRnJhbWUgJiYgdGhp
cy5yZXNvdXJjZUZvclVSTChmcmFtZS51cmwpKSB7CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
bWFpblJlc291cmNlID0gdGhpcy5yZXNvdXJjZUZvclVSTChmcmFtZS51cmwpOwogICAgICAgICAg
ICAgdGhpcy5fZGlzcGF0Y2hJbnNwZWN0ZWRVUkxDaGFuZ2VkKGZyYW1lLnVybCk7CkBAIC0xMzks
MTAgKzE0OCwyMCBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlID0g
ewogCiAgICAgX2ZyYW1lRGV0YWNoZWQ6IGZ1bmN0aW9uKGZyYW1lSWQpCiAgICAgeworICAgICAg
ICAvLyBEbyBub3RoaW5nIHVubGVzcyBjYWNoZWQgcmVzb3VyY2UgdHJlZSBpcyBwcm9jZXNzZWQg
LSBpdCB3aWxsIG92ZXJ3cml0ZSBldmVyeXRoaW5nLgogICAgICAgICBpZiAoIXRoaXMuX2NhY2hl
ZFJlc291cmNlc1Byb2Nlc3NlZCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlz
Ll9jbGVhckNoaWxkRnJhbWVzQW5kUmVzb3VyY2VzKGZyYW1lSWQsIDApOworICAgICAgICB0aGlz
Ll9jbGVhckNoaWxkRnJhbWVzQW5kUmVzb3VyY2VzKGZyYW1lSWQsICIiKTsKKyAgICAgICAgdmFy
IGZyYW1lID0gdGhpcy5fZnJhbWVJZHNbZnJhbWVJZF07CisKKyAgICAgICAgaWYgKGZyYW1lKSB7
CisgICAgICAgICAgICB2YXIgc2libGluZ3MgPSB0aGlzLl9zdWJmcmFtZXNbZnJhbWUucGFyZW50
SWRdOworICAgICAgICAgICAgaWYgKHNpYmxpbmdzKQorICAgICAgICAgICAgICAgIHNpYmxpbmdz
LnJlbW92ZShmcmFtZSk7CisgICAgICAgICAgICBkZWxldGUgdGhpcy5fZnJhbWVJZHNbZnJhbWVJ
ZF07CisgICAgICAgIH0KKwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5GcmFtZURldGFjaGVkLCBm
cmFtZUlkKTsKICAgICB9LAogCkBAIC0xNTcsNyArMTc2LDE0IEBAIFdlYkluc3BlY3Rvci5SZXNv
dXJjZVRyZWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX2Nh
Y2hlZFJlc291cmNlc1Byb2Nlc3NlZCkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdGhp
cy5fYWRkUmVzb3VyY2VUb0ZyYW1lKGV2ZW50LmRhdGEpOworCisgICAgICAgIHZhciByZXNvdXJj
ZSA9IGV2ZW50LmRhdGE7CisgICAgICAgIGlmIChyZXNvdXJjZS5mYWlsZWQpIHsKKyAgICAgICAg
ICAgIHRoaXMuX3VuYmluZFJlc291cmNlVVJMKHJlc291cmNlKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX2FkZFJlc291cmNlVG9GcmFtZShyZXNvdXJj
ZSk7CiAgICAgfSwKIAogICAgIF9hZGRSZXNvdXJjZVRvRnJhbWU6IGZ1bmN0aW9uKHJlc291cmNl
KQpAQCAtMTgwLDcgKzIwNiw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90
b3R5cGUgPSB7CiAKICAgICBmb3JBbGxSZXNvdXJjZXM6IGZ1bmN0aW9uKGNhbGxiYWNrKQogICAg
IHsKLSAgICAgICAgdGhpcy5fY2FsbEZvckZyYW1lUmVzb3VyY2VzKDAsIGNhbGxiYWNrKTsKKyAg
ICAgICAgdGhpcy5fY2FsbEZvckZyYW1lUmVzb3VyY2VzKCIiLCBjYWxsYmFjayk7CiAgICAgfSwK
IAogICAgIGFkZENvbnNvbGVNZXNzYWdlOiBmdW5jdGlvbihtc2cpCkBAIC0yMjcsNyArMjUzLDcg
QEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
dGhpcy5fY2xlYXJSZXNvdXJjZXMoZnJhbWVJZCwgbG9hZGVyVG9QcmVzZXJ2ZUlkKTsKICAgICAg
ICAgdmFyIHN1YmZyYW1lcyA9IHRoaXMuX3N1YmZyYW1lc1tmcmFtZUlkXTsKICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IHN1YmZyYW1lcyAmJiBpIDwgc3ViZnJhbWVzLmxlbmd0aDsgKysgaSkgewot
ICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlJl
c291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuRnJhbWVSZW1vdmVkLCBzdWJmcmFtZXNbaV0uaWQp
OworICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9y
LlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuRnJhbWVEZXRhY2hlZCwgc3ViZnJhbWVzW2ld
LmlkKTsKICAgICAgICAgICAgIHRoaXMuX2NsZWFyQ2hpbGRGcmFtZXNBbmRSZXNvdXJjZXMoc3Vi
ZnJhbWVzW2ldLmlkLCBsb2FkZXJUb1ByZXNlcnZlSWQpOwogICAgICAgICB9CiAgICAgICAgIGRl
bGV0ZSB0aGlzLl9zdWJmcmFtZXNbZnJhbWVJZF07CkBAIC0yNjMsNyArMjg5LDcgQEAgV2ViSW5z
cGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChj
YWxsYmFjayhyZXNvdXJjZXNbdXJsXSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgdmFyIGZyYW1lcyA9IHRoaXMuX3N1YmZyYW1l
c1tmcmFtZUlkXTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGZyYW1lcyAmJiBpIDwgZnJhbWVz
Lmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5fY2FsbEZvckZyYW1lUmVzb3Vy
Y2VzKGZyYW1lc1tpXS5pZCwgY2FsbGJhY2spKQpAQCAtMjg2LDcgKzMxMiw3IEBAIFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGZyYW1lUmVzb3Vy
Y2UudHlwZSA9IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3VtZW50OwogICAgICAgICBm
cmFtZVJlc291cmNlLmZpbmlzaGVkID0gdHJ1ZTsKIAotICAgICAgICB0aGlzLl9hZGRPclVwZGF0
ZUZyYW1lKGZyYW1lUGF5bG9hZCk7CisgICAgICAgIHRoaXMuX2FkZEZyYW1lKGZyYW1lUGF5bG9h
ZCk7CiAgICAgICAgIHRoaXMuX2FkZFJlc291cmNlVG9GcmFtZShmcmFtZVJlc291cmNlKTsKIAog
ICAgICAgICBmb3IgKHZhciBpID0gMDsgZnJhbWVUcmVlUGF5bG9hZC5jaGlsZEZyYW1lcyAmJiBp
IDwgZnJhbWVUcmVlUGF5bG9hZC5jaGlsZEZyYW1lcy5sZW5ndGg7ICsraSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCmluZGV4
IDU2MzlmYjgyZGE5YTQxYjExZDFkN2E4MDU2ZTAxMzViMmM5ODUxY2EuLjAxYmNlMTEyY2FlYjE3
NzY1ZDlhOGZiZDkwYTUwN2YxOTExMjg2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwpAQCAtMTkyLDcgKzE5Miw3IEBA
IFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHJlc291cmNlcy5sZW5ndGg7ICsraSkKICAgICAgICAgICAgICAg
ICB0aGlzLl9yZXNvdXJjZUFkZGVkKHtkYXRhOnJlc291cmNlc1tpXX0pOwogICAgICAgICB9Ci0g
ICAgICAgIHBvcHVsYXRlRnJhbWUuY2FsbCh0aGlzLCAwKTsKKyAgICAgICAgcG9wdWxhdGVGcmFt
ZS5jYWxsKHRoaXMsICIiKTsKIAogICAgICAgICB0aGlzLl9pbml0RGVmYXVsdFNlbGVjdGlvbigp
OwogICAgIH0sCkBAIC0yMDAsMzAgKzIwMCwxNiBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFu
ZWwucHJvdG90eXBlID0gewogICAgIF9mcmFtZUFkZGVkOiBmdW5jdGlvbihldmVudCkKICAgICB7
CiAgICAgICAgIHZhciBmcmFtZSA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIHZhciBmcmFtZUlkID0g
ZnJhbWUuaWQ7CiAgICAgICAgIHZhciBwYXJlbnRGcmFtZUlkID0gZnJhbWUucGFyZW50SWQ7Ci0g
ICAgICAgIHZhciB0aXRsZSA9IGZyYW1lLm5hbWU7Ci0gICAgICAgIHZhciBzdWJ0aXRsZSA9IG5l
dyBXZWJJbnNwZWN0b3IuUmVzb3VyY2UobnVsbCwgZnJhbWUudXJsKS5kaXNwbGF5TmFtZTsKLSAg
ICAgICAgdGhpcy5hZGREb2N1bWVudFVSTChmcmFtZS51cmwpOwogICAgICAgICAKLSAgICAgICAg
dmFyIGZyYW1lVHJlZUVsZW1lbnQgPSB0aGlzLl90cmVlRWxlbWVudEZvckZyYW1lSWRbZnJhbWVJ
ZF07Ci0gICAgICAgIGlmIChmcmFtZVRyZWVFbGVtZW50KSB7Ci0gICAgICAgICAgICAvLyBNYWlu
dGFpbiBzb3J0ZWQgb3JkZXIuCi0gICAgICAgICAgICB2YXIgcGFyZW50ID0gZnJhbWVUcmVlRWxl
bWVudC5wYXJlbnQ7Ci0gICAgICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQoZnJhbWVUcmVlRWxl
bWVudCk7Ci0gICAgICAgICAgICBmcmFtZVRyZWVFbGVtZW50LnNldFRpdGxlcyh0aXRsZSwgc3Vi
dGl0bGUpOwotICAgICAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKGZyYW1lVHJlZUVsZW1lbnQp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KICAgICAgICAgdmFyIHBhcmVudFRy
ZWVFbGVtZW50ID0gcGFyZW50RnJhbWVJZCA/IHRoaXMuX3RyZWVFbGVtZW50Rm9yRnJhbWVJZFtw
YXJlbnRGcmFtZUlkXSA6IHRoaXMucmVzb3VyY2VzTGlzdFRyZWVFbGVtZW50OwogICAgICAgICBp
ZiAoIXBhcmVudFRyZWVFbGVtZW50KSB7Ci0gICAgICAgICAgICBjb25zb2xlLndhcm4oIk5vIGZy
YW1lIHdpdGggaWQ6IiArIHBhcmVudEZyYW1lSWQgKyAiIHRvIHJvdXRlICIgKyB0aXRsZSArICIv
IiArIHN1YnRpdGxlICsgIiB0by4iKQorICAgICAgICAgICAgY29uc29sZS53YXJuKCJObyBmcmFt
ZSB3aXRoIGlkOiIgKyBwYXJlbnRGcmFtZUlkICsgIiB0byByb3V0ZSAiICsgZnJhbWUubmFtZSAr
ICIvIiArIGZyYW1lLnVybCArICIgdG8uIikKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogCi0gICAgICAgIHZhciBmcmFtZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5GcmFt
ZVRyZWVFbGVtZW50KHRoaXMsIGZyYW1lSWQsIHRpdGxlLCBzdWJ0aXRsZSk7Ci0gICAgICAgIHRo
aXMuX3RyZWVFbGVtZW50Rm9yRnJhbWVJZFtmcmFtZUlkXSA9IGZyYW1lVHJlZUVsZW1lbnQ7Cisg
ICAgICAgIHZhciBmcmFtZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5GcmFtZVRyZWVF
bGVtZW50KHRoaXMsIGZyYW1lKTsKKyAgICAgICAgdGhpcy5fdHJlZUVsZW1lbnRGb3JGcmFtZUlk
W2ZyYW1lLmlkXSA9IGZyYW1lVHJlZUVsZW1lbnQ7CiAgICAgICAgIHBhcmVudFRyZWVFbGVtZW50
LmFwcGVuZENoaWxkKGZyYW1lVHJlZUVsZW1lbnQpOwogICAgIH0sCiAKQEAgLTIzMyw2ICsyMTks
NyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB2
YXIgZnJhbWVUcmVlRWxlbWVudCA9IHRoaXMuX3RyZWVFbGVtZW50Rm9yRnJhbWVJZFtmcmFtZUlk
XTsKICAgICAgICAgaWYgKCFmcmFtZVRyZWVFbGVtZW50KQogICAgICAgICAgICAgcmV0dXJuOwor
CiAgICAgICAgIGRlbGV0ZSB0aGlzLl90cmVlRWxlbWVudEZvckZyYW1lSWRbZnJhbWVJZF07CiAg
ICAgICAgIGlmIChmcmFtZVRyZWVFbGVtZW50LnBhcmVudCkKICAgICAgICAgICAgIGZyYW1lVHJl
ZUVsZW1lbnQucGFyZW50LnJlbW92ZUNoaWxkKGZyYW1lVHJlZUVsZW1lbnQpOwpAQCAtMjU4LDE2
ICsyNDUsMTAgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9IHsKIAog
ICAgIF9mcmFtZU5hdmlnYXRlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICBpZiAo
ZXZlbnQuZGF0YS5pc01haW5GcmFtZSkgewotICAgICAgICAgICAgLy8gVG90YWwgdXBkYXRlLgot
ICAgICAgICAgICAgdGhpcy5fcmVzZXRSZXNvdXJjZXNUcmVlKCk7Ci0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KLQogICAgICAgICB2YXIgZnJhbWVJZCA9IGV2ZW50LmRhdGEuZnJhbWUu
aWQ7CiAgICAgICAgIHZhciBmcmFtZVRyZWVFbGVtZW50ID0gdGhpcy5fdHJlZUVsZW1lbnRGb3JG
cmFtZUlkW2ZyYW1lSWRdOwogICAgICAgICBpZiAoZnJhbWVUcmVlRWxlbWVudCkKLSAgICAgICAg
ICAgIGZyYW1lVHJlZUVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsgICAgICAgIAorICAgICAgICAg
ICAgZnJhbWVUcmVlRWxlbWVudC5mcmFtZU5hdmlnYXRlZChldmVudC5kYXRhLmZyYW1lKTsKICAg
ICB9LAogCiAgICAgX3Jlc2V0UmVzb3VyY2VzVHJlZTogZnVuY3Rpb24oKQpAQCAtOTI4LDE2ICs5
MDksMjkgQEAgV2ViSW5zcGVjdG9yLlN0b3JhZ2VDYXRlZ29yeVRyZWVFbGVtZW50LnByb3RvdHlw
ZSA9IHsKIH0KIFdlYkluc3BlY3Rvci5TdG9yYWdlQ2F0ZWdvcnlUcmVlRWxlbWVudC5wcm90b3R5
cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnQucHJvdG90
eXBlOwogCi1XZWJJbnNwZWN0b3IuRnJhbWVUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKHN0b3JhZ2VQ
YW5lbCwgZnJhbWVJZCwgdGl0bGUsIHN1YnRpdGxlKQorV2ViSW5zcGVjdG9yLkZyYW1lVHJlZUVs
ZW1lbnQgPSBmdW5jdGlvbihzdG9yYWdlUGFuZWwsIGZyYW1lKQogewogICAgIFdlYkluc3BlY3Rv
ci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LmNhbGwodGhpcywgc3RvcmFnZVBhbmVsLCBudWxsLCAi
IiwgWyJmcmFtZS1zdG9yYWdlLXRyZWUtaXRlbSJdKTsKLSAgICB0aGlzLl9mcmFtZUlkID0gZnJh
bWVJZDsKLSAgICB0aGlzLnNldFRpdGxlcyh0aXRsZSwgc3VidGl0bGUpOwotICAgIHRoaXMuX2Nh
dGVnb3J5RWxlbWVudHMgPSB7fTsKLSAgICB0aGlzLl90cmVlRWxlbWVudEZvclJlc291cmNlID0g
e307CisgICAgdGhpcy5fZnJhbWUgPSBmcmFtZTsKKyAgICB0aGlzLmZyYW1lTmF2aWdhdGVkKGZy
YW1lKTsKIH0KIAogV2ViSW5zcGVjdG9yLkZyYW1lVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewor
ICAgIGZyYW1lTmF2aWdhdGVkOiBmdW5jdGlvbihmcmFtZSkKKyAgICB7CisgICAgICAgIHRoaXMu
cmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgdGhpcy5fZnJhbWVJZCA9IGZyYW1lLmlkOworCisg
ICAgICAgIHZhciB0aXRsZSA9IGZyYW1lLm5hbWU7CisgICAgICAgIHZhciBzdWJ0aXRsZSA9IG5l
dyBXZWJJbnNwZWN0b3IuUmVzb3VyY2UobnVsbCwgZnJhbWUudXJsKS5kaXNwbGF5TmFtZTsKKyAg
ICAgICAgdGhpcy5zZXRUaXRsZXModGl0bGUsIHN1YnRpdGxlKTsKKworICAgICAgICB0aGlzLl9j
YXRlZ29yeUVsZW1lbnRzID0ge307CisgICAgICAgIHRoaXMuX3RyZWVFbGVtZW50Rm9yUmVzb3Vy
Y2UgPSB7fTsKKworICAgICAgICB0aGlzLl9zdG9yYWdlUGFuZWwuYWRkRG9jdW1lbnRVUkwoZnJh
bWUudXJsKTsKKyAgICB9LAorCiAgICAgZ2V0IGl0ZW1VUkwoKQogICAgIHsKICAgICAgICAgcmV0
dXJuICJmcmFtZTovLyIgKyBlbmNvZGVVUkkodGhpcy5fZGlzcGxheU5hbWUpOwpAQCAtMTAxNywx
MiArMTAxMSw2IEBAIFdlYkluc3BlY3Rvci5GcmFtZVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdGhpcy5fdHJlZUVsZW1lbnRGb3JSZXNvdXJjZVtyZXNvdXJjZS51cmxdID0gcmVz
b3VyY2VUcmVlRWxlbWVudDsKICAgICB9LAogCi0gICAgcmVtb3ZlQ2hpbGRyZW46IGZ1bmN0aW9u
KCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LnBy
b3RvdHlwZS5yZW1vdmVDaGlsZHJlbi5jYWxsKHRoaXMpOwotICAgICAgICB0aGlzLl90cmVlRWxl
bWVudEZvclJlc291cmNlID0gW107Ci0gICAgfSwKLQogICAgIGFwcGVuZENoaWxkOiBmdW5jdGlv
bih0cmVlRWxlbWVudCkKICAgICB7CiAgICAgICAgIHRoaXMuX2luc2VydEluUHJlc2VudGF0aW9u
T3JkZXIodGhpcywgdHJlZUVsZW1lbnQpOwo=
</data>
<flag name="review"
          id="84325"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>