<?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>69423</bug_id>
          
          <creation_ts>2011-10-05 07:29:46 -0700</creation_ts>
          <short_desc>Web Inspector: implement CompilerSourceMappingProvider.</short_desc>
          <delta_ts>2011-10-13 12:09:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>MakingBotsRed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Pavel Podivilov">podivilov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>simon_kaegi</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>478337</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-10-05 07:29:46 -0700</bug_when>
    <thetext>Web Inspector: implement CompilerSourceMappingProvider.

CompilerSourceMappingProvider implements a cross-domain communication channel for loading source mappings and source files.
Front-end page can&apos;t send XHRs to source mapping server directly due to SOP restrictions. Instead, we inject an invisible iframe that is loaded from source mapping server and use window.postMessage to communicate with it.
iframe has a different origin and thus doesn&apos;t have access to front-end window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478341</commentid>
    <comment_count>1</comment_count>
      <attachid>109788</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-10-05 07:31:25 -0700</bug_when>
    <thetext>Created attachment 109788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478474</commentid>
    <comment_count>2</comment_count>
      <attachid>109818</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-10-05 10:24:20 -0700</bug_when>
    <thetext>Created attachment 109818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481544</commentid>
    <comment_count>3</comment_count>
      <attachid>109818</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-11 03:12:28 -0700</bug_when>
    <thetext>Comment on attachment 109818
Patch

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

&gt; Source/WebCore/inspector/front-end/CompilerSourceMappingProvider.js:34
&gt; +WebInspector.CompilerSourceMappingProvider = function(sourceMappingURL)

Could you please annotate this class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481614</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-10-11 07:04:13 -0700</bug_when>
    <thetext>Committed r97151: &lt;http://trac.webkit.org/changeset/97151&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483365</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-13 12:09:22 -0700</bug_when>
    <thetext>This is causing a crash on the Lion Debug bot:
http://build.webkit.org/results/Lion%20Intel%20Debug%20(Tests)/r97151%20(929)/http/tests/inspector/compiler-source-mapping-provider-crash-log.txt</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109788</attachid>
            <date>2011-10-05 07:31:25 -0700</date>
            <delta_ts>2011-10-05 10:24:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69423-20111005183123.patch</filename>
            <type>text/plain</type>
            <size>15011</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY1ODcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyYTljYTQyY2RhYzU4Y2FkMDJhZmYz
