<?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>24941</bug_id>
          
          <creation_ts>2009-03-30 13:50:47 -0700</creation_ts>
          <short_desc>Accelerated compositing can sometimes flash when changing layers</short_desc>
          <delta_ts>2009-04-03 14:51:59 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>115876</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2009-03-30 13:50:47 -0700</bug_when>
    <thetext>Today layout is usually deferred by using a timer which fires after style change is done. This reduces the number of layouts needed. But if the style change results in accelerated compositing layers to be created, they will get created with 0 size because they haven&apos;t been laid out yet. This will sometimes cause a compositing to occur with the 0 size layers. When the timer fires, the contents of the layers is laid out and rendered. Then the compositor renders the result and all is well. It is possible to see a visible flash when this occurs.

You can see it on http://mycommute.apple.com. You need a build with ACCELERATED_COMPOSITING turned on. Select a Route of &quot;Van Ness/Mission&quot;, a Stop of &quot;Colma Park &amp; Ride&quot; and a Campus of &quot;IL1&quot;. Then click done and ht the back and forward arrows button a few times. You may be able to see the flash.

This is hard to see on fast hardware, but easy on slower platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115952</commentid>
    <comment_count>1</comment_count>
      <attachid>29104</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2009-03-30 18:12:32 -0700</bug_when>
    <thetext>Created attachment 29104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116046</commentid>
    <comment_count>2</comment_count>
      <attachid>29104</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-31 11:32:56 -0700</bug_when>
    <thetext>Comment on attachment 29104
Patch

r- based on discussion with Darin. We need to just fix the deferred layout timer to fire at the right time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116446</commentid>
    <comment_count>3</comment_count>
      <attachid>29231</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2009-04-03 10:46:29 -0700</bug_when>
    <thetext>Created attachment 29231
Replacement patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116456</commentid>
    <comment_count>4</comment_count>
      <attachid>29231</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-04-03 11:21:18 -0700</bug_when>
    <thetext>Comment on attachment 29231
Replacement patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116468</commentid>
    <comment_count>5</comment_count>
      <attachid>29231</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-04-03 12:51:47 -0700</bug_when>
    <thetext>Comment on attachment 29231
Replacement patch

&gt; +    if (!_private-&gt;useDocumentViews)
&gt; +        [self _viewWillDrawInternal];

This needs an #if USE(ACCELERATED_COMPOSITING) around it, or it will throw an exception since that method wont exist.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116469</commentid>
    <comment_count>6</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-04-03 12:54:29 -0700</bug_when>
    <thetext>Never mind, I see the caller has the correct #ifndef around it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116491</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2009-04-03 14:51:59 -0700</bug_when>
    <thetext>Sending        WebCore/ChangeLog
Sending        WebCore/page/ChromeClient.h
Sending        WebCore/rendering/RenderLayerCompositor.cpp
Sending        WebCore/rendering/RenderLayerCompositor.h
Sending        WebKit/mac/ChangeLog
Sending        WebKit/mac/WebCoreSupport/WebChromeClient.h
Sending        WebKit/mac/WebCoreSupport/WebChromeClient.mm
Sending        WebKit/mac/WebView/WebView.mm
Sending        WebKit/mac/WebView/WebViewInternal.h
Transmitting file data .........
Committed revision 42208.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29104</attachid>
            <date>2009-03-30 18:12:32 -0700</date>
            <delta_ts>2009-04-03 10:46:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>24941.patch</filename>
            <type>text/plain</type>
            <size>12501</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjEyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDMtMzAgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eGVkIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDk0MQorCisgICAg
