<?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>82827</bug_id>
          
          <creation_ts>2012-03-31 02:01:12 -0700</creation_ts>
          <short_desc>Web Inspector: Implement backend for device metrics emulation</short_desc>
          <delta_ts>2012-04-03 01:55:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>75963</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>592824</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-03-31 02:01:12 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592830</commentid>
    <comment_count>1</comment_count>
      <attachid>134952</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-03-31 02:57:06 -0700</bug_when>
    <thetext>Created attachment 134952
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593354</commentid>
    <comment_count>2</comment_count>
      <attachid>134952</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-02 04:53:59 -0700</bug_when>
    <thetext>Comment on attachment 134952
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:314
&gt; +                &quot;description&quot;: &quot;Checks whether &lt;code&gt;setDeviceMetricsOverride()&lt;/code&gt; can be invoked.&quot;,

drop the ()

&gt; Source/WebCore/inspector/Inspector.json:316
&gt; +                    { &quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;If true, &lt;code&gt;setDeviceMetricsOverride()&lt;/code&gt; can safely be invoked on the agent.&quot; }

ditto

&gt; Source/WebCore/inspector/Inspector.json:317
&gt; +                ]

should be hidden

&gt; Source/WebCore/inspector/InspectorClient.h:60
&gt; +    virtual void overrideDeviceMetrics(int /*width*/, int /*height*/, float /*fontScaleFactor*/) { }

Please file a bug requesting this feature is either upstreamed to WebCore or implemented for the other ports.

&gt; Source/WebCore/inspector/InspectorClient.h:61
&gt; +    virtual void autoZoomPageToFitWidth() { }

Can we implement it in WebCore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593378</commentid>
    <comment_count>3</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-04-02 05:14:47 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 134952 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134952&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/Inspector.json:314
&gt; &gt; +                &quot;description&quot;: &quot;Checks whether &lt;code&gt;setDeviceMetricsOverride()&lt;/code&gt; can be invoked.&quot;,
&gt; 
&gt; drop the ()

Done.

&gt; &gt; Source/WebCore/inspector/Inspector.json:316
&gt; &gt; +                    { &quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;If true, &lt;code&gt;setDeviceMetricsOverride()&lt;/code&gt; can safely be invoked on the agent.&quot; }
&gt; 
&gt; ditto

Done.
 
&gt; &gt; Source/WebCore/inspector/Inspector.json:317
&gt; &gt; +                ]
&gt; 
&gt; should be hidden

Done.

&gt; &gt; Source/WebCore/inspector/InspectorClient.h:60
&gt; &gt; +    virtual void overrideDeviceMetrics(int /*width*/, int /*height*/, float /*fontScaleFactor*/) { }
&gt; 
&gt; Please file a bug requesting this feature is either upstreamed to WebCore or implemented for the other ports.

Done.

&gt; &gt; Source/WebCore/inspector/InspectorClient.h:61
&gt; &gt; +    virtual void autoZoomPageToFitWidth() { }
&gt; 
&gt; Can we implement it in WebCore?

Alas, we need to know the emulated text scale factor for this method to work correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593385</commentid>
    <comment_count>4</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-04-02 05:21:00 -0700</bug_when>
    <thetext>Committed r112864: &lt;http://trac.webkit.org/changeset/112864&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593659</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-02 11:59:01 -0700</bug_when>
    <thetext>This appears to have broken one test: inspector/styles/override-screen-size.html

Should you have landed new test results too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594296</commentid>
    <comment_count>6</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-04-03 01:55:13 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This appears to have broken one test: inspector/styles/override-screen-size.html
&gt; 
&gt; Should you have landed new test results too?

