<?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>90686</bug_id>
          
          <creation_ts>2012-07-06 06:56:06 -0700</creation_ts>
          <short_desc>Web Inspector: show loaders memory consumption on the memory chart</short_desc>
          <delta_ts>2012-07-17 22:59:06 -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>
          
          <blocked>87262</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>abarth</cc>
    
    <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</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>664085</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-07-06 06:56:06 -0700</bug_when>
    <thetext>Size of FrameLoader, DocumentLoader, ResourceLoader and their resources should be shown on the memory pie chart.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664114</commentid>
    <comment_count>1</comment_count>
      <attachid>151083</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-07-06 07:59:51 -0700</bug_when>
    <thetext>Created attachment 151083
Patch draft</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664120</commentid>
    <comment_count>2</comment_count>
      <attachid>151083</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-06 08:16:57 -0700</bug_when>
    <thetext>Comment on attachment 151083
Patch draft

Attachment 151083 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13140508</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664121</commentid>
    <comment_count>3</comment_count>
      <attachid>151083</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-06 08:20:59 -0700</bug_when>
    <thetext>Comment on attachment 151083
Patch draft

Attachment 151083 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13140509</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664190</commentid>
    <comment_count>4</comment_count>
      <attachid>151083</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-06 10:39:22 -0700</bug_when>
    <thetext>Comment on attachment 151083
Patch draft

Attachment 151083 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13155316</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671208</commentid>
    <comment_count>5</comment_count>
      <attachid>152746</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-07-17 05:53:49 -0700</bug_when>
    <thetext>Created attachment 152746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671233</commentid>
    <comment_count>6</comment_count>
      <attachid>152746</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-17 06:32:13 -0700</bug_when>
    <thetext>Comment on attachment 152746
Patch

Attachment 152746 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13272140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671273</commentid>
    <comment_count>7</comment_count>
      <attachid>152762</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-07-17 07:50:20 -0700</bug_when>
    <thetext>Created attachment 152762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671519</commentid>
    <comment_count>8</comment_count>
      <attachid>152762</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-17 13:09:35 -0700</bug_when>
    <thetext>Comment on attachment 152762
Patch

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

&gt; Source/WebCore/loader/ResourceLoader.cpp:533
&gt; +    printf(&quot;ResourceLoader: %u\n&quot;, m_resourceData ? m_resourceData-&gt;size() : 0);

Please remove this logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672009</commentid>
    <comment_count>9</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-07-17 22:59:06 -0700</bug_when>
    <thetext>Committed r122920: &lt;http://trac.webkit.org/changeset/122920&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151083</attachid>
            <date>2012-07-06 07:59:51 -0700</date>
            <delta_ts>2012-07-17 05:53:34 -0700</delta_ts>
            <desc>Patch draft</desc>
            <filename>loader-instrumentation.patch</filename>
            <type>text/plain</type>
            <size>8876</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGFkZGUzMTIuLjZmZTNmMmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcApAQCAtNjAyOSw2ICs2MDI5LDggQEAgdm9pZCBEb2N1bWVudDo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAg
ICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRIYXNoTWFwKG1fZWxlbWVudHNCeUFjY2Vzc0tleSk7
CiAgICAgbWVtb3J5T2JqZWN0SW5mby0+cmVwb3J0SGFzaFNldChtX21lZGlhQ2FuU3RhcnRMaXN0
ZW5lcnMpOwogICAgIG1lbW9yeU9iamVjdEluZm8tPnJlcG9ydFZlY3RvcihtX3BlbmRpbmdUYXNr
cyk7CisKKyAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKGxv
YWRlcigpKTsKIH0KIAogI2lmIEVOQUJMRShVTkRPX01BTkFHRVIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggMWQ5OWExMi4uNWM0YmQyMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaApAQCAtOTYsMTAgKzk2LDEx
IEBAIHByaXZhdGU6CiAKIGNsYXNzIE1lbW9yeU9iamVjdEluZm8gewogcHVibGljOgotICAgIE1l
bW9yeU9iamVjdEluZm8oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBtZW1vcnlJbnN0cnVtZW50YXRp
b24pCisgICAgTWVtb3J5T2JqZWN0SW5mbyhNZW1vcnlJbnN0cnVtZW50YXRpb24qIG1lbW9yeUlu
c3RydW1lbnRhdGlvbiwgYm9vbCBkb250UmVwb3J0U2VsZlNpemUgPSBmYWxzZSkKICAgICAgICAg
OiBtX21lbW9yeUluc3RydW1lbnRhdGlvbihtZW1vcnlJbnN0cnVtZW50YXRpb24pCiAgICAgICAg
ICwgbV9vYmplY3RUeXBlKE1lbW9yeUluc3RydW1lbnRhdGlvbjo6T3RoZXIpCiAgICAgICAgICwg
bV9vYmplY3RTaXplKDApCisgICAgICAgICwgbV9pZ25vcmVTZWxmU2l6ZShkb250UmVwb3J0U2Vs
ZlNpemUpCiAgICAgIHsgfQogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFA+CkBAIC0xMjksNyAr
MTMwLDggQEAgcHVibGljOgogICAgICAgICBpZiAobV9vYmplY3RUeXBlICE9IE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6T3RoZXIpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fb2JqZWN0
VHlwZSA9IG9iamVjdFR5cGU7Ci0gICAgICAgIG1fb2JqZWN0U2l6ZSA9IHNpemVvZihUKTsKKyAg
ICAgICAgaWYgKCFtX2lnbm9yZVNlbGZTaXplKQorICAgICAgICAgICAgbV9vYmplY3RTaXplID0g
c2l6ZW9mKFQpOwogICAgIH0KIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoTWFwVHlwZT4K
QEAgLTE3MCw2ICsxNzIsNyBAQCBwdWJsaWM6CiAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBt
X21lbW9yeUluc3RydW1lbnRhdGlvbjsKICAgICBNZW1vcnlJbnN0cnVtZW50YXRpb246Ok9iamVj
dFR5cGUgbV9vYmplY3RUeXBlOwogICAgIHNpemVfdCBtX29iamVjdFNpemU7CisgICAgYm9vbCBt
X2lnbm9yZVNlbGZTaXplOwogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CkBAIC0xODUsNyAr
MTg4LDcgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OnJlcG9ydEluc3RydW1lbnRlZE9i
amVjdChjb25zdCBUJiBvYmplY3QpCiB7CiAgICAgaWYgKHZpc2l0ZWQoJm9iamVjdCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICBNZW1vcnlPYmplY3RJbmZvIG1lbW9yeU9iamVjdEluZm8odGhpcyk7
CisgICAgTWVtb3J5T2JqZWN0SW5mbyBtZW1vcnlPYmplY3RJbmZvKHRoaXMsIHRydWUpOwogICAg
IG9iamVjdC5yZXBvcnRNZW1vcnlVc2FnZSgmbWVtb3J5T2JqZWN0SW5mbyk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCmluZGV4
IGU5MDcyNTcuLjA3NjU2ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtNTE0LDYgKzUxNCwxMiBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fZG9tTWVtb3J5VXNhZ2UucHJvY2Vzc0RlZmVycmVkSW5zdHJ1bWVudGVkUG9pbnRlcnMo
KTsKICAgICB9CiAKKyAgICB2b2lkIHZpc2l0RnJhbWUoRnJhbWUqIGZyYW1lKQorICAgIHsKKyAg
ICAgICAgbV9kb21NZW1vcnlVc2FnZS5yZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKGZyYW1lKTsK
KyAgICAgICAgbV9kb21NZW1vcnlVc2FnZS5wcm9jZXNzRGVmZXJyZWRJbnN0cnVtZW50ZWRQb2lu
dGVycygpOworICAgIH0KKwogICAgIHZvaWQgdmlzaXRCaW5kaW5ncygpCiAgICAgewogICAgICAg
ICBTY3JpcHRQcm9maWxlcjo6Y29sbGVjdEJpbmRpbmdNZW1vcnlJbmZvKCZtX2RvbU1lbW9yeVVz
YWdlKTsKQEAgLTUzNSw4ICs1NDEsMTAgQEAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yTWVt
b3J5QmxvY2s+IGRvbVRyZWVJbmZvKFBhZ2UqIHBhZ2UsIFZpc2l0ZWRPYmplY3RzJgogCiAgICAg
Ly8gTWFrZSBzdXJlIGFsbCBkb2N1bWVudHMgcmVhY2hhYmxlIGZyb20gdGhlIG1haW4gZnJhbWUg
YXJlIGFjY291bnRlZC4KICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgp
OyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAgICAg
ICBpZiAoRG9jdW1lbnQqIGRvYyA9IGZyYW1lLT5kb2N1bWVudCgpKQorICAgICAgICBpZiAoRG9j
dW1lbnQqIGRvYyA9IGZyYW1lLT5kb2N1bWVudCgpKSB7CiAgICAgICAgICAgICBkb21UcmVlc0l0
ZXJhdG9yLnZpc2l0Tm9kZShkb2MpOworICAgICAgICAgICAgZG9tVHJlZXNJdGVyYXRvci52aXNp
dEZyYW1lKGZyYW1lKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGRvbVRyZWVzSXRlcmF0b3Iu
dmlzaXRCaW5kaW5ncygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAK
aW5kZXggYmY2Y2I5ZS4uZWVkMjFiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1haW5SZXNvdXJjZUxv
YWRlci5oIgorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CkBAIC0zNTQsNiArMzU1LDI1IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERhdGEoY29u
c3QgY2hhciogYnl0ZXMsIHNpemVfdCBsZW5ndGgpCiAgICAgbV93cml0ZXIuYWRkRGF0YShieXRl
cywgbGVuZ3RoKTsKIH0KIAordm9pZCBEb2N1bWVudExvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBtZW1vcnlP
YmplY3RJbmZvLT5yZXBvcnRPYmplY3RJbmZvKHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
RE9NKTsKKyAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRIYXNoU2V0KG1fc3VicmVzb3VyY2VM
b2FkZXJzKTsKKyAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRIYXNoU2V0KG1fbXVsdGlwYXJ0
U3VicmVzb3VyY2VMb2FkZXJzKTsKKyAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRIYXNoU2V0
KG1fcGx1Z0luU3RyZWFtTG9hZGVycyk7CisgICAgbWVtb3J5T2JqZWN0SW5mby0+cmVwb3J0U3Ry
aW5nKG1fcGFnZVRpdGxlLnN0cmluZygpKTsKKyAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRT
dHJpbmcobV9vdmVycmlkZUVuY29kaW5nKTsKKyAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRW
ZWN0b3IobV9yZXNwb25zZXMpOworICAgIG1lbW9yeU9iamVjdEluZm8tPnJlcG9ydEhhc2hNYXAo
bV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291cmNlcyk7CisgICAgbWVtb3J5T2JqZWN0SW5mby0+cmVw
b3J0SGFzaFNldChtX3Jlc291cmNlc0NsaWVudEtub3dzQWJvdXQpOworICAgIG1lbW9yeU9iamVj
dEluZm8tPnJlcG9ydFZlY3RvcihtX3Jlc291cmNlc0xvYWRlZEZyb21NZW1vcnlDYWNoZUZvckNs
aWVudE5vdGlmaWNhdGlvbik7CisgICAgbWVtb3J5T2JqZWN0SW5mby0+cmVwb3J0U3RyaW5nKG1f
Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KTsKKyAgICAvLyBzaXplb2YoUmVzb3VyY2VS
ZXNwb25zZSkgKiBtX3Jlc3BvbnNlcy5zaXplKCk7CisgICAgcHJpbnRmKCJEb2N1bWVudExvYWRl
ciBtX3Jlc3BvbnNlcy5zaXplID0gJWx1LCBzaXplID0gJWx1XG4iLCBtX3Jlc3BvbnNlcy5zaXpl
KCksIChzaXplb2YoUmVzb3VyY2VSZXNwb25zZSkgKiBtX3Jlc3BvbnNlcy5zaXplKCkpKTsKKyAg
ICBpZiAobV9tYWluUmVzb3VyY2VEYXRhKQorICAgICAgICBwcmludGYoIkRvY3VtZW50TG9hZGVy
IG1fbWFpblJlc291cmNlRGF0YS5zaXplID0gJXVcbiIsIG1fbWFpblJlc291cmNlRGF0YS0+c2l6
ZSgpKTsKK30KKwogYm9vbCBEb2N1bWVudExvYWRlcjo6ZG9lc1Byb2dyZXNzaXZlTG9hZChjb25z
dCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdAogewogICAgIHJldHVybiAhZnJhbWVMb2FkZXIoKS0+
aXNSZXBsYWNpbmcoKSB8fCBNSU1FVHlwZSA9PSAidGV4dC9odG1sIjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmgKaW5kZXggYjBiNTBlYS4uOTQxODBmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTU1LDYgKzU1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIEZyYW1lTG9hZGVyOwogICAgIGNs
YXNzIE1haW5SZXNvdXJjZUxvYWRlcjsKKyAgICBjbGFzcyBNZW1vcnlPYmplY3RJbmZvOwogICAg
IGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgUmVzb3VyY2VMb2FkZXI7CiAgICAgY2xhc3MgU2NoZWR1
bGVQYWlyOwpAQCAtMjQyLDYgKzI0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICBBcHBsaWNhdGlvbkNhY2hlSG9zdCogYXBwbGljYXRpb25DYWNoZUhvc3QoKSBjb25zdCB7IHJl
dHVybiBtX2FwcGxpY2F0aW9uQ2FjaGVIb3N0LmdldCgpOyB9CiAKKyAgICAgICAgdmlydHVhbCB2
b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKwogICAgIHBy
b3RlY3RlZDoKICAgICAgICAgRG9jdW1lbnRMb2FkZXIoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgU3Vic3RpdHV0ZURhdGEmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKaW5kZXggYjY0MGYwOC4uNTc2Mjc1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCkBAIC0zMjIwLDYgKzMyMjAsMTYgQEAgTmV0d29ya2luZ0NvbnRleHQqIEZyYW1lTG9h
ZGVyOjpuZXR3b3JraW5nQ29udGV4dCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fbmV0d29ya2luZ0Nv
bnRleHQuZ2V0KCk7CiB9CiAKK3ZvaWQgRnJhbWVMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgbWVtb3J5T2Jq
ZWN0SW5mby0+cmVwb3J0T2JqZWN0SW5mbyh0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRP
TSk7CisgICAgbWVtb3J5T2JqZWN0SW5mby0+cmVwb3J0SW5zdHJ1bWVudGVkUG9pbnRlcihtX2Rv
Y3VtZW50TG9hZGVyLmdldCgpKTsKKyAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRJbnN0cnVt
ZW50ZWRQb2ludGVyKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlci5nZXQoKSk7CisgICAgbWVt
b3J5T2JqZWN0SW5mby0+cmVwb3J0SW5zdHJ1bWVudGVkUG9pbnRlcihtX3BvbGljeURvY3VtZW50
TG9hZGVyLmdldCgpKTsKKyAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRTdHJpbmcobV9vdXRn
b2luZ1JlZmVycmVyKTsKKyAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRIYXNoU2V0KG1fb3Bl
bmVkRnJhbWVzKTsKK30KKwogYm9vbCBGcmFtZUxvYWRlckNsaWVudDo6aGFzSFRNTFZpZXcoKSBj
b25zdAogewogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApp
bmRleCA4ODBhNWEyLi5lMTJjZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApA
QCAtNjEsNiArNjEsNyBAQCBjbGFzcyBGb3JtU3RhdGU7CiBjbGFzcyBGb3JtU3VibWlzc2lvbjsK
IGNsYXNzIEZyYW1lTG9hZGVyQ2xpZW50OwogY2xhc3MgRnJhbWVOZXR3b3JraW5nQ29udGV4dDsK
K2NsYXNzIE1lbW9yeU9iamVjdEluZm87CiBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9uOwogY2xhc3Mg
TmV0d29ya2luZ0NvbnRleHQ7CiBjbGFzcyBQYWdlOwpAQCAtMjgzLDYgKzI4NCw4IEBAIHB1Ymxp
YzoKIAogICAgIE5ldHdvcmtpbmdDb250ZXh0KiBuZXR3b3JraW5nQ29udGV4dCgpIGNvbnN0Owog
CisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgYm9vbCBhbGxDaGlsZHJlbkFyZUNvbXBsZXRlKCkgY29uc3Q7IC8vIGlt
bWVkaWF0ZSBjaGlsZHJlbiwgbm90IGFsbCBkZXNjZW5kYW50cwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3Bw
CmluZGV4IDAzYTc3OTcuLjU0MTZlZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC02Myw2ICs2
Myw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhRmVhdHVyZU5hbWVzLmgiCisjaW5jbHVkZSAiTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCiAjaW5jbHVkZSAi
Tm9kZUxpc3QuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC02ODUsNiArNjg2LDEzIEBAIHZvaWQg
RnJhbWU6OmRpc3BhdGNoVmlzaWJpbGl0eVN0YXRlQ2hhbmdlRXZlbnQoKQogfQogI2VuZGlmCiAK
K3ZvaWQgRnJhbWU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0Cit7CisgICAgbWVtb3J5T2JqZWN0SW5mby0+cmVwb3J0T2JqZWN0SW5m
byh0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgbWVtb3J5T2JqZWN0SW5m
by0+cmVwb3J0SW5zdHJ1bWVudGVkUG9pbnRlcihtX2RvYy5nZXQoKSk7CisgICAgbWVtb3J5T2Jq
ZWN0SW5mby0+cmVwb3J0SW5zdHJ1bWVudGVkT2JqZWN0KG1fbG9hZGVyKTsKK30KKwogRE9NV2lu
ZG93KiBGcmFtZTo6ZG9tV2luZG93KCkgY29uc3QKIHsKICAgICBpZiAoIW1fZG9tV2luZG93KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5oCmluZGV4IDc3YTczZDguLmY5ODcyNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKQEAg
LTY2LDYgKzY2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lRGVzdHJ1
Y3Rpb25PYnNlcnZlcjsKICAgICBjbGFzcyBGcmFtZVZpZXc7CiAgICAgY2xhc3MgSFRNTFRhYmxl
Q2VsbEVsZW1lbnQ7CisgICAgY2xhc3MgTWVtb3J5T2JqZWN0SW5mbzsKICAgICBjbGFzcyBSZWd1
bGFyRXhwcmVzc2lvbjsKICAgICBjbGFzcyBSZW5kZXJQYXJ0OwogICAgIGNsYXNzIFRpbGVkQmFj
a2luZ1N0b3JlOwpAQCAtMTE2LDYgKzExNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBF
TkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKICAgICAgICAgdm9pZCBkaXNwYXRjaFZpc2liaWxp
dHlTdGF0ZUNoYW5nZUV2ZW50KCk7CiAjZW5kaWYKKyAgICAgICAgdm9pZCByZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKICAgICAvLyA9PT09PT09PSBBbGwgcHVi
bGljIGZ1bmN0aW9ucyBiZWxvdyB0aGlzIHBvaW50IGFyZSBjYW5kaWRhdGVzIHRvIG1vdmUgb3V0
IG9mIEZyYW1lIGludG8gYW5vdGhlciBjbGFzcy4gPT09PT09PT0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152746</attachid>
            <date>2012-07-17 05:53:49 -0700</date>
            <delta_ts>2012-07-17 07:50:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90686-20120717165347.patch</filename>
            <type>text/plain</type>
            <size>13112</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE3NzQyZmViMDQ3YWNj