MTM1YWZiOTY4M2FiZjJjNjVjLi5hZmIyZTFjN2EwYzhlY2Q5ZjZkZmVhYWI3NjdmMzVjNzRkYjQy
MDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMTAtMDUgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaW1wbGVt
ZW50IENvbXBpbGVyU291cmNlTWFwcGluZ1Byb3ZpZGVyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MjMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVy
LXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1hcHBpbmctcHJvdmlkZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBp
bGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyL2FwcC1tYXA6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9jb21waWxlci1zb3VyY2UtbWFwcGluZy1wcm92
aWRlci9hcHAtbWFwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlcy9jb21waWxlci1zb3VyY2UtbWFwcGluZy1wcm92aWRlci9hcHAuanM6IEFkZGVk
LgorICAgICAgICAod2luZG93Lm9ubG9hZCk6CisgICAgICAgIChoYW5kbGVDbGljayk6CisgICAg
ICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBw
aW5nLXByb3ZpZGVyL2Zvby5qczogQWRkZWQuCisgICAgICAgIChDbGlja0hhbmRsZXIpOgorICAg
ICAgICAoQ2xpY2tIYW5kbGVyLnByb3RvdHlwZS5oYW5kbGUpOgorCiAyMDExLTEwLTA0ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBDb3VwbGUg
b2YgdGVzdHMgaGF2ZSBkaWZmZXJlbnQgcmVzdWx0cyBvbiA2NCBiaXQgYW5kL29yIGluIGRlYnVn
IG1vZGUgY29tcGFyZWQgdG8gMzIgYml0IGFuZC9vciByZWxlYXNlIG1vZGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5n
LXByb3ZpZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42YjQ3MTY4YjUzNzhmNjAxNzcyMzAyNDMwZTg4YTBjNTlmNmM4YTU4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1h
cHBpbmctcHJvdmlkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGVzdHMgQ29tcGls
ZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIgY2xhc3MuCisKKworUnVubmluZzogdGVzdExvYWQKKwor
UnVubmluZzogdGVzdFRpbWVvdXQKK2xvZzogUmVxdWVzdCB0aW1lZCBvdXQuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNvdXJjZS1tYXBw
aW5nLXByb3ZpZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21w
aWxlci1zb3VyY2UtbWFwcGluZy1wcm92aWRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjODBiNmQ2ZTJh
NDNhZGYyM2I1MDEyZDViM2U0YzQ0NDExMjM2ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zb3VyY2UtbWFwcGluZy1wcm92aWRl
ci5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRl
c3RMb2FkKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBwcm92aWRlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIoImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3Zp
ZGVyL2FwcC1tYXAiKTsKKyAgICAgICAgICAgIHZhciBzb3VyY2VNYXBwaW5nOworICAgICAgICAg
ICAgcHJvdmlkZXIubG9hZFNvdXJjZU1hcHBpbmcoZGlkTG9hZFNvdXJjZU1hcHBpbmcpOworICAg
ICAgICAgICAgZnVuY3Rpb24gZGlkTG9hZFNvdXJjZU1hcHBpbmcoc291cmNlTWFwcGluZ0FyZykK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBuZXh0KCk7IHJldHVybjsKKyAgICAgICAg
ICAgICAgICBzb3VyY2VNYXBwaW5nID0gc291cmNlTWFwcGluZ0FyZzsKKyAgICAgICAgICAgICAg
ICB2YXIgc291cmNlcyA9IHNvdXJjZU1hcHBpbmcuc291cmNlcygpOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDIsIHNvdXJjZXMubGVuZ3RoKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygiYXBwLmpzIiwgc291cmNlc1swXSk7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoImZvby5qcyIsIHNv
dXJjZXNbMV0pOworICAgICAgICAgICAgICAgIHByb3ZpZGVyLmxvYWRTb3VyY2VDb2RlKHNvdXJj
ZU1hcHBpbmcuc291cmNlcygpWzBdLCBkaWRMb2FkU291cmNlQ29kZSk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGRpZExvYWRTb3VyY2VDb2RlKGNvbnRlbnQpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMCwg
Y29udGVudC5pbmRleE9mKCJ3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSIpKTsKKyAgICAgICAg
ICAgICAgICBwcm92aWRlci5sb2FkU291cmNlQ29kZShzb3VyY2VNYXBwaW5nLnNvdXJjZXMoKVsx
XSwgZGlkTG9hZFNvdXJjZUNvZGUyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVu
Y3Rpb24gZGlkTG9hZFNvdXJjZUNvZGUyKGNvbnRlbnQpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMCwgY29udGVudC5pbmRleE9mKCJm
dW5jdGlvbiBDbGlja0hhbmRsZXIoKSIpKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdFRpbWVvdXQobmV4
dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rv
ci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlcigiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Rv
ZXMtbm90LWV4aXN0Iik7CisgICAgICAgICAgICBwcm92aWRlci5sb2FkU291cmNlTWFwcGluZyhk
aWRMb2FkU291cmNlTWFwcGluZyk7CisgICAgICAgICAgICBmdW5jdGlvbiBkaWRMb2FkU291cmNl
TWFwcGluZyhzb3VyY2VNYXBwaW5nKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKG51bGwsIHNvdXJjZU1hcHBpbmcpOworICAgICAgICAg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIF0pOworfTsKKwor
PC9zY3JpcHQ+CisKKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVz
dHMgQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIgY2xhc3MuPC9wPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyL2FwcC1tYXAgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29tcGlsZXItc291cmNlLW1hcHBpbmct
cHJvdmlkZXIvYXBwLW1hcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODI5YjBiY2M3YWI2NzNiYjUwNTFmOGZmMzU4
ZjllZjFhYTY3ODVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyL2FwcC1t
YXAKQEAgLTAsMCArMSw4IEBACit7CisidmVyc2lvbiI6MywKKyJmaWxlIjoiLi9hcHAtbWFwIiwK
KyJsaW5lQ291bnQiOjIsCisibWFwcGluZ3MiOiJBQUNBQSxNQUFBQyxPQUFBLENBQXdCQyxRQUFB
LEVBQ3hCLENBQ0ksSUFBSUMsRUFBTUMsUUFBQUMsY0FBc0IsQ0FBQyxLQUFELENBQ2hDRixFQUFB
RyxZQUFBLENBQWtCLEtBQ2xCSCxFQUFBSSxpQkFBb0IsQ0FBQyxPQUFELENBQVVDLFdBQVYsQ0FB
dUIsQ0FBQSxDQUF2QixDQUNwQkosU0FBQUssS0FBQUMsWUFBeUIsQ0FBQ1AsQ0FBRCxDQUVyQlEs
RUFBQUEsQ0FBTVAsUUFBQUMsY0FBc0IsQ0FBQyxLQUFELENBQ2hDTSxFQUFBTCxZQUFBLENBQWtC
LG9jQUNsQkY7UUFBQUssS0FBQUMsWUFBeUIsQ0FBQ0MsQ0FBRCxDQVI3QixDQVdTSCxTQUFBQSxZ
QUFXLENBQUNJLENBQUQsQ0FDcEIsQ0FFSUMsQ0FEOEJDLElBQVpDLFlBQ2xCRixRQUFjLENBQUNE
LENBQUQsQ0FGbEIsQ0NiU0csUUFBQUEsYUFBWSxFQUNyQixFQUdBQSxZQUFBQyxVQUFBSCxPQUFB
LENBQXdDSSxRQUFBLENBQUNMLENBQUQsQ0FDeEMsQ0FDSSxJQUFJTSxFQUFVZCxRQUFBQyxjQUFz
QixDQUFDLEtBQUQsQ0FDcENhLEVBQUFaLFlBQUEsQ0FBc0JNLENBQUFPLFVBQ3RCZixTQUFBSyxL
QUFBQyxZQUF5QixDQUFDUSxDQUFELENBSDdCOyIsCisic291cmNlcyI6WyJhcHAuanMiLCJmb28u
anMiXSwKKyJuYW1lcyI6WyJ3aW5kb3ciLCJvbmxvYWQiLCJ3aW5kb3cub25sb2FkIiwiZm9vIiwi
ZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwidGV4dENvbnRlbnQiLCJhZGRFdmVudExpc3RlbmVy
IiwiaGFuZGxlQ2xpY2siLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJiYXIiLCJldmVudCIsImhhbmRs
ZSIsImhhbmRsZXIiLCJDbGlja0hhbmRsZXIiLCJwcm90b3R5cGUiLCJDbGlja0hhbmRsZXIucHJv
dG90eXBlLmhhbmRsZSIsImVsZW1lbnQiLCJ0aW1lU3RhbXAiXQorfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1t
YXBwaW5nLXByb3ZpZGVyL2FwcC1tYXAuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlcy9jb21waWxlci1zb3VyY2UtbWFwcGluZy1wcm92aWRlci9hcHAtbWFw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTdlYmQ3ZmFhMTljNjE3ODEzMWNhOGRhYTkyYTFiZWIxNGFmOGM4
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlcy9jb21waWxlci1zb3VyY2UtbWFwcGluZy1wcm92aWRlci9hcHAtbWFwLmh0bWwKQEAg
LTAsMCArMSwyMCBAQAorPHNjcmlwdD4KK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdl
IiwgaGFuZGxlTWVzc2FnZSwgZmFsc2UpOworCitmdW5jdGlvbiBoYW5kbGVNZXNzYWdlKGV2ZW50
KQoreworICAgIHZhciB1cmwgPSBldmVudC5kYXRhLnBhcmFtc1swXTsKKyAgICB2YXIgcmVxdWVz
dCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcXVlc3Qub3BlbigiR0VUIiwgdXJsLCB0
cnVlKTsKKyAgICByZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkKKyAgICB7
CisgICAgICAgIGlmIChyZXF1ZXN0LnJlYWR5U3RhdGUgIT09IDQpCisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKQorICAgICAgICAgICAgZXZl
bnQuc291cmNlLnBvc3RNZXNzYWdlKHsgaWQ6IGV2ZW50LmRhdGEuaWQsIHJlc3VsdDogcmVxdWVz
dC5yZXNwb25zZVRleHQgfSwgZXZlbnQub3JpZ2luKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKHsgaWQ6IGV2ZW50LmRhdGEuaWQsIGVycm9yOiBy
ZXF1ZXN0LnN0YXR1c1RleHQgfSwgZXZlbnQub3JpZ2luKTsKKyAgICB9CisgICAgcmVxdWVzdC5z
ZW5kKCk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlcy9jb21waWxlci1zb3VyY2UtbWFwcGluZy1wcm92aWRlci9hcHAu
anMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29tcGlsZXIt
c291cmNlLW1hcHBpbmctcHJvdmlkZXIvYXBwLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlYzM1ODg2YzA2ZTBj
MjU5ZDg3YzQ2YWQxZWYzNGJlMDY1ZmUxOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29tcGlsZXItc291cmNlLW1hcHBpbmct
cHJvdmlkZXIvYXBwLmpzCkBAIC0wLDAgKzEsMTcgQEAKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
bigpCit7CisgICAgdmFyIGZvbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAg
IGZvby50ZXh0Q29udGVudCA9ICdmb28nOworICAgIGZvby5hZGRFdmVudExpc3RlbmVyKCdjbGlj
aycsIGhhbmRsZUNsaWNrLCB0cnVlKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZv
byk7CisKKyAgICB2YXIgYmFyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAg
YmFyLnRleHRDb250ZW50ID0gJ2JhcnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycic7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiYXIpOworfQor
CitmdW5jdGlvbiBoYW5kbGVDbGljayhldmVudCkKK3sKKyAgICB2YXIgaGFuZGxlciA9IG5ldyBD
bGlja0hhbmRsZXIoKTsKKyAgICBoYW5kbGVyLmhhbmRsZShldmVudCk7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvY29tcGlsZXItc291
cmNlLW1hcHBpbmctcHJvdmlkZXIvZm9vLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyL2Zvby5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iY2U3OGE2ZmZkNzZiYmNkODdkYjYwMmJmY2I5MDA3OWM0MjM4ODI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Vz
L2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyL2Zvby5qcwpAQCAtMCwwICsxLDEwIEBA
CitmdW5jdGlvbiBDbGlja0hhbmRsZXIoKQoreworfQorCitDbGlja0hhbmRsZXIucHJvdG90eXBl
LmhhbmRsZSA9IGZ1bmN0aW9uKGV2ZW50KQoreworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZWxlbWVudC50ZXh0Q29udGVudCA9IGV2ZW50LnRp
bWVTdGFtcDsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGUwNTg5NGY5YTE0M2JjZGNhZTliYjE4YjM3ZmI4NWE2MjNhNjI0NWEuLjRjMjU0
OTg2MGQ5ZWYxNDE4M2I3MzBhMjFjMjNhNWY1ODc2MjU5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOSBAQAorMjAxMS0xMC0wNSAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBpbXBsZW1lbnQgQ29tcGlsZXJTb3VyY2VN
YXBwaW5nUHJvdmlkZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02OTQyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvbXBpbGVyU291cmNlTWFwcGluZ1Byb3ZpZGVyIGltcGxlbWVudHMgYSBjcm9zcy1k
b21haW4gY29tbXVuaWNhdGlvbiBjaGFubmVsIGZvciBsb2FkaW5nIHNvdXJjZSBtYXBwaW5ncyBh
bmQgc291cmNlIGZpbGVzLgorICAgICAgICBGcm9udC1lbmQgcGFnZSBjYW4ndCBzZW5kIFhIUnMg
dG8gc291cmNlIG1hcHBpbmcgc2VydmVyIGRpcmVjdGx5IGR1ZSB0byBTT1AgcmVzdHJpY3Rpb25z
LiBJbnN0ZWFkLCB3ZSBpbmplY3QgYW4gaW52aXNpYmxlCisgICAgICAgIGlmcmFtZSB0aGF0IGlz
IGxvYWRlZCBmcm9tIHNvdXJjZSBtYXBwaW5nIHNlcnZlciBhbmQgdXNlIHdpbmRvdy5wb3N0TWVz
c2FnZSB0byBjb21tdW5pY2F0ZSB3aXRoIGl0LiBpZnJhbWUgaGFzIGEgZGlmZmVyZW50CisgICAg
ICAgIG9yaWdpbiBhbmQgdGh1cyBkb2Vzbid0IGhhdmUgYWNjZXNzIHRvIGZyb250LWVuZCB3aW5k
b3cuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNl
LW1hcHBpbmctcHJvdmlkZXIuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9D
b21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29t
cGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIucHJvdG90eXBlLmxvYWRTb3VyY2VNYXBwaW5nLmZy
YW1lTG9hZGVkLmRpZExvYWREYXRhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db21waWxlclNv
dXJjZU1hcHBpbmdQcm92aWRlci5wcm90b3R5cGUubG9hZFNvdXJjZU1hcHBpbmcuZnJhbWVMb2Fk
ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbXBpbGVyU291cmNlTWFwcGluZ1Byb3ZpZGVy
LnByb3RvdHlwZS5sb2FkU291cmNlTWFwcGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29t
cGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIucHJvdG90eXBlLmxvYWRTb3VyY2VDb2RlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlci5wcm90b3R5
cGUuX3NlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1h
cHBpbmdQcm92aWRlci5wcm90b3R5cGUuX29uTWVzc2FnZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIucHJvdG90eXBlLl9jYW5jZWxSZXF1ZXN0
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5pbnN0YWxsU291cmNlTWFwcGluZ0ZvclRlc3QpOgorCiAyMDExLTEwLTA0
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCBy
ZXZpZXdlZDogaW5zcGVjdG9yIHRlc3RzIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbXBpbGVyU291cmNlTWFwcGluZ1By
b3ZpZGVyLmpzCmluZGV4IGJhNzRjMzMxODI0NDE4ZDNjMTBiYWI2YWU5ZTJlNGMwMDRjNDQ0MDQu
LjM4MjlhYjVkOTkyZmU1ODI0YWEyODBmNGE2ZjkyODQ0ZmRhNmJiYTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJv
dmlkZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxl
clNvdXJjZU1hcHBpbmdQcm92aWRlci5qcwpAQCAtMzEsMTggKzMxLDkyIEBACiAvKioKICAqIEBj
b25zdHJ1Y3RvcgogICovCi1XZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlk
ZXIgPSBmdW5jdGlvbigpCitXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlk
ZXIgPSBmdW5jdGlvbihzb3VyY2VNYXBwaW5nVVJMKQogeworICAgIGlmICghdGhpcy5faW5pdGlh
bGl6ZWQpIHsKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCB0aGlz
Ll9vbk1lc3NhZ2UsIHRydWUpOworICAgICAgICBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VN
YXBwaW5nUHJvdmlkZXIucHJvdG90eXBlLl9pbml0aWFsaXplZCA9IHRydWU7CisgICAgfQorICAg
IHRoaXMuX3NvdXJjZU1hcHBpbmdVUkwgPSBzb3VyY2VNYXBwaW5nVVJMOworICAgIHRoaXMuX2Zy
YW1lVVJMID0gdGhpcy5fc291cmNlTWFwcGluZ1VSTCArICIuaHRtbCI7CiB9CiAKIFdlYkluc3Bl
Y3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlci5wcm90b3R5cGUgPSB7CiAgICAgbG9h
ZFNvdXJjZU1hcHBpbmc6IGZ1bmN0aW9uKGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgLy8gRklY
TUU6IGxvYWQgdGhlIG1hcCBmcm9tIHNvdXJjZSBtYXAgc2VydmVyLgorICAgICAgICB0aGlzLl9m
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgICAgICB0aGlzLl9m
cmFtZS5zcmMgPSB0aGlzLl9mcmFtZVVSTDsKKyAgICAgICAgZnVuY3Rpb24gZnJhbWVMb2FkZWQo
KQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbiBkaWRMb2FkRGF0YShlcnJvciwgcmVz
dWx0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAg
ICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7CisgICAgICAgICAgICAgICAgICAgIGNh
bGxiYWNrKG51bGwpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgdmFyIHBheWxvYWQ7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgcGF5bG9hZCA9IEpTT04ucGFyc2UocmVzdWx0KTsKKyAg
ICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUu
bG9nKCJGYWlsZWQgdG8gcGFyc2UgSlNPTi4iKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgICAgICBpZiAocGF5bG9hZCkKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sobmV3
IFdlYkluc3BlY3Rvci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nKHBheWxvYWQpKTsKKyAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKG51bGwpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgdGhpcy5fc2VuZFJlcXVlc3QoImxvYWREYXRhIiwg
W3RoaXMuX3NvdXJjZU1hcHBpbmdVUkxdLCBkaWRMb2FkRGF0YSk7CisgICAgICAgIH0KKyAgICAg
ICAgdGhpcy5fZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZyYW1lTG9hZGVkLmJpbmQo
dGhpcyksIHRydWUpOworICAgICAgICAvLyBGSVhNRTogcmVtb3ZlIGlmcmFtZSBmcm9tIHRoZSBk
b2N1bWVudCB3aGVuIGl0IGlzIG5vdCBuZWVkZWQgYW55bW9yZS4KKyAgICAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZCh0aGlzLl9mcmFtZSk7CiAgICAgfSwKIAotICAgIGxvYWRTb3VyY2VD
b2RlOiBmdW5jdGlvbihzb3VyY2VVUkwsIGNhbGxiYWNrKQorICAgIGxvYWRTb3VyY2VDb2RlOiBm
dW5jdGlvbihzb3VyY2VVUkwsIGNhbGxiYWNrLCB0aW1lb3V0KQogICAgIHsKLSAgICAgICAgLy8g
RklYTUU6IGxvYWQgc291cmNlIGNvZGUgZnJvbSBzb3VyY2UgbWFwIHNlcnZlci4KLSAgICB9Cisg
ICAgICAgIGZ1bmN0aW9uIGRpZFNlbmRSZXF1ZXN0KGVycm9yLCByZXN1bHQpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVy
cm9yKTsKKyAgICAgICAgICAgICAgICBjYWxsYmFjayhyZXN1bHQpOworICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhbGxiYWNrKCIiKTsKKyAgICAg
ICAgfQorICAgICAgICB0aGlzLl9zZW5kUmVxdWVzdCgibG9hZERhdGEiLCBbc291cmNlVVJMXSwg
ZGlkU2VuZFJlcXVlc3QsIHRpbWVvdXQpOworICAgIH0sCisKKyAgICBfc2VuZFJlcXVlc3Q6IGZ1
bmN0aW9uKG1ldGhvZCwgcGFyYW1ldGVycywgY2FsbGJhY2ssIHRpbWVvdXQpCisgICAgeworICAg
ICAgICB2YXIgcmVxdWVzdElkID0gdGhpcy5fcmVxdWVzdElkKys7CisgICAgICAgIHZhciB0aW1l
cklkID0gc2V0VGltZW91dCh0aGlzLl9jYW5jZWxSZXF1ZXN0LmJpbmQodGhpcywgcmVxdWVzdElk
KSwgdGltZW91dCB8fCA1MCk7CisgICAgICAgIHRoaXMuX3JlcXVlc3RzW3JlcXVlc3RJZF0gPSB7
IGNhbGxiYWNrOiBjYWxsYmFjaywgdGltZXJJZDogdGltZXJJZCB9OworICAgICAgICB2YXIgcmVx
dWVzdERhdGEgPSB7IGlkOiByZXF1ZXN0SWQsIG1ldGhvZDogbWV0aG9kLCBwYXJhbXM6IHBhcmFt
ZXRlcnMgfTsKKyAgICAgICAgdGhpcy5fZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShy
ZXF1ZXN0RGF0YSwgdGhpcy5fZnJhbWVVUkwpOworICAgIH0sCisKKyAgICBfb25NZXNzYWdlOiBm
dW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0SWQgPSBldmVudC5kYXRh
LmlkOworICAgICAgICB2YXIgcmVxdWVzdHMgPSBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VN
YXBwaW5nUHJvdmlkZXIucHJvdG90eXBlLl9yZXF1ZXN0czsKKyAgICAgICAgdmFyIHJlcXVlc3Qg
PSByZXF1ZXN0c1tyZXF1ZXN0SWRdOworICAgICAgICBpZiAoIXJlcXVlc3QpCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIGRlbGV0ZSByZXF1ZXN0c1tyZXF1ZXN0SWRdOworICAgICAgICBj
bGVhclRpbWVvdXQocmVxdWVzdC50aW1lcklkKTsKKyAgICAgICAgcmVxdWVzdC5jYWxsYmFjayhl
dmVudC5kYXRhLmVycm9yLCBldmVudC5kYXRhLnJlc3VsdCk7CisgICAgfSwKKworICAgIF9jYW5j
ZWxSZXF1ZXN0OiBmdW5jdGlvbihyZXF1ZXN0SWQpCisgICAgeworICAgICAgICB2YXIgcmVxdWVz
dCA9IHRoaXMuX3JlcXVlc3RzW3JlcXVlc3RJZF07CisgICAgICAgIGRlbGV0ZSB0aGlzLl9yZXF1
ZXN0c1tyZXF1ZXN0SWRdOworICAgICAgICByZXF1ZXN0LmNhbGxiYWNrKCJSZXF1ZXN0IHRpbWVk
IG91dC4iLCBudWxsKTsKKyAgICB9LAorCisgICAgX3JlcXVlc3RJZDogMCwKKyAgICBfcmVxdWVz
dHM6IHt9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzCmluZGV4IDM1MWM1MmQ5ZjZiMGQxYjM1ODYyYTkyZTg2ZDI4Yzc4OGQxNmRlNTYuLjE4
ZWU3NWJlMDQ5NzQxMDRjNDczM2FhMDkzNjcwM2JlYjk3NzM1YzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC0xNjA1LDMgKzE2MDUs
MTEgQEAgTnVtYmVyLmJ5dGVzVG9TdHJpbmcgPSBmdW5jdGlvbihieXRlcywgaGlnaGVyUmVzb2x1
dGlvbikKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiUu
MGZNQiIsIG1lZ2FieXRlcyk7CiB9CisKK1dlYkluc3BlY3Rvci5pbnN0YWxsU291cmNlTWFwcGlu
Z0ZvclRlc3QgPSBmdW5jdGlvbih1cmwpCit7CisgICAgLy8gRklYTUU6IHJlbW92ZSB0aGlzIG1l
dGhvZCB3aGVuIGl0J3MgcG9zc2libGUgdG8gc2V0IGNvbXBpbGVyIHNvdXJjZSBtYXBwaW5ncyB2
aWEgVUkuCisgICAgdmFyIHByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJj
ZU1hcHBpbmdQcm92aWRlcih1cmwpOworICAgIHZhciB1aVNvdXJjZUNvZGUgPSBXZWJJbnNwZWN0
b3IucGFuZWxzLnNjcmlwdHMudmlzaWJsZVZpZXcuX2RlbGVnYXRlLl91aVNvdXJjZUNvZGU7Cisg
ICAgdWlTb3VyY2VDb2RlLnJhd1NvdXJjZUNvZGUuc2V0Q29tcGlsZXJTb3VyY2VNYXBwaW5nUHJv
dmlkZXIocHJvdmlkZXIpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109818</attachid>
            <date>2011-10-05 10:24:20 -0700</date>
            <delta_ts>2011-10-11 03:12:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69423-20111005212418.patch</filename>
            <type>text/plain</type>
            <size>14978</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY1ODcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyYTljYTQyY2RhYzU4Y2FkMDJhZmYz
