<?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>77203</bug_id>
          
          <creation_ts>2012-01-27 04:54:53 -0800</creation_ts>
          <short_desc>Web Inspector: console evaluation doesn&apos;t work on breakpoint in pages with CSP</short_desc>
          <delta_ts>2012-02-03 06:48:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>dglazkov</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>sroussey</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>543971</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-01-27 04:54:53 -0800</bug_when>
    <thetext>1. Open a page with content-security-policy prohibiting evals.
2. Set a breakpoint and make execution pause on it.
3. Try to evaluate something in the inspector console.

Result:
Exception, eval is prohibited.

Related bug: https://bugs.webkit.org/show_bug.cgi?id=60800</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543977</commentid>
    <comment_count>1</comment_count>
      <attachid>124292</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-01-27 05:05:02 -0800</bug_when>
    <thetext>Created attachment 124292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543978</commentid>
    <comment_count>2</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-01-27 05:07:03 -0800</bug_when>
    <thetext>Original bug report for Chromium: http://code.google.com/p/chromium/issues/detail?id=98623</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543987</commentid>
    <comment_count>3</comment_count>
      <attachid>124292</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-27 05:22:03 -0800</bug_when>
    <thetext>Comment on attachment 124292
Patch

Attachment 124292 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11349694</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544014</commentid>
    <comment_count>4</comment_count>
      <attachid>124303</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-01-27 06:13:33 -0800</bug_when>
    <thetext>Created attachment 124303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544015</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-01-27 06:15:08 -0800</bug_when>
    <thetext>Same patch with a test for the new functionality. It depends on a change in V8 API which is not rolled yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544030</commentid>
    <comment_count>6</comment_count>
      <attachid>124303</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-27 06:43:00 -0800</bug_when>
    <thetext>Comment on attachment 124303
Patch

Attachment 124303 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11191747</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548678</commentid>
    <comment_count>7</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-02-03 06:48:00 -0800</bug_when>
    <thetext>Committed r106657: &lt;http://trac.webkit.org/changeset/106657&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124292</attachid>
            <date>2012-01-27 05:05:02 -0800</date>
            <delta_ts>2012-01-27 06:13:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77203-20120127170500.patch</filename>
            <type>text/plain</type>
            <size>12673</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMxYjljMjNjZTlhYzky
OWEwMWZlODBjMjYyMTQzNTQyZDcyNGJmOC4uNTFmZTZhYjgxNTE3MGE5NTM0YzY4MTIzZmI5NGY3
MTFhMzMyN2Q2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAxLTI3ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGNvbnNvbGUgZXZhbHVhdGlvbiBkb2Vzbid0IHdvcmsgb24gYnJlYWtwb2ludCBpbiBwYWdl
cyB3aXRoIENTUAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzcyMDMKKworICAgICAgICBJbnNwZWN0b3IgY29uc29sZSBldmFsdWF0aW9uIG5vdyB3b3Jr
cyB3aGVuIGRlYnVnZ2VyIGlzIHBhdXNlZCBpbiBhIHBhZ2Ugd2l0aAorICAgICAgICBjb250ZW50
LXNlY3VyaXR5LXBvbGljeSBwcm9oaWJpdGluZyBldmFscy4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpldmFs
RW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEV2YWxF
bmFibGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0T2JqZWN0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRPYmplY3Q6OlNjcmlwdE9iamVjdCk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvU2NyaXB0U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXZhbEVuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpzZXRFdmFsRW5hYmxlZCk6Cisg
ICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5j
cHA6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkluamVjdGVkU2NyaXB0OjptYWtlQ2FsbCk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0SG9zdC5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzOgorICAgICAgICAoLik6CisKIDIwMTItMDEtMjUgIFl1cnkgU2VtaWtoYXRza3kg
IDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjogc2hvdWxkIGJl
IHBvc3NpYmxlIHRvIG9wZW4gZnVuY3Rpb24gZGVjbGFyYXRpb24gZnJvbSBzY3JpcHQgcG9wb3Zl
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlw
dEhvc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNj
cmlwdEhvc3RDdXN0b20uY3BwCmluZGV4IDAzMjBjMTgzNDY0MjFiNjVkMzhhMDgzZDczMjE1OTc3
OWQ1M2U4MDAuLjczY2IyZmE3ZTc4ZTRiZTkyNmYwYmYyZjkxNzk3ZDM2NWFlYWQyMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRIb3N0Q3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0
SG9zdEN1c3RvbS5jcHAKQEAgLTc2LDI4ICs3Niw2IEBAIFNjcmlwdFZhbHVlIEluamVjdGVkU2Ny
aXB0SG9zdDo6bm9kZUFzU2NyaXB0VmFsdWUoU2NyaXB0U3RhdGUqIHN0YXRlLCBOb2RlKiBub2Rl
CiAgICAgcmV0dXJuIFNjcmlwdFZhbHVlKHN0YXRlLT5nbG9iYWxEYXRhKCksIHRvSlMoc3RhdGUs
IGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUoc3RhdGUpLCBub2RlKSk7CiB9CiAK
LUpTVmFsdWUgSlNJbmplY3RlZFNjcmlwdEhvc3Q6OmV2YWx1YXRlKEV4ZWNTdGF0ZSogZXhlYykK
LXsKLSAgICBKU1ZhbHVlIGV4cHJlc3Npb24gPSBleGVjLT5hcmd1bWVudCgwKTsKLSAgICBpZiAo
IWV4cHJlc3Npb24uaXNTdHJpbmcoKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywg
Y3JlYXRlRXJyb3IoZXhlYywgIlN0cmluZyBhcmd1bWVudCBleHBlY3RlZC4iKSk7Ci0gICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsK
LSAgICBKU0Z1bmN0aW9uKiBldmFsRnVuY3Rpb24gPSBnbG9iYWxPYmplY3QtPmV2YWxGdW5jdGlv
bigpOwotICAgIENhbGxEYXRhIGNhbGxEYXRhOwotICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZXZh
bEZ1bmN0aW9uLT5tZXRob2RUYWJsZSgpLT5nZXRDYWxsRGF0YShldmFsRnVuY3Rpb24sIGNhbGxE
YXRhKTsKLSAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKQotICAgICAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKLSAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOwotICAgIGFyZ3Mu
YXBwZW5kKGV4cHJlc3Npb24pOwotCi0gICAgYm9vbCB3YXNFdmFsRW5hYmxlZCA9IGdsb2JhbE9i
amVjdC0+ZXZhbEVuYWJsZWQoKTsKLSAgICBnbG9iYWxPYmplY3QtPnNldEV2YWxFbmFibGVkKHRy
dWUpOwotICAgIEpTVmFsdWUgcmVzdWx0ID0gSlNDOjpjYWxsKGV4ZWMsIGV2YWxGdW5jdGlvbiwg
Y2FsbFR5cGUsIGNhbGxEYXRhLCBleGVjLT5nbG9iYWxUaGlzVmFsdWUoKSwgYXJncyk7Ci0gICAg
Z2xvYmFsT2JqZWN0LT5zZXRFdmFsRW5hYmxlZCh3YXNFdmFsRW5hYmxlZCk7Ci0KLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCiBKU1ZhbHVlIEpTSW5qZWN0ZWRTY3JpcHRIb3N0OjppbnNwZWN0ZWRO
b2RlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwg
MSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmNwcAppbmRleCBjN2Nk
OTI5OWEyNTM5YzI4MzMyNmRmOGRmNzYzMDg0NjhhZGYzNjFkLi5lODIzYzZlM2E4NjdhZDBiZDc1
ZGVmYzhjMzY4YjY2NmRjNjE0ODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0U3RhdGUuY3BwCkBAIC03MSw2ICs3MSwxOCBAQCBET01XaW5kb3cqIGRvbVdpbmRvd0Zyb21T
Y3JpcHRTdGF0ZShTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpCiAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2JhbE9iamVjdCktPmltcGwoKTsKIH0KIAorYm9vbCBl
dmFsRW5hYmxlZChTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpCit7CisgICAgSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gc2NyaXB0U3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3Qo
KTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5ldmFsRW5hYmxlZCgpOworfQorCit2b2lkIHNl
dEV2YWxFbmFibGVkKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgYm9vbCBlbmFibGVkKQorewor
ICAgIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHNjcmlwdFN0YXRlLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCk7CisgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c2V0RXZhbEVuYWJs
ZWQoZW5hYmxlZCk7Cit9CisKIFNjcmlwdFN0YXRlKiBtYWluV29ybGRTY3JpcHRTdGF0ZShGcmFt
ZSogZnJhbWUpCiB7CiAgICAgSlNET01XaW5kb3dTaGVsbCogc2hlbGwgPSBmcmFtZS0+c2NyaXB0
KCktPndpbmRvd1NoZWxsKG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCmluZGV4IDQzMTFjNzQ2MDU3ZGQ1NzU0MGNhNWUxZDg0
NmU0Y2MxNmZkNjlmMmMuLjU4ZjM2ZjU5OWJmNjg2NWY1YTE4MDU0OTJkOGVhOTlkMTMxMDNlOTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaApAQCAtNjYsNiArNjYs
OSBAQCBwcml2YXRlOgogCiBET01XaW5kb3cqIGRvbVdpbmRvd0Zyb21TY3JpcHRTdGF0ZShTY3Jp
cHRTdGF0ZSopOwogCitib29sIGV2YWxFbmFibGVkKFNjcmlwdFN0YXRlKik7Cit2b2lkIHNldEV2
YWxFbmFibGVkKFNjcmlwdFN0YXRlKiwgYm9vbCk7CisKIFNjcmlwdFN0YXRlKiBtYWluV29ybGRT
Y3JpcHRTdGF0ZShGcmFtZSopOwogCiBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGVGcm9tTm9kZShE
T01XcmFwcGVyV29ybGQqLCBOb2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dE9iamVjdC5oCmluZGV4IDZiNzhjZmM2OTE0M2Q1YTgxZWE2N2NjNThlNDg2YzdkODhlM2U0M2Iu
LjQ1NDFhYjA4ODMzM2E5YjM0YzIyMTg3MDFmYWE3OGI4ZjM1Y2JlYjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5oCkBAIC00Myw3ICs0Myw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRPYmplY3QgOiBwdWJsaWMgU2NyaXB0VmFsdWUg
ewogICAgIHB1YmxpYzoKICAgICAgICAgU2NyaXB0T2JqZWN0KFNjcmlwdFN0YXRlKiwgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0Pik7Ci0gICAgICAgIFNjcmlwdE9iamVjdCgpIHt9OworICAgICAgICBT
Y3JpcHRPYmplY3QoKSA6IG1fc2NyaXB0U3RhdGUoMCkgeyB9OwogICAgICAgICB2aXJ0dWFsIH5T
Y3JpcHRPYmplY3QoKSB7fQogCiAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB2OE9iamVj
dCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
U3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCmlu
ZGV4IDMzYjdhMjdkYWRlYjRjM2Y1NDcyMzI0MTNkYzRjZWY3OGMxYTBmOTAuLjNkMzdjNmE3ZDNk
ZGNmNDFhNjk3ODM5MDcyNGViYmQxMGExN2EzOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRTdGF0ZS5jcHAKQEAgLTEwOSw2ICsxMDksMTggQEAgRE9NV2luZG93KiBkb21X
aW5kb3dGcm9tU2NyaXB0U3RhdGUoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQogICAgIHJldHVy
biBzY3JpcHRTdGF0ZS0+ZG9tV2luZG93KCk7CiB9CiAKK2Jvb2wgZXZhbEVuYWJsZWQoU2NyaXB0
U3RhdGUqIHNjcmlwdFN0YXRlKQoreworICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsK
KyAgICByZXR1cm4gc2NyaXB0U3RhdGUtPmNvbnRleHQoKS0+Q29kZUdlbmVyYXRpb25Gcm9tU3Ry
aW5nc0FsbG93ZWQoKTsKK30KKwordm9pZCBzZXRFdmFsRW5hYmxlZChTY3JpcHRTdGF0ZSogc2Ny
aXB0U3RhdGUsIGJvb2wgZW5hYmxlZCkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2Nv
cGU7CisgICAgcmV0dXJuIHNjcmlwdFN0YXRlLT5jb250ZXh0KCktPkFsbG93Q29kZUdlbmVyYXRp
b25Gcm9tU3RyaW5ncyhlbmFibGVkKTsKK30KKwogU2NyaXB0U3RhdGUqIG1haW5Xb3JsZFNjcmlw
dFN0YXRlKEZyYW1lKiBmcmFtZSkKIHsKICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCA4ZTAwYTdlMzZi
ZTNkMTlmYjkzMWIyZWFjOGMxMmZhYWJhNWY3NzQzLi5lMzM4YzNmNjUxZWJiOGY4YTIyNDViMDJj
ZWIzZjQwZjlhNjk0Y2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmgKQEAgLTEwOSw2ICsxMDksOSBAQCBwcml2YXRlOgogCiBET01XaW5kb3cqIGRvbVdpbmRvd0Zy
b21TY3JpcHRTdGF0ZShTY3JpcHRTdGF0ZSopOwogCitib29sIGV2YWxFbmFibGVkKFNjcmlwdFN0
YXRlKik7Cit2b2lkIHNldEV2YWxFbmFibGVkKFNjcmlwdFN0YXRlKiwgYm9vbCk7CisKIFNjcmlw
dFN0YXRlKiBtYWluV29ybGRTY3JpcHRTdGF0ZShGcmFtZSopOwogCiBTY3JpcHRTdGF0ZSogc2Ny
aXB0U3RhdGVGcm9tTm9kZShET01XcmFwcGVyV29ybGQqLCBOb2RlKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3Jp
cHRIb3N0Q3VzdG9tLmNwcAppbmRleCA5MTQ1ZGUzMThiZTRjMDBkNTRlZDU1YzI2NjUwOTVmYTA1
NGM2NTMyLi4zYWE0NDRjOWRlMDhkMzlhMjYwN2E2ODU5ZTIyOTNlZDczNjk0MTk4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhv
c3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElu
amVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKQEAgLTY2LDIyICs2Niw2IEBAIFNjcmlwdFZhbHVl
IEluamVjdGVkU2NyaXB0SG9zdDo6bm9kZUFzU2NyaXB0VmFsdWUoU2NyaXB0U3RhdGUqIHN0YXRl
LCBOb2RlKiBub2RlCiAgICAgcmV0dXJuIFNjcmlwdFZhbHVlKHRvVjgobm9kZSkpOwogfQogCi12
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhJbmplY3RlZFNjcmlwdEhvc3Q6OmV2YWx1YXRlQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKLXsKLSAgICBJTkNfU1RBVFMoIkluamVjdGVk
U2NyaXB0SG9zdC5ldmFsdWF0ZSgpIik7Ci0gICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAg
ICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0aW9uKHY4OjpFeGNlcHRpb246OkVycm9yKHY4OjpT
dHJpbmc6Ok5ldygiT25lIGFyZ3VtZW50IGV4cGVjdGVkLiIpKSk7Ci0KLSAgICB2ODo6SGFuZGxl
PHY4OjpTdHJpbmc+IGV4cHJlc3Npb24gPSBhcmdzWzBdLT5Ub1N0cmluZygpOwotICAgIGlmIChl
eHByZXNzaW9uLklzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHY4OjpUaHJvd0V4Y2VwdGlvbih2
ODo6RXhjZXB0aW9uOjpFcnJvcih2ODo6U3RyaW5nOjpOZXcoIlRoZSBhcmd1bWVudCBtdXN0IGJl
IGEgc3RyaW5nLiIpKSk7Ci0KLSAgICB2ODo6SGFuZGxlPHY4OjpTY3JpcHQ+IHNjcmlwdCA9IHY4
OjpTY3JpcHQ6OkNvbXBpbGUoZXhwcmVzc2lvbik7Ci0gICAgaWYgKHNjcmlwdC5Jc0VtcHR5KCkp
IC8vIFJldHVybiBpbW1lZGlhdGVseSBpbiBjYXNlIG9mIGV4Y2VwdGlvbiB0byBsZXQgdGhlIGNh
bGxlciBoYW5kbGUgaXQuCi0gICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsK
LSAgICByZXR1cm4gc2NyaXB0LT5SdW4oKTsKLX0KLQogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
SW5qZWN0ZWRTY3JpcHRIb3N0OjppbnNwZWN0ZWROb2RlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkluamVjdGVkU2NyaXB0SG9zdC5pbnNwZWN0
ZWROb2RlKCkiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3Bw
CmluZGV4IGNhNjc1MWU2ZTk0N2RjM2I5MDM1MmM5ZTUxMjFhZTczMDkyYzNiZjEuLjZkMDliMjkx
N2I4ODU0MzE2OTIyMjkwYmY0YTQzYWY2ZmE2NWFkNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcApAQCAtMjA4LDcgKzIwOCwyMSBAQCB2b2lkIEluamVj
dGVkU2NyaXB0OjptYWtlQ2FsbChTY3JpcHRGdW5jdGlvbkNhbGwmIGZ1bmN0aW9uLCBSZWZQdHI8
SW5zcGVjdG9yVmFsdQogICAgIERPTVdpbmRvdyogZG9tV2luZG93ID0gZG9tV2luZG93RnJvbVNj
cmlwdFN0YXRlKG1faW5qZWN0ZWRTY3JpcHRPYmplY3Quc2NyaXB0U3RhdGUoKSk7CiAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IGRvbVdpbmRvdyAmJiBkb21XaW5k
b3ctPmZyYW1lKCkgPyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxDYWxsRnVuY3Rpb24o
ZG9tV2luZG93LT5mcmFtZSgpLT5wYWdlKCksICJJbmplY3RlZFNjcmlwdCIsIDEpIDogSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiAgICAgYm9vbCBoYWRFeGNlcHRpb24gPSBmYWxz
ZTsKKworICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSA9IG1faW5qZWN0ZWRTY3JpcHRPYmpl
Y3Quc2NyaXB0U3RhdGUoKTsKKyAgICBib29sIGV2YWxJc0Rpc2FibGVkID0gZmFsc2U7CisgICAg
aWYgKHNjcmlwdFN0YXRlKSB7CisgICAgICAgIGV2YWxJc0Rpc2FibGVkID0gIWV2YWxFbmFibGVk
KHNjcmlwdFN0YXRlKTsKKyAgICAgICAgLy8gVGVtcG9yYXJpbHkgZW5hYmxlIGFsbG93IGV2YWxz
IGZvciBpbnNwZWN0b3IuCisgICAgICAgIGlmIChldmFsSXNEaXNhYmxlZCkKKyAgICAgICAgICAg
IHNldEV2YWxFbmFibGVkKHNjcmlwdFN0YXRlLCB0cnVlKTsKKyAgICB9CisKICAgICBTY3JpcHRW
YWx1ZSByZXN1bHRWYWx1ZSA9IGZ1bmN0aW9uLmNhbGwoaGFkRXhjZXB0aW9uKTsKKworICAgIGlm
IChldmFsSXNEaXNhYmxlZCkKKyAgICAgICAgc2V0RXZhbEVuYWJsZWQoc2NyaXB0U3RhdGUsIGZh
bHNlKTsKKwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2FsbEZ1bmN0aW9uKGNv
b2tpZSk7CiAKICAgICBBU1NFUlQoIWhhZEV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsCmluZGV4IDg0OGZlMzRhZWI0YjQ5ZjUw
NDA5ODFlY2FjNmYwODc3ZWM1ZTkwYzQuLmIzMGE4MzU4N2ExYzQ5ZmRiYTUzMTAxMTQ3NTg4MGJk
NGE0NzIxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdEhvc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dEhvc3QuaWRsCkBAIC0zNiw4ICszNiw2IEBAIG1vZHVsZSBjb3JlIHsKICAgICBdIEluamVjdGVk
U2NyaXB0SG9zdCB7CiAgICAgICAgIHZvaWQgY2xlYXJDb25zb2xlTWVzc2FnZXMoKTsKIAotICAg
ICAgICBbQ3VzdG9tXSBET01PYmplY3QgZXZhbHVhdGUoaW4gRE9NU3RyaW5nIHRleHQpOwotCiAg
ICAgICAgIHZvaWQgY29weVRleHQoaW4gRE9NU3RyaW5nIHRleHQpOwogICAgICAgICBbQ3VzdG9t
XSB2b2lkIGluc3BlY3QoaW4gRE9NT2JqZWN0IG9iamVjdElkLCBpbiBET01PYmplY3QgaGludHMp
OwogICAgICAgICBbQ3VzdG9tXSBET01PYmplY3QgaW5zcGVjdGVkTm9kZShpbiBpbnQgbnVtKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJj
ZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwpp
bmRleCBiM2MwZjRhNzc0N2EyOWJkOTA3NTExYTUxOGFmOWNmNjY3NTI4Mjk5Li41ZTFmOTUxY2Y0
NTk3ZjAwMGRiMDJjNjdjZDVmYjZjNWY2NDliYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC0xNDEsNyArMTQxLDcgQEAgSW5q
ZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewogCiAgICAgX3BhcnNlT2JqZWN0SWQ6IGZ1bmN0aW9u
KG9iamVjdElkKQogICAgIHsKLSAgICAgICAgcmV0dXJuIEluamVjdGVkU2NyaXB0SG9zdC5ldmFs
dWF0ZSgiKCIgKyBvYmplY3RJZCArICIpIik7CisgICAgICAgIHJldHVybiBldmFsKCIoIiArIG9i
amVjdElkICsgIikiKTsKICAgICB9LAogCiAgICAgcmVsZWFzZU9iamVjdEdyb3VwOiBmdW5jdGlv
bihvYmplY3RHcm91cE5hbWUpCkBAIC0xNTYsNyArMTU2LDcgQEAgSW5qZWN0ZWRTY3JpcHQucHJv
dG90eXBlID0gewogCiAgICAgZGlzcGF0Y2g6IGZ1bmN0aW9uKG1ldGhvZE5hbWUsIGFyZ3MpCiAg
ICAgewotICAgICAgICB2YXIgYXJnc0FycmF5ID0gSW5qZWN0ZWRTY3JpcHRIb3N0LmV2YWx1YXRl
KCIoIiArIGFyZ3MgKyAiKSIpOworICAgICAgICB2YXIgYXJnc0FycmF5ID0gZXZhbCgiKCIgKyBh
cmdzICsgIikiKTsKICAgICAgICAgdmFyIHJlc3VsdCA9IHRoaXNbbWV0aG9kTmFtZV0uYXBwbHko
dGhpcywgYXJnc0FycmF5KTsKICAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICJ1bmRlZmlu
ZWQiKSB7CiAgICAgICAgICAgICBpbnNwZWN0ZWRXaW5kb3cuY29uc29sZS5lcnJvcigiV2ViIElu
c3BlY3RvciBlcnJvcjogSW5qZWN0ZWRTY3JpcHQuJXMgcmV0dXJucyB1bmRlZmluZWQiLCBtZXRo
b2ROYW1lKTsKQEAgLTI1OSw3ICsyNTksNyBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7
CiAKICAgICBldmFsdWF0ZTogZnVuY3Rpb24oZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGluamVj
dENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRo
aXMuX2V2YWx1YXRlQW5kV3JhcChJbmplY3RlZFNjcmlwdEhvc3QuZXZhbHVhdGUsIEluamVjdGVk
U2NyaXB0SG9zdCwgZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGZhbHNlLCBpbmplY3RDb21tYW5k
TGluZUFQSSwgcmV0dXJuQnlWYWx1ZSk7CisgICAgICAgIHJldHVybiB0aGlzLl9ldmFsdWF0ZUFu
ZFdyYXAoaW5zcGVjdGVkV2luZG93LmV2YWwsIEluamVjdGVkU2NyaXB0SG9zdCwgZXhwcmVzc2lv
biwgb2JqZWN0R3JvdXAsIGZhbHNlLCBpbmplY3RDb21tYW5kTGluZUFQSSwgcmV0dXJuQnlWYWx1
ZSk7CiAgICAgfSwKIAogICAgIGNhbGxGdW5jdGlvbk9uOiBmdW5jdGlvbihvYmplY3RJZCwgZXhw
cmVzc2lvbiwgYXJncywgcmV0dXJuQnlWYWx1ZSkKQEAgLTI3MSw3ICsyNzEsNyBAQCBJbmplY3Rl
ZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgaWYgKGFyZ3MpIHsKICAgICAgICAgICAg
IHZhciByZXNvbHZlZEFyZ3MgPSBbXTsKLSAgICAgICAgICAgIGFyZ3MgPSBJbmplY3RlZFNjcmlw
dEhvc3QuZXZhbHVhdGUoYXJncyk7CisgICAgICAgICAgICBhcmdzID0gZXZhbChhcmdzKTsKICAg
ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7ICsraSkgewogICAgICAg
ICAgICAgICAgIHZhciBvYmplY3RJZCA9IGFyZ3NbaV0ub2JqZWN0SWQ7CiAgICAgICAgICAgICAg
ICAgaWYgKG9iamVjdElkKSB7CkBAIC0yOTMsNyArMjkzLDcgQEAgSW5qZWN0ZWRTY3JpcHQucHJv
dG90eXBlID0gewogCiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICB2YXIgb2JqZWN0R3JvdXAg
PSB0aGlzLl9pZFRvT2JqZWN0R3JvdXBOYW1lW3BhcnNlZE9iamVjdElkLmlkXTsKLSAgICAgICAg
ICAgIHZhciBmdW5jID0gSW5qZWN0ZWRTY3JpcHRIb3N0LmV2YWx1YXRlKCIoIiArIGV4cHJlc3Np
b24gKyAiKSIpOworICAgICAgICAgICAgdmFyIGZ1bmMgPSBldmFsKCIoIiArIGV4cHJlc3Npb24g
KyAiKSIpOwogICAgICAgICAgICAgaWYgKHR5cGVvZiBmdW5jICE9PSAiZnVuY3Rpb24iKQogICAg
ICAgICAgICAgICAgIHJldHVybiAiR2l2ZW4gZXhwcmVzc2lvbiBkb2VzIG5vdCBldmFsdWF0ZSB0
byBhIGZ1bmN0aW9uIjsKIApAQCAtMzY2LDcgKzM2Niw3IEBAIEluamVjdGVkU2NyaXB0LnByb3Rv
dHlwZSA9IHsKIAogICAgIF9jYWxsRnJhbWVGb3JJZDogZnVuY3Rpb24odG9wQ2FsbEZyYW1lLCBj
YWxsRnJhbWVJZCkKICAgICB7Ci0gICAgICAgIHZhciBwYXJzZWRDYWxsRnJhbWVJZCA9IEluamVj
dGVkU2NyaXB0SG9zdC5ldmFsdWF0ZSgiKCIgKyBjYWxsRnJhbWVJZCArICIpIik7CisgICAgICAg
IHZhciBwYXJzZWRDYWxsRnJhbWVJZCA9IGV2YWwoIigiICsgY2FsbEZyYW1lSWQgKyAiKSIpOwog
ICAgICAgICB2YXIgb3JkaW5hbCA9IHBhcnNlZENhbGxGcmFtZUlkLm9yZGluYWw7CiAgICAgICAg
IHZhciBjYWxsRnJhbWUgPSB0b3BDYWxsRnJhbWU7CiAgICAgICAgIHdoaWxlICgtLW9yZGluYWwg
Pj0gMCAmJiBjYWxsRnJhbWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124303</attachid>
            <date>2012-01-27 06:13:33 -0800</date>
            <delta_ts>2012-01-27 06:43:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77203-20120127181331.patch</filename>
            <type>text/plain</type>
            <size>15610</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMxYjljMjNjZTlhYzky
