<?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>76708</bug_id>
          
          <creation_ts>2012-01-20 09:05:35 -0800</creation_ts>
          <short_desc>[Qt][WK2] REGRESSION(r105517): It made 49 tests timeout</short_desc>
          <delta_ts>2012-01-30 09:27:59 -0800</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>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>Qt, QtTriaged</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>77302</dependson>
          <blocked>76296</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Jocelyn Turcotte">jturcotte</assigned_to>
          <cc>jturcotte</cc>
    
    <cc>kbalazs</cc>
    
    <cc>noam</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>539557</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-01-20 09:05:35 -0800</bug_when>
    <thetext>See http://build.webkit.sed.hu/results/x86-32%20Linux%20Qt%20Release%20WebKit2/r105518%20%2818907%29/results.html for details</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539564</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-01-20 09:09:35 -0800</bug_when>
    <thetext>I painted the bot green not to leave it for all weekend: http://trac.webkit.org/changeset/105521

Could you check what happened and then fix? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539585</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-01-20 09:37:15 -0800</bug_when>
    <thetext>And a typo fix landed in http://trac.webkit.org/changeset/105523</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540562</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-01-23 08:28:08 -0800</bug_when>
    <thetext>Noam, Jocelyn, could you check these timeouts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540567</commentid>
    <comment_count>4</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-01-23 08:36:54 -0800</bug_when>
    <thetext>Currently looking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541349</commentid>
    <comment_count>5</comment_count>
      <attachid>123741</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-01-24 08:32:53 -0800</bug_when>
    <thetext>Created attachment 123741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541403</commentid>
    <comment_count>6</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-01-24 09:46:46 -0800</bug_when>
    <thetext>Hm, I&apos;m not against your change but don&apos;t you think it could be solved at test level or tool level? Maybe we could add feature of WTR to force rendering?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541422</commentid>
    <comment_count>7</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-01-24 10:05:08 -0800</bug_when>
    <thetext>(In reply to comment #6)

Just adding a show() call to WrapperWindow also does the trick, but you end up will test windows all over the place and this isn&apos;t convenient.
There might be a way but since the Qt scene graph isn&apos;t ran at all unless a QQuickCanvas is shown, it isn&apos;t possible AFAIK.

An alternative might be to have a custom platform plugin that allows QWindow to wrap an offscreen surface instead, but we don&apos;t have anything like this yet so we need something else for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541931</commentid>
    <comment_count>8</comment_count>
      <attachid>123867</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-24 18:09:20 -0800</bug_when>
    <thetext>Created attachment 123867
Draft

This is more like what I had in mind, but I wasn&apos;t able to test it yet...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542208</commentid>
    <comment_count>9</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-01-25 05:35:53 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=123867) [details]
&gt; Draft
&gt; 

It looks less complex than I thought, and we would get pixel tests working at least for non-composited content. I&apos;d prefer it to my patch if it works properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542950</commentid>
    <comment_count>10</comment_count>
      <attachid>123741</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-26 01:18:48 -0800</bug_when>
    <thetext>Comment on attachment 123741
Patch

Yeah, Noam&apos;s solution is nice, rendering off-screen like that. Taking this patch out of the review queue then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542962</commentid>
    <comment_count>11</comment_count>
      <attachid>123867</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-01-26 01:41:27 -0800</bug_when>
    <thetext>Comment on attachment 123867
Draft

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

Great approach!

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:167
&gt; +    Q_Q(QQuickWebView);
&gt; +    if (!shouldRenderToOffscreenBuffer()) {
&gt; +        q-&gt;page()-&gt;update();
&gt; +        return;
&gt; +    }
&gt; +
&gt; +    // TODO: we can maintain a real pixmap here and use it for pixel tests. Right now this is used only for running the rendering code-path while running tests.
&gt; +    QPixmap dummyPixmap(1, 1);
&gt; +    QPainter painter(&amp;dummyPixmap);
&gt; +    q-&gt;page()-&gt;d-&gt;paint(&amp;painter);

Why don&apos;t we use a more reasonable sized pixmap here (even when not runnning pixel tests)?
And I would put the dummy code path in the if so it&apos;s easier to understand that what is the normal and what is the special path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543169</commentid>
    <comment_count>12</comment_count>
      <attachid>124122</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-01-26 08:45:16 -0800</bug_when>
    <thetext>Created attachment 124122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543172</commentid>
    <comment_count>13</comment_count>
      <attachid>124122</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-01-26 08:52:36 -0800</bug_when>
    <thetext>Comment on attachment 124122
Patch

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

rs=me

&gt; Source/WebKit2/ChangeLog:9
&gt; +        to pass. WebkitTestRunner doesn&apos;t show it&apos;s wrapping QQuickView, which

