<?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>111075</bug_id>
          
          <creation_ts>2013-02-28 06:38:18 -0800</creation_ts>
          <short_desc>[WK2][EFL] WebView should own page position and scale factor</short_desc>
          <delta_ts>2013-04-05 06:15:42 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>107657</blocked>
    
    <blocked>107662</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>844031</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-02-28 06:38:18 -0800</bug_when>
    <thetext>SSIA.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844049</commentid>
    <comment_count>1</comment_count>
      <attachid>190721</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-02-28 07:00:14 -0800</bug_when>
    <thetext>Created attachment 190721
WIP

The code looks better now and EwkView usage is decreased inside WebView. But on the other hand 1) having scale factors both inside view and page is confusing 2) maybe it&apos;s better to use &quot;viewport position&quot; than &quot;page position&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846009</commentid>
    <comment_count>2</comment_count>
      <attachid>190721</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-03-03 06:52:40 -0800</bug_when>
    <thetext>Comment on attachment 190721
WIP

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

&gt; Source/WebKit2/UIProcess/API/C/efl/WKView.cpp:69
&gt; +
&gt; +void WKViewSetScaleFactor(WKViewRef viewRef, float scale)
&gt; +{
&gt; +    toImpl(viewRef)-&gt;setScaleFactor(scale);
&gt; +}

Should this be SetPageScaleFactor for consistency?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847579</commentid>
    <comment_count>3</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-03-05 05:20:26 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 190721 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190721&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/efl/WKView.cpp:69
&gt; &gt; +
&gt; &gt; +void WKViewSetScaleFactor(WKViewRef viewRef, float scale)
&gt; &gt; +{
&gt; &gt; +    toImpl(viewRef)-&gt;setScaleFactor(scale);
&gt; &gt; +}
&gt; 
&gt; Should this be SetPageScaleFactor for consistency?

wouldn&apos;t it be confusing for the client considering the existing &apos;void WKPageSetScaleFactor(WKPageRef page, double scale, WKPoint origin);&apos; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858223</commentid>
    <comment_count>4</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-03-19 06:31:52 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 190721 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190721&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/C/efl/WKView.cpp:69
&gt; &gt; &gt; +
&gt; &gt; &gt; +void WKViewSetScaleFactor(WKViewRef viewRef, float scale)
&gt; &gt; &gt; +{
&gt; &gt; &gt; +    toImpl(viewRef)-&gt;setScaleFactor(scale);
&gt; &gt; &gt; +}
&gt; &gt; 
&gt; &gt; Should this be SetPageScaleFactor for consistency?
&gt; 
&gt; wouldn&apos;t it be confusing for the client considering the existing &apos;void WKPageSetScaleFactor(WKPageRef page, double scale, WKPoint origin);&apos; ?

Having IRC discussion with Kenneth came to conclusion that WKViewSetContentScaleFactor would be most appropriate name for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858288</commentid>
    <comment_count>5</comment_count>
      <attachid>193830</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-03-19 07:57:19 -0700</bug_when>
    <thetext>Created attachment 193830
WIP 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858295</commentid>
    <comment_count>6</comment_count>
      <attachid>193830</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-03-19 08:09:59 -0700</bug_when>
    <thetext>Comment on attachment 193830
WIP 2

LGTM, but a good changelog explaining the difference between WKPageSetScaleFactor etc would be needed. Also explaining that these are in UI units</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869692</commentid>
    <comment_count>7</comment_count>
      <attachid>196615</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-05 04:08:50 -0700</bug_when>
    <thetext>Created attachment 196615
patch

Rebased. Added change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869729</commentid>
    <comment_count>8</comment_count>
      <attachid>196615</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-05 06:15:39 -0700</bug_when>
    <thetext>Comment on attachment 196615
patch

Clearing flags on attachment: 196615

Committed r147741: &lt;http://trac.webkit.org/changeset/147741&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869730</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-05 06:15:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190721</attachid>
            <date>2013-02-28 07:00:14 -0800</date>
            <delta_ts>2013-03-19 07:57:19 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug111075_WIP</filename>
            <type>text/plain</type>
            <size>8836</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDhlYWE0NTJiNmI0YzFjNzY0YzExNjE3OTExNTVjYWU5MTZmYWU4ODUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VGh1IEZlYiAyOCAxNjo1MzozMSAyMDEzICswMjAwCgogICAgYnVnMTExMDc1CgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwCmluZGV4IDE3NzkxMWYuLmQ4
ZTFhYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5j
cHAKQEAgLTU4LDYgKzU4LDI3IEBAIHZvaWQgV0tWaWV3U2V0Vmlld0NsaWVudChXS1ZpZXdSZWYg
dmlld1JlZiwgY29uc3QgV0tWaWV3Q2xpZW50KiBjbGllbnQpCiAgICAgdG9JbXBsKHZpZXdSZWYp
LT5pbml0aWFsaXplQ2xpZW50KGNsaWVudCk7CiB9CiAKK2Zsb2F0IFdLVmlld0dldFNjYWxlRmFj
dG9yKFdLVmlld1JlZiB2aWV3UmVmKQoreworICAgIHJldHVybiB0b0ltcGwodmlld1JlZiktPnNj
YWxlRmFjdG9yKCk7Cit9CisKK3ZvaWQgV0tWaWV3U2V0U2NhbGVGYWN0b3IoV0tWaWV3UmVmIHZp
ZXdSZWYsIGZsb2F0IHNjYWxlKQoreworICAgIHRvSW1wbCh2aWV3UmVmKS0+c2V0U2NhbGVGYWN0
b3Ioc2NhbGUpOworfQorCitXS1BvaW50IFdLVmlld0dldFBhZ2VQb3NpdGlvbihXS1ZpZXdSZWYg
dmlld1JlZikKK3sKKyAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiByZXN1bHQgPSB0b0lt
cGwodmlld1JlZiktPnBhZ2VQb3NpdGlvbigpOworICAgIHJldHVybiBXS1BvaW50TWFrZShyZXN1
bHQueCgpLCByZXN1bHQueSgpKTsKK30KKwordm9pZCBXS1ZpZXdTZXRQYWdlUG9zaXRpb24oV0tW
aWV3UmVmIHZpZXdSZWYsIFdLUG9pbnQgcG9zaXRpb24pCit7CisgICAgdG9JbXBsKHZpZXdSZWYp
LT5zZXRQYWdlUG9zaXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludChwb3NpdGlvbi54LCBwb3NpdGlv
bi55KSk7Cit9CisKIHZvaWQgV0tWaWV3U2V0VXNlclZpZXdwb3J0VHJhbnNsYXRpb24oV0tWaWV3
UmVmIHZpZXdSZWYsIGRvdWJsZSB0eCwgZG91YmxlIHR5KQogewogICAgIHRvSW1wbCh2aWV3UmVm
KS0+c2V0VXNlclZpZXdwb3J0VHJhbnNsYXRpb24odHgsIHR5KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5oCmluZGV4IDczNDU1NjYuLjNiNTc0MDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuaApAQCAtNjAsNiArNjAs
MTIgQEAgV0tfRVhQT1JUIFdLVmlld1JlZiBXS1ZpZXdDcmVhdGVXaXRoRml4ZWRMYXlvdXQoRXZh
cyogY2FudmFzLCBXS0NvbnRleHRSZWYgY29udGUKIFdLX0VYUE9SVCB2b2lkIFdLVmlld0luaXRp
YWxpemUoV0tWaWV3UmVmKTsKIFdLX0VYUE9SVCB2b2lkIFdLVmlld1NldFZpZXdDbGllbnQoV0tW
aWV3UmVmLCBjb25zdCBXS1ZpZXdDbGllbnQqKTsKIAorV0tfRVhQT1JUIGZsb2F0IFdLVmlld0dl
dFNjYWxlRmFjdG9yKFdLVmlld1JlZik7CitXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRTY2FsZUZh
Y3RvcihXS1ZpZXdSZWYsIGZsb2F0IHNjYWxlKTsKKworV0tfRVhQT1JUIFdLUG9pbnQgV0tWaWV3
R2V0UGFnZVBvc2l0aW9uKFdLVmlld1JlZik7CitXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRQYWdl
UG9zaXRpb24oV0tWaWV3UmVmLCBXS1BvaW50IHBvc2l0aW9uKTsKKwogV0tfRVhQT1JUIHZvaWQg
V0tWaWV3U2V0VXNlclZpZXdwb3J0VHJhbnNsYXRpb24oV0tWaWV3UmVmLCBkb3VibGUgdHgsIGRv
dWJsZSB0eSk7CiBXS19FWFBPUlQgV0tQb2ludCBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRlbnRz
KFdLVmlld1JlZiwgV0tQb2ludCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5jcHAKaW5kZXggOGYzNDM5Yi4uYjI3ZjcwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTI0NCw3ICsyNDQsNiBAQCBFd2tW
aWV3OjpFd2tWaWV3KEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0LCBQYXNzUmVmUHRyPEV3a0NvbnRl
eHQ+IGNvbnRleHQsIFdLUGFnZQogICAgICwgbV92aWJyYXRpb25DbGllbnQoVmlicmF0aW9uQ2xp
ZW50RWZsOjpjcmVhdGUodGhpcykpCiAjZW5kaWYKICAgICAsIG1fYmFja0ZvcndhcmRMaXN0KEV3
a0JhY2tGb3J3YXJkTGlzdDo6Y3JlYXRlKFdLUGFnZUdldEJhY2tGb3J3YXJkTGlzdCh3a1BhZ2Uo
KSkpKQotICAgICwgbV9wYWdlU2NhbGVGYWN0b3IoMSkKICAgICAsIG1fc2V0dGluZ3MoRXdrU2V0
dGluZ3M6OmNyZWF0ZSh0aGlzKSkKICAgICAsIG1fY3Vyc29ySWRlbnRpZmllcigwKQogICAgICwg
bV9tb3VzZUV2ZW50c0VuYWJsZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmgKaW5kZXggNzFkYWQyZC4uZGJjNTI3MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMjAxLDEyICsyMDEsNiBAQCBwdWJsaWM6
CiAgICAgLy8gRklYTUU6IFJlbW92ZSB3aGVuIHBvc3NpYmxlLgogICAgIFdlYktpdDo6V2ViVmll
dyogd2ViVmlldygpIHsgcmV0dXJuIG1fd2ViVmlldy5nZXQoKTsgfQogCi0gICAgdm9pZCBzZXRQ
YWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IpIHsgbV9wYWdlU2NhbGVGYWN0b3IgPSBz
Y2FsZUZhY3RvcjsgfQotICAgIGZsb2F0IHBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJu
IG1fcGFnZVNjYWxlRmFjdG9yOyB9Ci0KLSAgICB2b2lkIHNldFBhZ2VQb3NpdGlvbihjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBwb3NpdGlvbikgeyBtX3BhZ2VQb3NpdGlvbiA9IHBvc2l0aW9u
OyB9Ci0gICAgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCBwYWdlUG9zaXRpb24oKSBjb25zdCB7
IHJldHVybiBtX3BhZ2VQb3NpdGlvbjsgfQotCiAgICAgLy8gRklYTUU6IG5lZWRzIHJlZmFjdG9y
aW5nIChzcGxpdCBjYWxsYmFjayBpbnZva2UpCiAgICAgdm9pZCBpbmZvcm1VUkxDaGFuZ2UoKTsK
IApAQCAtMjcwLDggKzI2NCw2IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdlYktpdDo6VmlicmF0
aW9uQ2xpZW50RWZsPiBtX3ZpYnJhdGlvbkNsaWVudDsKICNlbmRpZgogICAgIE93blB0cjxFd2tC
YWNrRm9yd2FyZExpc3Q+IG1fYmFja0ZvcndhcmRMaXN0OwotICAgIGZsb2F0IG1fcGFnZVNjYWxl
RmFjdG9yOwotICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9wYWdlUG9zaXRpb247CiAgICAgT3du
UHRyPEV3a1NldHRpbmdzPiBtX3NldHRpbmdzOwogICAgIFJlZlB0cjxFd2tXaW5kb3dGZWF0dXJl
cz4gbV93aW5kb3dGZWF0dXJlczsKICAgICBjb25zdCB2b2lkKiBtX2N1cnNvcklkZW50aWZpZXI7
IC8vIFRoaXMgaXMgYW4gYWRkcmVzcywgZG8gbm90IGZyZWUgaXQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVy
Q2xpZW50RWZsLmNwcAppbmRleCA2OWNkZTAzLi4zYWZkMWRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ckNsaWVudEVmbC5jcHAKQEAgLTUxLDE2ICs1MSwxNyBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRy
b2xsZXJDbGllbnRFZmw6OnNldFZpZXdwb3J0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQ
bwogICAgIG1fY29udGVudFBvc2l0aW9uID0gY29udGVudHNQb2ludDsKIAogICAgIEZsb2F0UG9p
bnQgcG9zKGNvbnRlbnRzUG9pbnQpOwotICAgIHBvcy5zY2FsZShtX3ZpZXctPnBhZ2VTY2FsZUZh
Y3RvcigpLCBtX3ZpZXctPnBhZ2VTY2FsZUZhY3RvcigpKTsKKyAgICBmbG9hdCBzY2FsZUZhY3Rv
ciA9IFdLVmlld0dldFNjYWxlRmFjdG9yKG1fdmlldy0+d2tWaWV3KCkpOworICAgIHBvcy5zY2Fs
ZShzY2FsZUZhY3Rvciwgc2NhbGVGYWN0b3IpOwogICAgIHBvcy5zY2FsZShtX3ZpZXctPmRldmlj
ZVNjYWxlRmFjdG9yKCksIG1fdmlldy0+ZGV2aWNlU2NhbGVGYWN0b3IoKSk7Ci0gICAgbV92aWV3
LT5zZXRQYWdlUG9zaXRpb24ocG9zKTsKKyAgICBXS1ZpZXdTZXRQYWdlUG9zaXRpb24obV92aWV3
LT53a1ZpZXcoKSwgV0tQb2ludE1ha2UocG9zLngoKSwgcG9zLnkoKSkpOwogCi0gICAgbV9jb250
cm9sbGVyLT5kaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkobV9jb250ZW50UG9zaXRpb24sIG1f
dmlldy0+cGFnZVNjYWxlRmFjdG9yKCkpOworICAgIG1fY29udHJvbGxlci0+ZGlkQ2hhbmdlQ29u
dGVudHNWaXNpYmlsaXR5KG1fY29udGVudFBvc2l0aW9uLCBzY2FsZUZhY3Rvcik7CiB9CiAKIHZv
aWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDo6c2V0UGFnZVNjYWxlRmFjdG9yKGZs
b2F0IG5ld1NjYWxlKQogewotICAgIG1fdmlldy0+c2V0UGFnZVNjYWxlRmFjdG9yKG5ld1NjYWxl
KTsKKyAgICBXS1ZpZXdTZXRTY2FsZUZhY3RvcihtX3ZpZXctPndrVmlldygpLCBuZXdTY2FsZSk7
CiB9CiAKIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDo6ZGlkQ2hhbmdlVmlz
aWJsZUNvbnRlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCmlu
ZGV4IDJhM2FhOWMuLjZiMmQwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJW
aWV3LmNwcApAQCAtNTQsNiArNTQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIFdlYlZpZXc6Oldl
YlZpZXcoV2ViQ29udGV4dCogY29udGV4dCwgV2ViUGFnZUdyb3VwKiBwYWdlR3JvdXAsIEV3a1Zp
ZXcqIGV3a1ZpZXcpCiAgICAgOiBtX2V3a1ZpZXcoZXdrVmlldykKICAgICAsIG1fcGFnZShjb250
ZXh0LT5jcmVhdGVXZWJQYWdlKHRoaXMsIHBhZ2VHcm91cCkpCisgICAgLCBtX3NjYWxlRmFjdG9y
KDEuMCkKIHsKICAgICBtX3BhZ2UtPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpLT5zZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCh0cnVlKTsKICAgICBtX3BhZ2UtPnBhZ2VHcm91cCgp
LT5wcmVmZXJlbmNlcygpLT5zZXRGb3JjZUNvbXBvc2l0aW5nTW9kZSh0cnVlKTsKQEAgLTExNCwx
MCArMTE1LDEwIEBAIHZvaWQgV2ViVmlldzo6cGFpbnRUb0NhaXJvU3VyZmFjZShjYWlyb19zdXJm
YWNlX3QqIHN1cmZhY2UpCiAKICAgICBQbGF0Zm9ybUNvbnRleHRDYWlybyBjb250ZXh0KGNhaXJv
X2NyZWF0ZShzdXJmYWNlKSk7CiAKLSAgICBjb25zdCBGbG9hdFBvaW50JiBwYWdlUG9zaXRpb24g
PSBtX2V3a1ZpZXctPnBhZ2VQb3NpdGlvbigpOwotICAgIGRvdWJsZSBlZmZlY3RpdmVTY2FsZSA9
IG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSAqIG1fZXdrVmlldy0+cGFnZVNjYWxlRmFjdG9y
KCk7CisgICAgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24gPSBwYWdlUG9zaXRpb24oKTsKKyAg
ICBkb3VibGUgZWZmZWN0aXZlU2NhbGUgPSBtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkgKiBz
Y2FsZUZhY3RvcigpOwogCi0gICAgY2Fpcm9fbWF0cml4X3QgdHJhbnNmb3JtID0geyBlZmZlY3Rp
dmVTY2FsZSwgMCwgMCwgZWZmZWN0aXZlU2NhbGUsIC0gcGFnZVBvc2l0aW9uLngoKSwgLSBwYWdl
UG9zaXRpb24ueSgpIH07CisgICAgY2Fpcm9fbWF0cml4X3QgdHJhbnNmb3JtID0geyBlZmZlY3Rp
dmVTY2FsZSwgMCwgMCwgZWZmZWN0aXZlU2NhbGUsIC0gcG9zaXRpb24ueCgpLCAtIHBvc2l0aW9u
LnkoKSB9OwogICAgIGNhaXJvX3NldF9tYXRyaXgoY29udGV4dC5jcigpLCAmdHJhbnNmb3JtKTsK
IAogICAgIHNjZW5lLT5wYWludFRvR3JhcGhpY3NDb250ZXh0KCZjb250ZXh0KTsKQEAgLTIwMyw3
ICsyMDQsNyBAQCB2b2lkIFdlYlZpZXc6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiAgICAgICAgIG1f
ZXdrVmlldy0+cGFnZVZpZXdwb3J0Q29udHJvbGxlcigpLT5kaWRDaGFuZ2VWaWV3cG9ydFNpemUo
c2l6ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbV9wYWdlLT5kcmF3aW5nQXJlYSgp
LT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KEludFJlY3Qocm91bmRlZEludFBvaW50KG1fZXdrVmll
dy0+cGFnZVBvc2l0aW9uKCkpLCBtX2V3a1ZpZXctPnNpemUoKSksIEZsb2F0UG9pbnQoKSk7Cisg
ICAgbV9wYWdlLT5kcmF3aW5nQXJlYSgpLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KEludFJlY3Qo
cm91bmRlZEludFBvaW50KHBhZ2VQb3NpdGlvbigpKSwgbV9ld2tWaWV3LT5zaXplKCkpLCBGbG9h
dFBvaW50KCkpOwogfQogCiB2b2lkIFdlYlZpZXc6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQpAQCAtMjI0LDEwICsyMjUsMTAgQEAgQWZmaW5lVHJh
bnNmb3JtIFdlYlZpZXc6OnRyYW5zZm9ybVRvU2NlbmUoKSBjb25zdAogewogICAgIFRyYW5zZm9y
bWF0aW9uTWF0cml4IHRyYW5zZm9ybSA9IG1fdXNlclZpZXdwb3J0VHJhbnNmb3JtOwogCi0gICAg
Y29uc3QgRmxvYXRQb2ludCYgcGFnZVBvc2l0aW9uID0gbV9ld2tWaWV3LT5wYWdlUG9zaXRpb24o
KTsKLSAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC1wYWdlUG9zaXRpb24ueCgpLCAtcGFnZVBvc2l0
aW9uLnkoKSk7CisgICAgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24gPSBwYWdlUG9zaXRpb24o
KTsKKyAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC1wb3NpdGlvbi54KCksIC1wb3NpdGlvbi55KCkp
OwogICAgIHRyYW5zZm9ybS5zY2FsZShtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkpOwotICAg
IHRyYW5zZm9ybS5zY2FsZShtX2V3a1ZpZXctPnBhZ2VTY2FsZUZhY3RvcigpKTsKKyAgICB0cmFu
c2Zvcm0uc2NhbGUoc2NhbGVGYWN0b3IoKSk7CiAKICAgICByZXR1cm4gdHJhbnNmb3JtLnRvQWZm
aW5lVHJhbnNmb3JtKCk7CiB9CkBAIC01MjAsNyArNTIxLDcgQEAgdm9pZCBXZWJWaWV3OjpwYWdl
RGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQb2ludCYgcG9zaXRpb24pCiAgICAgICAgIG1fZXdr
Vmlldy0+cGFnZVZpZXdwb3J0Q29udHJvbGxlcigpLT5wYWdlRGlkUmVxdWVzdFNjcm9sbChwb3Np
dGlvbik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbV9ld2tWaWV3LT5zZXRQYWdlUG9z
aXRpb24oRmxvYXRQb2ludChwb3NpdGlvbikpOworICAgIHNldFBhZ2VQb3NpdGlvbihGbG9hdFBv
aW50KHBvc2l0aW9uKSk7CiAgICAgbV9ld2tWaWV3LT5zY2hlZHVsZVVwZGF0ZURpc3BsYXkoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuaAppbmRleCA0MmM4ZDEzLi43
NTVhNDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuaApAQCAtNTUsNiAr
NTUsMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBpbml0aWFsaXplKCk7CiAKKyAgICB2b2lkIHNl
dFNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yKSB7IG1fc2NhbGVGYWN0b3IgPSBzY2FsZUZh
Y3RvcjsgfQorICAgIGZsb2F0IHNjYWxlRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9zY2FsZUZh
Y3RvcjsgfQorCisgICAgdm9pZCBzZXRQYWdlUG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgcG9zaXRpb24pIHsgbV9wYWdlUG9zaXRpb24gPSBwb3NpdGlvbjsgfQorICAgIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBhZ2VQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcGFn
ZVBvc2l0aW9uOyB9CisKICAgICB2b2lkIHNldFVzZXJWaWV3cG9ydFRyYW5zbGF0aW9uKGRvdWJs
ZSB0eCwgZG91YmxlIHR5KTsKICAgICBXZWJDb3JlOjpJbnRQb2ludCB1c2VyVmlld3BvcnRUb0Nv
bnRlbnRzKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3Q7CiAKQEAgLTE3OSw2ICsxODUs
OCBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJQYWdlUHJveHk+IG1fcGFnZTsKICAgICBEZWZh
dWx0VW5kb0NvbnRyb2xsZXIgbV91bmRvQ29udHJvbGxlcjsKICAgICBXZWJDb3JlOjpUcmFuc2Zv
cm1hdGlvbk1hdHJpeCBtX3VzZXJWaWV3cG9ydFRyYW5zZm9ybTsKKyAgICBmbG9hdCBtX3NjYWxl
RmFjdG9yOworICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9wYWdlUG9zaXRpb247CiB9OwogCiB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193830</attachid>
            <date>2013-03-19 07:57:19 -0700</date>
            <delta_ts>2013-04-05 04:08:50 -0700</delta_ts>
            <desc>WIP 2</desc>
            <filename>bug111075_WIP2</filename>
            <type>text/plain</type>
            <size>9186</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDg0Mzk1NDQwYjNjZGQ4NGFjNWMzY2MwNTJiNzc1Mzk1NjJjYzZlYzEKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VHVlIE1hciAxOSAxNjo1MjoxMiAyMDEzICswMjAwCgogICAgYnVnMTExMDc1CgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwCmluZGV4IDY5OTAxNWEuLjIy
NmIyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5j
cHAKQEAgLTYxLDYgKzYxLDI3IEBAIHZvaWQgV0tWaWV3U2V0Vmlld0NsaWVudChXS1ZpZXdSZWYg
dmlld1JlZiwgY29uc3QgV0tWaWV3Q2xpZW50KiBjbGllbnQpCiAgICAgdG9JbXBsKHZpZXdSZWYp
LT5pbml0aWFsaXplQ2xpZW50KGNsaWVudCk7CiB9CiAKK2Zsb2F0IFdLVmlld0dldENvbnRlbnRT
Y2FsZUZhY3RvcihXS1ZpZXdSZWYgdmlld1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHZpZXdS
ZWYpLT5jb250ZW50U2NhbGVGYWN0b3IoKTsKK30KKwordm9pZCBXS1ZpZXdTZXRDb250ZW50U2Nh
bGVGYWN0b3IoV0tWaWV3UmVmIHZpZXdSZWYsIGZsb2F0IHNjYWxlKQoreworICAgIHRvSW1wbCh2
aWV3UmVmKS0+c2V0Q29udGVudFNjYWxlRmFjdG9yKHNjYWxlKTsKK30KKworV0tQb2ludCBXS1Zp
ZXdHZXRDb250ZW50UG9zaXRpb24oV0tWaWV3UmVmIHZpZXdSZWYpCit7CisgICAgY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYgcmVzdWx0ID0gdG9JbXBsKHZpZXdSZWYpLT5jb250ZW50UG9zaXRp
b24oKTsKKyAgICByZXR1cm4gV0tQb2ludE1ha2UocmVzdWx0LngoKSwgcmVzdWx0LnkoKSk7Cit9
CisKK3ZvaWQgV0tWaWV3U2V0Q29udGVudFBvc2l0aW9uKFdLVmlld1JlZiB2aWV3UmVmLCBXS1Bv
aW50IHBvc2l0aW9uKQoreworICAgIHRvSW1wbCh2aWV3UmVmKS0+c2V0Q29udGVudFBvc2l0aW9u
KFdlYkNvcmU6OkZsb2F0UG9pbnQocG9zaXRpb24ueCwgcG9zaXRpb24ueSkpOworfQorCiB2b2lk
IFdLVmlld1NldFVzZXJWaWV3cG9ydFRyYW5zbGF0aW9uKFdLVmlld1JlZiB2aWV3UmVmLCBkb3Vi
bGUgdHgsIGRvdWJsZSB0eSkKIHsKICAgICB0b0ltcGwodmlld1JlZiktPnNldFVzZXJWaWV3cG9y
dFRyYW5zbGF0aW9uKHR4LCB0eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvZWZsL1dLVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2Vm
bC9XS1ZpZXcuaAppbmRleCBhNzA5YjQ4Li41OWVmYjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmgKQEAgLTY0LDYgKzY0LDEyIEBAIFdLX0VYUE9SVCBX
S1ZpZXdSZWYgV0tWaWV3Q3JlYXRlV2l0aEZpeGVkTGF5b3V0KEV2YXMqIGNhbnZhcywgV0tDb250
ZXh0UmVmIGNvbnRlCiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdJbml0aWFsaXplKFdLVmlld1JlZik7
CiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRWaWV3Q2xpZW50KFdLVmlld1JlZiwgY29uc3QgV0tW
aWV3Q2xpZW50Kik7CiAKK1dLX0VYUE9SVCBmbG9hdCBXS1ZpZXdHZXRDb250ZW50U2NhbGVGYWN0
b3IoV0tWaWV3UmVmKTsKK1dLX0VYUE9SVCB2b2lkIFdLVmlld1NldENvbnRlbnRTY2FsZUZhY3Rv
cihXS1ZpZXdSZWYsIGZsb2F0IHNjYWxlKTsKKworV0tfRVhQT1JUIFdLUG9pbnQgV0tWaWV3R2V0
Q29udGVudFBvc2l0aW9uKFdLVmlld1JlZik7CitXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRDb250
ZW50UG9zaXRpb24oV0tWaWV3UmVmLCBXS1BvaW50IHBvc2l0aW9uKTsKKwogV0tfRVhQT1JUIHZv
aWQgV0tWaWV3U2V0VXNlclZpZXdwb3J0VHJhbnNsYXRpb24oV0tWaWV3UmVmLCBkb3VibGUgdHgs
IGRvdWJsZSB0eSk7CiBXS19FWFBPUlQgV0tQb2ludCBXS1ZpZXdVc2VyVmlld3BvcnRUb0NvbnRl
bnRzKFdLVmlld1JlZiwgV0tQb2ludCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHAKaW5kZXggODFlYjExNS4uYTcyMmViNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTI1NCw3ICsyNTQsNiBAQCBF
d2tWaWV3OjpFd2tWaWV3KEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0LCBQYXNzUmVmUHRyPEV3a0Nv
bnRleHQ+IGNvbnRleHQsIFBhc3NSZQogICAgICwgbV92aWJyYXRpb25DbGllbnQoVmlicmF0aW9u
Q2xpZW50RWZsOjpjcmVhdGUodGhpcykpCiAjZW5kaWYKICAgICAsIG1fYmFja0ZvcndhcmRMaXN0
KEV3a0JhY2tGb3J3YXJkTGlzdDo6Y3JlYXRlKFdLUGFnZUdldEJhY2tGb3J3YXJkTGlzdCh3a1Bh
Z2UoKSkpKQotICAgICwgbV9wYWdlU2NhbGVGYWN0b3IoMSkKICAgICAsIG1fc2V0dGluZ3MoRXdr
U2V0dGluZ3M6OmNyZWF0ZSh0aGlzKSkKICAgICAsIG1fY3Vyc29ySWRlbnRpZmllcigwKQogICAg
ICwgbV9tb3VzZUV2ZW50c0VuYWJsZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3LmgKaW5kZXggNjYyNjE5Ny4uZDY0ZjQwOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMjAyLDEyICsyMDIsNiBAQCBwdWJs
aWM6CiAgICAgLy8gRklYTUU6IFJlbW92ZSB3aGVuIHBvc3NpYmxlLgogICAgIFdlYktpdDo6V2Vi
Vmlldyogd2ViVmlldygpIHsgcmV0dXJuIG1fd2ViVmlldy5nZXQoKTsgfQogCi0gICAgdm9pZCBz
ZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IpIHsgbV9wYWdlU2NhbGVGYWN0b3Ig
PSBzY2FsZUZhY3RvcjsgfQotICAgIGZsb2F0IHBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0
dXJuIG1fcGFnZVNjYWxlRmFjdG9yOyB9Ci0KLSAgICB2b2lkIHNldFBhZ2VQb3NpdGlvbihjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwb3NpdGlvbikgeyBtX3BhZ2VQb3NpdGlvbiA9IHBvc2l0
aW9uOyB9Ci0gICAgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCBwYWdlUG9zaXRpb24oKSBjb25z
dCB7IHJldHVybiBtX3BhZ2VQb3NpdGlvbjsgfQotCiAgICAgLy8gRklYTUU6IG5lZWRzIHJlZmFj
dG9yaW5nIChzcGxpdCBjYWxsYmFjayBpbnZva2UpCiAgICAgdm9pZCBpbmZvcm1VUkxDaGFuZ2Uo
KTsKIApAQCAtMjczLDggKzI2Nyw2IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdlYktpdDo6Vmli
cmF0aW9uQ2xpZW50RWZsPiBtX3ZpYnJhdGlvbkNsaWVudDsKICNlbmRpZgogICAgIE93blB0cjxF
d2tCYWNrRm9yd2FyZExpc3Q+IG1fYmFja0ZvcndhcmRMaXN0OwotICAgIGZsb2F0IG1fcGFnZVNj
YWxlRmFjdG9yOwotICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9wYWdlUG9zaXRpb247CiAgICAg
T3duUHRyPEV3a1NldHRpbmdzPiBtX3NldHRpbmdzOwogICAgIFJlZlB0cjxFd2tXaW5kb3dGZWF0
dXJlcz4gbV93aW5kb3dGZWF0dXJlczsKICAgICBjb25zdCB2b2lkKiBtX2N1cnNvcklkZW50aWZp
ZXI7IC8vIFRoaXMgaXMgYW4gYWRkcmVzcywgZG8gbm90IGZyZWUgaXQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRF
ZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9s
bGVyQ2xpZW50RWZsLmNwcAppbmRleCA4MWUwYTE5Li5jYmM0MzIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29udHJv
bGxlckNsaWVudEVmbC5jcHAKQEAgLTUxLDE1ICs1MSwxNiBAQCB2b2lkIFBhZ2VWaWV3cG9ydENv
bnRyb2xsZXJDbGllbnRFZmw6OnNldFZpZXdwb3J0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6Rmxv
YXRQbwogICAgIG1fY29udGVudFBvc2l0aW9uID0gY29udGVudHNQb2ludDsKIAogICAgIEZsb2F0
UG9pbnQgcG9zKGNvbnRlbnRzUG9pbnQpOwotICAgIHBvcy5zY2FsZShtX3ZpZXctPnBhZ2VTY2Fs
ZUZhY3RvcigpLCBtX3ZpZXctPnBhZ2VTY2FsZUZhY3RvcigpKTsKLSAgICBtX3ZpZXctPnNldFBh
Z2VQb3NpdGlvbihwb3MpOworICAgIGZsb2F0IHNjYWxlRmFjdG9yID0gV0tWaWV3R2V0Q29udGVu
dFNjYWxlRmFjdG9yKG1fdmlldy0+d2tWaWV3KCkpOworICAgIHBvcy5zY2FsZShzY2FsZUZhY3Rv
ciwgc2NhbGVGYWN0b3IpOworICAgIFdLVmlld1NldENvbnRlbnRQb3NpdGlvbihtX3ZpZXctPndr
VmlldygpLCBXS1BvaW50TWFrZShwb3MueCgpLCBwb3MueSgpKSk7CiAKLSAgICBtX2NvbnRyb2xs
ZXItPmRpZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eShtX2NvbnRlbnRQb3NpdGlvbiwgbV92aWV3
LT5wYWdlU2NhbGVGYWN0b3IoKSk7CisgICAgbV9jb250cm9sbGVyLT5kaWRDaGFuZ2VDb250ZW50
c1Zpc2liaWxpdHkobV9jb250ZW50UG9zaXRpb24sIHNjYWxlRmFjdG9yKTsKIH0KIAogdm9pZCBQ
YWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQg
bmV3U2NhbGUpCiB7Ci0gICAgbV92aWV3LT5zZXRQYWdlU2NhbGVGYWN0b3IobmV3U2NhbGUpOwor
ICAgIFdLVmlld1NldENvbnRlbnRTY2FsZUZhY3RvcihtX3ZpZXctPndrVmlldygpLCBuZXdTY2Fs
ZSk7CiB9CiAKIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDo6ZGlkQ2hhbmdl
VmlzaWJsZUNvbnRlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3Bw
CmluZGV4IDVjMmIzYmEuLjg5MTM1OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9lZmwvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9X
ZWJWaWV3LmNwcApAQCAtNTQsNiArNTQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIFdlYlZpZXc6
OldlYlZpZXcoV2ViQ29udGV4dCogY29udGV4dCwgV2ViUGFnZUdyb3VwKiBwYWdlR3JvdXAsIEV3
a1ZpZXcqIGV3a1ZpZXcpCiAgICAgOiBtX2V3a1ZpZXcoZXdrVmlldykKICAgICAsIG1fcGFnZShj
b250ZXh0LT5jcmVhdGVXZWJQYWdlKHRoaXMsIHBhZ2VHcm91cCkpCisgICAgLCBtX2NvbnRlbnRT
Y2FsZUZhY3RvcigxLjApCiB7CiAgICAgbV9wYWdlLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMo
KS0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgbV9wYWdlLT5w
YWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUodHJ1ZSk7
CkBAIC0xMTQsMTAgKzExNSwxMCBAQCB2b2lkIFdlYlZpZXc6OnBhaW50VG9DYWlyb1N1cmZhY2Uo
Y2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlKQogCiAgICAgUGxhdGZvcm1Db250ZXh0Q2Fpcm8gY29u
dGV4dChjYWlyb19jcmVhdGUoc3VyZmFjZSkpOwogCi0gICAgY29uc3QgRmxvYXRQb2ludCYgcGFn
ZVBvc2l0aW9uID0gbV9ld2tWaWV3LT5wYWdlUG9zaXRpb24oKTsKLSAgICBkb3VibGUgZWZmZWN0
aXZlU2NhbGUgPSBtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkgKiBtX2V3a1ZpZXctPnBhZ2VT
Y2FsZUZhY3RvcigpOworICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uID0gY29udGVudFBv
c2l0aW9uKCk7CisgICAgZG91YmxlIGVmZmVjdGl2ZVNjYWxlID0gbV9wYWdlLT5kZXZpY2VTY2Fs
ZUZhY3RvcigpICogY29udGVudFNjYWxlRmFjdG9yKCk7CiAKLSAgICBjYWlyb19tYXRyaXhfdCB0
cmFuc2Zvcm0gPSB7IGVmZmVjdGl2ZVNjYWxlLCAwLCAwLCBlZmZlY3RpdmVTY2FsZSwgLXBhZ2VQ
b3NpdGlvbi54KCkgKiBtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCksIC1wYWdlUG9zaXRpb24u
eSgpICogbV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpIH07CisgICAgY2Fpcm9fbWF0cml4X3Qg
dHJhbnNmb3JtID0geyBlZmZlY3RpdmVTY2FsZSwgMCwgMCwgZWZmZWN0aXZlU2NhbGUsIC0gcG9z
aXRpb24ueCgpICogbV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpLCAtIHBvc2l0aW9uLnkoKSAq
IG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSB9OwogICAgIGNhaXJvX3NldF9tYXRyaXgoY29u
dGV4dC5jcigpLCAmdHJhbnNmb3JtKTsKIAogICAgIHNjZW5lLT5wYWludFRvR3JhcGhpY3NDb250
ZXh0KCZjb250ZXh0KTsKQEAgLTIwMCw4ICsyMDEsOSBAQCB2b2lkIFdlYlZpZXc6OnVwZGF0ZVZp
ZXdwb3J0U2l6ZSgpCiAgICAgICAgIG1fZXdrVmlldy0+cGFnZVZpZXdwb3J0Q29udHJvbGxlcigp
LT5kaWRDaGFuZ2VWaWV3cG9ydFNpemUobV9ld2tWaWV3LT5zaXplKCkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQotICAgIEZsb2F0UG9pbnQgdWlQb3NpdGlvbihtX2V3a1ZpZXctPnBhZ2VQb3Np
dGlvbigpKTsKLSAgICB1aVBvc2l0aW9uLnNjYWxlKDEgLyBtX2V3a1ZpZXctPnBhZ2VTY2FsZUZh
Y3RvcigpLCAxIC8gbV9ld2tWaWV3LT5wYWdlU2NhbGVGYWN0b3IoKSk7CisKKyAgICBGbG9hdFBv
aW50IHVpUG9zaXRpb24oY29udGVudFBvc2l0aW9uKCkpOworICAgIHVpUG9zaXRpb24uc2NhbGUo
MSAvIGNvbnRlbnRTY2FsZUZhY3RvcigpLCAxIC8gY29udGVudFNjYWxlRmFjdG9yKCkpOwogICAg
IG1fcGFnZS0+ZHJhd2luZ0FyZWEoKS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChGbG9hdFJlY3Qo
dWlQb3NpdGlvbiwgbV9ld2tWaWV3LT5zaXplKCkpLCBGbG9hdFBvaW50KCkpOwogfQogCkBAIC0y
MTksMTAgKzIyMSwxMCBAQCBBZmZpbmVUcmFuc2Zvcm0gV2ViVmlldzo6dHJhbnNmb3JtVG9TY2Vu
ZSgpIGNvbnN0CiB7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtID0gbV91c2Vy
Vmlld3BvcnRUcmFuc2Zvcm07CiAKLSAgICBjb25zdCBGbG9hdFBvaW50JiBwYWdlUG9zaXRpb24g
PSBtX2V3a1ZpZXctPnBhZ2VQb3NpdGlvbigpOworICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0
aW9uID0gY29udGVudFBvc2l0aW9uKCk7CiAgICAgdHJhbnNmb3JtLnNjYWxlKG1fcGFnZS0+ZGV2
aWNlU2NhbGVGYWN0b3IoKSk7Ci0gICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgtcGFnZVBvc2l0aW9u
LngoKSwgLXBhZ2VQb3NpdGlvbi55KCkpOwotICAgIHRyYW5zZm9ybS5zY2FsZShtX2V3a1ZpZXct
PnBhZ2VTY2FsZUZhY3RvcigpKTsKKyAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC1wb3NpdGlvbi54
KCksIC1wb3NpdGlvbi55KCkpOworICAgIHRyYW5zZm9ybS5zY2FsZShjb250ZW50U2NhbGVGYWN0
b3IoKSk7CiAKICAgICByZXR1cm4gdHJhbnNmb3JtLnRvQWZmaW5lVHJhbnNmb3JtKCk7CiB9CkBA
IC00OTYsOCArNDk4LDggQEAgdm9pZCBXZWJWaWV3OjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25z
dCBJbnRQb2ludCYgcG9zaXRpb24pCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgRmxvYXRQ
b2ludCB1aVBvc2l0aW9uKHBvc2l0aW9uKTsKLSAgICB1aVBvc2l0aW9uLnNjYWxlKG1fZXdrVmll
dy0+cGFnZVNjYWxlRmFjdG9yKCksIG1fZXdrVmlldy0+cGFnZVNjYWxlRmFjdG9yKCkpOwotICAg
IG1fZXdrVmlldy0+c2V0UGFnZVBvc2l0aW9uKHVpUG9zaXRpb24pOworICAgIHVpUG9zaXRpb24u
c2NhbGUoY29udGVudFNjYWxlRmFjdG9yKCksIGNvbnRlbnRTY2FsZUZhY3RvcigpKTsKKyAgICBz
ZXRDb250ZW50UG9zaXRpb24odWlQb3NpdGlvbik7CiAgICAgbV9ld2tWaWV3LT5zY2hlZHVsZVVw
ZGF0ZURpc3BsYXkoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuaApp
bmRleCA5ZjVmNmY0Li5mYzkwNDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZp
ZXcuaApAQCAtNTUsNiArNTUsMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBpbml0aWFsaXplKCk7
CiAKKyAgICB2b2lkIHNldENvbnRlbnRTY2FsZUZhY3RvcihmbG9hdCBzY2FsZUZhY3RvcikgeyBt
X2NvbnRlbnRTY2FsZUZhY3RvciA9IHNjYWxlRmFjdG9yOyB9CisgICAgZmxvYXQgY29udGVudFNj
YWxlRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50U2NhbGVGYWN0b3I7IH0KKworICAg
IHZvaWQgc2V0Q29udGVudFBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBvc2l0
aW9uKSB7IG1fY29udGVudFBvc2l0aW9uID0gcG9zaXRpb247IH0KKyAgICBjb25zdCBXZWJDb3Jl
OjpGbG9hdFBvaW50JiBjb250ZW50UG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRQ
b3NpdGlvbjsgfQorCiAgICAgdm9pZCBzZXRVc2VyVmlld3BvcnRUcmFuc2xhdGlvbihkb3VibGUg
dHgsIGRvdWJsZSB0eSk7CiAgICAgV2ViQ29yZTo6SW50UG9pbnQgdXNlclZpZXdwb3J0VG9Db250
ZW50cyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIGNvbnN0OwogCkBAIC0xNzksNiArMTg1LDgg
QEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBtX3BhZ2U7CiAgICAgRGVmYXVs
dFVuZG9Db250cm9sbGVyIG1fdW5kb0NvbnRyb2xsZXI7CiAgICAgV2ViQ29yZTo6VHJhbnNmb3Jt
YXRpb25NYXRyaXggbV91c2VyVmlld3BvcnRUcmFuc2Zvcm07CisgICAgZmxvYXQgbV9jb250ZW50
U2NhbGVGYWN0b3I7CisgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBtX2NvbnRlbnRQb3NpdGlvbjsK
IH07CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196615</attachid>
            <date>2013-04-05 04:08:50 -0700</date>
            <delta_ts>2013-04-05 06:15:39 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug111075</filename>
            <type>text/plain</type>
            <size>11495</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDZjNzA2YzhiMjA3N2I1YjhjOGNmODdiNGU3OWNmYmI4NTZhOGE4NzIKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VHVlIE1hciAxOSAxNjo1MjoxMiAyMDEzICswMjAwCgogICAgYnVnMTExMDc1CgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGU3MzdmOGMuLjZlZmNlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MyBAQAorMjAxMy0w
