<?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>68998</bug_id>
          
          <creation_ts>2011-09-28 06:03:40 -0700</creation_ts>
          <short_desc>Web Inspector: Add support for search in single resource to page agent.</short_desc>
          <delta_ts>2011-09-28 08:01:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>podivilov</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>474697</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-28 06:03:40 -0700</bug_when>
    <thetext>Add support for search in single resource to page agent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474700</commentid>
    <comment_count>1</comment_count>
      <attachid>109014</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-28 06:11:05 -0700</bug_when>
    <thetext>Created attachment 109014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474701</commentid>
    <comment_count>2</comment_count>
      <attachid>109014</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-28 06:12:56 -0700</bug_when>
    <thetext>Comment on attachment 109014
Patch

Need to fix style, clearing r?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474702</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-28 06:13:19 -0700</bug_when>
    <thetext>Attachment 109014 did not pass style-queue:

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

Source/WebCore/inspector/InspectorPageAgent.cpp:496:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorPageAgent.h:100:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 2 in 13 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>474703</commentid>
    <comment_count>4</comment_count>
      <attachid>109015</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-28 06:14:59 -0700</bug_when>
    <thetext>Created attachment 109015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474704</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-28 06:18:43 -0700</bug_when>
    <thetext>Attachment 109015 did not pass style-queue:

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

Source/WebCore/inspector/InspectorPageAgent.cpp:496:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorPageAgent.h:100:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 2 in 13 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>474718</commentid>
    <comment_count>6</comment_count>
      <attachid>109015</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-09-28 06:43:29 -0700</bug_when>
    <thetext>Comment on attachment 109015
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:110
&gt; +                    { &quot;name&quot;: &quot;line&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Line with match.&quot; }

&quot;name&quot;: &quot;lineText&quot; or &quot;name&quot;: &quot;lineContent&quot;

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:487
&gt; +static PassRefPtr&lt;InspectorObject&gt; buildObjectForSearchMatch(int lineNumber, String line)

Consider moving to ContentSearchUtil

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:522
&gt; +    RegularExpression regex = ContentSearchUtils::createSearchRegex(text, false, false);

This all could belong to the utility method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474730</commentid>
    <comment_count>7</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-28 08:01:00 -0700</bug_when>
    <thetext>Committed r96223: &lt;http://trac.webkit.org/changeset/96223&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109014</attachid>
            <date>2011-09-28 06:11:05 -0700</date>
            <delta_ts>2011-09-28 06:14:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68998-20110928171103.patch</filename>
            <type>text/plain</type>
            <size>16785</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYyMTUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlOTFhZjUzZmY2NjlhYTIxNmYwMjFi
