<?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>32054</bug_id>
          
          <creation_ts>2009-12-01 23:06:54 -0800</creation_ts>
          <short_desc>Asynchronous Icon loading support</short_desc>
          <delta_ts>2010-02-17 20:37:45 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35067</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>167885</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-01 23:06:54 -0800</bug_when>
    <thetext>I&apos;d like to add asynchronous Icon loading feature to WebCore.
We have Icon::createIconForFiles() to load an icon.  It&apos;s implementation must be load an icon inside the method.
It&apos;s hard to realize it in Chromium port because Chromium has sandbox and we need to do IPC to load OS resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167887</commentid>
    <comment_count>1</comment_count>
      <attachid>44129</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-01 23:15:04 -0800</bug_when>
    <thetext>Created attachment 44129
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167889</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-01 23:19:04 -0800</bug_when>
    <thetext>Attachment 44129 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/FileChooser.cpp:85:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167891</commentid>
    <comment_count>3</comment_count>
      <attachid>44130</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-01 23:22:45 -0800</bug_when>
    <thetext>Created attachment 44130
Proposed patch (rev.2)

(In reply to comment #2)
&gt; WebCore/platform/FileChooser.cpp:85:  One line control clauses should not use
&gt; braces.  [whitespace/braces] [4]

Oops, fixed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167892</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-01 23:24:23 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44130 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168067</commentid>
    <comment_count>5</comment_count>
      <attachid>44130</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-12-02 10:59:30 -0800</bug_when>
    <thetext>Comment on attachment 44130
Proposed patch (rev.2)

&gt;          virtual void runOpenPanel(Frame*, PassRefPtr&lt;FileChooser&gt;) = 0;
&gt; +        // Asynchronous request to load an icon for specified filenames.
&gt; +        // This is called only if Icon::createIconForFiles() returns 0.
&gt; +        virtual void iconForFiles(const Vector&lt;String&gt;&amp;, PassRefPtr&lt;FileChooser&gt;) { };

This should be pure-virtual and implemented in each ports WebKit layer.

r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168209</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-02 16:30:39 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 44130 [details])
&gt; &gt;          virtual void runOpenPanel(Frame*, PassRefPtr&lt;FileChooser&gt;) = 0;
&gt; &gt; +        // Asynchronous request to load an icon for specified filenames.
&gt; &gt; +        // This is called only if Icon::createIconForFiles() returns 0.
&gt; &gt; +        virtual void iconForFiles(const Vector&lt;String&gt;&amp;, PassRefPtr&lt;FileChooser&gt;) { };
&gt; 
&gt; This should be pure-virtual and implemented in each ports WebKit layer.

Ok, I&apos;ll do so.  However, why should we do so?  Some other methods in this class have empty implementation like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168257</commentid>
    <comment_count>7</comment_count>
      <attachid>44207</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-02 21:07:46 -0800</bug_when>
    <thetext>Created attachment 44207
Proposed patch (rev.3)

* Make ChromeClient::iconForFiles() a pure virtual</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168271</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-02 21:14:51 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44207 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168861</commentid>
    <comment_count>9</comment_count>
      <attachid>44207</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-04 11:58:59 -0800</bug_when>
    <thetext>Comment on attachment 44207
Proposed patch (rev.3)

There are two different changes here:

    1) Asynchronous loading of icons. It seems to me that every platform would want this.

    2) Loading icons through a client object. This is something platforms might want, but it&apos;s more critical for Chrome.

I don&apos;t think it makes sense to keep both the old synchronous API and the new one. Would you be willing to make a version of the patch that converts platforms to use the new API?

I know the change is easier if you keep both, but it&apos;s bad for the long term health of the project if we have two ways of doing things like this. And it&apos;s more helpful to other ports to move them to the new API structure if they then want to make the icon fetching asynchronous.

I am not going to say review-, but I personally won&apos;t review this until you answer my question above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169164</commentid>
    <comment_count>10</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-06 21:14:24 -0800</bug_when>
    <thetext>&gt; I know the change is easier if you keep both, but it&apos;s bad for the long term
&gt; health of the project if we have two ways of doing things like this. And it&apos;s
&gt; more helpful to other ports to move them to the new API structure if they then
&gt; want to make the icon fetching asynchronous.

I agree with it.

The following ports have icon loading code for now:
    mac, win, gtk, and qt.
I can make patches to adapt to new API for mac and win.  But it&apos;s hard for me to do it for gtk and qt because I don&apos;t have build environments for them.  We will need to move the code from WebCore to WebKit.  It&apos;s hard to work on it without target build environments.

How about the following scenario?
1. Commit this patch without new API adaption for the ports.
2. Announce the API change to webkit-dev and call for helpers for gtk and qt
3. I&apos;ll make patches for mac and win.
4. Wait for gtk/qt patches for a few weeks.
4. If no one make the patches, I make them without build confirmation.
5. Remove Icon::createIconForFiles().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171108</commentid>
    <comment_count>11</comment_count>
      <attachid>44739</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-12 11:53:08 -0800</bug_when>
    <thetext>Created attachment 44739
Proposed patch (rev.4)

- Resolve conflicts with the latest WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171109</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-12 11:56:43 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44739 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175191</commentid>
    <comment_count>13</comment_count>
      <attachid>44739</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-12-28 01:37:53 -0800</bug_when>
    <thetext>Comment on attachment 44739
Proposed patch (rev.4)

Agreed that we should have a single (async) way to load icons, per comments above. r- to make that change to the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176723</commentid>
    <comment_count>14</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-04 09:28:14 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 44739 [details])
&gt; Agreed that we should have a single (async) way to load icons, per comments
&gt; above. r- to make that change to the patch.

Don&apos;t you like a gradual transition from the current API to the async API described in my comment #10?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180739</commentid>
    <comment_count>15</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-14 08:52:29 -0800</bug_when>
    <thetext>Reviewers,
Any comments on the gradual transition scenario in comment #10?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181765</commentid>
    <comment_count>16</comment_count>
      <attachid>46796</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-18 00:38:22 -0800</bug_when>
    <thetext>Created attachment 46796
Proposed patch (rev.5)

The code logic is not changed from rev.4.  ChangeLog and comments are updated.
 - ChangeLog:  Mention that we&apos;ll remove the existing Icon::createIconForFiles().
 - Updated comments in empty ChromeClient::iconForFiles() implementations
   &quot;No need to implement this.&quot; -&gt; &quot;FIXME: We should move the code from Icon::createIconForFiles().&quot;
 - Add notImplemented() to ChromeClient::iconForFiles().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184722</commentid>
    <comment_count>17</comment_count>
      <attachid>46796</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-26 14:11:19 -0800</bug_when>
    <thetext>Comment on attachment 46796
Proposed patch (rev.5)

This diff looks wrong.  I support the general idea of a gradual transition.  We need to get you empowered to be able to make such a transition quickly.  Is Sinchiro able to help you review this in person?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184887</commentid>
    <comment_count>18</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-26 18:19:57 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; This diff looks wrong.  I support the general idea of a gradual transition.  We

Oops, it seems I missed &quot;--amend&quot; flag for git commit.
I&apos;ll update the patch...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184888</commentid>
    <comment_count>19</comment_count>
      <attachid>47482</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-26 18:20:55 -0800</bug_when>
    <thetext>Created attachment 47482
Proposed patch (rev.6)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191239</commentid>
    <comment_count>20</comment_count>
      <attachid>47482</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-17 14:52:31 -0800</bug_when>
    <thetext>Comment on attachment 47482
Proposed patch (rev.6)

OK.  So are you going to do the follow-up patch to move callers off of the old synchronous method?  Or at least file the various port bugs.  It&apos;s not clear from the proposed code that one way is deprecated vs. another.  We could change the signatures of the old methods to include the word deprecated or at least add FIXMEs by the various uses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191337</commentid>
    <comment_count>21</comment_count>
      <attachid>48956</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-02-17 18:12:32 -0800</bug_when>
    <thetext>Created attachment 48956
Proposed patch (rev.7)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191341</commentid>
    <comment_count>22</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-02-17 18:15:25 -0800</bug_when>
    <thetext>Thank you for the comment.

