<?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>105574</bug_id>
          
          <creation_ts>2012-12-20 13:52:11 -0800</creation_ts>
          <short_desc>Fix scrollRectToVisible in the presence of transforms</short_desc>
          <delta_ts>2013-03-20 15:56:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Chris Hopman">cjhopman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>795766</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2012-12-20 13:52:11 -0800</bug_when>
    <thetext>Fix scrollRectToVisible in the presence of transforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795796</commentid>
    <comment_count>1</comment_count>
      <attachid>180409</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2012-12-20 14:17:47 -0800</bug_when>
    <thetext>Created attachment 180409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795810</commentid>
    <comment_count>2</comment_count>
      <attachid>180409</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-12-20 14:34:11 -0800</bug_when>
    <thetext>Comment on attachment 180409
Patch

This needs a bunch of testcases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796549</commentid>
    <comment_count>3</comment_count>
      <attachid>180575</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2012-12-21 16:47:25 -0800</bug_when>
    <thetext>Created attachment 180575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796552</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2012-12-21 16:49:32 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 180409 [details])
&gt; This needs a bunch of testcases.

Sorry about that, meant to uncheck r? until I had some tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796583</commentid>
    <comment_count>5</comment_count>
      <attachid>180575</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-21 18:42:49 -0800</bug_when>
    <thetext>Comment on attachment 180575
Patch

Attachment 180575 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15449621

New failing tests:
editing/input/reveal-selection-transformed-textarea.html
fast/spatial-navigation/snav-div-overflow-scrol-hidden.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796589</commentid>
    <comment_count>6</comment_count>
      <attachid>180575</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-21 19:14:18 -0800</bug_when>
    <thetext>Comment on attachment 180575
Patch

Attachment 180575 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15475172

New failing tests:
platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar.html
platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html
editing/input/reveal-caret-of-multiline-input.html
platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798714</commentid>
    <comment_count>7</comment_count>
      <attachid>181034</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-02 10:28:07 -0800</bug_when>
    <thetext>Created attachment 181034
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798753</commentid>
    <comment_count>8</comment_count>
      <attachid>181034</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-02 11:26:16 -0800</bug_when>
    <thetext>Comment on attachment 181034
Patch

Attachment 181034 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15638496

New failing tests:
platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar.html
platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html
editing/input/reveal-caret-of-multiline-input.html
platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798903</commentid>
    <comment_count>9</comment_count>
      <attachid>181034</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-02 14:28:27 -0800</bug_when>
    <thetext>Comment on attachment 181034
Patch

Attachment 181034 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15635553

New failing tests:
fast/spatial-navigation/snav-div-overflow-scrol-hidden.html
editing/input/reveal-selection-transformed-textarea.html
fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html
fast/sub-pixel/sub-pixel-accumulates-to-layers.html
fast/sub-pixel/transformed-iframe-copy-on-scroll.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805812</commentid>
    <comment_count>10</comment_count>
      <attachid>182455</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-11 18:54:57 -0800</bug_when>
    <thetext>Created attachment 182455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805816</commentid>
    <comment_count>11</comment_count>
      <attachid>182455</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-11 19:46:41 -0800</bug_when>
    <thetext>Comment on attachment 182455
Patch

Attachment 182455 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15822167

New failing tests:
editing/input/reveal-selection-transformed-overflow-parent.html
editing/input/caret-at-the-edge-of-contenteditable.html
editing/input/reveal-caret-of-multiline-input.html
editing/input/reveal-caret-of-multiline-contenteditable.html
fast/spatial-navigation/snav-div-overflow-scrol-hidden.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805818</commentid>
    <comment_count>12</comment_count>
      <attachid>182455</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 20:04:50 -0800</bug_when>
    <thetext>Comment on attachment 182455
Patch

Attachment 182455 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15833157

New failing tests:
platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar.html
platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html
platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar.html
editing/input/reveal-caret-of-multiline-input.html
editing/input/reveal-caret-of-multiline-contenteditable.html
editing/input/caret-at-the-edge-of-contenteditable.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805829</commentid>
    <comment_count>13</comment_count>
      <attachid>182455</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 21:08:55 -0800</bug_when>
    <thetext>Comment on attachment 182455
Patch

Attachment 182455 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15833178

New failing tests:
platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar.html
platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html
platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar.html
editing/input/reveal-caret-of-multiline-input.html
editing/input/reveal-caret-of-multiline-contenteditable.html
editing/input/caret-at-the-edge-of-contenteditable.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806800</commentid>
    <comment_count>14</comment_count>
      <attachid>182665</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-14 17:14:01 -0800</bug_when>
    <thetext>Created attachment 182665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806809</commentid>
    <comment_count>15</comment_count>
      <attachid>182665</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-14 17:22:49 -0800</bug_when>
    <thetext>Comment on attachment 182665
Patch

The actual WebCore change is only very slightly changed from Patch #2 (the r+ one) to only convert to IntXXX when needed (I.e. changed to boundingBox() from enclosingBoundingBox()) and to use roundedIntRect() instead of enclosingIntRect() to be closer to the previous behavior.

The main change from patch #2 is that the tests were rewritten (because I thought the others were much too complicated).

Each of the test failures are 1 pixel changes in scroll offsets. At least for the suggestion-pickers this change appears to be for the better (i.e. more of the selected row is visible without exposing anything beyond it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806820</commentid>
    <comment_count>16</comment_count>
      <attachid>182665</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-14 17:30:39 -0800</bug_when>
    <thetext>Comment on attachment 182665
Patch

Why are there no expected files for the new tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806854</commentid>
    <comment_count>17</comment_count>
      <attachid>182672</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-14 18:10:33 -0800</bug_when>
    <thetext>Created attachment 182672
Now with test results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806858</commentid>
    <comment_count>18</comment_count>
      <attachid>182672</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-14 18:17:23 -0800</bug_when>
    <thetext>Comment on attachment 182672
Now with test results.

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

Code changes are OK, but I think the tests could be improved.

&gt; LayoutTests/ChangeLog:17
&gt; +        * platform/chromium-linux/editing/input/reveal-caret-of-transformed-input-scrollable-parent-expected.png: Added.
&gt; +        * platform/chromium-linux/editing/input/reveal-caret-of-transformed-input-scrollable-parent-expected.txt: Added.
&gt; +        * platform/chromium-linux/editing/input/reveal-caret-of-transformed-multiline-input-expected.png: Added.
&gt; +        * platform/chromium-linux/editing/input/reveal-caret-of-transformed-multiline-input-expected.txt: Added.

Can you make these ref tests, or fix them to use less text so that the results are more useful between platforms? Also, why do the expected images not use the mock scrollbar theme? Most platforms use that now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807843</commentid>
    <comment_count>19</comment_count>
      <attachid>182672</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-15 17:25:07 -0800</bug_when>
    <thetext>Comment on attachment 182672
Now with test results.

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

&gt;&gt; LayoutTests/ChangeLog:17
&gt;&gt; +        * platform/chromium-linux/editing/input/reveal-caret-of-transformed-multiline-input-expected.txt: Added.
&gt; 
&gt; Can you make these ref tests, or fix them to use less text so that the results are more useful between platforms? Also, why do the expected images not use the mock scrollbar theme? Most platforms use that now.

I don&apos;t see how to make these ref tests. For these I was just trying to closely mimic the other 4 reveal-caret-*** tests, but I could change them to be similar to my earlier tests. That is, I could change them to check pass/fail in javascript by checking that the scroll offsets are reasonable (as the scroll offsets are all we really care about). What do you think about that?

chromium.linux doesn&apos;t seem to use the mock theme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807919</commentid>
    <comment_count>20</comment_count>
      <attachid>182900</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-15 18:42:05 -0800</bug_when>
    <thetext>Created attachment 182900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808017</commentid>
    <comment_count>21</comment_count>
      <attachid>182900</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-15 20:47:21 -0800</bug_when>
    <thetext>Comment on attachment 182900
Patch

Attachment 182900 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15905220

New failing tests:
platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar.html
platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html
platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar.html
editing/input/reveal-caret-of-multiline-input.html
editing/input/reveal-caret-of-multiline-contenteditable.html
editing/input/caret-at-the-edge-of-contenteditable.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808151</commentid>
    <comment_count>22</comment_count>
      <attachid>182900</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-16 01:27:04 -0800</bug_when>
    <thetext>Comment on attachment 182900
Patch

Attachment 182900 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15884908

New failing tests:
editing/input/caret-at-the-edge-of-contenteditable.html
editing/input/reveal-caret-of-multiline-input.html
editing/input/reveal-caret-of-multiline-contenteditable.html
fast/spatial-navigation/snav-div-overflow-scrol-hidden.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808186</commentid>
    <comment_count>23</comment_count>
      <attachid>182900</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-16 02:08:49 -0800</bug_when>
    <thetext>Comment on attachment 182900
Patch

Attachment 182900 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15902358

New failing tests:
editing/input/caret-at-the-edge-of-contenteditable.html
editing/input/reveal-caret-of-multiline-input.html
editing/input/reveal-caret-of-multiline-contenteditable.html
fast/spatial-navigation/snav-div-overflow-scrol-hidden.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808786</commentid>
    <comment_count>24</comment_count>
      <attachid>183045</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-16 15:39:24 -0800</bug_when>
    <thetext>Created attachment 183045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809705</commentid>
    <comment_count>25</comment_count>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-17 13:31:25 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; Created an attachment (id=183045) [details]
&gt; Patch

This is just updating TestExpectations for the failing tests that need rebaselining. As mentioned above, the failing tests are all a 1px difference in scroll offsets (for the suggestion-picker tests, the new behavior is &quot;better&quot; and for the rest neither is clearly so).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810941</commentid>
    <comment_count>26</comment_count>
      <attachid>183045</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-18 12:46:17 -0800</bug_when>
    <thetext>Comment on attachment 183045
Patch

Rejecting attachment 183045 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
ts/platform/chromium/TestExpectations
Hunk #1 FAILED at 4383.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/chromium/TestExpectations.rej
patching file LayoutTests/platform/mac/TestExpectations
Hunk #1 FAILED at 1288.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/mac/TestExpectations.rej

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

Full output: http://queues.webkit.org/results/15944688</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810963</commentid>
    <comment_count>27</comment_count>
      <attachid>183534</attachid>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-18 13:01:20 -0800</bug_when>
    <thetext>Created attachment 183534
Rebase :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810996</commentid>
    <comment_count>28</comment_count>
      <attachid>183534</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-18 13:45:51 -0800</bug_when>
    <thetext>Comment on attachment 183534
Rebase :(

Clearing flags on attachment: 183534

Committed r140202: &lt;http://trac.webkit.org/changeset/140202&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810997</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-18 13:45:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811134</commentid>
    <comment_count>30</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-18 16:16:46 -0800</bug_when>
    <thetext>This may have broken an editing test on Mac:
http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK1%20(Tests)/r140201%20(5856)/editing/selection/move-by-word-visually-multi-line-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811152</commentid>
    <comment_count>31</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-18 16:40:38 -0800</bug_when>
    <thetext>Actually that seems to been caused by something else (bug  107340).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811362</commentid>
    <comment_count>32</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-01-19 02:36:30 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 182900 [details])
&gt; Attachment 182900 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/15902358
&gt; 
&gt; New failing tests:
&gt; editing/input/caret-at-the-edge-of-contenteditable.html
&gt; editing/input/reveal-caret-of-multiline-input.html
&gt; editing/input/reveal-caret-of-multiline-contenteditable.html
&gt; fast/spatial-navigation/snav-div-overflow-scrol-hidden.html

All these tests seem fine to rebaseline except the last, spatival navigation failure. Here&apos;s the diff:
--- /Volumes/Data/slave/mountainlion-release-tests-wk1/build/layout-test-results/fast/spatial-navigation/snav-div-overflow-scrol-hidden-expected.txt
+++ /Volumes/Data/slave/mountainlion-release-tests-wk1/build/layout-test-results/fast/spatial-navigation/snav-div-overflow-scrol-hidden-actual.txt
@@ -11,8 +11,8 @@
 PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f3&quot;
 PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f3&quot;
 PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f4&quot;
-PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f4&quot;
-PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f5&quot;
+FAIL gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) should be f4. Was f5.
+FAIL gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) should be f5. Was f6.
 PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f6&quot;
 PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f9&quot;
 This test is testing that div with overflow:auto would scroll, by div with overflow:hidden would not.

Ideas? Besides Mac, it&apos;s also failing on GTK, EFL and Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813127</commentid>
    <comment_count>33</comment_count>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-22 10:11:54 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; (In reply to comment #23)
&gt; &gt; (From update of attachment 182900 [details] [details])
&gt; &gt; Attachment 182900 [details] [details] did not pass mac-ews (mac):
&gt; &gt; Output: http://queues.webkit.org/results/15902358
&gt; &gt; 
&gt; &gt; New failing tests:
&gt; &gt; editing/input/caret-at-the-edge-of-contenteditable.html
&gt; &gt; editing/input/reveal-caret-of-multiline-input.html
&gt; &gt; editing/input/reveal-caret-of-multiline-contenteditable.html
&gt; &gt; fast/spatial-navigation/snav-div-overflow-scrol-hidden.html
&gt; 
&gt; All these tests seem fine to rebaseline except the last, spatival navigation failure. Here&apos;s the diff:
&gt; --- /Volumes/Data/slave/mountainlion-release-tests-wk1/build/layout-test-results/fast/spatial-navigation/snav-div-overflow-scrol-hidden-expected.txt
&gt; +++ /Volumes/Data/slave/mountainlion-release-tests-wk1/build/layout-test-results/fast/spatial-navigation/snav-div-overflow-scrol-hidden-actual.txt
&gt; @@ -11,8 +11,8 @@
&gt;  PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f3&quot;
&gt;  PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f3&quot;
&gt;  PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f4&quot;
&gt; -PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f4&quot;
&gt; -PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f5&quot;
&gt; +FAIL gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) should be f4. Was f5.
&gt; +FAIL gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) should be f5. Was f6.
&gt;  PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f6&quot;
&gt;  PASS gFocusedDocument.activeElement.getAttribute(&quot;id&quot;) is &quot;f9&quot;
&gt;  This test is testing that div with overflow:auto would scroll, by div with overflow:hidden would not.
&gt; 
&gt; Ideas? Besides Mac, it&apos;s also failing on GTK, EFL and Qt.

Hm, this actually looks like correct behavior to me (i.e. the test should be updated). The test appears to be checking that f7 and f8 are skipped (as they are the elements in the hidden overflow). I don&apos;t know about spatial-navigation, so I don&apos;t know why an element is sometimes repeated.