NmM4MzQ3ZTBmZTUyYmQ0NGRkLi5hMjEzZjEzODdiNzAwMjIxZjkyM2U5NGU2ZjM2NDQzMzdiNzdm
NzNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkgQEAKIDIwMTEtMDktMjggIFZzZXZvbG9kIFZsYXNvdiAg
PHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIHN1cHBv
cnQgZm9yIHNlYXJjaCBpbiBzaW5nbGUgcmVzb3VyY2UgdG8gcGFnZSBhZ2VudC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTk4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3Bl
Y3Rvci9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLXRl
c3QuanM6CisgICAgICAgIChpbml0aWFsaXplX1NlYXJjaFRlc3QuSW5zcGVjdG9yVGVzdC5kdW1w
U2VhcmNoUmVzdWx0cyk6CisgICAgICAgIChpbml0aWFsaXplX1NlYXJjaFRlc3QuSW5zcGVjdG9y
VGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyk6CisgICAgICAgIChpbml0aWFsaXplX1NlYXJjaFRlc3Qp
OgorCisyMDExLTA5LTI4ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgor
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlZmFjdG9yIHNlYXJjaGluZyBpbiBpbnNwZWN0b3Is
IGFkZCB0ZXN0IChmaXhlZCBub24gcmVnZXggc2VhcmNoKS4KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTMwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1p
bi1yZXNvdXJjZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODgzMzk4MzQ4MDQxZTVkZjFhNmRm
MzU2NzVjZGQxODczN2E0ZDc1ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjMgQEAKK1Rlc3RzIHNpbmdsZSByZXNvdXJjZSBzZWFyY2ggaW4gaW5zcGVjdG9y
IHBhZ2UgYWdlbnQuCisKK0J1ZyA2ODk5OCAgCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzCitTZWFyY2ggbWF0Y2hlczogCitsaW5lTnVt
YmVyOiAwLCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJworbGluZU51
bWJlcjogMywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVu
Y2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKK2xpbmVOdW1iZXI6
IDksIGxpbmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKK2xpbmVOdW1iZXI6IDEw
LCBsaW5lOiAnICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsnCisKK2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guY3NzCitTZWFyY2gg
bWF0Y2hlczogCitsaW5lTnVtYmVyOiAwLCBsaW5lOiAnZGl2LnNlYXJjaFRlc3RVbmlxdWVTdHJp
bmcgeycKK2xpbmVOdW1iZXI6IDQsIGxpbmU6ICdkaXYuc2VhcmNoVGVzdFVuaXF1ZVN0cmluZzpo
b3ZlciB7JworbGluZU51bWJlcjogNSwgbGluZTogJyAgICAvKiBhbm90aGVyIHNlYXJjaFRlc3RV
bmlxdWVTdHJpbmcgb2NjdXJlbmNlICovJworCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0bWwKK1NlYXJjaCBtYXRjaGVzOiAKK2xpbmVO
dW1iZXI6IDUsIGxpbmU6ICc8ZGl2PnNlYXJjaFRlc3RVbmlxdWVTdHJpbmc8L2Rpdj4nCitsaW5l
TnVtYmVyOiA3LCBsaW5lOiAnPCEtLSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIC0tPicKK2xpbmVO
dW1iZXI6IDksIGxpbmU6ICc8ZGl2IGlkPSJzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIj5kaXYgdGV4
dDwvZGl2PicKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE3
YmEzODNjOTRjYjM5NWQ2NzI3YzQxYzBiZTYwNjgwN2U0ZjRkYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3Vy
Y2UuaHRtbApAQCAtMCwwICsxLDUwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2VhcmNo
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIC8v
IFRoaXMgZmlsZSBzaG91bGQgbm90IG1hdGNoIHNlYXJjaCBxdWVyeS4KKyAgICB2YXIgdGV4dCA9
ICJzZWFyY2hUZXN0IiArICJVbmlxdWVTdHJpbmciOworICAgIEluc3BlY3RvclRlc3QucnVuQWZ0
ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInNlYXJjaC5qcyIsICJzZWFyY2guY3NzIiwgInNlYXJj
aC5odG1sIl0sIHN0ZXAyKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAg
IHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZUZvclVSTCgiaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcyIpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXNvdXJjZS51cmwpOworICAgICAgICBQYWdlQWdl
bnQuc2VhcmNoSW5SZXNvdXJjZShyZXNvdXJjZS5mcmFtZUlkLCByZXNvdXJjZS51cmwsIHRleHQs
IHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMyhlcnJvciwgc2VhcmNoTWF0Y2hl
cykKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNo
TWF0Y2hlcyk7CisgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZUZv
clVSTCgiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3Nl
YXJjaC5jc3MiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UudXJs
KTsKKyAgICAgICAgUGFnZUFnZW50LnNlYXJjaEluUmVzb3VyY2UocmVzb3VyY2UuZnJhbWVJZCwg
cmVzb3VyY2UudXJsLCB0ZXh0LCBzdGVwNCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDQo
ZXJyb3IsIHNlYXJjaE1hdGNoZXMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBT
ZWFyY2hNYXRjaGVzKHNlYXJjaE1hdGNoZXMpOworICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VGb3JVUkwoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
c2VhcmNoL3Jlc291cmNlcy9zZWFyY2guaHRtbCIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChyZXNvdXJjZS51cmwpOworICAgICAgICBQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJj
ZShyZXNvdXJjZS5mcmFtZUlkLCByZXNvdXJjZS51cmwsIHRleHQsIHN0ZXA1KTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBzdGVwNShlcnJvciwgc2VhcmNoTWF0Y2hlcykKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7CisgICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHNpbmdsZSByZXNvdXJjZSBzZWFyY2ggaW4gaW5zcGVjdG9y
IHBhZ2UgYWdlbnQuPC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY4OTk4Ij5CdWcgNjg5OTg8L2E+CisKKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMv
c2VhcmNoLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtdGVz
dC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtdGVz
dC5qcwppbmRleCA5ZGQxOTc1NTlhYTFjYTYwNmUzZmE1YzVmMGI2MGE4ZWRiNzM4NmEyLi41YjBh
ZmNjYmZlMmM4YWNjZDdhNDFlZWIyZTU5MzA5MzhhZmYyZjVjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLXRlc3QuanMKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC10ZXN0LmpzCkBAIC02
LDYgKzYsMTQgQEAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoUmVzdWx0cyA9IGZ1bmN0aW9uKHNl
YXJjaFJlc3VsdHMpCiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWFyY2hSZXN1bHRzLmxlbmd0
aDsgaSsrKQogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgidXJsOiAiICsgc2VhcmNo
UmVzdWx0c1tpXS51cmwgKyAiLCBtYXRjaGVzQ291bnQ6ICIgKyBzZWFyY2hSZXN1bHRzW2ldLm1h
dGNoZXNDb3VudCk7CiAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotfQorfTsKKwor
SW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyA9IGZ1bmN0aW9uKHNlYXJjaE1hdGNoZXMp
Cit7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNlYXJjaCBtYXRjaGVzOiAiKTsKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHNlYXJjaE1hdGNoZXMubGVuZ3RoOyBpKyspCisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJsaW5lTnVtYmVyOiAiICsgc2VhcmNoTWF0Y2hlc1tp
XS5saW5lTnVtYmVyICsgIiwgbGluZTogJyIgKyBzZWFyY2hNYXRjaGVzW2ldLmxpbmUgKyAiJyIp
OworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKK307CiAKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNjEzYjQwODRlMWExMmZjN2E5Mzc1YjFlZjJlNzgxMWQ5M2Q0ODA3Yi4uNmFhZmY0NDkxZWRj
Yzc5MjcyMjAxZjg2ZmM2M2U5MTRhYjdmYmM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBA
CiAyMDExLTA5LTI4ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBzdXBwb3J0IGZvciBzZWFyY2ggaW4gc2luZ2xlIHJl
c291cmNlIHRvIHBhZ2UgYWdlbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02ODk5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4t
cmVzb3VyY2UuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VhcmNoVXRpbHM6OmdldFJlZ3VsYXJFeHBy
ZXNzaW9uTWF0Y2hlc0J5TGluZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9Db250ZW50U2VhcmNo
VXRpbHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpidWls
ZE9iamVjdEZvclNlYXJjaE1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VB
Z2VudDo6c2VhcmNoSW5SZXNvdXJjZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBh
Z2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLnNlYXJjaEluQ29udGVudCk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGaWxlLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZS5yZXF1ZXN0Q29u
dGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50UHJvdmlkZXIucHJv
dG90eXBlLnNlYXJjaEluQ29udGVudCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9V
SVNvdXJjZUNvZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyLnBy
b3RvdHlwZS5yZXF1ZXN0Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGVudFBy
b3ZpZGVyLnByb3RvdHlwZS5zZWFyY2hJbkNvbnRlbnQpOgorCisyMDExLTA5LTI4ICBWc2V2b2xv
ZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFJlZmFjdG9yIHNlYXJjaGluZyBpbiBpbnNwZWN0b3IsIGFkZCB0ZXN0IChmaXhlZCBub24gcmVn
ZXggc2VhcmNoKS4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY4OTMwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db250ZW50
U2VhcmNoVXRpbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hV
dGlscy5jcHAKaW5kZXggNGNjMjJhYmRiNjJlOWRlMTY4Y2Y5MzA4N2NiYjZmZTM0ZTBkYzdlMC4u
MWI4OTk1MTk3MWI4ZTNlOTYwMGM2YzI2YzJlZmMwNTlhMTEyZmQ1ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5jcHAKQEAgLTMzLDYgKzMzLDgg
QEAKIAogI2luY2x1ZGUgIlJlZ3VsYXJFeHByZXNzaW9uLmgiCiAKK3VzaW5nIG5hbWVzcGFjZSBz
dGQ7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBDb250ZW50U2VhcmNoVXRpbHMg
ewogCkBAIC02Miw2ICs2NCwzNSBAQCBSZWd1bGFyRXhwcmVzc2lvbiBjcmVhdGVTZWFyY2hSZWdl
eChjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgY2FzZVNlbnNpdGl2ZSwgYm9vbAogICAgIHJldHVy
biBSZWd1bGFyRXhwcmVzc2lvbihyZWdleFNvdXJjZSwgY2FzZVNlbnNpdGl2ZSA/IFRleHRDYXNl
U2Vuc2l0aXZlIDogVGV4dENhc2VJbnNlbnNpdGl2ZSk7CiB9CiAKK1ZlY3RvcjxwYWlyPGludCwg
U3RyaW5nPiA+IGdldFJlZ3VsYXJFeHByZXNzaW9uTWF0Y2hlc0J5TGluZXMoY29uc3QgUmVndWxh
ckV4cHJlc3Npb24mIHJlZ2V4LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCit7CisgICAgVmVjdG9y
PHBhaXI8aW50LCBTdHJpbmc+ID4gcmVzdWx0OworCisgICAgaW50IGxpbmVOdW1iZXIgPSAwOwor
ICAgIHVuc2lnbmVkIHN0YXJ0ID0gMDsKKyAgICB3aGlsZSAoc3RhcnQgPCBjb250ZW50Lmxlbmd0
aCgpKSB7CisgICAgICAgIHNpemVfdCBsaW5lRW5kID0gY29udGVudC5maW5kKCdcbicsIHN0YXJ0
KTsKKyAgICAgICAgaWYgKGxpbmVFbmQgPT0gbm90Rm91bmQpCisgICAgICAgICAgICBsaW5lRW5k
ID0gY29udGVudC5sZW5ndGgoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbGluZUVuZCsr
OworCisgICAgICAgIFN0cmluZyBsaW5lID0gY29udGVudC5zdWJzdHJpbmcoc3RhcnQsIGxpbmVF
bmQgLSBzdGFydCk7CisgICAgICAgIGlmIChsaW5lLmVuZHNXaXRoKCJcclxuIikpCisgICAgICAg
ICAgICBsaW5lID0gbGluZS5sZWZ0KGxpbmUubGVuZ3RoKCkgLSAyKTsKKyAgICAgICAgaWYgKGxp
bmUuZW5kc1dpdGgoIlxuIikpCisgICAgICAgICAgICBsaW5lID0gbGluZS5sZWZ0KGxpbmUubGVu
Z3RoKCkgLSAxKTsKKworICAgICAgICBpbnQgbWF0Y2hMZW5ndGg7CisgICAgICAgIGlmIChyZWdl
eC5tYXRjaChsaW5lLCAwLCAmbWF0Y2hMZW5ndGgpICE9IC0xKQorICAgICAgICAgICAgcmVzdWx0
LmFwcGVuZChwYWlyPGludCwgU3RyaW5nPihsaW5lTnVtYmVyLCBsaW5lKSk7CisKKyAgICAgICAg
c3RhcnQgPSBsaW5lRW5kOworICAgICAgICBsaW5lTnVtYmVyKys7CisgICAgfQorICAgIHJldHVy
biByZXN1bHQ7Cit9CisKIGludCBjb3VudFJlZ3VsYXJFeHByZXNzaW9uTWF0Y2hlcyhjb25zdCBS
ZWd1bGFyRXhwcmVzc2lvbiYgcmVnZXgsIGNvbnN0IFN0cmluZyYgY29udGVudCkKIHsKICAgICBp
bnQgcmVzdWx0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db250
ZW50U2VhcmNoVXRpbHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db250ZW50U2VhcmNo
VXRpbHMuaAppbmRleCA2NTE1NDUwZGRhZjA2NzljMGQ1MjIzYzU4NzIwMGIwZjk1NDRhZTU3Li41
N2JjMDhiOGI5MTlhZjIwYjg2MTFhYWJlNzVkOGQ5ZWVlNjU5MTllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5oCkBAIC0zMSwxMiArMzEsMTUgQEAK
IAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVndWxhckV4cHJlc3Npb247CiAKIG5h
bWVzcGFjZSBDb250ZW50U2VhcmNoVXRpbHMgewogCitWZWN0b3I8c3RkOjpwYWlyPGludCwgU3Ry
aW5nPiA+IGdldFJlZ3VsYXJFeHByZXNzaW9uTWF0Y2hlc0J5TGluZXMoY29uc3QgUmVndWxhckV4
cHJlc3Npb24mLCBjb25zdCBTdHJpbmcmKTsKIFJlZ3VsYXJFeHByZXNzaW9uIGNyZWF0ZVNlYXJj
aFJlZ2V4KGNvbnN0IFN0cmluZyYgdGV4dCwgYm9vbCBjYXNlU2Vuc2l0aXZlLCBib29sIGlzUmVn
ZXgpOwogaW50IGNvdW50UmVndWxhckV4cHJlc3Npb25NYXRjaGVzKGNvbnN0IFJlZ3VsYXJFeHBy
ZXNzaW9uJiwgY29uc3QgU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgppbmRleCAyYTVmOWRjZjMwYTY2ZWE5YTNiNmY2YjQ5YTU0YzU4MTM0N2M4NzRlLi4w
MjBiMmYwMWY3ZWMyNWJkNmJhMzU0ZTZlZWUwYmUzYjA4YTQ5Y2EyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xMDIsNiArMTAyLDE2IEBACiAgICAgICAgICAg
ICAgICAgImhpZGRlbiI6IHRydWUKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgImlkIjogIlNlYXJjaE1hdGNoIiwKKyAgICAgICAgICAgICAgICAidHlwZSI6
ICJvYmplY3QiLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWFyY2ggbWF0Y2gg
Zm9yIHJlc291cmNlLiIsCisgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCisJICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAibGluZU51bWJlciIsICJ0eXBlIjogIm51bWJlciIsICJkZXNj
cmlwdGlvbiI6ICJMaW5lIG51bWJlciBpbiByZXNvdXJjZSBjb250ZW50LiIgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJsaW5lIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0
aW9uIjogIkxpbmUgd2l0aCBtYXRjaC4iIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgICAgICJoaWRkZW4iOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICJpZCI6ICJTZWFyY2hSZXN1bHQiLAogICAgICAgICAgICAgICAgICJ0eXBl
IjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCByZXN1
bHQgZm9yIHJlc291cmNlLiIsCkBAIC0xODksNiArMTk5LDE5IEBACiAgICAgICAgICAgICAgICAg
ImhpZGRlbiI6IHRydWUKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgIm5hbWUiOiAic2VhcmNoSW5SZXNvdXJjZSIsCisgICAgICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlNlYXJjaGVzIGZvciBnaXZlbiBzdHJpbmcgaW4gcmVzb3VyY2UgY29udGVudC4i
LAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImZyYW1lSWQiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiRnJh
bWUgaWQgZm9yIHJlc291cmNlIHRvIHNlYXJjaCBpbi4iIH0sCisgICAgICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAidXJsIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlVSTCBv
ZiB0aGUgcmVzb3VyY2UgdG8gc2VhcmNoIGluLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlN0cmluZyB0
byBzZWFyY2ggZm9yLiIgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICJy
ZXR1cm5zIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBl
IjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJTZWFyY2hNYXRjaCIgfSwgImRlc2NyaXB0
aW9uIjogIkxpc3Qgb2Ygc2VhcmNoIG1hdGNoZXMuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJzZWFyY2hJblJlc291cmNlcyIsCiAgICAgICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlYXJjaGVzIGZvciBnaXZlbiBzdHJpbmcgaW4gZnJh
bWUgLyByZXNvdXJjZSB0cmVlIHN0cnVjdHVyZS4iLAogICAgICAgICAgICAgICAgICJwYXJhbWV0
ZXJzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBh
Z2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
LmNwcAppbmRleCA5ZTlhZWQ2NzQwN2E5YjM3OGI4Y2IwN2YwYmExYzBmNjY0MmY5YzY0Li44YjI5
MGM4NmFiMjJlZjNlZWUwOWFhOGVlNTI2MDAzMTcyY2ZlMjA1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtNjcsNiArNjcsOCBAQAog
I2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAor
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2Ug
UGFnZUFnZW50U3RhdGUgewpAQCAtNDgyLDYgKzQ4NCw0OCBAQCBzdGF0aWMgYm9vbCB0ZXh0Q29u
dGVudEZvckNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSwgU3Ry
aW5nKgogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9y
T2JqZWN0PiBidWlsZE9iamVjdEZvclNlYXJjaE1hdGNoKGludCBsaW5lTnVtYmVyLCBTdHJpbmcg
bGluZSkKK3sKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXN1bHQgPSBJbnNwZWN0b3JP
YmplY3Q6OmNyZWF0ZSgpOworICAgIHJlc3VsdC0+c2V0TnVtYmVyKCJsaW5lTnVtYmVyIiwgbGlu
ZU51bWJlcik7CisgICAgcmVzdWx0LT5zZXRTdHJpbmcoImxpbmUiLCBsaW5lKTsKKworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpzZWFyY2hJblJlc291
cmNlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgU3RyaW5nJiB0ZXh0LCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBvYmplY3QpCit7
CisgICAgUmVmUHRyPEluc3BlY3RvckFycmF5PiByZXN1bHQgPSBJbnNwZWN0b3JBcnJheTo6Y3Jl
YXRlKCk7CisgICAgKm9iamVjdCA9IHJlc3VsdDsKKworICAgIEZyYW1lKiBmcmFtZSA9IGZyYW1l
Rm9ySWQoZnJhbWVJZCk7CisgICAgS1VSTCBrdXJsKFBhcnNlZFVSTFN0cmluZywgdXJsKTsKKwor
ICAgIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9IGZyYW1lID8gZnJhbWUtPmxvYWRlcigpIDog
MDsKKyAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gZnJhbWVMb2FkZXIgPyBmcmFtZUxvYWRl
ci0+ZG9jdW1lbnRMb2FkZXIoKSA6IDA7CisgICAgaWYgKCFsb2FkZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIFN0cmluZyBjb250ZW50OworICAgIGJvb2wgc3VjY2VzcyA9IGZhbHNlOworICAg
IGlmIChlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKGt1cmwsIGxvYWRlci0+dXJsKCkp
KQorICAgICAgICBzdWNjZXNzID0gbWFpblJlc291cmNlQ29udGVudChmcmFtZSwgZmFsc2UsICZj
b250ZW50KTsKKworICAgIGlmICghc3VjY2VzcykgeworICAgICAgICBDYWNoZWRSZXNvdXJjZSog
cmVzb3VyY2UgPSBjYWNoZWRSZXNvdXJjZShmcmFtZSwga3VybCk7CisgICAgICAgIHN1Y2Nlc3Mg
PSB0ZXh0Q29udGVudEZvckNhY2hlZFJlc291cmNlKHJlc291cmNlLCAmY29udGVudCk7CisgICAg
fQorCisgICAgaWYgKCFzdWNjZXNzKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWd1bGFyRXhw
cmVzc2lvbiByZWdleCA9IENvbnRlbnRTZWFyY2hVdGlsczo6Y3JlYXRlU2VhcmNoUmVnZXgodGV4
dCwgZmFsc2UsIGZhbHNlKTsKKyAgICBWZWN0b3I8cGFpcjxpbnQsIFN0cmluZz4gPiBtYXRjaGVz
ID0gQ29udGVudFNlYXJjaFV0aWxzOjpnZXRSZWd1bGFyRXhwcmVzc2lvbk1hdGNoZXNCeUxpbmVz
KHJlZ2V4LCBjb250ZW50KTsKKworICAgIGZvciAoVmVjdG9yPHBhaXI8aW50LCBTdHJpbmc+ID46
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbWF0Y2hlcy5iZWdpbigpOyBpdCAhPSBtYXRjaGVzLmVuZCgp
OyArK2l0KQorICAgICAgICByZXN1bHQtPnB1c2hWYWx1ZShidWlsZE9iamVjdEZvclNlYXJjaE1h
dGNoKGl0LT5maXJzdCwgaXQtPnNlY29uZCkpOworfQorCiBzdGF0aWMgUGFzc1JlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IGJ1aWxkT2JqZWN0Rm9yU2VhcmNoUmVzdWx0KGNvbnN0IFN0cmluZyYgZnJh
bWVJZCwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBtYXRjaGVzQ291bnQpCiB7CiAgICAgUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4gcmVzdWx0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAppbmRleCBkZWZh
MTU2MWNiZDUzZmFlYzE1ZDA5MjU1MGI3MjczZjRlYTM2OTI0Li45MTMwYzUwNmE2NzMyYWRjY2I4
OGMxN2M0NWQxMzliMDcwMzMzYjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclBhZ2VBZ2VudC5oCkBAIC05Nyw2ICs5Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRl
bGV0ZUNvb2tpZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgY29va2llTmFtZSwgY29uc3Qg
U3RyaW5nJiBkb21haW4pOwogICAgIHZvaWQgZ2V0UmVzb3VyY2VUcmVlKEVycm9yU3RyaW5nKiwg
UmVmUHRyPEluc3BlY3Rvck9iamVjdD4qKTsKICAgICB2b2lkIGdldFJlc291cmNlQ29udGVudChF
cnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgU3RyaW5nJiB1cmwsIFN0
cmluZyogY29udGVudCwgYm9vbCogYmFzZTY0RW5jb2RlZCk7CisgICAgdm9pZCBzZWFyY2hJblJl
c291cmNlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgU3RyaW5nJiwgUmVmUHRyPEluc3BlY3RvckFycmF5PiopOwogICAgIHZvaWQg
c2VhcmNoSW5SZXNvdXJjZXMoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmLCBjb25zdCBib29s
KiBjb25zdCBjYXNlU2Vuc2l0aXZlLCBjb25zdCBib29sKiBjb25zdCBpc1JlZ2V4LCBSZWZQdHI8
SW5zcGVjdG9yQXJyYXk+Kik7CiAKICAgICAvLyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24gQVBJ
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcwppbmRl
eCA5NzlhNjc2NTI5YmQwYzNhZGE4YzlhZGUzN2NjMDViNDNjYTNiZDhlLi40MjJhOWI3Njg2OWNj
MTI4NzdhZDRiN2Q3MmRlMjczNzM1OWI1MDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKQEAgLTg2Nyw2ICs4NjcsMTEgQEAgV2ViSW5zcGVj
dG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX2lubmVyUmVxdWVz
dENvbnRlbnQoKTsKICAgICB9LAogCisgICAgc2VhcmNoSW5Db250ZW50OiBmdW5jdGlvbihxdWVy
eSwgY2FsbGJhY2spCisgICAgeworICAgICAgICBQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJjZShx
dWVyeSwgY2FsbGJhY2spOworICAgIH0sCisKICAgICBwb3B1bGF0ZUltYWdlU291cmNlOiBmdW5j
dGlvbihpbWFnZSkKICAgICB7CiAgICAgICAgIGZ1bmN0aW9uIG9uUmVzb3VyY2VDb250ZW50KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRmls
ZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRmlsZS5qcwpp
bmRleCAxNjg3ODlkNzJlOGVkOTM0OGU2NTQzZDZlYTc1YTg0Y2ExNjMxZTRkLi4xNjVhYTk1NWJk
ZWM5M2FiNWNlZmJlNzhkYjNjNTNjMzQ5YzNjZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZpbGUuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGaWxlLmpzCkBAIC0zNTgsNyArMzU4LDEyIEBAIFdl
Ykluc3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRQcm92aWRlci5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICBjYWxsYmFjayh0aGlzLl9taW1lVHlwZSwgY29udGVudCk7CiAgICAgICAgIH0KICAgICAg
ICAgdGhpcy5fcmVzb3VyY2UucmVxdWVzdENvbnRlbnQoZGlkUmVxdWVzdENvbnRlbnQuYmluZCh0
aGlzKSk7Ci0gICAgfQorICAgIH0sCisgICAgCisgICAgc2VhcmNoSW5Db250ZW50OiBmdW5jdGlv
bihxdWVyeSwgY2FsbGJhY2spCisgICAgeworICAgICAgICB0aGlzLl9yZXNvdXJjZS5zZWFyY2hJ
bkNvbnRlbnQocXVlcnksIGNhbGxiYWNrKTsKKyAgICB9ICAgIAogfQogCiBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VDb250ZW50UHJvdmlkZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rv
ci5Db250ZW50UHJvdmlkZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1VJU291cmNlQ29kZS5qcwppbmRleCA0ZGM2ZmFkZGY2MDE2MzVjMzIx
YTQ1OTZjYmQ2NzE4NzgzNjJhYjA0Li4yM2ZmYmRhZDA1MzhiMDlmNTJlNmJmYzkxYjg2ZjRkZmJm
MmNjNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJ
U291cmNlQ29kZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJ
U291cmNlQ29kZS5qcwpAQCAtOTAsNSArOTAsNiBAQCBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2Rl
LnByb3RvdHlwZSA9IHsKICAqLwogV2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlciA9IGZ1bmN0
aW9uKCkgeyB9CiBXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZSA9IHsKLSAg
ICByZXF1ZXN0Q29udGVudDogZnVuY3Rpb24oY2FsbGJhY2spIHsgfQorICAgIHJlcXVlc3RDb250
ZW50OiBmdW5jdGlvbihjYWxsYmFjaykgeyB9LAorICAgIHNlYXJjaEluQ29udGVudDogZnVuY3Rp
b24ocXVlcnksIGNhbGxiYWNrKSB7IH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109015</attachid>
            <date>2011-09-28 06:14:59 -0700</date>
            <delta_ts>2011-09-28 06:43:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68998-20110928171457.patch</filename>
            <type>text/plain</type>
            <size>16788</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYyMTUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlOTFhZjUzZmY2NjlhYTIxNmYwMjFi