its* ?

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:69
&gt;      , m_navigatorQtObjectEnabled(false)
&gt; +    , m_renderToOffscreenBuffer(false)
&gt;  {

I guess we could use this for creating thumbnails etc in the future or for pixel tests?

&gt; Tools/ChangeLog:10
&gt; +        (WTR::PlatformWebView::PlatformWebView): Use software rendering of layers since the wrapping QQuickView isn&apos;t shown.

wrapped* ?

shown on screen? isn&apos;t visible?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543966</commentid>
    <comment_count>14</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-01-27 04:46:57 -0800</bug_when>
    <thetext>Committed r106109: &lt;http://trac.webkit.org/changeset/106109&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544776</commentid>
    <comment_count>15</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-01-29 15:25:47 -0800</bug_when>
    <thetext>Reopen, because it was rolled out: http://trac.webkit.org/changeset/106199
Check the bot for details: http://build.webkit.sed.hu/builders/x86-32%20Linux%20Qt%20Release%20WebKit2?numbuilds=200</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545148</commentid>
    <comment_count>16</comment_count>
      <attachid>124122</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-01-30 09:14:53 -0800</bug_when>
    <thetext>Comment on attachment 124122
Patch

Re-putting on the commit queue, the crashes weren&apos;t caused by this patch but by r106022.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545149</commentid>
    <comment_count>17</comment_count>
      <attachid>124122</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 09:17:03 -0800</bug_when>
    <thetext>Comment on attachment 124122
Patch

Rejecting attachment 124122 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
nt.cpp
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/platform/qt-wk2/Skipped
Hunk #1 FAILED at 460.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/qt-wk2/Skipped.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Kenneth Ro...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/11365656</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545159</commentid>
    <comment_count>18</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-01-30 09:27:59 -0800</bug_when>
    <thetext>Committed r106250: &lt;http://trac.webkit.org/changeset/106250&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123741</attachid>
            <date>2012-01-24 08:32:53 -0800</date>
            <delta_ts>2012-01-26 08:45:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76708-20120124172916.patch</filename>
            <type>text/plain</type>
            <size>14795</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjExY2ZmY2UyNDBhODU0
ZTNmNWEzMDM1MmU1NDVmNmZkZTRjOGE2My4uNmM5MjMwZjdhNTMzN2E2Nzk0OTk2MjYyZjM1MTVk
MGVhMmU3ZTEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTAxLTI0ICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CisKKyAgICAgICAgW1F0
XSBXS1RSOiBBZGQgYSB0ZXN0aW5nIG1vZGUgdG8gYWxsb3cgYW5pbWF0aW9uIHRlc3RzIHRvIHBh
c3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03Njcw
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFuaW1h
dGlvbiBsYXlvdXQgdGVzdHMgcmVxdWlyZSB0aGUgZ3JhcGhpY3MgbGF5ZXJzIHRyZWUgdG8gYmUg
dXBkYXRlZAorICAgICAgICB0byBwYXNzLiBXZWJraXRUZXN0UnVubmVyIGRvZXNuJ3Qgc2hvdyBp
dCdzIHdyYXBwaW5nIFFRdWlja1ZpZXcsIHdoaWNoCisgICAgICAgIHByZXZlbnRzIHRoZSByZW5k
ZXJpbmcgcGlwZWxpbmUgdG8gcnVuIGFuZCB0aGVuIGluIHR1cm4gYmxvY2tzIHRoZSB3ZWIKKyAg
ICAgICAgcHJvY2VzcyBmcm9tIHByb2Nlc3NpbmcgZnVydGhlciBncmFwaGljcyBsYXllciB1cGRh
dGVzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIGhlYWRsZXNzIHRlc3RpbmcgbW9kZSB0
aGF0IHByZXZlbnRzIHF1ZXVpbmcgbGF5ZXIgdXBkYXRlcworICAgICAgICBpbiB0aGUgTGF5ZXJU
cmVlSG9zdFByb3h5IGFuZCB0ZWxscyB0aGUgd2ViIHByb2Nlc3MgdG8gcmVuZGVyIHRoZSBuZXh0
CisgICAgICAgIGZyYW1lIGNvbnRpbnVvdXNseS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6c2V0
SGVhZGxlc3NUZXN0aW5nTW9kZUVuYWJsZWQpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0V4cGVy
aW1lbnRhbDo6c2V0SGVhZGxlc3NUZXN0aW5nTW9kZUVuYWJsZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3BfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXllclRyZWVIb3N0
UHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdFByb3h5OjpzZXRIZWFkbGVz
c1Rlc3RpbmdNb2RlRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L0xheWVyVHJlZUhv
c3RQcm94eVF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdFByb3h5OjpMYXll
clRyZWVIb3N0UHJveHkpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0UHJveHk6OnB1
c2hVcGRhdGVUb1F1ZXVlKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdFByb3h5Ojpj
cmVhdGVUaWxlRm9yTGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0UHJveHk6
OnVwZGF0ZVRpbGVGb3JMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RQcm94
eTo6cmVtb3ZlVGlsZUZvckxheWVyKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdFBy
b3h5OjpkZWxldGVDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
SG9zdFByb3h5OjpzZXRSb290Q29tcG9zaXRpbmdMYXllcik6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUhvc3RQcm94eTo6c3luY0NvbXBvc2l0aW5nTGF5ZXJTdGF0ZSk6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyVHJlZUhvc3RQcm94eTo6ZGlkUmVuZGVyRnJhbWUpOgorICAgICAgICAoV2Vi
S2l0OjpMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0ZURpcmVjdGx5Q29tcG9zaXRlZEltYWdlKToK
KyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdFByb3h5OjpkZXN0cm95RGlyZWN0bHlDb21w
b3NpdGVkSW1hZ2UpOgorCiAyMDEyLTAxLTIxICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFw
cGxlLmNvbT4KIAogICAgICAgICBNYWtlIFdlYktpdDIgcmVtZW1iZXIgdGhlIGhlaWdodCBvZiB0
aGUgV2ViIEluc3BlY3RvciB3aGVuIGl0IGlzIGRvY2tlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDk0YjUyNTU0NTU2YThj
YzcxN2RkNzg1ZThiYzI4MDdiNWFmOWE3N2EuLjhjZjVhMmUwZDBjMDYzM2FkMWUzMTdmNDk5Mzkx
ZDBkZjU3N2M0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJ2aWV3LmNwcApAQCAtMjMsNiArMjMsNyBAQAogCiAjaW5jbHVkZSAiRG93bmxvYWRQ
cm94eS5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhUHJveHlJbXBsLmgiCisjaW5jbHVkZSAiTGF5
ZXJUcmVlSG9zdFByb3h5LmgiCiAjaW5jbHVkZSAiUXREaWFsb2dSdW5uZXIuaCIKICNpbmNsdWRl
ICJRdERvd25sb2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIlF0V2ViQ29udGV4dC5oIgpAQCAtNTI3
LDYgKzUyOCwxMiBAQCB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpfcV9vbk9wZW5QYW5lbEZp
bmlzaGVkKGludCByZXN1bHQpCiAgICAgZmlsZURpYWxvZyA9IDA7CiB9CiAKK3ZvaWQgUVF1aWNr
V2ViVmlld1ByaXZhdGU6OnNldEhlYWRsZXNzVGVzdGluZ01vZGVFbmFibGVkKCkKK3sKKyAgICBB
U1NFUlQod2ViUGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpICYmIHdlYlBhZ2VQcm94eS0+ZHJhd2lu
Z0FyZWEoKS0+bGF5ZXJUcmVlSG9zdFByb3h5KCkpOworICAgIHdlYlBhZ2VQcm94eS0+ZHJhd2lu
Z0FyZWEoKS0+bGF5ZXJUcmVlSG9zdFByb3h5KCktPnNldEhlYWRsZXNzVGVzdGluZ01vZGVFbmFi
bGVkKCk7Cit9CisKIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnNldFVzZVRyYWRpdGlvbmFs
RGVza3RvcEJlaGF2aW91cihib29sIGVuYWJsZSkKIHsKICAgICBRX1EoUVF1aWNrV2ViVmlldyk7
CkBAIC02MzYsNiArNjQzLDEyIEBAIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6On5RUXVpY2tX
ZWJWaWV3RXhwZXJpbWVudGFsKCkKIHsKIH0KIAordm9pZCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVu
dGFsOjpzZXRIZWFkbGVzc1Rlc3RpbmdNb2RlRW5hYmxlZCgpCit7CisgICAgUV9EKFFRdWlja1dl
YlZpZXcpOworICAgIGQtPnNldEhlYWRsZXNzVGVzdGluZ01vZGVFbmFibGVkKCk7Cit9CisKIHZv
aWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0VXNlVHJhZGl0aW9uYWxEZXNrdG9wQmVo
YXZpb3VyKGJvb2wgZW5hYmxlKQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCmluZGV4IDE1
NWU5NjA5NzllMzNmOWYyMTgyOTU5ZWQ2NWJiNTJkMzI2YjM0NzAuLjdkNDliNDE1ZDc0YmZhZjUx
ZWFjMThhYzg1OTc2Y2UyNjA1OTEzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaApAQCAtMjQ5LDYgKzI0OSw3IEBAIHB1YmxpYzoK
ICAgICBRRGVjbGFyYXRpdmVMaXN0UHJvcGVydHk8UVF1aWNrVXJsU2NoZW1lRGVsZWdhdGU+IHNj
aGVtZURlbGVnYXRlcygpOwogICAgIHZvaWQgaW52b2tlQXBwbGljYXRpb25TY2hlbWVIYW5kbGVy
KFdURjo6UGFzc1JlZlB0cjxXZWJLaXQ6OlF0TmV0d29ya1JlcXVlc3REYXRhPik7CiAgICAgdm9p
ZCBzZW5kQXBwbGljYXRpb25TY2hlbWVSZXBseShRUXVpY2tOZXR3b3JrUmVwbHkqKTsKKyAgICB2
b2lkIHNldEhlYWRsZXNzVGVzdGluZ01vZGVFbmFibGVkKCk7CiAKIHB1YmxpYyBRX1NMT1RTOgog
ICAgIHZvaWQgc2V0VXNlVHJhZGl0aW9uYWxEZXNrdG9wQmVoYXZpb3VyKGJvb2wgZW5hYmxlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
d19wX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19w
X3AuaAppbmRleCBiMTQwNjY5YjhlMTc2OWFjMmJlNjFhMWU2OTA5YTdkZTU2MTQ2Yzg2Li5kOGMx
ZmJhMjlkM2YwYjg2MjU2MzMyODQyYzg0OGZlOGEyZDI2NmU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCkBAIC05OSw2ICs5
OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaGFuZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJl
cXVlc3QoY29uc3QgUVN0cmluZyYgaG9zdG5hbWUsIGNvbnN0IFFTdHJpbmcmIHJlYWxtLCBjb25z
dCBRU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgUVN0cmluZyYgdXNlcm5hbWUsIFFTdHJpbmcm
IHBhc3N3b3JkKTsKIAorICAgIHZvaWQgc2V0SGVhZGxlc3NUZXN0aW5nTW9kZUVuYWJsZWQoKTsK
ICAgICB2b2lkIHNldFVzZVRyYWRpdGlvbmFsRGVza3RvcEJlaGF2aW91cihib29sIGVuYWJsZSk7
CiAgICAgdm9pZCBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoUU9iamVjdCopOwogICAgIHZv
aWQgc2V0SWNvbihjb25zdCBRVXJsJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF5ZXJUcmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5
ZXJUcmVlSG9zdFByb3h5LmgKaW5kZXggNDZjNGQxNGU0MTU5MDEwMmU2MjZhOTMxNTc5Mzk5Nzlj
MDMxMDQ2NS4uODcxMWQxYmMxMDkzMTY5ZWNiMjdjYWY5ODMzNWZjMjA5MDE3ZDgxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXllclRyZWVIb3N0UHJveHkuaApAQCAtNTYsNiAr
NTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXJnZUdMUmVzb3VyY2VzKCk7CiAgICAgdm9pZCBz
ZXRWaXNpYmxlQ29udGVudHNSZWN0QW5kU2NhbGUoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGZs
b2F0KTsKICAgICB2b2lkIHNldFZpc2libGVDb250ZW50UmVjdFRyYWplY3RvcnlWZWN0b3IoY29u
c3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOworICAgIHZvaWQgc2V0SGVhZGxlc3NUZXN0aW5nTW9k
ZUVuYWJsZWQoKSB7IG1faGVhZGxlc3NUZXN0aW5nTW9kZUVuYWJsZWQgPSB0cnVlOyB9CiAjaWYg
VVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgdm9pZCBzeW5jUmVtb3RlQ29udGVudCgpOwog
ICAgIHZvaWQgc3dhcENvbnRlbnRCdWZmZXJzKCk7CkBAIC0xMzEsNiArMTMyLDcgQEAgcHJvdGVj
dGVkOgogICAgIExheWVyTWFwIG1fbGF5ZXJzOwogICAgIFdlYkxheWVySUQgbV9yb290TGF5ZXJJ
RDsKICAgICBpbnQgbV9pZDsKKyAgICBib29sIG1faGVhZGxlc3NUZXN0aW5nTW9kZUVuYWJsZWQ7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJU
cmVlSG9zdFByb3h5UXQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0xheWVyVHJl
ZUhvc3RQcm94eVF0LmNwcAppbmRleCA4YzQyOGQ3OTljNmI4MjA1Nzk2YTVlNmMyNjk3YmQyY2Fl
MTdiOWE3Li4xN2E2OGM1YmM1MjI3OWJjYWFlMmQxNmJjOGM4M2FjNzU4MDdiMTNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJUcmVlSG9zdFByb3h5UXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXllclRyZWVIb3N0UHJveHlRdC5j
cHAKQEAgLTE1OSw2ICsxNTksNyBAQCBMYXllclRyZWVIb3N0UHJveHk6OkxheWVyVHJlZUhvc3RQ
cm94eShEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5nQXJlYVByb3h5KQogICAgICwgbV9kcmF3aW5n
QXJlYVByb3h5KGRyYXdpbmdBcmVhUHJveHkpCiAgICAgLCBtX3ZpZXdwb3J0VXBkYXRlVGltZXIo
dGhpcywgJkxheWVyVHJlZUhvc3RQcm94eTo6ZGlkRmlyZVZpZXdwb3J0VXBkYXRlVGltZXIpCiAg
ICAgLCBtX3Jvb3RMYXllcklEKDApCisgICAgLCBtX2hlYWRsZXNzVGVzdGluZ01vZGVFbmFibGVk
KGZhbHNlKQogewogfQogCkBAIC01MTUsMTIgKzUxNiwxNSBAQCB2b2lkIExheWVyVHJlZUhvc3RQ
cm94eTo6c3luY1JlbW90ZUNvbnRlbnQoKQogCiB2b2lkIExheWVyVHJlZUhvc3RQcm94eTo6cHVz
aFVwZGF0ZVRvUXVldWUoUGFzc093blB0cjxMYXllclRyZWVNZXNzYWdlVG9SZW5kZXJlcj4gbWVz
c2FnZSkKIHsKKyAgICBBU1NFUlQoIW1faGVhZGxlc3NUZXN0aW5nTW9kZUVuYWJsZWQpOwogICAg
IG1fbWVzc2FnZXNUb1JlbmRlcmVyLmFwcGVuZChtZXNzYWdlKTsKICAgICB1cGRhdGVWaWV3cG9y
dCgpOwogfQogCiB2b2lkIExheWVyVHJlZUhvc3RQcm94eTo6Y3JlYXRlVGlsZUZvckxheWVyKGlu
dCBsYXllcklELCBpbnQgdGlsZUlELCBjb25zdCBXZWJLaXQ6OlVwZGF0ZUluZm8mIHVwZGF0ZUlu
Zm8pCiB7CisgICAgaWYgKG1faGVhZGxlc3NUZXN0aW5nTW9kZUVuYWJsZWQpCisgICAgICAgIHJl
dHVybjsKICAgICBDcmVhdGVUaWxlTWVzc2FnZURhdGEgZGF0YTsKICAgICBkYXRhLmxheWVySUQg
PSBsYXllcklEOwogICAgIGRhdGEucmVtb3RlVGlsZUlEID0gdGlsZUlEOwpAQCAtNTMxLDYgKzUz
NSw4IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdFByb3h5OjpjcmVhdGVUaWxlRm9yTGF5ZXIoaW50IGxh
eWVySUQsIGludCB0aWxlSUQsIGNvbnN0IFdlYktpCiAKIHZvaWQgTGF5ZXJUcmVlSG9zdFByb3h5
Ojp1cGRhdGVUaWxlRm9yTGF5ZXIoaW50IGxheWVySUQsIGludCB0aWxlSUQsIGNvbnN0IFdlYktp
dDo6VXBkYXRlSW5mbyYgdXBkYXRlSW5mbykKIHsKKyAgICBpZiAobV9oZWFkbGVzc1Rlc3RpbmdN
b2RlRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOwogICAgIFVwZGF0ZVRpbGVNZXNzYWdlRGF0YSBk
YXRhOwogICAgIGRhdGEubGF5ZXJJRCA9IGxheWVySUQ7CiAgICAgZGF0YS5yZW1vdGVUaWxlSUQg
PSB0aWxlSUQ7CkBAIC01NDMsNiArNTQ5LDggQEAgdm9pZCBMYXllclRyZWVIb3N0UHJveHk6OnVw
ZGF0ZVRpbGVGb3JMYXllcihpbnQgbGF5ZXJJRCwgaW50IHRpbGVJRCwgY29uc3QgV2ViS2kKIAog
dm9pZCBMYXllclRyZWVIb3N0UHJveHk6OnJlbW92ZVRpbGVGb3JMYXllcihpbnQgbGF5ZXJJRCwg
aW50IHRpbGVJRCkKIHsKKyAgICBpZiAobV9oZWFkbGVzc1Rlc3RpbmdNb2RlRW5hYmxlZCkKKyAg
ICAgICAgcmV0dXJuOwogICAgIFJlbW92ZVRpbGVNZXNzYWdlRGF0YSBkYXRhOwogICAgIGRhdGEu
bGF5ZXJJRCA9IGxheWVySUQ7CiAgICAgZGF0YS5yZW1vdGVUaWxlSUQgPSB0aWxlSUQ7CkBAIC01
NTIsNiArNTYwLDggQEAgdm9pZCBMYXllclRyZWVIb3N0UHJveHk6OnJlbW92ZVRpbGVGb3JMYXll
cihpbnQgbGF5ZXJJRCwgaW50IHRpbGVJRCkKIAogdm9pZCBMYXllclRyZWVIb3N0UHJveHk6OmRl
bGV0ZUNvbXBvc2l0aW5nTGF5ZXIoV2ViTGF5ZXJJRCBpZCkKIHsKKyAgICBpZiAobV9oZWFkbGVz
c1Rlc3RpbmdNb2RlRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOwogICAgIERlbGV0ZUxheWVyTWVz
c2FnZURhdGEgZGF0YTsKICAgICBkYXRhLmxheWVySUQgPSBpZDsKICAgICBwdXNoVXBkYXRlVG9R
dWV1ZShEZWxldGVMYXllck1lc3NhZ2U6OmNyZWF0ZShkYXRhKSk7CkBAIC01NTksNiArNTY5LDgg
QEAgdm9pZCBMYXllclRyZWVIb3N0UHJveHk6OmRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXIoV2ViTGF5
ZXJJRCBpZCkKIAogdm9pZCBMYXllclRyZWVIb3N0UHJveHk6OnNldFJvb3RDb21wb3NpdGluZ0xh
eWVyKFdlYkxheWVySUQgaWQpCiB7CisgICAgaWYgKG1faGVhZGxlc3NUZXN0aW5nTW9kZUVuYWJs
ZWQpCisgICAgICAgIHJldHVybjsKICAgICBTZXRSb290TGF5ZXJNZXNzYWdlRGF0YSBkYXRhOwog
ICAgIGRhdGEubGF5ZXJJRCA9IGlkOwogICAgIHB1c2hVcGRhdGVUb1F1ZXVlKFNldFJvb3RMYXll
ck1lc3NhZ2U6OmNyZWF0ZShkYXRhKSk7CkBAIC01NjYsNiArNTc4LDggQEAgdm9pZCBMYXllclRy
ZWVIb3N0UHJveHk6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKFdlYkxheWVySUQgaWQpCiAKIHZv
aWQgTGF5ZXJUcmVlSG9zdFByb3h5OjpzeW5jQ29tcG9zaXRpbmdMYXllclN0YXRlKGNvbnN0IFdl
YkxheWVySW5mbyYgaW5mbykKIHsKKyAgICBpZiAobV9oZWFkbGVzc1Rlc3RpbmdNb2RlRW5hYmxl
ZCkKKyAgICAgICAgcmV0dXJuOwogICAgIFN5bmNMYXllclBhcmFtZXRlcnNNZXNzYWdlRGF0YSBk
YXRhOwogICAgIGRhdGEubGF5ZXJJbmZvID0gaW5mbzsKICAgICBwdXNoVXBkYXRlVG9RdWV1ZShT
eW5jTGF5ZXJQYXJhbWV0ZXJzTWVzc2FnZTo6Y3JlYXRlKGRhdGEpKTsKQEAgLTU3MywxMiArNTg3
LDE4IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdFByb3h5OjpzeW5jQ29tcG9zaXRpbmdMYXllclN0YXRl
KGNvbnN0IFdlYkxheWVySW5mbyYgaW5mbykKIAogdm9pZCBMYXllclRyZWVIb3N0UHJveHk6OmRp
ZFJlbmRlckZyYW1lKCkKIHsKKyAgICBpZiAobV9oZWFkbGVzc1Rlc3RpbmdNb2RlRW5hYmxlZCkg
eworICAgICAgICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cHJvY2VzcygpLT5zZW5kKE1l
c3NhZ2VzOjpMYXllclRyZWVIb3N0OjpSZW5kZXJOZXh0RnJhbWUoKSwgbV9kcmF3aW5nQXJlYVBy
b3h5LT5wYWdlKCktPnBhZ2VJRCgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBwdXNo
VXBkYXRlVG9RdWV1ZShGbHVzaExheWVyQ2hhbmdlc01lc3NhZ2U6OmNyZWF0ZSgpKTsKICAgICB1
cGRhdGVWaWV3cG9ydCgpOwogfQogCiB2b2lkIExheWVyVHJlZUhvc3RQcm94eTo6Y3JlYXRlRGly
ZWN0bHlDb21wb3NpdGVkSW1hZ2UoaW50NjRfdCBrZXksIGNvbnN0IFdlYktpdDo6U2hhcmVhYmxl
Qml0bWFwOjpIYW5kbGUmIGhhbmRsZSkKIHsKKyAgICBpZiAobV9oZWFkbGVzc1Rlc3RpbmdNb2Rl
RW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOwogICAgIENyZWF0ZUltYWdlTWVzc2FnZURhdGEgZGF0
YTsKICAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXAgPSBTaGFyZWFibGVCaXRtYXA6
OmNyZWF0ZShoYW5kbGUpOwogICAgIGRhdGEuaW1hZ2VJRCA9IGtleTsKQEAgLTU4OCw2ICs2MDgs
OCBAQCB2b2lkIExheWVyVHJlZUhvc3RQcm94eTo6Y3JlYXRlRGlyZWN0bHlDb21wb3NpdGVkSW1h
Z2UoaW50NjRfdCBrZXksIGNvbnN0IFdlYktpdAogCiB2b2lkIExheWVyVHJlZUhvc3RQcm94eTo6
ZGVzdHJveURpcmVjdGx5Q29tcG9zaXRlZEltYWdlKGludDY0X3Qga2V5KQogeworICAgIGlmICht
X2hlYWRsZXNzVGVzdGluZ01vZGVFbmFibGVkKQorICAgICAgICByZXR1cm47CiAgICAgRGVzdHJv
eUltYWdlTWVzc2FnZURhdGEgZGF0YTsKICAgICBkYXRhLmltYWdlSUQgPSBrZXk7CiAgICAgcHVz
aFVwZGF0ZVRvUXVldWUoRGVzdHJveUltYWdlTWVzc2FnZTo6Y3JlYXRlKGRhdGEpKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3ZmVjOWViMWQy
MzlmZGFlOGRiZDI2MDA3NTNmYzQ2YjdmMGQ2ODFiLi45MWEyZTYyMzM1OTA0YzFiYjE4ZGFlOTRh
MTQxZmExNTIyYmRjMjg0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDEtMjQgIEpvY2VseW4gVHVyY290dGUg
IDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KKworICAgICAgICBbUXRdIFdLVFI6IEFkZCBh
IHRlc3RpbmcgbW9kZSB0byBhbGxvdyBhbmltYXRpb24gdGVzdHMgdG8gcGFzcy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcDoKKyAgICAgICAgKFdUUjo6V3JhcHBlcldpbmRvdzo6
V3JhcHBlcldpbmRvdyk6CisKIDIwMTItMDEtMjIgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmls
bGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gRHVtcFJlbmRlclRyZWUgY29udmVydHMg
ImZpbGU6Ly8vIiB0byBhIHBhdGggZGlmZmVyZW50bHkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3UXQuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKaW5kZXggMTNhMzNmOGJjMDJhODZlNjcwMzhl
OWI4ZTc3ZGY1MWZlYTVjZjg1OS4uMWQ2MjNjNGY3OGQyMWNmMGNmYmJlZDk4M2M1Y2NhZGQyNDc5
NzJkNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZp
ZXdRdC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdR
dC5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgogICAgICAgICAsIG1fdmlldyh2aWV3KQog
ICAgIHsKICAgICAgICAgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCh2aWV3KS5zZXRVc2VUcmFk
aXRpb25hbERlc2t0b3BCZWhhdmlvdXIodHJ1ZSk7CisgICAgICAgIFFRdWlja1dlYlZpZXdFeHBl
cmltZW50YWwodmlldykuc2V0SGVhZGxlc3NUZXN0aW5nTW9kZUVuYWJsZWQoKTsKICAgICAgICAg
Y29ubmVjdCh0aGlzLCBTSUdOQUwoc3RhdHVzQ2hhbmdlZChRUXVpY2tWaWV3OjpTdGF0dXMpKSwg
U0xPVChoYW5kbGVTdGF0dXNDaGFuZ2VkKFFRdWlja1ZpZXc6OlN0YXR1cykpKTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYzlkYTE2ZTY2MTExNjU5ZGVjOWYyMjg1NzAzMWNiZmU0ODRkMTE5Li5mNzY3MzMw
ZDQxNDYyY2QwNTI4NmZiMjk0ODk3Zjk0Y2VlMGNkOTIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTItMDEtMjQgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNv
bT4KKworICAgICAgICBbUXRdIFdLVFI6IEFkZCBhIHRlc3RpbmcgbW9kZSB0byBhbGxvdyBhbmlt
YXRpb24gdGVzdHMgdG8gcGFzcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc2NzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC13azIvU2tpcHBlZDoKKwogMjAxMi0wMS0yMiAgU2Vy
Z2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBV
bnJldmlld2VkLCB1bnNraXBwaW5nIHRlc3QgcGFzc2luZyBhZnRlciByNzk2NTUuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0LXdrMi9Ta2lwcGVkCmluZGV4IDA1OThhMjVmMjVjMWJjZWQ2OWJjOGEwZTlmOWYy
M2UzOWI2NWFiMjUuLjdjMjU3NTIxNTAyYjk4OWQwM2YzMGUyNmE5NDA4NmVjZGY3ZGVjOWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdrMi9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0LXdrMi9Ta2lwcGVkCkBAIC00NjAsNTggKzQ2MCw2IEBAIHRhYmxl
cy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi9iYWNrZ3JfYm9yZGVyLXRhYmxlLXJv
dy1ncm91cC5odG1sCiB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vYmFj
a2dyX2xheWVycy1zaG93Lmh0bWwKIHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21h
cnZpbi9iYWNrZ3JfcG9zaXRpb24tdGFibGUtY29sdW1uLmh0bWwKIAotIyBbUXRdW1dLMl0gUkVH
UkVTU0lPTihyMTA1NTE3KTogSXQgbWFkZSA0OSB0ZXN0cyB0aW1lb3V0Ci0jIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwOAotYW5pbWF0aW9ucy8zZC9jaGFuZ2Ut
dHJhbnNmb3JtLWluLWVuZC1ldmVudC5odG1sCi1hbmltYXRpb25zLzNkL3JlcGxhY2UtZmlsbGlu
Zy10cmFuc2Zvcm0uaHRtbAotYW5pbWF0aW9ucy8zZC9zdGF0ZS1hdC1lbmQtZXZlbnQtdHJhbnNm
b3JtLmh0bWwKLWFuaW1hdGlvbnMvM2QvdHJhbnNmb3JtLXBlcnNwZWN0aXZlLmh0bWwKLWFuaW1h
dGlvbnMvYWRkaXRpdmUtdHJhbnNmb3JtLWFuaW1hdGlvbnMuaHRtbAotYW5pbWF0aW9ucy9hbmlt
YXRpb24tZGlyZWN0aW9uLW5vcm1hbC5odG1sCi1hbmltYXRpb25zL2FuaW1hdGlvbi1lbmQtZXZl
bnQtZGVzdHJveS1yZW5kZXJlci5odG1sCi1hbmltYXRpb25zL2FuaW1hdGlvbi1oaXQtdGVzdC10
cmFuc2Zvcm0uaHRtbAotYW5pbWF0aW9ucy9hbmltYXRpb24taXRlcmF0aW9uLWV2ZW50LWRlc3Ry
b3ktcmVuZGVyZXIuaHRtbAotYW5pbWF0aW9ucy9hbmltYXRpb24tbWF0cml4LW5lZ2F0aXZlLXNj
YWxlLXVubWF0cml4Lmh0bWwKLWFuaW1hdGlvbnMvYW5pbWF0aW9uLXN0YXJ0LWV2ZW50LWRlc3Ry
b3ktcmVuZGVyZXIuaHRtbAotYW5pbWF0aW9ucy9iaWctcm90YXRpb24uaHRtbAotYW5pbWF0aW9u
cy9jb21iby10cmFuc2Zvcm0tcm90YXRlK3NjYWxlLmh0bWwKLWFuaW1hdGlvbnMvY29tYm8tdHJh
bnNmb3JtLXRyYW5zbGF0ZStzY2FsZS5odG1sCi1hbmltYXRpb25zL2R5bmFtaWMtc3R5bGVzaGVl
dC1sb2FkaW5nLmh0bWwKLWFuaW1hdGlvbnMvZmlsbC1tb2RlLXRyYW5zZm9ybS5odG1sCi1hbmlt
YXRpb25zL2tleWZyYW1lLXRpbWluZy1mdW5jdGlvbnMtdHJhbnNmb3JtLmh0bWwKLWFuaW1hdGlv
bnMvbWF0cml4LWFuaW0uaHRtbAotYW5pbWF0aW9ucy9taXNzaW5nLWZyb20tdG8tdHJhbnNmb3Jt
cy5odG1sCi1hbmltYXRpb25zL21pc3Npbmcta2V5ZnJhbWUtcHJvcGVydGllcy1yZXBlYXRpbmcu
aHRtbAotYW5pbWF0aW9ucy9taXNzaW5nLWtleWZyYW1lLXByb3BlcnRpZXMtdGltaW5nLWZ1bmN0
aW9uLmh0bWwKLWFuaW1hdGlvbnMvbWlzc2luZy1rZXlmcmFtZS1wcm9wZXJ0aWVzLmh0bWwKLWFu
aW1hdGlvbnMvbWlzc2luZy12YWx1ZXMtZmlyc3Qta2V5ZnJhbWUuaHRtbAotYW5pbWF0aW9ucy9t
aXNzaW5nLXZhbHVlcy1sYXN0LWtleWZyYW1lLmh0bWwKLWFuaW1hdGlvbnMvbmVnYXRpdmUtZGVs
YXkuaHRtbAotYW5pbWF0aW9ucy9vcGFjaXR5LXRyYW5zZm9ybS1hbmltYXRpb24uaHRtbAotYW5p
bWF0aW9ucy9wYXVzZS1jcmFzaC5odG1sCi1hbmltYXRpb25zL3BsYXktc3RhdGUtcGF1c2VkLmh0
bWwKLWFuaW1hdGlvbnMvcGxheS1zdGF0ZS1zdXNwZW5kLmh0bWwKLWFuaW1hdGlvbnMvc2ltdWx0
YW5lb3VzLXN0YXJ0LXRyYW5zZm9ybS5odG1sCi1hbmltYXRpb25zL3N0b3AtYW5pbWF0aW9uLW9u
LXN1c3BlbmQuaHRtbAotYW5pbWF0aW9ucy9zdXNwZW5kLXJlc3VtZS1hbmltYXRpb24uaHRtbAot
YW5pbWF0aW9ucy9zdXNwZW5kLXRyYW5zZm9ybS1hbmltYXRpb24uaHRtbAotYW5pbWF0aW9ucy90
cmFuc2l0aW9uLWFuZC1hbmltYXRpb24tMS5odG1sCi1hbmltYXRpb25zL3RyYW5zaXRpb24tYW5k
LWFuaW1hdGlvbi0yLmh0bWwKLWZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRT
dHlsZS13aXRoLXBzZXVkby1lbGVtZW50Lmh0bWwKLXRhYmxlcy9tb3ppbGxhL21hcnZpbi9iYWNr
Z3Jfc2ltcGxlLXRhYmxlLWNlbGwuaHRtbAotdHJhbnNpdGlvbnMvM2QvaW50ZXJydXB0ZWQtdHJh
bnNpdGlvbi5odG1sCi10cmFuc2l0aW9ucy9jYW5jZWwtdHJhbnNpdGlvbi5odG1sCi10cmFuc2l0
aW9ucy9leHRyYS10cmFuc2l0aW9uLmh0bWwKLXRyYW5zaXRpb25zL2ludGVycnVwdC10cmFuc2Zv
cm0tdHJhbnNpdGlvbi5odG1sCi10cmFuc2l0aW9ucy9pbnRlcnJ1cHRlZC1hY2NlbGVyYXRlZC10
cmFuc2l0aW9uLmh0bWwKLXRyYW5zaXRpb25zL21vdmUtYWZ0ZXItdHJhbnNpdGlvbi5odG1sCi10
cmFuc2l0aW9ucy9zdGFydC10cmFuc2Zvcm0tdHJhbnNpdGlvbi5odG1sCi10cmFuc2l0aW9ucy90
cmFuc2l0aW9uLWVuZC1ldmVudC1kZXN0cm95LWlmcmFtZS5odG1sCi10cmFuc2l0aW9ucy90cmFu
c2l0aW9uLWVuZC1ldmVudC1kZXN0cm95LXJlbmRlcmVyLmh0bWwKLXRyYW5zaXRpb25zL3RyYW5z
aXRpb24tZW5kLWV2ZW50LW11bHRpcGxlLTA0Lmh0bWwKLXRyYW5zaXRpb25zL3RyYW5zaXRpb24t
ZW5kLWV2ZW50LXJlbmRlcmluZy5odG1sCi10cmFuc2l0aW9ucy90cmFuc2l0aW9uLWVuZC1ldmVu
dC10cmFuc2Zvcm0uaHRtbAotCiAjIFtRdF1bV0syXSBodHRwL3Rlc3RzL2hpc3RvcnkvcmVwbGFj
ZXN0YXRlLXBvc3QtdG8tZ2V0LTIuaHRtbCBmYWlscyB3aXRoIHRpbWVvdXQKICMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzg0CiBodHRwL3Rlc3RzL2hpc3Rvcnkv
cmVwbGFjZXN0YXRlLXBvc3QtdG8tZ2V0LTIuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123867</attachid>
            <date>2012-01-24 18:09:20 -0800</date>
            <delta_ts>2012-01-26 08:45:09 -0800</delta_ts>
            <desc>Draft</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>12372</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL09wZW5H
TFNoaW1zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL09wZW5H
TFNoaW1zLmNwcAppbmRleCAyODMxNmUwLi4yOTk0Y2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9PcGVuR0xTaGltcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vT3BlbkdMU2hpbXMuY3BwCkBAIC00Miw3
ICs0Miw3IEBAIE9wZW5HTEZ1bmN0aW9uVGFibGUqIG9wZW5HTEZ1bmN0aW9uVGFibGUoKQogI2lm
IFBMQVRGT1JNKFFUKQogc3RhdGljIHZvaWQqIGdldFByb2NBZGRyZXNzKGNvbnN0IGNoYXIqIHBy
b2NOYW1lKQogewotICAgIHJldHVybiBRR0xDb250ZXh0OjpjdXJyZW50Q29udGV4dCgpLT5nZXRQ
cm9jQWRkcmVzcyhRU3RyaW5nOjpmcm9tTGF0aW4xKHByb2NOYW1lKSk7CisgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KFFHTENvbnRleHQ6OmN1cnJlbnRDb250ZXh0KCktPmdldFBy
b2NBZGRyZXNzKFFTdHJpbmc6OmZyb21MYXRpbjEocHJvY05hbWUpKSk7CiB9CiAjZWxzZQogdHlw
ZWRlZiB2b2lkKiAoKmdsR2V0UHJvY0FkZHJlc3NUeXBlKSAoY29uc3QgY2hhciogcHJvY05hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJw
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5j
cHAKaW5kZXggYThjMTcxOC4uYTZkNjk4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCkBAIC0xMDAsNiArMTAwLDE2IEBAIHZvaWQg
UVF1aWNrV2ViUGFnZVByaXZhdGU6OnNldERyYXdpbmdBcmVhU2l6ZShjb25zdCBRU2l6ZSYgc2l6
ZSkKICAgICBkcmF3aW5nQXJlYS0+c2V0U2l6ZShXZWJDb3JlOjpJbnRTaXplKHNpemUpLCBXZWJD
b3JlOjpJbnRTaXplKCkpOwogfQogCit2b2lkIFFRdWlja1dlYlBhZ2VQcml2YXRlOjpwYWludChR
UGFpbnRlciogcGFpbnRlcikKK3sKKyAgICBEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5nQXJlYSA9
IHdlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKTsKKyAgICBpZiAoIWRyYXdpbmdBcmVhKQorICAg
ICAgICByZXR1cm47CisKKyAgICBkcmF3aW5nQXJlYS0+cGFpbnRMYXllclRyZWUocGFpbnRlcik7
Cit9CisKKwogdm9pZCBRUXVpY2tXZWJQYWdlUHJpdmF0ZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRl
eHQoKQogewogICAgIGlmICghcS0+aXNWaXNpYmxlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcF9wLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcF9wLmgKaW5kZXggOTljYjJjMi4uMGMx
N2FhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJwYWdlX3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNr
d2VicGFnZV9wX3AuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVT
aXplKCk7CiAKICAgICB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250ZXh0KCk7CisgICAgdm9pZCBw
YWludChRUGFpbnRlciopOwogICAgIHZvaWQgcmVzZXRQYWludE5vZGUoKTsKIAogICAgIFFTY29w
ZWRQb2ludGVyPFF0V2ViUGFnZUV2ZW50SGFuZGxlcj4gZXZlbnRIYW5kbGVyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5kZXggOTRi
NTI1NS4uMDVhYjM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXcuY3BwCkBAIC02NSw2ICs2NSw3IEBAIFFRdWlja1dlYlZpZXdQcml2YXRl
OjpRUXVpY2tXZWJWaWV3UHJpdmF0ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICAsIGlz
VHJhbnNpdGlvbmluZ1RvTmV3UGFnZShmYWxzZSkKICAgICAsIHBhZ2VJc1N1c3BlbmRlZChmYWxz
ZSkKICAgICAsIG1fbmF2aWdhdG9yUXRPYmplY3RFbmFibGVkKGZhbHNlKQorICAgICwgbV9zaG91
bGRSZW5kZXJUb09mZnNjcmVlbkJ1ZmZlcihmYWxzZSkKIHsKICAgICB2aWV3cG9ydC0+c2V0Rmxh
Z3MoUVF1aWNrSXRlbTo6SXRlbUNsaXBzQ2hpbGRyZW5Ub1NoYXBlKTsKICAgICBRT2JqZWN0Ojpj
b25uZWN0KHZpZXdwb3J0LCBTSUdOQUwodmlzaWJsZUNoYW5nZWQoKSksIHZpZXdwb3J0LCBTTE9U
KF9xX29uVmlzaWJsZUNoYW5nZWQoKSkpOwpAQCAtMTUyLDYgKzE1MywyMSBAQCB2b2lkIFFRdWlj
a1dlYlZpZXdQcml2YXRlOjppbml0aWFsaXplVG91Y2goUVF1aWNrV2ViVmlldyogdmlld3BvcnQp
CiAgICAgdXBkYXRlVG91Y2hWaWV3cG9ydFNpemUoKTsKIH0KIAordm9pZCBRUXVpY2tXZWJWaWV3
UHJpdmF0ZTo6c2V0TmVlZHNEaXNwbGF5KCkKK3sKKyAgICBRX1EoUVF1aWNrV2ViVmlldyk7Cisg
ICAgaWYgKCFzaG91bGRSZW5kZXJUb09mZnNjcmVlbkJ1ZmZlcigpKSB7CisgICAgICAgIHEtPnBh
Z2UoKS0+dXBkYXRlKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBUT0RPOiB3
ZSBjYW4gbWFpbnRhaW4gYSByZWFsIHBpeG1hcCBoZXJlIGFuZCB1c2UgaXQgZm9yIHBpeGVsIHRl
c3RzLiBSaWdodCBub3cgdGhpcyBpcyB1c2VkIG9ubHkgZm9yIHJ1bm5pbmcgdGhlIHJlbmRlcmlu
ZyBjb2RlLXBhdGggd2hpbGUgcnVubmluZyB0ZXN0cy4KKyAgICBRUGl4bWFwIGR1bW15UGl4bWFw
KDEsIDEpOworICAgIFFQYWludGVyIHBhaW50ZXIoJmR1bW15UGl4bWFwKTsKKyAgICBxLT5wYWdl
KCktPmQtPnBhaW50KCZwYWludGVyKTsKK30KKworCiB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRl
Ojpsb2FkRGlkQ29tbWl0KCkKIHsKICAgICAvLyBEdWUgdG8gZW50ZXJpbmcgcHJvdmlzaW9uYWwg
bG9hZCBiZWZvcmUgY29tbWl0dGluZywgd2UKQEAgLTY0Niw2ICs2NjIsMTggQEAgdm9pZCBRUXVp
Y2tXZWJWaWV3RXhwZXJpbWVudGFsOjpzZXRVc2VUcmFkaXRpb25hbERlc2t0b3BCZWhhdmlvdXIo
Ym9vbCBlbmFibGUpCiAgICAgZC0+c2V0VXNlVHJhZGl0aW9uYWxEZXNrdG9wQmVoYXZpb3VyKGVu
YWJsZSk7CiB9CiAKK3ZvaWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0U2hvdWxkUmVu
ZGVyVG9PZmZzY3JlZW5CdWZmZXIoYm9vbCBlbmFibGUpCit7CisgICAgUV9EKFFRdWlja1dlYlZp
ZXcpOworICAgIGQtPnNldFNob3VsZFJlbmRlclRvT2Zmc2NyZWVuQnVmZmVyKGVuYWJsZSk7Cit9
CisKK2Jvb2wgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2hvdWxkUmVuZGVyVG9PZmZzY3Jl
ZW5CdWZmZXIoKSBjb25zdAoreworICAgIFFfRChjb25zdCBRUXVpY2tXZWJWaWV3KTsKKyAgICBy
ZXR1cm4gZC0+c2hvdWxkUmVuZGVyVG9PZmZzY3JlZW5CdWZmZXIoKTsKK30KKwogdm9pZCBRUXVp
Y2tXZWJWaWV3RXhwZXJpbWVudGFsOjpwb3N0TWVzc2FnZShjb25zdCBRU3RyaW5nJiBtZXNzYWdl
KQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCmluZGV4IDE1NWU5NjAuLjAzYjA0MjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19w
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3Au
aApAQCAtMjEyLDYgKzIxMiw3IEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFRdWlja1dlYlZpZXdF
eHBlcmltZW50YWwgOiBwdWJsaWMgUU9iamVjdCB7CiAgICAgUV9QUk9QRVJUWShRRGVjbGFyYXRp
dmVDb21wb25lbnQqIGl0ZW1TZWxlY3RvciBSRUFEIGl0ZW1TZWxlY3RvciBXUklURSBzZXRJdGVt
U2VsZWN0b3IgTk9USUZZIGl0ZW1TZWxlY3RvckNoYW5nZWQpCiAgICAgUV9QUk9QRVJUWShRV2Vi
UHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzIFJFQUQgcHJlZmVyZW5jZXMgQ09OU1RBTlQgRklOQUwp
CiAgICAgUV9QUk9QRVJUWShib29sIHVzZVRyYWRpdGlvbmFsRGVza3RvcEJlaGF2aW91ciBSRUFE
IHVzZVRyYWRpdGlvbmFsRGVza3RvcEJlaGF2aW91ciBXUklURSBzZXRVc2VUcmFkaXRpb25hbERl
c2t0b3BCZWhhdmlvdXIpCisgICAgUV9QUk9QRVJUWShib29sIHNob3VsZFJlbmRlclRvT2Zmc2Ny
ZWVuQnVmZmVyIFJFQUQgc2hvdWxkUmVuZGVyVG9PZmZzY3JlZW5CdWZmZXIgV1JJVEUgc2V0U2hv
dWxkUmVuZGVyVG9PZmZzY3JlZW5CdWZmZXIpCiAgICAgUV9QUk9QRVJUWShRV2ViVmlld3BvcnRJ
bmZvKiB2aWV3cG9ydEluZm8gUkVBRCB2aWV3cG9ydEluZm8gQ09OU1RBTlQgRklOQUwpCiAgICAg
UV9QUk9QRVJUWShRRGVjbGFyYXRpdmVMaXN0UHJvcGVydHk8UVF1aWNrVXJsU2NoZW1lRGVsZWdh
dGU+IHVybFNjaGVtZURlbGVnYXRlcyBSRUFEIHNjaGVtZURlbGVnYXRlcykKICAgICBRX0VOVU1T
KE5hdmlnYXRpb25SZXF1ZXN0QWN0aW9uKQpAQCAtMjM5LDYgKzI0MCw3IEBAIHB1YmxpYzoKIAog
ICAgIFFXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMoKSBjb25zdDsKICAgICBib29sIHVzZVRy
YWRpdGlvbmFsRGVza3RvcEJlaGF2aW91cigpIGNvbnN0OworICAgIGJvb2wgc2hvdWxkUmVuZGVy
VG9PZmZzY3JlZW5CdWZmZXIoKSBjb25zdDsKICAgICBRV2ViTmF2aWdhdGlvbkhpc3RvcnkqIG5h
dmlnYXRpb25IaXN0b3J5KCkgY29uc3Q7CiAgICAgUVF1aWNrV2ViUGFnZSogcGFnZSgpOwogCkBA
IC0yNTIsNiArMjU0LDcgQEAgcHVibGljOgogCiBwdWJsaWMgUV9TTE9UUzoKICAgICB2b2lkIHNl
dFVzZVRyYWRpdGlvbmFsRGVza3RvcEJlaGF2aW91cihib29sIGVuYWJsZSk7CisgICAgdm9pZCBz
ZXRTaG91bGRSZW5kZXJUb09mZnNjcmVlbkJ1ZmZlcihib29sIGVuYWJsZSk7CiAgICAgdm9pZCBn
b0JhY2tUbyhpbnQgaW5kZXgpOwogICAgIHZvaWQgZ29Gb3J3YXJkVG8oaW50IGluZGV4KTsKICAg
ICB2b2lkIHBvc3RNZXNzYWdlKGNvbnN0IFFTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAppbmRleCBiMTQwNjY5Li43
M2M4ZjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlj
a3dlYnZpZXdfcF9wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3X3BfcC5oCkBAIC03Nyw2ICs3Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZENo
YW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYg
YXJncyk7CiAgICAgdm9pZCBkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3QoKTsKIAorICAgIHZvaWQg
c2V0TmVlZHNEaXNwbGF5KCk7CisKICAgICB2b2lkIHVwZGF0ZURlc2t0b3BWaWV3cG9ydFNpemUo
KTsKICAgICB2b2lkIHVwZGF0ZVRvdWNoVmlld3BvcnRTaXplKCk7CiAgICAgUXRWaWV3cG9ydElu
dGVyYWN0aW9uRW5naW5lOjpDb25zdHJhaW50cyBjb21wdXRlVmlld3BvcnRDb25zdHJhaW50cygp
OwpAQCAtMTAwLDEwICsxMDIsMTIgQEAgcHVibGljOgogICAgIHZvaWQgaGFuZGxlQXV0aGVudGlj
YXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgUVN0cmluZyYgaG9zdG5hbWUsIGNvbnN0IFFTdHJp
bmcmIHJlYWxtLCBjb25zdCBRU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgUVN0cmluZyYgdXNl
cm5hbWUsIFFTdHJpbmcmIHBhc3N3b3JkKTsKIAogICAgIHZvaWQgc2V0VXNlVHJhZGl0aW9uYWxE
ZXNrdG9wQmVoYXZpb3VyKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIHNldFNob3VsZFJlbmRlclRv
T2Zmc2NyZWVuQnVmZmVyKGJvb2wgZW5hYmxlKSB7IG1fc2hvdWxkUmVuZGVyVG9PZmZzY3JlZW5C
dWZmZXIgPSBlbmFibGU7IH0KICAgICB2b2lkIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhR
T2JqZWN0Kik7CiAgICAgdm9pZCBzZXRJY29uKGNvbnN0IFFVcmwmKTsKIAogICAgIGJvb2wgbmF2
aWdhdG9yUXRPYmplY3RFbmFibGVkKCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRSZW5kZXJUb09m
ZnNjcmVlbkJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkUmVuZGVyVG9PZmZzY3JlZW5C
dWZmZXI7IH0KICAgICB2b2lkIHNldE5hdmlnYXRvclF0T2JqZWN0RW5hYmxlZChib29sKTsKIAog
ICAgIC8vIFBhZ2VDbGllbnQuCkBAIC0xNjQsNiArMTY4LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IGlzVHJhbnNpdGlvbmluZ1RvTmV3UGFnZTsKICAgICBib29sIHBhZ2VJc1N1c3BlbmRlZDsKICAg
ICBib29sIG1fbmF2aWdhdG9yUXRPYmplY3RFbmFibGVkOworICAgIGJvb2wgbV9zaG91bGRSZW5k
ZXJUb09mZnNjcmVlbkJ1ZmZlcjsKICAgICBRVXJsIG1faWNvblVSTDsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IDJmNTgzMjIuLmFjNzEx
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApAQCAt
MjcsNiArMjcsNyBAQAogI2lmbmRlZiBEcmF3aW5nQXJlYVByb3h5X2gKICNkZWZpbmUgRHJhd2lu
Z0FyZWFQcm94eV9oCiAKKyNpbmNsdWRlICJCYWNraW5nU3RvcmUuaCIKICNpbmNsdWRlICJEcmF3
aW5nQXJlYUluZm8uaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0ludFNpemUuaD4KQEAgLTg4LDYgKzg5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
V2ViQ29yZTo6SW50UmVjdCBjb250ZW50c1JlY3QoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
aXNCYWNraW5nU3RvcmVSZWFkeSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFs
IHZvaWQgcGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRp
b25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRMYXll
clRyZWUoQmFja2luZ1N0b3JlOjpQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCkgeyB9CiAgICAgTGF5
ZXJUcmVlSG9zdFByb3h5KiBsYXllclRyZWVIb3N0UHJveHkoKSBjb25zdCB7IHJldHVybiBtX2xh
eWVyVHJlZUhvc3RQcm94eS5nZXQoKTsgfQogCiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUlt
cGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNw
cAppbmRleCBlYWMzZjAwLi4wZTNiZGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAgLTM2MCw2ICszNjAsMTIgQEAgdm9pZCBE
cmF3aW5nQXJlYVByb3h5SW1wbDo6c2V0VmlzaWJsZUNvbnRlbnRSZWN0VHJhamVjdG9yeVZlY3Rv
cihjb25zdCBXZWJDb3JlOjoKICAgICAgICAgbV9sYXllclRyZWVIb3N0UHJveHktPnNldFZpc2li
bGVDb250ZW50UmVjdFRyYWplY3RvcnlWZWN0b3IodHJhamVjdG9yeVZlY3Rvcik7CiB9CiAKK3Zv
aWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OnBhaW50TGF5ZXJUcmVlKEJhY2tpbmdTdG9yZTo6UGxh
dGZvcm1HcmFwaGljc0NvbnRleHQgY29udGV4dCkKK3sKKyAgICBpZiAobV9sYXllclRyZWVIb3N0
UHJveHkpCisgICAgICAgIG1fbGF5ZXJUcmVlSG9zdFByb3h5LT5wYWludFRvR3JhcGhpY3NDb250
ZXh0KGNvbnRleHQpOworfQorCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpwYWludFRvQ3Vy
cmVudEdMQ29udGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4LCBmbG9hdCBv
cGFjaXR5KQogewogICAgIGlmIChtX2xheWVyVHJlZUhvc3RQcm94eSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggYzE2NTFmNC4uMjJm
OTdhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJ
bXBsLmgKQEAgLTgxLDYgKzgxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdEFuZFNjYWxlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZpc2libGVD
b250ZW50c1JlY3QsIGZsb2F0IHNjYWxlKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNv
bnRlbnRSZWN0VHJhamVjdG9yeVZlY3Rvcihjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CiAg
ICAgdmlydHVhbCB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFdlYkNvcmU6OlRy
YW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSk7CisgICAgdmlydHVhbCB2b2lkIHBh
aW50TGF5ZXJUcmVlKEJhY2tpbmdTdG9yZTo6UGxhdGZvcm1HcmFwaGljc0NvbnRleHQpOwogICAg
IHZvaWQgZGlkUmVjZWl2ZUxheWVyVHJlZUhvc3RQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVj
dGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAj
ZW5kaWYKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJU
cmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJUcmVlSG9zdFBy
b3h5LmgKaW5kZXggMDA0YzI4MC4uOTg4M2RlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9MYXllclRyZWVIb3N0UHJveHkuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRSb290Q29tcG9zaXRpbmdMYXllcihXZWJMYXllcklEKTsKICAgICB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENv
cmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwogICAgIHZvaWQgcGFpbnRUb0N1cnJlbnRHTENvbnRl
eHQoY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCk7CisgICAgdm9p
ZCBwYWludFRvR3JhcGhpY3NDb250ZXh0KEJhY2tpbmdTdG9yZTo6UGxhdGZvcm1HcmFwaGljc0Nv
bnRleHQpOwogICAgIHZvaWQgcHVyZ2VHTFJlc291cmNlcygpOwogICAgIHZvaWQgc2V0VmlzaWJs
ZUNvbnRlbnRzUmVjdEFuZFNjYWxlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBmbG9hdCk7CiAg
ICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudFJlY3RUcmFqZWN0b3J5VmVjdG9yKGNvbnN0IFdlYkNv
cmU6OkZsb2F0UG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9MYXllclRyZWVIb3N0UHJveHlRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
TGF5ZXJUcmVlSG9zdFByb3h5UXQuY3BwCmluZGV4IDQ1ZGM4Y2UuLjAzYWI4OTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXllclRyZWVIb3N0UHJveHlRdC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0xheWVyVHJlZUhvc3RQcm94eVF0LmNw
cApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgogI2luY2x1ZGUgIlNo
YXJlYWJsZUJpdG1hcC5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJHTC5oIgorI2luY2x1ZGUg
IlRleHR1cmVNYXBwZXJRdC5oIgogI2luY2x1ZGUgIlVwZGF0ZUluZm8uaCIKICNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJMYXllclRyZWVJbmZvLmgiCkBA
IC0yMDQsNiArMjA1LDI3IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdFByb3h5OjpwYWludFRvQ3VycmVu
dEdMQ29udGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0CiAgICAgfQogfQogCit2
b2lkIExheWVyVHJlZUhvc3RQcm94eTo6cGFpbnRUb0dyYXBoaWNzQ29udGV4dChRUGFpbnRlciog
cGFpbnRlcikKK3sKKyAgICBpZiAoIW1fdGV4dHVyZU1hcHBlcikKKyAgICAgICAgbV90ZXh0dXJl
TWFwcGVyID0gVGV4dHVyZU1hcHBlclF0OjpjcmVhdGUoKTsKKworICAgIFRleHR1cmVNYXBwZXJO
b2RlKiBub2RlID0gdG9UZXh0dXJlTWFwcGVyTm9kZShyb290TGF5ZXIoKSk7CisKKyAgICBpZiAo
IW5vZGUpCisgICAgICAgIHJldHVybjsKKworICAgIEdyYXBoaWNzQ29udGV4dCBncmFwaGljc0Nv
bnRleHQocGFpbnRlcik7CisgICAgbV90ZXh0dXJlTWFwcGVyLT5zZXRHcmFwaGljc0NvbnRleHQo
JmdyYXBoaWNzQ29udGV4dCk7CisgICAgc3luY1JlbW90ZUNvbnRlbnQoKTsKKyAgICBtX3RleHR1
cmVNYXBwZXItPmJlZ2luUGFpbnRpbmcoKTsKKyAgICBtX3RleHR1cmVNYXBwZXItPmJpbmRTdXJm
YWNlKDApOworICAgIG5vZGUtPnBhaW50KCk7CisgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRQYWlu
dGluZygpOworICAgIG1fdGV4dHVyZU1hcHBlci0+c2V0R3JhcGhpY3NDb250ZXh0KDApOworfQor
CisKIHZvaWQgTGF5ZXJUcmVlSG9zdFByb3h5OjpkaWRGaXJlVmlld3BvcnRVcGRhdGVUaW1lcihU
aW1lcjxMYXllclRyZWVIb3N0UHJveHk+KikKIHsKICAgICB1cGRhdGVWaWV3cG9ydCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcAppbmRleCAwYWQxNTJk
Li43NzJiNWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdl
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50
LmNwcApAQCAtNjIsNyArNjIsNyBAQCBQYXNzT3duUHRyPERyYXdpbmdBcmVhUHJveHk+IFF0UGFn
ZUNsaWVudDo6Y3JlYXRlRHJhd2luZ0FyZWFQcm94eSgpCiAKIHZvaWQgUXRQYWdlQ2xpZW50Ojpz
ZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpCiB7Ci0gICAg
bV93ZWJWaWV3LT5wYWdlKCktPnVwZGF0ZSgpOworICAgIFFRdWlja1dlYlZpZXdQcml2YXRlOjpn
ZXQobV93ZWJWaWV3KS0+c2V0TmVlZHNEaXNwbGF5KCk7CiB9CiAKIHZvaWQgUXRQYWdlQ2xpZW50
OjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQb2ludCYgcG9zKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcAppbmRleCAxM2EzM2Y4Li5k
NWNiMjhjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2Vi
Vmlld1F0LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmll
d1F0LmNwcApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgbV92aWV3KHZpZXcp
CiAgICAgewogICAgICAgICBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsKHZpZXcpLnNldFVzZVRy
YWRpdGlvbmFsRGVza3RvcEJlaGF2aW91cih0cnVlKTsKKyAgICAgICAgUVF1aWNrV2ViVmlld0V4
cGVyaW1lbnRhbCh2aWV3KS5zZXRSZW5kZXJUb09mZnNjcmVlbkJ1ZmZlcih0cnVlKTsKICAgICAg
ICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoc3RhdHVzQ2hhbmdlZChRUXVpY2tWaWV3OjpTdGF0dXMp
KSwgU0xPVChoYW5kbGVTdGF0dXNDaGFuZ2VkKFFRdWlja1ZpZXc6OlN0YXR1cykpKTsKICAgICB9
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124122</attachid>
            <date>2012-01-26 08:45:16 -0800</date>
            <delta_ts>2012-01-30 09:17:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76708-20120126174130.patch</filename>
            <type>text/plain</type>
            <size>21470</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M4OWZlODY1ZDYxNzhl
ZDg2MzFkOGE3Mzc4NDEwNmMyZTY1ZmRlOS4uODkyNjU0YjI0ODE4OWM2YjhkNjYzM2ZkNWFkMDdj
MTM2ZDM5MzIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAxLTI2ICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CisKKyAgICAgICAgW1F0
XSBXS1RSOiBVc2UgYSBzb2Z0d2FyZSByZW5kZXJpbmcgcGlwaWxpbmUgd2hlbiBydW5uaW5nIHRl
c3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3
MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3F0L1RleHR1cmVNYXBwZXJRdC5jcHA6IEFsbG93IHNldHRpbmcgdGhl
IGNvbnRleHQgdG8gbnVsbC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJRdDo6c2V0
R3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9UZXh0dXJl
TWFwcGVyUXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJRdDo6aW5pdGlhbGl6
ZSk6CisKIDIwMTItMDEtMjEgIERhdmlkIFJldmVtYW4gIDxyZXZlbWFuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbQ2hyb21pdW1dIEluY3JlbWVudGFsIHRleHR1cmUgdXBkYXRlcyBhcmUgbm90
IGF0b21pYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiMTFjZmZjZTI0MGE4NTRlM2Y1YTMwMzUyZTU0NWY2ZmRl
NGM4YTYzLi44ODY1OTM2MWE4ZWFhZTkzYTE0MmVlNjUyNDA3YTQzY2MzODgwNDFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTItMDEtMjYgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0u
cm9zZW50aGFsQG5va2lhLmNvbT4gYW5kIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNv
dHRlQG5va2lhLmNvbT4KKworICAgICAgICBbUXRdIFdLVFI6IFVzZSBhIHNvZnR3YXJlIHJlbmRl
cmluZyBwaXBpbGluZSB3aGVuIHJ1bm5pbmcgdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFuaW1hdGlvbiBsYXlvdXQgdGVzdHMgcmVxdWlyZSB0
aGUgZ3JhcGhpY3MgbGF5ZXJzIHRyZWUgdG8gYmUgdXBkYXRlZAorICAgICAgICB0byBwYXNzLiBX
ZWJraXRUZXN0UnVubmVyIGRvZXNuJ3Qgc2hvdyBpdCdzIHdyYXBwaW5nIFFRdWlja1ZpZXcsIHdo
aWNoCisgICAgICAgIHByZXZlbnRzIHRoZSByZW5kZXJpbmcgcGlwZWxpbmUgdG8gcnVuIGFuZCB0
aGVuIGluIHR1cm4gYmxvY2tzIHRoZSB3ZWIKKyAgICAgICAgcHJvY2VzcyBmcm9tIHByb2Nlc3Np
bmcgZnVydGhlciBncmFwaGljcyBsYXllciB1cGRhdGVzLgorCisgICAgICAgIFRoaXMgYWxsb3dz
IHRoZSB0ZXN0cyB0byB1c2UgYSBUZXh0dXJlTWFwcGVyUXQgdG8gZW1wdHkgdGhlIExheWVyVHJl
ZUhvc3QncworICAgICAgICBtZXNzYWdlIHF1ZXVlIGFuZCByZW5kZXIgdGhlIGxheWVycyBpbiBz
b2Z0d2FyZSBvbiBhbiBvZmZzY3JlZW4gYnVmZmVyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFRdWlja1dlYlBhZ2VQcml2YXRlOjpw
YWludCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcDoKKyAg
ICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisgICAg
ICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6c2V0TmVlZHNEaXNwbGF5KToKKyAgICAgICAgKFFR
dWlja1dlYlZpZXdFeHBlcmltZW50YWw6OnNldFJlbmRlclRvT2Zmc2NyZWVuQnVmZmVyKToKKyAg
ICAgICAgKFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6OnJlbmRlclRvT2Zmc2NyZWVuQnVmZmVy
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaDoKKyAgICAgICAgKFFRdWlj
a1dlYlZpZXdQcml2YXRlOjpzZXRSZW5kZXJUb09mZnNjcmVlbkJ1ZmZlcik6CisgICAgICAgIChR
UXVpY2tXZWJWaWV3UHJpdmF0ZTo6cmVuZGVyVG9PZmZzY3JlZW5CdWZmZXIpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9xdC9MYXllclRyZWVIb3N0UHJveHlRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZUhvc3RQcm94eTo6cGFpbnRUb0dyYXBoaWNzQ29udGV4dCk6CisKIDIwMTItMDEt
MjEgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ug
V2ViS2l0MiByZW1lbWJlciB0aGUgaGVpZ2h0IG9mIHRoZSBXZWIgSW5zcGVjdG9yIHdoZW4gaXQg
aXMgZG9ja2VkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvVGV4dHVyZU1hcHBlclF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L1RleHR1cmVNYXBwZXJRdC5jcHAKaW5kZXggZjQxYTQyMTJkNTQxNTRlMjhhNzY2ZDMxZDU2
ZDBjZjRiZjc5ZDkzMC4uNmEwYWU3MGRjNmVlMTBhMjc2NTUxNmI3ZDIxZGNkZjhjNDZiZWY4MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVGV4dHVyZU1h
cHBlclF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UZXh0
dXJlTWFwcGVyUXQuY3BwCkBAIC0xNDIsNyArMTQyLDcgQEAgVGV4dHVyZU1hcHBlclF0OjpUZXh0
dXJlTWFwcGVyUXQoKQogdm9pZCBUZXh0dXJlTWFwcGVyUXQ6OnNldEdyYXBoaWNzQ29udGV4dChH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgbV9jb250ZXh0ID0gY29udGV4dDsKLSAg
ICBtX3BhaW50ZXIgPSBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKTsKKyAgICBtX3BhaW50ZXIg
PSBjb250ZXh0ID8gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCkgOiAwOwogICAgIGluaXRpYWxp
emUobV9wYWludGVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvVGV4dHVyZU1hcHBlclF0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9UZXh0dXJlTWFwcGVyUXQuaAppbmRleCBkZTU3MTk3NGY5ODgyMTExMWM4NTU4
MmYwYTM2ZWRlY2NmOTkzMWUzLi4wOGZlZTAzZjFkMTRlNjgxN2VjNWMxOTc5Y2M5OGE0YjBiZTA2
YWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UZXh0
dXJlTWFwcGVyUXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9U
ZXh0dXJlTWFwcGVyUXQuaApAQCAtNzAsNyArNzAsOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
dm9pZCBpbml0aWFsaXplKFFQYWludGVyKiBwYWludGVyKQogICAgIHsKLSAgICAgICAgcGFpbnRl
ci0+c2V0UmVuZGVySGludHMoUVBhaW50ZXI6OkFudGlhbGlhc2luZyB8IFFQYWludGVyOjpTbW9v
dGhQaXhtYXBUcmFuc2Zvcm0sIGZhbHNlKTsKKyAgICAgICAgaWYgKHBhaW50ZXIpCisgICAgICAg
ICAgICBwYWludGVyLT5zZXRSZW5kZXJIaW50cyhRUGFpbnRlcjo6QW50aWFsaWFzaW5nIHwgUVBh
aW50ZXI6OlNtb290aFBpeG1hcFRyYW5zZm9ybSwgZmFsc2UpOwogICAgIH0KIAogICAgIHN0YXRp
YyBQYXNzT3duUHRyPFRleHR1cmVNYXBwZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRyKG5l
dyBUZXh0dXJlTWFwcGVyUXQpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJwYWdlLmNwcAppbmRleCBhOGMxNzE4ODBiOTU4ZTBiOGIyN2U5YjA0ZWEw
ZmVjNzI3ODA2OTFlLi42OTc2Zjg3OGM2MDY5NjYxMjdiZWQ5ODMxNmRlODEzZGRlYTlkZDM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5j
cHAKQEAgLTEwMCw2ICsxMDAsMTIgQEAgdm9pZCBRUXVpY2tXZWJQYWdlUHJpdmF0ZTo6c2V0RHJh
d2luZ0FyZWFTaXplKGNvbnN0IFFTaXplJiBzaXplKQogICAgIGRyYXdpbmdBcmVhLT5zZXRTaXpl
KFdlYkNvcmU6OkludFNpemUoc2l6ZSksIFdlYkNvcmU6OkludFNpemUoKSk7CiB9CiAKK3ZvaWQg
UVF1aWNrV2ViUGFnZVByaXZhdGU6OnBhaW50KFFQYWludGVyKiBwYWludGVyKQoreworICAgIGlm
ICh3ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpCisgICAgICAgIHdlYlBhZ2VQcm94eS0+ZHJh
d2luZ0FyZWEoKS0+cGFpbnRMYXllclRyZWUocGFpbnRlcik7Cit9CisKIHZvaWQgUVF1aWNrV2Vi
UGFnZVByaXZhdGU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KCkKIHsKICAgICBpZiAoIXEtPmlz
VmlzaWJsZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJwYWdlX3BfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJwYWdlX3BfcC5oCmluZGV4IDk5Y2IyYzJhNGY2M2NiZDNlMDY3ODA4N2EzMDllODhkNGFm
Y2UyYmIuLjBjMTdhYTViNWEzYWNmMWZhODY5OGQ4Y2M2MzRhYTg5YjQ3OGE3OTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZV9wX3AuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2VfcF9wLmgK
QEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlU2l6ZSgpOwogCiAgICAg
dm9pZCBwYWludFRvQ3VycmVudEdMQ29udGV4dCgpOworICAgIHZvaWQgcGFpbnQoUVBhaW50ZXIq
KTsKICAgICB2b2lkIHJlc2V0UGFpbnROb2RlKCk7CiAKICAgICBRU2NvcGVkUG9pbnRlcjxRdFdl
YlBhZ2VFdmVudEhhbmRsZXI+IGV2ZW50SGFuZGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDk0YjUyNTU0NTU2YThjYzcx
N2RkNzg1ZThiYzI4MDdiNWFmOWE3N2EuLjkxMzAwNjBkZWE3ZGI0ZmZkNGQ2NTJmNDY3MzM3ODQ2
Y2ZjYTcyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3LmNwcApAQCAtNjUsNiArNjUsNyBAQCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6UVF1
aWNrV2ViVmlld1ByaXZhdGUoUVF1aWNrV2ViVmlldyogdmlld3BvcnQpCiAgICAgLCBpc1RyYW5z
aXRpb25pbmdUb05ld1BhZ2UoZmFsc2UpCiAgICAgLCBwYWdlSXNTdXNwZW5kZWQoZmFsc2UpCiAg
ICAgLCBtX25hdmlnYXRvclF0T2JqZWN0RW5hYmxlZChmYWxzZSkKKyAgICAsIG1fcmVuZGVyVG9P
ZmZzY3JlZW5CdWZmZXIoZmFsc2UpCiB7CiAgICAgdmlld3BvcnQtPnNldEZsYWdzKFFRdWlja0l0
ZW06Okl0ZW1DbGlwc0NoaWxkcmVuVG9TaGFwZSk7CiAgICAgUU9iamVjdDo6Y29ubmVjdCh2aWV3
cG9ydCwgU0lHTkFMKHZpc2libGVDaGFuZ2VkKCkpLCB2aWV3cG9ydCwgU0xPVChfcV9vblZpc2li
bGVDaGFuZ2VkKCkpKTsKQEAgLTE1Miw2ICsxNTMsMjAgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJp
dmF0ZTo6aW5pdGlhbGl6ZVRvdWNoKFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0KQogICAgIHVwZGF0
ZVRvdWNoVmlld3BvcnRTaXplKCk7CiB9CiAKK3ZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnNl
dE5lZWRzRGlzcGxheSgpCit7CisgICAgUV9RKFFRdWlja1dlYlZpZXcpOworICAgIGlmIChyZW5k
ZXJUb09mZnNjcmVlbkJ1ZmZlcigpKSB7CisgICAgICAgIC8vIFRPRE86IHdlIGNhbiBtYWludGFp
biBhIHJlYWwgaW1hZ2UgaGVyZSBhbmQgdXNlIGl0IGZvciBwaXhlbCB0ZXN0cy4gUmlnaHQgbm93
IHRoaXMgaXMgdXNlZCBvbmx5IGZvciBydW5uaW5nIHRoZSByZW5kZXJpbmcgY29kZS1wYXRoIHdo
aWxlIHJ1bm5pbmcgdGVzdHMuCisgICAgICAgIFFJbWFnZSBkdW1teUltYWdlKDEsIDEsIFFJbWFn
ZTo6Rm9ybWF0X0FSR0IzMik7CisgICAgICAgIFFQYWludGVyIHBhaW50ZXIoJmR1bW15SW1hZ2Up
OworICAgICAgICBxLT5wYWdlKCktPmQtPnBhaW50KCZwYWludGVyKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIHEtPnBhZ2UoKS0+dXBkYXRlKCk7Cit9CisKIHZvaWQgUVF1aWNrV2Vi
Vmlld1ByaXZhdGU6OmxvYWREaWRDb21taXQoKQogewogICAgIC8vIER1ZSB0byBlbnRlcmluZyBw
cm92aXNpb25hbCBsb2FkIGJlZm9yZSBjb21taXR0aW5nLCB3ZQpAQCAtNjQ2LDYgKzY2MSwxOCBA
QCB2b2lkIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6OnNldFVzZVRyYWRpdGlvbmFsRGVza3Rv
cEJlaGF2aW91cihib29sIGVuYWJsZSkKICAgICBkLT5zZXRVc2VUcmFkaXRpb25hbERlc2t0b3BC
ZWhhdmlvdXIoZW5hYmxlKTsKIH0KIAordm9pZCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpz
ZXRSZW5kZXJUb09mZnNjcmVlbkJ1ZmZlcihib29sIGVuYWJsZSkKK3sKKyAgICBRX0QoUVF1aWNr
V2ViVmlldyk7CisgICAgZC0+c2V0UmVuZGVyVG9PZmZzY3JlZW5CdWZmZXIoZW5hYmxlKTsKK30K
KworYm9vbCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpyZW5kZXJUb09mZnNjcmVlbkJ1ZmZl
cigpIGNvbnN0Cit7CisgICAgUV9EKGNvbnN0IFFRdWlja1dlYlZpZXcpOworICAgIHJldHVybiBk
LT5yZW5kZXJUb09mZnNjcmVlbkJ1ZmZlcigpOworfQorCiB2b2lkIFFRdWlja1dlYlZpZXdFeHBl
cmltZW50YWw6OnBvc3RNZXNzYWdlKGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgUV9E
KFFRdWlja1dlYlZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wLmgKaW5kZXggMTU1ZTk2MDk3OWUzM2Y5ZjIxODI5NTllZDY1YmI1MmQz
MjZiMzQ3MC4uMTA5M2EyYmRjZWNjMjY1NTViODAwNTY1NWFjZWU4ZGJiZTQzMjNlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBA
IC0yMzQsMTEgKzIzNCwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdXRoZW50aWNhdGlvbkRp
YWxvZyhRRGVjbGFyYXRpdmVDb21wb25lbnQqKTsKICAgICBRRGVjbGFyYXRpdmVDb21wb25lbnQq
IGl0ZW1TZWxlY3RvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0SXRlbVNlbGVjdG9yKFFEZWNsYXJh
dGl2ZUNvbXBvbmVudCopOwotICAgIAorICAgIGJvb2wgdXNlVHJhZGl0aW9uYWxEZXNrdG9wQmVo
YXZpb3VyKCkgY29uc3Q7CisgICAgdm9pZCBzZXRVc2VUcmFkaXRpb25hbERlc2t0b3BCZWhhdmlv
dXIoYm9vbCBlbmFibGUpOworCiAgICAgUVdlYlZpZXdwb3J0SW5mbyogdmlld3BvcnRJbmZvKCk7
CiAKICAgICBRV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKCkgY29uc3Q7Ci0gICAgYm9vbCB1
c2VUcmFkaXRpb25hbERlc2t0b3BCZWhhdmlvdXIoKSBjb25zdDsKICAgICBRV2ViTmF2aWdhdGlv
bkhpc3RvcnkqIG5hdmlnYXRpb25IaXN0b3J5KCkgY29uc3Q7CiAgICAgUVF1aWNrV2ViUGFnZSog
cGFnZSgpOwogCkBAIC0yNTAsOCArMjUxLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGludm9rZUFw
cGxpY2F0aW9uU2NoZW1lSGFuZGxlcihXVEY6OlBhc3NSZWZQdHI8V2ViS2l0OjpRdE5ldHdvcmtS
ZXF1ZXN0RGF0YT4pOwogICAgIHZvaWQgc2VuZEFwcGxpY2F0aW9uU2NoZW1lUmVwbHkoUVF1aWNr
TmV0d29ya1JlcGx5Kik7CiAKKyAgICAvLyBDKysgb25seQorICAgIGJvb2wgcmVuZGVyVG9PZmZz
Y3JlZW5CdWZmZXIoKSBjb25zdDsKKyAgICB2b2lkIHNldFJlbmRlclRvT2Zmc2NyZWVuQnVmZmVy
KGJvb2wgZW5hYmxlKTsKKwogcHVibGljIFFfU0xPVFM6Ci0gICAgdm9pZCBzZXRVc2VUcmFkaXRp
b25hbERlc2t0b3BCZWhhdmlvdXIoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgZ29CYWNrVG8oaW50
IGluZGV4KTsKICAgICB2b2lkIGdvRm9yd2FyZFRvKGludCBpbmRleCk7CiAgICAgdm9pZCBwb3N0
TWVzc2FnZShjb25zdCBRU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggYjE0MDY2OWI4ZTE3NjlhYzJiZTYx
YTFlNjkwOWE3ZGU1NjE0NmM4Ni4uNzUxODFiNzlhYWVmNzk5OGE3NWFlMzQ2NmEwMTFkYTljOTUx
ZWNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNr
d2Vidmlld19wX3AuaApAQCAtNzcsNiArNzcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRDaGFu
Z2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmIGFy
Z3MpOwogICAgIHZvaWQgZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0KCk7CiAKKyAgICB2b2lkIHNl
dE5lZWRzRGlzcGxheSgpOworCiAgICAgdm9pZCB1cGRhdGVEZXNrdG9wVmlld3BvcnRTaXplKCk7
CiAgICAgdm9pZCB1cGRhdGVUb3VjaFZpZXdwb3J0U2l6ZSgpOwogICAgIFF0Vmlld3BvcnRJbnRl
cmFjdGlvbkVuZ2luZTo6Q29uc3RyYWludHMgY29tcHV0ZVZpZXdwb3J0Q29uc3RyYWludHMoKTsK
QEAgLTEwMCwxMCArMTAyLDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIGhhbmRsZUF1dGhlbnRpY2F0
aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lLCBjb25zdCBRU3RyaW5n
JiByZWFsbSwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFFTdHJpbmcmIHVzZXJu
YW1lLCBRU3RyaW5nJiBwYXNzd29yZCk7CiAKICAgICB2b2lkIHNldFVzZVRyYWRpdGlvbmFsRGVz
a3RvcEJlaGF2aW91cihib29sIGVuYWJsZSk7CisgICAgdm9pZCBzZXRSZW5kZXJUb09mZnNjcmVl
bkJ1ZmZlcihib29sIGVuYWJsZSkgeyBtX3JlbmRlclRvT2Zmc2NyZWVuQnVmZmVyID0gZW5hYmxl
OyB9CiAgICAgdm9pZCBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoUU9iamVjdCopOwogICAg
IHZvaWQgc2V0SWNvbihjb25zdCBRVXJsJik7CiAKICAgICBib29sIG5hdmlnYXRvclF0T2JqZWN0
RW5hYmxlZCgpIGNvbnN0OworICAgIGJvb2wgcmVuZGVyVG9PZmZzY3JlZW5CdWZmZXIoKSBjb25z
dCB7IHJldHVybiBtX3JlbmRlclRvT2Zmc2NyZWVuQnVmZmVyOyB9CiAgICAgdm9pZCBzZXROYXZp
Z2F0b3JRdE9iamVjdEVuYWJsZWQoYm9vbCk7CiAKICAgICAvLyBQYWdlQ2xpZW50LgpAQCAtMTY0
LDYgKzE2OCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1RyYW5zaXRpb25pbmdUb05ld1BhZ2U7
CiAgICAgYm9vbCBwYWdlSXNTdXNwZW5kZWQ7CiAgICAgYm9vbCBtX25hdmlnYXRvclF0T2JqZWN0
RW5hYmxlZDsKKyAgICBib29sIG1fcmVuZGVyVG9PZmZzY3JlZW5CdWZmZXI7CiAgICAgUVVybCBt
X2ljb25VUkw7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaAppbmRleCAyZjU4MzIyODcwMjZjYWJmZDA5OWVmOTRlMjAwYTkwZjIzY2EyOTI2Li5hYzcx
MWY2Nzc1MzJkOTZkYTJkZjE1NDQ0ZTE3ZWM5ZTFjNTYwMjllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYg
RHJhd2luZ0FyZWFQcm94eV9oCiAjZGVmaW5lIERyYXdpbmdBcmVhUHJveHlfaAogCisjaW5jbHVk
ZSAiQmFja2luZ1N0b3JlLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFJbmZvLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CkBAIC04
OCw2ICs4OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3QgY29udGVu
dHNSZWN0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzQmFja2luZ1N0b3JlUmVhZHkoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHBhaW50VG9DdXJyZW50R0xD
b250ZXh0KGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0
eSkgeyB9CisgICAgdmlydHVhbCB2b2lkIHBhaW50TGF5ZXJUcmVlKEJhY2tpbmdTdG9yZTo6UGxh
dGZvcm1HcmFwaGljc0NvbnRleHQpIHsgfQogICAgIExheWVyVHJlZUhvc3RQcm94eSogbGF5ZXJU
cmVlSG9zdFByb3h5KCkgY29uc3QgeyByZXR1cm4gbV9sYXllclRyZWVIb3N0UHJveHkuZ2V0KCk7
IH0KIAogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKaW5kZXggZWFjM2YwMDE3YjIyMzUy
NGY0ZjdjNDU3ZjBjZmJkNGQyMzRjYTk2Mi4uMGUzYmRiNjFjMWYxNzQyYTdjOWM2ODAwNjdmODMz
ODRlNzI5MDA5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuY3BwCkBAIC0zNjAsNiArMzYwLDEyIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94
eUltcGw6OnNldFZpc2libGVDb250ZW50UmVjdFRyYWplY3RvcnlWZWN0b3IoY29uc3QgV2ViQ29y
ZTo6CiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdFByb3h5LT5zZXRWaXNpYmxlQ29udGVudFJlY3RU
cmFqZWN0b3J5VmVjdG9yKHRyYWplY3RvcnlWZWN0b3IpOwogfQogCit2b2lkIERyYXdpbmdBcmVh
UHJveHlJbXBsOjpwYWludExheWVyVHJlZShCYWNraW5nU3RvcmU6OlBsYXRmb3JtR3JhcGhpY3ND
b250ZXh0IGNvbnRleHQpCit7CisgICAgaWYgKG1fbGF5ZXJUcmVlSG9zdFByb3h5KQorICAgICAg
ICBtX2xheWVyVHJlZUhvc3RQcm94eS0+cGFpbnRUb0dyYXBoaWNzQ29udGV4dChjb250ZXh0KTsK
K30KKwogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQo
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSkKIHsKICAg
ICBpZiAobV9sYXllclRyZWVIb3N0UHJveHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCmluZGV4IGMxNjUxZjQxZmE5MzVkMWY0ODA4NDEzMTZi
NmEyMThhZWUyYmU4YTUuLjIyZjk3YTViNWU2N2Y0OGQxZTIwZWQwYmZkODFlZTc1OGQzZWM1ZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5o
CkBAIC04MSw2ICs4MSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVD
b250ZW50c1JlY3RBbmRTY2FsZShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiB2aXNpYmxlQ29udGVu
dHNSZWN0LCBmbG9hdCBzY2FsZSk7CiAgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50
UmVjdFRyYWplY3RvcnlWZWN0b3IoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwogICAgIHZp
cnR1YWwgdm9pZCBwYWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBXZWJDb3JlOjpUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHkpOworICAgIHZpcnR1YWwgdm9pZCBwYWludExh
eWVyVHJlZShCYWNraW5nU3RvcmU6OlBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KTsKICAgICB2b2lk
IGRpZFJlY2VpdmVMYXllclRyZWVIb3N0UHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24q
LCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwogI2VuZGlm
CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xheWVyVHJlZUhv
c3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5o
CmluZGV4IDQ2YzRkMTRlNDE1OTAxMDJlNjI2YTkzMTU3OTM5OTc5YzAzMTA0NjUuLjczMWFkODhj
MGJlNjAwNTJhMGYyYTk3NWE5MDA5YmNmZjMwNGQ5ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9MYXllclRyZWVIb3N0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViTGF5ZXJJRCk7CiAgICAgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlE
LCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKICAgICB2b2lkIHBhaW50VG9DdXJyZW50R0xD
b250ZXh0KGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQpOworICAg
IHZvaWQgcGFpbnRUb0dyYXBoaWNzQ29udGV4dChCYWNraW5nU3RvcmU6OlBsYXRmb3JtR3JhcGhp
Y3NDb250ZXh0KTsKICAgICB2b2lkIHB1cmdlR0xSZXNvdXJjZXMoKTsKICAgICB2b2lkIHNldFZp
c2libGVDb250ZW50c1JlY3RBbmRTY2FsZShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgZmxvYXQp
OwogICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRSZWN0VHJhamVjdG9yeVZlY3Rvcihjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvTGF5ZXJUcmVlSG9zdFByb3h5UXQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L0xheWVyVHJlZUhvc3RQcm94eVF0LmNwcAppbmRleCA4YzQyOGQ3OTljNmI4MjA1Nzk2YTVl
NmMyNjk3YmQyY2FlMTdiOWE3Li5jOWNjOTMxNWE3OTE0MGZkNmZlMTIyY2Q3MDJkN2Q3MjI1OWVi
Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJUcmVlSG9z
dFByb3h5UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXllclRyZWVI
b3N0UHJveHlRdC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJNZXNzYWdlSUQuaCIK
ICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyR0wu
aCIKKyNpbmNsdWRlICJUZXh0dXJlTWFwcGVyUXQuaCIKICNpbmNsdWRlICJVcGRhdGVJbmZvLmgi
CiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViTGF5ZXJU
cmVlSW5mby5oIgpAQCAtMTcxLDYgKzE3Miw3IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdFByb3h5Ojpw
YWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0CiB7
CiAgICAgaWYgKCFtX3RleHR1cmVNYXBwZXIpCiAgICAgICAgIG1fdGV4dHVyZU1hcHBlciA9IFRl
eHR1cmVNYXBwZXJHTDo6Y3JlYXRlKCk7CisgICAgQVNTRVJUKGR5bmFtaWNfY2FzdDxUZXh0dXJl
TWFwcGVyR0wqPihtX3RleHR1cmVNYXBwZXIuZ2V0KCkpKTsKIAogICAgIHN5bmNSZW1vdGVDb250
ZW50KCk7CiAgICAgR3JhcGhpY3NMYXllciogY3VycmVudFJvb3RMYXllciA9IHJvb3RMYXllcigp
OwpAQCAtMjA0LDYgKzIwNiwyOCBAQCB2b2lkIExheWVyVHJlZUhvc3RQcm94eTo6cGFpbnRUb0N1
cnJlbnRHTENvbnRleHQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdAogICAgIH0KIH0K
IAordm9pZCBMYXllclRyZWVIb3N0UHJveHk6OnBhaW50VG9HcmFwaGljc0NvbnRleHQoUVBhaW50
ZXIqIHBhaW50ZXIpCit7CisgICAgaWYgKCFtX3RleHR1cmVNYXBwZXIpCisgICAgICAgIG1fdGV4
dHVyZU1hcHBlciA9IFRleHR1cmVNYXBwZXJRdDo6Y3JlYXRlKCk7CisgICAgQVNTRVJUKGR5bmFt
aWNfY2FzdDxUZXh0dXJlTWFwcGVyUXQqPihtX3RleHR1cmVNYXBwZXIuZ2V0KCkpKTsKKworICAg
IHN5bmNSZW1vdGVDb250ZW50KCk7CisgICAgVGV4dHVyZU1hcHBlck5vZGUqIG5vZGUgPSB0b1Rl
eHR1cmVNYXBwZXJOb2RlKHJvb3RMYXllcigpKTsKKworICAgIGlmICghbm9kZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgR3JhcGhpY3NDb250ZXh0IGdyYXBoaWNzQ29udGV4dChwYWludGVyKTsK
KyAgICBtX3RleHR1cmVNYXBwZXItPnNldEdyYXBoaWNzQ29udGV4dCgmZ3JhcGhpY3NDb250ZXh0
KTsKKyAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luUGFpbnRpbmcoKTsKKyAgICBtX3RleHR1cmVN
YXBwZXItPmJpbmRTdXJmYWNlKDApOworICAgIG5vZGUtPnBhaW50KCk7CisgICAgbV90ZXh0dXJl
TWFwcGVyLT5lbmRQYWludGluZygpOworICAgIG1fdGV4dHVyZU1hcHBlci0+c2V0R3JhcGhpY3ND
b250ZXh0KDApOworfQorCisKIHZvaWQgTGF5ZXJUcmVlSG9zdFByb3h5OjpkaWRGaXJlVmlld3Bv
cnRVcGRhdGVUaW1lcihUaW1lcjxMYXllclRyZWVIb3N0UHJveHk+KikKIHsKICAgICB1cGRhdGVW
aWV3cG9ydCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFn
ZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNw
cAppbmRleCAwYWQxNTJkZmQ1ODM5Zjg1ZDRjMTc3ZjU0MGNjOGIxNWNjNGUyM2QwLi43NzJiNWRh
OTA0YTFjODkwODIxOGYxNGYyZWEwNTY4NzhkMTdhNTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcApAQCAtNjIsNyArNjIsNyBAQCBQYXNzT3duUHRy
PERyYXdpbmdBcmVhUHJveHk+IFF0UGFnZUNsaWVudDo6Y3JlYXRlRHJhd2luZ0FyZWFQcm94eSgp
CiAKIHZvaWQgUXRQYWdlQ2xpZW50OjpzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIHJlY3QpCiB7Ci0gICAgbV93ZWJWaWV3LT5wYWdlKCktPnVwZGF0ZSgpOworICAg
IFFRdWlja1dlYlZpZXdQcml2YXRlOjpnZXQobV93ZWJWaWV3KS0+c2V0TmVlZHNEaXNwbGF5KCk7
CiB9CiAKIHZvaWQgUXRQYWdlQ2xpZW50OjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQ
b2ludCYgcG9zKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDdmZWM5ZWIxZDIzOWZkYWU4ZGJkMjYwMDc1M2ZjNDZiN2YwZDY4MWIuLjk1Mzk4ZTQ5
YjMyM2U3YWViZjljMjFjMmY0N2ZhZTE0YjA4YWU5YzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wMS0yNiAg
Tm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPiBhbmQgSm9jZWx5biBU
dXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgorCisgICAgICAgIFtRdF0gV0tU
UjogVXNlIGEgc29mdHdhcmUgcmVuZGVyaW5nIHBpcGlsaW5lIHdoZW4gcnVubmluZyB0ZXN0cy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcDoKKyAgICAgICAgKFdUUjo6V3JhcHBl
cldpbmRvdzo6V3JhcHBlcldpbmRvdyk6CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6
UGxhdGZvcm1XZWJWaWV3KTogVXNlIHNvZnR3YXJlIHJlbmRlcmluZyBvZiBsYXllcnMgc2luY2Ug
dGhlIHdyYXBwaW5nIFFRdWlja1ZpZXcgaXNuJ3Qgc2hvd24uCisKIDIwMTItMDEtMjIgIFNlcmdp
byBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gRHVt
cFJlbmRlclRyZWUgY29udmVydHMgImZpbGU6Ly8vIiB0byBhIHBhdGggZGlmZmVyZW50bHkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3UXQuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKaW5kZXgg
MTNhMzNmOGJjMDJhODZlNjcwMzhlOWI4ZTc3ZGY1MWZlYTVjZjg1OS4uNDI1OTkxMzI0ZjkwNzJk
ZmMxZjgzZTJmZDRhMDQxYTNhOWZlY2RmMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKQEAgLTQ1LDcgKzQ1LDYgQEAgcHVibGljOgogICAg
ICAgICA6IFFRdWlja1ZpZXcoUVVybCgiZGF0YTp0ZXh0L3BsYWluLGltcG9ydCBRdFF1aWNrIDIu
MFxuSXRlbSB7IG9iamVjdE5hbWU6ICdyb290JyB9IikpCiAgICAgICAgICwgbV92aWV3KHZpZXcp
CiAgICAgewotICAgICAgICBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsKHZpZXcpLnNldFVzZVRy
YWRpdGlvbmFsRGVza3RvcEJlaGF2aW91cih0cnVlKTsKICAgICAgICAgY29ubmVjdCh0aGlzLCBT
SUdOQUwoc3RhdHVzQ2hhbmdlZChRUXVpY2tWaWV3OjpTdGF0dXMpKSwgU0xPVChoYW5kbGVTdGF0
dXNDaGFuZ2VkKFFRdWlja1ZpZXc6OlN0YXR1cykpKTsKICAgICB9CiAKQEAgLTc1LDYgKzc0LDkg
QEAgUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcoV0tDb250ZXh0UmVmIGNvbnRleHRS
ZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm8KICAgICAsIG1fd2luZG93SXNLZXkodHJ1ZSkKICAg
ICAsIG1fbW9kYWxFdmVudExvb3AoMCkKIHsKKyAgICBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFs
IGV4cGVyaW1lbnRhbChtX3ZpZXcpOworICAgIGV4cGVyaW1lbnRhbC5zZXRVc2VUcmFkaXRpb25h
bERlc2t0b3BCZWhhdmlvdXIodHJ1ZSk7CisgICAgZXhwZXJpbWVudGFsLnNldFJlbmRlclRvT2Zm
c2NyZWVuQnVmZmVyKHRydWUpOwogfQogCiBQbGF0Zm9ybVdlYlZpZXc6On5QbGF0Zm9ybVdlYlZp
ZXcoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGJjOWRhMTZlNjYxMTE2NTlkZWM5ZjIyODU3MDMxY2JmZTQ4NGQxMTkuLjcz
MzZiZThiMDlkZDFlOTYxZGVlOTE5ODUzZDUyYjUzMDI4OWY0NDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAxMi0wMS0yNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9r
aWEuY29tPgorCisgICAgICAgIFtRdF0gV0tUUjogVXNlIGEgc29mdHdhcmUgcmVuZGVyaW5nIHBp
cGlsaW5lIHdoZW4gcnVubmluZyB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc2NzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC13azIvU2tpcHBlZDoKKwogMjAxMi0wMS0y
MiAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXSBVbnJldmlld2VkLCB1bnNraXBwaW5nIHRlc3QgcGFzc2luZyBhZnRlciByNzk2NTUuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0LXdrMi9Ta2lwcGVkCmluZGV4IDA1OThhMjVmMjVjMWJjZWQ2OWJjOGEw
ZTlmOWYyM2UzOWI2NWFiMjUuLjdjMjU3NTIxNTAyYjk4OWQwM2YzMGUyNmE5NDA4NmVjZGY3ZGVj
OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdrMi9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdrMi9Ta2lwcGVkCkBAIC00NjAsNTggKzQ2MCw2IEBA
IHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi9iYWNrZ3JfYm9yZGVyLXRh
YmxlLXJvdy1ncm91cC5odG1sCiB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2
aW4vYmFja2dyX2xheWVycy1zaG93Lmh0bWwKIHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1
cmVzL21hcnZpbi9iYWNrZ3JfcG9zaXRpb24tdGFibGUtY29sdW1uLmh0bWwKIAotIyBbUXRdW1dL
Ml0gUkVHUkVTU0lPTihyMTA1NTE3KTogSXQgbWFkZSA0OSB0ZXN0cyB0aW1lb3V0Ci0jIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwOAotYW5pbWF0aW9ucy8zZC9j
aGFuZ2UtdHJhbnNmb3JtLWluLWVuZC1ldmVudC5odG1sCi1hbmltYXRpb25zLzNkL3JlcGxhY2Ut
ZmlsbGluZy10cmFuc2Zvcm0uaHRtbAotYW5pbWF0aW9ucy8zZC9zdGF0ZS1hdC1lbmQtZXZlbnQt
dHJhbnNmb3JtLmh0bWwKLWFuaW1hdGlvbnMvM2QvdHJhbnNmb3JtLXBlcnNwZWN0aXZlLmh0bWwK
LWFuaW1hdGlvbnMvYWRkaXRpdmUtdHJhbnNmb3JtLWFuaW1hdGlvbnMuaHRtbAotYW5pbWF0aW9u
cy9hbmltYXRpb24tZGlyZWN0aW9uLW5vcm1hbC5odG1sCi1hbmltYXRpb25zL2FuaW1hdGlvbi1l
bmQtZXZlbnQtZGVzdHJveS1yZW5kZXJlci5odG1sCi1hbmltYXRpb25zL2FuaW1hdGlvbi1oaXQt
dGVzdC10cmFuc2Zvcm0uaHRtbAotYW5pbWF0aW9ucy9hbmltYXRpb24taXRlcmF0aW9uLWV2ZW50
LWRlc3Ryb3ktcmVuZGVyZXIuaHRtbAotYW5pbWF0aW9ucy9hbmltYXRpb24tbWF0cml4LW5lZ2F0
aXZlLXNjYWxlLXVubWF0cml4Lmh0bWwKLWFuaW1hdGlvbnMvYW5pbWF0aW9uLXN0YXJ0LWV2ZW50
LWRlc3Ryb3ktcmVuZGVyZXIuaHRtbAotYW5pbWF0aW9ucy9iaWctcm90YXRpb24uaHRtbAotYW5p
bWF0aW9ucy9jb21iby10cmFuc2Zvcm0tcm90YXRlK3NjYWxlLmh0bWwKLWFuaW1hdGlvbnMvY29t
Ym8tdHJhbnNmb3JtLXRyYW5zbGF0ZStzY2FsZS5odG1sCi1hbmltYXRpb25zL2R5bmFtaWMtc3R5
bGVzaGVldC1sb2FkaW5nLmh0bWwKLWFuaW1hdGlvbnMvZmlsbC1tb2RlLXRyYW5zZm9ybS5odG1s
Ci1hbmltYXRpb25zL2tleWZyYW1lLXRpbWluZy1mdW5jdGlvbnMtdHJhbnNmb3JtLmh0bWwKLWFu
aW1hdGlvbnMvbWF0cml4LWFuaW0uaHRtbAotYW5pbWF0aW9ucy9taXNzaW5nLWZyb20tdG8tdHJh
bnNmb3Jtcy5odG1sCi1hbmltYXRpb25zL21pc3Npbmcta2V5ZnJhbWUtcHJvcGVydGllcy1yZXBl
YXRpbmcuaHRtbAotYW5pbWF0aW9ucy9taXNzaW5nLWtleWZyYW1lLXByb3BlcnRpZXMtdGltaW5n
LWZ1bmN0aW9uLmh0bWwKLWFuaW1hdGlvbnMvbWlzc2luZy1rZXlmcmFtZS1wcm9wZXJ0aWVzLmh0
bWwKLWFuaW1hdGlvbnMvbWlzc2luZy12YWx1ZXMtZmlyc3Qta2V5ZnJhbWUuaHRtbAotYW5pbWF0
aW9ucy9taXNzaW5nLXZhbHVlcy1sYXN0LWtleWZyYW1lLmh0bWwKLWFuaW1hdGlvbnMvbmVnYXRp
dmUtZGVsYXkuaHRtbAotYW5pbWF0aW9ucy9vcGFjaXR5LXRyYW5zZm9ybS1hbmltYXRpb24uaHRt
bAotYW5pbWF0aW9ucy9wYXVzZS1jcmFzaC5odG1sCi1hbmltYXRpb25zL3BsYXktc3RhdGUtcGF1
c2VkLmh0bWwKLWFuaW1hdGlvbnMvcGxheS1zdGF0ZS1zdXNwZW5kLmh0bWwKLWFuaW1hdGlvbnMv
c2ltdWx0YW5lb3VzLXN0YXJ0LXRyYW5zZm9ybS5odG1sCi1hbmltYXRpb25zL3N0b3AtYW5pbWF0
aW9uLW9uLXN1c3BlbmQuaHRtbAotYW5pbWF0aW9ucy9zdXNwZW5kLXJlc3VtZS1hbmltYXRpb24u
aHRtbAotYW5pbWF0aW9ucy9zdXNwZW5kLXRyYW5zZm9ybS1hbmltYXRpb24uaHRtbAotYW5pbWF0
aW9ucy90cmFuc2l0aW9uLWFuZC1hbmltYXRpb24tMS5odG1sCi1hbmltYXRpb25zL3RyYW5zaXRp
b24tYW5kLWFuaW1hdGlvbi0yLmh0bWwKLWZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29t
cHV0ZWRTdHlsZS13aXRoLXBzZXVkby1lbGVtZW50Lmh0bWwKLXRhYmxlcy9tb3ppbGxhL21hcnZp
bi9iYWNrZ3Jfc2ltcGxlLXRhYmxlLWNlbGwuaHRtbAotdHJhbnNpdGlvbnMvM2QvaW50ZXJydXB0
ZWQtdHJhbnNpdGlvbi5odG1sCi10cmFuc2l0aW9ucy9jYW5jZWwtdHJhbnNpdGlvbi5odG1sCi10
cmFuc2l0aW9ucy9leHRyYS10cmFuc2l0aW9uLmh0bWwKLXRyYW5zaXRpb25zL2ludGVycnVwdC10
cmFuc2Zvcm0tdHJhbnNpdGlvbi5odG1sCi10cmFuc2l0aW9ucy9pbnRlcnJ1cHRlZC1hY2NlbGVy
YXRlZC10cmFuc2l0aW9uLmh0bWwKLXRyYW5zaXRpb25zL21vdmUtYWZ0ZXItdHJhbnNpdGlvbi5o
dG1sCi10cmFuc2l0aW9ucy9zdGFydC10cmFuc2Zvcm0tdHJhbnNpdGlvbi5odG1sCi10cmFuc2l0
aW9ucy90cmFuc2l0aW9uLWVuZC1ldmVudC1kZXN0cm95LWlmcmFtZS5odG1sCi10cmFuc2l0aW9u
cy90cmFuc2l0aW9uLWVuZC1ldmVudC1kZXN0cm95LXJlbmRlcmVyLmh0bWwKLXRyYW5zaXRpb25z
L3RyYW5zaXRpb24tZW5kLWV2ZW50LW11bHRpcGxlLTA0Lmh0bWwKLXRyYW5zaXRpb25zL3RyYW5z
aXRpb24tZW5kLWV2ZW50LXJlbmRlcmluZy5odG1sCi10cmFuc2l0aW9ucy90cmFuc2l0aW9uLWVu
ZC1ldmVudC10cmFuc2Zvcm0uaHRtbAotCiAjIFtRdF1bV0syXSBodHRwL3Rlc3RzL2hpc3Rvcnkv
cmVwbGFjZXN0YXRlLXBvc3QtdG8tZ2V0LTIuaHRtbCBmYWlscyB3aXRoIHRpbWVvdXQKICMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzg0CiBodHRwL3Rlc3RzL2hp
c3RvcnkvcmVwbGFjZXN0YXRlLXBvc3QtdG8tZ2V0LTIuaHRtbAo=
</data>
<flag name="review"
          id="125308"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="125309"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>