<?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>133364</bug_id>
          
          <creation_ts>2014-05-28 16:43:39 -0700</creation_ts>
          <short_desc>[iOS][WK2] When a page does not finish rotation before the end of the animation, synchronize explicitly</short_desc>
          <delta_ts>2014-05-30 17:57:48 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>darin</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012315</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-28 16:43:39 -0700</bug_when>
    <thetext>[iOS][WK2] When a page does not finish rotation before the end of the animation, synchronize explicitely</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012317</commentid>
    <comment_count>1</comment_count>
      <attachid>232221</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-28 16:50:54 -0700</bug_when>
    <thetext>Created attachment 232221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012318</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-28 16:54:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/17026333&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012322</commentid>
    <comment_count>3</comment_count>
      <attachid>232221</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-05-28 17:09:44 -0700</bug_when>
    <thetext>Comment on attachment 232221
Patch

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

&gt; Source/WebKit2/ChangeLog:9
&gt; +        When a page that relayout on rotation does not respond before the end of the animation, we end up with

maybe &quot;does layout&quot; instead of &quot;relayout&quot;? there&apos;s a mismatch here.

&gt; Source/WebKit2/ChangeLog:10
&gt; +        a completely inconistent state on the UIProcess (because it is unware of the new states).

typo inconsistent

&gt; Source/WebKit2/ChangeLog:15
&gt; +        This patch force a synchronous synchronization whenever we finish the animation before we heard back

redundant &quot;synchronous synchronization&quot; :D

&gt; Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm:249
&gt; +        WebCore::FloatPoint newScrollPosition;

no WebCore::

&gt; Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm:250
&gt; +        if (m_process-&gt;sendSync(Messages::WebPage::SynchronizeDynamicViewportUpdate(), Messages::WebPage::SynchronizeDynamicViewportUpdate::Reply(newScale, newScrollPosition), m_pageID))

please check this with Sam

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2149
&gt; +void WebPage::synchronizeDynamicViewportUpdate(double&amp; newTargetScale, WebCore::FloatPoint&amp; newScrollPosition)

no WebCore here either</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012361</commentid>
    <comment_count>4</comment_count>
      <attachid>232221</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-28 23:03:30 -0700</bug_when>
    <thetext>Comment on attachment 232221
Patch

I&apos;ll fix from the comments and see how ugly it would be to sync the update with the incoming frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012512</commentid>
    <comment_count>5</comment_count>
      <attachid>232268</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-29 15:35:35 -0700</bug_when>
    <thetext>Created attachment 232268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012688</commentid>
    <comment_count>6</comment_count>
      <attachid>232268</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-05-30 15:16:18 -0700</bug_when>
    <thetext>Comment on attachment 232268
Patch

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

&gt; Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm:257
&gt; +    if (m_dynamicViewportSizeUpdateInProgress) {
&gt; +        m_dynamicViewportSizeUpdateInProgress = false;
&gt; +        double newScale;
&gt; +        FloatPoint newScrollPosition;
&gt; +        if (m_process-&gt;sendSync(Messages::WebPage::SynchronizeDynamicViewportUpdate(), Messages::WebPage::SynchronizeDynamicViewportUpdate::Reply(newScale, newScrollPosition), m_pageID, std::chrono::seconds(2))) {
&gt; +            m_pageClient.dynamicViewportUpdateChangedTarget(newScale, newScrollPosition);
&gt; +
&gt; +            m_process-&gt;connection()-&gt;waitForAndDispatchImmediately&lt;Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree&gt;(m_pageID, std::chrono::seconds(1));
&gt; +        }
&gt; +    }
&gt; +}

I would add a comment (and bugzilla link?) about how we could do this without a sync message in the future using transactions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012710</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-30 17:57:48 -0700</bug_when>
    <thetext>Committed r169501: &lt;http://trac.webkit.org/changeset/169501&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232221</attachid>
            <date>2014-05-28 16:50:54 -0700</date>
            <delta_ts>2014-05-29 15:35:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133364-20140528165009.patch</filename>
            <type>text/plain</type>
            <size>12955</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5MzI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2NiZTI3ZmRlOTQ5NTI3
