<?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>43455</bug_id>
          
          <creation_ts>2010-08-03 19:06:11 -0700</creation_ts>
          <short_desc>[Qt]: Implement Application Cache Quotas</short_desc>
          <delta_ts>2010-12-14 13:51:55 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to>krithigassree.sambamurthy</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>cshu</cc>
    
    <cc>joepeck</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>robert</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>259803</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-03 19:06:11 -0700</bug_when>
    <thetext>Skipped the following test:
http/tests/appcache/origin-quota.html

Mac implementation:
&lt;http://webkit.org/b/40627&gt; Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316408</commentid>
    <comment_count>1</comment_count>
      <attachid>75413</attachid>
    <who name="">krithigassree.sambamurthy</who>
    <bug_when>2010-12-02 13:53:51 -0800</bug_when>
    <thetext>Created attachment 75413
Patch to fix skipped layout test origin-quota.html

Implemented the empty stubs created to fix skipped appcache layout test origin-quota.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316421</commentid>
    <comment_count>2</comment_count>
      <attachid>75413</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-02 14:39:59 -0800</bug_when>
    <thetext>Comment on attachment 75413
Patch to fix skipped layout test origin-quota.html

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

Looks good to me, although I&apos;m not familiar with the Qt&apos;s &quot;emit&quot; syntax. I think the
tests were disabled for qt. If you enable the tests, do they now pass?

&gt; WebKit/qt/Api/qwebpage.h:52
&gt; +class QWebSecurityOrigin;

Nit: follow alphabetical order.

&gt; WebKit/qt/Api/qwebpage.h:315
&gt; +    bool supportsContentType(const QString&amp; mimeType) const;    

Nit: Extra whitespace at the end of the line should be removed.

&gt; WebKit/qt/Api/qwebpage.h:391
&gt; +    void applicationCacheDatabaseQuotaExceeded(QWebSecurityOrigin* origin, quint64 defaultOriginQuota);

Any particular reason these new functions are named &quot;applicationCacheDatabase*&quot; instead
of just &quot;applicationCache*&quot;. The &quot;Database&quot; part is an implementation detail that should
probably be left out. This is in multiple places throughout this patch.

&gt; WebKit/qt/Api/qwebpage.h:430
&gt; +    friend class QWebInspector;   

Nit: whitespace again.

&gt; WebKitTools/ChangeLog:8
&gt; +        Introduce funtions to allow new appcache layout test origin-quota

Typo: &quot;funtions&quot; =&gt; &quot;functions&quot;

&gt; WebKitTools/ChangeLog:16
&gt; +        Introduce funtions to allow new appcache layout test

Typo: &quot;funtions&quot; =&gt; &quot;functions&quot;

&gt; WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h:253
&gt; +
&gt; +
&gt; +

Nit: no need for the extra newlines

&gt; WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h:260
&gt; +private:    

Nit: whitespace again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317699</commentid>
    <comment_count>3</comment_count>
      <attachid>75711</attachid>
    <who name="">krithigassree.sambamurthy</who>
    <bug_when>2010-12-06 10:24:22 -0800</bug_when>
    <thetext>Created attachment 75711
Patch to fix skipped layout test origin-quota.html

submitting patch 2, taking into account the comments from Joseph Pecaoraro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317993</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-06 18:16:02 -0800</bug_when>
    <thetext>I forgot to ask, does the test pass when unskipped? If so it should be unskipped as part of this patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318222</commentid>
    <comment_count>5</comment_count>
      <attachid>75819</attachid>
    <who name="">krithigassree.sambamurthy</who>
    <bug_when>2010-12-07 08:56:06 -0800</bug_when>
    <thetext>Created attachment 75819
Patch to fix skipped layout test origin-quota.html

Yes , the patch does fix the origin-quota.html layout test. I have removed the test from the Skipped list. Resubmitting the patch. Apologize for missing it out earlier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318614</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 21:43:31 -0800</bug_when>
    <thetext>Attachment 75819 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/update-webkit&apos;]&quot; exit_code: 2
Updating OpenSource
Incomplete data: Delta source ended unexpectedly at /usr/lib/git-core/git-svn line 5061

Died at WebKitTools/Scripts/update-webkit line 132.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318987</commentid>
    <comment_count>7</comment_count>
      <attachid>75819</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-08 13:36:01 -0800</bug_when>
    <thetext>Comment on attachment 75819
Patch to fix skipped layout test origin-quota.html

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

r- only because LayoutTests is missing a ChangeLog entry. Otherwise it looks good
to me. Please attach a new patch with that ChangeLog and the style fix!

You should be able to generate the ChangeLog entry by changing directory
into the LayoutTests directory and running:

    WebKitTools/Scripts/prepare-Changelog -b 43455

Note that it will have a slightly different format than your existing
ChangeLog entries:

         Bug 43455 -  [Qt]: Implement Application Cache Quotas
         https://bugs.webkit.org/show_bug.cgi?id=43455

will probably be just:

         [Qt]: Implement Application Cache Quotas
         https://bugs.webkit.org/show_bug.cgi?id=43455

I&apos;d recommend the second approach, but as long as they are consistent
it&apos;ll be fine. Thanks for fixing this!

