<?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>112041</bug_id>
          
          <creation_ts>2013-03-11 11:03:21 -0700</creation_ts>
          <short_desc>Web Inspector: [CodeMirror] highlight matching braces</short_desc>
          <delta_ts>2013-03-12 04:21:13 -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>1</everconfirmed>
          <reporter name="Andrey Lushnikov">lushnikov</reporter>
          <assigned_to name="Andrey Lushnikov">lushnikov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>852476</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-03-11 11:03:21 -0700</bug_when>
    <thetext>Highlight matching braces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852477</commentid>
    <comment_count>1</comment_count>
      <attachid>192511</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-03-11 11:05:37 -0700</bug_when>
    <thetext>Created attachment 192511
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852478</commentid>
    <comment_count>2</comment_count>
      <attachid>192512</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-03-11 11:07:02 -0700</bug_when>
    <thetext>Created attachment 192512
highlight matching braces</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853177</commentid>
    <comment_count>3</comment_count>
      <attachid>192511</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-03-12 01:27:21 -0700</bug_when>
    <thetext>Comment on attachment 192511
Patch

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

&gt; Source/WebCore/inspector/front-end/cm/cmdevtools.css:36
&gt; +  text-decoration: underline;

Can we use border-bottom to better control its position (this way we can make the border not touch the brace)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853178</commentid>
    <comment_count>4</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-03-12 01:27:25 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=192511&amp;action=review

&gt; Source/WebCore/inspector/front-end/cm/cmdevtools.css:36
&gt; +  text-decoration: underline;

Can we use border-bottom to better control its position (this way we can make the border not touch the brace)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853212</commentid>
    <comment_count>5</comment_count>
      <attachid>192674</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-03-12 02:12:15 -0700</bug_when>
    <thetext>Created attachment 192674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853213</commentid>
    <comment_count>6</comment_count>
      <attachid>192675</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-03-12 02:12:35 -0700</bug_when>
    <thetext>Created attachment 192675
border bottom to decorate matching brackets</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853324</commentid>
    <comment_count>7</comment_count>
      <attachid>192674</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 04:21:10 -0700</bug_when>
    <thetext>Comment on attachment 192674
Patch

Clearing flags on attachment: 192674

Committed r145520: &lt;http://trac.webkit.org/changeset/145520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853325</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 04:21:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192511</attachid>
            <date>2013-03-11 11:05:37 -0700</date>
            <delta_ts>2013-03-12 02:12:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112041-20130311220136.patch</filename>
            <type>text/plain</type>
            <size>10125</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI5NjJiNzNjZmVjZjcz
