<?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>64691</bug_id>
          
          <creation_ts>2011-07-18 06:35:12 -0700</creation_ts>
          <short_desc>Web Inspector: RuntimeAgent.evaluateOn should not require &quot;return X;&quot; syntax.</short_desc>
          <delta_ts>2011-07-21 08:49:47 -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>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>438435</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-07-18 06:35:12 -0700</bug_when>
    <thetext>Client code should look like RuntimeAgent.evaluateOn(&quot;X&quot;), not RuntimeAgent.evaluateOn(&quot;return X&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438496</commentid>
    <comment_count>1</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-07-18 08:37:24 -0700</bug_when>
    <thetext>It turns out that the easiest would be to pass entire function declaration into this method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438506</commentid>
    <comment_count>2</comment_count>
      <attachid>101164</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-07-18 09:02:29 -0700</bug_when>
    <thetext>Created attachment 101164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438508</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-18 09:03:57 -0700</bug_when>
    <thetext>Attachment 101164 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/insp...&quot; exit_code: 1

Source/WebCore/inspector/InjectedScript.cpp:66:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.h:59:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 2 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440423</commentid>
    <comment_count>4</comment_count>
      <attachid>101594</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-07-21 08:27:03 -0700</bug_when>
    <thetext>Created attachment 101594
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440426</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-21 08:30:32 -0700</bug_when>
    <thetext>Attachment 101594 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/insp...&quot; exit_code: 1

Source/WebCore/inspector/InjectedScript.cpp:66:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorRuntimeAgent.h:57:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorRuntimeAgent.cpp:85:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InjectedScript.h:59:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 4 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440432</commentid>
    <comment_count>6</comment_count>
      <attachid>101594</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-07-21 08:40:49 -0700</bug_when>
    <thetext>Comment on attachment 101594
Patch

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

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

Please provide the change description.

&gt; Source/WebCore/inspector/InjectedScriptSource.js:264
&gt; +            var resolvedArg = this._objectForId(this._parseObjectId(arguments[i]));

You should drop(?) arguments in case they are from other injected scripts.

&gt; Source/WebCore/inspector/Inspector.json:264
&gt; +                    { &quot;name&quot;: &quot;arguments&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;type&quot;: &quot;objectId&quot;, &quot;description&quot;: &quot;Identifier of the argument&quot; }, &quot;optional&quot;: true, &quot;description&quot;: &quot;Call arguments.&quot; }

Please describe what happens when the arguments are from different frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440437</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-07-21 08:49:47 -0700</bug_when>
    <thetext>Committed r91472: &lt;http://trac.webkit.org/changeset/91472&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101164</attachid>
            <date>2011-07-18 09:02:29 -0700</date>
            <delta_ts>2011-07-21 08:26:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64691-20110718200227.patch</filename>
            <type>text/plain</type>
            <size>12548</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTExNzkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkOGYxOTQyZDhjOTJhYjlkOTZkNDVj
