<?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>57538</bug_id>
          
          <creation_ts>2011-03-31 04:49:30 -0700</creation_ts>
          <short_desc>Web Inspector: CSS domain - make a &quot;range&quot; object, get rid of &quot;properties&quot; object for Style objects</short_desc>
          <delta_ts>2011-03-31 09:00:08 -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="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</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>377060</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-03-31 04:49:30 -0700</bug_when>
    <thetext>&quot;startOffset&quot;/&quot;endOffset&quot; should reside in a separate &quot;range&quot; object, and the &quot;properties&quot; object (for the CSS style) should go away (width/height get inlined into the CSS style object).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377083</commentid>
    <comment_count>1</comment_count>
      <attachid>87706</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-03-31 05:44:14 -0700</bug_when>
    <thetext>Created attachment 87706
[PATCH] Suggested solution</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377084</commentid>
    <comment_count>2</comment_count>
      <attachid>87707</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-03-31 05:46:20 -0700</bug_when>
    <thetext>Created attachment 87707
[</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377085</commentid>
    <comment_count>3</comment_count>
      <attachid>87708</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-03-31 05:47:11 -0700</bug_when>
    <thetext>Created attachment 87708
[PATCH] Remove inadvertently added blank line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377121</commentid>
    <comment_count>4</comment_count>
      <attachid>87708</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-03-31 06:57:51 -0700</bug_when>
    <thetext>Comment on attachment 87708
[PATCH] Remove inadvertently added blank line

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

&gt; LayoutTests/inspector/styles/styles-source-offsets.html:12
&gt; +    function rangeText(range)

Can you move this method into a common file for inspector CSS tests?

&gt; LayoutTests/inspector/styles/styles-source-offsets.html:33
&gt; +        InspectorTest.addResult(header + &quot; [&quot; + style.range.start  + &quot;-&quot; + style.range.end + &quot;]&quot;);

Please use rangeText instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377170</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-31 08:28:03 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82578 might have broken GTK Linux 32-bit Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377195</commentid>
    <comment_count>6</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-03-31 09:00:08 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	M	LayoutTests/http/tests/inspector/elements-test.js
	M	LayoutTests/inspector/styles/get-set-stylesheet-text.html
	M	LayoutTests/inspector/styles/styles-new-API.html
	M	LayoutTests/inspector/styles/styles-source-offsets.html
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/inspector/InspectorStyleSheet.cpp
	M	Source/WebCore/inspector/front-end/AuditRules.js
	M	Source/WebCore/inspector/front-end/CSSStyleModel.js
Committed r82578</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87706</attachid>
            <date>2011-03-31 05:44:14 -0700</date>
            <delta_ts>2011-03-31 05:47:11 -0700</delta_ts>
            <desc>[PATCH] Suggested solution</desc>
            <filename>rangeobject.patch</filename>
            <type>text/plain</type>
            <size>11116</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGQxYjIxMjZmNDZmMWVkMDIyMTYzMDNkZjEyZTViOGUyZjlmZGFkNTUKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBUaHUgTWFyIDMx
IDE2OjMzOjAzIDIwMTEgKzA0MDAKCiAgICBGaXgKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWQ4MWUwYS4uZjg3ZmU1YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAzLTMxICBBbGV4YW5kZXIgUGF2bG92ICA8YXBh
dmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ1NTIGRvbWFpbiAtIG1ha2UgYSAicmFuZ2UiIG9i
amVjdCwgZ2V0IHJpZCBvZiAicHJvcGVydGllcyIgb2JqZWN0IGZvciBTdHlsZSBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzUzOAorCisg
ICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5odG1sOgor
ICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1BUEkuaHRtbDoKKyAgICAgICAg
KiBpbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1zb3VyY2Utb2Zmc2V0cy5odG1sOgorCiAyMDExLTAz
LTMxICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJlbW92ZSBzdGFsZSBjaHJvbWl1bS1ncHUgY2FudmFzIGV4cGVjdGF0aW9u
cyAoc2VlIHI4MjUyMSkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L2dldC1zZXQtc3R5bGVzaGVldC10ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5
bGVzL2dldC1zZXQtc3R5bGVzaGVldC10ZXh0Lmh0bWwKaW5kZXggZWNmYzRlNS4uYWIyYjM3YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hl
ZXQtdGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvZ2V0LXNldC1z
dHlsZXNoZWV0LXRleHQuaHRtbApAQCAtODcsNiArODcsMTMgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgICAgICBkdW1wUnVsZU9yU3R5bGUocnVsZXNbaV0pOwogICAgIH0KIAorICAgIGZ1bmN0
aW9uIHJhbmdlVGV4dChyYW5nZSkKKyAgICB7CisgICAgICAgIGlmICghcmFuZ2UpCisgICAgICAg
ICAgICByZXR1cm4gIlt1bmRlZmluZWQtdW5kZWZpbmVkXSI7CisgICAgICAgIHJldHVybiAiWyIg
KyByYW5nZS5zdGFydCArICItIiArIHJhbmdlLmVuZCArICJdIjsKKyAgICB9CisKICAgICBmdW5j
dGlvbiBkdW1wUnVsZU9yU3R5bGUocnVsZU9yU3R5bGUpCiAgICAgewogICAgICAgICBpZiAoIXJ1
bGVPclN0eWxlKQpAQCAtOTksNyArMTA2LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgc3R5bGUuY3NzUHJvcGVydGllcy5sZW5ndGg7ICsraSkgewogICAg
ICAgICAgICAgdmFyIHByb3BlcnR5ID0gc3R5bGUuY3NzUHJvcGVydGllc1tpXTsKICAgICAgICAg
ICAgIGlmIChwcm9wZXJ0eS5zdGF0dXMgIT09ICJkaXNhYmxlZCIpCi0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlsnIiArIHByb3BlcnR5Lm5hbWUgKyAiJzonIiArIHBy
b3BlcnR5LnZhbHVlICsgIiciICsgKHByb3BlcnR5LnByaW9yaXR5ID09PSAiaW1wb3J0YW50IiA/
ICIgaXMtaW1wb3J0YW50IiA6ICIiKSArICgoInBhcnNlZE9rIiBpbiBwcm9wZXJ0eSkgPyAiIG5v
bi1wYXJzZWQiIDogIiIpICsiXSBAWyIgKyBwcm9wZXJ0eS5zdGFydE9mZnNldCArICItIiArIHBy
b3BlcnR5LmVuZE9mZnNldCArICJdICIgKyAocHJvcGVydHkuc3RhdHVzIHx8ICJzdHlsZSIpKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiWyciICsgcHJvcGVydHku
bmFtZSArICInOiciICsgcHJvcGVydHkudmFsdWUgKyAiJyIgKyAocHJvcGVydHkucHJpb3JpdHkg
PT09ICJpbXBvcnRhbnQiID8gIiBpcy1pbXBvcnRhbnQiIDogIiIpICsgKCgicGFyc2VkT2siIGlu
IHByb3BlcnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEAiICsgcmFuZ2VUZXh0KHByb3Bl
cnR5LnJhbmdlKSArICIgIiArIChwcm9wZXJ0eS5zdGF0dXMgfHwgInN0eWxlIikpOwogICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbdGV4
dD0nIiArIHByb3BlcnR5LnRleHQgKyAiJ10gIiArIHByb3BlcnR5LnN0YXR1cyk7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1B
UEkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1BUEkuaHRt
bAppbmRleCAzZDJhYmZhLi4xOWU4ZDk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3N0eWxlcy1uZXctQVBJLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3N0eWxlcy9zdHlsZXMtbmV3LUFQSS5odG1sCkBAIC0yNzUsNiArMjc1LDEzIEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAgICAgZHVtcFJ1bGVPclN0eWxlKHJ1bGVzW2ldKTsKICAgICB9CiAK
KyAgICBmdW5jdGlvbiByYW5nZVRleHQocmFuZ2UpCisgICAgeworICAgICAgICBpZiAoIXJhbmdl
KQorICAgICAgICAgICAgcmV0dXJuICJbdW5kZWZpbmVkLXVuZGVmaW5lZF0iOworICAgICAgICBy
ZXR1cm4gIlsiICsgcmFuZ2Uuc3RhcnQgKyAiLSIgKyByYW5nZS5lbmQgKyAiXSI7CisgICAgfQor
CiAgICAgZnVuY3Rpb24gZHVtcFJ1bGVPclN0eWxlKHJ1bGVPclN0eWxlKQogICAgIHsKICAgICAg
ICAgaWYgKCFydWxlT3JTdHlsZSkKQEAgLTI4Nyw3ICsyOTQsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZS5jc3NQcm9wZXJ0aWVzLmxlbmd0aDsg
KytpKSB7CiAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBzdHlsZS5jc3NQcm9wZXJ0aWVzW2ld
OwogICAgICAgICAgICAgaWYgKHByb3BlcnR5LnN0YXR1cyAhPT0gImRpc2FibGVkIikKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiWyciICsgcHJvcGVydHkubmFtZSAr
ICInOiciICsgcHJvcGVydHkudmFsdWUgKyAiJyIgKyAocHJvcGVydHkucHJpb3JpdHkgPT09ICJp
bXBvcnRhbnQiID8gIiBpcy1pbXBvcnRhbnQiIDogIiIpICsgKCgicGFyc2VkT2siIGluIHByb3Bl
cnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEBbIiArIHByb3BlcnR5LnN0YXJ0T2Zmc2V0
ICsgIi0iICsgcHJvcGVydHkuZW5kT2Zmc2V0ICsgIl0gIiArIChwcm9wZXJ0eS5zdGF0dXMgfHwg
InN0eWxlIikpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbJyIg
KyBwcm9wZXJ0eS5uYW1lICsgIic6JyIgKyBwcm9wZXJ0eS52YWx1ZSArICInIiArIChwcm9wZXJ0
eS5wcmlvcml0eSA9PT0gImltcG9ydGFudCIgPyAiIGlzLWltcG9ydGFudCIgOiAiIikgKyAoKCJw
YXJzZWRPayIgaW4gcHJvcGVydHkpID8gIiBub24tcGFyc2VkIiA6ICIiKSArIl0gQCIgKyByYW5n
ZVRleHQocHJvcGVydHkucmFuZ2UpICsgIiAiICsgKHByb3BlcnR5LnN0YXR1cyB8fCAic3R5bGUi
KSk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlt0ZXh0PSciICsgcHJvcGVydHkudGV4dCArICInXSAiICsgcHJvcGVydHkuc3RhdHVz
KTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9z
dHlsZXMtc291cmNlLW9mZnNldHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
c3R5bGVzLXNvdXJjZS1vZmZzZXRzLmh0bWwKaW5kZXggZDg5ZDM3NC4uZmFmMjZlYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtc291cmNlLW9mZnNldHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1zb3VyY2Utb2Zm
c2V0cy5odG1sCkBAIC05LDYgKzksMTMgQEAKIAogZnVuY3Rpb24gdGVzdCgpCiB7CisgICAgZnVu
Y3Rpb24gcmFuZ2VUZXh0KHJhbmdlKQorICAgIHsKKyAgICAgICAgaWYgKCFyYW5nZSkKKyAgICAg
ICAgICAgIHJldHVybiAiW3VuZGVmaW5lZC11bmRlZmluZWRdIjsKKyAgICAgICAgcmV0dXJuICJb
IiArIHJhbmdlLnN0YXJ0ICsgIi0iICsgcmFuZ2UuZW5kICsgIl0iOworICAgIH0KKwogICAgIGZ1
bmN0aW9uIGR1bXBTdHlsZURhdGEocnVsZU9yU3R5bGUpCiAgICAgewogICAgICAgICB2YXIgaXNS
dWxlID0gISEocnVsZU9yU3R5bGUuc3R5bGUpOwpAQCAtMjMsMTMgKzMwLDEzIEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAgICAgc3R5bGUgPSBydWxlT3JTdHlsZTsKICAgICAgICAgICAgIGhl
YWRlciA9ICJlbGVtZW50LnN0eWxlOiI7CiAgICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoaGVhZGVyICsgIiBbIiArIHN0eWxlLnByb3BlcnRpZXMuc3RhcnRPZmZzZXQg
ICsgIi0iICsgc3R5bGUucHJvcGVydGllcy5lbmRPZmZzZXQgKyAiXSIpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdChoZWFkZXIgKyAiIFsiICsgc3R5bGUucmFuZ2Uuc3RhcnQgICsg
Ii0iICsgc3R5bGUucmFuZ2UuZW5kICsgIl0iKTsKICAgICAgICAgdmFyIGFsbFByb3BlcnRpZXMg
PSBzdHlsZS5jc3NQcm9wZXJ0aWVzOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbFBy
b3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IGFsbFBy
b3BlcnRpZXNbaV07CiAgICAgICAgICAgICBpZiAoIXByb3BlcnR5LnN0YXR1cykKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJb
JyIgKyBwcm9wZXJ0eS5uYW1lICsgIic6JyIgKyBwcm9wZXJ0eS52YWx1ZSArICInIiArIChwcm9w
ZXJ0eS5wcmlvcml0eSA/ICIgIWltcG9ydGFudCIgOiAiIikgKyAoKCJwYXJzZWRPayIgaW4gcHJv
cGVydHkpID8gIiBub24tcGFyc2VkIiA6ICIiKSArIl0gQFsiICsgcHJvcGVydHkuc3RhcnRPZmZz
ZXQgKyAiLSIgKyBwcm9wZXJ0eS5lbmRPZmZzZXQgKyAiXSIpOworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlsnIiArIHByb3BlcnR5Lm5hbWUgKyAiJzonIiArIHByb3BlcnR5
LnZhbHVlICsgIiciICsgKHByb3BlcnR5LnByaW9yaXR5ID8gIiAhaW1wb3J0YW50IiA6ICIiKSAr
ICgoInBhcnNlZE9rIiBpbiBwcm9wZXJ0eSkgPyAiIG5vbi1wYXJzZWQiIDogIiIpICsiXSBAIiAr
IHJhbmdlVGV4dChwcm9wZXJ0eS5yYW5nZSkpOwogICAgICAgICB9CiAgICAgfQogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDAwODUxYjYuLjRmNWM1Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxMS0wMy0zMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IENTUyBkb21haW4gLSBtYWtlIGEgInJhbmdlIiBvYmplY3QsIGdldCByaWQgb2YgInByb3Bl
cnRpZXMiIG9iamVjdCBmb3IgU3R5bGUgb2JqZWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1MzgKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkU291cmNlUmFuZ2VP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5bGU6OmJ1aWxkT2JqZWN0Rm9y
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5bGU6OnBvcHVsYXRlT2JqZWN0
V2l0aFN0eWxlUHJvcGVydGllcyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRp
dFJ1bGVzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuVW51c2VkQ3NzUnVs
ZS5wcm90b3R5cGUuZG9SdW4uZXZhbENhbGxiYWNrLnNlbGVjdG9yc0NhbGxiYWNrKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbik6CisKIDIwMTEtMDMtMzEgIEphZWh1biBMaW0g
IDxsamFlaHVuLmxpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZp
eC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNo
ZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNw
cAppbmRleCA1ZTY3M2E4Li5jNDFmZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCkBAIC0xMDAsOCArMTAwLDE3IEBAIFJlZlB0cjxX
ZWJDb3JlOjpDU1NSdWxlU291cmNlRGF0YT4gUGFyc2VkU3R5bGVTaGVldDo6cnVsZVNvdXJjZURh
dGFBdCh1bnNpZ25lZCBpCiAgICAgcmV0dXJuIG1fc291cmNlRGF0YS0+YXQoaW5kZXgpOwogfQog
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KGNvbnN0IFNvdXJjZVJhbmdlJiByYW5nZSkKK3sK
KyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXN1bHQgPSBJbnNwZWN0b3JPYmplY3Q6OmNy
ZWF0ZSgpOworICAgIHJlc3VsdC0+c2V0TnVtYmVyKCJzdGFydCIsIHJhbmdlLnN0YXJ0KTsKKyAg
ICByZXN1bHQtPnNldE51bWJlcigiZW5kIiwgcmFuZ2UuZW5kKTsKKyAgICByZXR1cm4gcmVzdWx0
LnJlbGVhc2UoKTsKK30KKwogc3RhdGljIFBhc3NSZWZQdHI8Q1NTUnVsZUxpc3Q+IGFzQ1NTUnVs
ZUxpc3QoU3R5bGVCYXNlKiBzdHlsZUJhc2UpCiB7CiAgICAgaWYgKCFzdHlsZUJhc2UpCkBAIC0x
NTQsMTYgKzE2MywxMiBAQCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gSW5zcGVjdG9yU3R5
bGU6OmJ1aWxkT2JqZWN0Rm9yU3R5bGUoKSBjb25zdAogICAgIGlmICghbV9zdHlsZUlkLmlzRW1w
dHkoKSkKICAgICAgICAgcmVzdWx0LT5zZXRWYWx1ZSgic3R5bGVJZCIsIG1fc3R5bGVJZC5hc0lu
c3BlY3RvclZhbHVlKCkpOwogCi0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcHJvcGVydGll
c09iamVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgcHJvcGVydGllc09iamVj
dC0+c2V0U3RyaW5nKCJ3aWR0aCIsIG1fc3R5bGUtPmdldFByb3BlcnR5VmFsdWUoIndpZHRoIikp
OwotICAgIHByb3BlcnRpZXNPYmplY3QtPnNldFN0cmluZygiaGVpZ2h0IiwgbV9zdHlsZS0+Z2V0
UHJvcGVydHlWYWx1ZSgiaGVpZ2h0IikpOworICAgIHJlc3VsdC0+c2V0U3RyaW5nKCJ3aWR0aCIs
IG1fc3R5bGUtPmdldFByb3BlcnR5VmFsdWUoIndpZHRoIikpOworICAgIHJlc3VsdC0+c2V0U3Ry
aW5nKCJoZWlnaHQiLCBtX3N0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKCJoZWlnaHQiKSk7CiAKICAg
ICBSZWZQdHI8Q1NTUnVsZVNvdXJjZURhdGE+IHNvdXJjZURhdGEgPSBtX3BhcmVudFN0eWxlU2hl
ZXQgPyBtX3BhcmVudFN0eWxlU2hlZXQtPnJ1bGVTb3VyY2VEYXRhRm9yKG1fc3R5bGUuZ2V0KCkp
IDogMDsKLSAgICBpZiAoc291cmNlRGF0YSkgewotICAgICAgICBwcm9wZXJ0aWVzT2JqZWN0LT5z
ZXROdW1iZXIoInN0YXJ0T2Zmc2V0Iiwgc291cmNlRGF0YS0+c3R5bGVTb3VyY2VEYXRhLT5zdHls
ZUJvZHlSYW5nZS5zdGFydCk7Ci0gICAgICAgIHByb3BlcnRpZXNPYmplY3QtPnNldE51bWJlcigi
ZW5kT2Zmc2V0Iiwgc291cmNlRGF0YS0+c3R5bGVTb3VyY2VEYXRhLT5zdHlsZUJvZHlSYW5nZS5l
bmQpOwotICAgIH0KLSAgICByZXN1bHQtPnNldE9iamVjdCgicHJvcGVydGllcyIsIHByb3BlcnRp
ZXNPYmplY3QpOworICAgIGlmIChzb3VyY2VEYXRhKQorICAgICAgICByZXN1bHQtPnNldE9iamVj
dCgicmFuZ2UiLCBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KHNvdXJjZURhdGEtPnN0eWxlU291cmNl
RGF0YS0+c3R5bGVCb2R5UmFuZ2UpKTsKIAogICAgIHBvcHVsYXRlT2JqZWN0V2l0aFN0eWxlUHJv
cGVydGllcyhyZXN1bHQuZ2V0KCkpOwogCkBAIC00NjYsOCArNDcxLDcgQEAgdm9pZCBJbnNwZWN0
b3JTdHlsZTo6cG9wdWxhdGVPYmplY3RXaXRoU3R5bGVQcm9wZXJ0aWVzKEluc3BlY3Rvck9iamVj
dCogcmVzdWx0KQogICAgICAgICBpZiAoIWl0LT5kaXNhYmxlZCkgewogICAgICAgICAgICAgaWYg
KGl0LT5oYXNTb3VyY2UpIHsKICAgICAgICAgICAgICAgICBwcm9wZXJ0eS0+c2V0Qm9vbGVhbigi
aW1wbGljaXQiLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgcHJvcGVydHktPnNldE51bWJlcigi
c3RhcnRPZmZzZXQiLCBwcm9wZXJ0eUVudHJ5LnJhbmdlLnN0YXJ0KTsKLSAgICAgICAgICAgICAg
ICBwcm9wZXJ0eS0+c2V0TnVtYmVyKCJlbmRPZmZzZXQiLCBwcm9wZXJ0eUVudHJ5LnJhbmdlLmVu
ZCk7CisgICAgICAgICAgICAgICAgcHJvcGVydHktPnNldE9iamVjdCgicmFuZ2UiLCBidWlsZFNv
dXJjZVJhbmdlT2JqZWN0KHByb3BlcnR5RW50cnkucmFuZ2UpKTsKIAogICAgICAgICAgICAgICAg
IC8vIFBhcnNlZCBwcm9wZXJ0eSBvdmVycmlkZXMgYW55IHByb3BlcnR5IHdpdGggdGhlIHNhbWUg
bmFtZS4gTm9uLXBhcnNlZCBwcm9wZXJ0eSBvdmVycmlkZXMKICAgICAgICAgICAgICAgICAvLyBw
cmV2aW91cyBub24tcGFyc2VkIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSAoaWYgYW55KS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxl
cy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcwpp
bmRleCBkZGFiMWRmLi42YzllNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzCkBAIC0zMjIsNyArMzIyLDcgQEAgV2ViSW5zcGVjdG9y
LkF1ZGl0UnVsZXMuVW51c2VkQ3NzUnVsZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAg
ICAgIGZvciAodmFyIGN1clJ1bGUgPSAwOyBjdXJSdWxlIDwgc3R5bGVTaGVldC5ydWxlcy5sZW5n
dGg7ICsrY3VyUnVsZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJ1bGUgPSBzdHls
ZVNoZWV0LnJ1bGVzW2N1clJ1bGVdOwogICAgICAgICAgICAgICAgICAgICAgICAgLy8gRXhhY3Qg
Y29tcHV0YXRpb24gd2hlbmV2ZXIgc291cmNlIHJhbmdlcyBhcmUgYXZhaWxhYmxlLgotICAgICAg
ICAgICAgICAgICAgICAgICAgdmFyIHRleHRMZW5ndGggPSAocnVsZS5zZWxlY3RvclJhbmdlICYm
IHJ1bGUuc3R5bGUucHJvcGVydGllcy5lbmRPZmZzZXQpID8gcnVsZS5zdHlsZS5wcm9wZXJ0aWVz
LmVuZE9mZnNldCAtIHJ1bGUuc2VsZWN0b3JSYW5nZS5zdGFydCArIDEgOiAwOworICAgICAgICAg
ICAgICAgICAgICAgICAgdmFyIHRleHRMZW5ndGggPSAocnVsZS5zZWxlY3RvclJhbmdlICYmIHJ1
bGUuc3R5bGUucmFuZ2UgJiYgcnVsZS5zdHlsZS5yYW5nZS5lbmQpID8gcnVsZS5zdHlsZS5yYW5n
ZS5lbmQgLSBydWxlLnNlbGVjdG9yUmFuZ2Uuc3RhcnQgKyAxIDogMDsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICghdGV4dExlbmd0aCAmJiBydWxlLnN0eWxlLmNzc1RleHQpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGV4dExlbmd0aCA9IHJ1bGUuc3R5bGUuY3NzVGV4dC5sZW5n
dGggKyBydWxlLnNlbGVjdG9yVGV4dC5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgICAgICBz
dHlsZXNoZWV0U2l6ZSArPSB0ZXh0TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCmluZGV4IGQ4NWEyMWQuLjA2ZDk2YTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVN
b2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxl
TW9kZWwuanMKQEAgLTE5Niw3ICsxOTYsOSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5w
cm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CiBXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGZ1bmN0aW9uKHBheWxvYWQpCiB7CiAgICAg
dGhpcy5pZCA9IHBheWxvYWQuc3R5bGVJZDsKLSAgICB0aGlzLnByb3BlcnRpZXMgPSBwYXlsb2Fk
LnByb3BlcnRpZXM7CisgICAgdGhpcy53aWR0aCA9IHBheWxvYWQud2lkdGg7CisgICAgdGhpcy5o
ZWlnaHQgPSBwYXlsb2FkLmhlaWdodDsKKyAgICB0aGlzLnJhbmdlID0gcGF5bG9hZC5yYW5nZTsK
ICAgICB0aGlzLl9zaG9ydGhhbmRWYWx1ZXMgPSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJh
dGlvbi5idWlsZFNob3J0aGFuZFZhbHVlTWFwKHBheWxvYWQuc2hvcnRoYW5kRW50cmllcyk7CiAg
ICAgdGhpcy5fbGl2ZVByb3BlcnR5TWFwID0ge307IC8vIExJVkUgcHJvcGVydGllcyAoc291cmNl
LWJhc2VkIG9yIHN0eWxlLWJhc2VkKSA6IHsgbmFtZSAtPiBDU1NQcm9wZXJ0eSB9CiAgICAgdGhp
cy5fYWxsUHJvcGVydGllcyA9IFtdOyAvLyBBTEwgcHJvcGVydGllczogWyBDU1NQcm9wZXJ0eSBd
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87707</attachid>
            <date>2011-03-31 05:46:20 -0700</date>
            <delta_ts>2011-03-31 05:47:11 -0700</delta_ts>
            <desc>[</desc>
            <filename>rangeobject.patch</filename>
            <type>text/plain</type>
            <size>11074</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGVhNGNhODA0YmRmZDg3ZmViNDRjZGFhODBmN2QwODc0Y2JlZDY2NTYKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBUaHUgTWFyIDMx
IDE2OjMzOjAzIDIwMTEgKzA0MDAKCiAgICBGaXgKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWQ4MWUwYS4uZjg3ZmU1YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAzLTMxICBBbGV4YW5kZXIgUGF2bG92ICA8YXBh
dmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ1NTIGRvbWFpbiAtIG1ha2UgYSAicmFuZ2UiIG9i
amVjdCwgZ2V0IHJpZCBvZiAicHJvcGVydGllcyIgb2JqZWN0IGZvciBTdHlsZSBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzUzOAorCisg
ICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5odG1sOgor
ICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1BUEkuaHRtbDoKKyAgICAgICAg
KiBpbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1zb3VyY2Utb2Zmc2V0cy5odG1sOgorCiAyMDExLTAz
LTMxICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJlbW92ZSBzdGFsZSBjaHJvbWl1bS1ncHUgY2FudmFzIGV4cGVjdGF0aW9u
cyAoc2VlIHI4MjUyMSkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L2dldC1zZXQtc3R5bGVzaGVldC10ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5
bGVzL2dldC1zZXQtc3R5bGVzaGVldC10ZXh0Lmh0bWwKaW5kZXggZWNmYzRlNS4uYWIyYjM3YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hl
ZXQtdGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvZ2V0LXNldC1z
dHlsZXNoZWV0LXRleHQuaHRtbApAQCAtODcsNiArODcsMTMgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgICAgICBkdW1wUnVsZU9yU3R5bGUocnVsZXNbaV0pOwogICAgIH0KIAorICAgIGZ1bmN0
aW9uIHJhbmdlVGV4dChyYW5nZSkKKyAgICB7CisgICAgICAgIGlmICghcmFuZ2UpCisgICAgICAg
ICAgICByZXR1cm4gIlt1bmRlZmluZWQtdW5kZWZpbmVkXSI7CisgICAgICAgIHJldHVybiAiWyIg
KyByYW5nZS5zdGFydCArICItIiArIHJhbmdlLmVuZCArICJdIjsKKyAgICB9CisKICAgICBmdW5j
dGlvbiBkdW1wUnVsZU9yU3R5bGUocnVsZU9yU3R5bGUpCiAgICAgewogICAgICAgICBpZiAoIXJ1
bGVPclN0eWxlKQpAQCAtOTksNyArMTA2LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgc3R5bGUuY3NzUHJvcGVydGllcy5sZW5ndGg7ICsraSkgewogICAg
ICAgICAgICAgdmFyIHByb3BlcnR5ID0gc3R5bGUuY3NzUHJvcGVydGllc1tpXTsKICAgICAgICAg
ICAgIGlmIChwcm9wZXJ0eS5zdGF0dXMgIT09ICJkaXNhYmxlZCIpCi0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlsnIiArIHByb3BlcnR5Lm5hbWUgKyAiJzonIiArIHBy
b3BlcnR5LnZhbHVlICsgIiciICsgKHByb3BlcnR5LnByaW9yaXR5ID09PSAiaW1wb3J0YW50IiA/
ICIgaXMtaW1wb3J0YW50IiA6ICIiKSArICgoInBhcnNlZE9rIiBpbiBwcm9wZXJ0eSkgPyAiIG5v
bi1wYXJzZWQiIDogIiIpICsiXSBAWyIgKyBwcm9wZXJ0eS5zdGFydE9mZnNldCArICItIiArIHBy
b3BlcnR5LmVuZE9mZnNldCArICJdICIgKyAocHJvcGVydHkuc3RhdHVzIHx8ICJzdHlsZSIpKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiWyciICsgcHJvcGVydHku
bmFtZSArICInOiciICsgcHJvcGVydHkudmFsdWUgKyAiJyIgKyAocHJvcGVydHkucHJpb3JpdHkg
PT09ICJpbXBvcnRhbnQiID8gIiBpcy1pbXBvcnRhbnQiIDogIiIpICsgKCgicGFyc2VkT2siIGlu
IHByb3BlcnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEAiICsgcmFuZ2VUZXh0KHByb3Bl
cnR5LnJhbmdlKSArICIgIiArIChwcm9wZXJ0eS5zdGF0dXMgfHwgInN0eWxlIikpOwogICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbdGV4
dD0nIiArIHByb3BlcnR5LnRleHQgKyAiJ10gIiArIHByb3BlcnR5LnN0YXR1cyk7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1B
UEkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1BUEkuaHRt
bAppbmRleCAzZDJhYmZhLi4xOWU4ZDk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3N0eWxlcy1uZXctQVBJLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3N0eWxlcy9zdHlsZXMtbmV3LUFQSS5odG1sCkBAIC0yNzUsNiArMjc1LDEzIEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAgICAgZHVtcFJ1bGVPclN0eWxlKHJ1bGVzW2ldKTsKICAgICB9CiAK
KyAgICBmdW5jdGlvbiByYW5nZVRleHQocmFuZ2UpCisgICAgeworICAgICAgICBpZiAoIXJhbmdl
KQorICAgICAgICAgICAgcmV0dXJuICJbdW5kZWZpbmVkLXVuZGVmaW5lZF0iOworICAgICAgICBy
ZXR1cm4gIlsiICsgcmFuZ2Uuc3RhcnQgKyAiLSIgKyByYW5nZS5lbmQgKyAiXSI7CisgICAgfQor
CiAgICAgZnVuY3Rpb24gZHVtcFJ1bGVPclN0eWxlKHJ1bGVPclN0eWxlKQogICAgIHsKICAgICAg
ICAgaWYgKCFydWxlT3JTdHlsZSkKQEAgLTI4Nyw3ICsyOTQsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZS5jc3NQcm9wZXJ0aWVzLmxlbmd0aDsg
KytpKSB7CiAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBzdHlsZS5jc3NQcm9wZXJ0aWVzW2ld
OwogICAgICAgICAgICAgaWYgKHByb3BlcnR5LnN0YXR1cyAhPT0gImRpc2FibGVkIikKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiWyciICsgcHJvcGVydHkubmFtZSAr
ICInOiciICsgcHJvcGVydHkudmFsdWUgKyAiJyIgKyAocHJvcGVydHkucHJpb3JpdHkgPT09ICJp
bXBvcnRhbnQiID8gIiBpcy1pbXBvcnRhbnQiIDogIiIpICsgKCgicGFyc2VkT2siIGluIHByb3Bl
cnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEBbIiArIHByb3BlcnR5LnN0YXJ0T2Zmc2V0
ICsgIi0iICsgcHJvcGVydHkuZW5kT2Zmc2V0ICsgIl0gIiArIChwcm9wZXJ0eS5zdGF0dXMgfHwg
InN0eWxlIikpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbJyIg
KyBwcm9wZXJ0eS5uYW1lICsgIic6JyIgKyBwcm9wZXJ0eS52YWx1ZSArICInIiArIChwcm9wZXJ0
eS5wcmlvcml0eSA9PT0gImltcG9ydGFudCIgPyAiIGlzLWltcG9ydGFudCIgOiAiIikgKyAoKCJw
YXJzZWRPayIgaW4gcHJvcGVydHkpID8gIiBub24tcGFyc2VkIiA6ICIiKSArIl0gQCIgKyByYW5n
ZVRleHQocHJvcGVydHkucmFuZ2UpICsgIiAiICsgKHByb3BlcnR5LnN0YXR1cyB8fCAic3R5bGUi
KSk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlt0ZXh0PSciICsgcHJvcGVydHkudGV4dCArICInXSAiICsgcHJvcGVydHkuc3RhdHVz
KTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9z
dHlsZXMtc291cmNlLW9mZnNldHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
c3R5bGVzLXNvdXJjZS1vZmZzZXRzLmh0bWwKaW5kZXggZDg5ZDM3NC4uZmFmMjZlYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtc291cmNlLW9mZnNldHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1zb3VyY2Utb2Zm
c2V0cy5odG1sCkBAIC05LDYgKzksMTMgQEAKIAogZnVuY3Rpb24gdGVzdCgpCiB7CisgICAgZnVu
Y3Rpb24gcmFuZ2VUZXh0KHJhbmdlKQorICAgIHsKKyAgICAgICAgaWYgKCFyYW5nZSkKKyAgICAg
ICAgICAgIHJldHVybiAiW3VuZGVmaW5lZC11bmRlZmluZWRdIjsKKyAgICAgICAgcmV0dXJuICJb
IiArIHJhbmdlLnN0YXJ0ICsgIi0iICsgcmFuZ2UuZW5kICsgIl0iOworICAgIH0KKwogICAgIGZ1
bmN0aW9uIGR1bXBTdHlsZURhdGEocnVsZU9yU3R5bGUpCiAgICAgewogICAgICAgICB2YXIgaXNS
dWxlID0gISEocnVsZU9yU3R5bGUuc3R5bGUpOwpAQCAtMjMsMTMgKzMwLDEzIEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAgICAgc3R5bGUgPSBydWxlT3JTdHlsZTsKICAgICAgICAgICAgIGhl
YWRlciA9ICJlbGVtZW50LnN0eWxlOiI7CiAgICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoaGVhZGVyICsgIiBbIiArIHN0eWxlLnByb3BlcnRpZXMuc3RhcnRPZmZzZXQg
ICsgIi0iICsgc3R5bGUucHJvcGVydGllcy5lbmRPZmZzZXQgKyAiXSIpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdChoZWFkZXIgKyAiIFsiICsgc3R5bGUucmFuZ2Uuc3RhcnQgICsg
Ii0iICsgc3R5bGUucmFuZ2UuZW5kICsgIl0iKTsKICAgICAgICAgdmFyIGFsbFByb3BlcnRpZXMg
PSBzdHlsZS5jc3NQcm9wZXJ0aWVzOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbFBy
b3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IGFsbFBy
b3BlcnRpZXNbaV07CiAgICAgICAgICAgICBpZiAoIXByb3BlcnR5LnN0YXR1cykKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJb
JyIgKyBwcm9wZXJ0eS5uYW1lICsgIic6JyIgKyBwcm9wZXJ0eS52YWx1ZSArICInIiArIChwcm9w
ZXJ0eS5wcmlvcml0eSA/ICIgIWltcG9ydGFudCIgOiAiIikgKyAoKCJwYXJzZWRPayIgaW4gcHJv
cGVydHkpID8gIiBub24tcGFyc2VkIiA6ICIiKSArIl0gQFsiICsgcHJvcGVydHkuc3RhcnRPZmZz
ZXQgKyAiLSIgKyBwcm9wZXJ0eS5lbmRPZmZzZXQgKyAiXSIpOworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlsnIiArIHByb3BlcnR5Lm5hbWUgKyAiJzonIiArIHByb3BlcnR5
LnZhbHVlICsgIiciICsgKHByb3BlcnR5LnByaW9yaXR5ID8gIiAhaW1wb3J0YW50IiA6ICIiKSAr
ICgoInBhcnNlZE9rIiBpbiBwcm9wZXJ0eSkgPyAiIG5vbi1wYXJzZWQiIDogIiIpICsiXSBAIiAr
IHJhbmdlVGV4dChwcm9wZXJ0eS5yYW5nZSkpOwogICAgICAgICB9CiAgICAgfQogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDAwODUxYjYuLjRmNWM1Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxMS0wMy0zMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IENTUyBkb21haW4gLSBtYWtlIGEgInJhbmdlIiBvYmplY3QsIGdldCByaWQgb2YgInByb3Bl
cnRpZXMiIG9iamVjdCBmb3IgU3R5bGUgb2JqZWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1MzgKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkU291cmNlUmFuZ2VP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5bGU6OmJ1aWxkT2JqZWN0Rm9y
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5bGU6OnBvcHVsYXRlT2JqZWN0
V2l0aFN0eWxlUHJvcGVydGllcyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRp
dFJ1bGVzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuVW51c2VkQ3NzUnVs
ZS5wcm90b3R5cGUuZG9SdW4uZXZhbENhbGxiYWNrLnNlbGVjdG9yc0NhbGxiYWNrKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbik6CisKIDIwMTEtMDMtMzEgIEphZWh1biBMaW0g
IDxsamFlaHVuLmxpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZp
eC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNo
ZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNw
cAppbmRleCA1ZTY3M2E4Li5kMmI1ZDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCkBAIC0xMDIsNiArMTAyLDE0IEBAIFJlZlB0cjxX
ZWJDb3JlOjpDU1NSdWxlU291cmNlRGF0YT4gUGFyc2VkU3R5bGVTaGVldDo6cnVsZVNvdXJjZURh
dGFBdCh1bnNpZ25lZCBpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KGNvbnN0IFNvdXJjZVJh
bmdlJiByYW5nZSkKK3sKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXN1bHQgPSBJbnNw
ZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIHJlc3VsdC0+c2V0TnVtYmVyKCJzdGFydCIsIHJh
bmdlLnN0YXJ0KTsKKyAgICByZXN1bHQtPnNldE51bWJlcigiZW5kIiwgcmFuZ2UuZW5kKTsKKyAg
ICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsKK30KKwogc3RhdGljIFBhc3NSZWZQdHI8Q1NTUnVs
ZUxpc3Q+IGFzQ1NTUnVsZUxpc3QoU3R5bGVCYXNlKiBzdHlsZUJhc2UpCiB7CiAgICAgaWYgKCFz
dHlsZUJhc2UpCkBAIC0xNTQsMTYgKzE2MiwxMiBAQCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gSW5zcGVjdG9yU3R5bGU6OmJ1aWxkT2JqZWN0Rm9yU3R5bGUoKSBjb25zdAogICAgIGlmICgh
bV9zdHlsZUlkLmlzRW1wdHkoKSkKICAgICAgICAgcmVzdWx0LT5zZXRWYWx1ZSgic3R5bGVJZCIs
IG1fc3R5bGVJZC5hc0luc3BlY3RvclZhbHVlKCkpOwogCi0gICAgUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4gcHJvcGVydGllc09iamVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAg
cHJvcGVydGllc09iamVjdC0+c2V0U3RyaW5nKCJ3aWR0aCIsIG1fc3R5bGUtPmdldFByb3BlcnR5
VmFsdWUoIndpZHRoIikpOwotICAgIHByb3BlcnRpZXNPYmplY3QtPnNldFN0cmluZygiaGVpZ2h0
IiwgbV9zdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZSgiaGVpZ2h0IikpOworICAgIHJlc3VsdC0+c2V0
U3RyaW5nKCJ3aWR0aCIsIG1fc3R5bGUtPmdldFByb3BlcnR5VmFsdWUoIndpZHRoIikpOworICAg
IHJlc3VsdC0+c2V0U3RyaW5nKCJoZWlnaHQiLCBtX3N0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKCJo
ZWlnaHQiKSk7CiAKICAgICBSZWZQdHI8Q1NTUnVsZVNvdXJjZURhdGE+IHNvdXJjZURhdGEgPSBt
X3BhcmVudFN0eWxlU2hlZXQgPyBtX3BhcmVudFN0eWxlU2hlZXQtPnJ1bGVTb3VyY2VEYXRhRm9y
KG1fc3R5bGUuZ2V0KCkpIDogMDsKLSAgICBpZiAoc291cmNlRGF0YSkgewotICAgICAgICBwcm9w
ZXJ0aWVzT2JqZWN0LT5zZXROdW1iZXIoInN0YXJ0T2Zmc2V0Iiwgc291cmNlRGF0YS0+c3R5bGVT
b3VyY2VEYXRhLT5zdHlsZUJvZHlSYW5nZS5zdGFydCk7Ci0gICAgICAgIHByb3BlcnRpZXNPYmpl
Y3QtPnNldE51bWJlcigiZW5kT2Zmc2V0Iiwgc291cmNlRGF0YS0+c3R5bGVTb3VyY2VEYXRhLT5z
dHlsZUJvZHlSYW5nZS5lbmQpOwotICAgIH0KLSAgICByZXN1bHQtPnNldE9iamVjdCgicHJvcGVy
dGllcyIsIHByb3BlcnRpZXNPYmplY3QpOworICAgIGlmIChzb3VyY2VEYXRhKQorICAgICAgICBy
ZXN1bHQtPnNldE9iamVjdCgicmFuZ2UiLCBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KHNvdXJjZURh
dGEtPnN0eWxlU291cmNlRGF0YS0+c3R5bGVCb2R5UmFuZ2UpKTsKIAogICAgIHBvcHVsYXRlT2Jq
ZWN0V2l0aFN0eWxlUHJvcGVydGllcyhyZXN1bHQuZ2V0KCkpOwogCkBAIC00NjYsOCArNDcwLDcg
QEAgdm9pZCBJbnNwZWN0b3JTdHlsZTo6cG9wdWxhdGVPYmplY3RXaXRoU3R5bGVQcm9wZXJ0aWVz
KEluc3BlY3Rvck9iamVjdCogcmVzdWx0KQogICAgICAgICBpZiAoIWl0LT5kaXNhYmxlZCkgewog
ICAgICAgICAgICAgaWYgKGl0LT5oYXNTb3VyY2UpIHsKICAgICAgICAgICAgICAgICBwcm9wZXJ0
eS0+c2V0Qm9vbGVhbigiaW1wbGljaXQiLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgcHJvcGVy
dHktPnNldE51bWJlcigic3RhcnRPZmZzZXQiLCBwcm9wZXJ0eUVudHJ5LnJhbmdlLnN0YXJ0KTsK
LSAgICAgICAgICAgICAgICBwcm9wZXJ0eS0+c2V0TnVtYmVyKCJlbmRPZmZzZXQiLCBwcm9wZXJ0
eUVudHJ5LnJhbmdlLmVuZCk7CisgICAgICAgICAgICAgICAgcHJvcGVydHktPnNldE9iamVjdCgi
cmFuZ2UiLCBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KHByb3BlcnR5RW50cnkucmFuZ2UpKTsKIAog
ICAgICAgICAgICAgICAgIC8vIFBhcnNlZCBwcm9wZXJ0eSBvdmVycmlkZXMgYW55IHByb3BlcnR5
IHdpdGggdGhlIHNhbWUgbmFtZS4gTm9uLXBhcnNlZCBwcm9wZXJ0eSBvdmVycmlkZXMKICAgICAg
ICAgICAgICAgICAvLyBwcmV2aW91cyBub24tcGFyc2VkIHByb3BlcnR5IHdpdGggdGhlIHNhbWUg
bmFtZSAoaWYgYW55KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQXVkaXRSdWxlcy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
QXVkaXRSdWxlcy5qcwppbmRleCBkZGFiMWRmLi42YzllNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzCkBAIC0zMjIsNyArMzIyLDcg
QEAgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuVW51c2VkQ3NzUnVsZS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGN1clJ1bGUgPSAwOyBjdXJSdWxlIDwgc3R5bGVT
aGVldC5ydWxlcy5sZW5ndGg7ICsrY3VyUnVsZSkgewogICAgICAgICAgICAgICAgICAgICAgICAg
dmFyIHJ1bGUgPSBzdHlsZVNoZWV0LnJ1bGVzW2N1clJ1bGVdOwogICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gRXhhY3QgY29tcHV0YXRpb24gd2hlbmV2ZXIgc291cmNlIHJhbmdlcyBhcmUgYXZh
aWxhYmxlLgotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRleHRMZW5ndGggPSAocnVsZS5z
ZWxlY3RvclJhbmdlICYmIHJ1bGUuc3R5bGUucHJvcGVydGllcy5lbmRPZmZzZXQpID8gcnVsZS5z
dHlsZS5wcm9wZXJ0aWVzLmVuZE9mZnNldCAtIHJ1bGUuc2VsZWN0b3JSYW5nZS5zdGFydCArIDEg
OiAwOworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRleHRMZW5ndGggPSAocnVsZS5zZWxl
Y3RvclJhbmdlICYmIHJ1bGUuc3R5bGUucmFuZ2UgJiYgcnVsZS5zdHlsZS5yYW5nZS5lbmQpID8g
cnVsZS5zdHlsZS5yYW5nZS5lbmQgLSBydWxlLnNlbGVjdG9yUmFuZ2Uuc3RhcnQgKyAxIDogMDsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGV4dExlbmd0aCAmJiBydWxlLnN0eWxlLmNz
c1RleHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dExlbmd0aCA9IHJ1bGUuc3R5
bGUuY3NzVGV4dC5sZW5ndGggKyBydWxlLnNlbGVjdG9yVGV4dC5sZW5ndGg7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBzdHlsZXNoZWV0U2l6ZSArPSB0ZXh0TGVuZ3RoOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCmluZGV4IGQ4
NWEyMWQuLjA2ZDk2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ1NTU3R5bGVNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU1N0eWxlTW9kZWwuanMKQEAgLTE5Niw3ICsxOTYsOSBAQCBXZWJJbnNwZWN0b3Iu
Q1NTU3R5bGVNb2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5w
cm90b3R5cGU7CiBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGZ1bmN0aW9uKHBh
eWxvYWQpCiB7CiAgICAgdGhpcy5pZCA9IHBheWxvYWQuc3R5bGVJZDsKLSAgICB0aGlzLnByb3Bl
cnRpZXMgPSBwYXlsb2FkLnByb3BlcnRpZXM7CisgICAgdGhpcy53aWR0aCA9IHBheWxvYWQud2lk
dGg7CisgICAgdGhpcy5oZWlnaHQgPSBwYXlsb2FkLmhlaWdodDsKKyAgICB0aGlzLnJhbmdlID0g
cGF5bG9hZC5yYW5nZTsKICAgICB0aGlzLl9zaG9ydGhhbmRWYWx1ZXMgPSBXZWJJbnNwZWN0b3Iu
Q1NTU3R5bGVEZWNsYXJhdGlvbi5idWlsZFNob3J0aGFuZFZhbHVlTWFwKHBheWxvYWQuc2hvcnRo
YW5kRW50cmllcyk7CiAgICAgdGhpcy5fbGl2ZVByb3BlcnR5TWFwID0ge307IC8vIExJVkUgcHJv
cGVydGllcyAoc291cmNlLWJhc2VkIG9yIHN0eWxlLWJhc2VkKSA6IHsgbmFtZSAtPiBDU1NQcm9w
ZXJ0eSB9CiAgICAgdGhpcy5fYWxsUHJvcGVydGllcyA9IFtdOyAvLyBBTEwgcHJvcGVydGllczog
WyBDU1NQcm9wZXJ0eSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87708</attachid>
            <date>2011-03-31 05:47:11 -0700</date>
            <delta_ts>2011-03-31 06:57:51 -0700</delta_ts>
            <desc>[PATCH] Remove inadvertently added blank line</desc>
            <filename>rangeobject.patch</filename>
            <type>text/plain</type>
            <size>11074</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGVhNGNhODA0YmRmZDg3ZmViNDRjZGFhODBmN2QwODc0Y2JlZDY2NTYKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBUaHUgTWFyIDMx
IDE2OjMzOjAzIDIwMTEgKzA0MDAKCiAgICBGaXgKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWQ4MWUwYS4uZjg3ZmU1YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAzLTMxICBBbGV4YW5kZXIgUGF2bG92ICA8YXBh
dmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ1NTIGRvbWFpbiAtIG1ha2UgYSAicmFuZ2UiIG9i
amVjdCwgZ2V0IHJpZCBvZiAicHJvcGVydGllcyIgb2JqZWN0IGZvciBTdHlsZSBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzUzOAorCisg
ICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5odG1sOgor
ICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1BUEkuaHRtbDoKKyAgICAgICAg
KiBpbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1zb3VyY2Utb2Zmc2V0cy5odG1sOgorCiAyMDExLTAz
LTMxICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJlbW92ZSBzdGFsZSBjaHJvbWl1bS1ncHUgY2FudmFzIGV4cGVjdGF0aW9u
cyAoc2VlIHI4MjUyMSkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L2dldC1zZXQtc3R5bGVzaGVldC10ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5
bGVzL2dldC1zZXQtc3R5bGVzaGVldC10ZXh0Lmh0bWwKaW5kZXggZWNmYzRlNS4uYWIyYjM3YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hl
ZXQtdGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvZ2V0LXNldC1z
dHlsZXNoZWV0LXRleHQuaHRtbApAQCAtODcsNiArODcsMTMgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgICAgICBkdW1wUnVsZU9yU3R5bGUocnVsZXNbaV0pOwogICAgIH0KIAorICAgIGZ1bmN0
aW9uIHJhbmdlVGV4dChyYW5nZSkKKyAgICB7CisgICAgICAgIGlmICghcmFuZ2UpCisgICAgICAg
ICAgICByZXR1cm4gIlt1bmRlZmluZWQtdW5kZWZpbmVkXSI7CisgICAgICAgIHJldHVybiAiWyIg
KyByYW5nZS5zdGFydCArICItIiArIHJhbmdlLmVuZCArICJdIjsKKyAgICB9CisKICAgICBmdW5j
dGlvbiBkdW1wUnVsZU9yU3R5bGUocnVsZU9yU3R5bGUpCiAgICAgewogICAgICAgICBpZiAoIXJ1
bGVPclN0eWxlKQpAQCAtOTksNyArMTA2LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgc3R5bGUuY3NzUHJvcGVydGllcy5sZW5ndGg7ICsraSkgewogICAg
ICAgICAgICAgdmFyIHByb3BlcnR5ID0gc3R5bGUuY3NzUHJvcGVydGllc1tpXTsKICAgICAgICAg
ICAgIGlmIChwcm9wZXJ0eS5zdGF0dXMgIT09ICJkaXNhYmxlZCIpCi0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlsnIiArIHByb3BlcnR5Lm5hbWUgKyAiJzonIiArIHBy
b3BlcnR5LnZhbHVlICsgIiciICsgKHByb3BlcnR5LnByaW9yaXR5ID09PSAiaW1wb3J0YW50IiA/
ICIgaXMtaW1wb3J0YW50IiA6ICIiKSArICgoInBhcnNlZE9rIiBpbiBwcm9wZXJ0eSkgPyAiIG5v
bi1wYXJzZWQiIDogIiIpICsiXSBAWyIgKyBwcm9wZXJ0eS5zdGFydE9mZnNldCArICItIiArIHBy
b3BlcnR5LmVuZE9mZnNldCArICJdICIgKyAocHJvcGVydHkuc3RhdHVzIHx8ICJzdHlsZSIpKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiWyciICsgcHJvcGVydHku
bmFtZSArICInOiciICsgcHJvcGVydHkudmFsdWUgKyAiJyIgKyAocHJvcGVydHkucHJpb3JpdHkg
PT09ICJpbXBvcnRhbnQiID8gIiBpcy1pbXBvcnRhbnQiIDogIiIpICsgKCgicGFyc2VkT2siIGlu
IHByb3BlcnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEAiICsgcmFuZ2VUZXh0KHByb3Bl
cnR5LnJhbmdlKSArICIgIiArIChwcm9wZXJ0eS5zdGF0dXMgfHwgInN0eWxlIikpOwogICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbdGV4
dD0nIiArIHByb3BlcnR5LnRleHQgKyAiJ10gIiArIHByb3BlcnR5LnN0YXR1cyk7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1B
UEkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLW5ldy1BUEkuaHRt
bAppbmRleCAzZDJhYmZhLi4xOWU4ZDk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3N0eWxlcy1uZXctQVBJLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3N0eWxlcy9zdHlsZXMtbmV3LUFQSS5odG1sCkBAIC0yNzUsNiArMjc1LDEzIEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAgICAgZHVtcFJ1bGVPclN0eWxlKHJ1bGVzW2ldKTsKICAgICB9CiAK
KyAgICBmdW5jdGlvbiByYW5nZVRleHQocmFuZ2UpCisgICAgeworICAgICAgICBpZiAoIXJhbmdl
KQorICAgICAgICAgICAgcmV0dXJuICJbdW5kZWZpbmVkLXVuZGVmaW5lZF0iOworICAgICAgICBy
ZXR1cm4gIlsiICsgcmFuZ2Uuc3RhcnQgKyAiLSIgKyByYW5nZS5lbmQgKyAiXSI7CisgICAgfQor
CiAgICAgZnVuY3Rpb24gZHVtcFJ1bGVPclN0eWxlKHJ1bGVPclN0eWxlKQogICAgIHsKICAgICAg
ICAgaWYgKCFydWxlT3JTdHlsZSkKQEAgLTI4Nyw3ICsyOTQsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZS5jc3NQcm9wZXJ0aWVzLmxlbmd0aDsg
KytpKSB7CiAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBzdHlsZS5jc3NQcm9wZXJ0aWVzW2ld
OwogICAgICAgICAgICAgaWYgKHByb3BlcnR5LnN0YXR1cyAhPT0gImRpc2FibGVkIikKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiWyciICsgcHJvcGVydHkubmFtZSAr
ICInOiciICsgcHJvcGVydHkudmFsdWUgKyAiJyIgKyAocHJvcGVydHkucHJpb3JpdHkgPT09ICJp
bXBvcnRhbnQiID8gIiBpcy1pbXBvcnRhbnQiIDogIiIpICsgKCgicGFyc2VkT2siIGluIHByb3Bl
cnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEBbIiArIHByb3BlcnR5LnN0YXJ0T2Zmc2V0
ICsgIi0iICsgcHJvcGVydHkuZW5kT2Zmc2V0ICsgIl0gIiArIChwcm9wZXJ0eS5zdGF0dXMgfHwg
InN0eWxlIikpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbJyIg
KyBwcm9wZXJ0eS5uYW1lICsgIic6JyIgKyBwcm9wZXJ0eS52YWx1ZSArICInIiArIChwcm9wZXJ0
eS5wcmlvcml0eSA9PT0gImltcG9ydGFudCIgPyAiIGlzLWltcG9ydGFudCIgOiAiIikgKyAoKCJw
YXJzZWRPayIgaW4gcHJvcGVydHkpID8gIiBub24tcGFyc2VkIiA6ICIiKSArIl0gQCIgKyByYW5n
ZVRleHQocHJvcGVydHkucmFuZ2UpICsgIiAiICsgKHByb3BlcnR5LnN0YXR1cyB8fCAic3R5bGUi
KSk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlt0ZXh0PSciICsgcHJvcGVydHkudGV4dCArICInXSAiICsgcHJvcGVydHkuc3RhdHVz
KTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9z
dHlsZXMtc291cmNlLW9mZnNldHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
c3R5bGVzLXNvdXJjZS1vZmZzZXRzLmh0bWwKaW5kZXggZDg5ZDM3NC4uZmFmMjZlYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtc291cmNlLW9mZnNldHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1zb3VyY2Utb2Zm
c2V0cy5odG1sCkBAIC05LDYgKzksMTMgQEAKIAogZnVuY3Rpb24gdGVzdCgpCiB7CisgICAgZnVu
Y3Rpb24gcmFuZ2VUZXh0KHJhbmdlKQorICAgIHsKKyAgICAgICAgaWYgKCFyYW5nZSkKKyAgICAg
ICAgICAgIHJldHVybiAiW3VuZGVmaW5lZC11bmRlZmluZWRdIjsKKyAgICAgICAgcmV0dXJuICJb
IiArIHJhbmdlLnN0YXJ0ICsgIi0iICsgcmFuZ2UuZW5kICsgIl0iOworICAgIH0KKwogICAgIGZ1
bmN0aW9uIGR1bXBTdHlsZURhdGEocnVsZU9yU3R5bGUpCiAgICAgewogICAgICAgICB2YXIgaXNS
dWxlID0gISEocnVsZU9yU3R5bGUuc3R5bGUpOwpAQCAtMjMsMTMgKzMwLDEzIEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAgICAgc3R5bGUgPSBydWxlT3JTdHlsZTsKICAgICAgICAgICAgIGhl
YWRlciA9ICJlbGVtZW50LnN0eWxlOiI7CiAgICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoaGVhZGVyICsgIiBbIiArIHN0eWxlLnByb3BlcnRpZXMuc3RhcnRPZmZzZXQg
ICsgIi0iICsgc3R5bGUucHJvcGVydGllcy5lbmRPZmZzZXQgKyAiXSIpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdChoZWFkZXIgKyAiIFsiICsgc3R5bGUucmFuZ2Uuc3RhcnQgICsg
Ii0iICsgc3R5bGUucmFuZ2UuZW5kICsgIl0iKTsKICAgICAgICAgdmFyIGFsbFByb3BlcnRpZXMg
PSBzdHlsZS5jc3NQcm9wZXJ0aWVzOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbFBy
b3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IGFsbFBy
b3BlcnRpZXNbaV07CiAgICAgICAgICAgICBpZiAoIXByb3BlcnR5LnN0YXR1cykKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJb
JyIgKyBwcm9wZXJ0eS5uYW1lICsgIic6JyIgKyBwcm9wZXJ0eS52YWx1ZSArICInIiArIChwcm9w
ZXJ0eS5wcmlvcml0eSA/ICIgIWltcG9ydGFudCIgOiAiIikgKyAoKCJwYXJzZWRPayIgaW4gcHJv
cGVydHkpID8gIiBub24tcGFyc2VkIiA6ICIiKSArIl0gQFsiICsgcHJvcGVydHkuc3RhcnRPZmZz
ZXQgKyAiLSIgKyBwcm9wZXJ0eS5lbmRPZmZzZXQgKyAiXSIpOworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlsnIiArIHByb3BlcnR5Lm5hbWUgKyAiJzonIiArIHByb3BlcnR5
LnZhbHVlICsgIiciICsgKHByb3BlcnR5LnByaW9yaXR5ID8gIiAhaW1wb3J0YW50IiA6ICIiKSAr
ICgoInBhcnNlZE9rIiBpbiBwcm9wZXJ0eSkgPyAiIG5vbi1wYXJzZWQiIDogIiIpICsiXSBAIiAr
IHJhbmdlVGV4dChwcm9wZXJ0eS5yYW5nZSkpOwogICAgICAgICB9CiAgICAgfQogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDAwODUxYjYuLjRmNWM1Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxMS0wMy0zMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IENTUyBkb21haW4gLSBtYWtlIGEgInJhbmdlIiBvYmplY3QsIGdldCByaWQgb2YgInByb3Bl
cnRpZXMiIG9iamVjdCBmb3IgU3R5bGUgb2JqZWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1MzgKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkU291cmNlUmFuZ2VP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5bGU6OmJ1aWxkT2JqZWN0Rm9y
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5bGU6OnBvcHVsYXRlT2JqZWN0
V2l0aFN0eWxlUHJvcGVydGllcyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRp
dFJ1bGVzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuVW51c2VkQ3NzUnVs
ZS5wcm90b3R5cGUuZG9SdW4uZXZhbENhbGxiYWNrLnNlbGVjdG9yc0NhbGxiYWNrKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbik6CisKIDIwMTEtMDMtMzEgIEphZWh1biBMaW0g
IDxsamFlaHVuLmxpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZp
eC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNo
ZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNw
cAppbmRleCA1ZTY3M2E4Li5kMmI1ZDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCkBAIC0xMDIsNiArMTAyLDE0IEBAIFJlZlB0cjxX
ZWJDb3JlOjpDU1NSdWxlU291cmNlRGF0YT4gUGFyc2VkU3R5bGVTaGVldDo6cnVsZVNvdXJjZURh
dGFBdCh1bnNpZ25lZCBpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KGNvbnN0IFNvdXJjZVJh
bmdlJiByYW5nZSkKK3sKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXN1bHQgPSBJbnNw
ZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIHJlc3VsdC0+c2V0TnVtYmVyKCJzdGFydCIsIHJh
bmdlLnN0YXJ0KTsKKyAgICByZXN1bHQtPnNldE51bWJlcigiZW5kIiwgcmFuZ2UuZW5kKTsKKyAg
ICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsKK30KKwogc3RhdGljIFBhc3NSZWZQdHI8Q1NTUnVs
ZUxpc3Q+IGFzQ1NTUnVsZUxpc3QoU3R5bGVCYXNlKiBzdHlsZUJhc2UpCiB7CiAgICAgaWYgKCFz
dHlsZUJhc2UpCkBAIC0xNTQsMTYgKzE2MiwxMiBAQCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gSW5zcGVjdG9yU3R5bGU6OmJ1aWxkT2JqZWN0Rm9yU3R5bGUoKSBjb25zdAogICAgIGlmICgh
bV9zdHlsZUlkLmlzRW1wdHkoKSkKICAgICAgICAgcmVzdWx0LT5zZXRWYWx1ZSgic3R5bGVJZCIs
IG1fc3R5bGVJZC5hc0luc3BlY3RvclZhbHVlKCkpOwogCi0gICAgUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4gcHJvcGVydGllc09iamVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAg
cHJvcGVydGllc09iamVjdC0+c2V0U3RyaW5nKCJ3aWR0aCIsIG1fc3R5bGUtPmdldFByb3BlcnR5
VmFsdWUoIndpZHRoIikpOwotICAgIHByb3BlcnRpZXNPYmplY3QtPnNldFN0cmluZygiaGVpZ2h0
IiwgbV9zdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZSgiaGVpZ2h0IikpOworICAgIHJlc3VsdC0+c2V0
U3RyaW5nKCJ3aWR0aCIsIG1fc3R5bGUtPmdldFByb3BlcnR5VmFsdWUoIndpZHRoIikpOworICAg
IHJlc3VsdC0+c2V0U3RyaW5nKCJoZWlnaHQiLCBtX3N0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKCJo
ZWlnaHQiKSk7CiAKICAgICBSZWZQdHI8Q1NTUnVsZVNvdXJjZURhdGE+IHNvdXJjZURhdGEgPSBt
X3BhcmVudFN0eWxlU2hlZXQgPyBtX3BhcmVudFN0eWxlU2hlZXQtPnJ1bGVTb3VyY2VEYXRhRm9y
KG1fc3R5bGUuZ2V0KCkpIDogMDsKLSAgICBpZiAoc291cmNlRGF0YSkgewotICAgICAgICBwcm9w
ZXJ0aWVzT2JqZWN0LT5zZXROdW1iZXIoInN0YXJ0T2Zmc2V0Iiwgc291cmNlRGF0YS0+c3R5bGVT
b3VyY2VEYXRhLT5zdHlsZUJvZHlSYW5nZS5zdGFydCk7Ci0gICAgICAgIHByb3BlcnRpZXNPYmpl
Y3QtPnNldE51bWJlcigiZW5kT2Zmc2V0Iiwgc291cmNlRGF0YS0+c3R5bGVTb3VyY2VEYXRhLT5z
dHlsZUJvZHlSYW5nZS5lbmQpOwotICAgIH0KLSAgICByZXN1bHQtPnNldE9iamVjdCgicHJvcGVy
dGllcyIsIHByb3BlcnRpZXNPYmplY3QpOworICAgIGlmIChzb3VyY2VEYXRhKQorICAgICAgICBy
ZXN1bHQtPnNldE9iamVjdCgicmFuZ2UiLCBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KHNvdXJjZURh
dGEtPnN0eWxlU291cmNlRGF0YS0+c3R5bGVCb2R5UmFuZ2UpKTsKIAogICAgIHBvcHVsYXRlT2Jq
ZWN0V2l0aFN0eWxlUHJvcGVydGllcyhyZXN1bHQuZ2V0KCkpOwogCkBAIC00NjYsOCArNDcwLDcg
QEAgdm9pZCBJbnNwZWN0b3JTdHlsZTo6cG9wdWxhdGVPYmplY3RXaXRoU3R5bGVQcm9wZXJ0aWVz
KEluc3BlY3Rvck9iamVjdCogcmVzdWx0KQogICAgICAgICBpZiAoIWl0LT5kaXNhYmxlZCkgewog
ICAgICAgICAgICAgaWYgKGl0LT5oYXNTb3VyY2UpIHsKICAgICAgICAgICAgICAgICBwcm9wZXJ0
eS0+c2V0Qm9vbGVhbigiaW1wbGljaXQiLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgcHJvcGVy
dHktPnNldE51bWJlcigic3RhcnRPZmZzZXQiLCBwcm9wZXJ0eUVudHJ5LnJhbmdlLnN0YXJ0KTsK
LSAgICAgICAgICAgICAgICBwcm9wZXJ0eS0+c2V0TnVtYmVyKCJlbmRPZmZzZXQiLCBwcm9wZXJ0
eUVudHJ5LnJhbmdlLmVuZCk7CisgICAgICAgICAgICAgICAgcHJvcGVydHktPnNldE9iamVjdCgi
cmFuZ2UiLCBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KHByb3BlcnR5RW50cnkucmFuZ2UpKTsKIAog
ICAgICAgICAgICAgICAgIC8vIFBhcnNlZCBwcm9wZXJ0eSBvdmVycmlkZXMgYW55IHByb3BlcnR5
IHdpdGggdGhlIHNhbWUgbmFtZS4gTm9uLXBhcnNlZCBwcm9wZXJ0eSBvdmVycmlkZXMKICAgICAg
ICAgICAgICAgICAvLyBwcmV2aW91cyBub24tcGFyc2VkIHByb3BlcnR5IHdpdGggdGhlIHNhbWUg
bmFtZSAoaWYgYW55KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQXVkaXRSdWxlcy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
QXVkaXRSdWxlcy5qcwppbmRleCBkZGFiMWRmLi42YzllNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzCkBAIC0zMjIsNyArMzIyLDcg
QEAgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuVW51c2VkQ3NzUnVsZS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGN1clJ1bGUgPSAwOyBjdXJSdWxlIDwgc3R5bGVT
aGVldC5ydWxlcy5sZW5ndGg7ICsrY3VyUnVsZSkgewogICAgICAgICAgICAgICAgICAgICAgICAg
dmFyIHJ1bGUgPSBzdHlsZVNoZWV0LnJ1bGVzW2N1clJ1bGVdOwogICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gRXhhY3QgY29tcHV0YXRpb24gd2hlbmV2ZXIgc291cmNlIHJhbmdlcyBhcmUgYXZh
aWxhYmxlLgotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRleHRMZW5ndGggPSAocnVsZS5z
ZWxlY3RvclJhbmdlICYmIHJ1bGUuc3R5bGUucHJvcGVydGllcy5lbmRPZmZzZXQpID8gcnVsZS5z
dHlsZS5wcm9wZXJ0aWVzLmVuZE9mZnNldCAtIHJ1bGUuc2VsZWN0b3JSYW5nZS5zdGFydCArIDEg
OiAwOworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRleHRMZW5ndGggPSAocnVsZS5zZWxl
Y3RvclJhbmdlICYmIHJ1bGUuc3R5bGUucmFuZ2UgJiYgcnVsZS5zdHlsZS5yYW5nZS5lbmQpID8g
cnVsZS5zdHlsZS5yYW5nZS5lbmQgLSBydWxlLnNlbGVjdG9yUmFuZ2Uuc3RhcnQgKyAxIDogMDsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGV4dExlbmd0aCAmJiBydWxlLnN0eWxlLmNz
c1RleHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dExlbmd0aCA9IHJ1bGUuc3R5
bGUuY3NzVGV4dC5sZW5ndGggKyBydWxlLnNlbGVjdG9yVGV4dC5sZW5ndGg7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBzdHlsZXNoZWV0U2l6ZSArPSB0ZXh0TGVuZ3RoOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCmluZGV4IGQ4
NWEyMWQuLjA2ZDk2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ1NTU3R5bGVNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU1N0eWxlTW9kZWwuanMKQEAgLTE5Niw3ICsxOTYsOSBAQCBXZWJJbnNwZWN0b3Iu
Q1NTU3R5bGVNb2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5w
cm90b3R5cGU7CiBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGZ1bmN0aW9uKHBh
eWxvYWQpCiB7CiAgICAgdGhpcy5pZCA9IHBheWxvYWQuc3R5bGVJZDsKLSAgICB0aGlzLnByb3Bl
cnRpZXMgPSBwYXlsb2FkLnByb3BlcnRpZXM7CisgICAgdGhpcy53aWR0aCA9IHBheWxvYWQud2lk
dGg7CisgICAgdGhpcy5oZWlnaHQgPSBwYXlsb2FkLmhlaWdodDsKKyAgICB0aGlzLnJhbmdlID0g
cGF5bG9hZC5yYW5nZTsKICAgICB0aGlzLl9zaG9ydGhhbmRWYWx1ZXMgPSBXZWJJbnNwZWN0b3Iu
Q1NTU3R5bGVEZWNsYXJhdGlvbi5idWlsZFNob3J0aGFuZFZhbHVlTWFwKHBheWxvYWQuc2hvcnRo
YW5kRW50cmllcyk7CiAgICAgdGhpcy5fbGl2ZVByb3BlcnR5TWFwID0ge307IC8vIExJVkUgcHJv
cGVydGllcyAoc291cmNlLWJhc2VkIG9yIHN0eWxlLWJhc2VkKSA6IHsgbmFtZSAtPiBDU1NQcm9w
ZXJ0eSB9CiAgICAgdGhpcy5fYWxsUHJvcGVydGllcyA9IFtdOyAvLyBBTEwgcHJvcGVydGllczog
WyBDU1NQcm9wZXJ0eSBdCg==
</data>
<flag name="review"
          id="80143"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>