Mjg1OWRjOTZhZGI0ODE3YWVkNGQ3ZTRiNy4uYmJkYmFjMGJjNGMyMjc1YjNiMWIxNjcwZDlmYTc0
YzM2YThiOTdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA3LTE3ICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzaG93IGxvYWRlcnMgbWVtb3J5IGNvbnN1bXB0aW9uIG9uIHRoZSBtZW1vcnkgY2hhcnQu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDY4Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpemUgb2Yg
RnJhbWVMb2FkZXIsIERvY3VtZW50TG9hZGVyLCBSZXNvdXJjZUxvYWRlciBhbmQgdGhlaXIgcmVz
b3VyY2VzIHNob3VsZCBiZSBzaG93biBvbiB0aGUgbWVtb3J5IHBpZSBjaGFydC4KKworICAgICAg
ICBJdCBpcyBjb3ZlcmVkIGJ5IGV4aXN0aW5nIFdlYkluc3BlY3RvciBwZXJmb3JtYW5jZSB0ZXN0
cyBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICAqIGRvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24u
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkUmF3QnVmZmVy
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNsYXNzSW5mbzo6YWRkUmF3QnVmZmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkVmVjdG9yKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmRvbVRyZWVJbmZvKToK
KyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnRMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChEb2N1bWVudExvYWRlcik6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoRnJhbWVMb2FkZXIpOgorICAgICAgICAqIHBhZ2UvRnJh
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoRnJhbWUpOgorICAgICAgICAqIHBsYXRmb3JtL1NoYXJlZEJ1ZmZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTaGFyZWRCdWZmZXIpOgorCiAyMDEyLTA3LTE3
ICBWaXZlayBHYWxhdGFnZSAgPHZpdmVrZ2FsYXRhZ2VAZ21haWwuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IHJlZmFjdG9yIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVu
ZCgpIHRvIGFjY2VwdCBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggZjcyYzMyOTNkZGM3NTk0ODBiZjM4OTI5
ZTJiN2FjNzRhMTU5Yzg1YS4uYmZhMmE1NzQ2MTliZGMyZmY1OTJkYWEzOGZmMDczNTdmMDBkM2Fk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaApAQCAtMzAs
NiArMzAsNyBAQAogCiAjaWZuZGVmIE1lbW9yeUluc3RydW1lbnRhdGlvbl9oCiAjZGVmaW5lIE1l
bW9yeUluc3RydW1lbnRhdGlvbl9oCisjaW5jbHVkZSA8c3RkaW8uaD4KIAogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTY3LDYgKzY4LDEy
IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaFNldFR5cGU+IHZvaWQgYWRk
SGFzaFNldChjb25zdCBIYXNoU2V0VHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkg
PSBmYWxzZSk7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIExpc3RIYXNoU2V0VHlwZT4gdm9pZCBh
ZGRMaXN0SGFzaFNldChjb25zdCBMaXN0SGFzaFNldFR5cGUmLCBPYmplY3RUeXBlLCBib29sIGNv
bnRlbnRPbmx5ID0gZmFsc2UpOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWZWN0b3JUeXBlPiB2
b2lkIGFkZFZlY3Rvcihjb25zdCBWZWN0b3JUeXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50
T25seSA9IGZhbHNlKTsKKyAgICB2b2lkIGFkZFJhd0J1ZmZlcihjb25zdCB2b2lkKiBjb25zdCYg
YnVmZmVyLCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIHNpemVfdCBzaXplKQorICAgIHsKKyAgICAg
ICAgaWYgKCFidWZmZXIgfHwgdmlzaXRlZChidWZmZXIpKQorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwgc2l6ZSk7CisgICAgfQogCiBwcm90
ZWN0ZWQ6CiAgICAgZW51bSBPd25pbmdUeXBlIHsKQEAgLTE5Niw2ICsyMDMsNyBAQCBwdWJsaWM6
CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hTZXRUeXBlPiB2b2lkIGFkZEhhc2hTZXQoY29u
c3QgSGFzaFNldFR5cGUmIHNldCkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkSGFzaFNl
dChzZXQsIG1fb2JqZWN0VHlwZSwgdHJ1ZSk7IH0KICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGlz
dEhhc2hTZXRUeXBlPiB2b2lkIGFkZExpc3RIYXNoU2V0KGNvbnN0IExpc3RIYXNoU2V0VHlwZSYg
c2V0KSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRMaXN0SGFzaFNldChzZXQsIG1fb2Jq
ZWN0VHlwZSwgdHJ1ZSk7IH0KICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmVjdG9yVHlwZT4gdm9p
ZCBhZGRWZWN0b3IoY29uc3QgVmVjdG9yVHlwZSYgdmVjdG9yKSB7IG1fbWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLT5hZGRWZWN0b3IodmVjdG9yLCBtX29iamVjdFR5cGUsIHRydWUpOyB9CisgICAgdm9p
ZCBhZGRSYXdCdWZmZXIoY29uc3Qgdm9pZCogY29uc3QmIGJ1ZmZlciwgc2l6ZV90IHNpemUpIHsg
bV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZFJhd0J1ZmZlcihidWZmZXIsIG1fb2JqZWN0VHlw
ZSwgc2l6ZSk7IH0KIAogICAgIHZvaWQgYWRkU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7
IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRTdHJpbmcoc3RyaW5nLCBtX29iamVjdFR5cGUp
OyB9CiAgICAgdm9pZCBhZGRTdHJpbmcoY29uc3QgQXRvbWljU3RyaW5nJiBzdHJpbmcpIHsgbV9t
ZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZFN0cmluZygoY29uc3QgU3RyaW5nJilzdHJpbmcsIG1f
b2JqZWN0VHlwZSk7IH0KQEAgLTIzMiw3ICsyNDAsNyBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6YWRkTGlzdEhhc2hTZXQoY29uc3QgTGlzdEhhc2hTZXRUeXBlJiBoYXNoU2V0LCBPYmpl
YwogdGVtcGxhdGUgPHR5cGVuYW1lIFZlY3RvclR5cGU+CiB2b2lkIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6YWRkVmVjdG9yKGNvbnN0IFZlY3RvclR5cGUmIHZlY3RvciwgT2JqZWN0VHlwZSBvYmpl
Y3RUeXBlLCBib29sIGNvbnRlbnRPbmx5KQogewotICAgIGlmICh2aXNpdGVkKHZlY3Rvci5kYXRh
KCkpKQorICAgIGlmICghdmVjdG9yLmRhdGEoKSB8fCB2aXNpdGVkKHZlY3Rvci5kYXRhKCkpKQog
ICAgICAgICByZXR1cm47CiAgICAgY291bnRPYmplY3RTaXplKG9iamVjdFR5cGUsIGNhbGN1bGF0
ZUNvbnRhaW5lclNpemUodmVjdG9yLCBjb250ZW50T25seSkpOwogfQpAQCAtMjQ1LDYgKzI1Myw3
IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpJbnN0cnVtZW50ZWRQb2ludGVyPFQ+Ojpw
cm9jZXNzKE1lbW9yeUluc3RydW1lbnRhdGlvCiAgICAgbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5j
b3VudE9iamVjdFNpemUobWVtb3J5T2JqZWN0SW5mby5vYmplY3RUeXBlKCksIG1lbW9yeU9iamVj
dEluZm8ub2JqZWN0U2l6ZSgpKTsKIH0KIAorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyAhZGVmaW5lZChNZW1vcnlJbnN0cnVtZW50YXRpb25faCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCmluZGV4IDJhZDAxNDU3
NjlkMDE2NzRmMTJmMTQzYzE0NjE1ODZkZjk5NTk5ZDguLmM3ODg5ZjZjZjgzZmNlYjM2MTY2NmJm
NzJjYjg3ZGUzMzU4NjQzMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtNTQ1LDYgKzU0NSwxMiBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fZG9tTWVtb3J5VXNhZ2UucHJvY2Vzc0RlZmVycmVkSW5zdHJ1bWVudGVkUG9pbnRlcnMo
KTsKICAgICB9CiAKKyAgICB2b2lkIHZpc2l0RnJhbWUoRnJhbWUqIGZyYW1lKQorICAgIHsKKyAg
ICAgICAgbV9kb21NZW1vcnlVc2FnZS5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoZnJhbWUpOworICAg
ICAgICBtX2RvbU1lbW9yeVVzYWdlLnByb2Nlc3NEZWZlcnJlZEluc3RydW1lbnRlZFBvaW50ZXJz
KCk7CisgICAgfQorCiAgICAgdm9pZCB2aXNpdEJpbmRpbmdzKCkKICAgICB7CiAgICAgICAgIFNj
cmlwdFByb2ZpbGVyOjpjb2xsZWN0QmluZGluZ01lbW9yeUluZm8oJm1fZG9tTWVtb3J5VXNhZ2Up
OwpAQCAtNTcwLDggKzU3NiwxMCBAQCBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JNZW1vcnlC
bG9jaz4gZG9tVHJlZUluZm8oUGFnZSogcGFnZSwgVmlzaXRlZE9iamVjdHMmCiAKICAgICAvLyBN
YWtlIHN1cmUgYWxsIGRvY3VtZW50cyByZWFjaGFibGUgZnJvbSB0aGUgbWFpbiBmcmFtZSBhcmUg
YWNjb3VudGVkLgogICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7IGZy
YW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAgICAgIGlm
IChEb2N1bWVudCogZG9jID0gZnJhbWUtPmRvY3VtZW50KCkpCisgICAgICAgIGlmIChEb2N1bWVu
dCogZG9jID0gZnJhbWUtPmRvY3VtZW50KCkpIHsKICAgICAgICAgICAgIGRvbVRyZWVzSXRlcmF0
b3IudmlzaXROb2RlKGRvYyk7CisgICAgICAgICAgICBkb21UcmVlc0l0ZXJhdG9yLnZpc2l0RnJh
bWUoZnJhbWUpOworICAgICAgICB9CiAgICAgfQogCiAgICAgZG9tVHJlZXNJdGVyYXRvci52aXNp
dEJpbmRpbmdzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRl
eCBiZjZjYjllZmQ0OTA5MWFiMTMxMjNjZGIyMWVhNDhiMjc4NDk1MDFlLi4yYjVmODliNmE1NGM0
NDVjNDQ2ZDBmZWUzYTE2NzlkNDFlNDBlMDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWFpblJlc291
cmNlTG9hZGVyLmgiCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKQEAgLTM1NCw2ICszNTUsMjIgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29tbWl0RGF0
YShjb25zdCBjaGFyKiBieXRlcywgc2l6ZV90IGxlbmd0aCkKICAgICBtX3dyaXRlci5hZGREYXRh
KGJ5dGVzLCBsZW5ndGgpOwogfQogCit2b2lkIERvY3VtZW50TG9hZGVyOjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1l
bW9yeUNsYXNzSW5mbzxEb2N1bWVudExvYWRlcj4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgaW5mby5hZGRIYXNoU2V0KG1fc3Vi
cmVzb3VyY2VMb2FkZXJzKTsKKyAgICBpbmZvLmFkZEhhc2hTZXQobV9tdWx0aXBhcnRTdWJyZXNv
dXJjZUxvYWRlcnMpOworICAgIGluZm8uYWRkSGFzaFNldChtX3BsdWdJblN0cmVhbUxvYWRlcnMp
OworICAgIGluZm8uYWRkU3RyaW5nKG1fcGFnZVRpdGxlLnN0cmluZygpKTsKKyAgICBpbmZvLmFk
ZFN0cmluZyhtX292ZXJyaWRlRW5jb2RpbmcpOworICAgIGluZm8uYWRkVmVjdG9yKG1fcmVzcG9u
c2VzKTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291cmNlcyk7
CisgICAgaW5mby5hZGRIYXNoU2V0KG1fcmVzb3VyY2VzQ2xpZW50S25vd3NBYm91dCk7CisgICAg
aW5mby5hZGRWZWN0b3IobV9yZXNvdXJjZXNMb2FkZWRGcm9tTWVtb3J5Q2FjaGVGb3JDbGllbnRO
b3RpZmljYXRpb24pOworICAgIGluZm8uYWRkU3RyaW5nKG1fY2xpZW50UmVkaXJlY3RTb3VyY2VG
b3JIaXN0b3J5KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21haW5SZXNvdXJj
ZURhdGEuZ2V0KCkpOworfQorCiBib29sIERvY3VtZW50TG9hZGVyOjpkb2VzUHJvZ3Jlc3NpdmVM
b2FkKGNvbnN0IFN0cmluZyYgTUlNRVR5cGUpIGNvbnN0CiB7CiAgICAgcmV0dXJuICFmcmFtZUxv
YWRlcigpLT5pc1JlcGxhY2luZygpIHx8IE1JTUVUeXBlID09ICJ0ZXh0L2h0bWwiOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCBiMGI1MGVhZmJmNmJiNGVjYzY3ZDY3
ZDRjMWE5ZGIyMDcxZTliYjRiLi45NDE4MGZkNWQ3NjJhNzAxNDhjZTY2YmJlZjdjMWQyZjZlM2Yy
YTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaApAQCAtNTUsNiArNTUs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgRnJh
bWVMb2FkZXI7CiAgICAgY2xhc3MgTWFpblJlc291cmNlTG9hZGVyOworICAgIGNsYXNzIE1lbW9y
eU9iamVjdEluZm87CiAgICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlcjsK
ICAgICBjbGFzcyBTY2hlZHVsZVBhaXI7CkBAIC0yNDIsNiArMjQzLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIEFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBhcHBsaWNhdGlvbkNhY2hl
SG9zdCgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZUhvc3QuZ2V0KCk7IH0KIAor
ICAgICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyop
IGNvbnN0OworCiAgICAgcHJvdGVjdGVkOgogICAgICAgICBEb2N1bWVudExvYWRlcihjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdWJzdGl0dXRlRGF0YSYpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBiNjQwZjA4NTRhODE5ZTIyNTY3ZWYzYTMxNjAwN2Y4
MGJiZjI0NGVlLi5mNDYwMzIyMDRkMWU3ODk0OTUyYTkwNGM1NzIxMWZlMjkzYThjNTQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTc3LDYgKzc3LDcgQEAKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUg
Ik1haW5SZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1lbnRhdGlvbi5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ2FjaGUuaCIKICNpbmNsdWRlICJQ
YWdlR3JvdXAuaCIKQEAgLTMyMjAsNiArMzIyMSwxNiBAQCBOZXR3b3JraW5nQ29udGV4dCogRnJh
bWVMb2FkZXI6Om5ldHdvcmtpbmdDb250ZXh0KCkgY29uc3QKICAgICByZXR1cm4gbV9uZXR3b3Jr
aW5nQ29udGV4dC5nZXQoKTsKIH0KIAordm9pZCBGcmFtZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1v
cnlDbGFzc0luZm88RnJhbWVMb2FkZXI+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCkpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlci5nZXQoKSk7CisgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9wb2xpY3lEb2N1bWVudExvYWRlci5nZXQoKSk7CisgICAgaW5mby5hZGRT
dHJpbmcobV9vdXRnb2luZ1JlZmVycmVyKTsKKyAgICBpbmZvLmFkZEhhc2hTZXQobV9vcGVuZWRG
cmFtZXMpOworfQorCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50OjpoYXNIVE1MVmlldygpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4
IDg4MGE1YTJhNDU5ODU2M2E4NmE3NjNjN2YzNDc1ZTkxMThhOTMwOWIuLmUxMmNmMzAxN2RhMmFm
MjhlMDM3ZWMzZGY4MzIyNTVjNDhkNWJkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC02MSw2ICs2MSw3IEBAIGNsYXNzIEZvcm1TdGF0ZTsKIGNsYXNzIEZvcm1TdWJtaXNz
aW9uOwogY2xhc3MgRnJhbWVMb2FkZXJDbGllbnQ7CiBjbGFzcyBGcmFtZU5ldHdvcmtpbmdDb250
ZXh0OworY2xhc3MgTWVtb3J5T2JqZWN0SW5mbzsKIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBj
bGFzcyBOZXR3b3JraW5nQ29udGV4dDsKIGNsYXNzIFBhZ2U7CkBAIC0yODMsNiArMjg0LDggQEAg
cHVibGljOgogCiAgICAgTmV0d29ya2luZ0NvbnRleHQqIG5ldHdvcmtpbmdDb250ZXh0KCkgY29u
c3Q7CiAKKyAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25z
dDsKKwogcHJpdmF0ZToKICAgICBib29sIGFsbENoaWxkcmVuQXJlQ29tcGxldGUoKSBjb25zdDsg
Ly8gaW1tZWRpYXRlIGNoaWxkcmVuLCBub3QgYWxsIGRlc2NlbmRhbnRzCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggMDNhNzc5NzM3MWZjM2U2MzUwYjZhMzYwOTQyZjMwNjc2NjIzZjU2ZC4uZmMz
ZWM5ZThhYTg0ZTY2MTM0MDU5MjcwZTkxNzMxMWNhMzc5Yzc1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTY4NSw2ICs2ODUsMTMgQEAgdm9pZCBGcmFtZTo6ZGlzcGF0Y2hWaXNpYmlsaXR5U3Rh
dGVDaGFuZ2VFdmVudCgpCiB9CiAjZW5kaWYKIAordm9pZCBGcmFtZTo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1v
cnlDbGFzc0luZm88RnJhbWU+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjpET00pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9j
LmdldCgpKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2xvYWRlcik7Cit9CisK
IERPTVdpbmRvdyogRnJhbWU6OmRvbVdpbmRvdygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2RvbVdp
bmRvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCA3N2E3M2Q4MDcyNTcwYjBkYjI5ZDc0OWNjOTE3NDE3
ZTZiNjkxMjg3Li40NmJlYmQxMWRlNzI1YjBjNTU2NWNhYWQ1MGQ2MDRkMDA4YTc5MDVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5oCkBAIC02Niw2ICs2Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXI7CiAgICAgY2xhc3MgRnJhbWVWaWV3OwogICAg
IGNsYXNzIEhUTUxUYWJsZUNlbGxFbGVtZW50OworICAgIGNsYXNzIE1lbW9yeU9iamVjdEluZm87
CiAgICAgY2xhc3MgUmVndWxhckV4cHJlc3Npb247CiAgICAgY2xhc3MgUmVuZGVyUGFydDsKICAg
ICBjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZTsKQEAgLTExNyw2ICsxMTgsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZGlzcGF0Y2hWaXNpYmlsaXR5U3RhdGVDaGFuZ2VFdmVu
dCgpOwogI2VuZGlmCiAKKyAgICAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKikgY29uc3Q7CisKICAgICAvLyA9PT09PT09PSBBbGwgcHVibGljIGZ1bmN0aW9ucyBi
ZWxvdyB0aGlzIHBvaW50IGFyZSBjYW5kaWRhdGVzIHRvIG1vdmUgb3V0IG9mIEZyYW1lIGludG8g
YW5vdGhlciBjbGFzcy4gPT09PT09PT0KIAogICAgICAgICBib29sIGluU2NvcGUoVHJlZVNjb3Bl
KikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZm
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcAppbmRleCA4
MmVmYWI3NTM5N2M3NWY3ZWY2OTYyM2QzZWZkZGQzMzQ4YTBhMmY1Li45YjhkNTAzYmY5YjFlZjY3
NzE5Nzc5Y2YzYmNmYjE3MmQyMzNjYTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZEJ1ZmZlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJTaGFyZWRCdWZmZXIuaCIKIAorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1lbnRhdGlvbi5o
IgogI2luY2x1ZGUgIlB1cmdlYWJsZUJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAKQEAgLTI0NSw2ICsyNDYsMTYgQEAgY29uc3QgVmVjdG9yPGNoYXI+JiBTaGFyZWRCdWZm
ZXI6OmJ1ZmZlcigpIGNvbnN0CiAgICAgcmV0dXJuIG1fYnVmZmVyOwogfQogCit2b2lkIFNoYXJl
ZEJ1ZmZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88U2hhcmVkQnVmZmVyPiBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6T3RoZXIpOworICAg
IGluZm8uYWRkVmVjdG9yKG1fYnVmZmVyKTsKKyAgICBpbmZvLmFkZFZlY3RvcihtX3NlZ21lbnRz
KTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9zZWdtZW50cy5zaXplKCk7ICsraSkK
KyAgICAgICAgaW5mby5hZGRSYXdCdWZmZXIobV9zZWdtZW50c1tpXSwgc2VnbWVudFNpemUpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fcHVyZ2VhYmxlQnVmZmVyLmdldCgpKTsKK30KKwogdW5zaWdu
ZWQgU2hhcmVkQnVmZmVyOjpnZXRTb21lRGF0YShjb25zdCBjaGFyKiYgc29tZURhdGEsIHVuc2ln
bmVkIHBvc2l0aW9uKSBjb25zdAogewogICAgIHVuc2lnbmVkIHRvdGFsU2l6ZSA9IHNpemUoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgKaW5kZXggYjY2YTAzM2U1MzNmN2M1
YWI4N2M1ZDhmZGIzZDEwYmRlMzMxMDEyZi4uODc5ZTRiMjg1NjA2ZDkzMGM3NGExZjVmMTlmMmRm
OWRlOTE4YmRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVm
ZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgKQEAgLTQz
LDYgKzQzLDcgQEAgT0JKQ19DTEFTUyBOU0RhdGE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAKK2NsYXNzIE1lbW9yeU9iamVjdEluZm87CiBjbGFzcyBQdXJnZWFibGVCdWZmZXI7CiAKIGNs
YXNzIFNoYXJlZEJ1ZmZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlZEJ1ZmZlcj4gewpAQCAt
MTE0LDYgKzExNSw4IEBAIHB1YmxpYzoKICAgICAvLyAgICAgIH0KICAgICB1bnNpZ25lZCBnZXRT
b21lRGF0YShjb25zdCBjaGFyKiYgZGF0YSwgdW5zaWduZWQgcG9zaXRpb24gPSAwKSBjb25zdDsK
IAorICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0Owor
CiBwcml2YXRlOgogICAgIFNoYXJlZEJ1ZmZlcigpOwogICAgIFNoYXJlZEJ1ZmZlcihzaXplX3Qp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152762</attachid>
            <date>2012-07-17 07:50:20 -0700</date>
            <delta_ts>2012-07-17 13:09:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90686-20120717185018.patch</filename>
            <type>text/plain</type>
            <size>19223</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE3NzQyZmViMDQ3YWNj