YzFkYTE5YzJkODRkMWJlZTg3NjBmN2RmYy4uODgzMGY2MDY4YmNhOTI1N2E5OWQ5ZjgwNzI3YmMw
YzY3ZDZhYjQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTExICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBbQ29kZU1pcnJvcl0gaGlnaGxpZ2h0IG1hdGNoaW5nIGJyYWNlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMDQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkICJtYXRjaGJyYWNrZXRz
IiBhZGQtb24gdG8gQ29kZU1pcnJvciB0ZXh0IGVkaXRvciBhZGQgb3ZlcnJpZGUKKyAgICAgICAg
ZGVmYXVsdCBzdHlsZXMgZm9yIG1hdGNoZWQgYW5kIHVubWF0Y2hlZCBicmFjZXMuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29kZU1pcnJvclRleHRF
ZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRleHRFZGl0b3IpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2NtL2NtZGV2dG9vbHMuY3NzOgorICAgICAgICAoLkNvZGVNaXJyb3It
bWF0Y2hpbmdicmFja2V0KToKKyAgICAgICAgKC5Db2RlTWlycm9yLW5vbm1hdGNoaW5nYnJhY2tl
dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9jbS9tYXRjaGJyYWNrZXRzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKC4pOgorCiAyMDEzLTAzLTExICBUaW0gSG9ydG9uICA8dGltb3RoeV9o
b3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luIHBhaW50
cyBpbiBQYWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kIGluc3RlYWQgb2YgUGFpbnRQaGFzZUZvcmVn
cm91bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA5OGQzYWVmZjE4OGZmYzEzMmEyMzI4OGE3ZjZmMWQw
ZWYxNmFmODQ3Li5hMzJjNTA3YmMyNWE1MWRmYmQ4M2Y4NmQ3YTI4OTYyNjYwOGUzOTEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC01NTgzLDYgKzU1ODMsNyBAQAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvY20vY29kZW1pcnJvci5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9jbS9jc3MuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvY20v
aHRtbG1peGVkLmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL2NtL21hdGNo
YnJhY2tldHMuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvY20vamF2YXNj
cmlwdC5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9jbS94bWwuanMnLAog
ICAgICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCBjNjRiZWE5NjYyMDg5N2FiZTUxNzJmZjNlNmYzYjNjZjYyYTEwNzhkLi5iYzNmYWFk
NmE4NDJjYzc0ZjQwODYzZmNlNDZmMjZiYTg0Zjc2MDVlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzczNzAsNiArNzczNzAsMTAgQEAKIAkJ
CQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3Bl
Y3Rvclxmcm9udC1lbmRcY21cbWF0Y2hicmFja2V0cy5qcyIKKwkJCQkJPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcSW1h
Z2VWaWV3LmpzIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggZWM0ODIxNzkzYTM1MmQzZTk2MzJhMjFk
ODM2M2YzYzNiODEzN2QxOC4uNDk1YTk5ZTYyMmQ2ODVhMTQ3YjMyMTk5N2MxZTE0NDhmMjA5ZmQ1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CkBAIC0xMDk4MCw2ICsxMDk4MCw3IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XGZyb250LWVuZFxoZWxwU2NyZWVuLmNzcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcZnJvbnQtZW5kXEhlbHBTY3JlZW4uanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXGZyb250LWVuZFxjbVxodG1sbWl4ZWQuanMiIC8+CisgICAgPE5vbmUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxjbVxtYXRjaGJyYWNrZXRzLmpzIiAvPgogICAgIDxO
b25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcSW1hZ2VWaWV3LmpzIiAvPgogICAg
IDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcSW5kZXhlZERCTW9kZWwuanMi
IC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxpbmRleGVkREJW
aWV3cy5jc3MiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggNmJjZjY0OWJhNDZhMmE3NjVkMWU4YjBlOTc3
MmQwZTY0OTNlY2ViZC4uY2FlNDJjZjM2MDhlYjVhYzQ0OWYxMTcwMjg2ZmU3NGI0ZDMzOTBmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycwpAQCAtMTQ3MDcsNiArMTQ3MDcsOSBAQAogICAgIDxOb25lIEluY2x1ZGU9
Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcY21caHRtbG1peGVkLmpzIj4KICAgICAgIDxGaWx0ZXI+
aW5zcGVjdG9yXGZyb250LWVuZDwvRmlsdGVyPgogICAgIDwvTm9uZT4KKyAgICA8Tm9uZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXGNtXG1hdGNoYnJhY2tldHMuanMiPgorICAgICAg
PEZpbHRlcj5pbnNwZWN0b3JcZnJvbnQtZW5kPC9GaWx0ZXI+CisgICAgPC9Ob25lPgogICAgIDxO
b25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcSW1hZ2VWaWV3LmpzIj4KICAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yXGZyb250LWVuZDwvRmlsdGVyPgogICAgIDwvTm9uZT4KQEAgLTE1
Mjk0LDQgKzE1Mjk3LDQgQEAKICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nPC9GaWx0ZXI+CiAgICAg
PC9DdXN0b21CdWlsZFN0ZXA+CiAgIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ29kZU1pcnJvclRleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvZGVNaXJyb3JUZXh0RWRpdG9yLmpzCmluZGV4IGQ3
NDUwYTFjOGUwYjVlZGQ4Njg0ZmZjYmExMDYxMDNlNTlmZTE5MTUuLjhjNTc3ZGM0MTI4NTkyNDNj
NjNhZThiMTdmMjRjMzJmNzI3YWQyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQ29kZU1pcnJvclRleHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2RlTWlycm9yVGV4dEVkaXRvci5qcwpAQCAtMzMsNiAr
MzMsNyBAQCBpbXBvcnRTY3JpcHQoImNtL2Nzcy5qcyIpOwogaW1wb3J0U2NyaXB0KCJjbS9qYXZh
c2NyaXB0LmpzIik7CiBpbXBvcnRTY3JpcHQoImNtL3htbC5qcyIpOwogaW1wb3J0U2NyaXB0KCJj
bS9odG1sbWl4ZWQuanMiKTsKK2ltcG9ydFNjcmlwdCgiY20vbWF0Y2hicmFja2V0cy5qcyIpOwog
CiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNTIsNyArNTMsOCBAQCBXZWJJbnNwZWN0b3IuQ29k
ZU1pcnJvclRleHRFZGl0b3IgPSBmdW5jdGlvbih1cmwsIGRlbGVnYXRlKQogCiAgICAgdGhpcy5f
Y29kZU1pcnJvciA9IHdpbmRvdy5Db2RlTWlycm9yKHRoaXMuZWxlbWVudCwgewogICAgICAgICBs
aW5lTnVtYmVyczogdHJ1ZSwKLSAgICAgICAgZ3V0dGVyczogWyJDb2RlTWlycm9yLWxpbmVudW1i
ZXJzIiwgImJyZWFrcG9pbnRzIl0KKyAgICAgICAgZ3V0dGVyczogWyJDb2RlTWlycm9yLWxpbmVu
dW1iZXJzIiwgImJyZWFrcG9pbnRzIl0sCisgICAgICAgIG1hdGNoQnJhY2tldHM6IHRydWUKICAg
ICB9KTsKIAogICAgIHRoaXMuX2NvZGVNaXJyb3Iub24oImNoYW5nZSIsIHRoaXMuX2NoYW5nZS5i
aW5kKHRoaXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0
LnFyYwppbmRleCA4YzA0YzQxYTlhOWFmM2IxMzFiODkzNDhkYTcxNDk3NjJjYWEzZDI0Li40OTlk
ZWU0YTYxMDUyMzcyNTk1OWZlNzc3NDE4ZDBmYTFkMDQ0ZDhlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC00MSw2ICs0MSw3IEBACiAgICAg
PGZpbGU+Y20vY29kZW1pcnJvci5qczwvZmlsZT4KICAgICA8ZmlsZT5jbS9jc3MuanM8L2ZpbGU+
CiAgICAgPGZpbGU+Y20vaHRtbG1peGVkLmpzPC9maWxlPgorICAgIDxmaWxlPmNtL21hdGNoYnJh
Y2tldHMuanM8L2ZpbGU+CiAgICAgPGZpbGU+Y20vamF2YXNjcmlwdC5qczwvZmlsZT4KICAgICA8
ZmlsZT5jbS94bWwuanM8L2ZpbGU+CiAgICAgPGZpbGU+RGF0YWJhc2UuanM8L2ZpbGU+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2NtL2NtZGV2dG9vbHMu
Y3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9jbS9jbWRldnRvb2xzLmNz
cwppbmRleCAxMDJjZGRiNjZkMmIxOTA0MjZjOWIyN2Y4NGJjNGM2ZmRjMDg3Y2Q5Li40NjE2MTc3
ZDI0MDA2MjJmYjQ3OGYxMWFjZDg0NDQ1ZThjNWZhYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2NtL2NtZGV2dG9vbHMuY3NzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvY20vY21kZXZ0b29scy5jc3MKQEAgLTMxLDkgKzMx
LDIwIEBACiAuY20tYnJlYWtwb2ludC1kaXNhYmxlZCB7CiAgIG9wYWNpdHk6IDAuNTsKIH0KKwor
LkNvZGVNaXJyb3ItbWF0Y2hpbmdicmFja2V0IHsKKyAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxp
bmU7CisgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OworfQorCisuQ29kZU1pcnJvci1ub25tYXRj
aGluZ2JyYWNrZXQgeworICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsKK30KKwogLmNtLWJyZWFr
cG9pbnQtY29uZGl0aW9uYWwgewogICAtd2Via2l0LWJvcmRlci1pbWFnZTogdXJsKEltYWdlcy9i
cmVha3BvaW50Q29uZGl0aW9uYWxCb3JkZXIucG5nKSAxIDE0IDEgMjsKIH0KKwogLmNtLWV4ZWN1
dGlvbi1saW5lIHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTcxLCAxOTEsIDI1NCkgIWlt
cG9ydGFudDsKICAgICBvdXRsaW5lOiAxcHggc29saWQgcmdiKDY0LCAxMTUsIDI0NCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2NtL21hdGNoYnJhY2tl
dHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2NtL21hdGNoYnJhY2tl
dHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjQ5MjViNzI1NjVhNGQ2NWFiZGE2YmEzMDAwZTVkNDc2ZjFhNTI4
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Y20vbWF0Y2hicmFja2V0cy5qcwpAQCAtMCwwICsxLDc0IEBACisoZnVuY3Rpb24oKSB7CisgIHZh
ciBpZV9sdDggPSAvTVNJRSBcZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJgorICAgIChk
b2N1bWVudC5kb2N1bWVudE1vZGUgPT0gbnVsbCB8fCBkb2N1bWVudC5kb2N1bWVudE1vZGUgPCA4
KTsKKworICB2YXIgUG9zID0gQ29kZU1pcnJvci5Qb3M7CisgIC8vIERpc2FibGUgYnJhY2UgbWF0
Y2hpbmcgaW4gbG9uZyBsaW5lcywgc2luY2UgaXQnbGwgY2F1c2UgaHVnZWx5IHNsb3cgdXBkYXRl
cyAgCisgIHZhciBtYXhMaW5lTGVuID0gMTAwMDsKKworICB2YXIgbWF0Y2hpbmcgPSB7IigiOiAi
KT4iLCAiKSI6ICIoPCIsICJbIjogIl0+IiwgIl0iOiAiWzwiLCAieyI6ICJ9PiIsICJ9IjogIns8
In07CisgIGZ1bmN0aW9uIGZpbmRNYXRjaGluZ0JyYWNrZXQoY20pIHsKKyAgICB2YXIgY3VyID0g
Y20uZ2V0Q3Vyc29yKCksIGxpbmUgPSBjbS5nZXRMaW5lSGFuZGxlKGN1ci5saW5lKSwgcG9zID0g
Y3VyLmNoIC0gMTsKKyAgICB2YXIgbWF0Y2ggPSAocG9zID49IDAgJiYgbWF0Y2hpbmdbbGluZS50
ZXh0LmNoYXJBdChwb3MpXSkgfHwgbWF0Y2hpbmdbbGluZS50ZXh0LmNoYXJBdCgrK3BvcyldOwor
ICAgIGlmICghbWF0Y2gpIHJldHVybiBudWxsOworICAgIHZhciBmb3J3YXJkID0gbWF0Y2guY2hh
ckF0KDEpID09ICI+IiwgZCA9IGZvcndhcmQgPyAxIDogLTE7CisgICAgdmFyIHN0eWxlID0gY20u
Z2V0VG9rZW5BdChQb3MoY3VyLmxpbmUsIHBvcyArIDEpKS50eXBlOworCisgICAgdmFyIHN0YWNr
ID0gW2xpbmUudGV4dC5jaGFyQXQocG9zKV0sIHJlID0gL1soKXt9W1xdXS87CisgICAgZnVuY3Rp
b24gc2NhbihsaW5lLCBsaW5lTm8sIHN0YXJ0KSB7CisgICAgICBpZiAoIWxpbmUudGV4dCkgcmV0
dXJuOworICAgICAgdmFyIHBvcyA9IGZvcndhcmQgPyAwIDogbGluZS50ZXh0Lmxlbmd0aCAtIDEs
IGVuZCA9IGZvcndhcmQgPyBsaW5lLnRleHQubGVuZ3RoIDogLTE7CisgICAgICBpZiAoc3RhcnQg
IT0gbnVsbCkgcG9zID0gc3RhcnQgKyBkOworICAgICAgZm9yICg7IHBvcyAhPSBlbmQ7IHBvcyAr
PSBkKSB7CisgICAgICAgIHZhciBjaCA9IGxpbmUudGV4dC5jaGFyQXQocG9zKTsKKyAgICAgICAg
aWYgKHJlLnRlc3QoY2gpICYmIGNtLmdldFRva2VuQXQoUG9zKGxpbmVObywgcG9zICsgMSkpLnR5
cGUgPT0gc3R5bGUpIHsKKyAgICAgICAgICB2YXIgbWF0Y2ggPSBtYXRjaGluZ1tjaF07CisgICAg
ICAgICAgaWYgKG1hdGNoLmNoYXJBdCgxKSA9PSAiPiIgPT0gZm9yd2FyZCkgc3RhY2sucHVzaChj
aCk7CisgICAgICAgICAgZWxzZSBpZiAoc3RhY2sucG9wKCkgIT0gbWF0Y2guY2hhckF0KDApKSBy
ZXR1cm4ge3BvczogcG9zLCBtYXRjaDogZmFsc2V9OworICAgICAgICAgIGVsc2UgaWYgKCFzdGFj
ay5sZW5ndGgpIHJldHVybiB7cG9zOiBwb3MsIG1hdGNoOiB0cnVlfTsKKyAgICAgICAgfQorICAg
ICAgfQorICAgIH0KKyAgICBmb3IgKHZhciBpID0gY3VyLmxpbmUsIGZvdW5kLCBlID0gZm9yd2Fy
ZCA/IE1hdGgubWluKGkgKyAxMDAsIGNtLmxpbmVDb3VudCgpKSA6IE1hdGgubWF4KC0xLCBpIC0g
MTAwKTsgaSAhPSBlOyBpKz1kKSB7CisgICAgICBpZiAoaSA9PSBjdXIubGluZSkgZm91bmQgPSBz
Y2FuKGxpbmUsIGksIHBvcyk7CisgICAgICBlbHNlIGZvdW5kID0gc2NhbihjbS5nZXRMaW5lSGFu
ZGxlKGkpLCBpKTsKKyAgICAgIGlmIChmb3VuZCkgYnJlYWs7CisgICAgfQorICAgIHJldHVybiB7
ZnJvbTogUG9zKGN1ci5saW5lLCBwb3MpLCB0bzogZm91bmQgJiYgUG9zKGksIGZvdW5kLnBvcyks
IG1hdGNoOiBmb3VuZCAmJiBmb3VuZC5tYXRjaH07CisgIH0KKworICBmdW5jdGlvbiBtYXRjaEJy
YWNrZXRzKGNtLCBhdXRvY2xlYXIpIHsKKyAgICB2YXIgZm91bmQgPSBmaW5kTWF0Y2hpbmdCcmFj
a2V0KGNtKTsKKyAgICBpZiAoIWZvdW5kIHx8IGNtLmdldExpbmUoZm91bmQuZnJvbS5saW5lKS5s
ZW5ndGggPiBtYXhMaW5lTGVuIHx8CisgICAgICAgZm91bmQudG8gJiYgY20uZ2V0TGluZShmb3Vu
ZC50by5saW5lKS5sZW5ndGggPiBtYXhMaW5lTGVuKQorICAgICAgcmV0dXJuOworCisgICAgdmFy
IHN0eWxlID0gZm91bmQubWF0Y2ggPyAiQ29kZU1pcnJvci1tYXRjaGluZ2JyYWNrZXQiIDogIkNv
ZGVNaXJyb3Itbm9ubWF0Y2hpbmdicmFja2V0IjsKKyAgICB2YXIgb25lID0gY20ubWFya1RleHQo
Zm91bmQuZnJvbSwgUG9zKGZvdW5kLmZyb20ubGluZSwgZm91bmQuZnJvbS5jaCArIDEpLCB7Y2xh
c3NOYW1lOiBzdHlsZX0pOworICAgIHZhciB0d28gPSBmb3VuZC50byAmJiBjbS5tYXJrVGV4dChm
b3VuZC50bywgUG9zKGZvdW5kLnRvLmxpbmUsIGZvdW5kLnRvLmNoICsgMSksIHtjbGFzc05hbWU6
IHN0eWxlfSk7CisgICAgLy8gS2x1ZGdlIHRvIHdvcmsgYXJvdW5kIHRoZSBJRSBidWcgZnJvbSBp
c3N1ZSAjMTE5Mywgd2hlcmUgdGV4dAorICAgIC8vIGlucHV0IHN0b3BzIGdvaW5nIHRvIHRoZSB0
ZXh0YXJlIHdoZXZlciB0aGlzIGZpcmVzLgorICAgIGlmIChpZV9sdDggJiYgY20uc3RhdGUuZm9j
dXNlZCkgY20uZGlzcGxheS5pbnB1dC5mb2N1cygpOworICAgIHZhciBjbGVhciA9IGZ1bmN0aW9u
KCkgeworICAgICAgY20ub3BlcmF0aW9uKGZ1bmN0aW9uKCkgeyBvbmUuY2xlYXIoKTsgdHdvICYm
IHR3by5jbGVhcigpOyB9KTsKKyAgICB9OworICAgIGlmIChhdXRvY2xlYXIpIHNldFRpbWVvdXQo
Y2xlYXIsIDgwMCk7CisgICAgZWxzZSByZXR1cm4gY2xlYXI7CisgIH0KKworICB2YXIgY3VycmVu
dGx5SGlnaGxpZ2h0ZWQgPSBudWxsOworICBmdW5jdGlvbiBkb01hdGNoQnJhY2tldHMoY20pIHsK
KyAgICBjbS5vcGVyYXRpb24oZnVuY3Rpb24oKSB7CisgICAgICBpZiAoY3VycmVudGx5SGlnaGxp
Z2h0ZWQpIHtjdXJyZW50bHlIaWdobGlnaHRlZCgpOyBjdXJyZW50bHlIaWdobGlnaHRlZCA9IG51
bGw7fQorICAgICAgaWYgKCFjbS5zb21ldGhpbmdTZWxlY3RlZCgpKSBjdXJyZW50bHlIaWdobGln
aHRlZCA9IG1hdGNoQnJhY2tldHMoY20sIGZhbHNlKTsKKyAgICB9KTsKKyAgfQorCisgIENvZGVN
aXJyb3IuZGVmaW5lT3B0aW9uKCJtYXRjaEJyYWNrZXRzIiwgZmFsc2UsIGZ1bmN0aW9uKGNtLCB2
YWwpIHsKKyAgICBpZiAodmFsKSBjbS5vbigiY3Vyc29yQWN0aXZpdHkiLCBkb01hdGNoQnJhY2tl
dHMpOworICAgIGVsc2UgY20ub2ZmKCJjdXJzb3JBY3Rpdml0eSIsIGRvTWF0Y2hCcmFja2V0cyk7
CisgIH0pOworCisgIENvZGVNaXJyb3IuZGVmaW5lRXh0ZW5zaW9uKCJtYXRjaEJyYWNrZXRzIiwg
ZnVuY3Rpb24oKSB7bWF0Y2hCcmFja2V0cyh0aGlzLCB0cnVlKTt9KTsKKyAgQ29kZU1pcnJvci5k
ZWZpbmVFeHRlbnNpb24oImZpbmRNYXRjaGluZ0JyYWNrZXQiLCBmdW5jdGlvbigpe3JldHVybiBm
aW5kTWF0Y2hpbmdCcmFja2V0KHRoaXMpO30pOworfSkoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>192512</attachid>
            <date>2013-03-11 11:07:02 -0700</date>
            <delta_ts>2013-03-11 11:07:02 -0700</delta_ts>
            <desc>highlight matching braces</desc>
            <filename>cm-highlight-braces.png</filename>
            <type>image/png</type>
            <size>1840</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">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