ZjIwZDdhMmFkY2Y3M2VmYzlhZGY3M2IwYy4uMTU0ZDdmYjEwYTY1Yzk2YmE5YTQyZWM2ODFlZTk2
ODA1YjdkZjBhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTA1LTI4ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0g
V2hlbiBhIHBhZ2UgZG9lcyBub3QgZmluaXNoIHJvdGF0aW9uIGJlZm9yZSB0aGUgZW5kIG9mIHRo
ZSBhbmltYXRpb24sIHN5bmNocm9uaXplIGV4cGxpY2l0ZWx5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzMzNjQKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzE3MDI2MzMzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdoZW4gYSBwYWdlIHRoYXQgcmVsYXlvdXQgb24gcm90YXRpb24gZG9lcyBub3QgcmVz
cG9uZCBiZWZvcmUgdGhlIGVuZCBvZiB0aGUgYW5pbWF0aW9uLCB3ZSBlbmQgdXAgd2l0aAorICAg
ICAgICBhIGNvbXBsZXRlbHkgaW5jb25pc3RlbnQgc3RhdGUgb24gdGhlIFVJUHJvY2VzcyAoYmVj
YXVzZSBpdCBpcyB1bndhcmUgb2YgdGhlIG5ldyBzdGF0ZXMpLgorCisgICAgICAgIFRoZSBwZXJm
ZWN0IHdheSB0byBmaXggdGhpcyB3b3VsZCBiZSB0byBtYWtlIGFuaW1hdGVkIHJlc2l6ZSB0cmFu
c2FjdGlvbmFsIGFuZCBoYXZlIHRoZSBXZWJQcm9jZXNzIHJlc29sdmUKKyAgICAgICAgY29uZmxp
Y3RzLiBUaGF0IGlzIHZlcnkgY29tcGxpY2F0ZWQgYW5kIHRoZSBpc3N1ZSBpcyB1bmNvbW1vbiwg
c28gdGhpcyBwYXRjaCBkb2VzIG5vdCBkbyB0aGF0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggZm9y
Y2UgYSBzeW5jaHJvbm91cyBzeW5jaHJvbml6YXRpb24gd2hlbmV2ZXIgd2UgZmluaXNoIHRoZSBh
bmltYXRpb24gYmVmb3JlIHdlIGhlYXJkIGJhY2sKKyAgICAgICAgZnJvbSB0aGUgV2ViUHJvY2Vz
cy4KKworICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nlc3NQcm94eS5oOgorICAgICAgICBPbiBB
Uk12NywgMSBzZWNvbmQgdGltZW91dCB3YXMgYSBsaXR0bGUgc2hvcnQgZm9yIHRoZSBkZXZpY2Uu
IEFSTXY3UyBpcyBhYm91dCB0d2ljZSBhcyBmYXN0IGFzIEFSTXY3IGFuZCBjYW4KKyAgICAgICAg
aGFuZGxlIHRoZSBtZXNzYWdlcyBpbiB0aW1lLCBzbyBJIGJ1bXBlZCB0aGUgdGltZW91dCB0byB0
d28gc2Vjb25kcyBvbiBvbGRlciBhcmNoaXRlY3R1cmUuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9lbmRBbmltYXRl
ZFJlc2l6ZV0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnN5bmNocm9uaXplRHluYW1pY1ZpZXdwb3J0
VXBkYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkeW5hbWljVmlld3BvcnRV
cGRhdGVDaGFuZ2VkVGFyZ2V0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6ZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnN5bmNocm9uaXplRHluYW1pY1ZpZXdwb3J0VXBkYXRlKToKKwogMjAx
NC0wNS0yNSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgW2lPU11bV0syXSBGaXggc29tZSBzdGF0ZSByZXNldCBvbiBjcmFzaCBvbiB0aGUgV0tXZWJW
aWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3NQcm94eS5oCmluZGV4IGIyZTBj
YjIwYzY2MDA0OWJiNjgyNmQzNjA4YzlkYmE2ZmZhNzkzMzIuLmE1MWY2NTkwZTNhMjBkYjc5YjEy
ZDgwY2ViZDcwZTM2MWZmNDk3NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
aGlsZFByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nl
c3NQcm94eS5oCkBAIC0zNCw2ICszNCwxMiBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorI2lm
IFBMQVRGT1JNKElPUykgJiYgKENQVShBUk0pICYmICFDUFUoQVJNNjQpICYmICFDUFUoQVBQTEVf
QVJNVjdTKSkKK2NvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVmYXVsdFRpbWVvdXQg
PSBzdGQ6OmNocm9ubzo6c2Vjb25kcygyKTsKKyNlbHNlCitjb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGRlZmF1bHRUaW1lb3V0ID0gc3RkOjpjaHJvbm86OnNlY29uZHMoMSk7CisjZW5k
aWYKKwogY2xhc3MgQ2hpbGRQcm9jZXNzUHJveHkgOiBQcm9jZXNzTGF1bmNoZXI6OkNsaWVudCwg
cHVibGljIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50LCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50
ZWQ8Q2hpbGRQcm9jZXNzUHJveHk+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFBy
b2Nlc3NQcm94eSk7CiAKQEAgLTQ4LDcgKzU0LDcgQEAgcHVibGljOgogICAgIHZvaWQgdGVybWlu
YXRlKCk7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIHNlbmQoVCYmIG1lc3NhZ2Us
IHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIHVuc2lnbmVkIG1lc3NhZ2VTZW5kRmxhZ3MgPSAwKTsK
LSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBl
bmFtZSBUOjpSZXBseSYmLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHRpbWVvdXQgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcygxKSk7CisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gYm9vbCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVw
bHkmJiwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0
aW1lb3V0ID0gZGVmYXVsdFRpbWVvdXQpOwogICAgIAogICAgIElQQzo6Q29ubmVjdGlvbiogY29u
bmVjdGlvbigpIGNvbnN0CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBiOGRlZmY1ZDUxMDg3YzA1MGYzYjUzMDg4MGI5Nzkx
YmZhMjRjYjIwLi4yOTMyYmZhMWRhNzQzZmE4OTBhZGU1YTE2MTdiOTY1NmY5MGYwZTRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAt
MTc2Niw2ICsxNzY2LDggQEAgc3RhdGljIGlubGluZSBXZWJLaXQ6OkZpbmRPcHRpb25zIHRvRmlu
ZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMgd2tGaW5kT3B0aW9ucykKIAogLSAodm9pZClfZW5kQW5p
bWF0ZWRSZXNpemUKIHsKKyAgICBfcGFnZS0+c3luY2hyb25pemVEeW5hbWljVmlld3BvcnRVcGRh
dGUoKTsKKwogICAgIGlmICghX2N1c3RvbUNvbnRlbnRWaWV3ICYmIF9pc0FuaW1hdGluZ1Jlc2l6
ZSkgewogICAgICAgICBOU1VJbnRlZ2VyIGluZGV4T2ZSZXNpemVBbmltYXRpb25WaWV3ID0gW1tf
c2Nyb2xsVmlldyBzdWJ2aWV3c10gaW5kZXhPZk9iamVjdDpfcmVzaXplQW5pbWF0aW9uVmlldy5n
ZXQoKV07CiAgICAgICAgIFtfc2Nyb2xsVmlldyBpbnNlcnRTdWJ2aWV3Ol9jb250ZW50Vmlldy5n
ZXQoKSBhdEluZGV4OmluZGV4T2ZSZXNpemVBbmltYXRpb25WaWV3XTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNjY0ZjM2MDc2Nzk0ODQyNGYyOWFjYWY5
Nzc3NDViNDRmN2Q0YzgzNy4uNTJkZWU5OWE1NGZkYzZjNGEzYjE3Yjc0ZjNkOGNkMDllNGJlZjZl
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTI2OCw2
ICsyNjgsOSBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiBwYWdlQ2xp
ZW50LCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MsIHVpbgogICAgICwgbV92aXNpdGVkTGlua1By
b3ZpZGVyKCpjb25maWd1cmF0aW9uLnZpc2l0ZWRMaW5rUHJvdmlkZXIpCiAgICAgLCBtX21haW5G
cmFtZShudWxscHRyKQogICAgICwgbV91c2VyQWdlbnQoc3RhbmRhcmRVc2VyQWdlbnQoKSkKKyNp
ZiBQTEFURk9STShJT1MpCisgICAgLCBtX2R5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGVJblByb2dy
ZXNzKGZhbHNlKQorI2VuZGlmCiAgICAgLCBtX2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyKCp0aGlzKQogICAgICwgbV9ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXIoKnRoaXMpCiAgICAgLCBtX3ZpZXdTdGF0ZShWaWV3U3RhdGU6Ok5vRmxhZ3MpCkBAIC00MTk4
LDYgKzQyMDEsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZSgpCiAgICAgfQogCiAg
ICAgbV9sYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlID0gVmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlSW5mbygpOworICAgIG1fZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUluUHJvZ3Jlc3MgPSBm
YWxzZTsKICNlbmRpZgogCiAgICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKG1fdm9pZENhbGxiYWNr
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDdjMGI4OTFj
YzM4ODU1YTVhMGMyNjBkMmY2MGU4ZDAyN2ZiNTg4Ni4uOGUzYjZhOTZjM2Y3OTYzZjg0NTc1NDM5
NjkwYjQ0NmMxMmY2ZmUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtNTk2LDcgKzU5Niw4IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgY29t
cHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5v
YnNjdXJlZENvbnRlbnRSZWN0LCBkb3VibGUgZGlzcGxheWVkQ29udGVudFNjYWxlLCBVbm9ic2N1
cmVkUmVjdENvbnN0cmFpbnQgPSBVbm9ic2N1cmVkUmVjdENvbnN0cmFpbnQ6OlVuY29uc3RyYWlu
ZWQpIGNvbnN0OwogCiAgICAgdm9pZCBkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlKGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYgbWluaW11bUxheW91dFNpemUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
U2l6ZSYgbWluaW11bUxheW91dFNpemVGb3JNaW5pbWFsVUksIGNvbnN0IFdlYkNvcmU6OkZsb2F0
U2l6ZSYgbWF4aW11bVVub2JzY3VyZWRTaXplLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRh
cmdldEV4cG9zZWRDb250ZW50UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRV
bm9ic2N1cmVkUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRVbm9ic2N1cmVk
UmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCBkb3VibGUgdGFyZ2V0U2NhbGUpOwotICAgIAor
ICAgIHZvaWQgc3luY2hyb25pemVEeW5hbWljVmlld3BvcnRVcGRhdGUoKTsKKwogICAgIHZvaWQg
c2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemUoY29uc3QgV2ViQ29yZTo6
RmxvYXRTaXplJik7CiAgICAgdm9pZCBzZXRWaWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5
b3V0U2l6ZUZvck1pbmltYWxVSShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lk
IHNldE1heGltdW1Vbm9ic2N1cmVkU2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKQEAg
LTE0ODksNiArMTQ5MCw3IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFJlZlB0
cjxXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk+IG1fdmlkZW9GdWxsc2NyZWVuTWFuYWdl
cjsKICAgICBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvIG1fbGFzdFZpc2libGVDb250ZW50
UmVjdFVwZGF0ZTsKKyAgICBib29sIG1fZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUluUHJvZ3Jl
c3M7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSUJSQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDUyMDBhYThjNDhkYTNiNWIx
MGRiNjcwYmQ2YzZjOWIwYjkwZjAyNjMuLmJiYjFhMDU2YWRkMzY1NzFkMzZjYWY1NTA5ZTVlOGNj
MmEyMTU3ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVBy
b3h5SU9TLm1tCkBAIC0yMzcsOSArMjM3LDIxIEBAIFdlYkNvcmU6OkZsb2F0UmVjdCBXZWJQYWdl
UHJveHk6OmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdChjb25zdCBGbG9hdFJlY3QmCiAK
IHZvaWQgV2ViUGFnZVByb3h5OjpkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlKGNvbnN0IEZsb2F0
U2l6ZSYgbWluaW11bUxheW91dFNpemUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgbWluaW11
bUxheW91dFNpemVGb3JNaW5pbWFsVUksIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgbWF4aW11
bVVub2JzY3VyZWRTaXplLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldEV4cG9zZWRDb250ZW50UmVj
dCwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRVbm9ic2N1cmVkUmVjdCwgY29uc3QgRmxvYXRSZWN0
JiB0YXJnZXRVbm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCAgZG91YmxlIHRh
cmdldFNjYWxlKQogeworICAgIG1fZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUluUHJvZ3Jlc3Mg
PSB0cnVlOwogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RHluYW1pY1Zp
ZXdwb3J0U2l6ZVVwZGF0ZShtaW5pbXVtTGF5b3V0U2l6ZSwgbWluaW11bUxheW91dFNpemVGb3JN
aW5pbWFsVUksIG1heGltdW1Vbm9ic2N1cmVkU2l6ZSwgdGFyZ2V0RXhwb3NlZENvbnRlbnRSZWN0
LCB0YXJnZXRVbm9ic2N1cmVkUmVjdCwgdGFyZ2V0VW5vYnNjdXJlZFJlY3RJblNjcm9sbFZpZXdD
b29yZGluYXRlcywgdGFyZ2V0U2NhbGUpLCBtX3BhZ2VJRCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpzeW5jaHJvbml6ZUR5bmFtaWNWaWV3cG9ydFVwZGF0ZSgpCit7CisgICAgaWYgKG1fZHlu
YW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUluUHJvZ3Jlc3MpIHsKKyAgICAgICAgbV9keW5hbWljVmll
d3BvcnRTaXplVXBkYXRlSW5Qcm9ncmVzcyA9IGZhbHNlOworICAgICAgICBkb3VibGUgbmV3U2Nh
bGU7CisgICAgICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbmV3U2Nyb2xsUG9zaXRpb247CisgICAg
ICAgIGlmIChtX3Byb2Nlc3MtPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlOjpTeW5jaHJvbml6
ZUR5bmFtaWNWaWV3cG9ydFVwZGF0ZSgpLCBNZXNzYWdlczo6V2ViUGFnZTo6U3luY2hyb25pemVE
eW5hbWljVmlld3BvcnRVcGRhdGU6OlJlcGx5KG5ld1NjYWxlLCBuZXdTY3JvbGxQb3NpdGlvbiks
IG1fcGFnZUlEKSkKKyAgICAgICAgICAgIG1fcGFnZUNsaWVudC5keW5hbWljVmlld3BvcnRVcGRh
dGVDaGFuZ2VkVGFyZ2V0KG5ld1NjYWxlLCBuZXdTY3JvbGxQb3NpdGlvbik7CisgICAgfQorfQor
CiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91
dFNpemUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplKQogewogICAgIG1fcHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxh
eW91dFNpemUoc2l6ZSksIG1fcGFnZUlEKTsKQEAgLTU0NiwxMCArNTU4LDEzIEBAIGZsb2F0IFdl
YlBhZ2VQcm94eTo6dGV4dEF1dG9zaXppbmdXaWR0aCgpCiB7CiAgICAgcmV0dXJuIFdLR2V0U2Ny
ZWVuU2l6ZSgpLndpZHRoOwogfQotICAgIAorCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZHluYW1pY1Zp
ZXdwb3J0VXBkYXRlQ2hhbmdlZFRhcmdldChkb3VibGUgbmV3U2NhbGUsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UG9pbnQmIG5ld1Njcm9sbFBvc2l0aW9uKQogewotICAgIG1fcGFnZUNsaWVudC5keW5h
bWljVmlld3BvcnRVcGRhdGVDaGFuZ2VkVGFyZ2V0KG5ld1NjYWxlLCBuZXdTY3JvbGxQb3NpdGlv
bik7CisgICAgaWYgKG1fZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUluUHJvZ3Jlc3MpIHsKKyAg
ICAgICAgbV9keW5hbWljVmlld3BvcnRTaXplVXBkYXRlSW5Qcm9ncmVzcyA9IGZhbHNlOworICAg
ICAgICBtX3BhZ2VDbGllbnQuZHluYW1pY1ZpZXdwb3J0VXBkYXRlQ2hhbmdlZFRhcmdldChuZXdT
Y2FsZSwgbmV3U2Nyb2xsUG9zaXRpb24pOworICAgIH0KIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6
OmRpZEdldFRhcEhpZ2hsaWdodEdlb21ldHJpZXModWludDY0X3QgcmVxdWVzdElELCBjb25zdCBX
ZWJDb3JlOjpDb2xvciYgY29sb3IsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpGbG9hdFF1YWQ+JiBo
aWdobGlnaHRlZFF1YWRzLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiB0b3BMZWZ0UmFkaXVzLCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiB0b3BSaWdodFJhZGl1cywgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgYm90dG9tTGVmdFJhZGl1cywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgYm90dG9tUmln
aHRSYWRpdXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApp
bmRleCA4MGI4ODAyOTk0Yjg2OTMyNDU0OWVlZGMxNmU2MWNhMTAxYjdlNjg0Li45YmY1YzI0Njll
NDNmNmFlYzcyMTNmY2U5ZjBjZWJmYzQ1ZTNlNGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTcyMyw2ICs3MjMsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRWaWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6ZUZvck1pbmltYWxV
SShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIHNldE1heGltdW1Vbm9ic2N1
cmVkU2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIGR5bmFtaWNWaWV3
cG9ydFNpemVVcGRhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBtaW5pbXVtTGF5b3V0U2l6
ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBtaW5pbXVtTGF5b3V0U2l6ZUZvck1pbmltYWxV
SSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBtYXhpbXVtVW5vYnNjdXJlZFNpemUsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0RXhwb3NlZENvbnRlbnRSZWN0LCBjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIHRhcmdldFVub2JzY3VyZWRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmIHRhcmdldFVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMsIGRvdWJs
ZSBzY2FsZSk7CisgICAgdm9pZCBzeW5jaHJvbml6ZUR5bmFtaWNWaWV3cG9ydFVwZGF0ZShkb3Vi
bGUmIG5ld1RhcmdldFNjYWxlLCBXZWJDb3JlOjpGbG9hdFBvaW50JiBuZXdTY3JvbGxQb3NpdGlv
bik7CiAgICAgdm9pZCB1cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzKGNvbnN0IFZpc2libGVDb250
ZW50UmVjdFVwZGF0ZUluZm8mKTsKICAgICBib29sIHNjYWxlV2FzU2V0QnlVSVByb2Nlc3MoKSBj
b25zdCB7IHJldHVybiBtX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3M7IH0KICAgICB2b2lkIHdpbGxT
dGFydFVzZXJUcmlnZ2VyZWRab29taW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDEyOGVhYzY0YTcxOWMz
MTJjMWUxZTMzMTViZjI4YTMwNGFiN2UzNjEuLjYzNmRlN2QzOGE2MjRkODZhY2MzZDU0ZGI2ODM0
NGQ0ZThmMDM0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00Nyw2ICs0Nyw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmlt
dW1MYXlvdXRTaXplRm9yTWluaW1hbFVJKFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXplKQogICAgIFNl
dE1heGltdW1Vbm9ic2N1cmVkU2l6ZShXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkKICAgICBEeW5h
bWljVmlld3BvcnRTaXplVXBkYXRlKFdlYkNvcmU6OkZsb2F0U2l6ZSBtaW5pbXVtTGF5b3V0U2l6
ZSwgV2ViQ29yZTo6RmxvYXRTaXplIG1pbmltdW1MYXlvdXRTaXplRm9yTWluaW1hbFVJLCAgV2Vi
Q29yZTo6RmxvYXRTaXplIG1heGltdW1Vbm9ic2N1cmVkU2l6ZSwgV2ViQ29yZTo6RmxvYXRSZWN0
IHRhcmdldEV4cG9zZWRDb250ZW50UmVjdCwgV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFVub2Jz
Y3VyZWRSZWN0LCBXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0VW5vYnNjdXJlZFJlY3RJblNjcm9s
bFZpZXdDb29yZGluYXRlcywgZG91YmxlIHNjYWxlKQorICAgIFN5bmNocm9uaXplRHluYW1pY1Zp
ZXdwb3J0VXBkYXRlKCkgLT4gKGRvdWJsZSBuZXdUYXJnZXRTY2FsZSwgV2ViQ29yZTo6RmxvYXRQ
b2ludCBuZXdTY3JvbGxQb3NpdGlvbikKIAogICAgIEhhbmRsZVRhcChXZWJDb3JlOjpJbnRQb2lu
dCBwb2ludCkKICAgICBQb3RlbnRpYWxUYXBBdFBvc2l0aW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwg
V2ViQ29yZTo6RmxvYXRQb2ludCBwb2ludCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCA3MGM1Yjk5ZjYyNWFlOTFiYTcz
N2ZmMmFhOWE1MDMzYWE4ZjJhMGY2Li5kNTA1M2Y4NmVmM2NlY2IyMTE2MWJlYjZiMmJmNGE4NWE1
OGExZmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tCkBAIC0yMTQzLDggKzIxNDMsMTMgQEAgdm9pZCBXZWJQYWdlOjpkeW5h
bWljVmlld3BvcnRTaXplVXBkYXRlKGNvbnN0IEZsb2F0U2l6ZSYgbWluaW11bUxheW91dFNpemUs
IGNvbnMKICAgICBmcmFtZVZpZXcuc2V0Q3VzdG9tU2l6ZUZvclJlc2l6ZUV2ZW50KGV4cGFuZGVk
SW50U2l6ZSh1bm9ic2N1cmVkQ29udGVudFJlY3RTaXplSW5Db250ZW50Q29vcmRpbmF0ZXMpKTsK
ICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsT2Zmc2V0KHJvdW5kZWRVbm9ic2N1cmVkQ29udGVudFJl
Y3QubG9jYXRpb24oKSk7CiAKLSAgICBpZiAoIXdpdGhpbkVwc2lsb24ocGFnZVNjYWxlRmFjdG9y
KCksIHRhcmdldFNjYWxlKSB8fCByb3VuZGVkSW50UG9pbnQodGFyZ2V0VW5vYnNjdXJlZFJlY3Qu
bG9jYXRpb24oKSkgIT0gZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9uKCkpCi0gICAgICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RHluYW1pY1ZpZXdwb3J0VXBkYXRlQ2hhbmdlZFRhcmdl
dChwYWdlU2NhbGVGYWN0b3IoKSwgZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9uKCkpKTsKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkR5bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRU
YXJnZXQocGFnZVNjYWxlRmFjdG9yKCksIGZyYW1lVmlldy5zY3JvbGxQb3NpdGlvbigpKSk7Cit9
CisKK3ZvaWQgV2ViUGFnZTo6c3luY2hyb25pemVEeW5hbWljVmlld3BvcnRVcGRhdGUoZG91Ymxl
JiBuZXdUYXJnZXRTY2FsZSwgV2ViQ29yZTo6RmxvYXRQb2ludCYgbmV3U2Nyb2xsUG9zaXRpb24p
Cit7CisgICAgbmV3VGFyZ2V0U2NhbGUgPSBwYWdlU2NhbGVGYWN0b3IoKTsKKyAgICBuZXdTY3Jv
bGxQb3NpdGlvbiA9IG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT5zY3JvbGxQb3NpdGlvbigp
OwogfQogCiB2b2lkIFdlYlBhZ2U6OnJlc2V0Vmlld3BvcnREZWZhdWx0Q29uZmlndXJhdGlvbihX
ZWJGcmFtZSogZnJhbWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232268</attachid>
            <date>2014-05-29 15:35:35 -0700</date>
            <delta_ts>2014-05-30 15:16:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133364-20140529153448.patch</filename>
            <type>text/plain</type>
            <size>11891</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5MzI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2NiZTI3ZmRlOTQ5NTI3
