<?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>72899</bug_id>
          
          <creation_ts>2011-11-21 10:51:33 -0800</creation_ts>
          <short_desc>Web Inspector: [Extensions API][refactoring] remove dependencies on the ExtensionsServer from most of the insepctor</short_desc>
          <delta_ts>2011-11-22 05:41:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>dglazkov</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>507070</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-11-21 10:51:33 -0800</bug_when>
    <thetext>This removed all inspector notification methods in favor of using events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507074</commentid>
    <comment_count>1</comment_count>
      <attachid>116107</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-11-21 10:53:50 -0800</bug_when>
    <thetext>Created attachment 116107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507115</commentid>
    <comment_count>2</comment_count>
      <attachid>116107</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-21 11:49:12 -0800</bug_when>
    <thetext>Comment on attachment 116107
Patch

Attachment 116107 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10393435

New failing tests:
inspector/extensions/extensions-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507452</commentid>
    <comment_count>3</comment_count>
      <attachid>116107</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-22 00:59:25 -0800</bug_when>
    <thetext>Comment on attachment 116107
Patch

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

&gt; Source/WebCore/inspector/front-end/ExtensionServer.js:526
&gt; +        this._registerAutosubscriptionHandler(&quot;panel-objectSelected-elements&quot;,

Could you introduce the constants for these?

&gt; Source/WebCore/inspector/front-end/Resource.js:865
&gt; +        WebInspector.Resource.notifications.dispatchEventToListeners(WebInspector.Resource.Events.ResourceContentCommitted, { resource: this, content: newContent });

Could you please dispatch this event on the resource tree model instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507515</commentid>
    <comment_count>4</comment_count>
      <attachid>116204</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-11-22 04:32:52 -0800</bug_when>
    <thetext>Created attachment 116204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507518</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-11-22 04:33:59 -0800</bug_when>
    <thetext>- use constants for command and event names
- dispatch ResourceContentCommitted on WebInspector.resourceTreeModel, not on WebInspector.Resource.notifications()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507529</commentid>
    <comment_count>6</comment_count>
      <attachid>116204</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-22 05:03:02 -0800</bug_when>
    <thetext>Comment on attachment 116204
Patch

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

&gt; Source/WebCore/inspector/front-end/Resource.js:255
&gt; +    ResourceContentCommitted: &quot;resource-content-committed&quot;

You should move this to the tree model event list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507543</commentid>
    <comment_count>7</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-11-22 05:41:21 -0800</bug_when>
    <thetext>Committed r100994: &lt;http://trac.webkit.org/changeset/100994&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116107</attachid>
            <date>2011-11-21 10:53:50 -0800</date>
            <delta_ts>2011-11-22 04:32:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72899-20111121225347.patch</filename>
            <type>text/plain</type>
            <size>7292</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI0NzRkMGY0Y2FiNzlj
NTBiZWYzMTUyY2FhNThjODdjNGE0NDhmOC4uNGYzZmFjODZmOWJkNzZhYWM0NTE5OWQxNzRjN2Y4
ODY3OWYxMjE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTExLTIxICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogW0V4dGVuc2lvbnMgQVBJXVtyZWZhY3RvcmluZ10gcmVtb3ZlIGRlcGVuZGVuY2llcyBvbiB0
aGUgRXh0ZW5zaW9uc1NlcnZlciBmcm9tIG1vc3Qgb2YgdGhlIGluc2VwY3RvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvRWxlbWVudHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVs
LnByb3RvdHlwZS5fc2VsZWN0ZWROb2RlQ2hhbmdlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5z
aW9uU2VydmVyLnByb3RvdHlwZS5fbm90aWZ5UmVzb3VyY2VDb250ZW50Q29tbWl0dGVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9ub3RpZnlFbGVt
ZW50c1NlbGVjdGlvbkNoYW5nZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVz
b3VyY2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLmFkZFJl
dmlzaW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6CisKIDIw
MTEtMTEtMjEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDA5MTMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggOGFhZTk2
ZjIyMmExN2ZhYzUwZDZjYjhkNDMxZjVlZDdkMTQyMjczYi4uMmQxM2VjOThkZTAxN2ZhNjdlMTRh
NTNiZWNmMGY0ZGM1NTkzZTBhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwpAQCAtMTgyLDcgKzE4Miw2IEBAIFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBpZiAoc2VsZWN0ZWRO
b2RlKSB7CiAgICAgICAgICAgICBDb25zb2xlQWdlbnQuYWRkSW5zcGVjdGVkTm9kZShzZWxlY3Rl
ZE5vZGUuaWQpOwotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5ub3Rp
ZnlPYmplY3RTZWxlY3RlZCh0aGlzLm5hbWUpOwogICAgICAgICAgICAgdGhpcy5fbGFzdFZhbGlk
U2VsZWN0ZWROb2RlID0gc2VsZWN0ZWROb2RlOwogICAgICAgICB9CiAgICAgfSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMK
aW5kZXggZTRmOGNhM2Q3ODAxMjlkM2Y2MzAwZTg2MTVmZWI4ZjQzMmNlMTY4Yy4uNTM2Y2ZmMDY3
OTczNDQzNGI0YmQ5MTMyODk2OTkxN2E5YzIzYzk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKQEAgLTczLDExICs3
Myw2IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIgPSBmdW5jdGlvbigpCiB9CiAKIFdl
Ykluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewotICAgIG5vdGlmeU9iamVj
dFNlbGVjdGVkOiBmdW5jdGlvbihwYW5lbElkLCBvYmplY3RJZCkKLSAgICB7Ci0gICAgICAgIHRo
aXMuX3Bvc3ROb3RpZmljYXRpb24oInBhbmVsLW9iamVjdFNlbGVjdGVkLSIgKyBwYW5lbElkLCBv
YmplY3RJZCk7Ci0gICAgfSwKLQogICAgIG5vdGlmeVNlYXJjaEFjdGlvbjogZnVuY3Rpb24ocGFu
ZWxJZCwgYWN0aW9uLCBzZWFyY2hTdHJpbmcpCiAgICAgewogICAgICAgICB0aGlzLl9wb3N0Tm90
aWZpY2F0aW9uKCJwYW5lbC1zZWFyY2gtIiArIHBhbmVsSWQsIGFjdGlvbiwgc2VhcmNoU3RyaW5n
KTsKQEAgLTEyMSwxMSArMTE2LDYgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9jbGllbnRPYmplY3RzW2F1ZGl0UnVuLmlk
XTsKICAgICB9LAogCi0gICAgbm90aWZ5UmVzb3VyY2VDb250ZW50Q29tbWl0dGVkOiBmdW5jdGlv
bihyZXNvdXJjZSwgY29udGVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Bvc3ROb3RpZmljYXRp
b24oInJlc291cmNlLWNvbnRlbnQtY29tbWl0dGVkIiwgdGhpcy5fbWFrZVJlc291cmNlKHJlc291
cmNlKSwgY29udGVudCk7Ci0gICAgfSwKLQogICAgIC8qKgogICAgICAqIEBwYXJhbSB7Li4uKn0g
dmFyYXJnCiAgICAgICovCkBAIC01MzAsNyArNTIwLDE3IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNp
b25TZXJ2ZXIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9yZWdpc3RlckF1dG9zdWJzY3Jp
cHRpb25IYW5kbGVyKCJuZXR3b3JrLXJlcXVlc3QtZmluaXNoZWQiLAogICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZl
bnRUeXBlcy5SZXNvdXJjZUZpbmlzaGVkLCB0aGlzLl9ub3RpZnlSZXF1ZXN0RmluaXNoZWQpOwog
ICAgICAgICB0aGlzLl9yZWdpc3RlckF1dG9zdWJzY3JpcHRpb25IYW5kbGVyKCJyZXNvdXJjZS1h
ZGRlZCIsCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwsIFdlYklu
c3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLlJlc291cmNlQWRkZWQsIHRoaXMu
X25vdGlmeVJlc291cmNlQWRkZWQpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNl
VHJlZU1vZGVsLAorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2
ZW50VHlwZXMuUmVzb3VyY2VBZGRlZCwKKyAgICAgICAgICAgIHRoaXMuX25vdGlmeVJlc291cmNl
QWRkZWQpOworICAgICAgICB0aGlzLl9yZWdpc3RlckF1dG9zdWJzY3JpcHRpb25IYW5kbGVyKCJw
YW5lbC1vYmplY3RTZWxlY3RlZC1lbGVtZW50cyIsCisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
cGFuZWxzLmVsZW1lbnRzLnRyZWVPdXRsaW5lLAorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzVHJlZU91dGxpbmUuRXZlbnRzLlNlbGVjdGVkTm9kZUNoYW5nZWQsCisgICAgICAgICAg
ICB0aGlzLl9ub3RpZnlFbGVtZW50c1NlbGVjdGlvbkNoYW5nZWQpOworICAgICAgICB0aGlzLl9y
ZWdpc3RlckF1dG9zdWJzY3JpcHRpb25IYW5kbGVyKCJyZXNvdXJjZS1jb250ZW50LWNvbW1pdHRl
ZCIsCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuUmVzb3VyY2Uubm90aWZpY2F0aW9ucywKKyAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5FdmVudHMuUmVzb3VyY2VDb250ZW50Q29t
bWl0dGVkLAorICAgICAgICAgICAgdGhpcy5fbm90aWZ5UmVzb3VyY2VDb250ZW50Q29tbWl0dGVk
KTsKIAogICAgICAgICBmdW5jdGlvbiBvblRpbWVsaW5lU3Vic2NyaXB0aW9uU3RhcnRlZCgpCiAg
ICAgICAgIHsKQEAgLTU2MywxMiArNTYzLDIyIEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2
ZXIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKCJyZXNvdXJj
ZS1hZGRlZCIsIHRoaXMuX21ha2VSZXNvdXJjZShyZXNvdXJjZSkpOwogICAgIH0sCiAKKyAgICBf
bm90aWZ5UmVzb3VyY2VDb250ZW50Q29tbWl0dGVkOiBmdW5jdGlvbihldmVudCkKKyAgICB7Cisg
ICAgICAgIHRoaXMuX3Bvc3ROb3RpZmljYXRpb24oInJlc291cmNlLWNvbnRlbnQtY29tbWl0dGVk
IiwgdGhpcy5fbWFrZVJlc291cmNlKGV2ZW50LmRhdGEucmVzb3VyY2UpLCBldmVudC5kYXRhLmNv
bnRlbnQpOworICAgIH0sCisKICAgICBfbm90aWZ5UmVxdWVzdEZpbmlzaGVkOiBmdW5jdGlvbihl
dmVudCkKICAgICB7CiAgICAgICAgIHZhciByZXF1ZXN0ID0gZXZlbnQuZGF0YTsKICAgICAgICAg
dGhpcy5fcG9zdE5vdGlmaWNhdGlvbigibmV0d29yay1yZXF1ZXN0LWZpbmlzaGVkIiwgdGhpcy5f
cmVxdWVzdElkKHJlcXVlc3QpLCAobmV3IFdlYkluc3BlY3Rvci5IQVJFbnRyeShyZXF1ZXN0KSku
YnVpbGQoKSk7CiAgICAgfSwKIAorICAgIF9ub3RpZnlFbGVtZW50c1NlbGVjdGlvbkNoYW5nZWQ6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX3Bvc3ROb3RpZmljYXRpb24oInBhbmVs
LW9iamVjdFNlbGVjdGVkLWVsZW1lbnRzIik7CisgICAgfSwKKwogICAgIF9ub3RpZnlUaW1lbGlu
ZUV2ZW50UmVjb3JkZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5fcG9z
dE5vdGlmaWNhdGlvbigidGltZWxpbmUtZXZlbnQtcmVjb3JkZWQiLCBldmVudC5kYXRhKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzCmluZGV4IDZh
MGY0MmIyMzQ5MThjMmUyNjY0OTUzNzVmZGU0MDhjNTQ5ODk5OTguLjU2NGY0YTA4ZjUwNTAyOGQ4
NjQ4NjBiOGQxNjE4ZDA1ZDllMDYzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9SZXNvdXJjZS5qcwpAQCAtMjQ2LDEwICsyNDYsMTUgQEAgV2ViSW5zcGVjdG9y
LlJlc291cmNlLnBlcnNpc3RSZXZpc2lvbiA9IGZ1bmN0aW9uKHJlc291cmNlKQogICAgIHNldFRp
bWVvdXQocGVyc2lzdCwgMCk7CiB9CiAKK1dlYkluc3BlY3Rvci5SZXNvdXJjZS5ub3RpZmljYXRp
b25zID0gbmV3IFdlYkluc3BlY3Rvci5PYmplY3QoKTsKKwogV2ViSW5zcGVjdG9yLlJlc291cmNl
LkV2ZW50cyA9IHsKKyAgICAvLyBUaGUgZXZlbnRzIGJlbG93IGFyZSBkaXNwYXRjaGVkIG9uIGEg
UmVzb3VyY2UgaW5zdGFuY2UuCiAgICAgUmV2aXNpb25BZGRlZDogInJldmlzaW9uLWFkZGVkIiwK
ICAgICBNZXNzYWdlQWRkZWQ6ICJtZXNzYWdlLWFkZGVkIiwKLSAgICBNZXNzYWdlc0NsZWFyZWQ6
ICJtZXNzYWdlcy1jbGVhcmVkIgorICAgIE1lc3NhZ2VzQ2xlYXJlZDogIm1lc3NhZ2VzLWNsZWFy
ZWQiLAorICAgIC8vIFRoZSBldmVudCBiZWxvdyBpcyBkaXNwYXRjaGVkIG9uIFdlYkluc3BlY3Rv
ci5SZXNvdXJjZS5ub3RpZmljYXRpb25zCisgICAgUmVzb3VyY2VDb250ZW50Q29tbWl0dGVkOiAi
cmVzb3VyY2UtY29udGVudC1jb21taXR0ZWQiCiB9CiAKIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5w
cm90b3R5cGUgPSB7CkBAIC04NTUsMTAgKzg2MCw5IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRUaW1lc3RhbXAgPSB0aW1lc3RhbXAg
fHwgbmV3IERhdGUoKTsKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UuRXZlbnRzLlJldmlzaW9uQWRkZWQsIHJldmlzaW9uKTsKLQog
ICAgICAgICBpZiAoIXJlc3RvcmluZ0hpc3RvcnkpCiAgICAgICAgICAgICB0aGlzLl9wZXJzaXN0
UmV2aXNpb24oKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5ub3RpZnlS
ZXNvdXJjZUNvbnRlbnRDb21taXR0ZWQodGhpcywgbmV3Q29udGVudCk7CisgICAgICAgIFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5ub3RpZmljYXRpb25zLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UuRXZlbnRzLlJlc291cmNlQ29udGVudENvbW1pdHRlZCwgeyBy
ZXNvdXJjZTogdGhpcywgY29udGVudDogbmV3Q29udGVudCB9KTsKICAgICB9LAogCiAgICAgX3Bl
cnNpc3RSZXZpc2lvbjogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9leHRlcm5zLmpzCmluZGV4IDJiZTc2ZGE4NTlkOTQ4OTlkMmRmNWFjOGVhOWM5Mzg1
NjI0MTFiYmIuLjM1YWE4YTMyZjE1NGNhNWM5NWI3NmIwNGMxMGEzYTZhMjgxNjRjMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMKQEAgLTc1LDEy
ICs3NSw2IEBAIEluc3BlY3RvckJhY2tlbmQucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyA9IGZ1
bmN0aW9uKG1lc3NhZ2UpIHt9CiAvLyBGSVhNRTogcmVtb3ZlIGV2ZXJ5dGhpbmcgYmVsb3cuCiB2
YXIgV2ViSW5zcGVjdG9yID0ge30KIAotV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlciA9IHt9
Ci1XZWJJbnNwZWN0b3IuZXh0ZW5zaW9uU2VydmVyLm5vdGlmeVJlc291cmNlQ29udGVudENvbW1p
dHRlZCA9IGZ1bmN0aW9uKHJlc291cmNlLCBjb250ZW50KSB7fQotV2ViSW5zcGVjdG9yLmV4dGVu
c2lvblNlcnZlci5ub3RpZnlQYW5lbFNob3duID0gZnVuY3Rpb24ocGFuZWwpIHt9Ci1XZWJJbnNw
ZWN0b3IuZXh0ZW5zaW9uU2VydmVyLm5vdGlmeVBhbmVsSGlkZGVuID0gZnVuY3Rpb24ocGFuZWwp
IHt9Ci1XZWJJbnNwZWN0b3IuZXh0ZW5zaW9uU2VydmVyLm5vdGlmeU9iamVjdFNlbGVjdGVkID0g
ZnVuY3Rpb24ob2JqZWN0KSB7fQotCiAvKioKICAqIEBwYXJhbSB7TmV0d29ya0FnZW50LlJlcXVl
c3RJZH0gcmVxdWVzdElkCiAgKiBAcmV0dXJuIHs/V2ViSW5zcGVjdG9yLlJlc291cmNlfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116204</attachid>
            <date>2011-11-22 04:32:52 -0800</date>
            <delta_ts>2011-11-22 05:03:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72899-20111122163249.patch</filename>
            <type>text/plain</type>
            <size>31446</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI0NzRkMGY0Y2FiNzlj
NTBiZWYzMTUyY2FhNThjODdjNGE0NDhmOC4uNGYzZmFjODZmOWJkNzZhYWM0NTE5OWQxNzRjN2Y4
ODY3OWYxMjE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTExLTIxICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogW0V4dGVuc2lvbnMgQVBJXVtyZWZhY3RvcmluZ10gcmVtb3ZlIGRlcGVuZGVuY2llcyBvbiB0
aGUgRXh0ZW5zaW9uc1NlcnZlciBmcm9tIG1vc3Qgb2YgdGhlIGluc2VwY3RvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvRWxlbWVudHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVs
LnByb3RvdHlwZS5fc2VsZWN0ZWROb2RlQ2hhbmdlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5z
aW9uU2VydmVyLnByb3RvdHlwZS5fbm90aWZ5UmVzb3VyY2VDb250ZW50Q29tbWl0dGVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9ub3RpZnlFbGVt
ZW50c1NlbGVjdGlvbkNoYW5nZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVz
b3VyY2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLmFkZFJl
dmlzaW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6CisKIDIw
MTEtMTEtMjEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDA5MTMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggOGFhZTk2
ZjIyMmExN2ZhYzUwZDZjYjhkNDMxZjVlZDdkMTQyMjczYi4uMmQxM2VjOThkZTAxN2ZhNjdlMTRh
NTNiZWNmMGY0ZGM1NTkzZTBhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwpAQCAtMTgyLDcgKzE4Miw2IEBAIFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBpZiAoc2VsZWN0ZWRO
b2RlKSB7CiAgICAgICAgICAgICBDb25zb2xlQWdlbnQuYWRkSW5zcGVjdGVkTm9kZShzZWxlY3Rl
ZE5vZGUuaWQpOwotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5ub3Rp
ZnlPYmplY3RTZWxlY3RlZCh0aGlzLm5hbWUpOwogICAgICAgICAgICAgdGhpcy5fbGFzdFZhbGlk
U2VsZWN0ZWROb2RlID0gc2VsZWN0ZWROb2RlOwogICAgICAgICB9CiAgICAgfSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKaW5kZXgg
OTgyNmNjMjQ0NTVmMzI0NTg5NzgxYjI1OTExNTkyNWUxNTVhZmI2NS4uZjNjMjNhYzU5NDY2MGFj
MjViZTAwOTczZGZhNTI5MWNiNmFmYTdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKQEAgLTQ4LDYgKzQ4LDQ3IEBAIGZ1bmN0
aW9uIGRlZmluZUNvbW1vbkV4dGVuc2lvblN5bWJvbHMoYXBpUHJpdmF0ZSkKICAgICAgICAgV2Fy
bmluZzogIndhcm5pbmciLAogICAgICAgICBFcnJvcjogImVycm9yIgogICAgIH07CisgICAgYXBp
UHJpdmF0ZS5FdmVudHMgPSB7CisgICAgICAgIEF1ZGl0U3RhcnRlZDogImF1ZGl0LXN0YXJ0ZWQt
IiwKKyAgICAgICAgQnV0dG9uQ2xpY2tlZDogImJ1dHRvbi1jbGlja2VkLSIsCisgICAgICAgIENv
bnNvbGVNZXNzYWdlQWRkZWQ6ICJjb25zb2xlLW1lc3NhZ2UtYWRkZWQiLAorICAgICAgICBFbGVt
ZW50c1BhbmVsT2JqZWN0U2VsZWN0ZWQ6ICJwYW5lbC1vYmplY3RTZWxlY3RlZC1lbGVtZW50cyIs
CisgICAgICAgIE5ldHdvcmtSZXF1ZXN0RmluaXNoZWQ6ICJuZXR3b3JrLXJlcXVlc3QtZmluaXNo
ZWQiLAorICAgICAgICBSZXNldDogInJlc2V0IiwKKyAgICAgICAgT3BlblJlc291cmNlOiAib3Bl
bi1yZXNvdXJjZSIsCisgICAgICAgIFBhbmVsU2VhcmNoOiAicGFuZWwtc2VhcmNoLSIsCisgICAg
ICAgIFJlbG9hZDogIlJlbG9hZCIsCisgICAgICAgIFJlc291cmNlQWRkZWQ6ICJyZXNvdXJjZS1h
ZGRlZCIsCisgICAgICAgIFJlc291cmNlQ29udGVudENvbW1pdHRlZDogInJlc291cmNlLWNvbnRl
bnQtY29tbWl0dGVkIiwKKyAgICAgICAgVGltZWxpbmVFdmVudFJlY29yZGVkOiAidGltZWxpbmUt
ZXZlbnQtcmVjb3JkZWQiLAorICAgICAgICBWaWV3U2hvd246ICJ2aWV3LXNob3duLSIsCisgICAg
ICAgIFZpZXdIaWRkZW46ICJ2aWV3LWhpZGRlbi0iCisgICAgfTsKKyAgICBhcGlQcml2YXRlLkNv
bW1hbmRzID0geworICAgICAgICBBZGRBdWRpdENhdGVnb3J5OiAiYWRkQXVkaXRDYXRlZ29yeSIs
CisgICAgICAgIEFkZEF1ZGl0UmVzdWx0OiAiYWRkQXVkaXRSZXN1bHQiLAorICAgICAgICBBZGRD
b25zb2xlTWVzc2FnZTogImFkZENvbnNvbGVNZXNzYWdlIiwKKyAgICAgICAgQWRkUmVxdWVzdEhl
YWRlcnM6ICJhZGRSZXF1ZXN0SGVhZGVycyIsCisgICAgICAgIENyZWF0ZVBhbmVsOiAiY3JlYXRl
UGFuZWwiLAorICAgICAgICBDcmVhdGVTaWRlYmFyUGFuZTogImNyZWF0ZVNpZGViYXJQYW5lIiwK
KyAgICAgICAgQ3JlYXRlU3RhdHVzQmFyQnV0dG9uOiAiY3JlYXRlU3RhdHVzQmFyQnV0dG9uIiwK
KyAgICAgICAgRXZhbHVhdGVPbkluc3BlY3RlZFBhZ2U6ICJldmFsdWF0ZU9uSW5zcGVjdGVkUGFn
ZSIsCisgICAgICAgIEdldENvbnNvbGVNZXNzYWdlczogImdldENvbnNvbGVNZXNzYWdlcyIsCisg
ICAgICAgIEdldEhBUjogImdldEhBUiIsCisgICAgICAgIEdldFBhZ2VSZXNvdXJjZXM6ICJnZXRQ
YWdlUmVzb3VyY2VzIiwKKyAgICAgICAgR2V0UmVxdWVzdENvbnRlbnQ6ICJnZXRSZXF1ZXN0Q29u
dGVudCIsCisgICAgICAgIEdldFJlc291cmNlQ29udGVudDogImdldFJlc291cmNlQ29udGVudCIs
CisgICAgICAgIFN1YnNjcmliZTogInN1YnNjcmliZSIsCisgICAgICAgIFNldE9wZW5SZXNvdXJj
ZUhhbmRsZXI6ICJzZXRPcGVuUmVzb3VyY2VIYW5kbGVyIiwKKyAgICAgICAgU2V0UmVzb3VyY2VD
b250ZW50OiAic2V0UmVzb3VyY2VDb250ZW50IiwKKyAgICAgICAgU2V0U2lkZWJhckNvbnRlbnQ6
ICJzZXRTaWRlYmFyQ29udGVudCIsCisgICAgICAgIFNldFNpZGViYXJIZWlnaHQ6ICJzZXRTaWRl
YmFySGVpZ2h0IiwKKyAgICAgICAgU2V0U2lkZWJhclBhZ2U6ICJzZXRTaWRlYmFyUGFnZSIsCisg
ICAgICAgIFN0b3BBdWRpdENhdGVnb3J5UnVuOiAic3RvcEF1ZGl0Q2F0ZWdvcnlSdW4iLAorICAg
ICAgICBVbnN1YnNjcmliZTogInVuc3Vic2NyaWJlIiwKKyAgICAgICAgVXBkYXRlQnV0dG9uOiAi
dXBkYXRlQnV0dG9uIiwKKyAgICAgICAgSW5zcGVjdGVkVVJMQ2hhbmdlZDogImluc3BlY3RlZFVS
TENoYW5nZWQiCisgICAgfTsKIH0KIAogZnVuY3Rpb24gaW5qZWN0ZWRFeHRlbnNpb25BUEkoaW5q
ZWN0ZWRTY3JpcHRJZCkKQEAgLTU3LDYgKzk4LDkgQEAgdmFyIGFwaVByaXZhdGUgPSB7fTsKIAog
ZGVmaW5lQ29tbW9uRXh0ZW5zaW9uU3ltYm9scyhhcGlQcml2YXRlKTsKIAordmFyIGNvbW1hbmRz
ID0gYXBpUHJpdmF0ZS5Db21tYW5kczsKK3ZhciBldmVudHMgPSBhcGlQcml2YXRlLkV2ZW50czsK
KwogLy8gSGVyZSBhbmQgYmVsb3csIGFsbCBjb25zdHJ1Y3RvcnMgYXJlIHByaXZhdGUgdG8gQVBJ
IGltcGxlbWVudGF0aW9uLgogLy8gRm9yIGEgcHVibGljIHR5cGUgRm9vLCBpZiBpbnRlcm5hbCBm
aWVsZHMgYXJlIHByZXNlbnQsIHRoZXNlIGFyZSBvbgogLy8gYSBwcml2YXRlIEZvb0ltcGwgdHlw
ZSwgYW4gaW5zdGFuY2Ugb2YgRm9vSW1wbCBpcyB1c2VkIGluIGEgY2xvc3VyZQpAQCAtNzYsMTAg
KzEyMCwxMCBAQCBmdW5jdGlvbiBFdmVudFNpbmtJbXBsKHR5cGUsIGN1c3RvbURpc3BhdGNoKQog
RXZlbnRTaW5rSW1wbC5wcm90b3R5cGUgPSB7CiAgICAgYWRkTGlzdGVuZXI6IGZ1bmN0aW9uKGNh
bGxiYWNrKQogICAgIHsKLSAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPSAiZnVuY3Rpb24i
KQorICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rpb24iKQogICAgICAgICAg
ICAgdGhyb3cgImFkZExpc3RlbmVyOiBjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlvbiI7CiAgICAg
ICAgIGlmICh0aGlzLl9saXN0ZW5lcnMubGVuZ3RoID09PSAwKQotICAgICAgICAgICAgZXh0ZW5z
aW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogInN1YnNjcmliZSIsIHR5cGU6IHRoaXMu
X3R5cGUgfSk7CisgICAgICAgICAgICBleHRlbnNpb25TZXJ2ZXIuc2VuZFJlcXVlc3QoeyBjb21t
YW5kOiBjb21tYW5kcy5TdWJzY3JpYmUsIHR5cGU6IHRoaXMuX3R5cGUgfSk7CiAgICAgICAgIHRo
aXMuX2xpc3RlbmVycy5wdXNoKGNhbGxiYWNrKTsKICAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnJl
Z2lzdGVySGFuZGxlcigibm90aWZ5LSIgKyB0aGlzLl90eXBlLCBiaW5kKHRoaXMuX2Rpc3BhdGNo
LCB0aGlzKSk7CiAgICAgfSwKQEAgLTk1LDcgKzEzOSw3IEBAIEV2ZW50U2lua0ltcGwucHJvdG90
eXBlID0gewogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICh0aGlzLl9saXN0
ZW5lcnMubGVuZ3RoID09PSAwKQotICAgICAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1
ZXN0KHsgY29tbWFuZDogInVuc3Vic2NyaWJlIiwgdHlwZTogdGhpcy5fdHlwZSB9KTsKKyAgICAg
ICAgICAgIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6IGNvbW1hbmRzLlVu
c3Vic2NyaWJlLCB0eXBlOiB0aGlzLl90eXBlIH0pOwogICAgIH0sCiAKICAgICBfZmlyZTogZnVu
Y3Rpb24oKQpAQCAtMTI3LDcgKzE3MSw3IEBAIGZ1bmN0aW9uIEluc3BlY3RvckV4dGVuc2lvbkFQ
SSgpCiAgICAgdGhpcy50aW1lbGluZSA9IG5ldyBUaW1lbGluZSgpOwogICAgIHRoaXMuY29uc29s
ZSA9IG5ldyBDb25zb2xlKCk7CiAKLSAgICB0aGlzLm9uUmVzZXQgPSBuZXcgRXZlbnRTaW5rKCJy
ZXNldCIpOworICAgIHRoaXMub25SZXNldCA9IG5ldyBFdmVudFNpbmsoZXZlbnRzLlJlc2V0KTsK
IH0KIAogLyoqCkBAIC0xMzYsNyArMTgwLDcgQEAgZnVuY3Rpb24gSW5zcGVjdG9yRXh0ZW5zaW9u
QVBJKCkKIEluc3BlY3RvckV4dGVuc2lvbkFQSS5wcm90b3R5cGUgPSB7CiAgICAgbG9nOiBmdW5j
dGlvbihtZXNzYWdlKQogICAgIHsKLSAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0
KHsgY29tbWFuZDogImxvZyIsIG1lc3NhZ2U6IG1lc3NhZ2UgfSk7CisgICAgICAgIGV4dGVuc2lv
blNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6IGNvbW1hbmRzLkxvZywgbWVzc2FnZTogbWVz
c2FnZSB9KTsKICAgICB9CiB9CiAKQEAgLTE0NSwxOCArMTg5LDE4IEBAIEluc3BlY3RvckV4dGVu
c2lvbkFQSS5wcm90b3R5cGUgPSB7CiAgKi8KIGZ1bmN0aW9uIENvbnNvbGUoKQogewotICAgIHRo
aXMub25NZXNzYWdlQWRkZWQgPSBuZXcgRXZlbnRTaW5rKCJjb25zb2xlLW1lc3NhZ2UtYWRkZWQi
KTsKKyAgICB0aGlzLm9uTWVzc2FnZUFkZGVkID0gbmV3IEV2ZW50U2luayhldmVudHMuQ29uc29s
ZU1lc3NhZ2VBZGRlZCk7CiB9CiAKIENvbnNvbGUucHJvdG90eXBlID0gewogICAgIGdldE1lc3Nh
Z2VzOiBmdW5jdGlvbihjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIGV4dGVuc2lvblNlcnZlci5z
ZW5kUmVxdWVzdCh7IGNvbW1hbmQ6ICJnZXRDb25zb2xlTWVzc2FnZXMiIH0sIGNhbGxiYWNrKTsK
KyAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogY29tbWFuZHMu
R2V0Q29uc29sZU1lc3NhZ2VzIH0sIGNhbGxiYWNrKTsKICAgICB9LAogCiAgICAgYWRkTWVzc2Fn
ZTogZnVuY3Rpb24oc2V2ZXJpdHksIHRleHQsIHVybCwgbGluZSkKICAgICB7Ci0gICAgICAgIGV4
dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6ICJhZGRDb25zb2xlTWVzc2FnZSIs
IHNldmVyaXR5OiBzZXZlcml0eSwgdGV4dDogdGV4dCwgdXJsOiB1cmwsIGxpbmU6IGxpbmUgfSk7
CisgICAgICAgIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6IGNvbW1hbmRz
LkFkZENvbnNvbGVNZXNzYWdlLCBzZXZlcml0eTogc2V2ZXJpdHksIHRleHQ6IHRleHQsIHVybDog
dXJsLCBsaW5lOiBsaW5lIH0pOwogICAgIH0sCiAKICAgICBnZXQgU2V2ZXJpdHkoKQpAQCAtMTc2
LDkgKzIyMCw5IEBAIGZ1bmN0aW9uIE5ldHdvcmsoKQogICAgICAgICByZXF1ZXN0Ll9fcHJvdG9f
XyA9IG5ldyBSZXF1ZXN0KG1lc3NhZ2UuYXJndW1lbnRzWzBdKTsKICAgICAgICAgdGhpcy5fZmly
ZShyZXF1ZXN0KTsKICAgICB9Ci0gICAgdGhpcy5vblJlcXVlc3RGaW5pc2hlZCA9IG5ldyBFdmVu
dFNpbmsoIm5ldHdvcmstcmVxdWVzdC1maW5pc2hlZCIsIGRpc3BhdGNoUmVxdWVzdEV2ZW50KTsK
KyAgICB0aGlzLm9uUmVxdWVzdEZpbmlzaGVkID0gbmV3IEV2ZW50U2luayhldmVudHMuTmV0d29y
a1JlcXVlc3RGaW5pc2hlZCwgZGlzcGF0Y2hSZXF1ZXN0RXZlbnQpOwogICAgIGRlZmluZURlcHJl
Y2F0ZWRQcm9wZXJ0eSh0aGlzLCAibmV0d29yayIsICJvbkZpbmlzaGVkIiwgIm9uUmVxdWVzdEZp
bmlzaGVkIik7Ci0gICAgdGhpcy5vbk5hdmlnYXRlZCA9IG5ldyBFdmVudFNpbmsoImluc3BlY3Rl
ZFVSTENoYW5nZWQiKTsKKyAgICB0aGlzLm9uTmF2aWdhdGVkID0gbmV3IEV2ZW50U2luayhldmVu
dHMuSW5zcGVjdGVkVVJMQ2hhbmdlZCk7CiB9CiAKIE5ldHdvcmsucHJvdG90eXBlID0gewpAQCAt
MTkzLDEyICsyMzcsMTIgQEAgTmV0d29yay5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBjYWxsYmFjayhyZXN1bHQpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBl
eHRlbnNpb25TZXJ2ZXIuc2VuZFJlcXVlc3QoeyBjb21tYW5kOiAiZ2V0SEFSIiB9LCBjYWxsYmFj
ayAmJiBjYWxsYmFja1dyYXBwZXIpOworICAgICAgICByZXR1cm4gZXh0ZW5zaW9uU2VydmVyLnNl
bmRSZXF1ZXN0KHsgY29tbWFuZDogY29tbWFuZHMuR2V0SEFSIH0sIGNhbGxiYWNrICYmIGNhbGxi
YWNrV3JhcHBlcik7CiAgICAgfSwKIAogICAgIGFkZFJlcXVlc3RIZWFkZXJzOiBmdW5jdGlvbiho
ZWFkZXJzKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVz
dCh7IGNvbW1hbmQ6ICJhZGRSZXF1ZXN0SGVhZGVycyIsIGhlYWRlcnM6IGhlYWRlcnMsIGV4dGVu
c2lvbklkOiB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgfSk7CisgICAgICAgIHJldHVybiBleHRl
bnNpb25TZXJ2ZXIuc2VuZFJlcXVlc3QoeyBjb21tYW5kOiBjb21tYW5kcy5BZGRSZXF1ZXN0SGVh
ZGVycywgaGVhZGVyczogaGVhZGVycywgZXh0ZW5zaW9uSWQ6IHdpbmRvdy5sb2NhdGlvbi5ob3N0
bmFtZSB9KTsKICAgICB9CiB9CiAKQEAgLTIxNyw3ICsyNjEsNyBAQCBSZXF1ZXN0SW1wbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHsKICAgICAgICAgICAgIGNhbGxiYWNrKHJlc3BvbnNlLmNvbnRl
bnQsIHJlc3BvbnNlLmVuY29kaW5nKTsKICAgICAgICAgfQotICAgICAgICBleHRlbnNpb25TZXJ2
ZXIuc2VuZFJlcXVlc3QoeyBjb21tYW5kOiAiZ2V0UmVxdWVzdENvbnRlbnQiLCBpZDogdGhpcy5f
aWQgfSwgY2FsbGJhY2sgJiYgY2FsbGJhY2tXcmFwcGVyKTsKKyAgICAgICAgZXh0ZW5zaW9uU2Vy
dmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogY29tbWFuZHMuR2V0UmVxdWVzdENvbnRlbnQsIGlk
OiB0aGlzLl9pZCB9LCBjYWxsYmFjayAmJiBjYWxsYmFja1dyYXBwZXIpOwogICAgIH0KIH0KIApA
QCAtMjQzLDcgKzI4Nyw3IEBAIFBhbmVscy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2
YXIgaWQgPSAiZXh0ZW5zaW9uLXBhbmVsLSIgKyBleHRlbnNpb25TZXJ2ZXIubmV4dE9iamVjdElk
KCk7CiAgICAgICAgIHZhciByZXF1ZXN0ID0gewotICAgICAgICAgICAgY29tbWFuZDogImNyZWF0
ZVBhbmVsIiwKKyAgICAgICAgICAgIGNvbW1hbmQ6IGNvbW1hbmRzLkNyZWF0ZVBhbmVsLAogICAg
ICAgICAgICAgaWQ6IGlkLAogICAgICAgICAgICAgdGl0bGU6IHRpdGxlLAogICAgICAgICAgICAg
aWNvbjogaWNvbiwKQEAgLTI1NCwyMCArMjk4LDIwIEBAIFBhbmVscy5wcm90b3R5cGUgPSB7CiAK
ICAgICBzZXRPcGVuUmVzb3VyY2VIYW5kbGVyOiBmdW5jdGlvbihjYWxsYmFjaykKICAgICB7Ci0g
ICAgICAgIHZhciBoYWRIYW5kbGVyID0gZXh0ZW5zaW9uU2VydmVyLmhhc0hhbmRsZXIoIm9wZW4t
cmVzb3VyY2UiKTsKKyAgICAgICAgdmFyIGhhZEhhbmRsZXIgPSBleHRlbnNpb25TZXJ2ZXIuaGFz
SGFuZGxlcihldmVudHMuT3BlblJlc291cmNlKTsKIAogICAgICAgICBpZiAoIWNhbGxiYWNrKQot
ICAgICAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnVucmVnaXN0ZXJIYW5kbGVyKCJvcGVuLXJlc291
cmNlIik7CisgICAgICAgICAgICBleHRlbnNpb25TZXJ2ZXIudW5yZWdpc3RlckhhbmRsZXIoZXZl
bnRzLk9wZW5SZXNvdXJjZSk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgZnVuY3Rpb24g
Y2FsbGJhY2tXcmFwcGVyKG1lc3NhZ2UpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Y2FsbGJhY2suY2FsbChudWxsLCBtZXNzYWdlLnJlc291cmNlKTsKICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGV4dGVuc2lvblNlcnZlci5yZWdpc3RlckhhbmRsZXIoIm9wZW4tcmVzb3VyY2Ui
LCBjYWxsYmFja1dyYXBwZXIpOworICAgICAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnJlZ2lzdGVy
SGFuZGxlcihldmVudHMuT3BlblJlc291cmNlLCBjYWxsYmFja1dyYXBwZXIpOwogICAgICAgICB9
CiAgICAgICAgIC8vIE9ubHkgc2VuZCBjb21tYW5kIGlmIHdlIGVpdGhlciByZW1vdmVkIGFuIGV4
aXN0aW5nIGhhbmRsZXIgb3IgYWRkZWQgaGFuZGxlciBhbmQgaGFkIG5vbmUgYmVmb3JlLgogICAg
ICAgICBpZiAoaGFkSGFuZGxlciA9PT0gIWNhbGxiYWNrKQotICAgICAgICAgICAgZXh0ZW5zaW9u
U2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogInNldE9wZW5SZXNvdXJjZUhhbmRsZXIiLCAi
aGFuZGxlclByZXNlbnQiOiAhIWNhbGxiYWNrIH0pOworICAgICAgICAgICAgZXh0ZW5zaW9uU2Vy
dmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogY29tbWFuZHMuU2V0T3BlblJlc291cmNlSGFuZGxl
ciwgImhhbmRsZXJQcmVzZW50IjogISFjYWxsYmFjayB9KTsKICAgICB9CiB9CiAKQEAgLTI4Myw4
ICszMjcsOCBAQCBmdW5jdGlvbiBFeHRlbnNpb25WaWV3SW1wbChpZCkKICAgICAgICAgdmFyIGZy
YW1lSW5kZXggPSBtZXNzYWdlLmFyZ3VtZW50c1swXTsKICAgICAgICAgdGhpcy5fZmlyZSh3aW5k
b3cudG9wLmZyYW1lc1tmcmFtZUluZGV4XSk7CiAgICAgfQotICAgIHRoaXMub25TaG93biA9IG5l
dyBFdmVudFNpbmsoInZpZXctc2hvd24tIiArIGlkLCBkaXNwYXRjaFNob3dFdmVudCk7Ci0gICAg
dGhpcy5vbkhpZGRlbiA9IG5ldyBFdmVudFNpbmsoInZpZXctaGlkZGVuLSIgKyBpZCk7CisgICAg
dGhpcy5vblNob3duID0gbmV3IEV2ZW50U2luayhldmVudHMuVmlld1Nob3duICsgaWQsIGRpc3Bh
dGNoU2hvd0V2ZW50KTsKKyAgICB0aGlzLm9uSGlkZGVuID0gbmV3IEV2ZW50U2luayhldmVudHMu
Vmlld0hpZGRlbiArIGlkKTsKIH0KIAogLyoqCkBAIC0zMDAsNyArMzQ0LDcgQEAgUGFuZWxXaXRo
U2lkZWJhckltcGwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIGlkID0gImV4dGVu
c2lvbi1zaWRlYmFyLSIgKyBleHRlbnNpb25TZXJ2ZXIubmV4dE9iamVjdElkKCk7CiAgICAgICAg
IHZhciByZXF1ZXN0ID0gewotICAgICAgICAgICAgY29tbWFuZDogImNyZWF0ZVNpZGViYXJQYW5l
IiwKKyAgICAgICAgICAgIGNvbW1hbmQ6IGNvbW1hbmRzLkNyZWF0ZVNpZGViYXJQYW5lLAogICAg
ICAgICAgICAgcGFuZWw6IHRoaXMuX2lkLAogICAgICAgICAgICAgaWQ6IGlkLAogICAgICAgICAg
ICAgdGl0bGU6IHRpdGxlCkBAIC0zMjMsNyArMzY3LDcgQEAgZnVuY3Rpb24gRWxlbWVudHNQYW5l
bCgpCiB7CiAgICAgdmFyIGlkID0gImVsZW1lbnRzIjsKICAgICBQYW5lbFdpdGhTaWRlYmFyLmNh
bGwodGhpcywgaWQpOwotICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2VkID0gbmV3IEV2ZW50U2lu
aygicGFuZWwtb2JqZWN0U2VsZWN0ZWQtIiArIGlkKTsKKyAgICB0aGlzLm9uU2VsZWN0aW9uQ2hh
bmdlZCA9IG5ldyBFdmVudFNpbmsoZXZlbnRzLkVsZW1lbnRzUGFuZWxPYmplY3RTZWxlY3RlZCk7
CiB9CiAKIC8qKgpAQCAtMzMzLDcgKzM3Nyw3IEBAIGZ1bmN0aW9uIEVsZW1lbnRzUGFuZWwoKQog
ZnVuY3Rpb24gRXh0ZW5zaW9uUGFuZWxJbXBsKGlkKQogewogICAgIEV4dGVuc2lvblZpZXdJbXBs
LmNhbGwodGhpcywgaWQpOwotICAgIHRoaXMub25TZWFyY2ggPSBuZXcgRXZlbnRTaW5rKCJwYW5l
bC1zZWFyY2gtIiArIGlkKTsKKyAgICB0aGlzLm9uU2VhcmNoID0gbmV3IEV2ZW50U2luayhldmVu
dHMuUGFuZWxTZWFyY2ggKyBpZCk7CiB9CiAKIEV4dGVuc2lvblBhbmVsSW1wbC5wcm90b3R5cGUg
PSB7CkBAIC0zNDEsNyArMzg1LDcgQEAgRXh0ZW5zaW9uUGFuZWxJbXBsLnByb3RvdHlwZSA9IHsK
ICAgICB7CiAgICAgICAgIHZhciBpZCA9ICJidXR0b24tIiArIGV4dGVuc2lvblNlcnZlci5uZXh0
T2JqZWN0SWQoKTsKICAgICAgICAgdmFyIHJlcXVlc3QgPSB7Ci0gICAgICAgICAgICBjb21tYW5k
OiAiY3JlYXRlU3RhdHVzQmFyQnV0dG9uIiwKKyAgICAgICAgICAgIGNvbW1hbmQ6IGNvbW1hbmRz
LkNyZWF0ZVN0YXR1c0JhckJ1dHRvbiwKICAgICAgICAgICAgIHBhbmVsOiB0aGlzLl9pZCwKICAg
ICAgICAgICAgIGlkOiBpZCwKICAgICAgICAgICAgIGljb246IGljb25QYXRoLApAQCAtMzY3LDIy
ICs0MTEsMjIgQEAgZnVuY3Rpb24gRXh0ZW5zaW9uU2lkZWJhclBhbmVJbXBsKGlkKQogRXh0ZW5z
aW9uU2lkZWJhclBhbmVJbXBsLnByb3RvdHlwZSA9IHsKICAgICBzZXRIZWlnaHQ6IGZ1bmN0aW9u
KGhlaWdodCkKICAgICB7Ci0gICAgICAgIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNv
bW1hbmQ6ICJzZXRTaWRlYmFySGVpZ2h0IiwgaWQ6IHRoaXMuX2lkLCBoZWlnaHQ6IGhlaWdodCB9
KTsKKyAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogY29tbWFu
ZHMuU2V0U2lkZWJhckhlaWdodCwgaWQ6IHRoaXMuX2lkLCBoZWlnaHQ6IGhlaWdodCB9KTsKICAg
ICB9LAogCiAgICAgc2V0RXhwcmVzc2lvbjogZnVuY3Rpb24oZXhwcmVzc2lvbiwgcm9vdFRpdGxl
LCBjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7
IGNvbW1hbmQ6ICJzZXRTaWRlYmFyQ29udGVudCIsIGlkOiB0aGlzLl9pZCwgZXhwcmVzc2lvbjog
ZXhwcmVzc2lvbiwgcm9vdFRpdGxlOiByb290VGl0bGUsIGV2YWx1YXRlT25QYWdlOiB0cnVlIH0s
IGNhbGxiYWNrKTsKKyAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFu
ZDogY29tbWFuZHMuU2V0U2lkZWJhckNvbnRlbnQsIGlkOiB0aGlzLl9pZCwgZXhwcmVzc2lvbjog
ZXhwcmVzc2lvbiwgcm9vdFRpdGxlOiByb290VGl0bGUsIGV2YWx1YXRlT25QYWdlOiB0cnVlIH0s
IGNhbGxiYWNrKTsKICAgICB9LAogCiAgICAgc2V0T2JqZWN0OiBmdW5jdGlvbihqc29uT2JqZWN0
LCByb290VGl0bGUsIGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnNl
bmRSZXF1ZXN0KHsgY29tbWFuZDogInNldFNpZGViYXJDb250ZW50IiwgaWQ6IHRoaXMuX2lkLCBl
eHByZXNzaW9uOiBqc29uT2JqZWN0LCByb290VGl0bGU6IHJvb3RUaXRsZSB9LCBjYWxsYmFjayk7
CisgICAgICAgIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6IGNvbW1hbmRz
LlNldFNpZGViYXJDb250ZW50LCBpZDogdGhpcy5faWQsIGV4cHJlc3Npb246IGpzb25PYmplY3Qs
IHJvb3RUaXRsZTogcm9vdFRpdGxlIH0sIGNhbGxiYWNrKTsKICAgICB9LAogCiAgICAgc2V0UGFn
ZTogZnVuY3Rpb24ocGFnZSkKICAgICB7Ci0gICAgICAgIGV4dGVuc2lvblNlcnZlci5zZW5kUmVx
dWVzdCh7IGNvbW1hbmQ6ICJzZXRTaWRlYmFyUGFnZSIsIGlkOiB0aGlzLl9pZCwgcGFnZTogcGFn
ZSB9KTsKKyAgICAgICAgZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogY29t
bWFuZHMuU2V0U2lkZWJhclBhZ2UsIGlkOiB0aGlzLl9pZCwgcGFnZTogcGFnZSB9KTsKICAgICB9
CiB9CiAKQEAgLTM5MiwxNCArNDM2LDE0IEBAIEV4dGVuc2lvblNpZGViYXJQYW5lSW1wbC5wcm90
b3R5cGUgPSB7CiBmdW5jdGlvbiBCdXR0b25JbXBsKGlkKQogewogICAgIHRoaXMuX2lkID0gaWQ7
Ci0gICAgdGhpcy5vbkNsaWNrZWQgPSBuZXcgRXZlbnRTaW5rKCJidXR0b24tY2xpY2tlZC0iICsg
aWQpOworICAgIHRoaXMub25DbGlja2VkID0gbmV3IEV2ZW50U2luayhldmVudHMuQnV0dG9uQ2xp
Y2tlZCArIGlkKTsKIH0KIAogQnV0dG9uSW1wbC5wcm90b3R5cGUgPSB7CiAgICAgdXBkYXRlOiBm
dW5jdGlvbihpY29uUGF0aCwgdG9vbHRpcFRleHQsIGRpc2FibGVkKQogICAgIHsKICAgICAgICAg
dmFyIHJlcXVlc3QgPSB7Ci0gICAgICAgICAgICBjb21tYW5kOiAidXBkYXRlQnV0dG9uIiwKKyAg
ICAgICAgICAgIGNvbW1hbmQ6IGNvbW1hbmRzLlVwZGF0ZUJ1dHRvbiwKICAgICAgICAgICAgIGlk
OiB0aGlzLl9pZCwKICAgICAgICAgICAgIGljb246IGljb25QYXRoLAogICAgICAgICAgICAgdG9v
bHRpcDogdG9vbHRpcFRleHQsCkBAIC00MjAsNyArNDY0LDcgQEAgQXVkaXRzLnByb3RvdHlwZSA9
IHsKICAgICBhZGRDYXRlZ29yeTogZnVuY3Rpb24oZGlzcGxheU5hbWUsIHJlc3VsdENvdW50KQog
ICAgIHsKICAgICAgICAgdmFyIGlkID0gImV4dGVuc2lvbi1hdWRpdC1jYXRlZ29yeS0iICsgZXh0
ZW5zaW9uU2VydmVyLm5leHRPYmplY3RJZCgpOwotICAgICAgICBleHRlbnNpb25TZXJ2ZXIuc2Vu
ZFJlcXVlc3QoeyBjb21tYW5kOiAiYWRkQXVkaXRDYXRlZ29yeSIsIGlkOiBpZCwgZGlzcGxheU5h
bWU6IGRpc3BsYXlOYW1lLCByZXN1bHRDb3VudDogcmVzdWx0Q291bnQgfSk7CisgICAgICAgIGV4
dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6IGNvbW1hbmRzLkFkZEF1ZGl0Q2F0
ZWdvcnksIGlkOiBpZCwgZGlzcGxheU5hbWU6IGRpc3BsYXlOYW1lLCByZXN1bHRDb3VudDogcmVz
dWx0Q291bnQgfSk7CiAgICAgICAgIHJldHVybiBuZXcgQXVkaXRDYXRlZ29yeShpZCk7CiAgICAg
fQogfQpAQCAtNDQxLDcgKzQ4NSw3IEBAIGZ1bmN0aW9uIEF1ZGl0Q2F0ZWdvcnlJbXBsKGlkKQog
ICAgICAgICB9CiAgICAgfQogICAgIHRoaXMuX2lkID0gaWQ7Ci0gICAgdGhpcy5vbkF1ZGl0U3Rh
cnRlZCA9IG5ldyBFdmVudFNpbmsoImF1ZGl0LXN0YXJ0ZWQtIiArIGlkLCBkaXNwYXRjaEF1ZGl0
RXZlbnQpOworICAgIHRoaXMub25BdWRpdFN0YXJ0ZWQgPSBuZXcgRXZlbnRTaW5rKGV2ZW50cy5B
dWRpdFN0YXJ0ZWQgKyBpZCwgZGlzcGF0Y2hBdWRpdEV2ZW50KTsKIH0KIAogLyoqCkBAIC00NjUs
NyArNTA5LDcgQEAgQXVkaXRSZXN1bHRJbXBsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGRl
dGFpbHMgPSBuZXcgQXVkaXRSZXN1bHROb2RlKGRldGFpbHMgaW5zdGFuY2VvZiBBcnJheSA/IGRl
dGFpbHMgOiBbZGV0YWlsc10pOwogCiAgICAgICAgIHZhciByZXF1ZXN0ID0gewotICAgICAgICAg
ICAgY29tbWFuZDogImFkZEF1ZGl0UmVzdWx0IiwKKyAgICAgICAgICAgIGNvbW1hbmQ6IGNvbW1h
bmRzLkFkZEF1ZGl0UmVzdWx0LAogICAgICAgICAgICAgcmVzdWx0SWQ6IHRoaXMuX2lkLAogICAg
ICAgICAgICAgZGlzcGxheU5hbWU6IGRpc3BsYXlOYW1lLAogICAgICAgICAgICAgZGVzY3JpcHRp
b246IGRlc2NyaXB0aW9uLApAQCAtNDgyLDcgKzUyNiw3IEBAIEF1ZGl0UmVzdWx0SW1wbC5wcm90
b3R5cGUgPSB7CiAKICAgICBkb25lOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBleHRlbnNp
b25TZXJ2ZXIuc2VuZFJlcXVlc3QoeyBjb21tYW5kOiAic3RvcEF1ZGl0Q2F0ZWdvcnlSdW4iLCBy
ZXN1bHRJZDogdGhpcy5faWQgfSk7CisgICAgICAgIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVz
dCh7IGNvbW1hbmQ6IGNvbW1hbmRzLlN0b3BBdWRpdENhdGVnb3J5UnVuLCByZXN1bHRJZDogdGhp
cy5faWQgfSk7CiAgICAgfSwKIAogICAgIGdldCBTZXZlcml0eSgpCkBAIC01MzEsOCArNTc1LDgg
QEAgZnVuY3Rpb24gSW5zcGVjdGVkV2luZG93KCkKICAgICB7CiAgICAgICAgIHRoaXMuX2ZpcmUo
bmV3IFJlc291cmNlKG1lc3NhZ2UuYXJndW1lbnRzWzBdKSwgbWVzc2FnZS5hcmd1bWVudHNbMV0p
OwogICAgIH0KLSAgICB0aGlzLm9uUmVzb3VyY2VBZGRlZCA9IG5ldyBFdmVudFNpbmsoInJlc291
cmNlLWFkZGVkIiwgZGlzcGF0Y2hSZXNvdXJjZUV2ZW50KTsKLSAgICB0aGlzLm9uUmVzb3VyY2VD
b250ZW50Q29tbWl0dGVkID0gbmV3IEV2ZW50U2luaygicmVzb3VyY2UtY29udGVudC1jb21taXR0
ZWQiLCBkaXNwYXRjaFJlc291cmNlQ29udGVudEV2ZW50KTsKKyAgICB0aGlzLm9uUmVzb3VyY2VB
ZGRlZCA9IG5ldyBFdmVudFNpbmsoZXZlbnRzLlJlc291cmNlQWRkZWQsIGRpc3BhdGNoUmVzb3Vy
Y2VFdmVudCk7CisgICAgdGhpcy5vblJlc291cmNlQ29udGVudENvbW1pdHRlZCA9IG5ldyBFdmVu
dFNpbmsoZXZlbnRzLlJlc291cmNlQ29udGVudENvbW1pdHRlZCwgZGlzcGF0Y2hSZXNvdXJjZUNv
bnRlbnRFdmVudCk7CiB9CiAKIEluc3BlY3RlZFdpbmRvdy5wcm90b3R5cGUgPSB7CkBAIC01NDYs
NyArNTkwLDcgQEAgSW5zcGVjdGVkV2luZG93LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGNv
bnNvbGUud2FybigiUGFzc2luZyB1c2VyQWdlbnQgYXMgc3RyaW5nIHBhcmFtZXRlciB0byBpbnNw
ZWN0ZWRXaW5kb3cucmVsb2FkKCkgaXMgZGVwcmVjYXRlZC4gIiArCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIlVzZSBpbnNwZWN0ZWRXaW5kb3cucmVsb2FkKHsgdXNlckFnZW50OiB2YWx1ZX0p
IGluc3RlYWQuIik7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGV4dGVuc2lvblNlcnZlci5z
ZW5kUmVxdWVzdCh7IGNvbW1hbmQ6ICJyZWxvYWQiLCBvcHRpb25zOiBvcHRpb25zIH0pOworICAg
ICAgICByZXR1cm4gZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogY29tbWFu
ZHMuUmVsb2FkLCBvcHRpb25zOiBvcHRpb25zIH0pOwogICAgIH0sCiAKICAgICBldmFsOiBmdW5j
dGlvbihleHByZXNzaW9uLCBjYWxsYmFjaykKQEAgLTU1NSw3ICs1OTksNyBAQCBJbnNwZWN0ZWRX
aW5kb3cucHJvdG90eXBlID0gewogICAgICAgICB7CiAgICAgICAgICAgICBjYWxsYmFjayhyZXN1
bHQudmFsdWUsIHJlc3VsdC5pc0V4Y2VwdGlvbik7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJu
IGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6ICJldmFsdWF0ZU9uSW5zcGVj
dGVkUGFnZSIsIGV4cHJlc3Npb246IGV4cHJlc3Npb24gfSwgY2FsbGJhY2sgJiYgY2FsbGJhY2tX
cmFwcGVyKTsKKyAgICAgICAgcmV0dXJuIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNv
bW1hbmQ6IGNvbW1hbmRzLkV2YWx1YXRlT25JbnNwZWN0ZWRQYWdlLCBleHByZXNzaW9uOiBleHBy
ZXNzaW9uIH0sIGNhbGxiYWNrICYmIGNhbGxiYWNrV3JhcHBlcik7CiAgICAgfSwKIAogICAgIGdl
dFJlc291cmNlczogZnVuY3Rpb24oY2FsbGJhY2spCkBAIC01NjgsNyArNjEyLDcgQEAgSW5zcGVj
dGVkV2luZG93LnByb3RvdHlwZSA9IHsKICAgICAgICAgewogICAgICAgICAgICAgY2FsbGJhY2so
cmVzb3VyY2VzLm1hcCh3cmFwUmVzb3VyY2UpKTsKICAgICAgICAgfQotICAgICAgICByZXR1cm4g
ZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogImdldFBhZ2VSZXNvdXJjZXMi
IH0sIGNhbGxiYWNrICYmIGNhbGxiYWNrV3JhcHBlcik7CisgICAgICAgIHJldHVybiBleHRlbnNp
b25TZXJ2ZXIuc2VuZFJlcXVlc3QoeyBjb21tYW5kOiBjb21tYW5kcy5HZXRQYWdlUmVzb3VyY2Vz
IH0sIGNhbGxiYWNrICYmIGNhbGxiYWNrV3JhcHBlcik7CiAgICAgfQogfQogCkBAIC01OTksMTIg
KzY0MywxMiBAQCBSZXNvdXJjZUltcGwucHJvdG90eXBlID0gewogICAgICAgICAgICAgY2FsbGJh
Y2socmVzcG9uc2UuY29udGVudCwgcmVzcG9uc2UuZW5jb2RpbmcpOwogICAgICAgICB9CiAKLSAg
ICAgICAgcmV0dXJuIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6ICJnZXRS
ZXNvdXJjZUNvbnRlbnQiLCB1cmw6IHRoaXMuX3VybCB9LCBjYWxsYmFjayAmJiBjYWxsYmFja1dy
YXBwZXIpOworICAgICAgICByZXR1cm4gZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29t
bWFuZDogY29tbWFuZHMuR2V0UmVzb3VyY2VDb250ZW50LCB1cmw6IHRoaXMuX3VybCB9LCBjYWxs
YmFjayAmJiBjYWxsYmFja1dyYXBwZXIpOwogICAgIH0sCiAKICAgICBzZXRDb250ZW50OiBmdW5j
dGlvbihjb250ZW50LCBjb21taXQsIGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGV4
dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6ICJzZXRSZXNvdXJjZUNvbnRlbnQi
LCB1cmw6IHRoaXMuX3VybCwgY29udGVudDogY29udGVudCwgY29tbWl0OiBjb21taXQgfSwgY2Fs
bGJhY2spOworICAgICAgICByZXR1cm4gZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29t
bWFuZDogY29tbWFuZHMuU2V0UmVzb3VyY2VDb250ZW50LCB1cmw6IHRoaXMuX3VybCwgY29udGVu
dDogY29udGVudCwgY29tbWl0OiBjb21taXQgfSwgY2FsbGJhY2spOwogICAgIH0KIH0KIApAQCAt
NjEzLDcgKzY1Nyw3IEBAIFJlc291cmNlSW1wbC5wcm90b3R5cGUgPSB7CiAgKi8KIGZ1bmN0aW9u
IFRpbWVsaW5lSW1wbCgpCiB7Ci0gICAgdGhpcy5vbkV2ZW50UmVjb3JkZWQgPSBuZXcgRXZlbnRT
aW5rKCJ0aW1lbGluZS1ldmVudC1yZWNvcmRlZCIpOworICAgIHRoaXMub25FdmVudFJlY29yZGVk
ID0gbmV3IEV2ZW50U2luayhldmVudHMuVGltZWxpbmVFdmVudFJlY29yZGVkKTsKIH0KIAogLyoq
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lv
blNlcnZlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9u
U2VydmVyLmpzCmluZGV4IGU0ZjhjYTNkNzgwMTI5ZDNmNjMwMGU4NjE1ZmViOGY0MzJjZTE2OGMu
LjZiZTJmMzNiOWIyYWM1ZDUyMjIzYzA3N2ZlYWUyYmU2ZTNjNDBmOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCkBA
IC00NCw3MCArNDQsNjcgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlciA9IGZ1bmN0aW9u
KCkKICAgICB0aGlzLl9yZWdpc3RlcmVkRXh0ZW5zaW9ucyA9IHt9OwogICAgIHRoaXMuX3N0YXR1
cyA9IG5ldyBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU3RhdHVzKCk7CiAKLSAgICB0aGlzLl9yZWdp
c3RlckhhbmRsZXIoImFkZEF1ZGl0Q2F0ZWdvcnkiLCB0aGlzLl9vbkFkZEF1ZGl0Q2F0ZWdvcnku
YmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJhZGRBdWRpdFJlc3VsdCIs
IHRoaXMuX29uQWRkQXVkaXRSZXN1bHQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fcmVnaXN0ZXJI
YW5kbGVyKCJhZGRDb25zb2xlTWVzc2FnZSIsIHRoaXMuX29uQWRkQ29uc29sZU1lc3NhZ2UuYmlu
ZCh0aGlzKSk7Ci0gICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJhZGRSZXF1ZXN0SGVhZGVycyIs
IHRoaXMuX29uQWRkUmVxdWVzdEhlYWRlcnMuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fcmVnaXN0
ZXJIYW5kbGVyKCJjcmVhdGVQYW5lbCIsIHRoaXMuX29uQ3JlYXRlUGFuZWwuYmluZCh0aGlzKSk7
Ci0gICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJjcmVhdGVTaWRlYmFyUGFuZSIsIHRoaXMuX29u
Q3JlYXRlU2lkZWJhclBhbmUuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVy
KCJjcmVhdGVTdGF0dXNCYXJCdXR0b24iLCB0aGlzLl9vbkNyZWF0ZVN0YXR1c0JhckJ1dHRvbi5i
aW5kKHRoaXMpKTsKLSAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoImV2YWx1YXRlT25JbnNwZWN0
ZWRQYWdlIiwgdGhpcy5fb25FdmFsdWF0ZU9uSW5zcGVjdGVkUGFnZS5iaW5kKHRoaXMpKTsKLSAg
ICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoImdldEhBUiIsIHRoaXMuX29uR2V0SEFSLmJpbmQodGhp
cykpOwotICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxlcigiZ2V0Q29uc29sZU1lc3NhZ2VzIiwgdGhp
cy5fb25HZXRDb25zb2xlTWVzc2FnZXMuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fcmVnaXN0ZXJI
YW5kbGVyKCJnZXRQYWdlUmVzb3VyY2VzIiwgdGhpcy5fb25HZXRQYWdlUmVzb3VyY2VzLmJpbmQo
dGhpcykpOwotICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxlcigiZ2V0UmVxdWVzdENvbnRlbnQiLCB0
aGlzLl9vbkdldFJlcXVlc3RDb250ZW50LmJpbmQodGhpcykpOwotICAgIHRoaXMuX3JlZ2lzdGVy
SGFuZGxlcigiZ2V0UmVzb3VyY2VDb250ZW50IiwgdGhpcy5fb25HZXRSZXNvdXJjZUNvbnRlbnQu
YmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJsb2ciLCB0aGlzLl9vbkxv
Zy5iaW5kKHRoaXMpKTsKLSAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoInJlbG9hZCIsIHRoaXMu
X29uUmVsb2FkLmJpbmQodGhpcykpOwotICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxlcigic2V0T3Bl
blJlc291cmNlSGFuZGxlciIsIHRoaXMuX29uU2V0T3BlblJlc291cmNlSGFuZGxlci5iaW5kKHRo
aXMpKTsKLSAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoInNldFJlc291cmNlQ29udGVudCIsIHRo
aXMuX29uU2V0UmVzb3VyY2VDb250ZW50LmJpbmQodGhpcykpOwotICAgIHRoaXMuX3JlZ2lzdGVy
SGFuZGxlcigic2V0U2lkZWJhckhlaWdodCIsIHRoaXMuX29uU2V0U2lkZWJhckhlaWdodC5iaW5k
KHRoaXMpKTsKLSAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoInNldFNpZGViYXJDb250ZW50Iiwg
dGhpcy5fb25TZXRTaWRlYmFyQ29udGVudC5iaW5kKHRoaXMpKTsKLSAgICB0aGlzLl9yZWdpc3Rl
ckhhbmRsZXIoInNldFNpZGViYXJQYWdlIiwgdGhpcy5fb25TZXRTaWRlYmFyUGFnZS5iaW5kKHRo
aXMpKTsKLSAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoInN0b3BBdWRpdENhdGVnb3J5UnVuIiwg
dGhpcy5fb25TdG9wQXVkaXRDYXRlZ29yeVJ1bi5iaW5kKHRoaXMpKTsKLSAgICB0aGlzLl9yZWdp
c3RlckhhbmRsZXIoInN1YnNjcmliZSIsIHRoaXMuX29uU3Vic2NyaWJlLmJpbmQodGhpcykpOwot
ICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxlcigidW5zdWJzY3JpYmUiLCB0aGlzLl9vblVuc3Vic2Ny
aWJlLmJpbmQodGhpcykpOwotICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxlcigidXBkYXRlQnV0dG9u
IiwgdGhpcy5fb25VcGRhdGVCdXR0b24uYmluZCh0aGlzKSk7CisgICAgdmFyIGNvbW1hbmRzID0g
V2ViSW5zcGVjdG9yLmV4dGVuc2lvbkFQSS5Db21tYW5kczsKKworICAgIHRoaXMuX3JlZ2lzdGVy
SGFuZGxlcihjb21tYW5kcy5BZGRBdWRpdENhdGVnb3J5LCB0aGlzLl9vbkFkZEF1ZGl0Q2F0ZWdv
cnkuYmluZCh0aGlzKSk7CisgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKGNvbW1hbmRzLkFkZEF1
ZGl0UmVzdWx0LCB0aGlzLl9vbkFkZEF1ZGl0UmVzdWx0LmJpbmQodGhpcykpOworICAgIHRoaXMu
X3JlZ2lzdGVySGFuZGxlcihjb21tYW5kcy5BZGRDb25zb2xlTWVzc2FnZSwgdGhpcy5fb25BZGRD
b25zb2xlTWVzc2FnZS5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoY29t
bWFuZHMuQWRkUmVxdWVzdEhlYWRlcnMsIHRoaXMuX29uQWRkUmVxdWVzdEhlYWRlcnMuYmluZCh0
aGlzKSk7CisgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKGNvbW1hbmRzLkNyZWF0ZVBhbmVsLCB0
aGlzLl9vbkNyZWF0ZVBhbmVsLmJpbmQodGhpcykpOworICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxl
cihjb21tYW5kcy5DcmVhdGVTaWRlYmFyUGFuZSwgdGhpcy5fb25DcmVhdGVTaWRlYmFyUGFuZS5i
aW5kKHRoaXMpKTsKKyAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoY29tbWFuZHMuQ3JlYXRlU3Rh
dHVzQmFyQnV0dG9uLCB0aGlzLl9vbkNyZWF0ZVN0YXR1c0JhckJ1dHRvbi5iaW5kKHRoaXMpKTsK
KyAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoY29tbWFuZHMuRXZhbHVhdGVPbkluc3BlY3RlZFBh
Z2UsIHRoaXMuX29uRXZhbHVhdGVPbkluc3BlY3RlZFBhZ2UuYmluZCh0aGlzKSk7CisgICAgdGhp
cy5fcmVnaXN0ZXJIYW5kbGVyKGNvbW1hbmRzLkdldEhBUiwgdGhpcy5fb25HZXRIQVIuYmluZCh0
aGlzKSk7CisgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKGNvbW1hbmRzLkdldENvbnNvbGVNZXNz
YWdlcywgdGhpcy5fb25HZXRDb25zb2xlTWVzc2FnZXMuYmluZCh0aGlzKSk7CisgICAgdGhpcy5f
cmVnaXN0ZXJIYW5kbGVyKGNvbW1hbmRzLkdldFBhZ2VSZXNvdXJjZXMsIHRoaXMuX29uR2V0UGFn
ZVJlc291cmNlcy5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoY29tbWFu
ZHMuR2V0UmVxdWVzdENvbnRlbnQsIHRoaXMuX29uR2V0UmVxdWVzdENvbnRlbnQuYmluZCh0aGlz
KSk7CisgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKGNvbW1hbmRzLkdldFJlc291cmNlQ29udGVu
dCwgdGhpcy5fb25HZXRSZXNvdXJjZUNvbnRlbnQuYmluZCh0aGlzKSk7CisgICAgdGhpcy5fcmVn
aXN0ZXJIYW5kbGVyKGNvbW1hbmRzLkxvZywgdGhpcy5fb25Mb2cuYmluZCh0aGlzKSk7CisgICAg
dGhpcy5fcmVnaXN0ZXJIYW5kbGVyKGNvbW1hbmRzLlJlbG9hZCwgdGhpcy5fb25SZWxvYWQuYmlu
ZCh0aGlzKSk7CisgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKGNvbW1hbmRzLlNldE9wZW5SZXNv
dXJjZUhhbmRsZXIsIHRoaXMuX29uU2V0T3BlblJlc291cmNlSGFuZGxlci5iaW5kKHRoaXMpKTsK
KyAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoY29tbWFuZHMuU2V0UmVzb3VyY2VDb250ZW50LCB0
aGlzLl9vblNldFJlc291cmNlQ29udGVudC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9yZWdpc3Rl
ckhhbmRsZXIoY29tbWFuZHMuU2V0U2lkZWJhckhlaWdodCwgdGhpcy5fb25TZXRTaWRlYmFySGVp
Z2h0LmJpbmQodGhpcykpOworICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxlcihjb21tYW5kcy5TZXRT
aWRlYmFyQ29udGVudCwgdGhpcy5fb25TZXRTaWRlYmFyQ29udGVudC5iaW5kKHRoaXMpKTsKKyAg
ICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoY29tbWFuZHMuU2V0U2lkZWJhclBhZ2UsIHRoaXMuX29u
U2V0U2lkZWJhclBhZ2UuYmluZCh0aGlzKSk7CisgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKGNv
bW1hbmRzLlN0b3BBdWRpdENhdGVnb3J5UnVuLCB0aGlzLl9vblN0b3BBdWRpdENhdGVnb3J5UnVu
LmJpbmQodGhpcykpOworICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxlcihjb21tYW5kcy5TdWJzY3Jp
YmUsIHRoaXMuX29uU3Vic2NyaWJlLmJpbmQodGhpcykpOworICAgIHRoaXMuX3JlZ2lzdGVySGFu
ZGxlcihjb21tYW5kcy5VbnN1YnNjcmliZSwgdGhpcy5fb25VbnN1YnNjcmliZS5iaW5kKHRoaXMp
KTsKKyAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoY29tbWFuZHMuVXBkYXRlQnV0dG9uLCB0aGlz
Ll9vblVwZGF0ZUJ1dHRvbi5iaW5kKHRoaXMpKTsKIAogICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJtZXNzYWdlIiwgdGhpcy5fb25XaW5kb3dNZXNzYWdlLmJpbmQodGhpcyksIGZhbHNlKTsK
IH0KIAogV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7Ci0gICAgbm90
aWZ5T2JqZWN0U2VsZWN0ZWQ6IGZ1bmN0aW9uKHBhbmVsSWQsIG9iamVjdElkKQotICAgIHsKLSAg
ICAgICAgdGhpcy5fcG9zdE5vdGlmaWNhdGlvbigicGFuZWwtb2JqZWN0U2VsZWN0ZWQtIiArIHBh
bmVsSWQsIG9iamVjdElkKTsKLSAgICB9LAotCiAgICAgbm90aWZ5U2VhcmNoQWN0aW9uOiBmdW5j
dGlvbihwYW5lbElkLCBhY3Rpb24sIHNlYXJjaFN0cmluZykKICAgICB7Ci0gICAgICAgIHRoaXMu
X3Bvc3ROb3RpZmljYXRpb24oInBhbmVsLXNlYXJjaC0iICsgcGFuZWxJZCwgYWN0aW9uLCBzZWFy
Y2hTdHJpbmcpOworICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKFdlYkluc3BlY3Rvci5l
eHRlbnNpb25BUEkuRXZlbnRzLlBhbmVsU2VhcmNoICsgcGFuZWxJZCwgYWN0aW9uLCBzZWFyY2hT
dHJpbmcpOwogICAgIH0sCiAKICAgICBub3RpZnlWaWV3U2hvd246IGZ1bmN0aW9uKGlkZW50aWZp
ZXIsIGZyYW1lSW5kZXgpCiAgICAgewotICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKCJ2
aWV3LXNob3duLSIgKyBpZGVudGlmaWVyLCBmcmFtZUluZGV4KTsKKyAgICAgICAgdGhpcy5fcG9z
dE5vdGlmaWNhdGlvbihXZWJJbnNwZWN0b3IuZXh0ZW5zaW9uQVBJLkV2ZW50cy5WaWV3U2hvd24g
KyBpZGVudGlmaWVyLCBmcmFtZUluZGV4KTsKICAgICB9LAogCiAgICAgbm90aWZ5Vmlld0hpZGRl
bjogZnVuY3Rpb24oaWRlbnRpZmllcikKICAgICB7Ci0gICAgICAgIHRoaXMuX3Bvc3ROb3RpZmlj
YXRpb24oInZpZXctaGlkZGVuLSIgKyBpZGVudGlmaWVyKTsKKyAgICAgICAgdGhpcy5fcG9zdE5v
dGlmaWNhdGlvbihXZWJJbnNwZWN0b3IuZXh0ZW5zaW9uQVBJLkV2ZW50cy5WaWV3SGlkZGVuICsg
aWRlbnRpZmllcik7CiAgICAgfSwKIAogICAgIG5vdGlmeUJ1dHRvbkNsaWNrZWQ6IGZ1bmN0aW9u
KGlkZW50aWZpZXIpCiAgICAgewotICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKCJidXR0
b24tY2xpY2tlZC0iICsgaWRlbnRpZmllcik7CisgICAgICAgIHRoaXMuX3Bvc3ROb3RpZmljYXRp
b24oV2ViSW5zcGVjdG9yLmV4dGVuc2lvbkFQSS5FdmVudHMuQnV0dG9uQ2xpY2tlZCArIGlkZW50
aWZpZXIpOwogICAgIH0sCiAKICAgICBfaW5zcGVjdGVkVVJMQ2hhbmdlZDogZnVuY3Rpb24oZXZl
bnQpCiAgICAgewogICAgICAgICB0aGlzLl9yZXF1ZXN0cyA9IHt9OwogICAgICAgICB2YXIgdXJs
ID0gZXZlbnQuZGF0YTsKLSAgICAgICAgdGhpcy5fcG9zdE5vdGlmaWNhdGlvbigiaW5zcGVjdGVk
VVJMQ2hhbmdlZCIsIHVybCk7CisgICAgICAgIHRoaXMuX3Bvc3ROb3RpZmljYXRpb24oV2ViSW5z
cGVjdG9yLmV4dGVuc2lvbkFQSS5FdmVudHMuSW5zcGVjdGVkVVJMQ2hhbmdlZCwgdXJsKTsKICAg
ICB9LAogCiAgICAgX21haW5GcmFtZU5hdmlnYXRlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewot
ICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKCJyZXNldCIpOworICAgICAgICB0aGlzLl9w
b3N0Tm90aWZpY2F0aW9uKFdlYkluc3BlY3Rvci5leHRlbnNpb25BUEkuRXZlbnRzLlJlc2V0KTsK
ICAgICB9LAogCiAgICAgc3RhcnRBdWRpdFJ1bjogZnVuY3Rpb24oY2F0ZWdvcnksIGF1ZGl0UnVu
KQpAQCAtMTIxLDExICsxMTgsNiBAQCBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgZGVsZXRlIHRoaXMuX2NsaWVudE9iamVjdHNbYXVkaXRSdW4uaWRd
OwogICAgIH0sCiAKLSAgICBub3RpZnlSZXNvdXJjZUNvbnRlbnRDb21taXR0ZWQ6IGZ1bmN0aW9u
KHJlc291cmNlLCBjb250ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fcG9zdE5vdGlmaWNhdGlv
bigicmVzb3VyY2UtY29udGVudC1jb21taXR0ZWQiLCB0aGlzLl9tYWtlUmVzb3VyY2UocmVzb3Vy
Y2UpLCBjb250ZW50KTsKLSAgICB9LAotCiAgICAgLyoqCiAgICAgICogQHBhcmFtIHsuLi4qfSB2
YXJhcmcKICAgICAgKi8KQEAgLTUyNSwxMiArNTE3LDIyIEBAIFdlYkluc3BlY3Rvci5FeHRlbnNp
b25TZXJ2ZXIucHJvdG90eXBlID0gewogCiAgICAgaW5pdEV4dGVuc2lvbnM6IGZ1bmN0aW9uKCkK
ICAgICB7Ci0gICAgICAgIHRoaXMuX3JlZ2lzdGVyQXV0b3N1YnNjcmlwdGlvbkhhbmRsZXIoImNv
bnNvbGUtbWVzc2FnZS1hZGRlZCIsCisgICAgICAgIHRoaXMuX3JlZ2lzdGVyQXV0b3N1YnNjcmlw
dGlvbkhhbmRsZXIoV2ViSW5zcGVjdG9yLmV4dGVuc2lvbkFQSS5FdmVudHMuQ29uc29sZU1lc3Nh
Z2VBZGRlZCwKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jb25zb2xlLCBXZWJJbnNwZWN0b3Iu
Q29uc29sZU1vZGVsLkV2ZW50cy5NZXNzYWdlQWRkZWQsIHRoaXMuX25vdGlmeUNvbnNvbGVNZXNz
YWdlQWRkZWQpOwotICAgICAgICB0aGlzLl9yZWdpc3RlckF1dG9zdWJzY3JpcHRpb25IYW5kbGVy
KCJuZXR3b3JrLXJlcXVlc3QtZmluaXNoZWQiLAorICAgICAgICB0aGlzLl9yZWdpc3RlckF1dG9z
dWJzY3JpcHRpb25IYW5kbGVyKFdlYkluc3BlY3Rvci5leHRlbnNpb25BUEkuRXZlbnRzLk5ldHdv
cmtSZXF1ZXN0RmluaXNoZWQsCiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFn
ZXIsIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlRmluaXNo
ZWQsIHRoaXMuX25vdGlmeVJlcXVlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRoaXMuX3JlZ2lzdGVy
QXV0b3N1YnNjcmlwdGlvbkhhbmRsZXIoInJlc291cmNlLWFkZGVkIiwKLSAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbCwgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1v
ZGVsLkV2ZW50VHlwZXMuUmVzb3VyY2VBZGRlZCwgdGhpcy5fbm90aWZ5UmVzb3VyY2VBZGRlZCk7
CisgICAgICAgIHRoaXMuX3JlZ2lzdGVyQXV0b3N1YnNjcmlwdGlvbkhhbmRsZXIoV2ViSW5zcGVj
dG9yLmV4dGVuc2lvbkFQSS5FdmVudHMuUmVzb3VyY2VBZGRlZCwKKyAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbCwKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5SZXNv
dXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLlJlc291cmNlQWRkZWQsCisgICAgICAgICAgICB0aGlz
Ll9ub3RpZnlSZXNvdXJjZUFkZGVkKTsKKyAgICAgICAgdGhpcy5fcmVnaXN0ZXJBdXRvc3Vic2Ny
aXB0aW9uSGFuZGxlcihXZWJJbnNwZWN0b3IuZXh0ZW5zaW9uQVBJLkV2ZW50cy5FbGVtZW50c1Bh
bmVsT2JqZWN0U2VsZWN0ZWQsCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1l
bnRzLnRyZWVPdXRsaW5lLAorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZU91
dGxpbmUuRXZlbnRzLlNlbGVjdGVkTm9kZUNoYW5nZWQsCisgICAgICAgICAgICB0aGlzLl9ub3Rp
ZnlFbGVtZW50c1NlbGVjdGlvbkNoYW5nZWQpOworICAgICAgICB0aGlzLl9yZWdpc3RlckF1dG9z
dWJzY3JpcHRpb25IYW5kbGVyKFdlYkluc3BlY3Rvci5leHRlbnNpb25BUEkuRXZlbnRzLlJlc291
cmNlQ29udGVudENvbW1pdHRlZCwKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRy
ZWVNb2RlbCwKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5FdmVudHMuUmVzb3Vy
Y2VDb250ZW50Q29tbWl0dGVkLAorICAgICAgICAgICAgdGhpcy5fbm90aWZ5UmVzb3VyY2VDb250
ZW50Q29tbWl0dGVkKTsKIAogICAgICAgICBmdW5jdGlvbiBvblRpbWVsaW5lU3Vic2NyaXB0aW9u
U3RhcnRlZCgpCiAgICAgICAgIHsKQEAgLTU0NCw3ICs1NDYsOCBAQCBXZWJJbnNwZWN0b3IuRXh0
ZW5zaW9uU2VydmVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci50aW1l
bGluZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5h
Z2VyLkV2ZW50VHlwZXMuVGltZWxpbmVFdmVudFJlY29yZGVkLAogICAgICAgICAgICAgICAgIHRo
aXMuX25vdGlmeVRpbWVsaW5lRXZlbnRSZWNvcmRlZCwgdGhpcyk7CiAgICAgICAgIH0KLSAgICAg
ICAgdGhpcy5fcmVnaXN0ZXJTdWJzY3JpcHRpb25IYW5kbGVyKCJ0aW1lbGluZS1ldmVudC1yZWNv
cmRlZCIsIG9uVGltZWxpbmVTdWJzY3JpcHRpb25TdGFydGVkLmJpbmQodGhpcyksIG9uVGltZWxp
bmVTdWJzY3JpcHRpb25TdG9wcGVkLmJpbmQodGhpcykpOworICAgICAgICB0aGlzLl9yZWdpc3Rl
clN1YnNjcmlwdGlvbkhhbmRsZXIoV2ViSW5zcGVjdG9yLmV4dGVuc2lvbkFQSS5FdmVudHMuVGlt
ZWxpbmVFdmVudFJlY29yZGVkLAorICAgICAgICAgICAgb25UaW1lbGluZVN1YnNjcmlwdGlvblN0
YXJ0ZWQuYmluZCh0aGlzKSwgb25UaW1lbGluZVN1YnNjcmlwdGlvblN0b3BwZWQuYmluZCh0aGlz
KSk7CiAKICAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuSW5zcGVjdGVk
VVJMQ2hhbmdlZCwKICAgICAgICAgICAgIHRoaXMuX2luc3BlY3RlZFVSTENoYW5nZWQsIHRoaXMp
OwpAQCAtNTU0LDI0ICs1NTcsMzQgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90
b3R5cGUgPSB7CiAKICAgICBfbm90aWZ5Q29uc29sZU1lc3NhZ2VBZGRlZDogZnVuY3Rpb24oZXZl
bnQpCiAgICAgewotICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKCJjb25zb2xlLW1lc3Nh
Z2UtYWRkZWQiLCB0aGlzLl9tYWtlQ29uc29sZU1lc3NhZ2UoZXZlbnQuZGF0YSkpOworICAgICAg
ICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKFdlYkluc3BlY3Rvci5leHRlbnNpb25BUEkuRXZlbnRz
LkNvbnNvbGVNZXNzYWdlQWRkZWQsIHRoaXMuX21ha2VDb25zb2xlTWVzc2FnZShldmVudC5kYXRh
KSk7CiAgICAgfSwKIAogICAgIF9ub3RpZnlSZXNvdXJjZUFkZGVkOiBmdW5jdGlvbihldmVudCkK
ICAgICB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIHRoaXMu
X3Bvc3ROb3RpZmljYXRpb24oInJlc291cmNlLWFkZGVkIiwgdGhpcy5fbWFrZVJlc291cmNlKHJl
c291cmNlKSk7CisgICAgICAgIHRoaXMuX3Bvc3ROb3RpZmljYXRpb24oV2ViSW5zcGVjdG9yLmV4
dGVuc2lvbkFQSS5FdmVudHMuUmVzb3VyY2VBZGRlZCwgdGhpcy5fbWFrZVJlc291cmNlKHJlc291
cmNlKSk7CisgICAgfSwKKworICAgIF9ub3RpZnlSZXNvdXJjZUNvbnRlbnRDb21taXR0ZWQ6IGZ1
bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcG9zdE5vdGlmaWNhdGlvbihXZWJJ
bnNwZWN0b3IuZXh0ZW5zaW9uQVBJLkV2ZW50cy5SZXNvdXJjZUNvbnRlbnRDb21taXR0ZWQsIHRo
aXMuX21ha2VSZXNvdXJjZShldmVudC5kYXRhLnJlc291cmNlKSwgZXZlbnQuZGF0YS5jb250ZW50
KTsKICAgICB9LAogCiAgICAgX25vdGlmeVJlcXVlc3RGaW5pc2hlZDogZnVuY3Rpb24oZXZlbnQp
CiAgICAgewogICAgICAgICB2YXIgcmVxdWVzdCA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIHRoaXMu
X3Bvc3ROb3RpZmljYXRpb24oIm5ldHdvcmstcmVxdWVzdC1maW5pc2hlZCIsIHRoaXMuX3JlcXVl
c3RJZChyZXF1ZXN0KSwgKG5ldyBXZWJJbnNwZWN0b3IuSEFSRW50cnkocmVxdWVzdCkpLmJ1aWxk
KCkpOworICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKFdlYkluc3BlY3Rvci5leHRlbnNp
b25BUEkuRXZlbnRzLk5ldHdvcmtSZXF1ZXN0RmluaXNoZWQsIHRoaXMuX3JlcXVlc3RJZChyZXF1
ZXN0KSwgKG5ldyBXZWJJbnNwZWN0b3IuSEFSRW50cnkocmVxdWVzdCkpLmJ1aWxkKCkpOworICAg
IH0sCisKKyAgICBfbm90aWZ5RWxlbWVudHNTZWxlY3Rpb25DaGFuZ2VkOiBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKFdlYkluc3BlY3Rvci5leHRlbnNp
b25BUEkuRXZlbnRzLkVsZW1lbnRzUGFuZWxPYmplY3RTZWxlY3RlZCk7CiAgICAgfSwKIAogICAg
IF9ub3RpZnlUaW1lbGluZUV2ZW50UmVjb3JkZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAg
ICAgICAgdGhpcy5fcG9zdE5vdGlmaWNhdGlvbigidGltZWxpbmUtZXZlbnQtcmVjb3JkZWQiLCBl
dmVudC5kYXRhKTsKKyAgICAgICAgdGhpcy5fcG9zdE5vdGlmaWNhdGlvbihXZWJJbnNwZWN0b3Iu
ZXh0ZW5zaW9uQVBJLkV2ZW50cy5UaW1lbGluZUV2ZW50UmVjb3JkZWQsIGV2ZW50LmRhdGEpOwog
ICAgIH0sCiAKICAgICAvKioKQEAgLTcyMCw5ICs3MzMsOSBAQCBXZWJJbnNwZWN0b3IuYWRkRXh0
ZW5zaW9ucyA9IGZ1bmN0aW9uKGV4dGVuc2lvbnMpCiAgICAgV2ViSW5zcGVjdG9yLmV4dGVuc2lv
blNlcnZlci5fYWRkRXh0ZW5zaW9ucyhleHRlbnNpb25zKTsKIH0KIAotV2ViSW5zcGVjdG9yLmV4
dGVuc2lvblNlcnZlciA9IG5ldyBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyKCk7Ci0KIFdl
Ykluc3BlY3Rvci5leHRlbnNpb25BUEkgPSB7fTsKIGRlZmluZUNvbW1vbkV4dGVuc2lvblN5bWJv
bHMoV2ViSW5zcGVjdG9yLmV4dGVuc2lvbkFQSSk7CiAKK1dlYkluc3BlY3Rvci5leHRlbnNpb25T
ZXJ2ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlcigpOworCiB3aW5kb3cuYWRk
RXh0ZW5zaW9uID0gV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5fYWRkRXh0ZW5zaW9uLmJp
bmQoV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcwppbmRleCA2YTBmNDJiMjM0OTE4YzJlMjY2NDk1
Mzc1ZmRlNDA4YzU0OTg5OTk4Li5mNDk4NmUwNDhmZjNjY2ZkZTk0ZGMxZDQ2MTRhMTNjZGEyNmJm
YjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291
cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2Uu
anMKQEAgLTI0Nyw5ICsyNDcsMTIgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnBlcnNpc3RSZXZp
c2lvbiA9IGZ1bmN0aW9uKHJlc291cmNlKQogfQogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuRXZl
bnRzID0geworICAgIC8vIFRoZSBldmVudHMgYmVsb3cgYXJlIGRpc3BhdGNoZWQgb24gYSBSZXNv
dXJjZSBpbnN0YW5jZS4KICAgICBSZXZpc2lvbkFkZGVkOiAicmV2aXNpb24tYWRkZWQiLAogICAg
IE1lc3NhZ2VBZGRlZDogIm1lc3NhZ2UtYWRkZWQiLAotICAgIE1lc3NhZ2VzQ2xlYXJlZDogIm1l
c3NhZ2VzLWNsZWFyZWQiCisgICAgTWVzc2FnZXNDbGVhcmVkOiAibWVzc2FnZXMtY2xlYXJlZCIs
CisgICAgLy8gVGhlIGV2ZW50IGJlbG93IGlzIGRpc3BhdGNoZWQgb24gV2ViSW5zcGVjdG9yLnJl
c291cmNlVHJlZU1vZGVsCisgICAgUmVzb3VyY2VDb250ZW50Q29tbWl0dGVkOiAicmVzb3VyY2Ut
Y29udGVudC1jb21taXR0ZWQiCiB9CiAKIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUg
PSB7CkBAIC04NTUsMTAgKzg1OCw5IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUg
PSB7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRUaW1lc3RhbXAgPSB0aW1lc3RhbXAgfHwgbmV3IERh
dGUoKTsKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuRXZlbnRzLlJldmlzaW9uQWRkZWQsIHJldmlzaW9uKTsKLQogICAgICAgICBp
ZiAoIXJlc3RvcmluZ0hpc3RvcnkpCiAgICAgICAgICAgICB0aGlzLl9wZXJzaXN0UmV2aXNpb24o
KTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5ub3RpZnlSZXNvdXJjZUNv
bnRlbnRDb21taXR0ZWQodGhpcywgbmV3Q29udGVudCk7CisgICAgICAgIFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVRyZWVNb2RlbC5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlJl
c291cmNlLkV2ZW50cy5SZXNvdXJjZUNvbnRlbnRDb21taXR0ZWQsIHsgcmVzb3VyY2U6IHRoaXMs
IGNvbnRlbnQ6IG5ld0NvbnRlbnQgfSk7CiAgICAgfSwKIAogICAgIF9wZXJzaXN0UmV2aXNpb246
IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvZXh0ZXJucy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJu
cy5qcwppbmRleCAyYmU3NmRhODU5ZDk0ODk5ZDJkZjVhYzhlYTljOTM4NTYyNDExYmJiLi4zNWFh
OGEzMmYxNTRjYTVjOTViNzZiMDRjMTBhM2E2YTI4MTY0YzMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzCkBAIC03NSwxMiArNzUsNiBAQCBJbnNw
ZWN0b3JCYWNrZW5kLnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMgPSBmdW5jdGlvbihtZXNzYWdl
KSB7fQogLy8gRklYTUU6IHJlbW92ZSBldmVyeXRoaW5nIGJlbG93LgogdmFyIFdlYkluc3BlY3Rv
ciA9IHt9CiAKLVdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIgPSB7fQotV2ViSW5zcGVjdG9y
LmV4dGVuc2lvblNlcnZlci5ub3RpZnlSZXNvdXJjZUNvbnRlbnRDb21taXR0ZWQgPSBmdW5jdGlv
bihyZXNvdXJjZSwgY29udGVudCkge30KLVdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIubm90
aWZ5UGFuZWxTaG93biA9IGZ1bmN0aW9uKHBhbmVsKSB7fQotV2ViSW5zcGVjdG9yLmV4dGVuc2lv
blNlcnZlci5ub3RpZnlQYW5lbEhpZGRlbiA9IGZ1bmN0aW9uKHBhbmVsKSB7fQotV2ViSW5zcGVj
dG9yLmV4dGVuc2lvblNlcnZlci5ub3RpZnlPYmplY3RTZWxlY3RlZCA9IGZ1bmN0aW9uKG9iamVj
dCkge30KLQogLyoqCiAgKiBAcGFyYW0ge05ldHdvcmtBZ2VudC5SZXF1ZXN0SWR9IHJlcXVlc3RJ
ZAogICogQHJldHVybiB7P1dlYkluc3BlY3Rvci5SZXNvdXJjZX0K
</data>
<flag name="review"
          id="115324"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>