MTM1YWZiOTY4M2FiZjJjNjVjLi5hZmIyZTFjN2EwYzhlY2Q5ZjZkZmVhYWI3NjdmMzVjNzRkYjQy
MDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMTAtMDUgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaW1wbGVt
ZW50IENvbXBpbGVyU291cmNlTWFwcGluZ1Byb3ZpZGVyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MjMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVy
LXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1hcHBpbmctcHJvdmlkZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBp
bGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyL2FwcC1tYXA6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9jb21waWxlci1zb3VyY2UtbWFwcGluZy1wcm92
aWRlci9hcHAtbWFwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlcy9jb21waWxlci1zb3VyY2UtbWFwcGluZy1wcm92aWRlci9hcHAuanM6IEFkZGVk
LgorICAgICAgICAod2luZG93Lm9ubG9hZCk6CisgICAgICAgIChoYW5kbGVDbGljayk6CisgICAg
ICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBw
aW5nLXByb3ZpZGVyL2Zvby5qczogQWRkZWQuCisgICAgICAgIChDbGlja0hhbmRsZXIpOgorICAg
ICAgICAoQ2xpY2tIYW5kbGVyLnByb3RvdHlwZS5oYW5kbGUpOgorCiAyMDExLTEwLTA0ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBDb3VwbGUg
b2YgdGVzdHMgaGF2ZSBkaWZmZXJlbnQgcmVzdWx0cyBvbiA2NCBiaXQgYW5kL29yIGluIGRlYnVn
IG1vZGUgY29tcGFyZWQgdG8gMzIgYml0IGFuZC9vciByZWxlYXNlIG1vZGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5n
LXByb3ZpZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42YjQ3MTY4YjUzNzhmNjAxNzcyMzAyNDMwZTg4YTBjNTlmNmM4YTU4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1h
cHBpbmctcHJvdmlkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGVzdHMgQ29tcGls
ZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIgY2xhc3MuCisKKworUnVubmluZzogdGVzdExvYWQKKwor
UnVubmluZzogdGVzdFRpbWVvdXQKK2xvZzogUmVxdWVzdCB0aW1lZCBvdXQuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNvdXJjZS1tYXBw
aW5nLXByb3ZpZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21w
aWxlci1zb3VyY2UtbWFwcGluZy1wcm92aWRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2ZjAyNmI3OWEw
NTRmOWUxMDVhNzRlMDZkNDhlODJiNmUxNjA3MGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zb3VyY2UtbWFwcGluZy1wcm92aWRl
ci5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRl
c3RMb2FkKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBwcm92aWRlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIoImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3Zp
ZGVyL2FwcC1tYXAiKTsKKyAgICAgICAgICAgIHZhciBzb3VyY2VNYXBwaW5nOworICAgICAgICAg
ICAgcHJvdmlkZXIubG9hZFNvdXJjZU1hcHBpbmcoZGlkTG9hZFNvdXJjZU1hcHBpbmcpOworICAg
ICAgICAgICAgZnVuY3Rpb24gZGlkTG9hZFNvdXJjZU1hcHBpbmcoc291cmNlTWFwcGluZ0FyZykK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzb3VyY2VNYXBwaW5nID0gc291cmNlTWFw
cGluZ0FyZzsKKyAgICAgICAgICAgICAgICB2YXIgc291cmNlcyA9IHNvdXJjZU1hcHBpbmcuc291
cmNlcygpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDIsIHNv
dXJjZXMubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFs
cygiYXBwLmpzIiwgc291cmNlc1swXSk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnRFcXVhbHMoImZvby5qcyIsIHNvdXJjZXNbMV0pOworICAgICAgICAgICAgICAgIHByb3Zp
ZGVyLmxvYWRTb3VyY2VDb2RlKHNvdXJjZU1hcHBpbmcuc291cmNlcygpWzBdLCBkaWRMb2FkU291
cmNlQ29kZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGRpZExvYWRT
b3VyY2VDb2RlKGNvbnRlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnRFcXVhbHMoMCwgY29udGVudC5pbmRleE9mKCJ3aW5kb3cub25sb2FkID0g
ZnVuY3Rpb24oKSIpKTsKKyAgICAgICAgICAgICAgICBwcm92aWRlci5sb2FkU291cmNlQ29kZShz
b3VyY2VNYXBwaW5nLnNvdXJjZXMoKVsxXSwgZGlkTG9hZFNvdXJjZUNvZGUyKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZGlkTG9hZFNvdXJjZUNvZGUyKGNvbnRlbnQp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVh
bHMoMCwgY29udGVudC5pbmRleE9mKCJmdW5jdGlvbiBDbGlja0hhbmRsZXIoKSIpKTsKKyAgICAg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAg
ZnVuY3Rpb24gdGVzdFRpbWVvdXQobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHBy
b3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlcigi
aHR0cDovL2xvY2FsaG9zdDo4MDAwL2RvZXMtbm90LWV4aXN0Iik7CisgICAgICAgICAgICBwcm92
aWRlci5sb2FkU291cmNlTWFwcGluZyhkaWRMb2FkU291cmNlTWFwcGluZyk7CisgICAgICAgICAg
ICBmdW5jdGlvbiBkaWRMb2FkU291cmNlTWFwcGluZyhzb3VyY2VNYXBwaW5nKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKG51bGwsIHNv
dXJjZU1hcHBpbmcpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIF0pOworfTsKKworPC9zY3JpcHQ+CisKKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIg
Y2xhc3MuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3Zp
ZGVyL2FwcC1tYXAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMv
Y29tcGlsZXItc291cmNlLW1hcHBpbmctcHJvdmlkZXIvYXBwLW1hcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODI5
YjBiY2M3YWI2NzNiYjUwNTFmOGZmMzU4ZjllZjFhYTY3ODVkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJj
ZS1tYXBwaW5nLXByb3ZpZGVyL2FwcC1tYXAKQEAgLTAsMCArMSw4IEBACit7CisidmVyc2lvbiI6
MywKKyJmaWxlIjoiLi9hcHAtbWFwIiwKKyJsaW5lQ291bnQiOjIsCisibWFwcGluZ3MiOiJBQUNB
QSxNQUFBQyxPQUFBLENBQXdCQyxRQUFBLEVBQ3hCLENBQ0ksSUFBSUMsRUFBTUMsUUFBQUMsY0FB
c0IsQ0FBQyxLQUFELENBQ2hDRixFQUFBRyxZQUFBLENBQWtCLEtBQ2xCSCxFQUFBSSxpQkFBb0Is
Q0FBQyxPQUFELENBQVVDLFdBQVYsQ0FBdUIsQ0FBQSxDQUF2QixDQUNwQkosU0FBQUssS0FBQUMs
WUFBeUIsQ0FBQ1AsQ0FBRCxDQUVyQlEsRUFBQUEsQ0FBTVAsUUFBQUMsY0FBc0IsQ0FBQyxLQUFE
LENBQ2hDTSxFQUFBTCxZQUFBLENBQWtCLG9jQUNsQkY7UUFBQUssS0FBQUMsWUFBeUIsQ0FBQ0Ms
Q0FBRCxDQVI3QixDQVdTSCxTQUFBQSxZQUFXLENBQUNJLENBQUQsQ0FDcEIsQ0FFSUMsQ0FEOEJD
LElBQVpDLFlBQ2xCRixRQUFjLENBQUNELENBQUQsQ0FGbEIsQ0NiU0csUUFBQUEsYUFBWSxFQUNy
QixFQUdBQSxZQUFBQyxVQUFBSCxPQUFBLENBQXdDSSxRQUFBLENBQUNMLENBQUQsQ0FDeEMsQ0FD
SSxJQUFJTSxFQUFVZCxRQUFBQyxjQUFzQixDQUFDLEtBQUQsQ0FDcENhLEVBQUFaLFlBQUEsQ0FB
c0JNLENBQUFPLFVBQ3RCZixTQUFBSyxLQUFBQyxZQUF5QixDQUFDUSxDQUFELENBSDdCOyIsCisi
c291cmNlcyI6WyJhcHAuanMiLCJmb28uanMiXSwKKyJuYW1lcyI6WyJ3aW5kb3ciLCJvbmxvYWQi
LCJ3aW5kb3cub25sb2FkIiwiZm9vIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwidGV4dENv
bnRlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2xpY2siLCJib2R5IiwiYXBwZW5kQ2hp
bGQiLCJiYXIiLCJldmVudCIsImhhbmRsZSIsImhhbmRsZXIiLCJDbGlja0hhbmRsZXIiLCJwcm90
b3R5cGUiLCJDbGlja0hhbmRsZXIucHJvdG90eXBlLmhhbmRsZSIsImVsZW1lbnQiLCJ0aW1lU3Rh
bXAiXQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVyL2FwcC1tYXAuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9jb21waWxlci1zb3VyY2Ut
bWFwcGluZy1wcm92aWRlci9hcHAtbWFwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTdlYmQ3ZmFhMTljNjE3
ODEzMWNhOGRhYTkyYTFiZWIxNGFmOGM4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9jb21waWxlci1zb3VyY2UtbWFwcGluZy1w
cm92aWRlci9hcHAtbWFwLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPHNjcmlwdD4KK3dpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgaGFuZGxlTWVzc2FnZSwgZmFsc2UpOworCitmdW5j
dGlvbiBoYW5kbGVNZXNzYWdlKGV2ZW50KQoreworICAgIHZhciB1cmwgPSBldmVudC5kYXRhLnBh
cmFtc1swXTsKKyAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJl
cXVlc3Qub3BlbigiR0VUIiwgdXJsLCB0cnVlKTsKKyAgICByZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNo
YW5nZSA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmIChyZXF1ZXN0LnJlYWR5U3RhdGUg
IT09IDQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9
PT0gMjAwKQorICAgICAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKHsgaWQ6IGV2ZW50
LmRhdGEuaWQsIHJlc3VsdDogcmVxdWVzdC5yZXNwb25zZVRleHQgfSwgZXZlbnQub3JpZ2luKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKHsgaWQ6
IGV2ZW50LmRhdGEuaWQsIGVycm9yOiByZXF1ZXN0LnN0YXR1c1RleHQgfSwgZXZlbnQub3JpZ2lu
KTsKKyAgICB9CisgICAgcmVxdWVzdC5zZW5kKCk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9jb21waWxlci1zb3Vy
Y2UtbWFwcGluZy1wcm92aWRlci9hcHAuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZXMvY29tcGlsZXItc291cmNlLW1hcHBpbmctcHJvdmlkZXIvYXBwLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZlYzM1ODg2YzA2ZTBjMjU5ZDg3YzQ2YWQxZWYzNGJlMDY1ZmUxOGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMv
Y29tcGlsZXItc291cmNlLW1hcHBpbmctcHJvdmlkZXIvYXBwLmpzCkBAIC0wLDAgKzEsMTcgQEAK
K3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgdmFyIGZvbyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGZvby50ZXh0Q29udGVudCA9ICdmb28nOworICAgIGZv
by5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrLCB0cnVlKTsKKyAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvbyk7CisKKyAgICB2YXIgYmFyID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CisgICAgYmFyLnRleHRDb250ZW50ID0gJ2JhcnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycic7CisgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChiYXIpOworfQorCitmdW5jdGlvbiBoYW5kbGVDbGljayhldmVudCkKK3sK
KyAgICB2YXIgaGFuZGxlciA9IG5ldyBDbGlja0hhbmRsZXIoKTsKKyAgICBoYW5kbGVyLmhhbmRs
ZShldmVudCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZXMvY29tcGlsZXItc291cmNlLW1hcHBpbmctcHJvdmlkZXIvZm9vLmpzIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1t
YXBwaW5nLXByb3ZpZGVyL2Zvby5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2U3OGE2ZmZkNzZiYmNkODdkYjYw
MmJmY2I5MDA3OWM0MjM4ODI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLXByb3ZpZGVy
L2Zvby5qcwpAQCAtMCwwICsxLDEwIEBACitmdW5jdGlvbiBDbGlja0hhbmRsZXIoKQoreworfQor
CitDbGlja0hhbmRsZXIucHJvdG90eXBlLmhhbmRsZSA9IGZ1bmN0aW9uKGV2ZW50KQoreworICAg
IHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZWxlbWVu
dC50ZXh0Q29udGVudCA9IGV2ZW50LnRpbWVTdGFtcDsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGVsZW1lbnQpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGUwNTg5NGY5YTE0M2JjZGNhZTliYjE4
YjM3ZmI4NWE2MjNhNjI0NWEuLjRjMjU0OTg2MGQ5ZWYxNDE4M2I3MzBhMjFjMjNhNWY1ODc2MjU5
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMS0xMC0wNSAgUGF2ZWwgUG9kaXZp
bG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBp
bXBsZW1lbnQgQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQyMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbXBpbGVyU291cmNlTWFwcGluZ1Byb3Zp
ZGVyIGltcGxlbWVudHMgYSBjcm9zcy1kb21haW4gY29tbXVuaWNhdGlvbiBjaGFubmVsIGZvciBs
b2FkaW5nIHNvdXJjZSBtYXBwaW5ncyBhbmQgc291cmNlIGZpbGVzLgorICAgICAgICBGcm9udC1l
bmQgcGFnZSBjYW4ndCBzZW5kIFhIUnMgdG8gc291cmNlIG1hcHBpbmcgc2VydmVyIGRpcmVjdGx5
IGR1ZSB0byBTT1AgcmVzdHJpY3Rpb25zLiBJbnN0ZWFkLCB3ZSBpbmplY3QgYW4gaW52aXNpYmxl
CisgICAgICAgIGlmcmFtZSB0aGF0IGlzIGxvYWRlZCBmcm9tIHNvdXJjZSBtYXBwaW5nIHNlcnZl
ciBhbmQgdXNlIHdpbmRvdy5wb3N0TWVzc2FnZSB0byBjb21tdW5pY2F0ZSB3aXRoIGl0LiBpZnJh
bWUgaGFzIGEgZGlmZmVyZW50CisgICAgICAgIG9yaWdpbiBhbmQgdGh1cyBkb2Vzbid0IGhhdmUg
YWNjZXNzIHRvIGZyb250LWVuZCB3aW5kb3cuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1hcHBpbmctcHJvdmlkZXIuaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlci5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlcik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIucHJvdG90
eXBlLmxvYWRTb3VyY2VNYXBwaW5nLmZyYW1lTG9hZGVkLmRpZExvYWREYXRhKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlci5wcm90b3R5cGUubG9h
ZFNvdXJjZU1hcHBpbmcuZnJhbWVMb2FkZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbXBp
bGVyU291cmNlTWFwcGluZ1Byb3ZpZGVyLnByb3RvdHlwZS5sb2FkU291cmNlTWFwcGluZyk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIucHJvdG90
eXBlLmxvYWRTb3VyY2VDb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJj
ZU1hcHBpbmdQcm92aWRlci5wcm90b3R5cGUuX3NlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlci5wcm90b3R5cGUuX29uTWVzc2Fn
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIu
cHJvdG90eXBlLl9jYW5jZWxSZXF1ZXN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5pbnN0YWxsU291cmNlTWFwcGlu
Z0ZvclRlc3QpOgorCiAyMDExLTEwLTA0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZDogaW5zcGVjdG9yIHRlc3RzIGZpeC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3Vy
Y2VNYXBwaW5nUHJvdmlkZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NvbXBpbGVyU291cmNlTWFwcGluZ1Byb3ZpZGVyLmpzCmluZGV4IGJhNzRjMzMxODI0NDE4ZDNj
MTBiYWI2YWU5ZTJlNGMwMDRjNDQ0MDQuLmQyMjQ2OGU1M2MxOTgxNjMzZjgzODZkZWYwYTA0Yjdk
ZGZhNTJiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlci5qcwpAQCAtMzEs
MTggKzMxLDkyIEBACiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICovCi1XZWJJbnNwZWN0b3IuQ29t
cGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIgPSBmdW5jdGlvbigpCitXZWJJbnNwZWN0b3IuQ29t
cGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIgPSBmdW5jdGlvbihzb3VyY2VNYXBwaW5nVVJMKQog
eworICAgIGlmICghdGhpcy5faW5pdGlhbGl6ZWQpIHsKKyAgICAgICAgd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoIm1lc3NhZ2UiLCB0aGlzLl9vbk1lc3NhZ2UsIHRydWUpOworICAgICAgICBXZWJJ
bnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIucHJvdG90eXBlLl9pbml0aWFs
aXplZCA9IHRydWU7CisgICAgfQorICAgIHRoaXMuX3NvdXJjZU1hcHBpbmdVUkwgPSBzb3VyY2VN
YXBwaW5nVVJMOworICAgIHRoaXMuX2ZyYW1lVVJMID0gdGhpcy5fc291cmNlTWFwcGluZ1VSTCAr
ICIuaHRtbCI7CiB9CiAKIFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRl
ci5wcm90b3R5cGUgPSB7CiAgICAgbG9hZFNvdXJjZU1hcHBpbmc6IGZ1bmN0aW9uKGNhbGxiYWNr
KQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6IGxvYWQgdGhlIG1hcCBmcm9tIHNvdXJjZSBtYXAg
c2VydmVyLgorICAgICAgICB0aGlzLl9mcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlm
cmFtZSIpOworICAgICAgICB0aGlzLl9mcmFtZS5zcmMgPSB0aGlzLl9mcmFtZVVSTDsKKyAgICAg
ICAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlv
biBkaWRMb2FkRGF0YShlcnJvciwgcmVzdWx0KQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7
CisgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKG51bGwpOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgdmFyIHBheWxv
YWQ7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgcGF5bG9hZCA9
IEpTT04ucGFyc2UocmVzdWx0KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJGYWlsZWQgdG8gcGFyc2UgSlNPTi4iKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAocGF5bG9hZCkKKyAgICAgICAg
ICAgICAgICAgICAgY2FsbGJhY2sobmV3IFdlYkluc3BlY3Rvci5DbG9zdXJlQ29tcGlsZXJTb3Vy
Y2VNYXBwaW5nKHBheWxvYWQpKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgICAgIGNhbGxiYWNrKG51bGwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGhpcy5f
c2VuZFJlcXVlc3QoImxvYWREYXRhIiwgW3RoaXMuX3NvdXJjZU1hcHBpbmdVUkxdLCBkaWRMb2Fk
RGF0YSk7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5fZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIGZyYW1lTG9hZGVkLmJpbmQodGhpcyksIHRydWUpOworICAgICAgICAvLyBGSVhNRTog
cmVtb3ZlIGlmcmFtZSBmcm9tIHRoZSBkb2N1bWVudCB3aGVuIGl0IGlzIG5vdCBuZWVkZWQgYW55
bW9yZS4KKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9mcmFtZSk7CiAg
ICAgfSwKIAotICAgIGxvYWRTb3VyY2VDb2RlOiBmdW5jdGlvbihzb3VyY2VVUkwsIGNhbGxiYWNr
KQorICAgIGxvYWRTb3VyY2VDb2RlOiBmdW5jdGlvbihzb3VyY2VVUkwsIGNhbGxiYWNrLCB0aW1l
b3V0KQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6IGxvYWQgc291cmNlIGNvZGUgZnJvbSBzb3Vy
Y2UgbWFwIHNlcnZlci4KLSAgICB9CisgICAgICAgIGZ1bmN0aW9uIGRpZFNlbmRSZXF1ZXN0KGVy
cm9yLCByZXN1bHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAg
ICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTsKKyAgICAgICAgICAgICAgICBjYWxsYmFjaygi
Iik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Y2FsbGJhY2socmVzdWx0KTsKKyAgICAgICAgfQorICAgICAgICB0aGlzLl9zZW5kUmVxdWVzdCgi
bG9hZERhdGEiLCBbc291cmNlVVJMXSwgZGlkU2VuZFJlcXVlc3QsIHRpbWVvdXQpOworICAgIH0s
CisKKyAgICBfc2VuZFJlcXVlc3Q6IGZ1bmN0aW9uKG1ldGhvZCwgcGFyYW1ldGVycywgY2FsbGJh
Y2ssIHRpbWVvdXQpCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdElkID0gdGhpcy5fcmVxdWVz
dElkKys7CisgICAgICAgIHZhciB0aW1lcklkID0gc2V0VGltZW91dCh0aGlzLl9jYW5jZWxSZXF1
ZXN0LmJpbmQodGhpcywgcmVxdWVzdElkKSwgdGltZW91dCB8fCA1MCk7CisgICAgICAgIHRoaXMu
X3JlcXVlc3RzW3JlcXVlc3RJZF0gPSB7IGNhbGxiYWNrOiBjYWxsYmFjaywgdGltZXJJZDogdGlt
ZXJJZCB9OworICAgICAgICB2YXIgcmVxdWVzdERhdGEgPSB7IGlkOiByZXF1ZXN0SWQsIG1ldGhv
ZDogbWV0aG9kLCBwYXJhbXM6IHBhcmFtZXRlcnMgfTsKKyAgICAgICAgdGhpcy5fZnJhbWUuY29u
dGVudFdpbmRvdy5wb3N0TWVzc2FnZShyZXF1ZXN0RGF0YSwgdGhpcy5fZnJhbWVVUkwpOworICAg
IH0sCisKKyAgICBfb25NZXNzYWdlOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZh
ciByZXF1ZXN0SWQgPSBldmVudC5kYXRhLmlkOworICAgICAgICB2YXIgcmVxdWVzdHMgPSBXZWJJ
bnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIucHJvdG90eXBlLl9yZXF1ZXN0
czsKKyAgICAgICAgdmFyIHJlcXVlc3QgPSByZXF1ZXN0c1tyZXF1ZXN0SWRdOworICAgICAgICBp
ZiAoIXJlcXVlc3QpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGRlbGV0ZSByZXF1ZXN0
c1tyZXF1ZXN0SWRdOworICAgICAgICBjbGVhclRpbWVvdXQocmVxdWVzdC50aW1lcklkKTsKKyAg
ICAgICAgcmVxdWVzdC5jYWxsYmFjayhldmVudC5kYXRhLmVycm9yLCBldmVudC5kYXRhLnJlc3Vs
dCk7CisgICAgfSwKKworICAgIF9jYW5jZWxSZXF1ZXN0OiBmdW5jdGlvbihyZXF1ZXN0SWQpCisg
ICAgeworICAgICAgICB2YXIgcmVxdWVzdCA9IHRoaXMuX3JlcXVlc3RzW3JlcXVlc3RJZF07Cisg
ICAgICAgIGRlbGV0ZSB0aGlzLl9yZXF1ZXN0c1tyZXF1ZXN0SWRdOworICAgICAgICByZXF1ZXN0
LmNhbGxiYWNrKCJSZXF1ZXN0IHRpbWVkIG91dC4iLCBudWxsKTsKKyAgICB9LAorCisgICAgX3Jl
cXVlc3RJZDogMCwKKyAgICBfcmVxdWVzdHM6IHt9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDM1MWM1MmQ5ZjZiMGQxYjM1ODYy
YTkyZTg2ZDI4Yzc4OGQxNmRlNTYuLjE4ZWU3NWJlMDQ5NzQxMDRjNDczM2FhMDkzNjcwM2JlYjk3
NzM1YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzCkBAIC0xNjA1LDMgKzE2MDUsMTEgQEAgTnVtYmVyLmJ5dGVzVG9TdHJpbmcgPSBmdW5j
dGlvbihieXRlcywgaGlnaGVyUmVzb2x1dGlvbikKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiUuMGZNQiIsIG1lZ2FieXRlcyk7CiB9CisKK1dlYkluc3Bl
Y3Rvci5pbnN0YWxsU291cmNlTWFwcGluZ0ZvclRlc3QgPSBmdW5jdGlvbih1cmwpCit7CisgICAg
Ly8gRklYTUU6IHJlbW92ZSB0aGlzIG1ldGhvZCB3aGVuIGl0J3MgcG9zc2libGUgdG8gc2V0IGNv
bXBpbGVyIHNvdXJjZSBtYXBwaW5ncyB2aWEgVUkuCisgICAgdmFyIHByb3ZpZGVyID0gbmV3IFdl
Ykluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlcih1cmwpOworICAgIHZhciB1
aVNvdXJjZUNvZGUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMudmlzaWJsZVZpZXcuX2Rl
bGVnYXRlLl91aVNvdXJjZUNvZGU7CisgICAgdWlTb3VyY2VDb2RlLnJhd1NvdXJjZUNvZGUuc2V0
Q29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIocHJvdmlkZXIpOworfQo=
</data>
<flag name="review"
          id="107136"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>