OWEwMWZlODBjMjYyMTQzNTQyZDcyNGJmOC4uNDBkYTlkMDBjZmM3MWU3YjgxZDBlMmMwMmRhZTk1
MDNkZWE3MDQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAxLTI3ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGNvbnNvbGUgZXZhbHVhdGlvbiBkb2Vzbid0IHdvcmsgb24gYnJlYWtwb2ludCBpbiBwYWdl
cyB3aXRoIENTUAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzcyMDMKKworICAgICAgICBJbnNwZWN0b3IgY29uc29sZSBldmFsdWF0aW9uIG5vdyB3b3Jr
cyB3aGVuIGRlYnVnZ2VyIGlzIHBhdXNlZCBpbiBhIHBhZ2Ugd2l0aAorICAgICAgICBjb250ZW50
LXNlY3VyaXR5LXBvbGljeSBwcm9oaWJpdGluZyBldmFscy4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBpbnNwZWN0b3IvZGVidWdnZXIvZXZh
bC1vbi1wYXVzZS1ibG9ja2VkLmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSW5qZWN0
ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRTdGF0
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpldmFsRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OnNldEV2YWxFbmFibGVkKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9TY3JpcHRTdGF0ZS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvU2NyaXB0T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRPYmplY3Q6OlNj
cmlwdE9iamVjdCk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6ZXZhbEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpzZXRFdmFsRW5hYmxlZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0
U3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0OjptYWtl
Q2FsbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGw6CisgICAg
ICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzOgorICAgICAgICAoLik6CisK
IDIwMTItMDEtMjUgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3Rvcjogc2hvdWxkIGJlIHBvc3NpYmxlIHRvIG9wZW4gZnVuY3Rpb24g
ZGVjbGFyYXRpb24gZnJvbSBzY3JpcHQgcG9wb3ZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCmluZGV4IDAz
MjBjMTgzNDY0MjFiNjVkMzhhMDgzZDczMjE1OTc3OWQ1M2U4MDAuLjczY2IyZmE3ZTc4ZTRiZTky
NmYwYmYyZjkxNzk3ZDM2NWFlYWQyMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKQEAgLTc2LDI4ICs3
Niw2IEBAIFNjcmlwdFZhbHVlIEluamVjdGVkU2NyaXB0SG9zdDo6bm9kZUFzU2NyaXB0VmFsdWUo
U2NyaXB0U3RhdGUqIHN0YXRlLCBOb2RlKiBub2RlCiAgICAgcmV0dXJuIFNjcmlwdFZhbHVlKHN0
YXRlLT5nbG9iYWxEYXRhKCksIHRvSlMoc3RhdGUsIGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQ
cm90b3R5cGUoc3RhdGUpLCBub2RlKSk7CiB9CiAKLUpTVmFsdWUgSlNJbmplY3RlZFNjcmlwdEhv
c3Q6OmV2YWx1YXRlKEV4ZWNTdGF0ZSogZXhlYykKLXsKLSAgICBKU1ZhbHVlIGV4cHJlc3Npb24g
PSBleGVjLT5hcmd1bWVudCgwKTsKLSAgICBpZiAoIWV4cHJlc3Npb24uaXNTdHJpbmcoKSkKLSAg
ICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgY3JlYXRlRXJyb3IoZXhlYywgIlN0cmluZyBh
cmd1bWVudCBleHBlY3RlZC4iKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9
IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKLSAgICBKU0Z1bmN0aW9uKiBldmFsRnVuY3Rp
b24gPSBnbG9iYWxPYmplY3QtPmV2YWxGdW5jdGlvbigpOwotICAgIENhbGxEYXRhIGNhbGxEYXRh
OwotICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZXZhbEZ1bmN0aW9uLT5tZXRob2RUYWJsZSgpLT5n
ZXRDYWxsRGF0YShldmFsRnVuY3Rpb24sIGNhbGxEYXRhKTsKLSAgICBpZiAoY2FsbFR5cGUgPT0g
Q2FsbFR5cGVOb25lKQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSAgICBNYXJrZWRB
cmd1bWVudEJ1ZmZlciBhcmdzOwotICAgIGFyZ3MuYXBwZW5kKGV4cHJlc3Npb24pOwotCi0gICAg
Ym9vbCB3YXNFdmFsRW5hYmxlZCA9IGdsb2JhbE9iamVjdC0+ZXZhbEVuYWJsZWQoKTsKLSAgICBn
bG9iYWxPYmplY3QtPnNldEV2YWxFbmFibGVkKHRydWUpOwotICAgIEpTVmFsdWUgcmVzdWx0ID0g
SlNDOjpjYWxsKGV4ZWMsIGV2YWxGdW5jdGlvbiwgY2FsbFR5cGUsIGNhbGxEYXRhLCBleGVjLT5n
bG9iYWxUaGlzVmFsdWUoKSwgYXJncyk7Ci0gICAgZ2xvYmFsT2JqZWN0LT5zZXRFdmFsRW5hYmxl
ZCh3YXNFdmFsRW5hYmxlZCk7Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiBKU1ZhbHVlIEpT
SW5qZWN0ZWRTY3JpcHRIb3N0OjppbnNwZWN0ZWROb2RlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAg
ICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdFN0YXRlLmNwcAppbmRleCBjN2NkOTI5OWEyNTM5YzI4MzMyNmRmOGRmNzYzMDg0
NjhhZGYzNjFkLi5lODIzYzZlM2E4NjdhZDBiZDc1ZGVmYzhjMzY4YjY2NmRjNjE0ODNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuY3BwCkBAIC03MSw2ICs3MSwx
OCBAQCBET01XaW5kb3cqIGRvbVdpbmRvd0Zyb21TY3JpcHRTdGF0ZShTY3JpcHRTdGF0ZSogc2Ny
aXB0U3RhdGUpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTRE9NV2luZG93QmFzZSo+KGdsb2Jh
bE9iamVjdCktPmltcGwoKTsKIH0KIAorYm9vbCBldmFsRW5hYmxlZChTY3JpcHRTdGF0ZSogc2Ny
aXB0U3RhdGUpCit7CisgICAgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gc2Ny
aXB0U3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
LT5ldmFsRW5hYmxlZCgpOworfQorCit2b2lkIHNldEV2YWxFbmFibGVkKFNjcmlwdFN0YXRlKiBz
Y3JpcHRTdGF0ZSwgYm9vbCBlbmFibGVkKQoreworICAgIEpTQzo6SlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IHNjcmlwdFN0YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CisgICAgcmV0
dXJuIGdsb2JhbE9iamVjdC0+c2V0RXZhbEVuYWJsZWQoZW5hYmxlZCk7Cit9CisKIFNjcmlwdFN0
YXRlKiBtYWluV29ybGRTY3JpcHRTdGF0ZShGcmFtZSogZnJhbWUpCiB7CiAgICAgSlNET01XaW5k
b3dTaGVsbCogc2hlbGwgPSBmcmFtZS0+c2NyaXB0KCktPndpbmRvd1NoZWxsKG1haW5UaHJlYWRO
b3JtYWxXb3JsZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCmlu
ZGV4IDQzMTFjNzQ2MDU3ZGQ1NzU0MGNhNWUxZDg0NmU0Y2MxNmZkNjlmMmMuLjU4ZjM2ZjU5OWJm
Njg2NWY1YTE4MDU0OTJkOGVhOTlkMTMxMDNlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0U3RhdGUuaApAQCAtNjYsNiArNjYsOSBAQCBwcml2YXRlOgogCiBET01XaW5kb3cq
IGRvbVdpbmRvd0Zyb21TY3JpcHRTdGF0ZShTY3JpcHRTdGF0ZSopOwogCitib29sIGV2YWxFbmFi
bGVkKFNjcmlwdFN0YXRlKik7Cit2b2lkIHNldEV2YWxFbmFibGVkKFNjcmlwdFN0YXRlKiwgYm9v
bCk7CisKIFNjcmlwdFN0YXRlKiBtYWluV29ybGRTY3JpcHRTdGF0ZShGcmFtZSopOwogCiBTY3Jp
cHRTdGF0ZSogc2NyaXB0U3RhdGVGcm9tTm9kZShET01XcmFwcGVyV29ybGQqLCBOb2RlKik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRPYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5oCmluZGV4IDZiNzhjZmM2OTE0
M2Q1YTgxZWE2N2NjNThlNDg2YzdkODhlM2U0M2IuLjQ1NDFhYjA4ODMzM2E5YjM0YzIyMTg3MDFm
YWE3OGI4ZjM1Y2JlYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdE9iamVj
dC5oCkBAIC00Myw3ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3Jp
cHRPYmplY3QgOiBwdWJsaWMgU2NyaXB0VmFsdWUgewogICAgIHB1YmxpYzoKICAgICAgICAgU2Ny
aXB0T2JqZWN0KFNjcmlwdFN0YXRlKiwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7Ci0gICAgICAg
IFNjcmlwdE9iamVjdCgpIHt9OworICAgICAgICBTY3JpcHRPYmplY3QoKSA6IG1fc2NyaXB0U3Rh
dGUoMCkgeyB9OwogICAgICAgICB2aXJ0dWFsIH5TY3JpcHRPYmplY3QoKSB7fQogCiAgICAgICAg
IHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB2OE9iamVjdCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCmluZGV4IDMzYjdhMjdkYWRlYjRjM2Y1NDcyMzI0
MTNkYzRjZWY3OGMxYTBmOTAuLjNkMzdjNmE3ZDNkZGNmNDFhNjk3ODM5MDcyNGViYmQxMGExN2Ez
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKQEAgLTEw
OSw2ICsxMDksMTggQEAgRE9NV2luZG93KiBkb21XaW5kb3dGcm9tU2NyaXB0U3RhdGUoU2NyaXB0
U3RhdGUqIHNjcmlwdFN0YXRlKQogICAgIHJldHVybiBzY3JpcHRTdGF0ZS0+ZG9tV2luZG93KCk7
CiB9CiAKK2Jvb2wgZXZhbEVuYWJsZWQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQoreworICAg
IHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKKyAgICByZXR1cm4gc2NyaXB0U3RhdGUtPmNv
bnRleHQoKS0+Q29kZUdlbmVyYXRpb25Gcm9tU3RyaW5nc0FsbG93ZWQoKTsKK30KKwordm9pZCBz
ZXRFdmFsRW5hYmxlZChTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIGJvb2wgZW5hYmxlZCkKK3sK
KyAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CisgICAgcmV0dXJuIHNjcmlwdFN0YXRl
LT5jb250ZXh0KCktPkFsbG93Q29kZUdlbmVyYXRpb25Gcm9tU3RyaW5ncyhlbmFibGVkKTsKK30K
KwogU2NyaXB0U3RhdGUqIG1haW5Xb3JsZFNjcmlwdFN0YXRlKEZyYW1lKiBmcmFtZSkKIHsKICAg
ICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0U3RhdGUuaAppbmRleCA4ZTAwYTdlMzZiZTNkMTlmYjkzMWIyZWFjOGMxMmZhYWJhNWY3
NzQzLi5lMzM4YzNmNjUxZWJiOGY4YTIyNDViMDJjZWIzZjQwZjlhNjk0Y2QwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKQEAgLTEwOSw2ICsxMDksOSBAQCBwcml2
YXRlOgogCiBET01XaW5kb3cqIGRvbVdpbmRvd0Zyb21TY3JpcHRTdGF0ZShTY3JpcHRTdGF0ZSop
OwogCitib29sIGV2YWxFbmFibGVkKFNjcmlwdFN0YXRlKik7Cit2b2lkIHNldEV2YWxFbmFibGVk
KFNjcmlwdFN0YXRlKiwgYm9vbCk7CisKIFNjcmlwdFN0YXRlKiBtYWluV29ybGRTY3JpcHRTdGF0
ZShGcmFtZSopOwogCiBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGVGcm9tTm9kZShET01XcmFwcGVy
V29ybGQqLCBOb2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcAppbmRleCA5MTQ1
ZGUzMThiZTRjMDBkNTRlZDU1YzI2NjUwOTVmYTA1NGM2NTMyLi4zYWE0NDRjOWRlMDhkMzlhMjYw
N2E2ODU5ZTIyOTNlZDczNjk0MTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAK
QEAgLTY2LDIyICs2Niw2IEBAIFNjcmlwdFZhbHVlIEluamVjdGVkU2NyaXB0SG9zdDo6bm9kZUFz
U2NyaXB0VmFsdWUoU2NyaXB0U3RhdGUqIHN0YXRlLCBOb2RlKiBub2RlCiAgICAgcmV0dXJuIFNj
cmlwdFZhbHVlKHRvVjgobm9kZSkpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhJbmpl
Y3RlZFNjcmlwdEhvc3Q6OmV2YWx1YXRlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKLXsKLSAgICBJTkNfU1RBVFMoIkluamVjdGVkU2NyaXB0SG9zdC5ldmFsdWF0ZSgpIik7Ci0g
ICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQotICAgICAgICByZXR1cm4gdjg6OlRocm93RXhjZXB0
aW9uKHY4OjpFeGNlcHRpb246OkVycm9yKHY4OjpTdHJpbmc6Ok5ldygiT25lIGFyZ3VtZW50IGV4
cGVjdGVkLiIpKSk7Ci0KLSAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGV4cHJlc3Npb24gPSBh
cmdzWzBdLT5Ub1N0cmluZygpOwotICAgIGlmIChleHByZXNzaW9uLklzRW1wdHkoKSkKLSAgICAg
ICAgcmV0dXJuIHY4OjpUaHJvd0V4Y2VwdGlvbih2ODo6RXhjZXB0aW9uOjpFcnJvcih2ODo6U3Ry
aW5nOjpOZXcoIlRoZSBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nLiIpKSk7Ci0KLSAgICB2ODo6
SGFuZGxlPHY4OjpTY3JpcHQ+IHNjcmlwdCA9IHY4OjpTY3JpcHQ6OkNvbXBpbGUoZXhwcmVzc2lv
bik7Ci0gICAgaWYgKHNjcmlwdC5Jc0VtcHR5KCkpIC8vIFJldHVybiBpbW1lZGlhdGVseSBpbiBj
YXNlIG9mIGV4Y2VwdGlvbiB0byBsZXQgdGhlIGNhbGxlciBoYW5kbGUgaXQuCi0gICAgICAgIHJl
dHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKLSAgICByZXR1cm4gc2NyaXB0LT5SdW4oKTsK
LX0KLQogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SW5qZWN0ZWRTY3JpcHRIb3N0OjppbnNwZWN0
ZWROb2RlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RB
VFMoIkluamVjdGVkU2NyaXB0SG9zdC5pbnNwZWN0ZWROb2RlKCkiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCmluZGV4IGNhNjc1MWU2ZTk0N2RjM2I5MDM1
MmM5ZTUxMjFhZTczMDkyYzNiZjEuLjZkMDliMjkxN2I4ODU0MzE2OTIyMjkwYmY0YTQzYWY2ZmE2
NWFkNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcApA
QCAtMjA4LDcgKzIwOCwyMSBAQCB2b2lkIEluamVjdGVkU2NyaXB0OjptYWtlQ2FsbChTY3JpcHRG
dW5jdGlvbkNhbGwmIGZ1bmN0aW9uLCBSZWZQdHI8SW5zcGVjdG9yVmFsdQogICAgIERPTVdpbmRv
dyogZG9tV2luZG93ID0gZG9tV2luZG93RnJvbVNjcmlwdFN0YXRlKG1faW5qZWN0ZWRTY3JpcHRP
YmplY3Quc2NyaXB0U3RhdGUoKSk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IGNvb2tpZSA9IGRvbVdpbmRvdyAmJiBkb21XaW5kb3ctPmZyYW1lKCkgPyBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OndpbGxDYWxsRnVuY3Rpb24oZG9tV2luZG93LT5mcmFtZSgpLT5wYWdlKCks
ICJJbmplY3RlZFNjcmlwdCIsIDEpIDogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7
CiAgICAgYm9vbCBoYWRFeGNlcHRpb24gPSBmYWxzZTsKKworICAgIFNjcmlwdFN0YXRlKiBzY3Jp
cHRTdGF0ZSA9IG1faW5qZWN0ZWRTY3JpcHRPYmplY3Quc2NyaXB0U3RhdGUoKTsKKyAgICBib29s
IGV2YWxJc0Rpc2FibGVkID0gZmFsc2U7CisgICAgaWYgKHNjcmlwdFN0YXRlKSB7CisgICAgICAg
IGV2YWxJc0Rpc2FibGVkID0gIWV2YWxFbmFibGVkKHNjcmlwdFN0YXRlKTsKKyAgICAgICAgLy8g
VGVtcG9yYXJpbHkgZW5hYmxlIGFsbG93IGV2YWxzIGZvciBpbnNwZWN0b3IuCisgICAgICAgIGlm
IChldmFsSXNEaXNhYmxlZCkKKyAgICAgICAgICAgIHNldEV2YWxFbmFibGVkKHNjcmlwdFN0YXRl
LCB0cnVlKTsKKyAgICB9CisKICAgICBTY3JpcHRWYWx1ZSByZXN1bHRWYWx1ZSA9IGZ1bmN0aW9u
LmNhbGwoaGFkRXhjZXB0aW9uKTsKKworICAgIGlmIChldmFsSXNEaXNhYmxlZCkKKyAgICAgICAg
c2V0RXZhbEVuYWJsZWQoc2NyaXB0U3RhdGUsIGZhbHNlKTsKKwogICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkQ2FsbEZ1bmN0aW9uKGNvb2tpZSk7CiAKICAgICBBU1NFUlQoIWhhZEV4
Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhv
c3QuaWRsCmluZGV4IDg0OGZlMzRhZWI0YjQ5ZjUwNDA5ODFlY2FjNmYwODc3ZWM1ZTkwYzQuLmIz
MGE4MzU4N2ExYzQ5ZmRiYTUzMTAxMTQ3NTg4MGJkNGE0NzIxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsCkBAIC0zNiw4ICszNiw2IEBA
IG1vZHVsZSBjb3JlIHsKICAgICBdIEluamVjdGVkU2NyaXB0SG9zdCB7CiAgICAgICAgIHZvaWQg
Y2xlYXJDb25zb2xlTWVzc2FnZXMoKTsKIAotICAgICAgICBbQ3VzdG9tXSBET01PYmplY3QgZXZh
bHVhdGUoaW4gRE9NU3RyaW5nIHRleHQpOwotCiAgICAgICAgIHZvaWQgY29weVRleHQoaW4gRE9N
U3RyaW5nIHRleHQpOwogICAgICAgICBbQ3VzdG9tXSB2b2lkIGluc3BlY3QoaW4gRE9NT2JqZWN0
IG9iamVjdElkLCBpbiBET01PYmplY3QgaGludHMpOwogICAgICAgICBbQ3VzdG9tXSBET01PYmpl
Y3QgaW5zcGVjdGVkTm9kZShpbiBpbnQgbnVtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwppbmRleCBiM2MwZjRhNzc0N2EyOWJkOTA3NTEx
YTUxOGFmOWNmNjY3NTI4Mjk5Li41ZTFmOTUxY2Y0NTk3ZjAwMGRiMDJjNjdjZDVmYjZjNWY2NDli
YmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRT
b3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzCkBAIC0xNDEsNyArMTQxLDcgQEAgSW5qZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewog
CiAgICAgX3BhcnNlT2JqZWN0SWQ6IGZ1bmN0aW9uKG9iamVjdElkKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIEluamVjdGVkU2NyaXB0SG9zdC5ldmFsdWF0ZSgiKCIgKyBvYmplY3RJZCArICIpIik7
CisgICAgICAgIHJldHVybiBldmFsKCIoIiArIG9iamVjdElkICsgIikiKTsKICAgICB9LAogCiAg
ICAgcmVsZWFzZU9iamVjdEdyb3VwOiBmdW5jdGlvbihvYmplY3RHcm91cE5hbWUpCkBAIC0xNTYs
NyArMTU2LDcgQEAgSW5qZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewogCiAgICAgZGlzcGF0Y2g6
IGZ1bmN0aW9uKG1ldGhvZE5hbWUsIGFyZ3MpCiAgICAgewotICAgICAgICB2YXIgYXJnc0FycmF5
ID0gSW5qZWN0ZWRTY3JpcHRIb3N0LmV2YWx1YXRlKCIoIiArIGFyZ3MgKyAiKSIpOworICAgICAg
ICB2YXIgYXJnc0FycmF5ID0gZXZhbCgiKCIgKyBhcmdzICsgIikiKTsKICAgICAgICAgdmFyIHJl
c3VsdCA9IHRoaXNbbWV0aG9kTmFtZV0uYXBwbHkodGhpcywgYXJnc0FycmF5KTsKICAgICAgICAg
aWYgKHR5cGVvZiByZXN1bHQgPT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAgICBpbnNwZWN0
ZWRXaW5kb3cuY29uc29sZS5lcnJvcigiV2ViIEluc3BlY3RvciBlcnJvcjogSW5qZWN0ZWRTY3Jp
cHQuJXMgcmV0dXJucyB1bmRlZmluZWQiLCBtZXRob2ROYW1lKTsKQEAgLTI1OSw3ICsyNTksNyBA
QCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAKICAgICBldmFsdWF0ZTogZnVuY3Rpb24o
ZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGluamVjdENvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZh
bHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2V2YWx1YXRlQW5kV3JhcChJbmplY3Rl
ZFNjcmlwdEhvc3QuZXZhbHVhdGUsIEluamVjdGVkU2NyaXB0SG9zdCwgZXhwcmVzc2lvbiwgb2Jq
ZWN0R3JvdXAsIGZhbHNlLCBpbmplY3RDb21tYW5kTGluZUFQSSwgcmV0dXJuQnlWYWx1ZSk7Cisg
ICAgICAgIHJldHVybiB0aGlzLl9ldmFsdWF0ZUFuZFdyYXAoaW5zcGVjdGVkV2luZG93LmV2YWws
IEluamVjdGVkU2NyaXB0SG9zdCwgZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGZhbHNlLCBpbmpl
Y3RDb21tYW5kTGluZUFQSSwgcmV0dXJuQnlWYWx1ZSk7CiAgICAgfSwKIAogICAgIGNhbGxGdW5j
dGlvbk9uOiBmdW5jdGlvbihvYmplY3RJZCwgZXhwcmVzc2lvbiwgYXJncywgcmV0dXJuQnlWYWx1
ZSkKQEAgLTI3MSw3ICsyNzEsNyBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAKICAg
ICAgICAgaWYgKGFyZ3MpIHsKICAgICAgICAgICAgIHZhciByZXNvbHZlZEFyZ3MgPSBbXTsKLSAg
ICAgICAgICAgIGFyZ3MgPSBJbmplY3RlZFNjcmlwdEhvc3QuZXZhbHVhdGUoYXJncyk7CisgICAg
ICAgICAgICBhcmdzID0gZXZhbChhcmdzKTsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgYXJncy5sZW5ndGg7ICsraSkgewogICAgICAgICAgICAgICAgIHZhciBvYmplY3RJZCA9IGFy
Z3NbaV0ub2JqZWN0SWQ7CiAgICAgICAgICAgICAgICAgaWYgKG9iamVjdElkKSB7CkBAIC0yOTMs
NyArMjkzLDcgQEAgSW5qZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewogCiAgICAgICAgIHRyeSB7
CiAgICAgICAgICAgICB2YXIgb2JqZWN0R3JvdXAgPSB0aGlzLl9pZFRvT2JqZWN0R3JvdXBOYW1l
W3BhcnNlZE9iamVjdElkLmlkXTsKLSAgICAgICAgICAgIHZhciBmdW5jID0gSW5qZWN0ZWRTY3Jp
cHRIb3N0LmV2YWx1YXRlKCIoIiArIGV4cHJlc3Npb24gKyAiKSIpOworICAgICAgICAgICAgdmFy
IGZ1bmMgPSBldmFsKCIoIiArIGV4cHJlc3Npb24gKyAiKSIpOwogICAgICAgICAgICAgaWYgKHR5
cGVvZiBmdW5jICE9PSAiZnVuY3Rpb24iKQogICAgICAgICAgICAgICAgIHJldHVybiAiR2l2ZW4g
ZXhwcmVzc2lvbiBkb2VzIG5vdCBldmFsdWF0ZSB0byBhIGZ1bmN0aW9uIjsKIApAQCAtMzY2LDcg
KzM2Niw3IEBAIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKIAogICAgIF9jYWxsRnJhbWVG
b3JJZDogZnVuY3Rpb24odG9wQ2FsbEZyYW1lLCBjYWxsRnJhbWVJZCkKICAgICB7Ci0gICAgICAg
IHZhciBwYXJzZWRDYWxsRnJhbWVJZCA9IEluamVjdGVkU2NyaXB0SG9zdC5ldmFsdWF0ZSgiKCIg
KyBjYWxsRnJhbWVJZCArICIpIik7CisgICAgICAgIHZhciBwYXJzZWRDYWxsRnJhbWVJZCA9IGV2
YWwoIigiICsgY2FsbEZyYW1lSWQgKyAiKSIpOwogICAgICAgICB2YXIgb3JkaW5hbCA9IHBhcnNl
ZENhbGxGcmFtZUlkLm9yZGluYWw7CiAgICAgICAgIHZhciBjYWxsRnJhbWUgPSB0b3BDYWxsRnJh
bWU7CiAgICAgICAgIHdoaWxlICgtLW9yZGluYWwgPj0gMCAmJiBjYWxsRnJhbWUpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ODhkNzU5NmFjNzZkYTFhYTBhZDZmODM2YzAyODExOWU3M2RjYWYzMi4uZDQyY2RhODRhMDI2ZDFk
ZjUxOWFkNWNkMTVjZmU0M2Y2MTk3ZjNmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAx
LTI3ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGNvbnNvbGUgZXZhbHVhdGlvbiBkb2Vzbid0IHdvcmsgb24gYnJlYWtwb2lu
dCBpbiBwYWdlcyB3aXRoIENTUAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzcyMDMKKworICAgICAgICBJbnNwZWN0b3IgY29uc29sZSBldmFsdWF0aW9u
IG5vdyB3b3JrcyB3aGVuIGRlYnVnZ2VyIGlzIHBhdXNlZCBpbiBhIHBhZ2Ugd2l0aAorICAgICAg
ICBjb250ZW50LXNlY3VyaXR5LXBvbGljeSBwcm9oaWJpdGluZyBldmFscy4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dl
ci9ldmFsLW9uLXBhdXNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvZGVidWdnZXIvZXZhbC1vbi1wYXVzZS1ibG9ja2VkLmh0bWw6IEFkZGVkLgorCiAy
MDEyLTAxLTI1ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IHNob3VsZCBiZSBwb3NzaWJsZSB0byBvcGVuIGZ1bmN0aW9uIGRl
Y2xhcmF0aW9uIGZyb20gc2NyaXB0IHBvcG92ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9ldmFsLW9uLXBhdXNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2V2YWwtb24tcGF1c2UtYmxvY2tlZC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODgyZWJmN2FmMGExYjZiZGU5NzJiOTIzOTNmYzM3MjM3MjQxNDEx
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9ldmFs
LW9uLXBhdXNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdCB0aGF0
IGV2YWx1YXRpb24gaW4gdGhlIGNvbnRleHQgb2YgdG9wIGZyYW1lIHdpbGwgbm90IGJlIGJsb2Nr
ZWQgYnkgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kuIEJ1ZyA3NzIwMy4KKworRGVidWdnZXIgd2Fz
IGVuYWJsZWQuCitTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCitTY3JpcHQgZXhlY3V0aW9u
IHBhdXNlZC4KK0V2YWx1YXRlZCBpbiBjb25zb2xlIGluIHRoZSB0b3AgZnJhbWUgY29udGV4dDog
Zm9vID0gMjAxMgorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgorRGVidWdnZXIgd2FzIGRpc2Fi
bGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZXZhbC1v
bi1wYXVzZS1ibG9ja2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZXZh
bC1vbi1wYXVzZS1ibG9ja2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmEwN2UzMmJiM2M5YjdjY2RkMTdl
NmJkODgzZjIyNGFjNzQ1NThiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9ldmFsLW9uLXBhdXNlLWJsb2NrZWQuaHRtbApAQCAtMCwwICsxLDQzIEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKzxtZXRhIGh0dHAtZXF1
aXY9IlgtV2ViS2l0LUNTUCIgY29udGVudD0ic2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSciPgor
PHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3RGdW5jdGlvbigpCit7CisgICAgdmFyIGZvbyA9IDIwMTI7
CisgICAgZGVidWdnZXI7Cit9CisKK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQoreworICAgIEluc3Bl
Y3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEo
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50
aWxQYXVzZWQoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImZvbyIsIHN0ZXAzKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBzdGVwMyhyZXN1bHQpCisgICAgeworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiRXZhbHVhdGVkIGluIGNvbnNvbGUgaW4gdGhlIHRvcCBmcmFtZSBj
b250ZXh0OiBmb28gPSAiICsgcmVzdWx0KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZURlYnVnZ2VyVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3QgdGhhdCBldmFsdWF0aW9uIGluIHRoZSBjb250
ZXh0IG9mIHRvcCBmcmFtZSB3aWxsIG5vdCBiZSBibG9ja2VkIGJ5IENvbnRlbnQtU2VjdXJpdHkt
UG9saWN5LgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc3MjAzIj5CdWcgNzcyMDMuPC9hPgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="125526"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="125532"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>