&gt; WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp:1030
&gt; +void DumpRenderTree::dumpApplicationCacheQuota(QWebSecurityOrigin* origin, quint64 defaultOriginQuota)
&gt; +{
&gt; +
&gt; +    if (!m_controller-&gt;shouldDumpApplicationCacheDelegateCallbacks())

Nit: remove the newline here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319028</commentid>
    <comment_count>8</comment_count>
      <attachid>75961</attachid>
    <who name="">krithigassree.sambamurthy</who>
    <bug_when>2010-12-08 14:18:50 -0800</bug_when>
    <thetext>Created attachment 75961
Patch to fix skipped layout test origin-quota.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319031</commentid>
    <comment_count>9</comment_count>
      <attachid>75961</attachid>
    <who name="">krithigassree.sambamurthy</who>
    <bug_when>2010-12-08 14:22:03 -0800</bug_when>
    <thetext>Comment on attachment 75961
Patch to fix skipped layout test origin-quota.html

Have made the requisite changes. Ran check-webkit-style script with zero errors.

Thank you for being patient and reviewing my patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319052</commentid>
    <comment_count>10</comment_count>
      <attachid>75961</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-08 14:43:08 -0800</bug_when>
    <thetext>Comment on attachment 75961
Patch to fix skipped layout test origin-quota.html

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

&gt; WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp:1030
&gt; +void DumpRenderTree::dumpApplicationCacheQuota(QWebSecurityOrigin* origin, quint64 defaultOriginQuota)
&gt; +{
&gt; +
&gt; +    if (!m_controller-&gt;shouldDumpApplicationCacheDelegateCallbacks())

Doh. I meant the newline above!

r=me. Wrong newline removed, but that is okay. It would be unnecessary
to have you attach a new patch for just a newline. Do you have someone who
can land these for you (and possibly fix this newline) or do you typically
use the commit queue? I can help you with either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319400</commentid>
    <comment_count>11</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-12-09 04:34:02 -0800</bug_when>
    <thetext>I can help to land this with changes. Thanks Joe for the review !</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319454</commentid>
    <comment_count>12</comment_count>
      <attachid>76062</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-12-09 07:33:20 -0800</bug_when>
    <thetext>Created attachment 76062
uploading for commit with the requested minor changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319882</commentid>
    <comment_count>13</comment_count>
      <attachid>76062</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-09 19:42:51 -0800</bug_when>
    <thetext>Comment on attachment 76062
uploading for commit with the requested minor changes 

Rejecting patch 76062 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=both&apos;]&quot; exit_code: 1
ERROR: Working directory has local commits, pass --force-clean to continue.

Full output: http://queues.webkit.org/results/6892023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320345</commentid>
    <comment_count>14</comment_count>
      <attachid>76062</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2010-12-10 13:03:30 -0800</bug_when>
    <thetext>Comment on attachment 76062
uploading for commit with the requested minor changes 

landed the patch manually, r73789
http://trac.webkit.org/changeset/73789
clean up flags</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322178</commentid>
    <comment_count>15</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-12-14 13:51:55 -0800</bug_when>
    <thetext>*** Bug 48194 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75413</attachid>
            <date>2010-12-02 13:53:51 -0800</date>
            <delta_ts>2010-12-06 10:24:22 -0800</delta_ts>
            <desc>Patch to fix skipped layout test origin-quota.html</desc>
            <filename>Patch1.patch</filename>
            <type>text/plain</type>
            <size>14542</size>
            <attacher>krithigassree.sambamurthy</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNzMxODcpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMTItMDIgIEtyaXRoaWdhc3NyZWUgU2FtYmFtdXJ0
aHkgIDxrcml0aGlnYXNzcmVlLnNhbWFibXVydGh5QG5va2lhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgNDM0NTUgLSAgW1F0XTogSW1w
bGVtZW50IEFwcGxpY2F0aW9uIENhY2hlIFF1b3RhcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0NTUKKworICAgICAgICBBZGRlZCBuZXcgc2lnbmFs
IHRvIHJlcG9ydCBleGNlZWRpbmcgQXBwbGljYXRpb25DYWNoZQorICAgICAgICBEYXRhYmFzZSBx
dW90YS4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgICogQXBpL3F3ZWJw
YWdlLmg6CisKKyAgICAgICAgQWRkZWQgY2hhbmdlcyB0byBhY2NvbW9kYXRlIG5ldyBhcHBjYWNo
ZSBsYXlvdXQgdGVzdCBvcmlnaW4tcXVvdGEJCisKKyAgICAgICAgKiBBcGkvcXdlYnNlY3VyaXR5
b3JpZ2luLmNwcDoKKyAgICAgICAgKFFXZWJTZWN1cml0eU9yaWdpbjo6c2V0QXBwbGljYXRpb25D
YWNoZURhdGFiYXNlUXVvdGEpOgorICAgICAgICAqIEFwaS9xd2Vic2VjdXJpdHlvcmlnaW4uaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6cmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90
YSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3Bw
OgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNsZWFyQWxsQXBwbGljYXRpb25D
YWNoZXMpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
Lmg6CisKIDIwMTAtMTItMDEgIEppYSBQdSAgPGpwdUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAkocmV2aXNpb24gNzIxMjUp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA5Niw2
ICs0MDk2LDE0IEBAIHF1aW50NjQgUVdlYlBhZ2U6OmJ5dGVzUmVjZWl2ZWQoKSBjb25zdAogCiAg
ICAgXHNhIFFXZWJEYXRhYmFzZQogKi8KKy8qIQorICAgIFxmbiB2b2lkIFFXZWJQYWdlOjphcHBs
aWNhdGlvbkNhY2hlRGF0YWJhc2VRdW90YUV4Y2VlZGVkKFFXZWJTZWN1cml0eU9yaWdpbiogb3Jp
Z2luLCBxdWludDY0IGRlZmF1bHRPcmlnaW5RdW90YSk7CisKKworICAgIFRoaXMgc2lnbmFsIGlz
IGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIHdlYiBzaXRlIGlzIGFza2luZyB0byBzdG9yZSBkYXRhIHRv
IHRoZSBhcHBsaWNhdGlvbiBjYWNoZQorICAgIGRhdGFiYXNlIGRhdGFiYXNlTmFtZSBhbmQgdGhl
IHF1b3RhIGFsbG9jYXRlZCB0byB0aGF0IHdlYiBzaXRlIGlzIGV4Y2VlZGVkLgorCisqLwogCiAv
KiEKICAgXHNpbmNlIDQuNQpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAkocmV2aXNpb24gNzIxMjUpCisrKyBXZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgY2xh
c3MgUVdlYk5ldHdvcmtJbnRlcmZhY2U7CiBjbGFzcyBRV2ViUGFnZVByaXZhdGU7CiBjbGFzcyBR
V2ViUGx1Z2luRmFjdG9yeTsKIGNsYXNzIFF0Vmlld3BvcnRBdHRyaWJ1dGVzUHJpdmF0ZTsKK2Ns
YXNzIFFXZWJTZWN1cml0eU9yaWdpbjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IENocm9tZUNsaWVudFF0OwpAQCAtMzExLDcgKzMxMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dFVzZXJQZXJtaXNzaW9uKFFXZWJGcmFtZSogZnJhbWUsIFBlcm1pc3Npb25Eb21haW4gZG9tYWlu
LCBQZXJtaXNzaW9uUG9saWN5IHBvbGljeSk7CiAKICAgICBRU3RyaW5nTGlzdCBzdXBwb3J0ZWRD
b250ZW50VHlwZXMoKSBjb25zdDsKLSAgICBib29sIHN1cHBvcnRzQ29udGVudFR5cGUoY29uc3Qg
UVN0cmluZyYgbWltZVR5cGUpIGNvbnN0OworICAgIGJvb2wgc3VwcG9ydHNDb250ZW50VHlwZShj
b25zdCBRU3RyaW5nJiBtaW1lVHlwZSkgY29uc3Q7ICAgIAogCiAgICAgZW51bSBFeHRlbnNpb24g
ewogICAgICAgICBDaG9vc2VNdWx0aXBsZUZpbGVzRXh0ZW5zaW9uLApAQCAtMzg3LDYgKzM4OCw4
IEBAIFFfU0lHTkFMUzoKICAgICB2b2lkIG1pY3JvRm9jdXNDaGFuZ2VkKCk7CiAgICAgdm9pZCBj
b250ZW50c0NoYW5nZWQoKTsKICAgICB2b2lkIGRhdGFiYXNlUXVvdGFFeGNlZWRlZChRV2ViRnJh
bWUqIGZyYW1lLCBRU3RyaW5nIGRhdGFiYXNlTmFtZSk7CisgICAgdm9pZCBhcHBsaWNhdGlvbkNh
Y2hlRGF0YWJhc2VRdW90YUV4Y2VlZGVkKFFXZWJTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBxdWlu
dDY0IGRlZmF1bHRPcmlnaW5RdW90YSk7CisKIAogICAgIHZvaWQgc2F2ZUZyYW1lU3RhdGVSZXF1
ZXN0ZWQoUVdlYkZyYW1lKiBmcmFtZSwgUVdlYkhpc3RvcnlJdGVtKiBpdGVtKTsKICAgICB2b2lk
IHJlc3RvcmVGcmFtZVN0YXRlUmVxdWVzdGVkKFFXZWJGcmFtZSogZnJhbWUpOwpAQCAtNDI0LDcg
KzQyNyw3IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFFXZWJWaWV3UHJpdmF0ZTsKICAg
ICBmcmllbmQgY2xhc3MgUUdyYXBoaWNzV2ViVmlldzsKICAgICBmcmllbmQgY2xhc3MgUUdyYXBo
aWNzV2ViVmlld1ByaXZhdGU7Ci0gICAgZnJpZW5kIGNsYXNzIFFXZWJJbnNwZWN0b3I7CisgICAg
ZnJpZW5kIGNsYXNzIFFXZWJJbnNwZWN0b3I7ICAgCiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6
OkNocm9tZUNsaWVudFF0OwogICAgIGZyaWVuZCBjbGFzcyBXZWJDb3JlOjpFZGl0b3JDbGllbnRR
dDsKICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDsKSW5kZXg6
IFdlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5jcHAJKHJldmlzaW9uIDcyMTI1KQorKysgV2Vi
S2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw2
ICsyMyw3IEBACiAjaW5jbHVkZSAicXdlYmRhdGFiYXNlLmgiCiAjaW5jbHVkZSAicXdlYmRhdGFi
YXNlX3AuaCIKIAorI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVk
ZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIlNjaGVt
ZVJlZ2lzdHJ5LmgiCkBAIC0xNTIsNiArMTUzLDEyIEBAIHZvaWQgUVdlYlNlY3VyaXR5T3JpZ2lu
OjpzZXREYXRhYmFzZVF1b3QKICNlbmRpZgogfQogCit2b2lkIFFXZWJTZWN1cml0eU9yaWdpbjo6
c2V0QXBwbGljYXRpb25DYWNoZURhdGFiYXNlUXVvdGEocWludDY0IHF1b3RhKQoreworI2lmIEVO
QUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCisgICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdl
KCkuc3RvcmVVcGRhdGVkUXVvdGFGb3JPcmlnaW4oZC0+b3JpZ2luLmdldCgpLCBxdW90YSk7Cisj
ZW5kaWYKK30KIC8qIQogICAgIERlc3Ryb3lzIHRoZSBzZWN1cml0eSBvcmlnaW4uCiAqLwpJbmRl
eDogV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5oCShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktp
dC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUx
LDggQEAgcHVibGljOgogICAgIHFpbnQ2NCBkYXRhYmFzZVF1b3RhKCkgY29uc3Q7CiAKICAgICB2
b2lkIHNldERhdGFiYXNlUXVvdGEocWludDY0IHF1b3RhKTsKKyAgICB2b2lkIHNldEFwcGxpY2F0
aW9uQ2FjaGVEYXRhYmFzZVF1b3RhKHFpbnQ2NCBxdW90YSk7CisKIAogICAgIFFMaXN0PFFXZWJE
YXRhYmFzZT4gZGF0YWJhc2VzKCkgY29uc3Q7CiAKSW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAkocmV2aXNpb24gNzIxMjUpCisrKyBXZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50UXQu
aCIKIAorI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiRGF0
YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGcmFt
ZS5oIgpAQCAtNTE5LDkgKzUyMCwxOCBAQCB2b2lkIENocm9tZUNsaWVudFF0OjpyZWFjaGVkTWF4
QXBwQ2FjaGVTCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRR
dDo6cmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbiopCit2
b2lkIENocm9tZUNsaWVudFF0OjpyZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpbnQ2
NF90IHF1b3RhOworICAgIHF1aW50NjQgZGVmYXVsdE9yaWdpblF1b3RhID0gV2ViQ29yZTo6Y2Fj
aGVTdG9yYWdlKCkuZGVmYXVsdE9yaWdpblF1b3RhKCk7CisKKyAgICBRV2ViU2VjdXJpdHlPcmln
aW5Qcml2YXRlKiBwcml2ID0gbmV3IFFXZWJTZWN1cml0eU9yaWdpblByaXZhdGUob3JpZ2luKTsK
KyAgICBRV2ViU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luID0gbmV3IFFXZWJTZWN1cml0
eU9yaWdpbihwcml2KTsKKworICAgIGlmICghV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkucXVvdGFG
b3JPcmlnaW4ob3JpZ2luLCBxdW90YSkpCisgICAgICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCku
c3RvcmVVcGRhdGVkUXVvdGFGb3JPcmlnaW4ob3JpZ2luLCBkZWZhdWx0T3JpZ2luUXVvdGEpOwor
CisgICAgZW1pdCBtX3dlYlBhZ2UtPmFwcGxpY2F0aW9uQ2FjaGVEYXRhYmFzZVF1b3RhRXhjZWVk
ZWQoc2VjdXJpdHlPcmlnaW4sIGRlZmF1bHRPcmlnaW5RdW90YSk7CiB9CiAjZW5kaWYKIApJbmRl
eDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuY3BwCShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5oIgogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJD
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5o
IgogI2luY2x1ZGUgIkNvbnRleHRNZW51LmgiCkBAIC01NTksNiArNTYwLDE0IEBAIHZvaWQgRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldEVkaXRpbmcKICAgICBjb3JlUGFnZS0+c2V0dGluZ3Mo
KS0+c2V0RWRpdGluZ0JlaGF2aW9yVHlwZShjb3JlRWRpdGluZ0JlaGF2aW9yKTsKIH0KIAordm9p
ZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Y2xlYXJBbGxBcHBsaWNhdGlvbkNhY2hlcygpCit7
CisjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKKyAgICBXZWJDb3JlOjpjYWNo
ZVN0b3JhZ2UoKS5lbXB0eSgpOworICAgIFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLnZhY3V1bURh
dGFiYXNlRmlsZSgpOworI2VuZGlmCit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6
OmR1bXBGcmFtZUxvYWRlcihib29sIGIpCiB7CiAgICAgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZHVt
cEZyYW1lTG9hZGVyQ2FsbGJhY2tzID0gYjsKSW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCShyZXZpc2lvbiA3MjEyNSkKKysr
IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04Nyw2ICs4Nyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBlbGVt
ZW50RG9lc0F1dG9Db21wbGV0ZUZvckVsZW1lbnRXaXRoSWQoUVdlYkZyYW1lKiBmcmFtZSwgY29u
c3QgUVN0cmluZyYgZWxlbWVudElkKTsKICAgICBzdGF0aWMgdm9pZCBzZXRFZGl0aW5nQmVoYXZp
b3IoUVdlYlBhZ2UqIHBhZ2UsIGNvbnN0IFFTdHJpbmcmIGVkaXRpbmdCZWhhdmlvcik7CiAKKyAg
ICBzdGF0aWMgdm9pZCBjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCk7CisKICAgICBzdGF0aWMg
dm9pZCB3aGl0ZUxpc3RBY2Nlc3NGcm9tT3JpZ2luKGNvbnN0IFFTdHJpbmcmIHNvdXJjZU9yaWdp
biwgY29uc3QgUVN0cmluZyYgZGVzdGluYXRpb25Qcm90b2NvbCwgY29uc3QgUVN0cmluZyYgZGVz
dGluYXRpb25Ib3N0LCBib29sIGFsbG93RGVzdGluYXRpb25TdWJkb21haW5zKTsKICAgICBzdGF0
aWMgdm9pZCByZW1vdmVXaGl0ZUxpc3RBY2Nlc3NGcm9tT3JpZ2luKGNvbnN0IFFTdHJpbmcmIHNv
dXJjZU9yaWdpbiwgY29uc3QgUVN0cmluZyYgZGVzdGluYXRpb25Qcm90b2NvbCwgY29uc3QgUVN0
cmluZyYgZGVzdGluYXRpb25Ib3N0LCBib29sIGFsbG93RGVzdGluYXRpb25TdWJkb21haW5zKTsK
ICAgICBzdGF0aWMgdm9pZCByZXNldE9yaWdpbkFjY2Vzc1doaXRlTGlzdHMoKTsKSW5kZXg6IFdl
YktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDczMTg3KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMzEgQEAKKzIwMTAtMTItMDIgIEtyaXRoaWdhc3NyZWUgU2FtYmFtdXJ0aHkg
IDxrcml0aGlnYXNzcmVlLnNhbWFibXVydGh5QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgNDM0NTUgLSAgW1F0XTogSW1wbGVt
ZW50IEFwcGxpY2F0aW9uIENhY2hlIFF1b3RhcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0NTUgCisKKyAgICAgICAgSW50cm9kdWNlIGZ1bnRpb25z
IHRvIGFsbG93IG5ldyBhcHBjYWNoZSBsYXlvdXQgdGVzdCBvcmlnaW4tcXVvdGEKKyAgICAgICAg
dG8gd29yayBjb3JyZWN0bHkgdW5kZXIgcXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVl
OjpEdW1wUmVuZGVyVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6ZHVt
cEFwcGxpY2F0aW9uQ2FjaGVEYXRhYmFzZVF1b3RhKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZVF0Lmg6CisKKyAgICAgICAgSW50cm9kdWNlIGZ1bnRpb25zIHRv
IGFsbG93IG5ldyBhcHBjYWNoZSBsYXlvdXQgdGVzdAorICAgICAgICBvcmlnaW4tcXVvdGEgdG8g
YmUgc3VjY2Vzc2Z1bCB1bmRlciBxdC5DaGFuZ2VzIHJlcXVpcmVkIGJlY2F1c2UKKyAgICAgICAg
TGF5b3V0VGVzdENvbnRyb2xsZXJRdCBkb2VzIG5vdCBpbmhlcml0IGZyb20gTGF5b3V0Q29udHJv
bGxlci4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlc2V0KToKKyAgICAgICAg
KExheW91dFRlc3RDb250cm9sbGVyOjpjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKToKKyAgICAg
ICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoK
KyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzaG91bGREdW1wQXBwbGljYXRpb25DYWNo
ZURlbGVnYXRlQ2FsbGJhY2tzKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpkdW1w
QXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzKToKKworCiAyMDEwLTEyLTAyICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENh
cmxzc29uLgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVt
cFJlbmRlclRyZWVRdC5jcHAJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4MCw2
ICs0ODAsOCBAQCBEdW1wUmVuZGVyVHJlZTo6RHVtcFJlbmRlclRyZWUoKQogICAgICAgICAgICAg
U0xPVCh0aXRsZUNoYW5nZWQoY29uc3QgUVN0cmluZyYpKSk7CiAgICAgY29ubmVjdChtX3BhZ2Us
IFNJR05BTChkYXRhYmFzZVF1b3RhRXhjZWVkZWQoUVdlYkZyYW1lKixRU3RyaW5nKSksCiAgICAg
ICAgICAgICB0aGlzLCBTTE9UKGR1bXBEYXRhYmFzZVF1b3RhKFFXZWJGcmFtZSosUVN0cmluZykp
KTsKKyAgICBjb25uZWN0KG1fcGFnZSwgU0lHTkFMKGFwcGxpY2F0aW9uQ2FjaGVEYXRhYmFzZVF1
b3RhRXhjZWVkZWQoUVdlYlNlY3VyaXR5T3JpZ2luICosIHF1aW50NjQpKSwKKyAgICAgICAgICAg
IHRoaXMsIFNMT1QoZHVtcEFwcGxpY2F0aW9uQ2FjaGVEYXRhYmFzZVF1b3RhKFFXZWJTZWN1cml0
eU9yaWdpbiAqLCBxdWludDY0KSkpOwogICAgIGNvbm5lY3QobV9wYWdlLCBTSUdOQUwoc3RhdHVz
QmFyTWVzc2FnZShjb25zdCBRU3RyaW5nJikpLAogICAgICAgICAgICAgdGhpcywgU0xPVChzdGF0
dXNCYXJNZXNzYWdlKGNvbnN0IFFTdHJpbmcmKSkpOwogCkBAIC0xMDIyLDYgKzEwMjQsMjEgQEAg
dm9pZCBEdW1wUmVuZGVyVHJlZTo6ZHVtcERhdGFiYXNlUXVvdGEoUQogICAgIG9yaWdpbi5zZXRE
YXRhYmFzZVF1b3RhKDUgKiAxMDI0ICogMTAyNCk7CiB9CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWU6
OmR1bXBBcHBsaWNhdGlvbkNhY2hlRGF0YWJhc2VRdW90YShRV2ViU2VjdXJpdHlPcmlnaW4qIG9y
aWdpbiwgcXVpbnQ2NCBkZWZhdWx0T3JpZ2luUXVvdGEpCit7CisKKyAgICBpZiAoIW1fY29udHJv
bGxlci0+c2hvdWxkRHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNrcygpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBwcmludGYoIlVJIERFTEVHQVRFIEFQUExJQ0FUSU9OIENBQ0hF
IENBTExCQUNLOiBleGNlZWRlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YUZvclNlY3VyaXR5
T3JpZ2luOnslcywgJXMsICVpfVxuIiwKKyAgICAgICAgICAgb3JpZ2luLT5zY2hlbWUoKS50b1V0
ZjgoKS5kYXRhKCksCisgICAgICAgICAgIG9yaWdpbi0+aG9zdCgpLnRvVXRmOCgpLmRhdGEoKSwK
KyAgICAgICAgICAgb3JpZ2luLT5wb3J0KCkKKyAgICAgICAgICAgKTsKKworICAgIG9yaWdpbi0+
c2V0QXBwbGljYXRpb25DYWNoZURhdGFiYXNlUXVvdGEoZGVmYXVsdE9yaWdpblF1b3RhKTsKK30K
Kwogdm9pZCBEdW1wUmVuZGVyVHJlZTo6c3RhdHVzQmFyTWVzc2FnZShjb25zdCBRU3RyaW5nJiBt
ZXNzYWdlKQogewogICAgIGlmICghbV9jb250cm9sbGVyLT5zaG91bGREdW1wU3RhdHVzQ2FsbGJh
Y2tzKCkpCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJl
ZVF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWVRdC5oCShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDYgKzExNiw3
IEBAIHB1YmxpYyBRX1NMT1RTOgogICAgIHZvaWQgdGl0bGVDaGFuZ2VkKGNvbnN0IFFTdHJpbmcg
JnMpOwogICAgIHZvaWQgY29ubmVjdEZyYW1lKFFXZWJGcmFtZSAqZnJhbWUpOwogICAgIHZvaWQg
ZHVtcERhdGFiYXNlUXVvdGEoUVdlYkZyYW1lKiBmcmFtZSwgY29uc3QgUVN0cmluZyYgZGJOYW1l
KTsKKyAgICB2b2lkIGR1bXBBcHBsaWNhdGlvbkNhY2hlRGF0YWJhc2VRdW90YShRV2ViU2VjdXJp
dHlPcmlnaW4qIG9yaWdpbiwgcXVpbnQ2NCBkZWZhdWx0T3JpZ2luUXVvdGEpOwogICAgIHZvaWQg
c3RhdHVzQmFyTWVzc2FnZShjb25zdCBRU3RyaW5nJiBtZXNzYWdlKTsKICAgICB2b2lkIHdpbmRv
d0Nsb3NlUmVxdWVzdGVkKCk7CiAKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCShyZXZpc2lvbiA3MjEy
NSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnJlc2V0KCkKICAgICBtX3dhaXRGb3JEb25lID0gZmFsc2U7CiAgICAgbV9kdW1w
VGl0bGVDaGFuZ2VzID0gZmFsc2U7CiAgICAgbV9kdW1wRGF0YWJhc2VDYWxsYmFja3MgPSBmYWxz
ZTsKKyAgICBtX2R1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MgPSBmYWxzZTsK
ICAgICBtX2R1bXBTdGF0dXNDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX3RpbWVvdXRUaW1lci5z
dG9wKCk7CiAgICAgbV90b3BMb2FkaW5nRnJhbWUgPSAwOwpAQCAtNTQxLDEyICs1NDIsMTQgQEAg
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZGlzcGF0Y2hQZW5kaQogCiB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCkKIHsKLSAgICAvLyBGSVhN
RTogaW1wbGVtZW50IHRvIHN1cHBvcnQgQXBwbGljYXRpb24gQ2FjaGUgcXVvdGFzLgorICAgIER1
bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCk7CiB9CiAK
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90
YSh1bnNpZ25lZCBsb25nIGxvbmcgcXVvdGEpCiB7Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudCB0
byBzdXBwb3J0IEFwcGxpY2F0aW9uIENhY2hlIHF1b3Rhcy4KKyAgICBpZiAoIW1fdG9wTG9hZGlu
Z0ZyYW1lKQorICAgICAgICByZXR1cm47CisgICAgbV90b3BMb2FkaW5nRnJhbWUtPnNlY3VyaXR5
T3JpZ2luKCkuc2V0QXBwbGljYXRpb25DYWNoZURhdGFiYXNlUXVvdGEocXVvdGEpOwogfQogCiB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXREYXRhYmFzZVF1b3RhKGludCBzaXplKQpJbmRl
eDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RD
b250cm9sbGVyUXQuaAkocmV2aXNpb24gNzIxMjUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYg
KzY0LDcgQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkRHVtcENoaWxkcmVuQXNUZXh0KCkgY29u
c3QgeyByZXR1cm4gbV9kdW1wQ2hpbGRyZW5Bc1RleHQ7IH0KICAgICBib29sIHNob3VsZER1bXBD
aGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9kdW1wQ2hpbGRGcmFt
ZVNjcm9sbFBvc2l0aW9uczsgfQogICAgIGJvb2wgc2hvdWxkRHVtcERhdGFiYXNlQ2FsbGJhY2tz
KCkgY29uc3QgeyByZXR1cm4gbV9kdW1wRGF0YWJhc2VDYWxsYmFja3M7IH0KKyAgICBib29sIHNo
b3VsZER1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MoKSBjb25zdCB7IHJldHVy
biBtX2R1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3M7IH0KICAgICBib29sIHNo
b3VsZER1bXBTdGF0dXNDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiBtX2R1bXBTdGF0dXNDYWxs
YmFja3M7IH0KICAgICBib29sIHNob3VsZFdhaXRVbnRpbERvbmUoKSBjb25zdCB7IHJldHVybiBt
X3dhaXRGb3JEb25lOyB9CiAgICAgYm9vbCBzaG91bGRIYW5kbGVFcnJvclBhZ2VzKCkgY29uc3Qg
eyByZXR1cm4gbV9oYW5kbGVFcnJvclBhZ2VzOyB9CkBAIC05NCw2ICs5NSw3IEBAIHB1YmxpYyBz
bG90czoKICAgICB2b2lkIGR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpIHsgbV9kdW1wQ2hpbGRyZW5B
c1RleHQgPSB0cnVlOyB9CiAgICAgdm9pZCBkdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucygp
IHsgbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9IHRydWU7IH0KICAgICB2b2lkIGR1
bXBEYXRhYmFzZUNhbGxiYWNrcygpIHsgbV9kdW1wRGF0YWJhc2VDYWxsYmFja3MgPSB0cnVlOyB9
CisgICAgdm9pZCBkdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzKCkgeyBtX2R1
bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MgPSB0cnVlO30KICAgICB2b2lkIGR1
bXBTdGF0dXNDYWxsYmFja3MoKSB7IG1fZHVtcFN0YXR1c0NhbGxiYWNrcyA9IHRydWU7IH0KICAg
ICB2b2lkIHNldENhbk9wZW5XaW5kb3dzKCkgeyBtX2Nhbk9wZW5XaW5kb3dzID0gdHJ1ZTsgfQog
ICAgIHZvaWQgc2V0UHJpbnRpbmcoKSB7IG1faXNQcmludGluZyA9IHRydWU7IH0KQEAgLTI0Niwx
MyArMjQ4LDE2IEBAIHB1YmxpYyBzbG90czoKICAgICBRU3RyaW5nIHBhZ2VQcm9wZXJ0eShjb25z
dCBRU3RyaW5nJiBwcm9wZXJ0eU5hbWUsIGludCBwYWdlTnVtYmVyKTsKICAgICB2b2lkIGFkZFVz
ZXJTdHlsZVNoZWV0KGNvbnN0IFFTdHJpbmcmIHNvdXJjZUNvZGUpOwogCisKKworCiBwcml2YXRl
IHNsb3RzOgogICAgIHZvaWQgcHJvY2Vzc1dvcmsoKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIHNl
dEdlb2xvY2F0aW9uUGVybWlzc2lvbkNvbW1vbihib29sIGFsbG93KTsKIAotcHJpdmF0ZToKK3By
aXZhdGU6ICAgIAogICAgIGJvb2wgbV9oYXNEdW1wZWQ7CiAgICAgYm9vbCBtX3RleHREdW1wOwog
ICAgIGJvb2wgbV9kdW1wQmFja0ZvcndhcmRMaXN0OwpAQCAtMjYyLDYgKzI2Nyw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX3dhaXRGb3JEb25lOwogICAgIGJvb2wgbV9kdW1wVGl0bGVDaGFuZ2Vz
OwogICAgIGJvb2wgbV9kdW1wRGF0YWJhc2VDYWxsYmFja3M7CisgICAgYm9vbCBtX2R1bXBBcHBs
aWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3M7CiAgICAgYm9vbCBtX2R1bXBTdGF0dXNDYWxs
YmFja3M7CiAgICAgYm9vbCBtX3dhaXRGb3JQb2xpY3k7CiAgICAgYm9vbCBtX2hhbmRsZUVycm9y
UGFnZXM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75711</attachid>
            <date>2010-12-06 10:24:22 -0800</date>
            <delta_ts>2010-12-07 08:56:06 -0800</delta_ts>
            <desc>Patch to fix skipped layout test origin-quota.html</desc>
            <filename>Patch2.patch</filename>
            <type>text/plain</type>
            <size>13354</size>
            <attacher>krithigassree.sambamurthy</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNzMxODcpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMTItMDIgIEtyaXRoaWdhc3NyZWUgU2FtYmFtdXJ0
aHkgIDxrcml0aGlnYXNzcmVlLnNhbWFibXVydGh5QG5va2lhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgNDM0NTUgLSAgW1F0XTogSW1w
bGVtZW50IEFwcGxpY2F0aW9uIENhY2hlIFF1b3RhcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0NTUKKworICAgICAgICBBZGRlZCBuZXcgc2lnbmFs
IHRvIHJlcG9ydCBleGNlZWRpbmcgQXBwbGljYXRpb25DYWNoZQorICAgICAgICBEYXRhYmFzZSBx
dW90YS4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgICogQXBpL3F3ZWJw
YWdlLmg6CisKKyAgICAgICAgQWRkZWQgY2hhbmdlcyB0byBhY2NvbW9kYXRlIG5ldyBhcHBjYWNo
ZSBsYXlvdXQgdGVzdCBvcmlnaW4tcXVvdGEJCisKKyAgICAgICAgKiBBcGkvcXdlYnNlY3VyaXR5
b3JpZ2luLmNwcDoKKyAgICAgICAgKFFXZWJTZWN1cml0eU9yaWdpbjo6c2V0QXBwbGljYXRpb25D
YWNoZURhdGFiYXNlUXVvdGEpOgorICAgICAgICAqIEFwaS9xd2Vic2VjdXJpdHlvcmlnaW4uaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6cmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90
YSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3Bw
OgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNsZWFyQWxsQXBwbGljYXRpb25D
YWNoZXMpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
Lmg6CisKIDIwMTAtMTItMDEgIEppYSBQdSAgPGpwdUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAkocmV2aXNpb24gNzIxMjUp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA5Niw2
ICs0MDk2LDEzIEBAIHF1aW50NjQgUVdlYlBhZ2U6OmJ5dGVzUmVjZWl2ZWQoKSBjb25zdAogCiAg
ICAgXHNhIFFXZWJEYXRhYmFzZQogKi8KKy8qIQorICAgIFxmbiB2b2lkIFFXZWJQYWdlOjphcHBs
aWNhdGlvbkNhY2hlUXVvdGFFeGNlZWRlZChRV2ViU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgcXVp
bnQ2NCBkZWZhdWx0T3JpZ2luUXVvdGEpOworCisgICAgVGhpcyBzaWduYWwgaXMgZW1pdHRlZCB3
aGVuZXZlciB0aGUgd2ViIHNpdGUgaXMgYXNraW5nIHRvIHN0b3JlIGRhdGEgdG8gdGhlIGFwcGxp
Y2F0aW9uIGNhY2hlCisgICAgZGF0YWJhc2UgZGF0YWJhc2VOYW1lIGFuZCB0aGUgcXVvdGEgYWxs
b2NhdGVkIHRvIHRoYXQgd2ViIHNpdGUgaXMgZXhjZWVkZWQuCisKKyovCiAKIC8qIQogICBcc2lu
Y2UgNC41CkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L3F0L0FwaS9xd2VicGFnZS5oCShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktpdC9xdC9BcGkv
cXdlYnBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsNyBAQCBjbGFzcyBRV2ViSGl0
VGVzdFJlc3VsdDsKIGNsYXNzIFFXZWJOZXR3b3JrSW50ZXJmYWNlOwogY2xhc3MgUVdlYlBhZ2VQ
cml2YXRlOwogY2xhc3MgUVdlYlBsdWdpbkZhY3Rvcnk7CitjbGFzcyBRV2ViU2VjdXJpdHlPcmln
aW47CiBjbGFzcyBRdFZpZXdwb3J0QXR0cmlidXRlc1ByaXZhdGU7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTM4Nyw2ICszODgsNyBAQCBRX1NJR05BTFM6CiAgICAgdm9pZCBtaWNyb0ZvY3Vz
Q2hhbmdlZCgpOwogICAgIHZvaWQgY29udGVudHNDaGFuZ2VkKCk7CiAgICAgdm9pZCBkYXRhYmFz
ZVF1b3RhRXhjZWVkZWQoUVdlYkZyYW1lKiBmcmFtZSwgUVN0cmluZyBkYXRhYmFzZU5hbWUpOwor
ICAgIHZvaWQgYXBwbGljYXRpb25DYWNoZVF1b3RhRXhjZWVkZWQoUVdlYlNlY3VyaXR5T3JpZ2lu
KiBvcmlnaW4sIHF1aW50NjQgZGVmYXVsdE9yaWdpblF1b3RhKTsKIAogICAgIHZvaWQgc2F2ZUZy
YW1lU3RhdGVSZXF1ZXN0ZWQoUVdlYkZyYW1lKiBmcmFtZSwgUVdlYkhpc3RvcnlJdGVtKiBpdGVt
KTsKICAgICB2b2lkIHJlc3RvcmVGcmFtZVN0YXRlUmVxdWVzdGVkKFFXZWJGcmFtZSogZnJhbWUp
OwpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luLmNwcAkocmV2aXNpb24gNzIxMjUp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlICJxd2ViZGF0YWJhc2UuaCIKICNpbmNsdWRlICJx
d2ViZGF0YWJhc2VfcC5oIgogCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIK
ICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVk
ZSAiU2NoZW1lUmVnaXN0cnkuaCIKQEAgLTE1Miw2ICsxNTMsMTIgQEAgdm9pZCBRV2ViU2VjdXJp
dHlPcmlnaW46OnNldERhdGFiYXNlUXVvdAogI2VuZGlmCiB9CiAKK3ZvaWQgUVdlYlNlY3VyaXR5
T3JpZ2luOjpzZXRBcHBsaWNhdGlvbkNhY2hlUXVvdGEocWludDY0IHF1b3RhKQoreworI2lmIEVO
QUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCisgICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdl
KCkuc3RvcmVVcGRhdGVkUXVvdGFGb3JPcmlnaW4oZC0+b3JpZ2luLmdldCgpLCBxdW90YSk7Cisj
ZW5kaWYKK30KIC8qIQogICAgIERlc3Ryb3lzIHRoZSBzZWN1cml0eSBvcmlnaW4uCiAqLwpJbmRl
eDogV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5oCShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktp
dC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUx
LDcgQEAgcHVibGljOgogICAgIHFpbnQ2NCBkYXRhYmFzZVF1b3RhKCkgY29uc3Q7CiAKICAgICB2
b2lkIHNldERhdGFiYXNlUXVvdGEocWludDY0IHF1b3RhKTsKKyAgICB2b2lkIHNldEFwcGxpY2F0
aW9uQ2FjaGVRdW90YShxaW50NjQgcXVvdGEpOwogCiAgICAgUUxpc3Q8UVdlYkRhdGFiYXNlPiBk
YXRhYmFzZXMoKSBjb25zdDsKIApJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50UXQuY3BwCShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgogCisjaW5j
bHVkZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNr
ZXIuaCIKICNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC01
MTksOSArNTIwLDE4IEBAIHZvaWQgQ2hyb21lQ2xpZW50UXQ6OnJlYWNoZWRNYXhBcHBDYWNoZVMK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIENocm9tZUNsaWVudFF0OjpyZWFjaGVk
QXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3JpZ2luKikKK3ZvaWQgQ2hyb21l
Q2xpZW50UXQ6OnJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoU2VjdXJpdHlPcmln
aW4qIG9yaWdpbikKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGludDY0X3QgcXVvdGE7
CisgICAgcXVpbnQ2NCBkZWZhdWx0T3JpZ2luUXVvdGEgPSBXZWJDb3JlOjpjYWNoZVN0b3JhZ2Uo
KS5kZWZhdWx0T3JpZ2luUXVvdGEoKTsKKworICAgIFFXZWJTZWN1cml0eU9yaWdpblByaXZhdGUq
IHByaXYgPSBuZXcgUVdlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZShvcmlnaW4pOworICAgIFFXZWJT
ZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4gPSBuZXcgUVdlYlNlY3VyaXR5T3JpZ2luKHBy
aXYpOworCisgICAgaWYgKCFXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5xdW90YUZvck9yaWdpbihv
cmlnaW4sIHF1b3RhKSkKKyAgICAgICBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5zdG9yZVVwZGF0
ZWRRdW90YUZvck9yaWdpbihvcmlnaW4sIGRlZmF1bHRPcmlnaW5RdW90YSk7CisKKyAgICBlbWl0
IG1fd2ViUGFnZS0+YXBwbGljYXRpb25DYWNoZVF1b3RhRXhjZWVkZWQoc2VjdXJpdHlPcmlnaW4s
IGRlZmF1bHRPcmlnaW5RdW90YSk7CiB9CiAjZW5kaWYKIApJbmRleDogV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCShyZXZpc2lv
biA3MjEyNSkKKysrIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oIgogCisjaW5jbHVkZSAi
QXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJDU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgogI2luY2x1ZGUgIkNvbnRl
eHRNZW51LmgiCkBAIC01NTksNiArNTYwLDE0IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQ6OnNldEVkaXRpbmcKICAgICBjb3JlUGFnZS0+c2V0dGluZ3MoKS0+c2V0RWRpdGluZ0JlaGF2
aW9yVHlwZShjb3JlRWRpdGluZ0JlaGF2aW9yKTsKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdDo6Y2xlYXJBbGxBcHBsaWNhdGlvbkNhY2hlcygpCit7CisjaWYgRU5BQkxFKE9GRkxJ
TkVfV0VCX0FQUExJQ0FUSU9OUykKKyAgICBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5lbXB0eSgp
OworICAgIFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLnZhY3V1bURhdGFiYXNlRmlsZSgpOworI2Vu
ZGlmCit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBGcmFtZUxvYWRlcihi
b29sIGIpCiB7CiAgICAgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZHVtcEZyYW1lTG9hZGVyQ2FsbGJh
Y2tzID0gYjsKSW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5oCShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw2
ICs4Nyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBlbGVtZW50RG9lc0F1dG9Db21wbGV0
ZUZvckVsZW1lbnRXaXRoSWQoUVdlYkZyYW1lKiBmcmFtZSwgY29uc3QgUVN0cmluZyYgZWxlbWVu
dElkKTsKICAgICBzdGF0aWMgdm9pZCBzZXRFZGl0aW5nQmVoYXZpb3IoUVdlYlBhZ2UqIHBhZ2Us
IGNvbnN0IFFTdHJpbmcmIGVkaXRpbmdCZWhhdmlvcik7CiAKKyAgICBzdGF0aWMgdm9pZCBjbGVh
ckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCk7CisKICAgICBzdGF0aWMgdm9pZCB3aGl0ZUxpc3RBY2Nl
c3NGcm9tT3JpZ2luKGNvbnN0IFFTdHJpbmcmIHNvdXJjZU9yaWdpbiwgY29uc3QgUVN0cmluZyYg
ZGVzdGluYXRpb25Qcm90b2NvbCwgY29uc3QgUVN0cmluZyYgZGVzdGluYXRpb25Ib3N0LCBib29s
IGFsbG93RGVzdGluYXRpb25TdWJkb21haW5zKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVXaGl0
ZUxpc3RBY2Nlc3NGcm9tT3JpZ2luKGNvbnN0IFFTdHJpbmcmIHNvdXJjZU9yaWdpbiwgY29uc3Qg
UVN0cmluZyYgZGVzdGluYXRpb25Qcm90b2NvbCwgY29uc3QgUVN0cmluZyYgZGVzdGluYXRpb25I
b3N0LCBib29sIGFsbG93RGVzdGluYXRpb25TdWJkb21haW5zKTsKICAgICBzdGF0aWMgdm9pZCBy
ZXNldE9yaWdpbkFjY2Vzc1doaXRlTGlzdHMoKTsKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDczMTg3KQor
KysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTAtMTItMDIgIEtyaXRoaWdhc3NyZWUgU2FtYmFtdXJ0aHkgIDxrcml0aGlnYXNzcmVlLnNh
bWFibXVydGh5QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBCdWcgNDM0NTUgLSAgW1F0XTogSW1wbGVtZW50IEFwcGxpY2F0aW9uIENh
Y2hlIFF1b3RhcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDM0NTUgCisKKyAgICAgICAgSW50cm9kdWNlIGZ1bmN0aW9ucyB0byBhbGxvdyBuZXcgYXBw
Y2FjaGUgbGF5b3V0IHRlc3Qgb3JpZ2luLXF1b3RhCisgICAgICAgIHRvIHdvcmsgY29ycmVjdGx5
IHVuZGVyIHF0LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6RHVtcFJlbmRlclRyZWUp
OgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6OmR1bXBBcHBsaWNhdGlvbkNhY2hl
RGF0YWJhc2VRdW90YSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWVRdC5oOgorCisgICAgICAgIEludHJvZHVjZSBmdW5jdGlvbnMgdG8gYWxsb3cgbmV3IGFwcGNh
Y2hlIGxheW91dCB0ZXN0CisgICAgICAgIG9yaWdpbi1xdW90YSB0byBiZSBzdWNjZXNzZnVsIHVu
ZGVyIHF0LkNoYW5nZXMgcmVxdWlyZWQgYmVjYXVzZQorICAgICAgICBMYXlvdXRUZXN0Q29udHJv
bGxlclF0IGRvZXMgbm90IGluaGVyaXQgZnJvbSBMYXlvdXRDb250cm9sbGVyLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmNsZWFyQWxsQXBwbGljYXRpb25DYWNoZXMpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNob3VsZER1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFj
a3MpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBBcHBsaWNhdGlvbkNhY2hl
RGVsZWdhdGVDYWxsYmFja3MpOgorCisKIDIwMTAtMTItMDIgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNw
cAkocmV2aXNpb24gNzIxMjUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1w
UmVuZGVyVHJlZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgwLDYgKzQ4MCw4IEBAIER1bXBS
ZW5kZXJUcmVlOjpEdW1wUmVuZGVyVHJlZSgpCiAgICAgICAgICAgICBTTE9UKHRpdGxlQ2hhbmdl
ZChjb25zdCBRU3RyaW5nJikpKTsKICAgICBjb25uZWN0KG1fcGFnZSwgU0lHTkFMKGRhdGFiYXNl
UXVvdGFFeGNlZWRlZChRV2ViRnJhbWUqLFFTdHJpbmcpKSwKICAgICAgICAgICAgIHRoaXMsIFNM
T1QoZHVtcERhdGFiYXNlUXVvdGEoUVdlYkZyYW1lKixRU3RyaW5nKSkpOworICAgIGNvbm5lY3Qo
bV9wYWdlLCBTSUdOQUwoYXBwbGljYXRpb25DYWNoZVF1b3RhRXhjZWVkZWQoUVdlYlNlY3VyaXR5
T3JpZ2luICosIHF1aW50NjQpKSwKKyAgICAgICAgICAgIHRoaXMsIFNMT1QoZHVtcEFwcGxpY2F0
aW9uQ2FjaGVRdW90YShRV2ViU2VjdXJpdHlPcmlnaW4gKiwgcXVpbnQ2NCkpKTsKICAgICBjb25u
ZWN0KG1fcGFnZSwgU0lHTkFMKHN0YXR1c0Jhck1lc3NhZ2UoY29uc3QgUVN0cmluZyYpKSwKICAg
ICAgICAgICAgIHRoaXMsIFNMT1Qoc3RhdHVzQmFyTWVzc2FnZShjb25zdCBRU3RyaW5nJikpKTsK
IApAQCAtMTAyMiw2ICsxMDI0LDIxIEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OmR1bXBEYXRhYmFz
ZVF1b3RhKFEKICAgICBvcmlnaW4uc2V0RGF0YWJhc2VRdW90YSg1ICogMTAyNCAqIDEwMjQpOwog
fQogCit2b2lkIER1bXBSZW5kZXJUcmVlOjpkdW1wQXBwbGljYXRpb25DYWNoZVF1b3RhKFFXZWJT
ZWN1cml0eU9yaWdpbiogb3JpZ2luLCBxdWludDY0IGRlZmF1bHRPcmlnaW5RdW90YSkKK3sKKwor
ICAgIGlmICghbV9jb250cm9sbGVyLT5zaG91bGREdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRl
Q2FsbGJhY2tzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHByaW50ZigiVUkgREVMRUdBVEUg
QVBQTElDQVRJT04gQ0FDSEUgQ0FMTEJBQ0s6IGV4Y2VlZGVkQXBwbGljYXRpb25DYWNoZU9yaWdp
blF1b3RhRm9yU2VjdXJpdHlPcmlnaW46eyVzLCAlcywgJWl9XG4iLAorICAgICAgICAgICBvcmln
aW4tPnNjaGVtZSgpLnRvVXRmOCgpLmRhdGEoKSwKKyAgICAgICAgICAgb3JpZ2luLT5ob3N0KCku
dG9VdGY4KCkuZGF0YSgpLAorICAgICAgICAgICBvcmlnaW4tPnBvcnQoKQorICAgICAgICAgICAp
OworCisgICAgb3JpZ2luLT5zZXRBcHBsaWNhdGlvbkNhY2hlUXVvdGEoZGVmYXVsdE9yaWdpblF1
b3RhKTsKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZTo6c3RhdHVzQmFyTWVzc2FnZShjb25zdCBR
U3RyaW5nJiBtZXNzYWdlKQogewogICAgIGlmICghbV9jb250cm9sbGVyLT5zaG91bGREdW1wU3Rh
dHVzQ2FsbGJhY2tzKCkpCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1w
UmVuZGVyVHJlZVF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvRHVtcFJlbmRlclRyZWVRdC5oCShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2
LDYgKzExNiw3IEBAIHB1YmxpYyBRX1NMT1RTOgogICAgIHZvaWQgdGl0bGVDaGFuZ2VkKGNvbnN0
IFFTdHJpbmcgJnMpOwogICAgIHZvaWQgY29ubmVjdEZyYW1lKFFXZWJGcmFtZSAqZnJhbWUpOwog
ICAgIHZvaWQgZHVtcERhdGFiYXNlUXVvdGEoUVdlYkZyYW1lKiBmcmFtZSwgY29uc3QgUVN0cmlu
ZyYgZGJOYW1lKTsKKyAgICB2b2lkIGR1bXBBcHBsaWNhdGlvbkNhY2hlUXVvdGEoUVdlYlNlY3Vy
aXR5T3JpZ2luKiBvcmlnaW4sIHF1aW50NjQgZGVmYXVsdE9yaWdpblF1b3RhKTsKICAgICB2b2lk
IHN0YXR1c0Jhck1lc3NhZ2UoY29uc3QgUVN0cmluZyYgbWVzc2FnZSk7CiAgICAgdm9pZCB3aW5k
b3dDbG9zZVJlcXVlc3RlZCgpOwogCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAkocmV2aXNpb24gNzIx
MjUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpyZXNldCgpCiAgICAgbV93YWl0Rm9yRG9uZSA9IGZhbHNlOwogICAgIG1fZHVt
cFRpdGxlQ2hhbmdlcyA9IGZhbHNlOwogICAgIG1fZHVtcERhdGFiYXNlQ2FsbGJhY2tzID0gZmFs
c2U7CisgICAgbV9kdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzID0gZmFsc2U7
CiAgICAgbV9kdW1wU3RhdHVzQ2FsbGJhY2tzID0gZmFsc2U7CiAgICAgbV90aW1lb3V0VGltZXIu
c3RvcCgpOwogICAgIG1fdG9wTG9hZGluZ0ZyYW1lID0gMDsKQEAgLTU0MSwxMiArNTQyLDE0IEBA
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmRpc3BhdGNoUGVuZGkKIAogdm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6Y2xlYXJBbGxBcHBsaWNhdGlvbkNhY2hlcygpCiB7Ci0gICAgLy8gRklY
TUU6IGltcGxlbWVudCB0byBzdXBwb3J0IEFwcGxpY2F0aW9uIENhY2hlIHF1b3Rhcy4KKyAgICBE
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Y2xlYXJBbGxBcHBsaWNhdGlvbkNhY2hlcygpOwogfQog
CiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVv
dGEodW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQg
dG8gc3VwcG9ydCBBcHBsaWNhdGlvbiBDYWNoZSBxdW90YXMuCisgICAgaWYgKCFtX3RvcExvYWRp
bmdGcmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fdG9wTG9hZGluZ0ZyYW1lLT5zZWN1cml0
eU9yaWdpbigpLnNldEFwcGxpY2F0aW9uQ2FjaGVRdW90YShxdW90YSk7CiB9CiAKIHZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnNldERhdGFiYXNlUXVvdGEoaW50IHNpemUpCkluZGV4OiBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5oCShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGREdW1wQ2hpbGRyZW5Bc1RleHQoKSBjb25zdCB7IHJl
dHVybiBtX2R1bXBDaGlsZHJlbkFzVGV4dDsgfQogICAgIGJvb2wgc2hvdWxkRHVtcENoaWxkRnJh
bWVTY3JvbGxQb3NpdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2R1bXBDaGlsZEZyYW1lU2Nyb2xs
UG9zaXRpb25zOyB9CiAgICAgYm9vbCBzaG91bGREdW1wRGF0YWJhc2VDYWxsYmFja3MoKSBjb25z
dCB7IHJldHVybiBtX2R1bXBEYXRhYmFzZUNhbGxiYWNrczsgfQorICAgIGJvb2wgc2hvdWxkRHVt
cEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fZHVt
cEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNrczsgfQogICAgIGJvb2wgc2hvdWxkRHVt
cFN0YXR1c0NhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fZHVtcFN0YXR1c0NhbGxiYWNrczsg
fQogICAgIGJvb2wgc2hvdWxkV2FpdFVudGlsRG9uZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2FpdEZv
ckRvbmU7IH0KICAgICBib29sIHNob3VsZEhhbmRsZUVycm9yUGFnZXMoKSBjb25zdCB7IHJldHVy
biBtX2hhbmRsZUVycm9yUGFnZXM7IH0KQEAgLTk0LDYgKzk1LDcgQEAgcHVibGljIHNsb3RzOgog
ICAgIHZvaWQgZHVtcENoaWxkRnJhbWVzQXNUZXh0KCkgeyBtX2R1bXBDaGlsZHJlbkFzVGV4dCA9
IHRydWU7IH0KICAgICB2b2lkIGR1bXBDaGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zKCkgeyBtX2R1
bXBDaGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zID0gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcERhdGFi
YXNlQ2FsbGJhY2tzKCkgeyBtX2R1bXBEYXRhYmFzZUNhbGxiYWNrcyA9IHRydWU7IH0KKyAgICB2
b2lkIGR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MoKSB7IG1fZHVtcEFwcGxp
Y2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNrcyA9IHRydWU7fQogICAgIHZvaWQgZHVtcFN0YXR1
c0NhbGxiYWNrcygpIHsgbV9kdW1wU3RhdHVzQ2FsbGJhY2tzID0gdHJ1ZTsgfQogICAgIHZvaWQg
c2V0Q2FuT3BlbldpbmRvd3MoKSB7IG1fY2FuT3BlbldpbmRvd3MgPSB0cnVlOyB9CiAgICAgdm9p
ZCBzZXRQcmludGluZygpIHsgbV9pc1ByaW50aW5nID0gdHJ1ZTsgfQpAQCAtMjYyLDYgKzI2NCw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhaXRGb3JEb25lOwogICAgIGJvb2wgbV9kdW1wVGl0
bGVDaGFuZ2VzOwogICAgIGJvb2wgbV9kdW1wRGF0YWJhc2VDYWxsYmFja3M7CisgICAgYm9vbCBt
X2R1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3M7CiAgICAgYm9vbCBtX2R1bXBT
dGF0dXNDYWxsYmFja3M7CiAgICAgYm9vbCBtX3dhaXRGb3JQb2xpY3k7CiAgICAgYm9vbCBtX2hh
bmRsZUVycm9yUGFnZXM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75819</attachid>
            <date>2010-12-07 08:56:06 -0800</date>
            <delta_ts>2010-12-08 14:22:52 -0800</delta_ts>
            <desc>Patch to fix skipped layout test origin-quota.html</desc>
            <filename>Patch3.patch</filename>
            <type>text/plain</type>
            <size>14435</size>
            <attacher>krithigassree.sambamurthy</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNzMxODcpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTAtMTItMDIgIEtyaXRoaWdhc3NyZWUgU2FtYmFtdXJ0
aHkgIDxrcml0aGlnYXNzcmVlLnNhbWFibXVydGh5QG5va2lhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgNDM0NTUgLSAgW1F0XTogSW1w
bGVtZW50IEFwcGxpY2F0aW9uIENhY2hlIFF1b3RhcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0NTUKKworICAgICAgICBBZGRlZCBuZXcgc2lnbmFs
IHRvIHJlcG9ydCBleGNlZWRpbmcgQXBwbGljYXRpb25DYWNoZQorICAgICAgICBEYXRhYmFzZSBx
dW90YS4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgICogQXBpL3F3ZWJw
YWdlLmg6CisKKyAgICAgICAgQWRkZWQgbmV3IGZ1bmN0aW9ucyB0byBhY2NvbW9kYXRlIG5ldyBh
cHBjYWhlIGxheW91dAorICAgICAgICB0ZXN0IG9yaWdpbi1xdW90YS5odG1sLgorCisgICAgICAg
ICogQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5jcHA6CisgICAgICAgIChRV2ViU2VjdXJpdHlPcmln
aW46OnNldEFwcGxpY2F0aW9uQ2FjaGVEYXRhYmFzZVF1b3RhKToKKyAgICAgICAgKiBBcGkvcXdl
YnNlY3VyaXR5b3JpZ2luLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnJlYWNoZWRBcHBsaWNh
dGlvbkNhY2hlT3JpZ2luUXVvdGEpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpj
bGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdC5oOgorCiAyMDEwLTEyLTAxICBKaWEgUHUgIDxqcHVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQwOTYsNiArNDA5NiwxMyBAQCBxdWludDY0IFFXZWJQYWdlOjpieXRlc1Jl
Y2VpdmVkKCkgY29uc3QKIAogICAgIFxzYSBRV2ViRGF0YWJhc2UKICovCisvKiEKKyAgICBcZm4g
dm9pZCBRV2ViUGFnZTo6YXBwbGljYXRpb25DYWNoZVF1b3RhRXhjZWVkZWQoUVdlYlNlY3VyaXR5
T3JpZ2luKiBvcmlnaW4sIHF1aW50NjQgZGVmYXVsdE9yaWdpblF1b3RhKTsKKworICAgIFRoaXMg
c2lnbmFsIGlzIGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIHdlYiBzaXRlIGlzIGFza2luZyB0byBzdG9y
ZSBkYXRhIHRvIHRoZSBhcHBsaWNhdGlvbiBjYWNoZQorICAgIGRhdGFiYXNlIGRhdGFiYXNlTmFt
ZSBhbmQgdGhlIHF1b3RhIGFsbG9jYXRlZCB0byB0aGF0IHdlYiBzaXRlIGlzIGV4Y2VlZGVkLgor
CisqLwogCiAvKiEKICAgXHNpbmNlIDQuNQpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAkocmV2aXNpb24gNzIxMjUp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4
LDcgQEAgY2xhc3MgUVdlYkhpdFRlc3RSZXN1bHQ7CiBjbGFzcyBRV2ViTmV0d29ya0ludGVyZmFj
ZTsKIGNsYXNzIFFXZWJQYWdlUHJpdmF0ZTsKIGNsYXNzIFFXZWJQbHVnaW5GYWN0b3J5OworY2xh
c3MgUVdlYlNlY3VyaXR5T3JpZ2luOwogY2xhc3MgUXRWaWV3cG9ydEF0dHJpYnV0ZXNQcml2YXRl
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zODcsNiArMzg4LDcgQEAgUV9TSUdOQUxTOgog
ICAgIHZvaWQgbWljcm9Gb2N1c0NoYW5nZWQoKTsKICAgICB2b2lkIGNvbnRlbnRzQ2hhbmdlZCgp
OwogICAgIHZvaWQgZGF0YWJhc2VRdW90YUV4Y2VlZGVkKFFXZWJGcmFtZSogZnJhbWUsIFFTdHJp
bmcgZGF0YWJhc2VOYW1lKTsKKyAgICB2b2lkIGFwcGxpY2F0aW9uQ2FjaGVRdW90YUV4Y2VlZGVk
KFFXZWJTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBxdWludDY0IGRlZmF1bHRPcmlnaW5RdW90YSk7
CiAKICAgICB2b2lkIHNhdmVGcmFtZVN0YXRlUmVxdWVzdGVkKFFXZWJGcmFtZSogZnJhbWUsIFFX
ZWJIaXN0b3J5SXRlbSogaXRlbSk7CiAgICAgdm9pZCByZXN0b3JlRnJhbWVTdGF0ZVJlcXVlc3Rl
ZChRV2ViRnJhbWUqIGZyYW1lKTsKSW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3Jp
Z2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5j
cHAJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOSwxNCArMTksMTUgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgInF3ZWJzZWN1cml0eW9yaWdpbi5oIgotI2luY2x1ZGUgInF3ZWJzZWN1
cml0eW9yaWdpbl9wLmgiCi0jaW5jbHVkZSAicXdlYmRhdGFiYXNlLmgiCi0jaW5jbHVkZSAicXdl
YmRhdGFiYXNlX3AuaCIKIAorI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAj
aW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUg
IlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRl
ICJxd2ViZGF0YWJhc2UuaCIKKyNpbmNsdWRlICJxd2ViZGF0YWJhc2VfcC5oIgorI2luY2x1ZGUg
InF3ZWJzZWN1cml0eW9yaWdpbl9wLmgiCiAjaW5jbHVkZSA8UVN0cmluZ0xpc3Q+CiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMTUyLDYgKzE1MywxMiBAQCB2b2lkIFFXZWJTZWN1cml0
eU9yaWdpbjo6c2V0RGF0YWJhc2VRdW90CiAjZW5kaWYKIH0KIAordm9pZCBRV2ViU2VjdXJpdHlP
cmlnaW46OnNldEFwcGxpY2F0aW9uQ2FjaGVRdW90YShxaW50NjQgcXVvdGEpCit7CisjaWYgRU5B
QkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKKyAgICBXZWJDb3JlOjpjYWNoZVN0b3JhZ2Uo
KS5zdG9yZVVwZGF0ZWRRdW90YUZvck9yaWdpbihkLT5vcmlnaW4uZ2V0KCksIHF1b3RhKTsKKyNl
bmRpZgorfQogLyohCiAgICAgRGVzdHJveXMgdGhlIHNlY3VyaXR5IG9yaWdpbi4KICovCkluZGV4
OiBXZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luLmgJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0
L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uaAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEs
NyBAQCBwdWJsaWM6CiAgICAgcWludDY0IGRhdGFiYXNlUXVvdGEoKSBjb25zdDsKIAogICAgIHZv
aWQgc2V0RGF0YWJhc2VRdW90YShxaW50NjQgcXVvdGEpOworICAgIHZvaWQgc2V0QXBwbGljYXRp
b25DYWNoZVF1b3RhKHFpbnQ2NCBxdW90YSk7CiAKICAgICBRTGlzdDxRV2ViRGF0YWJhc2U+IGRh
dGFiYXNlcygpIGNvbnN0OwogCkluZGV4OiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5jcHAJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudFF0LmgiCiAKKyNpbmNs
dWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tl
ci5oIgogI2luY2x1ZGUgIkZpbGVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTUx
OSw5ICs1MjAsMTggQEAgdm9pZCBDaHJvbWVDbGllbnRRdDo6cmVhY2hlZE1heEFwcENhY2hlUwog
ICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50UXQ6OnJlYWNoZWRB
cHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoU2VjdXJpdHlPcmlnaW4qKQordm9pZCBDaHJvbWVD
bGllbnRRdDo6cmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdp
biogb3JpZ2luKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaW50NjRfdCBxdW90YTsK
KyAgICBxdWludDY0IGRlZmF1bHRPcmlnaW5RdW90YSA9IFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgp
LmRlZmF1bHRPcmlnaW5RdW90YSgpOworCisgICAgUVdlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZSog
cHJpdiA9IG5ldyBRV2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlKG9yaWdpbik7CisgICAgUVdlYlNl
Y3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbiA9IG5ldyBRV2ViU2VjdXJpdHlPcmlnaW4ocHJp
dik7CisKKyAgICBpZiAoIVdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLnF1b3RhRm9yT3JpZ2luKG9y
aWdpbiwgcXVvdGEpKQorICAgICAgIFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLnN0b3JlVXBkYXRl
ZFF1b3RhRm9yT3JpZ2luKG9yaWdpbiwgZGVmYXVsdE9yaWdpblF1b3RhKTsKKworICAgIGVtaXQg
bV93ZWJQYWdlLT5hcHBsaWNhdGlvbkNhY2hlUXVvdGFFeGNlZWRlZChzZWN1cml0eU9yaWdpbiwg
ZGVmYXVsdE9yaWdpblF1b3RhKTsKIH0KICNlbmRpZgogCkluZGV4OiBXZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAJKHJldmlzaW9u
IDcyMTI1KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgiCiAKKyNpbmNsdWRlICJB
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudFF0LmgiCiAjaW5jbHVkZSAiQ29udGV4
dE1lbnUuaCIKQEAgLTU1OSw2ICs1NjAsMTQgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dDo6c2V0RWRpdGluZwogICAgIGNvcmVQYWdlLT5zZXR0aW5ncygpLT5zZXRFZGl0aW5nQmVoYXZp
b3JUeXBlKGNvcmVFZGl0aW5nQmVoYXZpb3IpOwogfQogCit2b2lkIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0OjpjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCkKK3sKKyNpZiBFTkFCTEUoT0ZGTElO
RV9XRUJfQVBQTElDQVRJT05TKQorICAgIFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLmVtcHR5KCk7
CisgICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkudmFjdXVtRGF0YWJhc2VGaWxlKCk7CisjZW5k
aWYKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6ZHVtcEZyYW1lTG9hZGVyKGJv
b2wgYikKIHsKICAgICBGcmFtZUxvYWRlckNsaWVudFF0OjpkdW1wRnJhbWVMb2FkZXJDYWxsYmFj
a3MgPSBiOwpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0LmgJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTg3LDYg
Kzg3LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGVsZW1lbnREb2VzQXV0b0NvbXBsZXRl
Rm9yRWxlbWVudFdpdGhJZChRV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBRU3RyaW5nJiBlbGVtZW50
SWQpOwogICAgIHN0YXRpYyB2b2lkIHNldEVkaXRpbmdCZWhhdmlvcihRV2ViUGFnZSogcGFnZSwg
Y29uc3QgUVN0cmluZyYgZWRpdGluZ0JlaGF2aW9yKTsKIAorICAgIHN0YXRpYyB2b2lkIGNsZWFy
QWxsQXBwbGljYXRpb25DYWNoZXMoKTsKKwogICAgIHN0YXRpYyB2b2lkIHdoaXRlTGlzdEFjY2Vz
c0Zyb21PcmlnaW4oY29uc3QgUVN0cmluZyYgc291cmNlT3JpZ2luLCBjb25zdCBRU3RyaW5nJiBk
ZXN0aW5hdGlvblByb3RvY29sLCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvbkhvc3QsIGJvb2wg
YWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVdoaXRl
TGlzdEFjY2Vzc0Zyb21PcmlnaW4oY29uc3QgUVN0cmluZyYgc291cmNlT3JpZ2luLCBjb25zdCBR
U3RyaW5nJiBkZXN0aW5hdGlvblByb3RvY29sLCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvbkhv
c3QsIGJvb2wgYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwogICAgIHN0YXRpYyB2b2lkIHJl
c2V0T3JpZ2luQWNjZXNzV2hpdGVMaXN0cygpOwpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNzMxODcpCisr
KyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAor
MjAxMC0xMi0wMiAgS3JpdGhpZ2Fzc3JlZSBTYW1iYW11cnRoeSAgPGtyaXRoaWdhc3NyZWUuc2Ft
YWJtdXJ0aHlAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEJ1ZyA0MzQ1NSAtICBbUXRdOiBJbXBsZW1lbnQgQXBwbGljYXRpb24gQ2Fj
aGUgUXVvdGFzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MzQ1NSAKKworICAgICAgICBJbnRyb2R1Y2UgZnVuY3Rpb25zIHRvIGFsbG93IG5ldyBhcHBj
YWNoZSBsYXlvdXQgdGVzdCBvcmlnaW4tcXVvdGEKKyAgICAgICAgdG8gd29yayBjb3JyZWN0bHkg
dW5kZXIgcXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpEdW1wUmVuZGVyVHJlZSk6
CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6ZHVtcEFwcGxpY2F0aW9uQ2FjaGVE
YXRhYmFzZVF1b3RhKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJl
ZVF0Lmg6CisKKyAgICAgICAgSW50cm9kdWNlIGZ1bmN0aW9ucyB0byBhbGxvdyBuZXcgYXBwY2Fj
aGUgbGF5b3V0IHRlc3QKKyAgICAgICAgb3JpZ2luLXF1b3RhIHRvIGJlIHN1Y2Nlc3NmdWwgdW5k
ZXIgcXQuQ2hhbmdlcyByZXF1aXJlZCBiZWNhdXNlCisgICAgICAgIExheW91dFRlc3RDb250cm9s
bGVyUXQgZG9lcyBub3QgaW5oZXJpdCBmcm9tIExheW91dENvbnRyb2xsZXIuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAg
KExheW91dFRlc3RDb250cm9sbGVyOjpyZXNldCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJv
bGxlcjo6Y2xlYXJBbGxBcHBsaWNhdGlvbkNhY2hlcyk6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c2V0QXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0Lmg6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2hvdWxkRHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNr
cyk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcEFwcGxpY2F0aW9uQ2FjaGVE
ZWxlZ2F0ZUNhbGxiYWNrcyk6CisKKwogMjAxMC0xMi0wMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KSW5kZXg6IFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3Bw
CShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODAsNiArNDgwLDggQEAgRHVtcFJl
bmRlclRyZWU6OkR1bXBSZW5kZXJUcmVlKCkKICAgICAgICAgICAgIFNMT1QodGl0bGVDaGFuZ2Vk
KGNvbnN0IFFTdHJpbmcmKSkpOwogICAgIGNvbm5lY3QobV9wYWdlLCBTSUdOQUwoZGF0YWJhc2VR
dW90YUV4Y2VlZGVkKFFXZWJGcmFtZSosUVN0cmluZykpLAogICAgICAgICAgICAgdGhpcywgU0xP
VChkdW1wRGF0YWJhc2VRdW90YShRV2ViRnJhbWUqLFFTdHJpbmcpKSk7CisgICAgY29ubmVjdCht
X3BhZ2UsIFNJR05BTChhcHBsaWNhdGlvbkNhY2hlUXVvdGFFeGNlZWRlZChRV2ViU2VjdXJpdHlP
cmlnaW4gKiwgcXVpbnQ2NCkpLAorICAgICAgICAgICAgdGhpcywgU0xPVChkdW1wQXBwbGljYXRp
b25DYWNoZVF1b3RhKFFXZWJTZWN1cml0eU9yaWdpbiAqLCBxdWludDY0KSkpOwogICAgIGNvbm5l
Y3QobV9wYWdlLCBTSUdOQUwoc3RhdHVzQmFyTWVzc2FnZShjb25zdCBRU3RyaW5nJikpLAogICAg
ICAgICAgICAgdGhpcywgU0xPVChzdGF0dXNCYXJNZXNzYWdlKGNvbnN0IFFTdHJpbmcmKSkpOwog
CkBAIC0xMDIyLDYgKzEwMjQsMjEgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6ZHVtcERhdGFiYXNl
UXVvdGEoUQogICAgIG9yaWdpbi5zZXREYXRhYmFzZVF1b3RhKDUgKiAxMDI0ICogMTAyNCk7CiB9
CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWU6OmR1bXBBcHBsaWNhdGlvbkNhY2hlUXVvdGEoUVdlYlNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4sIHF1aW50NjQgZGVmYXVsdE9yaWdpblF1b3RhKQoreworCisg
ICAgaWYgKCFtX2NvbnRyb2xsZXItPnNob3VsZER1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVD
YWxsYmFja3MoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJpbnRmKCJVSSBERUxFR0FURSBB
UFBMSUNBVElPTiBDQUNIRSBDQUxMQkFDSzogZXhjZWVkZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2lu
UXVvdGFGb3JTZWN1cml0eU9yaWdpbjp7JXMsICVzLCAlaX1cbiIsCisgICAgICAgICAgIG9yaWdp
bi0+c2NoZW1lKCkudG9VdGY4KCkuZGF0YSgpLAorICAgICAgICAgICBvcmlnaW4tPmhvc3QoKS50
b1V0ZjgoKS5kYXRhKCksCisgICAgICAgICAgIG9yaWdpbi0+cG9ydCgpCisgICAgICAgICAgICk7
CisKKyAgICBvcmlnaW4tPnNldEFwcGxpY2F0aW9uQ2FjaGVRdW90YShkZWZhdWx0T3JpZ2luUXVv
dGEpOworfQorCiB2b2lkIER1bXBSZW5kZXJUcmVlOjpzdGF0dXNCYXJNZXNzYWdlKGNvbnN0IFFT
dHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKCFtX2NvbnRyb2xsZXItPnNob3VsZER1bXBTdGF0
dXNDYWxsYmFja3MoKSkKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZVF0LmgJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYs
NiArMTE2LDcgQEAgcHVibGljIFFfU0xPVFM6CiAgICAgdm9pZCB0aXRsZUNoYW5nZWQoY29uc3Qg
UVN0cmluZyAmcyk7CiAgICAgdm9pZCBjb25uZWN0RnJhbWUoUVdlYkZyYW1lICpmcmFtZSk7CiAg
ICAgdm9pZCBkdW1wRGF0YWJhc2VRdW90YShRV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBRU3RyaW5n
JiBkYk5hbWUpOworICAgIHZvaWQgZHVtcEFwcGxpY2F0aW9uQ2FjaGVRdW90YShRV2ViU2VjdXJp
dHlPcmlnaW4qIG9yaWdpbiwgcXVpbnQ2NCBkZWZhdWx0T3JpZ2luUXVvdGEpOwogICAgIHZvaWQg
c3RhdHVzQmFyTWVzc2FnZShjb25zdCBRU3RyaW5nJiBtZXNzYWdlKTsKICAgICB2b2lkIHdpbmRv
d0Nsb3NlUmVxdWVzdGVkKCk7CiAKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCShyZXZpc2lvbiA3MjEy
NSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnJlc2V0KCkKICAgICBtX3dhaXRGb3JEb25lID0gZmFsc2U7CiAgICAgbV9kdW1w
VGl0bGVDaGFuZ2VzID0gZmFsc2U7CiAgICAgbV9kdW1wRGF0YWJhc2VDYWxsYmFja3MgPSBmYWxz
ZTsKKyAgICBtX2R1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MgPSBmYWxzZTsK
ICAgICBtX2R1bXBTdGF0dXNDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX3RpbWVvdXRUaW1lci5z
dG9wKCk7CiAgICAgbV90b3BMb2FkaW5nRnJhbWUgPSAwOwpAQCAtNTQxLDEyICs1NDIsMTQgQEAg
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZGlzcGF0Y2hQZW5kaQogCiB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCkKIHsKLSAgICAvLyBGSVhN
RTogaW1wbGVtZW50IHRvIHN1cHBvcnQgQXBwbGljYXRpb24gQ2FjaGUgcXVvdGFzLgorICAgIER1
bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCk7CiB9CiAK
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90
YSh1bnNpZ25lZCBsb25nIGxvbmcgcXVvdGEpCiB7Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudCB0
byBzdXBwb3J0IEFwcGxpY2F0aW9uIENhY2hlIHF1b3Rhcy4KKyAgICBpZiAoIW1fdG9wTG9hZGlu
Z0ZyYW1lKQorICAgICAgICByZXR1cm47CisgICAgbV90b3BMb2FkaW5nRnJhbWUtPnNlY3VyaXR5
T3JpZ2luKCkuc2V0QXBwbGljYXRpb25DYWNoZVF1b3RhKHF1b3RhKTsKIH0KIAogdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0RGF0YWJhc2VRdW90YShpbnQgc2l6ZSkKSW5kZXg6IFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmgJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBA
IHB1YmxpYzoKICAgICBib29sIHNob3VsZER1bXBDaGlsZHJlbkFzVGV4dCgpIGNvbnN0IHsgcmV0
dXJuIG1fZHVtcENoaWxkcmVuQXNUZXh0OyB9CiAgICAgYm9vbCBzaG91bGREdW1wQ2hpbGRGcmFt
ZVNjcm9sbFBvc2l0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fZHVtcENoaWxkRnJhbWVTY3JvbGxQ
b3NpdGlvbnM7IH0KICAgICBib29sIHNob3VsZER1bXBEYXRhYmFzZUNhbGxiYWNrcygpIGNvbnN0
IHsgcmV0dXJuIG1fZHVtcERhdGFiYXNlQ2FsbGJhY2tzOyB9CisgICAgYm9vbCBzaG91bGREdW1w
QXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9kdW1w
QXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzOyB9CiAgICAgYm9vbCBzaG91bGREdW1w
U3RhdHVzQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9kdW1wU3RhdHVzQ2FsbGJhY2tzOyB9
CiAgICAgYm9vbCBzaG91bGRXYWl0VW50aWxEb25lKCkgY29uc3QgeyByZXR1cm4gbV93YWl0Rm9y
RG9uZTsgfQogICAgIGJvb2wgc2hvdWxkSGFuZGxlRXJyb3JQYWdlcygpIGNvbnN0IHsgcmV0dXJu
IG1faGFuZGxlRXJyb3JQYWdlczsgfQpAQCAtOTQsNiArOTUsNyBAQCBwdWJsaWMgc2xvdHM6CiAg
ICAgdm9pZCBkdW1wQ2hpbGRGcmFtZXNBc1RleHQoKSB7IG1fZHVtcENoaWxkcmVuQXNUZXh0ID0g
dHJ1ZTsgfQogICAgIHZvaWQgZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMoKSB7IG1fZHVt
cENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMgPSB0cnVlOyB9CiAgICAgdm9pZCBkdW1wRGF0YWJh
c2VDYWxsYmFja3MoKSB7IG1fZHVtcERhdGFiYXNlQ2FsbGJhY2tzID0gdHJ1ZTsgfQorICAgIHZv
aWQgZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNrcygpIHsgbV9kdW1wQXBwbGlj
YXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzID0gdHJ1ZTt9CiAgICAgdm9pZCBkdW1wU3RhdHVz
Q2FsbGJhY2tzKCkgeyBtX2R1bXBTdGF0dXNDYWxsYmFja3MgPSB0cnVlOyB9CiAgICAgdm9pZCBz
ZXRDYW5PcGVuV2luZG93cygpIHsgbV9jYW5PcGVuV2luZG93cyA9IHRydWU7IH0KICAgICB2b2lk
IHNldFByaW50aW5nKCkgeyBtX2lzUHJpbnRpbmcgPSB0cnVlOyB9CkBAIC0yNjIsNiArMjY0LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fd2FpdEZvckRvbmU7CiAgICAgYm9vbCBtX2R1bXBUaXRs
ZUNoYW5nZXM7CiAgICAgYm9vbCBtX2R1bXBEYXRhYmFzZUNhbGxiYWNrczsKKyAgICBib29sIG1f
ZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNrczsKICAgICBib29sIG1fZHVtcFN0
YXR1c0NhbGxiYWNrczsKICAgICBib29sIG1fd2FpdEZvclBvbGljeTsKICAgICBib29sIG1faGFu
ZGxlRXJyb3JQYWdlczsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkocmV2aXNpb24gNzIx
MjUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTE2LDExICsxNTE2LDYgQEAgYW5pbWF0aW9ucy9hbmltYXRpb24tZHJ0LWFwaS5odG1sCiBh
bmltYXRpb25zL2FuaW1hdGlvbi1kcnQtYXBpLW11bHRpcGxlLWtleWZyYW1lcy5odG1sCiAKICMg
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0gIwotIyBmYWlsaW5nIGFwcGxpY2F0aW9uIGNhY2hlIHF1b3Rh
IHRlc3RzCi0jID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKLWh0dHAvdGVzdHMvYXBwY2FjaGUvb3Jp
Z2luLXF1b3RhLmh0bWwKLQotIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCiAjIEZhaWxpbmcgQ1NT
IFRlc3RzCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKIGNzczEvY2xhc3NpZmljYXRpb24vd2hp
dGVfc3BhY2UuaHRtbAo=
</data>
<flag name="review"
          id="66672"
          type_id="1"
          status="-"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75961</attachid>
            <date>2010-12-08 14:18:50 -0800</date>
            <delta_ts>2010-12-09 07:33:20 -0800</delta_ts>
            <desc>Patch to fix skipped layout test origin-quota.html</desc>
            <filename>Patch4.patch</filename>
            <type>text/plain</type>
            <size>15081</size>
            <attacher>krithigassree.sambamurthy</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNzM1NDcpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTAtMTItMDggIEtyaXRoaWdhc3NyZWUgU2FtYmFtdXJ0
aHkgIDxrcml0aGlnYXNzcmVlLnNhbWJhbXVydGh5QG5va2lhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgNDM0NTUgLSBbUXRdOiBJbXBs
ZW1lbnQgQXBwbGljYXRpb24gQ2FjaGUgUXVvdGFzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzQ1NQorCisgICAgICAgIEFkZGVkIG5ldyBzaWduYWwg
dG8gcmVwb3J0IEFwcGxpY2F0aW9uQ2FjaGUgRGF0YWJhc2UKKyAgICAgICAgcXVvdGEuCisKKyAg
ICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAqIEFwaS9xd2VicGFnZS5oOgorCisg
ICAgICAgIEFkZGVkIG5ldyBmdW5jdGlvbnMgdG8gYWNjb21vZGF0ZSBuZXcgYXBwY2FjaGUgbGF5
b3V0CisgICAgICAgIHRlc3Qgb3JpZ2luLXF1b3RhLmh0bWwuCisKKyAgICAgICAgKiBBcGkvcXdl
YnNlY3VyaXR5b3JpZ2luLmNwcDoKKyAgICAgICAgKFFXZWJTZWN1cml0eU9yaWdpbjo6c2V0QXBw
bGljYXRpb25DYWNoZVF1b3RhKToKKyAgICAgICAgKiBBcGkvcXdlYnNlY3VyaXR5b3JpZ2luLmg6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVv
dGEpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNw
cDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpjbGVhckFsbEFwcGxpY2F0aW9u
Q2FjaGVzKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5oOgorCiAyMDEwLTEyLTA3ICBCcmlhbiBXZWluc3RlaW4gIDxid2VpbnN0ZWluQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKb2huIFN1bGxpdmFuLgpJbmRleDogV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQwOTYsNiArNDA5NiwxMyBAQCBxdWludDY0IFFXZWJQYWdlOjpieXRlc1Jl
Y2VpdmVkKCkgY29uc3QKIAogICAgIFxzYSBRV2ViRGF0YWJhc2UKICovCisvKiEKKyAgICBcZm4g
dm9pZCBRV2ViUGFnZTo6YXBwbGljYXRpb25DYWNoZVF1b3RhRXhjZWVkZWQoUVdlYlNlY3VyaXR5
T3JpZ2luKiBvcmlnaW4sIHF1aW50NjQgZGVmYXVsdE9yaWdpblF1b3RhKTsKKworICAgIFRoaXMg
c2lnbmFsIGlzIGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIHdlYiBzaXRlIGlzIGFza2luZyB0byBzdG9y
ZSBkYXRhIHRvIHRoZSBhcHBsaWNhdGlvbiBjYWNoZQorICAgIGRhdGFiYXNlIGRhdGFiYXNlTmFt
ZSBhbmQgdGhlIHF1b3RhIGFsbG9jYXRlZCB0byB0aGF0IHdlYiBzaXRlIGlzIGV4Y2VlZGVkLgor
CisqLwogCiAvKiEKICAgXHNpbmNlIDQuNQpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAkocmV2aXNpb24gNzIxMjUp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4
LDcgQEAgY2xhc3MgUVdlYkhpdFRlc3RSZXN1bHQ7CiBjbGFzcyBRV2ViTmV0d29ya0ludGVyZmFj
ZTsKIGNsYXNzIFFXZWJQYWdlUHJpdmF0ZTsKIGNsYXNzIFFXZWJQbHVnaW5GYWN0b3J5OworY2xh
c3MgUVdlYlNlY3VyaXR5T3JpZ2luOwogY2xhc3MgUXRWaWV3cG9ydEF0dHJpYnV0ZXNQcml2YXRl
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zODcsNiArMzg4LDcgQEAgUV9TSUdOQUxTOgog
ICAgIHZvaWQgbWljcm9Gb2N1c0NoYW5nZWQoKTsKICAgICB2b2lkIGNvbnRlbnRzQ2hhbmdlZCgp
OwogICAgIHZvaWQgZGF0YWJhc2VRdW90YUV4Y2VlZGVkKFFXZWJGcmFtZSogZnJhbWUsIFFTdHJp
bmcgZGF0YWJhc2VOYW1lKTsKKyAgICB2b2lkIGFwcGxpY2F0aW9uQ2FjaGVRdW90YUV4Y2VlZGVk
KFFXZWJTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBxdWludDY0IGRlZmF1bHRPcmlnaW5RdW90YSk7
CiAKICAgICB2b2lkIHNhdmVGcmFtZVN0YXRlUmVxdWVzdGVkKFFXZWJGcmFtZSogZnJhbWUsIFFX
ZWJIaXN0b3J5SXRlbSogaXRlbSk7CiAgICAgdm9pZCByZXN0b3JlRnJhbWVTdGF0ZVJlcXVlc3Rl
ZChRV2ViRnJhbWUqIGZyYW1lKTsKSW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3Jp
Z2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5j
cHAJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOSwxNCArMTksMTUgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgInF3ZWJzZWN1cml0eW9yaWdpbi5oIgotI2luY2x1ZGUgInF3ZWJzZWN1
cml0eW9yaWdpbl9wLmgiCi0jaW5jbHVkZSAicXdlYmRhdGFiYXNlLmgiCi0jaW5jbHVkZSAicXdl
YmRhdGFiYXNlX3AuaCIKIAorI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAj
aW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUg
IlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRl
ICJxd2ViZGF0YWJhc2UuaCIKKyNpbmNsdWRlICJxd2ViZGF0YWJhc2VfcC5oIgorI2luY2x1ZGUg
InF3ZWJzZWN1cml0eW9yaWdpbl9wLmgiCiAjaW5jbHVkZSA8UVN0cmluZ0xpc3Q+CiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMTUyLDYgKzE1MywxMiBAQCB2b2lkIFFXZWJTZWN1cml0
eU9yaWdpbjo6c2V0RGF0YWJhc2VRdW90CiAjZW5kaWYKIH0KIAordm9pZCBRV2ViU2VjdXJpdHlP
cmlnaW46OnNldEFwcGxpY2F0aW9uQ2FjaGVRdW90YShxaW50NjQgcXVvdGEpCit7CisjaWYgRU5B
QkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKKyAgICBXZWJDb3JlOjpjYWNoZVN0b3JhZ2Uo
KS5zdG9yZVVwZGF0ZWRRdW90YUZvck9yaWdpbihkLT5vcmlnaW4uZ2V0KCksIHF1b3RhKTsKKyNl
bmRpZgorfQogLyohCiAgICAgRGVzdHJveXMgdGhlIHNlY3VyaXR5IG9yaWdpbi4KICovCkluZGV4
OiBXZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luLmgJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0
L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uaAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEs
NyBAQCBwdWJsaWM6CiAgICAgcWludDY0IGRhdGFiYXNlUXVvdGEoKSBjb25zdDsKIAogICAgIHZv
aWQgc2V0RGF0YWJhc2VRdW90YShxaW50NjQgcXVvdGEpOworICAgIHZvaWQgc2V0QXBwbGljYXRp
b25DYWNoZVF1b3RhKHFpbnQ2NCBxdW90YSk7CiAKICAgICBRTGlzdDxRV2ViRGF0YWJhc2U+IGRh
dGFiYXNlcygpIGNvbnN0OwogCkluZGV4OiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5jcHAJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudFF0LmgiCiAKKyNpbmNs
dWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tl
ci5oIgogI2luY2x1ZGUgIkZpbGVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTUx
OSw5ICs1MjAsMTggQEAgdm9pZCBDaHJvbWVDbGllbnRRdDo6cmVhY2hlZE1heEFwcENhY2hlUwog
ICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50UXQ6OnJlYWNoZWRB
cHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoU2VjdXJpdHlPcmlnaW4qKQordm9pZCBDaHJvbWVD
bGllbnRRdDo6cmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdp
biogb3JpZ2luKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaW50NjRfdCBxdW90YTsK
KyAgICBxdWludDY0IGRlZmF1bHRPcmlnaW5RdW90YSA9IFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgp
LmRlZmF1bHRPcmlnaW5RdW90YSgpOworCisgICAgUVdlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZSog
cHJpdiA9IG5ldyBRV2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlKG9yaWdpbik7CisgICAgUVdlYlNl
Y3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbiA9IG5ldyBRV2ViU2VjdXJpdHlPcmlnaW4ocHJp
dik7CisKKyAgICBpZiAoIVdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLnF1b3RhRm9yT3JpZ2luKG9y
aWdpbiwgcXVvdGEpKQorICAgICAgIFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLnN0b3JlVXBkYXRl
ZFF1b3RhRm9yT3JpZ2luKG9yaWdpbiwgZGVmYXVsdE9yaWdpblF1b3RhKTsKKworICAgIGVtaXQg
bV93ZWJQYWdlLT5hcHBsaWNhdGlvbkNhY2hlUXVvdGFFeGNlZWRlZChzZWN1cml0eU9yaWdpbiwg
ZGVmYXVsdE9yaWdpblF1b3RhKTsKIH0KICNlbmRpZgogCkluZGV4OiBXZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAJKHJldmlzaW9u
IDcyMTI1KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgiCiAKKyNpbmNsdWRlICJB
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudFF0LmgiCiAjaW5jbHVkZSAiQ29udGV4
dE1lbnUuaCIKQEAgLTU1OSw2ICs1NjAsMTQgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dDo6c2V0RWRpdGluZwogICAgIGNvcmVQYWdlLT5zZXR0aW5ncygpLT5zZXRFZGl0aW5nQmVoYXZp
b3JUeXBlKGNvcmVFZGl0aW5nQmVoYXZpb3IpOwogfQogCit2b2lkIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0OjpjbGVhckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCkKK3sKKyNpZiBFTkFCTEUoT0ZGTElO
RV9XRUJfQVBQTElDQVRJT05TKQorICAgIFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLmVtcHR5KCk7
CisgICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkudmFjdXVtRGF0YWJhc2VGaWxlKCk7CisjZW5k
aWYKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6ZHVtcEZyYW1lTG9hZGVyKGJv
b2wgYikKIHsKICAgICBGcmFtZUxvYWRlckNsaWVudFF0OjpkdW1wRnJhbWVMb2FkZXJDYWxsYmFj
a3MgPSBiOwpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0LmgJKHJldmlzaW9uIDcyMTI1KQorKysgV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTg3LDYg
Kzg3LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGVsZW1lbnREb2VzQXV0b0NvbXBsZXRl
Rm9yRWxlbWVudFdpdGhJZChRV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBRU3RyaW5nJiBlbGVtZW50
SWQpOwogICAgIHN0YXRpYyB2b2lkIHNldEVkaXRpbmdCZWhhdmlvcihRV2ViUGFnZSogcGFnZSwg
Y29uc3QgUVN0cmluZyYgZWRpdGluZ0JlaGF2aW9yKTsKIAorICAgIHN0YXRpYyB2b2lkIGNsZWFy
QWxsQXBwbGljYXRpb25DYWNoZXMoKTsKKwogICAgIHN0YXRpYyB2b2lkIHdoaXRlTGlzdEFjY2Vz
c0Zyb21PcmlnaW4oY29uc3QgUVN0cmluZyYgc291cmNlT3JpZ2luLCBjb25zdCBRU3RyaW5nJiBk
ZXN0aW5hdGlvblByb3RvY29sLCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvbkhvc3QsIGJvb2wg
YWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVdoaXRl
TGlzdEFjY2Vzc0Zyb21PcmlnaW4oY29uc3QgUVN0cmluZyYgc291cmNlT3JpZ2luLCBjb25zdCBR
U3RyaW5nJiBkZXN0aW5hdGlvblByb3RvY29sLCBjb25zdCBRU3RyaW5nJiBkZXN0aW5hdGlvbkhv
c3QsIGJvb2wgYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwogICAgIHN0YXRpYyB2b2lkIHJl
c2V0T3JpZ2luQWNjZXNzV2hpdGVMaXN0cygpOwpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNzM1NDcpCisr
KyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMCBAQAor
MjAxMC0xMi0wOCAgS3JpdGhpZ2Fzc3JlZSBTYW1iYW11cnRoeSAgPGtyaXRoaWdhc3NyZWUuc2Ft
YmFtdXJ0aHlAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEJ1ZyA0MzQ1NSAtIFtRdF06IEltcGxlbWVudCBBcHBsaWNhdGlvbiBDYWNo
ZSBRdW90YXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQzNDU1CisKKyAgICAgICAgSW50cm9kdWNlIGZ1bmN0aW9ucyB0byBhbGxvdyBuZXcgYXBwY2Fj
aGUgbGF5b3V0IHRlc3Qgb3JpZ2luLXF1b3RhLmh0bWwKKyAgICAgICAgdG8gd29yayBjb3JyZWN0
bHkgdW5kZXIgUXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJl
ZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpEdW1wUmVuZGVyVHJl
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6ZHVtcEFwcGxpY2F0aW9uQ2Fj
aGVRdW90YSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5o
OgorCisgICAgICAgIEludHJvZHVjZSBmdW5jdGlvbnMgdG8gYWxsb3cgbmV3IGFwcGNhY2hlIGxh
eW91dCB0ZXN0IG9yaWdpbi1xdW90YS5odG1sCisgICAgICAgIHRvIGJlIHN1Y2Nlc3NmdWwgdW5k
ZXIgcXQuIENoYW5nZXMgcmVxdWlyZWQgYmVjYXVzZSBMYXlvdXRUZXN0Q29udHJvbGxlclF0Cisg
ICAgICAgIGRvZXMgbm90IGluaGVyaXQgZnJvbSBMYXlvdXRDb250cm9sbGVyLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmNsZWFyQWxsQXBwbGljYXRpb25DYWNoZXMpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNob3VsZER1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFj
a3MpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBBcHBsaWNhdGlvbkNhY2hl
RGVsZWdhdGVDYWxsYmFja3MpOgorCiAyMDEwLTEyLTA4ICBKZXNzaWUgQmVybGluICA8amJlcmxp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KSW5kZXg6IFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3Bw
CShyZXZpc2lvbiA3MjEyNSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODAsNiArNDgwLDggQEAgRHVtcFJl
bmRlclRyZWU6OkR1bXBSZW5kZXJUcmVlKCkKICAgICAgICAgICAgIFNMT1QodGl0bGVDaGFuZ2Vk
KGNvbnN0IFFTdHJpbmcmKSkpOwogICAgIGNvbm5lY3QobV9wYWdlLCBTSUdOQUwoZGF0YWJhc2VR
dW90YUV4Y2VlZGVkKFFXZWJGcmFtZSosUVN0cmluZykpLAogICAgICAgICAgICAgdGhpcywgU0xP
VChkdW1wRGF0YWJhc2VRdW90YShRV2ViRnJhbWUqLFFTdHJpbmcpKSk7CisgICAgY29ubmVjdCht
X3BhZ2UsIFNJR05BTChhcHBsaWNhdGlvbkNhY2hlUXVvdGFFeGNlZWRlZChRV2ViU2VjdXJpdHlP
cmlnaW4gKiwgcXVpbnQ2NCkpLAorICAgICAgICAgICAgdGhpcywgU0xPVChkdW1wQXBwbGljYXRp
b25DYWNoZVF1b3RhKFFXZWJTZWN1cml0eU9yaWdpbiAqLCBxdWludDY0KSkpOwogICAgIGNvbm5l
Y3QobV9wYWdlLCBTSUdOQUwoc3RhdHVzQmFyTWVzc2FnZShjb25zdCBRU3RyaW5nJikpLAogICAg
ICAgICAgICAgdGhpcywgU0xPVChzdGF0dXNCYXJNZXNzYWdlKGNvbnN0IFFTdHJpbmcmKSkpOwog
CkBAIC0xMDIyLDYgKzEwMjQsMTkgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6ZHVtcERhdGFiYXNl
UXVvdGEoUQogICAgIG9yaWdpbi5zZXREYXRhYmFzZVF1b3RhKDUgKiAxMDI0ICogMTAyNCk7CiB9
CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWU6OmR1bXBBcHBsaWNhdGlvbkNhY2hlUXVvdGEoUVdlYlNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4sIHF1aW50NjQgZGVmYXVsdE9yaWdpblF1b3RhKQoreworCisg
ICAgaWYgKCFtX2NvbnRyb2xsZXItPnNob3VsZER1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVD
YWxsYmFja3MoKSkKKyAgICAgICAgcmV0dXJuOworICAgIHByaW50ZigiVUkgREVMRUdBVEUgQVBQ
TElDQVRJT04gQ0FDSEUgQ0FMTEJBQ0s6IGV4Y2VlZGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1
b3RhRm9yU2VjdXJpdHlPcmlnaW46eyVzLCAlcywgJWl9XG4iLAorICAgICAgICAgICBvcmlnaW4t
PnNjaGVtZSgpLnRvVXRmOCgpLmRhdGEoKSwKKyAgICAgICAgICAgb3JpZ2luLT5ob3N0KCkudG9V
dGY4KCkuZGF0YSgpLAorICAgICAgICAgICBvcmlnaW4tPnBvcnQoKQorICAgICAgICAgICApOwor
ICAgIG9yaWdpbi0+c2V0QXBwbGljYXRpb25DYWNoZVF1b3RhKGRlZmF1bHRPcmlnaW5RdW90YSk7
Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWU6OnN0YXR1c0Jhck1lc3NhZ2UoY29uc3QgUVN0cmlu
ZyYgbWVzc2FnZSkKIHsKICAgICBpZiAoIW1fY29udHJvbGxlci0+c2hvdWxkRHVtcFN0YXR1c0Nh
bGxiYWNrcygpKQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRl
clRyZWVRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlUXQuaAkocmV2aXNpb24gNzIxMjUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw2ICsx
MTYsNyBAQCBwdWJsaWMgUV9TTE9UUzoKICAgICB2b2lkIHRpdGxlQ2hhbmdlZChjb25zdCBRU3Ry
aW5nICZzKTsKICAgICB2b2lkIGNvbm5lY3RGcmFtZShRV2ViRnJhbWUgKmZyYW1lKTsKICAgICB2
b2lkIGR1bXBEYXRhYmFzZVF1b3RhKFFXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFFTdHJpbmcmIGRi
TmFtZSk7CisgICAgdm9pZCBkdW1wQXBwbGljYXRpb25DYWNoZVF1b3RhKFFXZWJTZWN1cml0eU9y
aWdpbiogb3JpZ2luLCBxdWludDY0IGRlZmF1bHRPcmlnaW5RdW90YSk7CiAgICAgdm9pZCBzdGF0
dXNCYXJNZXNzYWdlKGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpOwogICAgIHZvaWQgd2luZG93Q2xv
c2VSZXF1ZXN0ZWQoKTsKIApJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAJKHJldmlzaW9uIDcyMTI1KQor
KysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6cmVzZXQoKQogICAgIG1fd2FpdEZvckRvbmUgPSBmYWxzZTsKICAgICBtX2R1bXBUaXRs
ZUNoYW5nZXMgPSBmYWxzZTsKICAgICBtX2R1bXBEYXRhYmFzZUNhbGxiYWNrcyA9IGZhbHNlOwor
ICAgIG1fZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNrcyA9IGZhbHNlOwogICAg
IG1fZHVtcFN0YXR1c0NhbGxiYWNrcyA9IGZhbHNlOwogICAgIG1fdGltZW91dFRpbWVyLnN0b3Ao
KTsKICAgICBtX3RvcExvYWRpbmdGcmFtZSA9IDA7CkBAIC01NDEsMTIgKzU0MiwxNCBAQCB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpkaXNwYXRjaFBlbmRpCiAKIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmNsZWFyQWxsQXBwbGljYXRpb25DYWNoZXMoKQogewotICAgIC8vIEZJWE1FOiBp
bXBsZW1lbnQgdG8gc3VwcG9ydCBBcHBsaWNhdGlvbiBDYWNoZSBxdW90YXMuCisgICAgRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQ6OmNsZWFyQWxsQXBwbGljYXRpb25DYWNoZXMoKTsKIH0KIAogdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKHVu
c2lnbmVkIGxvbmcgbG9uZyBxdW90YSkKIHsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRvIHN1
cHBvcnQgQXBwbGljYXRpb24gQ2FjaGUgcXVvdGFzLgorICAgIGlmICghbV90b3BMb2FkaW5nRnJh
bWUpCisgICAgICAgIHJldHVybjsKKyAgICBtX3RvcExvYWRpbmdGcmFtZS0+c2VjdXJpdHlPcmln
aW4oKS5zZXRBcHBsaWNhdGlvbkNhY2hlUXVvdGEocXVvdGEpOwogfQogCiB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXREYXRhYmFzZVF1b3RhKGludCBzaXplKQpJbmRleDogV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
aAkocmV2aXNpb24gNzIxMjUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDcgQEAgcHVi
bGljOgogICAgIGJvb2wgc2hvdWxkRHVtcENoaWxkcmVuQXNUZXh0KCkgY29uc3QgeyByZXR1cm4g
bV9kdW1wQ2hpbGRyZW5Bc1RleHQ7IH0KICAgICBib29sIHNob3VsZER1bXBDaGlsZEZyYW1lU2Ny
b2xsUG9zaXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0
aW9uczsgfQogICAgIGJvb2wgc2hvdWxkRHVtcERhdGFiYXNlQ2FsbGJhY2tzKCkgY29uc3QgeyBy
ZXR1cm4gbV9kdW1wRGF0YWJhc2VDYWxsYmFja3M7IH0KKyAgICBib29sIHNob3VsZER1bXBBcHBs
aWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiBtX2R1bXBBcHBs
aWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3M7IH0KICAgICBib29sIHNob3VsZER1bXBTdGF0
dXNDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiBtX2R1bXBTdGF0dXNDYWxsYmFja3M7IH0KICAg
ICBib29sIHNob3VsZFdhaXRVbnRpbERvbmUoKSBjb25zdCB7IHJldHVybiBtX3dhaXRGb3JEb25l
OyB9CiAgICAgYm9vbCBzaG91bGRIYW5kbGVFcnJvclBhZ2VzKCkgY29uc3QgeyByZXR1cm4gbV9o
YW5kbGVFcnJvclBhZ2VzOyB9CkBAIC05NCw2ICs5NSw3IEBAIHB1YmxpYyBzbG90czoKICAgICB2
b2lkIGR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpIHsgbV9kdW1wQ2hpbGRyZW5Bc1RleHQgPSB0cnVl
OyB9CiAgICAgdm9pZCBkdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucygpIHsgbV9kdW1wQ2hp
bGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9IHRydWU7IH0KICAgICB2b2lkIGR1bXBEYXRhYmFzZUNh
bGxiYWNrcygpIHsgbV9kdW1wRGF0YWJhc2VDYWxsYmFja3MgPSB0cnVlOyB9CisgICAgdm9pZCBk
dW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzKCkgeyBtX2R1bXBBcHBsaWNhdGlv
bkNhY2hlRGVsZWdhdGVDYWxsYmFja3MgPSB0cnVlO30KICAgICB2b2lkIGR1bXBTdGF0dXNDYWxs
YmFja3MoKSB7IG1fZHVtcFN0YXR1c0NhbGxiYWNrcyA9IHRydWU7IH0KICAgICB2b2lkIHNldENh
bk9wZW5XaW5kb3dzKCkgeyBtX2Nhbk9wZW5XaW5kb3dzID0gdHJ1ZTsgfQogICAgIHZvaWQgc2V0
UHJpbnRpbmcoKSB7IG1faXNQcmludGluZyA9IHRydWU7IH0KQEAgLTI2Miw2ICsyNjQsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV93YWl0Rm9yRG9uZTsKICAgICBib29sIG1fZHVtcFRpdGxlQ2hh
bmdlczsKICAgICBib29sIG1fZHVtcERhdGFiYXNlQ2FsbGJhY2tzOworICAgIGJvb2wgbV9kdW1w
QXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzOwogICAgIGJvb2wgbV9kdW1wU3RhdHVz
Q2FsbGJhY2tzOwogICAgIGJvb2wgbV93YWl0Rm9yUG9saWN5OwogICAgIGJvb2wgbV9oYW5kbGVF
cnJvclBhZ2VzOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzM1NDcpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxMC0xMi0wOCAgS3JpdGhp
Z2Fzc3JlZSBTYW1iYW11cnRoeSAgPGtyaXRoaWdhc3NyZWUuc2FtYmFtdXJ0aHlAbm9raWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF06
IEltcGxlbWVudCBBcHBsaWNhdGlvbiBDYWNoZSBRdW90YXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDU1CisKKyAgICAgICAgKiBwbGF0Zm9ybS9x
dC9Ta2lwcGVkOiBVbnNraXAgbm93IHBhc3NpbmcgdGVzdCBvcmlnaW4tcXVvdGEuaHRtbAorCiAy
MDEwLTEyLTA4ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAg
IFRvdWNoIGEgZmlsZSB0aGF0J3Mgc3BvcmFkaWNhbGx5IGdpdmluZyAyMDcgTXVsdGktU3RhdHVz
IGVycm9yIG9uIHN2biB1cGRhdGUsIGhvcGluZyB0aGF0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Nr
aXBwZWQJKHJldmlzaW9uIDcyMTI1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAkod29ya2luZyBjb3B5KQpAQCAtMTUxNiwxMSArMTUxNiw2IEBAIGFuaW1hdGlvbnMvYW5pbWF0
aW9uLWRydC1hcGkuaHRtbAogYW5pbWF0aW9ucy9hbmltYXRpb24tZHJ0LWFwaS1tdWx0aXBsZS1r
ZXlmcmFtZXMuaHRtbAogCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKLSMgZmFpbGluZyBhcHBs
aWNhdGlvbiBjYWNoZSBxdW90YSB0ZXN0cwotIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCi1odHRw
L3Rlc3RzL2FwcGNhY2hlL29yaWdpbi1xdW90YS5odG1sCi0KLSMgPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0gIwogIyBGYWlsaW5nIENTUyBUZXN0cwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCiBjc3Mx
L2NsYXNzaWZpY2F0aW9uL3doaXRlX3NwYWNlLmh0bWwK
</data>
<flag name="review"
          id="66818"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76062</attachid>
            <date>2010-12-09 07:33:20 -0800</date>
            <delta_ts>2010-12-10 13:03:30 -0800</delta_ts>
            <desc>uploading for commit with the requested minor changes </desc>
            <filename>43455.patch</filename>
            <type>text/plain</type>
            <size>14862</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2YmIwNmRhLi4wZTZmYjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMTIt
MDkgIEtyaXRoaWdhc3NyZWUgU2FtYmFtdXJ0aHkgIDxrcml0aGlnYXNzcmVlLnNhbWJhbXVydGh5
QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAg
ICAgICAgW1F0XTogSW1wbGVtZW50IEFwcGxpY2F0aW9uIENhY2hlIFF1b3RhcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0NTUKKworICAgICAgICAq
IHBsYXRmb3JtL3F0L1NraXBwZWQ6IFVuc2tpcCBub3cgcGFzc2luZyB0ZXN0IG9yaWdpbi1xdW90
YS5odG1sCisKIDIwMTAtMTItMDcgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU3RldmUgQmxvY2suCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAppbmRleCA1MTQ1MjgzLi5lMzYzODdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE1
MDgsMTEgKzE1MDgsNiBAQCBhbmltYXRpb25zL2FuaW1hdGlvbi1kcnQtYXBpLmh0bWwKIGFuaW1h
dGlvbnMvYW5pbWF0aW9uLWRydC1hcGktbXVsdGlwbGUta2V5ZnJhbWVzLmh0bWwKIAogIyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PSAjCi0jIGZhaWxpbmcgYXBwbGljYXRpb24gY2FjaGUgcXVvdGEgdGVz
dHMKLSMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwotaHR0cC90ZXN0cy9hcHBjYWNoZS9vcmlnaW4t
cXVvdGEuaHRtbAotCi0jID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKICMgRmFpbGluZyBDU1MgVGVz
dHMKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwogY3NzMS9jbGFzc2lmaWNhdGlvbi93aGl0ZV9z
cGFjZS5odG1sCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IDdlZGEwNGYuLjZmYWUwNGYgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwCkBAIC00MTIxLDYgKzQxMjEsMTMgQEAgcXVpbnQ2NCBRV2ViUGFnZTo6Ynl0ZXNSZWNlaXZl
ZCgpIGNvbnN0CiAKICAgICBcc2EgUVdlYkRhdGFiYXNlCiAqLworLyohCisgICAgXGZuIHZvaWQg
UVdlYlBhZ2U6OmFwcGxpY2F0aW9uQ2FjaGVRdW90YUV4Y2VlZGVkKFFXZWJTZWN1cml0eU9yaWdp
biogb3JpZ2luLCBxdWludDY0IGRlZmF1bHRPcmlnaW5RdW90YSk7CisKKyAgICBUaGlzIHNpZ25h
bCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSB3ZWIgc2l0ZSBpcyBhc2tpbmcgdG8gc3RvcmUgZGF0
YSB0byB0aGUgYXBwbGljYXRpb24gY2FjaGUKKyAgICBkYXRhYmFzZSBkYXRhYmFzZU5hbWUgYW5k
IHRoZSBxdW90YSBhbGxvY2F0ZWQgdG8gdGhhdCB3ZWIgc2l0ZSBpcyBleGNlZWRlZC4KKworKi8K
IAogLyohCiAgIFxzaW5jZSA0LjUKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAppbmRleCBmMWY1ZDI0Li4xZTBiM2I3IDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5oCkBAIC00OCw2ICs0OCw3IEBAIGNsYXNzIFFXZWJIaXRUZXN0UmVzdWx0OwogY2xhc3Mg
UVdlYk5ldHdvcmtJbnRlcmZhY2U7CiBjbGFzcyBRV2ViUGFnZVByaXZhdGU7CiBjbGFzcyBRV2Vi
UGx1Z2luRmFjdG9yeTsKK2NsYXNzIFFXZWJTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFF0Vmlld3Bv
cnRBdHRyaWJ1dGVzUHJpdmF0ZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzg3LDYgKzM4
OCw3IEBAIFFfU0lHTkFMUzoKICAgICB2b2lkIG1pY3JvRm9jdXNDaGFuZ2VkKCk7CiAgICAgdm9p
ZCBjb250ZW50c0NoYW5nZWQoKTsKICAgICB2b2lkIGRhdGFiYXNlUXVvdGFFeGNlZWRlZChRV2Vi
RnJhbWUqIGZyYW1lLCBRU3RyaW5nIGRhdGFiYXNlTmFtZSk7CisgICAgdm9pZCBhcHBsaWNhdGlv
bkNhY2hlUXVvdGFFeGNlZWRlZChRV2ViU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgcXVpbnQ2NCBk
ZWZhdWx0T3JpZ2luUXVvdGEpOwogCiAgICAgdm9pZCBzYXZlRnJhbWVTdGF0ZVJlcXVlc3RlZChR
V2ViRnJhbWUqIGZyYW1lLCBRV2ViSGlzdG9yeUl0ZW0qIGl0ZW0pOwogICAgIHZvaWQgcmVzdG9y
ZUZyYW1lU3RhdGVSZXF1ZXN0ZWQoUVdlYkZyYW1lKiBmcmFtZSk7CmRpZmYgLS1naXQgYS9XZWJL
aXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1
cml0eW9yaWdpbi5jcHAKaW5kZXggZThjOGYzMy4uMDhlOGY2OSAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnNl
Y3VyaXR5b3JpZ2luLmNwcApAQCAtMTksMTQgKzE5LDE1IEBACiAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJxd2Vic2VjdXJpdHlvcmlnaW4uaCIKLSNpbmNsdWRlICJxd2Vic2VjdXJp
dHlvcmlnaW5fcC5oIgotI2luY2x1ZGUgInF3ZWJkYXRhYmFzZS5oIgotI2luY2x1ZGUgInF3ZWJk
YXRhYmFzZV9wLmgiCiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgogI2lu
Y2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJT
Y2hlbWVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSAi
cXdlYmRhdGFiYXNlLmgiCisjaW5jbHVkZSAicXdlYmRhdGFiYXNlX3AuaCIKKyNpbmNsdWRlICJx
d2Vic2VjdXJpdHlvcmlnaW5fcC5oIgogI2luY2x1ZGUgPFFTdHJpbmdMaXN0PgogCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKQEAgLTE1Miw2ICsxNTMsMTIgQEAgdm9pZCBRV2ViU2VjdXJpdHlP
cmlnaW46OnNldERhdGFiYXNlUXVvdGEocWludDY0IHF1b3RhKQogI2VuZGlmCiB9CiAKK3ZvaWQg
UVdlYlNlY3VyaXR5T3JpZ2luOjpzZXRBcHBsaWNhdGlvbkNhY2hlUXVvdGEocWludDY0IHF1b3Rh
KQoreworI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCisgICAgV2ViQ29yZTo6
Y2FjaGVTdG9yYWdlKCkuc3RvcmVVcGRhdGVkUXVvdGFGb3JPcmlnaW4oZC0+b3JpZ2luLmdldCgp
LCBxdW90YSk7CisjZW5kaWYKK30KIC8qIQogICAgIERlc3Ryb3lzIHRoZSBzZWN1cml0eSBvcmln
aW4uCiAqLwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uaCBi
L1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luLmgKaW5kZXggMTZmOGJjMS4uNzMyODY4
MCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uaAorKysgYi9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5oCkBAIC01MSw2ICs1MSw3IEBAIHB1Ymxp
YzoKICAgICBxaW50NjQgZGF0YWJhc2VRdW90YSgpIGNvbnN0OwogCiAgICAgdm9pZCBzZXREYXRh
YmFzZVF1b3RhKHFpbnQ2NCBxdW90YSk7CisgICAgdm9pZCBzZXRBcHBsaWNhdGlvbkNhY2hlUXVv
dGEocWludDY0IHF1b3RhKTsKIAogICAgIFFMaXN0PFFXZWJEYXRhYmFzZT4gZGF0YWJhc2VzKCkg
Y29uc3Q7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hh
bmdlTG9nCmluZGV4IGJkOTY0YjcuLmE4NTEwNjggMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEwLTEy
LTA5ICBLcml0aGlnYXNzcmVlIFNhbWJhbXVydGh5ICA8a3JpdGhpZ2Fzc3JlZS5zYW1iYW11cnRo
eUBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisg
ICAgICAgIEJ1ZyA0MzQ1NSAtIFtRdF06IEltcGxlbWVudCBBcHBsaWNhdGlvbiBDYWNoZSBRdW90
YXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDU1
CisKKyAgICAgICAgQWRkZWQgbmV3IHNpZ25hbCB0byByZXBvcnQgQXBwbGljYXRpb25DYWNoZSBE
YXRhYmFzZQorICAgICAgICBxdW90YS4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6Cisg
ICAgICAgICogQXBpL3F3ZWJwYWdlLmg6CisKKyAgICAgICAgQWRkZWQgbmV3IGZ1bmN0aW9ucyB0
byBhY2NvbW9kYXRlIG5ldyBhcHBjYWNoZSBsYXlvdXQKKyAgICAgICAgdGVzdCBvcmlnaW4tcXVv
dGEuaHRtbC4KKworICAgICAgICAqIEFwaS9xd2Vic2VjdXJpdHlvcmlnaW4uY3BwOgorICAgICAg
ICAoUVdlYlNlY3VyaXR5T3JpZ2luOjpzZXRBcHBsaWNhdGlvbkNhY2hlUXVvdGEpOgorICAgICAg
ICAqIEFwaS9xd2Vic2VjdXJpdHlvcmlnaW4uaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6cmVh
Y2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSk6CisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6OmNsZWFyQWxsQXBwbGljYXRpb25DYWNoZXMpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Lmg6CisKIDIwMTAtMTItMDkgIFNpZGRoYXJ0
aCBNYXRodXIgIDxzaWRkaGFydGgubWF0aHVyQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBMYXN6bG8gR29tYm9zLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5jcHAKaW5kZXggZTcyZWYzZS4uOWQzNjczZiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50UXQuaCIKIAorI2luY2x1ZGUgIkFwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVk
ZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNTE4LDkgKzUxOSwxOCBA
QCB2b2lkIENocm9tZUNsaWVudFF0OjpyZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3QpCiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRRdDo6cmVhY2hlZEFw
cGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbiopCit2b2lkIENocm9tZUNs
aWVudFF0OjpyZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3JpZ2lu
KiBvcmlnaW4pCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpbnQ2NF90IHF1b3RhOwor
ICAgIHF1aW50NjQgZGVmYXVsdE9yaWdpblF1b3RhID0gV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCku
ZGVmYXVsdE9yaWdpblF1b3RhKCk7CisKKyAgICBRV2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlKiBw
cml2ID0gbmV3IFFXZWJTZWN1cml0eU9yaWdpblByaXZhdGUob3JpZ2luKTsKKyAgICBRV2ViU2Vj
dXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luID0gbmV3IFFXZWJTZWN1cml0eU9yaWdpbihwcml2
KTsKKworICAgIGlmICghV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkucXVvdGFGb3JPcmlnaW4ob3Jp
Z2luLCBxdW90YSkpCisgICAgICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkuc3RvcmVVcGRhdGVk
UXVvdGFGb3JPcmlnaW4ob3JpZ2luLCBkZWZhdWx0T3JpZ2luUXVvdGEpOworCisgICAgZW1pdCBt
X3dlYlBhZ2UtPmFwcGxpY2F0aW9uQ2FjaGVRdW90YUV4Y2VlZGVkKHNlY3VyaXR5T3JpZ2luLCBk
ZWZhdWx0T3JpZ2luUXVvdGEpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAgYi9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4IGEyODYzYjEuLmYx
ODg5NGQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0LmNwcApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgiCiAKKyNpbmNsdWRlICJBcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudFF0LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnUu
aCIKQEAgLTU4NSw2ICs1ODYsMTQgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0
RWRpdGluZ0JlaGF2aW9yKFFXZWJQYWdlKiBwYWdlLCBjb25zdCBRU3RyaW5nJgogICAgIGNvcmVQ
YWdlLT5zZXR0aW5ncygpLT5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKGNvcmVFZGl0aW5nQmVoYXZp
b3IpOwogfQogCit2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpjbGVhckFsbEFwcGxpY2F0
aW9uQ2FjaGVzKCkKK3sKKyNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQorICAg
IFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLmVtcHR5KCk7CisgICAgV2ViQ29yZTo6Y2FjaGVTdG9y
YWdlKCkudmFjdXVtRGF0YWJhc2VGaWxlKCk7CisjZW5kaWYKK30KKwogdm9pZCBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdDo6ZHVtcEZyYW1lTG9hZGVyKGJvb2wgYikKIHsKICAgICBGcmFtZUxvYWRl
ckNsaWVudFF0OjpkdW1wRnJhbWVMb2FkZXJDYWxsYmFja3MgPSBiOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmggYi9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAppbmRleCA5OGYyYjk0
Li4xODRkODIyIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQuaAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQuaApAQCAtODgsNiArODgsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJv
b2wgZWxlbWVudERvZXNBdXRvQ29tcGxldGVGb3JFbGVtZW50V2l0aElkKFFXZWJGcmFtZSogZnJh
bWUsIGNvbnN0IFFTdHJpbmcmIGVsZW1lbnRJZCk7CiAgICAgc3RhdGljIHZvaWQgc2V0RWRpdGlu
Z0JlaGF2aW9yKFFXZWJQYWdlKiBwYWdlLCBjb25zdCBRU3RyaW5nJiBlZGl0aW5nQmVoYXZpb3Ip
OwogCisgICAgc3RhdGljIHZvaWQgY2xlYXJBbGxBcHBsaWNhdGlvbkNhY2hlcygpOworCiAgICAg
c3RhdGljIHZvaWQgd2hpdGVMaXN0QWNjZXNzRnJvbU9yaWdpbihjb25zdCBRU3RyaW5nJiBzb3Vy
Y2VPcmlnaW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uUHJvdG9jb2wsIGNvbnN0IFFTdHJp
bmcmIGRlc3RpbmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CiAg
ICAgc3RhdGljIHZvaWQgcmVtb3ZlV2hpdGVMaXN0QWNjZXNzRnJvbU9yaWdpbihjb25zdCBRU3Ry
aW5nJiBzb3VyY2VPcmlnaW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uUHJvdG9jb2wsIGNv
bnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9t
YWlucyk7CiAgICAgc3RhdGljIHZvaWQgcmVzZXRPcmlnaW5BY2Nlc3NXaGl0ZUxpc3RzKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
aW5kZXggNzdmY2FmMy4uNWFkMjgyNiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEwLTEyLTA5
ICBLcml0aGlnYXNzcmVlIFNhbWJhbXVydGh5ICA8a3JpdGhpZ2Fzc3JlZS5zYW1iYW11cnRoeUBu
b2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAg
ICAgIEJ1ZyA0MzQ1NSAtIFtRdF06IEltcGxlbWVudCBBcHBsaWNhdGlvbiBDYWNoZSBRdW90YXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDU1CisK
KyAgICAgICAgSW50cm9kdWNlIGZ1bmN0aW9ucyB0byBhbGxvdyBuZXcgYXBwY2FjaGUgbGF5b3V0
IHRlc3Qgb3JpZ2luLXF1b3RhLmh0bWwKKyAgICAgICAgdG8gd29yayBjb3JyZWN0bHkgdW5kZXIg
UXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpEdW1wUmVuZGVyVHJlZSk6CisgICAg
ICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6ZHVtcEFwcGxpY2F0aW9uQ2FjaGVRdW90YSk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5oOgorCisgICAg
ICAgIEludHJvZHVjZSBmdW5jdGlvbnMgdG8gYWxsb3cgbmV3IGFwcGNhY2hlIGxheW91dCB0ZXN0
IG9yaWdpbi1xdW90YS5odG1sCisgICAgICAgIHRvIGJlIHN1Y2Nlc3NmdWwgdW5kZXIgcXQuIENo
YW5nZXMgcmVxdWlyZWQgYmVjYXVzZSBMYXlvdXRUZXN0Q29udHJvbGxlclF0CisgICAgICAgIGRv
ZXMgbm90IGluaGVyaXQgZnJvbSBMYXlvdXRDb250cm9sbGVyLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6cmVzZXQpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNs
ZWFyQWxsQXBwbGljYXRpb25DYWNoZXMpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNob3VsZER1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MpOgorICAg
ICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVD
YWxsYmFja3MpOgorCiAyMDEwLTEyLTA4ICBXaWxsaWFtIFNpZWdyaXN0IDx3c2llZ3Jpc3RAYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAppbmRleCAyMzU0
NmYwLi5jMjg3MTUyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZVF0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtNDgwLDYgKzQ4MCw4IEBAIER1bXBSZW5kZXJUcmVlOjpE
dW1wUmVuZGVyVHJlZSgpCiAgICAgICAgICAgICBTTE9UKHRpdGxlQ2hhbmdlZChjb25zdCBRU3Ry
aW5nJikpKTsKICAgICBjb25uZWN0KG1fcGFnZSwgU0lHTkFMKGRhdGFiYXNlUXVvdGFFeGNlZWRl
ZChRV2ViRnJhbWUqLFFTdHJpbmcpKSwKICAgICAgICAgICAgIHRoaXMsIFNMT1QoZHVtcERhdGFi
YXNlUXVvdGEoUVdlYkZyYW1lKixRU3RyaW5nKSkpOworICAgIGNvbm5lY3QobV9wYWdlLCBTSUdO
QUwoYXBwbGljYXRpb25DYWNoZVF1b3RhRXhjZWVkZWQoUVdlYlNlY3VyaXR5T3JpZ2luICosIHF1
aW50NjQpKSwKKyAgICAgICAgICAgIHRoaXMsIFNMT1QoZHVtcEFwcGxpY2F0aW9uQ2FjaGVRdW90
YShRV2ViU2VjdXJpdHlPcmlnaW4gKiwgcXVpbnQ2NCkpKTsKICAgICBjb25uZWN0KG1fcGFnZSwg
U0lHTkFMKHN0YXR1c0Jhck1lc3NhZ2UoY29uc3QgUVN0cmluZyYpKSwKICAgICAgICAgICAgIHRo
aXMsIFNMT1Qoc3RhdHVzQmFyTWVzc2FnZShjb25zdCBRU3RyaW5nJikpKTsKIApAQCAtMTAyMiw2
ICsxMDI0LDE5IEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OmR1bXBEYXRhYmFzZVF1b3RhKFFXZWJG
cmFtZSogZnJhbWUsIGNvbnN0IFFTdHJpbmcmIGRiTmFtZSkKICAgICBvcmlnaW4uc2V0RGF0YWJh
c2VRdW90YSg1ICogMTAyNCAqIDEwMjQpOwogfQogCit2b2lkIER1bXBSZW5kZXJUcmVlOjpkdW1w
QXBwbGljYXRpb25DYWNoZVF1b3RhKFFXZWJTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBxdWludDY0
IGRlZmF1bHRPcmlnaW5RdW90YSkKK3sKKyAgICBpZiAoIW1fY29udHJvbGxlci0+c2hvdWxkRHVt
cEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNrcygpKQorICAgICAgICByZXR1cm47CisK
KyAgICBwcmludGYoIlVJIERFTEVHQVRFIEFQUExJQ0FUSU9OIENBQ0hFIENBTExCQUNLOiBleGNl
ZWRlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YUZvclNlY3VyaXR5T3JpZ2luOnslcywgJXMs
ICVpfVxuIiwKKyAgICAgICAgICAgb3JpZ2luLT5zY2hlbWUoKS50b1V0ZjgoKS5kYXRhKCksCisg
ICAgICAgICAgIG9yaWdpbi0+aG9zdCgpLnRvVXRmOCgpLmRhdGEoKSwKKyAgICAgICAgICAgb3Jp
Z2luLT5wb3J0KCkKKyAgICAgICAgICAgKTsKKyAgICBvcmlnaW4tPnNldEFwcGxpY2F0aW9uQ2Fj
aGVRdW90YShkZWZhdWx0T3JpZ2luUXVvdGEpOworfQorCiB2b2lkIER1bXBSZW5kZXJUcmVlOjpz
dGF0dXNCYXJNZXNzYWdlKGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKCFtX2Nv
bnRyb2xsZXItPnNob3VsZER1bXBTdGF0dXNDYWxsYmFja3MoKSkKZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuaAppbmRleCAyODNlYmQ5Li5lZjk1
YmZjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVy
VHJlZVF0LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWVRdC5oCkBAIC0xMTYsNiArMTE2LDcgQEAgcHVibGljIFFfU0xPVFM6CiAgICAgdm9pZCB0aXRs
ZUNoYW5nZWQoY29uc3QgUVN0cmluZyAmcyk7CiAgICAgdm9pZCBjb25uZWN0RnJhbWUoUVdlYkZy
YW1lICpmcmFtZSk7CiAgICAgdm9pZCBkdW1wRGF0YWJhc2VRdW90YShRV2ViRnJhbWUqIGZyYW1l
LCBjb25zdCBRU3RyaW5nJiBkYk5hbWUpOworICAgIHZvaWQgZHVtcEFwcGxpY2F0aW9uQ2FjaGVR
dW90YShRV2ViU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgcXVpbnQ2NCBkZWZhdWx0T3JpZ2luUXVv
dGEpOwogICAgIHZvaWQgc3RhdHVzQmFyTWVzc2FnZShjb25zdCBRU3RyaW5nJiBtZXNzYWdlKTsK
ICAgICB2b2lkIHdpbmRvd0Nsb3NlUmVxdWVzdGVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXgg
OGI0OTViZS4uOWU2ZWZjMCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTU4LDYgKzU4LDcgQEAgdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQoKQogICAgIG1fd2FpdEZvckRvbmUgPSBmYWxz
ZTsKICAgICBtX2R1bXBUaXRsZUNoYW5nZXMgPSBmYWxzZTsKICAgICBtX2R1bXBEYXRhYmFzZUNh
bGxiYWNrcyA9IGZhbHNlOworICAgIG1fZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxi
YWNrcyA9IGZhbHNlOwogICAgIG1fZHVtcFN0YXR1c0NhbGxiYWNrcyA9IGZhbHNlOwogICAgIG1f
dGltZW91dFRpbWVyLnN0b3AoKTsKICAgICBtX3RvcExvYWRpbmdGcmFtZSA9IDA7CkBAIC01NDEs
MTIgKzU0MiwxNCBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpkaXNwYXRjaFBlbmRpbmdM
b2FkUmVxdWVzdHMoKQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjbGVhckFsbEFwcGxp
Y2F0aW9uQ2FjaGVzKCkKIHsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRvIHN1cHBvcnQgQXBw
bGljYXRpb24gQ2FjaGUgcXVvdGFzLgorICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpjbGVh
ckFsbEFwcGxpY2F0aW9uQ2FjaGVzKCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YSh1bnNpZ25lZCBsb25nIGxvbmcgcXVvdGEp
CiB7Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudCB0byBzdXBwb3J0IEFwcGxpY2F0aW9uIENhY2hl
IHF1b3Rhcy4KKyAgICBpZiAoIW1fdG9wTG9hZGluZ0ZyYW1lKQorICAgICAgICByZXR1cm47Cisg
ICAgbV90b3BMb2FkaW5nRnJhbWUtPnNlY3VyaXR5T3JpZ2luKCkuc2V0QXBwbGljYXRpb25DYWNo
ZVF1b3RhKHF1b3RhKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGF0YWJh
c2VRdW90YShpbnQgc2l6ZSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAppbmRleCA5YmEyMzY0Li41ZmRkZWYxIDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRy
b2xsZXJRdC5oCkBAIC02NCw2ICs2NCw3IEBAIHB1YmxpYzoKICAgICBib29sIHNob3VsZER1bXBD
aGlsZHJlbkFzVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fZHVtcENoaWxkcmVuQXNUZXh0OyB9CiAg
ICAgYm9vbCBzaG91bGREdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1fZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnM7IH0KICAgICBib29sIHNob3VsZER1
bXBEYXRhYmFzZUNhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fZHVtcERhdGFiYXNlQ2FsbGJh
Y2tzOyB9CisgICAgYm9vbCBzaG91bGREdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJh
Y2tzKCkgY29uc3QgeyByZXR1cm4gbV9kdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJh
Y2tzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wU3RhdHVzQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1
cm4gbV9kdW1wU3RhdHVzQ2FsbGJhY2tzOyB9CiAgICAgYm9vbCBzaG91bGRXYWl0VW50aWxEb25l
KCkgY29uc3QgeyByZXR1cm4gbV93YWl0Rm9yRG9uZTsgfQogICAgIGJvb2wgc2hvdWxkSGFuZGxl
RXJyb3JQYWdlcygpIGNvbnN0IHsgcmV0dXJuIG1faGFuZGxlRXJyb3JQYWdlczsgfQpAQCAtOTQs
NiArOTUsNyBAQCBwdWJsaWMgc2xvdHM6CiAgICAgdm9pZCBkdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KSB7IG1fZHVtcENoaWxkcmVuQXNUZXh0ID0gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcENoaWxkRnJh
bWVTY3JvbGxQb3NpdGlvbnMoKSB7IG1fZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMgPSB0
cnVlOyB9CiAgICAgdm9pZCBkdW1wRGF0YWJhc2VDYWxsYmFja3MoKSB7IG1fZHVtcERhdGFiYXNl
Q2FsbGJhY2tzID0gdHJ1ZTsgfQorICAgIHZvaWQgZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0
ZUNhbGxiYWNrcygpIHsgbV9kdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzID0g
dHJ1ZTt9CiAgICAgdm9pZCBkdW1wU3RhdHVzQ2FsbGJhY2tzKCkgeyBtX2R1bXBTdGF0dXNDYWxs
YmFja3MgPSB0cnVlOyB9CiAgICAgdm9pZCBzZXRDYW5PcGVuV2luZG93cygpIHsgbV9jYW5PcGVu
V2luZG93cyA9IHRydWU7IH0KICAgICB2b2lkIHNldFByaW50aW5nKCkgeyBtX2lzUHJpbnRpbmcg
PSB0cnVlOyB9CkBAIC0yNjMsNiArMjY1LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2FpdEZv
ckRvbmU7CiAgICAgYm9vbCBtX2R1bXBUaXRsZUNoYW5nZXM7CiAgICAgYm9vbCBtX2R1bXBEYXRh
YmFzZUNhbGxiYWNrczsKKyAgICBib29sIG1fZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNh
bGxiYWNrczsKICAgICBib29sIG1fZHVtcFN0YXR1c0NhbGxiYWNrczsKICAgICBib29sIG1fd2Fp
dEZvclBvbGljeTsKICAgICBib29sIG1faGFuZGxlRXJyb3JQYWdlczsK
</data>

          </attachment>
      

    </bug>

</bugzilla>