<?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>167524</bug_id>
          
          <creation_ts>2017-01-27 12:53:20 -0800</creation_ts>
          <short_desc>Add support for Trac instances that host multiple projects.</short_desc>
          <delta_ts>2017-01-30 15:04:54 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Kocsen Chung">kocsen_chung</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>jmarcell</cc>
    
    <cc>kocsen_chung</cc>
    
    <cc>lforschler</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1270742</commentid>
    <comment_count>0</comment_count>
    <who name="Kocsen Chung">kocsen_chung</who>
    <bug_when>2017-01-27 12:53:20 -0800</bug_when>
    <thetext>Add support for Trac instances that host multiple projects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270746</commentid>
    <comment_count>1</comment_count>
      <attachid>299953</attachid>
    <who name="Kocsen Chung">kocsen_chung</who>
    <bug_when>2017-01-27 13:00:08 -0800</bug_when>
    <thetext>Created attachment 299953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271069</commentid>
    <comment_count>2</comment_count>
      <attachid>299953</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-01-28 16:36:30 -0800</bug_when>
    <thetext>Comment on attachment 299953
Patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:120
&gt; -        console.assert(fromDate &lt;= toDate);
&gt; +        if (fromDate &gt; toDate)
&gt; +            throw RangeError(&quot;Parameter fromDate should be before or on toDate.&quot;);

Why this change? This is logically an assertion, so it&apos;s cleaner to express it as such.

Just like in C/C++, adding a unit test that violates an assertion is not worth it.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:131
&gt; +            &quot;&amp;from=&quot; + encodeURIComponent(toDay.toISOString().slice(0, 10)) +
&gt; +            &quot;&amp;daysback=&quot; + encodeURIComponent((toDay - fromDay) / 1000 / 60 / 60 / 24);

Why add encodeURIComponent here if it&apos;s not needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271389</commentid>
    <comment_count>3</comment_count>
    <who name="Kocsen Chung">kocsen_chung</who>
    <bug_when>2017-01-30 13:29:12 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 299953 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=299953&amp;action=review
&gt; 
&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:120
&gt; &gt; -        console.assert(fromDate &lt;= toDate);
&gt; &gt; +        if (fromDate &gt; toDate)
&gt; &gt; +            throw RangeError(&quot;Parameter fromDate should be before or on toDate.&quot;);
&gt; 
&gt; Why this change? This is logically an assertion, so it&apos;s cleaner to express
&gt; it as such.
&gt; 
&gt; Just like in C/C++, adding a unit test that violates an assertion is not
&gt; worth it.

It seemed too lenient to allow a range violation of this kind get away with an assertion. Additionally, it would allow for testing this code path. The way I interpret it, an assertion is an error and should be treated as such; especially in production code.
However, I do see your point that it may not be worth it to test this assert violation. Moreover I concur that it would be cleaner to express it as such. I will revert this change.

&gt; 
&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:131
&gt; &gt; +            &quot;&amp;from=&quot; + encodeURIComponent(toDay.toISOString().slice(0, 10)) +
&gt; &gt; +            &quot;&amp;daysback=&quot; + encodeURIComponent((toDay - fromDay) / 1000 / 60 / 60 / 24);
&gt; 
&gt; Why add encodeURIComponent here if it&apos;s not needed?

Mostly as a security mechanism to not trust date input and as a result avoid unexpected or erroneous requests to the server. In my performance profiling, this had minimal effect and can provide security benefits.

Thanks for the review, Alexey.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271392</commentid>
    <comment_count>4</comment_count>
      <attachid>300139</attachid>
    <who name="Kocsen Chung">kocsen_chung</who>
    <bug_when>2017-01-30 13:37:24 -0800</bug_when>
    <thetext>Created attachment 300139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271426</commentid>
    <comment_count>5</comment_count>
      <attachid>300139</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-30 15:04:50 -0800</bug_when>
    <thetext>Comment on attachment 300139
Patch

Clearing flags on attachment: 300139

Committed r211388: &lt;http://trac.webkit.org/changeset/211388&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271427</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-30 15:04:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299953</attachid>
            <date>2017-01-27 13:00:08 -0800</date>
            <delta_ts>2017-01-30 13:37:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167524-20170127125804.patch</filename>
            <type>text/plain</type>
            <size>9879</size>
            <attacher name="Kocsen Chung">kocsen_chung</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMTI5MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQyIEBACisyMDE3LTAxLTI3ICBLb2NzZW4gQ2h1bmcgIDxrb2NzZW5fY2h1bmdAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBUcmFjIGluc3RhbmNlcyB0aGF0IGhvc3Qg
bXVsdGlwbGUgcHJvamVjdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjc1MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXaGVuIG11bHRpcGxlIHByb2plY3RzIGFyZSBob3N0ZWQgb24gYSBzaW5nbGUg
VHJhYyBpbnN0YW5jZSwgdGhlIGN1cnJlbnQKKyAgICAgICAgYmVoYXZpb3Igd2lsbCByZXRyaWV2
ZSBjaGFuZ2VzZXRzIGZyb20gYWxsIHRyYWNrZWQgcHJvamVjdHMuCisgICAgICAgIFRoaXMgcGF0
Y2ggdGVhY2hlcyBUcmFjLmpzIHRvIGdldCBwcm9qZWN0LXNwZWNpZmljIGNoYW5nZXNldHMgZnJv
bSBUcmFjLgorICAgICAgICBXZSBkbyB0aGlzIGJ5IHJlcGxhY2luZyB0aGUgcGFyYW1ldGVyIGBj
aGFuZ2VzZXQ9b25gIHRvIGByZXBvLXByb2plY3RuYW1lPW9uYAorICAgICAgICB3aGVuIHF1ZXJ5
aW5nIHRoZSBUcmFjIHRpbWVsaW5lLgorCisgICAgICAgIFRvIHRlbGwgVHJhYyB0byBiZSBhd2Fy
ZSBvZiBtdWx0aS1wcm9qZWN0IGluc3RhbmNlcyB3ZSBsZXZlcmFnZSB0aGUgCisgICAgICAgIGBv
cHRpb25zYCBwYXJhbWV0ZXIgd2hlbiBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZTogCisKKyAgICAg
ICAgICAgIG5ldyBUcmFjKCJodHRwczovL215dHJhYy5jb20vIiwgeyBwcm9qZWN0SWRlbnRpZmll
cjogInRyYWNQcm9qZWN0TmFtZSIgfSk7CisKKyAgICAgICAgSWYgdGhpcyBvcHRpb24gaXMgbm90
IHByb3ZpZGVkLCB0aGUgb3JpZ2luYWwgYmVoYXZpb3VyIHdpbGwgcHJldmFpbC4KKyAgICAgICAg
QWRkaXRpb25hbGx5LCBhZGQgY29ycmVzcG9uZGluZyB0ZXN0cy4KKworICAgICAgICAqIEJ1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2Fy
ZC9TY3JpcHRzL1RyYWMuanM6CisgICAgICAgIChUcmFjKTogUmVhc29uIGFib3V0IG5ldyBvcHRp
b25hbCBwYXJhbWV0ZXIgJ3Byb2plY3RJZGVudGlmaWVyJy4KKyAgICAgICAgKFRyYWMucHJvdG90
eXBlLnJldmlzaW9uVVJMKTogR2l2ZW4gYSBwcm9qZWN0SWRlbnRpZmllciwgYXBwZW5kIGl0IHRv
IHRoZSBlbmQgb2YgdGhlIFVSTC4KKyAgICAgICAgKFRyYWMucHJvdG90eXBlLl94bWxUaW1lbGlu
ZVVSTCk6IEdpdmVuIGEgcHJvamVjdElkZW50aWZpZXIsCisgICAgICAgIHJlcGxhY2UgZGVmYXVs
dCBwYXJhbWV0ZXIgYGNoYW5nZXNldD1vbmAgd2l0aCBgcmVwby1wcm9qZWN0bmFtZT1vbmAuCisg
ICAgICAgIEFkZGl0aW9uYWxseSwgcmFpc2UgYSBSYW5nZUVycm9yIGlmIHdlIGdldCBhbiBpbmNv
cnJlY3QgZGF0ZSByYW5nZS4KKyAgICAgICAgKFRyYWMucHJvdG90eXBlLl9jb252ZXJ0Q29tbWl0
SW5mb0VsZW1lbnRUb09iamVjdCk6IEZpeCBtaXNzaW5nICc7Jy4KKyAgICAgICAgKiBCdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQv
U2NyaXB0cy90ZXN0cy9yZXNvdXJjZXMvTW9ja1RyYWMuanM6CisgICAgICAgIChNb2NrVHJhYyk6
IEFkZCBzdXBwb3J0IGZvciBpbnN0YW50aWF0aW5nIFRyYWMgd2l0aCBhIHByb2plY3RJZGVudGlm
aWVyLgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL3Rlc3RzL3Jlc291cmNlcy90ZXN0cy5qczoK
KyAgICAgICAgKHNldHVwKTogUHJvdmlkZSBhIG11bHRpcGxlLXByb2plY3QgTW9ja1RyYWMgaW5z
dGFuY2UgdG8gYWxsIHRlc3QgY2FzZXMgZm9yIHRlc3RpbmcuCisgICAgICAgIEFkZCB0aGUgZm9s
bG93aW5nIHRlc3RzOgorICAgICAgICAgICAgdGVzdCgicmV2aXNpb25VUkwiKQorICAgICAgICAg
ICAgdGVzdCgicmV2aXNpb25VUkwgd2l0aCBUcmFjIElkZW50aWZpZXIiKQorICAgICAgICAgICAg
dGVzdCgiX3htbFRpbWVsaW5lVVJMIikKKyAgICAgICAgICAgIHRlc3QoIl94bWxUaW1lbGluZVVS
TCB3aXRoIFRyYWMgSWRlbnRpZmllciIpCisgICAgICAgICh0aGlzLnZpZXcuX2xhdGVzdFByb2R1
Y3RpdmVJdGVyYXRpb24pOiBGaXggbWlzc2luZyAnOycuCisKIDIwMTctMDEtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB3aGVuIG5hdmlnYXRpbmcg
YmFjayB0byBhIHBhZ2UgaW4gUGFjaGVDYWNoZSB3aGVuIG9uZSBvZiBpdHMgZnJhbWVzIGhhcyBi
ZWVuIHJlbW92ZWQKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL1RyYWMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvVHJhYy5qcwkocmV2aXNpb24gMjExMTU1KQorKysg
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0
bWwvZGFzaGJvYXJkL1NjcmlwdHMvVHJhYy5qcwkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAs
MTEgQEAgVHJhYyA9IGZ1bmN0aW9uKGJhc2VVUkwsIG9wdGlvbnMpCiAgICAgY29uc29sZS5hc3Nl
cnQoYmFzZVVSTCk7CiAKICAgICB0aGlzLmJhc2VVUkwgPSBiYXNlVVJMOwotICAgIHRoaXMuX25l
ZWRzQXV0aGVudGljYXRpb24gPSAodHlwZW9mIG9wdGlvbnMgPT09ICJvYmplY3QiKSAmJiBvcHRp
b25zW1RyYWMuTmVlZHNBdXRoZW50aWNhdGlvbl0gPT09IHRydWU7CisgICAgaWYgKHR5cGVvZiBv
cHRpb25zID09PSAib2JqZWN0IikgeworICAgICAgICB0aGlzLl9uZWVkc0F1dGhlbnRpY2F0aW9u
ID0gb3B0aW9uc1tUcmFjLk5lZWRzQXV0aGVudGljYXRpb25dID09PSB0cnVlOworICAgICAgICAv
LyBXZSBleHBlY3QgdGhlIHByb2plY3RJZGVudGlmaWVyIG9wdGlvbiBpZmYgdGhlIHRhcmdldCBU
cmFjIGluc3RhbmNlIGlzIGhvc3RpbmcgbXVsdGlwbGUgcmVwb3NpdG9yaWVzICYmIFRyYWMgdmVy
c2lvbiA+IDEuMAorICAgICAgICB0aGlzLl9wcm9qZWN0TmFtZSA9IG9wdGlvbnNbVHJhYy5Qcm9q
ZWN0SWRlbnRpZmllcl07CisgICAgfQogCiAgICAgdGhpcy5yZWNvcmRlZENvbW1pdHMgPSBbXTsg
Ly8gV2lsbCBiZSBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyLgogfTsKQEAgLTQwLDYgKzQ0LDcg
QEAgQmFzZU9iamVjdC5hZGRDb25zdHJ1Y3RvckZ1bmN0aW9ucyhUcmFjKQogVHJhYy5OT19NT1JF
X1JFVklTSU9OUyA9IG51bGw7CiAKIFRyYWMuTmVlZHNBdXRoZW50aWNhdGlvbiA9ICJuZWVkc0F1
dGhlbnRpY2F0aW9uIjsKK1RyYWMuUHJvamVjdElkZW50aWZpZXIgPSAicHJvamVjdElkZW50aWZp
ZXIiOwogVHJhYy5VcGRhdGVJbnRlcnZhbCA9IDQ1MDAwOyAvLyA0NSBzZWNvbmRzCiAKIFRyYWMu
RXZlbnQgPSB7CkBAIC0xMDMsMTkgKzEwOCwyNyBAQCBUcmFjLnByb3RvdHlwZSA9IHsKIAogICAg
IHJldmlzaW9uVVJMOiBmdW5jdGlvbihyZXZpc2lvbikKICAgICB7Ci0gICAgICAgIHJldHVybiB0
aGlzLmJhc2VVUkwgKyAiY2hhbmdlc2V0LyIgKyBlbmNvZGVVUklDb21wb25lbnQocmV2aXNpb24p
OworICAgICAgICB2YXIgdXJsID0gdGhpcy5iYXNlVVJMICsgImNoYW5nZXNldC8iICsgZW5jb2Rl
VVJJQ29tcG9uZW50KHJldmlzaW9uKTsKKyAgICAgICAgaWYgKHRoaXMuX3Byb2plY3ROYW1lKQor
ICAgICAgICAgICAgdXJsICs9ICcvJyArIGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9wcm9qZWN0
TmFtZSk7CisgICAgICAgIHJldHVybiB1cmw7CiAgICAgfSwKIAogICAgIF94bWxUaW1lbGluZVVS
TDogZnVuY3Rpb24oZnJvbURhdGUsIHRvRGF0ZSkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KGZyb21EYXRlIDw9IHRvRGF0ZSk7CisgICAgICAgIGlmIChmcm9tRGF0ZSA+IHRvRGF0ZSkK
KyAgICAgICAgICAgIHRocm93IFJhbmdlRXJyb3IoIlBhcmFtZXRlciBmcm9tRGF0ZSBzaG91bGQg
YmUgYmVmb3JlIG9yIG9uIHRvRGF0ZS4iKTsKIAogICAgICAgICB2YXIgZnJvbURheSA9IG5ldyBE
YXRlKGZyb21EYXRlLmdldEZ1bGxZZWFyKCksIGZyb21EYXRlLmdldE1vbnRoKCksIGZyb21EYXRl
LmdldERhdGUoKSk7CiAgICAgICAgIHZhciB0b0RheSA9IG5ldyBEYXRlKHRvRGF0ZS5nZXRGdWxs
WWVhcigpLCB0b0RhdGUuZ2V0TW9udGgoKSwgdG9EYXRlLmdldERhdGUoKSk7CisgICAgICAgIHZh
ciBjaGFuZ2VzZXRQYXJhbWV0ZXIgPSB0aGlzLl9wcm9qZWN0TmFtZSA/ICJyZXBvLSIgKyB0aGlz
Ll9wcm9qZWN0TmFtZSA6ICJjaGFuZ2VzZXQiOwogCi0gICAgICAgIHJldHVybiB0aGlzLmJhc2VV
UkwgKyAidGltZWxpbmU/Y2hhbmdlc2V0PW9uJmZvcm1hdD1yc3MmbWF4PTAiICsKLSAgICAgICAg
ICAgICImZnJvbT0iICsgIHRvRGF5LnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTApICsKLSAgICAg
ICAgICAgICImZGF5c2JhY2s9IiArICgodG9EYXkgLSBmcm9tRGF5KSAvIDEwMDAgLyA2MCAvIDYw
IC8gMjQpOworICAgICAgICByZXR1cm4gdGhpcy5iYXNlVVJMICsgInRpbWVsaW5lPyIgKworICAg
ICAgICAgICAgY2hhbmdlc2V0UGFyYW1ldGVyICsgIj1vbiIgKworICAgICAgICAgICAgIiZmb3Jt
YXQ9cnNzIiArCisgICAgICAgICAgICAiJm1heD0wIiArCisgICAgICAgICAgICAiJmZyb209IiAr
IGVuY29kZVVSSUNvbXBvbmVudCh0b0RheS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKSkgKwor
ICAgICAgICAgICAgIiZkYXlzYmFjaz0iICsgZW5jb2RlVVJJQ29tcG9uZW50KCh0b0RheSAtIGZy
b21EYXkpIC8gMTAwMCAvIDYwIC8gNjAgLyAyNCk7CiAgICAgfSwKIAogICAgIF9wYXJzZVJldmlz
aW9uRnJvbVVSTDogZnVuY3Rpb24odXJsKQpAQCAtMTUwLDcgKzE2Myw3IEBAIFRyYWMucHJvdG90
eXBlID0gewogICAgICAgICB2YXIgbG9jYXRpb24gPSAiIjsKICAgICAgICAgaWYgKHBhcnNlZERl
c2NyaXB0aW9uLmZpcnN0Q2hpbGQgJiYgcGFyc2VkRGVzY3JpcHRpb24uZmlyc3RDaGlsZC5jbGFz
c05hbWUgPT09ICJjaGFuZ2VzIikgewogICAgICAgICAgICAgLy8gV2UgY2FuIGV4dHJhY3QgYnJh
bmNoIGluZm9ybWF0aW9uIHdoZW4gdHJhYy5pbmkgY29udGFpbnMgImNoYW5nZXNldF9zaG93X2Zp
bGVzPWxvY2F0aW9uIi4KLSAgICAgICAgICAgIGxvY2F0aW9uID0gZG9jLmV2YWx1YXRlKCIvL3N0
cm9uZyIsIHBhcnNlZERlc2NyaXB0aW9uLmZpcnN0Q2hpbGQsIG51bGwsIFhQYXRoUmVzdWx0LlNU
UklOR19UWVBFKS5zdHJpbmdWYWx1ZQorICAgICAgICAgICAgbG9jYXRpb24gPSBkb2MuZXZhbHVh
dGUoIi8vc3Ryb25nIiwgcGFyc2VkRGVzY3JpcHRpb24uZmlyc3RDaGlsZCwgbnVsbCwgWFBhdGhS
ZXN1bHQuU1RSSU5HX1RZUEUpLnN0cmluZ1ZhbHVlOwogICAgICAgICAgICAgcGFyc2VkRGVzY3Jp
cHRpb24ucmVtb3ZlQ2hpbGQocGFyc2VkRGVzY3JpcHRpb24uZmlyc3RDaGlsZCk7CiAgICAgICAg
IH0KIApJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvdGVzdHMvcmVzb3VyY2VzL01vY2tUcmFj
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL3Rlc3RzL3Jlc291cmNlcy9N
b2NrVHJhYy5qcwkocmV2aXNpb24gMjExMTU1KQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvdGVz
dHMvcmVzb3VyY2VzL01vY2tUcmFjLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw5ICsyMywxNSBA
QAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLU1vY2tUcmFjID0g
ZnVuY3Rpb24oKQorTW9ja1RyYWMgPSBmdW5jdGlvbihwcm9qZWN0SWRlbnRpZmllcikKIHsKLSAg
ICBUcmFjLmNhbGwodGhpcywgImh0dHBzOi8vdHJhYy53ZWJraXQub3JnLyIpOworICAgIGlmIChw
cm9qZWN0SWRlbnRpZmllcikgeworICAgICAgICB2YXIgb3B0aW9ucyA9IHsgfTsKKyAgICAgICAg
b3B0aW9uc1tUcmFjLlByb2plY3RJZGVudGlmaWVyXSA9IHByb2plY3RJZGVudGlmaWVyOworICAg
ICAgICBUcmFjLmNhbGwodGhpcywgImh0dHBzOi8vdHJhYy53ZWJraXQub3JnLyIsIG9wdGlvbnMp
OworICAgIH0gZWxzZSB7CisgICAgICAgIFRyYWMuY2FsbCh0aGlzLCAiaHR0cHM6Ly90cmFjLndl
YmtpdC5vcmcvIik7CisgICAgfQogfTsKIAogQmFzZU9iamVjdC5hZGRDb25zdHJ1Y3RvckZ1bmN0
aW9ucyhNb2NrVHJhYyk7CkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy90ZXN0cy9yZXNvdXJj
ZXMvdGVzdHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQu
d2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvdGVzdHMvcmVz
b3VyY2VzL3Rlc3RzLmpzCShyZXZpc2lvbiAyMTExNTUpCisrKyBUb29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0
cy90ZXN0cy9yZXNvdXJjZXMvdGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcg
QEAgUVVuaXQuZG9uZSA9IGZ1bmN0aW9uKGRldGFpbHMpIHsKIG1vZHVsZSgiVHJhYyIsIHsKICAg
ICBzZXR1cDogZnVuY3Rpb24oKSB7CiAgICAgICAgIHRoaXMudHJhYyA9IG5ldyBNb2NrVHJhYygp
OworICAgICAgICB0aGlzLnRyYWNXaXRoSWRlbnRpZmllciA9IG5ldyBNb2NrVHJhYygid2Via2l0
Iik7CiAgICAgfQogfSk7CiAKQEAgLTEyMSw2ICsxMjIsNDMgQEAgdGVzdCgiY29tbWl0c09uQnJh
bmNoSW5SZXZpc2lvblJhbmdlIiwgZgogICAgIGVxdWFsKGNvbW1pdHMubGVuZ3RoLCAyLCAiaW4g
cmFuZ2UgMzMwMjAsIDMzMDIyIik7CiB9KTsKIAordGVzdCgicmV2aXNpb25VUkwiLCBmdW5jdGlv
bigpCit7CisgICAgc3RyaWN0RXF1YWwodGhpcy50cmFjLnJldmlzaW9uVVJMKCIzMzAyMCIpLCAi
aHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzMzMDIwIiwgImNoYW5nZXNldCBVUkwg
bWF0Y2hlcyBmb3IgMzMwMjAiKTsKKyAgICBzdHJpY3RFcXVhbCh0aGlzLnRyYWMucmV2aXNpb25V
UkwoIjBlNDk4ZGI1ZDhlNWI1YTM0MjYzMSIpLCAiaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzBlNDk4ZGI1ZDhlNWI1YTM0MjYzMSIsICJjaGFuZ2VzZXQgVVJMIG1hdGNoZXMgZm9y
IDBlNDk4ZGI1ZDhlNWI1YTM0MjYzMSIpOworfSk7CisKK3Rlc3QoInJldmlzaW9uVVJMIHdpdGgg
VHJhYyBJZGVudGlmaWVyIiwgZnVuY3Rpb24oKQoreworICAgIHN0cmljdEVxdWFsKHRoaXMudHJh
Y1dpdGhJZGVudGlmaWVyLnJldmlzaW9uVVJMKCIzMzAyMCIpLCAiaHR0cHM6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzMzMDIwL3dlYmtpdCIsICJjaGFuZ2VzZXQgVVJMIG1hdGNoZXMgZm9y
IDMzMDIwIik7CisgICAgc3RyaWN0RXF1YWwodGhpcy50cmFjV2l0aElkZW50aWZpZXIucmV2aXNp
b25VUkwoIjBlNDk4ZGI1ZDhlNWI1YTM0MjYzMSIpLCAiaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzBlNDk4ZGI1ZDhlNWI1YTM0MjYzMS93ZWJraXQiLCAiY2hhbmdlc2V0IFVSTCBt
YXRjaGVzIGZvciAwZTQ5OGRiNWQ4ZTViNWEzNDI2MzEiKTsKK30pOworCit0ZXN0KCJfeG1sVGlt
ZWxpbmVVUkwiLCBmdW5jdGlvbigpCit7CisgICAgdmFyIGJlZm9yZSA9IG5ldyBEYXRlKCIxLzEv
MjAxNyIpOworICAgIHZhciBhZnRlciA9IG5ldyBEYXRlKCIxLzIvMjAxNyIpOworCisgICAgc3Ry
aWN0RXF1YWwodGhpcy50cmFjLl94bWxUaW1lbGluZVVSTChiZWZvcmUsIGJlZm9yZSksICJodHRw
czovL3RyYWMud2Via2l0Lm9yZy90aW1lbGluZT9jaGFuZ2VzZXQ9b24mZm9ybWF0PXJzcyZtYXg9
MCZmcm9tPTIwMTctMDEtMDEmZGF5c2JhY2s9MCIpOworICAgIHN0cmljdEVxdWFsKHRoaXMudHJh
Yy5feG1sVGltZWxpbmVVUkwoYmVmb3JlLCBhZnRlciksICJodHRwczovL3RyYWMud2Via2l0Lm9y
Zy90aW1lbGluZT9jaGFuZ2VzZXQ9b24mZm9ybWF0PXJzcyZtYXg9MCZmcm9tPTIwMTctMDEtMDIm
ZGF5c2JhY2s9MSIpOworCisgICAgLy8gRklYTUU6IFdoZW4gdXBncmFkaW5nIHBhc3QgcXVuaXQg
MS4wLCB1c2UgYnVpbHQgaW4gYXNzZXJ0aW9uIG1ldGhvZDogUXVuaXQucmFpc2VzKCkKKyAgICB0
cnkgeworICAgICAgICB0aGlzLnRyYWMuX3htbFRpbWVsaW5lVVJMKGFmdGVyLCBiZWZvcmUpOwor
ICAgIH0gY2F0Y2ggKGVycikgeworICAgICAgICBlcXVhbChlcnIubmFtZSwgIlJhbmdlRXJyb3Ii
LCAicmFpc2VzIFJhbmdlIGVycm9yIHdoZW4gdG9EYXRlIGlzIGFmdGVyIGZyb21EYXRlIik7Cisg
ICAgfQorfSk7CisKK3Rlc3QoIl94bWxUaW1lbGluZVVSTCB3aXRoIFRyYWMgSWRlbnRpZmllciIs
IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgYmVmb3JlID0gbmV3IERhdGUoIjEvMS8yMDE3Iik7Cisg
ICAgdmFyIGFmdGVyID0gbmV3IERhdGUoIjEvMi8yMDE3Iik7CisKKyAgICBzdHJpY3RFcXVhbCh0
aGlzLnRyYWNXaXRoSWRlbnRpZmllci5feG1sVGltZWxpbmVVUkwoYmVmb3JlLCBiZWZvcmUpLCAi
aHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvdGltZWxpbmU/cmVwby13ZWJraXQ9b24mZm9ybWF0PXJz
cyZtYXg9MCZmcm9tPTIwMTctMDEtMDEmZGF5c2JhY2s9MCIpOworICAgIHN0cmljdEVxdWFsKHRo
aXMudHJhY1dpdGhJZGVudGlmaWVyLl94bWxUaW1lbGluZVVSTChiZWZvcmUsIGFmdGVyKSwgImh0
dHBzOi8vdHJhYy53ZWJraXQub3JnL3RpbWVsaW5lP3JlcG8td2Via2l0PW9uJmZvcm1hdD1yc3Mm
bWF4PTAmZnJvbT0yMDE3LTAxLTAyJmRheXNiYWNrPTEiKTsKK30pOworCiBtb2R1bGUoIkJ1aWxk
Qm90UXVldWVWaWV3IiwgewogICAgIHNldHVwOiBmdW5jdGlvbigpIHsKICAgICAgICAgdGhpcy50
cmFjID0gbmV3IE1vY2tUcmFjKCk7CkBAIC0xNzksNyArMjE3LDcgQEAgdGVzdCgiX3ByZXNlbnRQ
b3BvdmVyRm9yUGVuZGluZ0NvbW1pdHMgbgogICAgICAgICAgICAgcmV2aXNpb246IHsgIm9wZW5T
b3VyY2UiOiAiMzMwMjEiIH0sCiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiBpdGVyYXRpb247
Ci0gICAgfQorICAgIH07CiAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKICAgICB2YXIgcG9wb3ZlciA9IG5ldyBEYXNoYm9hcmQuUG9wb3ZlcigpOwogICAg
IHRoaXMudmlldy5fcHJlc2VudFBvcG92ZXJGb3JQZW5kaW5nQ29tbWl0cyhlbGVtZW50LCBwb3Bv
dmVyLCB0aGlzLnF1ZXVlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300139</attachid>
            <date>2017-01-30 13:37:24 -0800</date>
            <delta_ts>2017-01-30 15:04:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167524-20170130133515.patch</filename>
            <type>text/plain</type>
            <size>9398</size>
            <attacher name="Kocsen Chung">kocsen_chung</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMTI5MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQxIEBACisyMDE3LTAxLTI3ICBLb2NzZW4gQ2h1bmcgIDxrb2NzZW5fY2h1bmdAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBUcmFjIGluc3RhbmNlcyB0aGF0IGhvc3Qg
bXVsdGlwbGUgcHJvamVjdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjc1MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXaGVuIG11bHRpcGxlIHByb2plY3RzIGFyZSBob3N0ZWQgb24gYSBzaW5nbGUg
VHJhYyBpbnN0YW5jZSwgdGhlIGN1cnJlbnQKKyAgICAgICAgYmVoYXZpb3Igd2lsbCByZXRyaWV2
ZSBjaGFuZ2VzZXRzIGZyb20gYWxsIHRyYWNrZWQgcHJvamVjdHMuCisgICAgICAgIFRoaXMgcGF0
Y2ggdGVhY2hlcyBUcmFjLmpzIHRvIGdldCBwcm9qZWN0LXNwZWNpZmljIGNoYW5nZXNldHMgZnJv
bSBUcmFjLgorICAgICAgICBXZSBkbyB0aGlzIGJ5IHJlcGxhY2luZyB0aGUgcGFyYW1ldGVyIGBj
aGFuZ2VzZXQ9b25gIHRvIGByZXBvLXByb2plY3RuYW1lPW9uYAorICAgICAgICB3aGVuIHF1ZXJ5
aW5nIHRoZSBUcmFjIHRpbWVsaW5lLgorCisgICAgICAgIFRvIHRlbGwgVHJhYyB0byBiZSBhd2Fy
ZSBvZiBtdWx0aS1wcm9qZWN0IGluc3RhbmNlcyB3ZSBsZXZlcmFnZSB0aGUgCisgICAgICAgIGBv
cHRpb25zYCBwYXJhbWV0ZXIgd2hlbiBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZTogCisKKyAgICAg
ICAgICAgIG5ldyBUcmFjKCJodHRwczovL215dHJhYy5jb20vIiwgeyBwcm9qZWN0SWRlbnRpZmll
cjogInRyYWNQcm9qZWN0TmFtZSIgfSk7CisKKyAgICAgICAgSWYgdGhpcyBvcHRpb24gaXMgbm90
IHByb3ZpZGVkLCB0aGUgb3JpZ2luYWwgYmVoYXZpb3VyIHdpbGwgcHJldmFpbC4KKyAgICAgICAg
QWRkaXRpb25hbGx5LCBhZGQgY29ycmVzcG9uZGluZyB0ZXN0cy4KKworICAgICAgICAqIEJ1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2Fy
ZC9TY3JpcHRzL1RyYWMuanM6CisgICAgICAgIChUcmFjKTogUmVhc29uIGFib3V0IG5ldyBvcHRp
b25hbCBwYXJhbWV0ZXIgJ3Byb2plY3RJZGVudGlmaWVyJy4KKyAgICAgICAgKFRyYWMucHJvdG90
eXBlLnJldmlzaW9uVVJMKTogR2l2ZW4gYSBwcm9qZWN0SWRlbnRpZmllciwgYXBwZW5kIGl0IHRv
IHRoZSBlbmQgb2YgdGhlIFVSTC4KKyAgICAgICAgKFRyYWMucHJvdG90eXBlLl94bWxUaW1lbGlu
ZVVSTCk6IEdpdmVuIGEgcHJvamVjdElkZW50aWZpZXIsCisgICAgICAgIHJlcGxhY2UgZGVmYXVs
dCBwYXJhbWV0ZXIgYGNoYW5nZXNldD1vbmAgd2l0aCBgcmVwby1wcm9qZWN0bmFtZT1vbmAuCisg
ICAgICAgIChUcmFjLnByb3RvdHlwZS5fY29udmVydENvbW1pdEluZm9FbGVtZW50VG9PYmplY3Qp
OiBGaXggbWlzc2luZyAnOycuCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Vi
a2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvdGVzdHMvcmVzb3Vy
Y2VzL01vY2tUcmFjLmpzOgorICAgICAgICAoTW9ja1RyYWMpOiBBZGQgc3VwcG9ydCBmb3IgaW5z
dGFudGlhdGluZyBUcmFjIHdpdGggYSBwcm9qZWN0SWRlbnRpZmllci4KKyAgICAgICAgKiBCdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9h
cmQvU2NyaXB0cy90ZXN0cy9yZXNvdXJjZXMvdGVzdHMuanM6CisgICAgICAgIChzZXR1cCk6IFBy
b3ZpZGUgYSBtdWx0aXBsZS1wcm9qZWN0IE1vY2tUcmFjIGluc3RhbmNlIHRvIGFsbCB0ZXN0IGNh
c2VzIGZvciB0ZXN0aW5nLgorICAgICAgICBBZGQgdGhlIGZvbGxvd2luZyB0ZXN0czoKKyAgICAg
ICAgICAgIHRlc3QoInJldmlzaW9uVVJMIikKKyAgICAgICAgICAgIHRlc3QoInJldmlzaW9uVVJM
IHdpdGggVHJhYyBJZGVudGlmaWVyIikKKyAgICAgICAgICAgIHRlc3QoIl94bWxUaW1lbGluZVVS
TCIpCisgICAgICAgICAgICB0ZXN0KCJfeG1sVGltZWxpbmVVUkwgd2l0aCBUcmFjIElkZW50aWZp
ZXIiKQorICAgICAgICAodGhpcy52aWV3Ll9sYXRlc3RQcm9kdWN0aXZlSXRlcmF0aW9uKTogRml4
IG1pc3NpbmcgJzsnLgorCiAyMDE3LTAxLTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgQ3Jhc2ggd2hlbiBuYXZpZ2F0aW5nIGJhY2sgdG8gYSBwYWdlIGluIFBh
Y2hlQ2FjaGUgd2hlbiBvbmUgb2YgaXRzIGZyYW1lcyBoYXMgYmVlbiByZW1vdmVkCkluZGV4OiBU
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9kYXNoYm9hcmQvU2NyaXB0cy9UcmFjLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9T
Y3JpcHRzL1RyYWMuanMJKHJldmlzaW9uIDIxMTE1NSkKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRz
L1RyYWMuanMJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDExIEBAIFRyYWMgPSBmdW5jdGlv
bihiYXNlVVJMLCBvcHRpb25zKQogICAgIGNvbnNvbGUuYXNzZXJ0KGJhc2VVUkwpOwogCiAgICAg
dGhpcy5iYXNlVVJMID0gYmFzZVVSTDsKLSAgICB0aGlzLl9uZWVkc0F1dGhlbnRpY2F0aW9uID0g
KHR5cGVvZiBvcHRpb25zID09PSAib2JqZWN0IikgJiYgb3B0aW9uc1tUcmFjLk5lZWRzQXV0aGVu
dGljYXRpb25dID09PSB0cnVlOworICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gIm9iamVjdCIp
IHsKKyAgICAgICAgdGhpcy5fbmVlZHNBdXRoZW50aWNhdGlvbiA9IG9wdGlvbnNbVHJhYy5OZWVk
c0F1dGhlbnRpY2F0aW9uXSA9PT0gdHJ1ZTsKKyAgICAgICAgLy8gV2UgZXhwZWN0IHRoZSBwcm9q
ZWN0SWRlbnRpZmllciBvcHRpb24gaWZmIHRoZSB0YXJnZXQgVHJhYyBpbnN0YW5jZSBpcyBob3N0
aW5nIG11bHRpcGxlIHJlcG9zaXRvcmllcyAmJiBUcmFjIHZlcnNpb24gPiAxLjAKKyAgICAgICAg
dGhpcy5fcHJvamVjdE5hbWUgPSBvcHRpb25zW1RyYWMuUHJvamVjdElkZW50aWZpZXJdOworICAg
IH0KIAogICAgIHRoaXMucmVjb3JkZWRDb21taXRzID0gW107IC8vIFdpbGwgYmUgc29ydGVkIGlu
IGFzY2VuZGluZyBvcmRlci4KIH07CkBAIC00MCw2ICs0NCw3IEBAIEJhc2VPYmplY3QuYWRkQ29u
c3RydWN0b3JGdW5jdGlvbnMoVHJhYykKIFRyYWMuTk9fTU9SRV9SRVZJU0lPTlMgPSBudWxsOwog
CiBUcmFjLk5lZWRzQXV0aGVudGljYXRpb24gPSAibmVlZHNBdXRoZW50aWNhdGlvbiI7CitUcmFj
LlByb2plY3RJZGVudGlmaWVyID0gInByb2plY3RJZGVudGlmaWVyIjsKIFRyYWMuVXBkYXRlSW50
ZXJ2YWwgPSA0NTAwMDsgLy8gNDUgc2Vjb25kcwogCiBUcmFjLkV2ZW50ID0gewpAQCAtMTAzLDcg
KzEwOCwxMCBAQCBUcmFjLnByb3RvdHlwZSA9IHsKIAogICAgIHJldmlzaW9uVVJMOiBmdW5jdGlv
bihyZXZpc2lvbikKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLmJhc2VVUkwgKyAiY2hhbmdl
c2V0LyIgKyBlbmNvZGVVUklDb21wb25lbnQocmV2aXNpb24pOworICAgICAgICB2YXIgdXJsID0g
dGhpcy5iYXNlVVJMICsgImNoYW5nZXNldC8iICsgZW5jb2RlVVJJQ29tcG9uZW50KHJldmlzaW9u
KTsKKyAgICAgICAgaWYgKHRoaXMuX3Byb2plY3ROYW1lKQorICAgICAgICAgICAgdXJsICs9ICcv
JyArIGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9wcm9qZWN0TmFtZSk7CisgICAgICAgIHJldHVy
biB1cmw7CiAgICAgfSwKIAogICAgIF94bWxUaW1lbGluZVVSTDogZnVuY3Rpb24oZnJvbURhdGUs
IHRvRGF0ZSkKQEAgLTExMiwxMCArMTIwLDE0IEBAIFRyYWMucHJvdG90eXBlID0gewogCiAgICAg
ICAgIHZhciBmcm9tRGF5ID0gbmV3IERhdGUoZnJvbURhdGUuZ2V0RnVsbFllYXIoKSwgZnJvbURh
dGUuZ2V0TW9udGgoKSwgZnJvbURhdGUuZ2V0RGF0ZSgpKTsKICAgICAgICAgdmFyIHRvRGF5ID0g
bmV3IERhdGUodG9EYXRlLmdldEZ1bGxZZWFyKCksIHRvRGF0ZS5nZXRNb250aCgpLCB0b0RhdGUu
Z2V0RGF0ZSgpKTsKKyAgICAgICAgdmFyIGNoYW5nZXNldFBhcmFtZXRlciA9IHRoaXMuX3Byb2pl
Y3ROYW1lID8gInJlcG8tIiArIHRoaXMuX3Byb2plY3ROYW1lIDogImNoYW5nZXNldCI7CiAKLSAg
ICAgICAgcmV0dXJuIHRoaXMuYmFzZVVSTCArICJ0aW1lbGluZT9jaGFuZ2VzZXQ9b24mZm9ybWF0
PXJzcyZtYXg9MCIgKwotICAgICAgICAgICAgIiZmcm9tPSIgKyAgdG9EYXkudG9JU09TdHJpbmco
KS5zbGljZSgwLCAxMCkgKwotICAgICAgICAgICAgIiZkYXlzYmFjaz0iICsgKCh0b0RheSAtIGZy
b21EYXkpIC8gMTAwMCAvIDYwIC8gNjAgLyAyNCk7CisgICAgICAgIHJldHVybiB0aGlzLmJhc2VV
UkwgKyAidGltZWxpbmU/IiArCisgICAgICAgICAgICBjaGFuZ2VzZXRQYXJhbWV0ZXIgKyAiPW9u
IiArCisgICAgICAgICAgICAiJmZvcm1hdD1yc3MiICsKKyAgICAgICAgICAgICImbWF4PTAiICsK
KyAgICAgICAgICAgICImZnJvbT0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHRvRGF5LnRvSVNPU3Ry
aW5nKCkuc2xpY2UoMCwgMTApKSArCisgICAgICAgICAgICAiJmRheXNiYWNrPSIgKyBlbmNvZGVV
UklDb21wb25lbnQoKHRvRGF5IC0gZnJvbURheSkgLyAxMDAwIC8gNjAgLyA2MCAvIDI0KTsKICAg
ICB9LAogCiAgICAgX3BhcnNlUmV2aXNpb25Gcm9tVVJMOiBmdW5jdGlvbih1cmwpCkBAIC0xNTAs
NyArMTYyLDcgQEAgVHJhYy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBsb2NhdGlvbiA9ICIi
OwogICAgICAgICBpZiAocGFyc2VkRGVzY3JpcHRpb24uZmlyc3RDaGlsZCAmJiBwYXJzZWREZXNj
cmlwdGlvbi5maXJzdENoaWxkLmNsYXNzTmFtZSA9PT0gImNoYW5nZXMiKSB7CiAgICAgICAgICAg
ICAvLyBXZSBjYW4gZXh0cmFjdCBicmFuY2ggaW5mb3JtYXRpb24gd2hlbiB0cmFjLmluaSBjb250
YWlucyAiY2hhbmdlc2V0X3Nob3dfZmlsZXM9bG9jYXRpb24iLgotICAgICAgICAgICAgbG9jYXRp
b24gPSBkb2MuZXZhbHVhdGUoIi8vc3Ryb25nIiwgcGFyc2VkRGVzY3JpcHRpb24uZmlyc3RDaGls
ZCwgbnVsbCwgWFBhdGhSZXN1bHQuU1RSSU5HX1RZUEUpLnN0cmluZ1ZhbHVlCisgICAgICAgICAg
ICBsb2NhdGlvbiA9IGRvYy5ldmFsdWF0ZSgiLy9zdHJvbmciLCBwYXJzZWREZXNjcmlwdGlvbi5m
aXJzdENoaWxkLCBudWxsLCBYUGF0aFJlc3VsdC5TVFJJTkdfVFlQRSkuc3RyaW5nVmFsdWU7CiAg
ICAgICAgICAgICBwYXJzZWREZXNjcmlwdGlvbi5yZW1vdmVDaGlsZChwYXJzZWREZXNjcmlwdGlv
bi5maXJzdENoaWxkKTsKICAgICAgICAgfQogCkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9y
dC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy90
ZXN0cy9yZXNvdXJjZXMvTW9ja1RyYWMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1Nj
cmlwdHMvdGVzdHMvcmVzb3VyY2VzL01vY2tUcmFjLmpzCShyZXZpc2lvbiAyMTExNTUpCisrKyBU
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9kYXNoYm9hcmQvU2NyaXB0cy90ZXN0cy9yZXNvdXJjZXMvTW9ja1RyYWMuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTIzLDkgKzIzLDE1IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAotTW9ja1RyYWMgPSBmdW5jdGlvbigpCitNb2NrVHJhYyA9IGZ1bmN0aW9uKHBy
b2plY3RJZGVudGlmaWVyKQogewotICAgIFRyYWMuY2FsbCh0aGlzLCAiaHR0cHM6Ly90cmFjLndl
YmtpdC5vcmcvIik7CisgICAgaWYgKHByb2plY3RJZGVudGlmaWVyKSB7CisgICAgICAgIHZhciBv
cHRpb25zID0geyB9OworICAgICAgICBvcHRpb25zW1RyYWMuUHJvamVjdElkZW50aWZpZXJdID0g
cHJvamVjdElkZW50aWZpZXI7CisgICAgICAgIFRyYWMuY2FsbCh0aGlzLCAiaHR0cHM6Ly90cmFj
LndlYmtpdC5vcmcvIiwgb3B0aW9ucyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgVHJhYy5jYWxs
KHRoaXMsICJodHRwczovL3RyYWMud2Via2l0Lm9yZy8iKTsKKyAgICB9CiB9OwogCiBCYXNlT2Jq
ZWN0LmFkZENvbnN0cnVjdG9yRnVuY3Rpb25zKE1vY2tUcmFjKTsKSW5kZXg6IFRvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2Fy
ZC9TY3JpcHRzL3Rlc3RzL3Jlc291cmNlcy90ZXN0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNo
Ym9hcmQvU2NyaXB0cy90ZXN0cy9yZXNvdXJjZXMvdGVzdHMuanMJKHJldmlzaW9uIDIxMTE1NSkK
KysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1Ymxp
Y19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL3Rlc3RzL3Jlc291cmNlcy90ZXN0cy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtNDEsNiArNDEsNyBAQCBRVW5pdC5kb25lID0gZnVuY3Rpb24oZGV0YWlscykg
ewogbW9kdWxlKCJUcmFjIiwgewogICAgIHNldHVwOiBmdW5jdGlvbigpIHsKICAgICAgICAgdGhp
cy50cmFjID0gbmV3IE1vY2tUcmFjKCk7CisgICAgICAgIHRoaXMudHJhY1dpdGhJZGVudGlmaWVy
ID0gbmV3IE1vY2tUcmFjKCJ3ZWJraXQiKTsKICAgICB9CiB9KTsKIApAQCAtMTIxLDYgKzEyMiwz
NiBAQCB0ZXN0KCJjb21taXRzT25CcmFuY2hJblJldmlzaW9uUmFuZ2UiLCBmCiAgICAgZXF1YWwo
Y29tbWl0cy5sZW5ndGgsIDIsICJpbiByYW5nZSAzMzAyMCwgMzMwMjIiKTsKIH0pOwogCit0ZXN0
KCJyZXZpc2lvblVSTCIsIGZ1bmN0aW9uKCkKK3sKKyAgICBzdHJpY3RFcXVhbCh0aGlzLnRyYWMu
cmV2aXNpb25VUkwoIjMzMDIwIiksICJodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MzMwMjAiLCAiY2hhbmdlc2V0IFVSTCBtYXRjaGVzIGZvciAzMzAyMCIpOworICAgIHN0cmljdEVx
dWFsKHRoaXMudHJhYy5yZXZpc2lvblVSTCgiMGU0OThkYjVkOGU1YjVhMzQyNjMxIiksICJodHRw
czovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMGU0OThkYjVkOGU1YjVhMzQyNjMxIiwgImNo
YW5nZXNldCBVUkwgbWF0Y2hlcyBmb3IgMGU0OThkYjVkOGU1YjVhMzQyNjMxIik7Cit9KTsKKwor
dGVzdCgicmV2aXNpb25VUkwgd2l0aCBUcmFjIElkZW50aWZpZXIiLCBmdW5jdGlvbigpCit7Cisg
ICAgc3RyaWN0RXF1YWwodGhpcy50cmFjV2l0aElkZW50aWZpZXIucmV2aXNpb25VUkwoIjMzMDIw
IiksICJodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMzMwMjAvd2Via2l0IiwgImNo
YW5nZXNldCBVUkwgbWF0Y2hlcyBmb3IgMzMwMjAiKTsKKyAgICBzdHJpY3RFcXVhbCh0aGlzLnRy
YWNXaXRoSWRlbnRpZmllci5yZXZpc2lvblVSTCgiMGU0OThkYjVkOGU1YjVhMzQyNjMxIiksICJo
dHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMGU0OThkYjVkOGU1YjVhMzQyNjMxL3dl
YmtpdCIsICJjaGFuZ2VzZXQgVVJMIG1hdGNoZXMgZm9yIDBlNDk4ZGI1ZDhlNWI1YTM0MjYzMSIp
OworfSk7CisKK3Rlc3QoIl94bWxUaW1lbGluZVVSTCIsIGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIg
YmVmb3JlID0gbmV3IERhdGUoIjEvMS8yMDE3Iik7CisgICAgdmFyIGFmdGVyID0gbmV3IERhdGUo
IjEvMi8yMDE3Iik7CisKKyAgICBzdHJpY3RFcXVhbCh0aGlzLnRyYWMuX3htbFRpbWVsaW5lVVJM
KGJlZm9yZSwgYmVmb3JlKSwgImh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3RpbWVsaW5lP2NoYW5n
ZXNldD1vbiZmb3JtYXQ9cnNzJm1heD0wJmZyb209MjAxNy0wMS0wMSZkYXlzYmFjaz0wIik7Cisg
ICAgc3RyaWN0RXF1YWwodGhpcy50cmFjLl94bWxUaW1lbGluZVVSTChiZWZvcmUsIGFmdGVyKSwg
Imh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3RpbWVsaW5lP2NoYW5nZXNldD1vbiZmb3JtYXQ9cnNz
Jm1heD0wJmZyb209MjAxNy0wMS0wMiZkYXlzYmFjaz0xIik7Cit9KTsKKwordGVzdCgiX3htbFRp
bWVsaW5lVVJMIHdpdGggVHJhYyBJZGVudGlmaWVyIiwgZnVuY3Rpb24oKQoreworICAgIHZhciBi
ZWZvcmUgPSBuZXcgRGF0ZSgiMS8xLzIwMTciKTsKKyAgICB2YXIgYWZ0ZXIgPSBuZXcgRGF0ZSgi
MS8yLzIwMTciKTsKKworICAgIHN0cmljdEVxdWFsKHRoaXMudHJhY1dpdGhJZGVudGlmaWVyLl94
bWxUaW1lbGluZVVSTChiZWZvcmUsIGJlZm9yZSksICJodHRwczovL3RyYWMud2Via2l0Lm9yZy90
aW1lbGluZT9yZXBvLXdlYmtpdD1vbiZmb3JtYXQ9cnNzJm1heD0wJmZyb209MjAxNy0wMS0wMSZk
YXlzYmFjaz0wIik7CisgICAgc3RyaWN0RXF1YWwodGhpcy50cmFjV2l0aElkZW50aWZpZXIuX3ht
bFRpbWVsaW5lVVJMKGJlZm9yZSwgYWZ0ZXIpLCAiaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvdGlt
ZWxpbmU/cmVwby13ZWJraXQ9b24mZm9ybWF0PXJzcyZtYXg9MCZmcm9tPTIwMTctMDEtMDImZGF5
c2JhY2s9MSIpOworfSk7CisKIG1vZHVsZSgiQnVpbGRCb3RRdWV1ZVZpZXciLCB7CiAgICAgc2V0
dXA6IGZ1bmN0aW9uKCkgewogICAgICAgICB0aGlzLnRyYWMgPSBuZXcgTW9ja1RyYWMoKTsKQEAg
LTE3OSw3ICsyMTAsNyBAQCB0ZXN0KCJfcHJlc2VudFBvcG92ZXJGb3JQZW5kaW5nQ29tbWl0cyBu
CiAgICAgICAgICAgICByZXZpc2lvbjogeyAib3BlblNvdXJjZSI6ICIzMzAyMSIgfSwKICAgICAg
ICAgfTsKICAgICAgICAgcmV0dXJuIGl0ZXJhdGlvbjsKLSAgICB9CisgICAgfTsKICAgICB2YXIg
ZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIHZhciBwb3BvdmVy
ID0gbmV3IERhc2hib2FyZC5Qb3BvdmVyKCk7CiAgICAgdGhpcy52aWV3Ll9wcmVzZW50UG9wb3Zl
ckZvclBlbmRpbmdDb21taXRzKGVsZW1lbnQsIHBvcG92ZXIsIHRoaXMucXVldWUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>