(In reply to comment #20)
&gt; (From update of attachment 47482 [details])
&gt; OK.  So are you going to do the follow-up patch to move callers off of the old
&gt; synchronous method?  Or at least file the various port bugs.

Right.

&gt;  It&apos;s not clear
&gt; from the proposed code that one way is deprecated vs. another.  We could change
&gt; the signatures of the old methods to include the word deprecated or at least
&gt; add FIXMEs by the various uses.

I added comments to the following files.
         * platform/graphics/Icon.h: Add a FIXME comment.
         * platform/graphics/gtk/IconGtk.cpp: ditto.
         * platform/graphics/mac/IconMac.mm: ditto.
         * platform/graphics/qt/IconQt.cpp: ditto.
         * platform/graphics/win/IconWin.cpp: ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191348</commentid>
    <comment_count>23</comment_count>
      <attachid>48956</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-17 18:26:35 -0800</bug_when>
    <thetext>Comment on attachment 48956
Proposed patch (rev.7)

This doesn&apos;t look like it will be difficult to complete.  Looks like a this moves us in the right direction.

Please file the bug(s) to finish the move (and ideally attach patches) :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191351</commentid>
    <comment_count>24</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-02-17 18:37:22 -0800</bug_when>
    <thetext>I have filed https://bugs.webkit.org/show_bug.cgi?id=35067 for the code moving.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191376</commentid>
    <comment_count>25</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-02-17 20:37:45 -0800</bug_when>
    <thetext>Landed as r54923.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44129</attachid>
            <date>2009-12-01 23:15:04 -0800</date>
            <delta_ts>2009-12-01 23:22:45 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>0001-async-icon-1.patch</filename>
            <type>text/plain</type>
            <size>9235</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSA5ZGMyZTZjZjVjNmUzZmNjYzU4MDlkN2M1OTI2NTliZGVmYWI0NDhlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBXZWQsIDIgRGVjIDIwMDkgMTU6NTc6MzAgKzA5MDAKU3ViamVjdDogW1BBVENIXSBhc3luYy1p
Y29uLTEKCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAzNiArKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL3BhZ2UvQ2hyb21lLmNw
cCAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICsrKwogV2ViQ29yZS9wYWdlL0Nocm9tZS5o
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmggICAgICAgICAgICAgICAgICAgfCAgICA0ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9GaWxl
Q2hvb3Nlci5jcHAgICAgICAgICAgICAgIHwgICAyMCArKysrKysrKysrKystCiBXZWJDb3JlL3Bs
YXRmb3JtL0ZpbGVDaG9vc2VyLmggICAgICAgICAgICAgICAgfCAgICA3ICsrKystCiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAgfCAgIDE4ICsrKysrKysrKyst
LQogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCAgIHwgICAxMiAr
KysrKy0tLQogOCBmaWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDMwOWQ3YzkuLmRjMzdkMzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMDktMTItMDIgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBp
bnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMjA1NAorCisgICAgICAgIEl0J3MgaGFyZCBmb3IgQ2hyb21pdW0gcG9ydCB0byBsb2FkIGFu
IGljb24gaW5zaWRlCisgICAgICAgIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpIGJlY2F1c2Ug
b2Ygc2FuYm94IGFuZCBtdWx0aS1wcm9jZXNzCisgICAgICAgIGFyY2hpdGVjdHVyZS4gU28gdGhp
cyBjaGFuZ2UgYWRkcyBhIG1ldGhvZCB0byByZXF1ZXN0IGFuIGljb24gdG8KKyAgICAgICAgQ2hy
b21lIGNsYXNzLCBhbmQgbWFrZXMgRmlsZUNob29zZXIgcmVjZWl2ZXMgYW4gSWNvbiBpbnN0YW5j
ZQorICAgICAgICBhc3luY2hyb25vdXNseS4KKworICAgICAgICBCZWNhdXNlIG5vbi1DaHJvbWl1
bSBwb3J0cyBkb2Vzbid0IG5lZWQgdGhpcyBmZWF0dXJlLCB3ZSB0cnkgdG8KKyAgICAgICAgbG9h
ZCBhbiBpY29uIHN5bmNocm9ub3VzbHkgd2l0aCBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSwg
dGhlbgorICAgICAgICB0cnkgYXN5bmNocm9ub3VzIGljb24gbG9hZGluZyB3aXRoIENocm9tZTo6
aWNvbkZvckZpbGVzKCkgaWYKKyAgICAgICAgSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkgcmV0
dXJucyAwLgorCisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21lOjppY29uRm9yRmlsZXMpOiBEZWxlZ2F0ZSB0byBDaHJvbWVDbGllbnQ6Omljb25Gb3JG
aWxlcygpLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKTog
RW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgICAgICogcGxhdGZvcm0vRmlsZUNob29zZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXI6OkZpbGVDaG9vc2VyKTogVXNlIGxvYWRJ
Y29uKCkuCisgICAgICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6Y2hvb3NlRmlsZXMpOiBkaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpsb2FkSWNvbik6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXI6Omljb25Mb2FkZWQpOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oOiBBZGQgdHdvIG1ldGhvZHMgdG8gRmlsZUNob29zZXJD
bGllbnQ7IHJlcGFpbnQoKSBhbmQgaWNvbkZvckZpbGVzKCkuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZp
bGVVcGxvYWRDb250cm9sOjppY29uRm9yRmlsZXMpOiBEZWxlZ2F0ZSB0byBDaHJvbWU6Omljb25G
b3JGaWxlcygpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNs
aWNrKTogVXNlIGNocm9tZSgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENv
bnRyb2w6OmNocm9tZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250
cm9sLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cmVwYWlu
dCk6CisKIDIwMDktMTItMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L0Nocm9tZS5jcHAgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBkNzliNDE3Li45NzRh
MzlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9XZWJDb3JlL3Bh
Z2UvQ2hyb21lLmNwcApAQCAtNDE1LDYgKzQxNSwxMSBAQCB2b2lkIENocm9tZTo6cnVuT3BlblBh
bmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIpCiAg
ICAgbV9jbGllbnQtPnJ1bk9wZW5QYW5lbChmcmFtZSwgZmlsZUNob29zZXIpOwogfQogCit2b2lk
IENocm9tZTo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIFBh
c3NSZWZQdHI8RmlsZUNob29zZXI+IGZpbGVDaG9vc2VyKQoreworICAgIG1fY2xpZW50LT5pY29u
Rm9yRmlsZXMoZmlsZW5hbWVzLCBmaWxlQ2hvb3Nlcik7Cit9CisKIGJvb2wgQ2hyb21lOjpzZXRD
dXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUgY3Vyc29yKQogewogICAgIHJldHVybiBtX2NsaWVu
dC0+c2V0Q3Vyc29yKGN1cnNvcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgg
Yi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggNTQyNTI2Yi4uYjM3ZTdlYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAt
MTMxLDYgKzEzMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCByZXF1ZXN0
R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopOwogCiAg
ICAgICAgIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4p
OworICAgICAgICB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NS
ZWZQdHI8RmlsZUNob29zZXI+KTsKIAogICAgICAgICBib29sIHNldEN1cnNvcihQbGF0Zm9ybUN1
cnNvckhhbmRsZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBi
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAxMDUyZWE2Li40ZWNkYjFjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCkBAIC0yMiw2ICsyMiw3IEBACiAKICNpbmNsdWRlICJDb25zb2xlLmgiCiAj
aW5jbHVkZSAiQ3Vyc29yLmgiCisjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJG
b2N1c0RpcmVjdGlvbi5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUg
IkhUTUxQYXJzZXJRdWlya3MuaCIKQEAgLTE4NSw2ICsxODYsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9y
RnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopID0gMDsKICAgICAgICAgICAgIAogICAgICAgICB2
aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4p
ID0gMDsKKyAgICAgICAgLy8gQXN5bmNocm9ub3VzIHJlcXVlc3QgdG8gbG9hZCBhbiBpY29uIGZv
ciBzcGVjaWZpZWQgZmlsZW5hbWVzLgorICAgICAgICAvLyBUaGlzIGlzIGNhbGxlZCBvbmx5IGlm
IEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpIHJldHVybnMgMC4KKyAgICAgICAgdmlydHVhbCB2
b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNo
b29zZXI+KSB7IH07CiAKICAgICAgICAgdmlydHVhbCBib29sIHNldEN1cnNvcihQbGF0Zm9ybUN1
cnNvckhhbmRsZSkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9v
c2VyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwCmluZGV4IDlmYWQzOTIu
LmEwZjZhODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwCkBAIC0zOSw5ICszOSw5IEBAIEZp
bGVDaG9vc2VyQ2xpZW50Ojp+RmlsZUNob29zZXJDbGllbnQoKQogCiBpbmxpbmUgRmlsZUNob29z
ZXI6OkZpbGVDaG9vc2VyKEZpbGVDaG9vc2VyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBpbml0aWFsRmlsZW5hbWVzKQogICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwg
bV9pY29uKEljb246OmNyZWF0ZUljb25Gb3JGaWxlcyhpbml0aWFsRmlsZW5hbWVzKSkKIHsKICAg
ICBtX2ZpbGVuYW1lcyA9IGluaXRpYWxGaWxlbmFtZXM7CisgICAgbG9hZEljb24oKTsKIH0KIAog
UGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gRmlsZUNob29zZXI6OmNyZWF0ZShGaWxlQ2hvb3NlckNs
aWVudCogY2xpZW50LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgaW5pdGlhbEZpbGVuYW1lcykKQEAg
LTcxLDkgKzcxLDI1IEBAIHZvaWQgRmlsZUNob29zZXI6OmNob29zZUZpbGVzKGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBmaWxlbmFtZXMpCiAgICAgaWYgKG1fZmlsZW5hbWVzID09IGZpbGVuYW1lcykK
ICAgICAgICAgcmV0dXJuOwogICAgIG1fZmlsZW5hbWVzID0gZmlsZW5hbWVzOwotICAgIG1faWNv
biA9IEljb246OmNyZWF0ZUljb25Gb3JGaWxlcyhmaWxlbmFtZXMpOworICAgIGxvYWRJY29uKCk7
CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+dmFsdWVDaGFuZ2VkKCk7CiB9
CiAKK3ZvaWQgRmlsZUNob29zZXI6OmxvYWRJY29uKCkKK3sKKyAgICBtX2ljb24gPSBJY29uOjpj
cmVhdGVJY29uRm9yRmlsZXMobV9maWxlbmFtZXMpOworICAgIC8vIElmIHN5bmNocm9ub3VzIGlj
b24gbG9hZGluZyBmYWlsZWQsIHRyeSBhc3luY2hyb25vdXMgbG9hZGluZy4KKyAgICBpZiAoIW1f
aWNvbiAmJiBtX2ZpbGVuYW1lcy5zaXplKCkgJiYgbV9jbGllbnQpIHsKKyAgICAgICAgbV9jbGll
bnQtPmljb25Gb3JGaWxlcyhtX2ZpbGVuYW1lcyk7CisgICAgfQorfQorCit2b2lkIEZpbGVDaG9v
c2VyOjppY29uTG9hZGVkKFBhc3NSZWZQdHI8SWNvbj4gaWNvbikKK3sKKyAgICBtX2ljb24gPSBp
Y29uOworICAgIGlmIChtX2ljb24gJiYgbV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5yZXBh
aW50KCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaAppbmRleCAxZDRlOTcwLi4zZmU4MTBk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCkBAIC00MSw3ICs0MSw5IEBAIGNsYXNzIEljb247CiBj
bGFzcyBGaWxlQ2hvb3NlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHZhbHVl
Q2hhbmdlZCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVwYWludCgpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgYWxsb3dzTXVsdGlwbGVGaWxlcygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaWNv
bkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JikgPSAwOwogICAgIHZpcnR1YWwgfkZpbGVD
aG9vc2VyQ2xpZW50KCk7CiB9OwogCkBAIC02MiwxMSArNjQsMTQgQEAgcHVibGljOgogCiAgICAg
dm9pZCBjaG9vc2VGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgdm9pZCBjaG9vc2VGaWxl
cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGF0aHMpOwotICAgIAorICAgIC8vIENhbGxlZCB3aGVu
IEZpbGVDaG9vc2VyQ2xpZW50IGZpbmlzaGVzIHRvIGxvYWQgYW4gaWNvbiByZXF1ZXN0ZWQgYnkg
aWNvbkZvckZpbGVzKCkuCisgICAgdm9pZCBpY29uTG9hZGVkKFBhc3NSZWZQdHI8SWNvbj4pOwor
CiAgICAgYm9vbCBhbGxvd3NNdWx0aXBsZUZpbGVzKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQg
PyBtX2NsaWVudC0+YWxsb3dzTXVsdGlwbGVGaWxlcygpIDogZmFsc2U7IH0KIAogcHJpdmF0ZToK
ICAgICBGaWxlQ2hvb3NlcihGaWxlQ2hvb3NlckNsaWVudCosIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBpbml0aWFsRmlsZW5hbWVzKTsKKyAgICB2b2lkIGxvYWRJY29uKCk7CiAKICAgICBGaWxlQ2hv
b3NlckNsaWVudCogbV9jbGllbnQ7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9maWxlbmFtZXM7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKaW5kZXggMzdl
ZThmYi4uMTFiYzFiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2wuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRD
b250cm9sLmNwcApAQCAtMTA4LDE1ICsxMDgsMjcgQEAgYm9vbCBSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbDo6YWxsb3dzTXVsdGlwbGVGaWxlcygpCiAgICAgcmV0dXJuICFpbnB1dC0+Z2V0QXR0cmli
dXRlKG11bHRpcGxlQXR0cikuaXNOdWxsKCk7CiB9CiAKK3ZvaWQgUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2w6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzKQorewor
ICAgIGlmIChDaHJvbWUqIGNocm9tZVBvaW50ZXIgPSBjaHJvbWUoKSkKKyAgICAgICAgY2hyb21l
UG9pbnRlci0+aWNvbkZvckZpbGVzKGZpbGVuYW1lcywgbV9maWxlQ2hvb3Nlcik7Cit9CisKIHZv
aWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNsaWNrKCkKIHsKKyAgICBpZiAoQ2hyb21lKiBj
aHJvbWVQb2ludGVyID0gY2hyb21lKCkpCisgICAgICAgIGNocm9tZVBvaW50ZXItPnJ1bk9wZW5Q
YW5lbChub2RlKCktPmRvY3VtZW50KCktPmZyYW1lKCksIG1fZmlsZUNob29zZXIpOworfQorCitD
aHJvbWUqIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjaHJvbWUoKSBjb25zdAorewogICAgIEZy
YW1lKiBmcmFtZSA9IG5vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1l
KQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiAwOwogICAgIFBhZ2UqIHBhZ2UgPSBm
cmFtZS0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuOwotICAgIHBhZ2Ut
PmNocm9tZSgpLT5ydW5PcGVuUGFuZWwoZnJhbWUsIG1fZmlsZUNob29zZXIpOworICAgICAgICBy
ZXR1cm4gMDsKKyAgICByZXR1cm4gcGFnZS0+Y2hyb21lKCk7CiB9CiAKIHZvaWQgUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUZyb21FbGVtZW50KCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCmluZGV4IDcyYmEzMDguLjlmNDc3MzggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaApAQCAtMjYsNiArMjYsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENocm9tZTsKIGNsYXNzIEhUTUxJbnB1
dEVsZW1lbnQ7CiAgICAgCiAvLyBFYWNoIFJlbmRlckZpbGVVcGxvYWRDb250cm9sIGNvbnRhaW5z
IGEgUmVuZGVyQnV0dG9uIChmb3Igb3BlbmluZyB0aGUgZmlsZSBjaG9vc2VyKSwgYW5kCkBAIC00
MSwxNSArNDIsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGljaygpOwogCi0gICAgdm9pZCB2
YWx1ZUNoYW5nZWQoKTsKLSAgICAKICAgICB2b2lkIHJlY2VpdmVEcm9wcGVkRmlsZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mKTsKIAogICAgIFN0cmluZyBidXR0b25WYWx1ZSgpOwogICAgIFN0cmlu
ZyBmaWxlVGV4dFZhbHVlKCkgY29uc3Q7CiAgICAgCi0gICAgYm9vbCBhbGxvd3NNdWx0aXBsZUZp
bGVzKCk7Ci0KIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkg
Y29uc3QgeyByZXR1cm4gIlJlbmRlckZpbGVVcGxvYWRDb250cm9sIjsgfQogCkBAIC01OSw2ICs1
NiwxMyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxl
RGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKIAorICAgIC8vIEZpbGVD
aG9vc2VyQ2xpZW50IG1ldGhvZHMuCisgICAgdm9pZCB2YWx1ZUNoYW5nZWQoKTsKKyAgICB2b2lk
IHJlcGFpbnQoKSB7IFJlbmRlckJsb2NrOjpyZXBhaW50KCk7IH0KKyAgICBib29sIGFsbG93c011
bHRpcGxlRmlsZXMoKTsKKyAgICB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5n
PiYpOworCisgICAgQ2hyb21lKiBjaHJvbWUoKSBjb25zdDsKICAgICBpbnQgbWF4RmlsZW5hbWVX
aWR0aCgpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IGNyZWF0ZUJ1dHRvblN0
eWxlKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkgY29uc3Q7CiAKLS0gCjEuNi4zLjMK
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44130</attachid>
            <date>2009-12-01 23:22:45 -0800</date>
            <delta_ts>2009-12-02 21:07:46 -0800</delta_ts>
            <desc>Proposed patch (rev.2)</desc>
            <filename>0001-async-icon-2.patch</filename>
            <type>text/plain</type>
            <size>9225</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSBlNzUzMzQwMGQ0MmIyMWI1ZjQ4ODYzZmViN2ZkOGM5ODUxZjUyODRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBXZWQsIDIgRGVjIDIwMDkgMTU6NTc6MzAgKzA5MDAKU3ViamVjdDogW1BBVENIXSBhc3luYy1p
Y29uLTIKCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAzNiArKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL3BhZ2UvQ2hyb21lLmNw
cCAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICsrKwogV2ViQ29yZS9wYWdlL0Nocm9tZS5o
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmggICAgICAgICAgICAgICAgICAgfCAgICA0ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9GaWxl
Q2hvb3Nlci5jcHAgICAgICAgICAgICAgIHwgICAxOSArKysrKysrKysrKy0KIFdlYkNvcmUvcGxh
dGZvcm0vRmlsZUNob29zZXIuaCAgICAgICAgICAgICAgICB8ICAgIDcgKysrKy0KIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCB8ICAgMTggKysrKysrKysrKy0t
CiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oICAgfCAgIDEyICsr
KysrLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMzA5ZDdjOS4uZGMzN2QzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAwOS0xMi0wMiAgS2VudCBUYW11
cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlcyBhc3luY2hyb25vdXMgSWNvbiBsb2FkaW5nIGlu
dGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMyMDU0CisKKyAgICAgICAgSXQncyBoYXJkIGZvciBDaHJvbWl1bSBwb3J0IHRvIGxvYWQgYW4g
aWNvbiBpbnNpZGUKKyAgICAgICAgSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkgYmVjYXVzZSBv
ZiBzYW5ib3ggYW5kIG11bHRpLXByb2Nlc3MKKyAgICAgICAgYXJjaGl0ZWN0dXJlLiBTbyB0aGlz
IGNoYW5nZSBhZGRzIGEgbWV0aG9kIHRvIHJlcXVlc3QgYW4gaWNvbiB0bworICAgICAgICBDaHJv
bWUgY2xhc3MsIGFuZCBtYWtlcyBGaWxlQ2hvb3NlciByZWNlaXZlcyBhbiBJY29uIGluc3RhbmNl
CisgICAgICAgIGFzeW5jaHJvbm91c2x5LgorCisgICAgICAgIEJlY2F1c2Ugbm9uLUNocm9taXVt
IHBvcnRzIGRvZXNuJ3QgbmVlZCB0aGlzIGZlYXR1cmUsIHdlIHRyeSB0bworICAgICAgICBsb2Fk
IGFuIGljb24gc3luY2hyb25vdXNseSB3aXRoIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpLCB0
aGVuCisgICAgICAgIHRyeSBhc3luY2hyb25vdXMgaWNvbiBsb2FkaW5nIHdpdGggQ2hyb21lOjpp
Y29uRm9yRmlsZXMoKSBpZgorICAgICAgICBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSByZXR1
cm5zIDAuCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWU6Omljb25Gb3JGaWxlcyk6IERlbGVnYXRlIHRvIENocm9tZUNsaWVudDo6aWNvbkZvckZp
bGVzKCkuCisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNs
aWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMpOiBF
bXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6RmlsZUNob29zZXIpOiBVc2UgbG9hZElj
b24oKS4KKyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpjaG9vc2VGaWxlcyk6IGRpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXI6OmxvYWRJY29uKTogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6aWNvbkxvYWRlZCk6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmg6IEFkZCB0d28gbWV0aG9kcyB0byBGaWxlQ2hvb3NlckNs
aWVudDsgcmVwYWludCgpIGFuZCBpY29uRm9yRmlsZXMoKS4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmls
ZVVwbG9hZENvbnRyb2w6Omljb25Gb3JGaWxlcyk6IERlbGVnYXRlIHRvIENocm9tZTo6aWNvbkZv
ckZpbGVzKCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2xp
Y2spOiBVc2UgY2hyb21lKCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbDo6Y2hyb21lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRy
b2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpyZXBhaW50
KToKKwogMjAwOS0xMi0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lLmNwcCBiL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IGQ3OWI0MTcuLjk3NGEz
OWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCkBAIC00MTUsNiArNDE1LDExIEBAIHZvaWQgQ2hyb21lOjpydW5PcGVuUGFu
ZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBmaWxlQ2hvb3NlcikKICAg
ICBtX2NsaWVudC0+cnVuT3BlblBhbmVsKGZyYW1lLCBmaWxlQ2hvb3Nlcik7CiB9CiAKK3ZvaWQg
Q2hyb21lOjppY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgUGFz
c1JlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIpCit7CisgICAgbV9jbGllbnQtPmljb25G
b3JGaWxlcyhmaWxlbmFtZXMsIGZpbGVDaG9vc2VyKTsKK30KKwogYm9vbCBDaHJvbWU6OnNldEN1
cnNvcihQbGF0Zm9ybUN1cnNvckhhbmRsZSBjdXJzb3IpCiB7CiAgICAgcmV0dXJuIG1fY2xpZW50
LT5zZXRDdXJzb3IoY3Vyc29yKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9DaHJvbWUuaCBi
L1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCA1NDI1MjZiLi5iMzdlN2ViIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCkBAIC0x
MzEsNiArMTMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlcXVlc3RH
ZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShGcmFtZSosIEdlb2xvY2F0aW9uKik7CiAKICAg
ICAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7
CisgICAgICAgIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1Jl
ZlB0cjxGaWxlQ2hvb3Nlcj4pOwogCiAgICAgICAgIGJvb2wgc2V0Q3Vyc29yKFBsYXRmb3JtQ3Vy
c29ySGFuZGxlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDEwNTJlYTYuLjRlY2RiMWMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKQEAgLTIyLDYgKzIyLDcgQEAKIAogI2luY2x1ZGUgIkNvbnNvbGUuaCIKICNp
bmNsdWRlICJDdXJzb3IuaCIKKyNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgogI2luY2x1ZGUgIkZv
Y3VzRGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAi
SFRNTFBhcnNlclF1aXJrcy5oIgpAQCAtMTg1LDYgKzE4Niw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JG
cmFtZShGcmFtZSosIEdlb2xvY2F0aW9uKikgPSAwOwogICAgICAgICAgICAgCiAgICAgICAgIHZp
cnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikg
PSAwOworICAgICAgICAvLyBBc3luY2hyb25vdXMgcmVxdWVzdCB0byBsb2FkIGFuIGljb24gZm9y
IHNwZWNpZmllZCBmaWxlbmFtZXMuCisgICAgICAgIC8vIFRoaXMgaXMgY2FsbGVkIG9ubHkgaWYg
SWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkgcmV0dXJucyAwLgorICAgICAgICB2aXJ0dWFsIHZv
aWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hv
b3Nlcj4pIHsgfTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0Q3Vyc29yKFBsYXRmb3JtQ3Vy
c29ySGFuZGxlKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29z
ZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKaW5kZXggOWZhZDM5Mi4u
YTJkNDc3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKQEAgLTM5LDkgKzM5LDkgQEAgRmls
ZUNob29zZXJDbGllbnQ6On5GaWxlQ2hvb3NlckNsaWVudCgpCiAKIGlubGluZSBGaWxlQ2hvb3Nl
cjo6RmlsZUNob29zZXIoRmlsZUNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgVmVjdG9yPFN0
cmluZz4mIGluaXRpYWxGaWxlbmFtZXMpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgLCBt
X2ljb24oSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKGluaXRpYWxGaWxlbmFtZXMpKQogewogICAg
IG1fZmlsZW5hbWVzID0gaW5pdGlhbEZpbGVuYW1lczsKKyAgICBsb2FkSWNvbigpOwogfQogCiBQ
YXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBGaWxlQ2hvb3Nlcjo6Y3JlYXRlKEZpbGVDaG9vc2VyQ2xp
ZW50KiBjbGllbnQsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpbml0aWFsRmlsZW5hbWVzKQpAQCAt
NzEsOSArNzEsMjQgQEAgdm9pZCBGaWxlQ2hvb3Nlcjo6Y2hvb3NlRmlsZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGZpbGVuYW1lcykKICAgICBpZiAobV9maWxlbmFtZXMgPT0gZmlsZW5hbWVzKQog
ICAgICAgICByZXR1cm47CiAgICAgbV9maWxlbmFtZXMgPSBmaWxlbmFtZXM7Ci0gICAgbV9pY29u
ID0gSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKGZpbGVuYW1lcyk7CisgICAgbG9hZEljb24oKTsK
ICAgICBpZiAobV9jbGllbnQpCiAgICAgICAgIG1fY2xpZW50LT52YWx1ZUNoYW5nZWQoKTsKIH0K
IAordm9pZCBGaWxlQ2hvb3Nlcjo6bG9hZEljb24oKQoreworICAgIG1faWNvbiA9IEljb246OmNy
ZWF0ZUljb25Gb3JGaWxlcyhtX2ZpbGVuYW1lcyk7CisgICAgLy8gSWYgc3luY2hyb25vdXMgaWNv
biBsb2FkaW5nIGZhaWxlZCwgdHJ5IGFzeW5jaHJvbm91cyBsb2FkaW5nLgorICAgIGlmICghbV9p
Y29uICYmIG1fZmlsZW5hbWVzLnNpemUoKSAmJiBtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQt
Pmljb25Gb3JGaWxlcyhtX2ZpbGVuYW1lcyk7Cit9CisKK3ZvaWQgRmlsZUNob29zZXI6Omljb25M
b2FkZWQoUGFzc1JlZlB0cjxJY29uPiBpY29uKQoreworICAgIG1faWNvbiA9IGljb247CisgICAg
aWYgKG1faWNvbiAmJiBtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnJlcGFpbnQoKTsKK30K
KwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCmluZGV4IDFkNGU5NzAuLjNmZTgxMGQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L0ZpbGVDaG9vc2VyLmgKQEAgLTQxLDcgKzQxLDkgQEAgY2xhc3MgSWNvbjsKIGNsYXNzIEZpbGVD
aG9vc2VyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkKCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCByZXBhaW50KCkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBh
bGxvd3NNdWx0aXBsZUZpbGVzKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mKSA9IDA7CiAgICAgdmlydHVhbCB+RmlsZUNob29zZXJDbGll
bnQoKTsKIH07CiAKQEAgLTYyLDExICs2NCwxNCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNob29z
ZUZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKTsKICAgICB2b2lkIGNob29zZUZpbGVzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBwYXRocyk7Ci0gICAgCisgICAgLy8gQ2FsbGVkIHdoZW4gRmlsZUNob29z
ZXJDbGllbnQgZmluaXNoZXMgdG8gbG9hZCBhbiBpY29uIHJlcXVlc3RlZCBieSBpY29uRm9yRmls
ZXMoKS4KKyAgICB2b2lkIGljb25Mb2FkZWQoUGFzc1JlZlB0cjxJY29uPik7CisKICAgICBib29s
IGFsbG93c011bHRpcGxlRmlsZXMoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudCA/IG1fY2xpZW50
LT5hbGxvd3NNdWx0aXBsZUZpbGVzKCkgOiBmYWxzZTsgfQogCiBwcml2YXRlOgogICAgIEZpbGVD
aG9vc2VyKEZpbGVDaG9vc2VyQ2xpZW50KiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGluaXRpYWxG
aWxlbmFtZXMpOworICAgIHZvaWQgbG9hZEljb24oKTsKIAogICAgIEZpbGVDaG9vc2VyQ2xpZW50
KiBtX2NsaWVudDsKICAgICBWZWN0b3I8U3RyaW5nPiBtX2ZpbGVuYW1lczsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAppbmRleCAzN2VlOGZiLi4xMWJj
MWIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJv
bC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3Bw
CkBAIC0xMDgsMTUgKzEwOCwyNyBAQCBib29sIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjphbGxv
d3NNdWx0aXBsZUZpbGVzKCkKICAgICByZXR1cm4gIWlucHV0LT5nZXRBdHRyaWJ1dGUobXVsdGlw
bGVBdHRyKS5pc051bGwoKTsKIH0KIAordm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6aWNv
bkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMpCit7CisgICAgaWYgKENo
cm9tZSogY2hyb21lUG9pbnRlciA9IGNocm9tZSgpKQorICAgICAgICBjaHJvbWVQb2ludGVyLT5p
Y29uRm9yRmlsZXMoZmlsZW5hbWVzLCBtX2ZpbGVDaG9vc2VyKTsKK30KKwogdm9pZCBSZW5kZXJG
aWxlVXBsb2FkQ29udHJvbDo6Y2xpY2soKQogeworICAgIGlmIChDaHJvbWUqIGNocm9tZVBvaW50
ZXIgPSBjaHJvbWUoKSkKKyAgICAgICAgY2hyb21lUG9pbnRlci0+cnVuT3BlblBhbmVsKG5vZGUo
KS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSwgbV9maWxlQ2hvb3Nlcik7Cit9CisKK0Nocm9tZSogUmVu
ZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNocm9tZSgpIGNvbnN0Cit7CiAgICAgRnJhbWUqIGZyYW1l
ID0gbm9kZSgpLT5kb2N1bWVudCgpLT5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCi0gICAgICAg
IHJldHVybjsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdl
KCk7CiAgICAgaWYgKCFwYWdlKQotICAgICAgICByZXR1cm47Ci0gICAgcGFnZS0+Y2hyb21lKCkt
PnJ1bk9wZW5QYW5lbChmcmFtZSwgbV9maWxlQ2hvb3Nlcik7CisgICAgICAgIHJldHVybiAwOwor
ICAgIHJldHVybiBwYWdlLT5jaHJvbWUoKTsKIH0KIAogdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbDo6dXBkYXRlRnJvbUVsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVV
cGxvYWRDb250cm9sLmgKaW5kZXggNzJiYTMwOC4uOWY0NzczOCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCkBAIC0yNiw2ICsyNiw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ2hyb21lOwogY2xhc3MgSFRNTElucHV0RWxlbWVudDsK
ICAgICAKIC8vIEVhY2ggUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wgY29udGFpbnMgYSBSZW5kZXJC
dXR0b24gKGZvciBvcGVuaW5nIHRoZSBmaWxlIGNob29zZXIpLCBhbmQKQEAgLTQxLDE1ICs0Miwx
MSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsaWNrKCk7CiAKLSAgICB2b2lkIHZhbHVlQ2hhbmdl
ZCgpOwotICAgIAogICAgIHZvaWQgcmVjZWl2ZURyb3BwZWRGaWxlcyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYpOwogCiAgICAgU3RyaW5nIGJ1dHRvblZhbHVlKCk7CiAgICAgU3RyaW5nIGZpbGVUZXh0
VmFsdWUoKSBjb25zdDsKICAgICAKLSAgICBib29sIGFsbG93c011bHRpcGxlRmlsZXMoKTsKLQog
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJl
dHVybiAiUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wiOyB9CiAKQEAgLTU5LDYgKzU2LDEzIEBAIHBy
aXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNl
LCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogCisgICAgLy8gRmlsZUNob29zZXJDbGll
bnQgbWV0aG9kcy4KKyAgICB2b2lkIHZhbHVlQ2hhbmdlZCgpOworICAgIHZvaWQgcmVwYWludCgp
IHsgUmVuZGVyQmxvY2s6OnJlcGFpbnQoKTsgfQorICAgIGJvb2wgYWxsb3dzTXVsdGlwbGVGaWxl
cygpOworICAgIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CisKKyAg
ICBDaHJvbWUqIGNocm9tZSgpIGNvbnN0OwogICAgIGludCBtYXhGaWxlbmFtZVdpZHRoKCkgY29u
c3Q7CiAgICAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gY3JlYXRlQnV0dG9uU3R5bGUoY29uc3Qg
UmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKSBjb25zdDsKIAotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="25912"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44207</attachid>
            <date>2009-12-02 21:07:46 -0800</date>
            <delta_ts>2009-12-12 11:53:08 -0800</delta_ts>
            <desc>Proposed patch (rev.3)</desc>
            <filename>0001-async-icon-3.patch</filename>
            <type>text/plain</type>
            <size>21965</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzA5ZDdjOS4uNzA4N2NhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAwOS0xMi0wMiAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW50cm9kdWNlcyBhc3luY2hyb25vdXMgSWNvbiBsb2FkaW5nIGludGVy
ZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MDU0CisKKyAgICAgICAgSXQncyBoYXJkIGZvciBDaHJvbWl1bSBwb3J0IHRvIGxvYWQgYW4gaWNv
biBpbnNpZGUKKyAgICAgICAgSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkgYmVjYXVzZSBvZiBz
YW5ib3ggYW5kIG11bHRpLXByb2Nlc3MKKyAgICAgICAgYXJjaGl0ZWN0dXJlLiBTbyB0aGlzIGNo
YW5nZSBhZGRzIGEgbWV0aG9kIHRvIHJlcXVlc3QgYW4gaWNvbiB0bworICAgICAgICBDaHJvbWUg
Y2xhc3MsIGFuZCBtYWtlcyBGaWxlQ2hvb3NlciByZWNlaXZlcyBhbiBJY29uIGluc3RhbmNlCisg
ICAgICAgIGFzeW5jaHJvbm91c2x5LgorCisgICAgICAgIEJlY2F1c2Ugbm9uLUNocm9taXVtIHBv
cnRzIGRvZXNuJ3QgbmVlZCB0aGlzIGZlYXR1cmUsIHdlIHRyeSB0bworICAgICAgICBsb2FkIGFu
IGljb24gc3luY2hyb25vdXNseSB3aXRoIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpLCB0aGVu
CisgICAgICAgIHRyeSBhc3luY2hyb25vdXMgaWNvbiBsb2FkaW5nIHdpdGggQ2hyb21lOjppY29u
Rm9yRmlsZXMoKSBpZgorICAgICAgICBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSByZXR1cm5z
IDAuCisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eUNocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKTogQWRkIGFuIGVtcHR5IGltcGxlbWVu
dGF0aW9uLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNo
cm9tZTo6aWNvbkZvckZpbGVzKTogRGVsZWdhdGUgdG8gQ2hyb21lQ2xpZW50OjppY29uRm9yRmls
ZXMoKS4KKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyk6IEFk
ZCBhIGRlY2xhcmF0aW9uIGFzIGEgcHVyZSB2aXJ0dWFsIG1ldGhvZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9GaWxlQ2hvb3Nlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6Rmls
ZUNob29zZXIpOiBVc2UgbG9hZEljb24oKS4KKyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2Vy
OjpjaG9vc2VGaWxlcyk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXI6Omxv
YWRJY29uKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6aWNvbkxvYWRl
ZCk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmg6IEFkZCB0d28gbWV0
aG9kcyB0byBGaWxlQ2hvb3NlckNsaWVudDsgcmVwYWludCgpIGFuZCBpY29uRm9yRmlsZXMoKS4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6Omljb25Gb3JGaWxlcyk6IERlbGVn
YXRlIHRvIENocm9tZTo6aWNvbkZvckZpbGVzKCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
aWxlVXBsb2FkQ29udHJvbDo6Y2xpY2spOiBVc2UgY2hyb21lKCkuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2hyb21lKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVV
cGxvYWRDb250cm9sOjpyZXBhaW50KToKKwogMjAwOS0xMi0wMSAgS2VudCBUYW11cmEgIDx0a2Vu
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCmluZGV4IGRhNTI5ZTMuLjA4YjIwZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CkBAIC0xNDYsNiArMTQ2LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQg
cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBQYXNzUmVmUHRy
PEZpbGVDaG9vc2VyPikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdl
KGNvbnN0IE5vZGUqKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAg
Yi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBkNzliNDE3Li45NzRhMzlmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNw
cApAQCAtNDE1LDYgKzQxNSwxMSBAQCB2b2lkIENocm9tZTo6cnVuT3BlblBhbmVsKEZyYW1lKiBm
cmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIpCiAgICAgbV9jbGllbnQt
PnJ1bk9wZW5QYW5lbChmcmFtZSwgZmlsZUNob29zZXIpOwogfQogCit2b2lkIENocm9tZTo6aWNv
bkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIFBhc3NSZWZQdHI8Rmls
ZUNob29zZXI+IGZpbGVDaG9vc2VyKQoreworICAgIG1fY2xpZW50LT5pY29uRm9yRmlsZXMoZmls
ZW5hbWVzLCBmaWxlQ2hvb3Nlcik7Cit9CisKIGJvb2wgQ2hyb21lOjpzZXRDdXJzb3IoUGxhdGZv
cm1DdXJzb3JIYW5kbGUgY3Vyc29yKQogewogICAgIHJldHVybiBtX2NsaWVudC0+c2V0Q3Vyc29y
KGN1cnNvcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9XZWJDb3JlL3Bh
Z2UvQ2hyb21lLmgKaW5kZXggNTQyNTI2Yi4uYjM3ZTdlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL0Nocm9tZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtMTMxLDYgKzEzMSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25Q
ZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopOwogCiAgICAgICAgIHZvaWQg
cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOworICAgICAgICB2
b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNo
b29zZXI+KTsKIAogICAgICAgICBib29sIHNldEN1cnNvcihQbGF0Zm9ybUN1cnNvckhhbmRsZSk7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAppbmRleCAxMDUyZWE2Li4zMGY4MjhmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0xODUsNiArMTg1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9j
YXRpb24qKSA9IDA7CiAgICAgICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5Q
YW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KSA9IDA7CisgICAgICAgIC8vIEFz
eW5jaHJvbm91cyByZXF1ZXN0IHRvIGxvYWQgYW4gaWNvbiBmb3Igc3BlY2lmaWVkIGZpbGVuYW1l
cy4KKyAgICAgICAgLy8gVGhpcyBpcyBjYWxsZWQgb25seSBpZiBJY29uOjpjcmVhdGVJY29uRm9y
RmlsZXMoKSByZXR1cm5zIDAuCisgICAgICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29u
c3QgVmVjdG9yPFN0cmluZz4mLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikgPSAwOwogCiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUpID0gMDsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAppbmRleCA5ZmFkMzkyLi5hMmQ0NzcwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L0ZpbGVDaG9vc2VyLmNwcApAQCAtMzksOSArMzksOSBAQCBGaWxlQ2hvb3NlckNsaWVudDo6fkZp
bGVDaG9vc2VyQ2xpZW50KCkKIAogaW5saW5lIEZpbGVDaG9vc2VyOjpGaWxlQ2hvb3NlcihGaWxl
Q2hvb3NlckNsaWVudCogY2xpZW50LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgaW5pdGlhbEZpbGVu
YW1lcykKICAgICA6IG1fY2xpZW50KGNsaWVudCkKLSAgICAsIG1faWNvbihJY29uOjpjcmVhdGVJ
Y29uRm9yRmlsZXMoaW5pdGlhbEZpbGVuYW1lcykpCiB7CiAgICAgbV9maWxlbmFtZXMgPSBpbml0
aWFsRmlsZW5hbWVzOworICAgIGxvYWRJY29uKCk7CiB9CiAKIFBhc3NSZWZQdHI8RmlsZUNob29z
ZXI+IEZpbGVDaG9vc2VyOjpjcmVhdGUoRmlsZUNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGluaXRpYWxGaWxlbmFtZXMpCkBAIC03MSw5ICs3MSwyNCBAQCB2b2lk
IEZpbGVDaG9vc2VyOjpjaG9vc2VGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVz
KQogICAgIGlmIChtX2ZpbGVuYW1lcyA9PSBmaWxlbmFtZXMpCiAgICAgICAgIHJldHVybjsKICAg
ICBtX2ZpbGVuYW1lcyA9IGZpbGVuYW1lczsKLSAgICBtX2ljb24gPSBJY29uOjpjcmVhdGVJY29u
Rm9yRmlsZXMoZmlsZW5hbWVzKTsKKyAgICBsb2FkSWNvbigpOwogICAgIGlmIChtX2NsaWVudCkK
ICAgICAgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZCgpOwogfQogCit2b2lkIEZpbGVDaG9vc2Vy
Ojpsb2FkSWNvbigpCit7CisgICAgbV9pY29uID0gSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKG1f
ZmlsZW5hbWVzKTsKKyAgICAvLyBJZiBzeW5jaHJvbm91cyBpY29uIGxvYWRpbmcgZmFpbGVkLCB0
cnkgYXN5bmNocm9ub3VzIGxvYWRpbmcuCisgICAgaWYgKCFtX2ljb24gJiYgbV9maWxlbmFtZXMu
c2l6ZSgpICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+aWNvbkZvckZpbGVzKG1fZmls
ZW5hbWVzKTsKK30KKwordm9pZCBGaWxlQ2hvb3Nlcjo6aWNvbkxvYWRlZChQYXNzUmVmUHRyPElj
b24+IGljb24pCit7CisgICAgbV9pY29uID0gaWNvbjsKKyAgICBpZiAobV9pY29uICYmIG1fY2xp
ZW50KQorICAgICAgICBtX2NsaWVudC0+cmVwYWludCgpOworfQorCiB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmggYi9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9v
c2VyLmgKaW5kZXggMWQ0ZTk3MC4uM2ZlODEwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9GaWxlQ2hvb3Nlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaApAQCAt
NDEsNyArNDEsOSBAQCBjbGFzcyBJY29uOwogY2xhc3MgRmlsZUNob29zZXJDbGllbnQgewogcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWQoKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHJlcGFpbnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGFsbG93c011bHRpcGxlRmlsZXMo
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5n
PiYpID0gMDsKICAgICB2aXJ0dWFsIH5GaWxlQ2hvb3NlckNsaWVudCgpOwogfTsKIApAQCAtNjIs
MTEgKzY0LDE0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2hvb3NlRmlsZShjb25zdCBTdHJpbmcm
IHBhdGgpOwogICAgIHZvaWQgY2hvb3NlRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhdGhz
KTsKLSAgICAKKyAgICAvLyBDYWxsZWQgd2hlbiBGaWxlQ2hvb3NlckNsaWVudCBmaW5pc2hlcyB0
byBsb2FkIGFuIGljb24gcmVxdWVzdGVkIGJ5IGljb25Gb3JGaWxlcygpLgorICAgIHZvaWQgaWNv
bkxvYWRlZChQYXNzUmVmUHRyPEljb24+KTsKKwogICAgIGJvb2wgYWxsb3dzTXVsdGlwbGVGaWxl
cygpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50ID8gbV9jbGllbnQtPmFsbG93c011bHRpcGxlRmls
ZXMoKSA6IGZhbHNlOyB9CiAKIHByaXZhdGU6CiAgICAgRmlsZUNob29zZXIoRmlsZUNob29zZXJD
bGllbnQqLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgaW5pdGlhbEZpbGVuYW1lcyk7CisgICAgdm9p
ZCBsb2FkSWNvbigpOwogCiAgICAgRmlsZUNob29zZXJDbGllbnQqIG1fY2xpZW50OwogICAgIFZl
Y3RvcjxTdHJpbmc+IG1fZmlsZW5hbWVzOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2wuY3BwCmluZGV4IDM3ZWU4ZmIuLjExYmMxYjAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKQEAgLTEwOCwxNSArMTA4LDI3
IEBAIGJvb2wgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmFsbG93c011bHRpcGxlRmlsZXMoKQog
ICAgIHJldHVybiAhaW5wdXQtPmdldEF0dHJpYnV0ZShtdWx0aXBsZUF0dHIpLmlzTnVsbCgpOwog
fQogCit2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjppY29uRm9yRmlsZXMoY29uc3QgVmVj
dG9yPFN0cmluZz4mIGZpbGVuYW1lcykKK3sKKyAgICBpZiAoQ2hyb21lKiBjaHJvbWVQb2ludGVy
ID0gY2hyb21lKCkpCisgICAgICAgIGNocm9tZVBvaW50ZXItPmljb25Gb3JGaWxlcyhmaWxlbmFt
ZXMsIG1fZmlsZUNob29zZXIpOworfQorCiB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpj
bGljaygpCiB7CisgICAgaWYgKENocm9tZSogY2hyb21lUG9pbnRlciA9IGNocm9tZSgpKQorICAg
ICAgICBjaHJvbWVQb2ludGVyLT5ydW5PcGVuUGFuZWwobm9kZSgpLT5kb2N1bWVudCgpLT5mcmFt
ZSgpLCBtX2ZpbGVDaG9vc2VyKTsKK30KKworQ2hyb21lKiBSZW5kZXJGaWxlVXBsb2FkQ29udHJv
bDo6Y2hyb21lKCkgY29uc3QKK3sKICAgICBGcmFtZSogZnJhbWUgPSBub2RlKCktPmRvY3VtZW50
KCktPmZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICBy
ZXR1cm4gMDsKICAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2Up
Ci0gICAgICAgIHJldHVybjsKLSAgICBwYWdlLT5jaHJvbWUoKS0+cnVuT3BlblBhbmVsKGZyYW1l
LCBtX2ZpbGVDaG9vc2VyKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHBhZ2UtPmNo
cm9tZSgpOwogfQogCiB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjp1cGRhdGVGcm9tRWxl
bWVudCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAppbmRl
eCA3MmJhMzA4Li45ZjQ3NzM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
aWxlVXBsb2FkQ29udHJvbC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxv
YWRDb250cm9sLmgKQEAgLTI2LDYgKzI2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBDaHJvbWU7CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogICAgIAogLy8gRWFjaCBSZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbCBjb250YWlucyBhIFJlbmRlckJ1dHRvbiAoZm9yIG9wZW5pbmcg
dGhlIGZpbGUgY2hvb3NlciksIGFuZApAQCAtNDEsMTUgKzQyLDExIEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgY2xpY2soKTsKIAotICAgIHZvaWQgdmFsdWVDaGFuZ2VkKCk7Ci0gICAgCiAgICAgdm9p
ZCByZWNlaXZlRHJvcHBlZEZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiAKICAgICBTdHJp
bmcgYnV0dG9uVmFsdWUoKTsKICAgICBTdHJpbmcgZmlsZVRleHRWYWx1ZSgpIGNvbnN0OwogICAg
IAotICAgIGJvb2wgYWxsb3dzTXVsdGlwbGVGaWxlcygpOwotCiBwcml2YXRlOgogICAgIHZpcnR1
YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJGaWxlVXBs
b2FkQ29udHJvbCI7IH0KIApAQCAtNTksNiArNTYsMTMgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1
YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxl
KiBvbGRTdHlsZSk7CiAKKyAgICAvLyBGaWxlQ2hvb3NlckNsaWVudCBtZXRob2RzLgorICAgIHZv
aWQgdmFsdWVDaGFuZ2VkKCk7CisgICAgdm9pZCByZXBhaW50KCkgeyBSZW5kZXJCbG9jazo6cmVw
YWludCgpOyB9CisgICAgYm9vbCBhbGxvd3NNdWx0aXBsZUZpbGVzKCk7CisgICAgdm9pZCBpY29u
Rm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKKworICAgIENocm9tZSogY2hyb21lKCkg
Y29uc3Q7CiAgICAgaW50IG1heEZpbGVuYW1lV2lkdGgoKSBjb25zdDsKICAgICBQYXNzUmVmUHRy
PFJlbmRlclN0eWxlPiBjcmVhdGVCdXR0b25TdHlsZShjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50
U3R5bGUpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwYjUyMzlhLi4wMjFlMDg3IDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0xMi0wMiAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW50cm9kdWNlcyBhc3luY2hyb25vdXMgSWNvbiBsb2FkaW5nIGludGVyZmFjZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CisKKyAg
ICAgICAgQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZv
ckZpbGVzKCkuCisKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6Omljb25Gb3JGaWxlcyk6CisgICAgICAgICogc3Jj
L0Nocm9tZUNsaWVudEltcGwuaDoKKwogMjAwOS0xMi0wMSAgUGV0ZXIgS2FzdGluZyAgPHBrYXN0
aW5nQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggNGUyMDEyNC4uNWU3M2I4
MyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAor
KysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC01NzgsNiAr
NTc4LDExIEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFt
ZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNoCiAgICAgfQogfQogCit2b2lkIENocm9t
ZUNsaWVudEltcGw6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYs
IFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9wdXBPcGVuZWQoUG9wdXBDb250YWlu
ZXIqIHBvcHVwQ29udGFpbmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBJbnRSZWN0JiBib3VuZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2wgYWN0aXZhdGFibGUsCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmlu
ZGV4IDVhMWU5Y2MuLmRlZGU4OTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1w
bC5oCkBAIC0xMjMsNiArMTIzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoCiAgICAgICAgIFdlYkNvcmU6OkZyYW1lKiwg
V2ViQ29yZTo6R2VvbG9jYXRpb24qKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVs
KFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOworICAg
IHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlN0cmluZz4m
LCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CiAgICAgdmlydHVhbCBib29sIHNl
dEN1cnNvcihXZWJDb3JlOjpQbGF0Zm9ybUN1cnNvckhhbmRsZSkgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6Ok5vZGUq
KTsKICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8V2ViQ29yZTo6SFRNTFBhcnNlclF1aXJrcz4gY3Jl
YXRlSFRNTFBhcnNlclF1aXJrcygpIHsgcmV0dXJuIDA7IH0KZGlmZiAtLWdpdCBhL1dlYktpdC9n
dGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggZjU4OTgxMy4uN2U1Mjky
MSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0xMi0wMiAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW50cm9kdWNlcyBhc3luY2hyb25vdXMgSWNvbiBsb2FkaW5nIGludGVyZmFjZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CisKKyAg
ICAgICAgQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZv
ckZpbGVzKCkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyk6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisKIDIwMDktMTItMDEgIE5pa29s
YXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRHdGsuY3BwCmluZGV4IGQ5YTA0M2IuLmNmNTE1YmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTU1Nyw2ICs1NTcsMTEgQEAgdm9pZCBD
aHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+
IHBycEZpbGVDaG9vc2VyKQogICAgIGd0a193aWRnZXRfZGVzdHJveShkaWFsb2cpOwogfQogCit2
b2lkIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTdHJp
bmc+JiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pCit7CisgICAgLy8gTm8gbmVl
ZCB0byBpbXBsZW1lbnQgdGhpcy4KK30KKwogYm9vbCBDaHJvbWVDbGllbnQ6OnNldEN1cnNvcihQ
bGF0Zm9ybUN1cnNvckhhbmRsZSkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaCBiL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggYmViN2EwOC4uN2U0MDdk
MyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsu
aAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCkBAIC0x
MDcsNiArMTA3LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBy
ZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwogI2VuZGlmCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRy
PFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmls
ZXMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlN0cmluZz4mLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZp
bGVDaG9vc2VyPik7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShj
b25zdCBXZWJDb3JlOjpOb2RlKikgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9oYWlrdS9DaGFu
Z2VMb2cgYi9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCmluZGV4IDU3ZGE5MWUuLmRmNWMxNGQgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2hhaWt1L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA5LTEyLTAyICBLZW50IFRhbXVyYSAgPHRrZW50QGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbnRyb2R1Y2VzIGFzeW5jaHJvbm91cyBJY29uIGxvYWRpbmcgaW50ZXJmYWNlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIwNTQKKworICAg
ICAgICBBZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24gb2YgQ2hyb21lQ2xpZW50OjppY29uRm9y
RmlsZXMoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEhhaWt1OjppY29uRm9yRmlsZXMpOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1Lmg6CisKIDIwMDktMTEt
MTMgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBmb3Ig
Y2hhbmdlcyB0byBGcmFtZUxvYWRlckNsaWVudApkaWZmIC0tZ2l0IGEvV2ViS2l0L2hhaWt1L1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcCBiL1dlYktpdC9oYWlrdS9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5jcHAKaW5kZXggMjRmMGI1Mi4uNTZhY2ZhYSAxMDA2
NDQKLS0tIGEvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNw
cAorKysgYi9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3Bw
CkBAIC0zNDYsNiArMzQ2LDExIEBAIHZvaWQgQ2hyb21lQ2xpZW50SGFpa3U6OnJ1bk9wZW5QYW5l
bChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQogICAgIG5vdEltcGxlbWVudGVkKCk7
CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SGFpa3U6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQoreworICAgIC8vIE5vIG5lZWQgdG8g
aW1wbGVtZW50IHRoaXMgaWYgSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkgaXMgaW1wbGVtZW50
ZWQuCit9CisKIGJvb2wgQ2hyb21lQ2xpZW50SGFpa3U6OnNldEN1cnNvcihQbGF0Zm9ybUN1cnNv
ckhhbmRsZSkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2hh
aWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmggYi9XZWJLaXQvaGFpa3UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAppbmRleCBlY2Q2NmRlLi4zYjA4NDFiIDEw
MDY0NAotLS0gYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3Uu
aAorKysgYi9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaApA
QCAtMTM0LDYgKzEzNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCByZXF1
ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopOwog
CiAgICAgICAgIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nl
cj4pOworICAgICAgICB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBh
c3NSZWZQdHI8RmlsZUNob29zZXI+KTsKIAogICAgICAgICBib29sIHNldEN1cnNvcihQbGF0Zm9y
bUN1cnNvckhhbmRsZSk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggN2JjY2IzNi4uOTM4YmQxOSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAwOS0xMi0wMiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlcyBh
c3luY2hyb25vdXMgSWNvbiBsb2FkaW5nIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CisKKyAgICAgICAgQWRkIGFuIGVtcHR5
IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6Omlj
b25Gb3JGaWxlcyk6CisKIDIwMDktMTItMDEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggY2EyODYzZS4uNGY3
NWFhMiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBA
IC0xMjAsNiArMTIwLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgcnVu
T3BlblBhbmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nl
cj4pOworICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFdlYkNvcmU6
OlN0cmluZz4mLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CiAKICAgICB2aXJ0
dWFsIGJvb2wgc2V0Q3Vyc29yKFdlYkNvcmU6OlBsYXRmb3JtQ3Vyc29ySGFuZGxlKSB7IHJldHVy
biBmYWxzZTsgfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbSBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tCmluZGV4IDU4MzIzYmIuLmNlODkwYTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC02MzksNiArNjM5LDExIEBAIHZvaWQgV2ViQ2hyb21l
Q2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBjaG9v
c2VyKQogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiB9CiAKK3ZvaWQgV2ViQ2hyb21l
Q2xpZW50OjppY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBQYXNzUmVmUHRyPEZp
bGVDaG9vc2VyPikKK3sKKyAgICAvLyBObyBuZWVkIHRvIGltcGxlbWVudCB0aGlzLgorfQorCiBL
ZXlib2FyZFVJTW9kZSBXZWJDaHJvbWVDbGllbnQ6OmtleWJvYXJkVUlNb2RlKCkKIHsKICAgICBC
RUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBmMDIxNDBiLi40NDIxYTUxIDEwMDY0NAot
LS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAwOS0xMi0wMiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9k
dWNlcyBhc3luY2hyb25vdXMgSWNvbiBsb2FkaW5nIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CisKKyAgICAgICAgQWRkIGFu
IGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6aWNvbkZvckZpbGVzKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oOgorCiAyMDA5LTEyLTAxICBOaWtvbGFzIFppbW1lcm1h
bm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdlZC4gVHJ5IHRv
IGZpeCBRdCBidWlsZC4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQu
Y3BwCmluZGV4IGViN2FjOWEuLjczODU5ZWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFF0LmNwcApAQCAtNDQ2LDYgKzQ0NiwxMSBAQCB2b2lkIENocm9tZUNsaWVu
dFF0OjpydW5PcGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBw
cnBGaWxlQwogICAgIH0KIH0KIAordm9pZCBDaHJvbWVDbGllbnRRdDo6aWNvbkZvckZpbGVzKGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pCit7CisgICAgLy8g
Tm8gbmVlZCB0byBpbXBsZW1lbnQgdGhpcy4KK30KKwogYm9vbCBDaHJvbWVDbGllbnRRdDo6c2V0
Q3Vyc29yKFBsYXRmb3JtQ3Vyc29ySGFuZGxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCmluZGV4IDkzOWZlMDQuLmI1
MWFlNmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC0x
MjMsNiArMTIzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
cmVhY2hlZE1heEFwcENhY2hlU2l6ZShpbnQ2NF90IHNwYWNlTmVlZGVkKTsKICNlbmRpZgogICAg
ICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hv
b3Nlcj4pOworICAgICAgICB2aXJ0dWFsIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwogCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopIHsgfQogCmRpZmYgLS1naXQgYS9XZWJL
aXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGNkOWQzYTcuLmQ5
ZDA3MjMgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93aW4v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMTItMDIgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBpbnRlcmZhY2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjA1NAor
CisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBDaHJvbWVDbGllbnQ6Omlj
b25Gb3JGaWxlcygpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAwOS0xMi0wMSAgTmlrb2xh
cyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBOb3QgcmV2aWV3
ZWQuIFRyeSB0byBmaXggd2luZG93cyBidWlsZC4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA2ZTgyY2FmLi5hMDU4ZjUyIDEwMDY0NAotLS0g
YS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC03MzEsNiArNzMx
LDExIEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVm
UHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlQ2hvb3NlCiAgICAgLy8gRklYTUU6IFNob3cgc29tZSBz
b3J0IG9mIGVycm9yIGlmIHRvbyBtYW55IGZpbGVzIGFyZSBzZWxlY3RlZCBhbmQgdGhlIGJ1ZmZl
ciBpcyB0b28gc21hbGwuICBGb3Igbm93LCB0aGlzIHdpbGwgZmFpbCBzaWxlbnRseS4KIH0KIAor
dm9pZCBXZWJDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6
U3RyaW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KQoreworICAgIC8vIE5v
IG5lZWQgdG8gaW1wbGVtZW50IHRoaXMuCit9CisKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzZXRD
dXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUgY3Vyc29yKQogewogICAgIGlmICghY3Vyc29yKQpk
aWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBi
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZTBjNTlh
ZS4uZjBiM2ExOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAorKysgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCkBAIC0xMjMsNiArMTIzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBwYWludEN1
c3RvbVNjcm9sbENvcm5lcihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQqLCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFJlY3QmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6
RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CisgICAgdmlydHVhbCB2
b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKIAogICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJzb3Io
V2ViQ29yZTo6UGxhdGZvcm1DdXJzb3JIYW5kbGUgY3Vyc29yKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3d4L0NoYW5nZUxvZyBiL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggMzlhMWI5NC4uZWNk
NDA3YiAxMDA2NDQKLS0tIGEvV2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9XZWJLaXQvd3gvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMTItMDIgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBpbnRlcmZhY2UuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjA1NAorCisg
ICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBDaHJvbWVDbGllbnQ6Omljb25G
b3JGaWxlcygpLgorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6aWNvbkZvckZpbGVzKToKKyAgICAg
ICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4Lmg6CisKIDIwMDktMTEtMjMgIExhc3ps
byBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L1dl
YktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQv
Q2hyb21lQ2xpZW50V3guY3BwCmluZGV4IDE3ZjZmNDMuLmIzOTFlYzIgMTAwNjQ0Ci0tLSBhL1dl
YktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcAorKysgYi9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKQEAgLTQxNiw2ICs0MTYsMTEgQEAgdm9p
ZCBDaHJvbWVDbGllbnRXeDo6cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hv
b3Nlcj4pCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBDaHJvbWVDbGllbnRXeDo6
aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nl
cj4pCit7CisgICAgLy8gTm8gbmVlZCB0byBpbXBsZW1lbnQgdGhpcyBpZiBJY29uOjpjcmVhdGVJ
Y29uRm9yRmlsZXMoKSBpcyBpbXBsZW1lbnRlZC4KK30KKwogYm9vbCBDaHJvbWVDbGllbnRXeDo6
c2V0Q3Vyc29yKFBsYXRmb3JtQ3Vyc29ySGFuZGxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oIGIv
V2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAppbmRleCBiZDRmMWVjLi43
MWFlNDhkIDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRX
eC5oCisrKyBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKQEAgLTEy
NSw2ICsxMjUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVu
UGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CisgICAgdmlydHVhbCB2b2lk
IGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29z
ZXI+KTsKIAogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSop
IHsgfQogCi0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44739</attachid>
            <date>2009-12-12 11:53:08 -0800</date>
            <delta_ts>2010-01-18 00:38:22 -0800</delta_ts>
            <desc>Proposed patch (rev.4)</desc>
            <filename>0001-async-icon-4.patch</filename>
            <type>text/plain</type>
            <size>22223</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NmViNDVjNC4uNjRlYmFlMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAwOS0xMi0wMiAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW50cm9kdWNlcyBhc3luY2hyb25vdXMgSWNvbiBsb2FkaW5nIGludGVy
ZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MDU0CisKKyAgICAgICAgSXQncyBoYXJkIGZvciBDaHJvbWl1bSBwb3J0IHRvIGxvYWQgYW4gaWNv
biBpbnNpZGUKKyAgICAgICAgSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkgYmVjYXVzZSBvZiBz
YW5ib3ggYW5kIG11bHRpLXByb2Nlc3MKKyAgICAgICAgYXJjaGl0ZWN0dXJlLiBTbyB0aGlzIGNo
YW5nZSBhZGRzIGEgbWV0aG9kIHRvIHJlcXVlc3QgYW4gaWNvbiB0bworICAgICAgICBDaHJvbWUg
Y2xhc3MsIGFuZCBtYWtlcyBGaWxlQ2hvb3NlciByZWNlaXZlcyBhbiBJY29uIGluc3RhbmNlCisg
ICAgICAgIGFzeW5jaHJvbm91c2x5LgorCisgICAgICAgIEJlY2F1c2Ugbm9uLUNocm9taXVtIHBv
cnRzIGRvZXNuJ3QgbmVlZCB0aGlzIGZlYXR1cmUsIHdlIHRyeSB0bworICAgICAgICBsb2FkIGFu
IGljb24gc3luY2hyb25vdXNseSB3aXRoIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpLCB0aGVu
CisgICAgICAgIHRyeSBhc3luY2hyb25vdXMgaWNvbiBsb2FkaW5nIHdpdGggQ2hyb21lOjppY29u
Rm9yRmlsZXMoKSBpZgorICAgICAgICBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSByZXR1cm5z
IDAuCisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eUNocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKTogQWRkIGFuIGVtcHR5IGltcGxlbWVu
dGF0aW9uLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNo
cm9tZTo6aWNvbkZvckZpbGVzKTogRGVsZWdhdGUgdG8gQ2hyb21lQ2xpZW50OjppY29uRm9yRmls
ZXMoKS4KKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyk6IEFk
ZCBhIGRlY2xhcmF0aW9uIGFzIGEgcHVyZSB2aXJ0dWFsIG1ldGhvZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9GaWxlQ2hvb3Nlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6Rmls
ZUNob29zZXIpOiBVc2UgbG9hZEljb24oKS4KKyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2Vy
OjpjaG9vc2VGaWxlcyk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXI6Omxv
YWRJY29uKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6aWNvbkxvYWRl
ZCk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmg6IEFkZCB0d28gbWV0
aG9kcyB0byBGaWxlQ2hvb3NlckNsaWVudDsgcmVwYWludCgpIGFuZCBpY29uRm9yRmlsZXMoKS4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6Omljb25Gb3JGaWxlcyk6IERlbGVn
YXRlIHRvIENocm9tZTo6aWNvbkZvckZpbGVzKCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
aWxlVXBsb2FkQ29udHJvbDo6Y2xpY2spOiBVc2UgY2hyb21lKCkuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2hyb21lKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVV
cGxvYWRDb250cm9sOjpyZXBhaW50KToKKwogMjAwOS0xMi0xMiAgQ2hyaXN0aWFuIER5d2FuICA8
Y2hyaXN0aWFuQHR3b3RvYXN0cy5kZT4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYWNp
ZWogU3RhY2hvd2lhay4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
IGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggOTQ3YWYzMS4uM2YyMWY5ZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE0Niw2ICsxNDYsNyBAQCBwdWJsaWM6CiAjZW5kaWYK
IAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVD
aG9vc2VyPikgeyB9CisgICAgdmlydHVhbCB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KSB7IH0KIAogICAgIHZpcnR1YWwgdm9p
ZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopIHsgfQogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmNwcCBiL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IGQ3OWI0
MTcuLjk3NGEzOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1dl
YkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC00MTUsNiArNDE1LDExIEBAIHZvaWQgQ2hyb21lOjpy
dW5PcGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBmaWxlQ2hv
b3NlcikKICAgICBtX2NsaWVudC0+cnVuT3BlblBhbmVsKGZyYW1lLCBmaWxlQ2hvb3Nlcik7CiB9
CiAKK3ZvaWQgQ2hyb21lOjppY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVu
YW1lcywgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIpCit7CisgICAgbV9jbGll
bnQtPmljb25Gb3JGaWxlcyhmaWxlbmFtZXMsIGZpbGVDaG9vc2VyKTsKK30KKwogYm9vbCBDaHJv
bWU6OnNldEN1cnNvcihQbGF0Zm9ybUN1cnNvckhhbmRsZSBjdXJzb3IpCiB7CiAgICAgcmV0dXJu
IG1fY2xpZW50LT5zZXRDdXJzb3IoY3Vyc29yKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9D
aHJvbWUuaCBiL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCAwYzNkNDljLi4yZmIzOGMxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5oCkBAIC0xMzEsNiArMTMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lk
IHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShGcmFtZSosIEdlb2xvY2F0aW9u
Kik7CiAKICAgICAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVD
aG9vc2VyPik7CisgICAgICAgIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwogCiAgICAgICAgIGJvb2wgc2V0Q3Vyc29yKFBs
YXRmb3JtQ3Vyc29ySGFuZGxlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0Nocm9tZUNs
aWVudC5oIGIvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDEwNTJlYTYuLjMwZjgy
OGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTE4NSw2ICsxODUsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9y
RnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopID0gMDsKICAgICAgICAgICAgIAogICAgICAgICB2
aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4p
ID0gMDsKKyAgICAgICAgLy8gQXN5bmNocm9ub3VzIHJlcXVlc3QgdG8gbG9hZCBhbiBpY29uIGZv
ciBzcGVjaWZpZWQgZmlsZW5hbWVzLgorICAgICAgICAvLyBUaGlzIGlzIGNhbGxlZCBvbmx5IGlm
IEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpIHJldHVybnMgMC4KKyAgICAgICAgdmlydHVhbCB2
b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNo
b29zZXI+KSA9IDA7CiAKICAgICAgICAgdmlydHVhbCBib29sIHNldEN1cnNvcihQbGF0Zm9ybUN1
cnNvckhhbmRsZSkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9v
c2VyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwCmluZGV4IDlmYWQzOTIu
LmEyZDQ3NzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwCkBAIC0zOSw5ICszOSw5IEBAIEZp
bGVDaG9vc2VyQ2xpZW50Ojp+RmlsZUNob29zZXJDbGllbnQoKQogCiBpbmxpbmUgRmlsZUNob29z
ZXI6OkZpbGVDaG9vc2VyKEZpbGVDaG9vc2VyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBpbml0aWFsRmlsZW5hbWVzKQogICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwg
bV9pY29uKEljb246OmNyZWF0ZUljb25Gb3JGaWxlcyhpbml0aWFsRmlsZW5hbWVzKSkKIHsKICAg
ICBtX2ZpbGVuYW1lcyA9IGluaXRpYWxGaWxlbmFtZXM7CisgICAgbG9hZEljb24oKTsKIH0KIAog
UGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gRmlsZUNob29zZXI6OmNyZWF0ZShGaWxlQ2hvb3NlckNs
aWVudCogY2xpZW50LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgaW5pdGlhbEZpbGVuYW1lcykKQEAg
LTcxLDkgKzcxLDI0IEBAIHZvaWQgRmlsZUNob29zZXI6OmNob29zZUZpbGVzKGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBmaWxlbmFtZXMpCiAgICAgaWYgKG1fZmlsZW5hbWVzID09IGZpbGVuYW1lcykK
ICAgICAgICAgcmV0dXJuOwogICAgIG1fZmlsZW5hbWVzID0gZmlsZW5hbWVzOwotICAgIG1faWNv
biA9IEljb246OmNyZWF0ZUljb25Gb3JGaWxlcyhmaWxlbmFtZXMpOworICAgIGxvYWRJY29uKCk7
CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+dmFsdWVDaGFuZ2VkKCk7CiB9
CiAKK3ZvaWQgRmlsZUNob29zZXI6OmxvYWRJY29uKCkKK3sKKyAgICBtX2ljb24gPSBJY29uOjpj
cmVhdGVJY29uRm9yRmlsZXMobV9maWxlbmFtZXMpOworICAgIC8vIElmIHN5bmNocm9ub3VzIGlj
b24gbG9hZGluZyBmYWlsZWQsIHRyeSBhc3luY2hyb25vdXMgbG9hZGluZy4KKyAgICBpZiAoIW1f
aWNvbiAmJiBtX2ZpbGVuYW1lcy5zaXplKCkgJiYgbV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50
LT5pY29uRm9yRmlsZXMobV9maWxlbmFtZXMpOworfQorCit2b2lkIEZpbGVDaG9vc2VyOjppY29u
TG9hZGVkKFBhc3NSZWZQdHI8SWNvbj4gaWNvbikKK3sKKyAgICBtX2ljb24gPSBpY29uOworICAg
IGlmIChtX2ljb24gJiYgbV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5yZXBhaW50KCk7Cit9
CisKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaAppbmRleCAwNzY0YTZhLi5lN2ZlYjNlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9GaWxlQ2hvb3Nlci5oCkBAIC00MSw4ICs0MSwxMCBAQCBjbGFzcyBJY29uOwogY2xhc3MgRmls
ZUNob29zZXJDbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWQo
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcGFpbnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29s
IGFsbG93c011bHRpcGxlRmlsZXMoKSA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgYWNjZXB0VHlw
ZXMoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYpID0gMDsKICAgICB2aXJ0dWFsIH5GaWxlQ2hvb3NlckNsaWVudCgpOwogfTsKIApAQCAt
NjMsMTMgKzY1LDE2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2hvb3NlRmlsZShjb25zdCBTdHJp
bmcmIHBhdGgpOwogICAgIHZvaWQgY2hvb3NlRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBh
dGhzKTsKLSAgICAKKyAgICAvLyBDYWxsZWQgd2hlbiBGaWxlQ2hvb3NlckNsaWVudCBmaW5pc2hl
cyB0byBsb2FkIGFuIGljb24gcmVxdWVzdGVkIGJ5IGljb25Gb3JGaWxlcygpLgorICAgIHZvaWQg
aWNvbkxvYWRlZChQYXNzUmVmUHRyPEljb24+KTsKKwogICAgIGJvb2wgYWxsb3dzTXVsdGlwbGVG
aWxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50ID8gbV9jbGllbnQtPmFsbG93c011bHRpcGxl
RmlsZXMoKSA6IGZhbHNlOyB9CiAgICAgLy8gQWNjZXB0YWJsZSBNSU1FIHR5cGVzLiAgSXQncyBh
biAnYWNjZXB0JyBhdHRyaWJ1dGUgdmFsdWUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgSU5QVVQgZWxl
bWVudC4KICAgICBTdHJpbmcgYWNjZXB0VHlwZXMoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudCA/
IG1fY2xpZW50LT5hY2NlcHRUeXBlcygpIDogU3RyaW5nKCk7IH0KIAogcHJpdmF0ZToKICAgICBG
aWxlQ2hvb3NlcihGaWxlQ2hvb3NlckNsaWVudCosIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpbml0
aWFsRmlsZW5hbWVzKTsKKyAgICB2b2lkIGxvYWRJY29uKCk7CiAKICAgICBGaWxlQ2hvb3NlckNs
aWVudCogbV9jbGllbnQ7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9maWxlbmFtZXM7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKaW5kZXggYjRkMzVmNC4u
Yzc5NDc4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2wuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9s
LmNwcApAQCAtMTEzLDE1ICsxMTMsMjcgQEAgU3RyaW5nIFJlbmRlckZpbGVVcGxvYWRDb250cm9s
OjphY2NlcHRUeXBlcygpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQq
Pihub2RlKCkpLT5hY2NlcHQoKTsKIH0KIAordm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6
aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMpCit7CisgICAgaWYg
KENocm9tZSogY2hyb21lUG9pbnRlciA9IGNocm9tZSgpKQorICAgICAgICBjaHJvbWVQb2ludGVy
LT5pY29uRm9yRmlsZXMoZmlsZW5hbWVzLCBtX2ZpbGVDaG9vc2VyKTsKK30KKwogdm9pZCBSZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2xpY2soKQogeworICAgIGlmIChDaHJvbWUqIGNocm9tZVBv
aW50ZXIgPSBjaHJvbWUoKSkKKyAgICAgICAgY2hyb21lUG9pbnRlci0+cnVuT3BlblBhbmVsKG5v
ZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSwgbV9maWxlQ2hvb3Nlcik7Cit9CisKK0Nocm9tZSog
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNocm9tZSgpIGNvbnN0Cit7CiAgICAgRnJhbWUqIGZy
YW1lID0gbm9kZSgpLT5kb2N1bWVudCgpLT5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCi0gICAg
ICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgUGFnZSogcGFnZSA9IGZyYW1lLT5w
YWdlKCk7CiAgICAgaWYgKCFwYWdlKQotICAgICAgICByZXR1cm47Ci0gICAgcGFnZS0+Y2hyb21l
KCktPnJ1bk9wZW5QYW5lbChmcmFtZSwgbV9maWxlQ2hvb3Nlcik7CisgICAgICAgIHJldHVybiAw
OworICAgIHJldHVybiBwYWdlLT5jaHJvbWUoKTsKIH0KIAogdm9pZCBSZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbDo6dXBkYXRlRnJvbUVsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmgKaW5kZXggZGNkY2U0ZC4uNDU0MDQxYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCkBAIC0yNiw2ICsyNiw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ2hyb21lOwogY2xhc3MgSFRNTElucHV0RWxlbWVu
dDsKICAgICAKIC8vIEVhY2ggUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wgY29udGFpbnMgYSBSZW5k
ZXJCdXR0b24gKGZvciBvcGVuaW5nIHRoZSBmaWxlIGNob29zZXIpLCBhbmQKQEAgLTQxLDE2ICs0
MiwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsaWNrKCk7CiAKLSAgICB2b2lkIHZhbHVlQ2hh
bmdlZCgpOwotICAgIAogICAgIHZvaWQgcmVjZWl2ZURyb3BwZWRGaWxlcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYpOwogCiAgICAgU3RyaW5nIGJ1dHRvblZhbHVlKCk7CiAgICAgU3RyaW5nIGZpbGVU
ZXh0VmFsdWUoKSBjb25zdDsKICAgICAKLSAgICBib29sIGFsbG93c011bHRpcGxlRmlsZXMoKTsK
LSAgICBTdHJpbmcgYWNjZXB0VHlwZXMoKTsKLQogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0
IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyRmlsZVVwbG9hZENvbnRy
b2wiOyB9CiAKQEAgLTYwLDYgKzU2LDE0IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQg
c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5
bGUpOwogCisgICAgLy8gRmlsZUNob29zZXJDbGllbnQgbWV0aG9kcy4KKyAgICB2b2lkIHZhbHVl
Q2hhbmdlZCgpOworICAgIHZvaWQgcmVwYWludCgpIHsgUmVuZGVyQmxvY2s6OnJlcGFpbnQoKTsg
fQorICAgIGJvb2wgYWxsb3dzTXVsdGlwbGVGaWxlcygpOworICAgIFN0cmluZyBhY2NlcHRUeXBl
cygpOworICAgIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CisKKyAg
ICBDaHJvbWUqIGNocm9tZSgpIGNvbnN0OwogICAgIGludCBtYXhGaWxlbmFtZVdpZHRoKCkgY29u
c3Q7CiAgICAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gY3JlYXRlQnV0dG9uU3R5bGUoY29uc3Qg
UmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNDJhYjg4
NS4uMzRjOTI2MyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMTItMDIgIEtl
bnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9h
ZGluZyBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMjA1NAorCisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBD
aHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcygpLgorCisgICAgICAgICogc3JjL0Nocm9tZUNsaWVu
dEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjppY29uRm9yRmls
ZXMpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6CisKIDIwMDktMTItMTEgIE5h
dGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVu
dEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRl
eCA0ZTIwMTI0Li41ZTczYjgzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHAKQEAgLTU3OCw2ICs1NzgsMTEgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpydW5PcGVu
UGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBmaWxlQ2gKICAgICB9
CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxX
ZWJDb3JlOjpTdHJpbmc+JiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpwb3B1cE9w
ZW5lZChQb3B1cENvbnRhaW5lciogcG9wdXBDb250YWluZXIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIGJvdW5kcywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBhY3RpdmF0YWJsZSwKZGlmZiAtLWdpdCBhL1dlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKaW5kZXggNWExZTljYy4uZGVkZTg5NiAxMDA2NDQKLS0tIGEvV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9DaHJvbWVDbGllbnRJbXBsLmgKQEAgLTEyMyw2ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZSgKICAgICAgICAg
V2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHZW9sb2NhdGlvbiopIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZp
bGVDaG9vc2VyPik7CisgICAgdmlydHVhbCB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8
V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKICAg
ICB2aXJ0dWFsIGJvb2wgc2V0Q3Vyc29yKFdlYkNvcmU6OlBsYXRmb3JtQ3Vyc29ySGFuZGxlKSB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29u
c3QgV2ViQ29yZTo6Tm9kZSopOwogICAgIHZpcnR1YWwgUGFzc093blB0cjxXZWJDb3JlOjpIVE1M
UGFyc2VyUXVpcmtzPiBjcmVhdGVIVE1MUGFyc2VyUXVpcmtzKCkgeyByZXR1cm4gMDsgfQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRl
eCAwOWZiZDFjLi4yOTgwYmVmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA5LTEyLTAyICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2VzIGFzeW5jaHJvbm91cyBJY29uIGxvYWRp
bmcgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzIwNTQKKworICAgICAgICBBZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24gb2YgQ2hy
b21lQ2xpZW50OjppY29uRm9yRmlsZXMoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudDo6aWNvbkZv
ckZpbGVzKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKwog
MjAwOS0xMi0xMSAgQ2hyaXN0aWFuIER5d2FuICA8Y2hyaXN0aWFuQHR3b3RvYXN0cy5kZT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAppbmRleCBkOWEwNDNiLi5jZjUxNWJiIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC01NTcsNiAr
NTU3LDExIEBAIHZvaWQgQ2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVm
UHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlQ2hvb3NlcikKICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3ko
ZGlhbG9nKTsKIH0KIAordm9pZCBDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0
b3I8V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KQor
eworICAgIC8vIE5vIG5lZWQgdG8gaW1wbGVtZW50IHRoaXMuCit9CisKIGJvb2wgQ2hyb21lQ2xp
ZW50OjpzZXRDdXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUpCiB7CiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
R3RrLmggYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCmluZGV4
IGJlYjdhMDguLjdlNDA3ZDMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmgKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuaApAQCAtMTA3LDYgKzEwNyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcmVhY2hlZE1heEFwcENhY2hlU2l6ZShpbnQ2NF90IHNwYWNlTmVlZGVk
KTsKICNlbmRpZgogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZy
YW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOworICAgICAgICB2aXJ0dWFs
IHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiwgUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb3Jt
U3RhdGVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6Tm9kZSopIHsgfQogCmRpZmYgLS1naXQgYS9X
ZWJLaXQvaGFpa3UvQ2hhbmdlTG9nIGIvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZwppbmRleCAyYWE0
YWQ3Li42NTcwMTg1IDEwMDY0NAotLS0gYS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9oYWlrdS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0xMi0wMiAgS2VudCBU
YW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlcyBhc3luY2hyb25vdXMgSWNvbiBsb2FkaW5n
IGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTMyMDU0CisKKyAgICAgICAgQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9t
ZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRIYWlrdS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRIYWlrdTo6
aWNvbkZvckZpbGVzKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlr
dS5oOgorCiAyMDA5LTEyLTA2ICBNYXhpbWUgU2ltb24gIDxzaW1vbi5tYXhpbWVAZ21haWwuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJLaXQv
aGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwIGIvV2ViS2l0L2hhaWt1
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcAppbmRleCAyNGYwYjUyLi41NmFj
ZmFhIDEwMDY0NAotLS0gYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
SGFpa3UuY3BwCisrKyBiL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRI
YWlrdS5jcHAKQEAgLTM0Niw2ICszNDYsMTEgQEAgdm9pZCBDaHJvbWVDbGllbnRIYWlrdTo6cnVu
T3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pCiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKIH0KIAordm9pZCBDaHJvbWVDbGllbnRIYWlrdTo6aWNvbkZvckZpbGVzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pCit7CisgICAgLy8gTm8g
bmVlZCB0byBpbXBsZW1lbnQgdGhpcyBpZiBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSBpcyBp
bXBsZW1lbnRlZC4KK30KKwogYm9vbCBDaHJvbWVDbGllbnRIYWlrdTo6c2V0Q3Vyc29yKFBsYXRm
b3JtQ3Vyc29ySGFuZGxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaCBiL1dlYktpdC9o
YWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCmluZGV4IGVjZDY2ZGUuLjNi
MDg0MWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRIYWlrdS5oCisrKyBiL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRI
YWlrdS5oCkBAIC0xMzQsNiArMTM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShGcmFtZSosIEdlb2xvY2F0
aW9uKik7CiAKICAgICAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZp
bGVDaG9vc2VyPik7CisgICAgICAgIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwogCiAgICAgICAgIGJvb2wgc2V0Q3Vyc29y
KFBsYXRmb3JtQ3Vyc29ySGFuZGxlKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VM
b2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBiMDVmMmE4Li5hYTM0MzI0IDEwMDY0NAot
LS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDA5LTEyLTAyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRy
b2R1Y2VzIGFzeW5jaHJvbm91cyBJY29uIGxvYWRpbmcgaW50ZXJmYWNlLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIwNTQKKworICAgICAgICBBZGQg
YW4gZW1wdHkgaW1wbGVtZW50YXRpb24gb2YgQ2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMoKS4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNs
aWVudDo6aWNvbkZvckZpbGVzKToKKwogMjAwOS0xMi0xMCAgSm9uIEhvbmV5Y3V0dCAgPGpob25l
eWN1dHRAYXBwbGUuY29tPgogCiAgICAgICAgIE1hYyBidWlsZCBmaXguIFVucmV2aWV3ZWQuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBjYTI4NjNl
Li40Zjc1YWEyIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCisrKyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKQEAgLTEyMCw2ICsxMjAsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9p
ZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVD
aG9vc2VyPik7CisgICAgdmlydHVhbCB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V2Vi
Q29yZTo6U3RyaW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKIAogICAg
IHZpcnR1YWwgYm9vbCBzZXRDdXJzb3IoV2ViQ29yZTo6UGxhdGZvcm1DdXJzb3JIYW5kbGUpIHsg
cmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lm1tIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQubW0KaW5kZXggNTgzMjNiYi4uY2U4OTBhNyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTYzOSw2ICs2MzksMTEgQEAgdm9pZCBXZWJD
aHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+
IGNob29zZXIpCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIH0KIAordm9pZCBXZWJD
aHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQ
dHI8RmlsZUNob29zZXI+KQoreworICAgIC8vIE5vIG5lZWQgdG8gaW1wbGVtZW50IHRoaXMuCit9
CisKIEtleWJvYXJkVUlNb2RlIFdlYkNocm9tZUNsaWVudDo6a2V5Ym9hcmRVSU1vZGUoKQogewog
ICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDUzNjllNWMuLmJlOThkMzkgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDA5LTEyLTAyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnRyb2R1Y2VzIGFzeW5jaHJvbm91cyBJY29uIGxvYWRpbmcgaW50ZXJmYWNlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIwNTQKKworICAgICAgICBB
ZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24gb2YgQ2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMo
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjppY29uRm9yRmlsZXMpOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisKIDIwMDktMTItMTEgIFlhZWwgQWhhcm9u
ICA8eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4
IGZvciBRdCB2ZXJzaW9ucyA8IDQuNi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuY3BwCmluZGV4IGViN2FjOWEuLjczODU5ZWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcApAQCAtNDQ2LDYgKzQ0NiwxMSBAQCB2b2lkIENo
cm9tZUNsaWVudFF0OjpydW5PcGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVD
aG9vc2VyPiBwcnBGaWxlQwogICAgIH0KIH0KIAordm9pZCBDaHJvbWVDbGllbnRRdDo6aWNvbkZv
ckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pCit7
CisgICAgLy8gTm8gbmVlZCB0byBpbXBsZW1lbnQgdGhpcy4KK30KKwogYm9vbCBDaHJvbWVDbGll
bnRRdDo6c2V0Q3Vyc29yKFBsYXRmb3JtQ3Vyc29ySGFuZGxlKQogewogICAgIG5vdEltcGxlbWVu
dGVkKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCmluZGV4IDkz
OWZlMDQuLmI1MWFlNmYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5oCkBAIC0xMjMsNiArMTIzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIHZvaWQgcmVhY2hlZE1heEFwcENhY2hlU2l6ZShpbnQ2NF90IHNwYWNlTmVlZGVkKTsKICNl
bmRpZgogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0
cjxGaWxlQ2hvb3Nlcj4pOworICAgICAgICB2aXJ0dWFsIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwogCiAgICAgICAgIHZp
cnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopIHsgfQogCmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDE0
YWEyYjYuLjNlYjJmOWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMTItMDIgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBp
bnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMjA1NAorCisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBDaHJvbWVD
bGllbnQ6Omljb25Gb3JGaWxlcygpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAwOS0xMi0x
MSAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgSm9uIEhvbmV5Y3V0dC4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAppbmRleCA2ZTgyY2FmLi5hMDU4ZjUyIDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC03MzEsNiArNzMxLDExIEBAIHZvaWQg
V2ViQ2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9v
c2VyPiBwcnBGaWxlQ2hvb3NlCiAgICAgLy8gRklYTUU6IFNob3cgc29tZSBzb3J0IG9mIGVycm9y
IGlmIHRvbyBtYW55IGZpbGVzIGFyZSBzZWxlY3RlZCBhbmQgdGhlIGJ1ZmZlciBpcyB0b28gc21h
bGwuICBGb3Igbm93LCB0aGlzIHdpbGwgZmFpbCBzaWxlbnRseS4KIH0KIAordm9pZCBXZWJDaHJv
bWVDbGllbnQ6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYsIFBh
c3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KQoreworICAgIC8vIE5vIG5lZWQgdG8gaW1w
bGVtZW50IHRoaXMuCit9CisKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzZXRDdXJzb3IoUGxhdGZv
cm1DdXJzb3JIYW5kbGUgY3Vyc29yKQogewogICAgIGlmICghY3Vyc29yKQpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZTBjNTlhZS4uZjBiM2ExOSAx
MDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAor
KysgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMjMs
NiArMTIzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBwYWludEN1c3RvbVNjcm9sbENv
cm5lcihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
KTsKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNz
UmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CisgICAgdmlydHVhbCB2b2lkIGljb25Gb3JG
aWxlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6
RmlsZUNob29zZXI+KTsKIAogICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJzb3IoV2ViQ29yZTo6UGxh
dGZvcm1DdXJzb3JIYW5kbGUgY3Vyc29yKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L0NoYW5n
ZUxvZyBiL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggZTZlZDM4OS4uM2YwMDVhNSAxMDA2NDQK
LS0tIGEvV2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMDktMTItMDIgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJv
ZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjA1NAorCisgICAgICAgIEFkZCBh
biBlbXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcygpLgor
CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6aWNvbkZvckZpbGVzKToKKyAgICAgICAgKiBXZWJLaXRT
dXBwb3J0L0Nocm9tZUNsaWVudFd4Lmg6CisKIDIwMDktMTItMDggIEtldmluIFdhdHRlcnMgIDxr
ZXZpbndhdHRlcnNAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtldmluIE9sbGl2
aWVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3gu
Y3BwIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCmluZGV4IDE3
ZjZmNDMuLmIzOTFlYzIgMTAwNjQ0Ci0tLSBhL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9t
ZUNsaWVudFd4LmNwcAorKysgYi9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRX
eC5jcHAKQEAgLTQxNiw2ICs0MTYsMTEgQEAgdm9pZCBDaHJvbWVDbGllbnRXeDo6cnVuT3BlblBh
bmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pCiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0KIAordm9pZCBDaHJvbWVDbGllbnRXeDo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pCit7CisgICAgLy8gTm8gbmVlZCB0byBp
bXBsZW1lbnQgdGhpcyBpZiBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSBpcyBpbXBsZW1lbnRl
ZC4KK30KKwogYm9vbCBDaHJvbWVDbGllbnRXeDo6c2V0Q3Vyc29yKFBsYXRmb3JtQ3Vyc29ySGFu
ZGxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hy
b21lQ2xpZW50V3guaAppbmRleCBiZDRmMWVjLi43MWFlNDhkIDEwMDY0NAotLS0gYS9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCisrKyBiL1dlYktpdC93eC9XZWJLaXRT
dXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKQEAgLTEyNSw2ICsxMjUsNyBAQCBwdWJsaWM6CiAjZW5k
aWYKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZp
bGVDaG9vc2VyPik7CisgICAgdmlydHVhbCB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKIAogICAgIHZpcnR1YWwgdm9pZCBm
b3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopIHsgfQogCi0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="26642"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46796</attachid>
            <date>2010-01-18 00:38:22 -0800</date>
            <delta_ts>2010-01-26 18:20:47 -0800</delta_ts>
            <desc>Proposed patch (rev.5)</desc>
            <filename>0001-async-icon-5.patch</filename>
            <type>text/plain</type>
            <size>9868</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSA3YmViODczNTZmMGYxYThiNDk4MTU4YTBlODEzNjZiMTNkZmVlMWIwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBNb24sIDE4IEphbiAyMDEwIDE3OjMxOjIzICswOTAwClN1YmplY3Q6IFtQQVRDSF0gYXN5bmMt
aWNvbi01CgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDE3ICsrKysrKysrKysrLS0tLS0tCiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArKystLQogV2ViS2l0L2d0ay9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKystCiBXZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgICAgIHwgICAgMyArKy0KIFdlYktpdC9o
YWlrdS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICsrLQogV2Vi
S2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcCB8ICAgIDIgKy0K
IFdlYktpdC9tYWMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAz
ICsrLQogV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gICAgICB8
ICAgIDIgKy0KIFdlYktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAzICsrLQogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNw
cCAgICAgICB8ICAgIDMgKystCiBXZWJLaXQvd2luL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgMyArKy0KIFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcCAgICAgfCAgICAzICsrLQogV2ViS2l0L3d4L0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKystCiBXZWJLaXQvd3gvV2ViS2l0U3VwcG9y
dC9DaHJvbWVDbGllbnRXeC5jcHAgICAgICAgIHwgICAgMiArLQogMTQgZmlsZXMgY2hhbmdlZCwg
MzUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0YTFlYTY0Li5iNzRlZGUxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMiwx
OSArMiwyNCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCi0gICAg
ICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBpbnRlcmZhY2UuCisgICAg
ICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9hZGluZyBpbnRlcmZhY2UgaW4gb3JkZXIgdG8gc3Vw
cG9ydAorICAgICAgICBhc3luY2hyb25vdXMgbG9hZGluZy4KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CiAKICAgICAgICAgSXQncyBoYXJkIGZv
ciBDaHJvbWl1bSBwb3J0IHRvIGxvYWQgYW4gaWNvbiBpbnNpZGUKICAgICAgICAgSWNvbjo6Y3Jl
YXRlSWNvbkZvckZpbGVzKCkgYmVjYXVzZSBvZiBzYW5ib3ggYW5kIG11bHRpLXByb2Nlc3MKICAg
ICAgICAgYXJjaGl0ZWN0dXJlLiBTbyB0aGlzIGNoYW5nZSBhZGRzIGEgbWV0aG9kIHRvIHJlcXVl
c3QgYW4gaWNvbiB0bwogICAgICAgICBDaHJvbWUgY2xhc3MsIGFuZCBtYWtlcyBGaWxlQ2hvb3Nl
ciByZWNlaXZlcyBhbiBJY29uIGluc3RhbmNlCi0gICAgICAgIGFzeW5jaHJvbm91c2x5LgorICAg
ICAgICBhc3luY2hyb25vdXNseS4gIFN5bmNocm9ub3VzIGxvYWRpbmcgYWxzbyB3b3JrcyB3aXRo
IHRoZSBuZXcgaW50ZXJmYWNlLgogCi0gICAgICAgIEJlY2F1c2Ugbm9uLUNocm9taXVtIHBvcnRz
IGRvZXNuJ3QgbmVlZCB0aGlzIGZlYXR1cmUsIHdlIHRyeSB0bwotICAgICAgICBsb2FkIGFuIGlj
b24gc3luY2hyb25vdXNseSB3aXRoIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpLCB0aGVuCi0g
ICAgICAgIHRyeSBhc3luY2hyb25vdXMgaWNvbiBsb2FkaW5nIHdpdGggQ2hyb21lOjppY29uRm9y
RmlsZXMoKSBpZgotICAgICAgICBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSByZXR1cm5zIDAu
CisgICAgICAgIEJlY2F1c2UgYWxsIHBvcnRzIGRvbid0IGhhdmUgaW1wbGVtZW50YXRpb25zIG9m
IENocm9tZTo6aWNvbkZvckZpbGVzKCkKKyAgICAgICAgeWV0LCBGaWxlQ2hvb3NlciB0cmllcyB0
byBsb2FkIGFuIEljb24gc3luY2hyb25vdXNseSB3aXRoCisgICAgICAgIEljb246OmNyZWF0ZUlj
b25Gb3JGaWxlcygpLCB0aGVuIHRyaWVzIHRvIGxvYWQgYW4gSWNvbiBhc3luY2hyb25vdXNseQor
ICAgICAgICB3aXRoIENocm9tZTo6aWNvbkZvckZpbGVzKCkgaWYgSWNvbjo6Y3JlYXRlSWNvbkZv
ckZpbGVzKCkgcmV0dXJucyAwLgorCisgICAgICAgIFRoZSBleGlzdGluZyBJY29uOjpjcmVhdGVJ
Y29uRm9yRmlsZXMoKSBpbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGJlCisgICAgICAgIG1vdmVkIHRv
IENocm9tZTo6aWNvbkZvckZpbGVzKCkuIFdlJ3JlIGdvaW5nIHRvIHJlbW92ZQorICAgICAgICBJ
Y29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKS4KIAogICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVu
dHMuaDoKICAgICAgICAgKFdlYkNvcmU6OkVtcHR5Q2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMp
OiBBZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24uCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmMDYyYmUwLi40
OGM0NzA4IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsOCArMSw5IEBACi0yMDEwLTAxLTE3ICBLZW50IFRh
bXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKzIwMTAtMDEtMTggIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgog
Ci0gICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBpbnRlcmZhY2Uu
CisgICAgICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9hZGluZyBpbnRlcmZhY2UgaW4gb3JkZXIg
dG8gc3VwcG9ydAorICAgICAgICBhc3luY2hyb25vdXMgbG9hZGluZy4KICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CiAKICAgICAgICAgQWRkIGFu
IGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmlu
ZGV4IDBjZjE2NGUuLjgxZGVkNzIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0yLDcgKzIsOCBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCi0gICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3Vz
IEljb24gbG9hZGluZyBpbnRlcmZhY2UuCisgICAgICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9h
ZGluZyBpbnRlcmZhY2UgaW4gb3JkZXIgdG8gc3VwcG9ydAorICAgICAgICBhc3luY2hyb25vdXMg
bG9hZGluZy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMyMDU0CiAKICAgICAgICAgQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNs
aWVudDo6aWNvbkZvckZpbGVzKCkuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEd0ay5jcHAKaW5kZXggNTM0YmYwMC4uZmI0ZmUzNSAxMDA2NDQKLS0tIGEvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcApAQCAtNTQ4LDcgKzU0OCw4IEBAIHZv
aWQgQ2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9v
c2VyPiBwcnBGaWxlQ2hvb3NlcikKIAogdm9pZCBDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyhj
b25zdCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNo
b29zZXI+KQogewotICAgIC8vIE5vIG5lZWQgdG8gaW1wbGVtZW50IHRoaXMuCisgICAgLy8gRklY
TUU6IE1vdmUgdGhlIGNvZGUgaW4gSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkgaGVyZS4KKyAg
ICBub3RJbXBsZW1lbnRlZCgpOwogfQogCiBib29sIENocm9tZUNsaWVudDo6c2V0Q3Vyc29yKFBs
YXRmb3JtQ3Vyc29ySGFuZGxlKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZyBi
L1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKaW5kZXggYzBhZmYzMi4uNzFkMTgxNSAxMDA2NDQKLS0t
IGEvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZworKysgYi9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCkBA
IC0yLDcgKzIsOCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCi0g
ICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBpbnRlcmZhY2UuCisg
ICAgICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9hZGluZyBpbnRlcmZhY2UgaW4gb3JkZXIgdG8g
c3VwcG9ydAorICAgICAgICBhc3luY2hyb25vdXMgbG9hZGluZy4KICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CiAKICAgICAgICAgQWRkIGFuIGVt
cHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCmRpZmYg
LS1naXQgYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3Bw
IGIvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcAppbmRl
eCA1NmFjZmFhLi5hN2YxMTQ1IDEwMDY0NAotLS0gYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwCisrKyBiL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRIYWlrdS5jcHAKQEAgLTM0OCw3ICszNDgsNyBAQCB2b2lkIENocm9tZUNs
aWVudEhhaWt1OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikK
IAogdm9pZCBDaHJvbWVDbGllbnRIYWlrdTo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pCiB7Ci0gICAgLy8gTm8gbmVlZCB0byBpbXBs
ZW1lbnQgdGhpcyBpZiBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSBpcyBpbXBsZW1lbnRlZC4K
KyAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCiBib29sIENocm9tZUNsaWVudEhhaWt1OjpzZXRD
dXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUpCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGI2ZWE2YjcuLmJmMzcxMDUgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0yLDcgKzIsOCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCi0g
ICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBpbnRlcmZhY2UuCisg
ICAgICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9hZGluZyBpbnRlcmZhY2UgaW4gb3JkZXIgdG8g
c3VwcG9ydAorICAgICAgICBhc3luY2hyb25vdXMgbG9hZGluZy4KICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CiAKICAgICAgICAgQWRkIGFuIGVt
cHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCmRpZmYg
LS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IGNlODkwYTcu
LjhiOTdiMjggMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tCkBAIC02NDEsNyArNjQxLDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5l
bChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGNob29zZXIpCiAKIHZvaWQgV2ViQ2hy
b21lQ2xpZW50OjppY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBQYXNzUmVmUHRy
PEZpbGVDaG9vc2VyPikKIHsKLSAgICAvLyBObyBuZWVkIHRvIGltcGxlbWVudCB0aGlzLgorICAg
IC8vIEZJWE1FOiBNb3ZlIHRoZSBjb2RlIG9mIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpIGhl
cmUuCiB9CiAKIEtleWJvYXJkVUlNb2RlIFdlYkNocm9tZUNsaWVudDo6a2V5Ym9hcmRVSU1vZGUo
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cK
aW5kZXggZDFkZTRjOS4uNmJjNzNlMiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0yLDcgKzIsOCBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCi0gICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3Vz
IEljb24gbG9hZGluZyBpbnRlcmZhY2UuCisgICAgICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9h
ZGluZyBpbnRlcmZhY2UgaW4gb3JkZXIgdG8gc3VwcG9ydAorICAgICAgICBhc3luY2hyb25vdXMg
bG9hZGluZy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMyMDU0CiAKICAgICAgICAgQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNs
aWVudDo6aWNvbkZvckZpbGVzKCkuCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmNwcAppbmRleCA0ZDc3ZTg4Li5kNTRlY2YwIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKQEAgLTQ1Niw3ICs0NTYsOCBAQCB2b2lkIENocm9t
ZUNsaWVudFF0OjpydW5PcGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9v
c2VyPiBwcnBGaWxlQwogCiB2b2lkIENocm9tZUNsaWVudFF0OjppY29uRm9yRmlsZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikKIHsKLSAgICAvLyBObyBu
ZWVkIHRvIGltcGxlbWVudCB0aGlzLgorICAgIC8vIEZJWE1FOiBNb3ZlIHRoZSBjb2RlIG9mIElj
b246OmNyZWF0ZUljb25Gb3JGaWxlcygpIGhlcmUuCisgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0K
IAogYm9vbCBDaHJvbWVDbGllbnRRdDo6c2V0Q3Vyc29yKFBsYXRmb3JtQ3Vyc29ySGFuZGxlKQpk
aWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCBmNjg1ZWQ0Li41ZGQ4NzgwIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMiw3ICsyLDggQEAKIAogICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAotICAgICAgICBJbnRyb2R1Y2VzIGFzeW5jaHJvbm91
cyBJY29uIGxvYWRpbmcgaW50ZXJmYWNlLgorICAgICAgICBJbnRyb2R1Y2VzIG5ldyBJY29uIGxv
YWRpbmcgaW50ZXJmYWNlIGluIG9yZGVyIHRvIHN1cHBvcnQKKyAgICAgICAgYXN5bmNocm9ub3Vz
IGxvYWRpbmcuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMjA1NAogCiAgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBDaHJvbWVD
bGllbnQ6Omljb25Gb3JGaWxlcygpLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwCmluZGV4IDAxNWM3ZmMuLjQ1Zjc2NjIgMTAwNjQ0Ci0tLSBhL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTczNiw3ICs3MzYsOCBAQCB2
b2lkIFdlYkNocm9tZUNsaWVudDo6cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxl
Q2hvb3Nlcj4gcHJwRmlsZUNob29zZQogCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6aWNvbkZvckZp
bGVzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpG
aWxlQ2hvb3Nlcj4pCiB7Ci0gICAgLy8gTm8gbmVlZCB0byBpbXBsZW1lbnQgdGhpcy4KKyAgICAv
LyBGSVhNRTogTW92ZSB0aGUgY29kZSBvZiBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSBoZXJl
LgorICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzZXRD
dXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUgY3Vyc29yKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4
L0NoYW5nZUxvZyBiL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggYjJlMmI0NC4uNWZlNzE0ZCAx
MDA2NDQKLS0tIGEvV2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9XZWJLaXQvd3gvQ2hhbmdlTG9n
CkBAIC0yLDcgKzIsOCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgog
Ci0gICAgICAgIEludHJvZHVjZXMgYXN5bmNocm9ub3VzIEljb24gbG9hZGluZyBpbnRlcmZhY2Uu
CisgICAgICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9hZGluZyBpbnRlcmZhY2UgaW4gb3JkZXIg
dG8gc3VwcG9ydAorICAgICAgICBhc3luY2hyb25vdXMgbG9hZGluZy4KICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CiAKICAgICAgICAgQWRkIGFu
IGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAgYi9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKaW5kZXggYjM5MWVjMi4u
ZmQxMTFjNSAxMDA2NDQKLS0tIGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50
V3guY3BwCisrKyBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcApA
QCAtNDE4LDcgKzQxOCw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50V3g6OnJ1bk9wZW5QYW5lbChGcmFt
ZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQogCiB2b2lkIENocm9tZUNsaWVudFd4OjppY29u
Rm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikK
IHsKLSAgICAvLyBObyBuZWVkIHRvIGltcGxlbWVudCB0aGlzIGlmIEljb246OmNyZWF0ZUljb25G
b3JGaWxlcygpIGlzIGltcGxlbWVudGVkLgorICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKIGJv
b2wgQ2hyb21lQ2xpZW50V3g6OnNldEN1cnNvcihQbGF0Zm9ybUN1cnNvckhhbmRsZSkKLS0gCjEu
Ni4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47482</attachid>
            <date>2010-01-26 18:20:55 -0800</date>
            <delta_ts>2010-02-17 18:12:25 -0800</delta_ts>
            <desc>Proposed patch (rev.6)</desc>
            <filename>bug-32054-20100127112053.patch</filename>
            <type>text/plain</type>
            <size>22990</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTJhNDhmNC4uNjYyMzhkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMC0wMS0xNyAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW50cm9kdWNlcyBuZXcgSWNvbiBsb2FkaW5nIGludGVyZmFjZSBpbiBv
cmRlciB0byBzdXBwb3J0CisgICAgICAgIGFzeW5jaHJvbm91cyBsb2FkaW5nLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIwNTQKKworICAgICAgICBJ
dCdzIGhhcmQgZm9yIENocm9taXVtIHBvcnQgdG8gbG9hZCBhbiBpY29uIGluc2lkZQorICAgICAg
ICBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSBiZWNhdXNlIG9mIHNhbmJveCBhbmQgbXVsdGkt
cHJvY2VzcworICAgICAgICBhcmNoaXRlY3R1cmUuIFNvIHRoaXMgY2hhbmdlIGFkZHMgYSBtZXRo
b2QgdG8gcmVxdWVzdCBhbiBpY29uIHRvCisgICAgICAgIENocm9tZSBjbGFzcywgYW5kIG1ha2Vz
IEZpbGVDaG9vc2VyIHJlY2VpdmVzIGFuIEljb24gaW5zdGFuY2UKKyAgICAgICAgYXN5bmNocm9u
b3VzbHkuICBTeW5jaHJvbm91cyBsb2FkaW5nIGFsc28gd29ya3Mgd2l0aCB0aGUgbmV3IGludGVy
ZmFjZS4KKworICAgICAgICBCZWNhdXNlIGFsbCBwb3J0cyBkb24ndCBoYXZlIGltcGxlbWVudGF0
aW9ucyBvZiBDaHJvbWU6Omljb25Gb3JGaWxlcygpCisgICAgICAgIHlldCwgRmlsZUNob29zZXIg
dHJpZXMgdG8gbG9hZCBhbiBJY29uIHN5bmNocm9ub3VzbHkgd2l0aAorICAgICAgICBJY29uOjpj
cmVhdGVJY29uRm9yRmlsZXMoKSwgdGhlbiB0cmllcyB0byBsb2FkIGFuIEljb24gYXN5bmNocm9u
b3VzbHkKKyAgICAgICAgd2l0aCBDaHJvbWU6Omljb25Gb3JGaWxlcygpIGlmIEljb246OmNyZWF0
ZUljb25Gb3JGaWxlcygpIHJldHVybnMgMC4KKworICAgICAgICBUaGUgZXhpc3RpbmcgSWNvbjo6
Y3JlYXRlSWNvbkZvckZpbGVzKCkgaW1wbGVtZW50YXRpb25zIHNob3VsZCBiZQorICAgICAgICBt
b3ZlZCB0byBDaHJvbWU6Omljb25Gb3JGaWxlcygpLiBXZSdyZSBnb2luZyB0byByZW1vdmUKKyAg
ICAgICAgSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkuCisKKyAgICAgICAgKiBsb2FkZXIvRW1w
dHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6aWNvbkZv
ckZpbGVzKTogQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAgICAgICAqIHBhZ2UvQ2hy
b21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6aWNvbkZvckZpbGVzKTogRGVsZWdh
dGUgdG8gQ2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMoKS4KKyAgICAgICAgKiBwYWdlL0Nocm9t
ZS5oOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyk6IEFkZCBhIGRlY2xhcmF0aW9uIGFzIGEgcHVyZSB2
aXJ0dWFsIG1ldGhvZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6RmlsZUNob29zZXIpOiBVc2UgbG9hZEljb24oKS4K
KyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpjaG9vc2VGaWxlcyk6IGRpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXI6OmxvYWRJY29uKTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6aWNvbkxvYWRlZCk6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL0ZpbGVDaG9vc2VyLmg6IEFkZCB0d28gbWV0aG9kcyB0byBGaWxlQ2hvb3NlckNsaWVudDsg
cmVwYWludCgpIGFuZCBpY29uRm9yRmlsZXMoKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2w6Omljb25Gb3JGaWxlcyk6IERlbGVnYXRlIHRvIENocm9tZTo6aWNvbkZvckZpbGVz
KCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2xpY2spOiBV
c2UgY2hyb21lKCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6
Y2hyb21lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpyZXBhaW50KToKKwog
MjAxMC0wMS0yNiAgQWRlbGUgUGV0ZXJzb24gIDxhZGVsZUBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IGE2OTMzOWIu
LjI3MzQ0NGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0xNDYsNiArMTQ2LDcgQEAgcHVibGlj
OgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1Jl
ZlB0cjxGaWxlQ2hvb3Nlcj4pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29u
c3QgVmVjdG9yPFN0cmluZz4mLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikgeyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKSB7IH0KIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApp
bmRleCBkNzliNDE3Li45NzRhMzlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNw
cAorKysgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNDE1LDYgKzQxNSwxMSBAQCB2b2lk
IENocm9tZTo6cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nl
cj4gZmlsZUNob29zZXIpCiAgICAgbV9jbGllbnQtPnJ1bk9wZW5QYW5lbChmcmFtZSwgZmlsZUNo
b29zZXIpOwogfQogCit2b2lkIENocm9tZTo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBmaWxlbmFtZXMsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGZpbGVDaG9vc2VyKQorewor
ICAgIG1fY2xpZW50LT5pY29uRm9yRmlsZXMoZmlsZW5hbWVzLCBmaWxlQ2hvb3Nlcik7Cit9CisK
IGJvb2wgQ2hyb21lOjpzZXRDdXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUgY3Vyc29yKQogewog
ICAgIHJldHVybiBtX2NsaWVudC0+c2V0Q3Vyc29yKGN1cnNvcik7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmggYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggNTQyNTI2Yi4u
YjM3ZTdlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1dlYkNvcmUv
cGFnZS9DaHJvbWUuaApAQCAtMTMxLDYgKzEzMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBH
ZW9sb2NhdGlvbiopOwogCiAgICAgICAgIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1Jl
ZlB0cjxGaWxlQ2hvb3Nlcj4pOworICAgICAgICB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0
b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKIAogICAgICAgICBib29sIHNl
dEN1cnNvcihQbGF0Zm9ybUN1cnNvckhhbmRsZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaCBiL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAxMDUy
ZWE2Li4zMGY4MjhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysr
IGIvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0xODUsNiArMTg1LDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVy
bWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKSA9IDA7CiAgICAgICAgICAgICAK
ICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8Rmls
ZUNob29zZXI+KSA9IDA7CisgICAgICAgIC8vIEFzeW5jaHJvbm91cyByZXF1ZXN0IHRvIGxvYWQg
YW4gaWNvbiBmb3Igc3BlY2lmaWVkIGZpbGVuYW1lcy4KKyAgICAgICAgLy8gVGhpcyBpcyBjYWxs
ZWQgb25seSBpZiBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSByZXR1cm5zIDAuCisgICAgICAg
IHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBQYXNzUmVm
UHRyPEZpbGVDaG9vc2VyPikgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJzb3Io
UGxhdGZvcm1DdXJzb3JIYW5kbGUpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9GaWxlQ2hvb3Nlci5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAppbmRl
eCA5ZmFkMzkyLi5hMmQ0NzcwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9v
c2VyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcApAQCAtMzksOSAr
MzksOSBAQCBGaWxlQ2hvb3NlckNsaWVudDo6fkZpbGVDaG9vc2VyQ2xpZW50KCkKIAogaW5saW5l
IEZpbGVDaG9vc2VyOjpGaWxlQ2hvb3NlcihGaWxlQ2hvb3NlckNsaWVudCogY2xpZW50LCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgaW5pdGlhbEZpbGVuYW1lcykKICAgICA6IG1fY2xpZW50KGNsaWVu
dCkKLSAgICAsIG1faWNvbihJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoaW5pdGlhbEZpbGVuYW1l
cykpCiB7CiAgICAgbV9maWxlbmFtZXMgPSBpbml0aWFsRmlsZW5hbWVzOworICAgIGxvYWRJY29u
KCk7CiB9CiAKIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IEZpbGVDaG9vc2VyOjpjcmVhdGUoRmls
ZUNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGluaXRpYWxGaWxl
bmFtZXMpCkBAIC03MSw5ICs3MSwyNCBAQCB2b2lkIEZpbGVDaG9vc2VyOjpjaG9vc2VGaWxlcyhj
b25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzKQogICAgIGlmIChtX2ZpbGVuYW1lcyA9PSBm
aWxlbmFtZXMpCiAgICAgICAgIHJldHVybjsKICAgICBtX2ZpbGVuYW1lcyA9IGZpbGVuYW1lczsK
LSAgICBtX2ljb24gPSBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoZmlsZW5hbWVzKTsKKyAgICBs
b2FkSWNvbigpOwogICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQtPnZhbHVlQ2hh
bmdlZCgpOwogfQogCit2b2lkIEZpbGVDaG9vc2VyOjpsb2FkSWNvbigpCit7CisgICAgbV9pY29u
ID0gSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKG1fZmlsZW5hbWVzKTsKKyAgICAvLyBJZiBzeW5j
aHJvbm91cyBpY29uIGxvYWRpbmcgZmFpbGVkLCB0cnkgYXN5bmNocm9ub3VzIGxvYWRpbmcuCisg
ICAgaWYgKCFtX2ljb24gJiYgbV9maWxlbmFtZXMuc2l6ZSgpICYmIG1fY2xpZW50KQorICAgICAg
ICBtX2NsaWVudC0+aWNvbkZvckZpbGVzKG1fZmlsZW5hbWVzKTsKK30KKwordm9pZCBGaWxlQ2hv
b3Nlcjo6aWNvbkxvYWRlZChQYXNzUmVmUHRyPEljb24+IGljb24pCit7CisgICAgbV9pY29uID0g
aWNvbjsKKyAgICBpZiAobV9pY29uICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+cmVw
YWludCgpOworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2Vy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKaW5kZXggMDc2NGE2YS4uZTdmZWIz
ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaApAQCAtNDEsOCArNDEsMTAgQEAgY2xhc3MgSWNvbjsK
IGNsYXNzIEZpbGVDaG9vc2VyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdmFs
dWVDaGFuZ2VkKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXBhaW50KCkgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBhbGxvd3NNdWx0aXBsZUZpbGVzKCkgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5n
IGFjY2VwdFR5cGVzKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mKSA9IDA7CiAgICAgdmlydHVhbCB+RmlsZUNob29zZXJDbGllbnQoKTsK
IH07CiAKQEAgLTYzLDEzICs2NSwxNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNob29zZUZpbGUo
Y29uc3QgU3RyaW5nJiBwYXRoKTsKICAgICB2b2lkIGNob29zZUZpbGVzKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBwYXRocyk7Ci0gICAgCisgICAgLy8gQ2FsbGVkIHdoZW4gRmlsZUNob29zZXJDbGll
bnQgZmluaXNoZXMgdG8gbG9hZCBhbiBpY29uIHJlcXVlc3RlZCBieSBpY29uRm9yRmlsZXMoKS4K
KyAgICB2b2lkIGljb25Mb2FkZWQoUGFzc1JlZlB0cjxJY29uPik7CisKICAgICBib29sIGFsbG93
c011bHRpcGxlRmlsZXMoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudCA/IG1fY2xpZW50LT5hbGxv
d3NNdWx0aXBsZUZpbGVzKCkgOiBmYWxzZTsgfQogICAgIC8vIEFjY2VwdGFibGUgTUlNRSB0eXBl
cy4gIEl0J3MgYW4gJ2FjY2VwdCcgYXR0cmlidXRlIHZhbHVlIG9mIHRoZSBjb3JyZXNwb25kaW5n
IElOUFVUIGVsZW1lbnQuCiAgICAgU3RyaW5nIGFjY2VwdFR5cGVzKCkgY29uc3QgeyByZXR1cm4g
bV9jbGllbnQgPyBtX2NsaWVudC0+YWNjZXB0VHlwZXMoKSA6IFN0cmluZygpOyB9CiAKIHByaXZh
dGU6CiAgICAgRmlsZUNob29zZXIoRmlsZUNob29zZXJDbGllbnQqLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgaW5pdGlhbEZpbGVuYW1lcyk7CisgICAgdm9pZCBsb2FkSWNvbigpOwogCiAgICAgRmls
ZUNob29zZXJDbGllbnQqIG1fY2xpZW50OwogICAgIFZlY3RvcjxTdHJpbmc+IG1fZmlsZW5hbWVz
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wu
Y3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCmluZGV4
IDU5Y2JhY2YuLmEzMTQ0MmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBs
b2FkQ29udHJvbC5jcHAKQEAgLTExNCwxNSArMTE0LDI3IEBAIFN0cmluZyBSZW5kZXJGaWxlVXBs
b2FkQ29udHJvbDo6YWNjZXB0VHlwZXMoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MSW5w
dXRFbGVtZW50Kj4obm9kZSgpKS0+YWNjZXB0KCk7CiB9CiAKK3ZvaWQgUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2w6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzKQor
eworICAgIGlmIChDaHJvbWUqIGNocm9tZVBvaW50ZXIgPSBjaHJvbWUoKSkKKyAgICAgICAgY2hy
b21lUG9pbnRlci0+aWNvbkZvckZpbGVzKGZpbGVuYW1lcywgbV9maWxlQ2hvb3Nlcik7Cit9CisK
IHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNsaWNrKCkKIHsKKyAgICBpZiAoQ2hyb21l
KiBjaHJvbWVQb2ludGVyID0gY2hyb21lKCkpCisgICAgICAgIGNocm9tZVBvaW50ZXItPnJ1bk9w
ZW5QYW5lbChub2RlKCktPmRvY3VtZW50KCktPmZyYW1lKCksIG1fZmlsZUNob29zZXIpOworfQor
CitDaHJvbWUqIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjaHJvbWUoKSBjb25zdAorewogICAg
IEZyYW1lKiBmcmFtZSA9IG5vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKICAgICBpZiAoIWZy
YW1lKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiAwOwogICAgIFBhZ2UqIHBhZ2Ug
PSBmcmFtZS0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuOwotICAgIHBh
Z2UtPmNocm9tZSgpLT5ydW5PcGVuUGFuZWwoZnJhbWUsIG1fZmlsZUNob29zZXIpOworICAgICAg
ICByZXR1cm4gMDsKKyAgICByZXR1cm4gcGFnZS0+Y2hyb21lKCk7CiB9CiAKIHZvaWQgUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUZyb21FbGVtZW50KCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCmluZGV4IGRjZGNlNGQuLjQ1NDA0MWEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaApAQCAtMjYsNiArMjYs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENocm9tZTsKIGNsYXNzIEhUTUxJ
bnB1dEVsZW1lbnQ7CiAgICAgCiAvLyBFYWNoIFJlbmRlckZpbGVVcGxvYWRDb250cm9sIGNvbnRh
aW5zIGEgUmVuZGVyQnV0dG9uIChmb3Igb3BlbmluZyB0aGUgZmlsZSBjaG9vc2VyKSwgYW5kCkBA
IC00MSwxNiArNDIsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGljaygpOwogCi0gICAgdm9p
ZCB2YWx1ZUNoYW5nZWQoKTsKLSAgICAKICAgICB2b2lkIHJlY2VpdmVEcm9wcGVkRmlsZXMoY29u
c3QgVmVjdG9yPFN0cmluZz4mKTsKIAogICAgIFN0cmluZyBidXR0b25WYWx1ZSgpOwogICAgIFN0
cmluZyBmaWxlVGV4dFZhbHVlKCkgY29uc3Q7CiAgICAgCi0gICAgYm9vbCBhbGxvd3NNdWx0aXBs
ZUZpbGVzKCk7Ci0gICAgU3RyaW5nIGFjY2VwdFR5cGVzKCk7Ci0KIHByaXZhdGU6CiAgICAgdmly
dHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckZpbGVV
cGxvYWRDb250cm9sIjsgfQogCkBAIC02MCw2ICs1NiwxNCBAQCBwcml2YXRlOgogCiAgICAgdmly
dHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5
bGUqIG9sZFN0eWxlKTsKIAorICAgIC8vIEZpbGVDaG9vc2VyQ2xpZW50IG1ldGhvZHMuCisgICAg
dm9pZCB2YWx1ZUNoYW5nZWQoKTsKKyAgICB2b2lkIHJlcGFpbnQoKSB7IFJlbmRlckJsb2NrOjpy
ZXBhaW50KCk7IH0KKyAgICBib29sIGFsbG93c011bHRpcGxlRmlsZXMoKTsKKyAgICBTdHJpbmcg
YWNjZXB0VHlwZXMoKTsKKyAgICB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5n
PiYpOworCisgICAgQ2hyb21lKiBjaHJvbWUoKSBjb25zdDsKICAgICBpbnQgbWF4RmlsZW5hbWVX
aWR0aCgpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IGNyZWF0ZUJ1dHRvblN0
eWxlKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkgY29uc3Q7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IGNkZjIxMjcuLjE4YWQ5NDYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMjc5LDYgKzI3OSwyMCBAQAog
ICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUdlb2xvY2F0aW9uKToK
ICAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc0dlb2xvY2F0aW9uRW5hYmxl
ZCk6CiAKKzIwMTAtMDEtMTggIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZXMg
bmV3IEljb24gbG9hZGluZyBpbnRlcmZhY2UgaW4gb3JkZXIgdG8gc3VwcG9ydAorICAgICAgICBh
c3luY2hyb25vdXMgbG9hZGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTMyMDU0CisKKyAgICAgICAgQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9u
IG9mIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCisKKyAgICAgICAgKiBzcmMvQ2hyb21l
Q2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6Omljb25G
b3JGaWxlcyk6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKwogMjAxMC0wMS0x
NyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgU2hpbmljaGlybyBIYW1hamkuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmNwcAppbmRleCA5MDc5MDk0Li5iNGU1OTViIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21l
Q2xpZW50SW1wbC5jcHAKQEAgLTU3Niw2ICs1NzYsMTEgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBs
OjpydW5PcGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBmaWxl
Q2gKICAgICBjaG9vc2VyQ29tcGxldGlvbi0+ZGlkQ2hvb3NlRmlsZShXZWJWZWN0b3I8V2ViU3Ry
aW5nPigpKTsKIH0KIAordm9pZCBDaHJvbWVDbGllbnRJbXBsOjppY29uRm9yRmlsZXMoY29uc3Qg
VmVjdG9yPFdlYkNvcmU6OlN0cmluZz4mLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2Vy
PikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIENocm9tZUNsaWVudEltcGw6
OnBvcHVwT3BlbmVkKFBvcHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5lciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgYm91bmRzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGFjdGl2YXRhYmxlLApkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCA1YTFlOWNjLi5kZWRlODk2IDEwMDY0NAotLS0g
YS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtMTIzLDYgKzEyMyw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKAog
ICAgICAgICBXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6Okdlb2xvY2F0aW9uKikgeyB9CiAgICAg
dmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NSZWZQdHI8V2Vi
Q29yZTo6RmlsZUNob29zZXI+KTsKKyAgICB2aXJ0dWFsIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0
IFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nl
cj4pOwogICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJzb3IoV2ViQ29yZTo6UGxhdGZvcm1DdXJzb3JI
YW5kbGUpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENo
YW5nZShjb25zdCBXZWJDb3JlOjpOb2RlKik7CiAgICAgdmlydHVhbCBQYXNzT3duUHRyPFdlYkNv
cmU6OkhUTUxQYXJzZXJRdWlya3M+IGNyZWF0ZUhUTUxQYXJzZXJRdWlya3MoKSB7IHJldHVybiAw
OyB9CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCmluZGV4IGI1OTZhOGYuLmMzMzIzZjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEt
MTcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9hZGlu
ZyBpbnRlcmZhY2UgaW4gb3JkZXIgdG8gc3VwcG9ydAorICAgICAgICBhc3luY2hyb25vdXMgbG9h
ZGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MDU0CisKKyAgICAgICAgQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVu
dDo6aWNvbkZvckZpbGVzKCkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisKIDIwMTAtMDEt
MTkgIEpvYW5tYXJpZSBEaWdncyAgPGpvYW5tYXJpZS5kaWdnc0BnbWFpbC5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IDhlYTg5OTEuLmZiNGZlMzUgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTU0Niw2ICs1NDYsMTIg
QEAgdm9pZCBDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8Rmls
ZUNob29zZXI+IHBycEZpbGVDaG9vc2VyKQogICAgIGd0a193aWRnZXRfZGVzdHJveShkaWFsb2cp
OwogfQogCit2b2lkIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXZWJD
b3JlOjpTdHJpbmc+JiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pCit7CisgICAg
Ly8gRklYTUU6IE1vdmUgdGhlIGNvZGUgaW4gSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkgaGVy
ZS4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBib29sIENocm9tZUNsaWVudDo6c2V0Q3Vy
c29yKFBsYXRmb3JtQ3Vyc29ySGFuZGxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCBiZWI3YTA4Li43
ZTQwN2QzIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgK
QEAgLTEwNyw2ICsxMDcsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAgICAgdmlydHVhbCB2
b2lkIHJlYWNoZWRNYXhBcHBDYWNoZVNpemUoaW50NjRfdCBzcGFjZU5lZWRlZCk7CiAjZW5kaWYK
ICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGljb25G
b3JGaWxlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6RmlsZUNob29zZXI+KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hh
bmdlKGNvbnN0IFdlYkNvcmU6Ok5vZGUqKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2hhaWt1
L0NoYW5nZUxvZyBiL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKaW5kZXggMmFhNGFkNy4uNzFkMTgx
NSAxMDA2NDQKLS0tIGEvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZworKysgYi9XZWJLaXQvaGFpa3Uv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMTcgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9hZGluZyBpbnRlcmZhY2UgaW4gb3JkZXIg
dG8gc3VwcG9ydAorICAgICAgICBhc3luY2hyb25vdXMgbG9hZGluZy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CisKKyAgICAgICAgQWRkIGFu
IGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWVDbGllbnRIYWlrdTo6aWNvbkZvckZpbGVzKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oOgorCiAyMDA5LTEyLTA2ICBNYXhpbWUg
U2ltb24gIDxzaW1vbi5tYXhpbWVAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50SGFpa3UuY3BwIGIvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEhhaWt1LmNwcAppbmRleCAyNGYwYjUyLi5hN2YxMTQ1IDEwMDY0NAotLS0gYS9XZWJLaXQvaGFp
a3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwCisrKyBiL1dlYktpdC9oYWlr
dS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5jcHAKQEAgLTM0Niw2ICszNDYsMTEg
QEAgdm9pZCBDaHJvbWVDbGllbnRIYWlrdTo6cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0
cjxGaWxlQ2hvb3Nlcj4pCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBDaHJvbWVD
bGllbnRIYWlrdTo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1JlZlB0
cjxGaWxlQ2hvb3Nlcj4pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogYm9vbCBDaHJv
bWVDbGllbnRIYWlrdTo6c2V0Q3Vyc29yKFBsYXRmb3JtQ3Vyc29ySGFuZGxlKQogewogICAgIG5v
dEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50SGFpa3UuaCBiL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRIYWlrdS5oCmluZGV4IGVjZDY2ZGUuLjNiMDg0MWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9o
YWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCisrKyBiL1dlYktpdC9oYWlr
dS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCkBAIC0xMzQsNiArMTM0LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1p
c3Npb25Gb3JGcmFtZShGcmFtZSosIEdlb2xvY2F0aW9uKik7CiAKICAgICAgICAgdm9pZCBydW5P
cGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CisgICAgICAgIHZvaWQg
aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nl
cj4pOwogCiAgICAgICAgIGJvb2wgc2V0Q3Vyc29yKFBsYXRmb3JtQ3Vyc29ySGFuZGxlKTsKIApk
aWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCAxNmRhNzAzLi43NzQ4ZWY5IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTAxLTE3ICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2VzIG5ldyBJY29uIGxvYWRpbmcgaW50
ZXJmYWNlIGluIG9yZGVyIHRvIHN1cHBvcnQKKyAgICAgICAgYXN5bmNocm9ub3VzIGxvYWRpbmcu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjA1NAor
CisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBDaHJvbWVDbGllbnQ6Omlj
b25Gb3JGaWxlcygpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAg
ICAoV2ViQ2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMpOgorCiAyMDEwLTAxLTI1ICBBbmRlcnMg
Q2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgRmVhdHVyZWxlc3MgYnVp
bGQgZml4ZXMuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApp
bmRleCA2NjM4MWE0Li4yNWJhY2RmIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKQEAgLTEyMCw2ICsxMjAsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAg
IHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdl
YkNvcmU6OkZpbGVDaG9vc2VyPik7CisgICAgdmlydHVhbCB2b2lkIGljb25Gb3JGaWxlcyhjb25z
dCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29z
ZXI+KTsKIAogICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJzb3IoV2ViQ29yZTo6UGxhdGZvcm1DdXJz
b3JIYW5kbGUpIHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYzRlOTY3MS4uYjIyNDBkOSAxMDA2NDQKLS0tIGEv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTYzMSw2ICs2MzEsMTEg
QEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8
RmlsZUNob29zZXI+IGNob29zZXIpCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIH0K
IAordm9pZCBXZWJDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5n
PiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQoreworICAgIC8vIEZJWE1FOiBNb3ZlIHRoZSBj
b2RlIG9mIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpIGhlcmUuCit9CisKIEtleWJvYXJkVUlN
b2RlIFdlYkNocm9tZUNsaWVudDo6a2V5Ym9hcmRVSU1vZGUoKQogewogICAgIEJFR0lOX0JMT0NL
X09CSkNfRVhDRVBUSU9OUzsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJL
aXQvcXQvQ2hhbmdlTG9nCmluZGV4IDMyNWY1ZmUuLmE4YzNiMzggMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDEwLTAxLTE3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2VzIG5ldyBJ
Y29uIGxvYWRpbmcgaW50ZXJmYWNlIGluIG9yZGVyIHRvIHN1cHBvcnQKKyAgICAgICAgYXN5bmNo
cm9ub3VzIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMjA1NAorCisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBD
aHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcygpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6Omlj
b25Gb3JGaWxlcyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaDoK
KwogMjAxMC0wMS0yNiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCBmMWU2YTg2Li4x
NDdmZmYzIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAK
QEAgLTQ1OCw2ICs0NTgsMTIgQEAgdm9pZCBDaHJvbWVDbGllbnRRdDo6cnVuT3BlblBhbmVsKEZy
YW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmlsZUMKICAgICB9CiB9CiAK
K3ZvaWQgQ2hyb21lQ2xpZW50UXQ6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYs
IFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQoreworICAgIC8vIEZJWE1FOiBNb3ZlIHRoZSBjb2Rl
IG9mIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpIGhlcmUuCisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KKwogYm9vbCBDaHJvbWVDbGllbnRRdDo6c2V0Q3Vyc29yKFBsYXRmb3JtQ3Vyc29ySGFu
ZGxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRRdC5oCmluZGV4IGQ2MGVjMDYuLjViOWY4NDYgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC0xMzMsNiArMTMzLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogI2VuZGlmCiAKICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChG
cmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGlj
b25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+
KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUq
KSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCBjNjRkYWM1Li44ZTg5ZGQ4IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0No
YW5nZUxvZworKysgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEw
LTAxLTE3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2VzIG5ldyBJY29uIGxv
YWRpbmcgaW50ZXJmYWNlIGluIG9yZGVyIHRvIHN1cHBvcnQKKyAgICAgICAgYXN5bmNocm9ub3Vz
IGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMjA1NAorCisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBDaHJvbWVD
bGllbnQ6Omljb25Gb3JGaWxlcygpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMC0wMS0y
NiAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwCmluZGV4IGExYmIzYTguLjQ1Zjc2NjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTczNCw2ICs3MzQsMTIgQEAgdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNo
b29zZXI+IHBycEZpbGVDaG9vc2UKICAgICAvLyBGSVhNRTogU2hvdyBzb21lIHNvcnQgb2YgZXJy
b3IgaWYgdG9vIG1hbnkgZmlsZXMgYXJlIHNlbGVjdGVkIGFuZCB0aGUgYnVmZmVyIGlzIHRvbyBz
bWFsbC4gIEZvciBub3csIHRoaXMgd2lsbCBmYWlsIHNpbGVudGx5LgogfQogCit2b2lkIFdlYkNo
cm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+Jiwg
UGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pCit7CisgICAgLy8gRklYTUU6IE1vdmUg
dGhlIGNvZGUgb2YgSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkgaGVyZS4KKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworfQorCiBib29sIFdlYkNocm9tZUNsaWVudDo6c2V0Q3Vyc29yKFBsYXRmb3Jt
Q3Vyc29ySGFuZGxlIGN1cnNvcikKIHsKICAgICBpZiAoIWN1cnNvcikKZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDUxOThlN2MuLjA5NThjZjcgMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysr
IGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTIzLDYg
KzEyMyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRDdXN0b21TY3JvbGxDb3Ju
ZXIoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jik7
CiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOworICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmls
ZXMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlN0cmluZz4mLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZp
bGVDaG9vc2VyPik7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2V0Q3Vyc29yKFdlYkNvcmU6OlBsYXRm
b3JtQ3Vyc29ySGFuZGxlIGN1cnNvcik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93eC9DaGFuZ2VM
b2cgYi9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4IDFiN2UwNzEuLmNjZWU5YjggMTAwNjQ0Ci0t
LSBhL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDEwLTAxLTE3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1
Y2VzIG5ldyBJY29uIGxvYWRpbmcgaW50ZXJmYWNlIGluIG9yZGVyIHRvIHN1cHBvcnQKKyAgICAg
ICAgYXN5bmNocm9ub3VzIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMjA1NAorCisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRh
dGlvbiBvZiBDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcygpLgorCisgICAgICAgICogV2ViS2l0
U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGll
bnRXeDo6aWNvbkZvckZpbGVzKToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVu
dFd4Lmg6CisKIDIwMTAtMDEtMjIgIEtldmluIFdhdHRlcnMgIDxrZXZpbndhdHRlcnNAZ21haWwu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtldmluIE9sbGl2aWVyLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwIGIvV2ViS2l0L3d4L1dl
YktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCmluZGV4IDE3ZjZmNDMuLmZkMTExYzUgMTAw
NjQ0Ci0tLSBhL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcAorKysg
Yi9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKQEAgLTQxNiw2ICs0
MTYsMTEgQEAgdm9pZCBDaHJvbWVDbGllbnRXeDo6cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1Jl
ZlB0cjxGaWxlQ2hvb3Nlcj4pCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBDaHJv
bWVDbGllbnRXeDo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgUGFzc1JlZlB0
cjxGaWxlQ2hvb3Nlcj4pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogYm9vbCBDaHJv
bWVDbGllbnRXeDo6c2V0Q3Vyc29yKFBsYXRmb3JtQ3Vyc29ySGFuZGxlKQogewogICAgIG5vdElt
cGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVD
bGllbnRXeC5oIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAppbmRl
eCBiZDRmMWVjLi43MWFlNDhkIDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9D
aHJvbWVDbGllbnRXeC5oCisrKyBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVu
dFd4LmgKQEAgLTEyNSw2ICsxMjUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwg
dm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CisgICAg
dmlydHVhbCB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQ
dHI8RmlsZUNob29zZXI+KTsKIAogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2Uo
Y29uc3QgTm9kZSopIHsgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48956</attachid>
            <date>2010-02-17 18:12:32 -0800</date>
            <delta_ts>2010-02-17 18:26:34 -0800</delta_ts>
            <desc>Proposed patch (rev.7)</desc>
            <filename>bug-32054-20100218111229.patch</filename>
            <type>text/plain</type>
            <size>26141</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODY4MWQ0NC4uZDVjN2EzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAxMC0wMS0xNyAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW50cm9kdWNlcyBuZXcgSWNvbiBsb2FkaW5nIGludGVyZmFjZSBpbiBv
cmRlciB0byBzdXBwb3J0CisgICAgICAgIGFzeW5jaHJvbm91cyBsb2FkaW5nLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIwNTQKKworICAgICAgICBJ
dCdzIGhhcmQgZm9yIENocm9taXVtIHBvcnQgdG8gbG9hZCBhbiBpY29uIGluc2lkZQorICAgICAg
ICBJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoKSBiZWNhdXNlIG9mIHNhbmJveCBhbmQgbXVsdGkt
cHJvY2VzcworICAgICAgICBhcmNoaXRlY3R1cmUuIFNvIHRoaXMgY2hhbmdlIGFkZHMgYSBtZXRo
b2QgdG8gcmVxdWVzdCBhbiBpY29uIHRvCisgICAgICAgIENocm9tZSBjbGFzcywgYW5kIG1ha2Vz
IEZpbGVDaG9vc2VyIHJlY2VpdmVzIGFuIEljb24gaW5zdGFuY2UKKyAgICAgICAgYXN5bmNocm9u
b3VzbHkuICBTeW5jaHJvbm91cyBsb2FkaW5nIGFsc28gd29ya3Mgd2l0aCB0aGUgbmV3IGludGVy
ZmFjZS4KKworICAgICAgICBCZWNhdXNlIGFsbCBwb3J0cyBkb24ndCBoYXZlIGltcGxlbWVudGF0
aW9ucyBvZiBDaHJvbWU6Omljb25Gb3JGaWxlcygpCisgICAgICAgIHlldCwgRmlsZUNob29zZXIg
dHJpZXMgdG8gbG9hZCBhbiBJY29uIHN5bmNocm9ub3VzbHkgd2l0aAorICAgICAgICBJY29uOjpj
cmVhdGVJY29uRm9yRmlsZXMoKSwgdGhlbiB0cmllcyB0byBsb2FkIGFuIEljb24gYXN5bmNocm9u
b3VzbHkKKyAgICAgICAgd2l0aCBDaHJvbWU6Omljb25Gb3JGaWxlcygpIGlmIEljb246OmNyZWF0
ZUljb25Gb3JGaWxlcygpIHJldHVybnMgMC4KKworICAgICAgICBUaGUgZXhpc3RpbmcgSWNvbjo6
Y3JlYXRlSWNvbkZvckZpbGVzKCkgaW1wbGVtZW50YXRpb25zIHNob3VsZCBiZQorICAgICAgICBt
b3ZlZCB0byBDaHJvbWU6Omljb25Gb3JGaWxlcygpLiBXZSdyZSBnb2luZyB0byByZW1vdmUKKyAg
ICAgICAgSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKCkuCisKKyAgICAgICAgKiBsb2FkZXIvRW1w
dHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6aWNvbkZv
ckZpbGVzKTogQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAgICAgICAqIHBhZ2UvQ2hy
b21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6aWNvbkZvckZpbGVzKTogRGVsZWdh
dGUgdG8gQ2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMoKS4KKyAgICAgICAgKiBwYWdlL0Nocm9t
ZS5oOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyk6IEFkZCBhIGRlY2xhcmF0aW9uIGFzIGEgcHVyZSB2
aXJ0dWFsIG1ldGhvZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6RmlsZUNob29zZXIpOiBVc2UgbG9hZEljb24oKS4K
KyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpjaG9vc2VGaWxlcyk6IGRpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6RmlsZUNob29zZXI6OmxvYWRJY29uKTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpGaWxlQ2hvb3Nlcjo6aWNvbkxvYWRlZCk6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL0ZpbGVDaG9vc2VyLmg6IEFkZCB0d28gbWV0aG9kcyB0byBGaWxlQ2hvb3NlckNsaWVudDsg
cmVwYWludCgpIGFuZCBpY29uRm9yRmlsZXMoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9JY29uLmg6IEFkZCBhIEZJWE1FIGNvbW1lbnQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3RrL0ljb25HdGsuY3BwOiBkaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvSWNvbk1hYy5tbTogZGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSWNv
blF0LmNwcDogZGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ljb25XaW4u
Y3BwOiBkaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6Omljb25Gb3JG
aWxlcyk6IERlbGVnYXRlIHRvIENocm9tZTo6aWNvbkZvckZpbGVzKCkuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2xpY2spOiBVc2UgY2hyb21lKCkuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2hyb21lKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpyZXBhaW50KToKKwogMjAxMC0wMi0xNyAgU3RlcGhh
biBBw59tdXMgIDxzdXBlcnN0aXBwaUBnbXguZGU+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJp
YyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IGMwYjA2ZDUuLjI2OGI3MTEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCkBAIC0xNDYsNiArMTQ2LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAg
ICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nl
cj4pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZm9y
bVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBkNzliNDE3Li45
NzRhMzlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmNwcApAQCAtNDE1LDYgKzQxNSwxMSBAQCB2b2lkIENocm9tZTo6cnVuT3Bl
blBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIp
CiAgICAgbV9jbGllbnQtPnJ1bk9wZW5QYW5lbChmcmFtZSwgZmlsZUNob29zZXIpOwogfQogCit2
b2lkIENocm9tZTo6aWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMs
IFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGZpbGVDaG9vc2VyKQoreworICAgIG1fY2xpZW50LT5p
Y29uRm9yRmlsZXMoZmlsZW5hbWVzLCBmaWxlQ2hvb3Nlcik7Cit9CisKIGJvb2wgQ2hyb21lOjpz
ZXRDdXJzb3IoUGxhdGZvcm1DdXJzb3JIYW5kbGUgY3Vyc29yKQogewogICAgIHJldHVybiBtX2Ns
aWVudC0+c2V0Q3Vyc29yKGN1cnNvcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmggYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggNTQyNTI2Yi4uYjM3ZTdlYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApA
QCAtMTMxLDYgKzEzMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCByZXF1
ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopOwog
CiAgICAgICAgIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nl
cj4pOworICAgICAgICB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBh
c3NSZWZQdHI8RmlsZUNob29zZXI+KTsKIAogICAgICAgICBib29sIHNldEN1cnNvcihQbGF0Zm9y
bUN1cnNvckhhbmRsZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aCBiL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCBkYjUyYzlkLi4xNDIxNjMxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oCkBAIC0xODUsNiArMTg1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1l
KEZyYW1lKiwgR2VvbG9jYXRpb24qKSA9IDA7CiAgICAgICAgICAgICAKICAgICAgICAgdmlydHVh
bCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KSA9IDA7
CisgICAgICAgIC8vIEFzeW5jaHJvbm91cyByZXF1ZXN0IHRvIGxvYWQgYW4gaWNvbiBmb3Igc3Bl
Y2lmaWVkIGZpbGVuYW1lcy4KKyAgICAgICAgLy8gVGhpcyBpcyBjYWxsZWQgb25seSBpZiBJY29u
OjpjcmVhdGVJY29uRm9yRmlsZXMoKSByZXR1cm5zIDAuCisgICAgICAgIHZpcnR1YWwgdm9pZCBp
Y29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2Vy
PikgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJzb3IoUGxhdGZvcm1DdXJzb3JI
YW5kbGUpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5j
cHAgYi9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAppbmRleCA5ZmFkMzkyLi5hMmQ0
NzcwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcApAQCAtMzksOSArMzksOSBAQCBGaWxlQ2hv
b3NlckNsaWVudDo6fkZpbGVDaG9vc2VyQ2xpZW50KCkKIAogaW5saW5lIEZpbGVDaG9vc2VyOjpG
aWxlQ2hvb3NlcihGaWxlQ2hvb3NlckNsaWVudCogY2xpZW50LCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgaW5pdGlhbEZpbGVuYW1lcykKICAgICA6IG1fY2xpZW50KGNsaWVudCkKLSAgICAsIG1faWNv
bihJY29uOjpjcmVhdGVJY29uRm9yRmlsZXMoaW5pdGlhbEZpbGVuYW1lcykpCiB7CiAgICAgbV9m
aWxlbmFtZXMgPSBpbml0aWFsRmlsZW5hbWVzOworICAgIGxvYWRJY29uKCk7CiB9CiAKIFBhc3NS
ZWZQdHI8RmlsZUNob29zZXI+IEZpbGVDaG9vc2VyOjpjcmVhdGUoRmlsZUNob29zZXJDbGllbnQq
IGNsaWVudCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGluaXRpYWxGaWxlbmFtZXMpCkBAIC03MSw5
ICs3MSwyNCBAQCB2b2lkIEZpbGVDaG9vc2VyOjpjaG9vc2VGaWxlcyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgZmlsZW5hbWVzKQogICAgIGlmIChtX2ZpbGVuYW1lcyA9PSBmaWxlbmFtZXMpCiAgICAg
ICAgIHJldHVybjsKICAgICBtX2ZpbGVuYW1lcyA9IGZpbGVuYW1lczsKLSAgICBtX2ljb24gPSBJ
Y29uOjpjcmVhdGVJY29uRm9yRmlsZXMoZmlsZW5hbWVzKTsKKyAgICBsb2FkSWNvbigpOwogICAg
IGlmIChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZCgpOwogfQogCit2
b2lkIEZpbGVDaG9vc2VyOjpsb2FkSWNvbigpCit7CisgICAgbV9pY29uID0gSWNvbjo6Y3JlYXRl
SWNvbkZvckZpbGVzKG1fZmlsZW5hbWVzKTsKKyAgICAvLyBJZiBzeW5jaHJvbm91cyBpY29uIGxv
YWRpbmcgZmFpbGVkLCB0cnkgYXN5bmNocm9ub3VzIGxvYWRpbmcuCisgICAgaWYgKCFtX2ljb24g
JiYgbV9maWxlbmFtZXMuc2l6ZSgpICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+aWNv
bkZvckZpbGVzKG1fZmlsZW5hbWVzKTsKK30KKwordm9pZCBGaWxlQ2hvb3Nlcjo6aWNvbkxvYWRl
ZChQYXNzUmVmUHRyPEljb24+IGljb24pCit7CisgICAgbV9pY29uID0gaWNvbjsKKyAgICBpZiAo
bV9pY29uICYmIG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+cmVwYWludCgpOworfQorCiB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL0ZpbGVDaG9vc2VyLmgKaW5kZXggMDc2NGE2YS4uZTdmZWIzZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRmls
ZUNob29zZXIuaApAQCAtNDEsOCArNDEsMTAgQEAgY2xhc3MgSWNvbjsKIGNsYXNzIEZpbGVDaG9v
c2VyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkKCkgPSAw
OworICAgIHZpcnR1YWwgdm9pZCByZXBhaW50KCkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBhbGxv
d3NNdWx0aXBsZUZpbGVzKCkgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGFjY2VwdFR5cGVzKCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4m
KSA9IDA7CiAgICAgdmlydHVhbCB+RmlsZUNob29zZXJDbGllbnQoKTsKIH07CiAKQEAgLTYzLDEz
ICs2NSwxNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNob29zZUZpbGUoY29uc3QgU3RyaW5nJiBw
YXRoKTsKICAgICB2b2lkIGNob29zZUZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXRocyk7
Ci0gICAgCisgICAgLy8gQ2FsbGVkIHdoZW4gRmlsZUNob29zZXJDbGllbnQgZmluaXNoZXMgdG8g
bG9hZCBhbiBpY29uIHJlcXVlc3RlZCBieSBpY29uRm9yRmlsZXMoKS4KKyAgICB2b2lkIGljb25M
b2FkZWQoUGFzc1JlZlB0cjxJY29uPik7CisKICAgICBib29sIGFsbG93c011bHRpcGxlRmlsZXMo
KSBjb25zdCB7IHJldHVybiBtX2NsaWVudCA/IG1fY2xpZW50LT5hbGxvd3NNdWx0aXBsZUZpbGVz
KCkgOiBmYWxzZTsgfQogICAgIC8vIEFjY2VwdGFibGUgTUlNRSB0eXBlcy4gIEl0J3MgYW4gJ2Fj
Y2VwdCcgYXR0cmlidXRlIHZhbHVlIG9mIHRoZSBjb3JyZXNwb25kaW5nIElOUFVUIGVsZW1lbnQu
CiAgICAgU3RyaW5nIGFjY2VwdFR5cGVzKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQgPyBtX2Ns
aWVudC0+YWNjZXB0VHlwZXMoKSA6IFN0cmluZygpOyB9CiAKIHByaXZhdGU6CiAgICAgRmlsZUNo
b29zZXIoRmlsZUNob29zZXJDbGllbnQqLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgaW5pdGlhbEZp
bGVuYW1lcyk7CisgICAgdm9pZCBsb2FkSWNvbigpOwogCiAgICAgRmlsZUNob29zZXJDbGllbnQq
IG1fY2xpZW50OwogICAgIFZlY3RvcjxTdHJpbmc+IG1fZmlsZW5hbWVzOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JY29uLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ljb24uaAppbmRleCBkN2Q2OTRhLi5lOWYyZGM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ljb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lj
b24uaApAQCAtNTEsNiArNTEsOCBAQCBjbGFzcyBTdHJpbmc7CiAgICAgCiBjbGFzcyBJY29uIDog
cHVibGljIFJlZkNvdW50ZWQ8SWNvbj4gewogcHVibGljOgorICAgIC8vIERlcHJlY2F0ZWQuICBU
aGlzIGZ1bmN0aW9uIHdpbGwgYmUgcmVtb3ZlZC4KKyAgICAvLyBGSVhNRTogUmVtb3ZlIGl0IHdo
ZW4gYWxsIGltcGxlbWVudGF0aW9ucyBhcmUgbW92ZWQgdG8gQ2hyb21lQ2xpZW50OjppY29uRm9y
RmlsZXMoKS4KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJY29uPiBjcmVhdGVJY29uRm9yRmlsZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcyk7CiAKICAgICB+SWNvbigpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSWNvbkd0ay5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JY29uR3RrLmNwcAppbmRleCAzNTYzYTU5Li43MWI4OTdl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JY29uR3RrLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JY29uR3RrLmNwcApAQCAtODcsNiAr
ODcsNyBAQCBzdGF0aWMgU3RyaW5nIGxvb2t1cEljb25OYW1lKFN0cmluZyBNSU1FVHlwZSkKICAg
ICByZXR1cm4gR1RLX1NUT0NLX0ZJTEU7CiB9CiAKKy8vIEZJWE1FOiBNb3ZlIHRoZSBjb2RlIHRv
IENocm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCiBQYXNzUmVmUHRyPEljb24+IEljb246OmNy
ZWF0ZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzKQogewogICAg
IGlmIChmaWxlbmFtZXMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvSWNvbk1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0lj
b25NYWMubW0KaW5kZXggYWVlNzIzNC4uYmM4YzMxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvSWNvbk1hYy5tbQorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9JY29uTWFjLm1tCkBAIC0zOSw2ICszOSw3IEBAIEljb246On5JY29uKCkKIHsKIH0K
IAorLy8gRklYTUU6IE1vdmUgdGhlIGNvZGUgdG8gQ2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMo
KS4KIFBhc3NSZWZQdHI8SWNvbj4gSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBmaWxlbmFtZXMpCiB7CiAgICAgaWYgKGZpbGVuYW1lcy5pc0VtcHR5KCkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ljb25RdC5jcHAgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ljb25RdC5jcHAKaW5kZXggYTk4NzBmYy4uZWIwOWVk
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9JY29uUXQuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSWNvblF0LmNwcApAQCAtNDAsNiArNDAs
NyBAQCBJY29uOjp+SWNvbigpCiB7CiB9CiAKKy8vIEZJWE1FOiBNb3ZlIHRoZSBjb2RlIHRvIENo
cm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCiBQYXNzUmVmUHRyPEljb24+IEljb246OmNyZWF0
ZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzKQogewogICAgIGlm
IChmaWxlbmFtZXMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vSWNvbldpbi5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JY29u
V2luLmNwcAppbmRleCA1NmI0NmRlLi5jYzkzNDNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9JY29uV2luLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9JY29uV2luLmNwcApAQCAtNDcsNiArNDcsNyBAQCBJY29uOjp+SWNvbigpCiAgICAg
RGVzdHJveUljb24obV9oSWNvbik7CiB9CiAKKy8vIEZJWE1FOiBNb3ZlIHRoZSBjb2RlIHRvIENo
cm9tZUNsaWVudDo6aWNvbkZvckZpbGVzKCkuCiBQYXNzUmVmUHRyPEljb24+IEljb246OmNyZWF0
ZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzKQogewogICAgIGlm
IChmaWxlbmFtZXMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2wuY3BwCmluZGV4IDU5Y2JhY2YuLmEzMTQ0MmEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKQEAgLTExNCwxNSArMTE0LDI3IEBA
IFN0cmluZyBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6YWNjZXB0VHlwZXMoKQogICAgIHJldHVy
biBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obm9kZSgpKS0+YWNjZXB0KCk7CiB9CiAK
K3ZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYgZmlsZW5hbWVzKQoreworICAgIGlmIChDaHJvbWUqIGNocm9tZVBvaW50ZXIgPSBj
aHJvbWUoKSkKKyAgICAgICAgY2hyb21lUG9pbnRlci0+aWNvbkZvckZpbGVzKGZpbGVuYW1lcywg
bV9maWxlQ2hvb3Nlcik7Cit9CisKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNsaWNr
KCkKIHsKKyAgICBpZiAoQ2hyb21lKiBjaHJvbWVQb2ludGVyID0gY2hyb21lKCkpCisgICAgICAg
IGNocm9tZVBvaW50ZXItPnJ1bk9wZW5QYW5lbChub2RlKCktPmRvY3VtZW50KCktPmZyYW1lKCks
IG1fZmlsZUNob29zZXIpOworfQorCitDaHJvbWUqIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpj
aHJvbWUoKSBjb25zdAorewogICAgIEZyYW1lKiBmcmFtZSA9IG5vZGUoKS0+ZG9jdW1lbnQoKS0+
ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVy
biAwOwogICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKLSAg
ICAgICAgcmV0dXJuOwotICAgIHBhZ2UtPmNocm9tZSgpLT5ydW5PcGVuUGFuZWwoZnJhbWUsIG1f
ZmlsZUNob29zZXIpOworICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcGFnZS0+Y2hyb21l
KCk7CiB9CiAKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUZyb21FbGVtZW50
KCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9s
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCmluZGV4IGRj
ZGNlNGQuLjQ1NDA0MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVV
cGxvYWRDb250cm9sLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2wuaApAQCAtMjYsNiArMjYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNz
IENocm9tZTsKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAgICAgCiAvLyBFYWNoIFJlbmRlckZp
bGVVcGxvYWRDb250cm9sIGNvbnRhaW5zIGEgUmVuZGVyQnV0dG9uIChmb3Igb3BlbmluZyB0aGUg
ZmlsZSBjaG9vc2VyKSwgYW5kCkBAIC00MSwxNiArNDIsMTEgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBjbGljaygpOwogCi0gICAgdm9pZCB2YWx1ZUNoYW5nZWQoKTsKLSAgICAKICAgICB2b2lkIHJl
Y2VpdmVEcm9wcGVkRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKIAogICAgIFN0cmluZyBi
dXR0b25WYWx1ZSgpOwogICAgIFN0cmluZyBmaWxlVGV4dFZhbHVlKCkgY29uc3Q7CiAgICAgCi0g
ICAgYm9vbCBhbGxvd3NNdWx0aXBsZUZpbGVzKCk7Ci0gICAgU3RyaW5nIGFjY2VwdFR5cGVzKCk7
Ci0KIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qg
eyByZXR1cm4gIlJlbmRlckZpbGVVcGxvYWRDb250cm9sIjsgfQogCkBAIC02MCw2ICs1NiwxNCBA
QCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVy
ZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKIAorICAgIC8vIEZpbGVDaG9vc2Vy
Q2xpZW50IG1ldGhvZHMuCisgICAgdm9pZCB2YWx1ZUNoYW5nZWQoKTsKKyAgICB2b2lkIHJlcGFp
bnQoKSB7IFJlbmRlckJsb2NrOjpyZXBhaW50KCk7IH0KKyAgICBib29sIGFsbG93c011bHRpcGxl
RmlsZXMoKTsKKyAgICBTdHJpbmcgYWNjZXB0VHlwZXMoKTsKKyAgICB2b2lkIGljb25Gb3JGaWxl
cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYpOworCisgICAgQ2hyb21lKiBjaHJvbWUoKSBjb25zdDsK
ICAgICBpbnQgbWF4RmlsZW5hbWVXaWR0aCgpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8UmVuZGVy
U3R5bGU+IGNyZWF0ZUJ1dHRvblN0eWxlKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkg
Y29uc3Q7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDY5NTQzNjkuLjU1OTk1ODYgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTAyLTE3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnRyb2R1Y2VzIG5ldyBJY29uIGxvYWRpbmcgaW50ZXJmYWNlIGluIG9yZGVyIHRvIHN1cHBvcnQK
KyAgICAgICAgYXN5bmNocm9ub3VzIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjA1NAorCisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBs
ZW1lbnRhdGlvbiBvZiBDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcygpLgorCisgICAgICAgICog
c3JjL0Nocm9tZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJ
bXBsOjppY29uRm9yRmlsZXMpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6CisK
IDIwMTAtMDItMTcgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpAQCAtMjE4Nyw2ICsyMjAxLDIwIEBACiAgICAgICAg
IChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlR2VvbG9jYXRpb24pOgogICAgICAg
ICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzR2VvbG9jYXRpb25FbmFibGVkKToKIAor
MjAxMC0wMS0xOCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlcyBuZXcgSWNv
biBsb2FkaW5nIGludGVyZmFjZSBpbiBvcmRlciB0byBzdXBwb3J0CisgICAgICAgIGFzeW5jaHJv
bm91cyBsb2FkaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzIwNTQKKworICAgICAgICBBZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24gb2YgQ2hy
b21lQ2xpZW50OjppY29uRm9yRmlsZXMoKS4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6aWNvbkZvckZpbGVz
KToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorCiAyMDEwLTAxLTE3ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaGlu
aWNoaXJvIEhhbWFqaS4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCmlu
ZGV4IDVkNTg5MzQuLjZlNWJmYzIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJ
bXBsLmNwcApAQCAtNTgwLDYgKzU4MCwxMSBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6OnJ1bk9w
ZW5QYW5lbChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGZpbGVDaAogICAg
IGNob29zZXJDb21wbGV0aW9uLT5kaWRDaG9vc2VGaWxlKFdlYlZlY3RvcjxXZWJTdHJpbmc+KCkp
OwogfQogCit2b2lkIENocm9tZUNsaWVudEltcGw6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8
V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9wdXBP
cGVuZWQoUG9wdXBDb250YWluZXIqIHBvcHVwQ29udGFpbmVyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBib3VuZHMsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgYWN0aXZhdGFibGUsCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5oCmluZGV4IGFkNTcyMDMuLjNhNDAzNWIgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBAIC0xMjMsNiArMTIzLDcgQEAgcHVibGljOgogI2VuZGlm
CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShX
ZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7CiAgICAgdmlydHVhbCB2b2lk
IHJ1bk9wZW5QYW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNo
b29zZXI+KTsKKyAgICB2aXJ0dWFsIHZvaWQgaWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXZWJD
b3JlOjpTdHJpbmc+JiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOwogICAgIHZp
cnR1YWwgYm9vbCBzZXRDdXJzb3IoV2ViQ29yZTo6UGxhdGZvcm1DdXJzb3JIYW5kbGUpIHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBX
ZWJDb3JlOjpOb2RlKik7CiAgICAgdmlydHVhbCBQYXNzT3duUHRyPFdlYkNvcmU6OkhUTUxQYXJz
ZXJRdWlya3M+IGNyZWF0ZUhUTUxQYXJzZXJRdWlya3MoKSB7IHJldHVybiAwOyB9CmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDQx
N2ExMGEuLjdhOTAzN2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMTcgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEludHJvZHVjZXMgbmV3IEljb24gbG9hZGluZyBpbnRlcmZhY2Ug
aW4gb3JkZXIgdG8gc3VwcG9ydAorICAgICAgICBhc3luY2hyb25vdXMgbG9hZGluZy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDU0CisKKyAgICAg
ICAgQWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIENocm9tZUNsaWVudDo6aWNvbkZvckZp
bGVzKCkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisKIDIwMTAtMDItMTcgIFhhbiBMb3Bl
eiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9y
b25oYS4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcApp
bmRleCBmZWZmYWRiLi43NGY1ZTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuY3BwCkBAIC01NjMsNiArNTYzLDEyIEBAIHZvaWQgQ2hyb21lQ2xpZW50
OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlQ2hv
b3NlcikKICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3koZGlhbG9nKTsKIH0KIAordm9pZCBDaHJvbWVD
bGllbnQ6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KQoreworICAgIC8vIEZJWE1FOiBNb3ZlIHRoZSBj
b2RlIGluIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpIGhlcmUuCisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KKwogYm9vbCBDaHJvbWVDbGllbnQ6OnNldEN1cnNvcihQbGF0Zm9ybUN1cnNvckhh
bmRsZSkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggYmViN2EwOC4uN2U0MDdkMyAxMDA2NDQKLS0tIGEv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCkBAIC0xMDcsNiArMTA3LDcgQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2Fj
aGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwogI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVD
aG9vc2VyPik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3QgVmVjdG9y
PFdlYkNvcmU6OlN0cmluZz4mLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CiAK
ICAgICAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpO
b2RlKikgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cgYi9XZWJLaXQv
aGFpa3UvQ2hhbmdlTG9nCmluZGV4IDJhYTRhZDcuLjcxZDE4MTUgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9oYWlrdS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDEwLTAxLTE3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2Vz
IG5ldyBJY29uIGxvYWRpbmcgaW50ZXJmYWNlIGluIG9yZGVyIHRvIHN1cHBvcnQKKyAgICAgICAg
YXN5bmNocm9ub3VzIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMjA1NAorCisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlv
biBvZiBDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcygpLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xp
ZW50SGFpa3U6Omljb25Gb3JGaWxlcyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50SGFpa3UuaDoKKwogMjAwOS0xMi0wNiAgTWF4aW1lIFNpbW9uICA8c2ltb24ubWF4aW1l
QGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcCBiL1dl
YktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5jcHAKaW5kZXggMjRm
MGI1Mi4uYTdmMTE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEhhaWt1LmNwcAorKysgYi9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50SGFpa3UuY3BwCkBAIC0zNDYsNiArMzQ2LDExIEBAIHZvaWQgQ2hyb21lQ2xpZW50
SGFpa3U6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQogICAg
IG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SGFpa3U6Omljb25Gb3JG
aWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIGJvb2wgQ2hyb21lQ2xpZW50SGFpa3U6OnNldEN1
cnNvcihQbGF0Zm9ybUN1cnNvckhhbmRsZSkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1Lmgg
Yi9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAppbmRleCBl
Y2Q2NmRlLi4zYjA4NDFiIDEwMDY0NAotLS0gYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50SGFpa3UuaAorKysgYi9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50SGFpa3UuaApAQCAtMTM0LDYgKzEzNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUq
LCBHZW9sb2NhdGlvbiopOwogCiAgICAgICAgIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFz
c1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOworICAgICAgICB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBW
ZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKIAogICAgICAgICBib29s
IHNldEN1cnNvcihQbGF0Zm9ybUN1cnNvckhhbmRsZSk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9t
YWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZTc3ZjVjMi4uZjVlZWYz
YyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wMS0xNyAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW50cm9kdWNlcyBuZXcgSWNvbiBsb2FkaW5nIGludGVyZmFjZSBpbiBvcmRlciB0byBz
dXBwb3J0CisgICAgICAgIGFzeW5jaHJvbm91cyBsb2FkaW5nLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIwNTQKKworICAgICAgICBBZGQgYW4gZW1w
dHkgaW1wbGVtZW50YXRpb24gb2YgQ2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMoKS4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6
aWNvbkZvckZpbGVzKToKKwogMjAxMC0wMi0xNyAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgd2F5IGZvciBXZWJWaWV3IGFuZCBpdHMgZGVwZW5k
YW5jaWVzIHRvIGJlIHNlbGVjdGl2ZWx5IGluY2x1ZGVkCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA2NjM4MWE0Li4yNWJhY2RmIDEwMDY0NAotLS0g
YS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEyMCw2ICsxMjAsNyBA
QCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29y
ZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CisgICAgdmlydHVh
bCB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYsIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKIAogICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJz
b3IoV2ViQ29yZTo6UGxhdGZvcm1DdXJzb3JIYW5kbGUpIHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYzRlOTY3
MS4uYjIyNDBkOSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW0KKysrIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KQEAgLTYzMSw2ICs2MzEsMTEgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJ1bk9wZW5Q
YW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IGNob29zZXIpCiAgICAgRU5EX0JM
T0NLX09CSkNfRVhDRVBUSU9OUzsKIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6Omljb25Gb3JG
aWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQorewor
ICAgIC8vIEZJWE1FOiBNb3ZlIHRoZSBjb2RlIG9mIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygp
IGhlcmUuCit9CisKIEtleWJvYXJkVUlNb2RlIFdlYkNocm9tZUNsaWVudDo6a2V5Ym9hcmRVSU1v
ZGUoKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKZGlmZiAtLWdpdCBhL1dl
YktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGIzZWNlNDIuLjk1
MDVjYWUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTAxLTE3ICBLZW50IFRhbXVyYSAgPHRrZW50
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbnRyb2R1Y2VzIG5ldyBJY29uIGxvYWRpbmcgaW50ZXJmYWNlIGluIG9yZGVyIHRv
IHN1cHBvcnQKKyAgICAgICAgYXN5bmNocm9ub3VzIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjA1NAorCisgICAgICAgIEFkZCBhbiBl
bXB0eSBpbXBsZW1lbnRhdGlvbiBvZiBDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcygpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2hyb21lQ2xpZW50UXQ6Omljb25Gb3JGaWxlcyk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuaDoKKwogMjAxMC0wMi0xNyAgRGllZ28gR29uemFsZXogIDxk
aWVnby5nb256YWxlekBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlh
IEhpZGF5YXQuCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcApp
bmRleCA4OTNhMWI3Li5lY2JhYmU0IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5jcHAKQEAgLTQ2Myw2ICs0NjMsMTIgQEAgdm9pZCBDaHJvbWVDbGllbnRRdDo6
cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gcHJwRmls
ZUMKICAgICB9CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50UXQ6Omljb25Gb3JGaWxlcyhjb25zdCBW
ZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQoreworICAgIC8vIEZJWE1F
OiBNb3ZlIHRoZSBjb2RlIG9mIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpIGhlcmUuCisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKwogYm9vbCBDaHJvbWVDbGllbnRRdDo6c2V0Q3Vyc29yKFBs
YXRmb3JtQ3Vyc29ySGFuZGxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCmluZGV4IDZiMzAxN2QuLjNkNWNiZTkgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBi
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC0xMzgsNiArMTM4
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICAgICAgdmlydHVhbCB2b2lk
IHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKKyAgICAgICAg
dmlydHVhbCB2b2lkIGljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFBhc3NSZWZQ
dHI8RmlsZUNob29zZXI+KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hh
bmdlKGNvbnN0IE5vZGUqKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cg
Yi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBlOWVhOTI0Li45Mzk0MWZmIDEwMDY0NAotLS0g
YS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDEwLTAxLTE3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1
Y2VzIG5ldyBJY29uIGxvYWRpbmcgaW50ZXJmYWNlIGluIG9yZGVyIHRvIHN1cHBvcnQKKyAgICAg
ICAgYXN5bmNocm9ub3VzIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMjA1NAorCisgICAgICAgIEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRh
dGlvbiBvZiBDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcygpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6
aWNvbkZvckZpbGVzKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aDoKKwogMjAxMC0wMi0xNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBhMWJiM2E4Li40NWY3NjYyIDEwMDY0NAotLS0gYS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC03MzQsNiArNzM0LDEy
IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRy
PEZpbGVDaG9vc2VyPiBwcnBGaWxlQ2hvb3NlCiAgICAgLy8gRklYTUU6IFNob3cgc29tZSBzb3J0
IG9mIGVycm9yIGlmIHRvbyBtYW55IGZpbGVzIGFyZSBzZWxlY3RlZCBhbmQgdGhlIGJ1ZmZlciBp
cyB0b28gc21hbGwuICBGb3Igbm93LCB0aGlzIHdpbGwgZmFpbCBzaWxlbnRseS4KIH0KIAordm9p
ZCBXZWJDaHJvbWVDbGllbnQ6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U3Ry
aW5nPiYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KQoreworICAgIC8vIEZJWE1F
OiBNb3ZlIHRoZSBjb2RlIG9mIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcygpIGhlcmUuCisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKwogYm9vbCBXZWJDaHJvbWVDbGllbnQ6OnNldEN1cnNvcihQ
bGF0Zm9ybUN1cnNvckhhbmRsZSBjdXJzb3IpCiB7CiAgICAgaWYgKCFjdXJzb3IpCmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA1MTk4ZTdjLi4wOTU4
Y2Y3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCisrKyBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAg
LTEyMyw2ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHBhaW50Q3VzdG9tU2Ny
b2xsQ29ybmVyKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OkZsb2F0
UmVjdCYpOwogCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChXZWJDb3JlOjpGcmFtZSos
IFBhc3NSZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKKyAgICB2aXJ0dWFsIHZvaWQgaWNv
bkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiwgUGFzc1JlZlB0cjxXZWJD
b3JlOjpGaWxlQ2hvb3Nlcj4pOwogCiAgICAgdmlydHVhbCBib29sIHNldEN1cnNvcihXZWJDb3Jl
OjpQbGF0Zm9ybUN1cnNvckhhbmRsZSBjdXJzb3IpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd3gv
Q2hhbmdlTG9nIGIvV2ViS2l0L3d4L0NoYW5nZUxvZwppbmRleCAwNWVmYmQyLi4zNTZhOTY2IDEw
MDY0NAotLS0gYS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93eC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMC0wMS0xNyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW50cm9kdWNlcyBuZXcgSWNvbiBsb2FkaW5nIGludGVyZmFjZSBpbiBvcmRlciB0byBzdXBwb3J0
CisgICAgICAgIGFzeW5jaHJvbm91cyBsb2FkaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIwNTQKKworICAgICAgICBBZGQgYW4gZW1wdHkgaW1w
bGVtZW50YXRpb24gb2YgQ2hyb21lQ2xpZW50OjppY29uRm9yRmlsZXMoKS4KKworICAgICAgICAq
IFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hy
b21lQ2xpZW50V3g6Omljb25Gb3JGaWxlcyk6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJv
bWVDbGllbnRXeC5oOgorCiAyMDEwLTAyLTA0ICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVv
bGxpdmllcnMuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCBhZnRlciBjaGFuZ2VzIGluIHI1NDM0
NS4KZGlmZiAtLWdpdCBhL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNw
cCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcAppbmRleCA0ZDUy
NGJjLi5hYzI1ZGFmIDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVD
bGllbnRXeC5jcHAKKysrIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3gu
Y3BwCkBAIC00MzEsNiArNDMxLDExIEBAIHZvaWQgQ2hyb21lQ2xpZW50V3g6OnJ1bk9wZW5QYW5l
bChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQogICAgIG5vdEltcGxlbWVudGVkKCk7
CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50V3g6Omljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKIGJvb2wgQ2hyb21lQ2xpZW50V3g6OnNldEN1cnNvcihQbGF0Zm9ybUN1cnNvckhhbmRs
ZSkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9t
ZUNsaWVudFd4LmgKaW5kZXggYmQ0ZjFlYy4uNzFhZTQ4ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysgYi9XZWJLaXQvd3gvV2ViS2l0U3Vw
cG9ydC9DaHJvbWVDbGllbnRXeC5oCkBAIC0xMjUsNiArMTI1LDcgQEAgcHVibGljOgogI2VuZGlm
CiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxl
Q2hvb3Nlcj4pOworICAgIHZpcnR1YWwgdm9pZCBpY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0
cmluZz4mLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZm9y
bVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKSB7IH0KIAo=
</data>
<flag name="review"
          id="31704"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>