ZjIwZDdhMmFkY2Y3M2VmYzlhZGY3M2IwYy4uMmFhM2RmYWI2NDQzMmQzMDYzZmRhNDk2NzcwZTNj
ZmUxNTIzZTRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTA1LTI4ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0g
V2hlbiBhIHBhZ2UgZG9lcyBub3QgZmluaXNoIHJvdGF0aW9uIGJlZm9yZSB0aGUgZW5kIG9mIHRo
ZSBhbmltYXRpb24sIHN5bmNocm9uaXplIGV4cGxpY2l0ZWx5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzMzNjQKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzE3MDI2MzMzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdoZW4gYSBwYWdlIHRoYXQgZG9lcyBsYXlvdXQgb24gcm90YXRpb24gZG9lcyBub3Qg
cmVzcG9uZCBiZWZvcmUgdGhlIGVuZCBvZiB0aGUgYW5pbWF0aW9uLCB3ZSBlbmQgdXAgd2l0aAor
ICAgICAgICBhIGNvbXBsZXRlbHkgaW5jb25zaXN0ZW50IHN0YXRlIG9uIHRoZSBVSVByb2Nlc3Mg
KGJlY2F1c2UgaXQgaXMgdW53YXJlIG9mIHRoZSBuZXcgc3RhdGVzKS4KKworICAgICAgICBUaGUg
cGVyZmVjdCB3YXkgdG8gZml4IHRoaXMgd291bGQgYmUgdG8gbWFrZSBhbmltYXRlZCByZXNpemUg
dHJhbnNhY3Rpb25hbCBhbmQgaGF2ZSB0aGUgV2ViUHJvY2VzcyByZXNvbHZlCisgICAgICAgIGNv
bmZsaWN0cy4gVGhhdCBpcyB2ZXJ5IGNvbXBsaWNhdGVkIGFuZCB0aGUgaXNzdWUgaXMgdW5jb21t
b24sIHNvIHRoaXMgcGF0Y2ggZG9lcyBub3QgZG8gdGhhdC4KKworICAgICAgICBUaGlzIHBhdGNo
IGZvcmNlIHRoZSBzeW5jaHJvbml6YXRpb24gd2hlbmV2ZXIgd2UgZmluaXNoIHRoZSBhbmltYXRp
b24gYmVmb3JlIHdlIGhlYXJkIGJhY2sKKyAgICAgICAgZnJvbSB0aGUgV2ViUHJvY2Vzcy4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtX
S1dlYlZpZXcgX2VuZEFuaW1hdGVkUmVzaXplXSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXNldFN0YXRlKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQ
YWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZHluYW1pY1Zp
ZXdwb3J0U2l6ZVVwZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3luY2hy
b25pemVEeW5hbWljVmlld3BvcnRVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmR5bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRUYXJnZXQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQ
YWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkeW5hbWljVmlld3BvcnRTaXpl
VXBkYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c3luY2hyb25pemVEeW5hbWljVmll
d3BvcnRVcGRhdGUpOgorCiAyMDE0LTA1LTI1ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBbaU9TXVtXSzJdIEZpeCBzb21lIHN0YXRlIHJlc2V0IG9u
IGNyYXNoIG9uIHRoZSBXS1dlYlZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYjhkZWZmNWQ1MTA4N2MwNTBmM2I1MzA4ODBiOTc5
MWJmYTI0Y2IyMC4uMjkzMmJmYTFkYTc0M2ZhODkwYWRlNWExNjE3Yjk2NTZmOTBmMGU0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAg
LTE3NjYsNiArMTc2Niw4IEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpGaW5kT3B0aW9ucyB0b0Zp
bmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAKIC0gKHZvaWQpX2VuZEFu
aW1hdGVkUmVzaXplCiB7CisgICAgX3BhZ2UtPnN5bmNocm9uaXplRHluYW1pY1ZpZXdwb3J0VXBk
YXRlKCk7CisKICAgICBpZiAoIV9jdXN0b21Db250ZW50VmlldyAmJiBfaXNBbmltYXRpbmdSZXNp
emUpIHsKICAgICAgICAgTlNVSW50ZWdlciBpbmRleE9mUmVzaXplQW5pbWF0aW9uVmlldyA9IFtb
X3Njcm9sbFZpZXcgc3Vidmlld3NdIGluZGV4T2ZPYmplY3Q6X3Jlc2l6ZUFuaW1hdGlvblZpZXcu
Z2V0KCldOwogICAgICAgICBbX3Njcm9sbFZpZXcgaW5zZXJ0U3VidmlldzpfY29udGVudFZpZXcu
Z2V0KCkgYXRJbmRleDppbmRleE9mUmVzaXplQW5pbWF0aW9uVmlld107CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDY2NGYzNjA3Njc5NDg0MjRmMjlhY2Fm
OTc3NzQ1YjQ0ZjdkNGM4MzcuLjUyZGVlOTlhNTRmZGM2YzRhM2IxN2I3NGYzZDhjZDA5ZTRiZWY2
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yNjgs
NiArMjY4LDkgQEAgV2ViUGFnZVByb3h5OjpXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYgcGFnZUNs
aWVudCwgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzLCB1aW4KICAgICAsIG1fdmlzaXRlZExpbmtQ
cm92aWRlcigqY29uZmlndXJhdGlvbi52aXNpdGVkTGlua1Byb3ZpZGVyKQogICAgICwgbV9tYWlu
RnJhbWUobnVsbHB0cikKICAgICAsIG1fdXNlckFnZW50KHN0YW5kYXJkVXNlckFnZW50KCkpCisj
aWYgUExBVEZPUk0oSU9TKQorICAgICwgbV9keW5hbWljVmlld3BvcnRTaXplVXBkYXRlSW5Qcm9n
cmVzcyhmYWxzZSkKKyNlbmRpZgogICAgICwgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlcigqdGhpcykKICAgICAsIG1fbm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyKCp0aGlzKQogICAgICwgbV92aWV3U3RhdGUoVmlld1N0YXRlOjpOb0ZsYWdzKQpAQCAtNDE5
OCw2ICs0MjAxLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGUoKQogICAgIH0KIAog
ICAgIG1fbGFzdFZpc2libGVDb250ZW50UmVjdFVwZGF0ZSA9IFZpc2libGVDb250ZW50UmVjdFVw
ZGF0ZUluZm8oKTsKKyAgICBtX2R5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGVJblByb2dyZXNzID0g
ZmFsc2U7CiAjZW5kaWYKIAogICAgIGludmFsaWRhdGVDYWxsYmFja01hcChtX3ZvaWRDYWxsYmFj
a3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDQ3YzBiODkx
Y2MzODg1NWE1YTBjMjYwZDJmNjBlOGQwMjdmYjU4ODYuLjhlM2I2YTk2YzNmNzk2M2Y4NDU3NTQz
OTY5MGI0NDZjMTJmNmZlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKQEAgLTU5Niw3ICs1OTYsOCBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IGNv
bXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVu
b2JzY3VyZWRDb250ZW50UmVjdCwgZG91YmxlIGRpc3BsYXllZENvbnRlbnRTY2FsZSwgVW5vYnNj
dXJlZFJlY3RDb25zdHJhaW50ID0gVW5vYnNjdXJlZFJlY3RDb25zdHJhaW50OjpVbmNvbnN0cmFp
bmVkKSBjb25zdDsKIAogICAgIHZvaWQgZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShjb25zdCBX
ZWJDb3JlOjpGbG9hdFNpemUmIG1pbmltdW1MYXlvdXRTaXplLCBjb25zdCBXZWJDb3JlOjpGbG9h
dFNpemUmIG1pbmltdW1MYXlvdXRTaXplRm9yTWluaW1hbFVJLCBjb25zdCBXZWJDb3JlOjpGbG9h
dFNpemUmIG1heGltdW1Vbm9ic2N1cmVkU2l6ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0
YXJnZXRFeHBvc2VkQ29udGVudFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0
VW5vYnNjdXJlZFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0VW5vYnNjdXJl
ZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcywgZG91YmxlIHRhcmdldFNjYWxlKTsKLSAgICAK
KyAgICB2b2lkIHN5bmNocm9uaXplRHluYW1pY1ZpZXdwb3J0VXBkYXRlKCk7CisKICAgICB2b2lk
IHNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXplKGNvbnN0IFdlYkNvcmU6
OkZsb2F0U2l6ZSYpOwogICAgIHZvaWQgc2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxh
eW91dFNpemVGb3JNaW5pbWFsVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7CiAgICAgdm9p
ZCBzZXRNYXhpbXVtVW5vYnNjdXJlZFNpemUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7CkBA
IC0xNDg5LDYgKzE0OTAsNyBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKElPUykKICAgICBSZWZQ
dHI8V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5PiBtX3ZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXI7CiAgICAgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyBtX2xhc3RWaXNpYmxlQ29udGVu
dFJlY3RVcGRhdGU7CisgICAgYm9vbCBtX2R5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGVJblByb2dy
ZXNzOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklCUkFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCA1MjAwYWE4YzQ4ZGEzYjVi
MTBkYjY3MGJkNmM2YzliMGI5MGYwMjYzLi5lMDViZTUwN2UwMGU2M2FhMjNkNzFlZWE2MTdkZDA3
ZDRkMDE4NmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQ
cm94eUlPUy5tbQpAQCAtMzMsNiArMzMsNyBAQAogI2ltcG9ydCAiRWRpdGluZ1JhbmdlLmgiCiAj
aW1wb3J0ICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCiAjaW1wb3J0ICJQYWdlQ2xpZW50Lmgi
CisjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCIKICNp
bXBvcnQgIlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgiCiAjaW1wb3J0ICJWaWV3VXBkYXRl
RGlzcGF0Y2hlck1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXJJbnRlcm5hbC5oIgpAQCAtMjM3LDkgKzIzOCwyNCBAQCBXZWJDb3JlOjpGbG9hdFJlY3QgV2Vi
UGFnZVByb3h5Ojpjb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoY29uc3QgRmxvYXRSZWN0
JgogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShjb25zdCBG
bG9hdFNpemUmIG1pbmltdW1MYXlvdXRTaXplLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG1p
bmltdW1MYXlvdXRTaXplRm9yTWluaW1hbFVJLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG1h
eGltdW1Vbm9ic2N1cmVkU2l6ZSwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRFeHBvc2VkQ29udGVu
dFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0VW5vYnNjdXJlZFJlY3QsIGNvbnN0IEZsb2F0
UmVjdCYgdGFyZ2V0VW5vYnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcywgIGRvdWJs
ZSB0YXJnZXRTY2FsZSkKIHsKKyAgICBtX2R5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGVJblByb2dy
ZXNzID0gdHJ1ZTsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkR5bmFt
aWNWaWV3cG9ydFNpemVVcGRhdGUobWluaW11bUxheW91dFNpemUsIG1pbmltdW1MYXlvdXRTaXpl
Rm9yTWluaW1hbFVJLCBtYXhpbXVtVW5vYnNjdXJlZFNpemUsIHRhcmdldEV4cG9zZWRDb250ZW50
UmVjdCwgdGFyZ2V0VW5vYnNjdXJlZFJlY3QsIHRhcmdldFVub2JzY3VyZWRSZWN0SW5TY3JvbGxW
aWV3Q29vcmRpbmF0ZXMsIHRhcmdldFNjYWxlKSwgbV9wYWdlSUQpOwogfQogCit2b2lkIFdlYlBh
Z2VQcm94eTo6c3luY2hyb25pemVEeW5hbWljVmlld3BvcnRVcGRhdGUoKQoreworICAgIGlmICht
X2R5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGVJblByb2dyZXNzKSB7CisgICAgICAgIG1fZHluYW1p
Y1ZpZXdwb3J0U2l6ZVVwZGF0ZUluUHJvZ3Jlc3MgPSBmYWxzZTsKKyAgICAgICAgZG91YmxlIG5l
d1NjYWxlOworICAgICAgICBGbG9hdFBvaW50IG5ld1Njcm9sbFBvc2l0aW9uOworICAgICAgICBp
ZiAobV9wcm9jZXNzLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZTo6U3luY2hyb25pemVEeW5h
bWljVmlld3BvcnRVcGRhdGUoKSwgTWVzc2FnZXM6OldlYlBhZ2U6OlN5bmNocm9uaXplRHluYW1p
Y1ZpZXdwb3J0VXBkYXRlOjpSZXBseShuZXdTY2FsZSwgbmV3U2Nyb2xsUG9zaXRpb24pLCBtX3Bh
Z2VJRCwgc3RkOjpjaHJvbm86OnNlY29uZHMoMikpKSB7CisgICAgICAgICAgICBtX3BhZ2VDbGll
bnQuZHluYW1pY1ZpZXdwb3J0VXBkYXRlQ2hhbmdlZFRhcmdldChuZXdTY2FsZSwgbmV3U2Nyb2xs
UG9zaXRpb24pOworCisgICAgICAgICAgICBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+d2FpdEZv
ckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHk6OkNvbW1pdExheWVyVHJlZT4obV9wYWdlSUQsIHN0ZDo6Y2hyb25vOjpzZWNvbmRz
KDEpKTsKKyAgICAgICAgfQorICAgIH0KK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OnNldFZpZXdw
b3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXplKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6
ZSYgc2l6ZSkKIHsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFZp
ZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXplKHNpemUpLCBtX3BhZ2VJRCk7CkBA
IC01NDYsMTAgKzU2MiwxMyBAQCBmbG9hdCBXZWJQYWdlUHJveHk6OnRleHRBdXRvc2l6aW5nV2lk
dGgoKQogewogICAgIHJldHVybiBXS0dldFNjcmVlblNpemUoKS53aWR0aDsKIH0KLSAgICAKKwog
dm9pZCBXZWJQYWdlUHJveHk6OmR5bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRUYXJnZXQoZG91
YmxlIG5ld1NjYWxlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBuZXdTY3JvbGxQb3NpdGlv
bikKIHsKLSAgICBtX3BhZ2VDbGllbnQuZHluYW1pY1ZpZXdwb3J0VXBkYXRlQ2hhbmdlZFRhcmdl
dChuZXdTY2FsZSwgbmV3U2Nyb2xsUG9zaXRpb24pOworICAgIGlmIChtX2R5bmFtaWNWaWV3cG9y
dFNpemVVcGRhdGVJblByb2dyZXNzKSB7CisgICAgICAgIG1fZHluYW1pY1ZpZXdwb3J0U2l6ZVVw
ZGF0ZUluUHJvZ3Jlc3MgPSBmYWxzZTsKKyAgICAgICAgbV9wYWdlQ2xpZW50LmR5bmFtaWNWaWV3
cG9ydFVwZGF0ZUNoYW5nZWRUYXJnZXQobmV3U2NhbGUsIG5ld1Njcm9sbFBvc2l0aW9uKTsKKyAg
ICB9CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRHZXRUYXBIaWdobGlnaHRHZW9tZXRyaWVz
KHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yLCBjb25zdCBW
ZWN0b3I8V2ViQ29yZTo6RmxvYXRRdWFkPiYgaGlnaGxpZ2h0ZWRRdWFkcywgY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgdG9wTGVmdFJhZGl1cywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdG9wUmln
aHRSYWRpdXMsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGJvdHRvbUxlZnRSYWRpdXMsIGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIGJvdHRvbVJpZ2h0UmFkaXVzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggODBiODgwMjk5NGI4NjkzMjQ1NDllZWRj
MTZlNjFjYTEwMWI3ZTY4NC4uOWJmNWMyNDY5ZTQzZjZhZWM3MjEzZmNlOWYwY2ViZmM0NWUzZTRi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC03
MjMsNiArNzIzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Vmlld3BvcnRDb25maWd1cmF0aW9u
TWluaW11bUxheW91dFNpemVGb3JNaW5pbWFsVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7
CiAgICAgdm9pZCBzZXRNYXhpbXVtVW5vYnNjdXJlZFNpemUoY29uc3QgV2ViQ29yZTo6RmxvYXRT
aXplJik7CiAgICAgdm9pZCBkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlKGNvbnN0IFdlYkNvcmU6
OkZsb2F0U2l6ZSYgbWluaW11bUxheW91dFNpemUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYg
bWluaW11bUxheW91dFNpemVGb3JNaW5pbWFsVUksIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYg
bWF4aW11bVVub2JzY3VyZWRTaXplLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldEV4
cG9zZWRDb250ZW50UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRVbm9ic2N1
cmVkUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRVbm9ic2N1cmVkUmVjdElu
U2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCBkb3VibGUgc2NhbGUpOworICAgIHZvaWQgc3luY2hyb25p
emVEeW5hbWljVmlld3BvcnRVcGRhdGUoZG91YmxlJiBuZXdUYXJnZXRTY2FsZSwgV2ViQ29yZTo6
RmxvYXRQb2ludCYgbmV3U2Nyb2xsUG9zaXRpb24pOwogICAgIHZvaWQgdXBkYXRlVmlzaWJsZUNv
bnRlbnRSZWN0cyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvJik7CiAgICAgYm9v
bCBzY2FsZVdhc1NldEJ5VUlQcm9jZXNzKCkgY29uc3QgeyByZXR1cm4gbV9zY2FsZVdhc1NldEJ5
VUlQcm9jZXNzOyB9CiAgICAgdm9pZCB3aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWluZygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbgppbmRleCAxMjhlYWM2NGE3MTljMzEyYzFlMWUzMzE1YmYyOGEzMDRhYjdlMzYxLi42
MzZkZTdkMzhhNjI0ZDg2YWNjM2Q1NGRiNjgzNDRkNGU4ZjAzNDQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAt
NDcsNiArNDcsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBT
ZXRWaWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6ZUZvck1pbmltYWxVSShXZWJD
b3JlOjpGbG9hdFNpemUgc2l6ZSkKICAgICBTZXRNYXhpbXVtVW5vYnNjdXJlZFNpemUoV2ViQ29y
ZTo6RmxvYXRTaXplIHNpemUpCiAgICAgRHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShXZWJDb3Jl
OjpGbG9hdFNpemUgbWluaW11bUxheW91dFNpemUsIFdlYkNvcmU6OkZsb2F0U2l6ZSBtaW5pbXVt
TGF5b3V0U2l6ZUZvck1pbmltYWxVSSwgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtYXhpbXVtVW5vYnNj
dXJlZFNpemUsIFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRFeHBvc2VkQ29udGVudFJlY3QsIFdl
YkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRVbm9ic2N1cmVkUmVjdCwgV2ViQ29yZTo6RmxvYXRSZWN0
IHRhcmdldFVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMsIGRvdWJsZSBzY2Fs
ZSkKKyAgICBTeW5jaHJvbml6ZUR5bmFtaWNWaWV3cG9ydFVwZGF0ZSgpIC0+IChkb3VibGUgbmV3
VGFyZ2V0U2NhbGUsIFdlYkNvcmU6OkZsb2F0UG9pbnQgbmV3U2Nyb2xsUG9zaXRpb24pCiAKICAg
ICBIYW5kbGVUYXAoV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQpCiAgICAgUG90ZW50aWFsVGFwQXRQ
b3NpdGlvbih1aW50NjRfdCByZXF1ZXN0SUQsIFdlYkNvcmU6OkZsb2F0UG9pbnQgcG9pbnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KaW5kZXggNzBjNWI5OWY2MjVhZTkxYmE3MzdmZjJhYTlhNTAzM2FhOGYyYTBmNi4uMzgxY2U0
ODE1MTgzNzQyNWY1YjJjNjAzMjFjYTY2MDVjMWM1ODU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMjE0Myw4ICsy
MTQzLDEzIEBAIHZvaWQgV2ViUGFnZTo6ZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShjb25zdCBG
bG9hdFNpemUmIG1pbmltdW1MYXlvdXRTaXplLCBjb25zCiAgICAgZnJhbWVWaWV3LnNldEN1c3Rv
bVNpemVGb3JSZXNpemVFdmVudChleHBhbmRlZEludFNpemUodW5vYnNjdXJlZENvbnRlbnRSZWN0
U2l6ZUluQ29udGVudENvb3JkaW5hdGVzKSk7CiAgICAgZnJhbWVWaWV3LnNldFNjcm9sbE9mZnNl
dChyb3VuZGVkVW5vYnNjdXJlZENvbnRlbnRSZWN0LmxvY2F0aW9uKCkpOwogCi0gICAgaWYgKCF3
aXRoaW5FcHNpbG9uKHBhZ2VTY2FsZUZhY3RvcigpLCB0YXJnZXRTY2FsZSkgfHwgcm91bmRlZElu
dFBvaW50KHRhcmdldFVub2JzY3VyZWRSZWN0LmxvY2F0aW9uKCkpICE9IGZyYW1lVmlldy5zY3Jv
bGxQb3NpdGlvbigpKQotICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkR5bmFt
aWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRUYXJnZXQocGFnZVNjYWxlRmFjdG9yKCksIGZyYW1lVmll
dy5zY3JvbGxQb3NpdGlvbigpKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpE
eW5hbWljVmlld3BvcnRVcGRhdGVDaGFuZ2VkVGFyZ2V0KHBhZ2VTY2FsZUZhY3RvcigpLCBmcmFt
ZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSkpOworfQorCit2b2lkIFdlYlBhZ2U6OnN5bmNocm9uaXpl
RHluYW1pY1ZpZXdwb3J0VXBkYXRlKGRvdWJsZSYgbmV3VGFyZ2V0U2NhbGUsIEZsb2F0UG9pbnQm
IG5ld1Njcm9sbFBvc2l0aW9uKQoreworICAgIG5ld1RhcmdldFNjYWxlID0gcGFnZVNjYWxlRmFj
dG9yKCk7CisgICAgbmV3U2Nyb2xsUG9zaXRpb24gPSBtX3BhZ2UtPm1haW5GcmFtZSgpLnZpZXco
KS0+c2Nyb2xsUG9zaXRpb24oKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpyZXNldFZpZXdwb3J0RGVm
YXVsdENvbmZpZ3VyYXRpb24oV2ViRnJhbWUqIGZyYW1lKQo=
</data>
<flag name="review"
          id="256759"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>