<?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>106594</bug_id>
          
          <creation_ts>2013-01-10 12:28:24 -0800</creation_ts>
          <short_desc>[chromium] Register newly-created layers for animation</short_desc>
          <delta_ts>2013-02-22 14:44:49 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ali Juma">ajuma</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jaffathecake</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>804635</commentid>
    <comment_count>0</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2013-01-10 12:28:24 -0800</bug_when>
    <thetext>[chromium] Register newly-created layers for animation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804638</commentid>
    <comment_count>1</comment_count>
      <attachid>182191</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2013-01-10 12:33:09 -0800</bug_when>
    <thetext>Created attachment 182191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804642</commentid>
    <comment_count>2</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2013-01-10 12:36:00 -0800</bug_when>
    <thetext>This is needed for enabling accelerated animations for orphaned layers. The overall plan for this can be found at https://chromiumcodereview.appspot.com/11783037

This requires Bug 103635 and https://chromiumcodereview.appspot.com/11783101 to land first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807985</commentid>
    <comment_count>3</comment_count>
      <attachid>182191</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-15 19:59:47 -0800</bug_when>
    <thetext>Comment on attachment 182191
Patch

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

&gt; Source/Platform/chromium/public/WebLayerTreeView.h:154
&gt; -    virtual void updateAnimations(double frameBeginTime) = 0;
&gt; +    virtual void updateAnimations(double monotonicFrameBeginTime, double wallClockFrameBegin) = 0;

this is going to busterate the build unless a chromium-side patch implementing both changes has landed in chromium and rolled in.  please put the chromium rev# here on this bug when you do that

&gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:134
&gt; +    WebKit::ChromeClientImpl* m_chromeClient; // weak pointer

what makes sure this pointer won&apos;t outlive the object it points to? saying it&apos;s a weak pointer doesn&apos;t add anything (that&apos;s clear from the type) - what would be useful in a comment would be describing the lifecycle that makes it a *safe* weak pointer

&gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:174
&gt; +    , m_graphicsLayerFactory(adoptPtr(new GraphicsLayerFactoryChromium(this)))

we have a WebViewImpl* here, why not just pass that in to GraphicsLayerFactoryChromium and avoid the downcast, etc?

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1739
&gt; +        double wallClockFrameBeginTime = currentTime();

ick, why are you grabbing a wall clock time here? this isn&apos;t going to be a useful value for anyone</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837684</commentid>
    <comment_count>4</comment_count>
      <attachid>189364</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2013-02-20 13:17:52 -0800</bug_when>
    <thetext>Created attachment 189364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837691</commentid>
    <comment_count>5</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2013-02-20 13:22:11 -0800</bug_when>
    <thetext>Starting orphaned animations before they get added to the tree is no longer part of the plan. This means the changes involving times are no longer needed.

