<?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>61694</bug_id>
          
          <creation_ts>2011-05-28 15:00:11 -0700</creation_ts>
          <short_desc>WebKit2: Enable serializing of data types needed for cross-process accelerated compositing</short_desc>
          <delta_ts>2011-12-06 17:03:21 -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 wx</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>62192</dependson>
          <blocked>56935</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Noam Rosenthal">noam</assigned_to>
          <cc>abecsi</cc>
    
    <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>noam</cc>
    
    <cc>ostap73</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>411904</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-28 15:00:11 -0700</bug_when>
    <thetext>This is the first part of upstreaming the cross-process accelerated-compositing implementation we use with Qt.
To enable accelerated compositing on the UI process, we need to serialize the following:
* TransformationMatrix
* TimingFunction
* TransformOperation[s]
* Animation
* The GraphicsLayer data

As a first measure, we&apos;ll enable ArgumentCoders for relevant existing data types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411972</commentid>
    <comment_count>1</comment_count>
      <attachid>95287</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-29 09:13:17 -0700</bug_when>
    <thetext>Created attachment 95287
Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411989</commentid>
    <comment_count>2</comment_count>
      <attachid>95289</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-29 11:25:47 -0700</bug_when>
    <thetext>Created attachment 95289
Patch 2: Serialize TimingFunction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412045</commentid>
    <comment_count>3</comment_count>
      <attachid>95304</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-29 15:25:10 -0700</bug_when>
    <thetext>Created attachment 95304
Patch 3: ArgumentCoder for WebCore::Animation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412047</commentid>
    <comment_count>4</comment_count>
      <attachid>95304</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-29 16:21:00 -0700</bug_when>
    <thetext>Comment on attachment 95304
Patch 3: ArgumentCoder for WebCore::Animation

Attachment 95304 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/8747583</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412048</commentid>
    <comment_count>5</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-29 16:26:36 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 95304 [details])
&gt; Attachment 95304 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/8747583

This relies on the other patches to compile. It should still be reviewable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412109</commentid>
    <comment_count>6</comment_count>
      <attachid>95320</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-29 21:03:12 -0700</bug_when>
    <thetext>Created attachment 95320
Patch 4: TransformOperation[s]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412241</commentid>
    <comment_count>7</comment_count>
      <attachid>95287</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-30 08:31:31 -0700</bug_when>
    <thetext>Comment on attachment 95287
Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder

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

&gt; Source/WebKit2/Scripts/webkit2/messages.py:447
&gt; +        &apos;WebCore::Length&apos;: &apos;&lt;WebCore/Length.h&gt;&apos;,

I thought the scripts knew how to infer this. My understanding was that headers_for_type only needed to be modified if the header did not match the namespace/class name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412257</commentid>
    <comment_count>8</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 09:30:14 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 95287 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95287&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Scripts/webkit2/messages.py:447
&gt; &gt; +        &apos;WebCore::Length&apos;: &apos;&lt;WebCore/Length.h&gt;&apos;,
&gt; 
&gt; I thought the scripts knew how to infer this. My understanding was that headers_for_type only needed to be modified if the header did not match the namespace/class name.

This is needed, otherwise the headers don&apos;t get copied to the include/WebCore directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412260</commentid>
    <comment_count>9</comment_count>
      <attachid>95287</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-30 09:32:06 -0700</bug_when>
    <thetext>Comment on attachment 95287
Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder

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

&gt;&gt;&gt; Source/WebKit2/Scripts/webkit2/messages.py:447
&gt;&gt;&gt; +        &apos;WebCore::Length&apos;: &apos;&lt;WebCore/Length.h&gt;&apos;,
&gt;&gt; 
&gt;&gt; I thought the scripts knew how to infer this. My understanding was that headers_for_type only needed to be modified if the header did not match the namespace/class name.
&gt; 
&gt; This is needed, otherwise the headers don&apos;t get copied to the include/WebCore directory.

How does this script affect what headers get copied? All it&apos;s supposed to do is write generated source files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412263</commentid>
    <comment_count>10</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 09:43:01 -0700</bug_when>
    <thetext>&gt; &gt; This is needed, otherwise the headers don&apos;t get copied to the include/WebCore directory.
&gt; 
&gt; How does this script affect what headers get copied? All it&apos;s supposed to do is write generated source files.

OK, It&apos;s needed in the script but it can be added to a different part of the script (not to special_cases). I&apos;ll amend before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412268</commentid>
    <comment_count>11</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 09:52:04 -0700</bug_when>
    <thetext>&gt; &gt; This is needed, otherwise the headers don&apos;t get copied to the include/WebCore directory.
&gt; 
&gt; How does this script affect what headers get copied? All it&apos;s supposed to do is write generated source files.

OK, It&apos;s needed in the script but it can be added to a different part of the script (not to special_cases). I&apos;ll amend before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412269</commentid>
    <comment_count>12</comment_count>
      <attachid>95349</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 09:53:38 -0700</bug_when>
    <thetext>Created attachment 95349
Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412276</commentid>
    <comment_count>13</comment_count>
      <attachid>95350</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 10:10:41 -0700</bug_when>
    <thetext>Created attachment 95350
Patch 2: Serialize TimingFunction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412289</commentid>
    <comment_count>14</comment_count>
      <attachid>95354</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 10:39:41 -0700</bug_when>
    <thetext>Created attachment 95354
Patch 3: ArgumentCoder for WebCore::Animation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412319</commentid>
    <comment_count>15</comment_count>
      <attachid>95350</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-30 12:06:01 -0700</bug_when>
    <thetext>Comment on attachment 95350
Patch 2: Serialize TimingFunction

Rejecting attachment 95350 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-8&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
tching file Source/WebKit2/Scripts/webkit2/messages.py
Hunk #1 FAILED at 258.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit2/Scripts/webkit2/messages.py.rej
patching file Source/WebKit2/Shared/WebCoreArgumentCoders.h
Hunk #1 FAILED at 48.
Hunk #2 succeeded at 481 (offset -5 lines).
1 out of 2 hunks FAILED -- saving rejects to file Source/WebKit2/Shared/WebCoreArgumentCoders.h.rej

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

Full output: http://queues.webkit.org/results/8747754</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412324</commentid>
    <comment_count>16</comment_count>
      <attachid>95349</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-30 12:30:29 -0700</bug_when>
    <thetext>Comment on attachment 95349
Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder

Rejecting attachment 95349 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;land-a...&quot; exit_code: 1

Last 500 characters of output:
pe=xml
Processing 1 patch from 1 bug.
Cleaning working directory
Updating working directory
Processing patch 95349 from bug 61694.
Simon Haussman found in /mnt/git/webkit-commit-queue/Source/WebKit2/ChangeLog does not appear to be a valid reviewer according to committers.py.
ERROR: /mnt/git/webkit-commit-queue/Source/WebKit2/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).
Updating OpenSource
Current branch master is up to date.

Full output: http://queues.webkit.org/results/8751503</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412325</commentid>
    <comment_count>17</comment_count>
      <attachid>95360</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 12:37:48 -0700</bug_when>
    <thetext>Created attachment 95360
Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412340</commentid>
    <comment_count>18</comment_count>
      <attachid>95366</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 13:32:40 -0700</bug_when>
    <thetext>Created attachment 95366
Patch 2: Serialize TimingFunction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412346</commentid>
    <comment_count>19</comment_count>
      <attachid>95366</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-30 13:58:43 -0700</bug_when>
    <thetext>Comment on attachment 95366
Patch 2: Serialize TimingFunction

Rejecting attachment 95366 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
tching file Source/WebKit2/Scripts/webkit2/messages.py
Hunk #1 FAILED at 258.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit2/Scripts/webkit2/messages.py.rej
patching file Source/WebKit2/Shared/WebCoreArgumentCoders.h
Hunk #1 FAILED at 48.
Hunk #2 succeeded at 481 (offset -5 lines).
1 out of 2 hunks FAILED -- saving rejects to file Source/WebKit2/Shared/WebCoreArgumentCoders.h.rej

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

Full output: http://queues.webkit.org/results/8753229</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412373</commentid>
    <comment_count>20</comment_count>
      <attachid>95360</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-30 15:03:08 -0700</bug_when>
    <thetext>Comment on attachment 95360
Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder

Clearing flags on attachment: 95360

Committed r87699: &lt;http://trac.webkit.org/changeset/87699&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412376</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-30 15:09:17 -0700</bug_when>
    <thetext>Attachment 95366 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit2/Shared/WebCoreArgumentCoders.h:499:  Non-label code inside switch statements should be indented.  [whitespace/indent] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412387</commentid>
    <comment_count>22</comment_count>
      <attachid>95377</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 15:41:03 -0700</bug_when>
    <thetext>Created attachment 95377
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412397</commentid>
    <comment_count>23</comment_count>
      <attachid>95377</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-30 16:44:11 -0700</bug_when>
    <thetext>Comment on attachment 95377
Patch for landing

Clearing flags on attachment: 95377

Committed r87701: &lt;http://trac.webkit.org/changeset/87701&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412401</commentid>
    <comment_count>24</comment_count>
      <attachid>95381</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-30 16:51:46 -0700</bug_when>
    <thetext>Created attachment 95381
Patch 3: ArgumentCoder for WebCore::Animation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412433</commentid>
    <comment_count>25</comment_count>
      <attachid>95381</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-30 19:22:01 -0700</bug_when>
    <thetext>Comment on attachment 95381
Patch 3: ArgumentCoder for WebCore::Animation

Clearing flags on attachment: 95381

Committed r87707: &lt;http://trac.webkit.org/changeset/87707&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416342</commentid>
    <comment_count>26</comment_count>
      <attachid>96206</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-06 22:40:21 -0700</bug_when>
    <thetext>Created attachment 96206
Patch 4: TransformOperation[s]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416344</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-06 22:42:01 -0700</bug_when>
    <thetext>Attachment 96206 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/Shared/WebCoreArgumentCoders.h:49:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/Shared/WebCoreArgumentCoders.h:62:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416349</commentid>
    <comment_count>28</comment_count>
      <attachid>96209</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-06 22:46:37 -0700</bug_when>
    <thetext>Created attachment 96209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416353</commentid>
    <comment_count>29</comment_count>
      <attachid>96210</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-06 22:52:49 -0700</bug_when>
    <thetext>Created attachment 96210
Patch 4: TransformOperation[s]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416364</commentid>
    <comment_count>30</comment_count>
      <attachid>96210</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-06 23:20:27 -0700</bug_when>
    <thetext>Comment on attachment 96210
Patch 4: TransformOperation[s]

Clearing flags on attachment: 96210