Chromium doesn&apos;t use spatial-navigation, but maybe I can try to look at this with one of the other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819293</commentid>
    <comment_count>34</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-29 13:38:38 -0800</bug_when>
    <thetext>Are you rebaselining these tests? If also, please do so ASAP. We shouldn&apos;t be leaving test expectations for days just to rebaseline them later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820661</commentid>
    <comment_count>35</comment_count>
    <who name="Chris Hopman">cjhopman</who>
    <bug_when>2013-01-30 15:09:20 -0800</bug_when>
    <thetext>(In reply to comment #34)
&gt; Are you rebaselining these tests? If also, please do so ASAP. We shouldn&apos;t be leaving test expectations for days just to rebaseline them later.

smfr@ had told me that marking them in TestExpectations would be enough and someone else would then rebaseline. I am happy to do it myself if you can point me to some instructions on how.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859833</commentid>
    <comment_count>36</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-20 15:56:42 -0700</bug_when>
    <thetext>Rebaselined the tests in http://trac.webkit.org/changeset/146397.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180409</attachid>
            <date>2012-12-20 14:17:47 -0800</date>
            <delta_ts>2012-12-21 16:47:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105574-20121220141502.patch</filename>
            <type>text/plain</type>
            <size>6135</size>
            <attacher name="Chris Hopman">cjhopman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI2YTEwMDBjMWNkYmVh
ZmJkY2M5Yzg4ZWQyNGRjNmE4MjdiMzI3OS4uOTc5MmNmM2YyODgzMGI1MjBiMWExZWE3MmExNjJh
NzE2YzcxMTBjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEyLTIwICBDaHJp
cyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0
VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHNjcm9sbGluZyB0byByZXZlYWwg
YW4gb3ZlcmZsb3cgbGF5ZXIsIHRoZSByZXF1aXJlZCBzY3JvbGwgd2FzCisgICAgICAgIGJlaW5n
IGNhbGN1bGF0ZWQgaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXMuIFRvIHByb3Blcmx5IGFjY291bnQg
Zm9yCisgICAgICAgIHRyYW5zZm9ybXMsIHRoaXMgY2FsY3VsYXRpb24gc2hvdWxkIGJlIGRvbmUg
aW4gdGhlIGxvY2FsIGNvb3JkaW5hdGVzCisgICAgICAgIG9mIHRoZSByZW5kZXJCb3guCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zp
c2libGUpOgorICAgICAgICBXaGVuIHNjcm9sbGluZyB0byByZXZlYWwgYW4gb3ZlcmZsb3cgbGF5
ZXIsIGNhbGN1bGF0ZSB0aGUgcmVxdWlyZWQKKyAgICAgICAgc2Nyb2xsIGluIHRoZSBsb2NhbCBj
b29yZGluYXRlcyBvZiB0aGUgUmVuZGVyQm94LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjphYnNvbHV0ZVRvTG9j
YWxRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJP
YmplY3QuaDoKKyAgICAgICAgKFJlbmRlck9iamVjdCk6CisgICAgICAgIEFkZCBmdW5jdGlvbiB0
byBjb252ZXJ0IGFuIGFic29sdXRlIHF1YWQgdG8gYSBsb2NhbCBxdWFkLgorCiAyMDEyLTEyLTE4
ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBIYXZlIGtGaXhl
ZFBvaW50RGVub21pbmF0b3IgYmUgY29uc3RhbnQgYWNyb3NzIHBvcnRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBjMGNlODI0MGFiOWY4ZTlmYzk2YjQ0ZDA2
NWQyOGYyOWRhZDk5MDdiLi5mNDg2NDA2OWQ4NTVhYmMyMGNlOGI1NThhOGRkZGNkMTEwMTRkN2Y3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTIwOTcsMjEg
KzIwOTcsMTcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBM
YXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0KICAgICAgICAgLy8gVGhpcyB3aWxs
IHByZXZlbnQgdXMgZnJvbSByZXZlYWxpbmcgdGV4dCBoaWRkZW4gYnkgdGhlIHNsaWRlciBpbiBT
YWZhcmkgUlNTLgogICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwogICAgICAg
ICBBU1NFUlQoYm94KTsKLSAgICAgICAgRmxvYXRQb2ludCBhYnNQb3MgPSBib3gtPmxvY2FsVG9B
YnNvbHV0ZSgpOwotICAgICAgICBhYnNQb3MubW92ZShib3gtPmJvcmRlckxlZnQoKSwgYm94LT5i
b3JkZXJUb3AoKSk7CisgICAgICAgIExheW91dFJlY3QgbG9jYWxFeHBvc2VSZWN0ID0gYm94LT5h
YnNvbHV0ZVRvTG9jYWxRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QocmVjdCkpLCBVc2VUcmFuc2Zv
cm1zKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOworICAgICAgICBMYXlvdXRSZWN0IGxheWVyQm91
bmRzID0gTGF5b3V0UmVjdCgwLCAwLCBib3gtPmNsaWVudFdpZHRoKCksIGJveC0+Y2xpZW50SGVp
Z2h0KCkpOworICAgICAgICBMYXlvdXRSZWN0IHIgPSBnZXRSZWN0VG9FeHBvc2UobGF5ZXJCb3Vu
ZHMsIGxvY2FsRXhwb3NlUmVjdCwgYWxpZ25YLCBhbGlnblkpOwogCi0gICAgICAgIExheW91dFJl
Y3QgbGF5ZXJCb3VuZHMgPSBMYXlvdXRSZWN0KGFic1Bvcy54KCkgKyBzY3JvbGxYT2Zmc2V0KCks
IGFic1Bvcy55KCkgKyBzY3JvbGxZT2Zmc2V0KCksIGJveC0+Y2xpZW50V2lkdGgoKSwgYm94LT5j
bGllbnRIZWlnaHQoKSk7Ci0gICAgICAgIExheW91dFJlY3QgZXhwb3NlUmVjdCA9IExheW91dFJl
Y3QocmVjdC54KCkgKyBzY3JvbGxYT2Zmc2V0KCksIHJlY3QueSgpICsgc2Nyb2xsWU9mZnNldCgp
LCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpOwotICAgICAgICBMYXlvdXRSZWN0IHIgPSBn
ZXRSZWN0VG9FeHBvc2UobGF5ZXJCb3VuZHMsIGV4cG9zZVJlY3QsIGFsaWduWCwgYWxpZ25ZKTsK
LSAgICAgICAgCi0gICAgICAgIGludCByb3VuZGVkQWRqdXN0ZWRYID0gcm91bmRUb0ludChyLngo
KSAtIGFic1Bvcy54KCkpOwotICAgICAgICBpbnQgcm91bmRlZEFkanVzdGVkWSA9IHJvdW5kVG9J
bnQoci55KCkgLSBhYnNQb3MueSgpKTsKLSAgICAgICAgSW50U2l6ZSBjbGFtcGVkU2Nyb2xsT2Zm
c2V0ID0gY2xhbXBTY3JvbGxPZmZzZXQoSW50U2l6ZShyb3VuZGVkQWRqdXN0ZWRYLCByb3VuZGVk
QWRqdXN0ZWRZKSk7CisgICAgICAgIEludFNpemUgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1w
U2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCgpICsgdG9TaXplKGVuY2xvc2luZ0ludFJlY3Qociku
bG9jYXRpb24oKSkpOwogICAgICAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCAhPSBzY3JvbGxP
ZmZzZXQoKSkgewogICAgICAgICAgICAgSW50U2l6ZSBvbGRTY3JvbGxPZmZzZXQgPSBzY3JvbGxP
ZmZzZXQoKTsKICAgICAgICAgICAgIHNjcm9sbFRvT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQp
OwogICAgICAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNlID0gc2Nyb2xsT2Zm
c2V0KCkgLSBvbGRTY3JvbGxPZmZzZXQ7Ci0gICAgICAgICAgICBuZXdSZWN0Lm1vdmUoLXNjcm9s
bE9mZnNldERpZmZlcmVuY2UpOworICAgICAgICAgICAgbG9jYWxFeHBvc2VSZWN0Lm1vdmUoLXNj
cm9sbE9mZnNldERpZmZlcmVuY2UpOworICAgICAgICAgICAgbmV3UmVjdCA9IGJveC0+bG9jYWxU
b0Fic29sdXRlUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KGxvY2FsRXhwb3NlUmVjdCkpLCBVc2VU
cmFuc2Zvcm1zKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOwogICAgICAgICB9CiAgICAgfSBlbHNl
IGlmICghcGFyZW50TGF5ZXIgJiYgcmVuZGVyZXIoKS0+aXNCb3goKSAmJiByZW5kZXJCb3goKS0+
Y2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCgpKSB7CiAgICAgICAgIGlmIChmcmFtZVZpZXcp
IHsKQEAgLTIxMzgsNiArMjEzNCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zp
c2libGUoY29uc3QgTGF5b3V0UmVjdCYgcmVjdCwgY29uc3QgU2Nyb2xsQWxpZ25tCiAgICAgICAg
ICAgICAgICAgICAgIGZyYW1lVmlldy0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoeE9mZnNl
dCwgeU9mZnNldCkpOwogICAgICAgICAgICAgICAgICAgICBpZiAoZnJhbWVWaWV3LT5zYWZlVG9Q
cm9wYWdhdGVTY3JvbGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJl
bnRMYXllciA9IG93bmVyRWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgY29ycmVjdGx5IGNv
bnZlcnQgdGhlIHJlY3QgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFic29sdXRlIGNv
b3JkaW5hdGVzIGluIHRoZSBwYXJlbnQuCiAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSZWN0
LnNldFgocmVjdC54KCkgLSBmcmFtZVZpZXctPnNjcm9sbFgoKSArIGZyYW1lVmlldy0+eCgpKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JlY3Quc2V0WShyZWN0LnkoKSAtIGZyYW1lVmll
dy0+c2Nyb2xsWSgpICsgZnJhbWVWaWV3LT55KCkpOwogICAgICAgICAgICAgICAgICAgICB9IGVs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZGViNmQ5
NjBjODg2MDEyN2I5YTdlZDU4OWFiNmQwNDNmZDYwNTg3NC4uMWEwOWRjNTFmOGZkNjI2ZmVhZGE1
NTQxNzY2NzNhMDE0ZDlhYmM4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKQEAgLTIwNjMsNiArMjA2MywxNCBAQCBGbG9hdFBvaW50IFJlbmRlck9iamVjdDo6
YWJzb2x1dGVUb0xvY2FsKGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRhaW5lclBvaW50LCBNYXBDbwog
ICAgIHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5sYXN0UGxhbmFyUG9pbnQoKTsKIH0KIAorRmxvYXRR
dWFkIFJlbmRlck9iamVjdDo6YWJzb2x1dGVUb0xvY2FsUXVhZChjb25zdCBGbG9hdFF1YWQmIHF1
YWQsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSkgY29uc3QKK3sKKyAgICBUcmFuc2Zvcm1TdGF0
ZSB0cmFuc2Zvcm1TdGF0ZShUcmFuc2Zvcm1TdGF0ZTo6VW5hcHBseUludmVyc2VUcmFuc2Zvcm1E
aXJlY3Rpb24sIHF1YWQuYm91bmRpbmdCb3goKS5jZW50ZXIoKSwgcXVhZCk7CisgICAgbWFwQWJz
b2x1dGVUb0xvY2FsUG9pbnQobW9kZSwgdHJhbnNmb3JtU3RhdGUpOworICAgIHRyYW5zZm9ybVN0
YXRlLmZsYXR0ZW4oKTsKKyAgICByZXR1cm4gdHJhbnNmb3JtU3RhdGUubGFzdFBsYW5hclF1YWQo
KTsKK30KKwogdm9pZCBSZW5kZXJPYmplY3Q6Om1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmIHRy
YW5zZm9ybVN0YXRlLCBNYXBDb29yZGluYXRlc0ZsYWdzIG1vZGUsIGJvb2wqIHdhc0ZpeGVkKSBj
b25zdAogewogICAgIGlmIChyZXBhaW50Q29udGFpbmVyID09IHRoaXMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggZDM4MDkzMGI3Y2YwYjZkM2Y1YmVhYTI3YjI5
YTNjNjRlZDVlZTY5Ny4uNWNiYTU4MjAyYTVkMDg0YTcyYzc2YThkMmQ3OWQxY2ViZTJkNTAxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNzM1LDYgKzczNSw4
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBsb2NhbFRvQ29udGFpbmVyUXVhZChx
dWFkLCAwLCBtb2RlLCB3YXNGaXhlZCk7CiAgICAgfQorICAgIC8vIENvbnZlcnQgYW4gYWJzb2x1
dGUgcXVhZCB0byBsb2NhbCBjb29yZGluYXRlcy4KKyAgICBGbG9hdFF1YWQgYWJzb2x1dGVUb0xv
Y2FsUXVhZChjb25zdCBGbG9hdFF1YWQmLCBNYXBDb29yZGluYXRlc0ZsYWdzIG1vZGUgPSAwKSBj
b25zdDsKIAogICAgIC8vIENvbnZlcnQgYSBsb2NhbCBxdWFkIGludG8gdGhlIGNvb3JkaW5hdGUg
c3lzdGVtIG9mIGNvbnRhaW5lciwgdGFraW5nIHRyYW5zZm9ybXMgaW50byBhY2NvdW50LgogICAg
IEZsb2F0UXVhZCBsb2NhbFRvQ29udGFpbmVyUXVhZChjb25zdCBGbG9hdFF1YWQmLCBjb25zdCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBNYXBDb29yZGluYXRlc0Zs
YWdzID0gMCwgYm9vbCogd2FzRml4ZWQgPSAwKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180575</attachid>
            <date>2012-12-21 16:47:25 -0800</date>
            <delta_ts>2013-01-02 10:28:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105574-20121221164440.patch</filename>
            <type>text/plain</type>
            <size>13541</size>
            <attacher name="Chris Hopman">cjhopman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI2YTEwMDBjMWNkYmVh
ZmJkY2M5Yzg4ZWQyNGRjNmE4MjdiMzI3OS4uNjNlOGZiYTZhZjYzNmJmNjNkNmI4YjBlNzk5MDY5
NjAxYzM5YTAxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEyLTIxICBDaHJp
cyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0
VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHNjcm9sbGluZyB0byByZXZlYWwg
YW4gb3ZlcmZsb3cgbGF5ZXIsIHRoZSByZXF1aXJlZCBzY3JvbGwgd2FzCisgICAgICAgIGJlaW5n
IGNhbGN1bGF0ZWQgaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXMuIFRvIHByb3Blcmx5IGFjY291bnQg
Zm9yCisgICAgICAgIHRyYW5zZm9ybXMsIHRoaXMgY2FsY3VsYXRpb24gc2hvdWxkIGJlIGRvbmUg
aW4gdGhlIGxvY2FsIGNvb3JkaW5hdGVzCisgICAgICAgIG9mIHRoZSByZW5kZXJCb3guCisKKyAg
ICAgICAgVGVzdHM6IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC1v
dmVyZmxvdy1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9pbnB1dC9yZXZlYWwt
c2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLmh0bWwKKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZSk6CisgICAgICAgIFdoZW4gc2Nyb2xsaW5nIHRvIHJldmVhbCBhbiBvdmVy
ZmxvdyBsYXllciwgY2FsY3VsYXRlIHRoZSByZXF1aXJlZAorICAgICAgICBzY3JvbGwgaW4gdGhl
IGxvY2FsIGNvb3JkaW5hdGVzIG9mIHRoZSBSZW5kZXJCb3guCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFic29s
dXRlVG9Mb2NhbFF1YWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oOgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKyAgICAgICAgQWRkIGZ1
bmN0aW9uIHRvIGNvbnZlcnQgYW4gYWJzb2x1dGUgcXVhZCB0byBhIGxvY2FsIHF1YWQuCisKIDIw
MTItMTItMTggIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEhh
dmUga0ZpeGVkUG9pbnREZW5vbWluYXRvciBiZSBjb25zdGFudCBhY3Jvc3MgcG9ydHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGMwY2U4MjQwYWI5ZjhlOWZj
OTZiNDRkMDY1ZDI4ZjI5ZGFkOTkwN2IuLmY0ODY0MDY5ZDg1NWFiYzIwY2U4YjU1OGE4ZGRkY2Qx
MTAxNGQ3ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAt
MjA5NywyMSArMjA5NywxNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxl
KGNvbnN0IExheW91dFJlY3QmIHJlY3QsIGNvbnN0IFNjcm9sbEFsaWdubQogICAgICAgICAvLyBU
aGlzIHdpbGwgcHJldmVudCB1cyBmcm9tIHJldmVhbGluZyB0ZXh0IGhpZGRlbiBieSB0aGUgc2xp
ZGVyIGluIFNhZmFyaSBSU1MuCiAgICAgICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7
CiAgICAgICAgIEFTU0VSVChib3gpOwotICAgICAgICBGbG9hdFBvaW50IGFic1BvcyA9IGJveC0+
bG9jYWxUb0Fic29sdXRlKCk7Ci0gICAgICAgIGFic1Bvcy5tb3ZlKGJveC0+Ym9yZGVyTGVmdCgp
LCBib3gtPmJvcmRlclRvcCgpKTsKKyAgICAgICAgTGF5b3V0UmVjdCBsb2NhbEV4cG9zZVJlY3Qg
PSBib3gtPmFic29sdXRlVG9Mb2NhbFF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChyZWN0KSksIFVz
ZVRyYW5zZm9ybXMpLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7CisgICAgICAgIExheW91dFJlY3Qg
bGF5ZXJCb3VuZHMgPSBMYXlvdXRSZWN0KDAsIDAsIGJveC0+Y2xpZW50V2lkdGgoKSwgYm94LT5j
bGllbnRIZWlnaHQoKSk7CisgICAgICAgIExheW91dFJlY3QgciA9IGdldFJlY3RUb0V4cG9zZShs
YXllckJvdW5kcywgbG9jYWxFeHBvc2VSZWN0LCBhbGlnblgsIGFsaWduWSk7CiAKLSAgICAgICAg
TGF5b3V0UmVjdCBsYXllckJvdW5kcyA9IExheW91dFJlY3QoYWJzUG9zLngoKSArIHNjcm9sbFhP
ZmZzZXQoKSwgYWJzUG9zLnkoKSArIHNjcm9sbFlPZmZzZXQoKSwgYm94LT5jbGllbnRXaWR0aCgp
LCBib3gtPmNsaWVudEhlaWdodCgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCBleHBvc2VSZWN0ID0g
TGF5b3V0UmVjdChyZWN0LngoKSArIHNjcm9sbFhPZmZzZXQoKSwgcmVjdC55KCkgKyBzY3JvbGxZ
T2Zmc2V0KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7Ci0gICAgICAgIExheW91dFJl
Y3QgciA9IGdldFJlY3RUb0V4cG9zZShsYXllckJvdW5kcywgZXhwb3NlUmVjdCwgYWxpZ25YLCBh
bGlnblkpOwotICAgICAgICAKLSAgICAgICAgaW50IHJvdW5kZWRBZGp1c3RlZFggPSByb3VuZFRv
SW50KHIueCgpIC0gYWJzUG9zLngoKSk7Ci0gICAgICAgIGludCByb3VuZGVkQWRqdXN0ZWRZID0g
cm91bmRUb0ludChyLnkoKSAtIGFic1Bvcy55KCkpOwotICAgICAgICBJbnRTaXplIGNsYW1wZWRT
Y3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNldChJbnRTaXplKHJvdW5kZWRBZGp1c3RlZFgs
IHJvdW5kZWRBZGp1c3RlZFkpKTsKKyAgICAgICAgSW50U2l6ZSBjbGFtcGVkU2Nyb2xsT2Zmc2V0
ID0gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KCkgKyB0b1NpemUoZW5jbG9zaW5nSW50
UmVjdChyKS5sb2NhdGlvbigpKSk7CiAgICAgICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9
IHNjcm9sbE9mZnNldCgpKSB7CiAgICAgICAgICAgICBJbnRTaXplIG9sZFNjcm9sbE9mZnNldCA9
IHNjcm9sbE9mZnNldCgpOwogICAgICAgICAgICAgc2Nyb2xsVG9PZmZzZXQoY2xhbXBlZFNjcm9s
bE9mZnNldCk7CiAgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBz
Y3JvbGxPZmZzZXQoKSAtIG9sZFNjcm9sbE9mZnNldDsKLSAgICAgICAgICAgIG5ld1JlY3QubW92
ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSk7CisgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3Qu
bW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSk7CisgICAgICAgICAgICBuZXdSZWN0ID0gYm94
LT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QobG9jYWxFeHBvc2VSZWN0
KSksIFVzZVRyYW5zZm9ybXMpLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7CiAgICAgICAgIH0KICAg
ICB9IGVsc2UgaWYgKCFwYXJlbnRMYXllciAmJiByZW5kZXJlcigpLT5pc0JveCgpICYmIHJlbmRl
ckJveCgpLT5jYW5CZVByb2dyYW1hdGljYWxseVNjcm9sbGVkKCkpIHsKICAgICAgICAgaWYgKGZy
YW1lVmlldykgewpAQCAtMjEzOCw2ICsyMTM0LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0K
ICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2lu
dCh4T2Zmc2V0LCB5T2Zmc2V0KSk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChmcmFtZVZpZXct
PnNhZmVUb1Byb3BhZ2F0ZVNjcm9sbFRvUGFyZW50KCkpIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcmVudExheWVyID0gb3duZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXll
cigpOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBjb3Jy
ZWN0bHkgY29udmVydCB0aGUgcmVjdCB0bworICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWJz
b2x1dGUgY29vcmRpbmF0ZXMgaW4gdGhlIHBhcmVudC4KICAgICAgICAgICAgICAgICAgICAgICAg
IG5ld1JlY3Quc2V0WChyZWN0LngoKSAtIGZyYW1lVmlldy0+c2Nyb2xsWCgpICsgZnJhbWVWaWV3
LT54KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgbmV3UmVjdC5zZXRZKHJlY3QueSgpIC0g
ZnJhbWVWaWV3LT5zY3JvbGxZKCkgKyBmcmFtZVZpZXctPnkoKSk7CiAgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRl
eCBkZWI2ZDk2MGM4ODYwMTI3YjlhN2VkNTg5YWI2ZDA0M2ZkNjA1ODc0Li4xYTA5ZGM1MWY4ZmQ2
MjZmZWFkYTU1NDE3NjY3M2EwMTRkOWFiYzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcApAQCAtMjA2Myw2ICsyMDYzLDE0IEBAIEZsb2F0UG9pbnQgUmVuZGVy
T2JqZWN0OjphYnNvbHV0ZVRvTG9jYWwoY29uc3QgRmxvYXRQb2ludCYgY29udGFpbmVyUG9pbnQs
IE1hcENvCiAgICAgcmV0dXJuIHRyYW5zZm9ybVN0YXRlLmxhc3RQbGFuYXJQb2ludCgpOwogfQog
CitGbG9hdFF1YWQgUmVuZGVyT2JqZWN0OjphYnNvbHV0ZVRvTG9jYWxRdWFkKGNvbnN0IEZsb2F0
UXVhZCYgcXVhZCwgTWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlKSBjb25zdAoreworICAgIFRyYW5z
Zm9ybVN0YXRlIHRyYW5zZm9ybVN0YXRlKFRyYW5zZm9ybVN0YXRlOjpVbmFwcGx5SW52ZXJzZVRy
YW5zZm9ybURpcmVjdGlvbiwgcXVhZC5ib3VuZGluZ0JveCgpLmNlbnRlcigpLCBxdWFkKTsKKyAg
ICBtYXBBYnNvbHV0ZVRvTG9jYWxQb2ludChtb2RlLCB0cmFuc2Zvcm1TdGF0ZSk7CisgICAgdHJh
bnNmb3JtU3RhdGUuZmxhdHRlbigpOworICAgIHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5sYXN0UGxh
bmFyUXVhZCgpOworfQorCiB2b2lkIFJlbmRlck9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihj
b25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1T
dGF0ZSYgdHJhbnNmb3JtU3RhdGUsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9vbCogd2Fz
Rml4ZWQpIGNvbnN0CiB7CiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIgPT0gdGhpcykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBkMzgwOTMwYjdjZjBiNmQzZjVi
ZWFhMjdiMjlhM2M2NGVkNWVlNjk3Li41Y2JhNTgyMDJhNWQwODRhNzJjNzZhOGQyZDc5ZDFjZWJl
MmQ1MDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC03MzUs
NiArNzM1LDggQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGxvY2FsVG9Db250YWlu
ZXJRdWFkKHF1YWQsIDAsIG1vZGUsIHdhc0ZpeGVkKTsKICAgICB9CisgICAgLy8gQ29udmVydCBh
biBhYnNvbHV0ZSBxdWFkIHRvIGxvY2FsIGNvb3JkaW5hdGVzLgorICAgIEZsb2F0UXVhZCBhYnNv
bHV0ZVRvTG9jYWxRdWFkKGNvbnN0IEZsb2F0UXVhZCYsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9k
ZSA9IDApIGNvbnN0OwogCiAgICAgLy8gQ29udmVydCBhIGxvY2FsIHF1YWQgaW50byB0aGUgY29v
cmRpbmF0ZSBzeXN0ZW0gb2YgY29udGFpbmVyLCB0YWtpbmcgdHJhbnNmb3JtcyBpbnRvIGFjY291
bnQuCiAgICAgRmxvYXRRdWFkIGxvY2FsVG9Db250YWluZXJRdWFkKGNvbnN0IEZsb2F0UXVhZCYs
IGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIE1hcENvb3Jk
aW5hdGVzRmxhZ3MgPSAwLCBib29sKiB3YXNGaXhlZCA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM1YmFl
NDYzOTc4YzRjOWQxNzU1Yzc3Y2ZlMjExZDBkODY5NTJiMTkuLmFkNjQzN2Y5OGRlMWI2NjE1M2Fi
ZTk3MTRhN2RmMTAyMDZiN2JiZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMi0yMSAg
Q2hyaXMgSG9wbWFuICA8Y2pob3BtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBGaXggc2Nyb2xs
UmVjdFRvVmlzaWJsZSBpbiB0aGUgcHJlc2VuY2Ugb2YgdHJhbnNmb3JtcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTc0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3JldmVh
bC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtb3ZlcmZsb3ctcGFyZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVk
LW92ZXJmbG93LXBhcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdCB0aGF0IHdoZW4gc2Ny
b2xsaW5nIGFuIG92ZXJmbG93IGxheWVyIHRvIHJldmVhbCBhIHJlY3QsIHRoZSByZWN0CisgICAg
ICAgIHBhc3NlZCB0byB0aGUgcGFyZW50IHRvIHNjcm9sbCBpcyBjYWxjdWxhdGVkIHByb3Blcmx5
LgorICAgICAgICAqIGVkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC10
ZXh0YXJlYS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvaW5wdXQvcmV2
ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC10ZXh0YXJlYS5odG1sOiBBZGRlZC4KKyAgICAgICAg
VGVzdCB0aGF0IHNjcm9sbGluZyB0byByZXZlYWwgYSByZWN0IHdvcmtzIHByb3Blcmx5IGZvciBh
biBvdmVyZmxvdworICAgICAgICBsYXllciBpbiB0aGUgcHJlc2VuY2Ugb2YgdHJhbnNmb3Jtcy4K
KwogMjAxMi0xMi0xOCAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgSGF2ZSBrRml4ZWRQb2ludERlbm9taW5hdG9yIGJlIGNvbnN0YW50IGFjcm9zcyBwb3J0cwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRy
YW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtb3ZlcmZsb3ctcGFyZW50LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZj
OGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZl
YWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSBAQAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9y
ZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93
LXBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ZjExNWZiMGY0NDk5OWM3MTdiNDMwMzBmZWE5NmU2
YjY4M2M0ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3Jl
dmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtb3ZlcmZsb3ctcGFyZW50Lmh0bWwKQEAgLTAsMCAr
MSw2MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IGZpcnN0
IG1vdmVzIHRoZSBzZWxlY3Rpb24gdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIgb2YgdGhlIHRl
eHRhcmVhLgorVGhpcyBzaG91bGQgc2Nyb2xsIHRoZSBvdXRlciBkaXYgc3VjaCB0aGF0IHRoZSBl
bnRpcmUgdGV4dGFyZWEgaXMgdmlzaWJsZS4gIEl0Cit0aGVuIG1vdmVzIHRvIGVhY2ggb2YgdGhl
IG90aGVyIGNvcm5lcnMgb2YgdGhlIHRleHRhcmVhIGFuZCBjaGVja3MgdGhhdCB0aGUgZGl2Citk
b2VzIG5vdCBzY3JvbGwgKHNpbmNlIHRoZSB0ZXh0YXJlYSdzIHNjcm9sbCBpcyBub3cgZW5vdWdo
IHRvIHJldmVhbCB0aGUKK3NlbGVjdGlvbikuCis8YnIvPgorPGRpdiBpZD0ic2Nyb2xsYWJsZURp
diIgc3R5bGU9IndpZHRoOjMwMHB4OyBoZWlnaHQ6MzAwcHg7IG92ZXJmbG93OmF1dG87Ij4KKzxk
aXYgc3R5bGU9IndpZHRoOjYwMHB4OyBoZWlnaHQ6NjAwcHg7Ij4KKzx0ZXh0YXJlYSBpZD0idGV4
dGFyZWEiIHdyYXA9Im9mZiIgc3R5bGU9IndpZHRoOjYwMHB4OyBoZWlnaHQ6NjAwcHg7IGZvbnQt
c2l6ZTo2NHB4OyAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjQpIj4KK1RvcExlZnQtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS1Ub3BSaWdodAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK0JvdHRvbUxlZnRfX19fX19fX19fX19fX19f
X19Cb3R0b21SaWdodDwvdGV4dGFyZWE+Cis8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKworb25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHJldHVybjsK
KworICAgIHZhciBmYWlsID0gZmFsc2U7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGV4dGFyZWEiKTsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInNjcm9sbGFibGVEaXYiKTsKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZXZlbnRTZW5kZXIu
a2V5RG93bigiZW5kIiwgImFkZFNlbGVjdGlvbktleSIpOworICAgIHZhciBpbml0aWFsU2Nyb2xs
TGVmdCA9IGRpdi5zY3JvbGxMZWZ0OworICAgIHZhciBpbml0aWFsU2Nyb2xsVG9wID0gZGl2LnNj
cm9sbFRvcDsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCJob21lIiwgIiIpOworICAgIGZhaWwg
PSBmYWlsIHx8IGRpdi5zY3JvbGxMZWZ0ICE9IGluaXRpYWxTY3JvbGxMZWZ0IHx8IGRpdi5zY3Jv
bGxUb3AgIT0gaW5pdGlhbFNjcm9sbFRvcDsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCJob21l
IiwgImFkZFNlbGVjdGlvbktleSIpOworICAgIGZhaWwgPSBmYWlsIHx8IGRpdi5zY3JvbGxMZWZ0
ICE9IGluaXRpYWxTY3JvbGxMZWZ0IHx8IGRpdi5zY3JvbGxUb3AgIT0gaW5pdGlhbFNjcm9sbFRv
cDsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCJlbmQiLCAiIik7CisgICAgZmFpbCA9IGZhaWwg
fHwgZGl2LnNjcm9sbExlZnQgIT0gaW5pdGlhbFNjcm9sbExlZnQgfHwgZGl2LnNjcm9sbFRvcCAh
PSBpbml0aWFsU2Nyb2xsVG9wOworCisgICAgaWYgKGZhaWwpIHsKKyAgICAgICAgZG9jdW1lbnQu
Ym9keS5pbm5lckhUTUwgPSAiRkFJTCIKKyAgICB9IGVsc2UgeworICAgICAgICBkb2N1bWVudC5i
b2R5LmlubmVySFRNTCA9ICJQQVNTIgorICAgIH0KK307CisKK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1zZWxl
Y3Rpb24tdHJhbnNmb3JtZWQtdGV4dGFyZWEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtc2Vs
ZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQ
QVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rp
b24tdHJhbnNmb3JtZWQtdGV4dGFyZWEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQv
cmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC10ZXh0YXJlYS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3
ZTYxYjQxYTQxNGVjOTFjMWU0MDMwZTIzNjg5NGZhMTAxYjg3NjIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQt
dGV4dGFyZWEuaHRtbApAQCAtMCwwICsxLDYxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGJvZHk+CitUaGlzIHRlc3QgbW92ZXMgdGhlIGNhcmV0IHRvIHRoZSBmb3VyIGNvcm5lcnMgb2Yg
dGhlIGJlbG93IHRleHRhcmVhIGFuZCBjaGVja3MKK3RoYXQgdGhlIHRleHRhcmVhIGlzIHNjcm9s
bGVkIHRvIHJldmVhbCBlYWNoIG9mIHRoZSBjb3JuZXJzLgorPGJyLz4KKzxkaXYgc3R5bGU9Ii13
ZWJraXQtdHJhbnNmb3JtOm1hdHJpeCgwLjUsIDAuNSwgLTAuNywgMC4yLCAtMTAwLCAzMDApIj4K
Kzx0ZXh0YXJlYSBpZD0idGV4dGFyZWEiIHdyYXA9Im9mZiIgc3R5bGU9IndpZHRoOjIwMHB4OyBo
ZWlnaHQ6MjAwcHg7IHJvdGF0ZSg5MGRlZykgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMi4wKSBz
a2V3KDMwZGVnLCA0MGRlZykiPgorVG9wTGVmdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVRvcFJp
Z2h0Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfAorQm90dG9tTGVmdF9fX19fX19fX19fX19fX19fX0JvdHRvbVJpZ2h0PC90ZXh0YXJl
YT4KKzwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gY2hlY2tSZXZlYWxlZChub2RlLCBpc0xl
ZnQsIGlzVG9wKSB7CisgICAgdmFyIGlzUmV2ZWFsZWQgPSBpc0xlZnQgPyBub2RlLnNjcm9sbExl
ZnQgPCAxMCA6IG5vZGUuc2Nyb2xsTGVmdCA+IG5vZGUuc2Nyb2xsV2lkdGggLSBub2RlLmNsaWVu
dFdpZHRoIC0gMTA7CisgICAgaXNSZXZlYWxlZCA9IGlzUmV2ZWFsZWQgJiYgKGlzVG9wID8gbm9k
ZS5zY3JvbGxUb3AgPCAxMCA6IG5vZGUuc2Nyb2xsVG9wID4gbm9kZS5zY3JvbGxIZWlnaHQgLSBu
b2RlLmNsaWVudEhlaWdodCAtIDEwKTsKKyAgICByZXR1cm4gaXNSZXZlYWxlZDsKK30KKworb25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHJldHVybjsK
KworICAgIHZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRhcmVhIik7Cisg
ICAgdmFyIGZhaWx1cmVzID0gW10KKyAgICBub2RlLmZvY3VzKCk7CisgICAgZXZlbnRTZW5kZXIu
a2V5RG93bigiZW5kIiwgImFkZFNlbGVjdGlvbktleSIpOworICAgIGlmICghY2hlY2tSZXZlYWxl
ZChub2RlLCBmYWxzZSwgZmFsc2UpKSBmYWlsdXJlcy5wdXNoKCJCb3R0b20gUmlnaHQiKTsKKyAg
ICBldmVudFNlbmRlci5rZXlEb3duKCJob21lIiwgIiIpOworICAgIGlmICghY2hlY2tSZXZlYWxl
ZChub2RlLCB0cnVlLCBmYWxzZSkpIGZhaWx1cmVzLnB1c2goIkJvdHRvbSBMZWZ0Iik7CisgICAg
ZXZlbnRTZW5kZXIua2V5RG93bigiaG9tZSIsICJhZGRTZWxlY3Rpb25LZXkiKTsKKyAgICBpZiAo
IWNoZWNrUmV2ZWFsZWQobm9kZSwgdHJ1ZSwgdHJ1ZSkpIGZhaWx1cmVzLnB1c2goIlRvcCBMZWZ0
Iik7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZW5kIiwgIiIpOworICAgIGlmICghY2hlY2tS
ZXZlYWxlZChub2RlLCBmYWxzZSwgdHJ1ZSkpIGZhaWx1cmVzLnB1c2goIlRvcCBSaWdodCIpOwor
CisgICAgaWYgKGZhaWx1cmVzLmxlbmd0aCkgeworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVy
SFRNTCA9ICJGQUlMVVJFUzo8YnIvPiIgKyBmYWlsdXJlcy5qb2luKCI8YnIvPiIpCisgICAgfSBl
bHNlIHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiUEFTUyIKKyAgICB9Cit9
OworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181034</attachid>
            <date>2013-01-02 10:28:07 -0800</date>
            <delta_ts>2013-01-11 18:54:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105574-20130102102515.patch</filename>
            <type>text/plain</type>
            <size>14622</size>
            <attacher name="Chris Hopman">cjhopman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQxYjM1ZDBmZTg3Mjkz
Y2M0MGM1ZGMzMzViMjViNzhjODJhZmUwMy4uMDJlNTMzMGNjZGE0YWEzOTMzYzllMzZiOWFkOTM4
YzU3ZmUwYmQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEyLTI2ICBDaHJp
cyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0
VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHNjcm9sbGluZyB0byByZXZlYWwg
YW4gb3ZlcmZsb3cgbGF5ZXIsIHRoZSByZXF1aXJlZCBzY3JvbGwgd2FzCisgICAgICAgIGJlaW5n
IGNhbGN1bGF0ZWQgaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXMuIFRvIHByb3Blcmx5IGFjY291bnQg
Zm9yCisgICAgICAgIHRyYW5zZm9ybXMsIHRoaXMgY2FsY3VsYXRpb24gc2hvdWxkIGJlIGRvbmUg
aW4gdGhlIGxvY2FsIGNvb3JkaW5hdGVzCisgICAgICAgIG9mIHRoZSByZW5kZXJCb3guCisKKyAg
ICAgICAgVGVzdHM6IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC1v
dmVyZmxvdy1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9pbnB1dC9yZXZlYWwt
c2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLmh0bWwKKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZSk6CisgICAgICAgIFdoZW4gc2Nyb2xsaW5nIHRvIHJldmVhbCBhbiBvdmVy
ZmxvdyBsYXllciwgY2FsY3VsYXRlIHRoZSByZXF1aXJlZAorICAgICAgICBzY3JvbGwgaW4gdGhl
IGxvY2FsIGNvb3JkaW5hdGVzIG9mIHRoZSBSZW5kZXJCb3guCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFic29s
dXRlVG9Mb2NhbFF1YWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oOgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKyAgICAgICAgQWRkIGZ1
bmN0aW9uIHRvIGNvbnZlcnQgYW4gYWJzb2x1dGUgcXVhZCB0byBhIGxvY2FsIHF1YWQuCisKIDIw
MTItMTItMjEgIEVsbGlvdHQgU3ByZWhuICA8ZXNwcmVobkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmVwbGFjZSBkb2N1bWVudEZyYWdtZW50SXNTaGFkb3dSb290IHdpdGggaXNUcmVlU2NvcGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGMwY2U4MjQwYWI5
ZjhlOWZjOTZiNDRkMDY1ZDI4ZjI5ZGFkOTkwN2IuLmY0ODY0MDY5ZDg1NWFiYzIwY2U4YjU1OGE4
ZGRkY2QxMTAxNGQ3ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtMjA5NywyMSArMjA5NywxNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9W
aXNpYmxlKGNvbnN0IExheW91dFJlY3QmIHJlY3QsIGNvbnN0IFNjcm9sbEFsaWdubQogICAgICAg
ICAvLyBUaGlzIHdpbGwgcHJldmVudCB1cyBmcm9tIHJldmVhbGluZyB0ZXh0IGhpZGRlbiBieSB0
aGUgc2xpZGVyIGluIFNhZmFyaSBSU1MuCiAgICAgICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVy
Qm94KCk7CiAgICAgICAgIEFTU0VSVChib3gpOwotICAgICAgICBGbG9hdFBvaW50IGFic1BvcyA9
IGJveC0+bG9jYWxUb0Fic29sdXRlKCk7Ci0gICAgICAgIGFic1Bvcy5tb3ZlKGJveC0+Ym9yZGVy
TGVmdCgpLCBib3gtPmJvcmRlclRvcCgpKTsKKyAgICAgICAgTGF5b3V0UmVjdCBsb2NhbEV4cG9z
ZVJlY3QgPSBib3gtPmFic29sdXRlVG9Mb2NhbFF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChyZWN0
KSksIFVzZVRyYW5zZm9ybXMpLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7CisgICAgICAgIExheW91
dFJlY3QgbGF5ZXJCb3VuZHMgPSBMYXlvdXRSZWN0KDAsIDAsIGJveC0+Y2xpZW50V2lkdGgoKSwg
Ym94LT5jbGllbnRIZWlnaHQoKSk7CisgICAgICAgIExheW91dFJlY3QgciA9IGdldFJlY3RUb0V4
cG9zZShsYXllckJvdW5kcywgbG9jYWxFeHBvc2VSZWN0LCBhbGlnblgsIGFsaWduWSk7CiAKLSAg
ICAgICAgTGF5b3V0UmVjdCBsYXllckJvdW5kcyA9IExheW91dFJlY3QoYWJzUG9zLngoKSArIHNj
cm9sbFhPZmZzZXQoKSwgYWJzUG9zLnkoKSArIHNjcm9sbFlPZmZzZXQoKSwgYm94LT5jbGllbnRX
aWR0aCgpLCBib3gtPmNsaWVudEhlaWdodCgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCBleHBvc2VS
ZWN0ID0gTGF5b3V0UmVjdChyZWN0LngoKSArIHNjcm9sbFhPZmZzZXQoKSwgcmVjdC55KCkgKyBz
Y3JvbGxZT2Zmc2V0KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7Ci0gICAgICAgIExh
eW91dFJlY3QgciA9IGdldFJlY3RUb0V4cG9zZShsYXllckJvdW5kcywgZXhwb3NlUmVjdCwgYWxp
Z25YLCBhbGlnblkpOwotICAgICAgICAKLSAgICAgICAgaW50IHJvdW5kZWRBZGp1c3RlZFggPSBy
b3VuZFRvSW50KHIueCgpIC0gYWJzUG9zLngoKSk7Ci0gICAgICAgIGludCByb3VuZGVkQWRqdXN0
ZWRZID0gcm91bmRUb0ludChyLnkoKSAtIGFic1Bvcy55KCkpOwotICAgICAgICBJbnRTaXplIGNs
YW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNldChJbnRTaXplKHJvdW5kZWRBZGp1
c3RlZFgsIHJvdW5kZWRBZGp1c3RlZFkpKTsKKyAgICAgICAgSW50U2l6ZSBjbGFtcGVkU2Nyb2xs
T2Zmc2V0ID0gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KCkgKyB0b1NpemUoZW5jbG9z
aW5nSW50UmVjdChyKS5sb2NhdGlvbigpKSk7CiAgICAgICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zm
c2V0ICE9IHNjcm9sbE9mZnNldCgpKSB7CiAgICAgICAgICAgICBJbnRTaXplIG9sZFNjcm9sbE9m
ZnNldCA9IHNjcm9sbE9mZnNldCgpOwogICAgICAgICAgICAgc2Nyb2xsVG9PZmZzZXQoY2xhbXBl
ZFNjcm9sbE9mZnNldCk7CiAgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVu
Y2UgPSBzY3JvbGxPZmZzZXQoKSAtIG9sZFNjcm9sbE9mZnNldDsKLSAgICAgICAgICAgIG5ld1Jl
Y3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSk7CisgICAgICAgICAgICBsb2NhbEV4cG9z
ZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5jZSk7CisgICAgICAgICAgICBuZXdSZWN0
ID0gYm94LT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QobG9jYWxFeHBv
c2VSZWN0KSksIFVzZVRyYW5zZm9ybXMpLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7CiAgICAgICAg
IH0KICAgICB9IGVsc2UgaWYgKCFwYXJlbnRMYXllciAmJiByZW5kZXJlcigpLT5pc0JveCgpICYm
IHJlbmRlckJveCgpLT5jYW5CZVByb2dyYW1hdGljYWxseVNjcm9sbGVkKCkpIHsKICAgICAgICAg
aWYgKGZyYW1lVmlldykgewpAQCAtMjEzOCw2ICsyMTM0LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6
c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxB
bGlnbm0KICAgICAgICAgICAgICAgICAgICAgZnJhbWVWaWV3LT5zZXRTY3JvbGxQb3NpdGlvbihJ
bnRQb2ludCh4T2Zmc2V0LCB5T2Zmc2V0KSk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChmcmFt
ZVZpZXctPnNhZmVUb1Byb3BhZ2F0ZVNjcm9sbFRvUGFyZW50KCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhcmVudExheWVyID0gb3duZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3Np
bmdMYXllcigpOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lc24n
dCBjb3JyZWN0bHkgY29udmVydCB0aGUgcmVjdCB0bworICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gYWJzb2x1dGUgY29vcmRpbmF0ZXMgaW4gdGhlIHBhcmVudC4KICAgICAgICAgICAgICAgICAg
ICAgICAgIG5ld1JlY3Quc2V0WChyZWN0LngoKSAtIGZyYW1lVmlldy0+c2Nyb2xsWCgpICsgZnJh
bWVWaWV3LT54KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgbmV3UmVjdC5zZXRZKHJlY3Qu
eSgpIC0gZnJhbWVWaWV3LT5zY3JvbGxZKCkgKyBmcmFtZVZpZXctPnkoKSk7CiAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAppbmRleCAzMDY2ZTUzNGE5MzNhMWYyYzAyNjE3YjgzZDFiMWE4NWU3ZWU1NzYxLi40ODk3Njk3
NjMzZmU3NGEzNTRjYzk0MDkzMTljNmMyYTdkZGFmZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjA2MSw2ICsyMDYxLDE0IEBAIEZsb2F0UG9pbnQg
UmVuZGVyT2JqZWN0OjphYnNvbHV0ZVRvTG9jYWwoY29uc3QgRmxvYXRQb2ludCYgY29udGFpbmVy
UG9pbnQsIE1hcENvCiAgICAgcmV0dXJuIHRyYW5zZm9ybVN0YXRlLmxhc3RQbGFuYXJQb2ludCgp
OwogfQogCitGbG9hdFF1YWQgUmVuZGVyT2JqZWN0OjphYnNvbHV0ZVRvTG9jYWxRdWFkKGNvbnN0
IEZsb2F0UXVhZCYgcXVhZCwgTWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlKSBjb25zdAoreworICAg
IFRyYW5zZm9ybVN0YXRlIHRyYW5zZm9ybVN0YXRlKFRyYW5zZm9ybVN0YXRlOjpVbmFwcGx5SW52
ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiwgcXVhZC5ib3VuZGluZ0JveCgpLmNlbnRlcigpLCBxdWFk
KTsKKyAgICBtYXBBYnNvbHV0ZVRvTG9jYWxQb2ludChtb2RlLCB0cmFuc2Zvcm1TdGF0ZSk7Cisg
ICAgdHJhbnNmb3JtU3RhdGUuZmxhdHRlbigpOworICAgIHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5s
YXN0UGxhbmFyUXVhZCgpOworfQorCiB2b2lkIFJlbmRlck9iamVjdDo6bWFwTG9jYWxUb0NvbnRh
aW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFu
c2Zvcm1TdGF0ZSYgdHJhbnNmb3JtU3RhdGUsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9v
bCogd2FzRml4ZWQpIGNvbnN0CiB7CiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIgPT0gdGhpcykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBmMjFjNjYxNDlkNDE1
NzRjNDQzMzRiMTNlOThhODU3MjRmNTZlZDBmLi5jYjlkMWQ3NzE1NzgzYmQwOTgxOTlhYmM5MjVm
NzU5ZGIyNDQzMWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBA
IC03MzksNiArNzM5LDggQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGxvY2FsVG9D
b250YWluZXJRdWFkKHF1YWQsIDAsIG1vZGUsIHdhc0ZpeGVkKTsKICAgICB9CisgICAgLy8gQ29u
dmVydCBhbiBhYnNvbHV0ZSBxdWFkIHRvIGxvY2FsIGNvb3JkaW5hdGVzLgorICAgIEZsb2F0UXVh
ZCBhYnNvbHV0ZVRvTG9jYWxRdWFkKGNvbnN0IEZsb2F0UXVhZCYsIE1hcENvb3JkaW5hdGVzRmxh
Z3MgbW9kZSA9IDApIGNvbnN0OwogCiAgICAgLy8gQ29udmVydCBhIGxvY2FsIHF1YWQgaW50byB0
aGUgY29vcmRpbmF0ZSBzeXN0ZW0gb2YgY29udGFpbmVyLCB0YWtpbmcgdHJhbnNmb3JtcyBpbnRv
IGFjY291bnQuCiAgICAgRmxvYXRRdWFkIGxvY2FsVG9Db250YWluZXJRdWFkKGNvbnN0IEZsb2F0
UXVhZCYsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIE1h
cENvb3JkaW5hdGVzRmxhZ3MgPSAwLCBib29sKiB3YXNGaXhlZCA9IDApIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDFjZWJlMTVlYjg3Zjk0MWU5OWVjZDc5NzM3MmFhZDEwZjQ1NWU0MGMuLjY2YTQwYjE2NjEwN2U0
YjVlMWIxMTdjYzE3ZWU1ZWM3Y2Y4NmU0MGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0x
Mi0yMSAgQ2hyaXMgSG9wbWFuICA8Y2pob3BtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBGaXgg
c2Nyb2xsUmVjdFRvVmlzaWJsZSBpbiB0aGUgcHJlc2VuY2Ugb2YgdHJhbnNmb3JtcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTc0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0
L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtb3ZlcmZsb3ctcGFyZW50LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5z
Zm9ybWVkLW92ZXJmbG93LXBhcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdCB0aGF0IHdo
ZW4gc2Nyb2xsaW5nIGFuIG92ZXJmbG93IGxheWVyIHRvIHJldmVhbCBhIHJlY3QsIHRoZSByZWN0
CisgICAgICAgIHBhc3NlZCB0byB0aGUgcGFyZW50IHRvIHNjcm9sbCBpcyBjYWxjdWxhdGVkIHBy
b3Blcmx5LgorICAgICAgICAqIGVkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zv
cm1lZC10ZXh0YXJlYS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvaW5w
dXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC10ZXh0YXJlYS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgVGVzdCB0aGF0IHNjcm9sbGluZyB0byByZXZlYWwgYSByZWN0IHdvcmtzIHByb3Blcmx5
IGZvciBhbiBvdmVyZmxvdworICAgICAgICBsYXllciBpbiB0aGUgcHJlc2VuY2Ugb2YgdHJhbnNm
b3Jtcy4KKworCiAyMDEyLTEyLTIxICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFtNb3VudGFpbiBMaW9uXSBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9y
ZW1vdmluZy11bmRlcmxpbmUtYWZ0ZXItYWNjZXB0aW5nLWF1dG9jb3JyZWN0aW9uLXVzaW5nLXB1
bmN0dWF0aW9uLmh0bWwgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9p
bnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNm
b3JtZWQtb3ZlcmZsb3ctcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5YTQz
MWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93
LXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJm
bG93LXBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0
aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3OTBkMjdi
N2NmZTU3ZDZlMThlYTA4YzMzOWIxMmJhMTBhNzVjMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtb3ZlcmZs
b3ctcGFyZW50Lmh0bWwKQEAgLTAsMCArMSw2OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
Kzxib2R5PgorVGhpcyB0ZXN0IGZpcnN0IG1vdmVzIHRoZSBzZWxlY3Rpb24gdG8gdGhlIGJvdHRv
bSByaWdodCBjb3JuZXIgb2YgdGhlIHRleHRhcmVhLgorVGhpcyBzaG91bGQgc2Nyb2xsIHRoZSBv
dXRlciBkaXYgc3VjaCB0aGF0IHRoZSBlbnRpcmUgdGV4dGFyZWEgaXMgdmlzaWJsZS4gIEl0Cit0
aGVuIG1vdmVzIHRvIGVhY2ggb2YgdGhlIG90aGVyIGNvcm5lcnMgb2YgdGhlIHRleHRhcmVhIGFu
ZCBjaGVja3MgdGhhdCB0aGUgZGl2Citkb2VzIG5vdCBzY3JvbGwgKHNpbmNlIHRoZSB0ZXh0YXJl
YSdzIHNjcm9sbCBpcyBub3cgZW5vdWdoIHRvIHJldmVhbCB0aGUKK3NlbGVjdGlvbikuCis8YnIv
PgorPGRpdiBpZD0ic2Nyb2xsYWJsZURpdiIgc3R5bGU9IndpZHRoOjMwMHB4OyBoZWlnaHQ6MzAw
cHg7IG92ZXJmbG93OmF1dG87Ij4KKzxkaXYgc3R5bGU9IndpZHRoOjYwMHB4OyBoZWlnaHQ6NjAw
cHg7Ij4KKzx0ZXh0YXJlYSBpZD0idGV4dGFyZWEiIHdyYXA9Im9mZiIgc3R5bGU9IndpZHRoOjYw
MHB4OyBoZWlnaHQ6NjAwcHg7IGZvbnQtc2l6ZTo2NHB4OyAtd2Via2l0LXRyYW5zZm9ybTpzY2Fs
ZSgwLjQpIj4KK1RvcExlZnQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1Ub3BSaWdodAorfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK0Jv
dHRvbUxlZnRfX19fX19fX19fX19fX19fX19Cb3R0b21SaWdodDwvdGV4dGFyZWE+Cis8L2Rpdj4K
KzwvZGl2PgorPHNjcmlwdD4KKworb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKCF3aW5k
b3cuZXZlbnRTZW5kZXIpIHJldHVybjsKKyAgICB2YXIgb25NYWNQbGF0Zm9ybSA9IG5hdmlnYXRv
ci51c2VyQWdlbnQuc2VhcmNoKC9cYk1hYyBPUyBYXGIvKSAhPSAtMTsKKyAgICB2YXIgdG9MaW5l
QmVnaW4gPSBvbk1hY1BsYXRmb3JtID8gWyJsZWZ0IiwgImFkZFNlbGVjdGlvbktleSJdIDogWyJo
b21lIiwgIiJdOworICAgIHZhciB0b0xpbmVFbmQgPSBvbk1hY1BsYXRmb3JtID8gWyJyaWdodCIs
ICJhZGRTZWxlY3Rpb25LZXkiXSA6IFsiZW5kIiwgIiJdOworICAgIHZhciB0b0RvY3VtZW50QmVn
aW4gPSBvbk1hY1BsYXRmb3JtID8gWyJ1cCIsICJhZGRTZWxlY3Rpb25LZXkiXSA6IFsiaG9tZSIs
ICJhZGRTZWxlY3Rpb25LZXkiXTsKKyAgICB2YXIgdG9Eb2N1bWVudEVuZCA9IG9uTWFjUGxhdGZv
cm0gPyBbImRvd24iLCAiYWRkU2VsZWN0aW9uS2V5Il0gOiBbImVuZCIsICJhZGRTZWxlY3Rpb25L
ZXkiXTsKKworICAgIHZhciBmYWlsID0gZmFsc2U7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGV4dGFyZWEiKTsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInNjcm9sbGFibGVEaXYiKTsKKyAgICBub2RlLmZvY3VzKCk7CisKKyAgICBldmVu
dFNlbmRlci5rZXlEb3duKHRvRG9jdW1lbnRFbmRbMF0sIHRvRG9jdW1lbnRFbmRbMV0pOworICAg
IHZhciBpbml0aWFsU2Nyb2xsTGVmdCA9IGRpdi5zY3JvbGxMZWZ0OworICAgIHZhciBpbml0aWFs
U2Nyb2xsVG9wID0gZGl2LnNjcm9sbFRvcDsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKHRvTGlu
ZUJlZ2luWzBdLCB0b0xpbmVCZWdpblsxXSk7CisgICAgZmFpbCA9IGZhaWwgfHwgZGl2LnNjcm9s
bExlZnQgIT0gaW5pdGlhbFNjcm9sbExlZnQgfHwgZGl2LnNjcm9sbFRvcCAhPSBpbml0aWFsU2Ny
b2xsVG9wOworICAgIGV2ZW50U2VuZGVyLmtleURvd24odG9Eb2N1bWVudEJlZ2luWzBdLCB0b0Rv
Y3VtZW50QmVnaW5bMV0pOworICAgIGZhaWwgPSBmYWlsIHx8IGRpdi5zY3JvbGxMZWZ0ICE9IGlu
aXRpYWxTY3JvbGxMZWZ0IHx8IGRpdi5zY3JvbGxUb3AgIT0gaW5pdGlhbFNjcm9sbFRvcDsKKyAg
ICBldmVudFNlbmRlci5rZXlEb3duKHRvTGluZUVuZFswXSwgdG9MaW5lRW5kWzFdKTsKKyAgICBm
YWlsID0gZmFpbCB8fCBkaXYuc2Nyb2xsTGVmdCAhPSBpbml0aWFsU2Nyb2xsTGVmdCB8fCBkaXYu
c2Nyb2xsVG9wICE9IGluaXRpYWxTY3JvbGxUb3A7CisKKyAgICBpZiAoZmFpbCkgeworICAgICAg
ICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJGQUlMIgorICAgIH0gZWxzZSB7CisgICAgICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIlBBU1MiCisgICAgfQorfTsKKworaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQv
cmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC10ZXh0YXJlYS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtdGV4dGFy
ZWEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcyNzEzYjcxZmRjODc5
NDAxNmM4ZWYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0
L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtdGV4dGFyZWEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2
ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC10ZXh0YXJlYS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmE2N2U0ZmIzODY2ZTQzOTMzMzhhMWQ1ZTgxNWVmMGQ2NmJlYWY0OAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10
cmFuc2Zvcm1lZC10ZXh0YXJlYS5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8Ym9keT4KK1RoaXMgdGVzdCBtb3ZlcyB0aGUgY2FyZXQgdG8gdGhlIGZvdXIg
Y29ybmVycyBvZiB0aGUgYmVsb3cgdGV4dGFyZWEgYW5kIGNoZWNrcwordGhhdCB0aGUgdGV4dGFy
ZWEgaXMgc2Nyb2xsZWQgdG8gcmV2ZWFsIGVhY2ggb2YgdGhlIGNvcm5lcnMuCis8YnIvPgorPGRp
diBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06bWF0cml4KDAuNSwgMC41LCAtMC43LCAwLjIsIC0x
MDAsIDMwMCkiPgorPHRleHRhcmVhIGlkPSJ0ZXh0YXJlYSIgd3JhcD0ib2ZmIiBzdHlsZT0id2lk
dGg6MjAwcHg7IGhlaWdodDoyMDBweDsgcm90YXRlKDkwZGVnKSAtd2Via2l0LXRyYW5zZm9ybTpz
Y2FsZSgyLjApIHNrZXcoMzBkZWcsIDQwZGVnKSI+CitUb3BMZWZ0LS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tVG9wUmlnaHQKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8CitCb3R0b21MZWZ0X19fX19fX19fX19fX19fX19fQm90dG9tUmln
aHQ8L3RleHRhcmVhPgorPC9kaXY+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBjaGVja1JldmVhbGVk
KG5vZGUsIGlzTGVmdCwgaXNUb3ApIHsKKyAgICB2YXIgaXNSZXZlYWxlZCA9IGlzTGVmdCA/IG5v
ZGUuc2Nyb2xsTGVmdCA8IDEwIDogbm9kZS5zY3JvbGxMZWZ0ID4gbm9kZS5zY3JvbGxXaWR0aCAt
IG5vZGUuY2xpZW50V2lkdGggLSAxMDsKKyAgICBpc1JldmVhbGVkID0gaXNSZXZlYWxlZCAmJiAo
aXNUb3AgPyBub2RlLnNjcm9sbFRvcCA8IDEwIDogbm9kZS5zY3JvbGxUb3AgPiBub2RlLnNjcm9s
bEhlaWdodCAtIG5vZGUuY2xpZW50SGVpZ2h0IC0gMTApOworICAgIHJldHVybiBpc1JldmVhbGVk
OworfQorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRl
cikgcmV0dXJuOworICAgIHZhciBvbk1hY1BsYXRmb3JtID0gbmF2aWdhdG9yLnVzZXJBZ2VudC5z
ZWFyY2goL1xiTWFjIE9TIFhcYi8pICE9IC0xOworICAgIHZhciB0b0xpbmVCZWdpbiA9IG9uTWFj
UGxhdGZvcm0gPyBbImxlZnQiLCAiYWRkU2VsZWN0aW9uS2V5Il0gOiBbImhvbWUiLCAiIl07Cisg
ICAgdmFyIHRvTGluZUVuZCA9IG9uTWFjUGxhdGZvcm0gPyBbInJpZ2h0IiwgImFkZFNlbGVjdGlv
bktleSJdIDogWyJlbmQiLCAiIl07CisgICAgdmFyIHRvRG9jdW1lbnRCZWdpbiA9IG9uTWFjUGxh
dGZvcm0gPyBbInVwIiwgImFkZFNlbGVjdGlvbktleSJdIDogWyJob21lIiwgImFkZFNlbGVjdGlv
bktleSJdOworICAgIHZhciB0b0RvY3VtZW50RW5kID0gb25NYWNQbGF0Zm9ybSA/IFsiZG93biIs
ICJhZGRTZWxlY3Rpb25LZXkiXSA6IFsiZW5kIiwgImFkZFNlbGVjdGlvbktleSJdOworCisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dGFyZWEiKTsKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgdmFyIGZhaWx1cmVzID0gW10KKworICAgIGV2ZW50U2VuZGVyLmtleURv
d24odG9Eb2N1bWVudEVuZFswXSwgdG9Eb2N1bWVudEVuZFsxXSk7CisgICAgaWYgKCFjaGVja1Jl
dmVhbGVkKG5vZGUsIGZhbHNlLCBmYWxzZSkpIGZhaWx1cmVzLnB1c2goIkJvdHRvbSBSaWdodCIp
OworICAgIGV2ZW50U2VuZGVyLmtleURvd24odG9MaW5lQmVnaW5bMF0sIHRvTGluZUJlZ2luWzFd
KTsKKyAgICBpZiAoIWNoZWNrUmV2ZWFsZWQobm9kZSwgdHJ1ZSwgZmFsc2UpKSBmYWlsdXJlcy5w
dXNoKCJCb3R0b20gTGVmdCIpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24odG9Eb2N1bWVudEJl
Z2luWzBdLCB0b0RvY3VtZW50QmVnaW5bMV0pOworICAgIGlmICghY2hlY2tSZXZlYWxlZChub2Rl
LCB0cnVlLCB0cnVlKSkgZmFpbHVyZXMucHVzaCgiVG9wIExlZnQiKTsKKyAgICBldmVudFNlbmRl
ci5rZXlEb3duKHRvTGluZUVuZFswXSwgdG9MaW5lRW5kWzFdKTsKKyAgICBpZiAoIWNoZWNrUmV2
ZWFsZWQobm9kZSwgZmFsc2UsIHRydWUpKSBmYWlsdXJlcy5wdXNoKCJUb3AgUmlnaHQiKTsKKwor
ICAgIGlmIChmYWlsdXJlcy5sZW5ndGgpIHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhU
TUwgPSAiRkFJTFVSRVM6PGJyLz4iICsgZmFpbHVyZXMuam9pbigiPGJyLz4iKQorICAgIH0gZWxz
ZSB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIlBBU1MiCisgICAgfQorfTsK
KworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182455</attachid>
            <date>2013-01-11 18:54:57 -0800</date>
            <delta_ts>2013-01-14 17:13:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105574-20130111185200.patch</filename>
            <type>text/plain</type>
            <size>13506</size>
            <attacher name="Chris Hopman">cjhopman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODI1NmFmNTc3ZmU2MjA2
NTlmM2U2ZjdmYWYzOTc3MjU3Yzg4ZWYwOS4uM2NkZGY2ZWMyOGY5N2E5NjQyMDZjYWVkYzFlNjg5
NDI1NGRiNDRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAxLTEwICBDaHJp
cyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0
VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogZWRpdGluZy9pbnB1dC9yZXZl
YWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtdGV4dGFyZWEu
aHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6
YWJzb2x1dGVUb0xvY2FsUXVhZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChSZW5kZXJPYmplY3QpOgorCiAyMDEzLTAx
LTA4ICBFbGxpb3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE1l
cmdlIGdldExpbmVBdEluZGV4IGludG8gUmVuZGVyQmxvY2s6OmxpbmVBdEluZGV4CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBkZGY1ZDM3OTVjNjhhYjFhNjBh
OTAxZjcxZjQwNThjMjBlZjE4ZjRjLi42YWE0YmU5NjM5ZmUzNDFjMjczNmI3NWUzZDU1MGYzMWNm
ZWEyNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTIx
MzEsMjEgKzIxMzEsMTcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShj
b25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0KICAgICAgICAgLy8gVGhp
cyB3aWxsIHByZXZlbnQgdXMgZnJvbSByZXZlYWxpbmcgdGV4dCBoaWRkZW4gYnkgdGhlIHNsaWRl
ciBpbiBTYWZhcmkgUlNTLgogICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwog
ICAgICAgICBBU1NFUlQoYm94KTsKLSAgICAgICAgRmxvYXRQb2ludCBhYnNQb3MgPSBib3gtPmxv
Y2FsVG9BYnNvbHV0ZSgpOwotICAgICAgICBhYnNQb3MubW92ZShib3gtPmJvcmRlckxlZnQoKSwg
Ym94LT5ib3JkZXJUb3AoKSk7CisgICAgICAgIExheW91dFJlY3QgbG9jYWxFeHBvc2VSZWN0KGJv
eC0+YWJzb2x1dGVUb0xvY2FsUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KHJlY3QpKSwgVXNlVHJh
bnNmb3JtcykuYm91bmRpbmdCb3goKSk7CisgICAgICAgIExheW91dFJlY3QgbGF5ZXJCb3VuZHMo
MCwgMCwgYm94LT5jbGllbnRXaWR0aCgpLCBib3gtPmNsaWVudEhlaWdodCgpKTsKKyAgICAgICAg
TGF5b3V0UmVjdCByID0gZ2V0UmVjdFRvRXhwb3NlKGxheWVyQm91bmRzLCBsb2NhbEV4cG9zZVJl
Y3QsIGFsaWduWCwgYWxpZ25ZKTsKIAotICAgICAgICBMYXlvdXRSZWN0IGxheWVyQm91bmRzID0g
TGF5b3V0UmVjdChhYnNQb3MueCgpICsgc2Nyb2xsWE9mZnNldCgpLCBhYnNQb3MueSgpICsgc2Ny
b2xsWU9mZnNldCgpLCBib3gtPmNsaWVudFdpZHRoKCksIGJveC0+Y2xpZW50SGVpZ2h0KCkpOwot
ICAgICAgICBMYXlvdXRSZWN0IGV4cG9zZVJlY3QgPSBMYXlvdXRSZWN0KHJlY3QueCgpICsgc2Ny
b2xsWE9mZnNldCgpLCByZWN0LnkoKSArIHNjcm9sbFlPZmZzZXQoKSwgcmVjdC53aWR0aCgpLCBy
ZWN0LmhlaWdodCgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCByID0gZ2V0UmVjdFRvRXhwb3NlKGxh
eWVyQm91bmRzLCBleHBvc2VSZWN0LCBhbGlnblgsIGFsaWduWSk7Ci0gICAgICAgIAotICAgICAg
ICBpbnQgcm91bmRlZEFkanVzdGVkWCA9IHJvdW5kVG9JbnQoci54KCkgLSBhYnNQb3MueCgpKTsK
LSAgICAgICAgaW50IHJvdW5kZWRBZGp1c3RlZFkgPSByb3VuZFRvSW50KHIueSgpIC0gYWJzUG9z
LnkoKSk7Ci0gICAgICAgIEludFNpemUgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1wU2Nyb2xs
T2Zmc2V0KEludFNpemUocm91bmRlZEFkanVzdGVkWCwgcm91bmRlZEFkanVzdGVkWSkpOworICAg
ICAgICBJbnRTaXplIGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNldChzY3Jv
bGxPZmZzZXQoKSArIHRvSW50U2l6ZShyb3VuZGVkSW50UmVjdChyKS5sb2NhdGlvbigpKSk7CiAg
ICAgICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKSB7CiAgICAg
ICAgICAgICBJbnRTaXplIG9sZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwogICAgICAg
ICAgICAgc2Nyb2xsVG9PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CiAgICAgICAgICAgICBJ
bnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBzY3JvbGxPZmZzZXQoKSAtIG9sZFNjcm9s
bE9mZnNldDsKLSAgICAgICAgICAgIG5ld1JlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVyZW5j
ZSk7CisgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlmZmVy
ZW5jZSk7CisgICAgICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVjdChib3gtPmxvY2FsVG9BYnNv
bHV0ZVF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9zZVJlY3QpKSwgVXNlVHJhbnNm
b3JtcykuYm91bmRpbmdCb3goKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCFwYXJlbnRM
YXllciAmJiByZW5kZXJlcigpLT5pc0JveCgpICYmIHJlbmRlckJveCgpLT5jYW5CZVByb2dyYW1h
dGljYWxseVNjcm9sbGVkKCkpIHsKICAgICAgICAgaWYgKGZyYW1lVmlldykgewpAQCAtMjE3Miw2
ICsyMTY4LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBM
YXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0KICAgICAgICAgICAgICAgICAgICAg
ZnJhbWVWaWV3LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh4T2Zmc2V0LCB5T2Zmc2V0KSk7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChmcmFtZVZpZXctPnNhZmVUb1Byb3BhZ2F0ZVNjcm9s
bFRvUGFyZW50KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVyID0gb3du
ZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpOworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBjb3JyZWN0bHkgY29udmVydCB0aGUgcmVj
dCB0bworICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWJzb2x1dGUgY29vcmRpbmF0ZXMgaW4g
dGhlIHBhcmVudC4KICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JlY3Quc2V0WChyZWN0Lngo
KSAtIGZyYW1lVmlldy0+c2Nyb2xsWCgpICsgZnJhbWVWaWV3LT54KCkpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgbmV3UmVjdC5zZXRZKHJlY3QueSgpIC0gZnJhbWVWaWV3LT5zY3JvbGxZKCkg
KyBmcmFtZVZpZXctPnkoKSk7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAzMDY2ZTUzNGE5MzNhMWYyYzAy
NjE3YjgzZDFiMWE4NWU3ZWU1NzYxLi40ODk3Njk3NjMzZmU3NGEzNTRjYzk0MDkzMTljNmMyYTdk
ZGFmZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAt
MjA2MSw2ICsyMDYxLDE0IEBAIEZsb2F0UG9pbnQgUmVuZGVyT2JqZWN0OjphYnNvbHV0ZVRvTG9j
YWwoY29uc3QgRmxvYXRQb2ludCYgY29udGFpbmVyUG9pbnQsIE1hcENvCiAgICAgcmV0dXJuIHRy
YW5zZm9ybVN0YXRlLmxhc3RQbGFuYXJQb2ludCgpOwogfQogCitGbG9hdFF1YWQgUmVuZGVyT2Jq
ZWN0OjphYnNvbHV0ZVRvTG9jYWxRdWFkKGNvbnN0IEZsb2F0UXVhZCYgcXVhZCwgTWFwQ29vcmRp
bmF0ZXNGbGFncyBtb2RlKSBjb25zdAoreworICAgIFRyYW5zZm9ybVN0YXRlIHRyYW5zZm9ybVN0
YXRlKFRyYW5zZm9ybVN0YXRlOjpVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiwgcXVh
ZC5ib3VuZGluZ0JveCgpLmNlbnRlcigpLCBxdWFkKTsKKyAgICBtYXBBYnNvbHV0ZVRvTG9jYWxQ
b2ludChtb2RlLCB0cmFuc2Zvcm1TdGF0ZSk7CisgICAgdHJhbnNmb3JtU3RhdGUuZmxhdHRlbigp
OworICAgIHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5sYXN0UGxhbmFyUXVhZCgpOworfQorCiB2b2lk
IFJlbmRlck9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYgdHJhbnNmb3JtU3RhdGUs
IE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiB7CiAgICAg
aWYgKHJlcGFpbnRDb250YWluZXIgPT0gdGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaAppbmRleCA4ZWU2MWYwYzgxMzE3ZDUwNjhmZDFmMmY4MTMzMzkzYTE3OGI5MDVh
Li41NWUxMzQwMDgxOTVkNzhmYzYyYWU0ODdkNDA1NWJlNzhmNTA3N2Y5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC03MjMsNiArNzIzLDggQEAgcHVibGljOgog
ICAgIHsKICAgICAgICAgcmV0dXJuIGxvY2FsVG9Db250YWluZXJRdWFkKHF1YWQsIDAsIG1vZGUs
IHdhc0ZpeGVkKTsKICAgICB9CisgICAgLy8gQ29udmVydCBhbiBhYnNvbHV0ZSBxdWFkIHRvIGxv
Y2FsIGNvb3JkaW5hdGVzLgorICAgIEZsb2F0UXVhZCBhYnNvbHV0ZVRvTG9jYWxRdWFkKGNvbnN0
IEZsb2F0UXVhZCYsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSA9IDApIGNvbnN0OwogCiAgICAg
Ly8gQ29udmVydCBhIGxvY2FsIHF1YWQgaW50byB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gb2YgY29u
dGFpbmVyLCB0YWtpbmcgdHJhbnNmb3JtcyBpbnRvIGFjY291bnQuCiAgICAgRmxvYXRRdWFkIGxv
Y2FsVG9Db250YWluZXJRdWFkKGNvbnN0IEZsb2F0UXVhZCYsIGNvbnN0IFJlbmRlckxheWVyTW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIE1hcENvb3JkaW5hdGVzRmxhZ3MgPSAwLCBib29s
KiB3YXNGaXhlZCA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU0MGQ2OWNhNzdhOGJmMTRiYTE4YjRlODc0
ZWNkM2E2ZjY5MzI5MGMuLmJiZDUxZjJiYWU0NWEzOTBiZDdhYjk2MzU5ZTA0NGYwZTVjYzZhNDEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMS0xMCAgQ2hyaXMgSG9wbWFuICA8Y2pob3Bt
YW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBGaXggc2Nyb2xsUmVjdFRvVmlzaWJsZSBpbiB0aGUg
cHJlc2VuY2Ugb2YgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA1NTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3Jt
ZWQtb3ZlcmZsb3ctcGFyZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNm
b3JtZWQtdGV4dGFyZWEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2lu
cHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtdGV4dGFyZWEuaHRtbDogQWRkZWQuCisK
IDIwMTMtMDEtMDggIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHNsLm9zdGFwZW5rb0BzYW1zdW5n
LmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIFdlYkdMIHRlc3QgY2FzZXMgYXJlIHNvbWV0aW1l
cyBjcmFzaGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwt
c2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtb3ZlcmZs
b3ctcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3
MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSBAQAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLW92ZXJmbG93LXBhcmVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9y
bWVkLW92ZXJmbG93LXBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlMjMwYjY2YzM3ZThmZDgxZDUz
YjhiNmJkZGFjYzUxNDA3YjY1ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtb3ZlcmZsb3ctcGFyZW50Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhp
cyB0ZXN0IG1vdmVzIHRoZSBjYXJldCB0byB0aGUgZm91ciBjb3JuZXJzIG9mIHRoZSB0ZXh0YXJl
YSBpbiBjbG9ja3dpc2Ugb3JkZXIKK3N0YXJ0aW5nIHdpdGggdGhlIGJvdHRvbSBsZWZ0ICh3aGlj
aCBpcyBhdCB0aGUgdG9wIGxlZnQgb2YgInNjb2xsYWJsZURpdiIgZHVlIHRvCit0aGUgcm90YXRl
KDkwZGVnKSkuIEl0IGNoZWNrcyB0aGF0IHRoZSBzY3JvbGwgb2Zmc2V0cyBvZiAic2Nyb2xsYWJs
ZURpdiIgYXJlCityZWFzb25hYmxlIHdpdGggdGhlIGNhcmV0IGF0IGVhY2ggY29ybmVyLgorPGJy
Lz4KKzxkaXYgaWQ9InNjcm9sbGFibGVEaXYiIHN0eWxlPSJ3aWR0aDo0MDBweDsgaGVpZ2h0OjQw
MHB4OyBvdmVyZmxvdzphdXRvOyI+Cis8ZGl2IHN0eWxlPSJ3aWR0aDoxNjAwcHg7IGhlaWdodDox
NjAwcHg7Ij4KKzx0ZXh0YXJlYSBpZD0idGV4dGFyZWEiIHdyYXA9Im9mZiIgc3R5bGU9IndpZHRo
OjE2MDBweDsgaGVpZ2h0OjE2MDBweDsKKyAgICBmb250LXNpemU6MTYwcHg7IGZvbnQtZmFtaWx5
OiBtb25vc3BhY2U7IC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZykiPgorVG9wTGVmdC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLVRvcFJpZ2h0Cit8ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorQm90dG9tTGVmdF9fX19fX19fX19f
X19fX19fX0JvdHRvbVJpZ2h0PC90ZXh0YXJlYT4KKzwvZGl2PgorPC9kaXY+Cis8c2NyaXB0Pgor
CitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikgcmV0
dXJuOworICAgIHZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRhcmVhIik7
CisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JvbGxhYmxlRGl2Iik7
CisgICAgbm9kZS5mb2N1cygpOworCisgICAgdmFyIHNjcm9sbE9mZnNldHM9IiI7CisKKyAgICB2
YXIgdG9wTGVmdCA9IDA7CisgICAgdmFyIHRvcFJpZ2h0ID0gbm9kZS52YWx1ZS5pbmRleE9mKCJU
b3BSaWdodCIpICsgIlRvcFJpZ2h0Ii5sZW5ndGg7CisgICAgdmFyIGJvdHRvbUxlZnQgPSBub2Rl
LnZhbHVlLmluZGV4T2YoIkJvdHRvbUxlZnQiKTsKKyAgICB2YXIgYm90dG9tUmlnaHQgPSBub2Rl
LnZhbHVlLmxlbmd0aDsKKworICAgIHZhciBmYWlsID0gZmFsc2U7CisgICAgbm9kZS5zZXRTZWxl
Y3Rpb25SYW5nZShib3R0b21MZWZ0ICsgMSwgYm90dG9tTGVmdCArIDEpOworICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oIkxlZnQiKTsKKyAgICBmYWlsID0gZmFpbCB8fCBkaXYuc2Nyb2xsTGVmdCA+
IDQwMCB8fCBkaXYuc2Nyb2xsVG9wID4gNDAwOworICAgIG5vZGUuc2V0U2VsZWN0aW9uUmFuZ2Uo
dG9wTGVmdCArIDEsIHRvcExlZnQgKyAxKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCJMZWZ0
Iik7CisgICAgZmFpbCA9IGZhaWwgfHwgZGl2LnNjcm9sbExlZnQgPCAxMDAwIHx8IGRpdi5zY3Jv
bGxUb3AgPiA0MDA7CisgICAgbm9kZS5zZXRTZWxlY3Rpb25SYW5nZSh0b3BSaWdodCAtIDEsIHRv
cFJpZ2h0IC0gMSk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigiUmlnaHQiKTsKKyAgICBmYWls
ID0gZmFpbCB8fCBkaXYuc2Nyb2xsTGVmdCA8IDEwMDAgfHwgZGl2LnNjcm9sbFRvcCA8IDEwMDA7
CisgICAgbm9kZS5zZXRTZWxlY3Rpb25SYW5nZShib3R0b21SaWdodCAtIDEsIGJvdHRvbVJpZ2h0
IC0gMSk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigiUmlnaHQiKTsKKyAgICBmYWlsID0gZmFp
bCB8fCBkaXYuc2Nyb2xsTGVmdCA+IDQwMCB8fCBkaXYuc2Nyb2xsVG9wIDwgMTAwMDsKKworICAg
IGlmIChmYWlsKSB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIkZBSUwiOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIlBBU1MiOwor
ICAgIH0KK307CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtdGV4dGFy
ZWEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0
aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5
YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtc2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRh
cmVhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtdGV4dGFyZWEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zv
cm1lZC10ZXh0YXJlYS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiNmE4MzNjN2MxZjk3NDVkOTBiZDNiODMz
YWFhY2VkZTE5Yjc5ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lu
cHV0L3JldmVhbC1zZWxlY3Rpb24tdHJhbnNmb3JtZWQtdGV4dGFyZWEuaHRtbApAQCAtMCwwICsx
LDcwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgbW92ZXMg
dGhlIGNhcmV0IHRvIHRoZSBmb3VyIGNvcm5lcnMgb2YgdGhlIGJlbG93IHRleHRhcmVhIGFuZCBj
aGVja3MKK3RoYXQgdGhlIHRleHRhcmVhIGlzIHNjcm9sbGVkIHRvIHJldmVhbCBlYWNoIG9mIHRo
ZSBjb3JuZXJzLgorPGJyLz4KKzxkaXYgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOm1hdHJpeCgw
LjUsIDAuNSwgLTAuNywgMC4yLCAtMTAwLCAzMDApIj4KKzx0ZXh0YXJlYSBpZD0idGV4dGFyZWEi
IHdyYXA9Im9mZiIgc3R5bGU9IndpZHRoOjIwMHB4OyBoZWlnaHQ6MjAwcHg7IHJvdGF0ZSg5MGRl
ZykgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMi4wKSBza2V3KDMwZGVnLCA0MGRlZykiPgorVG9w
TGVmdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVRvcFJpZ2h0Cit8ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK
K3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorQm90dG9tTGVmdF9fX19f
X19fX19fX19fX19fX0JvdHRvbVJpZ2h0PC90ZXh0YXJlYT4KKzwvZGl2PgorPHNjcmlwdD4KKwor
ZnVuY3Rpb24gY2hlY2tSZXZlYWxlZChub2RlLCBpc0xlZnQsIGlzVG9wKSB7CisgICAgdmFyIGlz
UmV2ZWFsZWQgPSBpc0xlZnQgPyBub2RlLnNjcm9sbExlZnQgPCAxMCA6IG5vZGUuc2Nyb2xsTGVm
dCA+IG5vZGUuc2Nyb2xsV2lkdGggLSBub2RlLmNsaWVudFdpZHRoIC0gMTA7CisgICAgaXNSZXZl
YWxlZCA9IGlzUmV2ZWFsZWQgJiYgKGlzVG9wID8gbm9kZS5zY3JvbGxUb3AgPCAxMCA6IG5vZGUu
c2Nyb2xsVG9wID4gbm9kZS5zY3JvbGxIZWlnaHQgLSBub2RlLmNsaWVudEhlaWdodCAtIDEwKTsK
KyAgICByZXR1cm4gaXNSZXZlYWxlZDsKK30KKworb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAg
aWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHJldHVybjsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXh0YXJlYSIpOworICAgIG5vZGUuZm9jdXMoKTsKKworICAgIHZh
ciB0b3BMZWZ0ID0gMDsKKyAgICB2YXIgdG9wUmlnaHQgPSBub2RlLnZhbHVlLmluZGV4T2YoIlRv
cFJpZ2h0IikgKyAiVG9wUmlnaHQiLmxlbmd0aDsKKyAgICB2YXIgYm90dG9tTGVmdCA9IG5vZGUu
dmFsdWUuaW5kZXhPZigiQm90dG9tTGVmdCIpOworICAgIHZhciBib3R0b21SaWdodCA9IG5vZGUu
dmFsdWUubGVuZ3RoOworCisgICAgdmFyIGZhaWx1cmVzID0gW10KKyAgICBub2RlLnNldFNlbGVj
dGlvblJhbmdlKGJvdHRvbVJpZ2h0IC0gMSwgYm90dG9tUmlnaHQgLSAxKTsKKyAgICBldmVudFNl
bmRlci5rZXlEb3duKCJSaWdodCIpOworICAgIGlmICghY2hlY2tSZXZlYWxlZChub2RlLCBmYWxz
ZSwgZmFsc2UpKSBmYWlsdXJlcy5wdXNoKCJCb3R0b20gUmlnaHQiKTsKKyAgICBub2RlLnNldFNl
bGVjdGlvblJhbmdlKGJvdHRvbUxlZnQgKyAxLCBib3R0b21MZWZ0ICsgMSk7CisgICAgZXZlbnRT
ZW5kZXIua2V5RG93bigiTGVmdCIpOworICAgIGlmICghY2hlY2tSZXZlYWxlZChub2RlLCB0cnVl
LCBmYWxzZSkpIGZhaWx1cmVzLnB1c2goIkJvdHRvbSBMZWZ0Iik7CisgICAgbm9kZS5zZXRTZWxl
Y3Rpb25SYW5nZSh0b3BMZWZ0ICsgMSwgdG9wTGVmdCArIDEpOworICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oIkxlZnQiKTsKKyAgICBpZiAoIWNoZWNrUmV2ZWFsZWQobm9kZSwgdHJ1ZSwgdHJ1ZSkp
IGZhaWx1cmVzLnB1c2goIlRvcCBMZWZ0Iik7CisgICAgbm9kZS5zZXRTZWxlY3Rpb25SYW5nZSh0
b3BSaWdodCAtIDEsIHRvcFJpZ2h0IC0gMSk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigiUmln
aHQiKTsKKyAgICBpZiAoIWNoZWNrUmV2ZWFsZWQobm9kZSwgZmFsc2UsIHRydWUpKSBmYWlsdXJl
cy5wdXNoKCJUb3AgUmlnaHQiKTsKKworICAgIGlmIChmYWlsdXJlcy5sZW5ndGgpIHsKKyAgICAg
ICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiRkFJTFVSRVM6PGJyLz4iICsgZmFpbHVyZXMu
am9pbigiPGJyLz4iKQorICAgIH0gZWxzZSB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJI
VE1MID0gIlBBU1MiCisgICAgfQorfTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182665</attachid>
            <date>2013-01-14 17:14:01 -0800</date>
            <delta_ts>2013-01-14 18:10:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105574-20130114171101.patch</filename>
            <type>text/plain</type>
            <size>9306</size>
            <attacher name="Chris Hopman">cjhopman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE1OThmZGQxNzhkYTBm
OWZiNjAwMjgxNzA3YmI1ZTFhNWQxZTBhZi4uN2EzOTNmYjE3M2YwN2MzOGZhZjNmNTFlMDU2YWU3
ODViZGNlN2VjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAxLTEwICBDaHJp
cyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0
VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHNjcm9sbGluZyB0byByZXZlYWwg
YW4gb3ZlcmZsb3cgbGF5ZXIsIHRoZSByZXF1aXJlZCBzY3JvbGwgd2FzCisgICAgICAgIGJlaW5n
IGNhbGN1bGF0ZWQgaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXMuIFRvIHByb3Blcmx5IGFjY291bnQg
Zm9yCisgICAgICAgIHRyYW5zZm9ybXMsIHRoaXMgY2FsY3VsYXRpb24gc2hvdWxkIGJlIGRvbmUg
aW4gdGhlIGxvY2FsIGNvb3JkaW5hdGVzCisgICAgICAgIG9mIHRoZSByZW5kZXJCb3guCisKKyAg
ICAgICAgVGVzdHM6IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC1v
dmVyZmxvdy1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9pbnB1dC9yZXZlYWwt
c2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLmh0bWwKKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZSk6CisgICAgICAgIFdoZW4gc2Nyb2xsaW5nIHRvIHJldmVhbCBhbiBvdmVy
ZmxvdyBsYXllciwgY2FsY3VsYXRlIHRoZSByZXF1aXJlZAorICAgICAgICBzY3JvbGwgaW4gdGhl
IGxvY2FsIGNvb3JkaW5hdGVzIG9mIHRoZSBSZW5kZXJCb3guCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFic29s
dXRlVG9Mb2NhbFF1YWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oOgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKyAgICAgICAgQWRkIGZ1
bmN0aW9uIHRvIGNvbnZlcnQgYW4gYWJzb2x1dGUgcXVhZCB0byBhIGxvY2FsIHF1YWQuCisKIDIw
MTMtMDEtMTQgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtDaHJvbWl1bV0gTW92ZSBBdWRpb0Rlc3RpbmF0aW9uQ2hyb21pdW0gaW50byBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA1YzI4NDE2ZjdiZDQ4
NTFjZGRjYmNkNjM5YWViZDQyMzIwY2YwOTI2Li5kZjZmNWY1ZGIzMDU2MGU1ODI0MzcxMjExY2M2
NmVhZWJjMDc1MDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
QEAgLTIxMzIsMjEgKzIxMzIsMTcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0KICAgICAgICAg
Ly8gVGhpcyB3aWxsIHByZXZlbnQgdXMgZnJvbSByZXZlYWxpbmcgdGV4dCBoaWRkZW4gYnkgdGhl
IHNsaWRlciBpbiBTYWZhcmkgUlNTLgogICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJv
eCgpOwogICAgICAgICBBU1NFUlQoYm94KTsKLSAgICAgICAgRmxvYXRQb2ludCBhYnNQb3MgPSBi
b3gtPmxvY2FsVG9BYnNvbHV0ZSgpOwotICAgICAgICBhYnNQb3MubW92ZShib3gtPmJvcmRlckxl
ZnQoKSwgYm94LT5ib3JkZXJUb3AoKSk7CisgICAgICAgIExheW91dFJlY3QgbG9jYWxFeHBvc2VS
ZWN0KGJveC0+YWJzb2x1dGVUb0xvY2FsUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KHJlY3QpKSwg
VXNlVHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7CisgICAgICAgIExheW91dFJlY3QgbGF5ZXJC
b3VuZHMoMCwgMCwgYm94LT5jbGllbnRXaWR0aCgpLCBib3gtPmNsaWVudEhlaWdodCgpKTsKKyAg
ICAgICAgTGF5b3V0UmVjdCByID0gZ2V0UmVjdFRvRXhwb3NlKGxheWVyQm91bmRzLCBsb2NhbEV4
cG9zZVJlY3QsIGFsaWduWCwgYWxpZ25ZKTsKIAotICAgICAgICBMYXlvdXRSZWN0IGxheWVyQm91
bmRzID0gTGF5b3V0UmVjdChhYnNQb3MueCgpICsgc2Nyb2xsWE9mZnNldCgpLCBhYnNQb3MueSgp
ICsgc2Nyb2xsWU9mZnNldCgpLCBib3gtPmNsaWVudFdpZHRoKCksIGJveC0+Y2xpZW50SGVpZ2h0
KCkpOwotICAgICAgICBMYXlvdXRSZWN0IGV4cG9zZVJlY3QgPSBMYXlvdXRSZWN0KHJlY3QueCgp
ICsgc2Nyb2xsWE9mZnNldCgpLCByZWN0LnkoKSArIHNjcm9sbFlPZmZzZXQoKSwgcmVjdC53aWR0
aCgpLCByZWN0LmhlaWdodCgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCByID0gZ2V0UmVjdFRvRXhw
b3NlKGxheWVyQm91bmRzLCBleHBvc2VSZWN0LCBhbGlnblgsIGFsaWduWSk7Ci0gICAgICAgIAot
ICAgICAgICBpbnQgcm91bmRlZEFkanVzdGVkWCA9IHJvdW5kVG9JbnQoci54KCkgLSBhYnNQb3Mu
eCgpKTsKLSAgICAgICAgaW50IHJvdW5kZWRBZGp1c3RlZFkgPSByb3VuZFRvSW50KHIueSgpIC0g
YWJzUG9zLnkoKSk7Ci0gICAgICAgIEludFNpemUgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1w
U2Nyb2xsT2Zmc2V0KEludFNpemUocm91bmRlZEFkanVzdGVkWCwgcm91bmRlZEFkanVzdGVkWSkp
OworICAgICAgICBJbnRTaXplIGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNl
dChzY3JvbGxPZmZzZXQoKSArIHRvSW50U2l6ZShyb3VuZGVkSW50UmVjdChyKS5sb2NhdGlvbigp
KSk7CiAgICAgICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKSB7
CiAgICAgICAgICAgICBJbnRTaXplIG9sZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwog
ICAgICAgICAgICAgc2Nyb2xsVG9PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CiAgICAgICAg
ICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBzY3JvbGxPZmZzZXQoKSAtIG9s
ZFNjcm9sbE9mZnNldDsKLSAgICAgICAgICAgIG5ld1JlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlm
ZmVyZW5jZSk7CisgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0
RGlmZmVyZW5jZSk7CisgICAgICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVjdChib3gtPmxvY2Fs
VG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9zZVJlY3QpKSwgVXNl
VHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCFw
YXJlbnRMYXllciAmJiByZW5kZXJlcigpLT5pc0JveCgpICYmIHJlbmRlckJveCgpLT5jYW5CZVBy
b2dyYW1hdGljYWxseVNjcm9sbGVkKCkpIHsKICAgICAgICAgaWYgKGZyYW1lVmlldykgewpAQCAt
MjE3Myw2ICsyMTY5LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShj
b25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0KICAgICAgICAgICAgICAg
ICAgICAgZnJhbWVWaWV3LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh4T2Zmc2V0LCB5T2Zm
c2V0KSk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChmcmFtZVZpZXctPnNhZmVUb1Byb3BhZ2F0
ZVNjcm9sbFRvUGFyZW50KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVy
ID0gb3duZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpOworICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBjb3JyZWN0bHkgY29udmVydCB0
aGUgcmVjdCB0bworICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWJzb2x1dGUgY29vcmRpbmF0
ZXMgaW4gdGhlIHBhcmVudC4KICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JlY3Quc2V0WChy
ZWN0LngoKSAtIGZyYW1lVmlldy0+c2Nyb2xsWCgpICsgZnJhbWVWaWV3LT54KCkpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgbmV3UmVjdC5zZXRZKHJlY3QueSgpIC0gZnJhbWVWaWV3LT5zY3Jv
bGxZKCkgKyBmcmFtZVZpZXctPnkoKSk7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA4MDAxNzk4ZmFmM2Y1
YTI1MTAwOGFhNzk4YzdlNTVmZWE1NGJmNjY0Li5mNTdhZGUzMTAzMzc1MTg4ZWYxOTZhMWRlZGI1
YWE0OTFiNjIwYzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cApAQCAtMjA2MSw2ICsyMDYxLDE0IEBAIEZsb2F0UG9pbnQgUmVuZGVyT2JqZWN0OjphYnNvbHV0
ZVRvTG9jYWwoY29uc3QgRmxvYXRQb2ludCYgY29udGFpbmVyUG9pbnQsIE1hcENvCiAgICAgcmV0
dXJuIHRyYW5zZm9ybVN0YXRlLmxhc3RQbGFuYXJQb2ludCgpOwogfQogCitGbG9hdFF1YWQgUmVu
ZGVyT2JqZWN0OjphYnNvbHV0ZVRvTG9jYWxRdWFkKGNvbnN0IEZsb2F0UXVhZCYgcXVhZCwgTWFw
Q29vcmRpbmF0ZXNGbGFncyBtb2RlKSBjb25zdAoreworICAgIFRyYW5zZm9ybVN0YXRlIHRyYW5z
Zm9ybVN0YXRlKFRyYW5zZm9ybVN0YXRlOjpVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVjdGlv
biwgcXVhZC5ib3VuZGluZ0JveCgpLmNlbnRlcigpLCBxdWFkKTsKKyAgICBtYXBBYnNvbHV0ZVRv
TG9jYWxQb2ludChtb2RlLCB0cmFuc2Zvcm1TdGF0ZSk7CisgICAgdHJhbnNmb3JtU3RhdGUuZmxh
dHRlbigpOworICAgIHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5sYXN0UGxhbmFyUXVhZCgpOworfQor
CiB2b2lkIFJlbmRlck9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYgdHJhbnNmb3Jt
U3RhdGUsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiB7
CiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIgPT0gdGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAppbmRleCA4ZWU2MWYwYzgxMzE3ZDUwNjhmZDFmMmY4MTMzMzkzYTE3
OGI5MDVhLi41NWUxMzQwMDgxOTVkNzhmYzYyYWU0ODdkNDA1NWJlNzhmNTA3N2Y5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC03MjMsNiArNzIzLDggQEAgcHVi
bGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGxvY2FsVG9Db250YWluZXJRdWFkKHF1YWQsIDAs
IG1vZGUsIHdhc0ZpeGVkKTsKICAgICB9CisgICAgLy8gQ29udmVydCBhbiBhYnNvbHV0ZSBxdWFk
IHRvIGxvY2FsIGNvb3JkaW5hdGVzLgorICAgIEZsb2F0UXVhZCBhYnNvbHV0ZVRvTG9jYWxRdWFk
KGNvbnN0IEZsb2F0UXVhZCYsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSA9IDApIGNvbnN0Owog
CiAgICAgLy8gQ29udmVydCBhIGxvY2FsIHF1YWQgaW50byB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0g
b2YgY29udGFpbmVyLCB0YWtpbmcgdHJhbnNmb3JtcyBpbnRvIGFjY291bnQuCiAgICAgRmxvYXRR
dWFkIGxvY2FsVG9Db250YWluZXJRdWFkKGNvbnN0IEZsb2F0UXVhZCYsIGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIE1hcENvb3JkaW5hdGVzRmxhZ3MgPSAw
LCBib29sKiB3YXNGaXhlZCA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI5NmZjZWRiYzIwMjdjYjQ4MzMx
ZDUzODk4OTBiMTBkZjlkOTRlY2YuLjA1ODNjNGNhYmE4Yzk4YmVjNTMzMjJmNDY3Zjc2NDMyMDM2
MGNhMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMS0xNCAgQ2hyaXMgSG9wbWFuICA8
Y2pob3BtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBGaXggc2Nyb2xsUmVjdFRvVmlzaWJsZSBp
biB0aGUgcHJlc2VuY2Ugb2YgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFu
c2Zvcm1lZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVz
dCB0aGF0IHdoZW4gc2Nyb2xsaW5nIGFuIG92ZXJmbG93IGxheWVyIHRvIHJldmVhbCBhIHJlY3Qs
IHRoZSByZWN0CisgICAgICAgIHBhc3NlZCB0byB0aGUgcGFyZW50IHRvIHNjcm9sbCBpcyBjYWxj
dWxhdGVkIHByb3Blcmx5LgorICAgICAgICAqIGVkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9m
LXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdCB0
aGF0IHNjcm9sbGluZyB0byByZXZlYWwgYSByZWN0IHdvcmtzIHByb3Blcmx5IG9uIGEgdHJhbnNm
b3JtZWQKKyAgICAgICAgb3ZlcmZsb3cgbGF5ZXIuCisKIDIwMTMtMDEtMTQgIFN0ZXBoZW4gQ2hl
bm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIE1vcmUg
dGVzdCBleHBlY3RhdGlvbnMgZm9yIFNraWEgY2hhbmdlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtaW5wdXQtc2Nyb2xs
YWJsZS1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0
LW9mLXRyYW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjQ4OWQzZTg0NGJiZmNiYzViYWMyODQ4MGE2M2MwNjg5NzFkMmY5NgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVk
LWlucHV0LXNjcm9sbGFibGUtcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc291
cmNlcy9yZXZlYWwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj5XaGVuIHRoZSBjYXJldCBpcyBzY3JvbGxlZCBvdXQsIG9uIHN0YXJ0aW5nIHR5cGluZyBpdCBt
dXN0IGJlIGJyb3VnaHQgdG8gdGhlIGNlbnRlciBvZiB0aGUgY29udHJvbC48L2Rpdj4KKzxkaXYg
c3R5bGU9Im92ZXJmbG93OmF1dG87IGhlaWdodDoxNTBweDsgd2lkdGg6MzAwcHgiPgorPHRleHRh
cmVhIG5hbWU9InRleHRhcmVhIiBpZD0idGV4dGFyZWEiIHJvd3M9IjEwIiBjb2xzPSIxMCIKKyAg
c3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxMTBweCwgMTEwcHgpIHNjYWxlKDIp
OyBoZWlnaHQ6MjAwcHgiPjwvdGV4dGFyZWE+Cis8L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciB0ZXh0
QXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0YXJlYSIpOwordGV4dEFyZWEudGV4
dENvbnRlbnQgPSBnZW5lcmF0ZU51bWJlcnMoMCwgNjAsIDIsICJcbiIpOwordGV4dEFyZWEuZm9j
dXMoKTsKK3RleHRBcmVhLnNlbGVjdGlvblN0YXJ0ID0gNjY7CitpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKQorICAgIGV2ZW50U2VuZGVyLmtleURvd24oIj4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10
cmFuc2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5w
dXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE2NWU0MzQxYTZkOGY1OTBhZGVjNzZhMzNjYmY0ZWY4NjQyM2E1YmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFu
c2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3Vy
Y2VzL3JldmVhbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PldoZW4gdGhlIGNhcmV0IGlzIHNjcm9sbGVkIG91dCwgb24gc3RhcnRpbmcgdHlwaW5nIGl0IG11
c3QgYmUgYnJvdWdodCB0byB0aGUgY2VudGVyIG9mIHRoZSBjb250cm9sLjwvZGl2PgorPHRleHRh
cmVhIG5hbWU9InRleHRhcmVhIiBpZD0idGV4dGFyZWEiIHJvd3M9IjEwIiBjb2xzPSIxMCIgc3R5
bGU9Ii13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIj48L3RleHRhcmVhPgorPHNjcmlw
dD4KKwordmFyIHRleHRBcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRhcmVhIik7
Cit0ZXh0QXJlYS50ZXh0Q29udGVudCA9IGdlbmVyYXRlTnVtYmVycygwLCAzMCwgMiwgIlxuIik7
Cit0ZXh0QXJlYS5mb2N1cygpOwordGV4dEFyZWEuc2VsZWN0aW9uU3RhcnQgPSAzNjsKK2lmICh3
aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgZXZlbnRTZW5kZXIua2V5RG93bigiPiIpOworCis8L3Nj
cmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182672</attachid>
            <date>2013-01-14 18:10:33 -0800</date>
            <delta_ts>2013-01-15 18:42:02 -0800</delta_ts>
            <desc>Now with test results.</desc>
            <filename>bug-105574-20130114180733.patch</filename>
            <type>text/plain</type>
            <size>39905</size>
            <attacher name="Chris Hopman">cjhopman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE1OThmZGQxNzhkYTBm
OWZiNjAwMjgxNzA3YmI1ZTFhNWQxZTBhZi4uN2EzOTNmYjE3M2YwN2MzOGZhZjNmNTFlMDU2YWU3
ODViZGNlN2VjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAxLTEwICBDaHJp
cyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0
VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHNjcm9sbGluZyB0byByZXZlYWwg
YW4gb3ZlcmZsb3cgbGF5ZXIsIHRoZSByZXF1aXJlZCBzY3JvbGwgd2FzCisgICAgICAgIGJlaW5n
IGNhbGN1bGF0ZWQgaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXMuIFRvIHByb3Blcmx5IGFjY291bnQg
Zm9yCisgICAgICAgIHRyYW5zZm9ybXMsIHRoaXMgY2FsY3VsYXRpb24gc2hvdWxkIGJlIGRvbmUg
aW4gdGhlIGxvY2FsIGNvb3JkaW5hdGVzCisgICAgICAgIG9mIHRoZSByZW5kZXJCb3guCisKKyAg
ICAgICAgVGVzdHM6IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC1v
dmVyZmxvdy1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9pbnB1dC9yZXZlYWwt
c2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLmh0bWwKKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZSk6CisgICAgICAgIFdoZW4gc2Nyb2xsaW5nIHRvIHJldmVhbCBhbiBvdmVy
ZmxvdyBsYXllciwgY2FsY3VsYXRlIHRoZSByZXF1aXJlZAorICAgICAgICBzY3JvbGwgaW4gdGhl
IGxvY2FsIGNvb3JkaW5hdGVzIG9mIHRoZSBSZW5kZXJCb3guCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFic29s
dXRlVG9Mb2NhbFF1YWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oOgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKyAgICAgICAgQWRkIGZ1
bmN0aW9uIHRvIGNvbnZlcnQgYW4gYWJzb2x1dGUgcXVhZCB0byBhIGxvY2FsIHF1YWQuCisKIDIw
MTMtMDEtMTQgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtDaHJvbWl1bV0gTW92ZSBBdWRpb0Rlc3RpbmF0aW9uQ2hyb21pdW0gaW50byBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA1YzI4NDE2ZjdiZDQ4
NTFjZGRjYmNkNjM5YWViZDQyMzIwY2YwOTI2Li5kZjZmNWY1ZGIzMDU2MGU1ODI0MzcxMjExY2M2
NmVhZWJjMDc1MDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
QEAgLTIxMzIsMjEgKzIxMzIsMTcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0KICAgICAgICAg
Ly8gVGhpcyB3aWxsIHByZXZlbnQgdXMgZnJvbSByZXZlYWxpbmcgdGV4dCBoaWRkZW4gYnkgdGhl
IHNsaWRlciBpbiBTYWZhcmkgUlNTLgogICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJv
eCgpOwogICAgICAgICBBU1NFUlQoYm94KTsKLSAgICAgICAgRmxvYXRQb2ludCBhYnNQb3MgPSBi
b3gtPmxvY2FsVG9BYnNvbHV0ZSgpOwotICAgICAgICBhYnNQb3MubW92ZShib3gtPmJvcmRlckxl
ZnQoKSwgYm94LT5ib3JkZXJUb3AoKSk7CisgICAgICAgIExheW91dFJlY3QgbG9jYWxFeHBvc2VS
ZWN0KGJveC0+YWJzb2x1dGVUb0xvY2FsUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KHJlY3QpKSwg
VXNlVHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7CisgICAgICAgIExheW91dFJlY3QgbGF5ZXJC
b3VuZHMoMCwgMCwgYm94LT5jbGllbnRXaWR0aCgpLCBib3gtPmNsaWVudEhlaWdodCgpKTsKKyAg
ICAgICAgTGF5b3V0UmVjdCByID0gZ2V0UmVjdFRvRXhwb3NlKGxheWVyQm91bmRzLCBsb2NhbEV4
cG9zZVJlY3QsIGFsaWduWCwgYWxpZ25ZKTsKIAotICAgICAgICBMYXlvdXRSZWN0IGxheWVyQm91
bmRzID0gTGF5b3V0UmVjdChhYnNQb3MueCgpICsgc2Nyb2xsWE9mZnNldCgpLCBhYnNQb3MueSgp
ICsgc2Nyb2xsWU9mZnNldCgpLCBib3gtPmNsaWVudFdpZHRoKCksIGJveC0+Y2xpZW50SGVpZ2h0
KCkpOwotICAgICAgICBMYXlvdXRSZWN0IGV4cG9zZVJlY3QgPSBMYXlvdXRSZWN0KHJlY3QueCgp
ICsgc2Nyb2xsWE9mZnNldCgpLCByZWN0LnkoKSArIHNjcm9sbFlPZmZzZXQoKSwgcmVjdC53aWR0
aCgpLCByZWN0LmhlaWdodCgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCByID0gZ2V0UmVjdFRvRXhw
b3NlKGxheWVyQm91bmRzLCBleHBvc2VSZWN0LCBhbGlnblgsIGFsaWduWSk7Ci0gICAgICAgIAot
ICAgICAgICBpbnQgcm91bmRlZEFkanVzdGVkWCA9IHJvdW5kVG9JbnQoci54KCkgLSBhYnNQb3Mu
eCgpKTsKLSAgICAgICAgaW50IHJvdW5kZWRBZGp1c3RlZFkgPSByb3VuZFRvSW50KHIueSgpIC0g
YWJzUG9zLnkoKSk7Ci0gICAgICAgIEludFNpemUgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1w
U2Nyb2xsT2Zmc2V0KEludFNpemUocm91bmRlZEFkanVzdGVkWCwgcm91bmRlZEFkanVzdGVkWSkp
OworICAgICAgICBJbnRTaXplIGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNl
dChzY3JvbGxPZmZzZXQoKSArIHRvSW50U2l6ZShyb3VuZGVkSW50UmVjdChyKS5sb2NhdGlvbigp
KSk7CiAgICAgICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKSB7
CiAgICAgICAgICAgICBJbnRTaXplIG9sZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwog
ICAgICAgICAgICAgc2Nyb2xsVG9PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CiAgICAgICAg
ICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBzY3JvbGxPZmZzZXQoKSAtIG9s
ZFNjcm9sbE9mZnNldDsKLSAgICAgICAgICAgIG5ld1JlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlm
ZmVyZW5jZSk7CisgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0
RGlmZmVyZW5jZSk7CisgICAgICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVjdChib3gtPmxvY2Fs
VG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9zZVJlY3QpKSwgVXNl
VHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCFw
YXJlbnRMYXllciAmJiByZW5kZXJlcigpLT5pc0JveCgpICYmIHJlbmRlckJveCgpLT5jYW5CZVBy
b2dyYW1hdGljYWxseVNjcm9sbGVkKCkpIHsKICAgICAgICAgaWYgKGZyYW1lVmlldykgewpAQCAt
MjE3Myw2ICsyMTY5LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShj
b25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0KICAgICAgICAgICAgICAg
ICAgICAgZnJhbWVWaWV3LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh4T2Zmc2V0LCB5T2Zm
c2V0KSk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChmcmFtZVZpZXctPnNhZmVUb1Byb3BhZ2F0
ZVNjcm9sbFRvUGFyZW50KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVy
ID0gb3duZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpOworICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBjb3JyZWN0bHkgY29udmVydCB0
aGUgcmVjdCB0bworICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWJzb2x1dGUgY29vcmRpbmF0
ZXMgaW4gdGhlIHBhcmVudC4KICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JlY3Quc2V0WChy
ZWN0LngoKSAtIGZyYW1lVmlldy0+c2Nyb2xsWCgpICsgZnJhbWVWaWV3LT54KCkpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgbmV3UmVjdC5zZXRZKHJlY3QueSgpIC0gZnJhbWVWaWV3LT5zY3Jv
bGxZKCkgKyBmcmFtZVZpZXctPnkoKSk7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA4MDAxNzk4ZmFmM2Y1
YTI1MTAwOGFhNzk4YzdlNTVmZWE1NGJmNjY0Li5mNTdhZGUzMTAzMzc1MTg4ZWYxOTZhMWRlZGI1
YWE0OTFiNjIwYzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cApAQCAtMjA2MSw2ICsyMDYxLDE0IEBAIEZsb2F0UG9pbnQgUmVuZGVyT2JqZWN0OjphYnNvbHV0
ZVRvTG9jYWwoY29uc3QgRmxvYXRQb2ludCYgY29udGFpbmVyUG9pbnQsIE1hcENvCiAgICAgcmV0
dXJuIHRyYW5zZm9ybVN0YXRlLmxhc3RQbGFuYXJQb2ludCgpOwogfQogCitGbG9hdFF1YWQgUmVu
ZGVyT2JqZWN0OjphYnNvbHV0ZVRvTG9jYWxRdWFkKGNvbnN0IEZsb2F0UXVhZCYgcXVhZCwgTWFw
Q29vcmRpbmF0ZXNGbGFncyBtb2RlKSBjb25zdAoreworICAgIFRyYW5zZm9ybVN0YXRlIHRyYW5z
Zm9ybVN0YXRlKFRyYW5zZm9ybVN0YXRlOjpVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVjdGlv
biwgcXVhZC5ib3VuZGluZ0JveCgpLmNlbnRlcigpLCBxdWFkKTsKKyAgICBtYXBBYnNvbHV0ZVRv
TG9jYWxQb2ludChtb2RlLCB0cmFuc2Zvcm1TdGF0ZSk7CisgICAgdHJhbnNmb3JtU3RhdGUuZmxh
dHRlbigpOworICAgIHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5sYXN0UGxhbmFyUXVhZCgpOworfQor
CiB2b2lkIFJlbmRlck9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYgdHJhbnNmb3Jt
U3RhdGUsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiB7
CiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIgPT0gdGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAppbmRleCA4ZWU2MWYwYzgxMzE3ZDUwNjhmZDFmMmY4MTMzMzkzYTE3
OGI5MDVhLi41NWUxMzQwMDgxOTVkNzhmYzYyYWU0ODdkNDA1NWJlNzhmNTA3N2Y5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC03MjMsNiArNzIzLDggQEAgcHVi
bGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGxvY2FsVG9Db250YWluZXJRdWFkKHF1YWQsIDAs
IG1vZGUsIHdhc0ZpeGVkKTsKICAgICB9CisgICAgLy8gQ29udmVydCBhbiBhYnNvbHV0ZSBxdWFk
IHRvIGxvY2FsIGNvb3JkaW5hdGVzLgorICAgIEZsb2F0UXVhZCBhYnNvbHV0ZVRvTG9jYWxRdWFk
KGNvbnN0IEZsb2F0UXVhZCYsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSA9IDApIGNvbnN0Owog
CiAgICAgLy8gQ29udmVydCBhIGxvY2FsIHF1YWQgaW50byB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0g
b2YgY29udGFpbmVyLCB0YWtpbmcgdHJhbnNmb3JtcyBpbnRvIGFjY291bnQuCiAgICAgRmxvYXRR
dWFkIGxvY2FsVG9Db250YWluZXJRdWFkKGNvbnN0IEZsb2F0UXVhZCYsIGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIE1hcENvb3JkaW5hdGVzRmxhZ3MgPSAw
LCBib29sKiB3YXNGaXhlZCA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI5NmZjZWRiYzIwMjdjYjQ4MzMx
ZDUzODk4OTBiMTBkZjlkOTRlY2YuLjZmNTEwYzYzZmYxZWU0MDI2NDJhYjFlZTE4MjRlMzBhNGQ0
YWJjMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMy0wMS0xNCAgQ2hyaXMgSG9wbWFuICA8
Y2pob3BtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBGaXggc2Nyb2xsUmVjdFRvVmlzaWJsZSBp
biB0aGUgcHJlc2VuY2Ugb2YgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFu
c2Zvcm1lZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVz
dCB0aGF0IHdoZW4gc2Nyb2xsaW5nIGFuIG92ZXJmbG93IGxheWVyIHRvIHJldmVhbCBhIHJlY3Qs
IHRoZSByZWN0CisgICAgICAgIHBhc3NlZCB0byB0aGUgcGFyZW50IHRvIHNjcm9sbCBpcyBjYWxj
dWxhdGVkIHByb3Blcmx5LgorICAgICAgICAqIGVkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9m
LXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdCB0
aGF0IHNjcm9sbGluZyB0byByZXZlYWwgYSByZWN0IHdvcmtzIHByb3Blcmx5IG9uIGEgdHJhbnNm
b3JtZWQKKyAgICAgICAgb3ZlcmZsb3cgbGF5ZXIuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtaW5wdXQt
c2Nyb2xsYWJsZS1wYXJlbnQtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1l
ZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRy
YW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRy
YW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCisKIDIwMTMt
MDEtMTQgIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbQ2hyb21pdW1dIE1vcmUgdGVzdCBleHBlY3RhdGlvbnMgZm9yIFNraWEgY2hhbmdlcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNm
b3JtZWQtaW5wdXQtc2Nyb2xsYWJsZS1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
aW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFyZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjQ4OWQzZTg0NGJiZmNiYzViYWMyODQ4MGE2M2MwNjg5NzFkMmY5
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNh
cmV0LW9mLXRyYW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFyZW50Lmh0bWwKQEAgLTAsMCAr
MSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9InJlc291cmNlcy9yZXZlYWwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj5XaGVuIHRoZSBjYXJldCBpcyBzY3JvbGxlZCBvdXQsIG9uIHN0
YXJ0aW5nIHR5cGluZyBpdCBtdXN0IGJlIGJyb3VnaHQgdG8gdGhlIGNlbnRlciBvZiB0aGUgY29u
dHJvbC48L2Rpdj4KKzxkaXYgc3R5bGU9Im92ZXJmbG93OmF1dG87IGhlaWdodDoxNTBweDsgd2lk
dGg6MzAwcHgiPgorPHRleHRhcmVhIG5hbWU9InRleHRhcmVhIiBpZD0idGV4dGFyZWEiIHJvd3M9
IjEwIiBjb2xzPSIxMCIKKyAgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxMTBw
eCwgMTEwcHgpIHNjYWxlKDIpOyBoZWlnaHQ6MjAwcHgiPjwvdGV4dGFyZWE+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciB0ZXh0QXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0YXJl
YSIpOwordGV4dEFyZWEudGV4dENvbnRlbnQgPSBnZW5lcmF0ZU51bWJlcnMoMCwgNjAsIDIsICJc
biIpOwordGV4dEFyZWEuZm9jdXMoKTsKK3RleHRBcmVhLnNlbGVjdGlvblN0YXJ0ID0gNjY7Citp
ZiAod2luZG93LmV2ZW50U2VuZGVyKQorICAgIGV2ZW50U2VuZGVyLmtleURvd24oIj4iKTsKKwor
PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0
L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRpbGlu
ZS1pbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2NWU0MzQxYTZkOGY1OTBhZGVjNzZhMzNjYmY0ZWY4
NjQyM2E1YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3Jl
dmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0icmVzb3VyY2VzL3JldmVhbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PldoZW4gdGhlIGNhcmV0IGlzIHNjcm9sbGVkIG91dCwgb24gc3Rh
cnRpbmcgdHlwaW5nIGl0IG11c3QgYmUgYnJvdWdodCB0byB0aGUgY2VudGVyIG9mIHRoZSBjb250
cm9sLjwvZGl2PgorPHRleHRhcmVhIG5hbWU9InRleHRhcmVhIiBpZD0idGV4dGFyZWEiIHJvd3M9
IjEwIiBjb2xzPSIxMCIgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIj48
L3RleHRhcmVhPgorPHNjcmlwdD4KKwordmFyIHRleHRBcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRleHRhcmVhIik7Cit0ZXh0QXJlYS50ZXh0Q29udGVudCA9IGdlbmVyYXRlTnVtYmVy
cygwLCAzMCwgMiwgIlxuIik7Cit0ZXh0QXJlYS5mb2N1cygpOwordGV4dEFyZWEuc2VsZWN0aW9u
U3RhcnQgPSAzNjsKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgZXZlbnRTZW5kZXIua2V5
RG93bigiPiIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRy
YW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFyZW50LWV4cGVjdGVkLnBuZyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9m
LXRyYW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFyZW50LWV4cGVjdGVkLnBuZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNzIzOTdmNGJkNmM1NGEwMWE5NzQ5MzNiNmY0ZDM2ZDY5NWFlM2I0CkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAxMDEwMwp6Y21lSHRYSC0rXnpWYCtPYVYjKW45WXNKTDYlYD4wM1BfOEpp
aWArSGt0VCM3TU8yI2ZuamtqRDF9Skt6RH5KJigKenAtM1E8TF98UzQoanxkTjRaVmZ7Mn0kMDZv
T3tuYkdpJHg/eCVibXU+c2BZYVdoZDxIe1hHOSktTVJZQFZ9c1F6CnpIbV5Wc1dWUFhgPEwzfVdW
az80KFRQXyFlQmtSfCNTQT43fF8/KW94YWslV3s7TnREO2g4KXRnY1R+NG1iRyYlKgp6a2NOWWtz
LXdOQytRQ0RZX04lRU0rXj1+XlF8KWtNTnFxIUBZKCklQEEzWXhzS2koRFUoPmpNK24zbTFCYWJ6
aU0KeiNvaH57SzQkNT0oZjc8I0p+ckZ5dVJpSXZGTHtlKmZeVCFzR2N9aSskK3QoPWIjKSQyQHk7
SzRXaVBqTz9eRkE7CnpYSVc5M0VJKmt5SHV7fiVCJTgmKnhpeFpRJjhaUzUrTVZETDh8PmpGTEU2
I1pVRC0jZlFKbXkwbVExal44OUVkVgp6XnU1UGJqXmZDNU8kbHhnZj9OO3pINSk7MHtKME9mWllS
REgrNH1zd0lJP2AjfExjJkkjQXh6O21BJjc4dns+PXAKell3bXZCPFEjdk45VTI9TzM7JXo5en5Q
KipXR01ONVZuRlgqaGUlIVprVjUlUnc8a1pZLU5sfnluUW5abHB1V319Cnp6cXghKXorZENWcGw7
VDdBfVpgQzxxVEVSQjw2MCZZNVVvRCpCejNRNUJMQClDQkcwVVQhPFdBJF5HKGgrI3UhSAp6Will
RzlQS2lUaE00U2g4Rn4mTDNpc0NocDcoRFRuITNkZGF3UDF6e2BFWXp0ej8pMXV3SWVuenUwZkFD
SHItZCoKemtmMSQzbG9FO09qVGUqKS1QeFpYe1RnZ3Z6O0V2ZlJ9aSNXZCtkeV5CQ24qX2o3STU4
MmVLMFU8NDxia0ckKi1+CnphdHZjYnJBOCQ0b0UhQWA/QilpfHo2UyN9Z29aPzJVVmdqblghWisq
dGAyd0k7ailSWEVfU0lRSlVVWV9OKXdGIQp6OG1YaUQ9K3JAVmI+ckJCIXZ4eHIofTtlUnF0e3FS
UEpWdj1yJSN7aT5nc01UVFlXRVJYeWJhbT1pODMxMzliJDwKell5NmhhWHppYHwzUn1HJnlMNF43
MT5vQGheSzR8KEpnciZndWBPPiRvITwqcnE2PDtzNztmJWVeVilnZCZqd3FqCnpKNiVaUTZqdEti
aH1RNmlvVVlRKzt3cGx+WFVzPENQMmNISDg/bUFNeHdNK3tKRkJnODlTIU5pRm0+MEN7ZUVLfAp6
eX1pQjF3OyNDbj9mc2lEe0E/V2E5WSZmbFp0UXxLUUc4dDAtPEUwWkthb09sKGNhZGpyQjttSj81
Kj0tYVdhMzsKeiRWODhMPD4rbmVQTSQ9K20lQmdyWHA+OVF0NCVVYiNzfGwkXzF+QnpgVU1TeiZC
RnF3d3dvbX1KM2JuQmIkOWpECnppMjBjMERrJnhnKm40fD5rSWVMYng9JmxJXkxWV3krOFRjKiZZ
enhwZUVhbEJJdz4oXnJWM1U+eFlRdHc/XzhMIQp6UkFfKmFuSmteeDgtNWpTOCN3VVBRRlphLVQ5
WW1RM3tPJWlyISRTMWMpYFlvZnRUNW4jQUMzfC1OYWxnbGNZP04Kelo/PzZ5cklWO1pPeChRZyFu
ZDM3PWlNejgzajg0aDEzQkxvcVRYRUVxaEFkSy09eHImV2UzQzJPRmRJUDwmfXtOCnpOdUNYSWdJ
OHUzYFhVdilZWShLPV87PmxYemNfbUh3USlsMWJqYShfZ1NabTVBKkBOYzNfNGAwT2lKT31kJEQ8
agp6dytVflMoUX1OUG0qWklWeEd6SDZlVz54fSU4ZT91ZWc7SF5XUFZFV3hFREQoc3okb0ZxX1d4
TVk8UmhFVX1aaioKej18XithcDcwM2UoTlE1aUR9JUBMK2dzOTF7bF99S1R6cEslQnpSVHRObjEm
PDRaNU5sUT9mS3VWPUE9Q2IqekdBCnpwIXRuPWVufk5xaz1JI3g4N31gRCMmY3NOLUVZcDdzRmhF
QGJMVVI4djM2ISpWTCozREFXYmt3cypJNCtfOERxeQp6KnswZzxpQWtoJDBDJnwtbF9KckMxd015
OW5Jc3JhPkxtTHc0bkxjfGNVYlJMLW91MXhwSCNIMFdBV2koeCpBXkgKeiR5I0NJVTM4emZVQVJ+
LUNjUypvNi1CMzwyfkNgJiRpe2ctUTFPXkYqNU10Y0hPfT9UUlYkR35kaGFUcEJUU2FlCnopfl98
ej9CVU5kTz9Fe1NGbihWPF5JZTMoaCY2WSRDcmk5Km8rO041UC14ZiZRKDVRd197QmEyVkV+PSVX
fS05dwp6QHMoalRFYTxsSUVzcmx5MCVyIys2KylOWk9VVHNqSCFXXlItcmBSJHRKN2RFNkA+QiU7
UH57PzsldWJXJGVXZjUKemxUZEU2TjZCO3IrIz4qLXZRN1dhal85aEoocHRNOG96bWVCck1Pd3Q3
UDF+QndXaTVGRS1DPy1BM1MoKVkwTWQyCnpRPmU7TThTWUNwJC1QdDtuXiYoajNLdHY3OVZYNnFg
N0BvOWFPQ3ArWld+cVdtdWw0LW87LVdqKjUyOyVIRnV5dwp6KX12T192Typ0REBsSUxMSEhqelMz
eW1FYTdnZ3AxeE89WEs3VFFie2xJUHMhUG19dStlVlBucWJsSHU3N2dNNFcKempOOFAxcW1oeCEl
Kj1FUGwzdmZQd2NXdiFyNypadmliLTRXM3EzQ0ZTI28rSTBveHhIdkohKiFVfTNtaXUzRWpPCnoh
KkVrLUZgbUpaQXNXa2olKDVEb3hsVDB6NlN6KHh0WWNuSSZOTks+Wip0cXxhX3goaEBvVkwjWXBG
QlVPMmg9ZQp6UDgwbDBiUEdvWC1LQT1LcGZjUXRvVEhZUV5gSyF7MHdjYSZybUtxa298d1EkbEF5
fig7V09FQFV1Xzh7OCV3PCUKemlzeDF9cythJEJHbDRhRDYmbG4+TSFUQE14el5oJkhgVzYrNCNz
Jkg/fXtjUzIzX1J8ZT1wRXdUVkpAYVl9R0dPCnpNSWp2KiF9SXdZdVRGZ3swflVrTDlKamMlYlpk
QzNEeWhhQFRlSjd+VSYqZHRBNShHZ2ZAcGE9YXZWJkgtT3hzZwp6IVMkTmB1KlZFQy15NmBYSkl7
eX48UV53U3pLJGc1UlNncjl4KkhwI2lnWkUrT0pgRn5gdV81SXs4JllkMzdYR2QKekV2eD1ZTWM1
K35gWi17Mms8UmdvYV5MTkooJXpLc2ZPNWlnZCU2aS1pP08rS3slfG9jQyFWUz9PVGckYmprbmty
CnpKMH1DJUdPVTxGIUYrVThlX24lTGFLJEYpOW0yXntHRmNLdVVGZGEyXlMpeHg/ITBpKjNSQ3RN
MHxoNkJuflJHfQp6Z183VVF4N3ZhRzZRVFV9KDEpQGJEISFCJmxZJDJwakp4NEp5cVpsVzc4VEFu
WlFQQj9gcCh+aCF0PUp7aUR9V3kKemkpYHhNUHo8MWNpRmNSfE84QU5+S0BxLSRPZVFCQGB8elct
LSZtbzVKMVUkSDcwJHk8PnheWld0OXh7WjQ4fU1NCnpzdj1aejcxQ1FZX21eKXwlZEItZSR8YHBB
aH03a3JWaXA0NHFmUFZ7VkYoJTc3eGxAZ09CbV5SUG9BdHRpUllJUwp6OHw4NTlGRUNyaSprXigt
NUJodkh0OEladGRgSF9fMjQyNUBPKWhJdll8eHcpNElQZmhzck5XVzI+JT5WWHpiJD4KektBeEpD
JSZHQ0JeY0JUWiMlSGtuUiV+NUB3KlAyYkNWSHtUTHxTWDsxKntvMW9rfHJ2Y1pnVyprMlg7JHtD
MCF2CnpGRns5alA7dFNFeyZuP28xPWlTZyNYOWFSbU81UWY7SzVBZi1zeUZlUElDWDYpektDMWxi
aGIkbnJVIX1IfnYqUgp6ITQzRFYqPzZNekRsTnlfPGFpYU0taTt1ISErKWAyZl5BeER0YUlMT3Az
dk1rN3NwJjA/MkFPPjdZN0pMZnQ5VC0KelAqLVNhUTQhYX5ANXlrVTZSNHdgPzhiZVRqYUFodXs7
ZFA8Ym5VNzQ1LUBeVnR8Rlk5cURFWjFPQWdjWHlhXkp7CnphY1ZJfVMoWjY0Y0BkdXJiSVQzWEI0
RElJYkFiWWBHYH5qU3J8LSk+XlRuJmJIYzFsUCQxWkw2VUEhcnljV1RFUAp6SHw4bHEle0QhX1Eq
dXEzKCU/KT4rZHlyP0IkMj04RHMzTUBUVj52UGloI3ZhVWNHV2BkfnZpPUs2dVIzTUU5eFEKeiQj
QzchMFZRbDhjbzFvVEpiQ1QmUSMoMykhREx8TmJjMX14SnBGZk9IJSU1a2FUVHBsZCF9X2VyKXho
M1UqdUc1CnpLT3I7Qjc5bGYxST5SLSpvfiQ9QE1SQV8+VVJ1SCpWNDMyeG5BVUZGKEFCfDY2NE1J
MkZmPnNZKUA1b08qJCg2dgp6c3kqfWgqTnJNUiYkJXFvOWk3QEM0LWBVezFQVk80e1pVN3VyLU4h
dDIpR21BYyg2VihNIVFKRzZHZFE9VVprYTYKej5HXlBiVXxedDEkYXs5YnJNaUhMRkxyWVpQVTV4
QE1aNV9oOD0lc3FVIVJITjBPYEZXbExlZHQ4byQ8QUZTQGdrCnppUmJad0d3RnElZWQ3ZzhKLWhl
VUJsV21MRnU2dU0pJlF0b2l0UV9PMytrRSRLaGNFeiQrZFNzUEtGQTNqO2IrUQp6dlpSdWtZQjh4
VFE5YkwzeGJKI3RQT2A8ZG9IZnVERjNyWk55VHopemI+MnImSk56MDh4YFdja2tDOWBUVjY0RlYK
ekV3TXJjJlplZk96UGBUT0E4R2JTPjEoWmVIdkpRRE9Hb3hhNUQjRiYoPDImZEJlb24/cjVrPkIz
YTJwb2hLWDxaCnpKdXR8ZlozU0padU14b3YmJnQkI1lqcnZJO2dtPXt0Oz54c016ZX51YDBwJCp6
T0NVM2Moez5AK316dzJMSn4kdAp6Z209WnIwIzVONk9nRjZGX0QyREk0PmNaSk8lJkVReENRSXFT
cnZtMCNoYVFvRTBJYi1paXopVkVHSSZlYHpGJSEKeks3QjJFJDFxV2VvX0NaUypOaEphMDxjbHd5
Xjl0Ukt2KjtCRFBFNlc2Q2h6flZPOExjQSZFU28jSmpyMkVAIz5VCnpYVChxY3V3KXpQbTkrTClI
c0dAYjRhbXs2fE0rYDVTVGY8e2ZZN0lLMmBwen5zOTtnIzJIO31QZmVWTWRZOV5ZOQp6PzIkIT08
cytXRWNFYEliJjBya3xqXjExYnZAYCkwI0s7WWxTNmZPKEpfTjNHMmBFeGl1K1RATWF6fFJFV3pi
N2cKeldUaV9DWkBOeVhTRmdaXzRFajBfNmJQb3E7Kk0hTj1MPnRmTnpyZ3V3OC1SdXtxX0k2RSZO
QCs+LUlCPiZNOEAwCno2TTBHZUYpK2hQS19oOHNVTEhEbEVUXilgYDg0YENjb0p8QjtqMT55RUg7
RCtWQn5jTnBGN0JkSSFpMHx5b3hxewp6YHt2Q2xyWnIxVkZefkRyNFFmKFFnWTV5T0UjVClCN0F7
YkU2UWxjJCFpJDUhcXVpOHxuVjdtUHFJUylJc2MrQGQKeitXWTJBQUFYJlBXa2t+UFBBWldGNCt2
YEFvKFZ+R1BGb2huYHJOdFBjSDd7R14xNE8qbCteRXBZKCRIRSshYWBvCnpudn5eUXBoZDQ2JmVy
WEZzZ344P19hWSY8dng8Sz5vQiNmNlIlPWcpQUtxUENYTEUyKmdgZUlAR0NpKE9LYjd4JAp6YG5U
VjU2UW53RFY9QTtgKFJqeiUhOCh5SzlZTHE/WXEpY3hxQlIkQiNAKnd8YFQyQTBHPVo8N3AmXlR3
b0l4Z1kKenp9NTJNLW4rPzhpdWk1KSMjOylhNHI3a1VQZ04ha2xaeioqIUMjVjM7Qi1JTD8/JDBR
ZmV8ITN5NW8mQCFBX0p2CnpSa0M8U0FvJUN2O2tGTVFJPlpGOShhRWx6QEFmPThee1Uld245e2RG
bGVxRztnbCQ+IV4/Zz5re3FRTGBBVm5aTQp6Sl5ydnM2Mk8ob3BZUyZnd05+b19Id0BhYmwlbHxZ
bGFaMCg9NVk0eCpeeSVmZFkoblRIdHtOM1d0Tk1RVEtEIUoKemttWn4tc3tHY2JhOVlYQjtaSmRR
QEIlSypuM19YIWUoQUIjR0pFVHpRfEhnMD89UkZOY3FBQ31Vbz14SHNoajc5CnpmPyRgeEY/WUV0
aTBsYlpXMmV8cTxqbWV8eVpIalV2S3p6QSM3WFhFI0x4Tm0haUp1RT55PnQkaTlLJilxWFJheAp6
c2lgVVRHe0tLNW19fCFoSktMI2JwcFM3X2pQPmkrcWk5UUJsZUxDfEtzZEFhOXdNOXIxaWlVKnpZ
TD1MPllLUkIKejFjVHh8U2V5M3RaNzBrO0Z3dE9iakNZTjRmZW9QR1lhMHl8Nllec3tkJF5laU4o
U2BCbzJmeU8tbj8wO15UMFI5CnpzWVBwTzF2KzBOVDhMLU0/IyhEem8mPm84ZTNWKGJgUlpTJERz
JVRLRFFWQnZzd289QjdZMG9DP2xGRHNXNjVsNAp6QCZmN1hmfEkyJmx9Zj5UQzNARSVtZkNYZHkl
UGFMNHdAVjNQTHhONjZqekx7Jnhtc2A4WWFgLVVEREheZ2hAIVgKendYYHNUTWwqKjs2JDFNb2Ym
RE14VzUrPX5NOSVBeGZqcV9hWWk/cX5kU3N8emc7TXJyUz1zUV92ZF5lRV9SeUVuCnpjOUlFR0Zq
WCN0XntVIUFPbTZfZ3ZwQ0REWSVuLV9se2Ipel5nc050QV9MNWdCZzU5aExJYz08SnVXZ087UEdP
PQp6fDJoMChLWHE7MHRNaXlFYD55TWxUODJHNmQ7MFdnVjh9Q1AmVHp2OzRyX1duTm5ie3tXcXhi
a1hzNz92M2h+ZDEKeng4Kkl0YmdFc2RlWGJNZTw+Y2hWSDRxS29nWjh+REQmMXJeWW5qTkNpS2tJ
fUE0KjFQdGtCQWE3PnB7SmBUIzt1Cno3a2VuKCtKYiNNM1BZJVVNRzY8K2RhYEdreHIyailtNmVz
RFZiJDJ6SllMV1NXR2lYaVd4R1FNND9jUEYjMyk4Sgp6d1d6MmwrNmg4eV4rTGdqOT8od05Pe3df
fkFMTk04e1AhPzN4U0ArNVpwRWxNbzEyO1dRb1RPQHt4ZjYqVj1oT3kKem0/WWM7dig7Y0VnfExI
ZiYmNHI3SnpAe0pLd0JfVCpjU20+P01xbnoteXZ1djtwYnUrTFNDMTF1PjI3VlYhWVJICno0WGFL
aVQ0Jm9HI1lRNFdCOSRgVXpsOXNrJGNQN3NmckpvaHhNPC1sOGU0ZCsyZU9wNUQ7NkAtaUgoPlIz
NW16VAp6aVUqc2JZalBuYHI0YmR5VWE7MFJUSGtgdVpBdnU4eXR7bGghdVJRXjlsSn50bSV1RXd3
em41QjdtQXNEX3I4alUKemwqdTJFLTNLTXRTJVFFPGZ7RH1ndzZCUGEwNXttamYlJSM1eV5qKW5M
ZzkxVj13d0cjM1BjTHBRVnE9cEUteEg/CnpjeyRTZmBnLT92KlEtfUlxd3lqQkI7V289MkhnO0dm
eGdEeW54KV5uY2tqMjtyJilEent2VXJmVjFLLVk5S3I4Pwp6QHhGN0kqJkVQZ3NIaSpyYWN4ZEhm
Jnx2YFkhSWFFaFlpUyl7Yjc+R1BaYCYjUVkpVitUZW5waShBY1N7eHl+SSgKenpYcilwNEViU3Aj
UmtiJiQ7cnYoJm1NJTwkfDhQYEVkRV4yT2FpQVk+XlgpNmdAMW5gUTFaVGJGTEFscGtlcUdWCnpf
YiNYQ0I1KUU7Un4lYFNTIVp2VFhfO2YrXnZWenR4UEd7X3ZhJkwhJG1hP3txLWs5UilWV05FJjcy
UGIkZE9Rcwp6WXN7TzZ7M2pVRGR8KkxCP3IlaE9MengzPXVOJXg2VjxtK09mfCkjOVpaRjhaJVhJ
SDI4SigjazcpJSR+al5YdGcKemZfanNtI1QmSW5Gakd0bCQpIV45dCM4ZU1EfGxtaDROPT9sdEU7
UWNHY1Yqe1pHSFJje3pmN1IxeCg4TT5NVE1BCnphM34mdmNQVjs1KHh8WSRQMDNRRCVjb2dYQT0k
bDhhdlhSY0NnRjFSPmY1KChVbUx8VlVCcUU5Nz9pTz08Z0RvfQp6Z2RPb0FOSFJTcSN9bXhORng/
PGh6NylecmJ8Kjw4cEhKVWpaei0kcGBuaispRTZXeyp2e1l2bTU9ODxTdDZzZncKekJgcXJ9RD1s
cSFeZUEjJj1qPjJlWWlGbUhMJmJ4dFhoalFpYkkjbTg8VmZQfnE0IXRhLUtrUl9Sdko5cWU4e0NP
CnpnUEpJYmR7KCRFWXgoZnVMcU9sb29qYWk8bmkjYzB1OXV2OTUhVHcrXz5YaHZSR3E0eWpFc3pZ
ZjIrcHJVbn5MOAp6WWordHZLa1IrVSUqK2hpQWRkOUV7Sj1ldGFgKDdCcGMwa15pakdQVWV5I3xD
PT1KN3l0IS1gUT1IflRyOGx1IWEKemB1Kkh5TjVhZ2t0K2puZVQyOT5HYTMpPzhTWThhN3VAYnx7
bTxJK2ZMVzwwN1ozVGkyM1kxNS1WJVB0fTRnfjAtCnowLUN6fUpfTHFUdFBgV3FiRyZgV24hNmxm
aXo5TzZxJEdSOE1iKChHMntUWSNgcjJwJlM8SmpIOGtIZUFOJW8yagp6Vzc0KWshPkxxeHZGcX1S
KilKXjImWXlxZiE2QD18MzBHRCEmbHF+QGk0NlZ4VTQ4IUE1c25QcWsjKm1fY1crVjgKejlhKFBC
UHNqX304cTBzMz9eQEw2b2lmVlM8UDRHbF41UjlIcV5ON08kb3tNa09hM0R4andaa1NoPH43RHgo
al5CCnpeTWhCO2Qzc0phelNJWGdCJmM5RTd0MTRgKW9qWn5LN2c3S1AqXi1UOGZEdigwN3l9bXI5
cEdSVU5EWX1sZW8jPwp6WktHbj5tclJlND80UytgP2tjVEBjeDhwZihxUG04bFFAe04mciNjOCt0
VUEtS1p4R2BJOSgpKXV3cislTi00VnUKenszRVFfMFJIS0poPWM2QFp6bENrZX5nYGI+MEJFSUR9
KGY+aW0lOD41LXpkWXB7TjheUU85eEZWRGZZYz19YFNpCnolY30zZ0BySiZudzNEIzNRTWlfcF5H
Q3ZmZXhRdVYqa35LQHZaUTFRQVYzez9uK15pY1NtZ2V6SHZEbiY4QHlmZgp6Zk9NY3ErXygkMm1e
Vj5PbzRTbig+NjJ3SHY9dllmZnIoPHdnQitpTztSZ3ErS2V9ZyY5RGRzZmZ5eiMkI3tPe0sKelFn
V2xeOStBTyhZR0U1I3dVWkRjPFNgWD1nVi01WGNgQjZ0JEdWKTNsb307U3RvMnxxWDhObjFLN0M1
ckB9X3VuCnomdSpCKXczWEhjPyZFWXI8YWFZbWtEdlhycDslI2YpaEcrNjZAKXAhZWdfO1hNNDJw
czxuYnB3Kmw/SSNiMFU2Zwp6dzgtdyVXO2cwamYtVHMyYGs0KjFiZ2l3ZUJLMFdEZkw8ZFZORkU5
WllZWmwjIz1XPldRTV9PSSohN1R8Kj1zeSMKemU5bWVPIz87Ym1nT0UpYGkoLVVGVmIyfSpxMUNI
Ykx1PXkpa2J4ZistcT1MWWlzKnZuVmwhcShYKHR4SThIY2Q2CnpuUn1GI2JxQWk5aXNwNTswZ2Rq
PDE8OFZ9UTUlMCl0QDZVaUw9ZHZJVmNuM0RDM0xTTTZEKShEeF9LSF5gVkxTWgp6b3dWSTFANndx
UUNxQnZmR1krX1F6TyYmbHk1YG9ZZGkqVGpwTUdPeTJCaCtTdFopdj9zIXk8bihFNEV8WTZ+PmQK
ejNIITRDRUpeakVKN0owTCNMT30qS1YpJWM2MFM8cmFZMm1xZzszOzZFaExsdU1xMU1EWiV+Y31l
Tm9ZIzZrVWBFCnpwKlJTYlNLUW82ZyNzUnNiNmdFfldAYmkyZX1kVmhoSmBOPlctPjl3ZWltJksk
bH19VTstZ3I+MDlGKjw4U05UPgp6QWU7M2N1Y1RYeDxQR30jJFNmJVkpPHpoKzQ3cn1UXzBSaDc9
U0UrVzlofmp1MUJze2BWaThWUDVeMFM1MUJgIXUKejg/e088czE9eG44fXRKYjYjeEUpP0lHfFNI
cVFWaXIqKENJTTBBTmlGfUtefipuZmhDQDgxM1U7bkgjIUU/ZytgCno4RSFKKEshZDZFWDRRKnlQ
RCotOXooUDtCZ18pVj9Nb1pRQWlnP3x8UEU8K00jfis0YG1ETy0oMFFiY29fSTlUWAp6SmFad0hz
YHZHViVMZmc4e3h1UmhrI2VYNk1ZU1NVRmhsdEQ8Tzl2fGNnLVIlVUBJPyszPm1CI1JzUWZfQCo9
VHAKekRROTB6YiM9WVlaMCs1KGlZaD00KWxjQHd3VFc4JE54e1RxN1ViM3p2PCE0e2xsYnshaURq
el8yVi02MnEyeyVmCnpsUzc4a3BhQF9IVXFjMHVrKHFVRm5lLU0qJGZ7OyRQdnRGUDR1YGNWKDk9
ZDk5KCpuenpYbG0laTlXZmFxVCp1dAp6b20zQUl5ZFkzYEdwY3xtO15OfTtTPm5qZFp4PCFvP3lR
em9idGsyIyVPMD5sOS0kNGsoZn5YYC15TH1NJSpFMFoKeiY7UUhtdjEqX3A8JjR0XyVHUTFXVEBA
Xn4jUSV+NiFjOTNRbEwwMDdDYmRnT2k4PlZFcnJEP0FhKCozajRfZklZCnptOFp3KWFEWm5hO3xi
SHFiLXxuTD8oSmhRRDNuRmZwZFB4fjAoZFg3UyVRY0doTm1JXkBhKV80dFA0NXpDcn1ULQp6bGJR
WlN5eX41QlhVfjIpWWFuK0JzJDBwRzgkJFNfU1p1TU1ufkJNQ2MoZGVZKEVAPFhuWjdteHh0eTVy
MT04KCsKemlmV29XTn05WXwyRm0lNXpxckExaFd1VjdDNXRTWk88TD1hREQ7WW5JN1dNaG1GZH5E
b3xTVWBNJGkhdXtkMitUCnolTE5VKzNeTnImN0dHdEhydm9TRD02WFQ1NEsrdTEpKStBQHR4OUgl
SVAmJGNSP1pobkpoLTh9KVlRfitTaDUxRgp6PWNufStTZSZtKz9RKjM1Q05NTGckZkBRVERDQmBZ
Z1VXfXA/SDZte2djSnhqKFoqV0NrVzVgSlVsdFd6NGkwXnkKemt7Tk9oPE9Bb1dnPXQ7MUQkPEJy
NTYlKDFjaH1vd0lMeDk2Y3tCeD41VTVJUjtoX31KcWJ+Rm8pVElIR2FHPz97CnorSklucFZ+e3pl
N3c+PUQ2JUE/dy1YXlFDX251TiNWWTE+Tj0oQ3d2PT9Tb2srVylrOE1qfCkyX0RgeiNaeDNaMwp6
VGF+ZTEkPW9SUlU+ZWxfQGJDZmQ5WW5FaWBrcWlRRFlTKTxjbTh9IU59bXxRJENPRjdmazNpcVZf
PFVnZmtNdjIKenNuXkEqdjdUQUdRI2hTMi1qb1N8blFjSk4/Wm17TmtmQk12KV4tV0Ara2MwazFl
PHkyTyt9QWJNNFZfRnZrbj1tCnp7Si1YPjFlPEE0VG5aUWZjWCQqaEZhSHpyU3FjbW9jcU1veWIo
Kk9jIzIlVShaVEkqMzFUSDI0byg/TDtVcHA1MAp6YTJlN2NgNjF+M0hGKGRhZzcoKGRocmIteVBS
fEVBNW01cns9M0l4KHgrc3ltN2E1MDJGaTFgPHxFWWt7WmVgSCYKelY9cjY/ZzI5KntKbH4lVjBo
RT5OVDZSUDc1MFl3Pk5ZQnNyNiRKIUVsZE8hNCtDbj5Nd31ld04hWUw0OSZXcyhUCno4OGJgZiZE
TnZkLW18d2krRzx7SGQxSUEjJDtzTHFZSGQqe3xKNUwzdFBaOWVwTHE+aWNHY0ImWH5jcFNHKGxt
Ugp6VFVhPC1IQENGLXZ9NjE7dEAyKUxOQzlHdCNjYDc5RkpIY2RJdVc9aHB+VmRQZTwpTGtDUTEx
QlZwOGwqXyUhKzUKekExJClNOTlHeFYyblJnYGdENjJTTzNSN14tSDt3c3BIUzB8PTlsZj55LTdI
RDRoJE9LNUxzPzxqYnNOT0Zxbn43CnomKml+SCl7cExlYlA5VVk2bVpwJDxkd09tJnwkb0pHZ0xJ
MUhUcEVMJTZlRWlINEIrSmQ5bX5jNylFTz10SFUxTQp6cTZVZG5eOWY/YGtxVDc2aTQhTk5LZHNw
d1Y/LXtFNyZzfiFXZGkyc3MqNE5KSUhCbkJtdD4kJGFLMkxwWCUqKXoKemtVJnckKkByQDUkKnh4
OXFSa3JhSG1DLVBKdEhmJjNmS0xNI1o7bGk7TlhKQlg7UD03I1F1UDZAcSQqRWZ9JiZsCnpZNlUl
PWtleHtKT1l0RGRtMFRNTG48fUE+Kkk7d05nWil0dmZiWUR+UlIjcT41fXJFQDJ9KjswcW8rS2F3
SUtDVQp6dGl4P19kZ3AmdTllKntPfEx6Jn1mQTJ+NXxNSShUbj40TE1rWSMrKWNMRHc8NTgoZm9G
Wj1JSHtqKmQwZHBySlQKdi15aXZWejVaVVd8SGp2aHt2TVA2fEhwKFFNMUhKeHQkRmktcjN2NHBM
a3YkQ0FJfn53Y2pOeTZqVHg8agoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZWRpdGluZy9pbnB1dC9yZXZlYWwt
Y2FyZXQtb2YtdHJhbnNmb3JtZWQtaW5wdXQtc2Nyb2xsYWJsZS1wYXJlbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZWRpdGluZy9pbnB1dC9yZXZl
YWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtaW5wdXQtc2Nyb2xsYWJsZS1wYXJlbnQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdhNTAzODcwZWMzNzZhMTA2ODZlYjFjNzJiNTViYzMzNDBmMjZlZjUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9l
ZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1pbnB1dC1zY3JvbGxhYmxl
LXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMzkgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4MTg2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHgxODYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxNzAKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDIwCisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU2OHgxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDU2ODogIldoZW4gdGhlIGNhcmV0IGlzIHNjcm9sbGVkIG91dCwgb24gc3RhcnRp
bmcgdHlwaW5nIGl0IG11c3QgYmUgYnJvdWdodCB0byB0aGUgY2VudGVyIG9mIHRoZSBjb250cm9s
LiIKK2xheWVyIGF0ICg4LDI4KSBzaXplIDMwMHgxNTAgY2xpcCBhdCAoOCwyOCkgc2l6ZSAyODV4
MTUwIHNjcm9sbFkgMTM2IHNjcm9sbEhlaWdodCA0MTkKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMjApIHNpemUgMzAweDE1MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAorbGF5ZXIgYXQgKDEwLC0xMDgpIHNpemUgMTAxeDIwNiBiYWNrZ3JvdW5kQ2xpcCBhdCAo
MTAsMjgpIHNpemUgMTAxeDcwIGNsaXAgYXQgKDExLDI4KSBzaXplIDg0eDY5IG91dGxpbmVDbGlw
IGF0ICg4LDI4KSBzaXplIDI4NXgxNTAgc2Nyb2xsWSAyNjEgc2Nyb2xsSGVpZ2h0IDk5NgorICBS
ZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDApIHNpemUgMTAxeDIwNiBbYmdjb2xv
cj0jRkZGRkZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgzLDMpIHNpemUgODB4OTkyCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAyNHg5NzYKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTY6ICIw
MCIKKyAgICAgICAgdGV4dCBydW4gYXQgKDE2LDApIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxNikgd2lkdGggMTY6ICIwMSIKKyAgICAgICAgdGV4dCBydW4gYXQgKDE2LDE2
KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzIpIHdpZHRoIDE2OiAiMDIi
CisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwzMikgd2lkdGggMDogIiAiCisgICAgICAgIHRleHQg
cnVuIGF0ICgwLDQ4KSB3aWR0aCAxNjogIjAzIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNDgp
IHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2NCkgd2lkdGggMTY6ICIwNCIK
KyAgICAgICAgdGV4dCBydW4gYXQgKDE2LDY0KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDAsODApIHdpZHRoIDE2OiAiMDUiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiw4MCkg
d2lkdGggMDogIiAiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDk2KSB3aWR0aCAxNjogIjA2Igor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsOTYpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxMTIpIHdpZHRoIDE2OiAiMDciCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwxMTIp
IHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMjgpIHdpZHRoIDE2OiAiMDgi
CisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwxMjgpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxNDQpIHdpZHRoIDE2OiAiMDkiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwx
NDQpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNjApIHdpZHRoIDE2OiAi
MTAiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwxNjApIHdpZHRoIDA6ICIgIgorICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxNzYpIHdpZHRoIDE2OiAiMTEiCisgICAgICAgIHRleHQgcnVuIGF0ICgx
NiwxNzYpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOTIpIHdpZHRoIDE2
OiAiMTIiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwxOTIpIHdpZHRoIDA6ICIgIgorICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwyMDgpIHdpZHRoIDE2OiAiMTMiCisgICAgICAgIHRleHQgcnVuIGF0
ICgxNiwyMDgpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMjQpIHdpZHRo
IDE2OiAiMTQiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwyMjQpIHdpZHRoIDA6ICIgIgorICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwyNDApIHdpZHRoIDE2OiAiMTUiCisgICAgICAgIHRleHQgcnVu
IGF0ICgxNiwyNDApIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNTYpIHdp
ZHRoIDE2OiAiMTYiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwyNTYpIHdpZHRoIDA6ICIgIgor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNzIpIHdpZHRoIDE2OiAiMTciCisgICAgICAgIHRleHQg
cnVuIGF0ICgxNiwyNzIpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyODgp
IHdpZHRoIDE2OiAiMTgiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwyODgpIHdpZHRoIDA6ICIg
IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMDQpIHdpZHRoIDE2OiAiMTkiCisgICAgICAgIHRl
eHQgcnVuIGF0ICgxNiwzMDQpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwz
MjApIHdpZHRoIDE2OiAiMjAiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwzMjApIHdpZHRoIDA6
ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMzYpIHdpZHRoIDE2OiAiMjEiCisgICAgICAg
IHRleHQgcnVuIGF0ICgxNiwzMzYpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwzNTIpIHdpZHRoIDI0OiAiPjIyIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMjQsMzUyKSB3aWR0
aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzY4KSB3aWR0aCAxNjogIjIzIgorICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTYsMzY4KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4g
YXQgKDAsMzg0KSB3aWR0aCAxNjogIjI0IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMzg0KSB3
aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNDAwKSB3aWR0aCAxNjogIjI1Igor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNDAwKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDAsNDE2KSB3aWR0aCAxNjogIjI2IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNDE2
KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNDMyKSB3aWR0aCAxNjogIjI3
IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNDMyKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4
dCBydW4gYXQgKDAsNDQ4KSB3aWR0aCAxNjogIjI4IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYs
NDQ4KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNDY0KSB3aWR0aCAxNjog
IjI5IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNDY0KSB3aWR0aCAwOiAiICIKKyAgICAgICAg
dGV4dCBydW4gYXQgKDAsNDgwKSB3aWR0aCAxNjogIjMwIgorICAgICAgICB0ZXh0IHJ1biBhdCAo
MTYsNDgwKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNDk2KSB3aWR0aCAx
NjogIjMxIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNDk2KSB3aWR0aCAwOiAiICIKKyAgICAg
ICAgdGV4dCBydW4gYXQgKDAsNTEyKSB3aWR0aCAxNjogIjMyIgorICAgICAgICB0ZXh0IHJ1biBh
dCAoMTYsNTEyKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNTI4KSB3aWR0
aCAxNjogIjMzIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNTI4KSB3aWR0aCAwOiAiICIKKyAg
ICAgICAgdGV4dCBydW4gYXQgKDAsNTQ0KSB3aWR0aCAxNjogIjM0IgorICAgICAgICB0ZXh0IHJ1
biBhdCAoMTYsNTQ0KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNTYwKSB3
aWR0aCAxNjogIjM1IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNTYwKSB3aWR0aCAwOiAiICIK
KyAgICAgICAgdGV4dCBydW4gYXQgKDAsNTc2KSB3aWR0aCAxNjogIjM2IgorICAgICAgICB0ZXh0
IHJ1biBhdCAoMTYsNTc2KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNTky
KSB3aWR0aCAxNjogIjM3IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNTkyKSB3aWR0aCAwOiAi
ICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNjA4KSB3aWR0aCAxNjogIjM4IgorICAgICAgICB0
ZXh0IHJ1biBhdCAoMTYsNjA4KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAs
NjI0KSB3aWR0aCAxNjogIjM5IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNjI0KSB3aWR0aCAw
OiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNjQwKSB3aWR0aCAxNjogIjQwIgorICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTYsNjQwKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQg
KDAsNjU2KSB3aWR0aCAxNjogIjQxIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNjU2KSB3aWR0
aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNjcyKSB3aWR0aCAxNjogIjQyIgorICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTYsNjcyKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4g
YXQgKDAsNjg4KSB3aWR0aCAxNjogIjQzIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNjg4KSB3
aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNzA0KSB3aWR0aCAxNjogIjQ0Igor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNzA0KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDAsNzIwKSB3aWR0aCAxNjogIjQ1IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNzIw
KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNzM2KSB3aWR0aCAxNjogIjQ2
IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNzM2KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4
dCBydW4gYXQgKDAsNzUyKSB3aWR0aCAxNjogIjQ3IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYs
NzUyKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNzY4KSB3aWR0aCAxNjog
IjQ4IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNzY4KSB3aWR0aCAwOiAiICIKKyAgICAgICAg
dGV4dCBydW4gYXQgKDAsNzg0KSB3aWR0aCAxNjogIjQ5IgorICAgICAgICB0ZXh0IHJ1biBhdCAo
MTYsNzg0KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsODAwKSB3aWR0aCAx
NjogIjUwIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsODAwKSB3aWR0aCAwOiAiICIKKyAgICAg
ICAgdGV4dCBydW4gYXQgKDAsODE2KSB3aWR0aCAxNjogIjUxIgorICAgICAgICB0ZXh0IHJ1biBh
dCAoMTYsODE2KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsODMyKSB3aWR0
aCAxNjogIjUyIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsODMyKSB3aWR0aCAwOiAiICIKKyAg
ICAgICAgdGV4dCBydW4gYXQgKDAsODQ4KSB3aWR0aCAxNjogIjUzIgorICAgICAgICB0ZXh0IHJ1
biBhdCAoMTYsODQ4KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsODY0KSB3
aWR0aCAxNjogIjU0IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsODY0KSB3aWR0aCAwOiAiICIK
KyAgICAgICAgdGV4dCBydW4gYXQgKDAsODgwKSB3aWR0aCAxNjogIjU1IgorICAgICAgICB0ZXh0
IHJ1biBhdCAoMTYsODgwKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsODk2
KSB3aWR0aCAxNjogIjU2IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsODk2KSB3aWR0aCAwOiAi
ICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsOTEyKSB3aWR0aCAxNjogIjU3IgorICAgICAgICB0
ZXh0IHJ1biBhdCAoMTYsOTEyKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAs
OTI4KSB3aWR0aCAxNjogIjU4IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsOTI4KSB3aWR0aCAw
OiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsOTQ0KSB3aWR0aCAxNjogIjU5IgorICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTYsOTQ0KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQg
KDAsOTYwKSB3aWR0aCAxNjogIjYwIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsOTYwKSB3aWR0
aCAwOiAiICIKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsOTc2KSBzaXplIDB4MTYKK2NhcmV0
OiBwb3NpdGlvbiA2NyBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7RElWfSBvZiB7I2Rv
Y3VtZW50LWZyYWdtZW50fSBvZiBjaGlsZCAxIHtURVhUQVJFQX0gb2YgY2hpbGQgMyB7RElWfSBv
ZiBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9l
ZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQt
ZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZWRpdGlu
Zy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtbXVsdGlsaW5lLWlucHV0LWV4cGVj
dGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zMWI0NzNlMTIyOTJiYWU2ZjVhYTlhZDIxNDRmMTJmMjEzNGFi
NTYyCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA5MTcyCnpjbWVIdGN7dFNqK3k5M2FtRUBlOT13
eiFXck5+bkR0ZXFBfFM/V1FRSnc9dmBoX1RNMyFmQUNIQTtlUztsMEVDIwp6aDlwXzFFWk5DMiM0
cnFJN18mWTEpT28oWUBBWjQwPVVtQEV6a2koVGEkIUUjRWNmVFdAN0hxUUA0MCl7KypvQUcKenR9
T19IaD94OSg7eSkyJi1FSVVDd0F+fktTOWJpZ0xtdkpkeW04WEBoVT9XVXUzcjhEKkFSXihtdm1n
TlhsWkx7CnpzakJPXlgmJTBHU1YjTnY8eDdfaXRFI3pic0pXXjcxVzMqeCRab3tzIzQpUiZYTENk
MHpqc0IzdWhRbTJlNUlsQAp6cEJ0VGNeaChhKWdkWTc+QEFAIylOY0VraiU4M1dobns9cUYjcl5E
X2x5IWJVLUYzVU03Z3BNUihNWTNrPWRyekYKenslJGBsMnBJcUoqbTxBWEwjZDVrYE9mS0VSKTEo
WFdCJW9mSUdmQXViKm1nVTcjeWFKJTZ5PGBhQjA9XjcmSDtqCnpwe18lclJ+U2I7bEorQ1dJfn5z
Z0FxM0l4Km1NWkY9YDFMVz8wI0EraC19KGxmRlFSdnxIVVFTelNAZSNXPHw5YAp6KUJVbGB1MXRl
Q3h1eSpnX1A7WXpoQVBxV0NWb2BIKUZoP35vP3clRUY8QDt2R2c9aD1SOVVrKlFvPlFZSG5kZ3QK
emNMVjlmSighKktCSjg+Q1okfDJOPjFLfGdhUlFaUz4wc1NtTlNgPDN5KENKPzVXYC1qalQyY3pe
V3JHZzJZSXVxCnp5TFJ7O0EjOzJFSEl1OTlwWTN7YkUpQDk7UlhwQm5PZFRRZXE5bEU2LSZ9NUQl
bmRYP2x1VkZvOyZORHElcUVMZQp6XmwpKDVwa0dUQG1aZWtaVCooNGFRYV5aY3FXKmVlZWIxQUZt
VnZYcWsyNT9sRk92TXRsR0xYa1k3UDdEJXo4YyYKelF6OCloeTlfQE5Dc3UhdFRVJH48LTNBRmcr
Qi00K0wmdVFtYlEjSTVYXkkxeF43PWNzRztjaUw5Pzt7a2w3TTk8CnokbTdIT2FCfWxpT1lRT293
N2MmM2E4Mn1vQ1N8bT53T0pUKVpYNz5lNDxTKXpXP29YKTU/Z3VaSjM8U2k0TUAqaAp6ekdkUn5k
aEpARjd4fFVLUW1CdDhZUTRUdVFfSzhIJUg+Kl9LZ2ZZclI5YHd2Uz40dGBIK25xS2FRY3J9ZWd0
c1MKekBkR2AoNEhfQnJ3UVl+RituJEcxaGkjLS1AUmx1elR6ZFhnZTJneCZKWCNpYCZFcHgoJkNO
andBfGZJdHhDZ3M1Cno2ZzsydlIlM1Z7UkQ+TThpOTZhWWswb1Y8R0c/Ym92YncpVmFAX0VOd2Fs
STQ9WW9EKXRFakF7WlR5bjdqZzUzbQp6NFBadTBIcUlXcT14MHBNWWt4NXF4c21LS3I4LTF8e0dH
RzZ4c0FDSmkqWG92dXxOYDdIdFNFJCRqSVFaUjtKPnkKemk/UjRhX1R7USZSaE9HXl5IPzU+KkBs
enJzfGNWeF8qcmUmdTNoM1BqP2U3K3kxVkkyNSpELWteJUxaYTV3QiN8CnpxMyUlUCs1Tk5vR2dg
K1BtR0k+Pio9dHY/OTttd1dFR0JHWEZRTHcwZytReyM3VjFtczF1YTB1d0hkdng3VFRrQwp6dS1x
d1pkdjRXS1lOKXZtYE5AeGFQbm85YkYoMnR0S1pxXz4meGZQTi1yYiFfS3wzfmBwJnFzdjkqOzRe
Xm19QkkKejxOMVpFc0hrOHJPKHAyMUhlYHkmKnl4IWdXciFOQWUlVVBsJSRINFQ5RCV8e0hXQ190
QSo5aDM+UDdMXy1+VmhaCno4QHt8d1JQUVZgTl9xST9YIVU7KD9XdyExezNFSnwjflB3dkhCdipX
TjRKIWJNd0gxNio0VFgmP3gteCs8PVZBNQp6SGdsPHsmcFhDc1E2aGxMb1NHN15WVXR4ZEp3bjx2
ZEx9U290RTE1KnlgfFFObDNKPCQ/SypUaS1FaSR3akd3I1MKekpJKkFAayRRR1lJZEd1I25rPWln
NW1KVSh4R2hfP0BLelk9MzR6QDNrPVRiU2NafDlBTGVBdUt0e3IrWihmeUlNCnpFKDZiPCN4R0py
IV5gOUpUO3RId2V5JDA2XzY/K3M8VURpUThaSVdvWiRRWGsmV2I3Mz53NDJ+WVVhQTBhR1kqdwp6
MThGSUd6QnloaHQlb3VZPDhIVzlKY0xOWmtRSlJTbHozWUUxYj0jWXZOT1hobHI+a0BzbXs0aVQp
aHZtYXp7NG8KellrR098ez9WZ0hRLWo5dGlrV05nRE89M3Z0Pnc+RyZldyNxN2BZY3FYMmtIVEN6
M0teX25TM2VCWTVAWEhPZ1ljCnowTUdsfTZvUClUNGxkTG00NTgkZjRGJWZTKnp8T3lwUnNfdDRL
fEN5OXArYXBwNExvdUFZd1JBNTQoMSNyPk1JOAp6ZnxGQ1UkIW88SVBWN3F2dnpwNUwpcmF9aV4t
Kjh4d1NoJSklTmRed1ZWPDwwaEZKRVAxaElWZlAwS0tiSFBAWU8KekJPNXdmWHJXS0hpZzgmSy1z
a1JFPGtvZ2whZU0hX01Gb0IxIyRlYnwrZGQmaCF1QExsckRRRUdLa2woMT4kOGkzCnoqQFRBc3FV
VDFidUwrfXoxNT5DM0tiQWdnd2c/TWRJTS1Kc2tHNEcoQlF4YXNiZylsVU1zS3hNamJ4Z3ZJaFJ7
RAp6ZTdiWUZkU3k4SSRkJV56NDwrVHpwRk5kcGF6R0UhMlMmSUlhKU1MTW1zYFQ7YjhONEZXaHF0
WlQ5KkAqOTRkO18KeigjR1kxb3l4Q3xpens3UlpyN2RIVkB8e3A5RytCO0QjI0FWKnl3NEUwdWxA
dWcpdD9pcklWam0pX2ZJJS16Jl5fCnprbCFsQG0hQ0Z9dj9AT3VoandzYiluPXk1O01XTlk5V2J6
PShHR1B7SXZaOzNgd2FCZ099S3c7RVJ4K1NUc2A4ewp6bGtkY3YwKGZ7TjBhZWw/Z2s7TGVAcGU4
eXBYejQoTWlifTgxYWI0UVV1cS1MOXZ4TEU4fD58VSU1IT9Qd3pqNWoKendsWChoUSt9bU0kVFVV
PnQwNkheWno3LTRfMzZ7T0QkR2J0SUM+LTs/ZUZoVHkoQW8rPD1lQ2BkVWpAfUlpTDV6CnoqdWJ5
SDBsa0JHPXA0MGNqQ01+eFFOIXlxUkxRVTlPb0ZtTEM4c0U0WXBsfSZvaDlKeXsoJUFpNzl6Nl5i
PW9ufgp6NXEtYE56Mml3JHQpfnhkPzBBPUprdDM+ezltNTwqQUgrfjdsKik+VjR0MD19YENeYUdk
KGo4MENXeT5yQkNgPzgKelpkNW5KaHM8T05FMF4hKTQyNTF9aWxsfjgzNkBhdWsxS1hUWG9jWTQ3
fU8hViNZPDJzK3I8WXZzTCM2RFgpSFhDCnppU052YEFTciFNRFB9TlRJTl4qOzkqKHJKK2RqcHdR
bkBWck9RJClWNmNNQDMlRHxAM15VKW1nSilhVjVYcSQpXgp6YDcxMCstRUU7dnYqaD9USCRLbDJT
PTdwYkc4RD8mZCQ3Yy1yJE5HclRfZGJPfDRteE0pOVM4NmVFKnZ5NWR8bWoKejdmREc7Vnt3dk5L
RjwhanpIaWVTODV8eVZxezxkSzNNbXR+YVc7K3dralBCKWxyP0NscEhTeitKZXoxQ3YrMVIhCnpm
dXZNQDB2WWFtTj1QeGFZTjlwR0lFRzU0PTdzR0Q4OUxjQ1djQEt5Xz5maURaKEZwb0MhOzY8bGtD
Tms5Pj5yWQp6ckx4KCtxUmYoI2ZWWCF4SGBNPT5OYGR3Pm1ARG9hNHhPKGlnO1Z7Uj15ayRjVSpU
PGhKQ3srIUBIT01ZOT9wNCMKelFuRTYhdlFsPj9WeXlVSHY+aWM+TDAzKjsxZVVNZUFSViVJXjY0
UiRpaVkpUFZWb2lyUzw1RyRvSlZfeU83R1U2CnpQI2w9Z2UxYUxZY0soX0AhPiNaZ2VHQmtyQ3di
Kkhha1NDWUtAfCtgZXZjRUQhJX18TG02bEUqPW4oei0tZHgjSAp6SSFre1VRci1LQGN3PnlBPy0h
JChJTGwxKXcoM18henolKy1fVWRpK0tKRHNlSiRWa0g5VllUfGdLcndNX0JBU3wKelBQfllnWDt2
YUtDekJII0xwKTtJNmw1UTY1RWZeJXJ3bUMtSlZxSk8zQDY3c1JeYl4pZ1MjWHJfYEJ5IVg2NSFJ
CnpEbXN+dT9vay1iTnNgUTRiNj1Sa1Y9PEdoaTIocnRuUnZgdnRjQWVeeTtDdH54WntUMGFZKVV8
SjI4dF4qOytaMQp6TUg7Qm5YUHt5RUt3fFdFK1hnTHJiQXFjS2IjYjctZS1SJXdPJj5pXmViN0NV
ZSFtZjV4RiY1JjRzYEpPNk44fiEKej9WMHVzcTB7c2lIZVZNVWBleUl+M1ZLUypecUphXlJeMSRX
clhncCNOZ21JeFRfKn5SfE1mKlFQQSsoJVBIMEp6Cno/fmhEeXZ4NVhSdnJldHlwdUh4enhxLTR3
a0cxWjYzPnxKfnM1KjI3KUo3RkR4e1FgM2U3TUghX3NTPWk5YTZ2YQp6P2woSDYyT3NlSExic0Uq
c0V0RUZjYW56SkhYdFFYOW45Q2B2ZHlfdHhgREk2al9edzY5MTY+Tm1HLUN+RmErKT4KelI8NXJN
PC1+b2tQZXNTalZwUTJOb1pjO0chdkMjcT01T3JVNjBnTVA+QVQxNlorcyhGUCRzcF5YTVc4QCZI
JTkqCnpPMkdkcGYwQk59JFRVZEpxQT1NRkd5WUlaODhrXm1RZ2UyPW56Y3NCeDQ+UVFfYF5oaEJo
YWg1OFErSjxydnwtRAp6T1dWOEJifCtUZUxLKiRUWXI9UD1UYXtPT2Bqb1I3LTtocXk5KUI9K1Rg
e3YhIS0zIzsjbGQwN2hQYy1LKWBLXmIKeiZ3WDd+PFVpRyg7eT5CaSM5OHdIP04xdXI7cHB1WDQz
fHhDezNMb0xPNkR5VkR5aDQqSzIxTjlLcG4wUWcqKUxfCnpvZzE0X1o3X0hgd1huSkoyQkdsMnMx
M3BXd3gzTz1aI2NtclZiRmwjay0wV2lgIT9ifSR2TztfdTw5MH1zSk5zPQp6cSZJR15RX1RueVJi
Iy00KC1UeChaQHQ1fCYlM20rQGNJZ01oIypeOFMhdVdzQTw4RTQ7SyFrUGUlWTJmSklpaSQKekg/
WHZgKCt5dSs5P1hDRldaPSFtVE57S3k0JDE9T2BlIyYxcXFSb0R7MjgtLSgxRX18eWlybD9RIy09
ZFBjTU9LCnptcT47QEV1Z3xnX3RmQmU1dj5Wai17dk89blFITT42S3VWQ1VFZ3s5b1JIeWEtUWgr
bGZBQkV6K1Y0Kk93XklSVQp6SkpubjBEc1B0YjFsOU0pdWFSbEFZJHdpNG0hKENEVWhwRkhJMUBm
KXdYamh9RipQP3ghWHBYODhXQHBMYjhENGwKeipVNVQ9NzhHfXlobDByb21BWD96RzYpXjYzVHtY
XkEzUnlpUiZvU2hMRUUmNipvNUhebVdeQn1hd0I4Q3VVOygmCnp0XyQ3VElYPkMkUnM9M1pwRUBf
ZjhlVzs5UCRWVEt7ZlhWUylRbF8pRzFCaDVLVVJAb3paakpyPH1HfH11PjNscAp6dUI0PTc+WTJh
IVhteHJ8dnxXPiRfe2I+X0NufkJUSSh4ODA4NjZPa3FlN3RJMWAtQyZAbHBke1c0OWZXRGp5Xy0K
ek5SZ1R3T0I8YE5CWUVFQiFfNXZPM2lBcSlRejwoQlppSTI8Yztpey03UEZ8dzR3Wm8jOFg5RC1g
O0ROIXNeRnlvCnpWNl5HPGcjOUxkM3QjRmE5RGBpb3F2TUQjWFF3bXFINXxyKFoxQldtYmBtQ1Im
dCpkZmlgNjxSX3oyPGxzKWFLKwp6OzdsNzB4aW57c1BxTlR2TCU7eGU0d1c3MWJGO0pkV2o7Zkwx
Yjs8dUprVUtvN1hfam96fD10MUZ4X3grMVREKkwKekJOIX02JEctTipUMTh2N09mVlFaNnBfUCNy
c0xLfHRkbkpiNXl+JGd5Ty09IWFkNCRmPDktVD1RKVM+PjF6MSN3CnpFN21Fbz45VWAyYyp2SiE1
Mjd9X2dee3hXdlZLVz80YFFTbXU+dHdQYHZmXzVXIX1Ed1J9ISU5QFBgR2huUmpQUwp6bmJsa18k
VjhCaFBVJHVVakN1UFdXKCNWKyRxZG54T0pTMz47S15EPldzLT5NOXFXKHtVT1g/I3NneGt2Vktw
Q2YKeistM1NxSCgjcS11SVhHS2RwQyU+Tlg5bkt0YjdiZWtSUT5lOWFPbV9mSypxVmR8S3EpX1hi
JGlzO0tTcHZoSDJMCno0dlJtfjBGPWI+UipUdkRiQDNjR29ScDRARWJfSCUqbD9tSWdnKWEpUTgy
OzVPTDgybWs2IXhZI2liX1BLQnUqZwp6Z3BId0Y1YS1vdHtRYHc1d2NkSDk9byt3Q2JHP1AqRllo
YndubXZaeDlCdTRUZS1hM3Mza3U7UkhHMkBiPjA7cz4KeiRFY1UoN057MjdHcHhkQU9nRzBWWU4z
WXAzajc2LWRMd0lES2IzZ2xNfC1GRCZnb2FKJjE3MzxtPnh1WFQzVDkkCnpoSzdPemFkak94R1Qo
cX43M09UdFZZbGUpIXpOTmNfKEpgK1dSe2tjYmEhPWE/TnZvOzdkb2NPSGljR1FWNmQxQwp6SFp4
bjBTSTxmTCZlQjtiN1gqK0t2XzB0bUc0KSFyOGRGN0FxITdnVCFEflV2cGckP3N0O2o0e1FAVVVF
X3leIXcKenpPNWdYQWcoc05JK3h+Q0p7cmE2Izx0dmZURkZuQyU8YWc1Jm1AJGU7VFVIKig9ZEZ0
dW5gPDE9ZCZGdTE8UGZFCnpebnshX2I3cnlmPDxWUDJtbVBAcTRUSWEoe2gka2FBPEpMb08ha3tU
UmZUYFhBTDtyTyRPfEctQktnajdubEooMQp6NzgwZlE2LXx7Nl89SXhrSnp6ZEdkJk05I1E4b3Bx
U3MkWWZtSj4tflphfSE7THdJaWBZRTxEQmIqWTw+b3RqbSoKenRveFV6SjdIaz9HYE9oSVczTl9U
azBBQjtaMy0wbmlyaChXQlpYQ24/OFVLSW43MFVpPGpKO1ZBJmRnentGfDY8CnpkUCtFPkZWUz56
YnYlWVJjMjYtNm5waEBOUSR3U3F0Vn5Od2l7Jmtqb05jd2NsZ15wM0EtP3dZdzZuN19HaSRwawp6
dkpUbSo7I2ZCJDhuNk1lK1duV1NnWTA1Kk9HM30qJnUmSyYzdGJ5QXFyeSU+YTl7b3V3UnhAYjxB
VFdYKmpqfmEKelRzQVd8SHkxcVhhMXwyPmpXZz9SbX40bTdASlB5dDZoO3ZKTyp0S0pgbih+Ukk2
M0dDIWdOTTVoUCM5cFd0PjIyCnozLSVQOG1lbGNeJGorfWgrR2AwbmpIXn0xRWgoV3hnWldaI3A5
bFdFdC1sUlhlWVdhS04tcnJjekpXJGgjZkx3WQp6TSF0JldKSlQoYkdHTmRjMVR0fEo2LTJoYDJ4
Yj5FNz51Wj5EOEdAMGs2bTN8IV42WGFnTD5FY2l6RHpOJGotNTwKemxlWWMqTDZ1ckxBRm8+aTBj
VHttP1ZiYHFxSkQoO2ltbmh1Nm4/TnBraD1CYWYxPXV5NHwxYDhUcEdEO2VVWnlMCnoqe1FCWHNG
fXpAa2g/WW8lfXNIWipBM0c+a189NTgxZHg1LSpEdSt7SXt1UyNDT0JxRlFUdEpeQDRiUHFRQDk0
ZQp6aFRZNGB7eDk3JlBNbTJBWXstQU40Z0ZIWHkmWGVDTCliLW0/MitFdmtPWEtKZzx5fm1wTmk9
V2FIYF8/Q21HWHcKeldBdSYkJXloeEQ5d0VDRysxYjRRezY0O2l5RGUmPD9lZ31IMz8oQCEzMCEo
fGF4eElTJj1wbjBgR0E9MTczKT47CnpzTTY5PnUoVDBVODxDeC0hWnYwYmNJYG1VTSpRVzxEQ2JT
UWlqeU8jQmx3cDREbUFPSDFwMUtNU35jPjtkPXMrTwp6T2ZXa0tYN0lBb1FXPFN1WFdDYzt1Jmo7
R204MS1VJUktRTUxWDxvKShFS19wPigzUHZ1c05udDhvaWFGe2pKdWAKejZed29fOShTSXtwR3Qx
KVokZWFDSHw0eV50RTUpSTIjRWMlUElmMXNiWC1uMyQ3ejVTQkM7eHBsJkBkXmFnN2RrCnokKnJp
KmJwTyg5NXNDWHJtVUF3fnZoeUUheFN8UjdFUDEkaC1CdCZ2P2F+d31LUCRfXyF7YjhuKXBNZ0pX
QGN2Sgp6N2JfMVJLREAwVmdRI0JLb2IlQDUjZnVle20xazFCSzdUJU1Ye2xEYjFnVmNLK3ImQiEj
b1h+dj4kVFZNTTc+UmoKelJufWAhMDs8MXcrTHQ3Tl9gWjlrUCstOE4jak16Wk1uNF5FbEw2ZWB5
byhARkk7YkI3YEU2czhWSDYlN1BIWG5WCnoqWXR4KEB2WiZNU1Y1JXp3I3FLQnokVHNRQ084PChZ
cnEwVmRMMm5MXj80QnVRYCFtKWQlPz99ajhUPHlyNGk0Pgp6a2UlWEh4OUNLcmt9RUNvUCk0QmQ8
cUJIKCU4KFk9NzY3QTlle29pTmBWfUwkXisqKXBWSU8hYT9peioxOFIyb3IKekRwKjJ+NV4qc3V8
SW1kdTZIbztvQTBMXlVid0tESjZtNlM4ZHBZYlM1YFd7OTwyRjh6UypiKTFVVD9JdmFpRktuCnpo
ZlJTVE11JFEmd1lTP2dAeHo5TmxZJjxKPHMoPnpKQy1wSSl6ZHsmYE5JKzQhJjFERlQzQCpXOTdK
YTw2QVdEcwp6PyhxYCUyel8oMiZLdTxCeE1WR3F2VkdzamtHYDt1ZlJAMmI+NWx3ZGVvV3d8JVVr
eVgrfj8xcXBfQU47YGUyeSMKemduPVZjOXReXkYtcU88NDZ2eHh9byhEKklxbypuMi0xfiNBMn5Z
P2NqYyR0VkA5KzJZXnhQT0VnRSpIamlNIzlyCnprQHphYTd2ZXU1K3BXT1ZAPCkoKy12SjNMUWQ+
TVIhKTMwJkIre0B3U3hkIWRDdnRQfEc1azhweEdYT1NDK0dWOQp6ZnpIPFl0JFB3cEdacUB6TEl1
c2FMZGJgdWxXRlBYPTdYX0slZkcoenFYOzAyUlZPemdLTEM+Z0wkSlJJfEY9NUIKenI+a19SaGZo
MjwmTTs1dUA5TUhAM3FjVSNObjRZRGt+filwYz5WU1c+a0hxPSpObzE4QjxxKS1WfUNNQjVxVTI3
CnpQalVZKj8zMTRCTThxc2tHPlBwdXtjIW1SYyhheFM2O2R0PHpfQEtRZlUpTGtAZn5rWFVEUitE
JTxpcEU1NXFfVAp6KjR7cF8/QEgoajc1ZERxUV9oNm5UPntBU3I9VVJhN0FZd3lnb0BMKyVWMjk5
OTJ7PXpaYnd1Zll8N2J3PmNQVFcKejhSUjJZRms2QUV4ZVluMUE3TEgke3s4enA4M0U5eV8yKWV4
TnFxJF8kOSlLQ1g9ITxSZDVzJUFsSmV7Y2VvSz5XCno+a01gd3MkSkd9bW8lVSU4TENjSDVeSjh3
ITx8dVhhd30zJlFVZGROVXFWRyR1T3VyZ3RHYz9ISzxIRG5MeVFYbAp6ZjJJRVFkdTw3cEZ1YTgr
MnFPbT8/ZTFgMTxSTGU9ezlrPGhKI1RSVkQ/P35ma19QM09mNGola3Q1NVlxMUFXTUEKemJjKCEx
c3Zodjc+MyhxZW0wYEBxSV9kNG0mUmVoN1VWYSltNCkhcXk0K2FtKj5BfCpMaFA2N2l3LTZIZGY5
NnFvCnopPHhqdmk8OGNBZmg3R0V6SlpFdWY9K0xgb01EPVh2LT4oYit1Q2k3bFQma1ZocWNQQylg
SjIhX2NWZHZjNldDPgp6VV4jVGEhYEx9dj17VCZTQDRIUjxUYWFhUXV1bnlKJmc+bUFeSG80ODZY
cihQOG54cE1pNCQmSUheX1lKbklxfEsKenNyb0Vmc2tiVlg2JkdKRj5jYl4jWGxpY3phdSZTTm1t
TjdCdXo7IytaKkwhNWdvKUFra3lONGBlQD0pSmtAUmJrCnptWF92QXJrWDRgJWlzOyEjbjtFKk85
TyVrV0xRODBMP2AyK0dUYnhEMWk5cTQoJkZOLW8qb3Mpcy1PaXZlO2tPZwp6P2d4YDBwPUB0a1Jn
PDJjVVJmRlg8KG9HQ05vVzV7WXlSVnNidzMyKzw+bUc1WUB2eClJMFh5TmQ/IU8jKzswfSEKenpp
Y2F0ezRRVGB4e34lQFF1cFo1NHQyOW0qcilBWEwyb1lWbis1NUhUXmtKP1NHcT85WWBuaypmR2xv
NnFORV80CnpSUSp0eFNOdk9HbW9pLUJaaD9+bmZXbUN+ez12QCNgayZiQHt0Kmd1OFZie0daRjZu
N05+YTlBSEMkTHc4PF5tSgp6K3s/YlEyWUhVWl9vNWhQQjdQfUExNWoxOF9wcDBLZnYpMGBgRj9a
MzhMOW9xazhVIV9pQCVVTVhxaDJyQCZAUXUKelNmeSRLK3wrXkw5R0R8KGpuXlNqNnxWKW9WNmhx
PGBzanQqeVdmNmZZT1I7dHdRRGlvPmZ6NjdadUw8ajVSb2JGCnprOGtNa2BGSUw0YFdse0pjV1hu
cGNQV19sPEMxUWgyPWdeOF5QfCYkY3h4dWhIR08hejdmeEVAPzY1cX1paiFaewp6SntWWGI+b3Fr
UFB9Sks7X2FteDUxPll8eTJJfmllQ3l8ZnhASGp9MkwzV2U9VXAzYSk7eDdBUnJ3akwrYnZ9MU4K
emtWb3NvRiZuYXQmNEUmRyVCJXFgOE4zRmVIITgkJSNhfFEpMC1UfTsxPmtAdj1YNzIqcWFUUih0
cD1xaDl9a25+CnpveX1yRTVVfT0hOFZZIzw/U0kmQWRqKjsoKlMyc0Ipfn0+fGZIOSFsdUpCVFc5
alpEbVcxMnM0KXZWMU5kLWVtZQp6R2J1emc9ZFBJaWBRUXVQRDRqIWslTzgpISpzcnRwSEVvSG5Z
M31ZKmFDWUVsKiMxblhDX0NIaF9ZQkJsLXRhbXYKemMtK2w/VG5BWmhPSGBCcHIpZ3dNJmpnUkho
OFMoPTxgenpZQmpCeXw1UzdkNy1yV187WDVhbzstdkctPUlLc0k4Cno+NzwxOWExT1hQPVNnc0hr
NCs8MD8wYnArNHBTO2JDWGRTUCkyZzk4akNraHB3NGN7cztvOG9jZUFTZSZtOVpQQwp6LUpTaURF
b15UXzJ0R1Y3M3oxJitgdTxtOUQlTGlMUUhLe2V5Xmw2RTgzTzw2VmNOZlQ8bzVUb3teQzZIQDh0
WlEKem9QWGlpYHJvVGY3PWl8YDtUcmBQYFFIV2olaFVGTXVkeDNQXilLaCR6ayZFfjB6P0srQWsk
TGlmRnxZRkgyOWhoCk9Wc2deX01CWHBYeEJkJHVWdUd5egoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZWRpdGlu
Zy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtbXVsdGlsaW5lLWlucHV0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2VkaXRpbmcvaW5w
dXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTg2ZWUzYzE2YjUxYzE1NDEzMDA4ZTEzMjNjYWM0ZTQ0ZGQwZTAyMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Vk
aXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3OSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHgyMTEKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDIxMQorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDE5NQorICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNTY4eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
NTY4OiAiV2hlbiB0aGUgY2FyZXQgaXMgc2Nyb2xsZWQgb3V0LCBvbiBzdGFydGluZyB0eXBpbmcg
aXQgbXVzdCBiZSBicm91Z2h0IHRvIHRoZSBjZW50ZXIgb2YgdGhlIGNvbnRyb2wuIgorICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMjApIHNpemUgNzg0eDE3NQorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMTAsMzApIHNpemUgMTAxeDE2NiBj
bGlwIGF0ICgxMSwzMSkgc2l6ZSA4NHgxNjQgc2Nyb2xsWSAxMjEgc2Nyb2xsSGVpZ2h0IDUxNgor
ICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIpIHNpemUgMTAxeDE2NiBbYmdj
b2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgODB4NTEyCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAyNHg0OTYKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTY6
ICIwMCIKKyAgICAgICAgdGV4dCBydW4gYXQgKDE2LDApIHdpZHRoIDA6ICIgIgorICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxNikgd2lkdGggMTY6ICIwMSIKKyAgICAgICAgdGV4dCBydW4gYXQgKDE2
LDE2KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzIpIHdpZHRoIDE2OiAi
MDIiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwzMikgd2lkdGggMDogIiAiCisgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDQ4KSB3aWR0aCAxNjogIjAzIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYs
NDgpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2NCkgd2lkdGggMTY6ICIw
NCIKKyAgICAgICAgdGV4dCBydW4gYXQgKDE2LDY0KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4
dCBydW4gYXQgKDAsODApIHdpZHRoIDE2OiAiMDUiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiw4
MCkgd2lkdGggMDogIiAiCisgICAgICAgIHRleHQgcnVuIGF0ICgwLDk2KSB3aWR0aCAxNjogIjA2
IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsOTYpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxMTIpIHdpZHRoIDE2OiAiMDciCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwx
MTIpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMjgpIHdpZHRoIDE2OiAi
MDgiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwxMjgpIHdpZHRoIDA6ICIgIgorICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxNDQpIHdpZHRoIDE2OiAiMDkiCisgICAgICAgIHRleHQgcnVuIGF0ICgx
NiwxNDQpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNjApIHdpZHRoIDE2
OiAiMTAiCisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwxNjApIHdpZHRoIDA6ICIgIgorICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwxNzYpIHdpZHRoIDE2OiAiMTEiCisgICAgICAgIHRleHQgcnVuIGF0
ICgxNiwxNzYpIHdpZHRoIDA6ICIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOTIpIHdpZHRo
IDI0OiAiPjEyIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMjQsMTkyKSB3aWR0aCAwOiAiICIKKyAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMjA4KSB3aWR0aCAxNjogIjEzIgorICAgICAgICB0ZXh0IHJ1
biBhdCAoMTYsMjA4KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMjI0KSB3
aWR0aCAxNjogIjE0IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMjI0KSB3aWR0aCAwOiAiICIK
KyAgICAgICAgdGV4dCBydW4gYXQgKDAsMjQwKSB3aWR0aCAxNjogIjE1IgorICAgICAgICB0ZXh0
IHJ1biBhdCAoMTYsMjQwKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMjU2
KSB3aWR0aCAxNjogIjE2IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMjU2KSB3aWR0aCAwOiAi
ICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMjcyKSB3aWR0aCAxNjogIjE3IgorICAgICAgICB0
ZXh0IHJ1biBhdCAoMTYsMjcyKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAs
Mjg4KSB3aWR0aCAxNjogIjE4IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMjg4KSB3aWR0aCAw
OiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzA0KSB3aWR0aCAxNjogIjE5IgorICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTYsMzA0KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQg
KDAsMzIwKSB3aWR0aCAxNjogIjIwIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMzIwKSB3aWR0
aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzM2KSB3aWR0aCAxNjogIjIxIgorICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTYsMzM2KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4g
YXQgKDAsMzUyKSB3aWR0aCAxNjogIjIyIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMzUyKSB3
aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzY4KSB3aWR0aCAxNjogIjIzIgor
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMzY4KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMzg0KSB3aWR0aCAxNjogIjI0IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMzg0
KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNDAwKSB3aWR0aCAxNjogIjI1
IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNDAwKSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4
dCBydW4gYXQgKDAsNDE2KSB3aWR0aCAxNjogIjI2IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYs
NDE2KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNDMyKSB3aWR0aCAxNjog
IjI3IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNDMyKSB3aWR0aCAwOiAiICIKKyAgICAgICAg
dGV4dCBydW4gYXQgKDAsNDQ4KSB3aWR0aCAxNjogIjI4IgorICAgICAgICB0ZXh0IHJ1biBhdCAo
MTYsNDQ4KSB3aWR0aCAwOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsNDY0KSB3aWR0aCAx
NjogIjI5IgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsNDY0KSB3aWR0aCAwOiAiICIKKyAgICAg
ICAgdGV4dCBydW4gYXQgKDAsNDgwKSB3aWR0aCAxNjogIjMwIgorICAgICAgICB0ZXh0IHJ1biBh
dCAoMTYsNDgwKSB3aWR0aCAwOiAiICIKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsNDk2KSBz
aXplIDB4MTYKK2NhcmV0OiBwb3NpdGlvbiAzNyBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQg
MCB7RElWfSBvZiB7I2RvY3VtZW50LWZyYWdtZW50fSBvZiBjaGlsZCAzIHtURVhUQVJFQX0gb2Yg
Ym9keQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182900</attachid>
            <date>2013-01-15 18:42:05 -0800</date>
            <delta_ts>2013-01-16 15:39:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105574-20130115183907.patch</filename>
            <type>text/plain</type>
            <size>10788</size>
            <attacher name="Chris Hopman">cjhopman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODgxNmExMmE4NjgyYTMy
YTk2OWMzZjhkYmNjYjNjOGYxYjMyMzBjYy4uNzJkM2Y5NmM0OWU5NTVkYTMzMTFiNTUxN2VmMzVl
MDUyZGJlNGQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAxLTE1ICBDaHJp
cyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0
VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHNjcm9sbGluZyB0byByZXZlYWwg
YW4gb3ZlcmZsb3cgbGF5ZXIsIHRoZSByZXF1aXJlZCBzY3JvbGwgd2FzCisgICAgICAgIGJlaW5n
IGNhbGN1bGF0ZWQgaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXMuIFRvIHByb3Blcmx5IGFjY291bnQg
Zm9yCisgICAgICAgIHRyYW5zZm9ybXMsIHRoaXMgY2FsY3VsYXRpb24gc2hvdWxkIGJlIGRvbmUg
aW4gdGhlIGxvY2FsIGNvb3JkaW5hdGVzCisgICAgICAgIG9mIHRoZSByZW5kZXJCb3guCisKKyAg
ICAgICAgVGVzdHM6IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC1v
dmVyZmxvdy1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9pbnB1dC9yZXZlYWwt
c2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLmh0bWwKKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZSk6CisgICAgICAgIFdoZW4gc2Nyb2xsaW5nIHRvIHJldmVhbCBhbiBvdmVy
ZmxvdyBsYXllciwgY2FsY3VsYXRlIHRoZSByZXF1aXJlZAorICAgICAgICBzY3JvbGwgaW4gdGhl
IGxvY2FsIGNvb3JkaW5hdGVzIG9mIHRoZSBSZW5kZXJCb3guCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFic29s
dXRlVG9Mb2NhbFF1YWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oOgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKyAgICAgICAgQWRkIGZ1
bmN0aW9uIHRvIGNvbnZlcnQgYW4gYWJzb2x1dGUgcXVhZCB0byBhIGxvY2FsIHF1YWQuCisKIDIw
MTMtMDEtMTEgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIG9m
ZnNldFdpZHRoL2hlaWdodCBpbmNvcnJlY3QgZm9yIGltYWdlcyB3aGVuIHpvb21lZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggNWMyODQxNmY3YmQ0ODUxY2Rk
Y2JjZDYzOWFlYmQ0MjMyMGNmMDkyNi4uZGY2ZjVmNWRiMzA1NjBlNTgyNDM3MTIxMWNjNjZlYWVi
YzA3NTA1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0y
MTMyLDIxICsyMTMyLDE3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUo
Y29uc3QgTGF5b3V0UmVjdCYgcmVjdCwgY29uc3QgU2Nyb2xsQWxpZ25tCiAgICAgICAgIC8vIFRo
aXMgd2lsbCBwcmV2ZW50IHVzIGZyb20gcmV2ZWFsaW5nIHRleHQgaGlkZGVuIGJ5IHRoZSBzbGlk
ZXIgaW4gU2FmYXJpIFJTUy4KICAgICAgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsK
ICAgICAgICAgQVNTRVJUKGJveCk7Ci0gICAgICAgIEZsb2F0UG9pbnQgYWJzUG9zID0gYm94LT5s
b2NhbFRvQWJzb2x1dGUoKTsKLSAgICAgICAgYWJzUG9zLm1vdmUoYm94LT5ib3JkZXJMZWZ0KCks
IGJveC0+Ym9yZGVyVG9wKCkpOworICAgICAgICBMYXlvdXRSZWN0IGxvY2FsRXhwb3NlUmVjdChi
b3gtPmFic29sdXRlVG9Mb2NhbFF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChyZWN0KSksIFVzZVRy
YW5zZm9ybXMpLmJvdW5kaW5nQm94KCkpOworICAgICAgICBMYXlvdXRSZWN0IGxheWVyQm91bmRz
KDAsIDAsIGJveC0+Y2xpZW50V2lkdGgoKSwgYm94LT5jbGllbnRIZWlnaHQoKSk7CisgICAgICAg
IExheW91dFJlY3QgciA9IGdldFJlY3RUb0V4cG9zZShsYXllckJvdW5kcywgbG9jYWxFeHBvc2VS
ZWN0LCBhbGlnblgsIGFsaWduWSk7CiAKLSAgICAgICAgTGF5b3V0UmVjdCBsYXllckJvdW5kcyA9
IExheW91dFJlY3QoYWJzUG9zLngoKSArIHNjcm9sbFhPZmZzZXQoKSwgYWJzUG9zLnkoKSArIHNj
cm9sbFlPZmZzZXQoKSwgYm94LT5jbGllbnRXaWR0aCgpLCBib3gtPmNsaWVudEhlaWdodCgpKTsK
LSAgICAgICAgTGF5b3V0UmVjdCBleHBvc2VSZWN0ID0gTGF5b3V0UmVjdChyZWN0LngoKSArIHNj
cm9sbFhPZmZzZXQoKSwgcmVjdC55KCkgKyBzY3JvbGxZT2Zmc2V0KCksIHJlY3Qud2lkdGgoKSwg
cmVjdC5oZWlnaHQoKSk7Ci0gICAgICAgIExheW91dFJlY3QgciA9IGdldFJlY3RUb0V4cG9zZShs
YXllckJvdW5kcywgZXhwb3NlUmVjdCwgYWxpZ25YLCBhbGlnblkpOwotICAgICAgICAKLSAgICAg
ICAgaW50IHJvdW5kZWRBZGp1c3RlZFggPSByb3VuZFRvSW50KHIueCgpIC0gYWJzUG9zLngoKSk7
Ci0gICAgICAgIGludCByb3VuZGVkQWRqdXN0ZWRZID0gcm91bmRUb0ludChyLnkoKSAtIGFic1Bv
cy55KCkpOwotICAgICAgICBJbnRTaXplIGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9s
bE9mZnNldChJbnRTaXplKHJvdW5kZWRBZGp1c3RlZFgsIHJvdW5kZWRBZGp1c3RlZFkpKTsKKyAg
ICAgICAgSW50U2l6ZSBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBTY3JvbGxPZmZzZXQoc2Ny
b2xsT2Zmc2V0KCkgKyB0b0ludFNpemUocm91bmRlZEludFJlY3QocikubG9jYXRpb24oKSkpOwog
ICAgICAgICBpZiAoY2xhbXBlZFNjcm9sbE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSkgewogICAg
ICAgICAgICAgSW50U2l6ZSBvbGRTY3JvbGxPZmZzZXQgPSBzY3JvbGxPZmZzZXQoKTsKICAgICAg
ICAgICAgIHNjcm9sbFRvT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZzZXQpOwogICAgICAgICAgICAg
SW50U2l6ZSBzY3JvbGxPZmZzZXREaWZmZXJlbmNlID0gc2Nyb2xsT2Zmc2V0KCkgLSBvbGRTY3Jv
bGxPZmZzZXQ7Ci0gICAgICAgICAgICBuZXdSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldERpZmZlcmVu
Y2UpOworICAgICAgICAgICAgbG9jYWxFeHBvc2VSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldERpZmZl
cmVuY2UpOworICAgICAgICAgICAgbmV3UmVjdCA9IExheW91dFJlY3QoYm94LT5sb2NhbFRvQWJz
b2x1dGVRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QobG9jYWxFeHBvc2VSZWN0KSksIFVzZVRyYW5z
Zm9ybXMpLmJvdW5kaW5nQm94KCkpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmICghcGFyZW50
TGF5ZXIgJiYgcmVuZGVyZXIoKS0+aXNCb3goKSAmJiByZW5kZXJCb3goKS0+Y2FuQmVQcm9ncmFt
YXRpY2FsbHlTY3JvbGxlZCgpKSB7CiAgICAgICAgIGlmIChmcmFtZVZpZXcpIHsKQEAgLTIxNzMs
NiArMjE2OSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3Qg
TGF5b3V0UmVjdCYgcmVjdCwgY29uc3QgU2Nyb2xsQWxpZ25tCiAgICAgICAgICAgICAgICAgICAg
IGZyYW1lVmlldy0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoeE9mZnNldCwgeU9mZnNldCkp
OwogICAgICAgICAgICAgICAgICAgICBpZiAoZnJhbWVWaWV3LT5zYWZlVG9Qcm9wYWdhdGVTY3Jv
bGxUb1BhcmVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRMYXllciA9IG93
bmVyRWxlbWVudC0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgY29ycmVjdGx5IGNvbnZlcnQgdGhlIHJl
Y3QgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFic29sdXRlIGNvb3JkaW5hdGVzIGlu
IHRoZSBwYXJlbnQuCiAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSZWN0LnNldFgocmVjdC54
KCkgLSBmcmFtZVZpZXctPnNjcm9sbFgoKSArIGZyYW1lVmlldy0+eCgpKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIG5ld1JlY3Quc2V0WShyZWN0LnkoKSAtIGZyYW1lVmlldy0+c2Nyb2xsWSgp
ICsgZnJhbWVWaWV3LT55KCkpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggODAwMTc5OGZhZjNmNWEyNTEw
MDhhYTc5OGM3ZTU1ZmVhNTRiZjY2NC4uZjU3YWRlMzEwMzM3NTE4OGVmMTk2YTFkZWRiNWFhNDkx
YjYyMGM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAg
LTIwNjEsNiArMjA2MSwxNCBAQCBGbG9hdFBvaW50IFJlbmRlck9iamVjdDo6YWJzb2x1dGVUb0xv
Y2FsKGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRhaW5lclBvaW50LCBNYXBDbwogICAgIHJldHVybiB0
cmFuc2Zvcm1TdGF0ZS5sYXN0UGxhbmFyUG9pbnQoKTsKIH0KIAorRmxvYXRRdWFkIFJlbmRlck9i
amVjdDo6YWJzb2x1dGVUb0xvY2FsUXVhZChjb25zdCBGbG9hdFF1YWQmIHF1YWQsIE1hcENvb3Jk
aW5hdGVzRmxhZ3MgbW9kZSkgY29uc3QKK3sKKyAgICBUcmFuc2Zvcm1TdGF0ZSB0cmFuc2Zvcm1T
dGF0ZShUcmFuc2Zvcm1TdGF0ZTo6VW5hcHBseUludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24sIHF1
YWQuYm91bmRpbmdCb3goKS5jZW50ZXIoKSwgcXVhZCk7CisgICAgbWFwQWJzb2x1dGVUb0xvY2Fs
UG9pbnQobW9kZSwgdHJhbnNmb3JtU3RhdGUpOworICAgIHRyYW5zZm9ybVN0YXRlLmZsYXR0ZW4o
KTsKKyAgICByZXR1cm4gdHJhbnNmb3JtU3RhdGUubGFzdFBsYW5hclF1YWQoKTsKK30KKwogdm9p
ZCBSZW5kZXJPYmplY3Q6Om1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmIHRyYW5zZm9ybVN0YXRl
LCBNYXBDb29yZGluYXRlc0ZsYWdzIG1vZGUsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdAogewogICAg
IGlmIChyZXBhaW50Q29udGFpbmVyID09IHRoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgKaW5kZXggYjg2NGM0ODMyMjZjMGU4MzRkMGJjYTZmMTgzNTYyMDMxZjBjNmI1
Ni4uYjdjOTY1NzNiZjdjMGYzMGFkZTAxNTViNWZlNTAxOWNhNDlmYzRhOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNzIzLDYgKzcyMyw4IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgICAgIHJldHVybiBsb2NhbFRvQ29udGFpbmVyUXVhZChxdWFkLCAwLCBtb2Rl
LCB3YXNGaXhlZCk7CiAgICAgfQorICAgIC8vIENvbnZlcnQgYW4gYWJzb2x1dGUgcXVhZCB0byBs
b2NhbCBjb29yZGluYXRlcy4KKyAgICBGbG9hdFF1YWQgYWJzb2x1dGVUb0xvY2FsUXVhZChjb25z
dCBGbG9hdFF1YWQmLCBNYXBDb29yZGluYXRlc0ZsYWdzIG1vZGUgPSAwKSBjb25zdDsKIAogICAg
IC8vIENvbnZlcnQgYSBsb2NhbCBxdWFkIGludG8gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIG9mIGNv
bnRhaW5lciwgdGFraW5nIHRyYW5zZm9ybXMgaW50byBhY2NvdW50LgogICAgIEZsb2F0UXVhZCBs
b2NhbFRvQ29udGFpbmVyUXVhZChjb25zdCBGbG9hdFF1YWQmLCBjb25zdCBSZW5kZXJMYXllck1v
ZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBNYXBDb29yZGluYXRlc0ZsYWdzID0gMCwgYm9v
bCogd2FzRml4ZWQgPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NDQ0YTYxZThhMGFlNmQ0Zjg1NGRkODBh
OTcyZTNkZWVkYWI5YzZlLi44ZTNkODEwNWFlZjQ3MzM4MWZhMTFhYTlhZGYxMGIwMGUzYTM1OWZj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDEtMTQgIENocmlzIEhvcG1hbiAgPGNqaG9w
bWFuQGdvb2dsZS5jb20+CisKKyAgICAgICAgRml4IHNjcm9sbFJlY3RUb1Zpc2libGUgaW4gdGhl
IHByZXNlbmNlIG9mIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNTU3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3Jt
ZWQtaW5wdXQtc2Nyb2xsYWJsZS1wYXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtaW5wdXQtc2Nyb2xsYWJsZS1wYXJl
bnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgVGVzdCB0aGF0IHdoZW4gc2Nyb2xsaW5n
IGFuIG92ZXJmbG93IGxheWVyIHRvIHJldmVhbCBhIHJlY3QsIHRoZSByZWN0CisgICAgICAgIHBh
c3NlZCB0byB0aGUgcGFyZW50IHRvIHNjcm9sbCBpcyBjYWxjdWxhdGVkIHByb3Blcmx5LgorICAg
ICAgICAqIGVkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRpbGlu
ZS1pbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3JldmVhbC1jYXJl
dC1vZi10cmFuc2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgVGVzdCB0aGF0IHNjcm9sbGluZyB0byByZXZlYWwgYSByZWN0IHdvcmtzIHByb3Blcmx5
IG9uIGEgdHJhbnNmb3JtZWQKKyAgICAgICAgb3ZlcmZsb3cgbGF5ZXIuCisKKwogMjAxMy0wMS0x
NCAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
LWVuYWJsaW5nIHRoZSBTS19ESVNBQkxFX0RBU0hJTkdfT1BUSU1JWkFUSU9OIGZsYWcgZm9yIFNr
aWEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9m
LXRyYW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLWlucHV0LXNj
cm9sbGFibGUtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5YTQzMWFkMDI3
MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtaW5wdXQtc2Nyb2xsYWJs
ZS1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLWlucHV0
LXNjcm9sbGFibGUtcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVh
bC1jYXJldC1vZi10cmFuc2Zvcm1lZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNjZDYwOTJhYjA5MTAwOTk5MDg5ZTc4ZDAwZGIzYWM3ZjdmMTRiNjMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFu
c2Zvcm1lZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJyZXNvdXJjZXMvcmV2ZWFsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+V2hlbiB0aGUgY2FyZXQgaXMgc2Nyb2xsZWQgb3V0LCBvbiBzdGFydGluZyB0eXBp
bmcgaXQgbXVzdCBiZSBicm91Z2h0IHRvIHRoZSBjZW50ZXIgb2YgdGhlIGNvbnRyb2wuPC9kaXY+
Cis8ZGl2IHN0eWxlPSJvdmVyZmxvdzphdXRvOyBoZWlnaHQ6MTUwcHg7IHdpZHRoOjMwMHB4Ij4K
Kzx0ZXh0YXJlYSBuYW1lPSJ0ZXh0YXJlYSIgaWQ9InRleHRhcmVhIiByb3dzPSIxMCIgY29scz0i
MTAiCisgIHN0eWxlPSItd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTEwcHgsIDExMHB4KSBz
Y2FsZSgyKTsgaGVpZ2h0OjIwMHB4Ij48L3RleHRhcmVhPgorPGRpdiBzdHlsZT0iaGVpZ2h0OjEw
MDBweCI+PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciB0ZXh0QXJlYSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXh0YXJlYSIpOwordGV4dEFyZWEudGV4dENvbnRlbnQgPSBnZW5l
cmF0ZU51bWJlcnMoMCwgNTAwLCAyLCAiXG4iKTsKK3RleHRBcmVhLmZvY3VzKCk7Cit0ZXh0QXJl
YS5zZWxlY3Rpb25TdGFydCA9IDEyMDA7CitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAg
ZXZlbnRTZW5kZXIua2V5RG93bigiPiIpOworICAgIC8vIElmIHRoZSBwYXJlbnROb2RlJ3Mgc2Ny
b2xsVG9wIGlzIGdyZWF0ZXIgdGhhbiA1MDAsIHRoZW4gdGhlIHRleHRhcmVhCisgICAgLy8gaXNu
J3QgZXZlbiB2aXNpYmxlLgorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gdGV4dGFyZWEu
cGFyZW50Tm9kZS5zY3JvbGxUb3AgPCA2MDAgPyAiUEFTUyIgOiAiRkFJTCI7Cit9CisKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorCis8
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQv
cmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1t
dWx0aWxpbmUtaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcy
NzEzYjcxZmRjODc5NDAxNmM4ZWYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1
dC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNm
b3JtZWQtbXVsdGlsaW5lLWlucHV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2UyMTg5MDkzZDNkMGU5OTky
YWVjYmU2ODA4MDFmMmM4NjczNjg0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC5o
dG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvcmV2ZWFsLXV0aWxpdGllcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+V2hlbiB0aGUgY2FyZXQgaXMgc2Nyb2xs
ZWQgb3V0LCBvbiBzdGFydGluZyB0eXBpbmcgaXQgbXVzdCBiZSBicm91Z2h0IHRvIHRoZSBjZW50
ZXIgb2YgdGhlIGNvbnRyb2wuPC9kaXY+Cis8dGV4dGFyZWEgbmFtZT0idGV4dGFyZWEiIGlkPSJ0
ZXh0YXJlYSIgcm93cz0iMTAiIGNvbHM9IjEwIiBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06cm90
YXRlKDE4MGRlZykiPjwvdGV4dGFyZWE+Cis8c2NyaXB0PgorCit2YXIgdGV4dEFyZWEgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dGFyZWEiKTsKK3RleHRBcmVhLnRleHRDb250ZW50ID0g
Z2VuZXJhdGVOdW1iZXJzKDAsIDMwLCAyLCAiXG4iKTsKK3RleHRBcmVhLmZvY3VzKCk7Cit0ZXh0
QXJlYS5zZWxlY3Rpb25TdGFydCA9IDM2OworaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAg
IGV2ZW50U2VuZGVyLmtleURvd24oIj4iKTsKKyAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
IHRleHRhcmVhLnNjcm9sbFRvcCA+IDAgPyAiUEFTUyIgOiAiRkFJTCI7Cit9CisKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorCis8L3Nj
cmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183045</attachid>
            <date>2013-01-16 15:39:24 -0800</date>
            <delta_ts>2013-01-18 13:01:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105574-20130116153625.patch</filename>
            <type>text/plain</type>
            <size>13275</size>
            <attacher name="Chris Hopman">cjhopman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5OTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc1Nzk0YTIzYjczYzU4
YzkzOTU4MjUyODllZGM2ZTJiYTkxNzBmNi4uNzZhNzc2NDE4NzEyODlhNDBlYWM1ZGY4NzM2NGE2
ZDg0NDA3OTgyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAxLTE1ICBDaHJp
cyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0
VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHNjcm9sbGluZyB0byByZXZlYWwg
YW4gb3ZlcmZsb3cgbGF5ZXIsIHRoZSByZXF1aXJlZCBzY3JvbGwgd2FzCisgICAgICAgIGJlaW5n
IGNhbGN1bGF0ZWQgaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXMuIFRvIHByb3Blcmx5IGFjY291bnQg
Zm9yCisgICAgICAgIHRyYW5zZm9ybXMsIHRoaXMgY2FsY3VsYXRpb24gc2hvdWxkIGJlIGRvbmUg
aW4gdGhlIGxvY2FsIGNvb3JkaW5hdGVzCisgICAgICAgIG9mIHRoZSByZW5kZXJCb3guCisKKyAg
ICAgICAgVGVzdHM6IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC1v
dmVyZmxvdy1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9pbnB1dC9yZXZlYWwt
c2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLmh0bWwKKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZSk6CisgICAgICAgIFdoZW4gc2Nyb2xsaW5nIHRvIHJldmVhbCBhbiBvdmVy
ZmxvdyBsYXllciwgY2FsY3VsYXRlIHRoZSByZXF1aXJlZAorICAgICAgICBzY3JvbGwgaW4gdGhl
IGxvY2FsIGNvb3JkaW5hdGVzIG9mIHRoZSBSZW5kZXJCb3guCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFic29s
dXRlVG9Mb2NhbFF1YWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oOgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKyAgICAgICAgQWRkIGZ1
bmN0aW9uIHRvIGNvbnZlcnQgYW4gYWJzb2x1dGUgcXVhZCB0byBhIGxvY2FsIHF1YWQuCisKIDIw
MTMtMDEtMTYgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAg
IEZpeCBhIGNyYXNoIHdoZW4gcHJpbnRpbmcgY29uc29sZSBtZXNzYWdlcyB0byBTVERPVVQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA0ZTY4ZThlYTg5ZmE1
ZmJjMWUwMDljNzU3ZTdlMjE0MmE0MDk3ZjQyLi5mNTViOWEzZjBlZDViZjQzMDcxMThkNDhjODhj
NzMwNjY4NzYyYzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
QEAgLTIxMzMsMjEgKzIxMzMsMTcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0KICAgICAgICAg
Ly8gVGhpcyB3aWxsIHByZXZlbnQgdXMgZnJvbSByZXZlYWxpbmcgdGV4dCBoaWRkZW4gYnkgdGhl
IHNsaWRlciBpbiBTYWZhcmkgUlNTLgogICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJv
eCgpOwogICAgICAgICBBU1NFUlQoYm94KTsKLSAgICAgICAgRmxvYXRQb2ludCBhYnNQb3MgPSBi
b3gtPmxvY2FsVG9BYnNvbHV0ZSgpOwotICAgICAgICBhYnNQb3MubW92ZShib3gtPmJvcmRlckxl
ZnQoKSwgYm94LT5ib3JkZXJUb3AoKSk7CisgICAgICAgIExheW91dFJlY3QgbG9jYWxFeHBvc2VS
ZWN0KGJveC0+YWJzb2x1dGVUb0xvY2FsUXVhZChGbG9hdFF1YWQoRmxvYXRSZWN0KHJlY3QpKSwg
VXNlVHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7CisgICAgICAgIExheW91dFJlY3QgbGF5ZXJC
b3VuZHMoMCwgMCwgYm94LT5jbGllbnRXaWR0aCgpLCBib3gtPmNsaWVudEhlaWdodCgpKTsKKyAg
ICAgICAgTGF5b3V0UmVjdCByID0gZ2V0UmVjdFRvRXhwb3NlKGxheWVyQm91bmRzLCBsb2NhbEV4
cG9zZVJlY3QsIGFsaWduWCwgYWxpZ25ZKTsKIAotICAgICAgICBMYXlvdXRSZWN0IGxheWVyQm91
bmRzID0gTGF5b3V0UmVjdChhYnNQb3MueCgpICsgc2Nyb2xsWE9mZnNldCgpLCBhYnNQb3MueSgp
ICsgc2Nyb2xsWU9mZnNldCgpLCBib3gtPmNsaWVudFdpZHRoKCksIGJveC0+Y2xpZW50SGVpZ2h0
KCkpOwotICAgICAgICBMYXlvdXRSZWN0IGV4cG9zZVJlY3QgPSBMYXlvdXRSZWN0KHJlY3QueCgp
ICsgc2Nyb2xsWE9mZnNldCgpLCByZWN0LnkoKSArIHNjcm9sbFlPZmZzZXQoKSwgcmVjdC53aWR0
aCgpLCByZWN0LmhlaWdodCgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCByID0gZ2V0UmVjdFRvRXhw
b3NlKGxheWVyQm91bmRzLCBleHBvc2VSZWN0LCBhbGlnblgsIGFsaWduWSk7Ci0gICAgICAgIAot
ICAgICAgICBpbnQgcm91bmRlZEFkanVzdGVkWCA9IHJvdW5kVG9JbnQoci54KCkgLSBhYnNQb3Mu
eCgpKTsKLSAgICAgICAgaW50IHJvdW5kZWRBZGp1c3RlZFkgPSByb3VuZFRvSW50KHIueSgpIC0g
YWJzUG9zLnkoKSk7Ci0gICAgICAgIEludFNpemUgY2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1w
U2Nyb2xsT2Zmc2V0KEludFNpemUocm91bmRlZEFkanVzdGVkWCwgcm91bmRlZEFkanVzdGVkWSkp
OworICAgICAgICBJbnRTaXplIGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9mZnNl
dChzY3JvbGxPZmZzZXQoKSArIHRvSW50U2l6ZShyb3VuZGVkSW50UmVjdChyKS5sb2NhdGlvbigp
KSk7CiAgICAgICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9sbE9mZnNldCgpKSB7
CiAgICAgICAgICAgICBJbnRTaXplIG9sZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwog
ICAgICAgICAgICAgc2Nyb2xsVG9PZmZzZXQoY2xhbXBlZFNjcm9sbE9mZnNldCk7CiAgICAgICAg
ICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBzY3JvbGxPZmZzZXQoKSAtIG9s
ZFNjcm9sbE9mZnNldDsKLSAgICAgICAgICAgIG5ld1JlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0RGlm
ZmVyZW5jZSk7CisgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0
RGlmZmVyZW5jZSk7CisgICAgICAgICAgICBuZXdSZWN0ID0gTGF5b3V0UmVjdChib3gtPmxvY2Fs
VG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKEZsb2F0UmVjdChsb2NhbEV4cG9zZVJlY3QpKSwgVXNl
VHJhbnNmb3JtcykuYm91bmRpbmdCb3goKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCFw
YXJlbnRMYXllciAmJiByZW5kZXJlcigpLT5pc0JveCgpICYmIHJlbmRlckJveCgpLT5jYW5CZVBy
b2dyYW1hdGljYWxseVNjcm9sbGVkKCkpIHsKICAgICAgICAgaWYgKGZyYW1lVmlldykgewpAQCAt
MjE3NCw2ICsyMTcwLDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShj
b25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBTY3JvbGxBbGlnbm0KICAgICAgICAgICAgICAg
ICAgICAgZnJhbWVWaWV3LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh4T2Zmc2V0LCB5T2Zm
c2V0KSk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChmcmFtZVZpZXctPnNhZmVUb1Byb3BhZ2F0
ZVNjcm9sbFRvUGFyZW50KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudExheWVy
ID0gb3duZXJFbGVtZW50LT5yZW5kZXJlcigpLT5lbmNsb3NpbmdMYXllcigpOworICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBjb3JyZWN0bHkgY29udmVydCB0
aGUgcmVjdCB0bworICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWJzb2x1dGUgY29vcmRpbmF0
ZXMgaW4gdGhlIHBhcmVudC4KICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JlY3Quc2V0WChy
ZWN0LngoKSAtIGZyYW1lVmlldy0+c2Nyb2xsWCgpICsgZnJhbWVWaWV3LT54KCkpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgbmV3UmVjdC5zZXRZKHJlY3QueSgpIC0gZnJhbWVWaWV3LT5zY3Jv
bGxZKCkgKyBmcmFtZVZpZXctPnkoKSk7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA3NjhhODg2YWIxZjZm
ZWUyMWJiNzgzZGI4ZmJlMDg5OWIyYjRkOGFkLi4yZGYyZjE1MDdlYWNkZDYyZjE4OWIzMWYwODJi
NjRhZTk5M2ExZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cApAQCAtMjA2MSw2ICsyMDYxLDE0IEBAIEZsb2F0UG9pbnQgUmVuZGVyT2JqZWN0OjphYnNvbHV0
ZVRvTG9jYWwoY29uc3QgRmxvYXRQb2ludCYgY29udGFpbmVyUG9pbnQsIE1hcENvCiAgICAgcmV0
dXJuIHRyYW5zZm9ybVN0YXRlLmxhc3RQbGFuYXJQb2ludCgpOwogfQogCitGbG9hdFF1YWQgUmVu
ZGVyT2JqZWN0OjphYnNvbHV0ZVRvTG9jYWxRdWFkKGNvbnN0IEZsb2F0UXVhZCYgcXVhZCwgTWFw
Q29vcmRpbmF0ZXNGbGFncyBtb2RlKSBjb25zdAoreworICAgIFRyYW5zZm9ybVN0YXRlIHRyYW5z
Zm9ybVN0YXRlKFRyYW5zZm9ybVN0YXRlOjpVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVjdGlv
biwgcXVhZC5ib3VuZGluZ0JveCgpLmNlbnRlcigpLCBxdWFkKTsKKyAgICBtYXBBYnNvbHV0ZVRv
TG9jYWxQb2ludChtb2RlLCB0cmFuc2Zvcm1TdGF0ZSk7CisgICAgdHJhbnNmb3JtU3RhdGUuZmxh
dHRlbigpOworICAgIHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5sYXN0UGxhbmFyUXVhZCgpOworfQor
CiB2b2lkIFJlbmRlck9iamVjdDo6bWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYgdHJhbnNmb3Jt
U3RhdGUsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSwgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiB7
CiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIgPT0gdGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAppbmRleCBjOGUxMTYzNzk2ZjFjOGUyMGViZTk5YjhjYzMzN2VhMTY2
ZTNjZTAxLi4zMmVlOGFjMjQ1ZWMyMmZjYjdlYzA0MTQ2YzU2OTRhMjNiYmQ3YjVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC03MjMsNiArNzIzLDggQEAgcHVi
bGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGxvY2FsVG9Db250YWluZXJRdWFkKHF1YWQsIDAs
IG1vZGUsIHdhc0ZpeGVkKTsKICAgICB9CisgICAgLy8gQ29udmVydCBhbiBhYnNvbHV0ZSBxdWFk
IHRvIGxvY2FsIGNvb3JkaW5hdGVzLgorICAgIEZsb2F0UXVhZCBhYnNvbHV0ZVRvTG9jYWxRdWFk
KGNvbnN0IEZsb2F0UXVhZCYsIE1hcENvb3JkaW5hdGVzRmxhZ3MgbW9kZSA9IDApIGNvbnN0Owog
CiAgICAgLy8gQ29udmVydCBhIGxvY2FsIHF1YWQgaW50byB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0g
b2YgY29udGFpbmVyLCB0YWtpbmcgdHJhbnNmb3JtcyBpbnRvIGFjY291bnQuCiAgICAgRmxvYXRR
dWFkIGxvY2FsVG9Db250YWluZXJRdWFkKGNvbnN0IEZsb2F0UXVhZCYsIGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIE1hcENvb3JkaW5hdGVzRmxhZ3MgPSAw
LCBib29sKiB3YXNGaXhlZCA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRiNTU4YmYwMjM1MmViYTgzZjVk
Y2Y1ZTA5OGEzNGQ2MDU5ZjQ1N2YuLjUyYzA1ZWM3ZmJmNjQyODQwMGZiMWFiMTRkYTM0YjJhOWU2
OWQ3YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMy0wMS0xNCAgQ2hyaXMgSG9wbWFuICA8
Y2pob3BtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBGaXggc2Nyb2xsUmVjdFRvVmlzaWJsZSBp
biB0aGUgcHJlc2VuY2Ugb2YgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFu
c2Zvcm1lZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1pbnB1dC1zY3JvbGxhYmxl
LXBhcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICBUZXN0IHRoYXQgd2hlbiBzY3Jv
bGxpbmcgYW4gb3ZlcmZsb3cgbGF5ZXIgdG8gcmV2ZWFsIGEgcmVjdCwgdGhlIHJlY3QKKyAgICAg
ICAgcGFzc2VkIHRvIHRoZSBwYXJlbnQgdG8gc2Nyb2xsIGlzIGNhbGN1bGF0ZWQgcHJvcGVybHku
CisgICAgICAgICogZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtbXVs
dGlsaW5lLWlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvaW5wdXQvcmV2ZWFs
LWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICBUZXN0IHRoYXQgc2Nyb2xsaW5nIHRvIHJldmVhbCBhIHJlY3Qgd29ya3MgcHJv
cGVybHkgb24gYSB0cmFuc2Zvcm1lZAorICAgICAgICBvdmVyZmxvdyBsYXllci4KKworICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDEtMTYgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMzk4NTMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVh
bC1jYXJldC1vZi10cmFuc2Zvcm1lZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1l
ZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2VmMjJl
OWE0MzFhZDAyNzI3MTNiNzFmZGM4Nzk0MDE2YzhlZjEyZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLWlucHV0
LXNjcm9sbGFibGUtcGFyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zv
cm1lZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9p
bnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtaW5wdXQtc2Nyb2xsYWJsZS1wYXJlbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jY2Q2MDkyYWIwOTEwMDk5OTA4OWU3OGQwMGRiM2FjN2Y3ZjE0YjYz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtY2Fy
ZXQtb2YtdHJhbnNmb3JtZWQtaW5wdXQtc2Nyb2xsYWJsZS1wYXJlbnQuaHRtbApAQCAtMCwwICsx
LDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0icmVzb3VyY2VzL3JldmVhbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PldoZW4gdGhlIGNhcmV0IGlzIHNjcm9sbGVkIG91dCwgb24gc3Rh
cnRpbmcgdHlwaW5nIGl0IG11c3QgYmUgYnJvdWdodCB0byB0aGUgY2VudGVyIG9mIHRoZSBjb250
cm9sLjwvZGl2PgorPGRpdiBzdHlsZT0ib3ZlcmZsb3c6YXV0bzsgaGVpZ2h0OjE1MHB4OyB3aWR0
aDozMDBweCI+Cis8dGV4dGFyZWEgbmFtZT0idGV4dGFyZWEiIGlkPSJ0ZXh0YXJlYSIgcm93cz0i
MTAiIGNvbHM9IjEwIgorICBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDExMHB4
LCAxMTBweCkgc2NhbGUoMik7IGhlaWdodDoyMDBweCI+PC90ZXh0YXJlYT4KKzxkaXYgc3R5bGU9
ImhlaWdodDoxMDAwcHgiPjwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorCit2YXIgdGV4dEFyZWEg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dGFyZWEiKTsKK3RleHRBcmVhLnRleHRDb250
ZW50ID0gZ2VuZXJhdGVOdW1iZXJzKDAsIDUwMCwgMiwgIlxuIik7Cit0ZXh0QXJlYS5mb2N1cygp
OwordGV4dEFyZWEuc2VsZWN0aW9uU3RhcnQgPSAxMjAwOworaWYgKHdpbmRvdy5ldmVudFNlbmRl
cikgeworICAgIGV2ZW50U2VuZGVyLmtleURvd24oIj4iKTsKKyAgICAvLyBJZiB0aGUgcGFyZW50
Tm9kZSdzIHNjcm9sbFRvcCBpcyBncmVhdGVyIHRoYW4gNTAwLCB0aGVuIHRoZSB0ZXh0YXJlYQor
ICAgIC8vIGlzbid0IGV2ZW4gdmlzaWJsZS4KKyAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
IHRleHRhcmVhLnBhcmVudE5vZGUuc2Nyb2xsVG9wIDwgNjAwID8gIlBBU1MiIDogIkZBSUwiOwor
fQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJh
bnNmb3JtZWQtbXVsdGlsaW5lLWlucHV0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5
YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtbXVsdGls
aW5lLWlucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1tdWx0
aWxpbmUtaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0
LW9mLXRyYW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlMjE4OTA5
M2QzZDBlOTk5MmFlY2JlNjgwODAxZjJjODY3MzY4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1tdWx0aWxp
bmUtaW5wdXQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3VyY2VzL3JldmVhbC11dGls
aXRpZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PldoZW4gdGhlIGNhcmV0
IGlzIHNjcm9sbGVkIG91dCwgb24gc3RhcnRpbmcgdHlwaW5nIGl0IG11c3QgYmUgYnJvdWdodCB0
byB0aGUgY2VudGVyIG9mIHRoZSBjb250cm9sLjwvZGl2PgorPHRleHRhcmVhIG5hbWU9InRleHRh
cmVhIiBpZD0idGV4dGFyZWEiIHJvd3M9IjEwIiBjb2xzPSIxMCIgc3R5bGU9Ii13ZWJraXQtdHJh
bnNmb3JtOnJvdGF0ZSgxODBkZWcpIj48L3RleHRhcmVhPgorPHNjcmlwdD4KKwordmFyIHRleHRB
cmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRhcmVhIik7Cit0ZXh0QXJlYS50ZXh0
Q29udGVudCA9IGdlbmVyYXRlTnVtYmVycygwLCAzMCwgMiwgIlxuIik7Cit0ZXh0QXJlYS5mb2N1
cygpOwordGV4dEFyZWEuc2VsZWN0aW9uU3RhcnQgPSAzNjsKK2lmICh3aW5kb3cuZXZlbnRTZW5k
ZXIpIHsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCI+Iik7CisgICAgZG9jdW1lbnQuYm9keS5p
bm5lckhUTUwgPSB0ZXh0YXJlYS5zY3JvbGxUb3AgPiAwID8gIlBBU1MiIDogIkZBSUwiOworfQor
CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
K30KKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyYTVjMmUzYmI0YmVjNzRkOGUyYzg1N2E2NDAyNDI1
NzNjYzBjYWI0Li42ZWU5Yzc4NTFmMTIxNTI5NDhmN2ZmNGU3ZjhiMjM3MGYzNDVkZjg2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQz
ODMsMyArNDM4MywxMSBAQCB3ZWJraXQub3JnL2IvMTA3MDMzIFsgRGVidWcgXSBmYXN0L2ZyYW1l
cy92YWxpZC5odG1sIFsgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzEwNzAzMyBbIERlYnVnIF0gZmFz
dC9ldmVudHMvZm9ybS1pZnJhbWUtdGFyZ2V0LWJlZm9yZS1sb2FkLWNyYXNoLmh0bWwgWyBDcmFz
aCBdCiB3ZWJraXQub3JnL2IvMTA3MDMzIFsgRGVidWcgXSBmYXN0L2V2ZW50cy9iZWZvcmUtdW5s
b2FkLXdpdGgtc3ViZnJhbWVzLmh0bWwgWyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTA3MDMzIFsg
RGVidWcgXSBmYXN0L2Nzcy9zdHlsZXNoZWV0LWVuYWJsZS1maXJzdC1hbHRlcm5hdGUtbGluay5o
dG1sIFsgQ3Jhc2ggXQorCisjIE5lZWRzIHJlYmFzZWxpbmUuCit3ZWJraXQub3JnL2IvMTA1NTc0
IGVkaXRpbmcvaW5wdXQvY2FyZXQtYXQtdGhlLWVkZ2Utb2YtY29udGVudGVkaXRhYmxlLmh0bWwg
WyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDU1NzQgZWRpdGluZy9pbnB1dC9yZXZlYWwtY2Fy
ZXQtb2YtbXVsdGlsaW5lLWNvbnRlbnRlZGl0YWJsZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQu
b3JnL2IvMTA1NTc0IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLW11bHRpbGluZS1pbnB1
dC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA1NTc0IHBsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvZm9ybXMvc3VnZ2VzdGlvbi1waWNrZXIvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1hcHBl
YXJhbmNlLXdpdGgtc2Nyb2xsLWJhci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQu
b3JnL2IvMTA1NTc0IHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvc3VnZ2VzdGlvbi1waWNr
ZXIvbW9udGgtc3VnZ2VzdGlvbi1waWNrZXItYXBwZWFyYW5jZS13aXRoLXNjcm9sbC1iYXIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTU3NCBwbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2Zvcm1zL3N1Z2dlc3Rpb24tcGlja2VyL3dlZWstc3VnZ2VzdGlvbi1waWNrZXIt
YXBwZWFyYW5jZS13aXRoLXNjcm9sbC1iYXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4YzJhYjc2NmUwZjA3
ZDJjODQzMTlhMjdjYmMwMDEzZWI4ZjBmYzUzLi5iMGIwM2M4Yzk0ODY0ZTY4NDA5ZTJhNTEwMWIw
YmEzMGIxNjUyM2ZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTI4OCwzICsxMjg4LDkgQEAgd2Via2l0Lm9yZy9iLzEwMzk1NSBmYXN0L3JlcGFpbnQv
amFwYW5lc2Utcmwtc2VsZWN0aW9uLXJlcGFpbnQuaHRtbCBbIEltYWdlT25seUYKIHdlYmtpdC5v
cmcvYi8xMDM5NTUgZmFzdC9yZXBhaW50L3JlcGFpbnQtYWNyb3NzLXdyaXRpbmctbW9kZS1ib3Vu
ZGFyeS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTAzOTU1IGZhc3Qv
cmVwYWludC9zZWxlY3Rpb24tcmwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzEwMzk1NSBmYXN0L3JlcGFpbnQvY2FyZXQtd2l0aC10cmFuc2Zvcm1hdGlvbi5odG1sIFsg
TWlzc2luZyBdCisKKyMgTmVlZHMgcmViYXNlbGluZS4KK3dlYmtpdC5vcmcvYi8xMDU1NzQgZWRp
dGluZy9pbnB1dC9jYXJldC1hdC10aGUtZWRnZS1vZi1jb250ZW50ZWRpdGFibGUuaHRtbCBbIEZh
aWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTU3NCBlZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1v
Zi1tdWx0aWxpbmUtY29udGVudGVkaXRhYmxlLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi8xMDU1NzQgZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtbXVsdGlsaW5lLWlucHV0Lmh0
bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDU1NzQgZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1kaXYtb3ZlcmZsb3ctc2Nyb2wtaGlkZGVuLmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183534</attachid>
            <date>2013-01-18 13:01:20 -0800</date>
            <delta_ts>2013-01-18 13:45:51 -0800</delta_ts>
            <desc>Rebase :(</desc>
            <filename>bug-105574-20130118125819.patch</filename>
            <type>text/plain</type>
            <size>13587</size>
            <attacher name="Chris Hopman">cjhopman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzE4NWZjNDQ5ZWQ5N2Iw
YTQ3MDU5MjEyMjZiYTNhYTBlMTg5MjA4MS4uMzdjYzNiZGI3MDIyODUxNDEzYmVhZDhlYmUwZDUy
OWVmYTkzMjY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAxLTE4ICBDaHJp
cyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0
VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHNjcm9sbGluZyB0byByZXZlYWwg
YW4gb3ZlcmZsb3cgbGF5ZXIsIHRoZSByZXF1aXJlZCBzY3JvbGwgd2FzCisgICAgICAgIGJlaW5n
IGNhbGN1bGF0ZWQgaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXMuIFRvIHByb3Blcmx5IGFjY291bnQg
Zm9yCisgICAgICAgIHRyYW5zZm9ybXMsIHRoaXMgY2FsY3VsYXRpb24gc2hvdWxkIGJlIGRvbmUg
aW4gdGhlIGxvY2FsIGNvb3JkaW5hdGVzCisgICAgICAgIG9mIHRoZSByZW5kZXJCb3guCisKKyAg
ICAgICAgVGVzdHM6IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLXNlbGVjdGlvbi10cmFuc2Zvcm1lZC1v
dmVyZmxvdy1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9pbnB1dC9yZXZlYWwt
c2VsZWN0aW9uLXRyYW5zZm9ybWVkLXRleHRhcmVhLmh0bWwKKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZSk6CisgICAgICAgIFdoZW4gc2Nyb2xsaW5nIHRvIHJldmVhbCBhbiBvdmVy
ZmxvdyBsYXllciwgY2FsY3VsYXRlIHRoZSByZXF1aXJlZAorICAgICAgICBzY3JvbGwgaW4gdGhl
IGxvY2FsIGNvb3JkaW5hdGVzIG9mIHRoZSBSZW5kZXJCb3guCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFic29s
dXRlVG9Mb2NhbFF1YWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oOgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKyAgICAgICAgQWRkIGZ1
bmN0aW9uIHRvIGNvbnZlcnQgYW4gYWJzb2x1dGUgcXVhZCB0byBhIGxvY2FsIHF1YWQuCisKIDIw
MTMtMDEtMTggIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWFrIEdDIG1hcHMgc2hvdWxkIGJlIGVhc2llciB0byB1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDY5YTJjNzhiOTA1MGViOTdjMTUzOGIxYzI5NzkxOTdk
NTUwNTU2ZTMuLjc5OTBlNDNjNjQxNDk3OGQzYTcxNzRmMGVmNzlmOWZhMzYyYmEyZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjE0MiwyMSArMjE0Miwx
NyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJl
Y3QmIHJlY3QsIGNvbnN0IFNjcm9sbEFsaWdubQogICAgICAgICAvLyBUaGlzIHdpbGwgcHJldmVu
dCB1cyBmcm9tIHJldmVhbGluZyB0ZXh0IGhpZGRlbiBieSB0aGUgc2xpZGVyIGluIFNhZmFyaSBS
U1MuCiAgICAgICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgICAgIEFTU0VS
VChib3gpOwotICAgICAgICBGbG9hdFBvaW50IGFic1BvcyA9IGJveC0+bG9jYWxUb0Fic29sdXRl
KCk7Ci0gICAgICAgIGFic1Bvcy5tb3ZlKGJveC0+Ym9yZGVyTGVmdCgpLCBib3gtPmJvcmRlclRv
cCgpKTsKKyAgICAgICAgTGF5b3V0UmVjdCBsb2NhbEV4cG9zZVJlY3QoYm94LT5hYnNvbHV0ZVRv
TG9jYWxRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3QocmVjdCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3Vu
ZGluZ0JveCgpKTsKKyAgICAgICAgTGF5b3V0UmVjdCBsYXllckJvdW5kcygwLCAwLCBib3gtPmNs
aWVudFdpZHRoKCksIGJveC0+Y2xpZW50SGVpZ2h0KCkpOworICAgICAgICBMYXlvdXRSZWN0IHIg
PSBnZXRSZWN0VG9FeHBvc2UobGF5ZXJCb3VuZHMsIGxvY2FsRXhwb3NlUmVjdCwgYWxpZ25YLCBh
bGlnblkpOwogCi0gICAgICAgIExheW91dFJlY3QgbGF5ZXJCb3VuZHMgPSBMYXlvdXRSZWN0KGFi
c1Bvcy54KCkgKyBzY3JvbGxYT2Zmc2V0KCksIGFic1Bvcy55KCkgKyBzY3JvbGxZT2Zmc2V0KCks
IGJveC0+Y2xpZW50V2lkdGgoKSwgYm94LT5jbGllbnRIZWlnaHQoKSk7Ci0gICAgICAgIExheW91
dFJlY3QgZXhwb3NlUmVjdCA9IExheW91dFJlY3QocmVjdC54KCkgKyBzY3JvbGxYT2Zmc2V0KCks
IHJlY3QueSgpICsgc2Nyb2xsWU9mZnNldCgpLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkp
OwotICAgICAgICBMYXlvdXRSZWN0IHIgPSBnZXRSZWN0VG9FeHBvc2UobGF5ZXJCb3VuZHMsIGV4
cG9zZVJlY3QsIGFsaWduWCwgYWxpZ25ZKTsKLSAgICAgICAgCi0gICAgICAgIGludCByb3VuZGVk
QWRqdXN0ZWRYID0gcm91bmRUb0ludChyLngoKSAtIGFic1Bvcy54KCkpOwotICAgICAgICBpbnQg
cm91bmRlZEFkanVzdGVkWSA9IHJvdW5kVG9JbnQoci55KCkgLSBhYnNQb3MueSgpKTsKLSAgICAg
ICAgSW50U2l6ZSBjbGFtcGVkU2Nyb2xsT2Zmc2V0ID0gY2xhbXBTY3JvbGxPZmZzZXQoSW50U2l6
ZShyb3VuZGVkQWRqdXN0ZWRYLCByb3VuZGVkQWRqdXN0ZWRZKSk7CisgICAgICAgIEludFNpemUg
Y2xhbXBlZFNjcm9sbE9mZnNldCA9IGNsYW1wU2Nyb2xsT2Zmc2V0KHNjcm9sbE9mZnNldCgpICsg
dG9JbnRTaXplKHJvdW5kZWRJbnRSZWN0KHIpLmxvY2F0aW9uKCkpKTsKICAgICAgICAgaWYgKGNs
YW1wZWRTY3JvbGxPZmZzZXQgIT0gc2Nyb2xsT2Zmc2V0KCkpIHsKICAgICAgICAgICAgIEludFNp
emUgb2xkU2Nyb2xsT2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0KCk7CiAgICAgICAgICAgICBzY3JvbGxU
b09mZnNldChjbGFtcGVkU2Nyb2xsT2Zmc2V0KTsKICAgICAgICAgICAgIEludFNpemUgc2Nyb2xs
T2Zmc2V0RGlmZmVyZW5jZSA9IHNjcm9sbE9mZnNldCgpIC0gb2xkU2Nyb2xsT2Zmc2V0OwotICAg
ICAgICAgICAgbmV3UmVjdC5tb3ZlKC1zY3JvbGxPZmZzZXREaWZmZXJlbmNlKTsKKyAgICAgICAg
ICAgIGxvY2FsRXhwb3NlUmVjdC5tb3ZlKC1zY3JvbGxPZmZzZXREaWZmZXJlbmNlKTsKKyAgICAg
ICAgICAgIG5ld1JlY3QgPSBMYXlvdXRSZWN0KGJveC0+bG9jYWxUb0Fic29sdXRlUXVhZChGbG9h
dFF1YWQoRmxvYXRSZWN0KGxvY2FsRXhwb3NlUmVjdCkpLCBVc2VUcmFuc2Zvcm1zKS5ib3VuZGlu
Z0JveCgpKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoIXBhcmVudExheWVyICYmIHJlbmRl
cmVyKCktPmlzQm94KCkgJiYgcmVuZGVyQm94KCktPmNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xs
ZWQoKSkgewogICAgICAgICBpZiAoZnJhbWVWaWV3KSB7CkBAIC0yMTgzLDYgKzIxNzksOCBAQCB2
b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIHJl
Y3QsIGNvbnN0IFNjcm9sbEFsaWdubQogICAgICAgICAgICAgICAgICAgICBmcmFtZVZpZXctPnNl
dFNjcm9sbFBvc2l0aW9uKEludFBvaW50KHhPZmZzZXQsIHlPZmZzZXQpKTsKICAgICAgICAgICAg
ICAgICAgICAgaWYgKGZyYW1lVmlldy0+c2FmZVRvUHJvcGFnYXRlU2Nyb2xsVG9QYXJlbnQoKSkg
ewogICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50TGF5ZXIgPSBvd25lckVsZW1lbnQtPnJl
bmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCk7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBG
SVhNRTogVGhpcyBkb2Vzbid0IGNvcnJlY3RseSBjb252ZXJ0IHRoZSByZWN0IHRvCisgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBhYnNvbHV0ZSBjb29yZGluYXRlcyBpbiB0aGUgcGFyZW50Lgog
ICAgICAgICAgICAgICAgICAgICAgICAgbmV3UmVjdC5zZXRYKHJlY3QueCgpIC0gZnJhbWVWaWV3
LT5zY3JvbGxYKCkgKyBmcmFtZVZpZXctPngoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBu
ZXdSZWN0LnNldFkocmVjdC55KCkgLSBmcmFtZVZpZXctPnNjcm9sbFkoKSArIGZyYW1lVmlldy0+
eSgpKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGY1NjAwMTE1ZTE2Y2I5MzYyYzY3YmVkYzFlZDZjMjJl
MzcyNDBkNzAuLmQ1YmNmMjJiMDQ1YmJkOGQ3OGVmNmJkZDVlMzdlNTU4YjNjYjVlMTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yMDUwLDYgKzIwNTAs
MTQgQEAgRmxvYXRQb2ludCBSZW5kZXJPYmplY3Q6OmFic29sdXRlVG9Mb2NhbChjb25zdCBGbG9h
dFBvaW50JiBjb250YWluZXJQb2ludCwgTWFwQ28KICAgICByZXR1cm4gdHJhbnNmb3JtU3RhdGUu
bGFzdFBsYW5hclBvaW50KCk7CiB9CiAKK0Zsb2F0UXVhZCBSZW5kZXJPYmplY3Q6OmFic29sdXRl
VG9Mb2NhbFF1YWQoY29uc3QgRmxvYXRRdWFkJiBxdWFkLCBNYXBDb29yZGluYXRlc0ZsYWdzIG1v
ZGUpIGNvbnN0Cit7CisgICAgVHJhbnNmb3JtU3RhdGUgdHJhbnNmb3JtU3RhdGUoVHJhbnNmb3Jt
U3RhdGU6OlVuYXBwbHlJbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uLCBxdWFkLmJvdW5kaW5nQm94
KCkuY2VudGVyKCksIHF1YWQpOworICAgIG1hcEFic29sdXRlVG9Mb2NhbFBvaW50KG1vZGUsIHRy
YW5zZm9ybVN0YXRlKTsKKyAgICB0cmFuc2Zvcm1TdGF0ZS5mbGF0dGVuKCk7CisgICAgcmV0dXJu
IHRyYW5zZm9ybVN0YXRlLmxhc3RQbGFuYXJRdWFkKCk7Cit9CisKIHZvaWQgUmVuZGVyT2JqZWN0
OjptYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgTWFwQ29vcmRpbmF0
ZXNGbGFncyBtb2RlLCBib29sKiB3YXNGaXhlZCkgY29uc3QKIHsKICAgICBpZiAocmVwYWludENv
bnRhaW5lciA9PSB0aGlzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmlu
ZGV4IDY1YjI3ZjFmMmJmYjJlMmNiMDg2ZWRhYWYxZWE4ZDFjMjIwZjBlZWQuLjNiZjE3MjFiYTg4
ZTRjMDc1NTlmNzg0ODc0YWM2MmE5NjlhNWUxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmgKQEAgLTczNCw2ICs3MzQsOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAg
ICByZXR1cm4gbG9jYWxUb0NvbnRhaW5lclF1YWQocXVhZCwgMCwgbW9kZSwgd2FzRml4ZWQpOwog
ICAgIH0KKyAgICAvLyBDb252ZXJ0IGFuIGFic29sdXRlIHF1YWQgdG8gbG9jYWwgY29vcmRpbmF0
ZXMuCisgICAgRmxvYXRRdWFkIGFic29sdXRlVG9Mb2NhbFF1YWQoY29uc3QgRmxvYXRRdWFkJiwg
TWFwQ29vcmRpbmF0ZXNGbGFncyBtb2RlID0gMCkgY29uc3Q7CiAKICAgICAvLyBDb252ZXJ0IGEg
bG9jYWwgcXVhZCBpbnRvIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiBjb250YWluZXIsIHRha2lu
ZyB0cmFuc2Zvcm1zIGludG8gYWNjb3VudC4KICAgICBGbG9hdFF1YWQgbG9jYWxUb0NvbnRhaW5l
clF1YWQoY29uc3QgRmxvYXRRdWFkJiwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lciwgTWFwQ29vcmRpbmF0ZXNGbGFncyA9IDAsIGJvb2wqIHdhc0ZpeGVkID0g
MCkgY29uc3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNzQyYWMyZTkyYmM1ZTMxNjdjNjk0YmQzMzg3ZTQ5MDYxYzU5NjY5
YS4uNWJmMTE1NTUwMmZjNzQyNzNjZWYzNDFhOWVjNTBmOWU4NzdlNGMzMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIyIEBACisyMDEzLTAxLTE4ICBDaHJpcyBIb3BtYW4gIDxjamhvcG1hbkBnb29nbGUuY29t
PgorCisgICAgICAgIEZpeCBzY3JvbGxSZWN0VG9WaXNpYmxlIGluIHRoZSBwcmVzZW5jZSBvZiB0
cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDU1NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGVkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLWlucHV0LXNjcm9s
bGFibGUtcGFyZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvaW5wdXQvcmV2ZWFs
LWNhcmV0LW9mLXRyYW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFyZW50LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgIFRlc3QgdGhhdCB3aGVuIHNjcm9sbGluZyBhbiBvdmVyZmxvdyBs
YXllciB0byByZXZlYWwgYSByZWN0LCB0aGUgcmVjdAorICAgICAgICBwYXNzZWQgdG8gdGhlIHBh
cmVudCB0byBzY3JvbGwgaXMgY2FsY3VsYXRlZCBwcm9wZXJseS4KKyAgICAgICAgKiBlZGl0aW5n
L2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3Jt
ZWQtbXVsdGlsaW5lLWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgIFRlc3QgdGhh
dCBzY3JvbGxpbmcgdG8gcmV2ZWFsIGEgcmVjdCB3b3JrcyBwcm9wZXJseSBvbiBhIHRyYW5zZm9y
bWVkCisgICAgICAgIG92ZXJmbG93IGxheWVyLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9uczoKKwogMjAxMy0wMS0xOCAgVGltIFZvbG9kaW5lICA8dGltdm9sb2RpbmVAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFRleHQgQXV0b3NpemluZzogZG9uJ3QgYXV0b3NpemUgaGVhZGVycyB3
aXRoIG11bHRpcGxlIGlubGluZSBsaW5rcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFy
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0
LW9mLXRyYW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtdHJh
bnNmb3JtZWQtaW5wdXQtc2Nyb2xsYWJsZS1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEg
QEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNh
cmV0LW9mLXRyYW5zZm9ybWVkLWlucHV0LXNjcm9sbGFibGUtcGFyZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1pbnB1dC1zY3Jv
bGxhYmxlLXBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjZDYwOTJhYjA5MTAwOTk5MDg5ZTc4ZDAw
ZGIzYWM3ZjdmMTRiNjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lu
cHV0L3JldmVhbC1jYXJldC1vZi10cmFuc2Zvcm1lZC1pbnB1dC1zY3JvbGxhYmxlLXBhcmVudC5o
dG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvcmV2ZWFsLXV0aWxpdGllcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+V2hlbiB0aGUgY2FyZXQgaXMgc2Nyb2xs
ZWQgb3V0LCBvbiBzdGFydGluZyB0eXBpbmcgaXQgbXVzdCBiZSBicm91Z2h0IHRvIHRoZSBjZW50
ZXIgb2YgdGhlIGNvbnRyb2wuPC9kaXY+Cis8ZGl2IHN0eWxlPSJvdmVyZmxvdzphdXRvOyBoZWln
aHQ6MTUwcHg7IHdpZHRoOjMwMHB4Ij4KKzx0ZXh0YXJlYSBuYW1lPSJ0ZXh0YXJlYSIgaWQ9InRl
eHRhcmVhIiByb3dzPSIxMCIgY29scz0iMTAiCisgIHN0eWxlPSItd2Via2l0LXRyYW5zZm9ybTp0
cmFuc2xhdGUoMTEwcHgsIDExMHB4KSBzY2FsZSgyKTsgaGVpZ2h0OjIwMHB4Ij48L3RleHRhcmVh
PgorPGRpdiBzdHlsZT0iaGVpZ2h0OjEwMDBweCI+PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciB0ZXh0QXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0YXJlYSIpOwordGV4
dEFyZWEudGV4dENvbnRlbnQgPSBnZW5lcmF0ZU51bWJlcnMoMCwgNTAwLCAyLCAiXG4iKTsKK3Rl
eHRBcmVhLmZvY3VzKCk7Cit0ZXh0QXJlYS5zZWxlY3Rpb25TdGFydCA9IDEyMDA7CitpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigiPiIpOworICAgIC8v
IElmIHRoZSBwYXJlbnROb2RlJ3Mgc2Nyb2xsVG9wIGlzIGdyZWF0ZXIgdGhhbiA1MDAsIHRoZW4g
dGhlIHRleHRhcmVhCisgICAgLy8gaXNuJ3QgZXZlbiB2aXNpYmxlLgorICAgIGRvY3VtZW50LmJv
ZHkuaW5uZXJIVE1MID0gdGV4dGFyZWEucGFyZW50Tm9kZS5zY3JvbGxUb3AgPCA2MDAgPyAiUEFT
UyIgOiAiRkFJTCI7Cit9CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworfQorCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5zZm9ybWVkLW11bHRp
bGluZS1pbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVh
bC1jYXJldC1vZi10cmFuc2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcyNzEzYjcxZmRjODc5NDAxNmM4ZWYxMmYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi10cmFu
c2Zvcm1lZC1tdWx0aWxpbmUtaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRy
YW5zZm9ybWVkLW11bHRpbGluZS1pbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1
dC9yZXZlYWwtY2FyZXQtb2YtdHJhbnNmb3JtZWQtbXVsdGlsaW5lLWlucHV0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2UyMTg5MDkzZDNkMGU5OTkyYWVjYmU2ODA4MDFmMmM4NjczNjg0NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLXRyYW5z
Zm9ybWVkLW11bHRpbGluZS1pbnB1dC5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNvdXJj
ZXMvcmV2ZWFsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+
V2hlbiB0aGUgY2FyZXQgaXMgc2Nyb2xsZWQgb3V0LCBvbiBzdGFydGluZyB0eXBpbmcgaXQgbXVz
dCBiZSBicm91Z2h0IHRvIHRoZSBjZW50ZXIgb2YgdGhlIGNvbnRyb2wuPC9kaXY+Cis8dGV4dGFy
ZWEgbmFtZT0idGV4dGFyZWEiIGlkPSJ0ZXh0YXJlYSIgcm93cz0iMTAiIGNvbHM9IjEwIiBzdHls
ZT0iLXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZykiPjwvdGV4dGFyZWE+Cis8c2NyaXB0
PgorCit2YXIgdGV4dEFyZWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dGFyZWEiKTsK
K3RleHRBcmVhLnRleHRDb250ZW50ID0gZ2VuZXJhdGVOdW1iZXJzKDAsIDMwLCAyLCAiXG4iKTsK
K3RleHRBcmVhLmZvY3VzKCk7Cit0ZXh0QXJlYS5zZWxlY3Rpb25TdGFydCA9IDM2OworaWYgKHdp
bmRvdy5ldmVudFNlbmRlcikgeworICAgIGV2ZW50U2VuZGVyLmtleURvd24oIj4iKTsKKyAgICBk
b2N1bWVudC5ib2R5LmlubmVySFRNTCA9IHRleHRhcmVhLnNjcm9sbFRvcCA+IDAgPyAiUEFTUyIg
OiAiRkFJTCI7Cit9CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworfQorCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDYwODk2OGI3NDg0OWFjNzU0
ZDFkYWEwYzgxMWE0NGZiYmQ1MGMzZDAuLjI1NjY0ZDg4MmI2NDY4OTlkYmYyMTI0ODYxYzY5ZTM3
YjJhNGRkMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucwpAQCAtNDMxMSw2ICs0MzExLDE0IEBAIHdlYmtpdC5vcmcvYi8xMDcwMzMgWyBEZWJ1
ZyBdIGZhc3QvZXZlbnRzL2Zvcm0taWZyYW1lLXRhcmdldC1iZWZvcmUtbG9hZC1jcmFzaC5oCiB3
ZWJraXQub3JnL2IvMTA3MDMzIFsgRGVidWcgXSBmYXN0L2V2ZW50cy9iZWZvcmUtdW5sb2FkLXdp
dGgtc3ViZnJhbWVzLmh0bWwgWyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTA3MDMzIFsgRGVidWcg
XSBmYXN0L2Nzcy9zdHlsZXNoZWV0LWVuYWJsZS1maXJzdC1hbHRlcm5hdGUtbGluay5odG1sIFsg
Q3Jhc2ggXQogCisjIE5lZWRzIHJlYmFzZWxpbmUuCit3ZWJraXQub3JnL2IvMTA1NTc0IGVkaXRp
bmcvaW5wdXQvY2FyZXQtYXQtdGhlLWVkZ2Utb2YtY29udGVudGVkaXRhYmxlLmh0bWwgWyBGYWls
dXJlIF0KK3dlYmtpdC5vcmcvYi8xMDU1NzQgZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2Yt
bXVsdGlsaW5lLWNvbnRlbnRlZGl0YWJsZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2Iv
MTA1NTc0IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0LW9mLW11bHRpbGluZS1pbnB1dC5odG1s
IFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA1NTc0IHBsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
Zm9ybXMvc3VnZ2VzdGlvbi1waWNrZXIvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1hcHBlYXJhbmNl
LXdpdGgtc2Nyb2xsLWJhci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2Iv
MTA1NTc0IHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvc3VnZ2VzdGlvbi1waWNrZXIvbW9u
dGgtc3VnZ2VzdGlvbi1waWNrZXItYXBwZWFyYW5jZS13aXRoLXNjcm9sbC1iYXIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTU3NCBwbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2Zvcm1zL3N1Z2dlc3Rpb24tcGlja2VyL3dlZWstc3VnZ2VzdGlvbi1waWNrZXItYXBwZWFy
YW5jZS13aXRoLXNjcm9sbC1iYXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCiAjIFRoaXMg
aXMgd29uJ3QgZml4LCBhcyB0aGUgZGVidWcgYW5kIHJlbGVhc2UgdmVyc2lvbnMgZGlmZmVyLgog
d2Via2l0Lm9yZy9iLzk5MTM4IFsgRGVidWcgU25vd0xlb3BhcmQgXSBzdmcvY3VzdG9tL2ZvcmVp
Z24tb2JqZWN0LXNrZXcuc3ZnIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjBmZGYyYWRhNzEyZTBiZDc4Mzg5YzAx
NWVjNGFiZWY3NGY1YTU3Ny4uMzM3YzI5YzJkOGExYmMwYjg2OGYyYjczNTgxODFiMjhiY2IxYTNh
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyODAs
NiArMTI4MCwxMiBAQCB3ZWJraXQub3JnL2IvMTAzOTU1IGZhc3QvcmVwYWludC9jYXJldC1vdXRz
aWRlLWJsb2NrLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDM5NTUg
ZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1ybC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJr
aXQub3JnL2IvMTAzOTU1IGZhc3QvcmVwYWludC9jYXJldC13aXRoLXRyYW5zZm9ybWF0aW9uLmh0
bWwgWyBNaXNzaW5nIF0KIAorIyBOZWVkcyByZWJhc2VsaW5lLgord2Via2l0Lm9yZy9iLzEwNTU3
NCBlZGl0aW5nL2lucHV0L2NhcmV0LWF0LXRoZS1lZGdlLW9mLWNvbnRlbnRlZGl0YWJsZS5odG1s
IFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA1NTc0IGVkaXRpbmcvaW5wdXQvcmV2ZWFsLWNh
cmV0LW9mLW11bHRpbGluZS1jb250ZW50ZWRpdGFibGUuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzEwNTU3NCBlZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi1tdWx0aWxpbmUtaW5w
dXQuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTU3NCBmYXN0L3NwYXRpYWwtbmF2
aWdhdGlvbi9zbmF2LWRpdi1vdmVyZmxvdy1zY3JvbC1oaWRkZW4uaHRtbCBbIEZhaWx1cmUgXQor
CiAjIFJlYmFzZWxpbmUgcmVxdWlyZWQgYWZ0ZXIgaHR0cHM6Ly93ZWJraXQub3JnL2IvMTA3MjA4
CiB3ZWJraXQub3JnL2IvMTA3MjA4IGZhc3QvcmVnaW9ucy9vdmVyZmxvdy1tb3ZpbmctYmVsb3ct
ZmxvYXRzLWluLXZhcmlhYmxlLXdpZHRoLXJlZ2lvbnMuaHRtbCBbIFBhc3MgRmFpbHVyZSBJbWFn
ZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDcyMDggZmFzdC9yZWdpb25zL292ZXJmbG93
LXNpemUtY2hhbmdlLWluLXZhcmlhYmxlLXdpZHRoLXJlZ2lvbnMuaHRtbCBbIFBhc3MgRmFpbHVy
ZSBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>