ICAgIFRoaXMgZml4IGRvZXMgYW4gImVhZ2VyIiBsYXlvdXQgaW4gdGhlIGNhc2Ugd2hlcmUgYW4g
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcKKyAgICAgICAgbGF5ZXIgaGFzIGJlZW4gY2hhbmdlZC4g
VGhpcyByZXN1bHRzIGluIG5vIGFkZGl0aW9uYWwgbGF5b3V0cywgaXQganVzdCBzb21ldGltZXMK
KyAgICAgICAgbWFrZXMgYSBsYXlvdXQgaGFwcGVuIGF0IHRoZSBlbmQgb2YgdGhlIHJ1bmxvb3Ag
cmF0aGVyIHRoYW4gYWZ0ZXIgdGhlIGxheW91dAorICAgICAgICB0aW1lciBmaXJlcy4gVGhpcyBj
YXVzZXMgdGhlIGxheW91dCB0byBoYXBwZW4gaW4gdGhlIHNhbWUgY29tcG9zaXRpbmcgY3ljbGUK
KyAgICAgICAgYXMgdGhlIHN0eWxlIGNoYW5nZSAod2hpY2ggaXMgd2hlcmUgdGhlIGxheWVycyBh
cmUgY2hhbmdlZCkgYW5kIGF2b2lkcyBhIGZsYXNoLgorCisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2V0TGF5ZXJzV2lsbERy
YXcpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6c2V0Q29t
cG9zaXRpbmdMYXllcnNOZWVkVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6c2V0TGF5ZXJzV2lsbERyYXcpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuaDoKKwogMjAwOS0wMy0zMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IFdlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgJKHJldmlzaW9uIDQyMTE3KQorKysgV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xNjksNiArMTY5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAvLyBTZXRzIGEgZmxhZyB0byBzcGVjaWZ5IHRoYXQgdGhlIG5leHQgdGltZSBjb250
ZW50IGlzIGRyYXduIHRvIHRoZSB3aW5kb3csCiAgICAgICAgIC8vIHRoZSBjaGFuZ2VzIGFwcGVh
ciBvbiB0aGUgc2NyZWVuIGluIHN5bmNocm9ueSB3aXRoIHVwZGF0ZXMgdG8gR3JhcGhpY3NMYXll
cnMuCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25p
emF0aW9uKCkgeyB9CisgICAgICAgIC8vIFNldHMgYSBmbGFnIHRvIHNwZWNpZnkgdGhhdCBjb21w
b3NpdGVkIGxheWVycyB3aWxsIGRyYXcgc29vbiwgc28gd2UgbmVlZAorICAgICAgICAvLyB0byBk
byBhbiBlYWdlciBsYXlvdXQgYmVmb3JlIHRoZSBkcmF3aW5nLgorICAgICAgICB2aXJ0dWFsIHZv
aWQgc2V0TGF5ZXJzV2lsbERyYXcoRnJhbWUqKSB7IH0KICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
TUFDKQpJbmRleDogV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDQyMTE3KQorKysgV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg5LDYgKzg5LDggQEAgc3RydWN0IFNj
aGVkdWxlZEV2ZW50IHsKICAgICBSZWZQdHI8Tm9kZT4gbV9ldmVudFRhcmdldDsKIH07CiAKK3N0
YXRpYyBpbnQgc0xheW91dENvdW50ID0gMDsKKwogRnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJhbWUq
IGZyYW1lKQogICAgIDogbV9yZWZDb3VudCgxKQogICAgICwgbV9mcmFtZShmcmFtZSkKQEAgLTQ2
OSw2ICs0NzEsOCBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlCiAK
ICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLT5kb2N1bWVudCgpOwogCisgICAgZnBy
aW50ZihzdGRlcnIsICIqKiBEb2luZyBsYXlvdXQgJWRcbiIsIHNMYXlvdXRDb3VudCsrKTsKKwog
ICAgIG1fbGF5b3V0U2NoZWR1bGluZ0VuYWJsZWQgPSBmYWxzZTsKIAogICAgIGlmICghbV9uZXN0
ZWRMYXlvdXRDb3VudCAmJiBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLmlzQWN0aXZlKCkpIHsKQEAg
LTU0NSw2ICs1NDksOSBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVl
CiAgICAgICAgICAgICBzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZCh0cnVlKTsKICAgICAgICAgICAg
IGlmIChtX2ZpcnN0TGF5b3V0KSB7CiAgICAgICAgICAgICAgICAgbV9maXJzdExheW91dCA9IGZh
bHNlOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHNMYXlvdXRDb3VudCA9IDA7
CisKICAgICAgICAgICAgICAgICBtX2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICBtX2xhc3RMYXlvdXRTaXplID0gSW50U2l6ZSh3aWR0aCgpLCBoZWln
aHQoKSk7CiAgICAgICAgICAgICAgICAgbV9sYXN0Wm9vbUZhY3RvciA9IHJvb3QtPnN0eWxlKCkt
Pnpvb20oKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAkocmV2aXNpb24gNDIxMTcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsOCArMTEzLDIyIEBAIHZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjplbmFibGVDb21wb3MKIAogdm9pZCBSZW5kZXJMYXllckNvbXBv
c2l0b3I6OnNldENvbXBvc2l0aW5nTGF5ZXJzTmVlZFVwZGF0ZShib29sIG5lZWRVcGRhdGUpCiB7
Ci0gICAgaWYgKGluQ29tcG9zaXRpbmdNb2RlKCkpCisgICAgaWYgKGluQ29tcG9zaXRpbmdNb2Rl
KCkpIHsKKyAgICAgICAgaWYgKCFtX2NvbXBvc2l0aW5nTGF5ZXJzTmVlZFVwZGF0ZSAmJiBuZWVk
VXBkYXRlKQorICAgICAgICAgICAgc2V0TGF5ZXJzV2lsbERyYXcoKTsKKwogICAgICAgICBtX2Nv
bXBvc2l0aW5nTGF5ZXJzTmVlZFVwZGF0ZSA9IG5lZWRVcGRhdGU7CisgICAgfQorfQorCit2b2lk
IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6c2V0TGF5ZXJzV2lsbERyYXcoKQoreworICAgIEZyYW1l
KiBmcmFtZSA9IG1fcmVuZGVyVmlldy0+ZnJhbWVWaWV3KCktPmZyYW1lKCk7CisgICAgUGFnZSog
cGFnZSA9IGZyYW1lID8gZnJhbWUtPnBhZ2UoKSA6IDA7CisgICAgaWYgKCFwYWdlKQorICAgICAg
ICByZXR1cm47CisKKyAgICBwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPnNldExheWVyc1dpbGxE
cmF3KGZyYW1lKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBv
c2l0aW5nTGF5ZXJzKFJlbmRlckxheWVyKiB1cGRhdGVSb290KQpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgJKHJldmlzaW9uIDQyMTE3KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTU3
LDYgKzU3LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q29tcG9zaXRpbmdMYXllcnNOZWVkVXBk
YXRlKGJvb2wgbmVlZFVwZGF0ZSA9IHRydWUpOwogICAgIGJvb2wgY29tcG9zaXRpbmdMYXllcnNO
ZWVkVXBkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jb21wb3NpdGluZ0xheWVyc05lZWRVcGRhdGU7
IH0KIAorICAgIHZvaWQgc2V0TGF5ZXJzV2lsbERyYXcoKTsKKyAgICAKICAgICAvLyBSZWJ1aWxk
IHRoZSB0cmVlIG9mIGNvbXBvc2l0aW5nIGxheWVycwogICAgIHZvaWQgdXBkYXRlQ29tcG9zaXRp
bmdMYXllcnMoUmVuZGVyTGF5ZXIqIHVwZGF0ZVJvb3QgPSAwKTsKIApJbmRleDogV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDQyMTIwKQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwzMCBAQAorMjAwOS0wMy0zMCAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZWQgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0OTQxCisKKyAgICAgICAgVGhp
cyBmaXggZG9lcyBhbiAiZWFnZXIiIGxheW91dCBpbiB0aGUgY2FzZSB3aGVyZSBhbiBBQ0NFTEVS
QVRFRF9DT01QT1NJVElORworICAgICAgICBsYXllciBoYXMgYmVlbiBjaGFuZ2VkLiBUaGlzIHJl
c3VsdHMgaW4gbm8gYWRkaXRpb25hbCBsYXlvdXRzLCBpdCBqdXN0IHNvbWV0aW1lcworICAgICAg
ICBtYWtlcyBhIGxheW91dCBoYXBwZW4gYXQgdGhlIGVuZCBvZiB0aGUgcnVubG9vcCByYXRoZXIg
dGhhbiBhZnRlciB0aGUgbGF5b3V0CisgICAgICAgIHRpbWVyIGZpcmVzLiBUaGlzIGNhdXNlcyB0
aGUgbGF5b3V0IHRvIGhhcHBlbiBpbiB0aGUgc2FtZSBjb21wb3NpdGluZyBjeWNsZQorICAgICAg
ICBhcyB0aGUgc3R5bGUgY2hhbmdlICh3aGljaCBpcyB3aGVyZSB0aGUgbGF5ZXJzIGFyZSBjaGFu
Z2VkKSBhbmQgYXZvaWRzIGEgZmxhc2guCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
bW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKToK
KyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9u
aXphdGlvbik6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNldExheWVyc1dpbGxEcmF3KToK
KyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmll
d1ByaXZhdGUgX2NsZWFyTGF5ZXJzV2lsbERyYXdSdW5Mb29wT2JzZXJ2ZXJdKToKKyAgICAgICAg
KC1bV2ViSFRNTFZpZXdQcml2YXRlIGNsZWFyXSk6CisgICAgICAgICgtW1dlYkhUTUxWaWV3IHZp
ZXdXaWxsRHJhd10pOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfdmlld1dpbGxEcmF3SW50ZXJu
YWxdKToKKyAgICAgICAgKGxheWVyc1dpbGxEcmF3TG9vcE9ic2VydmVyQ2FsbEJhY2spOgorICAg
ICAgICAoLVtXZWJIVE1MVmlldyBfc2V0TGF5ZXJzV2lsbERyYXddKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYkhUTUxWaWV3SW50ZXJuYWwuaDoKKwogMjAwOS0wMy0zMCAgR3JlZyBCb2xzaW5nYSAg
PGJvbHNpbmdhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIu
CkluZGV4OiBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJl
dmlzaW9uIDQyMTE3KQorKysgV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTM4LDYgKzEzOCw3IEBAIHB1YmxpYzoKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFw
aGljc0xheWVyKFdlYkNvcmU6OkZyYW1lKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOwogICAg
IHZpcnR1YWwgdm9pZCBzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCk7Cisg
ICAgdmlydHVhbCB2b2lkIHNldExheWVyc1dpbGxEcmF3KFdlYkNvcmU6OkZyYW1lKik7CiAjZW5k
aWYKIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJh
bWUoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHZW9sb2NhdGlvbiopOwpJbmRleDogV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHJldmlzaW9uIDQyMTE3
KQorKysgV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHdvcmtp
bmcgY29weSkKQEAgLTY1MiwxNyArNjUyLDM0IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjplbmFi
bGVTdWRkZW5UZXJtaW4KICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB2b2lkIFdl
YkNocm9tZUNsaWVudDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqIGZyYW1lLCBHcmFw
aGljc0xheWVyKiBncmFwaGljc0xheWVyKQogeworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBU
SU9OUzsKICAgICBXZWJGcmFtZVZpZXcgKmZyYW1lVmlldyA9IFtraXQoZnJhbWUpIGZyYW1lVmll
d107CiAgICAgV2ViSFRNTFZpZXcgKmRvY1ZpZXcgPSAoV2ViSFRNTFZpZXcgKilbZnJhbWVWaWV3
IGRvY3VtZW50Vmlld107CiAgICAgaWYgKGdyYXBoaWNzTGF5ZXIpCiAgICAgICAgIFtkb2NWaWV3
IGF0dGFjaFJvb3RMYXllcjpncmFwaGljc0xheWVyLT5uYXRpdmVMYXllcigpXTsKICAgICBlbHNl
CiAgICAgICAgIFtkb2NWaWV3IGRldGFjaFJvb3RMYXllcl07CisgICAgRU5EX0JMT0NLX09CSkNf
RVhDRVBUSU9OUzsKIH0KIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldE5lZWRzT25lU2hvdERy
YXdpbmdTeW5jaHJvbml6YXRpb24oKQogeworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKICAgICBbbV93ZWJWaWV3IF9zZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9u
OllFU107CisgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKK30KKwordm9pZCBXZWJDaHJv
bWVDbGllbnQ6OnNldExheWVyc1dpbGxEcmF3KEZyYW1lKiBmcmFtZSkKK3sKKyAgICBCRUdJTl9C
TE9DS19PQkpDX0VYQ0VQVElPTlM7CisKKyAgICBXZWJGcmFtZVZpZXcgKmZyYW1lVmlldyA9IFtr
aXQoZnJhbWUpIGZyYW1lVmlld107CisgICAgTlNWaWV3ICpkb2N1bWVudFZpZXcgPSBbZnJhbWVW
aWV3IGRvY3VtZW50Vmlld107CisgICAgaWYgKFtkb2N1bWVudFZpZXcgaXNLaW5kT2ZDbGFzczpb
V2ViSFRNTFZpZXcgY2xhc3NdXSkgeworICAgICAgICBXZWJIVE1MVmlldyAqd2ViSFRNTFZpZXcg
PSAoV2ViSFRNTFZpZXcgKilkb2N1bWVudFZpZXc7CisgICAgICAgIFt3ZWJIVE1MVmlldyBfc2V0
TGF5ZXJzV2lsbERyYXddOworICAgIH0KKyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwog
fQogI2VuZGlmCiAKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0JKHJldmlzaW9uIDQy
MTE3KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCSh3b3JraW5nIGNvcHkp
CkBAIC00MTIsNiArNDEyLDggQEAgc3RydWN0IFdlYkhUTUxWaWV3SW50ZXJwcmV0S2V5RXZlbnRz
UGFyYQogICAgIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBOU1ZpZXcg
KmxheWVySG9zdGluZ1ZpZXc7CisgICAgLy8gUnVuIGxvb3Agb2JzZXJ2ZXIgdXNlZCB0byBpbXBs
ZW1lbnQgdGhlIGNvbXBvc2l0aW5nIGVxdWl2YWxlbnQgb2YgLXZpZXdXaWxsRHJhdworICAgIENG
UnVuTG9vcE9ic2VydmVyUmVmIGxheWVyc1dpbGxEcmF3UnVuTG9vcE9ic2VydmVyOwogI2VuZGlm
CiAKICAgICBOU0V2ZW50ICptb3VzZURvd25FdmVudDsgLy8gS2VwdCBhZnRlciBoYW5kbGluZyB0
aGUgZXZlbnQuCkBAIC01NDEsNiArNTQzLDE1IEBAIHN0YXRpYyBOU0NlbGxTdGF0ZVZhbHVlIGtp
dChUcmlTdGF0ZSBzdGEKICAgICBbc3VwZXIgZmluYWxpemVdOwogfQogCistICh2b2lkKV9jbGVh
ckxheWVyc1dpbGxEcmF3UnVuTG9vcE9ic2VydmVyCit7CisgICAgaWYgKGxheWVyc1dpbGxEcmF3
UnVuTG9vcE9ic2VydmVyKSB7CisgICAgICAgIENGUnVuTG9vcE9ic2VydmVySW52YWxpZGF0ZShs
YXllcnNXaWxsRHJhd1J1bkxvb3BPYnNlcnZlcik7CisgICAgICAgIENGUmVsZWFzZShsYXllcnNX
aWxsRHJhd1J1bkxvb3BPYnNlcnZlcik7CisgICAgICAgIGxheWVyc1dpbGxEcmF3UnVuTG9vcE9i
c2VydmVyID0gMDsKKyAgICB9Cit9CisKIC0gKHZvaWQpY2xlYXIKIHsKICAgICBbbW91c2VEb3du
RXZlbnQgcmVsZWFzZV07CkBAIC01NjQsNiArNTc1LDcgQEAgc3RhdGljIE5TQ2VsbFN0YXRlVmFs
dWUga2l0KFRyaVN0YXRlIHN0YQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
ICAgIGxheWVySG9zdGluZ1ZpZXcgPSBuaWw7CisgICAgW3NlbGYgX2NsZWFyTGF5ZXJzV2lsbERy
YXdSdW5Mb29wT2JzZXJ2ZXJdOwogI2VuZGlmCiB9CiAKQEAgLTEyNTAsMTEgKzEyNjIsNyBAQCBz
dGF0aWMgdm9pZCBfdXBkYXRlTW91c2VvdmVyVGltZXJDYWxsYmFjCiAKIC0gKHZvaWQpdmlld1dp
bGxEcmF3CiB7Ci0gICAgLy8gT24gd2luZG93IGNsb3NlIHdlIHdpbGwgYmUgY2FsbGVkIHdoZW4g
dGhlIGRhdGFzb3VyY2UgaXMgbmlsLCB0aGVuIGhpdCBhbiBhc3NlcnQgaW4gX3RvcEhUTUxWaWV3
Ci0gICAgLy8gU28gY2hlY2sgaWYgdGhlIGRhdGFTb3VyY2UgaXMgbmlsIGJlZm9yZSBjYWxsaW5n
IFtzZWxmIF9pc1RvcEhUTUxWaWV3XSwgdGhpcyBjYW4gYmUgcmVtb3ZlZAotICAgIC8vIG9uY2Ug
dGhlIEZJWE1FIGluIF9pc1RvcEhUTUxWaWV3IGlzIGZpeGVkLgotICAgIGlmIChfcHJpdmF0ZS0+
ZGF0YVNvdXJjZSAmJiBbc2VsZiBfaXNUb3BIVE1MVmlld10pCi0gICAgICAgIFtzZWxmIF93ZWJf
bGF5b3V0SWZOZWVkZWRSZWN1cnNpdmVdOworICAgIFtzZWxmIF92aWV3V2lsbERyYXdJbnRlcm5h
bF07CiAgICAgW3N1cGVyIHZpZXdXaWxsRHJhd107CiB9CiAKQEAgLTUwNzcsNiArNTA4NSwxNSBA
QCBzdGF0aWMgQ0dQb2ludCBjb3JlR3JhcGhpY3NTY3JlZW5Qb2ludEZvCiAKICN1bmRlZiBDT01N
QU5EX1BST0xPR1VFCiAKKy0gKHZvaWQpX3ZpZXdXaWxsRHJhd0ludGVybmFsCit7CisgICAgLy8g
T24gd2luZG93IGNsb3NlIHdlIHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIGRhdGFzb3VyY2UgaXMg
bmlsLCB0aGVuIGhpdCBhbiBhc3NlcnQgaW4gX3RvcEhUTUxWaWV3CisgICAgLy8gU28gY2hlY2sg
aWYgdGhlIGRhdGFTb3VyY2UgaXMgbmlsIGJlZm9yZSBjYWxsaW5nIFtzZWxmIF9pc1RvcEhUTUxW
aWV3XSwgdGhpcyBjYW4gYmUgcmVtb3ZlZAorICAgIC8vIG9uY2UgdGhlIEZJWE1FIGluIF9pc1Rv
cEhUTUxWaWV3IGlzIGZpeGVkLgorICAgIGlmIChfcHJpdmF0ZS0+ZGF0YVNvdXJjZSAmJiBbc2Vs
ZiBfaXNUb3BIVE1MVmlld10pCisgICAgICAgIFtzZWxmIF93ZWJfbGF5b3V0SWZOZWVkZWRSZWN1
cnNpdmVdOworfQorCiAtICh2b2lkKV9sYXlvdXRJZk5lZWRlZAogewogICAgIEFTU0VSVCghX3By
aXZhdGUtPnN1YnZpZXdzU2V0QXNpZGUpOwpAQCAtNTE1Miw2ICs1MTY5LDM3IEBAIHN0YXRpYyBD
R1BvaW50IGNvcmVHcmFwaGljc1NjcmVlblBvaW50Rm8KICAgICAgICAgW1tzZWxmIF93ZWJWaWV3
XSBfc3RvcHBlZEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGcmFtZTpbc2VsZiBfZnJhbWVdXTsK
ICAgICB9CiB9CisKK3N0YXRpYyB2b2lkIGxheWVyc1dpbGxEcmF3TG9vcE9ic2VydmVyQ2FsbEJh
Y2soQ0ZSdW5Mb29wT2JzZXJ2ZXJSZWYsIENGUnVuTG9vcEFjdGl2aXR5LCB2b2lkKiBpbmZvKQor
eworI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgorICAgIFdlYkhUTUxWaWV3KiB3ZWJIVE1MVmll
dyA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViSFRNTFZpZXcqPihpbmZvKTsKKyAgICBbd2ViSFRNTFZp
ZXcgX3ZpZXdXaWxsRHJhd0ludGVybmFsXTsKKyAgICBbd2ViSFRNTFZpZXctPl9wcml2YXRlIF9j
bGVhckxheWVyc1dpbGxEcmF3UnVuTG9vcE9ic2VydmVyXTsKKyNlbmRpZiAgICAKK30KKworLSAo
dm9pZClfc2V0TGF5ZXJzV2lsbERyYXcKK3sKKyAgICAvLyBUaGlzIGlzIHRoZSBjb21wb3NpdGlu
ZyBlcXVpdmFsZW50IG9mIC12aWV3V2lsbERyYXcuIFdoZW4gd2Uga25vdyB0aGF0IGNvbXBvc2l0
aW5nIGxheWVycworICAgIC8vIGhhdmUgYmVlbiBzZXQgYXMgbmVlZGluZyBkaXNwbGF5LCB3ZSBo
YXZlIHRvIG1ha2UgYW4gZWFnZXIgbGF5b3V0IGhhcHBlbiBiZWZvcmUgdGhlCisgICAgLy8gbGF5
ZXJzIGdldCBjb21taXR0ZWQgYnkgQ0EuCisgICAgaWYgKCFfcHJpdmF0ZS0+bGF5ZXJzV2lsbERy
YXdSdW5Mb29wT2JzZXJ2ZXIpIHsKKyAgICAgICAgY29uc3QgQ0ZJbmRleCBydW5Mb29wT3JkZXIg
PSAyMDAwMDAwIC0gMTsgLy8gUnVuIGJlZm9yZSB0aGUgQ29yZSBBbmltYXRpb24gY29tbWl0IG9i
c2VydmVyCisgICAgICAgIENGUnVuTG9vcE9ic2VydmVyQ29udGV4dCBjb250ZXh0ID0geworICAg
ICAgICAgICAgMCwKKyAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHNlbGYpLAor
ICAgICAgICAgICAgTlVMTCwgICAvLyBUaGUgV2ViVmlldyBhbHdheXMgb3V0bGl2ZXMgdGhlIG9i
c2VydmVyLCBzbyBubyBuZWVkIHRvIHJldGFpbi9yZWxlYXNlLgorICAgICAgICAgICAgTlVMTCwK
KyAgICAgICAgICAgIE5VTEwKKyAgICAgICAgfTsKKyAgICAgICAgX3ByaXZhdGUtPmxheWVyc1dp
bGxEcmF3UnVuTG9vcE9ic2VydmVyID0gQ0ZSdW5Mb29wT2JzZXJ2ZXJDcmVhdGUoTlVMTCwga0NG
UnVuTG9vcEJlZm9yZVdhaXRpbmcgfCBrQ0ZSdW5Mb29wRXhpdCwgdHJ1ZSAvKiByZXBlYXRzICov
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBydW5Mb29wT3JkZXIsIGxheWVyc1dpbGxEcmF3TG9vcE9ic2VydmVyQ2FsbEJhY2ssICZjb250
ZXh0KTsKKworICAgICAgICBDRlJ1bkxvb3BBZGRPYnNlcnZlcihDRlJ1bkxvb3BHZXRDdXJyZW50
KCksIF9wcml2YXRlLT5sYXllcnNXaWxsRHJhd1J1bkxvb3BPYnNlcnZlciwga0NGUnVuTG9vcENv
bW1vbk1vZGVzKTsKKyAgICB9CisgICAgCit9CiAjZW5kaWYKIAogQGVuZApJbmRleDogV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3SW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
bWFjL1dlYlZpZXcvV2ViSFRNTFZpZXdJbnRlcm5hbC5oCShyZXZpc2lvbiA0MjExNykKKysrIFdl
YktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlld0ludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM4LDYgKzM4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogfQogCiBAaW50ZXJmYWNlIFdlYkhU
TUxWaWV3IChXZWJJbnRlcm5hbCkKKyNpZm5kZWYgQlVJTERJTkdfT05fVElHRVIKKy0gKHZvaWQp
X3ZpZXdXaWxsRHJhd0ludGVybmFsOworI2VuZGlmCiAtICh2b2lkKV9zZWxlY3Rpb25DaGFuZ2Vk
OwogLSAodm9pZClfdXBkYXRlRm9udFBhbmVsOwogLSAoQk9PTClfY2FuU21hcnRDb3B5T3JEZWxl
dGU7CkBAIC02Myw2ICs2Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiAtICh2b2lkKWF0dGFjaFJvb3RMYXllcjooQ0FMYXllciopbGF5
ZXI7CiAtICh2b2lkKWRldGFjaFJvb3RMYXllcjsKKy0gKHZvaWQpX3NldExheWVyc1dpbGxEcmF3
OwogI2VuZGlmCiAKIEBlbmQK
</data>
<flag name="review"
          id="14419"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29231</attachid>
            <date>2009-04-03 10:46:29 -0700</date>
            <delta_ts>2009-04-03 11:21:18 -0700</delta_ts>
            <desc>Replacement patch</desc>
            <filename>24941.patch</filename>
            <type>text/plain</type>
            <size>10443</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjIwMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDQtMDMgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eGVkIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDk0MQorCisgICAg
