<?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>167457</bug_id>
          
          <creation_ts>2017-01-26 08:21:33 -0800</creation_ts>
          <short_desc>Web Inspector: allow import() inside the inspector</short_desc>
          <delta_ts>2017-02-16 10:22:09 -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</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>166926</dependson>
    
    <dependson>167698</dependson>
          <blocked>167926</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1270207</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-26 08:21:33 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270569</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-26 22:26:55 -0800</bug_when>
    <thetext>We need to add ScriptFetcher for inspector&apos;s script execution after WebCore dynamic-import patch is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270573</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-26 22:53:39 -0800</bug_when>
    <thetext>What does this bug mean to &quot;allow import()&quot;. Allow it where? In the Inspector&apos;s console? In the Web Inspector code itself?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270599</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-27 01:11:46 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; What does this bug mean to &quot;allow import()&quot;. Allow it where? In the
&gt; Inspector&apos;s console? In the Web Inspector code itself?

In the inspector&apos;s console. The goal is evaluating `await import(&quot;...&quot;)`.
It will import the module and return the module namespace object!

This is blocked by 2 issues.

1. This issue. Currently, we do not set effective ScriptFetcher for the code executed from the inspector console. This should be fixed in this issue. This allows us to evaluate `import()` in the console. Currently, it always returns rejected promise.

2. Accepting `await import()`. This is now syntax error since Esprima does not recognize `import()` new operator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270693</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-27 10:48:28 -0800</bug_when>
    <thetext>Awesome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270958</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-01-28 02:32:24 -0800</bug_when>
    <thetext>Related links for Esprima supports.

1. https://github.com/estree/estree/pull/137 AST node PR
2. https://github.com/jquery/esprima/issues/1728 Esprima issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271051</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-28 13:30:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/30249567&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272180</commentid>
    <comment_count>7</comment_count>
      <attachid>300335</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-01 10:04:19 -0800</bug_when>
    <thetext>Created attachment 300335
Patch

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272188</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-01 10:21:30 -0800</bug_when>
    <thetext>Attachment 300335 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 4 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>1272425</commentid>
    <comment_count>9</comment_count>
      <attachid>300397</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-02 03:30:13 -0800</bug_when>
    <thetext>Created attachment 300397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272494</commentid>
    <comment_count>10</comment_count>
      <attachid>300397</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-02-02 09:50:36 -0800</bug_when>
    <thetext>Comment on attachment 300397
Patch

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

Test looks good with some nits. I would like someone more familiar with module code to review JSC changes.

&gt; LayoutTests/inspector/controller/runtime-controller.html:134
&gt; +                    callback(result, wasThrown);

Shouldn&apos;t you be logging wasThrown and the exception value if it threw one somewhere? This is currently only testing that it goes through console.log, not as return value from evaluateInInspectedWindow().