Mjg1OWRjOTZhZGI0ODE3YWVkNGQ3ZTRiNy4uYjRiNTk0ZjNkMTYxNzMxMzdkMWU4YWVmNmM4MmFh
ZTJiMTI3ODA0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDEyLTA3LTE3ICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzaG93IGxvYWRlcnMgbWVtb3J5IGNvbnN1bXB0aW9uIG9uIHRoZSBtZW1vcnkgY2hhcnQu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDY4Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpemUgb2Yg
RnJhbWVMb2FkZXIsIERvY3VtZW50TG9hZGVyLCBSZXNvdXJjZUxvYWRlciBhbmQgdGhlaXIgcmVz
b3VyY2VzIHNob3VsZCBiZSBzaG93biBvbiB0aGUgbWVtb3J5IHBpZSBjaGFydC4KKworICAgICAg
ICBJdCBpcyBjb3ZlcmVkIGJ5IGV4aXN0aW5nIFdlYkluc3BlY3RvciBwZXJmb3JtYW5jZSB0ZXN0
cyBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAq
IGRvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKE1lbW9yeUluc3RydW1lbnRh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZFJhd0J1
ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3Ry
dW1lbnRlZE1lbWJlckltcGwpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZW1vcnlDbGFzc0luZm86OmFkZEluc3RydW1lbnRlZEhhc2hTZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVtb3J5Q2xhc3NJbmZvOjphZGRSYXdCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRIYXNoU2V0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkVmVjdG9yKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpkb21UcmVlSW5mbyk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXBvcnRNZW1v
cnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRM
b2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRG9jdW1lbnRMb2FkZXIpOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEZy
YW1lTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChSZXNvdXJjZUxvYWRlcik6CisgICAgICAgICogcGFnZS9GcmFt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9GcmFtZS5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChGcmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNoYXJlZEJ1ZmZlcik6CisKIDIwMTItMDctMTcg
IFZpdmVrIEdhbGF0YWdlICA8dml2ZWtnYWxhdGFnZUBnbWFpbC5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogcmVmYWN0b3IgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5k
KCkgdG8gYWNjZXB0IEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
aW5kZXggMTVlMjAyYTY2NWU4Yjg5MGQ1YWRiMDJmNDJiMzY2NjFkZjdiZDI1Ny4uOWVmYjJjNzdh
YzNlZWQ3MjUzZWZlYjgzMGM3ODY2MWY5NjUzZGY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAg
LTI1MCw2ICsyNTAsNyBAQCBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyOHNldFRpdGxlRVJL
TlNfMTlTdHJpbmdXaXRoRGlyZWN0aW9uRQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlckMx
RVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUktOU18xNFN1YnN0aXR1dGVEYXRhRQogX19aTjdXZWJD
b3JlMTREb2N1bWVudExvYWRlckMyRVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUktOU18xNFN1YnN0
aXR1dGVEYXRhRQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlckQyRXYKK19fWk5LN1dlYkNv
cmUxNERvY3VtZW50TG9hZGVyMTdyZXBvcnRNZW1vcnlVc2FnZUVQTlNfMTZNZW1vcnlPYmplY3RJ
bmZvRQogX19aTjdXZWJDb3JlMTREb2N1bWVudFdyaXRlcjExc2V0RW5jb2RpbmdFUktOM1dURjZT
dHJpbmdFYgogX19aTjdXZWJDb3JlMTRGaWxlSWNvbkxvYWRlcjE0bm90aWZ5RmluaXNoZWRFTjNX
VEYxMFBhc3NSZWZQdHJJTlNfNEljb25FRUUKIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb24x
MHNldEZvY3VzZWRFYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3Ry
dW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5o
CmluZGV4IGY3MmMzMjkzZGRjNzU5NDgwYmYzODkyOWUyYjdhYzc0YTE1OWM4NWEuLjExNGY5NmU2
OWQ3NDBlNjY5MDlkMjQ2MzU1MDI1ODE4NDVlNTYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
TWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2lmbmRlZiBNZW1v
cnlJbnN0cnVtZW50YXRpb25faAogI2RlZmluZSBNZW1vcnlJbnN0cnVtZW50YXRpb25faAorI2lu
Y2x1ZGUgPHN0ZGlvLmg+CiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CkBAIC01MCw2ICs1MSw3IEBAIHB1YmxpYzoKICAgICAgICAgRE9NLAog
ICAgICAgICBDU1MsCiAgICAgICAgIEJpbmRpbmcsCisgICAgICAgIExvYWRlciwKICAgICAgICAg
TGFzdFR5cGVFbnRyeQogICAgIH07CiAKQEAgLTY1LDggKzY3LDE1IEBAIHB1YmxpYzoKIAogICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoTWFwVHlwZT4gdm9pZCBhZGRIYXNoTWFwKGNvbnN0IEhh
c2hNYXBUeXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKICAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaFNldFR5cGU+IHZvaWQgYWRkSGFzaFNldChjb25zdCBIYXNo
U2V0VHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBmYWxzZSk7CisgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIEhhc2hTZXRUeXBlPiB2b2lkIGFkZEluc3RydW1lbnRlZEhhc2hTZXQo
Y29uc3QgSGFzaFNldFR5cGUmLCBPYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5ID0gZmFsc2Up
OwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBMaXN0SGFzaFNldFR5cGU+IHZvaWQgYWRkTGlzdEhh
c2hTZXQoY29uc3QgTGlzdEhhc2hTZXRUeXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25s
eSA9IGZhbHNlKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmVjdG9yVHlwZT4gdm9pZCBhZGRW
ZWN0b3IoY29uc3QgVmVjdG9yVHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBm
YWxzZSk7CisgICAgdm9pZCBhZGRSYXdCdWZmZXIoY29uc3Qgdm9pZCogY29uc3QmIGJ1ZmZlciwg
T2JqZWN0VHlwZSBvYmplY3RUeXBlLCBzaXplX3Qgc2l6ZSkKKyAgICB7CisgICAgICAgIGlmICgh
YnVmZmVyIHx8IHZpc2l0ZWQoYnVmZmVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
Y291bnRPYmplY3RTaXplKG9iamVjdFR5cGUsIHNpemUpOworICAgIH0KIAogcHJvdGVjdGVkOgog
ICAgIGVudW0gT3duaW5nVHlwZSB7CkBAIC04Niw4ICs5NSw5IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgc3RhdGljIHZvaWQgYWRkTWVtYmVyKE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVu
dGF0aW9uLCBjb25zdCBUKiBjb25zdCYgdCwgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpPYmplY3RU
eXBlIG9iamVjdFR5cGUpIHsgaW5zdHJ1bWVudGF0aW9uLT5hZGRNZW1iZXJJbXBsKHQsIG9iamVj
dFR5cGUsIGJ5UG9pbnRlcik7IH0KICAgICB9OwogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
Ci0gICAgdm9pZCBhZGRJbnN0cnVtZW50ZWRNZW1iZXJJbXBsKGNvbnN0IFQqIGNvbnN0JiBvYmpl
Y3QsIE93bmluZ1R5cGUgb3duaW5nVHlwZSk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZv
aWQgYWRkSW5zdHJ1bWVudGVkTWVtYmVySW1wbChjb25zdCBUKiBjb25zdCYsIE93bmluZ1R5cGUp
OworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIGFkZEluc3RydW1lbnRlZE1lbWJlcklt
cGwoY29uc3QgT3duUHRyPFQ+KiBjb25zdCYgb2JqZWN0LCBNZW1vcnlJbnN0cnVtZW50YXRpb246
Ok93bmluZ1R5cGUgb3duaW5nVHlwZSkgeyBhZGRJbnN0cnVtZW50ZWRNZW1iZXJJbXBsKG9iamVj
dC0+Z2V0KCksIG93bmluZ1R5cGUpOyB9CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQg
YWRkSW5zdHJ1bWVudGVkTWVtYmVySW1wbChjb25zdCBSZWZQdHI8VD4qIGNvbnN0JiBvYmplY3Qs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6T3duaW5nVHlwZSBvd25pbmdUeXBlKSB7IGFkZEluc3Ry
dW1lbnRlZE1lbWJlckltcGwob2JqZWN0LT5nZXQoKSwgb3duaW5nVHlwZSk7IH0KIAogICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPgogICAgIHZvaWQgYWRkTWVtYmVySW1wbChjb25zdCBUKiBjb25z
dCYgb2JqZWN0LCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIE93bmluZ1R5cGUgb3duaW5nVHlwZSkK
QEAgLTE2NCw2ICsxNzQsNyBAQCBwcml2YXRlOgogdGVtcGxhdGUgPD4gdm9pZCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OmFkZE1lbWJlckltcGw8QXRvbWljU3RyaW5nPihjb25zdCBBdG9taWNTdHJp
bmcqIGNvbnN0JiwgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpPYmplY3RUeXBlLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246Ok93bmluZ1R5cGUpOwogdGVtcGxhdGUgPD4gdm9pZCBNZW1vcnlJbnN0cnVt
ZW50YXRpb246OmFkZE1lbWJlckltcGw8U3RyaW5nPihjb25zdCBTdHJpbmcqIGNvbnN0JiwgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpPYmplY3RUeXBlLCBNZW1vcnlJbnN0cnVtZW50YXRpb246Ok93
bmluZ1R5cGUpOwogCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogdm9pZCBNZW1vcnlJbnN0cnVt
ZW50YXRpb246OmFkZEluc3RydW1lbnRlZE1lbWJlckltcGwoY29uc3QgVCogY29uc3QmIG9iamVj
dCwgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpPd25pbmdUeXBlIG93bmluZ1R5cGUpCiB7CkBAIC0x
NzYsNiArMTg3LDcgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRl
ZE1lbWJlckltcGwoY29uc3QgVCogY29uc3QmIG9iamVjdCwgTWUKICAgICAgICAgZGVmZXJJbnN0
cnVtZW50ZWRQb2ludGVyKGFkb3B0UHRyKG5ldyBJbnN0cnVtZW50ZWRQb2ludGVyPFQ+KG9iamVj
dCkpKTsKIH0KIAorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIGNsYXNzIE1lbW9yeUNsYXNzSW5m
byB7CiBwdWJsaWM6CkBAIC0xOTQsOCArMjA2LDEwIEBAIHB1YmxpYzoKIAogICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBIYXNoTWFwVHlwZT4gdm9pZCBhZGRIYXNoTWFwKGNvbnN0IEhhc2hNYXBUeXBl
JiBtYXApIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZEhhc2hNYXAobWFwLCBtX29iamVj
dFR5cGUsIHRydWUpOyB9CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hTZXRUeXBlPiB2b2lk
IGFkZEhhc2hTZXQoY29uc3QgSGFzaFNldFR5cGUmIHNldCkgeyBtX21lbW9yeUluc3RydW1lbnRh
dGlvbi0+YWRkSGFzaFNldChzZXQsIG1fb2JqZWN0VHlwZSwgdHJ1ZSk7IH0KKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgSGFzaFNldFR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkSGFzaFNldChjb25z
dCBIYXNoU2V0VHlwZSYgc2V0KSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRJbnN0cnVt
ZW50ZWRIYXNoU2V0KHNldCwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQogICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBMaXN0SGFzaFNldFR5cGU+IHZvaWQgYWRkTGlzdEhhc2hTZXQoY29uc3QgTGlzdEhh
c2hTZXRUeXBlJiBzZXQpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZExpc3RIYXNoU2V0
KHNldCwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWZWN0
b3JUeXBlPiB2b2lkIGFkZFZlY3Rvcihjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IpIHsgbV9tZW1v
cnlJbnN0cnVtZW50YXRpb24tPmFkZFZlY3Rvcih2ZWN0b3IsIG1fb2JqZWN0VHlwZSwgdHJ1ZSk7
IH0KKyAgICB2b2lkIGFkZFJhd0J1ZmZlcihjb25zdCB2b2lkKiBjb25zdCYgYnVmZmVyLCBzaXpl
X3Qgc2l6ZSkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkUmF3QnVmZmVyKGJ1ZmZlciwg
bV9vYmplY3RUeXBlLCBzaXplKTsgfQogCiAgICAgdm9pZCBhZGRTdHJpbmcoY29uc3QgU3RyaW5n
JiBzdHJpbmcpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZFN0cmluZyhzdHJpbmcsIG1f
b2JqZWN0VHlwZSk7IH0KICAgICB2b2lkIGFkZFN0cmluZyhjb25zdCBBdG9taWNTdHJpbmcmIHN0
cmluZykgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkU3RyaW5nKChjb25zdCBTdHJpbmcm
KXN0cmluZywgbV9vYmplY3RUeXBlKTsgfQpAQCAtMjIwLDYgKzIzNCwxNiBAQCB2b2lkIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6YWRkSGFzaFNldChjb25zdCBIYXNoU2V0VHlwZSYgaGFzaFNldCwg
T2JqZWN0VHlwZSBvYgogICAgIGNvdW50T2JqZWN0U2l6ZShvYmplY3RUeXBlLCBjYWxjdWxhdGVD
b250YWluZXJTaXplKGhhc2hTZXQsIGNvbnRlbnRPbmx5KSk7CiB9CiAKK3RlbXBsYXRlPHR5cGVu
YW1lIEhhc2hTZXRUeXBlPgordm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1l
bnRlZEhhc2hTZXQoY29uc3QgSGFzaFNldFR5cGUmIGhhc2hTZXQsIE9iamVjdFR5cGUgb2JqZWN0
VHlwZSwgYm9vbCBjb250ZW50T25seSkKK3sKKyAgICBpZiAodmlzaXRlZCgmaGFzaFNldCkpCisg
ICAgICAgIHJldHVybjsKKyAgICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwgY2FsY3VsYXRl
Q29udGFpbmVyU2l6ZShoYXNoU2V0LCBjb250ZW50T25seSkpOworICAgIGZvciAodHlwZW5hbWUg
SGFzaFNldFR5cGU6OmNvbnN0X2l0ZXJhdG9yIGkgPSBoYXNoU2V0LmJlZ2luKCk7IGkgIT0gaGFz
aFNldC5lbmQoKTsgKytpKQorICAgICAgICBhZGRJbnN0cnVtZW50ZWRNZW1iZXIoKmkpOworfQor
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBMaXN0SGFzaFNldFR5cGU+CiB2b2lkIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6YWRkTGlzdEhhc2hTZXQoY29uc3QgTGlzdEhhc2hTZXRUeXBlJiBoYXNoU2V0LCBP
YmplY3RUeXBlIG9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkpCiB7CkBAIC0yMzIsNyArMjU2
LDcgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZExpc3RIYXNoU2V0KGNvbnN0IExp
c3RIYXNoU2V0VHlwZSYgaGFzaFNldCwgT2JqZWMKIHRlbXBsYXRlIDx0eXBlbmFtZSBWZWN0b3JU
eXBlPgogdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZFZlY3Rvcihjb25zdCBWZWN0b3JU
eXBlJiB2ZWN0b3IsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkKIHsK
LSAgICBpZiAodmlzaXRlZCh2ZWN0b3IuZGF0YSgpKSkKKyAgICBpZiAoIXZlY3Rvci5kYXRhKCkg
fHwgdmlzaXRlZCh2ZWN0b3IuZGF0YSgpKSkKICAgICAgICAgcmV0dXJuOwogICAgIGNvdW50T2Jq
ZWN0U2l6ZShvYmplY3RUeXBlLCBjYWxjdWxhdGVDb250YWluZXJTaXplKHZlY3RvciwgY29udGVu
dE9ubHkpKTsKIH0KQEAgLTI0NSw2ICsyNjksNyBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6SW5zdHJ1bWVudGVkUG9pbnRlcjxUPjo6cHJvY2VzcyhNZW1vcnlJbnN0cnVtZW50YXRpbwog
ICAgIG1lbW9yeUluc3RydW1lbnRhdGlvbi0+Y291bnRPYmplY3RTaXplKG1lbW9yeU9iamVjdElu
Zm8ub2JqZWN0VHlwZSgpLCBtZW1vcnlPYmplY3RJbmZvLm9iamVjdFNpemUoKSk7CiB9CiAKKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gIWRlZmluZWQoTWVtb3J5SW5zdHJ1
bWVudGF0aW9uX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yTWVtb3J5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1l
bW9yeUFnZW50LmNwcAppbmRleCAyYWQwMTQ1NzY5ZDAxNjc0ZjEyZjE0M2MxNDYxNTg2ZGY5OTU5
OWQ4Li5jNzg4OWY2Y2Y4M2ZjZWIzNjE2NjZiZjcyY2I4N2RlMzM1ODY0MzIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTU0
NSw2ICs1NDUsMTIgQEAgcHVibGljOgogICAgICAgICBtX2RvbU1lbW9yeVVzYWdlLnByb2Nlc3NE
ZWZlcnJlZEluc3RydW1lbnRlZFBvaW50ZXJzKCk7CiAgICAgfQogCisgICAgdm9pZCB2aXNpdEZy
YW1lKEZyYW1lKiBmcmFtZSkKKyAgICB7CisgICAgICAgIG1fZG9tTWVtb3J5VXNhZ2UuYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKGZyYW1lKTsKKyAgICAgICAgbV9kb21NZW1vcnlVc2FnZS5wcm9jZXNz
RGVmZXJyZWRJbnN0cnVtZW50ZWRQb2ludGVycygpOworICAgIH0KKwogICAgIHZvaWQgdmlzaXRC
aW5kaW5ncygpCiAgICAgewogICAgICAgICBTY3JpcHRQcm9maWxlcjo6Y29sbGVjdEJpbmRpbmdN
ZW1vcnlJbmZvKCZtX2RvbU1lbW9yeVVzYWdlKTsKQEAgLTU3MCw4ICs1NzYsMTAgQEAgc3RhdGlj
IFBhc3NSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGRvbVRyZWVJbmZvKFBhZ2UqIHBhZ2Us
IFZpc2l0ZWRPYmplY3RzJgogCiAgICAgLy8gTWFrZSBzdXJlIGFsbCBkb2N1bWVudHMgcmVhY2hh
YmxlIGZyb20gdGhlIG1haW4gZnJhbWUgYXJlIGFjY291bnRlZC4KICAgICBmb3IgKEZyYW1lKiBm
cmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50
cmF2ZXJzZU5leHQoKSkgewotICAgICAgICBpZiAoRG9jdW1lbnQqIGRvYyA9IGZyYW1lLT5kb2N1
bWVudCgpKQorICAgICAgICBpZiAoRG9jdW1lbnQqIGRvYyA9IGZyYW1lLT5kb2N1bWVudCgpKSB7
CiAgICAgICAgICAgICBkb21UcmVlc0l0ZXJhdG9yLnZpc2l0Tm9kZShkb2MpOworICAgICAgICAg
ICAgZG9tVHJlZXNJdGVyYXRvci52aXNpdEZyYW1lKGZyYW1lKTsKKyAgICAgICAgfQogICAgIH0K
IAogICAgIGRvbVRyZWVzSXRlcmF0b3IudmlzaXRCaW5kaW5ncygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggYmY2Y2I5ZWZkNDkwOTFhYjEzMTIzY2RiMjFl
YTQ4YjI3ODQ5NTAxZS4uMTM0ODUwNTdkZGZkNTk2ZjcyYmQ3NzExMTdmZTYwM2Q2YjRiZGI0YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00Nyw2ICs0Nyw3
IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgIk1haW5SZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIk1lbW9y
eUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC0zNTQsNiArMzU1LDIyIEBAIHZv
aWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERhdGEoY29uc3QgY2hhciogYnl0ZXMsIHNpemVfdCBs
ZW5ndGgpCiAgICAgbV93cml0ZXIuYWRkRGF0YShieXRlcywgbGVuZ3RoKTsKIH0KIAordm9pZCBE
b2N1bWVudExvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88RG9jdW1lbnRMb2FkZXI+
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2Fk
ZXIpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkSGFzaFNldChtX3N1YnJlc291cmNlTG9hZGVy
cyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNoU2V0KG1fbXVsdGlwYXJ0U3VicmVzb3Vy
Y2VMb2FkZXJzKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZEhhc2hTZXQobV9wbHVnSW5TdHJl
YW1Mb2FkZXJzKTsKKyAgICBpbmZvLmFkZFN0cmluZyhtX3BhZ2VUaXRsZS5zdHJpbmcoKSk7Cisg
ICAgaW5mby5hZGRTdHJpbmcobV9vdmVycmlkZUVuY29kaW5nKTsKKyAgICBpbmZvLmFkZFZlY3Rv
cihtX3Jlc3BvbnNlcyk7CisgICAgaW5mby5hZGRIYXNoTWFwKG1fcGVuZGluZ1N1YnN0aXR1dGVS
ZXNvdXJjZXMpOworICAgIGluZm8uYWRkSGFzaFNldChtX3Jlc291cmNlc0NsaWVudEtub3dzQWJv
dXQpOworICAgIGluZm8uYWRkVmVjdG9yKG1fcmVzb3VyY2VzTG9hZGVkRnJvbU1lbW9yeUNhY2hl
Rm9yQ2xpZW50Tm90aWZpY2F0aW9uKTsKKyAgICBpbmZvLmFkZFN0cmluZyhtX2NsaWVudFJlZGly
ZWN0U291cmNlRm9ySGlzdG9yeSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9t
YWluUmVzb3VyY2VEYXRhKTsKK30KKwogYm9vbCBEb2N1bWVudExvYWRlcjo6ZG9lc1Byb2dyZXNz
aXZlTG9hZChjb25zdCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdAogewogICAgIHJldHVybiAhZnJh
bWVMb2FkZXIoKS0+aXNSZXBsYWNpbmcoKSB8fCBNSU1FVHlwZSA9PSAidGV4dC9odG1sIjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKaW5kZXggYjBiNTBlYWZiZjZiYjRlY2M2
N2Q2N2Q0YzFhOWRiMjA3MWU5YmI0Yi4uOTQxODBmZDVkNzYyYTcwMTQ4Y2U2NmJiZWY3YzFkMmY2
ZTNmMmExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTU1LDYg
KzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNz
IEZyYW1lTG9hZGVyOwogICAgIGNsYXNzIE1haW5SZXNvdXJjZUxvYWRlcjsKKyAgICBjbGFzcyBN
ZW1vcnlPYmplY3RJbmZvOwogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgUmVzb3VyY2VMb2Fk
ZXI7CiAgICAgY2xhc3MgU2NoZWR1bGVQYWlyOwpAQCAtMjQyLDYgKzI0Myw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBBcHBsaWNhdGlvbkNhY2hlSG9zdCogYXBwbGljYXRpb25D
YWNoZUhvc3QoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2FjaGVIb3N0LmdldCgpOyB9
CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qKSBjb25zdDsKKwogICAgIHByb3RlY3RlZDoKICAgICAgICAgRG9jdW1lbnRMb2FkZXIoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3Vic3RpdHV0ZURhdGEmKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggYjY0MGYwODU0YTgxOWUyMjU2N2VmM2EzMTYw
MDdmODBiYmYyNDRlZS4uYjc2ZjhjNWQ4YTFlY2U1OGZhMjJkNmE5MTlmNDlkNmMwZjYwNDlhZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC03Nyw2ICs3Nyw3IEBACiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNs
dWRlICJNYWluUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRlICJNZW1vcnlJbnN0cnVtZW50YXRp
b24uaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVk
ZSAiUGFnZUdyb3VwLmgiCkBAIC0zMjIwLDYgKzMyMjEsMTYgQEAgTmV0d29ya2luZ0NvbnRleHQq
IEZyYW1lTG9hZGVyOjpuZXR3b3JraW5nQ29udGV4dCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fbmV0
d29ya2luZ0NvbnRleHQuZ2V0KCk7CiB9CiAKK3ZvaWQgRnJhbWVMb2FkZXI6OnJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAg
TWVtb3J5Q2xhc3NJbmZvPEZyYW1lTG9hZGVyPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2RvY3VtZW50TG9hZGVyLmdldCgpKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIuZ2V0KCkpOworICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcG9saWN5RG9jdW1lbnRMb2FkZXIuZ2V0KCkpOworICAgIGlu
Zm8uYWRkU3RyaW5nKG1fb3V0Z29pbmdSZWZlcnJlcik7CisgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRIYXNoU2V0KG1fb3BlbmVkRnJhbWVzKTsKK30KKwogYm9vbCBGcmFtZUxvYWRlckNsaWVudDo6
aGFzSFRNTFZpZXcoKSBjb25zdAogewogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaAppbmRleCA4ODBhNWEyYTQ1OTg1NjNhODZhNzYzYzdmMzQ3NWU5MTE4YTkz
MDliLi5lMTJjZjMwMTdkYTJhZjI4ZTAzN2VjM2RmODMyMjU1YzQ4ZDViZDNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtNjEsNiArNjEsNyBAQCBjbGFzcyBGb3JtU3RhdGU7
CiBjbGFzcyBGb3JtU3VibWlzc2lvbjsKIGNsYXNzIEZyYW1lTG9hZGVyQ2xpZW50OwogY2xhc3Mg
RnJhbWVOZXR3b3JraW5nQ29udGV4dDsKK2NsYXNzIE1lbW9yeU9iamVjdEluZm87CiBjbGFzcyBO
YXZpZ2F0aW9uQWN0aW9uOwogY2xhc3MgTmV0d29ya2luZ0NvbnRleHQ7CiBjbGFzcyBQYWdlOwpA
QCAtMjgzLDYgKzI4NCw4IEBAIHB1YmxpYzoKIAogICAgIE5ldHdvcmtpbmdDb250ZXh0KiBuZXR3
b3JraW5nQ29udGV4dCgpIGNvbnN0OwogCisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKikgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgYm9vbCBhbGxDaGlsZHJlbkFy
ZUNvbXBsZXRlKCkgY29uc3Q7IC8vIGltbWVkaWF0ZSBjaGlsZHJlbiwgbm90IGFsbCBkZXNjZW5k
YW50cwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAzZGE3
N2JjNDcyMzc0YzI3NzAzZTE5YWM0ZjE3ZmQ1NjUwNGI5MmE3Li4yZGZlYjUxYjNiN2Y4ZjRkNjc1
MzhjZTFjMTgyYzcwZGMxN2FjODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTUyOCw0ICs1MjgsMTggQEAgQXN5bmNGaWxlU3RyZWFtKiBSZXNvdXJjZUxv
YWRlcjo6Y3JlYXRlQXN5bmNGaWxlU3RyZWFtKEZpbGVTdHJlYW1DbGllbnQqIGNsaWVudCkKIH0K
ICNlbmRpZgogCit2b2lkIFJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIHByaW50ZigiUmVzb3Vy
Y2VMb2FkZXI6ICV1XG4iLCBtX3Jlc291cmNlRGF0YSA/IG1fcmVzb3VyY2VEYXRhLT5zaXplKCkg
OiAwKTsKKyAgICBNZW1vcnlDbGFzc0luZm88UmVzb3VyY2VMb2FkZXI+IGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpOworICAgIGluZm8u
YWRkTWVtYmVyKG1faGFuZGxlLmdldCgpKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX2ZyYW1lKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvY3VtZW50TG9h
ZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3JlcXVlc3QpOworICAgIGluZm8uYWRkTWVtYmVy
KG1fb3JpZ2luYWxSZXF1ZXN0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jl
c291cmNlRGF0YSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9kZWZlcnJlZFJlcXVlc3QpOworICAg
IGluZm8uYWRkTWVtYmVyKG1fb3B0aW9ucyk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmgKaW5kZXggZjJkZGNjY2YzNDBhZTgzZmNhOWViZWYxZGQ3Mjg3YzczYWY4
N2E0Yi4uZGJmMWFiMTFkZDkxODMyN2QzNWE1OTUzZjNiNTc1ZmJlMzEyMjcyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIEZyYW1lTG9hZGVyOwogICAg
IGNsYXNzIEtVUkw7CisgICAgY2xhc3MgTWVtb3J5T2JqZWN0SW5mbzsKICAgICBjbGFzcyBSZXNv
dXJjZUhhbmRsZTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAgICAgCkBAIC0xNDQsNiArMTQ1
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZvaWQgc2V0U2hvdWxkQnVmZmVy
RGF0YShEYXRhQnVmZmVyaW5nUG9saWN5KTsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OworCiAgICAgcHJvdGVjdGVkOgog
ICAgICAgICBSZXNvdXJjZUxvYWRlcihGcmFtZSosIFJlc291cmNlTG9hZGVyT3B0aW9ucyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggMDNhNzc5NzM3MWZjM2U2MzUwYjZhMzYwOTQyZjMwNjc2
NjIzZjU2ZC4uZmMzZWM5ZThhYTg0ZTY2MTM0MDU5MjcwZTkxNzMxMWNhMzc5Yzc1MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAKQEAgLTY4NSw2ICs2ODUsMTMgQEAgdm9pZCBGcmFtZTo6ZGlzcGF0Y2hW
aXNpYmlsaXR5U3RhdGVDaGFuZ2VFdmVudCgpCiB9CiAjZW5kaWYKIAordm9pZCBGcmFtZTo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
K3sKKyAgICBNZW1vcnlDbGFzc0luZm88RnJhbWU+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fZG9jLmdldCgpKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2xv
YWRlcik7Cit9CisKIERPTVdpbmRvdyogRnJhbWU6OmRvbVdpbmRvdygpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX2RvbVdpbmRvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCA3N2E3M2Q4MDcyNTcwYjBkYjI5
ZDc0OWNjOTE3NDE3ZTZiNjkxMjg3Li40NmJlYmQxMWRlNzI1YjBjNTU2NWNhYWQ1MGQ2MDRkMDA4
YTc5MDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC02Niw2ICs2Niw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXI7CiAgICAgY2xhc3MgRnJh
bWVWaWV3OwogICAgIGNsYXNzIEhUTUxUYWJsZUNlbGxFbGVtZW50OworICAgIGNsYXNzIE1lbW9y
eU9iamVjdEluZm87CiAgICAgY2xhc3MgUmVndWxhckV4cHJlc3Npb247CiAgICAgY2xhc3MgUmVu
ZGVyUGFydDsKICAgICBjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZTsKQEAgLTExNyw2ICsxMTgsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZGlzcGF0Y2hWaXNpYmlsaXR5U3Rh
dGVDaGFuZ2VFdmVudCgpOwogI2VuZGlmCiAKKyAgICAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisKICAgICAvLyA9PT09PT09PSBBbGwgcHVibGlj
IGZ1bmN0aW9ucyBiZWxvdyB0aGlzIHBvaW50IGFyZSBjYW5kaWRhdGVzIHRvIG1vdmUgb3V0IG9m
IEZyYW1lIGludG8gYW5vdGhlciBjbGFzcy4gPT09PT09PT0KIAogICAgICAgICBib29sIGluU2Nv
cGUoVHJlZVNjb3BlKikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TaGFyZWRCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVy
LmNwcAppbmRleCA4MmVmYWI3NTM5N2M3NWY3ZWY2OTYyM2QzZWZkZGQzMzQ4YTBhMmY1Li45Yjhk
NTAzYmY5YjFlZjY3NzE5Nzc5Y2YzYmNmYjE3MmQyMzNjYTJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAorI2luY2x1ZGUgIk1lbW9yeUluc3Ry
dW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlB1cmdlYWJsZUJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTI0NSw2ICsyNDYsMTYgQEAgY29uc3QgVmVjdG9yPGNoYXI+
JiBTaGFyZWRCdWZmZXI6OmJ1ZmZlcigpIGNvbnN0CiAgICAgcmV0dXJuIG1fYnVmZmVyOwogfQog
Cit2b2lkIFNoYXJlZEJ1ZmZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88U2hhcmVkQnVm
ZmVyPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
T3RoZXIpOworICAgIGluZm8uYWRkVmVjdG9yKG1fYnVmZmVyKTsKKyAgICBpbmZvLmFkZFZlY3Rv
cihtX3NlZ21lbnRzKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9zZWdtZW50cy5z
aXplKCk7ICsraSkKKyAgICAgICAgaW5mby5hZGRSYXdCdWZmZXIobV9zZWdtZW50c1tpXSwgc2Vn
bWVudFNpemUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcHVyZ2VhYmxlQnVmZmVyLmdldCgpKTsK
K30KKwogdW5zaWduZWQgU2hhcmVkQnVmZmVyOjpnZXRTb21lRGF0YShjb25zdCBjaGFyKiYgc29t
ZURhdGEsIHVuc2lnbmVkIHBvc2l0aW9uKSBjb25zdAogewogICAgIHVuc2lnbmVkIHRvdGFsU2l6
ZSA9IHNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1
ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgKaW5kZXggYjY2
YTAzM2U1MzNmN2M1YWI4N2M1ZDhmZGIzZDEwYmRlMzMxMDEyZi4uODc5ZTRiMjg1NjA2ZDkzMGM3
NGExZjVmMTlmMmRmOWRlOTE4YmRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2hhcmVkQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVm
ZmVyLmgKQEAgLTQzLDYgKzQzLDcgQEAgT0JKQ19DTEFTUyBOU0RhdGE7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAKK2NsYXNzIE1lbW9yeU9iamVjdEluZm87CiBjbGFzcyBQdXJnZWFibGVC
dWZmZXI7CiAKIGNsYXNzIFNoYXJlZEJ1ZmZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlZEJ1
ZmZlcj4gewpAQCAtMTE0LDYgKzExNSw4IEBAIHB1YmxpYzoKICAgICAvLyAgICAgIH0KICAgICB1
bnNpZ25lZCBnZXRTb21lRGF0YShjb25zdCBjaGFyKiYgZGF0YSwgdW5zaWduZWQgcG9zaXRpb24g
PSAwKSBjb25zdDsKIAorICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byopIGNvbnN0OworCiBwcml2YXRlOgogICAgIFNoYXJlZEJ1ZmZlcigpOwogICAgIFNoYXJlZEJ1
ZmZlcihzaXplX3QpOwo=
</data>
<flag name="review"
          id="161518"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>