NC0wNSAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4K
KworICAgICAgICBbV0syXVtFRkxdIFdlYlZpZXcgc2hvdWxkIG93biBwYWdlIHBvc2l0aW9uIGFu
ZCBzY2FsZSBmYWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMTA3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFZpZXcgY29udGVudCBwb3NpdGlvbiBhbmQgY29udGVudCBzY2FsZSBmYWN0b3Igc2hv
dWxkIGJlbG9uZyB0byBXZWJWaWV3CisgICAgICAgIHJhdGhlciB0aGFuIHRvIEV3a1ZpZXcgYXMg
aXQgZGVjcmVhc2VzIEV3a1ZpZXcgdXNhZ2UgaW5zaWRlIEVGTC1hZ25vc3RpYworICAgICAgICBX
ZWJWaWV3IGFuZCBpbXByb3ZlcyBXZWJWaWV3IGVuY2Fwc3VsYXRpb24uCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5jcHA6CisgICAgICAgIChXS1ZpZXdHZXRDb250ZW50
U2NhbGVGYWN0b3IpOgorICAgICAgICAoV0tWaWV3U2V0Q29udGVudFNjYWxlRmFjdG9yKToKKwor
ICAgICAgICAgICAgTmV3IFdLVmlldyBBUEkgd2FzIGFkZGVkIHRvIHNldCBhbmQgZ2V0IGNvbnRl
bnQgc2NhbGUgZmFjdG9yLgorICAgICAgICAgICAgVGhlIHZpZXcgY29udGVudCBzY2FsZSBmYWN0
b3IgaXMgbm90IHRoZSBzYW1lIGFzIHBhZ2Ugc2NhbGUgZmFjdG9yOgorICAgICAgICAgICAgaXQg
YWx3YXlzIGFwcGxpZXMgdG8gY29udGVudCBidXQgbm90IG5lY2Vzc2FyaWx5IGFwcGxpZXMgdG8g
dGhlIHBhZ2UuCisgICAgICAgICAgICBUaGUgdmlldyBjb250ZW50IHNjYWxlIGZhY3RvciBpcyBj
YWxjdWxhdGVkIGJ5IHZpZXdwb3J0IGNvbnRyb2xsZXIKKyAgICAgICAgICAgIGFuZCBhcHBsaWVz
IGltbWVkaWF0ZWx5IGZvciBwYWludGluZyBpbiBVSSBwcm9jZXNzLiBQYWdlIHNjYWxlIGZhY3Rv
cgorICAgICAgICAgICAgaXMgdXBkYXRlZCBsYXRlciBhZnRlciB0aGUgZnJhbWUgaXMgcmVuZGVy
ZWQgdG8gYWNjb21wbGlzaCB0aGUgcGVuZGluZworICAgICAgICAgICAgc2NhbGUgY2hhbmdlLgor
CisgICAgICAgIChXS1ZpZXdHZXRDb250ZW50UG9zaXRpb24pOgorICAgICAgICAoV0tWaWV3U2V0
Q29udGVudFBvc2l0aW9uKToKKworICAgICAgICAgICAgTmV3IFdLVmlldyBBUEkgd2FzIGFkZGVk
IHRvIHNldCBhbmQgZ2V0IGNvbnRlbnQgcG9zaXRpb24uCisgICAgICAgICAgICBDb250ZW50IHBv
c2l0aW9uIGlzIHNldCBpbiBVSSB1bml0cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9l
ZmwvV0tWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6Cisg
ICAgICAgIChFd2tWaWV3OjpFd2tWaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3Lmg6CisgICAgICAgIChFd2tWaWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Vmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsOjpzZXRWaWV3cG9ydFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDo6c2V0UGFnZVNjYWxl
RmFjdG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3OjpXZWJWaWV3KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6cGFp
bnRUb0NhaXJvU3VyZmFjZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnRyYW5zZm9ybVRv
U2NlbmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp1cGRhdGVWaWV3cG9ydFNpemUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpwYWdlRGlkUmVxdWVzdFNjcm9sbCk6CisgICAgICAg
ICogVUlQcm9jZXNzL2VmbC9XZWJWaWV3Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnNl
dENvbnRlbnRTY2FsZUZhY3Rvcik6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmNvbnRlbnRT
Y2FsZUZhY3Rvcik6CisgICAgICAgIChXZWJWaWV3KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
dzo6c2V0Q29udGVudFBvc2l0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6Y29udGVu
dFBvc2l0aW9uKToKKwogMjAxMy0wNC0wNSAgQWxiZXJ0byBHYXJjaWEgIDxhZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dUS11bV0syXSBXZWJLaXRMb2FkZXJDbGllbnQ6IGFkZCBtaXNz
aW5nIGluaXRpYWxpemVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL2VmbC9XS1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9X
S1ZpZXcuY3BwCmluZGV4IDFlMTUzYTguLjVkYmMzMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5jcHAKQEAgLTc1LDYgKzc1LDI3IEBAIHZvaWQgV0tW
aWV3U2V0SXNWaXNpYmxlKFdLVmlld1JlZiB2aWV3UmVmLCBib29sIGlzVmlzaWJsZSkKICAgICB0
b0ltcGwodmlld1JlZiktPnNldFZpc2libGUoaXNWaXNpYmxlKTsKIH0KIAorZmxvYXQgV0tWaWV3
R2V0Q29udGVudFNjYWxlRmFjdG9yKFdLVmlld1JlZiB2aWV3UmVmKQoreworICAgIHJldHVybiB0
b0ltcGwodmlld1JlZiktPmNvbnRlbnRTY2FsZUZhY3RvcigpOworfQorCit2b2lkIFdLVmlld1Nl
dENvbnRlbnRTY2FsZUZhY3RvcihXS1ZpZXdSZWYgdmlld1JlZiwgZmxvYXQgc2NhbGUpCit7Cisg
ICAgdG9JbXBsKHZpZXdSZWYpLT5zZXRDb250ZW50U2NhbGVGYWN0b3Ioc2NhbGUpOworfQorCitX
S1BvaW50IFdLVmlld0dldENvbnRlbnRQb3NpdGlvbihXS1ZpZXdSZWYgdmlld1JlZikKK3sKKyAg
ICBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiByZXN1bHQgPSB0b0ltcGwodmlld1JlZiktPmNv
bnRlbnRQb3NpdGlvbigpOworICAgIHJldHVybiBXS1BvaW50TWFrZShyZXN1bHQueCgpLCByZXN1
bHQueSgpKTsKK30KKwordm9pZCBXS1ZpZXdTZXRDb250ZW50UG9zaXRpb24oV0tWaWV3UmVmIHZp
ZXdSZWYsIFdLUG9pbnQgcG9zaXRpb24pCit7CisgICAgdG9JbXBsKHZpZXdSZWYpLT5zZXRDb250
ZW50UG9zaXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludChwb3NpdGlvbi54LCBwb3NpdGlvbi55KSk7
Cit9CisKIHZvaWQgV0tWaWV3U2V0VXNlclZpZXdwb3J0VHJhbnNsYXRpb24oV0tWaWV3UmVmIHZp
ZXdSZWYsIGRvdWJsZSB0eCwgZG91YmxlIHR5KQogewogICAgIHRvSW1wbCh2aWV3UmVmKS0+c2V0
VXNlclZpZXdwb3J0VHJhbnNsYXRpb24odHgsIHR5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvZWZsL1dLVmlldy5oCmluZGV4IDcwYzI5N2YuLjUyMGYwMjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuaApAQCAtNjQsNiArNjQsMTIgQEAg
V0tfRVhQT1JUIHZvaWQgV0tWaWV3U2V0SXNGb2N1c2VkKFdLVmlld1JlZiwgYm9vbCk7CiBXS19F
WFBPUlQgYm9vbCBXS1ZpZXdJc1Zpc2libGUoV0tWaWV3UmVmKTsKIFdLX0VYUE9SVCB2b2lkIFdL
Vmlld1NldElzVmlzaWJsZShXS1ZpZXdSZWYsIGJvb2wpOwogCitXS19FWFBPUlQgZmxvYXQgV0tW
aWV3R2V0Q29udGVudFNjYWxlRmFjdG9yKFdLVmlld1JlZik7CitXS19FWFBPUlQgdm9pZCBXS1Zp
ZXdTZXRDb250ZW50U2NhbGVGYWN0b3IoV0tWaWV3UmVmLCBmbG9hdCk7CisKK1dLX0VYUE9SVCBX
S1BvaW50IFdLVmlld0dldENvbnRlbnRQb3NpdGlvbihXS1ZpZXdSZWYpOworV0tfRVhQT1JUIHZv
aWQgV0tWaWV3U2V0Q29udGVudFBvc2l0aW9uKFdLVmlld1JlZiwgV0tQb2ludCk7CisKIFdLX0VY
UE9SVCB2b2lkIFdLVmlld1NldFVzZXJWaWV3cG9ydFRyYW5zbGF0aW9uKFdLVmlld1JlZiwgZG91
YmxlIHR4LCBkb3VibGUgdHkpOwogV0tfRVhQT1JUIFdLUG9pbnQgV0tWaWV3VXNlclZpZXdwb3J0
VG9Db250ZW50cyhXS1ZpZXdSZWYsIFdLUG9pbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IDA1ZTI0NDEuLmFmOWI4ZTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC0yNTEsNyArMjUx
LDYgQEAgRXdrVmlldzo6RXdrVmlldyhXS1ZpZXdSZWYgdmlldywgRXZhc19PYmplY3QqIGV2YXNP
YmplY3QpCiAgICAgLCBtX3ZpYnJhdGlvbkNsaWVudChWaWJyYXRpb25DbGllbnRFZmw6OmNyZWF0
ZSh0aGlzKSkKICNlbmRpZgogICAgICwgbV9iYWNrRm9yd2FyZExpc3QoRXdrQmFja0ZvcndhcmRM
aXN0OjpjcmVhdGUoV0tQYWdlR2V0QmFja0ZvcndhcmRMaXN0KHdrUGFnZSgpKSkpCi0gICAgLCBt
X3BhZ2VTY2FsZUZhY3RvcigxKQogICAgICwgbV9zZXR0aW5ncyhFd2tTZXR0aW5nczo6Y3JlYXRl
KHRoaXMpKQogICAgICwgbV9jdXJzb3JJZGVudGlmaWVyKDApCiAgICAgLCBtX21vdXNlRXZlbnRz
RW5hYmxlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
aAppbmRleCAyNDQ4ZDlkLi5mMmQzYTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5oCkBAIC0xODgsMTIgKzE4OCw2IEBAIHB1YmxpYzoKICAgICAvLyBGSVhN
RTogUmVtb3ZlIHdoZW4gcG9zc2libGUuCiAgICAgV2ViS2l0OjpXZWJWaWV3KiB3ZWJWaWV3KCk7
CiAKLSAgICB2b2lkIHNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZUZhY3RvcikgeyBtX3Bh
Z2VTY2FsZUZhY3RvciA9IHNjYWxlRmFjdG9yOyB9Ci0gICAgZmxvYXQgcGFnZVNjYWxlRmFjdG9y
KCkgY29uc3QgeyByZXR1cm4gbV9wYWdlU2NhbGVGYWN0b3I7IH0KLQotICAgIHZvaWQgc2V0UGFn
ZVBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBvc2l0aW9uKSB7IG1fcGFnZVBv
c2l0aW9uID0gcG9zaXRpb247IH0KLSAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50IHBhZ2VQ
b3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZVBvc2l0aW9uOyB9Ci0KICAgICAvLyBGSVhN
RTogbmVlZHMgcmVmYWN0b3JpbmcgKHNwbGl0IGNhbGxiYWNrIGludm9rZSkKICAgICB2b2lkIGlu
Zm9ybVVSTENoYW5nZSgpOwogCkBAIC0yNjEsOCArMjU1LDYgQEAgcHJpdmF0ZToKICAgICBPd25Q
dHI8V2ViS2l0OjpWaWJyYXRpb25DbGllbnRFZmw+IG1fdmlicmF0aW9uQ2xpZW50OwogI2VuZGlm
CiAgICAgT3duUHRyPEV3a0JhY2tGb3J3YXJkTGlzdD4gbV9iYWNrRm9yd2FyZExpc3Q7Ci0gICAg
ZmxvYXQgbV9wYWdlU2NhbGVGYWN0b3I7Ci0gICAgV2ViQ29yZTo6RmxvYXRQb2ludCBtX3BhZ2VQ
b3NpdGlvbjsKICAgICBPd25QdHI8RXdrU2V0dGluZ3M+IG1fc2V0dGluZ3M7CiAgICAgUmVmUHRy
PEV3a1dpbmRvd0ZlYXR1cmVzPiBtX3dpbmRvd0ZlYXR1cmVzOwogICAgIGNvbnN0IHZvaWQqIG1f
Y3Vyc29ySWRlbnRpZmllcjsgLy8gVGhpcyBpcyBhbiBhZGRyZXNzLCBkbyBub3QgZnJlZSBpdC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VW
aWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3BwCmluZGV4IDgxZTBhMTkuLmNiYzQzMjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29udHJv
bGxlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdl
Vmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsLmNwcApAQCAtNTEsMTUgKzUxLDE2IEBAIHZvaWQg
UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbDo6c2V0Vmlld3BvcnRQb3NpdGlvbihjb25z
dCBXZWJDb3JlOjpGbG9hdFBvCiAgICAgbV9jb250ZW50UG9zaXRpb24gPSBjb250ZW50c1BvaW50
OwogCiAgICAgRmxvYXRQb2ludCBwb3MoY29udGVudHNQb2ludCk7Ci0gICAgcG9zLnNjYWxlKG1f
dmlldy0+cGFnZVNjYWxlRmFjdG9yKCksIG1fdmlldy0+cGFnZVNjYWxlRmFjdG9yKCkpOwotICAg
IG1fdmlldy0+c2V0UGFnZVBvc2l0aW9uKHBvcyk7CisgICAgZmxvYXQgc2NhbGVGYWN0b3IgPSBX
S1ZpZXdHZXRDb250ZW50U2NhbGVGYWN0b3IobV92aWV3LT53a1ZpZXcoKSk7CisgICAgcG9zLnNj
YWxlKHNjYWxlRmFjdG9yLCBzY2FsZUZhY3Rvcik7CisgICAgV0tWaWV3U2V0Q29udGVudFBvc2l0
aW9uKG1fdmlldy0+d2tWaWV3KCksIFdLUG9pbnRNYWtlKHBvcy54KCksIHBvcy55KCkpKTsKIAot
ICAgIG1fY29udHJvbGxlci0+ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5KG1fY29udGVudFBv
c2l0aW9uLCBtX3ZpZXctPnBhZ2VTY2FsZUZhY3RvcigpKTsKKyAgICBtX2NvbnRyb2xsZXItPmRp
ZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eShtX2NvbnRlbnRQb3NpdGlvbiwgc2NhbGVGYWN0b3Ip
OwogfQogCiB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmw6OnNldFBhZ2VTY2Fs
ZUZhY3RvcihmbG9hdCBuZXdTY2FsZSkKIHsKLSAgICBtX3ZpZXctPnNldFBhZ2VTY2FsZUZhY3Rv
cihuZXdTY2FsZSk7CisgICAgV0tWaWV3U2V0Q29udGVudFNjYWxlRmFjdG9yKG1fdmlldy0+d2tW
aWV3KCksIG5ld1NjYWxlKTsKIH0KIAogdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50
RWZsOjpkaWRDaGFuZ2VWaXNpYmxlQ29udGVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvV2ViVmlldy5jcHAKaW5kZXggZDYxNTcwYi4uM2FlNDVhYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCkBAIC01Niw2ICs1Niw3IEBAIFdlYlZpZXc6OldlYlZp
ZXcoV2ViQ29udGV4dCogY29udGV4dCwgV2ViUGFnZUdyb3VwKiBwYWdlR3JvdXApCiAgICAgLCBt
X3BhZ2UoY29udGV4dC0+Y3JlYXRlV2ViUGFnZSh0aGlzLCBwYWdlR3JvdXApKQogICAgICwgbV9m
b2N1c2VkKGZhbHNlKQogICAgICwgbV92aXNpYmxlKGZhbHNlKQorICAgICwgbV9jb250ZW50U2Nh
bGVGYWN0b3IoMS4wKQogewogICAgIG1fcGFnZS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCkt
PnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOwogICAgIG1fcGFnZS0+cGFn
ZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUpOwpA
QCAtMTUzLDEwICsxNTQsMTAgQEAgdm9pZCBXZWJWaWV3OjpwYWludFRvQ2Fpcm9TdXJmYWNlKGNh
aXJvX3N1cmZhY2VfdCogc3VyZmFjZSkKIAogICAgIFBsYXRmb3JtQ29udGV4dENhaXJvIGNvbnRl
eHQoY2Fpcm9fY3JlYXRlKHN1cmZhY2UpKTsKIAotICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBhZ2VQ
b3NpdGlvbiA9IG1fZXdrVmlldy0+cGFnZVBvc2l0aW9uKCk7Ci0gICAgZG91YmxlIGVmZmVjdGl2
ZVNjYWxlID0gbV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpICogbV9ld2tWaWV3LT5wYWdlU2Nh
bGVGYWN0b3IoKTsKKyAgICBjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbiA9IGNvbnRlbnRQb3Np
dGlvbigpOworICAgIGRvdWJsZSBlZmZlY3RpdmVTY2FsZSA9IG1fcGFnZS0+ZGV2aWNlU2NhbGVG
YWN0b3IoKSAqIGNvbnRlbnRTY2FsZUZhY3RvcigpOwogCi0gICAgY2Fpcm9fbWF0cml4X3QgdHJh
bnNmb3JtID0geyBlZmZlY3RpdmVTY2FsZSwgMCwgMCwgZWZmZWN0aXZlU2NhbGUsIC1wYWdlUG9z
aXRpb24ueCgpICogbV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpLCAtcGFnZVBvc2l0aW9uLnko
KSAqIG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSB9OworICAgIGNhaXJvX21hdHJpeF90IHRy
YW5zZm9ybSA9IHsgZWZmZWN0aXZlU2NhbGUsIDAsIDAsIGVmZmVjdGl2ZVNjYWxlLCAtIHBvc2l0
aW9uLngoKSAqIG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSwgLSBwb3NpdGlvbi55KCkgKiBt
X3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkgfTsKICAgICBjYWlyb19zZXRfbWF0cml4KGNvbnRl
eHQuY3IoKSwgJnRyYW5zZm9ybSk7CiAKICAgICBzY2VuZS0+cGFpbnRUb0dyYXBoaWNzQ29udGV4
dCgmY29udGV4dCk7CkBAIC0yNDcsMTAgKzI0OCwxMCBAQCBBZmZpbmVUcmFuc2Zvcm0gV2ViVmll
dzo6dHJhbnNmb3JtVG9TY2VuZSgpIGNvbnN0CiB7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXgg
dHJhbnNmb3JtID0gbV91c2VyVmlld3BvcnRUcmFuc2Zvcm07CiAKLSAgICBjb25zdCBGbG9hdFBv
aW50JiBwYWdlUG9zaXRpb24gPSBtX2V3a1ZpZXctPnBhZ2VQb3NpdGlvbigpOworICAgIGNvbnN0
IEZsb2F0UG9pbnQmIHBvc2l0aW9uID0gY29udGVudFBvc2l0aW9uKCk7CiAgICAgdHJhbnNmb3Jt
LnNjYWxlKG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSk7Ci0gICAgdHJhbnNmb3JtLnRyYW5z
bGF0ZSgtcGFnZVBvc2l0aW9uLngoKSwgLXBhZ2VQb3NpdGlvbi55KCkpOwotICAgIHRyYW5zZm9y
bS5zY2FsZShtX2V3a1ZpZXctPnBhZ2VTY2FsZUZhY3RvcigpKTsKKyAgICB0cmFuc2Zvcm0udHJh
bnNsYXRlKC1wb3NpdGlvbi54KCksIC1wb3NpdGlvbi55KCkpOworICAgIHRyYW5zZm9ybS5zY2Fs
ZShjb250ZW50U2NhbGVGYWN0b3IoKSk7CiAKICAgICByZXR1cm4gdHJhbnNmb3JtLnRvQWZmaW5l
VHJhbnNmb3JtKCk7CiB9CkBAIC0yNzMsNyArMjc0LDcgQEAgdm9pZCBXZWJWaWV3Ojp1cGRhdGVW
aWV3cG9ydFNpemUoKQogICAgIGlmIChEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5nQXJlYSA9IHBh
Z2UoKS0+ZHJhd2luZ0FyZWEoKSkgewogICAgICAgICAvLyBXZWIgUHJvY2VzcyBleHBlY3RzIHNp
emVzIGluIFVJIHVuaXRzLCBhbmQgbm90IHJhdyBkZXZpY2UgdW5pdHMuCiAgICAgICAgIGRyYXdp
bmdBcmVhLT5zZXRTaXplKHJvdW5kZWRJbnRTaXplKGRpcFNpemUoKSksIEludFNpemUoKSk7Ci0g
ICAgICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KEZsb2F0UmVjdChtX2V3
a1ZpZXctPnBhZ2VQb3NpdGlvbigpLCBkaXBTaXplKCkpLCBGbG9hdFBvaW50KCkpOworICAgICAg
ICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChGbG9hdFJlY3QoY29udGVudFBv
c2l0aW9uKCksIGRpcFNpemUoKSksIEZsb2F0UG9pbnQoKSk7CiAgICAgfQogfQogCkBAIC01NDEs
OCArNTQyLDggQEAgdm9pZCBXZWJWaWV3OjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQ
b2ludCYgcG9zaXRpb24pCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgRmxvYXRQb2ludCB1
aVBvc2l0aW9uKHBvc2l0aW9uKTsKLSAgICB1aVBvc2l0aW9uLnNjYWxlKG1fZXdrVmlldy0+cGFn
ZVNjYWxlRmFjdG9yKCksIG1fZXdrVmlldy0+cGFnZVNjYWxlRmFjdG9yKCkpOwotICAgIG1fZXdr
Vmlldy0+c2V0UGFnZVBvc2l0aW9uKHVpUG9zaXRpb24pOworICAgIHVpUG9zaXRpb24uc2NhbGUo
Y29udGVudFNjYWxlRmFjdG9yKCksIGNvbnRlbnRTY2FsZUZhY3RvcigpKTsKKyAgICBzZXRDb250
ZW50UG9zaXRpb24odWlQb3NpdGlvbik7CiAgICAgbV9ld2tWaWV3LT5zY2hlZHVsZVVwZGF0ZURp
c3BsYXkoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9X
ZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuaAppbmRleCBm
NzI3Y2U2Li4zYzBjNGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuaApA
QCAtNjYsNiArNjYsMTIgQEAgcHVibGljOgogICAgIGJvb2wgaXNWaXNpYmxlKCkgY29uc3QgeyBy
ZXR1cm4gbV92aXNpYmxlOyB9CiAgICAgdm9pZCBzZXRWaXNpYmxlKGJvb2wpOwogCisgICAgdm9p
ZCBzZXRDb250ZW50U2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IpIHsgbV9jb250ZW50U2Nh
bGVGYWN0b3IgPSBzY2FsZUZhY3RvcjsgfQorICAgIGZsb2F0IGNvbnRlbnRTY2FsZUZhY3Rvcigp
IGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFNjYWxlRmFjdG9yOyB9CisKKyAgICB2b2lkIHNldENv
bnRlbnRQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwb3NpdGlvbikgeyBtX2Nv
bnRlbnRQb3NpdGlvbiA9IHBvc2l0aW9uOyB9CisgICAgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2lu
dCYgY29udGVudFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50UG9zaXRpb247IH0K
KwogICAgIHZvaWQgc2V0VXNlclZpZXdwb3J0VHJhbnNsYXRpb24oZG91YmxlIHR4LCBkb3VibGUg
dHkpOwogICAgIFdlYkNvcmU6OkludFBvaW50IHVzZXJWaWV3cG9ydFRvQ29udGVudHMoY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmKSBjb25zdDsKIApAQCAtMTkzLDYgKzE5OSw4IEBAIHByaXZhdGU6
CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3NpemU7IC8vIFNpemUgaW4gZGV2aWNlIHVuaXRzLgog
ICAgIGJvb2wgbV9mb2N1c2VkOwogICAgIGJvb2wgbV92aXNpYmxlOworICAgIGZsb2F0IG1fY29u
dGVudFNjYWxlRmFjdG9yOworICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9jb250ZW50UG9zaXRp
b247IC8vIFBvc2l0aW9uIGluIFVJIHVuaXRzLgogfTsKIAogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>