NmM4MzQ3ZTBmZTUyYmQ0NGRkLi5hMjEzZjEzODdiNzAwMjIxZjkyM2U5NGU2ZjM2NDQzMzdiNzdm
NzNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkgQEAKIDIwMTEtMDktMjggIFZzZXZvbG9kIFZsYXNvdiAg
PHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIHN1cHBv
cnQgZm9yIHNlYXJjaCBpbiBzaW5nbGUgcmVzb3VyY2UgdG8gcGFnZSBhZ2VudC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTk4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3Bl
Y3Rvci9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLXRl
c3QuanM6CisgICAgICAgIChpbml0aWFsaXplX1NlYXJjaFRlc3QuSW5zcGVjdG9yVGVzdC5kdW1w
U2VhcmNoUmVzdWx0cyk6CisgICAgICAgIChpbml0aWFsaXplX1NlYXJjaFRlc3QuSW5zcGVjdG9y
VGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyk6CisgICAgICAgIChpbml0aWFsaXplX1NlYXJjaFRlc3Qp
OgorCisyMDExLTA5LTI4ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgor
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlZmFjdG9yIHNlYXJjaGluZyBpbiBpbnNwZWN0b3Is
IGFkZCB0ZXN0IChmaXhlZCBub24gcmVnZXggc2VhcmNoKS4KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTMwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC1p
bi1yZXNvdXJjZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODgzMzk4MzQ4MDQxZTVkZjFhNmRm
MzU2NzVjZGQxODczN2E0ZDc1ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjMgQEAKK1Rlc3RzIHNpbmdsZSByZXNvdXJjZSBzZWFyY2ggaW4gaW5zcGVjdG9y
IHBhZ2UgYWdlbnQuCisKK0J1ZyA2ODk5OCAgCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzCitTZWFyY2ggbWF0Y2hlczogCitsaW5lTnVt
YmVyOiAwLCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJworbGluZU51
bWJlcjogMywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVu
Y2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKK2xpbmVOdW1iZXI6
IDksIGxpbmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKK2xpbmVOdW1iZXI6IDEw
LCBsaW5lOiAnICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsnCisKK2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guY3NzCitTZWFyY2gg
bWF0Y2hlczogCitsaW5lTnVtYmVyOiAwLCBsaW5lOiAnZGl2LnNlYXJjaFRlc3RVbmlxdWVTdHJp
bmcgeycKK2xpbmVOdW1iZXI6IDQsIGxpbmU6ICdkaXYuc2VhcmNoVGVzdFVuaXF1ZVN0cmluZzpo
b3ZlciB7JworbGluZU51bWJlcjogNSwgbGluZTogJyAgICAvKiBhbm90aGVyIHNlYXJjaFRlc3RV
bmlxdWVTdHJpbmcgb2NjdXJlbmNlICovJworCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0bWwKK1NlYXJjaCBtYXRjaGVzOiAKK2xpbmVO
dW1iZXI6IDUsIGxpbmU6ICc8ZGl2PnNlYXJjaFRlc3RVbmlxdWVTdHJpbmc8L2Rpdj4nCitsaW5l
TnVtYmVyOiA3LCBsaW5lOiAnPCEtLSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIC0tPicKK2xpbmVO
dW1iZXI6IDksIGxpbmU6ICc8ZGl2IGlkPSJzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIj5kaXYgdGV4
dDwvZGl2PicKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE3
YmEzODNjOTRjYjM5NWQ2NzI3YzQxYzBiZTYwNjgwN2U0ZjRkYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3Vy
Y2UuaHRtbApAQCAtMCwwICsxLDUwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2VhcmNo
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIC8v
IFRoaXMgZmlsZSBzaG91bGQgbm90IG1hdGNoIHNlYXJjaCBxdWVyeS4KKyAgICB2YXIgdGV4dCA9
ICJzZWFyY2hUZXN0IiArICJVbmlxdWVTdHJpbmciOworICAgIEluc3BlY3RvclRlc3QucnVuQWZ0
ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInNlYXJjaC5qcyIsICJzZWFyY2guY3NzIiwgInNlYXJj
aC5odG1sIl0sIHN0ZXAyKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAg
IHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZUZvclVSTCgiaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcyIpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXNvdXJjZS51cmwpOworICAgICAgICBQYWdlQWdl
bnQuc2VhcmNoSW5SZXNvdXJjZShyZXNvdXJjZS5mcmFtZUlkLCByZXNvdXJjZS51cmwsIHRleHQs
IHN0ZXAzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMyhlcnJvciwgc2VhcmNoTWF0Y2hl
cykKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNo
TWF0Y2hlcyk7CisgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZUZv
clVSTCgiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3Nl
YXJjaC5jc3MiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UudXJs
KTsKKyAgICAgICAgUGFnZUFnZW50LnNlYXJjaEluUmVzb3VyY2UocmVzb3VyY2UuZnJhbWVJZCwg
cmVzb3VyY2UudXJsLCB0ZXh0LCBzdGVwNCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDQo
ZXJyb3IsIHNlYXJjaE1hdGNoZXMpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBT
ZWFyY2hNYXRjaGVzKHNlYXJjaE1hdGNoZXMpOworICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VGb3JVUkwoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
c2VhcmNoL3Jlc291cmNlcy9zZWFyY2guaHRtbCIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChyZXNvdXJjZS51cmwpOworICAgICAgICBQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJj
ZShyZXNvdXJjZS5mcmFtZUlkLCByZXNvdXJjZS51cmwsIHRleHQsIHN0ZXA1KTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBzdGVwNShlcnJvciwgc2VhcmNoTWF0Y2hlcykKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7CisgICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHNpbmdsZSByZXNvdXJjZSBzZWFyY2ggaW4gaW5zcGVjdG9y
IHBhZ2UgYWdlbnQuPC9wPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY4OTk4Ij5CdWcgNjg5OTg8L2E+CisKKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMv
c2VhcmNoLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtdGVz
dC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtdGVz
dC5qcwppbmRleCA5ZGQxOTc1NTlhYTFjYTYwNmUzZmE1YzVmMGI2MGE4ZWRiNzM4NmEyLi41YjBh
ZmNjYmZlMmM4YWNjZDdhNDFlZWIyZTU5MzA5MzhhZmYyZjVjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLXRlc3QuanMKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3NlYXJjaC10ZXN0LmpzCkBAIC02
LDYgKzYsMTQgQEAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoUmVzdWx0cyA9IGZ1bmN0aW9uKHNl
YXJjaFJlc3VsdHMpCiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWFyY2hSZXN1bHRzLmxlbmd0
aDsgaSsrKQogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgidXJsOiAiICsgc2VhcmNo
UmVzdWx0c1tpXS51cmwgKyAiLCBtYXRjaGVzQ291bnQ6ICIgKyBzZWFyY2hSZXN1bHRzW2ldLm1h
dGNoZXNDb3VudCk7CiAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotfQorfTsKKwor
SW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyA9IGZ1bmN0aW9uKHNlYXJjaE1hdGNoZXMp
Cit7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNlYXJjaCBtYXRjaGVzOiAiKTsKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHNlYXJjaE1hdGNoZXMubGVuZ3RoOyBpKyspCisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJsaW5lTnVtYmVyOiAiICsgc2VhcmNoTWF0Y2hlc1tp
XS5saW5lTnVtYmVyICsgIiwgbGluZTogJyIgKyBzZWFyY2hNYXRjaGVzW2ldLmxpbmUgKyAiJyIp
OworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKK307CiAKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNjEzYjQwODRlMWExMmZjN2E5Mzc1YjFlZjJlNzgxMWQ5M2Q0ODA3Yi4uNmFhZmY0NDkxZWRj
Yzc5MjcyMjAxZjg2ZmM2M2U5MTRhYjdmYmM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBA
CiAyMDExLTA5LTI4ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBzdXBwb3J0IGZvciBzZWFyY2ggaW4gc2luZ2xlIHJl
c291cmNlIHRvIHBhZ2UgYWdlbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02ODk5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4t
cmVzb3VyY2UuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VhcmNoVXRpbHM6OmdldFJlZ3VsYXJFeHBy
ZXNzaW9uTWF0Y2hlc0J5TGluZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9Db250ZW50U2VhcmNo
VXRpbHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpidWls
ZE9iamVjdEZvclNlYXJjaE1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VB
Z2VudDo6c2VhcmNoSW5SZXNvdXJjZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBh
Z2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLnNlYXJjaEluQ29udGVudCk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGaWxlLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZS5yZXF1ZXN0Q29u
dGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50UHJvdmlkZXIucHJv
dG90eXBlLnNlYXJjaEluQ29udGVudCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9V
SVNvdXJjZUNvZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyLnBy
b3RvdHlwZS5yZXF1ZXN0Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGVudFBy
b3ZpZGVyLnByb3RvdHlwZS5zZWFyY2hJbkNvbnRlbnQpOgorCisyMDExLTA5LTI4ICBWc2V2b2xv
ZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFJlZmFjdG9yIHNlYXJjaGluZyBpbiBpbnNwZWN0b3IsIGFkZCB0ZXN0IChmaXhlZCBub24gcmVn
ZXggc2VhcmNoKS4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY4OTMwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db250ZW50
U2VhcmNoVXRpbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hV
dGlscy5jcHAKaW5kZXggNGNjMjJhYmRiNjJlOWRlMTY4Y2Y5MzA4N2NiYjZmZTM0ZTBkYzdlMC4u
MWI4OTk1MTk3MWI4ZTNlOTYwMGM2YzI2YzJlZmMwNTlhMTEyZmQ1ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5jcHAKQEAgLTMzLDYgKzMzLDgg
QEAKIAogI2luY2x1ZGUgIlJlZ3VsYXJFeHByZXNzaW9uLmgiCiAKK3VzaW5nIG5hbWVzcGFjZSBz
dGQ7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBDb250ZW50U2VhcmNoVXRpbHMg
ewogCkBAIC02Miw2ICs2NCwzNSBAQCBSZWd1bGFyRXhwcmVzc2lvbiBjcmVhdGVTZWFyY2hSZWdl
eChjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgY2FzZVNlbnNpdGl2ZSwgYm9vbAogICAgIHJldHVy
biBSZWd1bGFyRXhwcmVzc2lvbihyZWdleFNvdXJjZSwgY2FzZVNlbnNpdGl2ZSA/IFRleHRDYXNl
U2Vuc2l0aXZlIDogVGV4dENhc2VJbnNlbnNpdGl2ZSk7CiB9CiAKK1ZlY3RvcjxwYWlyPGludCwg
U3RyaW5nPiA+IGdldFJlZ3VsYXJFeHByZXNzaW9uTWF0Y2hlc0J5TGluZXMoY29uc3QgUmVndWxh
ckV4cHJlc3Npb24mIHJlZ2V4LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCit7CisgICAgVmVjdG9y
PHBhaXI8aW50LCBTdHJpbmc+ID4gcmVzdWx0OworCisgICAgaW50IGxpbmVOdW1iZXIgPSAwOwor
ICAgIHVuc2lnbmVkIHN0YXJ0ID0gMDsKKyAgICB3aGlsZSAoc3RhcnQgPCBjb250ZW50Lmxlbmd0
aCgpKSB7CisgICAgICAgIHNpemVfdCBsaW5lRW5kID0gY29udGVudC5maW5kKCdcbicsIHN0YXJ0
KTsKKyAgICAgICAgaWYgKGxpbmVFbmQgPT0gbm90Rm91bmQpCisgICAgICAgICAgICBsaW5lRW5k
ID0gY29udGVudC5sZW5ndGgoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbGluZUVuZCsr
OworCisgICAgICAgIFN0cmluZyBsaW5lID0gY29udGVudC5zdWJzdHJpbmcoc3RhcnQsIGxpbmVF
bmQgLSBzdGFydCk7CisgICAgICAgIGlmIChsaW5lLmVuZHNXaXRoKCJcclxuIikpCisgICAgICAg
ICAgICBsaW5lID0gbGluZS5sZWZ0KGxpbmUubGVuZ3RoKCkgLSAyKTsKKyAgICAgICAgaWYgKGxp
bmUuZW5kc1dpdGgoIlxuIikpCisgICAgICAgICAgICBsaW5lID0gbGluZS5sZWZ0KGxpbmUubGVu
Z3RoKCkgLSAxKTsKKworICAgICAgICBpbnQgbWF0Y2hMZW5ndGg7CisgICAgICAgIGlmIChyZWdl
eC5tYXRjaChsaW5lLCAwLCAmbWF0Y2hMZW5ndGgpICE9IC0xKQorICAgICAgICAgICAgcmVzdWx0
LmFwcGVuZChwYWlyPGludCwgU3RyaW5nPihsaW5lTnVtYmVyLCBsaW5lKSk7CisKKyAgICAgICAg
c3RhcnQgPSBsaW5lRW5kOworICAgICAgICBsaW5lTnVtYmVyKys7CisgICAgfQorICAgIHJldHVy
biByZXN1bHQ7Cit9CisKIGludCBjb3VudFJlZ3VsYXJFeHByZXNzaW9uTWF0Y2hlcyhjb25zdCBS
ZWd1bGFyRXhwcmVzc2lvbiYgcmVnZXgsIGNvbnN0IFN0cmluZyYgY29udGVudCkKIHsKICAgICBp
bnQgcmVzdWx0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db250
ZW50U2VhcmNoVXRpbHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db250ZW50U2VhcmNo
VXRpbHMuaAppbmRleCA2NTE1NDUwZGRhZjA2NzljMGQ1MjIzYzU4NzIwMGIwZjk1NDRhZTU3Li41
N2JjMDhiOGI5MTlhZjIwYjg2MTFhYWJlNzVkOGQ5ZWVlNjU5MTllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5oCkBAIC0zMSwxMiArMzEsMTUgQEAK
IAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVndWxhckV4cHJlc3Npb247CiAKIG5h
bWVzcGFjZSBDb250ZW50U2VhcmNoVXRpbHMgewogCitWZWN0b3I8c3RkOjpwYWlyPGludCwgU3Ry
aW5nPiA+IGdldFJlZ3VsYXJFeHByZXNzaW9uTWF0Y2hlc0J5TGluZXMoY29uc3QgUmVndWxhckV4
cHJlc3Npb24mLCBjb25zdCBTdHJpbmcmKTsKIFJlZ3VsYXJFeHByZXNzaW9uIGNyZWF0ZVNlYXJj
aFJlZ2V4KGNvbnN0IFN0cmluZyYgdGV4dCwgYm9vbCBjYXNlU2Vuc2l0aXZlLCBib29sIGlzUmVn
ZXgpOwogaW50IGNvdW50UmVndWxhckV4cHJlc3Npb25NYXRjaGVzKGNvbnN0IFJlZ3VsYXJFeHBy
ZXNzaW9uJiwgY29uc3QgU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgppbmRleCAyYTVmOWRjZjMwYTY2ZWE5YTNiNmY2YjQ5YTU0YzU4MTM0N2M4NzRlLi41
MTFhNDc3YzRkYzQ3MWNmMWEwMTk2NjRmMTk1OTIzOTc5ZDMxN2ViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xMDIsNiArMTAyLDE2IEBACiAgICAgICAgICAg
ICAgICAgImhpZGRlbiI6IHRydWUKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgImlkIjogIlNlYXJjaE1hdGNoIiwKKyAgICAgICAgICAgICAgICAidHlwZSI6
ICJvYmplY3QiLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWFyY2ggbWF0Y2gg
Zm9yIHJlc291cmNlLiIsCisgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCisgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAibGluZU51bWJlciIsICJ0eXBlIjogIm51bWJlciIsICJk
ZXNjcmlwdGlvbiI6ICJMaW5lIG51bWJlciBpbiByZXNvdXJjZSBjb250ZW50LiIgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsaW5lIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2Ny
aXB0aW9uIjogIkxpbmUgd2l0aCBtYXRjaC4iIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAg
ICAgICAgICAgICJoaWRkZW4iOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICJpZCI6ICJTZWFyY2hSZXN1bHQiLAogICAgICAgICAgICAgICAgICJ0
eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBy
ZXN1bHQgZm9yIHJlc291cmNlLiIsCkBAIC0xODksNiArMTk5LDE5IEBACiAgICAgICAgICAgICAg
ICAgImhpZGRlbiI6IHRydWUKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgIm5hbWUiOiAic2VhcmNoSW5SZXNvdXJjZSIsCisgICAgICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIlNlYXJjaGVzIGZvciBnaXZlbiBzdHJpbmcgaW4gcmVzb3VyY2UgY29udGVu
dC4iLAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImZyYW1lSWQiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAi
RnJhbWUgaWQgZm9yIHJlc291cmNlIHRvIHNlYXJjaCBpbi4iIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAidXJsIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlVS
TCBvZiB0aGUgcmVzb3VyY2UgdG8gc2VhcmNoIGluLiIgfSwKKyAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlN0cmlu
ZyB0byBzZWFyY2ggZm9yLiIgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAg
ICJyZXR1cm5zIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0
eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJTZWFyY2hNYXRjaCIgfSwgImRlc2Ny
aXB0aW9uIjogIkxpc3Qgb2Ygc2VhcmNoIG1hdGNoZXMuIiB9CisgICAgICAgICAgICAgICAgXSwK
KyAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJzZWFyY2hJblJlc291cmNlcyIsCiAgICAg
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlYXJjaGVzIGZvciBnaXZlbiBzdHJpbmcgaW4g
ZnJhbWUgLyByZXNvdXJjZSB0cmVlIHN0cnVjdHVyZS4iLAogICAgICAgICAgICAgICAgICJwYXJh
bWV0ZXJzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFn
ZW50LmNwcAppbmRleCA5ZTlhZWQ2NzQwN2E5YjM3OGI4Y2IwN2YwYmExYzBmNjY0MmY5YzY0Li44
YjI5MGM4NmFiMjJlZjNlZWUwOWFhOGVlNTI2MDAzMTcyY2ZlMjA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtNjcsNiArNjcsOCBA
QAogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3Bh
Y2UgUGFnZUFnZW50U3RhdGUgewpAQCAtNDgyLDYgKzQ4NCw0OCBAQCBzdGF0aWMgYm9vbCB0ZXh0
Q29udGVudEZvckNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSwg
U3RyaW5nKgogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBidWlsZE9iamVjdEZvclNlYXJjaE1hdGNoKGludCBsaW5lTnVtYmVyLCBTdHJp
bmcgbGluZSkKK3sKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXN1bHQgPSBJbnNwZWN0
b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIHJlc3VsdC0+c2V0TnVtYmVyKCJsaW5lTnVtYmVyIiwg
bGluZU51bWJlcik7CisgICAgcmVzdWx0LT5zZXRTdHJpbmcoImxpbmUiLCBsaW5lKTsKKworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpzZWFyY2hJblJl
c291cmNlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgU3RyaW5nJiB0ZXh0LCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBvYmplY3Qp
Cit7CisgICAgUmVmUHRyPEluc3BlY3RvckFycmF5PiByZXN1bHQgPSBJbnNwZWN0b3JBcnJheTo6
Y3JlYXRlKCk7CisgICAgKm9iamVjdCA9IHJlc3VsdDsKKworICAgIEZyYW1lKiBmcmFtZSA9IGZy
YW1lRm9ySWQoZnJhbWVJZCk7CisgICAgS1VSTCBrdXJsKFBhcnNlZFVSTFN0cmluZywgdXJsKTsK
KworICAgIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9IGZyYW1lID8gZnJhbWUtPmxvYWRlcigp
IDogMDsKKyAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gZnJhbWVMb2FkZXIgPyBmcmFtZUxv
YWRlci0+ZG9jdW1lbnRMb2FkZXIoKSA6IDA7CisgICAgaWYgKCFsb2FkZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIFN0cmluZyBjb250ZW50OworICAgIGJvb2wgc3VjY2VzcyA9IGZhbHNlOwor
ICAgIGlmIChlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKGt1cmwsIGxvYWRlci0+dXJs
KCkpKQorICAgICAgICBzdWNjZXNzID0gbWFpblJlc291cmNlQ29udGVudChmcmFtZSwgZmFsc2Us
ICZjb250ZW50KTsKKworICAgIGlmICghc3VjY2VzcykgeworICAgICAgICBDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UgPSBjYWNoZWRSZXNvdXJjZShmcmFtZSwga3VybCk7CisgICAgICAgIHN1Y2Nl
c3MgPSB0ZXh0Q29udGVudEZvckNhY2hlZFJlc291cmNlKHJlc291cmNlLCAmY29udGVudCk7Cisg
ICAgfQorCisgICAgaWYgKCFzdWNjZXNzKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWd1bGFy
RXhwcmVzc2lvbiByZWdleCA9IENvbnRlbnRTZWFyY2hVdGlsczo6Y3JlYXRlU2VhcmNoUmVnZXgo
dGV4dCwgZmFsc2UsIGZhbHNlKTsKKyAgICBWZWN0b3I8cGFpcjxpbnQsIFN0cmluZz4gPiBtYXRj
aGVzID0gQ29udGVudFNlYXJjaFV0aWxzOjpnZXRSZWd1bGFyRXhwcmVzc2lvbk1hdGNoZXNCeUxp
bmVzKHJlZ2V4LCBjb250ZW50KTsKKworICAgIGZvciAoVmVjdG9yPHBhaXI8aW50LCBTdHJpbmc+
ID46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbWF0Y2hlcy5iZWdpbigpOyBpdCAhPSBtYXRjaGVzLmVu
ZCgpOyArK2l0KQorICAgICAgICByZXN1bHQtPnB1c2hWYWx1ZShidWlsZE9iamVjdEZvclNlYXJj
aE1hdGNoKGl0LT5maXJzdCwgaXQtPnNlY29uZCkpOworfQorCiBzdGF0aWMgUGFzc1JlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IGJ1aWxkT2JqZWN0Rm9yU2VhcmNoUmVzdWx0KGNvbnN0IFN0cmluZyYg
ZnJhbWVJZCwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBtYXRjaGVzQ291bnQpCiB7CiAgICAgUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4gcmVzdWx0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAppbmRleCBk
ZWZhMTU2MWNiZDUzZmFlYzE1ZDA5MjU1MGI3MjczZjRlYTM2OTI0Li45MTMwYzUwNmE2NzMyYWRj
Y2I4OGMxN2M0NWQxMzliMDcwMzMzYjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC05Nyw2ICs5Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRlbGV0ZUNvb2tpZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgY29va2llTmFtZSwgY29u
c3QgU3RyaW5nJiBkb21haW4pOwogICAgIHZvaWQgZ2V0UmVzb3VyY2VUcmVlKEVycm9yU3RyaW5n
KiwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qKTsKICAgICB2b2lkIGdldFJlc291cmNlQ29udGVu
dChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgU3RyaW5nJiB1cmws
IFN0cmluZyogY29udGVudCwgYm9vbCogYmFzZTY0RW5jb2RlZCk7CisgICAgdm9pZCBzZWFyY2hJ
blJlc291cmNlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgU3RyaW5nJiwgUmVmUHRyPEluc3BlY3RvckFycmF5PiopOwogICAgIHZv
aWQgc2VhcmNoSW5SZXNvdXJjZXMoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmLCBjb25zdCBi
b29sKiBjb25zdCBjYXNlU2Vuc2l0aXZlLCBjb25zdCBib29sKiBjb25zdCBpc1JlZ2V4LCBSZWZQ
dHI8SW5zcGVjdG9yQXJyYXk+Kik7CiAKICAgICAvLyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24g
QVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291
cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcwpp
bmRleCA5NzlhNjc2NTI5YmQwYzNhZGE4YzlhZGUzN2NjMDViNDNjYTNiZDhlLi40MjJhOWI3Njg2
OWNjMTI4NzdhZDRiN2Q3MmRlMjczNzM1OWI1MDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKQEAgLTg2Nyw2ICs4NjcsMTEgQEAgV2ViSW5z
cGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX2lubmVyUmVx
dWVzdENvbnRlbnQoKTsKICAgICB9LAogCisgICAgc2VhcmNoSW5Db250ZW50OiBmdW5jdGlvbihx
dWVyeSwgY2FsbGJhY2spCisgICAgeworICAgICAgICBQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJj
ZShxdWVyeSwgY2FsbGJhY2spOworICAgIH0sCisKICAgICBwb3B1bGF0ZUltYWdlU291cmNlOiBm
dW5jdGlvbihpbWFnZSkKICAgICB7CiAgICAgICAgIGZ1bmN0aW9uIG9uUmVzb3VyY2VDb250ZW50
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
RmlsZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRmlsZS5q
cwppbmRleCAxNjg3ODlkNzJlOGVkOTM0OGU2NTQzZDZlYTc1YTg0Y2ExNjMxZTRkLi4xNjVhYTk1
NWJkZWM5M2FiNWNlZmJlNzhkYjNjNTNjMzQ5YzNjZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZpbGUuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGaWxlLmpzCkBAIC0zNTgsNyArMzU4LDEyIEBA
IFdlYkluc3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRQcm92aWRlci5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICBjYWxsYmFjayh0aGlzLl9taW1lVHlwZSwgY29udGVudCk7CiAgICAgICAgIH0KICAg
ICAgICAgdGhpcy5fcmVzb3VyY2UucmVxdWVzdENvbnRlbnQoZGlkUmVxdWVzdENvbnRlbnQuYmlu
ZCh0aGlzKSk7Ci0gICAgfQorICAgIH0sCisgICAgCisgICAgc2VhcmNoSW5Db250ZW50OiBmdW5j
dGlvbihxdWVyeSwgY2FsbGJhY2spCisgICAgeworICAgICAgICB0aGlzLl9yZXNvdXJjZS5zZWFy
Y2hJbkNvbnRlbnQocXVlcnksIGNhbGxiYWNrKTsKKyAgICB9ICAgIAogfQogCiBXZWJJbnNwZWN0
b3IuUmVzb3VyY2VDb250ZW50UHJvdmlkZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3Bl
Y3Rvci5Db250ZW50UHJvdmlkZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNlQ29kZS5qcwppbmRleCA0ZGM2ZmFkZGY2MDE2MzVj
MzIxYTQ1OTZjYmQ2NzE4NzgzNjJhYjA0Li4yM2ZmYmRhZDA1MzhiMDlmNTJlNmJmYzkxYjg2ZjRk
ZmJmMmNjNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1VJU291cmNlQ29kZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1VJU291cmNlQ29kZS5qcwpAQCAtOTAsNSArOTAsNiBAQCBXZWJJbnNwZWN0b3IuVUlTb3VyY2VD
b2RlLnByb3RvdHlwZSA9IHsKICAqLwogV2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlciA9IGZ1
bmN0aW9uKCkgeyB9CiBXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZSA9IHsK
LSAgICByZXF1ZXN0Q29udGVudDogZnVuY3Rpb24oY2FsbGJhY2spIHsgfQorICAgIHJlcXVlc3RD
b250ZW50OiBmdW5jdGlvbihjYWxsYmFjaykgeyB9LAorICAgIHNlYXJjaEluQ29udGVudDogZnVu
Y3Rpb24ocXVlcnksIGNhbGxiYWNrKSB7IH0KIH0K
</data>
<flag name="review"
          id="106132"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>