8P4PIAAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192674</attachid>
            <date>2013-03-12 02:12:15 -0700</date>
            <delta_ts>2013-03-12 04:21:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112041-20130312130814.patch</filename>
            <type>text/plain</type>
            <size>10086</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYxMDI2MWM3ZWU4ZTNj
YmEwNjMwYmQyYWQ3MjNiYzU4NjFhYzcwOC4uZTZmNTc4YWVkODg2NzRkOTI2ZTIxYTY4NWFjZWM4
NjA0YzNkZTcyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTExICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBbQ29kZU1pcnJvcl0gaGlnaGxpZ2h0IG1hdGNoaW5nIGJyYWNlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMDQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkICJtYXRjaGJyYWNrZXRz
IiBhZGQtb24gdG8gQ29kZU1pcnJvciB0ZXh0IGVkaXRvciBhZGQgb3ZlcnJpZGUKKyAgICAgICAg
ZGVmYXVsdCBzdHlsZXMgZm9yIG1hdGNoZWQgYW5kIHVubWF0Y2hlZCBicmFjZXMuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29kZU1pcnJvclRleHRF
ZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRleHRFZGl0b3IpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2NtL2NtZGV2dG9vbHMuY3NzOgorICAgICAgICAoLkNvZGVNaXJyb3It
bWF0Y2hpbmdicmFja2V0KToKKyAgICAgICAgKC5Db2RlTWlycm9yLW5vbm1hdGNoaW5nYnJhY2tl
dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9jbS9tYXRjaGJyYWNrZXRzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKC4pOgorCiAyMDEzLTAzLTExICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IFByb3RlY3QgYWdhaW5zdCBrZXkg
cHJlZml4IG92ZXJmbG93cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDk4ZDNhZWZmMTg4ZmZjMTMyYTIz
Mjg4YTdmNmYxZDBlZjE2YWY4NDcuLmEzMmM1MDdiYzI1YTUxZGZiZDgzZjg2ZDdhMjg5NjI2NjA4
ZTM5MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTU1ODMsNiArNTU4Myw3IEBACiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9jbS9jb2RlbWlycm9yLmpzJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvZnJvbnQtZW5kL2NtL2Nzcy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9jbS9odG1sbWl4ZWQuanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1l
bmQvY20vbWF0Y2hicmFja2V0cy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9jbS9qYXZhc2NyaXB0LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL2Nt
L3htbC5qcycsCiAgICAgICAgIF0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCmluZGV4IGM2NGJlYTk2NjIwODk3YWJlNTE3MmZmM2U2ZjNiM2NmNjJhMTA3
OGQuLmJjM2ZhYWQ2YTg0MmNjNzRmNDA4NjNmY2U0NmYyNmJhODRmNzYwNWUgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC03NzM3MCw2ICs3NzM3
MCwxMCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxjbVxtYXRjaGJyYWNrZXRzLmpzIgorCQkJCQk+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZy
b250LWVuZFxJbWFnZVZpZXcuanMiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBlYzQ4MjE3OTNhMzUy
ZDNlOTYzMmEyMWQ4MzYzZjNjM2I4MTM3ZDE4Li40OTVhOTllNjIyZDY4NWExNDdiMzIxOTk3YzFl
MTQ0OGYyMDlmZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2oKQEAgLTEwOTgwLDYgKzEwOTgwLDcgQEAKICAgICA8Tm9uZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcZnJvbnQtZW5kXGhlbHBTY3JlZW4uY3NzIiAvPgogICAgIDxOb25lIEluY2x1
ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcSGVscFNjcmVlbi5qcyIgLz4KICAgICA8Tm9uZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXGNtXGh0bWxtaXhlZC5qcyIgLz4KKyAgICA8
Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXGNtXG1hdGNoYnJhY2tldHMuanMi
IC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxJbWFnZVZpZXcu
anMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxJbmRleGVk
REJNb2RlbC5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5k
XGluZGV4ZWREQlZpZXdzLmNzcyIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA2YmNmNjQ5YmE0NmEyYTc2
NWQxZThiMGU5NzcyZDBlNjQ5M2VjZWJkLi5jYWU0MmNmMzYwOGViNWFjNDQ5ZjExNzAyODZmZTc0
YjRkMzM5MGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC0xNDcwNyw2ICsxNDcwNyw5IEBACiAgICAgPE5v
bmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxjbVxodG1sbWl4ZWQuanMiPgogICAg
ICAgPEZpbHRlcj5pbnNwZWN0b3JcZnJvbnQtZW5kPC9GaWx0ZXI+CiAgICAgPC9Ob25lPgorICAg
IDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcY21cbWF0Y2hicmFja2V0cy5q
cyI+CisgICAgICA8RmlsdGVyPmluc3BlY3Rvclxmcm9udC1lbmQ8L0ZpbHRlcj4KKyAgICA8L05v
bmU+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxJbWFnZVZpZXcu
anMiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3JcZnJvbnQtZW5kPC9GaWx0ZXI+CiAgICAgPC9O
b25lPgpAQCAtMTUyOTQsNCArMTUyOTcsNCBAQAogICAgICAgPEZpbHRlcj5yZW5kZXJpbmc8L0Zp
bHRlcj4KICAgICA8L0N1c3RvbUJ1aWxkU3RlcD4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2RlTWlycm9yVGV4dEVkaXRvci5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29kZU1pcnJvclRleHRFZGl0b3Iu
anMKaW5kZXggYjUxNGZiNDhjMGYxYzllNTM1ODE3NGIyNDRmYjQ4N2Q0MjdhMGM0OS4uOTkwNTk1
MzI1OGRmMmY0NzE1OTAwYTg2MTA1YzFjNGMxZjA5ZjEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2RlTWlycm9yVGV4dEVkaXRvci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvZGVNaXJyb3JUZXh0RWRpdG9yLmpz
CkBAIC0zMyw2ICszMyw3IEBAIGltcG9ydFNjcmlwdCgiY20vY3NzLmpzIik7CiBpbXBvcnRTY3Jp
cHQoImNtL2phdmFzY3JpcHQuanMiKTsKIGltcG9ydFNjcmlwdCgiY20veG1sLmpzIik7CiBpbXBv
cnRTY3JpcHQoImNtL2h0bWxtaXhlZC5qcyIpOworaW1wb3J0U2NyaXB0KCJjbS9tYXRjaGJyYWNr
ZXRzLmpzIik7CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC01Miw3ICs1Myw4IEBAIFdlYklu
c3BlY3Rvci5Db2RlTWlycm9yVGV4dEVkaXRvciA9IGZ1bmN0aW9uKHVybCwgZGVsZWdhdGUpCiAK
ICAgICB0aGlzLl9jb2RlTWlycm9yID0gd2luZG93LkNvZGVNaXJyb3IodGhpcy5lbGVtZW50LCB7
CiAgICAgICAgIGxpbmVOdW1iZXJzOiB0cnVlLAotICAgICAgICBndXR0ZXJzOiBbIkNvZGVNaXJy
b3ItbGluZW51bWJlcnMiLCAiYnJlYWtwb2ludHMiXQorICAgICAgICBndXR0ZXJzOiBbIkNvZGVN
aXJyb3ItbGluZW51bWJlcnMiLCAiYnJlYWtwb2ludHMiXSwKKyAgICAgICAgbWF0Y2hCcmFja2V0
czogdHJ1ZQogICAgIH0pOwogCiAgICAgdmFyIGluZGVudCA9IFdlYkluc3BlY3Rvci5zZXR0aW5n
cy50ZXh0RWRpdG9ySW5kZW50LmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9XZWJLaXQucXJjCmluZGV4IDhjMDRjNDFhOWE5YWYzYjEzMWI4OTM0OGRhNzE0OTc2
MmNhYTNkMjQuLjQ5OWRlZTRhNjEwNTIzNzI1OTU5ZmU3Nzc0MThkMGZhMWQwNDRkOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKQEAgLTQxLDYg
KzQxLDcgQEAKICAgICA8ZmlsZT5jbS9jb2RlbWlycm9yLmpzPC9maWxlPgogICAgIDxmaWxlPmNt
L2Nzcy5qczwvZmlsZT4KICAgICA8ZmlsZT5jbS9odG1sbWl4ZWQuanM8L2ZpbGU+CisgICAgPGZp
bGU+Y20vbWF0Y2hicmFja2V0cy5qczwvZmlsZT4KICAgICA8ZmlsZT5jbS9qYXZhc2NyaXB0Lmpz
PC9maWxlPgogICAgIDxmaWxlPmNtL3htbC5qczwvZmlsZT4KICAgICA8ZmlsZT5EYXRhYmFzZS5q
czwvZmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Y20vY21kZXZ0b29scy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2Nt
L2NtZGV2dG9vbHMuY3NzCmluZGV4IDIzYzcwMjg4MTViM2RmZmY5MTA5MzBiZTc2NTJlOWVhMzQy
MmRkMzguLjNkY2E1OTM3M2QyNzAwNTM4MzgxMjI3YzMwYTc5YjI1NmEzMTY0ZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvY20vY21kZXZ0b29scy5jc3MK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9jbS9jbWRldnRvb2xzLmNz
cwpAQCAtMzEsOSArMzEsMjAgQEAKIC5jbS1icmVha3BvaW50LWRpc2FibGVkIHsKICAgb3BhY2l0
eTogMC41OwogfQorCisuQ29kZU1pcnJvci1tYXRjaGluZ2JyYWNrZXQgeworICBib3JkZXItYm90
dG9tOiAxcHggc29saWQgYmxhY2s7CisgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OworfQorCisu
Q29kZU1pcnJvci1ub25tYXRjaGluZ2JyYWNrZXQgeworICBjb2xvcjogYmxhY2sgIWltcG9ydGFu
dDsKK30KKwogLmNtLWJyZWFrcG9pbnQtY29uZGl0aW9uYWwgewogICAtd2Via2l0LWJvcmRlci1p
bWFnZTogdXJsKEltYWdlcy9icmVha3BvaW50Q29uZGl0aW9uYWxCb3JkZXIucG5nKSAxIDE0IDEg
MjsKIH0KKwogLmNtLWV4ZWN1dGlvbi1saW5lIHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io
MTcxLCAxOTEsIDI1NCkgIWltcG9ydGFudDsKICAgICBvdXRsaW5lOiAxcHggc29saWQgcmdiKDY0
LCAxMTUsIDI0NCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2NtL21hdGNoYnJhY2tldHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2NtL21hdGNoYnJhY2tldHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQ5MjViNzI1NjVhNGQ2NWFiZGE2
YmEzMDAwZTVkNDc2ZjFhNTI4ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvY20vbWF0Y2hicmFja2V0cy5qcwpAQCAtMCwwICsxLDc0IEBACiso
ZnVuY3Rpb24oKSB7CisgIHZhciBpZV9sdDggPSAvTVNJRSBcZC8udGVzdChuYXZpZ2F0b3IudXNl
ckFnZW50KSAmJgorICAgIChkb2N1bWVudC5kb2N1bWVudE1vZGUgPT0gbnVsbCB8fCBkb2N1bWVu
dC5kb2N1bWVudE1vZGUgPCA4KTsKKworICB2YXIgUG9zID0gQ29kZU1pcnJvci5Qb3M7CisgIC8v
IERpc2FibGUgYnJhY2UgbWF0Y2hpbmcgaW4gbG9uZyBsaW5lcywgc2luY2UgaXQnbGwgY2F1c2Ug
aHVnZWx5IHNsb3cgdXBkYXRlcyAgCisgIHZhciBtYXhMaW5lTGVuID0gMTAwMDsKKworICB2YXIg
bWF0Y2hpbmcgPSB7IigiOiAiKT4iLCAiKSI6ICIoPCIsICJbIjogIl0+IiwgIl0iOiAiWzwiLCAi
eyI6ICJ9PiIsICJ9IjogIns8In07CisgIGZ1bmN0aW9uIGZpbmRNYXRjaGluZ0JyYWNrZXQoY20p
IHsKKyAgICB2YXIgY3VyID0gY20uZ2V0Q3Vyc29yKCksIGxpbmUgPSBjbS5nZXRMaW5lSGFuZGxl
KGN1ci5saW5lKSwgcG9zID0gY3VyLmNoIC0gMTsKKyAgICB2YXIgbWF0Y2ggPSAocG9zID49IDAg
JiYgbWF0Y2hpbmdbbGluZS50ZXh0LmNoYXJBdChwb3MpXSkgfHwgbWF0Y2hpbmdbbGluZS50ZXh0
LmNoYXJBdCgrK3BvcyldOworICAgIGlmICghbWF0Y2gpIHJldHVybiBudWxsOworICAgIHZhciBm
b3J3YXJkID0gbWF0Y2guY2hhckF0KDEpID09ICI+IiwgZCA9IGZvcndhcmQgPyAxIDogLTE7Cisg
ICAgdmFyIHN0eWxlID0gY20uZ2V0VG9rZW5BdChQb3MoY3VyLmxpbmUsIHBvcyArIDEpKS50eXBl
OworCisgICAgdmFyIHN0YWNrID0gW2xpbmUudGV4dC5jaGFyQXQocG9zKV0sIHJlID0gL1soKXt9
W1xdXS87CisgICAgZnVuY3Rpb24gc2NhbihsaW5lLCBsaW5lTm8sIHN0YXJ0KSB7CisgICAgICBp
ZiAoIWxpbmUudGV4dCkgcmV0dXJuOworICAgICAgdmFyIHBvcyA9IGZvcndhcmQgPyAwIDogbGlu
ZS50ZXh0Lmxlbmd0aCAtIDEsIGVuZCA9IGZvcndhcmQgPyBsaW5lLnRleHQubGVuZ3RoIDogLTE7
CisgICAgICBpZiAoc3RhcnQgIT0gbnVsbCkgcG9zID0gc3RhcnQgKyBkOworICAgICAgZm9yICg7
IHBvcyAhPSBlbmQ7IHBvcyArPSBkKSB7CisgICAgICAgIHZhciBjaCA9IGxpbmUudGV4dC5jaGFy
QXQocG9zKTsKKyAgICAgICAgaWYgKHJlLnRlc3QoY2gpICYmIGNtLmdldFRva2VuQXQoUG9zKGxp
bmVObywgcG9zICsgMSkpLnR5cGUgPT0gc3R5bGUpIHsKKyAgICAgICAgICB2YXIgbWF0Y2ggPSBt
YXRjaGluZ1tjaF07CisgICAgICAgICAgaWYgKG1hdGNoLmNoYXJBdCgxKSA9PSAiPiIgPT0gZm9y
d2FyZCkgc3RhY2sucHVzaChjaCk7CisgICAgICAgICAgZWxzZSBpZiAoc3RhY2sucG9wKCkgIT0g
bWF0Y2guY2hhckF0KDApKSByZXR1cm4ge3BvczogcG9zLCBtYXRjaDogZmFsc2V9OworICAgICAg
ICAgIGVsc2UgaWYgKCFzdGFjay5sZW5ndGgpIHJldHVybiB7cG9zOiBwb3MsIG1hdGNoOiB0cnVl
fTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgICBmb3IgKHZhciBpID0gY3VyLmxpbmUs
IGZvdW5kLCBlID0gZm9yd2FyZCA/IE1hdGgubWluKGkgKyAxMDAsIGNtLmxpbmVDb3VudCgpKSA6
IE1hdGgubWF4KC0xLCBpIC0gMTAwKTsgaSAhPSBlOyBpKz1kKSB7CisgICAgICBpZiAoaSA9PSBj
dXIubGluZSkgZm91bmQgPSBzY2FuKGxpbmUsIGksIHBvcyk7CisgICAgICBlbHNlIGZvdW5kID0g
c2NhbihjbS5nZXRMaW5lSGFuZGxlKGkpLCBpKTsKKyAgICAgIGlmIChmb3VuZCkgYnJlYWs7Cisg
ICAgfQorICAgIHJldHVybiB7ZnJvbTogUG9zKGN1ci5saW5lLCBwb3MpLCB0bzogZm91bmQgJiYg
UG9zKGksIGZvdW5kLnBvcyksIG1hdGNoOiBmb3VuZCAmJiBmb3VuZC5tYXRjaH07CisgIH0KKwor
ICBmdW5jdGlvbiBtYXRjaEJyYWNrZXRzKGNtLCBhdXRvY2xlYXIpIHsKKyAgICB2YXIgZm91bmQg
PSBmaW5kTWF0Y2hpbmdCcmFja2V0KGNtKTsKKyAgICBpZiAoIWZvdW5kIHx8IGNtLmdldExpbmUo
Zm91bmQuZnJvbS5saW5lKS5sZW5ndGggPiBtYXhMaW5lTGVuIHx8CisgICAgICAgZm91bmQudG8g
JiYgY20uZ2V0TGluZShmb3VuZC50by5saW5lKS5sZW5ndGggPiBtYXhMaW5lTGVuKQorICAgICAg
cmV0dXJuOworCisgICAgdmFyIHN0eWxlID0gZm91bmQubWF0Y2ggPyAiQ29kZU1pcnJvci1tYXRj
aGluZ2JyYWNrZXQiIDogIkNvZGVNaXJyb3Itbm9ubWF0Y2hpbmdicmFja2V0IjsKKyAgICB2YXIg
b25lID0gY20ubWFya1RleHQoZm91bmQuZnJvbSwgUG9zKGZvdW5kLmZyb20ubGluZSwgZm91bmQu
ZnJvbS5jaCArIDEpLCB7Y2xhc3NOYW1lOiBzdHlsZX0pOworICAgIHZhciB0d28gPSBmb3VuZC50
byAmJiBjbS5tYXJrVGV4dChmb3VuZC50bywgUG9zKGZvdW5kLnRvLmxpbmUsIGZvdW5kLnRvLmNo
ICsgMSksIHtjbGFzc05hbWU6IHN0eWxlfSk7CisgICAgLy8gS2x1ZGdlIHRvIHdvcmsgYXJvdW5k
IHRoZSBJRSBidWcgZnJvbSBpc3N1ZSAjMTE5Mywgd2hlcmUgdGV4dAorICAgIC8vIGlucHV0IHN0
b3BzIGdvaW5nIHRvIHRoZSB0ZXh0YXJlIHdoZXZlciB0aGlzIGZpcmVzLgorICAgIGlmIChpZV9s
dDggJiYgY20uc3RhdGUuZm9jdXNlZCkgY20uZGlzcGxheS5pbnB1dC5mb2N1cygpOworICAgIHZh
ciBjbGVhciA9IGZ1bmN0aW9uKCkgeworICAgICAgY20ub3BlcmF0aW9uKGZ1bmN0aW9uKCkgeyBv
bmUuY2xlYXIoKTsgdHdvICYmIHR3by5jbGVhcigpOyB9KTsKKyAgICB9OworICAgIGlmIChhdXRv
Y2xlYXIpIHNldFRpbWVvdXQoY2xlYXIsIDgwMCk7CisgICAgZWxzZSByZXR1cm4gY2xlYXI7Cisg
IH0KKworICB2YXIgY3VycmVudGx5SGlnaGxpZ2h0ZWQgPSBudWxsOworICBmdW5jdGlvbiBkb01h
dGNoQnJhY2tldHMoY20pIHsKKyAgICBjbS5vcGVyYXRpb24oZnVuY3Rpb24oKSB7CisgICAgICBp
ZiAoY3VycmVudGx5SGlnaGxpZ2h0ZWQpIHtjdXJyZW50bHlIaWdobGlnaHRlZCgpOyBjdXJyZW50
bHlIaWdobGlnaHRlZCA9IG51bGw7fQorICAgICAgaWYgKCFjbS5zb21ldGhpbmdTZWxlY3RlZCgp
KSBjdXJyZW50bHlIaWdobGlnaHRlZCA9IG1hdGNoQnJhY2tldHMoY20sIGZhbHNlKTsKKyAgICB9
KTsKKyAgfQorCisgIENvZGVNaXJyb3IuZGVmaW5lT3B0aW9uKCJtYXRjaEJyYWNrZXRzIiwgZmFs
c2UsIGZ1bmN0aW9uKGNtLCB2YWwpIHsKKyAgICBpZiAodmFsKSBjbS5vbigiY3Vyc29yQWN0aXZp
dHkiLCBkb01hdGNoQnJhY2tldHMpOworICAgIGVsc2UgY20ub2ZmKCJjdXJzb3JBY3Rpdml0eSIs
IGRvTWF0Y2hCcmFja2V0cyk7CisgIH0pOworCisgIENvZGVNaXJyb3IuZGVmaW5lRXh0ZW5zaW9u
KCJtYXRjaEJyYWNrZXRzIiwgZnVuY3Rpb24oKSB7bWF0Y2hCcmFja2V0cyh0aGlzLCB0cnVlKTt9
KTsKKyAgQ29kZU1pcnJvci5kZWZpbmVFeHRlbnNpb24oImZpbmRNYXRjaGluZ0JyYWNrZXQiLCBm
dW5jdGlvbigpe3JldHVybiBmaW5kTWF0Y2hpbmdCcmFja2V0KHRoaXMpO30pOworfSkoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>192675</attachid>
            <date>2013-03-12 02:12:35 -0700</date>
            <delta_ts>2013-03-12 02:12:35 -0700</delta_ts>
            <desc>border bottom to decorate matching brackets</desc>
            <filename>cm-match-brackets-border-bottom.png</filename>
            <type>image/png</type>
            <size>1736</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">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
9zgQmfkf+H86qTbhb+4AAAAASUVORK5CYII=
</data>

          </attachment>
      

    </bug>

</bugzilla>