No. This test should rather be disabled on all platforms but Chromium, since the implementation has changed to a platform-specific one (previously it was implemented in WebCore but did not do as much as we need to support the related feature (bug 75963).

I have landed the respective suppressions in http://trac.webkit.org/changeset/112998</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134952</attachid>
            <date>2012-03-31 02:57:06 -0700</date>
            <delta_ts>2012-04-02 04:53:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82827-20120331135704.patch</filename>
            <type>text/plain</type>
            <size>19180</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBkZWQzYzAxZTBiMTll
NjZlNWIwNTc5MzI4YThkZDJlYmNlYzQxMS4uYjFjODYyZjNjYWIzMTMxOTNmYmEyMTM3ODU5MmQx
YmVhNTc5ZWE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTAzLTMxICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogSW1wbGVtZW50IGJhY2tlbmQgZm9yIGRldmljZSBtZXRyaWNzIGVtdWxhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI4MjcKKworICAg
ICAgICBUaGlzIGNoYW5nZSBpbXBsZW1lbnRzIHRoZSBpbnNwZWN0b3IgYmFja2VuZCBmb3IgdGhl
IGRldmljZSBtZXRyaWNzIG92ZXJyaWRlIGZlYXR1cmUsCisgICAgICAgIGFzIHdlbGwgYXMgdGhl
IHJlc3BlY3RpdmUgSW5zcGVjdG9yQ2xpZW50IGNhcGFiaWxpdHkgZGV0ZWN0aW9uLgorICAgICAg
ICBXaGVuIGEgbmF2aWdhdGlvbiBvY2N1cnMgaW4gdGhlIG92ZXJyaWRlIG1vZGUsIHRoZSBwYWdl
IGF1dG8tem9vbWluZyAoImZpdCB3aWR0aCIpCisgICAgICAgIGlzIGluaXRpYXRlZCB1cG9uIHRo
ZSBmaXJzdCBsYXlvdXQgYWZ0ZXIgdGhlIERPTUNvbnRlbnRMb2FkZWQgZXZlbnQuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50OjpjYW5PdmVycmlkZURldmljZU1ldHJpY3Mp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50OjpvdmVycmlkZURldmljZU1ldHJp
Y3MpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50OjphdXRvWm9vbVBhZ2VUb0Zp
dFdpZHRoKToKKyAgICAgICAgKEluc3BlY3RvckNsaWVudCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZExheW91dEltcGwpOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoUGFnZUFnZW50U3RhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpJbnNwZWN0b3JQYWdlQWdlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpyZXN0b3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JQYWdlQWdlbnQ6OmNhbk92ZXJyaWRlRGV2aWNlTWV0cmljcyk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6c2V0RGV2aWNl
TWV0cmljc092ZXJyaWRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6
ZG9tQ29udGVudEV2ZW50RmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFn
ZW50Ojpsb2FkRXZlbnRGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdl
bnQ6OmRpZExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnVw
ZGF0ZVZpZXdNZXRyaWNzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclN0YXRlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvclN0YXRlOjpnZXREb3VibGUpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclN0YXRlLmg6CisgICAgICAgIChJbnNwZWN0b3JT
dGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JTdGF0ZTo6c2V0RG91YmxlKToKKwog
MjAxMi0wMy0yOSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtD
aHJvbWl1bV0gRGVsZXRlIFdlYktpdC9jaHJvbWl1bS9icmlkZ2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBiYTFkN2JkYzE2N2Y0MmU5MjJhNTQyOTZiOWRmODc2
ZTM5OTdlOWM4Li4wOWZjYWYxYTdmM2VlYWI4Mzk5NGM4ODA2ODk0Nzk3MTAzNzcxYWUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0zMTAsMTEgKzMxMCwxOSBA
QAogICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlCiAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogInNldFNjcmVlblNpemVPdmVycmlkZSIs
Ci0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlcyB0aGUgdmFsdWVzIG9m
IHdpbmRvdy5zY3JlZW4ud2lkdGgsIHdpbmRvdy5zY3JlZW4uaGVpZ2h0LCB3aW5kb3cuaW5uZXJX
aWR0aCwgd2luZG93LmlubmVySGVpZ2h0LCBhbmQgXCJkZXZpY2Utd2lkdGhcIi9cImRldmljZS1o
ZWlnaHRcIi1yZWxhdGVkIENTUyBtZWRpYSBxdWVyeSByZXN1bHRzIiwKKyAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjYW5PdmVycmlkZURldmljZU1ldHJpY3MiLAorICAgICAgICAgICAgICAgICJk
ZXNjcmlwdGlvbiI6ICJDaGVja3Mgd2hldGhlciA8Y29kZT5zZXREZXZpY2VNZXRyaWNzT3ZlcnJp
ZGUoKTwvY29kZT4gY2FuIGJlIGludm9rZWQuIiwKKyAgICAgICAgICAgICAgICAicmV0dXJucyI6
IFsKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXN1bHQiLCAidHlwZSI6ICJib29s
ZWFuIiwgImRlc2NyaXB0aW9uIjogIklmIHRydWUsIDxjb2RlPnNldERldmljZU1ldHJpY3NPdmVy
cmlkZSgpPC9jb2RlPiBjYW4gc2FmZWx5IGJlIGludm9rZWQgb24gdGhlIGFnZW50LiIgfQorICAg
ICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgIm5hbWUiOiAic2V0RGV2aWNlTWV0cmljc092ZXJyaWRlIiwKKyAgICAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGVzIHRoZSB2YWx1ZXMgb2YgZGV2aWNlIHNjcmVlbiBk
aW1lbnNpb25zICh3aW5kb3cuc2NyZWVuLndpZHRoLCB3aW5kb3cuc2NyZWVuLmhlaWdodCwgd2lu
ZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdodCwgYW5kIFwiZGV2aWNlLXdpZHRoXCIv
XCJkZXZpY2UtaGVpZ2h0XCItcmVsYXRlZCBDU1MgbWVkaWEgcXVlcnkgcmVzdWx0cykgYW5kIHRo
ZSBmb250IHNjYWxlIGZhY3Rvci4iLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwog
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIndpZHRoIiwgInR5cGUiOiAiaW50ZWdlciIs
ICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkaW5nIHdpZHRoIHZhbHVlIGluIHBpeGVscyAobWluaW11
bSAwLCBtYXhpbXVtIDEwMDAwMDAwKS4gMCBkaXNhYmxlcyB0aGUgb3ZlcnJpZGUuIiB9LAotICAg
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhlaWdodCIsICJ0eXBlIjogImludGVnZXIiLCAi
ZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGluZyBoZWlnaHQgdmFsdWUgaW4gcGl4ZWxzIChtaW5pbXVt
IDAsIG1heGltdW0gMTAwMDAwMDApLiAwIGRpc2FibGVzIHRoZSBvdmVycmlkZS4iIH0KKyAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoZWlnaHQiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRl
c2NyaXB0aW9uIjogIk92ZXJyaWRpbmcgaGVpZ2h0IHZhbHVlIGluIHBpeGVscyAobWluaW11bSAw
LCBtYXhpbXVtIDEwMDAwMDAwKS4gMCBkaXNhYmxlcyB0aGUgb3ZlcnJpZGUuIiB9LAorICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogImZvbnRTY2FsZUZhY3RvciIsICJ0eXBlIjogIm51bWJl
ciIsICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkaW5nIGZvbnQgc2NhbGUgZmFjdG9yIHZhbHVlICht
dXN0IGJlIHBvc2l0aXZlKS4gMSBkaXNhYmxlcyB0aGUgb3ZlcnJpZGUuIiB9CiAgICAgICAgICAg
ICAgICAgXSwKICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQogICAgICAgICAgICAgfSwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaAppbmRleCBlNGRhNjg4
ZTMxY2Q5NDM2NGViNjIxMjNkODBkMDU4ZWYzZDM1MzAwLi4wZjljZWJjZmZlNjNhYzU4ODQzY2E3
NjZlOTE2NmQwNTViZmJiNzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNsaWVudC5oCkBAIC01Niw2ICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGNh
bkNsZWFyQnJvd3NlckNvb2tpZXMoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCBjbGVhckJyb3dzZXJDb29raWVzKCkgeyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY2FuT3ZlcnJp
ZGVEZXZpY2VNZXRyaWNzKCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgb3Zl
cnJpZGVEZXZpY2VNZXRyaWNzKGludCAvKndpZHRoKi8sIGludCAvKmhlaWdodCovLCBmbG9hdCAv
KmZvbnRTY2FsZUZhY3RvciovKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYXV0b1pvb21QYWdlVG9G
aXRXaWR0aCgpIHsgfQorCiAgICAgYm9vbCBkb0Rpc3BhdGNoTWVzc2FnZU9uRnJvbnRlbmRQYWdl
KFBhZ2UqIGZyb250ZW5kUGFnZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKaW5kZXggYjhkODQxZjMxNjM4NDlkMjk0YzhmNDg2MTBmZDVjOTI2ZDUwOTVjYi4uNWE1MzE2
MDExZjFhMTg1M2M2N2NiMGVkNGM4ZjI0YWRiYWU3NDlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTQwNyw4
ICs0MDcsMTQgQEAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6d2lsbExheW91dEltcGwoSW5zdHJ1bWUKIAogdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZExheW91dEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llJiBjb29raWUpCiB7CisgICAgaWYgKCFjb29raWUuZmlyc3QpCisgICAgICAgIHJldHVy
bjsKKwogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gcmV0
cmlldmVUaW1lbGluZUFnZW50KGNvb2tpZSkpCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZExh
eW91dCgpOworCisgICAgaWYgKEluc3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50ID0gY29va2ll
LmZpcnN0LT5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKKyAgICAgICAgcGFnZUFnZW50LT5kaWRMYXlv
dXQoKTsKIH0KIAogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6d2lsbExvYWRYSFJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMsIFhNTEh0dHBSZXF1ZXN0KiByZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCA0NTgyZThiODljODdlYmVk
YTk2ZjJiYzMwZWFjMWQ4ZjQxZTQ1OTA2Li45MGQ0ZjI0OGU3M2UxYzVmMjVkMDY5ZmNhNDczNThj
Mzk1MGU4ZTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcApAQCAtODQsNiArODQsNyBAQCBzdGF0aWMgY29uc3QgY2hhciBwYWdlQWdlbnRF
bmFibGVkW10gPSAicGFnZUFnZW50RW5hYmxlZCI7CiBzdGF0aWMgY29uc3QgY2hhciBwYWdlQWdl
bnRTY3JpcHRzVG9FdmFsdWF0ZU9uTG9hZFtdID0gInBhZ2VBZ2VudFNjcmlwdHNUb0V2YWx1YXRl
T25Mb2FkIjsKIHN0YXRpYyBjb25zdCBjaGFyIHBhZ2VBZ2VudFNjcmVlbldpZHRoT3ZlcnJpZGVb
XSA9ICJwYWdlQWdlbnRTY3JlZW5XaWR0aE92ZXJyaWRlIjsKIHN0YXRpYyBjb25zdCBjaGFyIHBh
Z2VBZ2VudFNjcmVlbkhlaWdodE92ZXJyaWRlW10gPSAicGFnZUFnZW50U2NyZWVuSGVpZ2h0T3Zl
cnJpZGUiOworc3RhdGljIGNvbnN0IGNoYXIgcGFnZUFnZW50Rm9udFNjYWxlRmFjdG9yT3ZlcnJp
ZGVbXSA9ICJwYWdlQWdlbnRGb250U2NhbGVGYWN0b3JPdmVycmlkZSI7CiBzdGF0aWMgY29uc3Qg
Y2hhciBzaG93UGFpbnRSZWN0c1tdID0gInNob3dQYWludFJlY3RzIjsKIH0KIApAQCAtMzEwLDgg
KzMxMSw4IEBAIEluc3BlY3RvclBhZ2VBZ2VudDo6SW5zcGVjdG9yUGFnZUFnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsCiAgICAgLCBtX2NsaWVudChjbGllbnQp
CiAgICAgLCBtX2Zyb250ZW5kKDApCiAgICAgLCBtX2xhc3RTY3JpcHRJZGVudGlmaWVyKDApCi0g
ICAgLCBtX29yaWdpbmFsVXNlRml4ZWRMYXlvdXQoZmFsc2UpCiAgICAgLCBtX2xhc3RQYWludENv
bnRleHQoMCkKKyAgICAsIG1fZGlkTG9hZEV2ZW50RmlyZShmYWxzZSkKIHsKIH0KIApAQCAtMzM2
LDcgKzMzNyw4IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpyZXN0b3JlKCkKICAgICAgICAg
Ly8gV2hlbiByZXN0b3JpbmcgdGhlIGFnZW50LCBvdmVycmlkZSB2YWx1ZXMgYXJlIHJlc3RvcmVk
IGludG8gdGhlIEZyYW1lVmlldy4KICAgICAgICAgaW50IHdpZHRoID0gc3RhdGljX2Nhc3Q8aW50
PihtX3N0YXRlLT5nZXRMb25nKFBhZ2VBZ2VudFN0YXRlOjpwYWdlQWdlbnRTY3JlZW5XaWR0aE92
ZXJyaWRlKSk7CiAgICAgICAgIGludCBoZWlnaHQgPSBzdGF0aWNfY2FzdDxpbnQ+KG1fc3RhdGUt
PmdldExvbmcoUGFnZUFnZW50U3RhdGU6OnBhZ2VBZ2VudFNjcmVlbkhlaWdodE92ZXJyaWRlKSk7
Ci0gICAgICAgIHVwZGF0ZUZyYW1lVmlld0ZpeGVkTGF5b3V0KHdpZHRoLCBoZWlnaHQpOworICAg
ICAgICBkb3VibGUgZm9udFNjYWxlRmFjdG9yID0gbV9zdGF0ZS0+Z2V0RG91YmxlKFBhZ2VBZ2Vu
dFN0YXRlOjpwYWdlQWdlbnRGb250U2NhbGVGYWN0b3JPdmVycmlkZSk7CisgICAgICAgIHVwZGF0
ZVZpZXdNZXRyaWNzKHdpZHRoLCBoZWlnaHQsIGZvbnRTY2FsZUZhY3Rvcik7CiAgICAgfQogfQog
CkBAIC0zNTQsNyArMzU2LDggQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpc2FibGUoRXJy
b3JTdHJpbmcqKQogICAgIC8vIFdoZW4gZGlzYWJsaW5nIHRoZSBhZ2VudCwgcmVzZXQgdGhlIG92
ZXJyaWRlIHZhbHVlcy4KICAgICBtX3N0YXRlLT5zZXRMb25nKFBhZ2VBZ2VudFN0YXRlOjpwYWdl
QWdlbnRTY3JlZW5XaWR0aE92ZXJyaWRlLCAwKTsKICAgICBtX3N0YXRlLT5zZXRMb25nKFBhZ2VB
Z2VudFN0YXRlOjpwYWdlQWdlbnRTY3JlZW5IZWlnaHRPdmVycmlkZSwgMCk7Ci0gICAgdXBkYXRl
RnJhbWVWaWV3Rml4ZWRMYXlvdXQoMCwgMCk7CisgICAgbV9zdGF0ZS0+c2V0RG91YmxlKFBhZ2VB
Z2VudFN0YXRlOjpwYWdlQWdlbnRGb250U2NhbGVGYWN0b3JPdmVycmlkZSwgMSk7CisgICAgdXBk
YXRlVmlld01ldHJpY3MoMCwgMCwgMSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50Ojph
ZGRTY3JpcHRUb0V2YWx1YXRlT25Mb2FkKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2UsIFN0cmluZyogaWRlbnRpZmllcikKQEAgLTYzNiw3ICs2MzksMTIgQEAgdm9pZCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OnNldERvY3VtZW50Q29udGVudChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcs
IGNvbnN0IFN0cmkKICAgICBET01QYXRjaFN1cHBvcnQ6OnBhdGNoRG9jdW1lbnQoZG9jdW1lbnQs
IGh0bWwpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0U2NyZWVuU2l6ZU92ZXJy
aWRlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgaW50IHdpZHRoLCBjb25zdCBpbnQg
aGVpZ2h0KQordm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmNhbk92ZXJyaWRlRGV2aWNlTWV0cmlj
cyhFcnJvclN0cmluZyosIGJvb2wqIHJlc3VsdCkKK3sKKyAgICAqcmVzdWx0ID0gbV9jbGllbnQt
PmNhbk92ZXJyaWRlRGV2aWNlTWV0cmljcygpOworfQorCit2b2lkIEluc3BlY3RvclBhZ2VBZ2Vu
dDo6c2V0RGV2aWNlTWV0cmljc092ZXJyaWRlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29u
c3QgaW50IHdpZHRoLCBjb25zdCBpbnQgaGVpZ2h0LCBkb3VibGUgZm9udFNjYWxlRmFjdG9yKQog
ewogICAgIGNvbnN0IHN0YXRpYyBsb25nIG1heERpbWVuc2lvbiA9IDEwMDAwMDAwOwogCkBAIC02
NDUsMTcgKzY1MywyOSBAQCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0U2NyZWVuU2l6ZU92
ZXJyaWRlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgaQogICAgICAgICByZXR1cm47
CiAgICAgfQogCisgICAgaWYgKCF3aWR0aCBeICFoZWlnaHQpIHsKKyAgICAgICAgKmVycm9yU3Ry
aW5nID0gIkJvdGggd2lkdGggYW5kIGhlaWdodCBtdXN0IGJlIGVpdGhlciB6ZXJvIG9yIG5vbi16
ZXJvIGF0IG9uY2UiOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGZvbnRTY2Fs
ZUZhY3RvciA8PSAwKSB7CisgICAgICAgICplcnJvclN0cmluZyA9ICJmb250U2NhbGVGYWN0b3Ig
bXVzdCBiZSBwb3NpdGl2ZSI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBUaGVz
ZSB0d28gYWx3YXlzIGZpdCBhbiBpbnQuCiAgICAgaW50IGN1cnJlbnRXaWR0aCA9IHN0YXRpY19j
YXN0PGludD4obV9zdGF0ZS0+Z2V0TG9uZyhQYWdlQWdlbnRTdGF0ZTo6cGFnZUFnZW50U2NyZWVu
V2lkdGhPdmVycmlkZSkpOwogICAgIGludCBjdXJyZW50SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50
PihtX3N0YXRlLT5nZXRMb25nKFBhZ2VBZ2VudFN0YXRlOjpwYWdlQWdlbnRTY3JlZW5IZWlnaHRP
dmVycmlkZSkpOworICAgIGRvdWJsZSBjdXJyZW50Rm9udFNjYWxlRmFjdG9yID0gbV9zdGF0ZS0+
Z2V0RG91YmxlKFBhZ2VBZ2VudFN0YXRlOjpwYWdlQWdlbnRGb250U2NhbGVGYWN0b3JPdmVycmlk
ZSk7CiAKLSAgICBpZiAod2lkdGggPT0gY3VycmVudFdpZHRoICYmIGhlaWdodCA9PSBjdXJyZW50
SGVpZ2h0KQorICAgIGlmICh3aWR0aCA9PSBjdXJyZW50V2lkdGggJiYgaGVpZ2h0ID09IGN1cnJl
bnRIZWlnaHQgJiYgZm9udFNjYWxlRmFjdG9yID09IGN1cnJlbnRGb250U2NhbGVGYWN0b3IpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIG1fc3RhdGUtPnNldExvbmcoUGFnZUFnZW50U3RhdGU6OnBh
Z2VBZ2VudFNjcmVlbldpZHRoT3ZlcnJpZGUsIHdpZHRoKTsKICAgICBtX3N0YXRlLT5zZXRMb25n
KFBhZ2VBZ2VudFN0YXRlOjpwYWdlQWdlbnRTY3JlZW5IZWlnaHRPdmVycmlkZSwgaGVpZ2h0KTsK
KyAgICBtX3N0YXRlLT5zZXREb3VibGUoUGFnZUFnZW50U3RhdGU6OnBhZ2VBZ2VudEZvbnRTY2Fs
ZUZhY3Rvck92ZXJyaWRlLCBmb250U2NhbGVGYWN0b3IpOwogCi0gICAgdXBkYXRlRnJhbWVWaWV3
Rml4ZWRMYXlvdXQod2lkdGgsIGhlaWdodCk7CisgICAgdXBkYXRlVmlld01ldHJpY3Mod2lkdGgs
IGhlaWdodCwgZm9udFNjYWxlRmFjdG9yKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6
OnNldFNob3dQYWludFJlY3RzKEVycm9yU3RyaW5nKiwgYm9vbCBzaG93KQpAQCAtNjkxLDEyICs3
MTEsMTMgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZENsZWFyV2luZG93T2JqZWN0SW5X
b3JsZChGcmFtZSogZnJhbWUsIERPTVdyYXBwZXJXb3IKIAogdm9pZCBJbnNwZWN0b3JQYWdlQWdl
bnQ6OmRvbUNvbnRlbnRFdmVudEZpcmVkKCkKIHsKLSAgICAgbV9mcm9udGVuZC0+ZG9tQ29udGVu
dEV2ZW50RmlyZWQoY3VycmVudFRpbWUoKSk7CisgICAgbV9kaWRMb2FkRXZlbnRGaXJlID0gdHJ1
ZTsKKyAgICBtX2Zyb250ZW5kLT5kb21Db250ZW50RXZlbnRGaXJlZChjdXJyZW50VGltZSgpKTsK
IH0KIAogdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmxvYWRFdmVudEZpcmVkKCkKIHsKLSAgICAg
bV9mcm9udGVuZC0+bG9hZEV2ZW50RmlyZWQoY3VycmVudFRpbWUoKSk7CisgICAgbV9mcm9udGVu
ZC0+bG9hZEV2ZW50RmlyZWQoY3VycmVudFRpbWUoKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFn
ZUFnZW50OjpmcmFtZU5hdmlnYXRlZChEb2N1bWVudExvYWRlciogbG9hZGVyKQpAQCAtODIwLDYg
Kzg0MSwxOSBAQCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZGlkUGFpbnQoKQogICAgIG1fbGFz
dFBhaW50Q29udGV4dCA9IDA7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpkaWRMYXlv
dXQoKQoreworICAgIGlmICghbV9kaWRMb2FkRXZlbnRGaXJlKQorICAgICAgICByZXR1cm47CisK
KyAgICBtX2RpZExvYWRFdmVudEZpcmUgPSBmYWxzZTsKKyAgICBpbnQgY3VycmVudFdpZHRoID0g
c3RhdGljX2Nhc3Q8aW50PihtX3N0YXRlLT5nZXRMb25nKFBhZ2VBZ2VudFN0YXRlOjpwYWdlQWdl
bnRTY3JlZW5XaWR0aE92ZXJyaWRlKSk7CisgICAgaW50IGN1cnJlbnRIZWlnaHQgPSBzdGF0aWNf
Y2FzdDxpbnQ+KG1fc3RhdGUtPmdldExvbmcoUGFnZUFnZW50U3RhdGU6OnBhZ2VBZ2VudFNjcmVl
bkhlaWdodE92ZXJyaWRlKSk7CisKKyAgICBpZiAoY3VycmVudFdpZHRoICYmIGN1cnJlbnRIZWln
aHQpCisgICAgICAgIG1fY2xpZW50LT5hdXRvWm9vbVBhZ2VUb0ZpdFdpZHRoKCk7Cit9CisKIFBh
c3NSZWZQdHI8VHlwZUJ1aWxkZXI6OlBhZ2U6OkZyYW1lPiBJbnNwZWN0b3JQYWdlQWdlbnQ6OmJ1
aWxkT2JqZWN0Rm9yRnJhbWUoRnJhbWUqIGZyYW1lKQogewogICAgIFJlZlB0cjxUeXBlQnVpbGRl
cjo6UGFnZTo6RnJhbWU+IGZyYW1lT2JqZWN0ID0gVHlwZUJ1aWxkZXI6OlBhZ2U6OkZyYW1lOjpj
cmVhdGUoKQpAQCAtODc1LDQwICs5MDksMTUgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UGFn
ZTo6RnJhbWVSZXNvdXJjZVRyZWU+IEluc3BlY3RvclBhZ2VBZ2VudDo6YnVpbGRPYmplY3QKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6dXBkYXRlRnJh
bWVWaWV3Rml4ZWRMYXlvdXQoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQordm9pZCBJbnNwZWN0b3JQ
YWdlQWdlbnQ6OnVwZGF0ZVZpZXdNZXRyaWNzKGludCB3aWR0aCwgaW50IGhlaWdodCwgZG91Ymxl
IGZvbnRTY2FsZUZhY3RvcikKIHsKLSAgICBpZiAoIXdpZHRoICYmICFoZWlnaHQpCi0gICAgICAg
IGNsZWFyRnJhbWVWaWV3Rml4ZWRMYXlvdXQoKTsKLSAgICBlbHNlCi0gICAgICAgIHNldEZyYW1l
Vmlld0ZpeGVkTGF5b3V0KHdpZHRoLCBoZWlnaHQpOworICAgIG1fY2xpZW50LT5vdmVycmlkZURl
dmljZU1ldHJpY3Mod2lkdGgsIGhlaWdodCwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGZvbnRTY2FsZUZh
Y3RvcikpOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbWFpbkZyYW1lKCktPmRvY3VtZW50
KCk7CiAgICAgZG9jdW1lbnQtPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKFJlY2FsY1N0eWxlSW1tZWRp
YXRlbHkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWVkaWFRdWVyeVJlc3VsdENo
YW5nZWQoZG9jdW1lbnQpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6Y2xlYXJGcmFt
ZVZpZXdGaXhlZExheW91dCgpCi17Ci0gICAgaWYgKG1fb3JpZ2luYWxGaXhlZExheW91dFNpemUp
IHsKLSAgICAgICAgLy8gVHVybmluZyBvZmYgZXhpc3Rpbmcgb3ZlcnJpZGVzIChuby1vcCBvdGhl
cndpc2UpIC0gcmV2ZXJ0IHRoZSBhZmZlY3RlZCBGcmFtZVZpZXcgdG8gdGhlIHJlbWVtYmVyZWQg
Zml4ZWQgbGF5b3V0IHNldHRpbmdzLgotICAgICAgICBtYWluRnJhbWUoKS0+dmlldygpLT5zZXRG
aXhlZExheW91dFNpemUoKm1fb3JpZ2luYWxGaXhlZExheW91dFNpemUpOwotICAgICAgICBtX29y
aWdpbmFsRml4ZWRMYXlvdXRTaXplLmNsZWFyKCk7Ci0gICAgICAgIG1haW5GcmFtZSgpLT52aWV3
KCktPnNldFVzZUZpeGVkTGF5b3V0KG1fb3JpZ2luYWxVc2VGaXhlZExheW91dCk7Ci0gICAgfQot
fQotCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0RnJhbWVWaWV3Rml4ZWRMYXlvdXQoaW50
IHdpZHRoLCBpbnQgaGVpZ2h0KQotewotICAgIGlmICghbV9vcmlnaW5hbEZpeGVkTGF5b3V0U2l6
ZSkgewotICAgICAgICAvLyBUdXJuaW5nIG9uIHRoZSBvdmVycmlkZXMgKG5vbmUgY3VycmVudGx5
IGV4aXN0KSAtIHJlbWVtYmVyIGV4aXN0aW5nIGZpeGVkIGxheW91dCBmb3IgdGhlIGFmZmVjdGVk
IEZyYW1lVmlldy4KLSAgICAgICAgbV9vcmlnaW5hbEZpeGVkTGF5b3V0U2l6ZSA9IGFkb3B0UHRy
KG5ldyBJbnRTaXplKG1haW5GcmFtZSgpLT52aWV3KCktPmZpeGVkTGF5b3V0U2l6ZSgpKSk7Ci0g
ICAgICAgIG1fb3JpZ2luYWxVc2VGaXhlZExheW91dCA9IG1haW5GcmFtZSgpLT52aWV3KCktPnVz
ZUZpeGVkTGF5b3V0KCk7Ci0gICAgfQotCi0gICAgbWFpbkZyYW1lKCktPnZpZXcoKS0+c2V0Rml4
ZWRMYXlvdXRTaXplKEludFNpemUod2lkdGgsIGhlaWdodCkpOwotICAgIG1haW5GcmFtZSgpLT52
aWV3KCktPnNldFVzZUZpeGVkTGF5b3V0KHRydWUpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IDc3NzM0N2FlZTk0YTFlYzAzMDM1ODZm
OGEyNGM2NmNlZTY0MDA2Y2IuLjQzZTE1MmQwMTlkZmZmZDQ3MmRlMGU3MzNjYzRmMmEwMmY5MjFk
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdl
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgK
QEAgLTEwMiw3ICsxMDIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNlYXJjaEluUmVz
b3VyY2UoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIGZyYW1lSWQsIGNvbnN0IFN0cmluZyYg
dXJsLCBjb25zdCBTdHJpbmcmIHF1ZXJ5LCBjb25zdCBib29sKiBvcHRpb25hbENhc2VTZW5zaXRp
dmUsIGNvbnN0IGJvb2wqIG9wdGlvbmFsSXNSZWdleCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJh
eTxUeXBlQnVpbGRlcjo6UGFnZTo6U2VhcmNoTWF0Y2g+ID4mKTsKICAgICB2aXJ0dWFsIHZvaWQg
c2VhcmNoSW5SZXNvdXJjZXMoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmLCBjb25zdCBib29s
KiBjYXNlU2Vuc2l0aXZlLCBjb25zdCBib29sKiBpc1JlZ2V4LCBSZWZQdHI8VHlwZUJ1aWxkZXI6
OkFycmF5PFR5cGVCdWlsZGVyOjpQYWdlOjpTZWFyY2hSZXN1bHQ+ID4mKTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0RG9jdW1lbnRDb250ZW50KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBmcmFt
ZUlkLCBjb25zdCBTdHJpbmcmIGh0bWwpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JlZW5TaXpl
T3ZlcnJpZGUoRXJyb3JTdHJpbmcqLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworICAgIHZpcnR1
YWwgdm9pZCBjYW5PdmVycmlkZURldmljZU1ldHJpY3MoRXJyb3JTdHJpbmcqLCBib29sKik7Cisg
ICAgdmlydHVhbCB2b2lkIHNldERldmljZU1ldHJpY3NPdmVycmlkZShFcnJvclN0cmluZyosIGlu
dCB3aWR0aCwgaW50IGhlaWdodCwgZG91YmxlIGZvbnRTY2FsZUZhY3Rvcik7CiAgICAgdmlydHVh
bCB2b2lkIHNldFNob3dQYWludFJlY3RzKEVycm9yU3RyaW5nKiwgYm9vbCBzaG93KTsKIAogICAg
IC8vIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbiBBUEkKQEAgLTExNiw2ICsxMTcsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBhcHBseVNjcmVlbkhlaWdodE92ZXJyaWRlKGxvbmcqKTsKICAgICB2b2lk
IHdpbGxQYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBMYXlvdXRSZWN0Jik7CiAgICAgdm9p
ZCBkaWRQYWludCgpOworICAgIHZvaWQgZGlkTGF5b3V0KCk7CiAKICAgICAvLyBJbnNwZWN0b3Ig
Q29udHJvbGxlciBBUEkKICAgICB2aXJ0dWFsIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJv
bnRlbmQqKTsKQEAgLTEzMyw5ICsxMzUsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgSW5z
cGVjdG9yUGFnZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYWdlKiwgSW5zcGVjdG9yU3Rh
dGUqLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqLCBJbnNwZWN0b3JDbGllbnQqKTsKLSAgICB2b2lk
IHVwZGF0ZUZyYW1lVmlld0ZpeGVkTGF5b3V0KGludCwgaW50KTsKLSAgICB2b2lkIHNldEZyYW1l
Vmlld0ZpeGVkTGF5b3V0KGludCwgaW50KTsKLSAgICB2b2lkIGNsZWFyRnJhbWVWaWV3Rml4ZWRM
YXlvdXQoKTsKKyAgICB2b2lkIHVwZGF0ZVZpZXdNZXRyaWNzKGludCwgaW50LCBkb3VibGUpOwog
CiAgICAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UGFnZTo6RnJhbWU+IGJ1aWxkT2JqZWN0Rm9y
RnJhbWUoRnJhbWUqKTsKICAgICBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpQYWdlOjpGcmFtZVJl
c291cmNlVHJlZT4gYnVpbGRPYmplY3RGb3JGcmFtZVRyZWUoRnJhbWUqKTsKQEAgLTE0OSwxMCAr
MTQ5LDkgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPEZyYW1lKiwgU3RyaW5nPiBtX2ZyYW1lVG9J
ZGVudGlmaWVyOwogICAgIEhhc2hNYXA8U3RyaW5nLCBGcmFtZSo+IG1faWRlbnRpZmllclRvRnJh
bWU7CiAgICAgSGFzaE1hcDxEb2N1bWVudExvYWRlciosIFN0cmluZz4gbV9sb2FkZXJUb0lkZW50
aWZpZXI7Ci0gICAgT3duUHRyPEludFNpemU+IG1fb3JpZ2luYWxGaXhlZExheW91dFNpemU7Ci0g
ICAgYm9vbCBtX29yaWdpbmFsVXNlRml4ZWRMYXlvdXQ7CiAgICAgR3JhcGhpY3NDb250ZXh0KiBt
X2xhc3RQYWludENvbnRleHQ7CiAgICAgTGF5b3V0UmVjdCBtX2xhc3RQYWludFJlY3Q7CisgICAg
Ym9vbCBtX2RpZExvYWRFdmVudEZpcmU7CiB9OwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yU3RhdGUuY3BwCmluZGV4IDY3NGY4NjZjM2I1M2Q1ZTlhZjQ0NjUxNTBiY2Qy
YmZjNzNiNzhhNDUuLjdlMDJlYjdhMjFiZWRmMTc0N2Y4Zjg3OGE0NzgwN2NiODA5ZDU3ZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdGF0ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0YXRlLmNwcApAQCAtMTAyLDYg
KzEwMiwxNSBAQCBsb25nIEluc3BlY3RvclN0YXRlOjpnZXRMb25nKGNvbnN0IFN0cmluZyYgcHJv
cGVydHlOYW1lKQogICAgIHJldHVybiB2YWx1ZTsKIH0KIAorZG91YmxlIEluc3BlY3RvclN0YXRl
OjpnZXREb3VibGUoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUpCit7CisgICAgSW5zcGVjdG9y
T2JqZWN0OjppdGVyYXRvciBpdCA9IG1fcHJvcGVydGllcy0+ZmluZChwcm9wZXJ0eU5hbWUpOwor
ICAgIGRvdWJsZSB2YWx1ZSA9IDA7CisgICAgaWYgKGl0ICE9IG1fcHJvcGVydGllcy0+ZW5kKCkp
CisgICAgICAgIGl0LT5zZWNvbmQtPmFzTnVtYmVyKCZ2YWx1ZSk7CisgICAgcmV0dXJuIHZhbHVl
OworfQorCiBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gSW5zcGVjdG9yU3RhdGU6OmdldE9i
amVjdChjb25zdCBTdHJpbmcmIHByb3BlcnR5TmFtZSkKIHsKICAgICBJbnNwZWN0b3JPYmplY3Q6
Oml0ZXJhdG9yIGl0ID0gbV9wcm9wZXJ0aWVzLT5maW5kKHByb3BlcnR5TmFtZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3RhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdGF0ZS5oCmluZGV4IGFiMTJhYWU3ZjlmZmEwMmRl
OGM2MmE4OTUwYTk0MDM4NThjNGE0Y2EuLmE0MGUzNTA0MTVjMGEwNmI2N2Q0ZTcyNTc2MjZmYjQ2
YmI1NWY0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JT
dGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdGF0ZS5oCkBA
IC01NiwxMSArNTYsMTMgQEAgcHVibGljOgogICAgIGJvb2wgZ2V0Qm9vbGVhbihjb25zdCBTdHJp
bmcmIHByb3BlcnR5TmFtZSk7CiAgICAgU3RyaW5nIGdldFN0cmluZyhjb25zdCBTdHJpbmcmIHBy
b3BlcnR5TmFtZSk7CiAgICAgbG9uZyBnZXRMb25nKGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1l
KTsKKyAgICBkb3VibGUgZ2V0RG91YmxlKGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lKTsKICAg
ICBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZ2V0T2JqZWN0KGNvbnN0IFN0cmluZyYgcHJv
cGVydHlOYW1lKTsKIAogICAgIHZvaWQgc2V0Qm9vbGVhbihjb25zdCBTdHJpbmcmIHByb3BlcnR5
TmFtZSwgYm9vbCB2YWx1ZSkgeyBzZXRWYWx1ZShwcm9wZXJ0eU5hbWUsIEluc3BlY3RvckJhc2lj
VmFsdWU6OmNyZWF0ZSh2YWx1ZSkpOyB9CiAgICAgdm9pZCBzZXRTdHJpbmcoY29uc3QgU3RyaW5n
JiBwcm9wZXJ0eU5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgc2V0VmFsdWUocHJvcGVydHlO
YW1lLCBJbnNwZWN0b3JTdHJpbmc6OmNyZWF0ZSh2YWx1ZSkpOyB9CiAgICAgdm9pZCBzZXRMb25n
KGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBsb25nIHZhbHVlKSB7IHNldFZhbHVlKHByb3Bl
cnR5TmFtZSwgSW5zcGVjdG9yQmFzaWNWYWx1ZTo6Y3JlYXRlKChkb3VibGUpdmFsdWUpKTsgfQor
ICAgIHZvaWQgc2V0RG91YmxlKGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBkb3VibGUgdmFs
dWUpIHsgc2V0VmFsdWUocHJvcGVydHlOYW1lLCBJbnNwZWN0b3JCYXNpY1ZhbHVlOjpjcmVhdGUo
dmFsdWUpKTsgfQogICAgIHZvaWQgc2V0T2JqZWN0KGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1l
LCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gdmFsdWUpIHsgc2V0VmFsdWUocHJvcGVydHlO
YW1lLCB2YWx1ZSk7IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNjlmYjk1YTllYzc0MjQzZDk1ZDVi
MzI1NDU4NWI2ZGQwM2UyYjYxLi4xMTVmYzQzNmU5OTg0YTAzNzAwMjQxZmNjYWFlNjRkYzE5ZjM4
YTQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMzEgIEFsZXhhbmRlciBQYXZsb3Yg
IDxhcGF2bG92QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbXBsZW1l
bnQgYmFja2VuZCBmb3IgZGV2aWNlIG1ldHJpY3MgZW11bGF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjgyNworCisgICAgICAgIEZvbGxvdyB0
aGUgV2ViIEluc3BlY3RvciBQcm90b2NvbCBjaGFuZ2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3R5bGVzL292ZXJyaWRlLXNj
cmVlbi1zaXplLmh0bWw6CisKIDIwMTItMDMtMzAgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZlcnRlZCByMTEyNzY3LCBiZWNhdXNlIGl0IGNhdXNlZCBtYW55
IHZlcnRpY2FsIHRleHQgdGVzdHMgdG8gZmFpbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zdHlsZXMvb3ZlcnJpZGUtc2NyZWVuLXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zdHlsZXMvb3ZlcnJpZGUtc2NyZWVuLXNpemUuaHRtbAppbmRleCAyMjQ4MDBmYjFk
N2ZiNDM0MWI1MGVlMjQ3ZTIwMWJmMmExZmQwYmU4Li43MWMyYjU5NzVkZjkxMjAzNDJjMmFkOWNi
MmM2MjQ3MzAxZTQ4ZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L292ZXJyaWRlLXNjcmVlbi1zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0
eWxlcy9vdmVycmlkZS1zY3JlZW4tc2l6ZS5odG1sCkBAIC03Nyw3ICs3Nyw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICB9CiAKICAgICAgICAgLy8gRGlzYWJsZSBvdmVycmlkZXMuCi0gICAg
ICAgIFBhZ2VBZ2VudC5zZXRTY3JlZW5TaXplT3ZlcnJpZGUoMCwgMCwgb3ZlcnJpZGVDYWxsYmFj
ayk7CisgICAgICAgIFBhZ2VBZ2VudC5zZXREZXZpY2VNZXRyaWNzT3ZlcnJpZGUoMCwgMCwgMSwg
b3ZlcnJpZGVDYWxsYmFjayk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3RlcDIoKQpAQCAtMTUz
LDcgKzE1Myw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJPdmVycmlkZTogIiArIHdpZHRoICsgIngiICsgaGVpZ2h0ICsgIiA9PiBF
UlJPUiIpOwogICAgICAgICAgICAgdXNlckNhbGxiYWNrKCk7CiAgICAgICAgIH0KLSAgICAgICAg
UGFnZUFnZW50LnNldFNjcmVlblNpemVPdmVycmlkZSh3aWR0aCwgaGVpZ2h0LCBjYWxsYmFjayk7
CisgICAgICAgIFBhZ2VBZ2VudC5zZXREZXZpY2VNZXRyaWNzT3ZlcnJpZGUod2lkdGgsIGhlaWdo
dCwgMSwgY2FsbGJhY2spOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIG92ZXJyaWRlQW5kRHVtcERh
dGEod2lkdGgsIGhlaWdodCwgY2FsbGJhY2spCg==
</data>
<flag name="review"
          id="139344"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>