Committed r88222: &lt;http://trac.webkit.org/changeset/88222&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416562</commentid>
    <comment_count>31</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-07 09:36:24 -0700</bug_when>
    <thetext>Not sure why this (In reply to comment #30)
&gt; (From update of attachment 96210 [details])
&gt; Clearing flags on attachment: 96210
&gt; 
&gt; Committed r88222: &lt;http://trac.webkit.org/changeset/88222&gt;

Not sure why this broke the Mac build; It builds fine for me. It seems like I&apos;m not putting the transform operation headers in the right place in the python script, but I&apos;m not sure where they&apos;re supposed to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417087</commentid>
    <comment_count>32</comment_count>
      <attachid>96210</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-07 22:10:44 -0700</bug_when>
    <thetext>Comment on attachment 96210
Patch 4: TransformOperation[s]

Attachment 96210 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/8810032</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417342</commentid>
    <comment_count>33</comment_count>
      <attachid>96440</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-08 10:47:08 -0700</bug_when>
    <thetext>Created attachment 96440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417405</commentid>
    <comment_count>34</comment_count>
      <attachid>96457</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-08 12:17:21 -0700</bug_when>
    <thetext>Created attachment 96457
Patch 4: TransformOperation[s]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417407</commentid>
    <comment_count>35</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-08 12:19:23 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; Created an attachment (id=96457) [details]
&gt; Patch 4: TransformOperation[s]

This includes some build fixes for Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417447</commentid>
    <comment_count>36</comment_count>
      <attachid>96457</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-08 13:07:22 -0700</bug_when>
    <thetext>Comment on attachment 96457
Patch 4: TransformOperation[s]

Clearing flags on attachment: 96457

Committed r88378: &lt;http://trac.webkit.org/changeset/88378&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417448</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-08 13:07:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417454</commentid>
    <comment_count>38</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-08 13:15:17 -0700</bug_when>
    <thetext>Not done yet... :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417460</commentid>
    <comment_count>39</comment_count>
      <attachid>96469</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-08 13:19:34 -0700</bug_when>
    <thetext>Created attachment 96469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417568</commentid>
    <comment_count>40</comment_count>
      <attachid>96469</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-08 14:53:54 -0700</bug_when>
    <thetext>Comment on attachment 96469
Patch

Clearing flags on attachment: 96469

Committed r88392: &lt;http://trac.webkit.org/changeset/88392&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417570</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-08 14:54:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417728</commentid>
    <comment_count>42</comment_count>
      <attachid>96522</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-08 18:06:58 -0700</bug_when>
    <thetext>Created attachment 96522
Last patch: KeyframeValueList coder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417734</commentid>
    <comment_count>43</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-06-08 18:19:57 -0700</bug_when>
    <thetext>Opening for last patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489985</commentid>
    <comment_count>44</comment_count>
      <attachid>96522</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-10-25 05:54:55 -0700</bug_when>
    <thetext>Comment on attachment 96522
Last patch: KeyframeValueList coder

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505902</commentid>
    <comment_count>45</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-11-18 10:46:54 -0800</bug_when>
    <thetext>Committed r100789: http://trac.webkit.org/changeset/100789


(In reply to comment #44)
&gt; (From update of attachment 96522 [details])
&gt; r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516382</commentid>
    <comment_count>46</comment_count>
      <attachid>96522</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-12-06 17:03:02 -0800</bug_when>
    <thetext>Comment on attachment 96522
Last patch: KeyframeValueList coder

Committed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516383</commentid>
    <comment_count>47</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-12-06 17:03:21 -0800</bug_when>
    <thetext>All patches have landed</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95287</attachid>
            <date>2011-05-29 09:13:17 -0700</date>
            <delta_ts>2011-06-18 11:33:45 -0700</delta_ts>
            <desc>Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3214</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzODFhMjYyLi44ZTUxZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDUtMjkgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktp
dDI6IEVuYWJsZSBzZXJpYWxpemluZyBvZiBkYXRhIHR5cGVzIG5lZWRlZCBmb3IgY3Jvc3MtcHJv
Y2VzcyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2OTQKKworICAgICAgICBBZGQgV2ViQ29yZTo6TGVuZ3Ro
IGFuZCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0byB0aGUgdHlwZXMgdGhhdCB1c2Ug
U2ltcGxlQXJndW1lbnRDb2Rlci4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNzYWdl
cy5weToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisKIDIwMTEt
MDUtMjYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Njcmlw
dHMvd2Via2l0Mi9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9t
ZXNzYWdlcy5weQppbmRleCAzM2RlZDZkLi42YjRjOTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdDIvU2Ny
aXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CkBAIC00NDQsOCArNDQ0LDEwIEBAIGRlZiBoZWFkZXJz
X2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmUn
OiAnPFdlYkNvcmUvRWRpdG9yLmg+JywKICAgICAgICAgJ1dlYkNvcmU6OkdyYW1tYXJEZXRhaWwn
OiAnPFdlYkNvcmUvVGV4dENoZWNrZXJDbGllbnQuaD4nLAogICAgICAgICAnV2ViQ29yZTo6S2V5
cHJlc3NDb21tYW5kJzogJzxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4nLAorICAgICAgICAnV2Vi
Q29yZTo6TGVuZ3RoJzogJzxXZWJDb3JlL0xlbmd0aC5oPicsCiAgICAgICAgICdXZWJDb3JlOjpQ
bHVnaW5JbmZvJzogJzxXZWJDb3JlL1BsdWdpbkRhdGEuaD4nLAogICAgICAgICAnV2ViQ29yZTo6
VGV4dENoZWNraW5nUmVzdWx0JzogJzxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+JywKKyAg
ICAgICAgJ1dlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4JzogJzxXZWJDb3JlL1RyYW5zZm9y
bWF0aW9uTWF0cml4Lmg+JywKICAgICAgICAgJ1dlYktpdDo6V2ViR2VzdHVyZUV2ZW50JzogJyJX
ZWJFdmVudC5oIicsCiAgICAgICAgICdXZWJLaXQ6OldlYktleWJvYXJkRXZlbnQnOiAnIldlYkV2
ZW50LmgiJywKICAgICAgICAgJ1dlYktpdDo6V2ViTW91c2VFdmVudCc6ICciV2ViRXZlbnQuaCIn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4
IDFiOWI0ZjUuLjljNjA0YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKQEAgLTQyLDE1ICs0MiwxOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvR3Jh
cGhpY3NDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MZW5ndGguaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb3RlY3Rp
b25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tl
ckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1ZpZXdwb3J0QXJndW1lbnRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9X
aW5kb3dGZWF0dXJlcy5oPgogI2luY2x1ZGUgPGxpbWl0cz4KIAorCiBuYW1lc3BhY2UgQ29yZUlQ
QyB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6SW50UG9pbnQ+
IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpJbnRQb2ludD4geyB9OwpAQCAtNjEsNiAr
NjQsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlZpZXdwb3J0
QXJndW1lbnRzPiA6IFNpbXBsZUFyZ3VtZW50Q29kZQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpGbG9hdFBvaW50PiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6RmxvYXRQb2ludD4geyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpGbG9hdFNpemU+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFNpemU+
IHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRSZWN0
PiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRSZWN0PiB7IH07Cit0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Okxlbmd0aD4gOiBTaW1wbGVBcmd1bWVu
dENvZGVyPFdlYkNvcmU6Okxlbmd0aD4geyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeD4gOiBTaW1wbGVBcmd1bWVudENvZGVy
PFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4PiB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TWltZUNsYXNzSW5mbz4gewogICAgIHN0YXRpYyB2b2lk
IGVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6Ok1pbWVDbGFz
c0luZm8mIG1pbWVDbGFzc0luZm8pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95289</attachid>
            <date>2011-05-29 11:25:47 -0700</date>
            <delta_ts>2011-06-18 11:33:33 -0700</delta_ts>
            <desc>Patch 2: Serialize TimingFunction</desc>
            <filename>patch-timingfunc.diff</filename>
            <type>text/plain</type>
            <size>7262</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmMjMyMDAyLi42NWZiZWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMDUtMjkgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktp
dDI6IEVuYWJsZSBzZXJpYWxpemluZyBvZiBkYXRhIHR5cGVzIG5lZWRlZCBmb3IgY3Jvc3MtcHJv
Y2VzcyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2OTQKKworICAgICAgICBFeHBvc2UgYSBwdWJsaWMgdHlw
ZSgpIGdldHRlciBmb3IgVGltaW5nRnVuY3Rpb24uCisKKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9u
YWxpdHkgc28gbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vYW5pbWF0aW9uL1Rp
bWluZ0Z1bmN0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbjo6dHlwZSk6
CisKIDIwMTEtMDUtMjYgIFN0ZXBoYW5pZSBMZXdpcyAgPHNsZXdpc0BhcHBsZS5jb20+CgogICAg
ICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmgKaW5kZXggNWFiM2MxYy4uZDZjODMzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0
aW9uLmgKQEAgLTM3LDYgKzM3LDggQEAgcHVibGljOgogICAgIH07CiAgICAgCiAgICAgdmlydHVh
bCB+VGltaW5nRnVuY3Rpb24oKSB7IH0KKworICAgIFRpbWluZ0Z1bmN0aW9uVHlwZSB0eXBlKCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgCiAgICAgYm9vbCBpc0xpbmVhclRpbWluZ0Z1
bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IExpbmVhckZ1bmN0aW9uOyB9CiAgICAg
Ym9vbCBpc0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gQ3ViaWNCZXppZXJGdW5jdGlvbjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDhlNTFmYmEuLmIzYmNiMzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTUsNiArNSwxOSBAQAogICAgICAgICBXZWJLaXQyOiBFbmFibGUgc2Vy
aWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXByb2Nlc3MgYWNjZWxlcmF0
ZWQgY29tcG9zaXRpbmcKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYxNjk0CiAKKyAgICAgICAgQWRkIGFuIEFyZ3VtZW50Q29kZXIgZm9yIFdlYkNvcmU6
OlRpbWluZ0Z1bmN0aW9uLiBUaGlzIHNlcmlhbGl6ZXIgY2FuIGNyZWF0ZSB0aGUgYXBwcm9wcmlh
dGUKKyAgICAgICAgVGltaW5nRnVuY3Rpb24gc3ViY2xhc3MgYmFzZWQgb24gdGhlIHR5cGUgb2Yg
dGltaW5nIGZ1bmN0aW9uLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKworMjAxMS0wNS0y
OSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogRW5hYmxlIHNl
cmlhbGl6aW5nIG9mIGRhdGEgdHlwZXMgbmVlZGVkIGZvciBjcm9zcy1wcm9jZXNzIGFjY2VsZXJh
dGVkIGNvbXBvc2l0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTY5NAorCiAgICAgICAgIEFkZCBXZWJDb3JlOjpMZW5ndGggYW5kIFdlYkNvcmU6
OlRyYW5zZm9ybWF0aW9uTWF0cml4IHRvIHRoZSB0eXBlcyB0aGF0IHVzZSBTaW1wbGVBcmd1bWVu
dENvZGVyLgogCiAgICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5OgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5IGIvU291cmNl
L1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CmluZGV4IDZiNGM5OWMuLjU3NDJh
YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5w
eQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKQEAgLTQ0
Nyw2ICs0NDcsNyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNv
cmU6Okxlbmd0aCc6ICc8V2ViQ29yZS9MZW5ndGguaD4nLAogICAgICAgICAnV2ViQ29yZTo6UGx1
Z2luSW5mbyc6ICc8V2ViQ29yZS9QbHVnaW5EYXRhLmg+JywKICAgICAgICAgJ1dlYkNvcmU6OlRl
eHRDaGVja2luZ1Jlc3VsdCc6ICc8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPicsCisgICAg
ICAgICdXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbic6ICc8V2ViQ29yZS9UaW1pbmdGdW5jdGlvbi5o
PicsCiAgICAgICAgICdXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCc6ICc8V2ViQ29yZS9U
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oPicsCiAgICAgICAgICdXZWJLaXQ6OldlYkdlc3R1cmVFdmVu
dCc6ICciV2ViRXZlbnQuaCInLAogICAgICAgICAnV2ViS2l0OjpXZWJLZXlib2FyZEV2ZW50Jzog
JyJXZWJFdmVudC5oIicsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgKaW5kZXggOWM2MDRjMS4uNTJhNjE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1
ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvVGltaW5nRnVuY3Rpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9ybWF0
aW9uTWF0cml4Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3VtZW50cy5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMuaD4KQEAgLTY1LDYgKzY2LDggQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFBvaW50PiA6IFNpbXBsZUFy
Z3VtZW50Q29kZXI8V2ViQ28KIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6RmxvYXRTaXplPiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRTaXplPiB7
IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UmVjdD4g
OiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UmVjdD4geyB9OwogdGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpMZW5ndGg+IDogU2ltcGxlQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpMZW5ndGg+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbj4gOiBTaW1wbGVBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OkN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24+IHsgfTsKK3RlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6U3RlcHNUaW1pbmdGdW5jdGlvbj4gOiBTaW1w
bGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OlN0ZXBzVGltaW5nRnVuY3Rpb24+IHsgfTsKIHRlbXBs
YXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg+
IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeD4geyB9
OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1pbWVDbGFzc0lu
Zm8+IHsKQEAgLTQ4NSw2ICs0ODgsNzkgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2Rl
cjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQ+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPiB7
CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3Qg
UmVmUHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uPiYgZnVuY3Rpb24pCisgICAgeworICAgICAg
ICAvLyBXZSBkb24ndCB3YW50IHRvIGVuY29kZSBudWxsLXJlZmVyZW5jZXMuCisgICAgICAgIEFT
U0VSVChmdW5jdGlvbik7CisKKyAgICAgICAgV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OlRpbWlu
Z0Z1bmN0aW9uVHlwZSB0eXBlID0gZnVuY3Rpb24tPnR5cGUoKTsKKyAgICAgICAgZW5jb2Rlci0+
ZW5jb2RlSW50MzIodHlwZSk7CisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNl
IFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpMaW5lYXJGdW5jdGlvbjoKKyAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OkN1YmljQmV6aWVyRnVuY3Rp
b246IHsKKyAgICAgICAgICAgIFdlYkNvcmU6OkN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24qIGN1
YmljRnVuY3Rpb24gPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpDdWJpY0JlemllclRpbWluZ0Z1bmN0
aW9uKj4oZnVuY3Rpb24uZ2V0KCkpOworICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91Ymxl
KGN1YmljRnVuY3Rpb24tPngxKCkpOworICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91Ymxl
KGN1YmljRnVuY3Rpb24tPnkxKCkpOworICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91Ymxl
KGN1YmljRnVuY3Rpb24tPngyKCkpOworICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91Ymxl
KGN1YmljRnVuY3Rpb24tPnkyKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICAgICAgY2FzZSBXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbjo6U3RlcHNGdW5jdGlvbjogeworICAg
ICAgICAgICAgV2ViQ29yZTo6U3RlcHNUaW1pbmdGdW5jdGlvbiogc3RlcHNGdW5jdGlvbiA9IHN0
YXRpY19jYXN0PFdlYkNvcmU6OlN0ZXBzVGltaW5nRnVuY3Rpb24qPihmdW5jdGlvbi5nZXQoKSk7
CisgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVJbnQzMihzdGVwc0Z1bmN0aW9uLT5udW1iZXJP
ZlN0ZXBzKCkpOworICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlQm9vbChzdGVwc0Z1bmN0aW9u
LT5zdGVwQXRTdGFydCgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNv
ZGVyLCBSZWZQdHI8V2ViQ29yZTo6VGltaW5nRnVuY3Rpb24+JiBmdW5jdGlvbikKKyAgICB7Cisg
ICAgICAgIFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpUaW1pbmdGdW5jdGlvblR5cGUgdHlwZTsK
KyAgICAgICAgaW50IHR5cGVJbnQ7CisgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlSW50MzIo
dHlwZUludCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgdHlwZSA9IHN0
YXRpY19jYXN0PFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpUaW1pbmdGdW5jdGlvblR5cGU+KHR5
cGVJbnQpOworICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpU
aW1pbmdGdW5jdGlvbjo6TGluZWFyRnVuY3Rpb246CisgICAgICAgICAgICBmdW5jdGlvbiA9IFdl
YkNvcmU6OkxpbmVhclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoKTsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OkN1YmljQmV6
aWVyRnVuY3Rpb246IHsKKyAgICAgICAgICAgIGRvdWJsZSB4MSwgeTEsIHgyLCB5MjsKKyAgICAg
ICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlRG91YmxlKHgxKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZURvdWJsZSh5MSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgaWYgKCFkZWNvZGVy
LT5kZWNvZGVEb3VibGUoeDIpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlRG91YmxlKHkyKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBmdW5jdGlvbiA9IFdlYkNvcmU6OkN1YmljQmV6aWVy
VGltaW5nRnVuY3Rpb246OmNyZWF0ZSh4MSwgeTEsIHgyLCB5Mik7CisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VGltaW5nRnVuY3Rp
b246OlN0ZXBzRnVuY3Rpb246IHsKKyAgICAgICAgICAgIGludCBudW1TdGVwczsKKyAgICAgICAg
ICAgIGJvb2wgc3RlcEF0U3RhcnQ7CisgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUlu
dDMyKG51bVN0ZXBzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAg
ICBpZiAoIWRlY29kZXItPmRlY29kZUJvb2woc3RlcEF0U3RhcnQpKQorICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgZnVuY3Rpb24gPSBXZWJDb3JlOjpTdGVwc1Rp
bWluZ0Z1bmN0aW9uOjpjcmVhdGUobnVtU3RlcHMsIHN0ZXBBdFN0YXJ0KTsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9Cit9OworCiB9IC8vIG5hbWVzcGFjZSBDb3JlSVBDCiAKICNlbmRpZiAvLyBX
ZWJDb3JlQXJndW1lbnRDb2RlcnNfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95304</attachid>
            <date>2011-05-29 15:25:10 -0700</date>
            <delta_ts>2011-06-18 11:33:21 -0700</delta_ts>
            <desc>Patch 3: ArgumentCoder for WebCore::Animation</desc>
            <filename>patch2.diff</filename>
            <type>text/plain</type>
            <size>8455</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NWZiZWUyLi41NjcwN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC01LDYgKzUsMjAg
QEAKICAgICAgICAgV2ViS2l0MjogRW5hYmxlIHNlcmlhbGl6aW5nIG9mIGRhdGEgdHlwZXMgbmVl
ZGVkIGZvciBjcm9zcy1wcm9jZXNzIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY5NAoKKyAgICAgICAgRXhw
b3NlIGEgcHVibGljIGNsZWFyQWxsKCkgZnVuY3Rpb24gdG8gcmVzZXQgV2ViQ29yZTo6QW5pbWF0
aW9uLgorCisgICAgICAgIE5vIG5ldyBmdW5jdGlvbmFsaXR5IHNvIG5vIG5ldyB0ZXN0cy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb24uaDoKKyAgICAgICAgKFdlYkNv
cmU6OkFuaW1hdGlvbjo6Y2xlYXJBbGwpOgorCisyMDExLTA1LTI5ICBOb2FtIFJvc2VudGhhbCAg
PG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWJLaXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0
eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXByb2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKICAg
ICAgICAgRXhwb3NlIGEgcHVibGljIHR5cGUoKSBnZXR0ZXIgZm9yIFRpbWluZ0Z1bmN0aW9uLgoK
ICAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxpdHkgc28gbm8gbmV3IHRlc3RzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5oCmluZGV4IGQxNmY3NGMuLmQy
MTEzN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9Bbmlt
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9u
LmgKQEAgLTgxLDYgKzgxLDE5IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyUHJvcGVydHkoKSB7
IG1fcHJvcGVydHlTZXQgPSBmYWxzZTsgfQogICAgIHZvaWQgY2xlYXJUaW1pbmdGdW5jdGlvbigp
IHsgbV90aW1pbmdGdW5jdGlvblNldCA9IGZhbHNlOyB9CgorICAgIHZvaWQgY2xlYXJBbGwoKQor
ICAgIHsKKyAgICAgICAgY2xlYXJEZWxheSgpOworICAgICAgICBjbGVhckRpcmVjdGlvbigpOwor
ICAgICAgICBjbGVhckR1cmF0aW9uKCk7CisgICAgICAgIGNsZWFyRmlsbE1vZGUoKTsKKyAgICAg
ICAgY2xlYXJJdGVyYXRpb25Db3VudCgpOworICAgICAgICBjbGVhck5hbWUoKTsKKyAgICAgICAg
Y2xlYXJQbGF5U3RhdGUoKTsKKyAgICAgICAgY2xlYXJQcm9wZXJ0eSgpOworICAgICAgICBjbGVh
clRpbWluZ0Z1bmN0aW9uKCk7CisgICAgfQorCiAgICAgZG91YmxlIGRlbGF5KCkgY29uc3QgeyBy
ZXR1cm4gbV9kZWxheTsgfQoKICAgICBlbnVtIEFuaW1hdGlvbkRpcmVjdGlvbiB7IEFuaW1hdGlv
bkRpcmVjdGlvbk5vcm1hbCwgQW5pbWF0aW9uRGlyZWN0aW9uQWx0ZXJuYXRlIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggYjNiY2IzOC4uN2JiOWQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtNSw2ICs1LDE4IEBACiAgICAg
ICAgIFdlYktpdDI6IEVuYWJsZSBzZXJpYWxpemluZyBvZiBkYXRhIHR5cGVzIG5lZWRlZCBmb3Ig
Y3Jvc3MtcHJvY2VzcyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2OTQKIAorICAgICAgICBDcmVhdGUgYW4g
QXJndW1lbnRDb2RlciBmb3IgV2ViQ29yZTo6QW5pbWF0aW9uLgorCisgICAgICAgICogU2NyaXB0
cy93ZWJraXQyL21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaDoKKworMjAxMS0wNS0yOSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBu
b2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2ViS2l0MjogRW5hYmxlIHNlcmlhbGl6aW5nIG9mIGRhdGEgdHlwZXMgbmVlZGVkIGZvciBj
cm9zcy1wcm9jZXNzIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY5NAorCiAgICAgICAgIEFkZCBhbiBBcmd1
bWVudENvZGVyIGZvciBXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbi4gVGhpcyBzZXJpYWxpemVyIGNh
biBjcmVhdGUgdGhlIGFwcHJvcHJpYXRlCiAgICAgICAgIFRpbWluZ0Z1bmN0aW9uIHN1YmNsYXNz
IGJhc2VkIG9uIHRoZSB0eXBlIG9mIHRpbWluZyBmdW5jdGlvbi4KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdDIv
U2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CmluZGV4IDU3NDJhYjEuLjM5ODk1MDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKQEAgLTQ0MSw2ICs0NDEs
NyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKIAogICAgIHNwZWNpYWxfY2FzZXMgPSB7
CiAgICAgICAgICdXVEY6OlN0cmluZyc6ICc8d3RmL3RleHQvV1RGU3RyaW5nLmg+JywKKyAgICAg
ICAgJ1dlYkNvcmU6OkFuaW1hdGlvbic6ICc8V2ViQ29yZS9BbmltYXRpb24uaD4nLAogICAgICAg
ICAnV2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmUnOiAnPFdlYkNvcmUvRWRpdG9yLmg+JywK
ICAgICAgICAgJ1dlYkNvcmU6OkdyYW1tYXJEZXRhaWwnOiAnPFdlYkNvcmUvVGV4dENoZWNrZXJD
bGllbnQuaD4nLAogICAgICAgICAnV2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kJzogJzxXZWJDb3Jl
L0tleWJvYXJkRXZlbnQuaD4nLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCmluZGV4IDUyYTYxNzIuLjY3YWUyM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlICJBcmd1bWVudEVuY29kZXIuaCIKICNpbmNsdWRlICJBcmd1bWVudHMuaCIKICNpbmNsdWRl
ICJTaGFyZWFibGVCaXRtYXAuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0FuaW1hdGlvbi5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0JpdG1hcEltYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DcmVkZW50aWFsLmg+CkBAIC01
NjEsNiArNTYyLDEyMiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0cjxX
ZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1
Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBbmltYXRpb24+IHsKKyAgICBzdGF0aWMgYm9vbCBl
bmNvZGVCb29sQW5kUmV0dXJuVmFsdWUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBib29sIHZh
bHVlKQorICAgIHsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlQm9vbCh2YWx1ZSk7CisgICAgICAg
IHJldHVybiB2YWx1ZTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHN0
YXRpYyB2b2lkIGVuY29kZUJvb2xBbmRWYWx1ZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGJv
b2wgaXNTZXQsIGNvbnN0IFQmIHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKGVuY29kZUJvb2xB
bmRSZXR1cm5WYWx1ZShlbmNvZGVyLCBpc1NldCkpCisgICAgICAgICAgICBlbmNvZGVyLT5lbmNv
ZGU8VD4odmFsdWUpOworICAgIH0KKworICAgIHN0YXRpYyBib29sIGRlY29kZUJvb2xBbmRWYWx1
ZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIGJvb2wmIGlzU2V0LCBkb3VibGUmIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVCb29sKGlzU2V0KSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFpc1NldCkKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgICAgIHJldHVybiBkZWNvZGVyLT5kZWNvZGVEb3VibGUodmFsdWUpOwor
ICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgc3RhdGljIGJvb2wgZGVjb2RlQm9v
bEFuZFZhbHVlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgYm9vbCYgaXNTZXQsIFQmIHZhbHVl
KQorICAgIHsKKyAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVCb29sKGlzU2V0KSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFpc1NldCkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgICAgIHJldHVybiBBcmd1bWVudENvZGVyPFQ+OjpkZWNvZGUoZGVj
b2RlciwgdmFsdWUpOworICAgIH0KKworICAgIHN0YXRpYyBib29sIGRlY29kZUJvb2xBbmRWYWx1
ZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIGJvb2wmIGlzU2V0LCBpbnQmIHZhbHVlKQorICAg
IHsKKyAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVCb29sKGlzU2V0KSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFpc1NldCkKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgICAgIHJldHVybiBkZWNvZGVyLT5kZWNvZGVJbnQzMih2YWx1ZSk7CisgICAg
fQorCisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29u
c3QgV2ViQ29yZTo6QW5pbWF0aW9uJiBhbmltYXRpb24pCisgICAgeworICAgICAgICBlbmNvZGVC
b29sQW5kVmFsdWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzRGVsYXlTZXQoKSwgYW5pbWF0aW9uLmRl
bGF5KCkpOworICAgICAgICBlbmNvZGVCb29sQW5kVmFsdWU8aW50PihlbmNvZGVyLCBhbmltYXRp
b24uaXNEaXJlY3Rpb25TZXQoKSwgYW5pbWF0aW9uLmRpcmVjdGlvbigpKTsKKyAgICAgICAgZW5j
b2RlQm9vbEFuZFZhbHVlKGVuY29kZXIsIGFuaW1hdGlvbi5pc0R1cmF0aW9uU2V0KCksIGFuaW1h
dGlvbi5kdXJhdGlvbigpKTsKKyAgICAgICAgZW5jb2RlQm9vbEFuZFZhbHVlKGVuY29kZXIsIGFu
aW1hdGlvbi5pc0ZpbGxNb2RlU2V0KCksIGFuaW1hdGlvbi5maWxsTW9kZSgpKTsKKyAgICAgICAg
ZW5jb2RlQm9vbEFuZFZhbHVlKGVuY29kZXIsIGFuaW1hdGlvbi5pc0l0ZXJhdGlvbkNvdW50U2V0
KCksIGFuaW1hdGlvbi5pdGVyYXRpb25Db3VudCgpKTsKKworICAgICAgICBpZiAoZW5jb2RlQm9v
bEFuZFJldHVyblZhbHVlKGVuY29kZXIsIGFuaW1hdGlvbi5pc05hbWVTZXQoKSkpCisgICAgICAg
ICAgICBBcmd1bWVudENvZGVyPFN0cmluZz46OmVuY29kZShlbmNvZGVyLCBhbmltYXRpb24ubmFt
ZSgpKTsKKworICAgICAgICBlbmNvZGVCb29sQW5kVmFsdWU8aW50PihlbmNvZGVyLCBhbmltYXRp
b24uaXNQbGF5U3RhdGVTZXQoKSwgYW5pbWF0aW9uLnBsYXlTdGF0ZSgpKTsKKyAgICAgICAgZW5j
b2RlQm9vbEFuZFZhbHVlKGVuY29kZXIsIGFuaW1hdGlvbi5pc1Byb3BlcnR5U2V0KCksIGFuaW1h
dGlvbi5wcm9wZXJ0eSgpKTsKKworICAgICAgICBpZiAoZW5jb2RlQm9vbEFuZFJldHVyblZhbHVl
KGVuY29kZXIsIGFuaW1hdGlvbi5pc1RpbWluZ0Z1bmN0aW9uU2V0KCkpKQorICAgICAgICAgICAg
QXJndW1lbnRDb2RlcjxSZWZQdHI8V2ViQ29yZTo6VGltaW5nRnVuY3Rpb24+ID46OmVuY29kZShl
bmNvZGVyLCBhbmltYXRpb24udGltaW5nRnVuY3Rpb24oKSk7CisgICAgICAgIGVuY29kZXItPmVu
Y29kZUJvb2woYW5pbWF0aW9uLmlzTm9uZUFuaW1hdGlvbigpKTsKKyAgICB9CisKKyAgICBzdGF0
aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWJDb3JlOjpBbmltYXRp
b24mIGFuaW1hdGlvbikKKyAgICB7CisgICAgICAgIGJvb2wgaXNEZWxheVNldCwgaXNEaXJlY3Rp
b25TZXQsIGlzRHVyYXRpb25TZXQsIGlzRmlsbE1vZGVTZXQsIGlzSXRlcmF0aW9uQ291bnRTZXQs
IGlzTmFtZVNldCwgaXNQbGF5U3RhdGVTZXQsIGlzUHJvcGVydHlTZXQsIGlzVGltaW5nRnVuY3Rp
b25TZXQ7CisgICAgICAgIGludCBwcm9wZXJ0eSwgaXRlcmF0aW9uQ291bnQsIGRpcmVjdGlvbiwg
ZmlsbE1vZGUsIHBsYXlTdGF0ZTsKKyAgICAgICAgZG91YmxlIGRlbGF5LCBkdXJhdGlvbjsKKyAg
ICAgICAgUmVmUHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbjsKKyAg
ICAgICAgU3RyaW5nIG5hbWU7CisKKyAgICAgICAgYW5pbWF0aW9uLmNsZWFyQWxsKCk7CisKKyAg
ICAgICAgaWYgKCFkZWNvZGVCb29sQW5kVmFsdWUoZGVjb2RlciwgaXNEZWxheVNldCwgZGVsYXkp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWRlY29kZUJvb2xBbmRW
YWx1ZShkZWNvZGVyLCBpc0RpcmVjdGlvblNldCwgZGlyZWN0aW9uKSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFkZWNvZGVCb29sQW5kVmFsdWUoZGVjb2RlciwgaXNE
dXJhdGlvblNldCwgZHVyYXRpb24pKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICBpZiAoIWRlY29kZUJvb2xBbmRWYWx1ZShkZWNvZGVyLCBpc0ZpbGxNb2RlU2V0LCBmaWxsTW9k
ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghZGVjb2RlQm9vbEFu
ZFZhbHVlKGRlY29kZXIsIGlzSXRlcmF0aW9uQ291bnRTZXQsIGl0ZXJhdGlvbkNvdW50KSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFkZWNvZGVCb29sQW5kVmFsdWU8
U3RyaW5nPihkZWNvZGVyLCBpc05hbWVTZXQsIG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICBpZiAoIWRlY29kZUJvb2xBbmRWYWx1ZShkZWNvZGVyLCBpc1BsYXlTdGF0
ZVNldCwgcGxheVN0YXRlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYg
KCFkZWNvZGVCb29sQW5kVmFsdWUoZGVjb2RlciwgaXNQcm9wZXJ0eVNldCwgcHJvcGVydHkpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWRlY29kZUJvb2xBbmRWYWx1
ZTxSZWZQdHI8V2ViQ29yZTo6VGltaW5nRnVuY3Rpb24+ID4oZGVjb2RlciwgaXNUaW1pbmdGdW5j
dGlvblNldCwgdGltaW5nRnVuY3Rpb24pKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgIGlmIChpc0RlbGF5U2V0KQorICAgICAgICAgICAgYW5pbWF0aW9uLnNldERlbGF5KGRl
bGF5KTsKKyAgICAgICAgaWYgKGlzRGlyZWN0aW9uU2V0KQorICAgICAgICAgICAgYW5pbWF0aW9u
LnNldERpcmVjdGlvbihzdGF0aWNfY2FzdDxXZWJDb3JlOjpBbmltYXRpb246OkFuaW1hdGlvbkRp
cmVjdGlvbj4oZGlyZWN0aW9uKSk7CisgICAgICAgIGlmIChpc0R1cmF0aW9uU2V0KQorICAgICAg
ICAgICAgYW5pbWF0aW9uLnNldER1cmF0aW9uKGR1cmF0aW9uKTsKKyAgICAgICAgaWYgKGlzRmls
bE1vZGVTZXQpCisgICAgICAgICAgICBhbmltYXRpb24uc2V0RmlsbE1vZGUoZmlsbE1vZGUpOwor
ICAgICAgICBpZiAoaXNJdGVyYXRpb25Db3VudFNldCkKKyAgICAgICAgICAgIGFuaW1hdGlvbi5z
ZXRJdGVyYXRpb25Db3VudChpdGVyYXRpb25Db3VudCk7CisgICAgICAgIGlmIChpc05hbWVTZXQp
CisgICAgICAgICAgICBhbmltYXRpb24uc2V0TmFtZShuYW1lKTsKKyAgICAgICAgaWYgKGlzUGxh
eVN0YXRlU2V0KQorICAgICAgICAgICAgYW5pbWF0aW9uLnNldFBsYXlTdGF0ZShzdGF0aWNfY2Fz
dDxXZWJDb3JlOjpFQW5pbVBsYXlTdGF0ZT4ocGxheVN0YXRlKSk7CisgICAgICAgIGlmIChpc1By
b3BlcnR5U2V0KQorICAgICAgICAgICAgYW5pbWF0aW9uLnNldFByb3BlcnR5KHByb3BlcnR5KTsK
KyAgICAgICAgaWYgKGlzVGltaW5nRnVuY3Rpb25TZXQpCisgICAgICAgICAgICBhbmltYXRpb24u
c2V0VGltaW5nRnVuY3Rpb24odGltaW5nRnVuY3Rpb24pOworCisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KK307CisKIH0gLy8gbmFtZXNwYWNlIENvcmVJUEMKIAogI2VuZGlmIC8vIFdlYkNv
cmVBcmd1bWVudENvZGVyc19oCg==
</data>
<flag name="commit-queue"
          id="88767"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95320</attachid>
            <date>2011-05-29 21:03:12 -0700</date>
            <delta_ts>2011-06-06 22:40:21 -0700</delta_ts>
            <desc>Patch 4: TransformOperation[s]</desc>
            <filename>patch-transfop.diff</filename>
            <type>text/plain</type>
            <size>13084</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3YmI5ZDczLi42ZDFjOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC01LDYgKzUsMTkg
QEAKICAgICAgICAgV2ViS2l0MjogRW5hYmxlIHNlcmlhbGl6aW5nIG9mIGRhdGEgdHlwZXMgbmVl
ZGVkIGZvciBjcm9zcy1wcm9jZXNzIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY5NAogCisgICAgICAgIEFk
ZCBBcmd1bWVudENvZGVycyBmb3IgVHJhbnNmb3JtT3BlcmF0aW9uLCBpbmNsdWRpbmcgYWxsIHRo
ZSBzdWJjbGFzc2VzLAorICAgICAgICBhbmQgVHJhbnNmb3JtT3BlcmF0aW9ucy4KKworICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmg6CisKKzIwMTEtMDUtMjkgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5y
b3NlbnRoYWxAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlYktpdDI6IEVuYWJsZSBzZXJpYWxpemluZyBvZiBkYXRhIHR5cGVzIG5l
ZWRlZCBmb3IgY3Jvc3MtcHJvY2VzcyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2OTQKKwogICAgICAgICBD
cmVhdGUgYW4gQXJndW1lbnRDb2RlciBmb3IgV2ViQ29yZTo6QW5pbWF0aW9uLgogCiAgICAgICAg
ICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93
ZWJraXQyL21lc3NhZ2VzLnB5CmluZGV4IDM5ODk1MDEuLmQyYTJjYzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKQEAgLTQ0NCwxNyArNDQ0LDI4IEBAIGRl
ZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6QW5pbWF0aW9uJzog
JzxXZWJDb3JlL0FuaW1hdGlvbi5oPicsCiAgICAgICAgICdXZWJDb3JlOjpDb21wb3NpdGlvblVu
ZGVybGluZSc6ICc8V2ViQ29yZS9FZGl0b3IuaD4nLAogICAgICAgICAnV2ViQ29yZTo6R3JhbW1h
ckRldGFpbCc6ICc8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPicsCisgICAgICAgICdXZWJD
b3JlOjpJZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlvbic6ICc8V2ViQ29yZS9JZGVudGl0eVRyYW5z
Zm9ybU9wZXJhdGlvbi5oPicsCiAgICAgICAgICdXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQnOiAn
PFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPicsCiAgICAgICAgICdXZWJDb3JlOjpMZW5ndGgnOiAn
PFdlYkNvcmUvTGVuZ3RoLmg+JywKKyAgICAgICAgJ1dlYkNvcmU6Ok1hdHJpeFRyYW5zZm9ybU9w
ZXJhdGlvbic6ICc8V2ViQ29yZS9NYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24uaD4nLAorICAgICAg
ICAnV2ViQ29yZTo6TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24nOiAnPFdlYkNvcmUvTWF0cml4
M0RUcmFuc2Zvcm1PcGVyYXRpb24uaD4nLAorICAgICAgICAnV2ViQ29yZTo6UGVyc3BlY3RpdmVU
cmFuc2Zvcm1PcGVyYXRpb24nOiAnPFdlYkNvcmUvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRp
b24uaD4nLAogICAgICAgICAnV2ViQ29yZTo6UGx1Z2luSW5mbyc6ICc8V2ViQ29yZS9QbHVnaW5E
YXRhLmg+JywKKyAgICAgICAgJ1dlYkNvcmU6OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbic6ICc8
V2ViQ29yZS9Sb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24uaD4nLAorICAgICAgICAnV2ViQ29yZTo6
U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24nOiAnPFdlYkNvcmUvU2NhbGVUcmFuc2Zvcm1PcGVyYXRp
b24uaD4nLAorICAgICAgICAnV2ViQ29yZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbic6ICc8V2Vi
Q29yZS9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmg+JywKICAgICAgICAgJ1dlYkNvcmU6OlRleHRD
aGVja2luZ1Jlc3VsdCc6ICc8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPicsCiAgICAgICAg
ICdXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbic6ICc8V2ViQ29yZS9UaW1pbmdGdW5jdGlvbi5oPics
CiAgICAgICAgICdXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCc6ICc8V2ViQ29yZS9UcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oPicsCisgICAgICAgICdXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRp
b24nOiAnPFdlYkNvcmUvVHJhbnNmb3JtT3BlcmF0aW9uLmg+JywKKyAgICAgICAgJ1dlYkNvcmU6
OlRyYW5zZm9ybU9wZXJhdGlvbnMnOiAnPFdlYkNvcmUvVHJhbnNmb3JtT3BlcmF0aW9ucy5oPics
CisgICAgICAgICdXZWJDb3JlOjpUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24nOiAnPFdlYkNv
cmUvVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uLmg+JywKICAgICAgICAgJ1dlYktpdDo6V2Vi
R2VzdHVyZUV2ZW50JzogJyJXZWJFdmVudC5oIicsCiAgICAgICAgICdXZWJLaXQ6OldlYktleWJv
YXJkRXZlbnQnOiAnIldlYkV2ZW50LmgiJywKICAgICAgICAgJ1dlYktpdDo6V2ViTW91c2VFdmVu
dCc6ICciV2ViRXZlbnQuaCInLAogICAgICAgICAnV2ViS2l0OjpXZWJUb3VjaEV2ZW50JzogJyJX
ZWJFdmVudC5oIicsCiAgICAgICAgICdXZWJLaXQ6OldlYldoZWVsRXZlbnQnOiAnIldlYkV2ZW50
LmgiJywKKwogICAgIH0KICAgICBpZiB0eXBlIGluIHNwZWNpYWxfY2FzZXM6CiAgICAgICAgIHJl
dHVybiBbc3BlY2lhbF9jYXNlc1t0eXBlXV0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCA2N2FlMjNhLi5lYmFlZTM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC00MSwyMSArNDEsMzMg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0VkaXRvckNsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL0lkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9MZW5ndGguaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01hdHJpeFRyYW5zZm9y
bU9wZXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRp
b24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90
ZWN0aW9uU3BhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUm90YXRl
VHJhbnNmb3JtT3BlcmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TY2FsZVRyYW5zZm9ybU9w
ZXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvVGV4dENoZWNrZXJDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1RpbWluZ0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2xhdGVUcmFuc2Zvcm1P
cGVyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9UcmFuc2Zvcm1PcGVyYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1RyYW5zZm9ybU9wZXJhdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZpZXdwb3J0QXJndW1l
bnRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dGZWF0dXJlcy5oPgogI2luY2x1ZGUgPGxp
bWl0cz4KIAogCisKKwogbmFtZXNwYWNlIENvcmVJUEMgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6OkludFBvaW50PiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2Vi
Q29yZTo6SW50UG9pbnQ+IHsgfTsKQEAgLTcxLDYgKzgzLDE0IEBAIHRlbXBsYXRlPD4gc3RydWN0
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbj4gOiBTaW1w
bGVBcmd1CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlN0ZXBzVGlt
aW5nRnVuY3Rpb24+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpTdGVwc1RpbWluZ0Z1
bmN0aW9uPiB7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRy
YW5zZm9ybWF0aW9uTWF0cml4PiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNm
b3JtYXRpb25NYXRyaXg+IHsgfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxX
ZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxX
ZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24+IDogU2lt
cGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbj4geyB9
OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQZXJzcGVjdGl2ZVRy
YW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBlcnNwZWN0
aXZlVHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4geyB9OwordGVtcGxhdGU8PiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj4gOiBT
aW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlNrZXdUcmFuc2Zvcm1P
cGVyYXRpb24+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3Bl
cmF0aW9uPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRy
YW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6
OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4geyB9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6Ok1pbWVDbGFzc0luZm8+IHsKICAgICBzdGF0aWMgdm9pZCBl
bmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpNaW1lQ2xhc3NJ
bmZvJiBtaW1lQ2xhc3NJbmZvKQogICAgIHsKQEAgLTU2Miw2ICs1ODIsMTYwIEBAIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uPiA+
IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0cjxX
ZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+ID4geworICAgIHRlbXBsYXRlPGNsYXNzIFQ+Cisg
ICAgc3RhdGljIGJvb2wgZGVjb2RlT3BlcmF0aW9uKEFyZ3VtZW50RGVjb2RlciogZGVjb2Rlciwg
UmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4mIG9wZXJhdGlvbiwgUGFzc1JlZlB0
cjxUPiBuZXdPcGVyYXRpb24pCisgICAgeworICAgICAgICBpZiAoIUFyZ3VtZW50Q29kZXI8VD46
OmRlY29kZShkZWNvZGVyLCAqbmV3T3BlcmF0aW9uLmdldCgpKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgb3BlcmF0aW9uID0gbmV3T3BlcmF0aW9uLmdldCgpOworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgIHN0YXRp
YyB2b2lkIGVuY29kZU9wZXJhdGlvbihBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdl
YkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbiogb3BlcmF0aW9uKQorICAgIHsKKyAgICAgICAgQXJn
dW1lbnRDb2RlcjxUPjo6ZW5jb2RlKGVuY29kZXIsICpzdGF0aWNfY2FzdDxjb25zdCBUKj4ob3Bl
cmF0aW9uKSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2Rl
ciogZW5jb2RlciwgY29uc3QgUmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4mIG9w
ZXJhdGlvbikKKyAgICB7CisgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gZW5jb2RlIG51bGwt
cmVmZXJlbmNlcy4KKyAgICAgICAgQVNTRVJUKG9wZXJhdGlvbik7CisKKyAgICAgICAgV2ViQ29y
ZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlIHR5cGUgPSBvcGVyYXRpb24tPmdl
dE9wZXJhdGlvblR5cGUoKTsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlSW50MzIodHlwZSk7Cisg
ICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbjo6U0NBTEU6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9u
OjpTQ0FMRV9YOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0NB
TEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1o6
CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV8zRDoKKyAg
ICAgICAgICAgIGVuY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlv
bj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFOgorICAgICAg
ICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1g6CisgICAgICAg
IGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfWToKKyAgICAgICAg
Y2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV9aOgorICAgICAgICBj
YXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFXzNEOgorICAgICAgICAg
ICAgZW5jb2RlT3BlcmF0aW9uPFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4o
ZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFOgorICAgICAgICBjYXNl
IFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFX1g6CisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3Jl
OjpUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURV8zRDoKKyAgICAgICAgICAgIGVuY29kZU9wZXJh
dGlvbjxXZWJDb3JlOjpSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24+KGVuY29kZXIsIG9wZXJhdGlv
bi5nZXQoKSk7CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpU
cmFuc2Zvcm1PcGVyYXRpb246OlNLRVc6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3Jt
T3BlcmF0aW9uOjpTS0VXX1g6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0
aW9uOjpTS0VXX1k6CisgICAgICAgICAgICBlbmNvZGVPcGVyYXRpb248V2ViQ29yZTo6U2tld1Ry
YW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6TUFU
UklYOgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0aW9uPFdlYkNvcmU6Ok1hdHJpeFRyYW5zZm9y
bU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYXzNE
OgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0aW9uPFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3Jt
T3BlcmF0aW9uPihlbmNvZGVyLCBvcGVyYXRpb24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpQRVJTUEVDVElW
RToKKyAgICAgICAgICAgIGVuY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpQZXJzcGVjdGl2ZVRyYW5z
Zm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6SURFTlRJ
VFk6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpOT05FOgorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgUmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbj4mIG9wZXJhdGlvbikKKyAgICB7CisgICAgICAgIFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbjo6T3BlcmF0aW9uVHlwZSB0eXBlOworICAgICAgICBpbnQgdHlwZUludDsKKyAgICAg
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVJbnQzMih0eXBlSW50KSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgdHlwZSA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbjo6T3BlcmF0aW9uVHlwZT4odHlwZUludCk7CisgICAgICAgIHN3aXRjaCAodHlwZSkg
eworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEU6CisgICAg
ICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV9YOgorICAgICAgICBj
YXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEVfWToKKyAgICAgICAgY2FzZSBX
ZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1o6CisgICAgICAgIGNhc2UgV2ViQ29y
ZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV8zRDoKKyAgICAgICAgICAgIHJldHVybiBkZWNv
ZGVPcGVyYXRpb248V2ViQ29yZTo6U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24+KGRlY29kZXIsIG9w
ZXJhdGlvbiwgV2ViQ29yZTo6U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgxLjAsIDEu
MCwgdHlwZSkpOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpU
UkFOU0xBVEU6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFO
U0xBVEVfWDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5T
TEFURV9ZOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNM
QVRFX1o6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xB
VEVfM0Q6CisgICAgICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPFdlYkNvcmU6OlRyYW5z
bGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpUcmFu
c2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZShXZWJDb3JlOjpMZW5ndGgoMCwgV2ViQ29y
ZTo6Rml4ZWQpLCBXZWJDb3JlOjpMZW5ndGgoMCwgV2ViQ29yZTo6Rml4ZWQpLCB0eXBlKSk7CisK
KyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURToKKyAgICAg
ICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURV9YOgorICAgICAgICBj
YXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFX1k6CisgICAgICAgIGNhc2Ug
V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfM0Q6CisgICAgICAgICAgICByZXR1
cm4gZGVjb2RlT3BlcmF0aW9uPFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZGVj
b2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0
ZSgwLjAsIHR5cGUpKTsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlv
bjo6U0tFVzoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNLRVdf
WDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNLRVdfWToKKyAg
ICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6U2tld1RyYW5zZm9ybU9w
ZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0
aW9uOjpjcmVhdGUoMC4wLCAwLjAsIHR5cGUpKTsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRy
YW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYOgorICAgICAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJh
dGlvbjxXZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlv
biwgV2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoV2ViQ29yZTo6VHJh
bnNmb3JtYXRpb25NYXRyaXgoKSkpOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3Jt
T3BlcmF0aW9uOjpNQVRSSVhfM0Q6CisgICAgICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9u
PFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uPihkZWNvZGVyLCBvcGVyYXRpb24s
IFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoV2ViQ29yZTo6VHJh
bnNmb3JtYXRpb25NYXRyaXgoKSkpOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3Jt
T3BlcmF0aW9uOjpQRVJTUEVDVElWRToKKyAgICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRp
b248V2ViQ29yZTo6UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24+KGRlY29kZXIsIG9wZXJh
dGlvbiwgV2ViQ29yZTo6UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZShXZWJD
b3JlOjpMZW5ndGgoMCwgV2ViQ29yZTo6Rml4ZWQpKSk7CisKKyAgICAgICAgY2FzZSBXZWJDb3Jl
OjpUcmFuc2Zvcm1PcGVyYXRpb246OklERU5USVRZOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRy
YW5zZm9ybU9wZXJhdGlvbjo6Tk9ORToKKyAgICAgICAgICAgIG9wZXJhdGlvbiA9IFdlYkNvcmU6
OklkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoKTsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK307CisK
K3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0
aW9ucz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIs
IGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbnMmIG9wZXJhdGlvbnMpCisgICAgewor
ICAgICAgICBXVEY6OlZlY3RvcjxSZWZQdHI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiA+
IG9wZXJhdGlvbnNWZWN0b3IgPSBvcGVyYXRpb25zLm9wZXJhdGlvbnMoKTsKKyAgICAgICAgaW50
IHNpemUgPSBvcGVyYXRpb25zVmVjdG9yLnNpemUoKTsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2Rl
SW50MzIoc2l6ZSk7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAg
ICAgICAgICAgQXJndW1lbnRDb2RlcjxSZWZQdHI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9u
PiA+OjplbmNvZGUoZW5jb2Rlciwgb3BlcmF0aW9uc1ZlY3RvcltpXSk7CisgICAgfQorCisgICAg
c3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2ViQ29yZTo6VHJh
bnNmb3JtT3BlcmF0aW9ucyYgb3BlcmF0aW9ucykKKyAgICB7CisgICAgICAgIGludCBzaXplOwor
ICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUludDMyKHNpemUpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIFdURjo6VmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zv
cm1PcGVyYXRpb24+ID4mIG9wZXJhdGlvblZlY3RvciA9IG9wZXJhdGlvbnMub3BlcmF0aW9ucygp
OworICAgICAgICBvcGVyYXRpb25WZWN0b3IuY2xlYXIoKTsKKyAgICAgICAgb3BlcmF0aW9uVmVj
dG9yLnJlc2l6ZShzaXplKTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyArK2kp
IHsKKyAgICAgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+IG9wZXJh
dGlvbjsKKyAgICAgICAgICAgIGlmICghQXJndW1lbnRDb2RlcjxSZWZQdHI8V2ViQ29yZTo6VHJh
bnNmb3JtT3BlcmF0aW9uPiA+OjpkZWNvZGUoZGVjb2Rlciwgb3BlcmF0aW9uKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBvcGVyYXRpb25WZWN0b3JbaV0gPSBv
cGVyYXRpb247CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cit9Owor
CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6QW5pbWF0aW9uPiB7
CiAgICAgc3RhdGljIGJvb2wgZW5jb2RlQm9vbEFuZFJldHVyblZhbHVlKEFyZ3VtZW50RW5jb2Rl
ciogZW5jb2RlciwgYm9vbCB2YWx1ZSkKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95349</attachid>
            <date>2011-05-30 09:53:38 -0700</date>
            <delta_ts>2011-05-30 12:37:48 -0700</delta_ts>
            <desc>Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder</desc>
            <filename>patch1.diff</filename>
            <type>text/plain</type>
            <size>2972</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzODFhMjYyLi5iZWU4MmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDUtMjkgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzc21hbi4KKworICAgICAgICBXZWJL
aXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXBy
b2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgQWRkIFdlYkNvcmU6Okxlbmd0
aCBhbmQgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggdG8gdGhlIHR5cGVzIHRoYXQgdXNl
IFNpbXBsZUFyZ3VtZW50Q29kZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdDIvbWVzc2Fn
ZXMucHk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorCiAyMDEx
LTA1LTI2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TY3Jp
cHRzL3dlYmtpdDIvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIv
bWVzc2FnZXMucHkKaW5kZXggMzNkZWQ2ZC4uYzg0Y2NiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQyL1Nj
cmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQpAQCAtMjU1LDggKzI1NSwxMCBAQCBkZWYgc3RydWN0
X29yX2NsYXNzKG5hbWVzcGFjZSwgdHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpDb21wb3NpdGlv
blVuZGVybGluZScsCiAgICAgICAgICdXZWJDb3JlOjpHcmFtbWFyRGV0YWlsJywKICAgICAgICAg
J1dlYkNvcmU6OktleXByZXNzQ29tbWFuZCcsCisgICAgICAgICdXZWJDb3JlOjpMZW5ndGgnLAog
ICAgICAgICAnV2ViQ29yZTo6UGx1Z2luSW5mbycsCiAgICAgICAgICdXZWJDb3JlOjpQcmludElu
Zm8nLAorICAgICAgICAnV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgnLAogICAgICAgICAn
V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMnLAogICAgICAgICAnV2ViQ29yZTo6V2luZG93RmVh
dHVyZXMnLAogICAgICAgICAnV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCAxYjliNGY1Li45YzYw
NGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
CkBAIC00MiwxNSArNDIsMTggQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9h
cmRFdmVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTGVuZ3RoLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9QbHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291
cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dENoZWNrZXJDbGllbnQuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9WaWV3cG9ydEFyZ3VtZW50cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMu
aD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKKwogbmFtZXNwYWNlIENvcmVJUEMgewogCiB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkludFBvaW50PiA6IFNpbXBsZUFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6SW50UG9pbnQ+IHsgfTsKQEAgLTYxLDYgKzY0LDggQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4gOiBT
aW1wbGVBcmd1bWVudENvZGUKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6RmxvYXRQb2ludD4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UG9pbnQ+
IHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRTaXpl
PiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRTaXplPiB7IH07CiB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UmVjdD4gOiBTaW1wbGVBcmd1
bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UmVjdD4geyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJn
dW1lbnRDb2RlcjxXZWJDb3JlOjpMZW5ndGg+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpMZW5ndGg+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
VHJhbnNmb3JtYXRpb25NYXRyaXg+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFu
c2Zvcm1hdGlvbk1hdHJpeD4geyB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6Ok1pbWVDbGFzc0luZm8+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1l
bnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpNaW1lQ2xhc3NJbmZvJiBtaW1lQ2xh
c3NJbmZvKQo=
</data>
<flag name="commit-queue"
          id="88822"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95350</attachid>
            <date>2011-05-30 10:10:41 -0700</date>
            <delta_ts>2011-05-30 13:32:40 -0700</delta_ts>
            <desc>Patch 2: Serialize TimingFunction</desc>
            <filename>patch2.diff</filename>
            <type>text/plain</type>
            <size>6038</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjNGU3YWQ0Li41ZmFjODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMDUtMzAgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzc21hbi4KKworICAgICAgICBXZWJL
aXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXBy
b2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgQWRkZWQgYSBwdWJsaWMgVGlt
aW5nRnVuY3Rpb246OnR5cGUoKSBtZXRob2QuCisKKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxp
dHksIHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9UaW1p
bmdGdW5jdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OnR5cGUpOgor
CiAyMDExLTA1LTI2ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCmluZGV4IDVhYjNjMWMuLmQ2YzgzMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlv
bi5oCkBAIC0zNyw2ICszNyw4IEBAIHB1YmxpYzoKICAgICB9OwogICAgIAogICAgIHZpcnR1YWwg
flRpbWluZ0Z1bmN0aW9uKCkgeyB9CisKKyAgICBUaW1pbmdGdW5jdGlvblR5cGUgdHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIAogICAgIGJvb2wgaXNMaW5lYXJUaW1pbmdGdW5j
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBMaW5lYXJGdW5jdGlvbjsgfQogICAgIGJv
b2wgaXNDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09
IEN1YmljQmV6aWVyRnVuY3Rpb247IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzODFhMjYyLi5iZWU4MmU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDUtMjkgIE5vJ2FtIFJvc2VudGhhbCAg
PG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBI
YXVzc21hbi4KKworICAgICAgICBXZWJLaXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0
eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXByb2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAg
ICAgICAgQWRkIGFuIEFyZ3VtZW50Q29kZXIgZm9yIFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uLiBU
aGlzIHNlcmlhbGl6ZXIgY2FuIGNyZWF0ZSB0aGUgYXBwcm9wcmlhdGUKKyAgICAgICAgVGltaW5n
RnVuY3Rpb24gc3ViY2xhc3MgYmFzZWQgb24gdGhlIHR5cGUgb2YgdGltaW5nIGZ1bmN0aW9uLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKwogMjAxMS0wNS0yNiAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgoKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkg
Yi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKaW5kZXggYzg0Y2Ni
OS4uZmZlMWVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21l
c3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5w
eQpAQCAtMjU4LDYgKzI1OCw3IEBAIGRlZiBzdHJ1Y3Rfb3JfY2xhc3MobmFtZXNwYWNlLCB0eXBl
KToKICAgICAgICAgJ1dlYkNvcmU6Okxlbmd0aCcsCiAgICAgICAgICdXZWJDb3JlOjpQbHVnaW5J
bmZvJywKICAgICAgICAgJ1dlYkNvcmU6OlByaW50SW5mbycsCisgICAgICAgICdXZWJDb3JlOjpU
aW1pbmdGdW5jdGlvbicsCiAgICAgICAgICdXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCcs
CiAgICAgICAgICdXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cycsCiAgICAgICAgICdXZWJDb3Jl
OjpXaW5kb3dGZWF0dXJlcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgKaW5kZXggOWM2MDRjMS4uY2ZlYjRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvVGltaW5nRnVuY3Rpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9y
bWF0aW9uTWF0cml4Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3VtZW50cy5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMuaD4KQEAgLTQ4NSw2ICs0ODYsNzkgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1
bHQ+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0
cjxXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFy
Z3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgUmVmUHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0
aW9uPiYgZnVuY3Rpb24pCisgICAgeworICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGVuY29k
ZSBudWxsLXJlZmVyZW5jZXMuCisgICAgICAgIEFTU0VSVChmdW5jdGlvbik7CisKKyAgICAgICAg
V2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OlRpbWluZ0Z1bmN0aW9uVHlwZSB0eXBlID0gZnVuY3Rp
b24tPnR5cGUoKTsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlSW50MzIodHlwZSk7CisgICAgICAg
IHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpM
aW5lYXJGdW5jdGlvbjoKKyAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VGlt
aW5nRnVuY3Rpb246OkN1YmljQmV6aWVyRnVuY3Rpb246IHsKKyAgICAgICAgICAgIFdlYkNvcmU6
OkN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24qIGN1YmljRnVuY3Rpb24gPSBzdGF0aWNfY2FzdDxX
ZWJDb3JlOjpDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uKj4oZnVuY3Rpb24uZ2V0KCkpOworICAg
ICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91YmxlKGN1YmljRnVuY3Rpb24tPngxKCkpOworICAg
ICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91YmxlKGN1YmljRnVuY3Rpb24tPnkxKCkpOworICAg
ICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91YmxlKGN1YmljRnVuY3Rpb24tPngyKCkpOworICAg
ICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91YmxlKGN1YmljRnVuY3Rpb24tPnkyKCkpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUaW1pbmdG
dW5jdGlvbjo6U3RlcHNGdW5jdGlvbjogeworICAgICAgICAgICAgV2ViQ29yZTo6U3RlcHNUaW1p
bmdGdW5jdGlvbiogc3RlcHNGdW5jdGlvbiA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlN0ZXBzVGlt
aW5nRnVuY3Rpb24qPihmdW5jdGlvbi5nZXQoKSk7CisgICAgICAgICAgICBlbmNvZGVyLT5lbmNv
ZGVJbnQzMihzdGVwc0Z1bmN0aW9uLT5udW1iZXJPZlN0ZXBzKCkpOworICAgICAgICAgICAgZW5j
b2Rlci0+ZW5jb2RlQm9vbChzdGVwc0Z1bmN0aW9uLT5zdGVwQXRTdGFydCgpKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZWZQdHI8V2ViQ29yZTo6VGltaW5n
RnVuY3Rpb24+JiBmdW5jdGlvbikKKyAgICB7CisgICAgICAgIFdlYkNvcmU6OlRpbWluZ0Z1bmN0
aW9uOjpUaW1pbmdGdW5jdGlvblR5cGUgdHlwZTsKKyAgICAgICAgaW50IHR5cGVJbnQ7CisgICAg
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlSW50MzIodHlwZUludCkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgdHlwZSA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlRpbWluZ0Z1
bmN0aW9uOjpUaW1pbmdGdW5jdGlvblR5cGU+KHR5cGVJbnQpOworICAgICAgICBzd2l0Y2ggKHR5
cGUpIHsKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbjo6TGluZWFyRnVuY3Rp
b246CisgICAgICAgICAgICBmdW5jdGlvbiA9IFdlYkNvcmU6OkxpbmVhclRpbWluZ0Z1bmN0aW9u
OjpjcmVhdGUoKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6VGltaW5nRnVuY3Rpb246OkN1YmljQmV6aWVyRnVuY3Rpb246IHsKKyAgICAgICAgICAg
IGRvdWJsZSB4MSwgeTEsIHgyLCB5MjsKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
RG91YmxlKHgxKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBp
ZiAoIWRlY29kZXItPmRlY29kZURvdWJsZSh5MSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVEb3VibGUoeDIpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
RG91YmxlKHkyKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBm
dW5jdGlvbiA9IFdlYkNvcmU6OkN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OmNyZWF0ZSh4MSwg
eTEsIHgyLCB5Mik7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAg
ICAgIGNhc2UgV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OlN0ZXBzRnVuY3Rpb246IHsKKyAgICAg
ICAgICAgIGludCBudW1TdGVwczsKKyAgICAgICAgICAgIGJvb2wgc3RlcEF0U3RhcnQ7CisgICAg
ICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUludDMyKG51bVN0ZXBzKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUJvb2wo
c3RlcEF0U3RhcnQpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAg
ICAgZnVuY3Rpb24gPSBXZWJDb3JlOjpTdGVwc1RpbWluZ0Z1bmN0aW9uOjpjcmVhdGUobnVtU3Rl
cHMsIHN0ZXBBdFN0YXJ0KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisK
KyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9OworCiB9IC8vIG5h
bWVzcGFjZSBDb3JlSVBDCiAKICNlbmRpZiAvLyBXZWJDb3JlQXJndW1lbnRDb2RlcnNfaAo=
</data>
<flag name="commit-queue"
          id="88823"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95354</attachid>
            <date>2011-05-30 10:39:41 -0700</date>
            <delta_ts>2011-05-30 15:40:50 -0700</delta_ts>
            <desc>Patch 3: ArgumentCoder for WebCore::Animation</desc>
            <filename>patch3.diff</filename>
            <type>text/plain</type>
            <size>7944</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjNGU3YWQ0Li41ZmFjODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMDUtMzAgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzc21hbi4KKworICAgICAgICBXZWJL
aXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXBy
b2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgRXhwb3NlIGEgcHVibGljIGNs
ZWFyQWxsKCkgZnVuY3Rpb24gdG8gcmVzZXQgV2ViQ29yZTo6QW5pbWF0aW9uLgorCisgICAgICAg
IE5vIG5ldyBmdW5jdGlvbmFsaXR5LCBzbyBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb246
OmNsZWFyQWxsKToKKwogMjAxMS0wNS0yNiAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5v
cmc+CgogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgKaW5kZXggZDE2Zjc0Yy4uZDIxMTM3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb24uaApAQCAt
ODEsNiArODEsMTkgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJQcm9wZXJ0eSgpIHsgbV9wcm9w
ZXJ0eVNldCA9IGZhbHNlOyB9CiAgICAgdm9pZCBjbGVhclRpbWluZ0Z1bmN0aW9uKCkgeyBtX3Rp
bWluZ0Z1bmN0aW9uU2V0ID0gZmFsc2U7IH0KIAorICAgIHZvaWQgY2xlYXJBbGwoKQorICAgIHsK
KyAgICAgICAgY2xlYXJEZWxheSgpOworICAgICAgICBjbGVhckRpcmVjdGlvbigpOworICAgICAg
ICBjbGVhckR1cmF0aW9uKCk7CisgICAgICAgIGNsZWFyRmlsbE1vZGUoKTsKKyAgICAgICAgY2xl
YXJJdGVyYXRpb25Db3VudCgpOworICAgICAgICBjbGVhck5hbWUoKTsKKyAgICAgICAgY2xlYXJQ
bGF5U3RhdGUoKTsKKyAgICAgICAgY2xlYXJQcm9wZXJ0eSgpOworICAgICAgICBjbGVhclRpbWlu
Z0Z1bmN0aW9uKCk7CisgICAgfQorCiAgICAgZG91YmxlIGRlbGF5KCkgY29uc3QgeyByZXR1cm4g
bV9kZWxheTsgfQogCiAgICAgZW51bSBBbmltYXRpb25EaXJlY3Rpb24geyBBbmltYXRpb25EaXJl
Y3Rpb25Ob3JtYWwsIEFuaW1hdGlvbkRpcmVjdGlvbkFsdGVybmF0ZSB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDM4MWEyNjIuLmJlZTgyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNS0y
OSAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEhhdXNzbWFuLgorCisgICAgICAgIFdlYktpdDI6IEVuYWJsZSBz
ZXJpYWxpemluZyBvZiBkYXRhIHR5cGVzIG5lZWRlZCBmb3IgY3Jvc3MtcHJvY2VzcyBhY2NlbGVy
YXRlZCBjb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjE2OTQKKworICAgICAgICBDcmVhdGUgYW4gQXJndW1lbnRDb2RlciBmb3IgV2Vi
Q29yZTo6QW5pbWF0aW9uLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKwogMjAxMS0wNS0y
NiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgoKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dl
YmtpdDIvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2Fn
ZXMucHkKaW5kZXggZmZlMWVkMC4uMWY3MDYwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMv
d2Via2l0Mi9tZXNzYWdlcy5weQpAQCAtMjUxLDYgKzI1MSw3IEBAIGRlZiBtZXNzYWdlX3RvX3N0
cnVjdF9kZWNsYXJhdGlvbihtZXNzYWdlKToKIAogZGVmIHN0cnVjdF9vcl9jbGFzcyhuYW1lc3Bh
Y2UsIHR5cGUpOgogICAgIHN0cnVjdHMgPSBmcm96ZW5zZXQoWworICAgICAgICAnV2ViQ29yZTo6
QW5pbWF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6OkVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQn
LAogICAgICAgICAnV2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmUnLAogICAgICAgICAnV2Vi
Q29yZTo6R3JhbW1hckRldGFpbCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKaW5kZXggY2ZlYjRkMi4uOTVmZWM4NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgogI2luY2x1ZGUgIkFyZ3VtZW50cy5oIgogI2luY2x1
ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQW5pbWF0aW9uLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvQml0bWFwSW1hZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NyZWRlbnRpYWwuaD4KQEAg
LTU1OSw2ICs1NjAsMTIyIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRy
PFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uPiA+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFuaW1hdGlvbj4geworICAgIHN0YXRpYyBib29s
IGVuY29kZUJvb2xBbmRSZXR1cm5WYWx1ZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGJvb2wg
dmFsdWUpCisgICAgeworICAgICAgICBlbmNvZGVyLT5lbmNvZGVCb29sKHZhbHVlKTsKKyAgICAg
ICAgcmV0dXJuIHZhbHVlOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlQm9vbEFuZFZhbHVlKEFyZ3VtZW50RW5jb2RlciogZW5jb2Rlciwg
Ym9vbCBpc1NldCwgY29uc3QgVCYgdmFsdWUpCisgICAgeworICAgICAgICBpZiAoZW5jb2RlQm9v
bEFuZFJldHVyblZhbHVlKGVuY29kZXIsIGlzU2V0KSkKKyAgICAgICAgICAgIGVuY29kZXItPmVu
Y29kZTxUPih2YWx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlQm9vbEFuZFZh
bHVlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgYm9vbCYgaXNTZXQsIGRvdWJsZSYgdmFsdWUp
CisgICAgeworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUJvb2woaXNTZXQpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWlzU2V0KQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICAgICAgcmV0dXJuIGRlY29kZXItPmRlY29kZURvdWJsZSh2YWx1ZSk7
CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVC
b29sQW5kVmFsdWUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBib29sJiBpc1NldCwgVCYgdmFs
dWUpCisgICAgeworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUJvb2woaXNTZXQpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWlzU2V0KQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICAgICAgcmV0dXJuIEFyZ3VtZW50Q29kZXI8VD46OmRlY29kZShk
ZWNvZGVyLCB2YWx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlQm9vbEFuZFZh
bHVlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgYm9vbCYgaXNTZXQsIGludCYgdmFsdWUpCisg
ICAgeworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUJvb2woaXNTZXQpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWlzU2V0KQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICAgICAgcmV0dXJuIGRlY29kZXItPmRlY29kZUludDMyKHZhbHVlKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBj
b25zdCBXZWJDb3JlOjpBbmltYXRpb24mIGFuaW1hdGlvbikKKyAgICB7CisgICAgICAgIGVuY29k
ZUJvb2xBbmRWYWx1ZShlbmNvZGVyLCBhbmltYXRpb24uaXNEZWxheVNldCgpLCBhbmltYXRpb24u
ZGVsYXkoKSk7CisgICAgICAgIGVuY29kZUJvb2xBbmRWYWx1ZTxpbnQ+KGVuY29kZXIsIGFuaW1h
dGlvbi5pc0RpcmVjdGlvblNldCgpLCBhbmltYXRpb24uZGlyZWN0aW9uKCkpOworICAgICAgICBl
bmNvZGVCb29sQW5kVmFsdWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzRHVyYXRpb25TZXQoKSwgYW5p
bWF0aW9uLmR1cmF0aW9uKCkpOworICAgICAgICBlbmNvZGVCb29sQW5kVmFsdWUoZW5jb2Rlciwg
YW5pbWF0aW9uLmlzRmlsbE1vZGVTZXQoKSwgYW5pbWF0aW9uLmZpbGxNb2RlKCkpOworICAgICAg
ICBlbmNvZGVCb29sQW5kVmFsdWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzSXRlcmF0aW9uQ291bnRT
ZXQoKSwgYW5pbWF0aW9uLml0ZXJhdGlvbkNvdW50KCkpOworCisgICAgICAgIGlmIChlbmNvZGVC
b29sQW5kUmV0dXJuVmFsdWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzTmFtZVNldCgpKSkKKyAgICAg
ICAgICAgIEFyZ3VtZW50Q29kZXI8U3RyaW5nPjo6ZW5jb2RlKGVuY29kZXIsIGFuaW1hdGlvbi5u
YW1lKCkpOworCisgICAgICAgIGVuY29kZUJvb2xBbmRWYWx1ZTxpbnQ+KGVuY29kZXIsIGFuaW1h
dGlvbi5pc1BsYXlTdGF0ZVNldCgpLCBhbmltYXRpb24ucGxheVN0YXRlKCkpOworICAgICAgICBl
bmNvZGVCb29sQW5kVmFsdWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzUHJvcGVydHlTZXQoKSwgYW5p
bWF0aW9uLnByb3BlcnR5KCkpOworCisgICAgICAgIGlmIChlbmNvZGVCb29sQW5kUmV0dXJuVmFs
dWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzVGltaW5nRnVuY3Rpb25TZXQoKSkpCisgICAgICAgICAg
ICBBcmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPjo6ZW5jb2Rl
KGVuY29kZXIsIGFuaW1hdGlvbi50aW1pbmdGdW5jdGlvbigpKTsKKyAgICAgICAgZW5jb2Rlci0+
ZW5jb2RlQm9vbChhbmltYXRpb24uaXNOb25lQW5pbWF0aW9uKCkpOworICAgIH0KKworICAgIHN0
YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYkNvcmU6OkFuaW1h
dGlvbiYgYW5pbWF0aW9uKQorICAgIHsKKyAgICAgICAgYm9vbCBpc0RlbGF5U2V0LCBpc0RpcmVj
dGlvblNldCwgaXNEdXJhdGlvblNldCwgaXNGaWxsTW9kZVNldCwgaXNJdGVyYXRpb25Db3VudFNl
dCwgaXNOYW1lU2V0LCBpc1BsYXlTdGF0ZVNldCwgaXNQcm9wZXJ0eVNldCwgaXNUaW1pbmdGdW5j
dGlvblNldDsKKyAgICAgICAgaW50IHByb3BlcnR5LCBpdGVyYXRpb25Db3VudCwgZGlyZWN0aW9u
LCBmaWxsTW9kZSwgcGxheVN0YXRlOworICAgICAgICBkb3VibGUgZGVsYXksIGR1cmF0aW9uOwor
ICAgICAgICBSZWZQdHI8V2ViQ29yZTo6VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uOwor
ICAgICAgICBTdHJpbmcgbmFtZTsKKworICAgICAgICBhbmltYXRpb24uY2xlYXJBbGwoKTsKKwor
ICAgICAgICBpZiAoIWRlY29kZUJvb2xBbmRWYWx1ZShkZWNvZGVyLCBpc0RlbGF5U2V0LCBkZWxh
eSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghZGVjb2RlQm9vbEFu
ZFZhbHVlKGRlY29kZXIsIGlzRGlyZWN0aW9uU2V0LCBkaXJlY3Rpb24pKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWRlY29kZUJvb2xBbmRWYWx1ZShkZWNvZGVyLCBp
c0R1cmF0aW9uU2V0LCBkdXJhdGlvbikpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIGlmICghZGVjb2RlQm9vbEFuZFZhbHVlKGRlY29kZXIsIGlzRmlsbE1vZGVTZXQsIGZpbGxN
b2RlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFkZWNvZGVCb29s
QW5kVmFsdWUoZGVjb2RlciwgaXNJdGVyYXRpb25Db3VudFNldCwgaXRlcmF0aW9uQ291bnQpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWRlY29kZUJvb2xBbmRWYWx1
ZTxTdHJpbmc+KGRlY29kZXIsIGlzTmFtZVNldCwgbmFtZSkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIGlmICghZGVjb2RlQm9vbEFuZFZhbHVlKGRlY29kZXIsIGlzUGxheVN0
YXRlU2V0LCBwbGF5U3RhdGUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBp
ZiAoIWRlY29kZUJvb2xBbmRWYWx1ZShkZWNvZGVyLCBpc1Byb3BlcnR5U2V0LCBwcm9wZXJ0eSkp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghZGVjb2RlQm9vbEFuZFZh
bHVlPFJlZlB0cjxXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPihkZWNvZGVyLCBpc1RpbWluZ0Z1
bmN0aW9uU2V0LCB0aW1pbmdGdW5jdGlvbikpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgaWYgKGlzRGVsYXlTZXQpCisgICAgICAgICAgICBhbmltYXRpb24uc2V0RGVsYXko
ZGVsYXkpOworICAgICAgICBpZiAoaXNEaXJlY3Rpb25TZXQpCisgICAgICAgICAgICBhbmltYXRp
b24uc2V0RGlyZWN0aW9uKHN0YXRpY19jYXN0PFdlYkNvcmU6OkFuaW1hdGlvbjo6QW5pbWF0aW9u
RGlyZWN0aW9uPihkaXJlY3Rpb24pKTsKKyAgICAgICAgaWYgKGlzRHVyYXRpb25TZXQpCisgICAg
ICAgICAgICBhbmltYXRpb24uc2V0RHVyYXRpb24oZHVyYXRpb24pOworICAgICAgICBpZiAoaXNG
aWxsTW9kZVNldCkKKyAgICAgICAgICAgIGFuaW1hdGlvbi5zZXRGaWxsTW9kZShmaWxsTW9kZSk7
CisgICAgICAgIGlmIChpc0l0ZXJhdGlvbkNvdW50U2V0KQorICAgICAgICAgICAgYW5pbWF0aW9u
LnNldEl0ZXJhdGlvbkNvdW50KGl0ZXJhdGlvbkNvdW50KTsKKyAgICAgICAgaWYgKGlzTmFtZVNl
dCkKKyAgICAgICAgICAgIGFuaW1hdGlvbi5zZXROYW1lKG5hbWUpOworICAgICAgICBpZiAoaXNQ
bGF5U3RhdGVTZXQpCisgICAgICAgICAgICBhbmltYXRpb24uc2V0UGxheVN0YXRlKHN0YXRpY19j
YXN0PFdlYkNvcmU6OkVBbmltUGxheVN0YXRlPihwbGF5U3RhdGUpKTsKKyAgICAgICAgaWYgKGlz
UHJvcGVydHlTZXQpCisgICAgICAgICAgICBhbmltYXRpb24uc2V0UHJvcGVydHkocHJvcGVydHkp
OworICAgICAgICBpZiAoaXNUaW1pbmdGdW5jdGlvblNldCkKKyAgICAgICAgICAgIGFuaW1hdGlv
bi5zZXRUaW1pbmdGdW5jdGlvbih0aW1pbmdGdW5jdGlvbik7CisKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorfTsKKwogfSAvLyBuYW1lc3BhY2UgQ29yZUlQQwogCiAjZW5kaWYgLy8gV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95360</attachid>
            <date>2011-05-30 12:37:48 -0700</date>
            <delta_ts>2011-06-08 13:19:06 -0700</delta_ts>
            <desc>Patch 1: enable Length/TransformationMatrix via SimpleArgumentCoder</desc>
            <filename>patch1.diff</filename>
            <type>text/plain</type>
            <size>2972</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzODFhMjYyLi5iZWU4MmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDUtMjkgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBXZWJL
aXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXBy
b2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgQWRkIFdlYkNvcmU6Okxlbmd0
aCBhbmQgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggdG8gdGhlIHR5cGVzIHRoYXQgdXNl
IFNpbXBsZUFyZ3VtZW50Q29kZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdDIvbWVzc2Fn
ZXMucHk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorCiAyMDEx
LTA1LTI2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TY3Jp
cHRzL3dlYmtpdDIvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIv
bWVzc2FnZXMucHkKaW5kZXggMzNkZWQ2ZC4uYzg0Y2NiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQyL1Nj
cmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQpAQCAtMjU1LDggKzI1NSwxMCBAQCBkZWYgc3RydWN0
X29yX2NsYXNzKG5hbWVzcGFjZSwgdHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpDb21wb3NpdGlv
blVuZGVybGluZScsCiAgICAgICAgICdXZWJDb3JlOjpHcmFtbWFyRGV0YWlsJywKICAgICAgICAg
J1dlYkNvcmU6OktleXByZXNzQ29tbWFuZCcsCisgICAgICAgICdXZWJDb3JlOjpMZW5ndGgnLAog
ICAgICAgICAnV2ViQ29yZTo6UGx1Z2luSW5mbycsCiAgICAgICAgICdXZWJDb3JlOjpQcmludElu
Zm8nLAorICAgICAgICAnV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgnLAogICAgICAgICAn
V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMnLAogICAgICAgICAnV2ViQ29yZTo6V2luZG93RmVh
dHVyZXMnLAogICAgICAgICAnV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCAxYjliNGY1Li45YzYw
NGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
CkBAIC00MiwxNSArNDIsMTggQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9h
cmRFdmVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTGVuZ3RoLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9QbHVnaW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291
cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dENoZWNrZXJDbGllbnQuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9WaWV3cG9ydEFyZ3VtZW50cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMu
aD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKKwogbmFtZXNwYWNlIENvcmVJUEMgewogCiB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkludFBvaW50PiA6IFNpbXBsZUFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6SW50UG9pbnQ+IHsgfTsKQEAgLTYxLDYgKzY0LDggQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4gOiBT
aW1wbGVBcmd1bWVudENvZGUKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6RmxvYXRQb2ludD4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UG9pbnQ+
IHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRTaXpl
PiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRTaXplPiB7IH07CiB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UmVjdD4gOiBTaW1wbGVBcmd1
bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UmVjdD4geyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJn
dW1lbnRDb2RlcjxXZWJDb3JlOjpMZW5ndGg+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpMZW5ndGg+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
VHJhbnNmb3JtYXRpb25NYXRyaXg+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFu
c2Zvcm1hdGlvbk1hdHJpeD4geyB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6Ok1pbWVDbGFzc0luZm8+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1l
bnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpNaW1lQ2xhc3NJbmZvJiBtaW1lQ2xh
c3NJbmZvKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95366</attachid>
            <date>2011-05-30 13:32:40 -0700</date>
            <delta_ts>2011-05-30 15:40:58 -0700</delta_ts>
            <desc>Patch 2: Serialize TimingFunction</desc>
            <filename>patch2.diff</filename>
            <type>text/plain</type>
            <size>6038</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjNGU3YWQ0Li41ZmFjODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMDUtMzAgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBXZWJL
aXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXBy
b2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgQWRkZWQgYSBwdWJsaWMgVGlt
aW5nRnVuY3Rpb246OnR5cGUoKSBtZXRob2QuCisKKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxp
dHksIHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9UaW1p
bmdGdW5jdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OnR5cGUpOgor
CiAyMDExLTA1LTI2ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCmluZGV4IDVhYjNjMWMuLmQ2YzgzMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlv
bi5oCkBAIC0zNyw2ICszNyw4IEBAIHB1YmxpYzoKICAgICB9OwogICAgIAogICAgIHZpcnR1YWwg
flRpbWluZ0Z1bmN0aW9uKCkgeyB9CisKKyAgICBUaW1pbmdGdW5jdGlvblR5cGUgdHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIAogICAgIGJvb2wgaXNMaW5lYXJUaW1pbmdGdW5j
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBMaW5lYXJGdW5jdGlvbjsgfQogICAgIGJv
b2wgaXNDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09
IEN1YmljQmV6aWVyRnVuY3Rpb247IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzODFhMjYyLi5iZWU4MmU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDUtMjkgIE5vJ2FtIFJvc2VudGhhbCAg
PG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBI
YXVzbWFubi4KKworICAgICAgICBXZWJLaXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0
eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXByb2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAg
ICAgICAgQWRkIGFuIEFyZ3VtZW50Q29kZXIgZm9yIFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uLiBU
aGlzIHNlcmlhbGl6ZXIgY2FuIGNyZWF0ZSB0aGUgYXBwcm9wcmlhdGUKKyAgICAgICAgVGltaW5n
RnVuY3Rpb24gc3ViY2xhc3MgYmFzZWQgb24gdGhlIHR5cGUgb2YgdGltaW5nIGZ1bmN0aW9uLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKwogMjAxMS0wNS0yNiAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgoKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkg
Yi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKaW5kZXggYzg0Y2Ni
OS4uZmZlMWVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21l
c3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5w
eQpAQCAtMjU4LDYgKzI1OCw3IEBAIGRlZiBzdHJ1Y3Rfb3JfY2xhc3MobmFtZXNwYWNlLCB0eXBl
KToKICAgICAgICAgJ1dlYkNvcmU6Okxlbmd0aCcsCiAgICAgICAgICdXZWJDb3JlOjpQbHVnaW5J
bmZvJywKICAgICAgICAgJ1dlYkNvcmU6OlByaW50SW5mbycsCisgICAgICAgICdXZWJDb3JlOjpU
aW1pbmdGdW5jdGlvbicsCiAgICAgICAgICdXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCcs
CiAgICAgICAgICdXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cycsCiAgICAgICAgICdXZWJDb3Jl
OjpXaW5kb3dGZWF0dXJlcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgKaW5kZXggOWM2MDRjMS4uY2ZlYjRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvVGltaW5nRnVuY3Rpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9y
bWF0aW9uTWF0cml4Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3VtZW50cy5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMuaD4KQEAgLTQ4NSw2ICs0ODYsNzkgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1
bHQ+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0
cjxXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFy
Z3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgUmVmUHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0
aW9uPiYgZnVuY3Rpb24pCisgICAgeworICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGVuY29k
ZSBudWxsLXJlZmVyZW5jZXMuCisgICAgICAgIEFTU0VSVChmdW5jdGlvbik7CisKKyAgICAgICAg
V2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OlRpbWluZ0Z1bmN0aW9uVHlwZSB0eXBlID0gZnVuY3Rp
b24tPnR5cGUoKTsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlSW50MzIodHlwZSk7CisgICAgICAg
IHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpM
aW5lYXJGdW5jdGlvbjoKKyAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VGlt
aW5nRnVuY3Rpb246OkN1YmljQmV6aWVyRnVuY3Rpb246IHsKKyAgICAgICAgICAgIFdlYkNvcmU6
OkN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24qIGN1YmljRnVuY3Rpb24gPSBzdGF0aWNfY2FzdDxX
ZWJDb3JlOjpDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uKj4oZnVuY3Rpb24uZ2V0KCkpOworICAg
ICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91YmxlKGN1YmljRnVuY3Rpb24tPngxKCkpOworICAg
ICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91YmxlKGN1YmljRnVuY3Rpb24tPnkxKCkpOworICAg
ICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91YmxlKGN1YmljRnVuY3Rpb24tPngyKCkpOworICAg
ICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRG91YmxlKGN1YmljRnVuY3Rpb24tPnkyKCkpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUaW1pbmdG
dW5jdGlvbjo6U3RlcHNGdW5jdGlvbjogeworICAgICAgICAgICAgV2ViQ29yZTo6U3RlcHNUaW1p
bmdGdW5jdGlvbiogc3RlcHNGdW5jdGlvbiA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlN0ZXBzVGlt
aW5nRnVuY3Rpb24qPihmdW5jdGlvbi5nZXQoKSk7CisgICAgICAgICAgICBlbmNvZGVyLT5lbmNv
ZGVJbnQzMihzdGVwc0Z1bmN0aW9uLT5udW1iZXJPZlN0ZXBzKCkpOworICAgICAgICAgICAgZW5j
b2Rlci0+ZW5jb2RlQm9vbChzdGVwc0Z1bmN0aW9uLT5zdGVwQXRTdGFydCgpKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZWZQdHI8V2ViQ29yZTo6VGltaW5n
RnVuY3Rpb24+JiBmdW5jdGlvbikKKyAgICB7CisgICAgICAgIFdlYkNvcmU6OlRpbWluZ0Z1bmN0
aW9uOjpUaW1pbmdGdW5jdGlvblR5cGUgdHlwZTsKKyAgICAgICAgaW50IHR5cGVJbnQ7CisgICAg
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlSW50MzIodHlwZUludCkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgdHlwZSA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlRpbWluZ0Z1
bmN0aW9uOjpUaW1pbmdGdW5jdGlvblR5cGU+KHR5cGVJbnQpOworICAgICAgICBzd2l0Y2ggKHR5
cGUpIHsKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbjo6TGluZWFyRnVuY3Rp
b246CisgICAgICAgICAgICBmdW5jdGlvbiA9IFdlYkNvcmU6OkxpbmVhclRpbWluZ0Z1bmN0aW9u
OjpjcmVhdGUoKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6VGltaW5nRnVuY3Rpb246OkN1YmljQmV6aWVyRnVuY3Rpb246IHsKKyAgICAgICAgICAg
IGRvdWJsZSB4MSwgeTEsIHgyLCB5MjsKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
RG91YmxlKHgxKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBp
ZiAoIWRlY29kZXItPmRlY29kZURvdWJsZSh5MSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVEb3VibGUoeDIpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
RG91YmxlKHkyKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBm
dW5jdGlvbiA9IFdlYkNvcmU6OkN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OmNyZWF0ZSh4MSwg
eTEsIHgyLCB5Mik7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAg
ICAgIGNhc2UgV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OlN0ZXBzRnVuY3Rpb246IHsKKyAgICAg
ICAgICAgIGludCBudW1TdGVwczsKKyAgICAgICAgICAgIGJvb2wgc3RlcEF0U3RhcnQ7CisgICAg
ICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUludDMyKG51bVN0ZXBzKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUJvb2wo
c3RlcEF0U3RhcnQpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAg
ICAgZnVuY3Rpb24gPSBXZWJDb3JlOjpTdGVwc1RpbWluZ0Z1bmN0aW9uOjpjcmVhdGUobnVtU3Rl
cHMsIHN0ZXBBdFN0YXJ0KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisK
KyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9OworCiB9IC8vIG5h
bWVzcGFjZSBDb3JlSVBDCiAKICNlbmRpZiAvLyBXZWJDb3JlQXJndW1lbnRDb2RlcnNfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95377</attachid>
            <date>2011-05-30 15:41:03 -0700</date>
            <delta_ts>2011-06-08 13:19:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-61694-20110530154102.patch</filename>
            <type>text/plain</type>
            <size>6153</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3NzAwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMzAgIE5vJ2FtIFJv
c2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBXZWJLaXQyOiBFbmFibGUgc2VyaWFsaXppbmcg
b2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXByb2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9z
aXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYx
Njk0CisKKyAgICAgICAgQWRkZWQgYSBwdWJsaWMgVGltaW5nRnVuY3Rpb246OnR5cGUoKSBtZXRo
b2QuCisKKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxpdHksIHNvIG5vIG5ldyB0ZXN0cy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OnR5cGUpOgorCiAyMDExLTA1LTMwICBOb2FtIFJvc2Vu
dGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBCVUlMRCBGSVggZm9y
IHI4NzY5NyBvbiBXaW5kb3dzL1N5bWJpYW4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCShyZXZpc2lvbiA4NzcwMCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNyw2ICszNyw4IEBAIHB1YmxpYzoKICAgICB9OwogICAgIAogICAgIHZp
cnR1YWwgflRpbWluZ0Z1bmN0aW9uKCkgeyB9CisKKyAgICBUaW1pbmdGdW5jdGlvblR5cGUgdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIAogICAgIGJvb2wgaXNMaW5lYXJUaW1p
bmdGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBMaW5lYXJGdW5jdGlvbjsgfQog
ICAgIGJvb2wgaXNDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlID09IEN1YmljQmV6aWVyRnVuY3Rpb247IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3
NzAwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTEtMDUtMzAgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5v
a2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAg
ICBXZWJLaXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNy
b3NzLXByb2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgQWRkIGFuIEFyZ3Vt
ZW50Q29kZXIgZm9yIFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uLiBUaGlzIHNlcmlhbGl6ZXIgY2Fu
IGNyZWF0ZSB0aGUgYXBwcm9wcmlhdGUKKyAgICAgICAgVGltaW5nRnVuY3Rpb24gc3ViY2xhc3Mg
YmFzZWQgb24gdGhlIHR5cGUgb2YgdGltaW5nIGZ1bmN0aW9uLgorCisgICAgICAgICogU2NyaXB0
cy93ZWJraXQyL21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaDoKKwogMjAxMS0wNS0zMCAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxA
bm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpJbmRleDog
U291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQkocmV2aXNpb24gODc3
MDApCisrKyBTb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkJKHdvcmtp
bmcgY29weSkKQEAgLTI1OCw2ICsyNTgsNyBAQCBkZWYgc3RydWN0X29yX2NsYXNzKG5hbWVzcGFj
ZSwgdHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpMZW5ndGgnLAogICAgICAgICAnV2ViQ29yZTo6
UGx1Z2luSW5mbycsCiAgICAgICAgICdXZWJDb3JlOjpQcmludEluZm8nLAorICAgICAgICAnV2Vi
Q29yZTo6VGltaW5nRnVuY3Rpb24nLAogICAgICAgICAnV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25N
YXRyaXgnLAogICAgICAgICAnV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMnLAogICAgICAgICAn
V2ViQ29yZTo6V2luZG93RmVhdHVyZXMnLApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAkocmV2aXNpb24gODc3MDApCisrKyBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4
LDYgKzQ4LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dENoZWNr
ZXJDbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RpbWluZ0Z1bmN0aW9uLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmll
d3BvcnRBcmd1bWVudHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd0ZlYXR1cmVzLmg+CkBA
IC00ODUsNiArNDg2LDc5IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZToKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0cjxX
ZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3Vt
ZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgUmVmUHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9u
PiYgZnVuY3Rpb24pCisgICAgeworICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGVuY29kZSBu
dWxsLXJlZmVyZW5jZXMuCisgICAgICAgIEFTU0VSVChmdW5jdGlvbik7CisKKyAgICAgICAgV2Vi
Q29yZTo6VGltaW5nRnVuY3Rpb246OlRpbWluZ0Z1bmN0aW9uVHlwZSB0eXBlID0gZnVuY3Rpb24t
PnR5cGUoKTsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlSW50MzIodHlwZSk7CisgICAgICAgIHN3
aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpMaW5l
YXJGdW5jdGlvbjoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYkNvcmU6OlRp
bWluZ0Z1bmN0aW9uOjpDdWJpY0JlemllckZ1bmN0aW9uOiB7CisgICAgICAgICAgICBXZWJDb3Jl
OjpDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uKiBjdWJpY0Z1bmN0aW9uID0gc3RhdGljX2Nhc3Q8
V2ViQ29yZTo6Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbio+KGZ1bmN0aW9uLmdldCgpKTsKKyAg
ICAgICAgICAgIGVuY29kZXItPmVuY29kZURvdWJsZShjdWJpY0Z1bmN0aW9uLT54MSgpKTsKKyAg
ICAgICAgICAgIGVuY29kZXItPmVuY29kZURvdWJsZShjdWJpY0Z1bmN0aW9uLT55MSgpKTsKKyAg
ICAgICAgICAgIGVuY29kZXItPmVuY29kZURvdWJsZShjdWJpY0Z1bmN0aW9uLT54MigpKTsKKyAg
ICAgICAgICAgIGVuY29kZXItPmVuY29kZURvdWJsZShjdWJpY0Z1bmN0aW9uLT55MigpKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VGltaW5n
RnVuY3Rpb246OlN0ZXBzRnVuY3Rpb246IHsKKyAgICAgICAgICAgIFdlYkNvcmU6OlN0ZXBzVGlt
aW5nRnVuY3Rpb24qIHN0ZXBzRnVuY3Rpb24gPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpTdGVwc1Rp
bWluZ0Z1bmN0aW9uKj4oZnVuY3Rpb24uZ2V0KCkpOworICAgICAgICAgICAgZW5jb2Rlci0+ZW5j
b2RlSW50MzIoc3RlcHNGdW5jdGlvbi0+bnVtYmVyT2ZTdGVwcygpKTsKKyAgICAgICAgICAgIGVu
Y29kZXItPmVuY29kZUJvb2woc3RlcHNGdW5jdGlvbi0+c3RlcEF0U3RhcnQoKSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgc3RhdGljIGJv
b2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgUmVmUHRyPFdlYkNvcmU6OlRpbWlu
Z0Z1bmN0aW9uPiYgZnVuY3Rpb24pCisgICAgeworICAgICAgICBXZWJDb3JlOjpUaW1pbmdGdW5j
dGlvbjo6VGltaW5nRnVuY3Rpb25UeXBlIHR5cGU7CisgICAgICAgIGludCB0eXBlSW50OworICAg
ICAgICBpZiAoIWRlY29kZXItPmRlY29kZUludDMyKHR5cGVJbnQpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIHR5cGUgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpUaW1pbmdG
dW5jdGlvbjo6VGltaW5nRnVuY3Rpb25UeXBlPih0eXBlSW50KTsKKyAgICAgICAgc3dpdGNoICh0
eXBlKSB7CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OkxpbmVhckZ1bmN0
aW9uOgorICAgICAgICAgICAgZnVuY3Rpb24gPSBXZWJDb3JlOjpMaW5lYXJUaW1pbmdGdW5jdGlv
bjo6Y3JlYXRlKCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICBjYXNlIFdl
YkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpDdWJpY0JlemllckZ1bmN0aW9uOiB7CisgICAgICAgICAg
ICBkb3VibGUgeDEsIHkxLCB4MiwgeTI7CisgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29k
ZURvdWJsZSh4MSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGVEb3VibGUoeTEpKQorICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlRG91YmxlKHgyKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29k
ZURvdWJsZSh5MikpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
ZnVuY3Rpb24gPSBXZWJDb3JlOjpDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoeDEs
IHkxLCB4MiwgeTIpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAg
ICAgICBjYXNlIFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpTdGVwc0Z1bmN0aW9uOiB7CisgICAg
ICAgICAgICBpbnQgbnVtU3RlcHM7CisgICAgICAgICAgICBib29sIHN0ZXBBdFN0YXJ0OworICAg
ICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVJbnQzMihudW1TdGVwcykpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVCb29s
KHN0ZXBBdFN0YXJ0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uID0gV2ViQ29yZTo6U3RlcHNUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKG51bVN0
ZXBzLCBzdGVwQXRTdGFydCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQor
CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfTsKKwogfSAvLyBu
YW1lc3BhY2UgQ29yZUlQQwogCiAjZW5kaWYgLy8gV2ViQ29yZUFyZ3VtZW50Q29kZXJzX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95381</attachid>
            <date>2011-05-30 16:51:46 -0700</date>
            <delta_ts>2011-06-08 13:19:15 -0700</delta_ts>
            <desc>Patch 3: ArgumentCoder for WebCore::Animation</desc>
            <filename>patch3.diff</filename>
            <type>text/plain</type>
            <size>7944</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjNGU3YWQ0Li41ZmFjODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMDUtMzAgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBXZWJL
aXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXBy
b2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgRXhwb3NlIGEgcHVibGljIGNs
ZWFyQWxsKCkgZnVuY3Rpb24gdG8gcmVzZXQgV2ViQ29yZTo6QW5pbWF0aW9uLgorCisgICAgICAg
IE5vIG5ldyBmdW5jdGlvbmFsaXR5LCBzbyBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb246
OmNsZWFyQWxsKToKKwogMjAxMS0wNS0yNiAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5v
cmc+CgogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgKaW5kZXggZDE2Zjc0Yy4uZDIxMTM3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb24uaApAQCAt
ODEsNiArODEsMTkgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJQcm9wZXJ0eSgpIHsgbV9wcm9w
ZXJ0eVNldCA9IGZhbHNlOyB9CiAgICAgdm9pZCBjbGVhclRpbWluZ0Z1bmN0aW9uKCkgeyBtX3Rp
bWluZ0Z1bmN0aW9uU2V0ID0gZmFsc2U7IH0KIAorICAgIHZvaWQgY2xlYXJBbGwoKQorICAgIHsK
KyAgICAgICAgY2xlYXJEZWxheSgpOworICAgICAgICBjbGVhckRpcmVjdGlvbigpOworICAgICAg
ICBjbGVhckR1cmF0aW9uKCk7CisgICAgICAgIGNsZWFyRmlsbE1vZGUoKTsKKyAgICAgICAgY2xl
YXJJdGVyYXRpb25Db3VudCgpOworICAgICAgICBjbGVhck5hbWUoKTsKKyAgICAgICAgY2xlYXJQ
bGF5U3RhdGUoKTsKKyAgICAgICAgY2xlYXJQcm9wZXJ0eSgpOworICAgICAgICBjbGVhclRpbWlu
Z0Z1bmN0aW9uKCk7CisgICAgfQorCiAgICAgZG91YmxlIGRlbGF5KCkgY29uc3QgeyByZXR1cm4g
bV9kZWxheTsgfQogCiAgICAgZW51bSBBbmltYXRpb25EaXJlY3Rpb24geyBBbmltYXRpb25EaXJl
Y3Rpb25Ob3JtYWwsIEFuaW1hdGlvbkRpcmVjdGlvbkFsdGVybmF0ZSB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDM4MWEyNjIuLmJlZTgyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNS0y
OSAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgorCisgICAgICAgIFdlYktpdDI6IEVuYWJsZSBz
ZXJpYWxpemluZyBvZiBkYXRhIHR5cGVzIG5lZWRlZCBmb3IgY3Jvc3MtcHJvY2VzcyBhY2NlbGVy
YXRlZCBjb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjE2OTQKKworICAgICAgICBDcmVhdGUgYW4gQXJndW1lbnRDb2RlciBmb3IgV2Vi
Q29yZTo6QW5pbWF0aW9uLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKwogMjAxMS0wNS0y
NiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgoKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dl
YmtpdDIvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2Fn
ZXMucHkKaW5kZXggZmZlMWVkMC4uMWY3MDYwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMv
d2Via2l0Mi9tZXNzYWdlcy5weQpAQCAtMjUxLDYgKzI1MSw3IEBAIGRlZiBtZXNzYWdlX3RvX3N0
cnVjdF9kZWNsYXJhdGlvbihtZXNzYWdlKToKIAogZGVmIHN0cnVjdF9vcl9jbGFzcyhuYW1lc3Bh
Y2UsIHR5cGUpOgogICAgIHN0cnVjdHMgPSBmcm96ZW5zZXQoWworICAgICAgICAnV2ViQ29yZTo6
QW5pbWF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6OkVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQn
LAogICAgICAgICAnV2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmUnLAogICAgICAgICAnV2Vi
Q29yZTo6R3JhbW1hckRldGFpbCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKaW5kZXggY2ZlYjRkMi4uOTVmZWM4NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgogI2luY2x1ZGUgIkFyZ3VtZW50cy5oIgogI2luY2x1
ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQW5pbWF0aW9uLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvQml0bWFwSW1hZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NyZWRlbnRpYWwuaD4KQEAg
LTU1OSw2ICs1NjAsMTIyIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRy
PFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uPiA+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFuaW1hdGlvbj4geworICAgIHN0YXRpYyBib29s
IGVuY29kZUJvb2xBbmRSZXR1cm5WYWx1ZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGJvb2wg
dmFsdWUpCisgICAgeworICAgICAgICBlbmNvZGVyLT5lbmNvZGVCb29sKHZhbHVlKTsKKyAgICAg
ICAgcmV0dXJuIHZhbHVlOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlQm9vbEFuZFZhbHVlKEFyZ3VtZW50RW5jb2RlciogZW5jb2Rlciwg
Ym9vbCBpc1NldCwgY29uc3QgVCYgdmFsdWUpCisgICAgeworICAgICAgICBpZiAoZW5jb2RlQm9v
bEFuZFJldHVyblZhbHVlKGVuY29kZXIsIGlzU2V0KSkKKyAgICAgICAgICAgIGVuY29kZXItPmVu
Y29kZTxUPih2YWx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlQm9vbEFuZFZh
bHVlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgYm9vbCYgaXNTZXQsIGRvdWJsZSYgdmFsdWUp
CisgICAgeworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUJvb2woaXNTZXQpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWlzU2V0KQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICAgICAgcmV0dXJuIGRlY29kZXItPmRlY29kZURvdWJsZSh2YWx1ZSk7
CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVC
b29sQW5kVmFsdWUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBib29sJiBpc1NldCwgVCYgdmFs
dWUpCisgICAgeworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUJvb2woaXNTZXQpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWlzU2V0KQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICAgICAgcmV0dXJuIEFyZ3VtZW50Q29kZXI8VD46OmRlY29kZShk
ZWNvZGVyLCB2YWx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlQm9vbEFuZFZh
bHVlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgYm9vbCYgaXNTZXQsIGludCYgdmFsdWUpCisg
ICAgeworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUJvb2woaXNTZXQpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWlzU2V0KQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICAgICAgcmV0dXJuIGRlY29kZXItPmRlY29kZUludDMyKHZhbHVlKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBj
b25zdCBXZWJDb3JlOjpBbmltYXRpb24mIGFuaW1hdGlvbikKKyAgICB7CisgICAgICAgIGVuY29k
ZUJvb2xBbmRWYWx1ZShlbmNvZGVyLCBhbmltYXRpb24uaXNEZWxheVNldCgpLCBhbmltYXRpb24u
ZGVsYXkoKSk7CisgICAgICAgIGVuY29kZUJvb2xBbmRWYWx1ZTxpbnQ+KGVuY29kZXIsIGFuaW1h
dGlvbi5pc0RpcmVjdGlvblNldCgpLCBhbmltYXRpb24uZGlyZWN0aW9uKCkpOworICAgICAgICBl
bmNvZGVCb29sQW5kVmFsdWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzRHVyYXRpb25TZXQoKSwgYW5p
bWF0aW9uLmR1cmF0aW9uKCkpOworICAgICAgICBlbmNvZGVCb29sQW5kVmFsdWUoZW5jb2Rlciwg
YW5pbWF0aW9uLmlzRmlsbE1vZGVTZXQoKSwgYW5pbWF0aW9uLmZpbGxNb2RlKCkpOworICAgICAg
ICBlbmNvZGVCb29sQW5kVmFsdWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzSXRlcmF0aW9uQ291bnRT
ZXQoKSwgYW5pbWF0aW9uLml0ZXJhdGlvbkNvdW50KCkpOworCisgICAgICAgIGlmIChlbmNvZGVC
b29sQW5kUmV0dXJuVmFsdWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzTmFtZVNldCgpKSkKKyAgICAg
ICAgICAgIEFyZ3VtZW50Q29kZXI8U3RyaW5nPjo6ZW5jb2RlKGVuY29kZXIsIGFuaW1hdGlvbi5u
YW1lKCkpOworCisgICAgICAgIGVuY29kZUJvb2xBbmRWYWx1ZTxpbnQ+KGVuY29kZXIsIGFuaW1h
dGlvbi5pc1BsYXlTdGF0ZVNldCgpLCBhbmltYXRpb24ucGxheVN0YXRlKCkpOworICAgICAgICBl
bmNvZGVCb29sQW5kVmFsdWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzUHJvcGVydHlTZXQoKSwgYW5p
bWF0aW9uLnByb3BlcnR5KCkpOworCisgICAgICAgIGlmIChlbmNvZGVCb29sQW5kUmV0dXJuVmFs
dWUoZW5jb2RlciwgYW5pbWF0aW9uLmlzVGltaW5nRnVuY3Rpb25TZXQoKSkpCisgICAgICAgICAg
ICBBcmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPjo6ZW5jb2Rl
KGVuY29kZXIsIGFuaW1hdGlvbi50aW1pbmdGdW5jdGlvbigpKTsKKyAgICAgICAgZW5jb2Rlci0+
ZW5jb2RlQm9vbChhbmltYXRpb24uaXNOb25lQW5pbWF0aW9uKCkpOworICAgIH0KKworICAgIHN0
YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYkNvcmU6OkFuaW1h
dGlvbiYgYW5pbWF0aW9uKQorICAgIHsKKyAgICAgICAgYm9vbCBpc0RlbGF5U2V0LCBpc0RpcmVj
dGlvblNldCwgaXNEdXJhdGlvblNldCwgaXNGaWxsTW9kZVNldCwgaXNJdGVyYXRpb25Db3VudFNl
dCwgaXNOYW1lU2V0LCBpc1BsYXlTdGF0ZVNldCwgaXNQcm9wZXJ0eVNldCwgaXNUaW1pbmdGdW5j
dGlvblNldDsKKyAgICAgICAgaW50IHByb3BlcnR5LCBpdGVyYXRpb25Db3VudCwgZGlyZWN0aW9u
LCBmaWxsTW9kZSwgcGxheVN0YXRlOworICAgICAgICBkb3VibGUgZGVsYXksIGR1cmF0aW9uOwor
ICAgICAgICBSZWZQdHI8V2ViQ29yZTo6VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uOwor
ICAgICAgICBTdHJpbmcgbmFtZTsKKworICAgICAgICBhbmltYXRpb24uY2xlYXJBbGwoKTsKKwor
ICAgICAgICBpZiAoIWRlY29kZUJvb2xBbmRWYWx1ZShkZWNvZGVyLCBpc0RlbGF5U2V0LCBkZWxh
eSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghZGVjb2RlQm9vbEFu
ZFZhbHVlKGRlY29kZXIsIGlzRGlyZWN0aW9uU2V0LCBkaXJlY3Rpb24pKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWRlY29kZUJvb2xBbmRWYWx1ZShkZWNvZGVyLCBp
c0R1cmF0aW9uU2V0LCBkdXJhdGlvbikpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIGlmICghZGVjb2RlQm9vbEFuZFZhbHVlKGRlY29kZXIsIGlzRmlsbE1vZGVTZXQsIGZpbGxN
b2RlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFkZWNvZGVCb29s
QW5kVmFsdWUoZGVjb2RlciwgaXNJdGVyYXRpb25Db3VudFNldCwgaXRlcmF0aW9uQ291bnQpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWRlY29kZUJvb2xBbmRWYWx1
ZTxTdHJpbmc+KGRlY29kZXIsIGlzTmFtZVNldCwgbmFtZSkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIGlmICghZGVjb2RlQm9vbEFuZFZhbHVlKGRlY29kZXIsIGlzUGxheVN0
YXRlU2V0LCBwbGF5U3RhdGUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBp
ZiAoIWRlY29kZUJvb2xBbmRWYWx1ZShkZWNvZGVyLCBpc1Byb3BlcnR5U2V0LCBwcm9wZXJ0eSkp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghZGVjb2RlQm9vbEFuZFZh
bHVlPFJlZlB0cjxXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPihkZWNvZGVyLCBpc1RpbWluZ0Z1
bmN0aW9uU2V0LCB0aW1pbmdGdW5jdGlvbikpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgaWYgKGlzRGVsYXlTZXQpCisgICAgICAgICAgICBhbmltYXRpb24uc2V0RGVsYXko
ZGVsYXkpOworICAgICAgICBpZiAoaXNEaXJlY3Rpb25TZXQpCisgICAgICAgICAgICBhbmltYXRp
b24uc2V0RGlyZWN0aW9uKHN0YXRpY19jYXN0PFdlYkNvcmU6OkFuaW1hdGlvbjo6QW5pbWF0aW9u
RGlyZWN0aW9uPihkaXJlY3Rpb24pKTsKKyAgICAgICAgaWYgKGlzRHVyYXRpb25TZXQpCisgICAg
ICAgICAgICBhbmltYXRpb24uc2V0RHVyYXRpb24oZHVyYXRpb24pOworICAgICAgICBpZiAoaXNG
aWxsTW9kZVNldCkKKyAgICAgICAgICAgIGFuaW1hdGlvbi5zZXRGaWxsTW9kZShmaWxsTW9kZSk7
CisgICAgICAgIGlmIChpc0l0ZXJhdGlvbkNvdW50U2V0KQorICAgICAgICAgICAgYW5pbWF0aW9u
LnNldEl0ZXJhdGlvbkNvdW50KGl0ZXJhdGlvbkNvdW50KTsKKyAgICAgICAgaWYgKGlzTmFtZVNl
dCkKKyAgICAgICAgICAgIGFuaW1hdGlvbi5zZXROYW1lKG5hbWUpOworICAgICAgICBpZiAoaXNQ
bGF5U3RhdGVTZXQpCisgICAgICAgICAgICBhbmltYXRpb24uc2V0UGxheVN0YXRlKHN0YXRpY19j
YXN0PFdlYkNvcmU6OkVBbmltUGxheVN0YXRlPihwbGF5U3RhdGUpKTsKKyAgICAgICAgaWYgKGlz
UHJvcGVydHlTZXQpCisgICAgICAgICAgICBhbmltYXRpb24uc2V0UHJvcGVydHkocHJvcGVydHkp
OworICAgICAgICBpZiAoaXNUaW1pbmdGdW5jdGlvblNldCkKKyAgICAgICAgICAgIGFuaW1hdGlv
bi5zZXRUaW1pbmdGdW5jdGlvbih0aW1pbmdGdW5jdGlvbik7CisKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorfTsKKwogfSAvLyBuYW1lc3BhY2UgQ29yZUlQQwogCiAjZW5kaWYgLy8gV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96206</attachid>
            <date>2011-06-06 22:40:21 -0700</date>
            <delta_ts>2011-06-06 22:52:49 -0700</delta_ts>
            <desc>Patch 4: TransformOperation[s]</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>12031</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0N2Q0NDVlLi5hZjJkN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDUtMjkgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktp
dDI6IEVuYWJsZSBzZXJpYWxpemluZyBvZiBkYXRhIHR5cGVzIG5lZWRlZCBmb3IgY3Jvc3MtcHJv
Y2VzcyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2OTQKKworICAgICAgICBBZGQgQXJndW1lbnRDb2RlcnMg
Zm9yIFRyYW5zZm9ybU9wZXJhdGlvbiwgaW5jbHVkaW5nIGFsbCB0aGUgc3ViY2xhc3NlcywKKyAg
ICAgICAgYW5kIFRyYW5zZm9ybU9wZXJhdGlvbnMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dDIvbWVzc2FnZXMucHk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
OgorCiAyMDExLTA2LTA2ICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRz
L3dlYmtpdDIvbWVzc2FnZXMucHkKaW5kZXggMWY3MDYwNC4uM2UyMmM4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQpAQCAtMjU1LDEyICsyNTUsMjIgQEAg
ZGVmIHN0cnVjdF9vcl9jbGFzcyhuYW1lc3BhY2UsIHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6
RWRpdG9yQ29tbWFuZHNGb3JLZXlFdmVudCcsCiAgICAgICAgICdXZWJDb3JlOjpDb21wb3NpdGlv
blVuZGVybGluZScsCiAgICAgICAgICdXZWJDb3JlOjpHcmFtbWFyRGV0YWlsJywKKyAgICAgICAg
J1dlYkNvcmU6OklkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6
OktleXByZXNzQ29tbWFuZCcsCiAgICAgICAgICdXZWJDb3JlOjpMZW5ndGgnLAorICAgICAgICAn
V2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uJywKKyAgICAgICAgJ1dlYkNvcmU6Ok1h
dHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uJywKKyAgICAgICAgJ1dlYkNvcmU6OlBlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkluZm8nLAogICAg
ICAgICAnV2ViQ29yZTo6UHJpbnRJbmZvJywKKyAgICAgICAgJ1dlYkNvcmU6OlJvdGF0ZVRyYW5z
Zm9ybU9wZXJhdGlvbicsCisgICAgICAgICdXZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlv
bicsCisgICAgICAgICdXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAgICAg
J1dlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6OlRyYW5zZm9ybWF0
aW9uTWF0cml4JywKKyAgICAgICAgJ1dlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbicsCisgICAg
ICAgICdXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb25zJywKKyAgICAgICAgJ1dlYkNvcmU6OlRy
YW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbicsCiAgICAgICAgICdXZWJDb3JlOjpWaWV3cG9ydEFy
Z3VtZW50cycsCiAgICAgICAgICdXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcycsCiAgICAgICAgICdX
ZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oCmluZGV4IDVkN2EzMTEuLmJhMmRjMGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQxLDIxICs0MSwzMyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9G
bG9hdFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0ludFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0xlbmd0aC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWF0cml4VHJhbnNmb3Jt
T3BlcmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlv
bi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb3Rl
Y3Rpb25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Sb3RhdGVU
cmFuc2Zvcm1PcGVyYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NjYWxlVHJhbnNmb3JtT3Bl
cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
VGltaW5nRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zbGF0ZVRyYW5zZm9ybU9w
ZXJhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9ybU9wZXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
VHJhbnNmb3JtT3BlcmF0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVu
dHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd0ZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8bGlt
aXRzPgogCiAKKworCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6SW50UG9pbnQ+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpJbnRQb2ludD4geyB9OwpAQCAtNjksNiArODEsMTQgQEAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFJlY3Q+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxX
ZWJDb3IKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TGVuZ3RoPiA6
IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TGVuZ3RoPiB7IH07CiB0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4PiA6IFNpbXBs
ZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg+IHsgfTsKIAordGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1PcGVy
YXRpb24+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1PcGVy
YXRpb24+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TWF0
cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpN
YXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbj4geyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVB
cmd1bWVudENvZGVyPFdlYkNvcmU6OlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbj4geyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6
OlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OlNrZXdUcmFuc2Zvcm1PcGVyYXRpb24+IDogU2ltcGxlQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4g
OiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bj4geyB9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1pbWVD
bGFzc0luZm8+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNv
ZGVyLCBjb25zdCBXZWJDb3JlOjpNaW1lQ2xhc3NJbmZvJiBtaW1lQ2xhc3NJbmZvKQogICAgIHsK
QEAgLTU2MCw2ICs1ODAsMTYwIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVm
UHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uPiA+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+
ID4geworICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgc3RhdGljIGJvb2wgZGVjb2RlT3BlcmF0
aW9uKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgUmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbj4mIG9wZXJhdGlvbiwgUGFzc1JlZlB0cjxUPiBuZXdPcGVyYXRpb24pCisgICAgewor
ICAgICAgICBpZiAoIUFyZ3VtZW50Q29kZXI8VD46OmRlY29kZShkZWNvZGVyLCAqbmV3T3BlcmF0
aW9uLmdldCgpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgb3BlcmF0aW9u
ID0gbmV3T3BlcmF0aW9uLmdldCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgIHN0YXRpYyB2b2lkIGVuY29kZU9wZXJhdGlvbihBcmd1
bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbiog
b3BlcmF0aW9uKQorICAgIHsKKyAgICAgICAgQXJndW1lbnRDb2RlcjxUPjo6ZW5jb2RlKGVuY29k
ZXIsICpzdGF0aWNfY2FzdDxjb25zdCBUKj4ob3BlcmF0aW9uKSk7CisgICAgfQorCisgICAgc3Rh
dGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgUmVmUHRyPFdl
YkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4mIG9wZXJhdGlvbikKKyAgICB7CisgICAgICAgIC8v
IFdlIGRvbid0IHdhbnQgdG8gZW5jb2RlIG51bGwtcmVmZXJlbmNlcy4KKyAgICAgICAgQVNTRVJU
KG9wZXJhdGlvbik7CisKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVy
YXRpb25UeXBlIHR5cGUgPSBvcGVyYXRpb24tPmdldE9wZXJhdGlvblR5cGUoKTsKKyAgICAgICAg
ZW5jb2Rlci0+ZW5jb2RlSW50MzIodHlwZSk7CisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAg
ICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEU6CisgICAgICAgIGNh
c2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV9YOgorICAgICAgICBjYXNlIFdl
YkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3Jl
OjpUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1o6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJh
bnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV8zRDoKKyAgICAgICAgICAgIGVuY29kZU9wZXJhdGlvbjxX
ZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgp
KTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9y
bU9wZXJhdGlvbjo6VFJBTlNMQVRFOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbjo6VFJBTlNMQVRFX1g6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3Bl
cmF0aW9uOjpUUkFOU0xBVEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVy
YXRpb246OlRSQU5TTEFURV9aOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJh
dGlvbjo6VFJBTlNMQVRFXzNEOgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0aW9uPFdlYkNvcmU6
OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgpKTsK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbjo6Uk9UQVRFOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlv
bjo6Uk9UQVRFX1g6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpS
T1RBVEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFU
RV8zRDoKKyAgICAgICAgICAgIGVuY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpSb3RhdGVUcmFuc2Zv
cm1PcGVyYXRpb24+KGVuY29kZXIsIG9wZXJhdGlvbi5nZXQoKSk7CisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNLRVc6Cisg
ICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTS0VXX1g6CisgICAgICAg
IGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTS0VXX1k6CisgICAgICAgICAgICBl
bmNvZGVPcGVyYXRpb248V2ViQ29yZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwg
b3BlcmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdl
YkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYOgorICAgICAgICAgICAgZW5jb2RlT3Bl
cmF0aW9uPFdlYkNvcmU6Ok1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0
aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6
OlRyYW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYXzNEOgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0
aW9uPFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uPihlbmNvZGVyLCBvcGVyYXRp
b24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6
VHJhbnNmb3JtT3BlcmF0aW9uOjpQRVJTUEVDVElWRToKKyAgICAgICAgICAgIGVuY29kZU9wZXJh
dGlvbjxXZWJDb3JlOjpQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3Bl
cmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6SURFTlRJVFk6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6
VHJhbnNmb3JtT3BlcmF0aW9uOjpOT05FOgorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2Rl
ciwgUmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4mIG9wZXJhdGlvbikKKyAgICB7
CisgICAgICAgIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6T3BlcmF0aW9uVHlwZSB0eXBl
OworICAgICAgICBpbnQgdHlwZUludDsKKyAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVJbnQz
Mih0eXBlSW50KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgdHlwZSA9IHN0
YXRpY19jYXN0PFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6T3BlcmF0aW9uVHlwZT4odHlw
ZUludCk7CisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFdlYkNvcmU6OlRy
YW5zZm9ybU9wZXJhdGlvbjo6U0NBTEU6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3Jt
T3BlcmF0aW9uOjpTQ0FMRV9YOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJh
dGlvbjo6U0NBTEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246
OlNDQUxFX1o6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FM
RV8zRDoKKyAgICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6U2NhbGVU
cmFuc2Zvcm1PcGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbiwgV2ViQ29yZTo6U2NhbGVUcmFu
c2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgxLjAsIDEuMCwgdHlwZSkpOworCisgICAgICAgIGNhc2Ug
V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEU6CisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfWDoKKyAgICAgICAgY2FzZSBXZWJD
b3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV9ZOgorICAgICAgICBjYXNlIFdlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1o6CisgICAgICAgIGNhc2UgV2ViQ29y
ZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfM0Q6CisgICAgICAgICAgICByZXR1cm4g
ZGVjb2RlT3BlcmF0aW9uPFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZGVj
b2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNy
ZWF0ZShXZWJDb3JlOjpMZW5ndGgoMCwgV2ViQ29yZTo6Rml4ZWQpLCBXZWJDb3JlOjpMZW5ndGgo
MCwgV2ViQ29yZTo6Rml4ZWQpLCB0eXBlKSk7CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFu
c2Zvcm1PcGVyYXRpb246OlJPVEFURToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1P
cGVyYXRpb246OlJPVEFURV9YOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJh
dGlvbjo6Uk9UQVRFX1k6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9u
OjpST1RBVEVfM0Q6CisgICAgICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPFdlYkNvcmU6
OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpS
b3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgwLjAsIHR5cGUpKTsKKworICAgICAgICBj
YXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFVzoKKyAgICAgICAgY2FzZSBXZWJD
b3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNLRVdfWDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpU
cmFuc2Zvcm1PcGVyYXRpb246OlNLRVdfWToKKyAgICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVy
YXRpb248V2ViQ29yZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9u
LCBXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoMC4wLCAwLjAsIHR5cGUp
KTsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYOgor
ICAgICAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpNYXRyaXhUcmFuc2Zv
cm1PcGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbiwgV2ViQ29yZTo6TWF0cml4VHJhbnNmb3Jt
T3BlcmF0aW9uOjpjcmVhdGUoV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgoKSkpOworCisg
ICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpNQVRSSVhfM0Q6CisgICAg
ICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3Jt
T3BlcmF0aW9uPihkZWNvZGVyLCBvcGVyYXRpb24sIFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3Jt
T3BlcmF0aW9uOjpjcmVhdGUoV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgoKSkpOworCisg
ICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpQRVJTUEVDVElWRToKKyAg
ICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6UGVyc3BlY3RpdmVUcmFu
c2Zvcm1PcGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbiwgV2ViQ29yZTo6UGVyc3BlY3RpdmVU
cmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZShXZWJDb3JlOjpMZW5ndGgoMCwgV2ViQ29yZTo6Rml4
ZWQpKSk7CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OklERU5U
SVRZOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6Tk9ORToKKyAg
ICAgICAgICAgIG9wZXJhdGlvbiA9IFdlYkNvcmU6OklkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9u
OjpjcmVhdGUoKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9ucz4geworICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbnMmIG9wZXJhdGlvbnMpCisgICAgeworICAgICAgICBXVEY6OlZlY3RvcjxSZWZQdHI8
V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiA+IG9wZXJhdGlvbnNWZWN0b3IgPSBvcGVyYXRp
b25zLm9wZXJhdGlvbnMoKTsKKyAgICAgICAgaW50IHNpemUgPSBvcGVyYXRpb25zVmVjdG9yLnNp
emUoKTsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlSW50MzIoc2l6ZSk7CisgICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICAgICAgQXJndW1lbnRDb2RlcjxSZWZQ
dHI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiA+OjplbmNvZGUoZW5jb2Rlciwgb3BlcmF0
aW9uc1ZlY3RvcltpXSk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50
RGVjb2RlciogZGVjb2RlciwgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9ucyYgb3BlcmF0aW9u
cykKKyAgICB7CisgICAgICAgIGludCBzaXplOworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29k
ZUludDMyKHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFdURjo6
VmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+ID4mIG9wZXJhdGlvblZl
Y3RvciA9IG9wZXJhdGlvbnMub3BlcmF0aW9ucygpOworICAgICAgICBvcGVyYXRpb25WZWN0b3Iu
Y2xlYXIoKTsKKyAgICAgICAgb3BlcmF0aW9uVmVjdG9yLnJlc2l6ZShzaXplKTsKKyAgICAgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKKyAgICAgICAgICAgIFJlZlB0cjxXZWJD
b3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+IG9wZXJhdGlvbjsKKyAgICAgICAgICAgIGlmICghQXJn
dW1lbnRDb2RlcjxSZWZQdHI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiA+OjpkZWNvZGUo
ZGVjb2Rlciwgb3BlcmF0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgICAgICBvcGVyYXRpb25WZWN0b3JbaV0gPSBvcGVyYXRpb247CisgICAgICAgIH0KKworICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cit9OworCisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6QW5pbWF0aW9uPiB7CiAgICAgc3RhdGljIGJvb2wgZW5jb2RlQm9v
bEFuZFJldHVyblZhbHVlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgYm9vbCB2YWx1ZSkKICAg
ICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96209</attachid>
            <date>2011-06-06 22:46:37 -0700</date>
            <delta_ts>2011-06-08 13:19:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>2180</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhZjJkN2Q4Li40YTRhOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDYtMDYgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJL
aXQyOiBFbmFibGUgc2VyaWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXBy
b2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgQWRkIGFuIEFyZ3VtZW50Q29k
ZXIgZm9yIEZsb2F0UG9pbnQzRC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNzYWdl
cy5weToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisKIDIwMTEt
MDUtMjkgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93
ZWJraXQyL21lc3NhZ2VzLnB5CmluZGV4IDNlMjJjODMuLjllYmMwOWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKQEAgLTI1NCw2ICsyNTQsNyBAQCBkZWYg
c3RydWN0X29yX2NsYXNzKG5hbWVzcGFjZSwgdHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpBbmlt
YXRpb24nLAogICAgICAgICAnV2ViQ29yZTo6RWRpdG9yQ29tbWFuZHNGb3JLZXlFdmVudCcsCiAg
ICAgICAgICdXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZScsCisgICAgICAgICdXZWJDb3Jl
OjpGbG9hdFBvaW50M0QnLAogICAgICAgICAnV2ViQ29yZTo6R3JhbW1hckRldGFpbCcsCiAgICAg
ICAgICdXZWJDb3JlOjpJZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlvbicsCiAgICAgICAgICdXZWJD
b3JlOjpLZXlwcmVzc0NvbW1hbmQnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCmluZGV4IGJhMmRjMGUuLmVjMzJjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTc2LDYgKzc2LDcgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpJbnRSZWN0PiA6IFNpbXBsZUFy
Z3VtZW50Q29kZXI8V2ViQ29yZToKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2Vi
Q29yZTo6Vmlld3BvcnRBcmd1bWVudHM+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpW
aWV3cG9ydEFyZ3VtZW50cz4geyB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkZsb2F0UG9pbnQ+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9h
dFBvaW50PiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZs
b2F0UG9pbnQzRD4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UG9pbnQzRD4g
eyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFNpemU+
IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFNpemU+IHsgfTsKIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRSZWN0PiA6IFNpbXBsZUFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRSZWN0PiB7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1
bWVudENvZGVyPFdlYkNvcmU6Okxlbmd0aD4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6
Okxlbmd0aD4geyB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96210</attachid>
            <date>2011-06-06 22:52:49 -0700</date>
            <delta_ts>2011-06-08 12:17:21 -0700</delta_ts>
            <desc>Patch 4: TransformOperation[s]</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>12031</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0N2Q0NDVlLi5hZjJkN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDUtMjkgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktp
dDI6IEVuYWJsZSBzZXJpYWxpemluZyBvZiBkYXRhIHR5cGVzIG5lZWRlZCBmb3IgY3Jvc3MtcHJv
Y2VzcyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2OTQKKworICAgICAgICBBZGQgQXJndW1lbnRDb2RlcnMg
Zm9yIFRyYW5zZm9ybU9wZXJhdGlvbiwgaW5jbHVkaW5nIGFsbCB0aGUgc3ViY2xhc3NlcywKKyAg
ICAgICAgYW5kIFRyYW5zZm9ybU9wZXJhdGlvbnMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dDIvbWVzc2FnZXMucHk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
OgorCiAyMDExLTA2LTA2ICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRz
L3dlYmtpdDIvbWVzc2FnZXMucHkKaW5kZXggMWY3MDYwNC4uM2UyMmM4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQpAQCAtMjU1LDEyICsyNTUsMjIgQEAg
ZGVmIHN0cnVjdF9vcl9jbGFzcyhuYW1lc3BhY2UsIHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6
RWRpdG9yQ29tbWFuZHNGb3JLZXlFdmVudCcsCiAgICAgICAgICdXZWJDb3JlOjpDb21wb3NpdGlv
blVuZGVybGluZScsCiAgICAgICAgICdXZWJDb3JlOjpHcmFtbWFyRGV0YWlsJywKKyAgICAgICAg
J1dlYkNvcmU6OklkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6
OktleXByZXNzQ29tbWFuZCcsCiAgICAgICAgICdXZWJDb3JlOjpMZW5ndGgnLAorICAgICAgICAn
V2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uJywKKyAgICAgICAgJ1dlYkNvcmU6Ok1h
dHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uJywKKyAgICAgICAgJ1dlYkNvcmU6OlBlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkluZm8nLAogICAg
ICAgICAnV2ViQ29yZTo6UHJpbnRJbmZvJywKKyAgICAgICAgJ1dlYkNvcmU6OlJvdGF0ZVRyYW5z
Zm9ybU9wZXJhdGlvbicsCisgICAgICAgICdXZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlv
bicsCisgICAgICAgICdXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAgICAg
J1dlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6OlRyYW5zZm9ybWF0
aW9uTWF0cml4JywKKyAgICAgICAgJ1dlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbicsCisgICAg
ICAgICdXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb25zJywKKyAgICAgICAgJ1dlYkNvcmU6OlRy
YW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbicsCiAgICAgICAgICdXZWJDb3JlOjpWaWV3cG9ydEFy
Z3VtZW50cycsCiAgICAgICAgICdXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcycsCiAgICAgICAgICdX
ZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oCmluZGV4IDVkN2EzMTEuLjgxNzgyZWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQxLDIxICs0MSwzMyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9G
bG9hdFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0ludFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0xlbmd0aC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWF0cml4M0RUcmFuc2Zv
cm1PcGVyYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01hdHJpeFRyYW5zZm9ybU9wZXJhdGlv
bi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb3Rl
Y3Rpb25TcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Sb3RhdGVU
cmFuc2Zvcm1PcGVyYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NjYWxlVHJhbnNmb3JtT3Bl
cmF0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
VGltaW5nRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9ybU9wZXJhdGlvbi5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNmb3JtT3BlcmF0aW9ucy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zbGF0
ZVRyYW5zZm9ybU9wZXJhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVu
dHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd0ZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8bGlt
aXRzPgogCiAKKworCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6SW50UG9pbnQ+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpJbnRQb2ludD4geyB9OwpAQCAtNjksNiArODEsMTQgQEAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFJlY3Q+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxX
ZWJDb3IKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TGVuZ3RoPiA6
IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TGVuZ3RoPiB7IH07CiB0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4PiA6IFNpbXBs
ZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg+IHsgfTsKIAordGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1PcGVy
YXRpb24+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1PcGVy
YXRpb24+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TWF0
cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24+IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpN
YXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbj4geyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVB
cmd1bWVudENvZGVyPFdlYkNvcmU6OlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbj4geyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6
OlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OlNrZXdUcmFuc2Zvcm1PcGVyYXRpb24+IDogU2ltcGxlQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07Cit0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4g
OiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bj4geyB9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1pbWVD
bGFzc0luZm8+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNv
ZGVyLCBjb25zdCBXZWJDb3JlOjpNaW1lQ2xhc3NJbmZvJiBtaW1lQ2xhc3NJbmZvKQogICAgIHsK
QEAgLTU2MCw2ICs1ODAsMTYwIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVm
UHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uPiA+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+
ID4geworICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgc3RhdGljIGJvb2wgZGVjb2RlT3BlcmF0
aW9uKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgUmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbj4mIG9wZXJhdGlvbiwgUGFzc1JlZlB0cjxUPiBuZXdPcGVyYXRpb24pCisgICAgewor
ICAgICAgICBpZiAoIUFyZ3VtZW50Q29kZXI8VD46OmRlY29kZShkZWNvZGVyLCAqbmV3T3BlcmF0
aW9uLmdldCgpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgb3BlcmF0aW9u
ID0gbmV3T3BlcmF0aW9uLmdldCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgIHN0YXRpYyB2b2lkIGVuY29kZU9wZXJhdGlvbihBcmd1
bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbiog
b3BlcmF0aW9uKQorICAgIHsKKyAgICAgICAgQXJndW1lbnRDb2RlcjxUPjo6ZW5jb2RlKGVuY29k
ZXIsICpzdGF0aWNfY2FzdDxjb25zdCBUKj4ob3BlcmF0aW9uKSk7CisgICAgfQorCisgICAgc3Rh
dGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgUmVmUHRyPFdl
YkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4mIG9wZXJhdGlvbikKKyAgICB7CisgICAgICAgIC8v
IFdlIGRvbid0IHdhbnQgdG8gZW5jb2RlIG51bGwtcmVmZXJlbmNlcy4KKyAgICAgICAgQVNTRVJU
KG9wZXJhdGlvbik7CisKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVy
YXRpb25UeXBlIHR5cGUgPSBvcGVyYXRpb24tPmdldE9wZXJhdGlvblR5cGUoKTsKKyAgICAgICAg
ZW5jb2Rlci0+ZW5jb2RlSW50MzIodHlwZSk7CisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAg
ICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEU6CisgICAgICAgIGNh
c2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV9YOgorICAgICAgICBjYXNlIFdl
YkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3Jl
OjpUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1o6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJh
bnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV8zRDoKKyAgICAgICAgICAgIGVuY29kZU9wZXJhdGlvbjxX
ZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgp
KTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9y
bU9wZXJhdGlvbjo6VFJBTlNMQVRFOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbjo6VFJBTlNMQVRFX1g6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3Bl
cmF0aW9uOjpUUkFOU0xBVEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVy
YXRpb246OlRSQU5TTEFURV9aOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJh
dGlvbjo6VFJBTlNMQVRFXzNEOgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0aW9uPFdlYkNvcmU6
OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgpKTsK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbjo6Uk9UQVRFOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlv
bjo6Uk9UQVRFX1g6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpS
T1RBVEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFU
RV8zRDoKKyAgICAgICAgICAgIGVuY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpSb3RhdGVUcmFuc2Zv
cm1PcGVyYXRpb24+KGVuY29kZXIsIG9wZXJhdGlvbi5nZXQoKSk7CisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNLRVc6Cisg
ICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTS0VXX1g6CisgICAgICAg
IGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTS0VXX1k6CisgICAgICAgICAgICBl
bmNvZGVPcGVyYXRpb248V2ViQ29yZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwg
b3BlcmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdl
YkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYOgorICAgICAgICAgICAgZW5jb2RlT3Bl
cmF0aW9uPFdlYkNvcmU6Ok1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0
aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6
OlRyYW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYXzNEOgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0
aW9uPFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uPihlbmNvZGVyLCBvcGVyYXRp
b24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6
VHJhbnNmb3JtT3BlcmF0aW9uOjpQRVJTUEVDVElWRToKKyAgICAgICAgICAgIGVuY29kZU9wZXJh
dGlvbjxXZWJDb3JlOjpQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3Bl
cmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6SURFTlRJVFk6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6
VHJhbnNmb3JtT3BlcmF0aW9uOjpOT05FOgorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2Rl
ciwgUmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4mIG9wZXJhdGlvbikKKyAgICB7
CisgICAgICAgIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6T3BlcmF0aW9uVHlwZSB0eXBl
OworICAgICAgICBpbnQgdHlwZUludDsKKyAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVJbnQz
Mih0eXBlSW50KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgdHlwZSA9IHN0
YXRpY19jYXN0PFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6T3BlcmF0aW9uVHlwZT4odHlw
ZUludCk7CisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFdlYkNvcmU6OlRy
YW5zZm9ybU9wZXJhdGlvbjo6U0NBTEU6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3Jt
T3BlcmF0aW9uOjpTQ0FMRV9YOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJh
dGlvbjo6U0NBTEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246
OlNDQUxFX1o6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FM
RV8zRDoKKyAgICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6U2NhbGVU
cmFuc2Zvcm1PcGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbiwgV2ViQ29yZTo6U2NhbGVUcmFu
c2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgxLjAsIDEuMCwgdHlwZSkpOworCisgICAgICAgIGNhc2Ug
V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEU6CisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfWDoKKyAgICAgICAgY2FzZSBXZWJD
b3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV9ZOgorICAgICAgICBjYXNlIFdlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1o6CisgICAgICAgIGNhc2UgV2ViQ29y
ZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfM0Q6CisgICAgICAgICAgICByZXR1cm4g
ZGVjb2RlT3BlcmF0aW9uPFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZGVj
b2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNy
ZWF0ZShXZWJDb3JlOjpMZW5ndGgoMCwgV2ViQ29yZTo6Rml4ZWQpLCBXZWJDb3JlOjpMZW5ndGgo
MCwgV2ViQ29yZTo6Rml4ZWQpLCB0eXBlKSk7CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFu
c2Zvcm1PcGVyYXRpb246OlJPVEFURToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1P
cGVyYXRpb246OlJPVEFURV9YOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJh
dGlvbjo6Uk9UQVRFX1k6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9u
OjpST1RBVEVfM0Q6CisgICAgICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPFdlYkNvcmU6
OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpS
b3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgwLjAsIHR5cGUpKTsKKworICAgICAgICBj
YXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFVzoKKyAgICAgICAgY2FzZSBXZWJD
b3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNLRVdfWDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpU
cmFuc2Zvcm1PcGVyYXRpb246OlNLRVdfWToKKyAgICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVy
YXRpb248V2ViQ29yZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9u
LCBXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoMC4wLCAwLjAsIHR5cGUp
KTsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYOgor
ICAgICAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpNYXRyaXhUcmFuc2Zv
cm1PcGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbiwgV2ViQ29yZTo6TWF0cml4VHJhbnNmb3Jt
T3BlcmF0aW9uOjpjcmVhdGUoV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgoKSkpOworCisg
ICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpNQVRSSVhfM0Q6CisgICAg
ICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3Jt
T3BlcmF0aW9uPihkZWNvZGVyLCBvcGVyYXRpb24sIFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3Jt
T3BlcmF0aW9uOjpjcmVhdGUoV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgoKSkpOworCisg
ICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpQRVJTUEVDVElWRToKKyAg
ICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6UGVyc3BlY3RpdmVUcmFu
c2Zvcm1PcGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbiwgV2ViQ29yZTo6UGVyc3BlY3RpdmVU
cmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZShXZWJDb3JlOjpMZW5ndGgoMCwgV2ViQ29yZTo6Rml4
ZWQpKSk7CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OklERU5U
SVRZOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6Tk9ORToKKyAg
ICAgICAgICAgIG9wZXJhdGlvbiA9IFdlYkNvcmU6OklkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9u
OjpjcmVhdGUoKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9ucz4geworICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbnMmIG9wZXJhdGlvbnMpCisgICAgeworICAgICAgICBXVEY6OlZlY3RvcjxSZWZQdHI8
V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiA+IG9wZXJhdGlvbnNWZWN0b3IgPSBvcGVyYXRp
b25zLm9wZXJhdGlvbnMoKTsKKyAgICAgICAgaW50IHNpemUgPSBvcGVyYXRpb25zVmVjdG9yLnNp
emUoKTsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlSW50MzIoc2l6ZSk7CisgICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICAgICAgQXJndW1lbnRDb2RlcjxSZWZQ
dHI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiA+OjplbmNvZGUoZW5jb2Rlciwgb3BlcmF0
aW9uc1ZlY3RvcltpXSk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50
RGVjb2RlciogZGVjb2RlciwgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9ucyYgb3BlcmF0aW9u
cykKKyAgICB7CisgICAgICAgIGludCBzaXplOworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29k
ZUludDMyKHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFdURjo6
VmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+ID4mIG9wZXJhdGlvblZl
Y3RvciA9IG9wZXJhdGlvbnMub3BlcmF0aW9ucygpOworICAgICAgICBvcGVyYXRpb25WZWN0b3Iu
Y2xlYXIoKTsKKyAgICAgICAgb3BlcmF0aW9uVmVjdG9yLnJlc2l6ZShzaXplKTsKKyAgICAgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKKyAgICAgICAgICAgIFJlZlB0cjxXZWJD
b3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+IG9wZXJhdGlvbjsKKyAgICAgICAgICAgIGlmICghQXJn
dW1lbnRDb2RlcjxSZWZQdHI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiA+OjpkZWNvZGUo
ZGVjb2Rlciwgb3BlcmF0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgICAgICBvcGVyYXRpb25WZWN0b3JbaV0gPSBvcGVyYXRpb247CisgICAgICAgIH0KKworICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cit9OworCisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6QW5pbWF0aW9uPiB7CiAgICAgc3RhdGljIGJvb2wgZW5jb2RlQm9v
bEFuZFJldHVyblZhbHVlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgYm9vbCB2YWx1ZSkKICAg
ICB7Cg==
</data>
<flag name="commit-queue"
          id="90050"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96440</attachid>
            <date>2011-06-08 10:47:08 -0700</date>
            <delta_ts>2011-06-08 12:17:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch-61694.diff</filename>
            <type>text/plain</type>
            <size>13170</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0N2Q0NDVlLi5hZjJkN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC04NjYs
NiArODY2LDE0IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbG9yTWFj
LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByb3h5
LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJh
bnNmb3JtLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvSWRl
bnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9NYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24uaCcsCisgICAgICAgICAgICAn
cGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5o
JywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1BlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgnLAorICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvU2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24uaCcsCisgICAg
ICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Ta2V3VHJhbnNmb3JtT3BlcmF0
aW9uLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNs
YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9uLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDQ3ZDQ0NWUuLmFmMmQ3ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxMS0wNS0yOSAgTm9hbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0
MjogRW5hYmxlIHNlcmlhbGl6aW5nIG9mIGRhdGEgdHlwZXMgbmVlZGVkIGZvciBjcm9zcy1wcm9j
ZXNzIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MTY5NAorCisgICAgICAgIEFkZCBBcmd1bWVudENvZGVycyBm
b3IgVHJhbnNmb3JtT3BlcmF0aW9uLCBpbmNsdWRpbmcgYWxsIHRoZSBzdWJjbGFzc2VzLAorICAg
ICAgICBhbmQgVHJhbnNmb3JtT3BlcmF0aW9ucy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
Mi9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6
CisKIDIwMTEtMDYtMDYgIEpvaG4gU3VsbGl2YW4gIDxzdWxsaXZhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMv
d2Via2l0Mi9tZXNzYWdlcy5weQppbmRleCAxZjcwNjA0Li4zZTIyYzgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dl
YktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CkBAIC0yNTUsMTIgKzI1NSwyMiBAQCBk
ZWYgc3RydWN0X29yX2NsYXNzKG5hbWVzcGFjZSwgdHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpF
ZGl0b3JDb21tYW5kc0ZvcktleUV2ZW50JywKICAgICAgICAgJ1dlYkNvcmU6OkNvbXBvc2l0aW9u
VW5kZXJsaW5lJywKICAgICAgICAgJ1dlYkNvcmU6OkdyYW1tYXJEZXRhaWwnLAorICAgICAgICAn
V2ViQ29yZTo6SWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24nLAogICAgICAgICAnV2ViQ29yZTo6
S2V5cHJlc3NDb21tYW5kJywKICAgICAgICAgJ1dlYkNvcmU6Okxlbmd0aCcsCisgICAgICAgICdX
ZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24nLAorICAgICAgICAnV2ViQ29yZTo6TWF0
cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24nLAorICAgICAgICAnV2ViQ29yZTo6UGVyc3BlY3RpdmVU
cmFuc2Zvcm1PcGVyYXRpb24nLAogICAgICAgICAnV2ViQ29yZTo6UGx1Z2luSW5mbycsCiAgICAg
ICAgICdXZWJDb3JlOjpQcmludEluZm8nLAorICAgICAgICAnV2ViQ29yZTo6Um90YXRlVHJhbnNm
b3JtT3BlcmF0aW9uJywKKyAgICAgICAgJ1dlYkNvcmU6OlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9u
JywKKyAgICAgICAgJ1dlYkNvcmU6OlNrZXdUcmFuc2Zvcm1PcGVyYXRpb24nLAogICAgICAgICAn
V2ViQ29yZTo6VGltaW5nRnVuY3Rpb24nLAogICAgICAgICAnV2ViQ29yZTo6VHJhbnNmb3JtYXRp
b25NYXRyaXgnLAorICAgICAgICAnV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uJywKKyAgICAg
ICAgJ1dlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbnMnLAorICAgICAgICAnV2ViQ29yZTo6VHJh
bnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6OlZpZXdwb3J0QXJn
dW1lbnRzJywKICAgICAgICAgJ1dlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJywKICAgICAgICAgJ1dl
YktpdDo6QXR0cmlidXRlZFN0cmluZycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNWQ3YTMxMS4uODE3ODJlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNDEsMjEgKzQxLDMzIEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9FZGl0b3JDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zs
b2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9JZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvTGVuZ3RoLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NYXRyaXgzRFRyYW5zZm9y
bU9wZXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9u
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvdGVj
dGlvblNwYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JvdGF0ZVRy
YW5zZm9ybU9wZXJhdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2NhbGVUcmFuc2Zvcm1PcGVy
YXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NrZXdUcmFuc2Zvcm1PcGVyYXRpb24uaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9U
aW1pbmdGdW5jdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNmb3JtT3BlcmF0aW9uLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2Zvcm1PcGVyYXRpb25zLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNsYXRl
VHJhbnNmb3JtT3BlcmF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3VtZW50
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMuaD4KICNpbmNsdWRlIDxsaW1p
dHM+CiAKIAorCisKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJn
dW1lbnRDb2RlcjxXZWJDb3JlOjpJbnRQb2ludD4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkludFBvaW50PiB7IH07CkBAIC02OSw2ICs4MSwxNCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UmVjdD4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdl
YkNvcgogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpMZW5ndGg+IDog
U2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpMZW5ndGg+IHsgfTsKIHRlbXBsYXRlPD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg+IDogU2ltcGxl
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeD4geyB9OwogCit0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1hdHJpeFRyYW5zZm9ybU9wZXJh
dGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1hdHJpeFRyYW5zZm9ybU9wZXJh
dGlvbj4geyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNYXRy
aXgzRFRyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1h
dHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uPiA6IFNpbXBsZUFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24+IHsgfTsK
K3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Um90YXRlVHJhbnNmb3Jt
T3BlcmF0aW9uPiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Um90YXRlVHJhbnNmb3Jt
T3BlcmF0aW9uPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6
OlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uPiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlNrZXdUcmFuc2Zvcm1PcGVyYXRpb24+IHsgfTsKK3RlbXBsYXRlPD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uPiA6
IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9u
PiB7IH07CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TWltZUNs
YXNzSW5mbz4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29k
ZXIsIGNvbnN0IFdlYkNvcmU6Ok1pbWVDbGFzc0luZm8mIG1pbWVDbGFzc0luZm8pCiAgICAgewpA
QCAtNTYwLDYgKzU4MCwxNjAgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxSZWZQ
dHI8V2ViQ29yZTo6VGltaW5nRnVuY3Rpb24+ID4gewogICAgIH0KIH07CiAKK3RlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4g
PiB7CisgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVPcGVyYXRp
b24oQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZWZQdHI8V2ViQ29yZTo6VHJhbnNmb3JtT3Bl
cmF0aW9uPiYgb3BlcmF0aW9uLCBQYXNzUmVmUHRyPFQ+IG5ld09wZXJhdGlvbikKKyAgICB7Cisg
ICAgICAgIGlmICghQXJndW1lbnRDb2RlcjxUPjo6ZGVjb2RlKGRlY29kZXIsICpuZXdPcGVyYXRp
b24uZ2V0KCkpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBvcGVyYXRpb24g
PSBuZXdPcGVyYXRpb24uZ2V0KCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAg
IHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgc3RhdGljIHZvaWQgZW5jb2RlT3BlcmF0aW9uKEFyZ3Vt
ZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uKiBv
cGVyYXRpb24pCisgICAgeworICAgICAgICBBcmd1bWVudENvZGVyPFQ+OjplbmNvZGUoZW5jb2Rl
ciwgKnN0YXRpY19jYXN0PGNvbnN0IFQqPihvcGVyYXRpb24pKTsKKyAgICB9CisKKyAgICBzdGF0
aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBSZWZQdHI8V2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiYgb3BlcmF0aW9uKQorICAgIHsKKyAgICAgICAgLy8g
V2UgZG9uJ3Qgd2FudCB0byBlbmNvZGUgbnVsbC1yZWZlcmVuY2VzLgorICAgICAgICBBU1NFUlQo
b3BlcmF0aW9uKTsKKworICAgICAgICBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246Ok9wZXJh
dGlvblR5cGUgdHlwZSA9IG9wZXJhdGlvbi0+Z2V0T3BlcmF0aW9uVHlwZSgpOworICAgICAgICBl
bmNvZGVyLT5lbmNvZGVJbnQzMih0eXBlKTsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAg
ICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRToKKyAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1g6CisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV9ZOgorICAgICAgICBjYXNlIFdlYkNvcmU6
OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEVfWjoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFu
c2Zvcm1PcGVyYXRpb246OlNDQUxFXzNEOgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0aW9uPFdl
YkNvcmU6OlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uPihlbmNvZGVyLCBvcGVyYXRpb24uZ2V0KCkp
OworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3Jt
T3BlcmF0aW9uOjpUUkFOU0xBVEU6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3Bl
cmF0aW9uOjpUUkFOU0xBVEVfWDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVy
YXRpb246OlRSQU5TTEFURV9ZOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJh
dGlvbjo6VFJBTlNMQVRFX1o6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0
aW9uOjpUUkFOU0xBVEVfM0Q6CisgICAgICAgICAgICBlbmNvZGVPcGVyYXRpb248V2ViQ29yZTo6
VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uPihlbmNvZGVyLCBvcGVyYXRpb24uZ2V0KCkpOwor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3Bl
cmF0aW9uOjpST1RBVEU6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9u
OjpST1RBVEVfWDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlJP
VEFURV9ZOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRF
XzNEOgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0aW9uPFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFVzoKKyAg
ICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNLRVdfWDoKKyAgICAgICAg
Y2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNLRVdfWToKKyAgICAgICAgICAgIGVu
Y29kZU9wZXJhdGlvbjxXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uPihlbmNvZGVyLCBv
cGVyYXRpb24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpNQVRSSVg6CisgICAgICAgICAgICBlbmNvZGVPcGVy
YXRpb248V2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uPihlbmNvZGVyLCBvcGVyYXRp
b24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6
VHJhbnNmb3JtT3BlcmF0aW9uOjpNQVRSSVhfM0Q6CisgICAgICAgICAgICBlbmNvZGVPcGVyYXRp
b248V2ViQ29yZTo6TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24+KGVuY29kZXIsIG9wZXJhdGlv
bi5nZXQoKSk7CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpU
cmFuc2Zvcm1PcGVyYXRpb246OlBFUlNQRUNUSVZFOgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0
aW9uPFdlYkNvcmU6OlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uPihlbmNvZGVyLCBvcGVy
YXRpb24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV2ViQ29y
ZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpJREVOVElUWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpU
cmFuc2Zvcm1PcGVyYXRpb246Ok5PTkU6CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVy
LCBSZWZQdHI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiYgb3BlcmF0aW9uKQorICAgIHsK
KyAgICAgICAgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlIHR5cGU7
CisgICAgICAgIGludCB0eXBlSW50OworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUludDMy
KHR5cGVJbnQpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB0eXBlID0gc3Rh
dGljX2Nhc3Q8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlPih0eXBl
SW50KTsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJh
bnNmb3JtT3BlcmF0aW9uOjpTQ0FMRToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1P
cGVyYXRpb246OlNDQUxFX1g6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0
aW9uOjpTQ0FMRV9ZOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6
U0NBTEVfWjoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxF
XzNEOgorICAgICAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpTY2FsZVRy
YW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpTY2FsZVRyYW5z
Zm9ybU9wZXJhdGlvbjo6Y3JlYXRlKDEuMCwgMS4wLCB0eXBlKSk7CisKKyAgICAgICAgY2FzZSBX
ZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURToKKyAgICAgICAgY2FzZSBXZWJD
b3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV9YOgorICAgICAgICBjYXNlIFdlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1k6CisgICAgICAgIGNhc2UgV2ViQ29y
ZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfWjoKKyAgICAgICAgY2FzZSBXZWJDb3Jl
OjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV8zRDoKKyAgICAgICAgICAgIHJldHVybiBk
ZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uPihkZWNv
ZGVyLCBvcGVyYXRpb24sIFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3Jl
YXRlKFdlYkNvcmU6Okxlbmd0aCgwLCBXZWJDb3JlOjpGaXhlZCksIFdlYkNvcmU6Okxlbmd0aCgw
LCBXZWJDb3JlOjpGaXhlZCksIHR5cGUpKTsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5z
Zm9ybU9wZXJhdGlvbjo6Uk9UQVRFOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbjo6Uk9UQVRFX1g6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0
aW9uOjpST1RBVEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246
OlJPVEFURV8zRDoKKyAgICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6
Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uPihkZWNvZGVyLCBvcGVyYXRpb24sIFdlYkNvcmU6OlJv
dGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKDAuMCwgdHlwZSkpOworCisgICAgICAgIGNh
c2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTS0VXOgorICAgICAgICBjYXNlIFdlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFV19YOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRy
YW5zZm9ybU9wZXJhdGlvbjo6U0tFV19ZOgorICAgICAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJh
dGlvbjxXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uPihkZWNvZGVyLCBvcGVyYXRpb24s
IFdlYkNvcmU6OlNrZXdUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgwLjAsIDAuMCwgdHlwZSkp
OworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpNQVRSSVg6Cisg
ICAgICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPFdlYkNvcmU6Ok1hdHJpeFRyYW5zZm9y
bU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1P
cGVyYXRpb246OmNyZWF0ZShXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKSk7CisKKyAg
ICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246Ok1BVFJJWF8zRDoKKyAgICAg
ICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6TWF0cml4M0RUcmFuc2Zvcm1P
cGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbiwgV2ViQ29yZTo6TWF0cml4M0RUcmFuc2Zvcm1P
cGVyYXRpb246OmNyZWF0ZShXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKSk7CisKKyAg
ICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlBFUlNQRUNUSVZFOgorICAg
ICAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpQZXJzcGVjdGl2ZVRyYW5z
Zm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBXZWJDb3JlOjpQZXJzcGVjdGl2ZVRy
YW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKFdlYkNvcmU6Okxlbmd0aCgwLCBXZWJDb3JlOjpGaXhl
ZCkpKTsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6SURFTlRJ
VFk6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpOT05FOgorICAg
ICAgICAgICAgb3BlcmF0aW9uID0gV2ViQ29yZTo6SWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb246
OmNyZWF0ZSgpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb25zPiB7CisgICAgc3RhdGljIHZvaWQgZW5j
b2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtT3Bl
cmF0aW9ucyYgb3BlcmF0aW9ucykKKyAgICB7CisgICAgICAgIFdURjo6VmVjdG9yPFJlZlB0cjxX
ZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+ID4gb3BlcmF0aW9uc1ZlY3RvciA9IG9wZXJhdGlv
bnMub3BlcmF0aW9ucygpOworICAgICAgICBpbnQgc2l6ZSA9IG9wZXJhdGlvbnNWZWN0b3Iuc2l6
ZSgpOworICAgICAgICBlbmNvZGVyLT5lbmNvZGVJbnQzMihzaXplKTsKKyAgICAgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCBzaXplOyArK2kpCisgICAgICAgICAgICBBcmd1bWVudENvZGVyPFJlZlB0
cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+ID46OmVuY29kZShlbmNvZGVyLCBvcGVyYXRp
b25zVmVjdG9yW2ldKTsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnRE
ZWNvZGVyKiBkZWNvZGVyLCBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb25zJiBvcGVyYXRpb25z
KQorICAgIHsKKyAgICAgICAgaW50IHNpemU7CisgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
SW50MzIoc2l6ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgV1RGOjpW
ZWN0b3I8UmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4gPiYgb3BlcmF0aW9uVmVj
dG9yID0gb3BlcmF0aW9ucy5vcGVyYXRpb25zKCk7CisgICAgICAgIG9wZXJhdGlvblZlY3Rvci5j
bGVhcigpOworICAgICAgICBvcGVyYXRpb25WZWN0b3IucmVzaXplKHNpemUpOworICAgICAgICBm
b3IgKGludCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICAgICAgUmVmUHRyPFdlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4gb3BlcmF0aW9uOworICAgICAgICAgICAgaWYgKCFBcmd1
bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+ID46OmRlY29kZShk
ZWNvZGVyLCBvcGVyYXRpb24pKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgICAgIG9wZXJhdGlvblZlY3RvcltpXSA9IG9wZXJhdGlvbjsKKyAgICAgICAgfQorCisgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KK307CisKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpBbmltYXRpb24+IHsKICAgICBzdGF0aWMgYm9vbCBlbmNvZGVCb29s
QW5kUmV0dXJuVmFsdWUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBib29sIHZhbHVlKQogICAg
IHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96457</attachid>
            <date>2011-06-08 12:17:21 -0700</date>
            <delta_ts>2011-06-08 13:19:23 -0700</delta_ts>
            <desc>Patch 4: TransformOperation[s]</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>18888</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4MzY4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMDggIE5vJ2FtIFJv
c2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICBXZWJLaXQyOiBFbmFibGUg
c2VyaWFsaXppbmcgb2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXByb2Nlc3MgYWNjZWxl
cmF0ZWQgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb2RlIHBhdGggaXMgbm90
IGFjdGl2YXRlZCB5ZXQuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6IENoYW5nZWQgdGhlIFRyYW5zZm9ybU9wZXJhdGlvbiBzdWJjbGFzc2VkIGZyb20gInBy
b2plY3QiIHRvICJwcml2YXRlIgorCiAyMDExLTA2LTA4ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5y
ZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
ODgzNjUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCShyZXZpc2lvbiA4ODMyMykKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTEyNSwyNSArMTEy
NSwyNSBAQAogCQk0OUM3QkE3OTEwNDJFRkFFMDAwOUQ0NDcgLyogT3BlbkdMLmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCQTc4
MTA0MkVGQUUwMDA5RDQ0NyAvKiBPcGVuR0wuZnJhbWV3b3JrICovOyB9OwogCQk0OUM3QkE4RDEw
NDJGNUIxMDAwOUQ0NDcgLyogSlNEb2N1bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUM3QkE4QzEwNDJGNUIxMDAwOUQ0NDcgLyog
SlNEb2N1bWVudEN1c3RvbS5jcHAgKi87IH07CiAJCTQ5RDVEQzJCMEY0MjNBNzMwMDhGMjBGRCAv
KiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUQ1REMyNzBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4
M0RUcmFuc2Zvcm1PcGVyYXRpb24uY3BwICovOyB9OwotCQk0OUQ1REMyQzBGNDIzQTczMDA4RjIw
RkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RDVEQzI4MEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRy
aXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oICovOyB9OworCQk0OUQ1REMyQzBGNDIzQTczMDA4RjIw
RkQgLyogTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RDVEQzI4MEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRy
aXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQ5RDVEQzJEMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2
ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OUQ1REMyOTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFu
c2Zvcm1PcGVyYXRpb24uY3BwICovOyB9OwotCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyog
UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RDVEQzJBMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVj
dGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oICovOyB9OworCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIw
RkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RDVEQzJBMEY0MjNBNzMwMDhGMjBGRCAvKiBQ
ZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5RTkxMUMzMEVGODZENDcwMDlEMENBRiAvKiBUcmFu
c2Zvcm1hdGlvbk1hdHJpeC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0OUU5MTFCMzBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRy
aXguY3BwICovOyB9OwogCQk0OUU5MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRp
b25NYXRyaXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ5RTkxMUI0MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQ5RTkxMUM1MEVG
ODZENDcwMDlEMENBRiAvKiBJZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlFOTExQjUwRUY4NkQ0NzAwOUQw
Q0FGIC8qIElkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IH07CisJCTQ5RTkxMUM1MEVG
ODZENDcwMDlEMENBRiAvKiBJZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlFOTExQjUwRUY4NkQ0NzAwOUQw
Q0FGIC8qIElkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlFOTExQzYwRUY4NkQ0NzAwOUQwQ0FGIC8q
IE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OUU5MTFCNjBFRjg2RDQ3MDA5RDBDQUYgLyogTWF0cml4VHJh
bnNmb3JtT3BlcmF0aW9uLmNwcCAqLzsgfTsKLQkJNDlFOTExQzcwRUY4NkQ0NzAwOUQwQ0FGIC8q
IE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDlFOTExQjcwRUY4NkQ0NzAwOUQwQ0FGIC8qIE1hdHJpeFRyYW5z
Zm9ybU9wZXJhdGlvbi5oICovOyB9OworCQk0OUU5MTFDNzBFRjg2RDQ3MDA5RDBDQUYgLyogTWF0
cml4VHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OUU5MTFCNzBFRjg2RDQ3MDA5RDBDQUYgLyogTWF0cml4VHJhbnNmb3Jt
T3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDlFOTExQzgwRUY4NkQ0NzAwOUQwQ0FGIC8qIFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUU5
MTFCODBFRjg2RDQ3MDA5RDBDQUYgLyogUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCAqLzsg
fTsKLQkJNDlFOTExQzkwRUY4NkQ0NzAwOUQwQ0FGIC8qIFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlFOTEx
QjkwRUY4NkQ0NzAwOUQwQ0FGIC8qIFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oICovOyB9Owor
CQk0OUU5MTFDOTBFRjg2RDQ3MDA5RDBDQUYgLyogUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUU5MTFCOTBF
Rjg2RDQ3MDA5RDBDQUYgLyogUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlFOTExQ0EwRUY4NkQ0NzAw
OUQwQ0FGIC8qIFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMUJBMEVGODZENDcwMDlEMENBRiAvKiBT
Y2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgKi87IH07Ci0JCTQ5RTkxMUNCMEVGODZENDcwMDlE
MENBRiAvKiBTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlFOTExQkIwRUY4NkQ0NzAwOUQwQ0FGIC8qIFNjYWxl
VHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IH07CisJCTQ5RTkxMUNCMEVGODZENDcwMDlEMENBRiAv
KiBTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDlFOTExQkIwRUY4NkQ0NzAwOUQwQ0FGIC8qIFNjYWxlVHJhbnNm
b3JtT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDlFOTExQ0MwRUY4NkQ0NzAwOUQwQ0FGIC8qIFNrZXdUcmFuc2Zvcm1PcGVyYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlF
OTExQkMwRUY4NkQ0NzAwOUQwQ0FGIC8qIFNrZXdUcmFuc2Zvcm1PcGVyYXRpb24uY3BwICovOyB9
OwotCQk0OUU5MTFDRDBFRjg2RDQ3MDA5RDBDQUYgLyogU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlFOTExQkQw
RUY4NkQ0NzAwOUQwQ0FGIC8qIFNrZXdUcmFuc2Zvcm1PcGVyYXRpb24uaCAqLzsgfTsKKwkJNDlF
OTExQ0QwRUY4NkQ0NzAwOUQwQ0FGIC8qIFNrZXdUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMUJEMEVGODZENDcw
MDlEMENBRiAvKiBTa2V3VHJhbnNmb3JtT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlFOTExQ0UwRUY4NkQ0NzAwOUQwQ0FGIC8q
IFRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDlFOTExQkUwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5
RTkxMUNGMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb25zLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMUJGMEVGODZENDcw
MDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb25zLmNwcCAqLzsgfTsKIAkJNDlFOTExRDAwRUY4
NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMUMwMEVGODZENDcwMDlEMENBRiAvKiBU
cmFuc2Zvcm1PcGVyYXRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDlFOTExRDEwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zbGF0ZVRyYW5z
Zm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0OUU5MTFDMTBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNsYXRlVHJhbnNmb3JtT3Bl
cmF0aW9uLmNwcCAqLzsgfTsKLQkJNDlFOTExRDIwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zbGF0
ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDlFOTExQzIwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zbGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbi5oICovOyB9OworCQk0OUU5MTFEMjBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNs
YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OUU5MTFDMjBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNsYXRlVHJhbnNm
b3JtT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDlFOTEyQUEwRUZBQzkwNjAwOUQwQ0FGIC8qIEFuaW1hdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUU5MTJBNTBFRkFDOTA2
MDA5RDBDQUYgLyogQW5pbWF0aW9uLmNwcCAqLzsgfTsKIAkJNDlFOTEyQUIwRUZBQzkwNjAwOUQw
Q0FGIC8qIEFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDlFOTEyQTYwRUZBQzkwNjAwOUQwQ0FGIC8qIEFuaW1hdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5RTkxMkFDMEVGQUM5
MDYwMDlEMENBRiAvKiBBbmltYXRpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMkE3MEVGQUM5MDYwMDlEMENBRiAvKiBBbmltYXRp
b25MaXN0LmNwcCAqLzsgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4MzY4KQorKysgU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTEtMDYtMDggIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKwor
ICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAg
ICAgIFdlYktpdDI6IEVuYWJsZSBzZXJpYWxpemluZyBvZiBkYXRhIHR5cGVzIG5lZWRlZCBmb3Ig
Y3Jvc3MtcHJvY2VzcyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZworICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjk0CisKKyAgICAgICAgIEFkZCBBcmd1
bWVudENvZGVycyBmb3IgVHJhbnNmb3JtT3BlcmF0aW9uLCBpbmNsdWRpbmcgYWxsIHRoZSBzdWJj
bGFzc2VzLAorICAgICAgICAgYW5kIFRyYW5zZm9ybU9wZXJhdGlvbnMuCisKKyAgICAgICAgICog
U2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5OgorICAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmg6CisKIDIwMTEtMDYtMDggIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25A
bm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CShyZXZpc2lvbiA4ODMy
MykKKysrIFNvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMjU1LDEyICsyNTUsMjIgQEAgZGVmIHN0cnVjdF9vcl9jbGFzcyhuYW1lc3Bh
Y2UsIHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6RWRpdG9yQ29tbWFuZHNGb3JLZXlFdmVudCcs
CiAgICAgICAgICdXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZScsCiAgICAgICAgICdXZWJD
b3JlOjpHcmFtbWFyRGV0YWlsJywKKyAgICAgICAgJ1dlYkNvcmU6OklkZW50aXR5VHJhbnNmb3Jt
T3BlcmF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6OktleXByZXNzQ29tbWFuZCcsCiAgICAgICAg
ICdXZWJDb3JlOjpMZW5ndGgnLAorICAgICAgICAnV2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3Bl
cmF0aW9uJywKKyAgICAgICAgJ1dlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uJywK
KyAgICAgICAgJ1dlYkNvcmU6OlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAg
ICAgJ1dlYkNvcmU6OlBsdWdpbkluZm8nLAogICAgICAgICAnV2ViQ29yZTo6UHJpbnRJbmZvJywK
KyAgICAgICAgJ1dlYkNvcmU6OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbicsCisgICAgICAgICdX
ZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbicsCisgICAgICAgICdXZWJDb3JlOjpTa2V3
VHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uJywK
ICAgICAgICAgJ1dlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4JywKKyAgICAgICAgJ1dlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbicsCisgICAgICAgICdXZWJDb3JlOjpUcmFuc2Zvcm1PcGVy
YXRpb25zJywKKyAgICAgICAgJ1dlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbics
CiAgICAgICAgICdXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cycsCiAgICAgICAgICdXZWJDb3Jl
OjpXaW5kb3dGZWF0dXJlcycsCiAgICAgICAgICdXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcnLApJ
bmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAko
cmV2aXNpb24gODgzMjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE2ICs0MSwyNiBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvRWRpdG9yQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSWRl
bnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xl
bmd0aC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL01hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VSZXF1ZXN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Sb3RhdGVUcmFuc2Zvcm1PcGVyYXRp
b24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9UZXh0Q2hlY2tlckNsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGltaW5nRnVuY3Rpb24u
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9ybU9wZXJhdGlvbi5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvVHJhbnNmb3JtT3BlcmF0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNmb3Jt
YXRpb25NYXRyaXguaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJh
dGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVudHMuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1dpbmRvd0ZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8bGltaXRzPgpAQCAtNjksNiAr
NzksMTQgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOgogdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpMZW5ndGg+IDogU2ltcGxlQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpMZW5ndGg+IHsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg+IDogU2ltcGxlQXJndW1lbnRDb2Rl
cjxXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeD4geyB9OwogCit0ZW1wbGF0ZTw+IHN0cnVj
dCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1w
bGVBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbj4geyB9Owor
dGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNYXRyaXgzRFRyYW5zZm9y
bU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNm
b3JtT3BlcmF0aW9uPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uPiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8
V2ViQ29yZTo6UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24+IHsgfTsKK3RlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uPiA6
IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uPiB7
IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlNjYWxlVHJhbnNm
b3JtT3BlcmF0aW9uPiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6U2NhbGVUcmFuc2Zv
cm1PcGVyYXRpb24+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbj4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6
OlNrZXdUcmFuc2Zvcm1PcGVyYXRpb24+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uPiA6IFNpbXBsZUFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uPiB7IH07CisKIHRl
bXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TWltZUNsYXNzSW5mbz4gewog
ICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdl
YkNvcmU6Ok1pbWVDbGFzc0luZm8mIG1pbWVDbGFzc0luZm8pCiAgICAgewpAQCAtNTYwLDYgKzU3
OCwxNjAgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxSZWZQdHI8VwogICAgIH0K
IH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRyPFdlYkNvcmU6OlRy
YW5zZm9ybU9wZXJhdGlvbj4gPiB7CisgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICBzdGF0aWMg
Ym9vbCBkZWNvZGVPcGVyYXRpb24oQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZWZQdHI8V2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiYgb3BlcmF0aW9uLCBQYXNzUmVmUHRyPFQ+IG5ld09w
ZXJhdGlvbikKKyAgICB7CisgICAgICAgIGlmICghQXJndW1lbnRDb2RlcjxUPjo6ZGVjb2RlKGRl
Y29kZXIsICpuZXdPcGVyYXRpb24uZ2V0KCkpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICBvcGVyYXRpb24gPSBuZXdPcGVyYXRpb24uZ2V0KCk7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgc3RhdGljIHZvaWQgZW5j
b2RlT3BlcmF0aW9uKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6VHJh
bnNmb3JtT3BlcmF0aW9uKiBvcGVyYXRpb24pCisgICAgeworICAgICAgICBBcmd1bWVudENvZGVy
PFQ+OjplbmNvZGUoZW5jb2RlciwgKnN0YXRpY19jYXN0PGNvbnN0IFQqPihvcGVyYXRpb24pKTsK
KyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVy
LCBjb25zdCBSZWZQdHI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiYgb3BlcmF0aW9uKQor
ICAgIHsKKyAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBlbmNvZGUgbnVsbC1yZWZlcmVuY2Vz
LgorICAgICAgICBBU1NFUlQob3BlcmF0aW9uKTsKKworICAgICAgICBXZWJDb3JlOjpUcmFuc2Zv
cm1PcGVyYXRpb246Ok9wZXJhdGlvblR5cGUgdHlwZSA9IG9wZXJhdGlvbi0+Z2V0T3BlcmF0aW9u
VHlwZSgpOworICAgICAgICBlbmNvZGVyLT5lbmNvZGVJbnQzMih0eXBlKTsKKyAgICAgICAgc3dp
dGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpT
Q0FMRToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1g6
CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV9ZOgorICAg
ICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEVfWjoKKyAgICAgICAg
Y2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFXzNEOgorICAgICAgICAgICAg
ZW5jb2RlT3BlcmF0aW9uPFdlYkNvcmU6OlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uPihlbmNvZGVy
LCBvcGVyYXRpb24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2Ug
V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEU6CisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfWDoKKyAgICAgICAgY2FzZSBXZWJD
b3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV9ZOgorICAgICAgICBjYXNlIFdlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1o6CisgICAgICAgIGNhc2UgV2ViQ29y
ZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfM0Q6CisgICAgICAgICAgICBlbmNvZGVP
cGVyYXRpb248V2ViQ29yZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uPihlbmNvZGVyLCBv
cGVyYXRpb24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEU6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6
VHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFu
c2Zvcm1PcGVyYXRpb246OlJPVEFURV9ZOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9y
bU9wZXJhdGlvbjo6Uk9UQVRFXzNEOgorICAgICAgICAgICAgZW5jb2RlT3BlcmF0aW9uPFdlYkNv
cmU6OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZW5jb2Rlciwgb3BlcmF0aW9uLmdldCgpKTsK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9w
ZXJhdGlvbjo6U0tFVzoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246
OlNLRVdfWDoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNLRVdf
WToKKyAgICAgICAgICAgIGVuY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3Bl
cmF0aW9uPihlbmNvZGVyLCBvcGVyYXRpb24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpNQVRSSVg6CisgICAg
ICAgICAgICBlbmNvZGVPcGVyYXRpb248V2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9u
PihlbmNvZGVyLCBvcGVyYXRpb24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpNQVRSSVhfM0Q6CisgICAgICAg
ICAgICBlbmNvZGVPcGVyYXRpb248V2ViQ29yZTo6TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24+
KGVuY29kZXIsIG9wZXJhdGlvbi5nZXQoKSk7CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlBFUlNQRUNUSVZFOgorICAgICAg
ICAgICAgZW5jb2RlT3BlcmF0aW9uPFdlYkNvcmU6OlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0
aW9uPihlbmNvZGVyLCBvcGVyYXRpb24uZ2V0KCkpOworICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpJREVOVElUWToKKyAgICAg
ICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246Ok5PTkU6CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1l
bnREZWNvZGVyKiBkZWNvZGVyLCBSZWZQdHI8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uPiYg
b3BlcmF0aW9uKQorICAgIHsKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpP
cGVyYXRpb25UeXBlIHR5cGU7CisgICAgICAgIGludCB0eXBlSW50OworICAgICAgICBpZiAoIWRl
Y29kZXItPmRlY29kZUludDMyKHR5cGVJbnQpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICB0eXBlID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpP
cGVyYXRpb25UeXBlPih0eXBlSW50KTsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAg
IGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRToKKyAgICAgICAgY2FzZSBX
ZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1g6CisgICAgICAgIGNhc2UgV2ViQ29y
ZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV9ZOgorICAgICAgICBjYXNlIFdlYkNvcmU6OlRy
YW5zZm9ybU9wZXJhdGlvbjo6U0NBTEVfWjoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zv
cm1PcGVyYXRpb246OlNDQUxFXzNEOgorICAgICAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlv
bjxXZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBX
ZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKDEuMCwgMS4wLCB0eXBlKSk7
CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURToK
KyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV9YOgor
ICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1k6Cisg
ICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfWjoKKyAg
ICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV8zRDoKKyAg
ICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6VHJhbnNsYXRlVHJhbnNm
b3JtT3BlcmF0aW9uPihkZWNvZGVyLCBvcGVyYXRpb24sIFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5z
Zm9ybU9wZXJhdGlvbjo6Y3JlYXRlKFdlYkNvcmU6Okxlbmd0aCgwLCBXZWJDb3JlOjpGaXhlZCks
IFdlYkNvcmU6Okxlbmd0aCgwLCBXZWJDb3JlOjpGaXhlZCksIHR5cGUpKTsKKworICAgICAgICBj
YXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFOgorICAgICAgICBjYXNlIFdl
YkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFX1g6CisgICAgICAgIGNhc2UgV2ViQ29y
ZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWToKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpU
cmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURV8zRDoKKyAgICAgICAgICAgIHJldHVybiBkZWNvZGVP
cGVyYXRpb248V2ViQ29yZTo6Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uPihkZWNvZGVyLCBvcGVy
YXRpb24sIFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKDAuMCwgdHlw
ZSkpOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3BlcmF0aW9uOjpTS0VXOgor
ICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFV19YOgorICAgICAg
ICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFV19ZOgorICAgICAgICAgICAg
cmV0dXJuIGRlY29kZU9wZXJhdGlvbjxXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uPihk
ZWNvZGVyLCBvcGVyYXRpb24sIFdlYkNvcmU6OlNrZXdUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0
ZSgwLjAsIDAuMCwgdHlwZSkpOworCisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3Bl
cmF0aW9uOjpNQVRSSVg6CisgICAgICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPFdlYkNv
cmU6Ok1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBXZWJDb3Jl
OjpNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZShXZWJDb3JlOjpUcmFuc2Zvcm1hdGlv
bk1hdHJpeCgpKSk7CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246
Ok1BVFJJWF8zRDoKKyAgICAgICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb248V2ViQ29yZTo6
TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbiwgV2ViQ29yZTo6
TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZShXZWJDb3JlOjpUcmFuc2Zvcm1hdGlv
bk1hdHJpeCgpKSk7CisKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb246
OlBFUlNQRUNUSVZFOgorICAgICAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbjxXZWJDb3Jl
OjpQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uLCBXZWJD
b3JlOjpQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKFdlYkNvcmU6Okxlbmd0
aCgwLCBXZWJDb3JlOjpGaXhlZCkpKTsKKworICAgICAgICBjYXNlIFdlYkNvcmU6OlRyYW5zZm9y
bU9wZXJhdGlvbjo6SURFTlRJVFk6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6VHJhbnNmb3JtT3Bl
cmF0aW9uOjpOT05FOgorICAgICAgICAgICAgb3BlcmF0aW9uID0gV2ViQ29yZTo6SWRlbnRpdHlU
cmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIH0KKworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfTsKKwordGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb25zPiB7Cisg
ICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgV2Vi
Q29yZTo6VHJhbnNmb3JtT3BlcmF0aW9ucyYgb3BlcmF0aW9ucykKKyAgICB7CisgICAgICAgIFdU
Rjo6VmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+ID4gb3BlcmF0aW9u
c1ZlY3RvciA9IG9wZXJhdGlvbnMub3BlcmF0aW9ucygpOworICAgICAgICBpbnQgc2l6ZSA9IG9w
ZXJhdGlvbnNWZWN0b3Iuc2l6ZSgpOworICAgICAgICBlbmNvZGVyLT5lbmNvZGVJbnQzMihzaXpl
KTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyArK2kpCisgICAgICAgICAgICBB
cmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb24+ID46OmVuY29k
ZShlbmNvZGVyLCBvcGVyYXRpb25zVmVjdG9yW2ldKTsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVy
YXRpb25zJiBvcGVyYXRpb25zKQorICAgIHsKKyAgICAgICAgaW50IHNpemU7CisgICAgICAgIGlm
ICghZGVjb2Rlci0+ZGVjb2RlSW50MzIoc2l6ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgV1RGOjpWZWN0b3I8UmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlv
bj4gPiYgb3BlcmF0aW9uVmVjdG9yID0gb3BlcmF0aW9ucy5vcGVyYXRpb25zKCk7CisgICAgICAg
IG9wZXJhdGlvblZlY3Rvci5jbGVhcigpOworICAgICAgICBvcGVyYXRpb25WZWN0b3IucmVzaXpl
KHNpemUpOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAg
ICAgICAgUmVmUHRyPFdlYkNvcmU6OlRyYW5zZm9ybU9wZXJhdGlvbj4gb3BlcmF0aW9uOworICAg
ICAgICAgICAgaWYgKCFBcmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUcmFuc2Zvcm1PcGVy
YXRpb24+ID46OmRlY29kZShkZWNvZGVyLCBvcGVyYXRpb24pKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgICAgIG9wZXJhdGlvblZlY3RvcltpXSA9IG9wZXJhdGlvbjsK
KyAgICAgICAgfQorCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KK307CisKKwogdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBbmltYXRpb24+IHsKICAgICBzdGF0
aWMgYm9vbCBlbmNvZGVCb29sQW5kUmV0dXJuVmFsdWUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVy
LCBib29sIHZhbHVlKQogICAgIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96469</attachid>
            <date>2011-06-08 13:19:34 -0700</date>
            <delta_ts>2011-06-08 14:53:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61694-20110608131932.patch</filename>
            <type>text/plain</type>
            <size>2536</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4Mzc5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDYtMDggIE5vJ2FtIFJv
c2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJLaXQyOiBFbmFibGUgc2VyaWFsaXppbmcg
b2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXByb2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9z
aXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYx
Njk0CisKKyAgICAgICAgQWRkIGFuIEFyZ3VtZW50Q29kZXIgZm9yIEZsb2F0UG9pbnQzRC4KKwor
ICAgICAgICBUb2dldGhlciB3aXRoIFZpYXRjaGVzbGF2IE9zdGFwZW5rby4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmg6CisKIDIwMTEtMDYtMDggIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9z
ZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4uCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2Fn
ZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3Nh
Z2VzLnB5CShyZXZpc2lvbiA4ODM3OCkKKysrIFNvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0
Mi9tZXNzYWdlcy5weQkod29ya2luZyBjb3B5KQpAQCAtMjU0LDYgKzI1NCw3IEBAIGRlZiBzdHJ1
Y3Rfb3JfY2xhc3MobmFtZXNwYWNlLCB0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OkFuaW1hdGlv
bicsCiAgICAgICAgICdXZWJDb3JlOjpFZGl0b3JDb21tYW5kc0ZvcktleUV2ZW50JywKICAgICAg
ICAgJ1dlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lJywKKyAgICAgICAgJ1dlYkNvcmU6OkZs
b2F0UG9pbnQzRCcsCiAgICAgICAgICdXZWJDb3JlOjpHcmFtbWFyRGV0YWlsJywKICAgICAgICAg
J1dlYkNvcmU6OklkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uJywKICAgICAgICAgJ1dlYkNvcmU6
OktleXByZXNzQ29tbWFuZCcsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oCShyZXZpc2lvbiA4ODM3OCkKKysrIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzks
NyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRGF0YWJhc2VEZXRhaWxzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9FZGl0b3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0VkaXRvckNsaWVudC5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvRmxvYXRQb2ludDNELmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3Qu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaD4KQEAgLTc0LDYgKzc1LDcgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOgogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJn
dW1lbnRDb2RlcjxXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4gOiBTaW1wbGVBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzPiB7IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRQb2ludD4gOiBTaW1wbGVBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkZsb2F0UG9pbnQ+IHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6RmxvYXRQb2ludDNEPiA6IFNpbXBsZUFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
RmxvYXRQb2ludDNEPiB7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkZsb2F0U2l6ZT4gOiBTaW1wbGVBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0U2l6ZT4g
eyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFJlY3Q+
IDogU2ltcGxlQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFJlY3Q+IHsgfTsKIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TGVuZ3RoPiA6IFNpbXBsZUFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6TGVuZ3RoPiB7IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96522</attachid>
            <date>2011-06-08 18:06:58 -0700</date>
            <delta_ts>2011-12-06 17:03:02 -0800</delta_ts>
            <desc>Last patch: KeyframeValueList coder</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>7008</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4MzgwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDYtMDggIE5vJ2FtIFJv
c2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJLaXQyOiBFbmFibGUgc2VyaWFsaXppbmcg
b2YgZGF0YSB0eXBlcyBuZWVkZWQgZm9yIGNyb3NzLXByb2Nlc3MgYWNjZWxlcmF0ZWQgY29tcG9z
aXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYx
Njk0CisKKyAgICAgICAgQWRkIGFuIEFyZ3VtZW50Q29kZXIgZm9yIEtleWZyYW1lVmFsdWVMaXN0
LCBhbmQgbW9kaWZ5IHRoZSBUaW1pbmdGdW5jdGlvbiBBcmd1bWVudENvZGVyIHRvCisgICAgICAg
IGFsbG93IGVuY29kaW5nIGNvbnN0IFRpbWluZ0Z1bmN0aW9ucyBhbmQgbm90IGp1c3QgUmVmUHRy
PFRpbWluZ0Z1bmN0aW9uPi4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5w
eToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisKIDIwMTEtMDYt
MDggIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CShyZXZpc2lvbiA4ODM3OCkKKysr
IFNvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQkod29ya2luZyBjb3B5
KQpAQCAtNDU3LDYgKzQ1Nyw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAg
ICAnV1RGOjpTdHJpbmcnOiAnPHd0Zi90ZXh0L1dURlN0cmluZy5oPicsCiAgICAgICAgICdXZWJD
b3JlOjpDb21wb3NpdGlvblVuZGVybGluZSc6ICc8V2ViQ29yZS9FZGl0b3IuaD4nLAogICAgICAg
ICAnV2ViQ29yZTo6R3JhbW1hckRldGFpbCc6ICc8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5o
PicsCisgICAgICAgICdXZWJDb3JlOjpLZXlmcmFtZVZhbHVlTGlzdCc6ICc8V2ViQ29yZS9HcmFw
aGljc0xheWVyLmg+JywKICAgICAgICAgJ1dlYkNvcmU6OktleXByZXNzQ29tbWFuZCc6ICc8V2Vi
Q29yZS9LZXlib2FyZEV2ZW50Lmg+JywKICAgICAgICAgJ1dlYkNvcmU6OlBsdWdpbkluZm8nOiAn
PFdlYkNvcmUvUGx1Z2luRGF0YS5oPicsCiAgICAgICAgICdXZWJDb3JlOjpUZXh0Q2hlY2tpbmdS
ZXN1bHQnOiAnPFdlYkNvcmUvVGV4dENoZWNrZXJDbGllbnQuaD4nLApJbmRleDogU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAkocmV2aXNpb24gODgzNzgp
CisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0VkaXRvckNsaWVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9H
cmFwaGljc0NvbnRleHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0lkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CkBA
IC01MDgsMTYgKzUwOSwyMiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUaW1p
bmdGdW5jdGlvbj4gPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2Rlciog
ZW5jb2RlciwgY29uc3QgUmVmUHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uPiYgZnVuY3Rpb24p
CiAgICAgewotICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGVuY29kZSBudWxsLXJlZmVyZW5j
ZXMuCi0gICAgICAgIEFTU0VSVChmdW5jdGlvbik7CisgICAgICAgIGVuY29kZShlbmNvZGVyLCBm
dW5jdGlvbi5nZXQoKSk7CisgICAgfQogCisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciogZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6VGltaW5nRnVuY3Rpb24qIGZ1bmN0aW9u
KQorICAgIHsKKyAgICAgICAgaWYgKCFmdW5jdGlvbikgeworICAgICAgICAgICAgZW5jb2Rlci0+
ZW5jb2RlSW50MzIoV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OkxpbmVhckZ1bmN0aW9uKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICBXZWJDb3JlOjpUaW1pbmdGdW5j
dGlvbjo6VGltaW5nRnVuY3Rpb25UeXBlIHR5cGUgPSBmdW5jdGlvbi0+dHlwZSgpOwogICAgICAg
ICBlbmNvZGVyLT5lbmNvZGVJbnQzMih0eXBlKTsKICAgICAgICAgc3dpdGNoICh0eXBlKSB7CiAg
ICAgICAgIGNhc2UgV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OkxpbmVhckZ1bmN0aW9uOgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OkN1
YmljQmV6aWVyRnVuY3Rpb246IHsKLSAgICAgICAgICAgIFdlYkNvcmU6OkN1YmljQmV6aWVyVGlt
aW5nRnVuY3Rpb24qIGN1YmljRnVuY3Rpb24gPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpDdWJpY0Jl
emllclRpbWluZ0Z1bmN0aW9uKj4oZnVuY3Rpb24uZ2V0KCkpOworICAgICAgICAgICAgY29uc3Qg
V2ViQ29yZTo6Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbiogY3ViaWNGdW5jdGlvbiA9IHN0YXRp
Y19jYXN0PGNvbnN0IFdlYkNvcmU6OkN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24qPihmdW5jdGlv
bik7CiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVEb3VibGUoY3ViaWNGdW5jdGlvbi0+eDEo
KSk7CiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVEb3VibGUoY3ViaWNGdW5jdGlvbi0+eTEo
KSk7CiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVEb3VibGUoY3ViaWNGdW5jdGlvbi0+eDIo
KSk7CkBAIC01MjUsNyArNTMyLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxS
ZWZQdHI8VwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBXZWJD
b3JlOjpUaW1pbmdGdW5jdGlvbjo6U3RlcHNGdW5jdGlvbjogewotICAgICAgICAgICAgV2ViQ29y
ZTo6U3RlcHNUaW1pbmdGdW5jdGlvbiogc3RlcHNGdW5jdGlvbiA9IHN0YXRpY19jYXN0PFdlYkNv
cmU6OlN0ZXBzVGltaW5nRnVuY3Rpb24qPihmdW5jdGlvbi5nZXQoKSk7CisgICAgICAgICAgICBj
b25zdCBXZWJDb3JlOjpTdGVwc1RpbWluZ0Z1bmN0aW9uKiBzdGVwc0Z1bmN0aW9uID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgV2ViQ29yZTo6U3RlcHNUaW1pbmdGdW5jdGlvbio+KGZ1bmN0aW9uKTsKICAg
ICAgICAgICAgIGVuY29kZXItPmVuY29kZUludDMyKHN0ZXBzRnVuY3Rpb24tPm51bWJlck9mU3Rl
cHMoKSk7CiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVCb29sKHN0ZXBzRnVuY3Rpb24tPnN0
ZXBBdFN0YXJ0KCkpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC04NDgsNiArODU1LDc4IEBAIHRl
bXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZToKICAgICB9CiB9OwogCisjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpLZXlmcmFtZVZhbHVlTGlzdD4geworICAgIHN0YXRpYyB2b2lkIGVuY29k
ZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OktleWZyYW1lVmFsdWVM
aXN0JiBrZXlmcmFtZXMpCisgICAgeworICAgICAgICBlbmNvZGVyLT5lbmNvZGVVSW50MzIoa2V5
ZnJhbWVzLnNpemUoKSk7CisgICAgICAgIGVuY29kZXItPmVuY29kZUludDMyKGtleWZyYW1lcy5w
cm9wZXJ0eSgpKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlmcmFtZXMuc2l6
ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGNvbnN0IFdlYkNvcmU6OkFuaW1hdGlvblZhbHVlKiB2
YWx1ZSA9IGtleWZyYW1lcy5hdChpKTsKKyAgICAgICAgICAgIGVuY29kZXItPmVuY29kZUZsb2F0
KHZhbHVlLT5rZXlUaW1lKCkpOworICAgICAgICAgICAgQXJndW1lbnRDb2RlcjxSZWZQdHI8V2Vi
Q29yZTo6VGltaW5nRnVuY3Rpb24+ID46OmVuY29kZShlbmNvZGVyLCB2YWx1ZS0+dGltaW5nRnVu
Y3Rpb24oKSk7CisgICAgICAgICAgICBzd2l0Y2ggKGtleWZyYW1lcy5wcm9wZXJ0eSgpKSB7Cisg
ICAgICAgICAgICBjYXNlIFdlYkNvcmU6OkFuaW1hdGVkUHJvcGVydHlPcGFjaXR5OiB7CisgICAg
ICAgICAgICAgICAgY29uc3QgV2ViQ29yZTo6RmxvYXRBbmltYXRpb25WYWx1ZSogZmxvYXRWYWx1
ZSA9IHN0YXRpY19jYXN0PGNvbnN0IFdlYkNvcmU6OkZsb2F0QW5pbWF0aW9uVmFsdWUqPih2YWx1
ZSk7CisgICAgICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRmxvYXQoZmxvYXRWYWx1ZS0+dmFs
dWUoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBjYXNlIFdlYkNvcmU6OkFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm06IHsKKyAgICAg
ICAgICAgICAgICBjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSogdHJhbnNm
b3JtVmFsdWUgPSBzdGF0aWNfY2FzdDxjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1BbmltYXRpb25W
YWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgICAgICAgICBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRy
YW5zZm9ybU9wZXJhdGlvbnM+OjplbmNvZGUoZW5jb2RlciwgKnRyYW5zZm9ybVZhbHVlLT52YWx1
ZSgpKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNv
ZGVyLCBXZWJDb3JlOjpLZXlmcmFtZVZhbHVlTGlzdCYga2V5ZnJhbWVzKQorICAgIHsKKyAgICAg
ICAgdWludDMyX3Qgc2l6ZTsKKyAgICAgICAgaW50MzJfdCBwcm9wZXJ0eTsKKyAgICAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGVVSW50MzIoc2l6ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlSW50MzIocHJvcGVydHkpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGtleWZyYW1lcyA9IFdlYkNvcmU6OktleWZyYW1l
VmFsdWVMaXN0KFdlYkNvcmU6OkFuaW1hdGVkUHJvcGVydHlJRChwcm9wZXJ0eSkpOworCisgICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgICAgICBmbG9h
dCBrZXlUaW1lOworICAgICAgICAgICAgUmVmUHRyPFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uPiB0
aW1pbmdGdW5jdGlvbjsKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlRmxvYXQoa2V5
VGltZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgaWYgKCFB
cmd1bWVudENvZGVyPFJlZlB0cjxXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbj4gPjo6ZGVjb2RlKGRl
Y29kZXIsIHRpbWluZ0Z1bmN0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgICAgIHN3aXRjaCAocHJvcGVydHkpIHsKKyAgICAgICAgICAgIGNhc2UgV2ViQ29y
ZTo6QW5pbWF0ZWRQcm9wZXJ0eU9wYWNpdHk6IHsKKyAgICAgICAgICAgICAgICBmbG9hdCB2YWx1
ZTsKKyAgICAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUZsb2F0KHZhbHVlKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIGtleWZyYW1l
cy5pbnNlcnQobmV3IFdlYkNvcmU6OkZsb2F0QW5pbWF0aW9uVmFsdWUoa2V5VGltZSwgdmFsdWUs
IHRpbWluZ0Z1bmN0aW9uKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBjYXNlIFdlYkNvcmU6OkFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zv
cm06IHsKKyAgICAgICAgICAgICAgICBXZWJDb3JlOjpUcmFuc2Zvcm1PcGVyYXRpb25zIHZhbHVl
OworICAgICAgICAgICAgICAgIGlmICghQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1P
cGVyYXRpb25zPjo6ZGVjb2RlKGRlY29kZXIsIHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIGtleWZyYW1lcy5pbnNlcnQobmV3IFdlYkNv
cmU6OlRyYW5zZm9ybUFuaW1hdGlvblZhbHVlKGtleVRpbWUsICZ2YWx1ZSwgdGltaW5nRnVuY3Rp
b24pKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cit9OworI2VuZGlmCisKKwogfSAvLyBu
YW1lc3BhY2UgQ29yZUlQQwogCiAjZW5kaWYgLy8gV2ViQ29yZUFyZ3VtZW50Q29kZXJzX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>