&gt; LayoutTests/inspector/controller/runtime-controller.html:138
&gt; +            function expectUndefined(result, wasThrown) {

I think you can just inline this into testSource(), we only ever use this function for `callback` parameter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272909</commentid>
    <comment_count>11</comment_count>
      <attachid>300397</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-03 07:10:57 -0800</bug_when>
    <thetext>Comment on attachment 300397
Patch

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

Thanks!

&gt;&gt; LayoutTests/inspector/controller/runtime-controller.html:134
&gt;&gt; +                    callback(result, wasThrown);
&gt; 
&gt; Shouldn&apos;t you be logging wasThrown and the exception value if it threw one somewhere? This is currently only testing that it goes through console.log, not as return value from evaluateInInspectedWindow().

`result` always become undefined if we use `await` in console. And wasThrow is always false. Thrown error is drained by the try-catch in the rewrote code for `await`.

&gt;&gt; LayoutTests/inspector/controller/runtime-controller.html:138
&gt;&gt; +            function expectUndefined(result, wasThrown) {
&gt; 
&gt; I think you can just inline this into testSource(), we only ever use this function for `callback` parameter.

OK, done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272911</commentid>
    <comment_count>12</comment_count>
      <attachid>300531</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-03 07:11:52 -0800</bug_when>
    <thetext>Created attachment 300531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272912</commentid>
    <comment_count>13</comment_count>
      <attachid>300532</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-03 07:13:27 -0800</bug_when>
    <thetext>Created attachment 300532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273884</commentid>
    <comment_count>14</comment_count>
      <attachid>300532</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-06 22:54:23 -0800</bug_when>
    <thetext>Comment on attachment 300532
Patch

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

&gt; Source/WebCore/bindings/js/ScriptModuleLoader.cpp:225
&gt; +    //     1. The code evaluated by the inspector.
&gt; +    //     2. The other unusual code execution like the evaluation through the NPAPI.

Other cases to consider will be extension scripts &amp; injected bundle&apos;s scripts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273890</commentid>
    <comment_count>15</comment_count>
      <attachid>300532</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-07 00:15:20 -0800</bug_when>
    <thetext>Comment on attachment 300532
Patch

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

&gt;&gt; Source/WebCore/bindings/js/ScriptModuleLoader.cpp:225
&gt;&gt; +    //     2. The other unusual code execution like the evaluation through the NPAPI.
&gt; 
&gt; Other cases to consider will be extension scripts &amp; injected bundle&apos;s scripts.

Thanks! I&apos;ve opened the bug for that. https://bugs.webkit.org/show_bug.cgi?id=167926</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273893</commentid>
    <comment_count>16</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-07 00:18:51 -0800</bug_when>
    <thetext>Committed r211777: &lt;http://trac.webkit.org/changeset/211777&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274037</commentid>
    <comment_count>17</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-02-07 09:58:14 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Committed r211777: &lt;http://trac.webkit.org/changeset/211777&gt;

The LayoutTest for this change appears to be failing: https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK1%20(Tests)/r211811%20(11376)/results.html

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=inspector%2Fcontroller%2Fruntime-controller.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274051</commentid>
    <comment_count>18</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-07 10:26:27 -0800</bug_when>
    <thetext>Committed r211818: &lt;http://trac.webkit.org/changeset/211818&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274053</commentid>
    <comment_count>19</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-07 10:28:06 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; Committed r211777: &lt;http://trac.webkit.org/changeset/211777&gt;
&gt; 
&gt; The LayoutTest for this change appears to be failing:
&gt; https://build.webkit.org/results/
&gt; Apple%20El%20Capitan%20Debug%20WK1%20(Tests)/r211811%20(11376)/results.html
&gt; 
&gt; https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
&gt; html#showAllRuns=true&amp;tests=inspector%2Fcontroller%2Fruntime-controller.html

It seems that this is because the added tests are not deterministic.
I&apos;ll update/add the deterministic one.
I&apos;ve just manually rolled out the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274055</commentid>
    <comment_count>20</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-07 10:29:06 -0800</bug_when>
    <thetext>Reopen the bug to add the deterministic tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277703</commentid>
    <comment_count>21</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-16 09:33:56 -0800</bug_when>
    <thetext>Committed r212438: &lt;http://trac.webkit.org/changeset/212438&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277705</commentid>
    <comment_count>22</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-16 09:34:30 -0800</bug_when>
    <thetext>Reland it with the deterministic tests extracted from the original test file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277725</commentid>
    <comment_count>23</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-16 10:16:07 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Reland it with the deterministic tests extracted from the original test file.

Hmmm, still failing. But the test works fine in GTK port. Looking...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277730</commentid>
    <comment_count>24</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-16 10:22:09 -0800</bug_when>
    <thetext>Committed r212444: &lt;http://trac.webkit.org/changeset/212444&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300335</attachid>
            <date>2017-02-01 10:04:19 -0800</date>
            <delta_ts>2017-02-02 03:30:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167457-20170202030206.patch</filename>
            <type>text/plain</type>
            <size>6041</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
Mjk4ZmQ1ODYxZWZlZjkwYzRkNWZjZjQyYWVkMmY4YWRiNzg1ZDg5Li4yOGVlYzYzMGVhNGI5ZTIx
NTQyNTQ4ZjNkMjZmYTRmOWQ2MjI4ZGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNyBAQAogMjAxNy0wMi0wMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBhbGxvdyBpbXBvcnQoKSBpbnNpZGUgdGhl
IGluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY3NDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBqc2MuY3BwOgorICAgICAgICAoR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJbXBvcnRN
b2R1bGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgor
ICAgICAgICAoSlNDOjpnbG9iYWxGdW5jSW1wb3J0TW9kdWxlKToKKworMjAxNy0wMi0wMSAgWXVz
dWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKwogICAgICAgICBBcml0eUZpeHVw
IHNob3VsZCBhZGp1c3QgU1AgZmlyc3QKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NzIzOQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IwZmNiNGMzZjE4ZjNiNjA4
NTBjNzI0MzkyYmQyNzkzY2Y4MzA5Ny4uNjhkZDlmYmFmOGQyMmVkN2Q3OWMzYWE3MDRmYTUxNzlm
NDlkMzE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAyLTAxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IGFsbG93IGltcG9ydCgpIGluc2lkZSB0aGUgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc0NTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAg
ICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVsZSk6CisKIDIwMTctMDItMDEgIEVu
cmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1N0cmVhbWVyXVtNU0VdIHF0ZGVtdXg6IFVwZGF0ZSB0aGUgdGZkdCBwYXRjaCB0byB0aGUgdmVy
c2lvbiBmaW5hbGx5IGFjY2VwdGVkIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvanNjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IGJk
YTlhMDlkMGQyNmI5NmMzZjUwYTIyOTlkMjQ5MzNhYzc0ZjMwNTYuLjE2YzA0MjhhOWFkY2NjOGRl
NDQ0MTE2YzIwMjhiYTdhODRkOGM0NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qc2MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0xNTUxLDYg
KzE1NTEsOSBAQCBKU0ludGVybmFsUHJvbWlzZSogR2xvYmFsT2JqZWN0Ojptb2R1bGVMb2FkZXJJ
bXBvcnRNb2R1bGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbAogICAgICAgICByZXR1cm4gSlNJbnRl
cm5hbFByb21pc2VEZWZlcnJlZDo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCktPnJlamVjdChl
eGVjLCBlcnJvcik7CiAgICAgfTsKIAorICAgIGlmIChzb3VyY2VPcmlnaW4uaXNOdWxsKCkpCisg
ICAgICAgIHJldHVybiByZWplY3RQcm9taXNlKGNyZWF0ZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJh
bCgiQ291bGQgbm90IHJlc29sdmUgdGhlIG1vZHVsZSBzcGVjaWZpZXIuIikpKTsKKwogICAgIGF1
dG8gcmVmZXJyZXIgPSBzb3VyY2VPcmlnaW4uc3RyaW5nKCk7CiAgICAgYXV0byBtb2R1bGVOYW1l
ID0gbW9kdWxlTmFtZVZhbHVlLT52YWx1ZShleGVjKTsKICAgICBpZiAoVU5MSUtFTFkoc2NvcGUu
ZXhjZXB0aW9uKCkpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKaW5kZXggZjNmNzZlNmE5MzI2NDZhNDJj
OWE4MWZjOTFiMjAyMDg0ZTY4NjRkNy4uZTNhNDE0NjgyNDk4Mjc2MTEzNmVjN2JiOGI3MDk1MzAx
NzI2MzhjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcApAQCAtOTQ0LDExICs5NDQsNiBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNJbXBvcnRNb2R1bGUoRXhlY1N0YXRlKiBl
eGVjKQogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oY2F0Y2hTY29wZSwgeyB9KTsKIAogICAgIGF1
dG8gc291cmNlT3JpZ2luID0gZXhlYy0+Y2FsbGVyU291cmNlT3JpZ2luKCk7Ci0gICAgaWYgKHNv
dXJjZU9yaWdpbi5pc051bGwoKSkgewotICAgICAgICBwcm9taXNlLT5yZWplY3QoZXhlYywgY3Jl
YXRlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJDb3VsZCBub3QgcmVzb2x2ZSB0aGUgbW9kdWxl
IHNwZWNpZmllci4iKSkpOwotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHByb21pc2Ut
PnByb21pc2UoKSk7Ci0gICAgfQotCiAgICAgUkVMRUFTRV9BU1NFUlQoZXhlYy0+YXJndW1lbnRD
b3VudCgpID09IDEpOwogICAgIGF1dG8qIHNwZWNpZmllciA9IGV4ZWMtPnVuY2hlY2tlZEFyZ3Vt
ZW50KDApLnRvU3RyaW5nKGV4ZWMpOwogICAgIGlmIChFeGNlcHRpb24qIGV4Y2VwdGlvbiA9IGNh
dGNoU2NvcGUuZXhjZXB0aW9uKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCmluZGV4IDFjZTcyNTNlMmZlYzhmYzAxOTVkMjRmMGQ2
NmQ5ODg2NTdkMzU4MTguLjQzOGUzNTg5MDMwN2M2NWQwNWU1MjFlZWVjNDIwNWM4YjVlMzMzNDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVy
LmNwcApAQCAtMjE4LDIyICsyMTgsMzUgQEAgSlNDOjpKU0ludGVybmFsUHJvbWlzZSogU2NyaXB0
TW9kdWxlTG9hZGVyOjppbXBvcnRNb2R1bGUoSlNDOjpKU0dsb2JhbE9iamVjdCoganMKICAgICBK
U0M6OlZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKkpTQzo6
anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oanNHbG9iYWxPYmplY3QpOwogCi0gICAgLy8gRklY
TUU6IHNldFRpbWVvdXQgYW5kIHNldEludGVydmFsIHdpdGggInN0cmluZygpIiBzaG91bGQgcHJv
cGFnYXRlIFNvdXJjZU9yaWdpbi4KLSAgICAvLyBodHRwczovL3dlYmtpdC5vcmcvYi8xNjcwOTcK
LSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFzb3VyY2VPcmlnaW4uaXNOdWxsKCksICJJZiBTb3Vy
Y2VPcmlnaW4gaXMgbnVsbCwgdGhpcyBmdW5jdGlvbiBpcyBub3QgaW52b2tlZC4iKTsKLSAgICBp
ZiAoIXNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCi0gICAgICAgIHJldHVybiByZWplY3RQcm9taXNl
KHN0YXRlLCBnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJDb3VsZCBub3Qg
dXNlIGltcG9ydCBvcGVyYXRvciBpbiB0aGlzIGNvbnRleHQuIikpOwotCi0gICAgVVJMIGJhc2VV
UkwoVVJMKCksIHNvdXJjZU9yaWdpbi5zdHJpbmcoKSk7Ci0gICAgaWYgKCFiYXNlVVJMLmlzVmFs
aWQoKSkKLSAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2Uoc3RhdGUsIGdsb2JhbE9iamVjdCwg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIkltcG9ydGVyIG1vZHVsZSBrZXkgaXMgbm90IFN5bWJv
bCBvciBTdHJpbmcuIikpOworICAgIC8vIElmIFNvdXJjZU9yaWdpbiBhbmQvb3IgQ2FjaGVkU2Ny
aXB0RmV0Y2hlciBpcyBudWxsLCB3ZSBpbXBvcnQgdGhlIG1vZHVsZSB3aXRoIHRoZSBkZWZhdWx0
IGZldGNoZXIuCisgICAgLy8gU291cmNlT3JpZ2luIGNhbiBiZSBudWxsIGlmIHRoZSBzb3VyY2Ug
Y29kZSBpcyBub3QgY291cGxlZCB3aXRoIHRoZSBzY3JpcHQgZmlsZS4KKyAgICAvLyBUaGUgZXhh
bXBsZXMsCisgICAgLy8gICAgIDEuIFRoZSBjb2RlIGV2YWx1YXRlZCBieSB0aGUgaW5zcGVjdG9y
LgorICAgIC8vICAgICAyLiBUaGUgb3RoZXIgdW51c3VhbCBjb2RlIGV4ZWN1dGlvbiBsaWtlIHRo
ZSBldmFsdWF0aW9uIHRocm91Z2ggdGhlIE5QQVBJLgorICAgIFVSTCBiYXNlVVJMOworICAgIFJl
ZlB0cjxKU0M6OlNjcmlwdEZldGNoZXI+IHNjcmlwdEZldGNoZXI7CisgICAgaWYgKHNvdXJjZU9y
aWdpbi5pc051bGwoKSkgeworICAgICAgICBiYXNlVVJMID0gbV9kb2N1bWVudC5iYXNlVVJMKCk7
CisgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3JpcHRGZXRjaGVyOjpjcmVhdGUobV9k
b2N1bWVudC5jaGFyc2V0KCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIGJhc2VVUkwgPSBVUkwo
VVJMKCksIHNvdXJjZU9yaWdpbi5zdHJpbmcoKSk7CisgICAgICAgIGlmICghYmFzZVVSTC5pc1Zh
bGlkKCkpCisgICAgICAgICAgICByZXR1cm4gcmVqZWN0UHJvbWlzZShzdGF0ZSwgZ2xvYmFsT2Jq
ZWN0LCBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiSW1wb3J0ZXIgbW9kdWxlIGtleSBpcyBub3Qg
YSBTeW1ib2wgb3IgYSBTdHJpbmcuIikpOworCisgICAgICAgIGlmIChzb3VyY2VPcmlnaW4uZmV0
Y2hlcigpKQorICAgICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IHNvdXJjZU9yaWdpbi5mZXRjaGVy
KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNjcmlwdEZldGNoZXIgPSBDYWNoZWRTY3Jp
cHRGZXRjaGVyOjpjcmVhdGUobV9kb2N1bWVudC5jaGFyc2V0KCkpOworICAgIH0KKyAgICBBU1NF
UlQoYmFzZVVSTC5pc1ZhbGlkKCkpOworICAgIEFTU0VSVChzY3JpcHRGZXRjaGVyKTsKIAogICAg
IGF1dG8gc3BlY2lmaWVyID0gbW9kdWxlTmFtZS0+dmFsdWUoZXhlYyk7CiAgICAgYXV0byByZXN1
bHQgPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKG1fZG9jdW1lbnQsIHNwZWNpZmllciwgYmFzZVVS
TCk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiByZWplY3RQcm9taXNlKHN0YXRl
LCBnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgcmVzdWx0LmVycm9yKCkpOwogCi0gICAgcmV0dXJu
IEpTQzo6aW1wb3J0TW9kdWxlKGV4ZWMsIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0s
IHJlc3VsdC0+c3RyaW5nKCkpLCBKU0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3JlYXRlKHZtLCBzb3Vy
Y2VPcmlnaW4uZmV0Y2hlcigpICkpOworICAgIHJldHVybiBKU0M6OmltcG9ydE1vZHVsZShleGVj
LCBKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCByZXN1bHQtPnN0cmluZygpKSwgSlND
OjpKU1NjcmlwdEZldGNoZXI6OmNyZWF0ZSh2bSwgV1RGTW92ZShzY3JpcHRGZXRjaGVyKSApKTsK
IH0KIAogdm9pZCBTY3JpcHRNb2R1bGVMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZE1vZHVs
ZVNjcmlwdExvYWRlciYgbG9hZGVyLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBwcm9taXNlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300397</attachid>
            <date>2017-02-02 03:30:13 -0800</date>
            <delta_ts>2017-02-03 07:11:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167457-20170202202759.patch</filename>
            <type>text/plain</type>
            <size>12965</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
OWUwZDlmMzkwNjZkYjJkYjlkYjJhMDgyOTgzY2UwODdiYTUyYjMzLi5kNDg0ODM4OTc0YzJkMjY0
YjQ4YjE2MmUzMTUyY2Q1YzBhZGQ5MjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNy0wMi0wMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhbGxvdyBpbXBvcnQoKSBpbnNpZGUgdGhl
IGluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY3NDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2UgcmVsYXggaW1wb3J0IG1vZHVsZSBob29rIHRvIGFjY2VwdCBudWxsIFNvdXJjZU9yaWdp
bi4KKyAgICAgICAgU3VjaCBhIHNjcmlwdCBjYW4gYmUgZXZhbHVhdGVkIGZyb20gdGhlIGluc3Bl
Y3RvciBjb25zb2xlLgorCisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKEdsb2JhbE9iamVj
dDo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFs
T2JqZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6Z2xvYmFsRnVuY0ltcG9ydE1vZHVs
ZSk6CisKIDIwMTctMDItMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmVkIHVudXNlZCBtX2Vycm9ySGFuZGxpbmdNb2RlUmVlbnRyeSBmcm9t
IEludGVycHJldGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBiMzUzYjgwYTE2YTkxOWFkMDI4NDhjZDA5NDJm
YjYxZDE4OTIyMi4uN2UzYjkwYzExNGU1OTc0YzlmZTIyZDNlYmRjNGE3ZTQ2OGFjYWRlZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTAyLTAyICBZdXN1a2UgU3V6dWtpICA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFsbG93IGltcG9y
dCgpIGluc2lkZSB0aGUgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjc0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGVuIGV2YWx1YXRpbmcgYGltcG9ydCgiLi4uIilgLCB3ZSBuZWVk
IHRoZSBjYWxsZXIncyBjb250ZXh0IHRvIHJlc29sdmUKKyAgICAgICAgdGhlIG1vZHVsZSBzcGVj
aWZpZXIgY29ycmVjdGx5LiBGb3IgZXhhbXBsZSwgaWYgYGltcG9ydCgiLi9jb2NvYS5qcyIpYCBp
cworICAgICAgICBldmFsdWF0ZWQgaW4gdGhlIHNjcmlwdCAiZHJpbmtzL2hvdC5qcyIsIHRoaXMg
bW9kdWxlIG5hbWUgaXMgcmVzb2x2ZWQgdG8KKyAgICAgICAgImRyaW5rcy9jb2NvYS5qcyIuIElm
IHRoZSBzYW1lIGltcG9ydCBvcGVyYXRvciBpcyBldmFsdWF0ZWQgaW4gdGhlIHNjcmlwdAorICAg
ICAgICAibWVudS9hbGwuanMiLCB0aGUgbW9kdWxlIHNwZWNpZmllciBiZWNvbWVzICJtZW51L2Nv
Y29hLmpzIi4KKworICAgICAgICBQcmV2aW91c2x5IHdlIHJlamVjdCB0aGUgaW1wb3J0IG9wZXJh
dG9yIGlmIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWNoCisgICAgICAgIGEgY29udGV4dC4g
VGhlc2UgY29udGV4dCBpcyBTb3VyY2VPcmlnaW4gYW5kIGl0cyBTY3JpcHRGZXRjaGVyLiBXaGls
ZSB0aGV5CisgICAgICAgIGFyZSBvZmZlcmVkIGluIHRoZSBzY3JpcHQgdGFnIGFuZCBvdGhlciBj
b2RlIGV2YWx1YXRpb25zLCB0aGUgaW5zcGVjdG9yCisgICAgICAgIGNvbnNvbGUgZG9lcyBub3Qg
b2ZmZXIgdGhhdC4gVGhlc2UgY2xhc3MgYXJlIG9mZmVyZWQgaW4gdGhlIFdlYkNvcmUgc2lkZQor
ICAgICAgICBhbmQgd2Ugc2hvdWxkIG5vdCB0b3VjaCB0aGVzZSBjbGFzc2VzIGluIHRoZSBKU0Mn
cyBpbnNwZWN0b3IgY29kZS4KKworICAgICAgICBOb3cgd2UgcmVsYXggdGhlIGFib3ZlIHJlc3Ry
aWN0aW9uLiBJZiB0aGUgYWJvdmUgY2FsbGVyIGluZm9ybWF0aW9uIGlzIG5vdAorICAgICAgICBv
ZmZlcmVkLCB3ZSBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBvbmUuIEluIHRoZSB3ZWIgcGFnZSwg
d2UgdXNlIHRoZSBwYWdlJ3MKKyAgICAgICAgVVJMIGFzIHRoZSBjYWxsZXIncyBzb3VyY2Ugb3Jp
Z2luLiBUaGlzIGFsbG93cyB1cyB0byBldmFsdWF0ZSB0aGUgaW1wb3J0CisgICAgICAgIG9wZXJh
dG9yIGluIHRoZSBpbnNwZWN0b3IgY29uc29sZS4KKworICAgICAgICBBbmQgYXMgb2YgcjE2NzY5
OCwgdGhlIGNvbnNvbGUgcmVjb2duaXplcyBgYXdhaXQgaW1wb3J0KCIuLi4iKWAgZm9ybS4gV2Ug
dXNlCisgICAgICAgIHRoaXMgdG8gdGVzdCB0aGlzIGBpbXBvcnQoKWAgaW4gdGhlIGNvbnNvbGUg
ZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVs
ZSk6CisKIDIwMTctMDItMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmVkIHVudXNlZCBtX25hdmlnYXRpb25TdGFydCBmcm9tIE5hdmlnYXRv
ckdhbWVwYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggYmRhOWEwOWQwZDI2Yjk2YzNmNTBhMjI5
OWQyNDkzM2FjNzRmMzA1Ni4uMTZjMDQyOGE5YWRjY2M4ZGU0NDQxMTZjMjAyOGJhN2E4NGQ4YzQ1
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTE1NTEsNiArMTU1MSw5IEBAIEpTSW50ZXJuYWxQ
cm9taXNlKiBHbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsCiAgICAgICAgIHJldHVybiBKU0ludGVybmFsUHJvbWlzZURlZmVycmVkOjpj
cmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KS0+cmVqZWN0KGV4ZWMsIGVycm9yKTsKICAgICB9Owog
CisgICAgaWYgKHNvdXJjZU9yaWdpbi5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIHJlamVjdFBy
b21pc2UoY3JlYXRlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJDb3VsZCBub3QgcmVzb2x2ZSB0
aGUgbW9kdWxlIHNwZWNpZmllci4iKSkpOworCiAgICAgYXV0byByZWZlcnJlciA9IHNvdXJjZU9y
aWdpbi5zdHJpbmcoKTsKICAgICBhdXRvIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lVmFsdWUtPnZh
bHVlKGV4ZWMpOwogICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmNwcAppbmRleCBmM2Y3NmU2YTkzMjY0NmE0MmM5YTgxZmM5MWIyMDIwODRlNjg2NGQ3
Li5lM2E0MTQ2ODI0OTgyNzYxMTM2ZWM3YmI4YjcwOTUzMDE3MjYzOGNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlv
bnMuY3BwCkBAIC05NDQsMTEgKzk0NCw2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
Z2xvYmFsRnVuY0ltcG9ydE1vZHVsZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihjYXRjaFNjb3BlLCB7IH0pOwogCiAgICAgYXV0byBzb3VyY2VPcmlnaW4gPSBleGVj
LT5jYWxsZXJTb3VyY2VPcmlnaW4oKTsKLSAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVsbCgpKSB7
Ci0gICAgICAgIHByb21pc2UtPnJlamVjdChleGVjLCBjcmVhdGVFcnJvcihleGVjLCBBU0NJSUxp
dGVyYWwoIkNvdWxkIG5vdCByZXNvbHZlIHRoZSBtb2R1bGUgc3BlY2lmaWVyLiIpKSk7Ci0gICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocHJvbWlzZS0+cHJvbWlzZSgpKTsKLSAgICB9Ci0K
ICAgICBSRUxFQVNFX0FTU0VSVChleGVjLT5hcmd1bWVudENvdW50KCkgPT0gMSk7CiAgICAgYXV0
byogc3BlY2lmaWVyID0gZXhlYy0+dW5jaGVja2VkQXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYyk7
CiAgICAgaWYgKEV4Y2VwdGlvbiogZXhjZXB0aW9uID0gY2F0Y2hTY29wZS5leGNlcHRpb24oKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5j
cHAKaW5kZXggMWNlNzI1M2UyZmVjOGZjMDE5NWQyNGYwZDY2ZDk4ODY1N2QzNTgxOC4uNDM4ZTM1
ODkwMzA3YzY1ZDA1ZTUyMWVlZWM0MjA1YzhiNWUzMzM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCkBAIC0yMTgsMjIgKzIxOCwz
NSBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1v
ZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqcwogICAgIEpTQzo6Vk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmpl
Y3QqPihqc0dsb2JhbE9iamVjdCk7CiAKLSAgICAvLyBGSVhNRTogc2V0VGltZW91dCBhbmQgc2V0
SW50ZXJ2YWwgd2l0aCAic3RyaW5nKCkiIHNob3VsZCBwcm9wYWdhdGUgU291cmNlT3JpZ2luLgot
ICAgIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE2NzA5NwotICAgIEFTU0VSVF9XSVRIX01FU1NB
R0UoIXNvdXJjZU9yaWdpbi5pc051bGwoKSwgIklmIFNvdXJjZU9yaWdpbiBpcyBudWxsLCB0aGlz
IGZ1bmN0aW9uIGlzIG5vdCBpbnZva2VkLiIpOwotICAgIGlmICghc291cmNlT3JpZ2luLmZldGNo
ZXIoKSkKLSAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2Uoc3RhdGUsIGdsb2JhbE9iamVjdCwg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIkNvdWxkIG5vdCB1c2UgaW1wb3J0IG9wZXJhdG9yIGlu
IHRoaXMgY29udGV4dC4iKSk7Ci0KLSAgICBVUkwgYmFzZVVSTChVUkwoKSwgc291cmNlT3JpZ2lu
LnN0cmluZygpKTsKLSAgICBpZiAoIWJhc2VVUkwuaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4g
cmVqZWN0UHJvbWlzZShzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiSW1wb3J0ZXIgbW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisgICAg
Ly8gSWYgU291cmNlT3JpZ2luIGFuZC9vciBDYWNoZWRTY3JpcHRGZXRjaGVyIGlzIG51bGwsIHdl
IGltcG9ydCB0aGUgbW9kdWxlIHdpdGggdGhlIGRlZmF1bHQgZmV0Y2hlci4KKyAgICAvLyBTb3Vy
Y2VPcmlnaW4gY2FuIGJlIG51bGwgaWYgdGhlIHNvdXJjZSBjb2RlIGlzIG5vdCBjb3VwbGVkIHdp
dGggdGhlIHNjcmlwdCBmaWxlLgorICAgIC8vIFRoZSBleGFtcGxlcywKKyAgICAvLyAgICAgMS4g
VGhlIGNvZGUgZXZhbHVhdGVkIGJ5IHRoZSBpbnNwZWN0b3IuCisgICAgLy8gICAgIDIuIFRoZSBv
dGhlciB1bnVzdWFsIGNvZGUgZXhlY3V0aW9uIGxpa2UgdGhlIGV2YWx1YXRpb24gdGhyb3VnaCB0
aGUgTlBBUEkuCisgICAgVVJMIGJhc2VVUkw7CisgICAgUmVmUHRyPEpTQzo6U2NyaXB0RmV0Y2hl
cj4gc2NyaXB0RmV0Y2hlcjsKKyAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVsbCgpKSB7CisgICAg
ICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwoKTsKKyAgICAgICAgc2NyaXB0RmV0Y2hl
ciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgYmFzZVVSTCA9IFVSTChVUkwoKSwgc291cmNlT3JpZ2luLnN0
cmluZygpKTsKKyAgICAgICAgaWYgKCFiYXNlVVJMLmlzVmFsaWQoKSkKKyAgICAgICAgICAgIHJl
dHVybiByZWplY3RQcm9taXNlKHN0YXRlLCBnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgQVNDSUlM
aXRlcmFsKCJJbXBvcnRlciBtb2R1bGUga2V5IGlzIG5vdCBhIFN5bWJvbCBvciBhIFN0cmluZy4i
KSk7CisKKyAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCisgICAgICAgICAgICBz
Y3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2Rv
Y3VtZW50LmNoYXJzZXQoKSk7CisgICAgfQorICAgIEFTU0VSVChiYXNlVVJMLmlzVmFsaWQoKSk7
CisgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAgYXV0byBzcGVjaWZpZXIgPSBtb2R1
bGVOYW1lLT52YWx1ZShleGVjKTsKICAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVj
aWZpZXIobV9kb2N1bWVudCwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKICAgICBpZiAoIXJlc3VsdCkK
ICAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2Uoc3RhdGUsIGdsb2JhbE9iamVjdCwgVHlwZUVy
cm9yLCByZXN1bHQuZXJyb3IoKSk7CiAKLSAgICByZXR1cm4gSlNDOjppbXBvcnRNb2R1bGUoZXhl
YywgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgcmVzdWx0LT5zdHJpbmcoKSksIEpT
Qzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkgKSk7
CisgICAgcmV0dXJuIEpTQzo6aW1wb3J0TW9kdWxlKGV4ZWMsIEpTQzo6SWRlbnRpZmllcjo6ZnJv
bVN0cmluZygmdm0sIHJlc3VsdC0+c3RyaW5nKCkpLCBKU0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3Jl
YXRlKHZtLCBXVEZNb3ZlKHNjcmlwdEZldGNoZXIpICkpOwogfQogCiB2b2lkIFNjcmlwdE1vZHVs
ZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiBsb2FkZXIs
IFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IHByb21pc2UpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmE5MWJiNTY0ZmI4Y2Y0
ODIxNGZhNTZiMTdlMjU4MTI1ZWNiZGIzOS4uOTI1MGZlMjI0MDM2NTE5NzA5YmRjNGMxMjNhZjQ0
NjU1ZDllNmFiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAyLTAyICBZdXN1a2UgU3V6
dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFs
bG93IGltcG9ydCgpIGluc2lkZSB0aGUgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9jb250cm9sbGVyL3Jlc291cmNl
cy9jYXBwdWNjaW5vLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvY29udHJvbGxlci9y
ZXNvdXJjZXMvY29jb2EuanM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb250cm9sbGVy
L3Jlc291cmNlcy9kcmluay5qczogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2NvbnRyb2xs
ZXIvcnVudGltZS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
Y29udHJvbGxlci9ydW50aW1lLWNvbnRyb2xsZXIuaHRtbDoKKwogMjAxNy0wMi0wMSAgWXVzdWtl
IFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBVcGdyYWRlIEVzcHJpbWEgdG8gdGhlIGxhdGVzdCBvbmUgdG8gc3VwcG9ydCBkeW5hbWljIGlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcmVzb3Vy
Y2VzL2NhcHB1Y2Npbm8uanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29udHJvbGxlci9yZXNv
dXJjZXMvY2FwcHVjY2luby5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40M2I5NDMwMWVmODQwNTBkMDE3Y2MyNjhk
MTI2MmQwZTFjYzQ1NTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnRyb2xsZXIvcmVzb3VyY2VzL2NhcHB1Y2Npbm8uanMKQEAgLTAsMCArMSwyIEBACitleHBv
cnQgbGV0IG5hbWUgPSAiQ2FwcHVjY2lubyI7CitleHBvcnQgbGV0IHRhc3RlID0gIkF3ZXNvbWUi
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcmVzb3VyY2Vz
L2NvY29hLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcmVzb3VyY2VzL2Nv
Y29hLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVlNTcyMzMyNmE1ZmU0MTIyNjg1YjkwOTBmOGQ1N2Q4NDE5ZDZl
ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29udHJvbGxlci9y
ZXNvdXJjZXMvY29jb2EuanMKQEAgLTAsMCArMSwyIEBACitleHBvcnQgbGV0IG5hbWUgPSAiQ29j
b2EiOworZXhwb3J0IGxldCB0YXN0ZSA9ICJTd2VldCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29udHJvbGxlci9yZXNvdXJjZXMvZHJpbmsuanMgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29udHJvbGxlci9yZXNvdXJjZXMvZHJpbmsuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjJkOWE4
OWQ4Y2Q1ZTE5ZDIwMmVhODg1ODM1MWM2MjI3MmM0YmJlNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb250cm9sbGVyL3Jlc291cmNlcy9kcmluay5qcwpAQCAtMCww
ICsxLDcgQEAKK2ltcG9ydCAqIGFzIENvY29hIGZyb20gJy4vY29jb2EuanMnCitpbXBvcnQgKiBh
cyBDYXBwdWNjaW5vIGZyb20gJy4vY2FwcHVjY2luby5qcycKKworZXhwb3J0IHsKKyAgICBDb2Nv
YSwKKyAgICBDYXBwdWNjaW5vCit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29udHJvbGxlci9ydW50aW1lLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnRyb2xsZXIvcnVudGltZS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dAppbmRl
eCBkZWQ4MmZlYmFlMzk4ODk5OWFhMzc1ODhmYmI5ODYxNTIyNzhmNzNkLi4yN2VmNTcxMTY1YTE5
MTY0NTE3NDAyN2I1NDY1MTllM2JmNTE3OTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29udHJvbGxlci9ydW50aW1lLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb250cm9sbGVyL3J1bnRpbWUtY29udHJvbGxlci1leHBlY3Rl
ZC50eHQKQEAgLTcsNiArNywxMiBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogUHJvbWlzZS5y
ZWplY3QKIENPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBSZWplY3Rpb24KIENPTlNPTEUgTUVTU0FH
RTogbGluZSA3OiAlbwogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6ICVvCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgOTogVHlwZUVycm9yOiBNb2R1bGUgc3BlY2lmaWVyIGRvZXMgbm90IHN0YXJ0IHdp
dGggIi8iLCAiLi8iLCBvciAiLi4vIi4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBUeXBlRXJy
b3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDY6IENvY29hIGlzIFN3ZWV0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6ICVvCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNjogQ29jb2EgaXMgU3dlZXQuIENhcHB1Y2Npbm8gaXMgQXdlc29t
ZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3OiAlbwogVGVzdHMgZm9yIFJ1bnRpbWVNYW5hZ2Vy
IG9wZXJhdGlvbnMuCiAKIApAQCAtNTgsMyArNjQsMTMgQEAgUEFTUzogRXhjZXB0aW9uLiBTaG91
bGQgbm90IGdldCB0cmFuc2Zvcm1lZCBhbmQgcHJvZHVjZSBhIFN5bnRheEVycm9yLgogU291cmNl
OiB4ID0geSA9IGF3YWl0IDEwCiBQQVNTOiBFeGNlcHRpb24uIFNob3VsZCBub3QgZ2V0IHRyYW5z
Zm9ybWVkIGFuZCBwcm9kdWNlIGEgU3ludGF4RXJyb3IuCiAKKy0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBSdW50aW1lTWFuYWdlci5wcm90b3R5cGUuZXZhbHVhdGVJbkluc3BlY3RlZFdpbmRvdy5JbXBv
cnRGcm9tQ29uc29sZQorU291cmNlOiBhd2FpdCBpbXBvcnQoJycpCitQQVNTOiBUcmFuc2Zvcm1l
ZC4gU2hvdWxkIGxvZyB0aGUgdmFsdWUgb3IgYW4gZXhjZXB0aW9uLgorU291cmNlOiBhd2FpdCBp
bXBvcnQoJy4vbm90LWZvdW5kLmpzJykKK1BBU1M6IFRyYW5zZm9ybWVkLiBTaG91bGQgbG9nIHRo
ZSB2YWx1ZSBvciBhbiBleGNlcHRpb24uCitTb3VyY2U6IGF3YWl0IGltcG9ydCgnLi9yZXNvdXJj
ZXMvY29jb2EuanMnKS50aGVuKChjb2NvYSkgPT4gY29uc29sZS5sb2coYCR7Y29jb2EubmFtZX0g
aXMgJHtjb2NvYS50YXN0ZX0uYCkpCitQQVNTOiBUcmFuc2Zvcm1lZC4gU2hvdWxkIGxvZyB0aGUg
dmFsdWUgb3IgYW4gZXhjZXB0aW9uLgorU291cmNlOiBhd2FpdCBpbXBvcnQoJy4vcmVzb3VyY2Vz
L2RyaW5rLmpzJykudGhlbigobnMpID0+IGNvbnNvbGUubG9nKGAke25zLkNvY29hLm5hbWV9IGlz
ICR7bnMuQ29jb2EudGFzdGV9LiAke25zLkNhcHB1Y2Npbm8ubmFtZX0gaXMgJHtucy5DYXBwdWNj
aW5vLnRhc3RlfS5gKSkKK1BBU1M6IFRyYW5zZm9ybWVkLiBTaG91bGQgbG9nIHRoZSB2YWx1ZSBv
ciBhbiBleGNlcHRpb24uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb250
cm9sbGVyL3J1bnRpbWUtY29udHJvbGxlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnRyb2xsZXIvcnVudGltZS1jb250cm9sbGVyLmh0bWwKaW5kZXggNGNhMjNmMzI1NGE4ZWIyNzQ2
Yjg0MDE0NGRkZDMwMTgxNzE2NWQwNS4uNGRiYWM2MmYwNTY2MGQzN2UxZDdhOTk2ZmZjMjA5Yzhi
OTNhMmJlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcnVu
dGltZS1jb250cm9sbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xs
ZXIvcnVudGltZS1jb250cm9sbGVyLmh0bWwKQEAgLTEyNCw2ICsxMjQsMzAgQEAKICAgICAgICAg
fQogICAgIH0pOwogCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUnVu
dGltZU1hbmFnZXIucHJvdG90eXBlLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5kb3cuSW1wb3J0RnJv
bUNvbnNvbGUiLAorICAgICAgICBkZXNjcmlwdGlvbjogIlRlc3QgZXZhbHVhdGluZyBhbiBpbXBv
cnQgZXhwcmVzc2lvbiBmcm9tIGNvbnNvbGUuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWpl
Y3QpIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTb3VyY2UoZXhwcmVzc2lvbiwgY2FsbGJh
Y2spIHsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1hbmFnZXIuZXZhbHVh
dGVJbkluc3BlY3RlZFdpbmRvdyhleHByZXNzaW9uLCB7b2JqZWN0R3JvdXA6ICJ0ZXN0In0sIChy
ZXN1bHQsIHdhc1Rocm93bikgPT4geworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmxvZygiU291cmNlOiAiICsgZXhwcmVzc2lvbik7CisgICAgICAgICAgICAgICAgICAgIGNhbGxi
YWNrKHJlc3VsdCwgd2FzVGhyb3duKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZXhwZWN0VW5kZWZpbmVkKHJlc3VsdCwgd2FzVGhy
b3duKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KHJlc3VsdC5p
c1VuZGVmaW5lZCgpLCAiVHJhbnNmb3JtZWQuIFNob3VsZCBsb2cgdGhlIHZhbHVlIG9yIGFuIGV4
Y2VwdGlvbi4iKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGVzdFNvdXJjZSgiYXdh
aXQgaW1wb3J0KCcnKSIsIGV4cGVjdFVuZGVmaW5lZCk7CisgICAgICAgICAgICB0ZXN0U291cmNl
KCJhd2FpdCBpbXBvcnQoJy4vbm90LWZvdW5kLmpzJykiLCBleHBlY3RVbmRlZmluZWQpOworICAg
ICAgICAgICAgdGVzdFNvdXJjZSgiYXdhaXQgaW1wb3J0KCcuL3Jlc291cmNlcy9jb2NvYS5qcycp
LnRoZW4oKGNvY29hKSA9PiBjb25zb2xlLmxvZyhgJHtjb2NvYS5uYW1lfSBpcyAke2NvY29hLnRh
c3RlfS5gKSkiLCBleHBlY3RVbmRlZmluZWQpOworICAgICAgICAgICAgdGVzdFNvdXJjZSgiYXdh
aXQgaW1wb3J0KCcuL3Jlc291cmNlcy9kcmluay5qcycpLnRoZW4oKG5zKSA9PiBjb25zb2xlLmxv
ZyhgJHtucy5Db2NvYS5uYW1lfSBpcyAke25zLkNvY29hLnRhc3RlfS4gJHtucy5DYXBwdWNjaW5v
Lm5hbWV9IGlzICR7bnMuQ2FwcHVjY2luby50YXN0ZX0uYCkpIiwgZXhwZWN0VW5kZWZpbmVkKTsK
KworICAgICAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVz
KHJlc29sdmUpOworICAgICAgICB9CisgICAgfSk7CisKICAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNB
bmRGaW5pc2goKTsKIH0KIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300531</attachid>
            <date>2017-02-03 07:11:52 -0800</date>
            <delta_ts>2017-02-03 07:13:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167457-20170204000936.patch</filename>
            <type>text/plain</type>
            <size>12765</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
OWUwZDlmMzkwNjZkYjJkYjlkYjJhMDgyOTgzY2UwODdiYTUyYjMzLi5mMDRmNzU1ZTNiMGI3MjZh
MzcwNTFhZTc0ZDhhNWI1NGZkNTkzMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNy0wMi0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhbGxvdyBpbXBvcnQoKSBpbnNpZGUgdGhl
IGluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY3NDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2UgcmVsYXggaW1wb3J0IG1vZHVsZSBob29rIHRvIGFjY2VwdCBudWxsIFNvdXJjZU9yaWdp
bi4KKyAgICAgICAgU3VjaCBhIHNjcmlwdCBjYW4gYmUgZXZhbHVhdGVkIGZyb20gdGhlIGluc3Bl
Y3RvciBjb25zb2xlLgorCisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKEdsb2JhbE9iamVj
dDo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFs
T2JqZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6Z2xvYmFsRnVuY0ltcG9ydE1vZHVs
ZSk6CisKIDIwMTctMDItMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmVkIHVudXNlZCBtX2Vycm9ySGFuZGxpbmdNb2RlUmVlbnRyeSBmcm9t
IEludGVycHJldGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBiMzUzYjgwYTE2YTkxOWFkMDI4NDhjZDA5NDJm
YjYxZDE4OTIyMi4uZTVlMTJjYmY1NGE5MDhjZWVjYmU4MGI3ZmQ1MzUxYTZkMTlmNDM0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTAyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFsbG93IGltcG9y
dCgpIGluc2lkZSB0aGUgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjc0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGVuIGV2YWx1YXRpbmcgYGltcG9ydCgiLi4uIilgLCB3ZSBuZWVk
IHRoZSBjYWxsZXIncyBjb250ZXh0IHRvIHJlc29sdmUKKyAgICAgICAgdGhlIG1vZHVsZSBzcGVj
aWZpZXIgY29ycmVjdGx5LiBGb3IgZXhhbXBsZSwgaWYgYGltcG9ydCgiLi9jb2NvYS5qcyIpYCBp
cworICAgICAgICBldmFsdWF0ZWQgaW4gdGhlIHNjcmlwdCAiZHJpbmtzL2hvdC5qcyIsIHRoaXMg
bW9kdWxlIG5hbWUgaXMgcmVzb2x2ZWQgdG8KKyAgICAgICAgImRyaW5rcy9jb2NvYS5qcyIuIElm
IHRoZSBzYW1lIGltcG9ydCBvcGVyYXRvciBpcyBldmFsdWF0ZWQgaW4gdGhlIHNjcmlwdAorICAg
ICAgICAibWVudS9hbGwuanMiLCB0aGUgbW9kdWxlIHNwZWNpZmllciBiZWNvbWVzICJtZW51L2Nv
Y29hLmpzIi4KKworICAgICAgICBQcmV2aW91c2x5IHdlIHJlamVjdCB0aGUgaW1wb3J0IG9wZXJh
dG9yIGlmIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWNoCisgICAgICAgIGEgY29udGV4dC4g
VGhlc2UgY29udGV4dCBpcyBTb3VyY2VPcmlnaW4gYW5kIGl0cyBTY3JpcHRGZXRjaGVyLiBXaGls
ZSB0aGV5CisgICAgICAgIGFyZSBvZmZlcmVkIGluIHRoZSBzY3JpcHQgdGFnIGFuZCBvdGhlciBj
b2RlIGV2YWx1YXRpb25zLCB0aGUgaW5zcGVjdG9yCisgICAgICAgIGNvbnNvbGUgZG9lcyBub3Qg
b2ZmZXIgdGhhdC4gVGhlc2UgY2xhc3MgYXJlIG9mZmVyZWQgaW4gdGhlIFdlYkNvcmUgc2lkZQor
ICAgICAgICBhbmQgd2Ugc2hvdWxkIG5vdCB0b3VjaCB0aGVzZSBjbGFzc2VzIGluIHRoZSBKU0Mn
cyBpbnNwZWN0b3IgY29kZS4KKworICAgICAgICBOb3cgd2UgcmVsYXggdGhlIGFib3ZlIHJlc3Ry
aWN0aW9uLiBJZiB0aGUgYWJvdmUgY2FsbGVyIGluZm9ybWF0aW9uIGlzIG5vdAorICAgICAgICBv
ZmZlcmVkLCB3ZSBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBvbmUuIEluIHRoZSB3ZWIgcGFnZSwg
d2UgdXNlIHRoZSBwYWdlJ3MKKyAgICAgICAgVVJMIGFzIHRoZSBjYWxsZXIncyBzb3VyY2Ugb3Jp
Z2luLiBUaGlzIGFsbG93cyB1cyB0byBldmFsdWF0ZSB0aGUgaW1wb3J0CisgICAgICAgIG9wZXJh
dG9yIGluIHRoZSBpbnNwZWN0b3IgY29uc29sZS4KKworICAgICAgICBBbmQgYXMgb2YgcjE2NzY5
OCwgdGhlIGNvbnNvbGUgcmVjb2duaXplcyBgYXdhaXQgaW1wb3J0KCIuLi4iKWAgZm9ybS4gV2Ug
dXNlCisgICAgICAgIHRoaXMgdG8gdGVzdCB0aGlzIGBpbXBvcnQoKWAgaW4gdGhlIGNvbnNvbGUg
ZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVs
ZSk6CisKIDIwMTctMDItMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmVkIHVudXNlZCBtX25hdmlnYXRpb25TdGFydCBmcm9tIE5hdmlnYXRv
ckdhbWVwYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggYmRhOWEwOWQwZDI2Yjk2YzNmNTBhMjI5
OWQyNDkzM2FjNzRmMzA1Ni4uMTZjMDQyOGE5YWRjY2M4ZGU0NDQxMTZjMjAyOGJhN2E4NGQ4YzQ1
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTE1NTEsNiArMTU1MSw5IEBAIEpTSW50ZXJuYWxQ
cm9taXNlKiBHbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsCiAgICAgICAgIHJldHVybiBKU0ludGVybmFsUHJvbWlzZURlZmVycmVkOjpj
cmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KS0+cmVqZWN0KGV4ZWMsIGVycm9yKTsKICAgICB9Owog
CisgICAgaWYgKHNvdXJjZU9yaWdpbi5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIHJlamVjdFBy
b21pc2UoY3JlYXRlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJDb3VsZCBub3QgcmVzb2x2ZSB0
aGUgbW9kdWxlIHNwZWNpZmllci4iKSkpOworCiAgICAgYXV0byByZWZlcnJlciA9IHNvdXJjZU9y
aWdpbi5zdHJpbmcoKTsKICAgICBhdXRvIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lVmFsdWUtPnZh
bHVlKGV4ZWMpOwogICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmNwcAppbmRleCBmM2Y3NmU2YTkzMjY0NmE0MmM5YTgxZmM5MWIyMDIwODRlNjg2NGQ3
Li5lM2E0MTQ2ODI0OTgyNzYxMTM2ZWM3YmI4YjcwOTUzMDE3MjYzOGNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlv
bnMuY3BwCkBAIC05NDQsMTEgKzk0NCw2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
Z2xvYmFsRnVuY0ltcG9ydE1vZHVsZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihjYXRjaFNjb3BlLCB7IH0pOwogCiAgICAgYXV0byBzb3VyY2VPcmlnaW4gPSBleGVj
LT5jYWxsZXJTb3VyY2VPcmlnaW4oKTsKLSAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVsbCgpKSB7
Ci0gICAgICAgIHByb21pc2UtPnJlamVjdChleGVjLCBjcmVhdGVFcnJvcihleGVjLCBBU0NJSUxp
dGVyYWwoIkNvdWxkIG5vdCByZXNvbHZlIHRoZSBtb2R1bGUgc3BlY2lmaWVyLiIpKSk7Ci0gICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocHJvbWlzZS0+cHJvbWlzZSgpKTsKLSAgICB9Ci0K
ICAgICBSRUxFQVNFX0FTU0VSVChleGVjLT5hcmd1bWVudENvdW50KCkgPT0gMSk7CiAgICAgYXV0
byogc3BlY2lmaWVyID0gZXhlYy0+dW5jaGVja2VkQXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYyk7
CiAgICAgaWYgKEV4Y2VwdGlvbiogZXhjZXB0aW9uID0gY2F0Y2hTY29wZS5leGNlcHRpb24oKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5j
cHAKaW5kZXggMWNlNzI1M2UyZmVjOGZjMDE5NWQyNGYwZDY2ZDk4ODY1N2QzNTgxOC4uNDM4ZTM1
ODkwMzA3YzY1ZDA1ZTUyMWVlZWM0MjA1YzhiNWUzMzM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCkBAIC0yMTgsMjIgKzIxOCwz
NSBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1v
ZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqcwogICAgIEpTQzo6Vk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmpl
Y3QqPihqc0dsb2JhbE9iamVjdCk7CiAKLSAgICAvLyBGSVhNRTogc2V0VGltZW91dCBhbmQgc2V0
SW50ZXJ2YWwgd2l0aCAic3RyaW5nKCkiIHNob3VsZCBwcm9wYWdhdGUgU291cmNlT3JpZ2luLgot
ICAgIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE2NzA5NwotICAgIEFTU0VSVF9XSVRIX01FU1NB
R0UoIXNvdXJjZU9yaWdpbi5pc051bGwoKSwgIklmIFNvdXJjZU9yaWdpbiBpcyBudWxsLCB0aGlz
IGZ1bmN0aW9uIGlzIG5vdCBpbnZva2VkLiIpOwotICAgIGlmICghc291cmNlT3JpZ2luLmZldGNo
ZXIoKSkKLSAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2Uoc3RhdGUsIGdsb2JhbE9iamVjdCwg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIkNvdWxkIG5vdCB1c2UgaW1wb3J0IG9wZXJhdG9yIGlu
IHRoaXMgY29udGV4dC4iKSk7Ci0KLSAgICBVUkwgYmFzZVVSTChVUkwoKSwgc291cmNlT3JpZ2lu
LnN0cmluZygpKTsKLSAgICBpZiAoIWJhc2VVUkwuaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4g
cmVqZWN0UHJvbWlzZShzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiSW1wb3J0ZXIgbW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisgICAg
Ly8gSWYgU291cmNlT3JpZ2luIGFuZC9vciBDYWNoZWRTY3JpcHRGZXRjaGVyIGlzIG51bGwsIHdl
IGltcG9ydCB0aGUgbW9kdWxlIHdpdGggdGhlIGRlZmF1bHQgZmV0Y2hlci4KKyAgICAvLyBTb3Vy
Y2VPcmlnaW4gY2FuIGJlIG51bGwgaWYgdGhlIHNvdXJjZSBjb2RlIGlzIG5vdCBjb3VwbGVkIHdp
dGggdGhlIHNjcmlwdCBmaWxlLgorICAgIC8vIFRoZSBleGFtcGxlcywKKyAgICAvLyAgICAgMS4g
VGhlIGNvZGUgZXZhbHVhdGVkIGJ5IHRoZSBpbnNwZWN0b3IuCisgICAgLy8gICAgIDIuIFRoZSBv
dGhlciB1bnVzdWFsIGNvZGUgZXhlY3V0aW9uIGxpa2UgdGhlIGV2YWx1YXRpb24gdGhyb3VnaCB0
aGUgTlBBUEkuCisgICAgVVJMIGJhc2VVUkw7CisgICAgUmVmUHRyPEpTQzo6U2NyaXB0RmV0Y2hl
cj4gc2NyaXB0RmV0Y2hlcjsKKyAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVsbCgpKSB7CisgICAg
ICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwoKTsKKyAgICAgICAgc2NyaXB0RmV0Y2hl
ciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgYmFzZVVSTCA9IFVSTChVUkwoKSwgc291cmNlT3JpZ2luLnN0
cmluZygpKTsKKyAgICAgICAgaWYgKCFiYXNlVVJMLmlzVmFsaWQoKSkKKyAgICAgICAgICAgIHJl
dHVybiByZWplY3RQcm9taXNlKHN0YXRlLCBnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgQVNDSUlM
aXRlcmFsKCJJbXBvcnRlciBtb2R1bGUga2V5IGlzIG5vdCBhIFN5bWJvbCBvciBhIFN0cmluZy4i
KSk7CisKKyAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCisgICAgICAgICAgICBz
Y3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2Rv
Y3VtZW50LmNoYXJzZXQoKSk7CisgICAgfQorICAgIEFTU0VSVChiYXNlVVJMLmlzVmFsaWQoKSk7
CisgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAgYXV0byBzcGVjaWZpZXIgPSBtb2R1
bGVOYW1lLT52YWx1ZShleGVjKTsKICAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVj
aWZpZXIobV9kb2N1bWVudCwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKICAgICBpZiAoIXJlc3VsdCkK
ICAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2Uoc3RhdGUsIGdsb2JhbE9iamVjdCwgVHlwZUVy
cm9yLCByZXN1bHQuZXJyb3IoKSk7CiAKLSAgICByZXR1cm4gSlNDOjppbXBvcnRNb2R1bGUoZXhl
YywgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgcmVzdWx0LT5zdHJpbmcoKSksIEpT
Qzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkgKSk7
CisgICAgcmV0dXJuIEpTQzo6aW1wb3J0TW9kdWxlKGV4ZWMsIEpTQzo6SWRlbnRpZmllcjo6ZnJv
bVN0cmluZygmdm0sIHJlc3VsdC0+c3RyaW5nKCkpLCBKU0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3Jl
YXRlKHZtLCBXVEZNb3ZlKHNjcmlwdEZldGNoZXIpICkpOwogfQogCiB2b2lkIFNjcmlwdE1vZHVs
ZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiBsb2FkZXIs
IFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IHByb21pc2UpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmE5MWJiNTY0ZmI4Y2Y0
ODIxNGZhNTZiMTdlMjU4MTI1ZWNiZGIzOS4uNjc4ZjY0YmU2NmJkNzQ4ZDFjNmQ4NDYzNWYwYjVl
ZGM1N2QyYTU2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAyLTAzICBZdXN1a2UgU3V6
dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFs
bG93IGltcG9ydCgpIGluc2lkZSB0aGUgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9jb250cm9sbGVyL3Jlc291cmNl
cy9jYXBwdWNjaW5vLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvY29udHJvbGxlci9y
ZXNvdXJjZXMvY29jb2EuanM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb250cm9sbGVy
L3Jlc291cmNlcy9kcmluay5qczogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2NvbnRyb2xs
ZXIvcnVudGltZS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
Y29udHJvbGxlci9ydW50aW1lLWNvbnRyb2xsZXIuaHRtbDoKKwogMjAxNy0wMi0wMSAgWXVzdWtl
IFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBVcGdyYWRlIEVzcHJpbWEgdG8gdGhlIGxhdGVzdCBvbmUgdG8gc3VwcG9ydCBkeW5hbWljIGlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcmVzb3Vy
Y2VzL2NhcHB1Y2Npbm8uanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29udHJvbGxlci9yZXNv
dXJjZXMvY2FwcHVjY2luby5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40M2I5NDMwMWVmODQwNTBkMDE3Y2MyNjhk
MTI2MmQwZTFjYzQ1NTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnRyb2xsZXIvcmVzb3VyY2VzL2NhcHB1Y2Npbm8uanMKQEAgLTAsMCArMSwyIEBACitleHBv
cnQgbGV0IG5hbWUgPSAiQ2FwcHVjY2lubyI7CitleHBvcnQgbGV0IHRhc3RlID0gIkF3ZXNvbWUi
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcmVzb3VyY2Vz
L2NvY29hLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcmVzb3VyY2VzL2Nv
Y29hLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVlNTcyMzMyNmE1ZmU0MTIyNjg1YjkwOTBmOGQ1N2Q4NDE5ZDZl
ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29udHJvbGxlci9y
ZXNvdXJjZXMvY29jb2EuanMKQEAgLTAsMCArMSwyIEBACitleHBvcnQgbGV0IG5hbWUgPSAiQ29j
b2EiOworZXhwb3J0IGxldCB0YXN0ZSA9ICJTd2VldCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29udHJvbGxlci9yZXNvdXJjZXMvZHJpbmsuanMgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29udHJvbGxlci9yZXNvdXJjZXMvZHJpbmsuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjJkOWE4
OWQ4Y2Q1ZTE5ZDIwMmVhODg1ODM1MWM2MjI3MmM0YmJlNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb250cm9sbGVyL3Jlc291cmNlcy9kcmluay5qcwpAQCAtMCww
ICsxLDcgQEAKK2ltcG9ydCAqIGFzIENvY29hIGZyb20gJy4vY29jb2EuanMnCitpbXBvcnQgKiBh
cyBDYXBwdWNjaW5vIGZyb20gJy4vY2FwcHVjY2luby5qcycKKworZXhwb3J0IHsKKyAgICBDb2Nv
YSwKKyAgICBDYXBwdWNjaW5vCit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29udHJvbGxlci9ydW50aW1lLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnRyb2xsZXIvcnVudGltZS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dAppbmRl
eCBkZWQ4MmZlYmFlMzk4ODk5OWFhMzc1ODhmYmI5ODYxNTIyNzhmNzNkLi4yN2VmNTcxMTY1YTE5
MTY0NTE3NDAyN2I1NDY1MTllM2JmNTE3OTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29udHJvbGxlci9ydW50aW1lLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb250cm9sbGVyL3J1bnRpbWUtY29udHJvbGxlci1leHBlY3Rl
ZC50eHQKQEAgLTcsNiArNywxMiBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogUHJvbWlzZS5y
ZWplY3QKIENPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBSZWplY3Rpb24KIENPTlNPTEUgTUVTU0FH
RTogbGluZSA3OiAlbwogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6ICVvCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgOTogVHlwZUVycm9yOiBNb2R1bGUgc3BlY2lmaWVyIGRvZXMgbm90IHN0YXJ0IHdp
dGggIi8iLCAiLi8iLCBvciAiLi4vIi4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBUeXBlRXJy
b3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDY6IENvY29hIGlzIFN3ZWV0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6ICVvCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNjogQ29jb2EgaXMgU3dlZXQuIENhcHB1Y2Npbm8gaXMgQXdlc29t
ZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3OiAlbwogVGVzdHMgZm9yIFJ1bnRpbWVNYW5hZ2Vy
IG9wZXJhdGlvbnMuCiAKIApAQCAtNTgsMyArNjQsMTMgQEAgUEFTUzogRXhjZXB0aW9uLiBTaG91
bGQgbm90IGdldCB0cmFuc2Zvcm1lZCBhbmQgcHJvZHVjZSBhIFN5bnRheEVycm9yLgogU291cmNl
OiB4ID0geSA9IGF3YWl0IDEwCiBQQVNTOiBFeGNlcHRpb24uIFNob3VsZCBub3QgZ2V0IHRyYW5z
Zm9ybWVkIGFuZCBwcm9kdWNlIGEgU3ludGF4RXJyb3IuCiAKKy0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBSdW50aW1lTWFuYWdlci5wcm90b3R5cGUuZXZhbHVhdGVJbkluc3BlY3RlZFdpbmRvdy5JbXBv
cnRGcm9tQ29uc29sZQorU291cmNlOiBhd2FpdCBpbXBvcnQoJycpCitQQVNTOiBUcmFuc2Zvcm1l
ZC4gU2hvdWxkIGxvZyB0aGUgdmFsdWUgb3IgYW4gZXhjZXB0aW9uLgorU291cmNlOiBhd2FpdCBp
bXBvcnQoJy4vbm90LWZvdW5kLmpzJykKK1BBU1M6IFRyYW5zZm9ybWVkLiBTaG91bGQgbG9nIHRo
ZSB2YWx1ZSBvciBhbiBleGNlcHRpb24uCitTb3VyY2U6IGF3YWl0IGltcG9ydCgnLi9yZXNvdXJj
ZXMvY29jb2EuanMnKS50aGVuKChjb2NvYSkgPT4gY29uc29sZS5sb2coYCR7Y29jb2EubmFtZX0g
aXMgJHtjb2NvYS50YXN0ZX0uYCkpCitQQVNTOiBUcmFuc2Zvcm1lZC4gU2hvdWxkIGxvZyB0aGUg
dmFsdWUgb3IgYW4gZXhjZXB0aW9uLgorU291cmNlOiBhd2FpdCBpbXBvcnQoJy4vcmVzb3VyY2Vz
L2RyaW5rLmpzJykudGhlbigobnMpID0+IGNvbnNvbGUubG9nKGAke25zLkNvY29hLm5hbWV9IGlz
ICR7bnMuQ29jb2EudGFzdGV9LiAke25zLkNhcHB1Y2Npbm8ubmFtZX0gaXMgJHtucy5DYXBwdWNj
aW5vLnRhc3RlfS5gKSkKK1BBU1M6IFRyYW5zZm9ybWVkLiBTaG91bGQgbG9nIHRoZSB2YWx1ZSBv
ciBhbiBleGNlcHRpb24uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb250
cm9sbGVyL3J1bnRpbWUtY29udHJvbGxlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnRyb2xsZXIvcnVudGltZS1jb250cm9sbGVyLmh0bWwKaW5kZXggNGNhMjNmMzI1NGE4ZWIyNzQ2
Yjg0MDE0NGRkZDMwMTgxNzE2NWQwNS4uZTAwMmJiOWFlZjJjY2RkMmE4YjQyMTlkNDQyZDE2MGVj
ZDIwNWRmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcnVu
dGltZS1jb250cm9sbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xs
ZXIvcnVudGltZS1jb250cm9sbGVyLmh0bWwKQEAgLTEyNCw2ICsxMjQsMjYgQEAKICAgICAgICAg
fQogICAgIH0pOwogCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUnVu
dGltZU1hbmFnZXIucHJvdG90eXBlLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5kb3cuSW1wb3J0RnJv
bUNvbnNvbGUiLAorICAgICAgICBkZXNjcmlwdGlvbjogIlRlc3QgZXZhbHVhdGluZyBhbiBpbXBv
cnQgZXhwcmVzc2lvbiBmcm9tIGNvbnNvbGUuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWpl
Y3QpIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTb3VyY2UoZXhwcmVzc2lvbikgeworICAg
ICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTWFuYWdlci5ldmFsdWF0ZUluSW5zcGVj
dGVkV2luZG93KGV4cHJlc3Npb24sIHtvYmplY3RHcm91cDogInRlc3QifSwgKHJlc3VsdCwgd2Fz
VGhyb3duKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTb3Vy
Y2U6ICIgKyBleHByZXNzaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RUaGF0KHJlc3VsdC5pc1VuZGVmaW5lZCgpLCAiVHJhbnNmb3JtZWQuIFNob3VsZCBsb2cg
dGhlIHZhbHVlIG9yIGFuIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgdGVzdFNvdXJjZSgiYXdhaXQgaW1wb3J0KCcnKSIpOwor
ICAgICAgICAgICAgdGVzdFNvdXJjZSgiYXdhaXQgaW1wb3J0KCcuL25vdC1mb3VuZC5qcycpIik7
CisgICAgICAgICAgICB0ZXN0U291cmNlKCJhd2FpdCBpbXBvcnQoJy4vcmVzb3VyY2VzL2NvY29h
LmpzJykudGhlbigoY29jb2EpID0+IGNvbnNvbGUubG9nKGAke2NvY29hLm5hbWV9IGlzICR7Y29j
b2EudGFzdGV9LmApKSIpOworICAgICAgICAgICAgdGVzdFNvdXJjZSgiYXdhaXQgaW1wb3J0KCcu
L3Jlc291cmNlcy9kcmluay5qcycpLnRoZW4oKG5zKSA9PiBjb25zb2xlLmxvZyhgJHtucy5Db2Nv
YS5uYW1lfSBpcyAke25zLkNvY29hLnRhc3RlfS4gJHtucy5DYXBwdWNjaW5vLm5hbWV9IGlzICR7
bnMuQ2FwcHVjY2luby50YXN0ZX0uYCkpIik7CisKKyAgICAgICAgICAgIEluc3BlY3RvckJhY2tl
bmQucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhyZXNvbHZlKTsKKyAgICAgICAgfQorICAgIH0p
OworCiAgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7CiB9CiA8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300532</attachid>
            <date>2017-02-03 07:13:27 -0800</date>
            <delta_ts>2017-02-06 22:54:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167457-20170204001111.patch</filename>
            <type>text/plain</type>
            <size>12765</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
OWUwZDlmMzkwNjZkYjJkYjlkYjJhMDgyOTgzY2UwODdiYTUyYjMzLi5mMDRmNzU1ZTNiMGI3MjZh
MzcwNTFhZTc0ZDhhNWI1NGZkNTkzMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNy0wMi0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhbGxvdyBpbXBvcnQoKSBpbnNpZGUgdGhl
IGluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY3NDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2UgcmVsYXggaW1wb3J0IG1vZHVsZSBob29rIHRvIGFjY2VwdCBudWxsIFNvdXJjZU9yaWdp
bi4KKyAgICAgICAgU3VjaCBhIHNjcmlwdCBjYW4gYmUgZXZhbHVhdGVkIGZyb20gdGhlIGluc3Bl
Y3RvciBjb25zb2xlLgorCisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKEdsb2JhbE9iamVj
dDo6bW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFs
T2JqZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6Z2xvYmFsRnVuY0ltcG9ydE1vZHVs
ZSk6CisKIDIwMTctMDItMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmVkIHVudXNlZCBtX2Vycm9ySGFuZGxpbmdNb2RlUmVlbnRyeSBmcm9t
IEludGVycHJldGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBiMzUzYjgwYTE2YTkxOWFkMDI4NDhjZDA5NDJm
YjYxZDE4OTIyMi4uZTVlMTJjYmY1NGE5MDhjZWVjYmU4MGI3ZmQ1MzUxYTZkMTlmNDM0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTAyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFsbG93IGltcG9y
dCgpIGluc2lkZSB0aGUgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjc0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGVuIGV2YWx1YXRpbmcgYGltcG9ydCgiLi4uIilgLCB3ZSBuZWVk
IHRoZSBjYWxsZXIncyBjb250ZXh0IHRvIHJlc29sdmUKKyAgICAgICAgdGhlIG1vZHVsZSBzcGVj
aWZpZXIgY29ycmVjdGx5LiBGb3IgZXhhbXBsZSwgaWYgYGltcG9ydCgiLi9jb2NvYS5qcyIpYCBp
cworICAgICAgICBldmFsdWF0ZWQgaW4gdGhlIHNjcmlwdCAiZHJpbmtzL2hvdC5qcyIsIHRoaXMg
bW9kdWxlIG5hbWUgaXMgcmVzb2x2ZWQgdG8KKyAgICAgICAgImRyaW5rcy9jb2NvYS5qcyIuIElm
IHRoZSBzYW1lIGltcG9ydCBvcGVyYXRvciBpcyBldmFsdWF0ZWQgaW4gdGhlIHNjcmlwdAorICAg
ICAgICAibWVudS9hbGwuanMiLCB0aGUgbW9kdWxlIHNwZWNpZmllciBiZWNvbWVzICJtZW51L2Nv
Y29hLmpzIi4KKworICAgICAgICBQcmV2aW91c2x5IHdlIHJlamVjdCB0aGUgaW1wb3J0IG9wZXJh
dG9yIGlmIHRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdWNoCisgICAgICAgIGEgY29udGV4dC4g
VGhlc2UgY29udGV4dCBpcyBTb3VyY2VPcmlnaW4gYW5kIGl0cyBTY3JpcHRGZXRjaGVyLiBXaGls
ZSB0aGV5CisgICAgICAgIGFyZSBvZmZlcmVkIGluIHRoZSBzY3JpcHQgdGFnIGFuZCBvdGhlciBj
b2RlIGV2YWx1YXRpb25zLCB0aGUgaW5zcGVjdG9yCisgICAgICAgIGNvbnNvbGUgZG9lcyBub3Qg
b2ZmZXIgdGhhdC4gVGhlc2UgY2xhc3MgYXJlIG9mZmVyZWQgaW4gdGhlIFdlYkNvcmUgc2lkZQor
ICAgICAgICBhbmQgd2Ugc2hvdWxkIG5vdCB0b3VjaCB0aGVzZSBjbGFzc2VzIGluIHRoZSBKU0Mn
cyBpbnNwZWN0b3IgY29kZS4KKworICAgICAgICBOb3cgd2UgcmVsYXggdGhlIGFib3ZlIHJlc3Ry
aWN0aW9uLiBJZiB0aGUgYWJvdmUgY2FsbGVyIGluZm9ybWF0aW9uIGlzIG5vdAorICAgICAgICBv
ZmZlcmVkLCB3ZSBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBvbmUuIEluIHRoZSB3ZWIgcGFnZSwg
d2UgdXNlIHRoZSBwYWdlJ3MKKyAgICAgICAgVVJMIGFzIHRoZSBjYWxsZXIncyBzb3VyY2Ugb3Jp
Z2luLiBUaGlzIGFsbG93cyB1cyB0byBldmFsdWF0ZSB0aGUgaW1wb3J0CisgICAgICAgIG9wZXJh
dG9yIGluIHRoZSBpbnNwZWN0b3IgY29uc29sZS4KKworICAgICAgICBBbmQgYXMgb2YgcjE2NzY5
OCwgdGhlIGNvbnNvbGUgcmVjb2duaXplcyBgYXdhaXQgaW1wb3J0KCIuLi4iKWAgZm9ybS4gV2Ug
dXNlCisgICAgICAgIHRoaXMgdG8gdGVzdCB0aGlzIGBpbXBvcnQoKWAgaW4gdGhlIGNvbnNvbGUg
ZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1vZHVs
ZSk6CisKIDIwMTctMDItMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmVkIHVudXNlZCBtX25hdmlnYXRpb25TdGFydCBmcm9tIE5hdmlnYXRv
ckdhbWVwYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggYmRhOWEwOWQwZDI2Yjk2YzNmNTBhMjI5
OWQyNDkzM2FjNzRmMzA1Ni4uMTZjMDQyOGE5YWRjY2M4ZGU0NDQxMTZjMjAyOGJhN2E4NGQ4YzQ1
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTE1NTEsNiArMTU1MSw5IEBAIEpTSW50ZXJuYWxQ
cm9taXNlKiBHbG9iYWxPYmplY3Q6Om1vZHVsZUxvYWRlckltcG9ydE1vZHVsZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsCiAgICAgICAgIHJldHVybiBKU0ludGVybmFsUHJvbWlzZURlZmVycmVkOjpj
cmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KS0+cmVqZWN0KGV4ZWMsIGVycm9yKTsKICAgICB9Owog
CisgICAgaWYgKHNvdXJjZU9yaWdpbi5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIHJlamVjdFBy
b21pc2UoY3JlYXRlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJDb3VsZCBub3QgcmVzb2x2ZSB0
aGUgbW9kdWxlIHNwZWNpZmllci4iKSkpOworCiAgICAgYXV0byByZWZlcnJlciA9IHNvdXJjZU9y
aWdpbi5zdHJpbmcoKTsKICAgICBhdXRvIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lVmFsdWUtPnZh
bHVlKGV4ZWMpOwogICAgIGlmIChVTkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmNwcAppbmRleCBmM2Y3NmU2YTkzMjY0NmE0MmM5YTgxZmM5MWIyMDIwODRlNjg2NGQ3
Li5lM2E0MTQ2ODI0OTgyNzYxMTM2ZWM3YmI4YjcwOTUzMDE3MjYzOGNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlv
bnMuY3BwCkBAIC05NDQsMTEgKzk0NCw2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
Z2xvYmFsRnVuY0ltcG9ydE1vZHVsZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihjYXRjaFNjb3BlLCB7IH0pOwogCiAgICAgYXV0byBzb3VyY2VPcmlnaW4gPSBleGVj
LT5jYWxsZXJTb3VyY2VPcmlnaW4oKTsKLSAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVsbCgpKSB7
Ci0gICAgICAgIHByb21pc2UtPnJlamVjdChleGVjLCBjcmVhdGVFcnJvcihleGVjLCBBU0NJSUxp
dGVyYWwoIkNvdWxkIG5vdCByZXNvbHZlIHRoZSBtb2R1bGUgc3BlY2lmaWVyLiIpKSk7Ci0gICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocHJvbWlzZS0+cHJvbWlzZSgpKTsKLSAgICB9Ci0K
ICAgICBSRUxFQVNFX0FTU0VSVChleGVjLT5hcmd1bWVudENvdW50KCkgPT0gMSk7CiAgICAgYXV0
byogc3BlY2lmaWVyID0gZXhlYy0+dW5jaGVja2VkQXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYyk7
CiAgICAgaWYgKEV4Y2VwdGlvbiogZXhjZXB0aW9uID0gY2F0Y2hTY29wZS5leGNlcHRpb24oKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5j
cHAKaW5kZXggMWNlNzI1M2UyZmVjOGZjMDE5NWQyNGYwZDY2ZDk4ODY1N2QzNTgxOC4uNDM4ZTM1
ODkwMzA3YzY1ZDA1ZTUyMWVlZWM0MjA1YzhiNWUzMzM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwCkBAIC0yMTgsMjIgKzIxOCwz
NSBAQCBKU0M6OkpTSW50ZXJuYWxQcm9taXNlKiBTY3JpcHRNb2R1bGVMb2FkZXI6OmltcG9ydE1v
ZHVsZShKU0M6OkpTR2xvYmFsT2JqZWN0KiBqcwogICAgIEpTQzo6Vk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmpl
Y3QqPihqc0dsb2JhbE9iamVjdCk7CiAKLSAgICAvLyBGSVhNRTogc2V0VGltZW91dCBhbmQgc2V0
SW50ZXJ2YWwgd2l0aCAic3RyaW5nKCkiIHNob3VsZCBwcm9wYWdhdGUgU291cmNlT3JpZ2luLgot
ICAgIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE2NzA5NwotICAgIEFTU0VSVF9XSVRIX01FU1NB
R0UoIXNvdXJjZU9yaWdpbi5pc051bGwoKSwgIklmIFNvdXJjZU9yaWdpbiBpcyBudWxsLCB0aGlz
IGZ1bmN0aW9uIGlzIG5vdCBpbnZva2VkLiIpOwotICAgIGlmICghc291cmNlT3JpZ2luLmZldGNo
ZXIoKSkKLSAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2Uoc3RhdGUsIGdsb2JhbE9iamVjdCwg
VHlwZUVycm9yLCBBU0NJSUxpdGVyYWwoIkNvdWxkIG5vdCB1c2UgaW1wb3J0IG9wZXJhdG9yIGlu
IHRoaXMgY29udGV4dC4iKSk7Ci0KLSAgICBVUkwgYmFzZVVSTChVUkwoKSwgc291cmNlT3JpZ2lu
LnN0cmluZygpKTsKLSAgICBpZiAoIWJhc2VVUkwuaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4g
cmVqZWN0UHJvbWlzZShzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiSW1wb3J0ZXIgbW9kdWxlIGtleSBpcyBub3QgU3ltYm9sIG9yIFN0cmluZy4iKSk7CisgICAg
Ly8gSWYgU291cmNlT3JpZ2luIGFuZC9vciBDYWNoZWRTY3JpcHRGZXRjaGVyIGlzIG51bGwsIHdl
IGltcG9ydCB0aGUgbW9kdWxlIHdpdGggdGhlIGRlZmF1bHQgZmV0Y2hlci4KKyAgICAvLyBTb3Vy
Y2VPcmlnaW4gY2FuIGJlIG51bGwgaWYgdGhlIHNvdXJjZSBjb2RlIGlzIG5vdCBjb3VwbGVkIHdp
dGggdGhlIHNjcmlwdCBmaWxlLgorICAgIC8vIFRoZSBleGFtcGxlcywKKyAgICAvLyAgICAgMS4g
VGhlIGNvZGUgZXZhbHVhdGVkIGJ5IHRoZSBpbnNwZWN0b3IuCisgICAgLy8gICAgIDIuIFRoZSBv
dGhlciB1bnVzdWFsIGNvZGUgZXhlY3V0aW9uIGxpa2UgdGhlIGV2YWx1YXRpb24gdGhyb3VnaCB0
aGUgTlBBUEkuCisgICAgVVJMIGJhc2VVUkw7CisgICAgUmVmUHRyPEpTQzo6U2NyaXB0RmV0Y2hl
cj4gc2NyaXB0RmV0Y2hlcjsKKyAgICBpZiAoc291cmNlT3JpZ2luLmlzTnVsbCgpKSB7CisgICAg
ICAgIGJhc2VVUkwgPSBtX2RvY3VtZW50LmJhc2VVUkwoKTsKKyAgICAgICAgc2NyaXB0RmV0Y2hl
ciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2RvY3VtZW50LmNoYXJzZXQoKSk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgYmFzZVVSTCA9IFVSTChVUkwoKSwgc291cmNlT3JpZ2luLnN0
cmluZygpKTsKKyAgICAgICAgaWYgKCFiYXNlVVJMLmlzVmFsaWQoKSkKKyAgICAgICAgICAgIHJl
dHVybiByZWplY3RQcm9taXNlKHN0YXRlLCBnbG9iYWxPYmplY3QsIFR5cGVFcnJvciwgQVNDSUlM
aXRlcmFsKCJJbXBvcnRlciBtb2R1bGUga2V5IGlzIG5vdCBhIFN5bWJvbCBvciBhIFN0cmluZy4i
KSk7CisKKyAgICAgICAgaWYgKHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkpCisgICAgICAgICAgICBz
Y3JpcHRGZXRjaGVyID0gc291cmNlT3JpZ2luLmZldGNoZXIoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgc2NyaXB0RmV0Y2hlciA9IENhY2hlZFNjcmlwdEZldGNoZXI6OmNyZWF0ZShtX2Rv
Y3VtZW50LmNoYXJzZXQoKSk7CisgICAgfQorICAgIEFTU0VSVChiYXNlVVJMLmlzVmFsaWQoKSk7
CisgICAgQVNTRVJUKHNjcmlwdEZldGNoZXIpOwogCiAgICAgYXV0byBzcGVjaWZpZXIgPSBtb2R1
bGVOYW1lLT52YWx1ZShleGVjKTsKICAgICBhdXRvIHJlc3VsdCA9IHJlc29sdmVNb2R1bGVTcGVj
aWZpZXIobV9kb2N1bWVudCwgc3BlY2lmaWVyLCBiYXNlVVJMKTsKICAgICBpZiAoIXJlc3VsdCkK
ICAgICAgICAgcmV0dXJuIHJlamVjdFByb21pc2Uoc3RhdGUsIGdsb2JhbE9iamVjdCwgVHlwZUVy
cm9yLCByZXN1bHQuZXJyb3IoKSk7CiAKLSAgICByZXR1cm4gSlNDOjppbXBvcnRNb2R1bGUoZXhl
YywgSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgcmVzdWx0LT5zdHJpbmcoKSksIEpT
Qzo6SlNTY3JpcHRGZXRjaGVyOjpjcmVhdGUodm0sIHNvdXJjZU9yaWdpbi5mZXRjaGVyKCkgKSk7
CisgICAgcmV0dXJuIEpTQzo6aW1wb3J0TW9kdWxlKGV4ZWMsIEpTQzo6SWRlbnRpZmllcjo6ZnJv
bVN0cmluZygmdm0sIHJlc3VsdC0+c3RyaW5nKCkpLCBKU0M6OkpTU2NyaXB0RmV0Y2hlcjo6Y3Jl
YXRlKHZtLCBXVEZNb3ZlKHNjcmlwdEZldGNoZXIpICkpOwogfQogCiB2b2lkIFNjcmlwdE1vZHVs
ZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyJiBsb2FkZXIs
IFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IHByb21pc2UpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmE5MWJiNTY0ZmI4Y2Y0
ODIxNGZhNTZiMTdlMjU4MTI1ZWNiZGIzOS4uNjc4ZjY0YmU2NmJkNzQ4ZDFjNmQ4NDYzNWYwYjVl
ZGM1N2QyYTU2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAyLTAzICBZdXN1a2UgU3V6
dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFs
bG93IGltcG9ydCgpIGluc2lkZSB0aGUgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc0NTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9jb250cm9sbGVyL3Jlc291cmNl
cy9jYXBwdWNjaW5vLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvY29udHJvbGxlci9y
ZXNvdXJjZXMvY29jb2EuanM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb250cm9sbGVy
L3Jlc291cmNlcy9kcmluay5qczogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2NvbnRyb2xs
ZXIvcnVudGltZS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
Y29udHJvbGxlci9ydW50aW1lLWNvbnRyb2xsZXIuaHRtbDoKKwogMjAxNy0wMi0wMSAgWXVzdWtl
IFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBVcGdyYWRlIEVzcHJpbWEgdG8gdGhlIGxhdGVzdCBvbmUgdG8gc3VwcG9ydCBkeW5hbWljIGlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcmVzb3Vy
Y2VzL2NhcHB1Y2Npbm8uanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29udHJvbGxlci9yZXNv
dXJjZXMvY2FwcHVjY2luby5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40M2I5NDMwMWVmODQwNTBkMDE3Y2MyNjhk
MTI2MmQwZTFjYzQ1NTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnRyb2xsZXIvcmVzb3VyY2VzL2NhcHB1Y2Npbm8uanMKQEAgLTAsMCArMSwyIEBACitleHBv
cnQgbGV0IG5hbWUgPSAiQ2FwcHVjY2lubyI7CitleHBvcnQgbGV0IHRhc3RlID0gIkF3ZXNvbWUi
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcmVzb3VyY2Vz
L2NvY29hLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcmVzb3VyY2VzL2Nv
Y29hLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVlNTcyMzMyNmE1ZmU0MTIyNjg1YjkwOTBmOGQ1N2Q4NDE5ZDZl
ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29udHJvbGxlci9y
ZXNvdXJjZXMvY29jb2EuanMKQEAgLTAsMCArMSwyIEBACitleHBvcnQgbGV0IG5hbWUgPSAiQ29j
b2EiOworZXhwb3J0IGxldCB0YXN0ZSA9ICJTd2VldCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29udHJvbGxlci9yZXNvdXJjZXMvZHJpbmsuanMgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29udHJvbGxlci9yZXNvdXJjZXMvZHJpbmsuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjJkOWE4
OWQ4Y2Q1ZTE5ZDIwMmVhODg1ODM1MWM2MjI3MmM0YmJlNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb250cm9sbGVyL3Jlc291cmNlcy9kcmluay5qcwpAQCAtMCww
ICsxLDcgQEAKK2ltcG9ydCAqIGFzIENvY29hIGZyb20gJy4vY29jb2EuanMnCitpbXBvcnQgKiBh
cyBDYXBwdWNjaW5vIGZyb20gJy4vY2FwcHVjY2luby5qcycKKworZXhwb3J0IHsKKyAgICBDb2Nv
YSwKKyAgICBDYXBwdWNjaW5vCit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29udHJvbGxlci9ydW50aW1lLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnRyb2xsZXIvcnVudGltZS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dAppbmRl
eCBkZWQ4MmZlYmFlMzk4ODk5OWFhMzc1ODhmYmI5ODYxNTIyNzhmNzNkLi4yN2VmNTcxMTY1YTE5
MTY0NTE3NDAyN2I1NDY1MTllM2JmNTE3OTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29udHJvbGxlci9ydW50aW1lLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb250cm9sbGVyL3J1bnRpbWUtY29udHJvbGxlci1leHBlY3Rl
ZC50eHQKQEAgLTcsNiArNywxMiBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogUHJvbWlzZS5y
ZWplY3QKIENPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBSZWplY3Rpb24KIENPTlNPTEUgTUVTU0FH
RTogbGluZSA3OiAlbwogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6ICVvCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgOTogVHlwZUVycm9yOiBNb2R1bGUgc3BlY2lmaWVyIGRvZXMgbm90IHN0YXJ0IHdp
dGggIi8iLCAiLi8iLCBvciAiLi4vIi4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBUeXBlRXJy
b3I6IEltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkLgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDY6IENvY29hIGlzIFN3ZWV0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6ICVvCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNjogQ29jb2EgaXMgU3dlZXQuIENhcHB1Y2Npbm8gaXMgQXdlc29t
ZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3OiAlbwogVGVzdHMgZm9yIFJ1bnRpbWVNYW5hZ2Vy
IG9wZXJhdGlvbnMuCiAKIApAQCAtNTgsMyArNjQsMTMgQEAgUEFTUzogRXhjZXB0aW9uLiBTaG91
bGQgbm90IGdldCB0cmFuc2Zvcm1lZCBhbmQgcHJvZHVjZSBhIFN5bnRheEVycm9yLgogU291cmNl
OiB4ID0geSA9IGF3YWl0IDEwCiBQQVNTOiBFeGNlcHRpb24uIFNob3VsZCBub3QgZ2V0IHRyYW5z
Zm9ybWVkIGFuZCBwcm9kdWNlIGEgU3ludGF4RXJyb3IuCiAKKy0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBSdW50aW1lTWFuYWdlci5wcm90b3R5cGUuZXZhbHVhdGVJbkluc3BlY3RlZFdpbmRvdy5JbXBv
cnRGcm9tQ29uc29sZQorU291cmNlOiBhd2FpdCBpbXBvcnQoJycpCitQQVNTOiBUcmFuc2Zvcm1l
ZC4gU2hvdWxkIGxvZyB0aGUgdmFsdWUgb3IgYW4gZXhjZXB0aW9uLgorU291cmNlOiBhd2FpdCBp
bXBvcnQoJy4vbm90LWZvdW5kLmpzJykKK1BBU1M6IFRyYW5zZm9ybWVkLiBTaG91bGQgbG9nIHRo
ZSB2YWx1ZSBvciBhbiBleGNlcHRpb24uCitTb3VyY2U6IGF3YWl0IGltcG9ydCgnLi9yZXNvdXJj
ZXMvY29jb2EuanMnKS50aGVuKChjb2NvYSkgPT4gY29uc29sZS5sb2coYCR7Y29jb2EubmFtZX0g
aXMgJHtjb2NvYS50YXN0ZX0uYCkpCitQQVNTOiBUcmFuc2Zvcm1lZC4gU2hvdWxkIGxvZyB0aGUg
dmFsdWUgb3IgYW4gZXhjZXB0aW9uLgorU291cmNlOiBhd2FpdCBpbXBvcnQoJy4vcmVzb3VyY2Vz
L2RyaW5rLmpzJykudGhlbigobnMpID0+IGNvbnNvbGUubG9nKGAke25zLkNvY29hLm5hbWV9IGlz
ICR7bnMuQ29jb2EudGFzdGV9LiAke25zLkNhcHB1Y2Npbm8ubmFtZX0gaXMgJHtucy5DYXBwdWNj
aW5vLnRhc3RlfS5gKSkKK1BBU1M6IFRyYW5zZm9ybWVkLiBTaG91bGQgbG9nIHRoZSB2YWx1ZSBv
ciBhbiBleGNlcHRpb24uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb250
cm9sbGVyL3J1bnRpbWUtY29udHJvbGxlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnRyb2xsZXIvcnVudGltZS1jb250cm9sbGVyLmh0bWwKaW5kZXggNGNhMjNmMzI1NGE4ZWIyNzQ2
Yjg0MDE0NGRkZDMwMTgxNzE2NWQwNS4uZTAwMmJiOWFlZjJjY2RkMmE4YjQyMTlkNDQyZDE2MGVj
ZDIwNWRmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xsZXIvcnVu
dGltZS1jb250cm9sbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnRyb2xs
ZXIvcnVudGltZS1jb250cm9sbGVyLmh0bWwKQEAgLTEyNCw2ICsxMjQsMjYgQEAKICAgICAgICAg
fQogICAgIH0pOwogCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUnVu
dGltZU1hbmFnZXIucHJvdG90eXBlLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5kb3cuSW1wb3J0RnJv
bUNvbnNvbGUiLAorICAgICAgICBkZXNjcmlwdGlvbjogIlRlc3QgZXZhbHVhdGluZyBhbiBpbXBv
cnQgZXhwcmVzc2lvbiBmcm9tIGNvbnNvbGUuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWpl
Y3QpIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTb3VyY2UoZXhwcmVzc2lvbikgeworICAg
ICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTWFuYWdlci5ldmFsdWF0ZUluSW5zcGVj
dGVkV2luZG93KGV4cHJlc3Npb24sIHtvYmplY3RHcm91cDogInRlc3QifSwgKHJlc3VsdCwgd2Fz
VGhyb3duKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTb3Vy
Y2U6ICIgKyBleHByZXNzaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RUaGF0KHJlc3VsdC5pc1VuZGVmaW5lZCgpLCAiVHJhbnNmb3JtZWQuIFNob3VsZCBsb2cg
dGhlIHZhbHVlIG9yIGFuIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgdGVzdFNvdXJjZSgiYXdhaXQgaW1wb3J0KCcnKSIpOwor
ICAgICAgICAgICAgdGVzdFNvdXJjZSgiYXdhaXQgaW1wb3J0KCcuL25vdC1mb3VuZC5qcycpIik7
CisgICAgICAgICAgICB0ZXN0U291cmNlKCJhd2FpdCBpbXBvcnQoJy4vcmVzb3VyY2VzL2NvY29h
LmpzJykudGhlbigoY29jb2EpID0+IGNvbnNvbGUubG9nKGAke2NvY29hLm5hbWV9IGlzICR7Y29j
b2EudGFzdGV9LmApKSIpOworICAgICAgICAgICAgdGVzdFNvdXJjZSgiYXdhaXQgaW1wb3J0KCcu
L3Jlc291cmNlcy9kcmluay5qcycpLnRoZW4oKG5zKSA9PiBjb25zb2xlLmxvZyhgJHtucy5Db2Nv
YS5uYW1lfSBpcyAke25zLkNvY29hLnRhc3RlfS4gJHtucy5DYXBwdWNjaW5vLm5hbWV9IGlzICR7
bnMuQ2FwcHVjY2luby50YXN0ZX0uYCkpIik7CisKKyAgICAgICAgICAgIEluc3BlY3RvckJhY2tl
bmQucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhyZXNvbHZlKTsKKyAgICAgICAgfQorICAgIH0p
OworCiAgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7CiB9CiA8L3NjcmlwdD4K
</data>
<flag name="review"
          id="322398"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>