MzIwYjEyNDUyMDdkNmZlYzg3Li5lMjNlN2E1NDI5NWE0ODRmZDFjZjcwNjViYTYxMmJkZGJjYTFm
YzZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDctMTggIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJ1bnRpbWVBZ2Vu
dC5ldmFsdWF0ZU9uIHNob3VsZCBub3QgcmVxdWlyZSAicmV0dXJuIFg7IiBzeW50YXguCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3By
b3RvY29sL3J1bnRpbWUtYWdlbnQuaHRtbDoKKwogMjAxMS0wNy0xOCAgR2Fib3IgTG9raSAgPGxv
a2lAd2Via2l0Lm9yZz4KIAogICAgICAgICBRdCByZWJhc2VsaW5lcyBhZnRlciByOTEwNjAgYW5k
IHI5MTExNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL3J1bnRp
bWUtYWdlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL3J1
bnRpbWUtYWdlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDNlOGQxNTJiZWFkZmY1ZGM3OTUxY2Q5NGQ2
OTc2NWI2ZjJmZjQyNmQuLmMwNTRjNDhiMDMwMTIwYzc1MTFiMzU0ZGM0NDBkNGFjZTIyNWQzMDYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm90b2NvbC9ydW50aW1lLWFnZW50
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvdG9jb2wvcnVudGlt
ZS1hZ2VudC1leHBlY3RlZC50eHQKQEAgLTU2LDE0ICs1NiwxNCBAQCByZXNwb25zZToKIH0KIAog
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLVJ1bnRpbWVBZ2VudC5ldmFsdWF0ZU9uKDxzdHJpbmc+LCJ0aGlzLmFzc2lnbmVkQnlFdmFs
dWF0ZU9uID0gXCJldmFsdWF0ZU9uIGZ1bmN0aW9uIHdvcmtzIGZpbmVcIjsiKQorUnVudGltZUFn
ZW50LmV2YWx1YXRlT24oPHN0cmluZz4sImZ1bmN0aW9uKCkgeyB0aGlzLmFzc2lnbmVkQnlFdmFs
dWF0ZU9uID0gXCJldmFsdWF0ZU9uIGZ1bmN0aW9uIHdvcmtzIGZpbmVcIjsgcmV0dXJuIHRoaXMu
YXNzaWduZWRCeUV2YWx1YXRlT247IH0iKQogCiByZXF1ZXN0OgogewogICAgIG1ldGhvZCA6ICJS
dW50aW1lLmV2YWx1YXRlT24iCiAgICAgcGFyYW1zIDogewogICAgICAgICBvYmplY3RJZCA6IDxz
dHJpbmc+Ci0gICAgICAgIGV4cHJlc3Npb24gOiAidGhpcy5hc3NpZ25lZEJ5RXZhbHVhdGVPbiA9
ICJldmFsdWF0ZU9uIGZ1bmN0aW9uIHdvcmtzIGZpbmUiOyIKKyAgICAgICAgZnVuY3Rpb25EZWNs
YXJhdGlvbiA6ICJmdW5jdGlvbigpIHsgdGhpcy5hc3NpZ25lZEJ5RXZhbHVhdGVPbiA9ICJldmFs
dWF0ZU9uIGZ1bmN0aW9uIHdvcmtzIGZpbmUiOyByZXR1cm4gdGhpcy5hc3NpZ25lZEJ5RXZhbHVh
dGVPbjsgfSIKICAgICB9CiAgICAgaWQgOiA8bnVtYmVyPgogfQpAQCAtNzIsOCArNzIsOCBAQCBy
ZXNwb25zZToKIHsKICAgICByZXN1bHQgOiB7CiAgICAgICAgIHJlc3VsdCA6IHsKLSAgICAgICAg
ICAgIHR5cGUgOiAidW5kZWZpbmVkIgotICAgICAgICAgICAgZGVzY3JpcHRpb24gOiAidW5kZWZp
bmVkIgorICAgICAgICAgICAgdHlwZSA6ICJzdHJpbmciCisgICAgICAgICAgICBkZXNjcmlwdGlv
biA6ICJldmFsdWF0ZU9uIGZ1bmN0aW9uIHdvcmtzIGZpbmUiCiAgICAgICAgIH0KICAgICB9CiAg
ICAgaWQgOiA8bnVtYmVyPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3Rv
Y29sL3J1bnRpbWUtYWdlbnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm90b2NvbC9y
dW50aW1lLWFnZW50Lmh0bWwKaW5kZXggNmVkYTdlMjQ4MjA3NDg2NTE4MzU5M2RlN2YxYTJlMmM5
NDg4ZjNjZi4uYmU4NDk2ZDc4NTRhZDY4MTkyMWM2MDkwZDhjYjg0Zjc2ZDk1OWMyOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL3J1bnRpbWUtYWdlbnQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvdG9jb2wvcnVudGltZS1hZ2VudC5odG1sCkBA
IC0yMCw3ICsyMCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB2YXIgdGVzdFN1aXRlID0g
WwogICAgICAgICAgICAgWyJSdW50aW1lQWdlbnQiLCAiZXZhbHVhdGUiLCAndGVzdE9iamVjdCcs
ICd0ZXN0JywgZmFsc2VdLAogICAgICAgICAgICAgWyJSdW50aW1lQWdlbnQiLCAiZXZhbHVhdGUi
LCAndGVzdE9iamVjdCcsICd0ZXN0J10sCi0gICAgICAgICAgICBbIlJ1bnRpbWVBZ2VudCIsICJl
dmFsdWF0ZU9uIiwgcmVzdWx0Lm9iamVjdElkLCAndGhpcy5hc3NpZ25lZEJ5RXZhbHVhdGVPbiA9
ICJldmFsdWF0ZU9uIGZ1bmN0aW9uIHdvcmtzIGZpbmUiOyddLAorICAgICAgICAgICAgWyJSdW50
aW1lQWdlbnQiLCAiZXZhbHVhdGVPbiIsIHJlc3VsdC5vYmplY3RJZCwgJ2Z1bmN0aW9uKCkgeyB0
aGlzLmFzc2lnbmVkQnlFdmFsdWF0ZU9uID0gImV2YWx1YXRlT24gZnVuY3Rpb24gd29ya3MgZmlu
ZSI7IHJldHVybiB0aGlzLmFzc2lnbmVkQnlFdmFsdWF0ZU9uOyB9J10sCiAgICAgICAgICAgICBb
IlJ1bnRpbWVBZ2VudCIsICJzZXRQcm9wZXJ0eVZhbHVlIiwgcmVzdWx0Lm9iamVjdElkLCAnYXNz
aWduZWRCeVNldFByb3BlcnR5VmFsdWUnLCAndHJ1ZSddLAogICAgICAgICAgICAgWyJSdW50aW1l
QWdlbnQiLCAic2V0UHJvcGVydHlWYWx1ZSIsIHJlc3VsdC5vYmplY3RJZCwgJ3JlbW92ZWRCeVNl
dFByb3BlcnR5VmFsdWUnLCAnJ10sCiAgICAgICAgICAgICBbIlJ1bnRpbWVBZ2VudCIsICJnZXRQ
cm9wZXJ0aWVzIiwgcmVzdWx0Lm9iamVjdElkLCBmYWxzZV0sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWVmM2M0
M2NlZGY1YzViMWRiNzNlZWU3YTIyNDYwMWUzMWU2M2M5Zi4uNDlmZjY4YzFlYmNlNzc1OGQ3NTA3
ZmZiZjY3MDE2NDM2YmYwMmQ5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDExLTA3
LTE4ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAorICAgICAgICBXZWIg
SW5zcGVjdG9yOiBSdW50aW1lQWdlbnQuZXZhbHVhdGVPbiBzaG91bGQgbm90IHJlcXVpcmUgInJl
dHVybiBYOyIgc3ludGF4LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjQ2OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbmplY3RlZFNjcmlwdDo6ZXZhbHVhdGVPbik6CisgICAgICAgICogaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
OgorICAgICAgICAoLik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZS5fY3JlYXRlVG9v
bHRpcEZvck5vZGUucmVzb2x2ZWROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50
c1RyZWVFbGVtZW50LnByb3RvdHlwZS5fY3JlYXRlVG9vbHRpcEZvck5vZGUpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUudXBkYXRlLm5vZGVS
ZXNvbHZlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZS5ldmFsdWF0ZU9u
KToKKworMjAxMS0wNy0xOCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CisK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogIlJldmVhbCBpbiBFbGVtZW50cyBQYW5lbCIgaXMgYnJv
a2VuLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2
ODgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKaW5kZXgg
NjE0YzcyMWRmZWU3MjdhZTVlZTM1MjYwMTQ5ZDdmZDI1YjdlZjE0NS4uMWZiZTAyNWRlNDJiMjE1
Y2RiYjU3ODUxYjk0NjA5YTdjMjI1YWQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHQuY3BwCkBAIC02MywxMSArNjMsMTEgQEAgdm9pZCBJbmplY3RlZFNjcmlw
dDo6ZXZhbHVhdGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV4cHJl
c3Npb24KICAgICBtYWtlRXZhbENhbGwoZXJyb3JTdHJpbmcsIGZ1bmN0aW9uLCByZXN1bHQsIHdh
c1Rocm93bik7CiB9CiAKLXZvaWQgSW5qZWN0ZWRTY3JpcHQ6OmV2YWx1YXRlT24oRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBjb25zdCBTdHJpbmcmIGV4
cHJlc3Npb24sIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiByZXN1bHQsIGJvb2wqIHdhc1Rocm93
bikKK3ZvaWQgSW5qZWN0ZWRTY3JpcHQ6OmV2YWx1YXRlT24oRXJyb3JTdHJpbmcqIGVycm9yU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uRGVjbGFy
YXRpb24sIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiByZXN1bHQsIGJvb2wqIHdhc1Rocm93bikK
IHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24obV9pbmplY3RlZFNjcmlwdE9iamVj
dCwgImV2YWx1YXRlT24iKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChvYmplY3RJZCk7
Ci0gICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoZXhwcmVzc2lvbik7CisgICAgZnVuY3Rpb24u
YXBwZW5kQXJndW1lbnQoZnVuY3Rpb25EZWNsYXJhdGlvbik7CiAgICAgbWFrZUV2YWxDYWxsKGVy
cm9yU3RyaW5nLCBmdW5jdGlvbiwgcmVzdWx0LCB3YXNUaHJvd24pOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCmluZGV4IGIzMjEwMTlmMzM3ZWE3YzZhYzc4
ODI5YzNhNTBhOGMxOGYxNTMxN2UuLmRhMmM3ZTRhODA2OWNhYzVkZTljNGExNGFhZTFhYzM0ZTBh
ZDQ5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCkBAIC01
Niw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc05vVmFsdWUoKSBjb25zdCB7IHJldHVy
biBtX2luamVjdGVkU2NyaXB0T2JqZWN0Lmhhc05vVmFsdWUoKTsgfQogCiAgICAgdm9pZCBldmFs
dWF0ZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5n
JiBvYmplY3RHcm91cCwgYm9vbCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIFJlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+KiByZXN1bHQsIGJvb2wqIHdhc1Rocm93bik7Ci0gICAgdm9pZCBldmFsdWF0ZU9u
KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBleHBy
ZXNzaW9uLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0LCBib29sKiB3YXNUaHJvd24p
OworICAgIHZvaWQgZXZhbHVhdGVPbihFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgb2JqZWN0
SWQsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb25EZWNsYXJhdGlvbiwgUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4qIHJlc3VsdCwgYm9vbCogd2FzVGhyb3duKTsKICAgICB2b2lkIGV2YWx1YXRlT25DYWxs
RnJhbWUoRXJyb3JTdHJpbmcqLCBjb25zdCBTY3JpcHRWYWx1ZSYgY2FsbEZyYW1lcywgY29uc3Qg
U3RyaW5nJiBjYWxsRnJhbWVJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJp
bmcmIG9iamVjdEdyb3VwLCBib29sIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4qIHJlc3VsdCwgYm9vbCogd2FzVGhyb3duKTsKICAgICB2b2lkIGdldFByb3Bl
cnRpZXMoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBib29sIGlnbm9yZUhh
c093blByb3BlcnR5LCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiByZXN1bHQpOwogICAgIE5vZGUq
IG5vZGVGb3JPYmplY3RJZChjb25zdCBTdHJpbmcmIG9iamVjdElkKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwppbmRleCBmNzc0MGE2ZTNi
OGNiMmVlZWNlNjFlOGU4MDE2NmMzODU1YTQ0YjExLi5kNzY1ODMxNzdiZGRkYjZlZDY3ODcxN2Zh
MTA1OWM1ODQyOWViYTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0U291cmNlLmpzCkBAIC0yNTIsMTggKzI1MiwyNSBAQCBJbmplY3RlZFNjcmlwdC5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0aGlzLl9ldmFsdWF0ZUFuZFdyYXAoSW5qZWN0
ZWRTY3JpcHRIb3N0LmV2YWx1YXRlLCBJbmplY3RlZFNjcmlwdEhvc3QsIGV4cHJlc3Npb24sIG9i
amVjdEdyb3VwLCBmYWxzZSwgaW5qZWN0Q29tbWFuZExpbmVBUEkpOwogICAgIH0sCiAKLSAgICBl
dmFsdWF0ZU9uOiBmdW5jdGlvbihvYmplY3RJZCwgZXhwcmVzc2lvbikKKyAgICBldmFsdWF0ZU9u
OiBmdW5jdGlvbihvYmplY3RJZCwgZnVuY3Rpb25EZWNsYXJhdGlvbikKICAgICB7CiAgICAgICAg
IHZhciBwYXJzZWRPYmplY3RJZCA9IHRoaXMuX3BhcnNlT2JqZWN0SWQob2JqZWN0SWQpOwogICAg
ICAgICB2YXIgb2JqZWN0ID0gdGhpcy5fb2JqZWN0Rm9ySWQocGFyc2VkT2JqZWN0SWQpOwogICAg
ICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgICAgIHJldHVybiAiQ291bGQgbm90IGZpbmQgb2Jq
ZWN0IHdpdGggZ2l2ZW4gaWQiOworCiAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBpbnNwZWN0
ZWRXaW5kb3cuY29uc29sZS5fb2JqZWN0VG9FdmFsdWF0ZU9uID0gb2JqZWN0OwogICAgICAgICAg
ICAgdmFyIG9iamVjdEdyb3VwTmFtZSA9IHRoaXMuX2lkVG9PYmplY3RHcm91cE5hbWVbcGFyc2Vk
T2JqZWN0SWQuaWRdOwotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2V2YWx1YXRlQW5kV3JhcChp
bnNwZWN0ZWRXaW5kb3cuZXZhbCwgaW5zcGVjdGVkV2luZG93LCAiKGZ1bmN0aW9uKCkgeyIgKyBl
eHByZXNzaW9uICsgIn0pLmNhbGwod2luZG93LmNvbnNvbGUuX29iamVjdFRvRXZhbHVhdGVPbiki
LCBvYmplY3RHcm91cE5hbWUsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgIH0gZmluYWxseSB7Ci0g
ICAgICAgICAgICBkZWxldGUgaW5zcGVjdGVkV2luZG93LmNvbnNvbGUuX29iamVjdFRvRXZhbHVh
dGVPbjsKKyAgICAgICAgICAgIHZhciBmdW5jID0gSW5qZWN0ZWRTY3JpcHRIb3N0LmV2YWx1YXRl
KCIoIiArIGZ1bmN0aW9uRGVjbGFyYXRpb24gKyAiKSIpOworICAgICAgICAgICAgaWYgKHR5cGVv
ZiBmdW5jICE9PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgICAgIHJldHVybiAiRnVuY3Rpb24g
ZGVjbGFyYXRpb24gc2hvdWxkIGV2YWx1YXRlIHRvIGEgZnVuY3Rpb24iOworCisgICAgICAgICAg
ICB2YXIgcmVzdWx0ID0gZnVuYy5jYWxsKG9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4geyB3
YXNUaHJvd246IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiB0aGlzLl93cmFw
T2JqZWN0KHJlc3VsdCwgb2JqZWN0R3JvdXBOYW1lKSB9OworICAgICAgICB9IGNhdGNoIChlKSB7
CisgICAgICAgICAgICByZXR1cm4geyB3YXNUaHJvd246IHRydWUsCisgICAgICAgICAgICAgICAg
ICAgICByZXN1bHQ6IHRoaXMuX3dyYXBPYmplY3QoZSwgb2JqZWN0R3JvdXBOYW1lKSB9OwogICAg
ICAgICB9CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmlu
ZGV4IDEyNzk5MGIxNmIxNjMyNTc5NzRiMjdlZTUzMWY1YTZkZTU0NTQ2MTYuLjE2N2ViOTZmMDZh
NWMwOWM4N2IyYjgyMjlhOWFmMzFjNjM2MTBkMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24KQEAgLTI1OSwxNCArMjU5LDE0IEBACiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZXZhbHVhdGVPbiIsCiAgICAgICAgICAgICAgICAgInBhcmFt
ZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0SWQiLCAidHlw
ZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiSWRlbnRpZmllciBvZiB0aGUgb2JqZWN0IHRv
IGV2YWx1YXRlIGV4cHJlc3Npb24gb24uIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImV4cHJlc3Npb24iLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiRXhwcmVz
c2lvbiB0byBldmFsdWF0ZS4iIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvYmpl
Y3RJZCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJJZGVudGlmaWVyIG9mIHRo
ZSBvYmplY3QgdG8gZXZhbHVhdGUgZnVuY3Rpb24gb24uIiB9LAorICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImZ1bmN0aW9uRGVjbGFyYXRpb24iLCAidHlwZSI6ICJzdHJpbmciLCAiZGVz
Y3JpcHRpb24iOiAiRGVjbGFyYXRpb24gb2YgdGhlIGZ1bmN0aW9uIHRvIGV2YWx1YXRlIG9uIG9i
amVjdC4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjog
WwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICIkcmVmIjogIlJlbW90
ZU9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJFdmFsdWF0aW9uIHJlc3VsdC4iIH0sCiAgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAid2FzVGhyb3duIiwgInR5cGUiOiAiYm9vbGVhbiIsICJv
cHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUcnVlIGlmZiB0aGUgcmVzdWx0IHdhcyB0
aHJvd24gZHVyaW5nIHRoZSBldmFsdWF0aW9uLiIgfQogICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkV2YWx1YXRlIGV4cHJlc3Npb24gb24gZ2l2ZW4g
b2JqZWN0IHVzaW5nIGl0IGFzIDxjb2RlPnRoaXM8L2NvZGU+LiIKKyAgICAgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiRXZhbHVhdGVzIGZ1bmN0aW9uIG9uIGEgZ2l2ZW4gb2JqZWN0IGFzIGZv
bGxvd3M6IDxjb2RlPmZ1bmN0aW9uLmNhbGwob2JqZWN0KTwvY29kZT4uIgogICAgICAgICAgICAg
fSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRQcm9wZXJ0aWVz
IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVu
dHNUcmVlT3V0bGluZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxl
bWVudHNUcmVlT3V0bGluZS5qcwppbmRleCAzMzY2YzI3MTk2YmU3YmVjNTVlNGU5YmYwYjQ2NmVh
OTVhNDllZDhlLi5jMzVlZDQ5ODBjYmY4ZTg4MGNmN2MxNTY5NTQyYzJlZTMxNzIzODM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91
dGxpbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50
c1RyZWVPdXRsaW5lLmpzCkBAIC02MDQsNyArNjA0LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRz
VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKCFvYmplY3QpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBvYmplY3QuZXZhbHVhdGUoInJldHVy
biAnWycgKyB0aGlzLm9mZnNldFdpZHRoICsgJywnICsgdGhpcy5vZmZzZXRIZWlnaHQgKyAnLCcg
KyB0aGlzLm5hdHVyYWxXaWR0aCArICcsJyArIHRoaXMubmF0dXJhbEhlaWdodCArICddJyIsIHNl
dFRvb2x0aXAuYmluZCh0aGlzKSk7CisgICAgICAgICAgICBvYmplY3QuZXZhbHVhdGVPbigiZnVu
Y3Rpb24oKSB7IHJldHVybiAnWycgKyB0aGlzLm9mZnNldFdpZHRoICsgJywnICsgdGhpcy5vZmZz
ZXRIZWlnaHQgKyAnLCcgKyB0aGlzLm5hdHVyYWxXaWR0aCArICcsJyArIHRoaXMubmF0dXJhbEhl
aWdodCArICddJzsgfSIsIHNldFRvb2x0aXAuYmluZCh0aGlzKSk7CiAgICAgICAgICAgICBvYmpl
Y3QucmVsZWFzZSgpOwogICAgICAgICB9CiAgICAgICAgIFdlYkluc3BlY3Rvci5SZW1vdGVPYmpl
Y3QucmVzb2x2ZU5vZGUobm9kZSwgIiIsIHJlc29sdmVkTm9kZS5iaW5kKHRoaXMpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NpZGVi
YXJQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVz
U2lkZWJhclBhbmUuanMKaW5kZXggNGE3ZmZjZDkyODhhZTZhYWU5OTRkOGQzNTM3ODYyMGE3MzRh
MWVjOS4uZmQ4NjI5OGY1MTRlNjJlZTJjNWVjYTc1MTRjZWY2YzQ3NTk5YzljYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBh
bmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVz
U2lkZWJhclBhbmUuanMKQEAgLTUwLDcgKzUwLDcgQEAgV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNT
aWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghb2Jq
ZWN0KQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIG9iamVjdC5ldmFsdWF0
ZSgidmFyIHByb3RvID0gdGhpczsgcmVzdWx0ID0ge307IHZhciBjb3VudGVyID0gMTsgd2hpbGUg
KHByb3RvKSB7IHJlc3VsdFtjb3VudGVyKytdID0gcHJvdG87IHByb3RvID0gcHJvdG8uX19wcm90
b19fIH07IHJldHVybiByZXN1bHQ7Iiwgbm9kZVByb3RvdHlwZXNSZWFkeS5iaW5kKHRoaXMpKTsK
KyAgICAgICAgICAgIG9iamVjdC5ldmFsdWF0ZU9uKCJmdW5jdGlvbigpIHsgdmFyIHByb3RvID0g
dGhpczsgcmVzdWx0ID0ge307IHZhciBjb3VudGVyID0gMTsgd2hpbGUgKHByb3RvKSB7IHJlc3Vs
dFtjb3VudGVyKytdID0gcHJvdG87IHByb3RvID0gcHJvdG8uX19wcm90b19fIH07IHJldHVybiBy
ZXN1bHQ7IH0iLCBub2RlUHJvdG90eXBlc1JlYWR5LmJpbmQodGhpcykpOwogICAgICAgICAgICAg
b2JqZWN0LnJlbGVhc2UoKTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzCmluZGV4IDM0N2Y4M2MzZWZhOWQ0OGVm
ZWExYjIxYTcyZDE2OWRiZmZkNGM0NDAuLjVmODY5YWExY2FiMjA5YzA2N2U4ZDEyN2UyNDZhYmE4
M2UzNjJjOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVtb3RlT2JqZWN0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVtb3RlT2JqZWN0LmpzCkBAIC0xNDgsNyArMTQ4LDcgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9i
amVjdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjYWxsYmFjaygwKTsKICAgICB9LAogCi0g
ICAgZXZhbHVhdGU6IGZ1bmN0aW9uKGV4cHJlc3Npb24sIGNhbGxiYWNrKQorICAgIGV2YWx1YXRl
T246IGZ1bmN0aW9uKGV4cHJlc3Npb24sIGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgUnVudGlt
ZUFnZW50LmV2YWx1YXRlT24odGhpcy5fb2JqZWN0SWQsIGV4cHJlc3Npb24sIGNhbGxiYWNrKTsK
ICAgICB9LAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101594</attachid>
            <date>2011-07-21 08:27:03 -0700</date>
            <delta_ts>2011-07-21 08:40:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64691-20110721192701.patch</filename>
            <type>text/plain</type>
            <size>22011</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE0NjQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMDFkMjBlMTBmYmU1ZDQ0Nzk4Mzk2