(In reply to comment #3)
&gt; (From update of attachment 182191 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=182191&amp;action=review
&gt; 
&gt; &gt; Source/Platform/chromium/public/WebLayerTreeView.h:154
&gt; &gt; -    virtual void updateAnimations(double frameBeginTime) = 0;
&gt; &gt; +    virtual void updateAnimations(double monotonicFrameBeginTime, double wallClockFrameBegin) = 0;
&gt; 
&gt; this is going to busterate the build unless a chromium-side patch implementing both changes has landed in chromium and rolled in.  please put the chromium rev# here on this bug when you do that

This change has been removed.

 
&gt; &gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:134
&gt; &gt; +    WebKit::ChromeClientImpl* m_chromeClient; // weak pointer
&gt; 
&gt; what makes sure this pointer won&apos;t outlive the object it points to? saying it&apos;s a weak pointer doesn&apos;t add anything (that&apos;s clear from the type) - what would be useful in a comment would be describing the lifecycle that makes it a *safe* weak pointer

Done (for m_webView, which we replaced m_chromeClient as a result of the comment below).


&gt; &gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:174
&gt; &gt; +    , m_graphicsLayerFactory(adoptPtr(new GraphicsLayerFactoryChromium(this)))
&gt; 
&gt; we have a WebViewImpl* here, why not just pass that in to GraphicsLayerFactoryChromium and avoid the downcast, etc?

Done.

 
&gt; &gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1739
&gt; &gt; +        double wallClockFrameBeginTime = currentTime();
&gt; 
&gt; ick, why are you grabbing a wall clock time here? this isn&apos;t going to be a useful value for anyone

This change has been removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837694</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 13:24:59 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837979</commentid>
    <comment_count>7</comment_count>
      <attachid>189364</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-20 17:23:53 -0800</bug_when>
    <thetext>Comment on attachment 189364
Patch

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

&gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:120
&gt; +    GraphicsLayerFactoryChromium(WebKit::WebViewImpl* webView)

explicit

&gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:136
&gt; +    // GraphicsLayerFactoryChromium&apos;s lifetime is bounded by that of its owning
&gt; +    // ChromeClientImpl, whose own lifetime is bounded by that of m_webView.

Hmm - you&apos;ll have to remind me.  Why doesn&apos;t the WebViewImpl just own this object directly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838445</commentid>
    <comment_count>8</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2013-02-21 08:25:21 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 189364 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189364&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:120
&gt; &gt; +    GraphicsLayerFactoryChromium(WebKit::WebViewImpl* webView)
&gt; 
&gt; explicit
&gt; 
&gt; &gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:136
&gt; &gt; +    // GraphicsLayerFactoryChromium&apos;s lifetime is bounded by that of its owning
&gt; &gt; +    // ChromeClientImpl, whose own lifetime is bounded by that of m_webView.
&gt; 
&gt; Hmm - you&apos;ll have to remind me.  Why doesn&apos;t the WebViewImpl just own this object directly?

WebViewImpl could own this directly. As I understand it, the only reason it&apos;s currently owned by ChromeClientImpl is that this seemed to be a logical place for it since ChromeClientImpl defines a ::graphicsLayerFactory method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839634</commentid>
    <comment_count>9</comment_count>
      <attachid>189777</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2013-02-22 09:01:39 -0800</bug_when>
    <thetext>Created attachment 189777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839636</commentid>
    <comment_count>10</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2013-02-22 09:03:15 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 189364 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189364&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:120
&gt; &gt; +    GraphicsLayerFactoryChromium(WebKit::WebViewImpl* webView)
&gt; 
&gt; explicit

Done.

&gt; &gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:136
&gt; &gt; +    // GraphicsLayerFactoryChromium&apos;s lifetime is bounded by that of its owning
&gt; &gt; +    // ChromeClientImpl, whose own lifetime is bounded by that of m_webView.
&gt; 
&gt; Hmm - you&apos;ll have to remind me.  Why doesn&apos;t the WebViewImpl just own this object directly?

WebViewImpl now owns this object directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839697</commentid>
    <comment_count>11</comment_count>
      <attachid>189777</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-22 10:18:11 -0800</bug_when>
    <thetext>Comment on attachment 189777
Patch

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

R=me - one change suggested before landing. You don&apos;t need to ask me for another review after moving that, just ask any friendly neighborhood WebKit committer to help you out.  Thanks for the iterations and explanations!

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:212
&gt; +class GraphicsLayerFactoryChromium : public GraphicsLayerFactory {

WebViewImpl.cpp is kind of gigantic, so I would consider moving this class out to its own header/cpp just to cut down on churn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839794</commentid>
    <comment_count>12</comment_count>
      <attachid>189805</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2013-02-22 11:58:52 -0800</bug_when>
    <thetext>Created attachment 189805
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840010</commentid>
    <comment_count>13</comment_count>
      <attachid>189805</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-22 14:44:45 -0800</bug_when>
    <thetext>Comment on attachment 189805
Patch for landing

Clearing flags on attachment: 189805

Committed r143803: &lt;http://trac.webkit.org/changeset/143803&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840011</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-22 14:44:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182191</attachid>
            <date>2013-01-10 12:33:09 -0800</date>
            <delta_ts>2013-02-20 13:17:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106594-20130110153012.patch</filename>
            <type>text/plain</type>
            <size>6422</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAxNGFkNjA0MDkzOGFh
NjkxZjAzZDQ5ZmY0ZjZjMWQxZWUyMGUxMGJmLi42YzkyNTFkZmZhNWFkODY0ZDA0NGZlNjdmZWI1
MjJiZTRkZmUxYWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMS0xMCAg
QWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBSZWdp
c3RlciBuZXdseS1jcmVhdGVkIGxheWVycyBmb3IgYW5pbWF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY1OTQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXll
clRyZWVWaWV3Lmg6CisgICAgICAgIChXZWJMYXllclRyZWVWaWV3KToKKyAgICAgICAgKFdlYktp
dDo6V2ViTGF5ZXJUcmVlVmlldzo6cmVnaXN0ZXJGb3JBbmltYXRpb25zKToKKwogMjAxMy0wMS0w
OCAgQ2hyaXMgUm9nZXJzICA8Y3JvZ2Vyc0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1
bnVzZWQvZGVwcmVjYXRlZCByZW5kZXIoKSBtZXRob2QgaW4gY2hyb21pdW0gV2ViS2l0IEFQSQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA0OTk1YjE5NzUxMWM3MmM5YzUyMDNmMGExYjFj
YzZlZTgxNTZmMWNkLi4yYTUzNTg3ZDE3ZDZkMzI5YzY1OGY0ZWZhM2M5NDk0MTAzMDI5NDlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAxLTEwICBB
bGkgSnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIFJlZ2lz
dGVyIG5ld2x5LWNyZWF0ZWQgbGF5ZXJzIGZvciBhbmltYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjU5NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bTo6R3JhcGhp
Y3NMYXllckZhY3RvcnlDaHJvbWl1bSk6CisgICAgICAgIChHcmFwaGljc0xheWVyRmFjdG9yeUNo
cm9taXVtKToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6Q2hyb21lQ2xpZW50
SW1wbCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViVmlld0ltcGw6OmFuaW1hdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6cmVn
aXN0ZXJGb3JBbmltYXRpb25zKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dl
YlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTMtMDEtMDkgIFN0ZXBo
ZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGp1c3QgU2tp
YSBidWlsZCBmbGFncyB0byBXZWJLaXQgc2tpYSBneXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0
Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5oIGIvU291cmNlL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgKaW5kZXggM2Y4MmIwYmQwYTI3ZTI5
ZGQ1YjgzZGUzYzZkZGIxN2ExNjM4NTFkYi4uNWM5MGViM2UyNGI0ZTU3Y2E1YmYyMzdhNjgxMTNj
MGM3ZjFiNDBlNyAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9X
ZWJMYXllclRyZWVWaWV3LmgKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9X
ZWJMYXllclRyZWVWaWV3LmgKQEAgLTE1MSw3ICsxNTEsNyBAQCBwdWJsaWM6CiAgICAgLy8gSW1t
ZWRpYXRlbHkgdXBkYXRlIGFuaW1hdGlvbnMuIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVu
IGZyYW1lIHNjaGVkdWxpbmcgaXMgaGFuZGxlZCBieQogICAgIC8vIHRoZSBXZWJMYXllclRyZWVW
aWV3IHVzZXIgYW5kIG5vdCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21wb3NpdG9yLCBtZWFuaW5nIG9u
bHkgaW4gc2luZ2xlLXRocmVhZGVkCiAgICAgLy8gbW9kZS4KLSAgICB2aXJ0dWFsIHZvaWQgdXBk
YXRlQW5pbWF0aW9ucyhkb3VibGUgZnJhbWVCZWdpblRpbWUpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlQW5pbWF0aW9ucyhkb3VibGUgbW9ub3RvbmljRnJhbWVCZWdpblRpbWUsIGRvdWJs
ZSB3YWxsQ2xvY2tGcmFtZUJlZ2luKSA9IDA7CiAKICAgICAvLyBSZWxheXMgdGhlIGVuZCBvZiBh
IGZsaW5nIGFuaW1hdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgZGlkU3RvcEZsaW5naW5nKCkgeyB9
CkBAIC0xNzEsNiArMTcxLDEwIEBAIHB1YmxpYzoKICAgICAvLyBQcmV2ZW50cyB1cGRhdGVzIHRv
IGxheWVyIHRyZWUgZnJvbSBiZWNvbWluZyB2aXNpYmxlLgogICAgIHZpcnR1YWwgdm9pZCBzZXRE
ZWZlckNvbW1pdHMoYm9vbCBkZWZlckNvbW1pdHMpIHsgfQogCisgICAgLy8gVGFrZSByZXNwb25z
aWJsaXR5IGZvciB0aGlzIGxheWVyJ3MgYW5pbWF0aW9ucywgZXZlbiBpZiB0aGlzIGxheWVyIGhh
c24ndCB5ZXQKKyAgICAvLyBiZWVuIGFkZGVkIHRvIHRoZSB0cmVlLgorICAgIHZpcnR1YWwgdm9p
ZCByZWdpc3RlckZvckFuaW1hdGlvbnMoV2ViTGF5ZXIqIGxheWVyKSB7IH0KKwogICAgIC8vIERl
YnVnZ2luZyAvIGRhbmdlcm91cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIAogICAgIC8vIEZpbGxzIGluIGEgV2ViUmVuZGVyaW5nU3RhdHMgc3RydWN0IGNv
bnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBjb21wb3NpdG9yLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRl
eCBkZjM5ZjkxNDAyZTczNmRjZjU4ZDIzOWRkOGU1MzFmMWY3NGQ4NTJjLi4xYTQ3MzlmNjY1YjYx
MmFjMjU1MDNmNTQ4NDMxNGFlOGJmYjYyZWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAtMTE2LDEyICsxMTYsMjIgQEAgbmFtZXNw
YWNlIHsKIAogY2xhc3MgR3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bSA6IHB1YmxpYyBHcmFw
aGljc0xheWVyRmFjdG9yeSB7CiBwdWJsaWM6CisgICAgR3JhcGhpY3NMYXllckZhY3RvcnlDaHJv
bWl1bShXZWJLaXQ6OkNocm9tZUNsaWVudEltcGwqIGNocm9tZUNsaWVudCkKKyAgICAgICAgOiBt
X2Nocm9tZUNsaWVudChjaHJvbWVDbGllbnQpCisgICAgeworICAgIH0KKwogICAgIHZpcnR1YWwg
fkdyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hyb21pdW0oKSB7IH0KIAogICAgIHZpcnR1YWwgUGFzc093
blB0cjxHcmFwaGljc0xheWVyPiBjcmVhdGVHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXJDbGll
bnQqIGNsaWVudCkgT1ZFUlJJREUKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
R3JhcGhpY3NMYXllckNocm9taXVtKGNsaWVudCkpOworICAgICAgICBHcmFwaGljc0xheWVyQ2hy
b21pdW0qIGxheWVyID0gbmV3IEdyYXBoaWNzTGF5ZXJDaHJvbWl1bShjbGllbnQpOworICAgICAg
ICBzdGF0aWNfY2FzdDxXZWJLaXQ6OldlYlZpZXdJbXBsKj4obV9jaHJvbWVDbGllbnQtPndlYlZp
ZXcoKSktPnJlZ2lzdGVyRm9yQW5pbWF0aW9ucyhsYXllci0+cGxhdGZvcm1MYXllcigpKTsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UHRyKGxheWVyKTsKICAgICB9CisKK3ByaXZhdGU6CisgICAgV2Vi
S2l0OjpDaHJvbWVDbGllbnRJbXBsKiBtX2Nocm9tZUNsaWVudDsgLy8gd2VhayBwb2ludGVyCiB9
OwogCiB9IC8vIG5hbWVzcGFjZQpAQCAtMTYxLDcgKzE3MSw3IEBAIENocm9tZUNsaWVudEltcGw6
OkNocm9tZUNsaWVudEltcGwoV2ViVmlld0ltcGwqIHdlYlZpZXcpCiAgICAgLCBtX3BhZ2VQb3B1
cERyaXZlcih3ZWJWaWV3KQogI2VuZGlmCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQotICAgICwgbV9ncmFwaGljc0xheWVyRmFjdG9yeShhZG9wdFB0cihuZXcgR3JhcGhpY3NMYXll
ckZhY3RvcnlDaHJvbWl1bSkpCisgICAgLCBtX2dyYXBoaWNzTGF5ZXJGYWN0b3J5KGFkb3B0UHRy
KG5ldyBHcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVtKHRoaXMpKSkKICNlbmRpZgogewogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGNlODQwYTMw
ODhhMzViNTcwNjM0MDhlNzk4ZGQxNmIzMGNhOGUyNzguLjQ4OTNhM2ExMmVhNjIxMTY1MzQzNWRm
Mjk0ZmFkNmEyYzU2NDc3M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5jcHAKQEAgLTE3MzUsOSArMTczNSwxMCBAQCB2b2lkIFdlYlZpZXdJbXBsOjphbmltYXRl
KGRvdWJsZSkKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgLy8gSW4gY29t
cG9zaXRlZCBtb2RlLCB3ZSBhbHdheXMgZ28gdGhyb3VnaCB0aGUgY29tcG9zaXRvciBzbyBpdCBj
YW4gYXBwbHkKICAgICAvLyBhcHByb3ByaWF0ZSBmbG93LWNvbnRyb2wgbWVjaGFuaXNtcy4KLSAg
ICBpZiAoaXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKCkpCi0gICAgICAgIG1fbGF5ZXJU
cmVlVmlldy0+dXBkYXRlQW5pbWF0aW9ucyhtb25vdG9uaWNGcmFtZUJlZ2luVGltZSk7Ci0gICAg
ZWxzZQorICAgIGlmIChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoKSkgeworICAgICAg
ICBkb3VibGUgd2FsbENsb2NrRnJhbWVCZWdpblRpbWUgPSBjdXJyZW50VGltZSgpOworICAgICAg
ICBtX2xheWVyVHJlZVZpZXctPnVwZGF0ZUFuaW1hdGlvbnMobW9ub3RvbmljRnJhbWVCZWdpblRp
bWUsIHdhbGxDbG9ja0ZyYW1lQmVnaW5UaW1lKTsKKyAgICB9IGVsc2UKICNlbmRpZgogICAgICAg
ICB1cGRhdGVBbmltYXRpb25zKG1vbm90b25pY0ZyYW1lQmVnaW5UaW1lKTsKICNlbmRpZgpAQCAt
MzkzMCw2ICszOTMxLDEyIEBAIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBXZWJWaWV3
SW1wbDo6Z3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdAogICAgIHJldHVybiBtX2Nocm9tZUNs
aWVudEltcGwuZ3JhcGhpY3NMYXllckZhY3RvcnkoKTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6
cmVnaXN0ZXJGb3JBbmltYXRpb25zKFdlYkxheWVyKiBsYXllcikKK3sKKyAgICBpZiAobV9sYXll
clRyZWVWaWV3KQorICAgICAgICBtX2xheWVyVHJlZVZpZXctPnJlZ2lzdGVyRm9yQW5pbWF0aW9u
cyhsYXllcik7Cit9CisKIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIFdlYlZpZXdJbXBsOjpyb290
R3JhcGhpY3NMYXllcigpCiB7CiAgICAgcmV0dXJuIG1fcm9vdEdyYXBoaWNzTGF5ZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCA4NzU0YTU5MTZhZjM1MmUy
MzA3MDJmZGZhYTljNmNmMWFiN2ZmNjAyLi4zOTc5ODYyYWQ2YjM3MjliYjlmMmUwY2VlYWUzNjc0
ODlhMTdkY2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAg
LTU0Myw2ICs1NDMsNyBAQCBwdWJsaWM6CiAgICAgTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0KiBu
b25Db21wb3NpdGVkQ29udGVudEhvc3QoKTsKICAgICB2b2lkIHNldEJhY2tncm91bmRDb2xvcihj
b25zdCBXZWJDb3JlOjpDb2xvciYpOwogICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5
KiBncmFwaGljc0xheWVyRmFjdG9yeSgpIGNvbnN0OworICAgIHZvaWQgcmVnaXN0ZXJGb3JBbmlt
YXRpb25zKFdlYkxheWVyKik7CiAjZW5kaWYKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpCiAgICAgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189364</attachid>
            <date>2013-02-20 13:17:52 -0800</date>
            <delta_ts>2013-02-22 09:01:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106594-20130220161413.patch</filename>
            <type>text/plain</type>
            <size>5804</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBiZTllYWVjNTk2YjNh
NzlmOWRmNjk0YzcyOGY2MWE4YzkxOThiOTg4Li5jZjFiMjEwNzNmODE0Y2UzNDgxZTdkMmVjNWNh
MjEzNTY3ZTQwNzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMi0yMCAg
QWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBSZWdp
c3RlciBuZXdseS1jcmVhdGVkIGxheWVycyBmb3IgYW5pbWF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY1OTQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXll
clRyZWVWaWV3Lmg6CisgICAgICAgIChXZWJMYXllclRyZWVWaWV3KToKKyAgICAgICAgKFdlYktp
dDo6V2ViTGF5ZXJUcmVlVmlldzo6cmVnaXN0ZXJGb3JBbmltYXRpb25zKToKKwogMjAxMy0wMi0x
OSAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjE0MzM4MiBhbmQgcjE0MzQwMS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggODY2YjZiZjMwMmFkZjAzYWUwYThlYmMzYmVjNmIzMDJiM2E3NWZiOC4uNDkx
ZDQ3NDI0NWFkYzllY2M5NzY0NzkxZDJkZTQzZjNjMjBiMzEyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0wMi0yMCAgQWxpIEp1bWEgIDxhanVtYUBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBSZWdpc3RlciBuZXdseS1jcmVhdGVk
IGxheWVycyBmb3IgYW5pbWF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDY1OTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hyb21pdW06OkdyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hy
b21pdW0pOgorICAgICAgICAoR3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bSk6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OkNocm9tZUNsaWVudEltcGwpOgorICAgICAgICAq
IHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpyZWdp
c3RlckZvckFuaW1hdGlvbnMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBzcmMvV2Vi
Vmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToKKwogMjAxMy0wMi0xOSAgQWRyaWVu
bmUgV2Fsa2VyICA8ZW5uZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjE0MzM4MiBhbmQgcjE0MzQwMS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9y
bS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5oIGIvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgKaW5kZXggMDM4OTYwNDVkNmMwOTJmNTAz
NDYwMzFmZjEwMmM1NWI4MDRiZTk3ZC4uYzIzNzIwN2MxNTVhMzUwNjQyMTM1MzY4ODc2ZjE5NzEx
Y2Q4NTkzNyAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJM
YXllclRyZWVWaWV3LmgKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJM
YXllclRyZWVWaWV3LmgKQEAgLTE1Miw3ICsxNTIsNyBAQCBwdWJsaWM6CiAgICAgLy8gSW1tZWRp
YXRlbHkgdXBkYXRlIGFuaW1hdGlvbnMuIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGZy
YW1lIHNjaGVkdWxpbmcgaXMgaGFuZGxlZCBieQogICAgIC8vIHRoZSBXZWJMYXllclRyZWVWaWV3
IHVzZXIgYW5kIG5vdCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21wb3NpdG9yLCBtZWFuaW5nIG9ubHkg
aW4gc2luZ2xlLXRocmVhZGVkCiAgICAgLy8gbW9kZS4KLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
QW5pbWF0aW9ucyhkb3VibGUgZnJhbWVCZWdpblRpbWUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlQW5pbWF0aW9ucyhkb3VibGUgbW9ub3RvbmljRnJhbWVCZWdpblRpbWUpID0gMDsKIAog
ICAgIC8vIFJlbGF5cyB0aGUgZW5kIG9mIGEgZmxpbmcgYW5pbWF0aW9uLgogICAgIHZpcnR1YWwg
dm9pZCBkaWRTdG9wRmxpbmdpbmcoKSB7IH0KQEAgLTE3Miw2ICsxNzIsMTAgQEAgcHVibGljOgog
ICAgIC8vIFByZXZlbnRzIHVwZGF0ZXMgdG8gbGF5ZXIgdHJlZSBmcm9tIGJlY29taW5nIHZpc2li
bGUuCiAgICAgdmlydHVhbCB2b2lkIHNldERlZmVyQ29tbWl0cyhib29sIGRlZmVyQ29tbWl0cykg
eyB9CiAKKyAgICAvLyBUYWtlIHJlc3BvbnNpYmxpdHkgZm9yIHRoaXMgbGF5ZXIncyBhbmltYXRp
b25zLCBldmVuIGlmIHRoaXMgbGF5ZXIgaGFzbid0IHlldAorICAgIC8vIGJlZW4gYWRkZWQgdG8g
dGhlIHRyZWUuCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyRm9yQW5pbWF0aW9ucyhXZWJMYXll
ciogbGF5ZXIpIHsgfQorCiAgICAgLy8gRGVidWdnaW5nIC8gZGFuZ2Vyb3VzIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgLy8gRmlsbHMgaW4gYSBX
ZWJSZW5kZXJpbmdTdGF0cyBzdHJ1Y3QgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUg
c3RhdGUgb2YgdGhlIGNvbXBvc2l0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0Nocm9tZUNsaWVudEltcGwuY3BwCmluZGV4IGU1Mjc2ZmZjYjMyNjlmYjVhZDE5YWM1NjQxZGJk
MTgwN2RmZjljMjMuLmVhMjkxYTdhYjAzOGNiNThiNmZmNTc4NTZjOWUyMjQwMmJiODg5NGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBA
IC0xMTcsMTIgKzExNywyNCBAQCBuYW1lc3BhY2UgewogCiBjbGFzcyBHcmFwaGljc0xheWVyRmFj
dG9yeUNocm9taXVtIDogcHVibGljIEdyYXBoaWNzTGF5ZXJGYWN0b3J5IHsKIHB1YmxpYzoKKyAg
ICBHcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVtKFdlYktpdDo6V2ViVmlld0ltcGwqIHdlYlZp
ZXcpCisgICAgICAgIDogbV93ZWJWaWV3KHdlYlZpZXcpCisgICAgeworICAgIH0KKwogICAgIHZp
cnR1YWwgfkdyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hyb21pdW0oKSB7IH0KIAogICAgIHZpcnR1YWwg
UGFzc093blB0cjxHcmFwaGljc0xheWVyPiBjcmVhdGVHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5
ZXJDbGllbnQqIGNsaWVudCkgT1ZFUlJJREUKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0
cihuZXcgR3JhcGhpY3NMYXllckNocm9taXVtKGNsaWVudCkpOworICAgICAgICBPd25QdHI8R3Jh
cGhpY3NMYXllckNocm9taXVtPiBsYXllciA9IGFkb3B0UHRyKG5ldyBHcmFwaGljc0xheWVyQ2hy
b21pdW0oY2xpZW50KSk7CisgICAgICAgIG1fd2ViVmlldy0+cmVnaXN0ZXJGb3JBbmltYXRpb25z
KGxheWVyLT5wbGF0Zm9ybUxheWVyKCkpOworICAgICAgICByZXR1cm4gbGF5ZXIucmVsZWFzZSgp
OwogICAgIH0KKworcHJpdmF0ZToKKyAgICAvLyBHcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVt
J3MgbGlmZXRpbWUgaXMgYm91bmRlZCBieSB0aGF0IG9mIGl0cyBvd25pbmcKKyAgICAvLyBDaHJv
bWVDbGllbnRJbXBsLCB3aG9zZSBvd24gbGlmZXRpbWUgaXMgYm91bmRlZCBieSB0aGF0IG9mIG1f
d2ViVmlldy4KKyAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiBtX3dlYlZpZXc7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZQpAQCAtMTYyLDcgKzE3NCw3IEBAIENocm9tZUNsaWVudEltcGw6OkNocm9tZUNs
aWVudEltcGwoV2ViVmlld0ltcGwqIHdlYlZpZXcpCiAgICAgLCBtX3BhZ2VQb3B1cERyaXZlcih3
ZWJWaWV3KQogI2VuZGlmCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgICwg
bV9ncmFwaGljc0xheWVyRmFjdG9yeShhZG9wdFB0cihuZXcgR3JhcGhpY3NMYXllckZhY3RvcnlD
aHJvbWl1bSkpCisgICAgLCBtX2dyYXBoaWNzTGF5ZXJGYWN0b3J5KGFkb3B0UHRyKG5ldyBHcmFw
aGljc0xheWVyRmFjdG9yeUNocm9taXVtKG1fd2ViVmlldykpKQogI2VuZGlmCiB7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggYTM3MWRmMGUzNTE1
NjY4ODNjMTcwNDg4ZDMxNWQwMTlmMGIxMjAxOS4uMTZlMmYxYzQ5NTIyZjIwOTA3YTdiY2E5OTg4
YmM1N2M4Nzg1NThlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcApAQCAtNDA3Myw2ICs0MDczLDEyIEBAIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5
KiBXZWJWaWV3SW1wbDo6Z3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdAogICAgIHJldHVybiBt
X2Nocm9tZUNsaWVudEltcGwuZ3JhcGhpY3NMYXllckZhY3RvcnkoKTsKIH0KIAordm9pZCBXZWJW
aWV3SW1wbDo6cmVnaXN0ZXJGb3JBbmltYXRpb25zKFdlYkxheWVyKiBsYXllcikKK3sKKyAgICBp
ZiAobV9sYXllclRyZWVWaWV3KQorICAgICAgICBtX2xheWVyVHJlZVZpZXctPnJlZ2lzdGVyRm9y
QW5pbWF0aW9ucyhsYXllcik7Cit9CisKIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIFdlYlZpZXdJ
bXBsOjpyb290R3JhcGhpY3NMYXllcigpCiB7CiAgICAgcmV0dXJuIG1fcm9vdEdyYXBoaWNzTGF5
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCA2ZGNjNDcz
N2E1OGVlZmQ0YzAyYzQ1YmRmZDYyOGQxMTNiZGIwNmU0Li5kMDY0YjllYjg0Mjk2NDU2MGMzZWQ4
MzkxZmJhNTgwYzgwNGRiMzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmgKQEAgLTU0Nyw2ICs1NDcsNyBAQCBwdWJsaWM6CiAgICAgTm9uQ29tcG9zaXRlZENvbnRl
bnRIb3N0KiBub25Db21wb3NpdGVkQ29udGVudEhvc3QoKTsKICAgICB2b2lkIHNldEJhY2tncm91
bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpOwogICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXJGYWN0b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgpIGNvbnN0OworICAgIHZvaWQgcmVnaXN0
ZXJGb3JBbmltYXRpb25zKFdlYkxheWVyKik7CiAjZW5kaWYKICNpZiBFTkFCTEUoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpCiAgICAgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189777</attachid>
            <date>2013-02-22 09:01:39 -0800</date>
            <delta_ts>2013-02-22 11:58:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106594-20130222115758.patch</filename>
            <type>text/plain</type>
            <size>8438</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAzZWEzODZjMWMxZjJh
MmY1NWU0MDlmZmNkZTFjODRiMDE1MmY3OTQyLi44ZWQ5YzFiYTg5NTdmMmNiYTE0NTkxMWI2Yjdk
N2U2ZTdiZjQ1YjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMi0yMiAg
QWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBSZWdp
c3RlciBuZXdseS1jcmVhdGVkIGxheWVycyBmb3IgYW5pbWF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY1OTQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXll
clRyZWVWaWV3Lmg6CisgICAgICAgIChXZWJMYXllclRyZWVWaWV3KToKKyAgICAgICAgKFdlYktp
dDo6V2ViTGF5ZXJUcmVlVmlldzo6cmVnaXN0ZXJGb3JBbmltYXRpb25zKToKKwogMjAxMy0wMi0y
MSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJv
bWl1bV0gUmVtb3ZlIGRlcHJlY2F0ZWQgV2ViQ29tcG9zaXRvclN1cHBvcnQ6OmNyZWF0ZUxheWVy
VHJlZVZpZXcoKSBkZWNsYXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA4ODk1
MjQwODgxZTc5YWU2ZmI4ZmEyYjQ2NmIzMjg2MjczMmM3ZTUxLi41NDdlMzllNmE5NGE0MWI4OWU4
ZjlmYWRkMmQyNDE0MTQzMjQ1ZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIzIEBACisyMDEzLTAyLTIyICBBbGkgSnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbY2hyb21pdW1dIFJlZ2lzdGVyIG5ld2x5LWNyZWF0ZWQgbGF5ZXJzIGZvciBhbmlt
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
NjU5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
c3JjL0Nocm9tZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJ
bXBsOjpDaHJvbWVDbGllbnRJbXBsKToKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1w
bDo6Z3JhcGhpY3NMYXllckZhY3RvcnkpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBs
Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0lt
cGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Z3JhcGhpY3NMYXllckZhY3RvcnkpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnJlZ2lzdGVyRm9yQW5p
bWF0aW9ucyk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3
SW1wbCk6CisKIDIwMTMtMDItMjEgIEpvaG4gTWVsbG9yICA8am9obm1lQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIFNpbXBsaWZ5IGNvbXB1dGF0aW9uIG9mIHNjcmVlblJlY3Qv
d2luZG93UmVjdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
V2ViTGF5ZXJUcmVlVmlldy5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJM
YXllclRyZWVWaWV3LmgKaW5kZXggMDM4OTYwNDVkNmMwOTJmNTAzNDYwMzFmZjEwMmM1NWI4MDRi
ZTk3ZC4uZDUyODcyOTBjZjBkODFjMjk0MzFiYzBkZWRhYjQ5MTY0YThhM2VlZiAxMDA2NDQKLS0t
IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgKKysr
IGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgKQEAg
LTE3Miw2ICsxNzIsMTAgQEAgcHVibGljOgogICAgIC8vIFByZXZlbnRzIHVwZGF0ZXMgdG8gbGF5
ZXIgdHJlZSBmcm9tIGJlY29taW5nIHZpc2libGUuCiAgICAgdmlydHVhbCB2b2lkIHNldERlZmVy
Q29tbWl0cyhib29sIGRlZmVyQ29tbWl0cykgeyB9CiAKKyAgICAvLyBUYWtlIHJlc3BvbnNpYmxp
dHkgZm9yIHRoaXMgbGF5ZXIncyBhbmltYXRpb25zLCBldmVuIGlmIHRoaXMgbGF5ZXIgaGFzbid0
IHlldAorICAgIC8vIGJlZW4gYWRkZWQgdG8gdGhlIHRyZWUuCisgICAgdmlydHVhbCB2b2lkIHJl
Z2lzdGVyRm9yQW5pbWF0aW9ucyhXZWJMYXllciogbGF5ZXIpIHsgfQorCiAgICAgLy8gRGVidWdn
aW5nIC8gZGFuZ2Vyb3VzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogCiAgICAgLy8gRmlsbHMgaW4gYSBXZWJSZW5kZXJpbmdTdGF0cyBzdHJ1Y3QgY29udGFp
bmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RhdGUgb2YgdGhlIGNvbXBvc2l0b3IuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCmluZGV4IDQ5
NTc2OGEwNTZkMjcxY2U0YjBhMDY2YzhiNTE2MjEzM2UzNGRiODYuLmY1M2YwYWVjOWRlODVjNzU1
ZWE4YWNjOTNkYzhmZWE3YTc0MmQwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC01OCw3ICs1OCw2IEBACiAjaW5jbHVkZSAiRnJh
bWVWaWV3LmgiCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlICJHcmFwaGljc0xh
eWVyQ2hyb21pdW0uaCIKLSNpbmNsdWRlICJHcmFwaGljc0xheWVyRmFjdG9yeS5oIgogI2luY2x1
ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRl
ICJIaXRUZXN0UmVzdWx0LmgiCkBAIC0xMTMsMjAgKzExMiw2IEBACiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCi1uYW1lc3BhY2UgewotCi1jbGFzcyBHcmFwaGljc0xheWVyRmFjdG9yeUNo
cm9taXVtIDogcHVibGljIEdyYXBoaWNzTGF5ZXJGYWN0b3J5IHsKLXB1YmxpYzoKLSAgICB2aXJ0
dWFsIH5HcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVtKCkgeyB9Ci0KLSAgICB2aXJ0dWFsIFBh
c3NPd25QdHI8R3JhcGhpY3NMYXllcj4gY3JlYXRlR3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVy
Q2xpZW50KiBjbGllbnQpIE9WRVJSSURFCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIo
bmV3IEdyYXBoaWNzTGF5ZXJDaHJvbWl1bShjbGllbnQpKTsKLSAgICB9Ci19OwotCi19IC8vIG5h
bWVzcGFjZQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gQ29udmVydHMgYSBXZWJDb3JlOjpQ
b3B1cENvbnRhaW5lclR5cGUgdG8gYSBXZWJLaXQ6OldlYlBvcHVwVHlwZS4KQEAgLTE2MSw5ICsx
NDYsNiBAQCBDaHJvbWVDbGllbnRJbXBsOjpDaHJvbWVDbGllbnRJbXBsKFdlYlZpZXdJbXBsKiB3
ZWJWaWV3KQogI2lmIEVOQUJMRShQQUdFX1BPUFVQKQogICAgICwgbV9wYWdlUG9wdXBEcml2ZXIo
d2ViVmlldykKICNlbmRpZgotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICAs
IG1fZ3JhcGhpY3NMYXllckZhY3RvcnkoYWRvcHRQdHIobmV3IEdyYXBoaWNzTGF5ZXJGYWN0b3J5
Q2hyb21pdW0pKQotI2VuZGlmCiB7CiB9CiAKQEAgLTk0Myw3ICs5MjUsNyBAQCBib29sIENocm9t
ZUNsaWVudEltcGw6OnBhaW50Q3VzdG9tT3ZlcmhhbmdBcmVhKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgSQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIEdyYXBoaWNz
TGF5ZXJGYWN0b3J5KiBDaHJvbWVDbGllbnRJbXBsOjpncmFwaGljc0xheWVyRmFjdG9yeSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fZ3JhcGhpY3NMYXllckZhY3RvcnkuZ2V0KCk7CisgICAgcmV0
dXJuIG1fd2ViVmlldy0+Z3JhcGhpY3NMYXllckZhY3RvcnkoKTsKIH0KIAogdm9pZCBDaHJvbWVD
bGllbnRJbXBsOjphdHRhY2hSb290R3JhcGhpY3NMYXllcihGcmFtZSogZnJhbWUsIEdyYXBoaWNz
TGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKaW5kZXggMmM4OWQ4ZTkxY2IxOWE4MTQzYTEwZTE5ZmUyMmI5YzQ2MGEy
NThlZS4uODQwN2FjYzY5NTM5NDYzNGEyNzgzNjA0YTBhOGFiOWViYWM1ZjExZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtMzgsNyArMzgs
NiBAQAogI2luY2x1ZGUgIlNlYXJjaFBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYk5hdmlnYXRp
b25Qb2xpY3kuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViQ29sb3IuaD4KLSNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtMjUyLDEwICsyNTEsNiBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShQQUdFX1BPUFVQ
KQogICAgIFdlYkNvcmU6OlBhZ2VQb3B1cERyaXZlciogbV9wYWdlUG9wdXBEcml2ZXI7CiAjZW5k
aWYKLQotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICBPd25QdHI8V2ViQ29y
ZTo6R3JhcGhpY3NMYXllckZhY3Rvcnk+IG1fZ3JhcGhpY3NMYXllckZhY3Rvcnk7Ci0jZW5kaWYK
IH07CiAKIGNsYXNzIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEltcGwgOiBwdWJsaWMgV2Vi
Q29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBhMzcxZGYwZTM1MTU2Njg4M2MxNzA0ODhkMzE1
ZDAxOWYwYjEyMDE5Li4yMTExNjc2MWQ2YjU2ZDA1NmE2NTgyNTg2NDczNzY5MjAxOWNiNzFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02OCw2ICs2
OCw3IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0M0QuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQzRFByaXZhdGUuaCIKKyNpbmNs
dWRlICJHcmFwaGljc0xheWVyRmFjdG9yeS5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgi
CkBAIC0yMDYsNiArMjA3LDMxIEBAIHN0YXRpYyBjb25zdCBmbG9hdCBtaW5TY2FsZUNoYW5nZVRv
VHJpZ2dlclpvb20gPSAxLjA1ZjsKIHN0YXRpYyBjb25zdCBmbG9hdCBsZWZ0Qm94UmF0aW8gPSAw
LjNmOwogc3RhdGljIGNvbnN0IGludCBjYXJldFBhZGRpbmcgPSAxMDsKIAorbmFtZXNwYWNlIHsK
KworY2xhc3MgR3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bSA6IHB1YmxpYyBHcmFwaGljc0xh
eWVyRmFjdG9yeSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgR3JhcGhpY3NMYXllckZhY3RvcnlD
aHJvbWl1bShXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3KQorICAgICAgICA6IG1fd2ViVmll
dyh3ZWJWaWV3KQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5HcmFwaGljc0xheWVyRmFj
dG9yeUNocm9taXVtKCkgeyB9CisKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8R3JhcGhpY3NMYXll
cj4gY3JlYXRlR3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyQ2xpZW50KiBjbGllbnQpIE9WRVJS
SURFCisgICAgeworICAgICAgICBPd25QdHI8R3JhcGhpY3NMYXllckNocm9taXVtPiBsYXllciA9
IGFkb3B0UHRyKG5ldyBHcmFwaGljc0xheWVyQ2hyb21pdW0oY2xpZW50KSk7CisgICAgICAgIG1f
d2ViVmlldy0+cmVnaXN0ZXJGb3JBbmltYXRpb25zKGxheWVyLT5wbGF0Zm9ybUxheWVyKCkpOwor
ICAgICAgICByZXR1cm4gbGF5ZXIucmVsZWFzZSgpOworICAgIH0KKworcHJpdmF0ZToKKyAgICAv
LyBUaGUgb3duZXIgb2YgdGhpcyBHcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVtLgorICAgIFdl
YktpdDo6V2ViVmlld0ltcGwqIG1fd2ViVmlldzsKK307CisKK30gLy8gbmFtZXNwYWNlCisKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiAvLyBDaGFuZ2UgdGhlIHRleHQgem9vbSBsZXZlbCBieSBrVGV4
dFNpemVNdWx0aXBsaWVyUmF0aW8gZWFjaCB0aW1lIHRoZSB1c2VyCkBAIC00MjMsNiArNDQ5LDcg
QEAgV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICAgICAs
IG1fbGF5ZXJUcmVlVmlldygwKQogICAgICwgbV9yb290TGF5ZXIoMCkKICAgICAsIG1fcm9vdEdy
YXBoaWNzTGF5ZXIoMCkKKyAgICAsIG1fZ3JhcGhpY3NMYXllckZhY3RvcnkoYWRvcHRQdHIobmV3
IEdyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hyb21pdW0odGhpcykpKQogICAgICwgbV9pc0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmdBY3RpdmUoZmFsc2UpCiAgICAgLCBtX2xheWVyVHJlZVZpZXdDb21taXRz
RGVmZXJyZWQoZmFsc2UpCiAgICAgLCBtX2NvbXBvc2l0b3JDcmVhdGlvbkZhaWxlZChmYWxzZSkK
QEAgLTQwNzAsNyArNDA5NywxMyBAQCB2b2lkIFdlYlZpZXdJbXBsOjpzZXRCYWNrZ3JvdW5kQ29s
b3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yKQogCiBXZWJDb3JlOjpHcmFwaGljc0xheWVy
RmFjdG9yeSogV2ViVmlld0ltcGw6OmdyYXBoaWNzTGF5ZXJGYWN0b3J5KCkgY29uc3QKIHsKLSAg
ICByZXR1cm4gbV9jaHJvbWVDbGllbnRJbXBsLmdyYXBoaWNzTGF5ZXJGYWN0b3J5KCk7CisgICAg
cmV0dXJuIG1fZ3JhcGhpY3NMYXllckZhY3RvcnkuZ2V0KCk7Cit9CisKK3ZvaWQgV2ViVmlld0lt
cGw6OnJlZ2lzdGVyRm9yQW5pbWF0aW9ucyhXZWJMYXllciogbGF5ZXIpCit7CisgICAgaWYgKG1f
bGF5ZXJUcmVlVmlldykKKyAgICAgICAgbV9sYXllclRyZWVWaWV3LT5yZWdpc3RlckZvckFuaW1h
dGlvbnMobGF5ZXIpOwogfQogCiBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiBXZWJWaWV3SW1wbDo6
cm9vdEdyYXBoaWNzTGF5ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmgKaW5kZXggNmRjYzQ3MzdhNThlZWZkNGMwMmM0NWJkZmQ2MjhkMTEzYmRiMDZlNC4uZmY1ODYy
M2Q0ZTNkZWRhNWFhYjIwMTI5NzFmNjI4ZjU1YzI5ZmE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC01NDcsNiArNTQ3LDcgQEAgcHVibGljOgogICAgIE5v
bkNvbXBvc2l0ZWRDb250ZW50SG9zdCogbm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0KCk7CiAgICAg
dm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKICAgICBXZWJD
b3JlOjpHcmFwaGljc0xheWVyRmFjdG9yeSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdDsK
KyAgICB2b2lkIHJlZ2lzdGVyRm9yQW5pbWF0aW9ucyhXZWJMYXllciopOwogI2VuZGlmCiAjaWYg
RU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQogICAgIHZvaWQgc2NoZWR1bGVBbmltYXRp
b24oKTsKQEAgLTg2MSw2ICs4NjIsNyBAQCBwcml2YXRlOgogICAgIFdlYkxheWVyVHJlZVZpZXcq
IG1fbGF5ZXJUcmVlVmlldzsKICAgICBXZWJMYXllciogbV9yb290TGF5ZXI7CiAgICAgV2ViQ29y
ZTo6R3JhcGhpY3NMYXllciogbV9yb290R3JhcGhpY3NMYXllcjsKKyAgICBPd25QdHI8V2ViQ29y
ZTo6R3JhcGhpY3NMYXllckZhY3Rvcnk+IG1fZ3JhcGhpY3NMYXllckZhY3Rvcnk7CiAgICAgYm9v
bCBtX2lzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZTsKICAgICBib29sIG1fbGF5ZXJUcmVl
Vmlld0NvbW1pdHNEZWZlcnJlZDsKICAgICBib29sIG1fY29tcG9zaXRvckNyZWF0aW9uRmFpbGVk
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189805</attachid>
            <date>2013-02-22 11:58:52 -0800</date>
            <delta_ts>2013-02-22 14:44:45 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-106594-20130222145511.patch</filename>
            <type>text/plain</type>
            <size>13339</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAzZWEzODZjMWMxZjJh
MmY1NWU0MDlmZmNkZTFjODRiMDE1MmY3OTQyLi40MmZmNDhlZTdiZTZkZjBhNGUzYmRhMmRjZmE3
MGViNWZlMTA3M2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMi0yMiAg
QWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBSZWdp
c3RlciBuZXdseS1jcmVhdGVkIGxheWVycyBmb3IgYW5pbWF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY1OTQKKworICAgICAgICBSZXZpZXdl
ZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXll
clRyZWVWaWV3Lmg6CisgICAgICAgIChXZWJMYXllclRyZWVWaWV3KToKKyAgICAgICAgKFdlYktp
dDo6V2ViTGF5ZXJUcmVlVmlldzo6cmVnaXN0ZXJGb3JBbmltYXRpb25zKToKKwogMjAxMy0wMi0y
MSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJv
bWl1bV0gUmVtb3ZlIGRlcHJlY2F0ZWQgV2ViQ29tcG9zaXRvclN1cHBvcnQ6OmNyZWF0ZUxheWVy
VHJlZVZpZXcoKSBkZWNsYXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA4ODk1
MjQwODgxZTc5YWU2ZmI4ZmEyYjQ2NmIzMjg2MjczMmM3ZTUxLi45OTRmMmE5OGY1OWRkYzE0OWIw
NmVmNTdmMTljMTJlMGVjMTZlZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMyIEBACisyMDEzLTAyLTIyICBBbGkgSnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbY2hyb21pdW1dIFJlZ2lzdGVyIG5ld2x5LWNyZWF0ZWQgbGF5ZXJzIGZvciBhbmlt
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
NjU5NAorCisgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgorCisgICAgICAgICog
V2ViS2l0Lmd5cDoKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OkNocm9tZUNsaWVudEltcGwpOgorICAgICAgICAo
V2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjpncmFwaGljc0xheWVyRmFjdG9yeSk6CisgICAgICAg
ICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEltcGwpOgor
ICAgICAgICAqIHNyYy9HcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVtLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpHcmFwaGljc0xheWVyRmFjdG9yeUNo
cm9taXVtOjpHcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVtKToKKyAgICAgICAgKFdlYktpdDo6
R3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bTo6fkdyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hyb21p
dW0pOgorICAgICAgICAoV2ViS2l0OjpHcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVtOjpjcmVh
dGVHcmFwaGljc0xheWVyKToKKyAgICAgICAgKiBzcmMvR3JhcGhpY3NMYXllckZhY3RvcnlDaHJv
bWl1bS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChHcmFwaGljc0xheWVy
RmFjdG9yeUNocm9taXVtKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6Z3JhcGhpY3NMYXllckZhY3RvcnkpOgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnJlZ2lzdGVyRm9yQW5pbWF0aW9ucyk6CisgICAg
ICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTMt
MDItMjEgIEpvaG4gTWVsbG9yICA8am9obm1lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hy
b21pdW1dIFNpbXBsaWZ5IGNvbXB1dGF0aW9uIG9mIHNjcmVlblJlY3Qvd2luZG93UmVjdC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmll
dy5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgK
aW5kZXggMDM4OTYwNDVkNmMwOTJmNTAzNDYwMzFmZjEwMmM1NWI4MDRiZTk3ZC4uZDUyODcyOTBj
ZjBkODFjMjk0MzFiYzBkZWRhYjQ5MTY0YThhM2VlZiAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgKKysrIGIvU291cmNlL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgKQEAgLTE3Miw2ICsxNzIsMTAg
QEAgcHVibGljOgogICAgIC8vIFByZXZlbnRzIHVwZGF0ZXMgdG8gbGF5ZXIgdHJlZSBmcm9tIGJl
Y29taW5nIHZpc2libGUuCiAgICAgdmlydHVhbCB2b2lkIHNldERlZmVyQ29tbWl0cyhib29sIGRl
ZmVyQ29tbWl0cykgeyB9CiAKKyAgICAvLyBUYWtlIHJlc3BvbnNpYmxpdHkgZm9yIHRoaXMgbGF5
ZXIncyBhbmltYXRpb25zLCBldmVuIGlmIHRoaXMgbGF5ZXIgaGFzbid0IHlldAorICAgIC8vIGJl
ZW4gYWRkZWQgdG8gdGhlIHRyZWUuCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyRm9yQW5pbWF0
aW9ucyhXZWJMYXllciogbGF5ZXIpIHsgfQorCiAgICAgLy8gRGVidWdnaW5nIC8gZGFuZ2Vyb3Vz
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgLy8g
RmlsbHMgaW4gYSBXZWJSZW5kZXJpbmdTdGF0cyBzdHJ1Y3QgY29udGFpbmluZyBpbmZvcm1hdGlv
biBhYm91dCB0aGUgc3RhdGUgb2YgdGhlIGNvbXBvc2l0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXAKaW5kZXggZWU0ZGEzZGIxMWZmMmY0YTJkNmM5ZmQwNWE0MTNjYTczN2QwMDBhZS4uOTVj
MmRjMTkzM2UxMDZmY2UwYjVhYTdmMjc1ZmY2YTliMzY3YmM4ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cApAQCAtMzUxLDYgKzM1MSw4IEBACiAgICAgICAgICAgICAgICAgJ3NyYy9GcmFt
ZU5ldHdvcmtpbmdDb250ZXh0SW1wbC5oJywKICAgICAgICAgICAgICAgICAnc3JjL0dlb2xvY2F0
aW9uQ2xpZW50UHJveHkuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL0dlb2xvY2F0aW9uQ2xp
ZW50UHJveHkuaCcsCisgICAgICAgICAgICAgICAgJ3NyYy9HcmFwaGljc0xheWVyRmFjdG9yeUNo
cm9taXVtLmNwcCcsCisgICAgICAgICAgICAgICAgJ3NyYy9HcmFwaGljc0xheWVyRmFjdG9yeUNo
cm9taXVtLmgnLAogICAgICAgICAgICAgICAgICdzcmMvZ3RrL1dlYklucHV0RXZlbnRGYWN0b3J5
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJIZWxwZXJQbHVnaW5JbXBsLmNwcCcsCiAg
ICAgICAgICAgICAgICAgJ3NyYy9XZWJIZWxwZXJQbHVnaW5JbXBsLmgnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCA0OTU3NjhhMDU2
ZDI3MWNlNGIwYTA2NmM4YjUxNjIxMzNlMzRkYjg2Li5mNTNmMGFlYzlkZTg1Yzc1NWVhOGFjYzkz
ZGM4ZmVhN2E3NDJkMDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9D
aHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmNwcApAQCAtNTgsNyArNTgsNiBAQAogI2luY2x1ZGUgIkZyYW1lVmlldy5o
IgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNocm9t
aXVtLmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NMYXllckZhY3RvcnkuaCIKICNpbmNsdWRlICJIVE1M
SW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSGl0VGVz
dFJlc3VsdC5oIgpAQCAtMTEzLDIwICsxMTIsNiBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAotbmFtZXNwYWNlIHsKLQotY2xhc3MgR3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bSA6
IHB1YmxpYyBHcmFwaGljc0xheWVyRmFjdG9yeSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+R3Jh
cGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bSgpIHsgfQotCi0gICAgdmlydHVhbCBQYXNzT3duUHRy
PEdyYXBoaWNzTGF5ZXI+IGNyZWF0ZUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCog
Y2xpZW50KSBPVkVSUklERQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBHcmFw
aGljc0xheWVyQ2hyb21pdW0oY2xpZW50KSk7Ci0gICAgfQotfTsKLQotfSAvLyBuYW1lc3BhY2UK
LQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIENvbnZlcnRzIGEgV2ViQ29yZTo6UG9wdXBDb250
YWluZXJUeXBlIHRvIGEgV2ViS2l0OjpXZWJQb3B1cFR5cGUuCkBAIC0xNjEsOSArMTQ2LDYgQEAg
Q2hyb21lQ2xpZW50SW1wbDo6Q2hyb21lQ2xpZW50SW1wbChXZWJWaWV3SW1wbCogd2ViVmlldykK
ICNpZiBFTkFCTEUoUEFHRV9QT1BVUCkKICAgICAsIG1fcGFnZVBvcHVwRHJpdmVyKHdlYlZpZXcp
CiAjZW5kaWYKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgLCBtX2dyYXBo
aWNzTGF5ZXJGYWN0b3J5KGFkb3B0UHRyKG5ldyBHcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVt
KSkKLSNlbmRpZgogewogfQogCkBAIC05NDMsNyArOTI1LDcgQEAgYm9vbCBDaHJvbWVDbGllbnRJ
bXBsOjpwYWludEN1c3RvbU92ZXJoYW5nQXJlYShHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEkKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiBHcmFwaGljc0xheWVyRmFj
dG9yeSogQ2hyb21lQ2xpZW50SW1wbDo6Z3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdAogewot
ICAgIHJldHVybiBtX2dyYXBoaWNzTGF5ZXJGYWN0b3J5LmdldCgpOworICAgIHJldHVybiBtX3dl
YlZpZXctPmdyYXBoaWNzTGF5ZXJGYWN0b3J5KCk7CiB9CiAKIHZvaWQgQ2hyb21lQ2xpZW50SW1w
bDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqIGZyYW1lLCBHcmFwaGljc0xheWVyKiBn
cmFwaGljc0xheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50
SW1wbC5oCmluZGV4IDJjODlkOGU5MWNiMTlhODE0M2ExMGUxOWZlMjJiOWM0NjBhMjU4ZWUuLjg0
MDdhY2M2OTUzOTQ2MzRhMjc4MzYwNGEwYThhYjllYmFjNWYxMWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKQEAgLTM4LDcgKzM4LDYgQEAKICNp
bmNsdWRlICJTZWFyY2hQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJOYXZpZ2F0aW9uUG9saWN5
LmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYkNvbG9yLmg+Ci0jaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTI1MiwxMCArMjUxLDYgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoUEFHRV9QT1BVUCkKICAgICBX
ZWJDb3JlOjpQYWdlUG9wdXBEcml2ZXIqIG1fcGFnZVBvcHVwRHJpdmVyOwogI2VuZGlmCi0KLSNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgT3duUHRyPFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJGYWN0b3J5PiBtX2dyYXBoaWNzTGF5ZXJGYWN0b3J5OwotI2VuZGlmCiB9OwogCiBj
bGFzcyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6Ok5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9HcmFwaGljc0xheWVyRmFjdG9yeUNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hyb21pdW0uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIyYTdiZjE2OTE4NDE1OWJkN2ZlNzAxMjJhNDRlNWRlYmEwNDU1ZjYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0xheWVyRmFjdG9yeUNo
cm9taXVtLmNwcApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hyb21pdW0uaCIKKworI2luY2x1ZGUgIkdy
YXBoaWNzTGF5ZXJDaHJvbWl1bS5oIgorI2luY2x1ZGUgIldlYlZpZXdJbXBsLmgiCisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworR3JhcGhpY3NMYXll
ckZhY3RvcnlDaHJvbWl1bTo6R3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bShXZWJWaWV3SW1w
bCogd2ViVmlldykKKyAgICA6IG1fd2ViVmlldyh3ZWJWaWV3KQoreworfQorCitHcmFwaGljc0xh
eWVyRmFjdG9yeUNocm9taXVtOjp+R3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bSgpCit7Cit9
CisKK1Bhc3NPd25QdHI8R3JhcGhpY3NMYXllcj4gR3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1
bTo6Y3JlYXRlR3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyQ2xpZW50KiBjbGllbnQpCit7Cisg
ICAgT3duUHRyPEdyYXBoaWNzTGF5ZXJDaHJvbWl1bT4gbGF5ZXIgPSBhZG9wdFB0cihuZXcgR3Jh
cGhpY3NMYXllckNocm9taXVtKGNsaWVudCkpOworICAgIG1fd2ViVmlldy0+cmVnaXN0ZXJGb3JB
bmltYXRpb25zKGxheWVyLT5wbGF0Zm9ybUxheWVyKCkpOworICAgIHJldHVybiBsYXllci5yZWxl
YXNlKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bS5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjViODVhM2FkZmY3NTkzYWY5YzY3MDdkMmFhZjBjMDY5OTBhNGRlZGMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0xheWVyRmFjdG9y
eUNocm9taXVtLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgR3JhcGhpY3NMYXll
ckZhY3RvcnlDaHJvbWl1bV9oCisjZGVmaW5lIEdyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hyb21pdW1f
aAorCisjaW5jbHVkZSAiR3JhcGhpY3NMYXllckZhY3RvcnkuaCIKKworbmFtZXNwYWNlIFdlYktp
dCB7CitjbGFzcyBXZWJWaWV3SW1wbDsKKworY2xhc3MgR3JhcGhpY3NMYXllckZhY3RvcnlDaHJv
bWl1bSA6IHB1YmxpYyBXZWJDb3JlOjpHcmFwaGljc0xheWVyRmFjdG9yeSB7CitwdWJsaWM6Cisg
ICAgZXhwbGljaXQgR3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bShXZWJWaWV3SW1wbCopOwor
CisgICAgdmlydHVhbCB+R3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bSgpOworCisgICAgdmly
dHVhbCBQYXNzT3duUHRyPFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI+IGNyZWF0ZUdyYXBoaWNzTGF5
ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsaWVudCopIE9WRVJSSURFOworCitwcml2YXRlOgor
ICAgIC8vIFRoZSBvd25lciBvZiB0aGlzIEdyYXBoaWNzTGF5ZXJGYWN0b3J5Q2hyb21pdW0uCisg
ICAgV2ViVmlld0ltcGwqIG1fd2ViVmlldzsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRl
eCBhMzcxZGYwZTM1MTU2Njg4M2MxNzA0ODhkMzE1ZDAxOWYwYjEyMDE5Li5lNzljZDY3MDVlZWZh
NTFmNDYyYjliNDg5OThiYTBmNzk3MzQ4NTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQzRFByaXZhdGUuaCIKKyNpbmNsdWRlICJHcmFwaGljc0xheWVyRmFjdG9yeUNo
cm9taXVtLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxN
ZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKQEAgLTQyMyw2ICs0MjQsNyBA
QCBXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwoV2ViVmlld0NsaWVudCogY2xpZW50KQogICAgICwg
bV9sYXllclRyZWVWaWV3KDApCiAgICAgLCBtX3Jvb3RMYXllcigwKQogICAgICwgbV9yb290R3Jh
cGhpY3NMYXllcigwKQorICAgICwgbV9ncmFwaGljc0xheWVyRmFjdG9yeShhZG9wdFB0cihuZXcg
R3JhcGhpY3NMYXllckZhY3RvcnlDaHJvbWl1bSh0aGlzKSkpCiAgICAgLCBtX2lzQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0FjdGl2ZShmYWxzZSkKICAgICAsIG1fbGF5ZXJUcmVlVmlld0NvbW1pdHNE
ZWZlcnJlZChmYWxzZSkKICAgICAsIG1fY29tcG9zaXRvckNyZWF0aW9uRmFpbGVkKGZhbHNlKQpA
QCAtNDA3MCw3ICs0MDcyLDEzIEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldEJhY2tncm91bmRDb2xv
cihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29sb3IpCiAKIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJG
YWN0b3J5KiBXZWJWaWV3SW1wbDo6Z3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdAogewotICAg
IHJldHVybiBtX2Nocm9tZUNsaWVudEltcGwuZ3JhcGhpY3NMYXllckZhY3RvcnkoKTsKKyAgICBy
ZXR1cm4gbV9ncmFwaGljc0xheWVyRmFjdG9yeS5nZXQoKTsKK30KKwordm9pZCBXZWJWaWV3SW1w
bDo6cmVnaXN0ZXJGb3JBbmltYXRpb25zKFdlYkxheWVyKiBsYXllcikKK3sKKyAgICBpZiAobV9s
YXllclRyZWVWaWV3KQorICAgICAgICBtX2xheWVyVHJlZVZpZXctPnJlZ2lzdGVyRm9yQW5pbWF0
aW9ucyhsYXllcik7CiB9CiAKIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIFdlYlZpZXdJbXBsOjpy
b290R3JhcGhpY3NMYXllcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
aAppbmRleCA2ZGNjNDczN2E1OGVlZmQ0YzAyYzQ1YmRmZDYyOGQxMTNiZGIwNmU0Li5mZjU4NjIz
ZDRlM2RlZGE1YWFiMjAxMjk3MWY2MjhmNTVjMjlmYTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTU0Nyw2ICs1NDcsNyBAQCBwdWJsaWM6CiAgICAgTm9u
Q29tcG9zaXRlZENvbnRlbnRIb3N0KiBub25Db21wb3NpdGVkQ29udGVudEhvc3QoKTsKICAgICB2
b2lkIHNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpOwogICAgIFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgpIGNvbnN0Owor
ICAgIHZvaWQgcmVnaXN0ZXJGb3JBbmltYXRpb25zKFdlYkxheWVyKik7CiAjZW5kaWYKICNpZiBF
TkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAgdm9pZCBzY2hlZHVsZUFuaW1hdGlv
bigpOwpAQCAtODYxLDYgKzg2Miw3IEBAIHByaXZhdGU6CiAgICAgV2ViTGF5ZXJUcmVlVmlldyog
bV9sYXllclRyZWVWaWV3OwogICAgIFdlYkxheWVyKiBtX3Jvb3RMYXllcjsKICAgICBXZWJDb3Jl
OjpHcmFwaGljc0xheWVyKiBtX3Jvb3RHcmFwaGljc0xheWVyOworICAgIE93blB0cjxXZWJDb3Jl
OjpHcmFwaGljc0xheWVyRmFjdG9yeT4gbV9ncmFwaGljc0xheWVyRmFjdG9yeTsKICAgICBib29s
IG1faXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlOwogICAgIGJvb2wgbV9sYXllclRyZWVW
aWV3Q29tbWl0c0RlZmVycmVkOwogICAgIGJvb2wgbV9jb21wb3NpdG9yQ3JlYXRpb25GYWlsZWQ7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>