ICAgIFRoaXMgZml4IGVzc2VudGlhbGx5IGRvZXMgYSAtdmlld1dpbGxEcmF3IGNhbGwgZm9yIGxh
eW91dC4gSXQgYWRkcyAKKyAgICAgICAgYSBDRlJ1bkxvb3BPYnNlcnZlciB3aGljaCBwZXJmb3Jt
cyBsYXlvdXQganVzdCBiZWZvcmUgZHJhd2luZyBvbiB0aGUgCisgICAgICAgIE1hYyBwbGF0Zm9y
bS4gVGhpcyBtYWtlcyBzdXJlIGxheW91dCBpcyBjb21wbGV0ZSBiZWZvcmUgcmVuZGVyaW5nIGFu
ZCAKKyAgICAgICAgYXZvaWRzIGEgZmxhc2guCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpzY2hlZHVsZVZpZXdVcGRhdGUp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzZXRDb21wb3NpdGluZ0xheWVyc05l
ZWRVcGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hl
ZHVsZVZpZXdVcGRhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaDoKKwogMjAwOS0wNC0wMiAgTWljaGFlbCBOb3JkbWFuICA8bWljaGFlbG5AZ29vZ2xlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpJbmRleDogV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9DaHJv
bWVDbGllbnQuaAkocmV2aXNpb24gNDIxNDUpCisrKyBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2OSw2ICsxNjksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIC8vIFNldHMgYSBmbGFnIHRvIHNwZWNpZnkgdGhhdCB0aGUgbmV4dCB0aW1lIGNv
bnRlbnQgaXMgZHJhd24gdG8gdGhlIHdpbmRvdywKICAgICAgICAgLy8gdGhlIGNoYW5nZXMgYXBw
ZWFyIG9uIHRoZSBzY3JlZW4gaW4gc3luY2hyb255IHdpdGggdXBkYXRlcyB0byBHcmFwaGljc0xh
eWVycy4KICAgICAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJv
bml6YXRpb24oKSB7IH0KKyAgICAgICAgLy8gU2V0cyBhIGZsYWcgdG8gc3BlY2lmeSB0aGF0IHRo
ZSB2aWV3IG5lZWRzIHRvIGJlIHVwZGF0ZWQsIHNvIHdlIG5lZWQKKyAgICAgICAgLy8gdG8gZG8g
YW4gZWFnZXIgbGF5b3V0IGJlZm9yZSB0aGUgZHJhd2luZy4KKyAgICAgICAgdmlydHVhbCB2b2lk
IHNjaGVkdWxlVmlld1VwZGF0ZSgpIHsgfQogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAJKHJldmlz
aW9uIDQyMTQ1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDggKzExMywyMiBAQCB2b2lkIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6ZW5hYmxlQ29tcG9zCiAKIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzZXRD
b21wb3NpdGluZ0xheWVyc05lZWRVcGRhdGUoYm9vbCBuZWVkVXBkYXRlKQogewotICAgIGlmIChp
bkNvbXBvc2l0aW5nTW9kZSgpKQorICAgIGlmIChpbkNvbXBvc2l0aW5nTW9kZSgpKSB7CisgICAg
ICAgIGlmICghbV9jb21wb3NpdGluZ0xheWVyc05lZWRVcGRhdGUgJiYgbmVlZFVwZGF0ZSkKKyAg
ICAgICAgICAgIHNjaGVkdWxlVmlld1VwZGF0ZSgpOworCiAgICAgICAgIG1fY29tcG9zaXRpbmdM
YXllcnNOZWVkVXBkYXRlID0gbmVlZFVwZGF0ZTsKKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpzY2hlZHVsZVZpZXdVcGRhdGUoKQoreworICAgIEZyYW1lKiBmcmFtZSA9
IG1fcmVuZGVyVmlldy0+ZnJhbWVWaWV3KCktPmZyYW1lKCk7CisgICAgUGFnZSogcGFnZSA9IGZy
YW1lID8gZnJhbWUtPnBhZ2UoKSA6IDA7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47
CisKKyAgICBwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPnNjaGVkdWxlVmlld1VwZGF0ZSgpOwog
fQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnMo
UmVuZGVyTGF5ZXIqIHVwZGF0ZVJvb3QpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuaAkocmV2aXNpb24gNDIxNDUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRDb21wb3NpdGluZ0xheWVyc05lZWRVcGRhdGUoYm9vbCBuZWVk
VXBkYXRlID0gdHJ1ZSk7CiAgICAgYm9vbCBjb21wb3NpdGluZ0xheWVyc05lZWRVcGRhdGUoKSBj
b25zdCB7IHJldHVybiBtX2NvbXBvc2l0aW5nTGF5ZXJzTmVlZFVwZGF0ZTsgfQogCisgICAgdm9p
ZCBzY2hlZHVsZVZpZXdVcGRhdGUoKTsKKyAgICAKICAgICAvLyBSZWJ1aWxkIHRoZSB0cmVlIG9m
IGNvbXBvc2l0aW5nIGxheWVycwogICAgIHZvaWQgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnMoUmVu
ZGVyTGF5ZXIqIHVwZGF0ZVJvb3QgPSAwKTsKIApJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQyMjAxKQorKysg
V2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAorMjAw
OS0wNC0wMyAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZWQgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0OTQxCisKKyAgICAgICAgVGhpcyBmaXggZXNzZW50
aWFsbHkgZG9lcyBhIC12aWV3V2lsbERyYXcgY2FsbCBmb3IgbGF5b3V0LiBJdCBhZGRzIAorICAg
ICAgICBhIENGUnVuTG9vcE9ic2VydmVyIHdoaWNoIHBlcmZvcm1zIGxheW91dCBqdXN0IGJlZm9y
ZSBkcmF3aW5nIG9uIHRoZSAKKyAgICAgICAgTWFjIHBsYXRmb3JtLiBUaGlzIG1ha2VzIHN1cmUg
bGF5b3V0IGlzIGNvbXBsZXRlIGJlZm9yZSByZW5kZXJpbmcgYW5kIAorICAgICAgICBhdm9pZHMg
YSBmbGFzaC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdl
YkNocm9tZUNsaWVudDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAoV2ViQ2hy
b21lQ2xpZW50OjpzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKToKKyAgICAg
ICAgKFdlYkNocm9tZUNsaWVudDo6c2NoZWR1bGVWaWV3VXBkYXRlKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXdQcml2YXRlIF9jbGVhclZpZXdVcGRh
dGVSdW5Mb29wT2JzZXJ2ZXJdKToKKyAgICAgICAgKC1bV2ViVmlldyBfdmlld1dpbGxEcmF3SW50
ZXJuYWxdKToKKyAgICAgICAgKC1bV2ViVmlldyB2aWV3V2lsbERyYXddKToKKyAgICAgICAgKC1b
V2ViVmlldyBjbG9zZV0pOgorICAgICAgICAodmlld1VwZGF0ZVJ1bkxvb3BPYnNlcnZlckNhbGxC
YWNrKToKKyAgICAgICAgKC1bV2ViVmlldyBfc2NoZWR1bGVWaWV3VXBkYXRlXSk6CisgICAgICAg
ICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDoKKwogMjAwOS0wNC0wMiAgTWFyayBSb3dlICA8
bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4gYW5k
IFRpbW90aHkgSGF0Y2hlci4KSW5kZXg6IFdlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAkocmV2aXNpb24gNDIxNDUpCisrKyBXZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgsNiArMTM4LDcgQEAg
cHVibGljOgogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIHZv
aWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHcmFw
aGljc0xheWVyKik7CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5j
aHJvbml6YXRpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVWaWV3VXBkYXRlKCk7CiAj
ZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9y
RnJhbWUoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHZW9sb2NhdGlvbiopOwpJbmRleDogV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHJldmlzaW9uIDQy
MTQ1KQorKysgV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHdv
cmtpbmcgY29weSkKQEAgLTY1MiwxNyArNjUyLDI4IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpl
bmFibGVTdWRkZW5UZXJtaW4KICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB2b2lk
IFdlYkNocm9tZUNsaWVudDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqIGZyYW1lLCBH
cmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQogeworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhD
RVBUSU9OUzsKICAgICBXZWJGcmFtZVZpZXcgKmZyYW1lVmlldyA9IFtraXQoZnJhbWUpIGZyYW1l
Vmlld107CiAgICAgV2ViSFRNTFZpZXcgKmRvY1ZpZXcgPSAoV2ViSFRNTFZpZXcgKilbZnJhbWVW
aWV3IGRvY3VtZW50Vmlld107CiAgICAgaWYgKGdyYXBoaWNzTGF5ZXIpCiAgICAgICAgIFtkb2NW
aWV3IGF0dGFjaFJvb3RMYXllcjpncmFwaGljc0xheWVyLT5uYXRpdmVMYXllcigpXTsKICAgICBl
bHNlCiAgICAgICAgIFtkb2NWaWV3IGRldGFjaFJvb3RMYXllcl07CisgICAgRU5EX0JMT0NLX09C
SkNfRVhDRVBUSU9OUzsKIH0KIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldE5lZWRzT25lU2hv
dERyYXdpbmdTeW5jaHJvbml6YXRpb24oKQogeworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBU
SU9OUzsKICAgICBbbV93ZWJWaWV3IF9zZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0
aW9uOllFU107CisgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKK30KKwordm9pZCBXZWJD
aHJvbWVDbGllbnQ6OnNjaGVkdWxlVmlld1VwZGF0ZSgpCit7CisgICAgQkVHSU5fQkxPQ0tfT0JK
Q19FWENFUFRJT05TOworICAgIFttX3dlYlZpZXcgX3NjaGVkdWxlVmlld1VwZGF0ZV07CisgICAg
RU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIH0KICNlbmRpZgogCkluZGV4OiBXZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQkocmV2aXNpb24gNDIxNDUpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQkod29ya2luZyBjb3B5KQpAQCAtNDIyLDYgKzQyMiw4IEBAIHN0YXRpYyBjb25zdCBjaGFyIHdl
YlZpZXdJc09wZW5bXSA9ICJBdCAKICAgICBCT09MIG5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJv
bml6YXRpb247CiAgICAgLy8gTnVtYmVyIG9mIFdlYkhUTUxWaWV3cyB1c2luZyBhY2NlbGVyYXRl
ZCBjb21wb3NpdGluZy4gVXNlZCB0byBpbXBsZW1lbnQgX2lzVXNpbmdBY2NlbGVyYXRlZENvbXBv
c2l0aW5nLgogICAgIGludCBhY2NlbGVyYXRlZEZyYW1lc0NvdW50OworICAgIC8vIFJ1biBsb29w
IG9ic2VydmVyIHVzZWQgdG8gaW1wbGVtZW50IHRoZSBjb21wb3NpdGluZyBlcXVpdmFsZW50IG9m
IC12aWV3V2lsbERyYXcKKyAgICBDRlJ1bkxvb3BPYnNlcnZlclJlZiB2aWV3VXBkYXRlUnVuTG9v
cE9ic2VydmVyOwogI2VuZGlmCiAKICAgICBOU1Bhc3RlYm9hcmQgKmluc2VydGlvblBhc3RlYm9h
cmQ7CkBAIC01NzAsNiArNTcyLDE3IEBAIHN0YXRpYyBCT09MIGdyYW1tYXJDaGVja2luZ0VuYWJs
ZWQ7CiAgICAgW3N1cGVyIGZpbmFsaXplXTsKIH0KIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKKy0gKHZvaWQpX2NsZWFyVmlld1VwZGF0ZVJ1bkxvb3BPYnNlcnZlcgoreworICAg
IGlmICh2aWV3VXBkYXRlUnVuTG9vcE9ic2VydmVyKSB7CisgICAgICAgIENGUnVuTG9vcE9ic2Vy
dmVySW52YWxpZGF0ZSh2aWV3VXBkYXRlUnVuTG9vcE9ic2VydmVyKTsKKyAgICAgICAgQ0ZSZWxl
YXNlKHZpZXdVcGRhdGVSdW5Mb29wT2JzZXJ2ZXIpOworICAgICAgICB2aWV3VXBkYXRlUnVuTG9v
cE9ic2VydmVyID0gMDsKKyAgICB9Cit9CisjZW5kaWYKKwogQGVuZAogCiBAaW1wbGVtZW50YXRp
b24gV2ViVmlldyAoQWxsV2ViVmlld3MpCkBAIC04ODgsMTUgKzkwMSwyMSBAQCBzdGF0aWMgYm9v
bCBydW5uaW5nVGlnZXJNYWlsKCkKICAgICByZXR1cm4gX3ByaXZhdGUgJiYgIV9wcml2YXRlLT51
c2VEb2N1bWVudFZpZXdzOwogfQogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSB8
fCAhZGVmaW5lZChCVUlMRElOR19PTl9USUdFUikKKy0gKHZvaWQpX3ZpZXdXaWxsRHJhd0ludGVy
bmFsCit7CisgICAgRnJhbWUqIGZyYW1lID0gY29yZShbc2VsZiBtYWluRnJhbWVdKTsKKyAgICBp
ZiAoZnJhbWUgJiYgZnJhbWUtPnZpZXcoKSkKKyAgICAgICAgZnJhbWUtPnZpZXcoKS0+bGF5b3V0
SWZOZWVkZWRSZWN1cnNpdmUoKTsKK30KKyNlbmRpZgorCiAjaWZuZGVmIEJVSUxESU5HX09OX1RJ
R0VSCiAKIC0gKHZvaWQpdmlld1dpbGxEcmF3CiB7Ci0gICAgaWYgKCFfcHJpdmF0ZS0+dXNlRG9j
dW1lbnRWaWV3cykgewotICAgICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKFtzZWxmIG1haW5GcmFt
ZV0pOwotICAgICAgICBpZiAoZnJhbWUgJiYgZnJhbWUtPnZpZXcoKSkKLSAgICAgICAgICAgIGZy
YW1lLT52aWV3KCktPmxheW91dElmTmVlZGVkUmVjdXJzaXZlKCk7Ci0gICAgfQorICAgIGlmICgh
X3ByaXZhdGUtPnVzZURvY3VtZW50Vmlld3MpCisgICAgICAgIFtzZWxmIF92aWV3V2lsbERyYXdJ
bnRlcm5hbF07CiAgICAgW3N1cGVyIHZpZXdXaWxsRHJhd107CiB9CiAKQEAgLTI1NDcsNiArMjU2
NiwxMCBAQCBzdGF0aWMgYm9vbCBuZWVkc1dlYlZpZXdJbml0VGhyZWFkV29ya2FyCiB7CiAgICAg
Ly8gX2Nsb3NlIGV4aXN0ZWQgZmlyc3QsIGFuZCBzb21lIGNsaWVudHMgbWlnaHQgYmUgY2FsbGlu
ZyBvciBvdmVycmlkaW5nIGl0LCBzbyBjYWxsIHRocm91Z2guCiAgICAgW3NlbGYgX2Nsb3NlXTsK
KworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICBbX3ByaXZhdGUgX2NsZWFy
Vmlld1VwZGF0ZVJ1bkxvb3BPYnNlcnZlcl07CisjZW5kaWYKIH0KIAogLSAodm9pZClzZXRTaG91
bGRDbG9zZVdpdGhXaW5kb3c6KEJPT0wpY2xvc2UKQEAgLTU1NTUsNiArNTU3OCwzNyBAQCBCT09M
IENhbGxGb3JtRGVsZWdhdGVSZXR1cm5pbmdCb29sZWFuKEJPCiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKK3N0YXRpYyB2b2lkIHZpZXdV
cGRhdGVSdW5Mb29wT2JzZXJ2ZXJDYWxsQmFjayhDRlJ1bkxvb3BPYnNlcnZlclJlZiwgQ0ZSdW5M
b29wQWN0aXZpdHksIHZvaWQqIGluZm8pCit7CisgICAgV2ViVmlldyogd2ViVmlldyA9IHJlaW50
ZXJwcmV0X2Nhc3Q8V2ViVmlldyo+KGluZm8pOworICAgIFt3ZWJWaWV3IF92aWV3V2lsbERyYXdJ
bnRlcm5hbF07CisgICAgW3dlYlZpZXctPl9wcml2YXRlIF9jbGVhclZpZXdVcGRhdGVSdW5Mb29w
T2JzZXJ2ZXJdOworfQorCistICh2b2lkKV9zY2hlZHVsZVZpZXdVcGRhdGUKK3sKKyAgICAvLyBU
aGlzIGlzIHRoZSBjb21wb3NpdGluZyBlcXVpdmFsZW50IG9mIC12aWV3V2lsbERyYXcuIFdoZW4g
d2Uga25vdyB0aGF0IGNvbXBvc2l0aW5nIGxheWVycworICAgIC8vIGhhdmUgYmVlbiBzZXQgYXMg
bmVlZGluZyBkaXNwbGF5LCB3ZSBoYXZlIHRvIG1ha2UgYW4gZWFnZXIgbGF5b3V0IGhhcHBlbiBi
ZWZvcmUgdGhlCisgICAgLy8gbGF5ZXJzIGdldCBjb21taXR0ZWQgYnkgQ0EuCisgICAgaWYgKCFf
cHJpdmF0ZS0+dmlld1VwZGF0ZVJ1bkxvb3BPYnNlcnZlcikgeworICAgICAgICBjb25zdCBDRklu
ZGV4IHJ1bkxvb3BPcmRlciA9IE5TRGlzcGxheVdpbmRvd1J1bkxvb3BPcmRlcmluZy0xOyAvLyBS
dW4gYmVmb3JlIEFwcEtpdCBkb2VzIGl0cyB3aW5kb3cgdXBkYXRlCisgICAgICAgIENGUnVuTG9v
cE9ic2VydmVyQ29udGV4dCBjb250ZXh0ID0geworICAgICAgICAgICAgMCwKKyAgICAgICAgICAg
IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHNlbGYpLAorICAgICAgICAgICAgTlVMTCwgICAvLyBU
aGUgV2ViVmlldyBhbHdheXMgb3V0bGl2ZXMgdGhlIG9ic2VydmVyLCBzbyBubyBuZWVkIHRvIHJl
dGFpbi9yZWxlYXNlLgorICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgIE5VTEwKKyAgICAg
ICAgfTsKKyAgICAgICAgX3ByaXZhdGUtPnZpZXdVcGRhdGVSdW5Mb29wT2JzZXJ2ZXIgPSBDRlJ1
bkxvb3BPYnNlcnZlckNyZWF0ZShOVUxMLCBrQ0ZSdW5Mb29wQmVmb3JlV2FpdGluZyB8IGtDRlJ1
bkxvb3BFeGl0LCBmYWxzZSAvKiBvbmUgc2hvdCAqLywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuTG9vcE9yZGVyLCB2aWV3VXBkYXRl
UnVuTG9vcE9ic2VydmVyQ2FsbEJhY2ssICZjb250ZXh0KTsKKworICAgICAgICBDRlJ1bkxvb3BB
ZGRPYnNlcnZlcihDRlJ1bkxvb3BHZXRDdXJyZW50KCksIF9wcml2YXRlLT52aWV3VXBkYXRlUnVu
TG9vcE9ic2VydmVyLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpOworICAgIH0KKyAgICAKK30KKyNl
bmRpZgorCiBAZW5kCiAKICNpZmRlZiBCVUlMRElOR19PTl9MRU9QQVJECkluZGV4OiBXZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCShyZXZpc2lvbiA0MjE0NSkKKysrIFdlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDYgKzE0OSw3
IEBAIHR5cGVkZWYgV2ViQ29yZTo6UGFnZSBXZWJDb3JlUGFnZTsKIC0gKHZvaWQpX3NldE5lZWRz
T25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb246KEJPT0wpbmVlZHNTeW5jaHJvbml6YXRpb247
CiAtICh2b2lkKV9zdGFydGVkQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZyYW1lOihXZWJGcmFt
ZSopd2ViRnJhbWU7CiAtICh2b2lkKV9zdG9wcGVkQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZy
YW1lOihXZWJGcmFtZSopd2ViRnJhbWU7CistICh2b2lkKV9zY2hlZHVsZVZpZXdVcGRhdGU7CiAj
ZW5kaWYKIAogLSAodm9pZClfc2V0SW5zZXJ0aW9uUGFzdGVib2FyZDooTlNQYXN0ZWJvYXJkICop
cGFzdGVib2FyZDsK
</data>
<flag name="review"
          id="14502"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>