MTMwNTQ2OTE1MjlkYWMwYzVmLi5kNzMwM2U2MTRhMjI2Y2YzYWVjODUzNjIyYjIwMTIzYTI5OWUy
MWU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDctMjEgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJ1bnRpbWVBZ2Vu
dC5ldmFsdWF0ZU9uIHNob3VsZCBub3QgcmVxdWlyZSAicmV0dXJuIFg7IiBzeW50YXguCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3By
b3RvY29sL3J1bnRpbWUtYWdlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9w
cm90b2NvbC9ydW50aW1lLWFnZW50Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3J1bnRpbWUv
cnVudGltZS1jYWxsRnVuY3Rpb25Pbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGlu
c3BlY3Rvci9ydW50aW1lL3J1bnRpbWUtY2FsbEZ1bmN0aW9uT24uaHRtbDogQWRkZWQuCisKIDIw
MTEtMDctMjEgIEpvaG4gS25vdHRlbmJlbHQgIDxqa25vdHRlbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0Nocm9taXVtXSBNYXJrIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVz
ZXJ2ZWQtb3Bjb2Rlcy5odG1sIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3Byb3RvY29sL3J1bnRpbWUtYWdlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3Byb3RvY29sL3J1bnRpbWUtYWdlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDNlOGQxNTJi
ZWFkZmY1ZGM3OTUxY2Q5NGQ2OTc2NWI2ZjJmZjQyNmQuLmViYTViZDgzNzk3ZDZkMDA3MGYxNmZl
MGY2ZjA1ZWExYjM2MjA2M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm90
b2NvbC9ydW50aW1lLWFnZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcHJvdG9jb2wvcnVudGltZS1hZ2VudC1leHBlY3RlZC50eHQKQEAgLTU2LDE0ICs1NiwxNCBA
QCByZXNwb25zZToKIH0KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLVJ1bnRpbWVBZ2VudC5ldmFsdWF0ZU9uKDxzdHJpbmc+LCJ0
aGlzLmFzc2lnbmVkQnlFdmFsdWF0ZU9uID0gXCJldmFsdWF0ZU9uIGZ1bmN0aW9uIHdvcmtzIGZp
bmVcIjsiKQorUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKDxzdHJpbmc+LCJmdW5jdGlvbigp
IHsgdGhpcy5hc3NpZ25lZEJ5Q2FsbEZ1bmN0aW9uT24gPSBcImNhbGxGdW5jdGlvbk9uIGZ1bmN0
aW9uIHdvcmtzIGZpbmVcIjsgcmV0dXJuIHRoaXMuYXNzaWduZWRCeUNhbGxGdW5jdGlvbk9uOyB9
IikKIAogcmVxdWVzdDoKIHsKLSAgICBtZXRob2QgOiAiUnVudGltZS5ldmFsdWF0ZU9uIgorICAg
IG1ldGhvZCA6ICJSdW50aW1lLmNhbGxGdW5jdGlvbk9uIgogICAgIHBhcmFtcyA6IHsKICAgICAg
ICAgb2JqZWN0SWQgOiA8c3RyaW5nPgotICAgICAgICBleHByZXNzaW9uIDogInRoaXMuYXNzaWdu
ZWRCeUV2YWx1YXRlT24gPSAiZXZhbHVhdGVPbiBmdW5jdGlvbiB3b3JrcyBmaW5lIjsiCisgICAg
ICAgIGZ1bmN0aW9uRGVjbGFyYXRpb24gOiAiZnVuY3Rpb24oKSB7IHRoaXMuYXNzaWduZWRCeUNh
bGxGdW5jdGlvbk9uID0gImNhbGxGdW5jdGlvbk9uIGZ1bmN0aW9uIHdvcmtzIGZpbmUiOyByZXR1
cm4gdGhpcy5hc3NpZ25lZEJ5Q2FsbEZ1bmN0aW9uT247IH0iCiAgICAgfQogICAgIGlkIDogPG51
bWJlcj4KIH0KQEAgLTcyLDggKzcyLDggQEAgcmVzcG9uc2U6CiB7CiAgICAgcmVzdWx0IDogewog
ICAgICAgICByZXN1bHQgOiB7Ci0gICAgICAgICAgICB0eXBlIDogInVuZGVmaW5lZCIKLSAgICAg
ICAgICAgIGRlc2NyaXB0aW9uIDogInVuZGVmaW5lZCIKKyAgICAgICAgICAgIHR5cGUgOiAic3Ry
aW5nIgorICAgICAgICAgICAgZGVzY3JpcHRpb24gOiAiY2FsbEZ1bmN0aW9uT24gZnVuY3Rpb24g
d29ya3MgZmluZSIKICAgICAgICAgfQogICAgIH0KICAgICBpZCA6IDxudW1iZXI+CkBAIC0xMzks
MTAgKzEzOSwxMCBAQCByZXNwb25zZToKICAgICByZXN1bHQgOiB7CiAgICAgICAgIHJlc3VsdCA6
IFsKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBuYW1lIDogImFzc2lnbmVkQnlFdmFs
dWF0ZU9uIgorICAgICAgICAgICAgICAgIG5hbWUgOiAiYXNzaWduZWRCeUNhbGxGdW5jdGlvbk9u
IgogICAgICAgICAgICAgICAgIHZhbHVlIDogewogICAgICAgICAgICAgICAgICAgICB0eXBlIDog
InN0cmluZyIKLSAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gOiAiZXZhbHVhdGVPbiBm
dW5jdGlvbiB3b3JrcyBmaW5lIgorICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA6ICJj
YWxsRnVuY3Rpb25PbiBmdW5jdGlvbiB3b3JrcyBmaW5lIgogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIHsKQEAgLTIwOSw3ICsyMDksNyBAQCByZXNwb25zZToK
IENvdmVyYWdlIGZvciBSdW50aW1lQWdlbnQKIHsKICAgICBldmFsdWF0ZSA6ICJjaGVja2VkIgot
ICAgIGV2YWx1YXRlT24gOiAiY2hlY2tlZCIKKyAgICBjYWxsRnVuY3Rpb25PbiA6ICJjaGVja2Vk
IgogICAgIGdldFByb3BlcnRpZXMgOiAiY2hlY2tlZCIKICAgICBzZXRQcm9wZXJ0eVZhbHVlIDog
ImNoZWNrZWQiCiAgICAgcmVsZWFzZU9iamVjdCA6ICJjaGVja2VkIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL3J1bnRpbWUtYWdlbnQuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9wcm90b2NvbC9ydW50aW1lLWFnZW50Lmh0bWwKaW5kZXggNmVkYTdlMjQ4
MjA3NDg2NTE4MzU5M2RlN2YxYTJlMmM5NDg4ZjNjZi4uYzVlZjY3MWY5ODBlNzA2ODVmYzVmODZi
ZDBkOWNkNjdiMGRiYjk5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3Rv
Y29sL3J1bnRpbWUtYWdlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvdG9j
b2wvcnVudGltZS1hZ2VudC5odG1sCkBAIC0yMCw3ICsyMCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQog
ICAgICAgICB2YXIgdGVzdFN1aXRlID0gWwogICAgICAgICAgICAgWyJSdW50aW1lQWdlbnQiLCAi
ZXZhbHVhdGUiLCAndGVzdE9iamVjdCcsICd0ZXN0JywgZmFsc2VdLAogICAgICAgICAgICAgWyJS
dW50aW1lQWdlbnQiLCAiZXZhbHVhdGUiLCAndGVzdE9iamVjdCcsICd0ZXN0J10sCi0gICAgICAg
ICAgICBbIlJ1bnRpbWVBZ2VudCIsICJldmFsdWF0ZU9uIiwgcmVzdWx0Lm9iamVjdElkLCAndGhp
cy5hc3NpZ25lZEJ5RXZhbHVhdGVPbiA9ICJldmFsdWF0ZU9uIGZ1bmN0aW9uIHdvcmtzIGZpbmUi
OyddLAorICAgICAgICAgICAgWyJSdW50aW1lQWdlbnQiLCAiY2FsbEZ1bmN0aW9uT24iLCByZXN1
bHQub2JqZWN0SWQsICdmdW5jdGlvbigpIHsgdGhpcy5hc3NpZ25lZEJ5Q2FsbEZ1bmN0aW9uT24g
PSAiY2FsbEZ1bmN0aW9uT24gZnVuY3Rpb24gd29ya3MgZmluZSI7IHJldHVybiB0aGlzLmFzc2ln
bmVkQnlDYWxsRnVuY3Rpb25PbjsgfSddLAogICAgICAgICAgICAgWyJSdW50aW1lQWdlbnQiLCAi
c2V0UHJvcGVydHlWYWx1ZSIsIHJlc3VsdC5vYmplY3RJZCwgJ2Fzc2lnbmVkQnlTZXRQcm9wZXJ0
eVZhbHVlJywgJ3RydWUnXSwKICAgICAgICAgICAgIFsiUnVudGltZUFnZW50IiwgInNldFByb3Bl
cnR5VmFsdWUiLCByZXN1bHQub2JqZWN0SWQsICdyZW1vdmVkQnlTZXRQcm9wZXJ0eVZhbHVlJywg
JyddLAogICAgICAgICAgICAgWyJSdW50aW1lQWdlbnQiLCAiZ2V0UHJvcGVydGllcyIsIHJlc3Vs
dC5vYmplY3RJZCwgZmFsc2VdLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1
bnRpbWUvcnVudGltZS1jYWxsRnVuY3Rpb25Pbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWNhbGxGdW5jdGlvbk9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44N2M1ZjQ4YTZjOWFiOWYwMjQxOWI5N2M4MzY5MWIwY2Q1NjliZTc0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVudGltZS1jYWxsRnVu
Y3Rpb25Pbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdHMgUnVudGltZUFnZW50
LmNhbGxGdW5jdGlvbk9uIHVzYWdlcy4KKworCitSdW5uaW5nOiB0ZXN0VGhpcworMworCitSdW5u
aW5nOiB0ZXN0QXJndW1lbnRzCit7ImEiOjEsImIiOjJ9Cit7ImEiOjEsImIiOjJ9Cit7ImMiOjEs
ImQiOjJ9CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL3J1bnRp
bWUtY2FsbEZ1bmN0aW9uT24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL3J1
bnRpbWUtY2FsbEZ1bmN0aW9uT24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTljYzM4NzliMDIzZDZhM2Q0
Zjg2ZmNlZTVjMzQyMDZiZTU5ZTIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3J1bnRpbWUvcnVudGltZS1jYWxsRnVuY3Rpb25Pbi5odG1sCkBAIC0wLDAgKzEsNjcg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVz
dCgpCit7CisgICAgdmFyIG9iajEsIG9iajI7CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RT
dWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3RUaGlzKG5leHQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiKHsgYSA6IDEsIGIgOiAyIH0pIiwgc3RlcDEp
OworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMShlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24p
CisgICAgICAgICAgICB7CisKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiBzdW0oKQorICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYSArIHRoaXMuYjsK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBvYmoxID0gcmVzdWx0OworICAg
ICAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25PbihvYmoxLm9iamVjdElkLCBz
dW0udG9TdHJpbmcoKSwgc3RlcDIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiBzdGVwMihlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzdWx0LmRlc2NyaXB0aW9uKTsK
KyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAg
ICAgICAgZnVuY3Rpb24gdGVzdEFyZ3VtZW50cyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAg
ICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoIih7IGMgOiAxLCBkIDogMiB9KSIsIHN0ZXAxKTsKKwor
ICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdChhb2JqMSwgYW9iajIp
CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJp
bmdpZnkodGhpcykgKyAiXG4iICsgSlNPTi5zdHJpbmdpZnkoYW9iajEpICsgIlxuIiArIEpTT04u
c3RyaW5naWZ5KGFvYmoyKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBv
YmoyID0gcmVzdWx0OworICAgICAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25P
bihvYmoxLm9iamVjdElkLCBmb3JtYXQudG9TdHJpbmcoKSwgW29iajEub2JqZWN0SWQsIG9iajIu
b2JqZWN0SWRdLCBzdGVwMik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHN0ZXAyKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHQuZGVzY3JpcHRpb24pOworICAg
ICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIF0pOwor
fQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+
CitUZXN0cyBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24gdXNhZ2VzLgorPC9wPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2U1NTA5NDk2N2Y1NGNlOGFjMzYzOWVmMDI5YTEx
YjIxYzRlMWMxZS4uY2Y4MzQzOWJiYWRmYjFhMGI1NjY1MjMxYzE0NDRhODA2M2YxNWYwMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDExLTA3LTIxICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AZ29vZ2xlLmNvbT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBSdW50aW1lQWdlbnQu
ZXZhbHVhdGVPbiBzaG91bGQgbm90IHJlcXVpcmUgInJldHVybiBYOyIgc3ludGF4LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBpbnNwZWN0b3Iv
cnVudGltZS9ydW50aW1lLWNhbGxGdW5jdGlvbk9uLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdDo6
Y2FsbEZ1bmN0aW9uT24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qczoKKyAgICAgICAgKC4p
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
clJ1bnRpbWVBZ2VudDo6Y2FsbEZ1bmN0aW9uT24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JSdW50aW1lQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1l
bnRzVHJlZU91dGxpbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxl
bWVudC5wcm90b3R5cGUuX2NyZWF0ZVRvb2x0aXBGb3JOb2RlLnJlc29sdmVkTm9kZS5kaW1lbnNp
b25zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlw
ZS5fY3JlYXRlVG9vbHRpcEZvck5vZGUucmVzb2x2ZWROb2RlKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZS5fY3JlYXRlVG9vbHRpcEZvck5vZGUp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NpZGViYXJQYW5lLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUu
dXBkYXRlLm5vZGVSZXNvbHZlZC5wcm90b0xpc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBy
b3BlcnRpZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUudXBkYXRlLm5vZGVSZXNvbHZlZCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZS5jYWxsRnVuY3Rpb24pOgorCisyMDExLTA3
LTIxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKwogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBbcHJvdG9jb2xdIGV4dGVuZCBzZXRCcmVha3BvaW50QnlVcmwgcmVxdWVzdCB0
byBhY2NlcHQgaW5jb21wbGV0ZSBVUkwgKHByZWRpY2F0ZXMpCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDc2MgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcAppbmRleCA2MTRjNzIxZGZlZTcyN2FlNWVlMzUyNjAx
NDlkN2ZkMjViN2VmMTQ1Li40MGI2MTVjYjYzMTc1ZTNjYjI3NzQwODdhM2U0N2M5MDM3MGM3MzM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKQEAgLTYz
LDExICs2MywxOSBAQCB2b2lkIEluamVjdGVkU2NyaXB0OjpldmFsdWF0ZShFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbgogICAgIG1ha2VFdmFsQ2FsbChl
cnJvclN0cmluZywgZnVuY3Rpb24sIHJlc3VsdCwgd2FzVGhyb3duKTsKIH0KIAotdm9pZCBJbmpl
Y3RlZFNjcmlwdDo6ZXZhbHVhdGVPbihFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0
cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4qIHJlc3VsdCwgYm9vbCogd2FzVGhyb3duKQordm9pZCBJbmplY3RlZFNjcmlwdDo6
Y2FsbEZ1bmN0aW9uT24oRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIG9i
amVjdElkLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJy
YXk+IGFyZ3VtZW50cywgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJlc3VsdCwgYm9vbCogd2Fz
VGhyb3duKQogewotICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5jdGlvbihtX2luamVjdGVkU2Ny
aXB0T2JqZWN0LCAiZXZhbHVhdGVPbiIpOworICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5jdGlv
bihtX2luamVjdGVkU2NyaXB0T2JqZWN0LCAiY2FsbEZ1bmN0aW9uT24iKTsKICAgICBmdW5jdGlv
bi5hcHBlbmRBcmd1bWVudChvYmplY3RJZCk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQo
ZXhwcmVzc2lvbik7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGFyZ3VtZW50cy0+bGVu
Z3RoKCk7ICsraSkgeworICAgICAgICBTdHJpbmcgYXJndW1lbnRJZDsKKyAgICAgICAgaWYgKCFh
cmd1bWVudHMtPmdldChpKS0+YXNTdHJpbmcoJmFyZ3VtZW50SWQpKSB7CisgICAgICAgICAgICAq
ZXJyb3JTdHJpbmcgPSAiQ2FsbCBhcmd1bWVudCBzaG91bGQgYmUgYW4gb2JqZWN0IGlkIjsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1
bWVudChhcmd1bWVudElkKTsKKyAgICB9CiAgICAgbWFrZUV2YWxDYWxsKGVycm9yU3RyaW5nLCBm
dW5jdGlvbiwgcmVzdWx0LCB3YXNUaHJvd24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdC5oCmluZGV4IGIzMjEwMTlmMzM3ZWE3YzZhYzc4ODI5YzNhNTBhOGMx
OGYxNTMxN2UuLjljMWQ0NWZmZmQwN2IzZmM5ZTNiMTg0MGYzOTU1MGFiOWEwMTQ0MDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCkBAIC01Niw3ICs1Niw3IEBA
IHB1YmxpYzoKICAgICBib29sIGhhc05vVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2luamVjdGVk
U2NyaXB0T2JqZWN0Lmhhc05vVmFsdWUoKTsgfQogCiAgICAgdm9pZCBldmFsdWF0ZShFcnJvclN0
cmluZyosIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBvYmplY3RHcm91
cCwgYm9vbCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiBy
ZXN1bHQsIGJvb2wqIHdhc1Rocm93bik7Ci0gICAgdm9pZCBldmFsdWF0ZU9uKEVycm9yU3RyaW5n
KiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0LCBib29sKiB3YXNUaHJvd24pOworICAgIHZvaWQg
Y2FsbEZ1bmN0aW9uT24oRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBjb25z
dCBTdHJpbmcmIGV4cHJlc3Npb24sIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGFyZ3VtZW50
cywgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJlc3VsdCwgYm9vbCogd2FzVGhyb3duKTsKICAg
ICB2b2lkIGV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcqLCBjb25zdCBTY3JpcHRWYWx1
ZSYgY2FsbEZyYW1lcywgY29uc3QgU3RyaW5nJiBjYWxsRnJhbWVJZCwgY29uc3QgU3RyaW5nJiBl
eHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwLCBib29sIGluY2x1ZGVDb21tYW5k
TGluZUFQSSwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJlc3VsdCwgYm9vbCogd2FzVGhyb3du
KTsKICAgICB2b2lkIGdldFByb3BlcnRpZXMoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIG9i
amVjdElkLCBib29sIGlnbm9yZUhhc093blByb3BlcnR5LCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
KiByZXN1bHQpOwogICAgIE5vZGUqIG5vZGVGb3JPYmplY3RJZChjb25zdCBTdHJpbmcmIG9iamVj
dElkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dFNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJj
ZS5qcwppbmRleCBmNzc0MGE2ZTNiOGNiMmVlZWNlNjFlOGU4MDE2NmMzODU1YTQ0YjExLi41NDBh
MzEzZWQ0MmY0YjAxYTI5MmNlMTlkMWE4OWViY2M2NGRiMGNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC0yNTIsMTggKzI1Miwz
MiBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0aGlzLl9l
dmFsdWF0ZUFuZFdyYXAoSW5qZWN0ZWRTY3JpcHRIb3N0LmV2YWx1YXRlLCBJbmplY3RlZFNjcmlw
dEhvc3QsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBmYWxzZSwgaW5qZWN0Q29tbWFuZExpbmVB
UEkpOwogICAgIH0sCiAKLSAgICBldmFsdWF0ZU9uOiBmdW5jdGlvbihvYmplY3RJZCwgZXhwcmVz
c2lvbikKKyAgICBjYWxsRnVuY3Rpb25PbjogZnVuY3Rpb24ob2JqZWN0SWQsIGV4cHJlc3Npb24p
CiAgICAgewogICAgICAgICB2YXIgcGFyc2VkT2JqZWN0SWQgPSB0aGlzLl9wYXJzZU9iamVjdElk
KG9iamVjdElkKTsKICAgICAgICAgdmFyIG9iamVjdCA9IHRoaXMuX29iamVjdEZvcklkKHBhcnNl
ZE9iamVjdElkKTsKICAgICAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgICAgICByZXR1cm4gIkNv
dWxkIG5vdCBmaW5kIG9iamVjdCB3aXRoIGdpdmVuIGlkIjsKKworICAgICAgICB2YXIgcmVzb2x2
ZWRBcmdzID0gW107CisgICAgICAgIGZvciAodmFyIGkgPSAyOyBpIDwgYXJndW1lbnRzLmxlbmd0
aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgcmVzb2x2ZWRBcmcgPSB0aGlzLl9vYmplY3RGb3JJ
ZCh0aGlzLl9wYXJzZU9iamVjdElkKGFyZ3VtZW50c1tpXSkpOworICAgICAgICAgICAgaWYgKCFy
ZXNvbHZlZEFyZykKKyAgICAgICAgICAgICAgICByZXR1cm4gIkNvdWxkIG5vdCBmaW5kIG9iamVj
dCB3aXRoIGdpdmVuIGlkIjsKKyAgICAgICAgICAgIHJlc29sdmVkQXJncy5wdXNoKHJlc29sdmVk
QXJnKTsKKyAgICAgICAgfQorCiAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBpbnNwZWN0ZWRX
aW5kb3cuY29uc29sZS5fb2JqZWN0VG9FdmFsdWF0ZU9uID0gb2JqZWN0OwotICAgICAgICAgICAg
dmFyIG9iamVjdEdyb3VwTmFtZSA9IHRoaXMuX2lkVG9PYmplY3RHcm91cE5hbWVbcGFyc2VkT2Jq
ZWN0SWQuaWRdOwotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2V2YWx1YXRlQW5kV3JhcChpbnNw
ZWN0ZWRXaW5kb3cuZXZhbCwgaW5zcGVjdGVkV2luZG93LCAiKGZ1bmN0aW9uKCkgeyIgKyBleHBy
ZXNzaW9uICsgIn0pLmNhbGwod2luZG93LmNvbnNvbGUuX29iamVjdFRvRXZhbHVhdGVPbikiLCBv
YmplY3RHcm91cE5hbWUsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgIH0gZmluYWxseSB7Ci0gICAg
ICAgICAgICBkZWxldGUgaW5zcGVjdGVkV2luZG93LmNvbnNvbGUuX29iamVjdFRvRXZhbHVhdGVP
bjsKKyAgICAgICAgICAgIHZhciBvYmplY3RHcm91cCA9IHRoaXMuX2lkVG9PYmplY3RHcm91cE5h
bWVbcGFyc2VkT2JqZWN0SWQuaWRdOworICAgICAgICAgICAgdmFyIGZ1bmMgPSBJbmplY3RlZFNj
cmlwdEhvc3QuZXZhbHVhdGUoIigiICsgZXhwcmVzc2lvbiArICIpIik7CisgICAgICAgICAgICBp
ZiAodHlwZW9mIGZ1bmMgIT09ICJmdW5jdGlvbiIpCisgICAgICAgICAgICAgICAgcmV0dXJuICJH
aXZlbiBleHByZXNzaW9uIGRvZXMgbm90IGV2YWx1YXRlIHRvIGEgZnVuY3Rpb24iOworCisgICAg
ICAgICAgICByZXR1cm4geyB3YXNUaHJvd246IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAg
cmVzdWx0OiB0aGlzLl93cmFwT2JqZWN0KGZ1bmMuYXBwbHkob2JqZWN0LCByZXNvbHZlZEFyZ3Mp
LCBvYmplY3RHcm91cCkgfTsKKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgcmV0
dXJuIHsgd2FzVGhyb3duOiB0cnVlLAorICAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiB0aGlz
Ll93cmFwT2JqZWN0KGUsIG9iamVjdEdyb3VwKSB9OwogICAgICAgICB9CiAgICAgfSwKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDdmNWE0MDMzNjhlZWQ3MzU0
YTVjNDQ3Y2M4ZTgyNjY1MjFkNWNlNWEuLjJhZmVmYjA2MDA0MjIwMmNkNDc3YzU1NjM3MjViNmU1
ZjU5ZDc2NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTI1
NywxNiArMjU3LDE3IEBACiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkV2YWx1YXRl
IGV4cHJlc3Npb24gb24gZ2xvYmFsIG9iamVjdC4iCiAgICAgICAgICAgICB9LAogICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogImV2YWx1YXRlT24iLAorICAgICAgICAgICAg
ICAgICJuYW1lIjogImNhbGxGdW5jdGlvbk9uIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVy
cyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvYmplY3RJZCIsICJ0eXBlIjog
InN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJJZGVudGlmaWVyIG9mIHRoZSBvYmplY3QgdG8gZXZh
bHVhdGUgZXhwcmVzc2lvbiBvbi4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
ZXhwcmVzc2lvbiIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJFeHByZXNzaW9u
IHRvIGV2YWx1YXRlLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9iamVjdElk
IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIG9i
amVjdCB0byBjYWxsIGZ1bmN0aW9uIG9uLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJmdW5jdGlvbkRlY2xhcmF0aW9uIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIkRlY2xhcmF0aW9uIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLiIgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJhcmd1bWVudHMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6
IHsgInR5cGUiOiAib2JqZWN0SWQiLCAiZGVzY3JpcHRpb24iOiAiSWRlbnRpZmllciBvZiB0aGUg
YXJndW1lbnQiIH0sICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDYWxsIGFyZ3Vt
ZW50cy4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjog
WwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICIkcmVmIjogIlJlbW90
ZU9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJFdmFsdWF0aW9uIHJlc3VsdC4iIH0sCisgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVzdWx0IiwgIiRyZWYiOiAiUmVtb3RlT2JqZWN0Iiwg
ImRlc2NyaXB0aW9uIjogIkNhbGwgcmVzdWx0LiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJ3YXNUaHJvd24iLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
ImRlc2NyaXB0aW9uIjogIlRydWUgaWZmIHRoZSByZXN1bHQgd2FzIHRocm93biBkdXJpbmcgdGhl
IGV2YWx1YXRpb24uIiB9CiAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRXZhbHVhdGUgZXhwcmVzc2lvbiBvbiBnaXZlbiBvYmplY3QgdXNpbmcgaXQg
YXMgPGNvZGU+dGhpczwvY29kZT4uIgorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJD
YWxsIGZ1bmN0aW9uIHdpdGggZ2l2ZW4gZGVjbGFyYXRpb24gb24gdGhlIGdpdmVuIG9iamVjdC4i
CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjog
ImdldFByb3BlcnRpZXMiLApAQCAtNTE1LDcgKzUxNiw3IEBACiAgICAgICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAiY2FjaGVEaXNhYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRp
b24iOiAiQ2FjaGUgZGlzYWJsZWQgc3RhdGUuIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVG9nZ2xlcyBpZ25vcmluZyBjYWNoZSBmb3IgZWFj
aCByZXF1ZXN0LiBJZiA8Y29kZT50cnVlPC9jb2RlPiwgY2FjaGUgd2lsbCBub3QgYmUgdXNlZC4i
IAotICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIH0KICAgICAgICAgXSwKICAgICAgICAgImV2
ZW50cyI6IFsKICAgICAgICAgICAgIHsKQEAgLTEwMTYsNyArMTAxNyw3IEBACiAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAicmVzb2x2ZU5vZGUiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJz
IjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImlu
dGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiSWQgb2YgdGhlIG5vZGUgdG8gcmVzb2x2ZS4iIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0R3JvdXAiLCAidHlwZSI6ICJzdHJp
bmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiU3ltYm9saWMgZ3JvdXAgbmFt
ZSB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlbGVhc2UgbXVsdGlwbGUgb2JqZWN0cy4iIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0R3JvdXAiLCAidHlwZSI6ICJzdHJpbmci
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiU3ltYm9saWMgZ3JvdXAgbmFtZSB0
aGF0IGNhbiBiZSB1c2VkIHRvIHJlbGVhc2UgbXVsdGlwbGUgb2JqZWN0cy4iIH0KICAgICAgICAg
ICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogIm9iamVjdCIsICIkcmVmIjogIlJ1bnRpbWUuUmVtb3RlT2JqZWN0Iiwg
ImRlc2NyaXB0aW9uIjogIkphdmFTY3JpcHQgb2JqZWN0IHdyYXBwZXIgZm9yIGdpdmVuIG5vZGUu
IiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGlt
ZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdl
bnQuY3BwCmluZGV4IDhhYjIxMTg2MzM1YjVkOTY0ODJiYzlhOTdjNThhZTExNGJkZDlkZTMuLjkx
ODYzMTBiOGRiNDRlZjRmMzM2ZTBiMTJjNmU5N2M4ZWUxODgwYjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCkBAIC04MiwxNCAr
ODIsMTkgQEAgdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmV2YWx1YXRlKEVycm9yU3RyaW5n
KiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBleHAKICNlbmRpZgogfQogCi12b2lkIEluc3Bl
Y3RvclJ1bnRpbWVBZ2VudDo6ZXZhbHVhdGVPbihFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNv
bnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgUmVmUHRyPElu
c3BlY3Rvck9iamVjdD4qIHJlc3VsdCwgYm9vbCogd2FzVGhyb3duKQordm9pZCBJbnNwZWN0b3JS
dW50aW1lQWdlbnQ6OmNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29u
c3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBSZWZQ
dHI8SW5zcGVjdG9yQXJyYXk+KiBjb25zdCBvcHRpb25hbEFyZ3VtZW50cywgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4qIHJlc3VsdCwgYm9vbCogd2FzVGhyb3duKQogewogICAgIEluamVjdGVkU2Ny
aXB0IGluamVjdGVkU2NyaXB0ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2Ny
aXB0Rm9yT2JqZWN0SWQob2JqZWN0SWQpOwogICAgIGlmIChpbmplY3RlZFNjcmlwdC5oYXNOb1Zh
bHVlKCkpIHsKICAgICAgICAgKmVycm9yU3RyaW5nID0gIkluc3BlY3RlZCBmcmFtZSBoYXMgZ29u
ZSI7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGVP
bihlcnJvclN0cmluZywgb2JqZWN0SWQsIGV4cHJlc3Npb24sIHJlc3VsdCwgd2FzVGhyb3duKTsK
KyAgICBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGFyZ3VtZW50cyA9IEluc3BlY3RvckFycmF5Ojpj
cmVhdGUoKTsKKyAgICBpZiAob3B0aW9uYWxBcmd1bWVudHMpIHsKKyAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8ICgqb3B0aW9uYWxBcmd1bWVudHMpLT5sZW5ndGgoKTsgKytpKQorICAg
ICAgICAgICAgYXJndW1lbnRzLT5wdXNoVmFsdWUoKCpvcHRpb25hbEFyZ3VtZW50cyktPmdldChp
KSk7CisgICAgfQorICAgIGluamVjdGVkU2NyaXB0LmNhbGxGdW5jdGlvbk9uKGVycm9yU3RyaW5n
LCBvYmplY3RJZCwgZXhwcmVzc2lvbiwgYXJndW1lbnRzLCByZXN1bHQsIHdhc1Rocm93bik7CiB9
CiAKIHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpnZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5n
KiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgYm9vbCBpZ25vcmVIYXNPd25Q
cm9wZXJ0eSwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogcmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCmluZGV4IDc4NWU1NTNlZWI2
YzZiYWYxZGUxM2Y2MzFlZjdlMjgxNTEzZTQ5YjkuLmFjMDFkYTRjNTIyYmIxMmFjYzQ5MzMwMmU0
ZDQyNjYzMTI0ODg3NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUnVudGltZUFnZW50LmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogCiAgICAgLy8gUGFy
dCBvZiB0aGUgcHJvdG9jb2wuCiAgICAgdm9pZCBldmFsdWF0ZShFcnJvclN0cmluZyosIGNvbnN0
IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nKiBjb25zdCBvYmplY3RHcm91cCwgY29u
c3QgYm9vbCogY29uc3QgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBjb25zdCBib29sKiBjb25zdCBk
b05vdFBhdXNlT25FeGNlcHRpb25zLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0LCBi
b29sKiB3YXNUaHJvd24pOwotICAgIHZvaWQgZXZhbHVhdGVPbihFcnJvclN0cmluZyosIGNvbnN0
IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4qIHJlc3VsdCwgYm9vbCogd2FzVGhyb3duKTsKKyAgICB2b2lkIGNhbGxGdW5j
dGlvbk9uKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5n
JiBleHByZXNzaW9uLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBjb25zdCBvcHRpb25h
bEFyZ3VtZW50cywgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJlc3VsdCwgYm9vbCogd2FzVGhy
b3duKTsKICAgICB2b2lkIHJlbGVhc2VPYmplY3QoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcm
IG9iamVjdElkKTsKICAgICB2b2lkIGdldFByb3BlcnRpZXMoRXJyb3JTdHJpbmcqLCBjb25zdCBT
dHJpbmcmIG9iamVjdElkLCBib29sIGlnbm9yZUhhc093blByb3BlcnR5LCBSZWZQdHI8SW5zcGVj
dG9yQXJyYXk+KiByZXN1bHQpOwogICAgIHZvaWQgc2V0UHJvcGVydHlWYWx1ZShFcnJvclN0cmlu
ZyosIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBj
b25zdCBTdHJpbmcmIGV4cHJlc3Npb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzCmluZGV4IDMzNjZjMjcx
OTZiZTdiZWM1NWU0ZTliZjBiNDY2ZWE5NWE0OWVkOGUuLmQxZTRiMDE4NTU5YTA2NjQxMmUyMjFj
NjZjMzk3MjU1MTBmZjI5NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanMKQEAgLTYwNCw3ICs2MDQsMTIg
QEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAg
ICBvYmplY3QuZXZhbHVhdGUoInJldHVybiAnWycgKyB0aGlzLm9mZnNldFdpZHRoICsgJywnICsg
dGhpcy5vZmZzZXRIZWlnaHQgKyAnLCcgKyB0aGlzLm5hdHVyYWxXaWR0aCArICcsJyArIHRoaXMu
bmF0dXJhbEhlaWdodCArICddJyIsIHNldFRvb2x0aXAuYmluZCh0aGlzKSk7CisgICAgICAgICAg
ICBmdW5jdGlvbiBkaW1lbnNpb25zKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gIlsiICsgdGhpcy5vZmZzZXRXaWR0aCArICIsIiArIHRoaXMub2Zmc2V0SGVpZ2h0ICsg
IiwiICsgdGhpcy5uYXR1cmFsV2lkdGggKyAiLCIgKyB0aGlzLm5hdHVyYWxIZWlnaHQgKyAiXSI7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24oZGltZW5z
aW9ucywgc2V0VG9vbHRpcC5iaW5kKHRoaXMpKTsKICAgICAgICAgICAgIG9iamVjdC5yZWxlYXNl
KCk7CiAgICAgICAgIH0KICAgICAgICAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5yZXNvbHZl
Tm9kZShub2RlLCAiIiwgcmVzb2x2ZWROb2RlLmJpbmQodGhpcykpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBhbmUuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTaWRlYmFyUGFu
ZS5qcwppbmRleCA0YTdmZmNkOTI4OGFlNmFhZTk5NGQ4ZDM1Mzc4NjIwYTczNGExZWM5Li41MDg5
NTExY2FiYTVlZWUwODg4ZmY1OTM5MjkxYTUyYjYyYzQ5MjgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTaWRlYmFyUGFuZS5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTaWRlYmFyUGFu
ZS5qcwpAQCAtNTAsNyArNTAsMTggQEAgV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTaWRlYmFyUGFu
ZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghb2JqZWN0KQogICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIG9iamVjdC5ldmFsdWF0ZSgidmFyIHBy
b3RvID0gdGhpczsgcmVzdWx0ID0ge307IHZhciBjb3VudGVyID0gMTsgd2hpbGUgKHByb3RvKSB7
IHJlc3VsdFtjb3VudGVyKytdID0gcHJvdG87IHByb3RvID0gcHJvdG8uX19wcm90b19fIH07IHJl
dHVybiByZXN1bHQ7Iiwgbm9kZVByb3RvdHlwZXNSZWFkeS5iaW5kKHRoaXMpKTsKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHByb3RvTGlzdCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
dmFyIHByb3RvID0gdGhpczsKKyAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0ge307CisgICAg
ICAgICAgICAgICAgdmFyIGNvdW50ZXIgPSAxOworICAgICAgICAgICAgICAgIHdoaWxlIChwcm90
bykgeworICAgICAgICAgICAgICAgICAgICByZXN1bHRbY291bnRlcisrXSA9IHByb3RvOworICAg
ICAgICAgICAgICAgICAgICBwcm90byA9IHByb3RvLl9fcHJvdG9fXworICAgICAgICAgICAgICAg
IH07CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24ocHJvdG9MaXN0LCBub2RlUHJvdG90eXBlc1JlYWR5
LmJpbmQodGhpcykpOwogICAgICAgICAgICAgb2JqZWN0LnJlbGVhc2UoKTsKICAgICAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9i
amVjdC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0
LmpzCmluZGV4IDM0N2Y4M2MzZWZhOWQ0OGVmZWExYjIxYTcyZDE2OWRiZmZkNGM0NDAuLjNjY2Nm
ZjhmODg3NDBiMjhlNTE3NmZjM2JmNmJkYTM3YjE5Mzc1NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzCkBAIC0xNDgsOSArMTQ4
LDkgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICBjYWxsYmFjaygwKTsKICAgICB9LAogCi0gICAgZXZhbHVhdGU6IGZ1bmN0aW9uKGV4cHJlc3Np
b24sIGNhbGxiYWNrKQorICAgIGNhbGxGdW5jdGlvbjogZnVuY3Rpb24oZnVuY3Rpb25EZWNsYXJh
dGlvbiwgY2FsbGJhY2spCiAgICAgewotICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGVPbih0
aGlzLl9vYmplY3RJZCwgZXhwcmVzc2lvbiwgY2FsbGJhY2spOworICAgICAgICBSdW50aW1lQWdl
bnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2JqZWN0SWQsIGZ1bmN0aW9uRGVjbGFyYXRpb24udG9T
dHJpbmcoKSwgdW5kZWZpbmVkLCBjYWxsYmFjayk7CiAgICAgfSwKIAogICAgIHJlbGVhc2U6IGZ1
bmN0aW9uKCkK
</data>
<flag name="review"
          id="96557"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>