<?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>68198</bug_id>
          
          <creation_ts>2011-09-15 16:27:15 -0700</creation_ts>
          <short_desc>Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place</short_desc>
          <delta_ts>2011-09-26 11:03:40 -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>DOM</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="Varun Jain">varunjain</reporter>
          <assigned_to name="Varun Jain">varunjain</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>fsamuel</cc>
    
    <cc>gustavo</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>468153</commentid>
    <comment_count>0</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-15 16:27:15 -0700</bug_when>
    <thetext>On possible way is to move the logic to frameView and test using window.internals</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471103</commentid>
    <comment_count>1</comment_count>
      <attachid>108219</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-21 13:21:14 -0700</bug_when>
    <thetext>Created attachment 108219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471109</commentid>
    <comment_count>2</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-21 13:25:02 -0700</bug_when>
    <thetext>Hi Darin, Dimitri
refactored code according to discussion with Dimitri. PTAL.

@Darin: regarding your last comment on my earlier CL. This method is only invoked on elements that are currently in view. Hence it is enough to simply scroll the main frame. We need not care about the case where the element is in a subframe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471111</commentid>
    <comment_count>3</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-09-21 13:26:19 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=108219) [details]
&gt; Patch

It would be great to have a layout test where there&apos;s sufficient size to center the input box in the rect so we know for a fact centering is working as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471128</commentid>
    <comment_count>4</comment_count>
      <attachid>108227</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-21 13:47:57 -0700</bug_when>
    <thetext>Created attachment 108227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471129</commentid>
    <comment_count>5</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-21 13:48:26 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #1)
&gt; &gt; Created an attachment (id=108219) [details] [details]
&gt; &gt; Patch
&gt; 
&gt; It would be great to have a layout test where there&apos;s sufficient size to center the input box in the rect so we know for a fact centering is working as expected.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471241</commentid>
    <comment_count>6</comment_count>
      <attachid>108227</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-09-21 16:13:35 -0700</bug_when>
    <thetext>Comment on attachment 108227
Patch

Attachment 108227 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9773901</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471551</commentid>
    <comment_count>7</comment_count>
      <attachid>108330</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-22 07:37:26 -0700</bug_when>
    <thetext>Created attachment 108330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471558</commentid>
    <comment_count>8</comment_count>
      <attachid>108330</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-09-22 07:50:40 -0700</bug_when>
    <thetext>Comment on attachment 108330
Patch

Attachment 108330 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9792319</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471767</commentid>
    <comment_count>9</comment_count>
      <attachid>108378</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-22 12:08:47 -0700</bug_when>
    <thetext>Created attachment 108378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471826</commentid>
    <comment_count>10</comment_count>
      <attachid>108378</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-09-22 13:36:43 -0700</bug_when>
    <thetext>Comment on attachment 108378
Patch

Attachment 108378 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9796377</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472262</commentid>
    <comment_count>11</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-23 08:54:23 -0700</bug_when>
    <thetext>ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472297</commentid>
    <comment_count>12</comment_count>
      <attachid>108486</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-23 10:09:06 -0700</bug_when>
    <thetext>Created attachment 108486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472312</commentid>
    <comment_count>13</comment_count>
      <attachid>108486</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-09-23 10:31:08 -0700</bug_when>
    <thetext>Comment on attachment 108486
Patch

Attachment 108486 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9822109</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472315</commentid>
    <comment_count>14</comment_count>
      <attachid>108489</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-23 10:36:33 -0700</bug_when>
    <thetext>Created attachment 108489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472362</commentid>
    <comment_count>15</comment_count>
      <attachid>108489</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-09-23 11:28:44 -0700</bug_when>
    <thetext>Comment on attachment 108489
Patch

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

Looks good, except for the test.

&gt; LayoutTests/fast/dom/scroll-element-to-rect-centered.html:17
&gt; +        if (window.internals) {
&gt; +          var box = document.getElementById(&apos;textbox&apos;);
&gt; +          window.internals.scrollElementToRect(box, 50, 30, 200, 250);
&gt; +        }
&gt; +      }
&gt; +      window.addEventListener(&quot;load&quot;, doTest);
&gt; +    &lt;/script&gt;
&gt; +  &lt;/head&gt;
&gt; +  &lt;body&gt;
&gt; +    This is test&lt;br&gt;
&gt; +    &lt;div style=&quot;position: relative; width: 2400px; height: 2400px; background-color: white;&quot;&gt;
&gt; +      &lt;div style=&quot;position:fixed; left: 50px; top: 30px; width: 200px; height: 250px; background-color: green;&quot;&gt;&lt;/div&gt;
&gt; +      &lt;div style=&quot;position:absolute; left: 600px; top: 800px;&quot;&gt; &lt;input id=&quot;textbox&quot; type=&quot;text&quot;&gt;&lt;/div&gt;

I am pretty sure we can make this test dumpAsText(), to avoid pixel baselines. Can we?

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1824
&gt; +    if (focusedNode &amp;&amp; focusedNode-&gt;isElementNode()) {

early return?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472428</commentid>
    <comment_count>16</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-09-23 12:59:10 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 108489 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=108489&amp;action=review
&gt; 
&gt; Looks good, except for the test.
&gt; 
&gt; &gt; LayoutTests/fast/dom/scroll-element-to-rect-centered.html:17
&gt; &gt; +        if (window.internals) {
&gt; &gt; +          var box = document.getElementById(&apos;textbox&apos;);
&gt; &gt; +          window.internals.scrollElementToRect(box, 50, 30, 200, 250);
&gt; &gt; +        }
&gt; &gt; +      }
&gt; &gt; +      window.addEventListener(&quot;load&quot;, doTest);
&gt; &gt; +    &lt;/script&gt;
&gt; &gt; +  &lt;/head&gt;
&gt; &gt; +  &lt;body&gt;
&gt; &gt; +    This is test&lt;br&gt;
&gt; &gt; +    &lt;div style=&quot;position: relative; width: 2400px; height: 2400px; background-color: white;&quot;&gt;
&gt; &gt; +      &lt;div style=&quot;position:fixed; left: 50px; top: 30px; width: 200px; height: 250px; background-color: green;&quot;&gt;&lt;/div&gt;
&gt; &gt; +      &lt;div style=&quot;position:absolute; left: 600px; top: 800px;&quot;&gt; &lt;input id=&quot;textbox&quot; type=&quot;text&quot;&gt;&lt;/div&gt;
&gt; 
&gt; I am pretty sure we can make this test dumpAsText(), to avoid pixel baselines. Can we?

Agreed, we should be able to output the final scroll position as text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472548</commentid>
    <comment_count>17</comment_count>
      <attachid>108545</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-23 15:24:47 -0700</bug_when>
    <thetext>Created attachment 108545
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472549</commentid>
    <comment_count>18</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-23 15:25:17 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 108489 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=108489&amp;action=review
&gt; 
&gt; Looks good, except for the test.
&gt; 
&gt; &gt; LayoutTests/fast/dom/scroll-element-to-rect-centered.html:17
&gt; &gt; +        if (window.internals) {
&gt; &gt; +          var box = document.getElementById(&apos;textbox&apos;);
&gt; &gt; +          window.internals.scrollElementToRect(box, 50, 30, 200, 250);
&gt; &gt; +        }
&gt; &gt; +      }
&gt; &gt; +      window.addEventListener(&quot;load&quot;, doTest);
&gt; &gt; +    &lt;/script&gt;
&gt; &gt; +  &lt;/head&gt;
&gt; &gt; +  &lt;body&gt;
&gt; &gt; +    This is test&lt;br&gt;
&gt; &gt; +    &lt;div style=&quot;position: relative; width: 2400px; height: 2400px; background-color: white;&quot;&gt;
&gt; &gt; +      &lt;div style=&quot;position:fixed; left: 50px; top: 30px; width: 200px; height: 250px; background-color: green;&quot;&gt;&lt;/div&gt;
&gt; &gt; +      &lt;div style=&quot;position:absolute; left: 600px; top: 800px;&quot;&gt; &lt;input id=&quot;textbox&quot; type=&quot;text&quot;&gt;&lt;/div&gt;
&gt; 
&gt; I am pretty sure we can make this test dumpAsText(), to avoid pixel baselines. Can we?

Done.

&gt; 
&gt; &gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1824
&gt; &gt; +    if (focusedNode &amp;&amp; focusedNode-&gt;isElementNode()) {
&gt; 
&gt; early return?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472554</commentid>
    <comment_count>19</comment_count>
      <attachid>108545</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-09-23 15:30:25 -0700</bug_when>
    <thetext>Comment on attachment 108545
Patch

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

&gt; LayoutTests/platform/chromium-linux/fast/dom/scroll-element-to-rect-centered-expected.txt:6
&gt; +PASS rect.left is 72
&gt; +PASS rect.top is 144
&gt; +PASS computedLeft is 72
&gt; +PASS computedTop is 144
&gt; +PASS successfullyParsed is true

Thanks for converting the test! Are these numbers going to be different from platform to platform? If not, why are the expectations in platform-linux? If yes -- can we do better? Can the test be more of a PASS/FAIL report, with the assessment of the exact coordinates being platform-independent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472612</commentid>
    <comment_count>20</comment_count>
      <attachid>108557</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-23 16:36:51 -0700</bug_when>
    <thetext>Created attachment 108557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472613</commentid>
    <comment_count>21</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-23 16:37:21 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 108545 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=108545&amp;action=review
&gt; 
&gt; &gt; LayoutTests/platform/chromium-linux/fast/dom/scroll-element-to-rect-centered-expected.txt:6
&gt; &gt; +PASS rect.left is 72
&gt; &gt; +PASS rect.top is 144
&gt; &gt; +PASS computedLeft is 72
&gt; &gt; +PASS computedTop is 144
&gt; &gt; +PASS successfullyParsed is true
&gt; 
&gt; Thanks for converting the test! Are these numbers going to be different from platform to platform? If not, why are the expectations in platform-linux? If yes -- can we do better? Can the test be more of a PASS/FAIL report, with the assessment of the exact coordinates being platform-independent?

Added to all platforms. I think it should pass all tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472616</commentid>
    <comment_count>22</comment_count>
      <attachid>108557</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-09-23 16:42:41 -0700</bug_when>
    <thetext>Comment on attachment 108557
Patch

Let&apos;s give it a whirl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472645</commentid>
    <comment_count>23</comment_count>
      <attachid>108557</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-23 17:23:01 -0700</bug_when>
    <thetext>Comment on attachment 108557
Patch

Clearing flags on attachment: 108557

Committed r95890: &lt;http://trac.webkit.org/changeset/95890&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472646</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-23 17:23:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473192</commentid>
    <comment_count>25</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-26 10:42:18 -0700</bug_when>
    <thetext>The test added by this patch is failing on Snow Leopard:
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r95957%20(33384)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473211</commentid>
    <comment_count>26</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-26 11:03:40 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; The test added by this patch is failing on Snow Leopard:
&gt; http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r95957%20(33384)/results.html

hi.. thanks for bringing this to my attention.
I think the test is failing because the frame doesnot have enough room to scroll and hence cannot position the element correctly. This should be easily fixable by increasing the size of the div in the test. I&apos;ll try to get hold of a machine to try this fix on</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108219</attachid>
            <date>2011-09-21 13:21:14 -0700</date>
            <delta_ts>2011-09-21 13:47:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68198-20110921161712.patch</filename>
            <type>text/plain</type>
            <size>12548</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU2NTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNjM0NTRhZTcyMjgxZGJjNjQwOGRj
NmM3Y2RjZDdlMjhjZTk4YWVhLi5kODc1NTQwZWU3MTk5MjdkODgzOTdiYWI3ZWUxNjdlOGZjZjM2
OTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMjEgIFZhcnVuIEphaW4gIDx2YXJ1
bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1wbDo6c2Nyb2xs
Rm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRlc3RzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxOTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3Nj
cm9sbC1lbGVtZW50LXRvLXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0tbGludXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1leHBlY3RlZC5wbmc6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9s
bC1lbGVtZW50LXRvLXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMS0wOS0yMSAgRG1p
dHJ5IExvbW92ICA8ZHNsb21vdkBnb29nbGUuY29tPgogCiAgICAgICAgIEZpeGVkIGJ1ZyBudW1i
ZXIgaW4gdGVzdCBleHBlY3RhdGlvbnMuIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Ny
b2xsLWVsZW1lbnQtdG8tcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlN2JkZGUxMGE1Yjk5NTI4NTA3
ZWEzNGM5YWJhNmMzODQ1ODRiMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0Lmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPGh0bWw+
CisgIDxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgdmFyIGJveCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXh0Ym94Jyk7CisgICAgICAgICAgd2luZG93LmludGVybmFscy5z
Y3JvbGxFbGVtZW50VG9SZWN0KGJveCwgMCwgMCwgMzAwLCAzMDApOworICAgICAgICB9CisgICAg
ICB9CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVzdCk7CisgICAg
PC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgVGhpcyBpcyB0ZXN0PGJyPgorICAg
IDxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDE2MDBweDsgaGVpZ2h0OiAx
MjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+CisgICAgICA8ZGl2IHN0eWxlPSJwb3Np
dGlvbjphYnNvbHV0ZTsgbGVmdDogNjAwcHg7IHRvcDogODAwcHg7Ij4gPGlucHV0IGlkPSJ0ZXh0
Ym94IiB0eXBlPSJ0ZXh0Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9kb20v
c2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVk
LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43NmJkN2I4MjljYTJlNmJkMGUxMDhjMTAwN2Y0NWE0OGRiYTkyMzY0
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzNDI2CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55
VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UIXYoJAp6RyFyQXNHKChGZFYrI1ds
R2ZOOWcpNUsmJEFsSmU/SW1zfDd2Qk4xKWg9R0NVaT5IZllOWDRBRGNXd1FXIXpDSVgKelc8TjJG
Mj0rREglJjUmODZ2YjhrPUReIUUlOF9TYzlZbiRsNFBDPD9xJCleaFdpNDBlKHk3YT5OUzhWTUlw
b3taCnpoSjgkKDtvb0VBKWVnVUJXPyhwZmBgPFIldyMyPTBAJHZFWVRocSpEPnh5K0pOLVZSXypK
RWYxSHRUeV93RFY1LQp6KigwKCMzPVFJY3pyS3p5RkpCKEZDMnN4c3gtVFhTNERTeVpUUX5FRWF7
KG8xOUFJTVQtfj0rbFhaZmkwJEI5UVUKekZzdl5PNUFRZGQyOSZWNGtyIV44cXRuUkJQJXh3Mndl
KT5ndmx9QT0teyFre15XemB6aTdgMCVCcnF9QFZGNURFCno3ejZjSE9DQiNnS2I0N19Bd21FMSZ6
a3dFdihGd0FRJCRoKFMzU3g9NCFoQ043XjB6KFF9dT9pWmk7PlYmKEUpMwp6eX1BKjYhTlQ1dHso
blJKWnoycEUpfFhlYXp5OV4+Klg4QkAkTEJSMmAxJGthXllpb2paQ00jKTleQWNtUF4jQEEKelB7
LX08YDlRaHR5TFJyaHtLZiZ5VV9kUzAzPWJrZSpAK3JTViVjJUkya2dJb2VTTGxRP0FlWFc4NXIj
NWx1SmolCnpAMmk9NHtgdjhGT2JrQ2Q/JlQpTHs7NChtUX5PNGRwQElKLUM8aHc/YkdtQD1DfVk/
SyFmZCV9MjhNPnE4KmIpJgp6aV96U2AhMEBmOHZod0dMTXtuUTAtSyV8bmZCa2s+aiQhQkooUFR7
WHl1OSh7TXNAfVUzKXxJS3YlYkdRZGkzYksKelhpIVVHIXxCdGZjWitZfHpNWCU2Ujx7NnkhWlRu
PztsUk5oS18tU0hBbVVIUko3QjlwPF94SDUwM3JfZnN7I3tiCno2MHE1enBmPGBGNEZzWjYhc1RS
czI4SUh1dSs+LVJYfG4+OFNLUEdJUHdoQDBFOEshdmtuIShpV3tecGZJbz5XXwp6RjVmc211bTFN
R0JiNXZjZXdYcT5iZj0lTD9rIz1LK19zR2EqczkkWTltM3pBRjkyQDtVSnZiOz5qTmRyeFIpeXoK
enk4fHIlKlR7UXYleDFzYzl8VE9qZHZaMkwqaT1+Xnd0Wn0mQylSems/RFkmYmhLOVhzdUQ9Rj88
QD5CPXBCM3ZxCnpZUVhjSz9iXyRuajB8P217P0JAO2E1KylwU1lnZDgkc2UoZ0V6VWp2ZTclUUZK
JHYpYm43QkIoWU9WKmk1b15RIwp6XzU4YUp3N156NFZ9OSFIYkp0I2ZVM2owRjtYfFIkXndWRmZZ
QTxZYGI1b0xxcTJrYGN5PGVVej1UTSh+YSZ8aS0KemdOMTc3ZTtjYG9TNm1OVlM2X1gjUXZBUzZG
UmQzNzQrTW9YOUJ9e2tPPkNEdVA+U0l9dWRCKTQ/eyZOSFg2ZjgwCnp0KikrcUJselMwdWxMczxL
amVPfVdiYTNuWnw+VlQ9RHlgKXM3Y0FzVXdCLTs9ejBXJHs7bk42RHFnVmA/MyU8Pwp6Xj1Tck1G
RHBaaE4kQ0dNWFZXJTZWRiZzPnkjM3B5bkBKbGJqKD1xTFdvOVVOYiojfGwlWVIke2NYX1JBdVY/
PV4KbldAbVVYP2BCUn1NbEEyKTVCI3JtOSRhRSY0XklWbG5peEQ/e2FuXkxCe1RzNWItT30xCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1l
bGVtZW50LXRvLXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjYWFmMDdkMTNkOTk4MmJm
YTljNGYyYzE4MWI3NmVlYjhiNWFlODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDE2MDh4MTIz
NgorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA3ODV4MTIzNgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTIzNgor
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDEyMjAKKyAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzY5eDIwCisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYzeDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggNjM6ICJUaGlzIGlzIHRlc3QiCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDYz
LDE1KSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsMjgpIHNpemUgMTYwMHgxMjAwCisgIFJlbmRlckJs
b2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwyMCkgc2l6ZSAxNjAweDEyMDAg
W2JnY29sb3I9IzAwODAwMF0KK2xheWVyIGF0ICg2MDgsODI4KSBzaXplIDE1OXgyNgorICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDYwMCw4MDApIHNpemUgMTU5eDI2CisgICAg
UmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE1NXgyMiBbYmdjb2xvcj0j
RkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorbGF5ZXIgYXQgKDYxMiw4MzMp
IHNpemUgMTUxeDE2CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTUxeDE2Citz
Y3JvbGxlZCB0byA1MzgsNjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk3MWM5NWE1ZDE0ZjI1YTRiOWE1OGM3
YTJjY2U1YjY2ZTJkMDY1My4uZDc1OTNhOTYzYjUzMDFiNDdmNDUzZmM2Y2VjZTBkNDNkODYxYTJk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTA5LTIxICBWYXJ1biBKYWluICA8
dmFydW5qYWluQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgV2ViVmlld0ltcGw6OnNj
cm9sbEZvY3VzZWROb2RlSW50b1JlY3QgdG8gYSBiZXR0ZXIgcGxhY2UgYW5kIGFkZCB0ZXN0cy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTk4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC5odG1sCisKKyAgICAgICAgKiBwYWdlL0ZyYW1l
Vmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbEVsZW1lbnRUb1Jl
Y3QpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzY3JvbGxFbGVtZW50VG9S
ZWN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmlkbDoKKwogMjAxMS0wOS0yMSAgQ2hhbmdTZW9rIE9oICA8c2hpdmFtaWRvd0Bn
bWFpbC5jb20+CiAKICAgICAgICAgW0dUS10gRml4IGJ1aWxkIGJyZWFrIHdoZW4gZW5hYmxpbmcg
d2ViZ2wgb24gcjk1NTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTNiZGU5NmY3
MzY0NGExNTZiZDExOTE4OWI3NWM4YmUxNzdlMDYzNC4uYzNlZGQ5YTU4ZWMxY2E4NDU1NDBlN2Nl
ZjhlNjFkYjBjYWFjOWQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTYyMyw2
ICsxNjIzLDE2IEBAIHZvaWQgRnJhbWVWaWV3OjptYWludGFpblNjcm9sbFBvc2l0aW9uQXRBbmNo
b3IoTm9kZSogYW5jaG9yTm9kZSkKICAgICAgICAgc2Nyb2xsVG9BbmNob3IoKTsKIH0KIAordm9p
ZCBGcmFtZVZpZXc6OnNjcm9sbEVsZW1lbnRUb1JlY3QoRWxlbWVudCogZWxlbWVudCwgY29uc3Qg
SW50UmVjdCYgcmVjdCkKK3sKKyAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKworICAgIExheW91dFJlY3QgYm91bmRzID0gZWxl
bWVudC0+Ym91bmRzSW5XaW5kb3dTcGFjZSgpOworICAgIGludCBjZW50ZXJpbmdPZmZzZXRYID0g
KHJlY3Qud2lkdGgoKSAtIGJvdW5kcy53aWR0aCgpKSAvIDI7CisgICAgaW50IGNlbnRlcmluZ09m
ZnNldFkgPSAocmVjdC5oZWlnaHQoKSAtIGJvdW5kcy5oZWlnaHQoKSkgLyAyOworICAgIHNjcm9s
bEJ5KEludFNpemUoYm91bmRzLngoKSAtIGNlbnRlcmluZ09mZnNldFggLSByZWN0LngoKSwgYm91
bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkgLSByZWN0LnkoKSkpOworfQorCiB2b2lkIEZyYW1l
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgTGF5b3V0UG9pbnQmIHNjcm9sbFBvaW50KQog
ewogICAgIGJvb2wgd2FzSW5Qcm9ncmFtbWF0aWNTY3JvbGwgPSBtX2luUHJvZ3JhbW1hdGljU2Ny
b2xsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggMzNlMWQ5YzAzYTI2Mjc1NDNiYmIwZGE0
N2E0NzlmYTRhNGIzYTIwMy4uNDBkOGI0ZWRlNDQwZGY0MWJkNmVjM2VkZTU2ZDBhMTNhOWZmZDM3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIENvbG9yOworY2xhc3MgRWxlbWVudDsKIGNsYXNzIEV2ZW50Owog
Y2xhc3MgRmxvYXRTaXplOwogY2xhc3MgRnJhbWU7CkBAIC0yNTgsNiArMjU5LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgc2Nyb2xsVG9GcmFnbWVudChjb25zdCBLVVJMJik7CiAgICAgYm9vbCBzY3Jv
bGxUb0FuY2hvcihjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIG1haW50YWluU2Nyb2xsUG9zaXRp
b25BdEFuY2hvcihOb2RlKik7CisgICAgdm9pZCBzY3JvbGxFbGVtZW50VG9SZWN0KEVsZW1lbnQq
LCBjb25zdCBJbnRSZWN0Jik7CiAKICAgICAvLyBNZXRob2RzIHRvIGNvbnZlcnQgcG9pbnRzIGFu
ZCByZWN0cyBiZXR3ZWVuIHRoZSBjb29yZGluYXRlIHNwYWNlIG9mIHRoZSByZW5kZXJlciwgYW5k
IHRoaXMgdmlldy4KICAgICB2aXJ0dWFsIExheW91dFJlY3QgY29udmVydEZyb21SZW5kZXJlcihj
b25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBMYXlvdXRSZWN0JikgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggMDRlYzllZjUzNzQ4YjlhZDc0ZmVlODA2NjZjZjE1
MGRiMTgwZWEzYi4uMjUxNDM3NzdkZGUxOTgwMjllMTNlMmQ5NTc0Mzk1MGNhNDYyNGU5OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1
ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1
ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlcmluZ0NvbnRleHQuaCIKICNp
bmNsdWRlICJQYWdlLmgiCkBAIC0zNjUsNCArMzY2LDE1IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRT
dWdnZXN0ZWRWYWx1ZShFbGVtZW50KiBlbGVtZW50LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNl
cHRpCiAgICAgaW5wdXRFbGVtZW50LT5zZXRTdWdnZXN0ZWRWYWx1ZSh2YWx1ZSk7CiB9CiAKK3Zv
aWQgSW50ZXJuYWxzOjpzY3JvbGxFbGVtZW50VG9SZWN0KEVsZW1lbnQqIGVsZW1lbnQsIGxvbmcg
eCwgbG9uZyB5LCBsb25nIHcsIGxvbmcgaCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYg
KCFlbGVtZW50IHx8ICFlbGVtZW50LT5kb2N1bWVudCgpIHx8ICFlbGVtZW50LT5kb2N1bWVudCgp
LT52aWV3KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGVsZW1lbnQtPmRvY3Vt
ZW50KCktPnZpZXcoKTsKKyAgICBmcmFtZVZpZXctPnNjcm9sbEVsZW1lbnRUb1JlY3QoZWxlbWVu
dCwgSW50UmVjdCh4LCB5LCB3LCBoKSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCmluZGV4IDEzNDM3ZTFlZGE0MDU3OTQ4MmVhZTg3Yzc0ODcxNjdmNGQ3MGY2NTIuLjJhZGI0
YzJiOTI5Mzk2NjdjYTlkOGM4ZTAwN2ZkOThiOTIxYTAxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaApAQCAtODcsNiArODcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB3YXNMYXN0Q2hh
bmdlVXNlckVkaXQoRWxlbWVudCogdGV4dEZpZWxkLCBFeGNlcHRpb25Db2RlJik7CiAgICAgU3Ry
aW5nIHN1Z2dlc3RlZFZhbHVlKEVsZW1lbnQqIGlucHV0RWxlbWVudCwgRXhjZXB0aW9uQ29kZSYp
OwogICAgIHZvaWQgc2V0U3VnZ2VzdGVkVmFsdWUoRWxlbWVudCogaW5wdXRFbGVtZW50LCBjb25z
dCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBzY3JvbGxFbGVtZW50VG9SZWN0
KEVsZW1lbnQqLCBsb25nIHgsIGxvbmcgeSwgbG9uZyB3LCBsb25nIGgsIEV4Y2VwdGlvbkNvZGUm
KTsKIAogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBpbnRlcm5hbHNJZDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDVlMjMxY2NkNTMxODk1OTRlYWQ0YzZmMDhjYjczMDlk
NDJiZTczNjguLjc2MTA0OTkwNzEyOTQyODA0MmVjZDFiMjM5MmNiMWE4NmQ3ZDM2ZDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTYxLDYgKzYxLDcgQEAgbW9kdWxlIHdp
bmRvdyB7CiAgICAgICAgIGJvb2xlYW4gd2FzTGFzdENoYW5nZVVzZXJFZGl0KGluIEVsZW1lbnQg
dGV4dEZpZWxkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIERPTVN0cmluZyBzdWdn
ZXN0ZWRWYWx1ZShpbiBFbGVtZW50IGlucHV0RWxlbWVudCkgcmFpc2VzIChET01FeGNlcHRpb24p
OwogICAgICAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVlKGluIEVsZW1lbnQgaW5wdXRFbGVtZW50
LCBpbiBET01TdHJpbmcgdmFsdWUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9p
ZCBzY3JvbGxFbGVtZW50VG9SZWN0KGluIEVsZW1lbnQgZWxlbWVudCwgaW4gbG9uZyB4LCBpbiBs
b25nIHksIGluIGxvbmcgdywgaW4gbG9uZyBoKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAg
fTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAyM2Y4YzA5NmYxMDk5MWMxNTdm
MDljMjg2NjA5MzAwMDQzNWYxNWQ3Li41MWVhNzc2YzVhMDVlOGU4Yzk5NTJmMDJjZGVkZTdmYjBh
OWExYTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEx
LTA5LTIxICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVm
YWN0b3IgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWROb2RlSW50b1JlY3QgdG8gYSBiZXR0ZXIg
cGxhY2UgYW5kIGFkZCB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY4MTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
OjpzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRv
UmVjdCk6CisKIDIwMTEtMDktMjEgIFhpYW56aHUgV2FuZyAgPHdhbmd4aWFuemh1QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBFbnN1cmUgVGVzdFdlYktpdEFQSSB3b3JrcyBvbiBtYWMsIHdpbiwg
Y2hyb21pdW0tbWFjIGFuZCBjaHJvbWl1bS1saW51eApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViVmlldy5oCmluZGV4IDMzOGMyYWQ5NDVmMDgyYTRhZmVhNTVhZWNkMGE3MDk0ZGJkMWJh
ODkuLjc1ZTBiYjAzNDNlODYzODRiM2M0MzA5ZmE2NGVkYWVkY2IxOWY1OTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKQEAgLTE3NSw4ICsxNzUsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbEZvY3VzZWROb2RlSW50b1ZpZXcoKSA9IDA7CiAKICAg
ICAvLyBTY3JvbGxzIHRoZSBub2RlIGN1cnJlbnRseSBpbiBmb2N1cyBpbnRvIHxyZWN0fCwgd2hl
cmUgfHJlY3R8IGlzIGluCi0gICAgLy8gc2NyZWVuIHNwYWNlLgotICAgIHZpcnR1YWwgdm9pZCBz
Y3JvbGxGb2N1c2VkTm9kZUludG9SZWN0KGNvbnN0IFdlYlJlY3QmIHJlY3QpIHsgfQorICAgIC8v
IHdpbmRvdyBzcGFjZS4KKyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVj
dChjb25zdCBXZWJSZWN0JikgeyB9CiAKIAogICAgIC8vIFpvb20gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDFmODUwOWY0ODZhZjEzNjlh
YTdiOTRjMDY1OTk0NGQ2YWU1NjBlYWUuLmQwMjczMTFjNGJmMzU0YjhjNDdlYWVkMTRlZTdiZjc0
NGUwOWVkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAK
QEAgLTE4MjEsMTYgKzE4MjEsMTIgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsRm9jdXNlZE5v
ZGVJbnRvVmlldygpCiB2b2lkIFdlYlZpZXdJbXBsOjpzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0
KGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7CiAgICAgTm9kZSogZm9jdXNlZE5vZGUgPSBmb2N1c2Vk
V2ViQ29yZU5vZGUoKTsKLSAgICBpZiAoIWZvY3VzZWROb2RlIHx8ICFmb2N1c2VkTm9kZS0+aXNF
bGVtZW50Tm9kZSgpKQotICAgICAgICByZXR1cm47Ci0gICAgRWxlbWVudCogZWxlbWVudE5vZGUg
PSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4oZm9jdXNlZE5vZGUpOwotICAgIExheW91dFJlY3QgYm91
bmRzID0gZWxlbWVudE5vZGUtPmJvdW5kc0luV2luZG93U3BhY2UoKTsKLSAgICBpbnQgY2VudGVy
aW5nT2Zmc2V0WCA9IChyZWN0LndpZHRoIC0gYm91bmRzLndpZHRoKCkpIC8gMjsKLSAgICBpbnQg
Y2VudGVyaW5nT2Zmc2V0WSA9IChyZWN0LmhlaWdodCAtIGJvdW5kcy5oZWlnaHQoKSkgLyAyOwot
ICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0KGJvdW5kcy54KCkgLSBjZW50ZXJpbmdPZmZzZXRYLCBi
b3VuZHMueSgpIC0gY2VudGVyaW5nT2Zmc2V0WSk7Ci0gICAgRnJhbWUqIGZyYW1lID0gbWFpbkZy
YW1lSW1wbCgpLT5mcmFtZSgpOwotICAgIGlmIChmcmFtZSAmJiBmcmFtZS0+dmlldygpKQotICAg
ICAgICBmcmFtZS0+dmlldygpLT5zY3JvbGxCeShzY3JvbGxPZmZzZXQpOworICAgIGlmIChmb2N1
c2VkTm9kZSAmJiBmb2N1c2VkTm9kZS0+aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgIEVsZW1l
bnQqIGVsZW1lbnROb2RlID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KGZvY3VzZWROb2RlKTsKKyAg
ICAgICAgRnJhbWUqIGZyYW1lID0gcGFnZSgpLT5tYWluRnJhbWUoKTsKKyAgICAgICAgaWYgKGZy
YW1lICYmIGZyYW1lLT52aWV3KCkpCisgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zY3JvbGxF
bGVtZW50VG9SZWN0KGVsZW1lbnROb2RlLCBJbnRSZWN0KHJlY3QueCwgcmVjdC55LCByZWN0Lndp
ZHRoLCByZWN0LmhlaWdodCkpOworICAgIH0KIH0KIAogZG91YmxlIFdlYlZpZXdJbXBsOjp6b29t
TGV2ZWwoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108227</attachid>
            <date>2011-09-21 13:47:57 -0700</date>
            <delta_ts>2011-09-22 07:37:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68198-20110921164355.patch</filename>
            <type>text/plain</type>
            <size>17062</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU2NTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNjM0NTRhZTcyMjgxZGJjNjQwOGRj
NmM3Y2RjZDdlMjhjZTk4YWVhLi42OTY2YjA1ODFhNDI5OGEyM2YxZDJlOGFkNTJlOGQ2NTQ3ZjQ4
ODNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMjEgIFZhcnVuIEphaW4gIDx2YXJ1
bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1wbDo6c2Nyb2xs
Rm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRlc3RzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxOTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3Nj
cm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRl
cmVkLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGlu
dXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9s
bC1lbGVtZW50LXRvLXJlY3QtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisKIDIwMTEtMDktMjEgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBGaXhlZCBidWcgbnVtYmVyIGluIHRlc3QgZXhwZWN0YXRpb25zLiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3Qt
Y2VudGVyZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJl
Y3QtY2VudGVyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZGY3ZmMxYzk5OWQ0MTg0MjgxZGQyZDEwMGUy
ZjA0MzU2MWZlNWI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Ny
b2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1s
PgorICA8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgZnVuY3Rpb24gZG9UZXN0KCkgeworICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICAgIHZhciBib3ggPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGV4dGJveCcpOworICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2Nyb2xsRWxlbWVudFRvUmVjdChib3gsIDUwLCAzMCwgMjAwLCAyNTApOworICAgICAgICB9Cisg
ICAgICB9CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVzdCk7Cisg
ICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgVGhpcyBpcyB0ZXN0PGJyPgor
ICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDI0MDBweDsgaGVpZ2h0
OiAyNDAwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyI+CisgICAgICA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjpmaXhlZDsgbGVmdDogNTBweDsgdG9wOiAzMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdo
dDogMjUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICA8ZGl2IHN0
eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDogNjAwcHg7IHRvcDogODAwcHg7Ij4gPGlucHV0
IGlkPSJ0ZXh0Ym94IiB0eXBlPSJ0ZXh0Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQt
dG8tcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVj
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdlN2JkZGUxMGE1Yjk5NTI4NTA3ZWEzNGM5YWJhNmMzODQ1ODRi
MWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVu
dC10by1yZWN0Lmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxz
Y3JpcHQ+CisgICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgICAgICAgdmFyIGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0
ZXh0Ym94Jyk7CisgICAgICAgICAgd2luZG93LmludGVybmFscy5zY3JvbGxFbGVtZW50VG9SZWN0
KGJveCwgMCwgMCwgMzAwLCAzMDApOworICAgICAgICB9CisgICAgICB9CisgICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgIDwvaGVh
ZD4KKyAgPGJvZHk+CisgICAgVGhpcyBpcyB0ZXN0PGJyPgorICAgIDxkaXYgc3R5bGU9InBvc2l0
aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDE2MDBweDsgaGVpZ2h0OiAxMjAwcHg7IGJhY2tncm91bmQt
Y29sb3I6IGdyZWVuOyI+CisgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVm
dDogNjAwcHg7IHRvcDogODAwcHg7Ij4gPGlucHV0IGlkPSJ0ZXh0Ym94IiB0eXBlPSJ0ZXh0Ij48
L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8t
cmVjdC1jZW50ZXJlZC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRlcmVkLWV4cGVjdGVk
LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jNWQ3ZTY1NGUzOWYyZmRiNDZiYTRlMWNkYWExNmMzZWI4ZGJlMGJl
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzNDQ2CnpjbWVIS1pBPz5GNz05QCpEaioqZHV6VSVk
K1FyYU56PXt7SjB9WEBgTmcyWWwkZzxIXj5jX0FVaTtNeHJBYDh3cQp6QVY0TmcoN0dpWCtaLSgp
TCZqJD5VfVo9O1NTKythRV81Z15APS1vJkozdUhxV3ptQEptdD1ueUlYfSpRLWdEMUEKej1pRGR2
ZEVXUDRkWTJXcysxa3ctMDUoVXg2TWhLNSsjNyh6Q1g+Kkp2eTx+JT0mfno0Zn1QR2drPDl4QGM9
ant8CnphczJsdGB2dmojYUpZZE9CYmdmJSExdT5eJDJmYTFZJlhXYD94anFZP20meD9xciYmY1hJ
NHhUeztiNGRIJkpaSgp6Sm10c3VUX3V+PyhqOyl3VWQ8aTt7SzE0YCsqYjNyTm14OHFoPEFvRDsr
MVdkRl4oTm5ePSFMaVg0UysoPTlaUE8KeiFeRFArIXBkZXNLbXl6YHV2fiMhK3t+fGs9Kkdfa2VI
cVE0IUNuWDREJHVzYFJEQ2RDcHxvPVd5YmV1VChKSzlZCnpXRyM5SWZFZjI7ejRxcjNZWnsySTt3
MVFONjlRWVd1X349KlkhRThAUyRacTRVfXJTfCVUUnNHO0M/WDQzQFo0dAp6QDNzK2hIKUJDYGY4
U0Z8WXpQfmBLaTNpKnd3UXBwb2Rub0RLaWYhJjZBQnt9WGY5b31WTD9NNyokbFdPOH1PIzAKendP
JD9zeEBVX3p6Z0BqdiRSdnNUdntGTDc5bnhIOyZ8JlVheElrRisyNipMMjtQZFFmNDt6aVdxYmlr
KDdxa0R0CnoqY2YrQ0NSZkorVWkwPn0tMmpxLU84UX5malNJTTNFXmtPM3k/Y1dNdGw1KHZTNXIm
N14/SDQ7STI3R2VITU8+Uwp6Vz9LTkpzM2cjNU9TJHxeME1DYE1LQT12U0c4XmVEQChMQkNyZ291
P3VAR0AhYj0mI1hIYTUrNDRsRUxkek4/S0QKeiVleEhAZkc1bm16OV8hNkV6Yj92SD00c3d3fSs+
VGVKcWheVjxpJWFBJDVjeG1gJUQjNitRQ1A3YlcqeGQjXkM0Cno4QzA3Qzxte1cmRmE2JHcrQ3tw
RndyKWg1bWFmJW00V25ubiQ+MzB6WDk7Tm1Zd1ZmMm5SX05mP0RsWFohNXZmQQp6O2A5R3R1KUto
WWJEQ3V0eWRyP3YwfnphYilSKiNNV1dOQlNCMk1jRVVYNiM0Kj9KX2B1cyFOaG51Knt5RSZmZyEK
ej5sNGJ4UX55JUZEZ1NRSnZPJlV6dG9+Q0tEREd8cChEMmxQaEcmSW8pIXtDaGR3I3ApOH4tZXdh
KD9qeTRkZWRmCnped21kI2hOdElGVGlLd3tLNTtfaGlMeWdsP1p0QHQoTF98cVlJYlV5UHN0PXk2
T2BLeF5vSnV+ZTJBKTFUPXoofgp6SUpjSXlieXNARXtjTC1FLVNhdChAM1h8Z0FyXyExUmA3KkZw
LSRQWFRnKlgmKVk0VX0wcjMlWXNIaHhPcT9aZ0gKejN2a1duKUV7THdyJklGZitfe3E5N0Jye2A9
PG59VyRLbUJ7c21mVH1KfilKNGc0KlpidnUmdyVGb21fXjNMOygyCnooSkVCZE19Xk1JeVMpSnlV
bXJSY1cyQVRGamRJQl9kK0VJdUF5JXopWmp0RztSK05AN0w7ZTF5ZEcwcTc1RDUpUwp6RT9GTXoz
MlZATjV5OGxRbEdRTUxsNGMrWHFKWV92dSZ8T25BX0VQeGJ2fG0hcyp1YmFfNXwjPkgxKEBhdVFN
dzQKenRrSVdGN2RMXjEqeH4lLUE8dkVCMCU/TERqRWUhey1xUTFBKDl7TGptJGxLI2ROYERrNksq
SlQycV5oK3ZZQWheCnNXWGB0LVEqd15tMGxyPGd4VTZpdDdFTjZ4WkI1a29JJGNARChUQH5GTVg8
c3AyYSshUTE/OGEqMzsrTkMKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50
LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0tbGludXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ViNzdjYjYyZjMxOTdjYzAzMzUyNzYyODUzZjNlMjU2ZGM2
NjQ0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxp
bnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgMjQwOHgyNDM2CisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgyNDM2
CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyNDM2CisgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MjQyMAorICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNjN4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2
MzogIlRoaXMgaXMgdGVzdCIKKyAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNjMsMTUpIHNpemUg
MHgwCitsYXllciBhdCAoOCwyOCkgc2l6ZSAyNDAweDI0MDAKKyAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDIwKSBzaXplIDI0MDB4MjQwMCBbYmdjb2xvcj0j
RkZGRkZGXQorbGF5ZXIgYXQgKDU4OCw3MTYpIHNpemUgMjAweDI1MAorICBSZW5kZXJCbG9jayAo
cG9zaXRpb25lZCkge0RJVn0gYXQgKDUwLDMwKSBzaXplIDIwMHgyNTAgW2JnY29sb3I9IzAwODAw
MF0KK2xheWVyIGF0ICg2MDgsODI4KSBzaXplIDE1OXgyNgorICBSZW5kZXJCbG9jayAocG9zaXRp
b25lZCkge0RJVn0gYXQgKDYwMCw4MDApIHNpemUgMTU5eDI2CisgICAgUmVuZGVyVGV4dENvbnRy
b2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE1NXgyMiBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVy
OiAoMnB4IGluc2V0ICMwMDAwMDApXQorbGF5ZXIgYXQgKDYxMiw4MzMpIHNpemUgMTUxeDE2Cisg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTUxeDE2CitzY3JvbGxlZCB0byA1Mzgs
Njg2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0
L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtZXhw
ZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2YmQ3YjgyOWNhMmU2YmQwZTEwOGMxMDA3ZjQ1YTQ4ZGJh
OTIzNjQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDM0MjYKemNtZUFTQE4/KG9sSHlgdVZCcSFp
YTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1QhdigkCnpHIXJBc0coKEZk
VisjV2xHZk45Zyk1SyYkQWxKZT9JbXN8N3ZCTjEpaD1HQ1VpPkhmWU5YNEFEY1d3UVchekNJWAp6
VzxOMkYyPStESCUmNSY4NnZiOGs9RF4hRSU4X1NjOVluJGw0UEM8P3EkKV5oV2k0MGUoeTdhPk5T
OFZNSXBve1oKemhKOCQoO29vRUEpZWdVQlc/KHBmYGA8UiV3IzI9MEAkdkVZVGhxKkQ+eHkrSk4t
VlJfKkpFZjFIdFR5X3dEVjUtCnoqKDAoIzM9UUljenJLenlGSkIoRkMyc3hzeC1UWFM0RFN5WlRR
fkVFYXsobzE5QUlNVC1+PStsWFpmaTAkQjlRVQp6RnN2Xk81QVFkZDI5JlY0a3IhXjhxdG5SQlAl
eHcyd2UpPmd2bH1BPS17IWt7Xld6YHppN2AwJUJycX1AVkY1REUKejd6NmNIT0NCI2dLYjQ3X0F3
bUUxJnprd0V2KEZ3QVEkJGgoUzNTeD00IWhDTjdeMHooUX11P2laaTs+ViYoRSkzCnp5fUEqNiFO
VDV0eyhuUkpaejJwRSl8WGVhenk5Xj4qWDhCQCRMQlIyYDEka2FeWWlvalpDTSMpOV5BY21QXiNA
QQp6UHstfTxgOVFodHlMUnJoe0tmJnlVX2RTMDM9YmtlKkArclNWJWMlSTJrZ0lvZVNMbFE/QWVY
Vzg1ciM1bHVKaiUKekAyaT00e2B2OEZPYmtDZD8mVClMezs0KG1Rfk80ZHBASUotQzxodz9iR21A
PUN9WT9LIWZkJX0yOE0+cTgqYikmCnppX3pTYCEwQGY4dmh3R0xNe25RMC1LJXxuZkJraz5qJCFC
SihQVHtYeXU5KHtNc0B9VTMpfElLdiViR1FkaTNiSwp6WGkhVUchfEJ0ZmNaK1l8ek1YJTZSPHs2
eSFaVG4/O2xSTmhLXy1TSEFtVUhSSjdCOXA8X3hINTAzcl9mc3sje2IKejYwcTV6cGY8YEY0RnNa
NiFzVFJzMjhJSHV1Kz4tUlh8bj44U0tQR0lQd2hAMEU4SyF2a24hKGlXe15wZklvPldfCnpGNWZz
bXVtMU1HQmI1dmNld1hxPmJmPSVMP2sjPUsrX3NHYSpzOSRZOW0zekFGOTJAO1VKdmI7PmpOZHJ4
Uil5egp6eTh8ciUqVHtRdiV4MXNjOXxUT2pkdloyTCppPX5ed3RafSZDKVJ6az9EWSZiaEs5WHN1
RD1GPzxAPkI9cEIzdnEKellRWGNLP2JfJG5qMHw/bXs/QkA7YTUrKXBTWWdkOCRzZShnRXpVanZl
NyVRRkokdilibjdCQihZT1YqaTVvXlEjCnpfNThhSnc3Xno0Vn05IUhiSnQjZlUzajBGO1h8UiRe
d1ZGZllBPFlgYjVvTHFxMmtgY3k8ZVV6PVRNKH5hJnxpLQp6Z04xNzdlO2Ngb1M2bU5WUzZfWCNR
dkFTNkZSZDM3NCtNb1g5Qn17a08+Q0R1UD5TSX11ZEIpND97Jk5IWDZmODAKenQqKStxQmx6UzB1
bExzPEtqZU99V2JhM25afD5WVD1EeWApczdjQXNVd0ItOz16MFckeztuTjZEcWdWYD8zJTw/Cnpe
PVNyTUZEcFpoTiRDR01YVlclNlZGJnM+eSMzcHluQEpsYmooPXFMV285VU5iKiN8bCVZUiR7Y1hf
UkF1Vj89XgpuV0BtVVg/YEJSfU1sQTIpNUIjcm05JGFFJjReSVZsbml4RD97YW5eTEJ7VHM1Yi1P
fTEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9kb20vc2Ny
b2xsLWVsZW1lbnQtdG8tcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNhYWYwN2QxM2Q5
OTgyYmZhOWM0ZjJjMTgxYjc2ZWViOGI1YWU4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJl
Y3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgMTYw
OHgxMjM2CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CitsYXllciBhdCAoMCww
KSBzaXplIDc4NXgxMjM2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgx
MjM2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MTIyMAorICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MjAKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjN4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA2MzogIlRoaXMgaXMgdGVzdCIKKyAgICAgICAgUmVuZGVyQlIge0JSfSBh
dCAoNjMsMTUpIHNpemUgMHgwCitsYXllciBhdCAoOCwyOCkgc2l6ZSAxNjAweDEyMDAKKyAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDIwKSBzaXplIDE2MDB4
MTIwMCBbYmdjb2xvcj0jMDA4MDAwXQorbGF5ZXIgYXQgKDYwOCw4MjgpIHNpemUgMTU5eDI2Cisg
IFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNjAwLDgwMCkgc2l6ZSAxNTl4MjYK
KyAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTU1eDIyIFtiZ2Nv
bG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCitsYXllciBhdCAoNjEy
LDgzMykgc2l6ZSAxNTF4MTYKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAxNTF4
MTYKK3Njcm9sbGVkIHRvIDUzOCw2NTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2OTcxYzk1YTVkMTRmMjVhNGI5
YTU4YzdhMmNjZTViNjZlMmQwNjUzLi4xNjJhOWFjOTY3NzFhNzk4MDVkZTYyNTVmMzQxZDE3ZTgw
NjE3MDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDktMjEgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1w
bDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRl
c3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njgx
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
czogZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0Lmh0bWwKKworICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xs
RWxlbWVudFRvUmVjdCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNjcm9s
bEVsZW1lbnRUb1JlY3QpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDExLTA5LTIxICBDaGFuZ1Nlb2sgT2ggIDxz
aGl2YW1pZG93QGdtYWlsLmNvbT4KIAogICAgICAgICBbR1RLXSBGaXggYnVpbGQgYnJlYWsgd2hl
biBlbmFibGluZyB3ZWJnbCBvbiByOTU1OTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRl
eCAxM2JkZTk2ZjczNjQ0YTE1NmJkMTE5MTg5Yjc1YzhiZTE3N2UwNjM0Li5jM2VkZDlhNThlYzFj
YTg0NTU0MGU3Y2VmOGU2MWRiMGNhYWM5ZDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CkBAIC0xNjIzLDYgKzE2MjMsMTYgQEAgdm9pZCBGcmFtZVZpZXc6Om1haW50YWluU2Nyb2xsUG9z
aXRpb25BdEFuY2hvcihOb2RlKiBhbmNob3JOb2RlKQogICAgICAgICBzY3JvbGxUb0FuY2hvcigp
OwogfQogCit2b2lkIEZyYW1lVmlldzo6c2Nyb2xsRWxlbWVudFRvUmVjdChFbGVtZW50KiBlbGVt
ZW50LCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworCisgICAgTGF5b3V0UmVjdCBi
b3VuZHMgPSBlbGVtZW50LT5ib3VuZHNJbldpbmRvd1NwYWNlKCk7CisgICAgaW50IGNlbnRlcmlu
Z09mZnNldFggPSAocmVjdC53aWR0aCgpIC0gYm91bmRzLndpZHRoKCkpIC8gMjsKKyAgICBpbnQg
Y2VudGVyaW5nT2Zmc2V0WSA9IChyZWN0LmhlaWdodCgpIC0gYm91bmRzLmhlaWdodCgpKSAvIDI7
CisgICAgc2Nyb2xsQnkoSW50U2l6ZShib3VuZHMueCgpIC0gY2VudGVyaW5nT2Zmc2V0WCAtIHJl
Y3QueCgpLCBib3VuZHMueSgpIC0gY2VudGVyaW5nT2Zmc2V0WSAtIHJlY3QueSgpKSk7Cit9CisK
IHZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBMYXlvdXRQb2ludCYgc2Ny
b2xsUG9pbnQpCiB7CiAgICAgYm9vbCB3YXNJblByb2dyYW1tYXRpY1Njcm9sbCA9IG1faW5Qcm9n
cmFtbWF0aWNTY3JvbGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCAzM2UxZDljMDNhMjYy
NzU0M2JiYjBkYTQ3YTQ3OWZhNGE0YjNhMjAzLi40MGQ4YjRlZGU0NDBkZjQxYmQ2ZWMzZWRlNTZk
MGExM2E5ZmZkMzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTM2LDYgKzM2LDcgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ29sb3I7CitjbGFzcyBFbGVtZW50OwogY2xh
c3MgRXZlbnQ7CiBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBGcmFtZTsKQEAgLTI1OCw2ICsyNTks
NyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzY3JvbGxUb0ZyYWdtZW50KGNvbnN0IEtVUkwmKTsKICAg
ICBib29sIHNjcm9sbFRvQW5jaG9yKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgbWFpbnRhaW5T
Y3JvbGxQb3NpdGlvbkF0QW5jaG9yKE5vZGUqKTsKKyAgICB2b2lkIHNjcm9sbEVsZW1lbnRUb1Jl
Y3QoRWxlbWVudCosIGNvbnN0IEludFJlY3QmKTsKIAogICAgIC8vIE1ldGhvZHMgdG8gY29udmVy
dCBwb2ludHMgYW5kIHJlY3RzIGJldHdlZW4gdGhlIGNvb3JkaW5hdGUgc3BhY2Ugb2YgdGhlIHJl
bmRlcmVyLCBhbmQgdGhpcyB2aWV3LgogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBjb252ZXJ0RnJv
bVJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCosIGNvbnN0IExheW91dFJlY3QmKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCAwNGVjOWVmNTM3NDhiOWFkNzRm
ZWU4MDY2NmNmMTUwZGIxODBlYTNiLi4yNTE0Mzc3N2RkZTE5ODAyOWUxM2UyZDk1NzQzOTUwY2E0
NjI0ZTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zNyw2ICszNyw3
IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJbnRSZWN0
LmgiCiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyaW5nQ29u
dGV4dC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTM2NSw0ICszNjYsMTUgQEAgdm9pZCBJbnRl
cm5hbHM6OnNldFN1Z2dlc3RlZFZhbHVlKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFN0cmluZyYg
dmFsdWUsIEV4Y2VwdGkKICAgICBpbnB1dEVsZW1lbnQtPnNldFN1Z2dlc3RlZFZhbHVlKHZhbHVl
KTsKIH0KIAordm9pZCBJbnRlcm5hbHM6OnNjcm9sbEVsZW1lbnRUb1JlY3QoRWxlbWVudCogZWxl
bWVudCwgbG9uZyB4LCBsb25nIHksIGxvbmcgdywgbG9uZyBoLCBFeGNlcHRpb25Db2RlJiBlYykK
K3sKKyAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQtPmRvY3VtZW50KCkgfHwgIWVsZW1lbnQt
PmRvY3VtZW50KCktPnZpZXcoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZWxl
bWVudC0+ZG9jdW1lbnQoKS0+dmlldygpOworICAgIGZyYW1lVmlldy0+c2Nyb2xsRWxlbWVudFRv
UmVjdChlbGVtZW50LCBJbnRSZWN0KHgsIHksIHcsIGgpKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKaW5kZXggMTM0MzdlMWVkYTQwNTc5NDgyZWFlODdjNzQ4NzE2N2Y0ZDcw
ZjY1Mi4uMmFkYjRjMmI5MjkzOTY2N2NhOWQ4YzhlMDA3ZmQ5OGI5MjFhMDFlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC04Nyw2ICs4Nyw3IEBAIHB1YmxpYzoKICAgICBib29s
IHdhc0xhc3RDaGFuZ2VVc2VyRWRpdChFbGVtZW50KiB0ZXh0RmllbGQsIEV4Y2VwdGlvbkNvZGUm
KTsKICAgICBTdHJpbmcgc3VnZ2VzdGVkVmFsdWUoRWxlbWVudCogaW5wdXRFbGVtZW50LCBFeGNl
cHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRTdWdnZXN0ZWRWYWx1ZShFbGVtZW50KiBpbnB1dEVs
ZW1lbnQsIGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNjcm9sbEVs
ZW1lbnRUb1JlY3QoRWxlbWVudCosIGxvbmcgeCwgbG9uZyB5LCBsb25nIHcsIGxvbmcgaCwgRXhj
ZXB0aW9uQ29kZSYpOwogCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGludGVybmFsc0lkOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNWUyMzFjY2Q1MzE4OTU5NGVhZDRj
NmYwOGNiNzMwOWQ0MmJlNzM2OC4uNzYxMDQ5OTA3MTI5NDI4MDQyZWNkMWIyMzkyY2IxYTg2ZDdk
MzZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNjEsNiArNjEsNyBA
QCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYm9vbGVhbiB3YXNMYXN0Q2hhbmdlVXNlckVkaXQo
aW4gRWxlbWVudCB0ZXh0RmllbGQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRE9N
U3RyaW5nIHN1Z2dlc3RlZFZhbHVlKGluIEVsZW1lbnQgaW5wdXRFbGVtZW50KSByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0U3VnZ2VzdGVkVmFsdWUoaW4gRWxlbWVudCBp
bnB1dEVsZW1lbnQsIGluIERPTVN0cmluZyB2YWx1ZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwor
ICAgICAgICB2b2lkIHNjcm9sbEVsZW1lbnRUb1JlY3QoaW4gRWxlbWVudCBlbGVtZW50LCBpbiBs
b25nIHgsIGluIGxvbmcgeSwgaW4gbG9uZyB3LCBpbiBsb25nIGgpIHJhaXNlcyAoRE9NRXhjZXB0
aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIzZjhjMDk2
ZjEwOTkxYzE1N2YwOWMyODY2MDkzMDAwNDM1ZjE1ZDcuLjUxZWE3NzZjNWEwNWU4ZThjOTk1MmYw
MmNkZWRlN2ZiMGE5YTFhODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTEtMDktMjEgIFZhcnVuIEphaW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1wbDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0
byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxOTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXc6OnNjcm9sbEZvY3VzZWROb2RlSW50b1JlY3QpOgorICAgICAgICAqIHNyYy9X
ZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzY3JvbGxGb2N1
c2VkTm9kZUludG9SZWN0KToKKwogMjAxMS0wOS0yMSAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56
aHVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVuc3VyZSBUZXN0V2ViS2l0QVBJIHdvcmtzIG9u
IG1hYywgd2luLCBjaHJvbWl1bS1tYWMgYW5kIGNocm9taXVtLWxpbnV4CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKaW5kZXggMzM4YzJhZDk0NWYwODJhNGFmZWE1NWFlY2Qw
YTcwOTRkYmQxYmE4OS4uNzVlMGJiMDM0M2U4NjM4NGIzYzQzMDlmYTY0ZWRhZWRjYjE5ZjU5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaApAQCAtMTc1LDggKzE3NSw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsRm9jdXNlZE5vZGVJbnRvVmlldygp
ID0gMDsKIAogICAgIC8vIFNjcm9sbHMgdGhlIG5vZGUgY3VycmVudGx5IGluIGZvY3VzIGludG8g
fHJlY3R8LCB3aGVyZSB8cmVjdHwgaXMgaW4KLSAgICAvLyBzY3JlZW4gc3BhY2UuCi0gICAgdmly
dHVhbCB2b2lkIHNjcm9sbEZvY3VzZWROb2RlSW50b1JlY3QoY29uc3QgV2ViUmVjdCYgcmVjdCkg
eyB9CisgICAgLy8gd2luZG93IHNwYWNlLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxGb2N1c2Vk
Tm9kZUludG9SZWN0KGNvbnN0IFdlYlJlY3QmKSB7IH0KIAogCiAgICAgLy8gWm9vbSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggMWY4NTA5
ZjQ4NmFmMTM2OWFhN2I5NGMwNjU5OTQ0ZDZhZTU2MGVhZS4uZDAyNzMxMWM0YmYzNTRiOGM0N2Vh
ZWQxNGVlN2JmNzQ0ZTA5ZWQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcApAQCAtMTgyMSwxNiArMTgyMSwxMiBAQCB2b2lkIFdlYlZpZXdJbXBsOjpzY3Jv
bGxGb2N1c2VkTm9kZUludG9WaWV3KCkKIHZvaWQgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWRO
b2RlSW50b1JlY3QoY29uc3QgV2ViUmVjdCYgcmVjdCkKIHsKICAgICBOb2RlKiBmb2N1c2VkTm9k
ZSA9IGZvY3VzZWRXZWJDb3JlTm9kZSgpOwotICAgIGlmICghZm9jdXNlZE5vZGUgfHwgIWZvY3Vz
ZWROb2RlLT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBFbGVtZW50KiBl
bGVtZW50Tm9kZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihmb2N1c2VkTm9kZSk7Ci0gICAgTGF5
b3V0UmVjdCBib3VuZHMgPSBlbGVtZW50Tm9kZS0+Ym91bmRzSW5XaW5kb3dTcGFjZSgpOwotICAg
IGludCBjZW50ZXJpbmdPZmZzZXRYID0gKHJlY3Qud2lkdGggLSBib3VuZHMud2lkdGgoKSkgLyAy
OwotICAgIGludCBjZW50ZXJpbmdPZmZzZXRZID0gKHJlY3QuaGVpZ2h0IC0gYm91bmRzLmhlaWdo
dCgpKSAvIDI7Ci0gICAgSW50U2l6ZSBzY3JvbGxPZmZzZXQoYm91bmRzLngoKSAtIGNlbnRlcmlu
Z09mZnNldFgsIGJvdW5kcy55KCkgLSBjZW50ZXJpbmdPZmZzZXRZKTsKLSAgICBGcmFtZSogZnJh
bWUgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCk7Ci0gICAgaWYgKGZyYW1lICYmIGZyYW1lLT52
aWV3KCkpCi0gICAgICAgIGZyYW1lLT52aWV3KCktPnNjcm9sbEJ5KHNjcm9sbE9mZnNldCk7Cisg
ICAgaWYgKGZvY3VzZWROb2RlICYmIGZvY3VzZWROb2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAg
ICAgICAgRWxlbWVudCogZWxlbWVudE5vZGUgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4oZm9jdXNl
ZE5vZGUpOworICAgICAgICBGcmFtZSogZnJhbWUgPSBwYWdlKCktPm1haW5GcmFtZSgpOworICAg
ICAgICBpZiAoZnJhbWUgJiYgZnJhbWUtPnZpZXcoKSkKKyAgICAgICAgICAgIGZyYW1lLT52aWV3
KCktPnNjcm9sbEVsZW1lbnRUb1JlY3QoZWxlbWVudE5vZGUsIEludFJlY3QocmVjdC54LCByZWN0
LnksIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KSk7CisgICAgfQogfQogCiBkb3VibGUgV2ViVmll
d0ltcGw6Onpvb21MZXZlbCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108330</attachid>
            <date>2011-09-22 07:37:26 -0700</date>
            <delta_ts>2011-09-22 12:08:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68198-20110922103318.patch</filename>
            <type>text/plain</type>
            <size>16929</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU3MTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYmM2ZDdlMDM2MWUwYjVmYzM1ZjY2
ZjNkODMyMzYyMDgxZTYwNjdlLi45ZWY4OTc2NDkwNjNjOGM1MTI5NTNiMTYxMTg5ODMyNWE3MjZh
MTJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMjIgIFZhcnVuIEphaW4gIDx2YXJ1
bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1wbDo6c2Nyb2xs
Rm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRlc3RzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxOTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3Nj
cm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRl
cmVkLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGlu
dXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9s
bC1lbGVtZW50LXRvLXJlY3QtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisKIDIwMTEtMDktMjIgIEFscGhhIExhbSAgPGhjbGFtQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njgw
ODEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJl
Y3QtY2VudGVyZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRv
LXJlY3QtY2VudGVyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZGY3ZmMxYzk5OWQ0MTg0MjgxZGQyZDEw
MGUyZjA0MzU2MWZlNWI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxo
dG1sPgorICA8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgZnVuY3Rpb24gZG9UZXN0KCkgewor
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICAgIHZhciBib3ggPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dGJveCcpOworICAgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2Nyb2xsRWxlbWVudFRvUmVjdChib3gsIDUwLCAzMCwgMjAwLCAyNTApOworICAgICAgICB9
CisgICAgICB9CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgVGhpcyBpcyB0ZXN0PGJy
PgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDI0MDBweDsgaGVp
Z2h0OiAyNDAwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyI+CisgICAgICA8ZGl2IHN0eWxl
PSJwb3NpdGlvbjpmaXhlZDsgbGVmdDogNTBweDsgdG9wOiAzMHB4OyB3aWR0aDogMjAwcHg7IGhl
aWdodDogMjUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICA8ZGl2
IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDogNjAwcHg7IHRvcDogODAwcHg7Ij4gPGlu
cHV0IGlkPSJ0ZXh0Ym94IiB0eXBlPSJ0ZXh0Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1l
bnQtdG8tcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8t
cmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlN2JkZGUxMGE1Yjk5NTI4NTA3ZWEzNGM5YWJhNmMzODQ1
ODRiMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxl
bWVudC10by1yZWN0Lmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPGh0bWw+CisgIDxoZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgICAgICAgdmFyIGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXh0Ym94Jyk7CisgICAgICAgICAgd2luZG93LmludGVybmFscy5zY3JvbGxFbGVtZW50VG9S
ZWN0KGJveCwgMCwgMCwgMzAwLCAzMDApOworICAgICAgICB9CisgICAgICB9CisgICAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgIDwv
aGVhZD4KKyAgPGJvZHk+CisgICAgVGhpcyBpcyB0ZXN0PGJyPgorICAgIDxkaXYgc3R5bGU9InBv
c2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDE2MDBweDsgaGVpZ2h0OiAxMjAwcHg7IGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyI+CisgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsg
bGVmdDogNjAwcHg7IHRvcDogODAwcHg7Ij4gPGlucHV0IGlkPSJ0ZXh0Ym94IiB0eXBlPSJ0ZXh0
Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQt
dG8tcmVjdC1jZW50ZXJlZC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRlcmVkLWV4cGVj
dGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jNWQ3ZTY1NGUzOWYyZmRiNDZiYTRlMWNkYWExNmMzZWI4ZGJl
MGJlCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzNDQ2CnpjbWVIS1pBPz5GNz05QCpEaioqZHV6
VSVkK1FyYU56PXt7SjB9WEBgTmcyWWwkZzxIXj5jX0FVaTtNeHJBYDh3cQp6QVY0TmcoN0dpWCta
LSgpTCZqJD5VfVo9O1NTKythRV81Z15APS1vJkozdUhxV3ptQEptdD1ueUlYfSpRLWdEMUEKej1p
RGR2ZEVXUDRkWTJXcysxa3ctMDUoVXg2TWhLNSsjNyh6Q1g+Kkp2eTx+JT0mfno0Zn1QR2drPDl4
QGM9ant8CnphczJsdGB2dmojYUpZZE9CYmdmJSExdT5eJDJmYTFZJlhXYD94anFZP20meD9xciYm
Y1hJNHhUeztiNGRIJkpaSgp6Sm10c3VUX3V+PyhqOyl3VWQ8aTt7SzE0YCsqYjNyTm14OHFoPEFv
RDsrMVdkRl4oTm5ePSFMaVg0UysoPTlaUE8KeiFeRFArIXBkZXNLbXl6YHV2fiMhK3t+fGs9Kkdf
a2VIcVE0IUNuWDREJHVzYFJEQ2RDcHxvPVd5YmV1VChKSzlZCnpXRyM5SWZFZjI7ejRxcjNZWnsy
STt3MVFONjlRWVd1X349KlkhRThAUyRacTRVfXJTfCVUUnNHO0M/WDQzQFo0dAp6QDNzK2hIKUJD
YGY4U0Z8WXpQfmBLaTNpKnd3UXBwb2Rub0RLaWYhJjZBQnt9WGY5b31WTD9NNyokbFdPOH1PIzAK
endPJD9zeEBVX3p6Z0BqdiRSdnNUdntGTDc5bnhIOyZ8JlVheElrRisyNipMMjtQZFFmNDt6aVdx
YmlrKDdxa0R0CnoqY2YrQ0NSZkorVWkwPn0tMmpxLU84UX5malNJTTNFXmtPM3k/Y1dNdGw1KHZT
NXImN14/SDQ7STI3R2VITU8+Uwp6Vz9LTkpzM2cjNU9TJHxeME1DYE1LQT12U0c4XmVEQChMQkNy
Z291P3VAR0AhYj0mI1hIYTUrNDRsRUxkek4/S0QKeiVleEhAZkc1bm16OV8hNkV6Yj92SD00c3d3
fSs+VGVKcWheVjxpJWFBJDVjeG1gJUQjNitRQ1A3YlcqeGQjXkM0Cno4QzA3Qzxte1cmRmE2JHcr
Q3twRndyKWg1bWFmJW00V25ubiQ+MzB6WDk7Tm1Zd1ZmMm5SX05mP0RsWFohNXZmQQp6O2A5R3R1
KUtoWWJEQ3V0eWRyP3YwfnphYilSKiNNV1dOQlNCMk1jRVVYNiM0Kj9KX2B1cyFOaG51Knt5RSZm
ZyEKej5sNGJ4UX55JUZEZ1NRSnZPJlV6dG9+Q0tEREd8cChEMmxQaEcmSW8pIXtDaGR3I3ApOH4t
ZXdhKD9qeTRkZWRmCnped21kI2hOdElGVGlLd3tLNTtfaGlMeWdsP1p0QHQoTF98cVlJYlV5UHN0
PXk2T2BLeF5vSnV+ZTJBKTFUPXoofgp6SUpjSXlieXNARXtjTC1FLVNhdChAM1h8Z0FyXyExUmA3
KkZwLSRQWFRnKlgmKVk0VX0wcjMlWXNIaHhPcT9aZ0gKejN2a1duKUV7THdyJklGZitfe3E5N0Jy
e2A9PG59VyRLbUJ7c21mVH1KfilKNGc0KlpidnUmdyVGb21fXjNMOygyCnooSkVCZE19Xk1JeVMp
SnlVbXJSY1cyQVRGamRJQl9kK0VJdUF5JXopWmp0RztSK05AN0w7ZTF5ZEcwcTc1RDUpUwp6RT9G
TXozMlZATjV5OGxRbEdRTUxsNGMrWHFKWV92dSZ8T25BX0VQeGJ2fG0hcyp1YmFfNXwjPkgxKEBh
dVFNdzQKenRrSVdGN2RMXjEqeH4lLUE8dkVCMCU/TERqRWUhey1xUTFBKDl7TGptJGxLI2ROYERr
NksqSlQycV5oK3ZZQWheCnNXWGB0LVEqd15tMGxyPGd4VTZpdDdFTjZ4WkI1a29JJGNARChUQH5G
TVg8c3AyYSshUTE/OGEqMzsrTkMKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVt
ZW50LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0tbGludXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ViNzdjYjYyZjMxOTdjYzAzMzUyNzYyODUzZjNlMjU2
ZGM2NjQ0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgMjQwOHgyNDM2CisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgy
NDM2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyNDM2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MjQyMAorICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgNjN4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA2MzogIlRoaXMgaXMgdGVzdCIKKyAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNjMsMTUpIHNp
emUgMHgwCitsYXllciBhdCAoOCwyOCkgc2l6ZSAyNDAweDI0MDAKKyAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDIwKSBzaXplIDI0MDB4MjQwMCBbYmdjb2xv
cj0jRkZGRkZGXQorbGF5ZXIgYXQgKDU4OCw3MTYpIHNpemUgMjAweDI1MAorICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDUwLDMwKSBzaXplIDIwMHgyNTAgW2JnY29sb3I9IzAw
ODAwMF0KK2xheWVyIGF0ICg2MDgsODI4KSBzaXplIDE1OXgyNgorICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDYwMCw4MDApIHNpemUgMTU5eDI2CisgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE1NXgyMiBbYmdjb2xvcj0jRkZGRkZGXSBbYm9y
ZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorbGF5ZXIgYXQgKDYxMiw4MzMpIHNpemUgMTUxeDE2
CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTUxeDE2CitzY3JvbGxlZCB0byA1
MzgsNjg2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9m
YXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3Qt
ZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2YmQ3YjgyOWNhMmU2YmQwZTEwOGMxMDA3ZjQ1YTQ4
ZGJhOTIzNjQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDM0MjYKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1QhdigkCnpHIXJBc0co
KEZkVisjV2xHZk45Zyk1SyYkQWxKZT9JbXN8N3ZCTjEpaD1HQ1VpPkhmWU5YNEFEY1d3UVchekNJ
WAp6VzxOMkYyPStESCUmNSY4NnZiOGs9RF4hRSU4X1NjOVluJGw0UEM8P3EkKV5oV2k0MGUoeTdh
Pk5TOFZNSXBve1oKemhKOCQoO29vRUEpZWdVQlc/KHBmYGA8UiV3IzI9MEAkdkVZVGhxKkQ+eHkr
Sk4tVlJfKkpFZjFIdFR5X3dEVjUtCnoqKDAoIzM9UUljenJLenlGSkIoRkMyc3hzeC1UWFM0RFN5
WlRRfkVFYXsobzE5QUlNVC1+PStsWFpmaTAkQjlRVQp6RnN2Xk81QVFkZDI5JlY0a3IhXjhxdG5S
QlAleHcyd2UpPmd2bH1BPS17IWt7Xld6YHppN2AwJUJycX1AVkY1REUKejd6NmNIT0NCI2dLYjQ3
X0F3bUUxJnprd0V2KEZ3QVEkJGgoUzNTeD00IWhDTjdeMHooUX11P2laaTs+ViYoRSkzCnp5fUEq
NiFOVDV0eyhuUkpaejJwRSl8WGVhenk5Xj4qWDhCQCRMQlIyYDEka2FeWWlvalpDTSMpOV5BY21Q
XiNAQQp6UHstfTxgOVFodHlMUnJoe0tmJnlVX2RTMDM9YmtlKkArclNWJWMlSTJrZ0lvZVNMbFE/
QWVYVzg1ciM1bHVKaiUKekAyaT00e2B2OEZPYmtDZD8mVClMezs0KG1Rfk80ZHBASUotQzxodz9i
R21APUN9WT9LIWZkJX0yOE0+cTgqYikmCnppX3pTYCEwQGY4dmh3R0xNe25RMC1LJXxuZkJraz5q
JCFCSihQVHtYeXU5KHtNc0B9VTMpfElLdiViR1FkaTNiSwp6WGkhVUchfEJ0ZmNaK1l8ek1YJTZS
PHs2eSFaVG4/O2xSTmhLXy1TSEFtVUhSSjdCOXA8X3hINTAzcl9mc3sje2IKejYwcTV6cGY8YEY0
RnNaNiFzVFJzMjhJSHV1Kz4tUlh8bj44U0tQR0lQd2hAMEU4SyF2a24hKGlXe15wZklvPldfCnpG
NWZzbXVtMU1HQmI1dmNld1hxPmJmPSVMP2sjPUsrX3NHYSpzOSRZOW0zekFGOTJAO1VKdmI7PmpO
ZHJ4Uil5egp6eTh8ciUqVHtRdiV4MXNjOXxUT2pkdloyTCppPX5ed3RafSZDKVJ6az9EWSZiaEs5
WHN1RD1GPzxAPkI9cEIzdnEKellRWGNLP2JfJG5qMHw/bXs/QkA7YTUrKXBTWWdkOCRzZShnRXpV
anZlNyVRRkokdilibjdCQihZT1YqaTVvXlEjCnpfNThhSnc3Xno0Vn05IUhiSnQjZlUzajBGO1h8
UiRed1ZGZllBPFlgYjVvTHFxMmtgY3k8ZVV6PVRNKH5hJnxpLQp6Z04xNzdlO2Ngb1M2bU5WUzZf
WCNRdkFTNkZSZDM3NCtNb1g5Qn17a08+Q0R1UD5TSX11ZEIpND97Jk5IWDZmODAKenQqKStxQmx6
UzB1bExzPEtqZU99V2JhM25afD5WVD1EeWApczdjQXNVd0ItOz16MFckeztuTjZEcWdWYD8zJTw/
CnpePVNyTUZEcFpoTiRDR01YVlclNlZGJnM+eSMzcHluQEpsYmooPXFMV285VU5iKiN8bCVZUiR7
Y1hfUkF1Vj89XgpuV0BtVVg/YEJSfU1sQTIpNUIjcm05JGFFJjReSVZsbml4RD97YW5eTEJ7VHM1
Yi1PfTEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9kb20v
c2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNhYWYwN2Qx
M2Q5OTgyYmZhOWM0ZjJjMTgxYjc2ZWViOGI1YWU4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRv
LXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUg
MTYwOHgxMjM2CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CitsYXllciBhdCAo
MCwwKSBzaXplIDc4NXgxMjM2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4
NXgxMjM2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MTIyMAorICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MjAKKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjN4MTkKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA2MzogIlRoaXMgaXMgdGVzdCIKKyAgICAgICAgUmVuZGVyQlIge0JS
fSBhdCAoNjMsMTUpIHNpemUgMHgwCitsYXllciBhdCAoOCwyOCkgc2l6ZSAxNjAweDEyMDAKKyAg
UmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDIwKSBzaXplIDE2
MDB4MTIwMCBbYmdjb2xvcj0jMDA4MDAwXQorbGF5ZXIgYXQgKDYwOCw4MjgpIHNpemUgMTU5eDI2
CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNjAwLDgwMCkgc2l6ZSAxNTl4
MjYKKyAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTU1eDIyIFti
Z2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCitsYXllciBhdCAo
NjEyLDgzMykgc2l6ZSAxNTF4MTYKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAx
NTF4MTYKK3Njcm9sbGVkIHRvIDUzOCw2NTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwOTI3ZjgzNjUzOGMzNDY5
MDA5ZjAyNzMxOWMwNWQzM2FiNTRkZWYwLi5mNTUyNGNkMmU4MTlmMzFhNjJkYmUzNjNmMzVkOTFj
YTMyYzVhYzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDktMjIgIFZhcnVu
IEphaW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3
SW1wbDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRk
IHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjgxOTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0czogZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0Lmh0bWwKKworICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Ny
b2xsRWxlbWVudFRvUmVjdCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNj
cm9sbEVsZW1lbnRUb1JlY3QpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDExLTA5LTIyICBBbHBoYSBMYW0gIDxo
Y2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRGVmaW5lIGV4cG9ydCBzeW1ib2wgY29ycmVj
dGx5IGR1ZSB0byByZW5hbWUgb2YgcGFnZVNjYWxlRmFjdG9yIHRvCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggZjM4MDQwYjM3YjEzNjg5MTZmNGFmODY4MTRkMTliODdlZjRiZmUzMy4u
NjkwMWI0M2E2YTY2YWU1ZjdhNzY2NTJiMTJlN2JiNjk4ZjJlMzA1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtMTYyMyw2ICsxNjIzLDE2IEBAIHZvaWQgRnJhbWVWaWV3OjptYWlu
dGFpblNjcm9sbFBvc2l0aW9uQXRBbmNob3IoTm9kZSogYW5jaG9yTm9kZSkKICAgICAgICAgc2Ny
b2xsVG9BbmNob3IoKTsKIH0KIAordm9pZCBGcmFtZVZpZXc6OnNjcm9sbEVsZW1lbnRUb1JlY3Qo
RWxlbWVudCogZWxlbWVudCwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICBtX2ZyYW1lLT5k
b2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKworICAg
IExheW91dFJlY3QgYm91bmRzID0gZWxlbWVudC0+Ym91bmRzSW5XaW5kb3dTcGFjZSgpOworICAg
IGludCBjZW50ZXJpbmdPZmZzZXRYID0gKHJlY3Qud2lkdGgoKSAtIGJvdW5kcy53aWR0aCgpKSAv
IDI7CisgICAgaW50IGNlbnRlcmluZ09mZnNldFkgPSAocmVjdC5oZWlnaHQoKSAtIGJvdW5kcy5o
ZWlnaHQoKSkgLyAyOworICAgIHNjcm9sbEJ5KEludFNpemUoYm91bmRzLngoKSAtIGNlbnRlcmlu
Z09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkgLSByZWN0
LnkoKSkpOworfQorCiB2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgTGF5
b3V0UG9pbnQmIHNjcm9sbFBvaW50KQogewogICAgIGJvb2wgd2FzSW5Qcm9ncmFtbWF0aWNTY3Jv
bGwgPSBtX2luUHJvZ3JhbW1hdGljU2Nyb2xsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXgg
NWU2YmJhNTU2NTJiNmE5OTc1MjcxM2FjOTE3MGZjYjg0NjFmZjU0OC4uZWJhZjIyNmE0YjM4M2I3
ZGNjZmY3Y2IwNWYxMzlkOGFmM2I3NjM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0z
Niw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvbG9yOworY2xhc3Mg
RWxlbWVudDsKIGNsYXNzIEV2ZW50OwogY2xhc3MgRmxvYXRTaXplOwogY2xhc3MgRnJhbWU7CkBA
IC0yNTksNiArMjYwLDcgQEAgcHVibGljOgogICAgIGJvb2wgc2Nyb2xsVG9GcmFnbWVudChjb25z
dCBLVVJMJik7CiAgICAgYm9vbCBzY3JvbGxUb0FuY2hvcihjb25zdCBTdHJpbmcmKTsKICAgICB2
b2lkIG1haW50YWluU2Nyb2xsUG9zaXRpb25BdEFuY2hvcihOb2RlKik7CisgICAgdm9pZCBzY3Jv
bGxFbGVtZW50VG9SZWN0KEVsZW1lbnQqLCBjb25zdCBJbnRSZWN0Jik7CiAKICAgICAvLyBNZXRo
b2RzIHRvIGNvbnZlcnQgcG9pbnRzIGFuZCByZWN0cyBiZXR3ZWVuIHRoZSBjb29yZGluYXRlIHNw
YWNlIG9mIHRoZSByZW5kZXJlciwgYW5kIHRoaXMgdmlldy4KICAgICB2aXJ0dWFsIExheW91dFJl
Y3QgY29udmVydEZyb21SZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBMYXlvdXRS
ZWN0JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZmE5MjA1
MWM0OWE5YzQ4ZGZkMjQzYzg5NTdhYjhjMjc0ODAyNGM1Zi4uZjlhNzhhMjQyZjBhYzRlZjUwZjRi
NzQ0MzNhYTJlMTlkMGMyMWJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApA
QCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxU
ZXh0QXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCisjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiTm9k
ZVJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0zNzYsNCArMzc3LDE0
IEBAIHZvaWQgSW50ZXJuYWxzOjpwYWludENvbnRyb2xUaW50cyhEb2N1bWVudCogZG9jdW1lbnQs
IEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIGZyYW1lVmlldy0+cGFpbnRDb250cm9sVGludHMoKTsK
IH0KIAordm9pZCBJbnRlcm5hbHM6OnNjcm9sbEVsZW1lbnRUb1JlY3QoRWxlbWVudCogZWxlbWVu
dCwgbG9uZyB4LCBsb25nIHksIGxvbmcgdywgbG9uZyBoLCBFeGNlcHRpb25Db2RlJiBlYykKK3sK
KyAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQtPmRvY3VtZW50KCkgfHwgIWVsZW1lbnQtPmRv
Y3VtZW50KCktPnZpZXcoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGVsZW1lbnQt
PmRvY3VtZW50KCktPnZpZXcoKTsKKyAgICBmcmFtZVZpZXctPnNjcm9sbEVsZW1lbnRUb1JlY3Qo
ZWxlbWVudCwgSW50UmVjdCh4LCB5LCB3LCBoKSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IDdjNDU2ZmJmMDkxYzYzZTU2MGQ3YzJiYjAyNTIzNDM3ODRlYTA3YjYu
LmMyYzI2NGZmOTM2ZjUyMDMwNzMwODQ3ZmQ1MzU5MTcwYzlhMjIwNmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtODcsNiArODcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB3YXNM
YXN0Q2hhbmdlVXNlckVkaXQoRWxlbWVudCogdGV4dEZpZWxkLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgU3RyaW5nIHN1Z2dlc3RlZFZhbHVlKEVsZW1lbnQqIGlucHV0RWxlbWVudCwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIHZvaWQgc2V0U3VnZ2VzdGVkVmFsdWUoRWxlbWVudCogaW5wdXRFbGVtZW50
LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBzY3JvbGxFbGVtZW50
VG9SZWN0KEVsZW1lbnQqLCBsb25nIHgsIGxvbmcgeSwgbG9uZyB3LCBsb25nIGgsIEV4Y2VwdGlv
bkNvZGUmKTsKIAogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBpbnRlcm5hbHNJZDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGQ4YTBhNmQwNmZhNWM5MTQ2ZTIxMzk4MWYy
YmJiMmVmMjVjOWNiYzguLmMyNjdlNDg2YTAxNzBhNGFjYzQ4NDdmN2M1NmQwN2RhNDY3MTc4MTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTYzLDYgKzYzLDggQEAgbW9k
dWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc2V0U3VnZ2VzdGVkVmFsdWUoaW4gRWxlbWVudCBp
bnB1dEVsZW1lbnQsIGluIERPTVN0cmluZyB2YWx1ZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwog
CiAgICAgICAgIHZvaWQgcGFpbnRDb250cm9sVGludHMoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICB2b2lkIHNjcm9sbEVsZW1lbnRUb1JlY3Qo
aW4gRWxlbWVudCBlbGVtZW50LCBpbiBsb25nIHgsIGluIGxvbmcgeSwgaW4gbG9uZyB3LCBpbiBs
b25nIGgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDZiNGUyODVlNDgzZjgwZWQ1YzRhMTg1YjQxMGIyODBjYjFlNmFhZDEu
LjczYzQzODhhODlhOGFlNmFlYzNmNGI1MDEyYjE5OTNlYjcyOTRhOTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMjIgIFZhcnVuIEphaW4gIDx2
YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1wbDo6c2Ny
b2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRlc3RzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxOTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9X
ZWJWaWV3Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnNjcm9sbEZvY3VzZWROb2RlSW50
b1JlY3QpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjpzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0KToKKwogMjAxMS0wOS0yMiAg
SmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI5NTY5OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZp
ZXcuaAppbmRleCAzMzhjMmFkOTQ1ZjA4MmE0YWZlYTU1YWVjZDBhNzA5NGRiZDFiYTg5Li43NWUw
YmIwMzQzZTg2Mzg0YjNjNDMwOWZhNjRlZGFlZGNiMTlmNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViVmlldy5oCkBAIC0xNzUsOCArMTc1LDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBzY3JvbGxGb2N1c2VkTm9kZUludG9WaWV3KCkgPSAwOwogCiAgICAgLy8gU2Ny
b2xscyB0aGUgbm9kZSBjdXJyZW50bHkgaW4gZm9jdXMgaW50byB8cmVjdHwsIHdoZXJlIHxyZWN0
fCBpcyBpbgotICAgIC8vIHNjcmVlbiBzcGFjZS4KLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsRm9j
dXNlZE5vZGVJbnRvUmVjdChjb25zdCBXZWJSZWN0JiByZWN0KSB7IH0KKyAgICAvLyB3aW5kb3cg
c3BhY2UuCisgICAgdmlydHVhbCB2b2lkIHNjcm9sbEZvY3VzZWROb2RlSW50b1JlY3QoY29uc3Qg
V2ViUmVjdCYpIHsgfQogCiAKICAgICAvLyBab29tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAxZjg1MDlmNDg2YWYxMzY5YWE3Yjk0YzA2
NTk5NDRkNmFlNTYwZWFlLi5kMDI3MzExYzRiZjM1NGI4YzQ3ZWFlZDE0ZWU3YmY3NDRlMDllZDhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xODIx
LDE2ICsxODIxLDEyIEBAIHZvaWQgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWROb2RlSW50b1Zp
ZXcoKQogdm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdChjb25zdCBX
ZWJSZWN0JiByZWN0KQogewogICAgIE5vZGUqIGZvY3VzZWROb2RlID0gZm9jdXNlZFdlYkNvcmVO
b2RlKCk7Ci0gICAgaWYgKCFmb2N1c2VkTm9kZSB8fCAhZm9jdXNlZE5vZGUtPmlzRWxlbWVudE5v
ZGUoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIEVsZW1lbnQqIGVsZW1lbnROb2RlID0gc3RhdGlj
X2Nhc3Q8RWxlbWVudCo+KGZvY3VzZWROb2RlKTsKLSAgICBMYXlvdXRSZWN0IGJvdW5kcyA9IGVs
ZW1lbnROb2RlLT5ib3VuZHNJbldpbmRvd1NwYWNlKCk7Ci0gICAgaW50IGNlbnRlcmluZ09mZnNl
dFggPSAocmVjdC53aWR0aCAtIGJvdW5kcy53aWR0aCgpKSAvIDI7Ci0gICAgaW50IGNlbnRlcmlu
Z09mZnNldFkgPSAocmVjdC5oZWlnaHQgLSBib3VuZHMuaGVpZ2h0KCkpIC8gMjsKLSAgICBJbnRT
aXplIHNjcm9sbE9mZnNldChib3VuZHMueCgpIC0gY2VudGVyaW5nT2Zmc2V0WCwgYm91bmRzLnko
KSAtIGNlbnRlcmluZ09mZnNldFkpOwotICAgIEZyYW1lKiBmcmFtZSA9IG1haW5GcmFtZUltcGwo
KS0+ZnJhbWUoKTsKLSAgICBpZiAoZnJhbWUgJiYgZnJhbWUtPnZpZXcoKSkKLSAgICAgICAgZnJh
bWUtPnZpZXcoKS0+c2Nyb2xsQnkoc2Nyb2xsT2Zmc2V0KTsKKyAgICBpZiAoZm9jdXNlZE5vZGUg
JiYgZm9jdXNlZE5vZGUtPmlzRWxlbWVudE5vZGUoKSkgeworICAgICAgICBFbGVtZW50KiBlbGVt
ZW50Tm9kZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihmb2N1c2VkTm9kZSk7CisgICAgICAgIEZy
YW1lKiBmcmFtZSA9IHBhZ2UoKS0+bWFpbkZyYW1lKCk7CisgICAgICAgIGlmIChmcmFtZSAmJiBm
cmFtZS0+dmlldygpKQorICAgICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2Nyb2xsRWxlbWVudFRv
UmVjdChlbGVtZW50Tm9kZSwgSW50UmVjdChyZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVj
dC5oZWlnaHQpKTsKKyAgICB9CiB9CiAKIGRvdWJsZSBXZWJWaWV3SW1wbDo6em9vbUxldmVsKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108378</attachid>
            <date>2011-09-22 12:08:47 -0700</date>
            <delta_ts>2011-09-23 10:09:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68198-20110922150437.patch</filename>
            <type>text/plain</type>
            <size>18944</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU3MTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYmM2ZDdlMDM2MWUwYjVmYzM1ZjY2
ZjNkODMyMzYyMDgxZTYwNjdlLi45ZWY4OTc2NDkwNjNjOGM1MTI5NTNiMTYxMTg5ODMyNWE3MjZh
MTJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMjIgIFZhcnVuIEphaW4gIDx2YXJ1
bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1wbDo6c2Nyb2xs
Rm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRlc3RzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxOTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3Nj
cm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRl
cmVkLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGlu
dXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9s
bC1lbGVtZW50LXRvLXJlY3QtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisKIDIwMTEtMDktMjIgIEFscGhhIExhbSAgPGhjbGFtQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njgw
ODEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJl
Y3QtY2VudGVyZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRv
LXJlY3QtY2VudGVyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZGY3ZmMxYzk5OWQ0MTg0MjgxZGQyZDEw
MGUyZjA0MzU2MWZlNWI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxo
dG1sPgorICA8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgZnVuY3Rpb24gZG9UZXN0KCkgewor
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICAgIHZhciBib3ggPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dGJveCcpOworICAgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2Nyb2xsRWxlbWVudFRvUmVjdChib3gsIDUwLCAzMCwgMjAwLCAyNTApOworICAgICAgICB9
CisgICAgICB9CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVzdCk7
CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgVGhpcyBpcyB0ZXN0PGJy
PgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDI0MDBweDsgaGVp
Z2h0OiAyNDAwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyI+CisgICAgICA8ZGl2IHN0eWxl
PSJwb3NpdGlvbjpmaXhlZDsgbGVmdDogNTBweDsgdG9wOiAzMHB4OyB3aWR0aDogMjAwcHg7IGhl
aWdodDogMjUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICA8ZGl2
IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDogNjAwcHg7IHRvcDogODAwcHg7Ij4gPGlu
cHV0IGlkPSJ0ZXh0Ym94IiB0eXBlPSJ0ZXh0Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1l
bnQtdG8tcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8t
cmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlN2JkZGUxMGE1Yjk5NTI4NTA3ZWEzNGM5YWJhNmMzODQ1
ODRiMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxl
bWVudC10by1yZWN0Lmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPGh0bWw+CisgIDxoZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgICAgICAgdmFyIGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXh0Ym94Jyk7CisgICAgICAgICAgd2luZG93LmludGVybmFscy5zY3JvbGxFbGVtZW50VG9S
ZWN0KGJveCwgMCwgMCwgMzAwLCAzMDApOworICAgICAgICB9CisgICAgICB9CisgICAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVzdCk7CisgICAgPC9zY3JpcHQ+CisgIDwv
aGVhZD4KKyAgPGJvZHk+CisgICAgVGhpcyBpcyB0ZXN0PGJyPgorICAgIDxkaXYgc3R5bGU9InBv
c2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDE2MDBweDsgaGVpZ2h0OiAxMjAwcHg7IGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyI+CisgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsg
bGVmdDogNjAwcHg7IHRvcDogODAwcHg7Ij4gPGlucHV0IGlkPSJ0ZXh0Ym94IiB0eXBlPSJ0ZXh0
Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQt
dG8tcmVjdC1jZW50ZXJlZC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRlcmVkLWV4cGVj
dGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jNWQ3ZTY1NGUzOWYyZmRiNDZiYTRlMWNkYWExNmMzZWI4ZGJl
MGJlCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzNDQ2CnpjbWVIS1pBPz5GNz05QCpEaioqZHV6
VSVkK1FyYU56PXt7SjB9WEBgTmcyWWwkZzxIXj5jX0FVaTtNeHJBYDh3cQp6QVY0TmcoN0dpWCta
LSgpTCZqJD5VfVo9O1NTKythRV81Z15APS1vJkozdUhxV3ptQEptdD1ueUlYfSpRLWdEMUEKej1p
RGR2ZEVXUDRkWTJXcysxa3ctMDUoVXg2TWhLNSsjNyh6Q1g+Kkp2eTx+JT0mfno0Zn1QR2drPDl4
QGM9ant8CnphczJsdGB2dmojYUpZZE9CYmdmJSExdT5eJDJmYTFZJlhXYD94anFZP20meD9xciYm
Y1hJNHhUeztiNGRIJkpaSgp6Sm10c3VUX3V+PyhqOyl3VWQ8aTt7SzE0YCsqYjNyTm14OHFoPEFv
RDsrMVdkRl4oTm5ePSFMaVg0UysoPTlaUE8KeiFeRFArIXBkZXNLbXl6YHV2fiMhK3t+fGs9Kkdf
a2VIcVE0IUNuWDREJHVzYFJEQ2RDcHxvPVd5YmV1VChKSzlZCnpXRyM5SWZFZjI7ejRxcjNZWnsy
STt3MVFONjlRWVd1X349KlkhRThAUyRacTRVfXJTfCVUUnNHO0M/WDQzQFo0dAp6QDNzK2hIKUJD
YGY4U0Z8WXpQfmBLaTNpKnd3UXBwb2Rub0RLaWYhJjZBQnt9WGY5b31WTD9NNyokbFdPOH1PIzAK
endPJD9zeEBVX3p6Z0BqdiRSdnNUdntGTDc5bnhIOyZ8JlVheElrRisyNipMMjtQZFFmNDt6aVdx
YmlrKDdxa0R0CnoqY2YrQ0NSZkorVWkwPn0tMmpxLU84UX5malNJTTNFXmtPM3k/Y1dNdGw1KHZT
NXImN14/SDQ7STI3R2VITU8+Uwp6Vz9LTkpzM2cjNU9TJHxeME1DYE1LQT12U0c4XmVEQChMQkNy
Z291P3VAR0AhYj0mI1hIYTUrNDRsRUxkek4/S0QKeiVleEhAZkc1bm16OV8hNkV6Yj92SD00c3d3
fSs+VGVKcWheVjxpJWFBJDVjeG1gJUQjNitRQ1A3YlcqeGQjXkM0Cno4QzA3Qzxte1cmRmE2JHcr
Q3twRndyKWg1bWFmJW00V25ubiQ+MzB6WDk7Tm1Zd1ZmMm5SX05mP0RsWFohNXZmQQp6O2A5R3R1
KUtoWWJEQ3V0eWRyP3YwfnphYilSKiNNV1dOQlNCMk1jRVVYNiM0Kj9KX2B1cyFOaG51Knt5RSZm
ZyEKej5sNGJ4UX55JUZEZ1NRSnZPJlV6dG9+Q0tEREd8cChEMmxQaEcmSW8pIXtDaGR3I3ApOH4t
ZXdhKD9qeTRkZWRmCnped21kI2hOdElGVGlLd3tLNTtfaGlMeWdsP1p0QHQoTF98cVlJYlV5UHN0
PXk2T2BLeF5vSnV+ZTJBKTFUPXoofgp6SUpjSXlieXNARXtjTC1FLVNhdChAM1h8Z0FyXyExUmA3
KkZwLSRQWFRnKlgmKVk0VX0wcjMlWXNIaHhPcT9aZ0gKejN2a1duKUV7THdyJklGZitfe3E5N0Jy
e2A9PG59VyRLbUJ7c21mVH1KfilKNGc0KlpidnUmdyVGb21fXjNMOygyCnooSkVCZE19Xk1JeVMp
SnlVbXJSY1cyQVRGamRJQl9kK0VJdUF5JXopWmp0RztSK05AN0w7ZTF5ZEcwcTc1RDUpUwp6RT9G
TXozMlZATjV5OGxRbEdRTUxsNGMrWHFKWV92dSZ8T25BX0VQeGJ2fG0hcyp1YmFfNXwjPkgxKEBh
dVFNdzQKenRrSVdGN2RMXjEqeH4lLUE8dkVCMCU/TERqRWUhey1xUTFBKDl7TGptJGxLI2ROYERr
NksqSlQycV5oK3ZZQWheCnNXWGB0LVEqd15tMGxyPGd4VTZpdDdFTjZ4WkI1a29JJGNARChUQH5G
TVg8c3AyYSshUTE/OGEqMzsrTkMKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVt
ZW50LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0tbGludXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ViNzdjYjYyZjMxOTdjYzAzMzUyNzYyODUzZjNlMjU2
ZGM2NjQ0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgMjQwOHgyNDM2CisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgy
NDM2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyNDM2CisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MjQyMAorICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgNjN4MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA2MzogIlRoaXMgaXMgdGVzdCIKKyAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNjMsMTUpIHNp
emUgMHgwCitsYXllciBhdCAoOCwyOCkgc2l6ZSAyNDAweDI0MDAKKyAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDIwKSBzaXplIDI0MDB4MjQwMCBbYmdjb2xv
cj0jRkZGRkZGXQorbGF5ZXIgYXQgKDU4OCw3MTYpIHNpemUgMjAweDI1MAorICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDUwLDMwKSBzaXplIDIwMHgyNTAgW2JnY29sb3I9IzAw
ODAwMF0KK2xheWVyIGF0ICg2MDgsODI4KSBzaXplIDE1OXgyNgorICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDYwMCw4MDApIHNpemUgMTU5eDI2CisgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE1NXgyMiBbYmdjb2xvcj0jRkZGRkZGXSBbYm9y
ZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorbGF5ZXIgYXQgKDYxMiw4MzMpIHNpemUgMTUxeDE2
CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTUxeDE2CitzY3JvbGxlZCB0byA1
MzgsNjg2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9m
YXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3Qt
ZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2YmQ3YjgyOWNhMmU2YmQwZTEwOGMxMDA3ZjQ1YTQ4
ZGJhOTIzNjQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDM0MjYKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1QhdigkCnpHIXJBc0co
KEZkVisjV2xHZk45Zyk1SyYkQWxKZT9JbXN8N3ZCTjEpaD1HQ1VpPkhmWU5YNEFEY1d3UVchekNJ
WAp6VzxOMkYyPStESCUmNSY4NnZiOGs9RF4hRSU4X1NjOVluJGw0UEM8P3EkKV5oV2k0MGUoeTdh
Pk5TOFZNSXBve1oKemhKOCQoO29vRUEpZWdVQlc/KHBmYGA8UiV3IzI9MEAkdkVZVGhxKkQ+eHkr
Sk4tVlJfKkpFZjFIdFR5X3dEVjUtCnoqKDAoIzM9UUljenJLenlGSkIoRkMyc3hzeC1UWFM0RFN5
WlRRfkVFYXsobzE5QUlNVC1+PStsWFpmaTAkQjlRVQp6RnN2Xk81QVFkZDI5JlY0a3IhXjhxdG5S
QlAleHcyd2UpPmd2bH1BPS17IWt7Xld6YHppN2AwJUJycX1AVkY1REUKejd6NmNIT0NCI2dLYjQ3
X0F3bUUxJnprd0V2KEZ3QVEkJGgoUzNTeD00IWhDTjdeMHooUX11P2laaTs+ViYoRSkzCnp5fUEq
NiFOVDV0eyhuUkpaejJwRSl8WGVhenk5Xj4qWDhCQCRMQlIyYDEka2FeWWlvalpDTSMpOV5BY21Q
XiNAQQp6UHstfTxgOVFodHlMUnJoe0tmJnlVX2RTMDM9YmtlKkArclNWJWMlSTJrZ0lvZVNMbFE/
QWVYVzg1ciM1bHVKaiUKekAyaT00e2B2OEZPYmtDZD8mVClMezs0KG1Rfk80ZHBASUotQzxodz9i
R21APUN9WT9LIWZkJX0yOE0+cTgqYikmCnppX3pTYCEwQGY4dmh3R0xNe25RMC1LJXxuZkJraz5q
JCFCSihQVHtYeXU5KHtNc0B9VTMpfElLdiViR1FkaTNiSwp6WGkhVUchfEJ0ZmNaK1l8ek1YJTZS
PHs2eSFaVG4/O2xSTmhLXy1TSEFtVUhSSjdCOXA8X3hINTAzcl9mc3sje2IKejYwcTV6cGY8YEY0
RnNaNiFzVFJzMjhJSHV1Kz4tUlh8bj44U0tQR0lQd2hAMEU4SyF2a24hKGlXe15wZklvPldfCnpG
NWZzbXVtMU1HQmI1dmNld1hxPmJmPSVMP2sjPUsrX3NHYSpzOSRZOW0zekFGOTJAO1VKdmI7PmpO
ZHJ4Uil5egp6eTh8ciUqVHtRdiV4MXNjOXxUT2pkdloyTCppPX5ed3RafSZDKVJ6az9EWSZiaEs5
WHN1RD1GPzxAPkI9cEIzdnEKellRWGNLP2JfJG5qMHw/bXs/QkA7YTUrKXBTWWdkOCRzZShnRXpV
anZlNyVRRkokdilibjdCQihZT1YqaTVvXlEjCnpfNThhSnc3Xno0Vn05IUhiSnQjZlUzajBGO1h8
UiRed1ZGZllBPFlgYjVvTHFxMmtgY3k8ZVV6PVRNKH5hJnxpLQp6Z04xNzdlO2Ngb1M2bU5WUzZf
WCNRdkFTNkZSZDM3NCtNb1g5Qn17a08+Q0R1UD5TSX11ZEIpND97Jk5IWDZmODAKenQqKStxQmx6
UzB1bExzPEtqZU99V2JhM25afD5WVD1EeWApczdjQXNVd0ItOz16MFckeztuTjZEcWdWYD8zJTw/
CnpePVNyTUZEcFpoTiRDR01YVlclNlZGJnM+eSMzcHluQEpsYmooPXFMV285VU5iKiN8bCVZUiR7
Y1hfUkF1Vj89XgpuV0BtVVg/YEJSfU1sQTIpNUIjcm05JGFFJjReSVZsbml4RD97YW5eTEJ7VHM1
Yi1PfTEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9kb20v
c2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNhYWYwN2Qx
M2Q5OTgyYmZhOWM0ZjJjMTgxYjc2ZWViOGI1YWU4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRv
LXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUg
MTYwOHgxMjM2CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CitsYXllciBhdCAo
MCwwKSBzaXplIDc4NXgxMjM2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4
NXgxMjM2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MTIyMAorICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MjAKKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjN4MTkKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA2MzogIlRoaXMgaXMgdGVzdCIKKyAgICAgICAgUmVuZGVyQlIge0JS
fSBhdCAoNjMsMTUpIHNpemUgMHgwCitsYXllciBhdCAoOCwyOCkgc2l6ZSAxNjAweDEyMDAKKyAg
UmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDIwKSBzaXplIDE2
MDB4MTIwMCBbYmdjb2xvcj0jMDA4MDAwXQorbGF5ZXIgYXQgKDYwOCw4MjgpIHNpemUgMTU5eDI2
CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNjAwLDgwMCkgc2l6ZSAxNTl4
MjYKKyAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTU1eDIyIFti
Z2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCitsYXllciBhdCAo
NjEyLDgzMykgc2l6ZSAxNTF4MTYKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAx
NTF4MTYKK3Njcm9sbGVkIHRvIDUzOCw2NTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwOTI3ZjgzNjUzOGMzNDY5
MDA5ZjAyNzMxOWMwNWQzM2FiNTRkZWYwLi42OWFhZThiYTFhZjU0N2NmNTM5YTk2NDUxMzZmMjQw
MzFmYWRmYjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDktMjIgIFZhcnVu
IEphaW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3
SW1wbDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRk
IHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
ODE5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3RzOiBmYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRlcmVkLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QuaHRtbAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3Jv
bGxFbGVtZW50VG9SZWN0KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2Ny
b2xsRWxlbWVudFRvUmVjdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTEtMDktMjIgIEFscGhhIExhbSAgPGhj
bGFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBEZWZpbmUgZXhwb3J0IHN5bWJvbCBjb3JyZWN0
bHkgZHVlIHRvIHJlbmFtZSBvZiBwYWdlU2NhbGVGYWN0b3IgdG8KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAppbmRleCBmMzgwNDBiMzdiMTM2ODkxNmY0YWY4NjgxNGQxOWI4N2VmNGJmZTMzLi42
OTAxYjQzYTZhNjZhZTVmN2E3NjY1MmIxMmU3YmI2OThmMmUzMDUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCkBAIC0xNjIzLDYgKzE2MjMsMTYgQEAgdm9pZCBGcmFtZVZpZXc6Om1haW50
YWluU2Nyb2xsUG9zaXRpb25BdEFuY2hvcihOb2RlKiBhbmNob3JOb2RlKQogICAgICAgICBzY3Jv
bGxUb0FuY2hvcigpOwogfQogCit2b2lkIEZyYW1lVmlldzo6c2Nyb2xsRWxlbWVudFRvUmVjdChF
bGVtZW50KiBlbGVtZW50LCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIG1fZnJhbWUtPmRv
Y3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworCisgICAg
TGF5b3V0UmVjdCBib3VuZHMgPSBlbGVtZW50LT5ib3VuZHNJbldpbmRvd1NwYWNlKCk7CisgICAg
aW50IGNlbnRlcmluZ09mZnNldFggPSAocmVjdC53aWR0aCgpIC0gYm91bmRzLndpZHRoKCkpIC8g
MjsKKyAgICBpbnQgY2VudGVyaW5nT2Zmc2V0WSA9IChyZWN0LmhlaWdodCgpIC0gYm91bmRzLmhl
aWdodCgpKSAvIDI7CisgICAgc2Nyb2xsQnkoSW50U2l6ZShib3VuZHMueCgpIC0gY2VudGVyaW5n
T2Zmc2V0WCAtIHJlY3QueCgpLCBib3VuZHMueSgpIC0gY2VudGVyaW5nT2Zmc2V0WSAtIHJlY3Qu
eSgpKSk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBMYXlv
dXRQb2ludCYgc2Nyb2xsUG9pbnQpCiB7CiAgICAgYm9vbCB3YXNJblByb2dyYW1tYXRpY1Njcm9s
bCA9IG1faW5Qcm9ncmFtbWF0aWNTY3JvbGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA1
ZTZiYmE1NTY1MmI2YTk5NzUyNzEzYWM5MTcwZmNiODQ2MWZmNTQ4Li5lYmFmMjI2YTRiMzgzYjdk
Y2NmZjdjYjA1ZjEzOWQ4YWYzYjc2MzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTM2
LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ29sb3I7CitjbGFzcyBF
bGVtZW50OwogY2xhc3MgRXZlbnQ7CiBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBGcmFtZTsKQEAg
LTI1OSw2ICsyNjAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzY3JvbGxUb0ZyYWdtZW50KGNvbnN0
IEtVUkwmKTsKICAgICBib29sIHNjcm9sbFRvQW5jaG9yKGNvbnN0IFN0cmluZyYpOwogICAgIHZv
aWQgbWFpbnRhaW5TY3JvbGxQb3NpdGlvbkF0QW5jaG9yKE5vZGUqKTsKKyAgICB2b2lkIHNjcm9s
bEVsZW1lbnRUb1JlY3QoRWxlbWVudCosIGNvbnN0IEludFJlY3QmKTsKIAogICAgIC8vIE1ldGhv
ZHMgdG8gY29udmVydCBwb2ludHMgYW5kIHJlY3RzIGJldHdlZW4gdGhlIGNvb3JkaW5hdGUgc3Bh
Y2Ugb2YgdGhlIHJlbmRlcmVyLCBhbmQgdGhpcyB2aWV3LgogICAgIHZpcnR1YWwgTGF5b3V0UmVj
dCBjb252ZXJ0RnJvbVJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCosIGNvbnN0IExheW91dFJl
Y3QmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBmYTkyMDUx
YzQ5YTljNDhkZmQyNDNjODk1N2FiOGMyNzQ4MDI0YzVmLi5mOWE3OGEyNDJmMGFjNGVmNTBmNGI3
NDQzM2FhMmUxOWQwYzIxYmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBA
IC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRl
eHRBcmVhRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNs
dWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKICNpbmNsdWRlICJOb2Rl
UmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTM3Niw0ICszNzcsMTQg
QEAgdm9pZCBJbnRlcm5hbHM6OnBhaW50Q29udHJvbFRpbnRzKERvY3VtZW50KiBkb2N1bWVudCwg
RXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgZnJhbWVWaWV3LT5wYWludENvbnRyb2xUaW50cygpOwog
fQogCit2b2lkIEludGVybmFsczo6c2Nyb2xsRWxlbWVudFRvUmVjdChFbGVtZW50KiBlbGVtZW50
LCBsb25nIHgsIGxvbmcgeSwgbG9uZyB3LCBsb25nIGgsIEV4Y2VwdGlvbkNvZGUmIGVjKQorewor
ICAgIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC0+ZG9jdW1lbnQoKSB8fCAhZWxlbWVudC0+ZG9j
dW1lbnQoKS0+dmlldygpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZWxlbWVudC0+
ZG9jdW1lbnQoKS0+dmlldygpOworICAgIGZyYW1lVmlldy0+c2Nyb2xsRWxlbWVudFRvUmVjdChl
bGVtZW50LCBJbnRSZWN0KHgsIHksIHcsIGgpKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKaW5kZXggN2M0NTZmYmYwOTFjNjNlNTYwZDdjMmJiMDI1MjM0Mzc4NGVhMDdiNi4u
YzJjMjY0ZmY5MzZmNTIwMzA3MzA4NDdmZDUzNTkxNzBjOWEyMjA2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCkBAIC04Nyw2ICs4Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIHdhc0xh
c3RDaGFuZ2VVc2VyRWRpdChFbGVtZW50KiB0ZXh0RmllbGQsIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICBTdHJpbmcgc3VnZ2VzdGVkVmFsdWUoRWxlbWVudCogaW5wdXRFbGVtZW50LCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdm9pZCBzZXRTdWdnZXN0ZWRWYWx1ZShFbGVtZW50KiBpbnB1dEVsZW1lbnQs
IGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNjcm9sbEVsZW1lbnRU
b1JlY3QoRWxlbWVudCosIGxvbmcgeCwgbG9uZyB5LCBsb25nIHcsIGxvbmcgaCwgRXhjZXB0aW9u
Q29kZSYpOwogCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGludGVybmFsc0lkOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggZDhhMGE2ZDA2ZmE1YzkxNDZlMjEzOTgxZjJi
YmIyZWYyNWM5Y2JjOC4uYzI2N2U0ODZhMDE3MGE0YWNjNDg0N2Y3YzU2ZDA3ZGE0NjcxNzgxNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNjMsNiArNjMsOCBAQCBtb2R1
bGUgd2luZG93IHsKICAgICAgICAgdm9pZCBzZXRTdWdnZXN0ZWRWYWx1ZShpbiBFbGVtZW50IGlu
cHV0RWxlbWVudCwgaW4gRE9NU3RyaW5nIHZhbHVlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAK
ICAgICAgICAgdm9pZCBwYWludENvbnRyb2xUaW50cyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFp
c2VzIChET01FeGNlcHRpb24pOworCisgICAgICAgIHZvaWQgc2Nyb2xsRWxlbWVudFRvUmVjdChp
biBFbGVtZW50IGVsZW1lbnQsIGluIGxvbmcgeCwgaW4gbG9uZyB5LCBpbiBsb25nIHcsIGluIGxv
bmcgaCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKaW5kZXggNmI0ZTI4NWU0ODNmODBlZDVjNGExODViNDEwYjI4MGNiMWU2YWFkMS4u
MWZhZmEzMTg3MDEzMzIxYWMwMjFmMTZhM2M2MmU1ODRiZGZiNjNkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wOS0yMiAgVmFydW4gSmFpbiAgPHZh
cnVuamFpbkBnb29nbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIFdlYlZpZXdJbXBsOjpzY3Jv
bGxGb2N1c2VkTm9kZUludG9SZWN0IHRvIGEgYmV0dGVyIHBsYWNlIGFuZCBhZGQgdGVzdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTk4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2Vi
Vmlldy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpzY3JvbGxGb2N1c2VkTm9kZUludG9S
ZWN0KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCk6CisKIDIwMTEtMDktMjIgIEph
bWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByOTU2OTkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3
LmgKaW5kZXggMzM4YzJhZDk0NWYwODJhNGFmZWE1NWFlY2QwYTcwOTRkYmQxYmE4OS4uNzVlMGJi
MDM0M2U4NjM4NGIzYzQzMDlmYTY0ZWRhZWRjYjE5ZjU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlZpZXcuaApAQCAtMTc1LDggKzE3NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsRm9jdXNlZE5vZGVJbnRvVmlldygpID0gMDsKIAogICAgIC8vIFNjcm9s
bHMgdGhlIG5vZGUgY3VycmVudGx5IGluIGZvY3VzIGludG8gfHJlY3R8LCB3aGVyZSB8cmVjdHwg
aXMgaW4KLSAgICAvLyBzY3JlZW4gc3BhY2UuCi0gICAgdmlydHVhbCB2b2lkIHNjcm9sbEZvY3Vz
ZWROb2RlSW50b1JlY3QoY29uc3QgV2ViUmVjdCYgcmVjdCkgeyB9CisgICAgLy8gd2luZG93IHNw
YWNlLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0KGNvbnN0IFdl
YlJlY3QmKSB7IH0KIAogCiAgICAgLy8gWm9vbSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggMWY4NTA5ZjQ4NmFmMTM2OWFhN2I5NGMwNjU5
OTQ0ZDZhZTU2MGVhZS4uZDAyNzMxMWM0YmYzNTRiOGM0N2VhZWQxNGVlN2JmNzQ0ZTA5ZWQ4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMTgyMSwx
NiArMTgyMSwxMiBAQCB2b2lkIFdlYlZpZXdJbXBsOjpzY3JvbGxGb2N1c2VkTm9kZUludG9WaWV3
KCkKIHZvaWQgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWROb2RlSW50b1JlY3QoY29uc3QgV2Vi
UmVjdCYgcmVjdCkKIHsKICAgICBOb2RlKiBmb2N1c2VkTm9kZSA9IGZvY3VzZWRXZWJDb3JlTm9k
ZSgpOwotICAgIGlmICghZm9jdXNlZE5vZGUgfHwgIWZvY3VzZWROb2RlLT5pc0VsZW1lbnROb2Rl
KCkpCi0gICAgICAgIHJldHVybjsKLSAgICBFbGVtZW50KiBlbGVtZW50Tm9kZSA9IHN0YXRpY19j
YXN0PEVsZW1lbnQqPihmb2N1c2VkTm9kZSk7Ci0gICAgTGF5b3V0UmVjdCBib3VuZHMgPSBlbGVt
ZW50Tm9kZS0+Ym91bmRzSW5XaW5kb3dTcGFjZSgpOwotICAgIGludCBjZW50ZXJpbmdPZmZzZXRY
ID0gKHJlY3Qud2lkdGggLSBib3VuZHMud2lkdGgoKSkgLyAyOwotICAgIGludCBjZW50ZXJpbmdP
ZmZzZXRZID0gKHJlY3QuaGVpZ2h0IC0gYm91bmRzLmhlaWdodCgpKSAvIDI7Ci0gICAgSW50U2l6
ZSBzY3JvbGxPZmZzZXQoYm91bmRzLngoKSAtIGNlbnRlcmluZ09mZnNldFgsIGJvdW5kcy55KCkg
LSBjZW50ZXJpbmdPZmZzZXRZKTsKLSAgICBGcmFtZSogZnJhbWUgPSBtYWluRnJhbWVJbXBsKCkt
PmZyYW1lKCk7Ci0gICAgaWYgKGZyYW1lICYmIGZyYW1lLT52aWV3KCkpCi0gICAgICAgIGZyYW1l
LT52aWV3KCktPnNjcm9sbEJ5KHNjcm9sbE9mZnNldCk7CisgICAgaWYgKGZvY3VzZWROb2RlICYm
IGZvY3VzZWROb2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgRWxlbWVudCogZWxlbWVu
dE5vZGUgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4oZm9jdXNlZE5vZGUpOworICAgICAgICBGcmFt
ZSogZnJhbWUgPSBwYWdlKCktPm1haW5GcmFtZSgpOworICAgICAgICBpZiAoZnJhbWUgJiYgZnJh
bWUtPnZpZXcoKSkKKyAgICAgICAgICAgIGZyYW1lLT52aWV3KCktPnNjcm9sbEVsZW1lbnRUb1Jl
Y3QoZWxlbWVudE5vZGUsIEludFJlY3QocmVjdC54LCByZWN0LnksIHJlY3Qud2lkdGgsIHJlY3Qu
aGVpZ2h0KSk7CisgICAgfQogfQogCiBkb3VibGUgV2ViVmlld0ltcGw6Onpvb21MZXZlbCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggNjY3ODc3YzNmMDU0ZWZmYTQ1ZGQ1OTc5M2M5MWI4ZWUzNDY1YjE1Zi4uYjNj
ODY3NDdlMzdiY2RiMjRlOWRlYTVkOTVjMDRkMzEzN2FhNjAwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDExLTA5LTIyICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmVmYWN0b3IgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWROb2RlSW50b1Jl
Y3QgdG8gYSBiZXR0ZXIgcGxhY2UgYW5kIGFkZCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxOTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjoKKyAgICAgICAgKiB3
aW4vV2ViS2l0MkNGTGl0ZS5kZWY6CisKIDIwMTEtMDktMjIgIEFscGhhIExhbSAgPGhjbGFtQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjgwODEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBi
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA2OGQ4OTNlZDY5MjhjNjkzNTZh
ODVlMTI0MjA5NWMxMjAzMjkzNWM0Li5mYTUxOGUzNDAyYTExMjU0NjE5MGJiYmQ1MjEyZjY5NDU5
NGZkMTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xNjIsNiArMTYyLDcgQEAgRVhQT1JU
UwogICAgICAgICA/bWVtb3J5Q2FjaGVAV2ViQ29yZUBAWUFQQVZNZW1vcnlDYWNoZUAxQFhaCiAg
ICAgICAgID9wYWdlQERvY3VtZW50QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBYWgogICAgICAgICA/
cGFpbnRDb250cm9sVGludHNARnJhbWVWaWV3QFdlYkNvcmVAQEFBRVhYWgorICAgICAgICA/c2Ny
b2xsRWxlbWVudFRvUmVjdEBGcmFtZVZpZXdAV2ViQ29yZUBAUUFFWFBBVkVsZW1lbnRAMkBBQlZJ
bnRSZWN0QDJAQFoKICAgICAgICAgP3JlbW92ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBR
QUVYWFoKICAgICAgICAgP3NldERpc2FibGVkQE1lbW9yeUNhY2hlQFdlYkNvcmVAQFFBRVhfTkBa
CiAgICAgICAgID9zZXRET01FeGNlcHRpb25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0YXRlQEpTQ0BA
SEBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggZWRhZWNjMWRkMmMxYjFm
N2QwYWI2NjAzZDg5ZTAwZDUxYWIxZmZiYS4uODQ4MmI0OTcxNmM3MWNiMmMzMmQ3YzBmYmM5NTJm
MjdmNDFmNGQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUu
ZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTU2LDYg
KzE1Niw3IEBAIEVYUE9SVFMKICAgICAgICAgP21lbW9yeUNhY2hlQFdlYkNvcmVAQFlBUEFWTWVt
b3J5Q2FjaGVAMUBYWgogICAgICAgICA/cGFnZUBEb2N1bWVudEBXZWJDb3JlQEBRQkVQQVZQYWdl
QDJAWFoKICAgICAgICAgP3BhaW50Q29udHJvbFRpbnRzQEZyYW1lVmlld0BXZWJDb3JlQEBBQUVY
WFoKKyAgICAgICAgP3Njcm9sbEVsZW1lbnRUb1JlY3RARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhQ
QVZFbGVtZW50QDJAQUJWSW50UmVjdEAyQEBaCiAgICAgICAgID9yZW1vdmVTaGFkb3dSb290QEVs
ZW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9zZXREaXNhYmxlZEBNZW1vcnlDYWNoZUBX
ZWJDb3JlQEBRQUVYX05AWgogICAgICAgICA/c2V0RE9NRXhjZXB0aW9uQFdlYkNvcmVAQFlBWFBB
VkV4ZWNTdGF0ZUBKU0NAQEhAWgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108486</attachid>
            <date>2011-09-23 10:09:06 -0700</date>
            <delta_ts>2011-09-23 10:36:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68198-20110923130449.patch</filename>
            <type>text/plain</type>
            <size>17692</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MjMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAzNjhiZjQ5ZTkwNjY3YzQ1OTA2MWEzMjE3NmJhYmYyZjNkM2U1NDQyLi4zN2Rl
ZDg3ZDhlZTljOGNlZjVlZWQ1MzcyNTdjMzc5MGVhMGJkMWI0IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDktMjMgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1w
bDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluOgorICAgICAgICAqICBTb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgICogIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3Lmg6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcu
aDoKKyAgICAgICAgKiAgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
OgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICog
IFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZjoKKyAgICAgICAgKiAgU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMS0wOS0yMSAgSnVsaWVuIENoYWZmcmFp
eCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBSZW5kZXJCb3g6
OnBhaW50TWFza0ltYWdlcyB3aGVuIEdyYXBoaWNzQ29udGV4dCdzIHBhaW50aW5nIGlzIGRpc2Fi
bGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1y
ZWN0LWNlbnRlcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10
by1yZWN0LWNlbnRlcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGRmN2ZjMWM5OTlkNDE4NDI4MWRkMmQx
MDBlMmYwNDM1NjFmZTViNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQuaHRtbApAQCAtMCwwICsxLDIwIEBACis8
aHRtbD4KKyAgPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGZ1bmN0aW9uIGRvVGVzdCgpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICB2YXIgYm94ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHRib3gnKTsKKyAgICAgICAgICB3aW5kb3cuaW50ZXJu
YWxzLnNjcm9sbEVsZW1lbnRUb1JlY3QoYm94LCA1MCwgMzAsIDIwMCwgMjUwKTsKKyAgICAgICAg
fQorICAgICAgfQorICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBkb1Rlc3Qp
OworICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIFRoaXMgaXMgdGVzdDxi
cj4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAyNDAwcHg7IGhl
aWdodDogMjQwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsiPgorICAgICAgPGRpdiBzdHls
ZT0icG9zaXRpb246Zml4ZWQ7IGxlZnQ6IDUwcHg7IHRvcDogMzBweDsgd2lkdGg6IDIwMHB4OyBo
ZWlnaHQ6IDI1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgorICAgICAgPGRp
diBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxp
bnB1dCBpZD0idGV4dGJveCIgdHlwZT0idGV4dCI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVt
ZW50LXRvLXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRv
LXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTdiZGRlMTBhNWI5OTUyODUwN2VhMzRjOWFiYTZjMzg0
NTg0YjFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVs
ZW1lbnQtdG8tcmVjdC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzxodG1sPgorICA8aGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgZnVuY3Rpb24gZG9UZXN0KCkgeworICAgICAgICBpZiAod2luZG93
LmludGVybmFscykgeworICAgICAgICAgIHZhciBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGV4dGJveCcpOworICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2Nyb2xsRWxlbWVudFRv
UmVjdChib3gsIDAsIDAsIDMwMCwgMzAwKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBkb1Rlc3QpOworICAgIDwvc2NyaXB0PgorICA8
L2hlYWQ+CisgIDxib2R5PgorICAgIFRoaXMgaXMgdGVzdDxicj4KKyAgICA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxNjAwcHg7IGhlaWdodDogMTIwMHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsiPgorICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7
IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxpbnB1dCBpZD0idGV4dGJveCIgdHlwZT0idGV4
dCI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50
LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0tbGludXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC1leHBl
Y3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzVkN2U2NTRlMzlmMmZkYjQ2YmE0ZTFjZGFhMTZjM2ViOGRi
ZTBiZQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzQ0Ngp6Y21lSEtaQT8+Rjc9OUAqRGoqKmR1
elUlZCtRcmFOej17e0owfVhAYE5nMllsJGc8SF4+Y19BVWk7TXhyQWA4d3EKekFWNE5nKDdHaVgr
Wi0oKUwmaiQ+VX1aPTtTUysrYUVfNWdeQD0tbyZKM3VIcVd6bUBKbXQ9bnlJWH0qUS1nRDFBCno9
aURkdmRFV1A0ZFkyV3MrMWt3LTA1KFV4Nk1oSzUrIzcoekNYPipKdnk8fiU9Jn56NGZ9UEdnazw5
eEBjPWp7fAp6YXMybHRgdnZqI2FKWWRPQmJnZiUhMXU+XiQyZmExWSZYV2A/eGpxWT9tJng/cXIm
JmNYSTR4VHs7YjRkSCZKWkoKekptdHN1VF91fj8oajspd1VkPGk7e0sxNGArKmIzck5teDhxaDxB
b0Q7KzFXZEZeKE5uXj0hTGlYNFMrKD05WlBPCnohXkRQKyFwZGVzS215emB1dn4jISt7fnxrPSpH
X2tlSHFRNCFDblg0RCR1c2BSRENkQ3B8bz1XeWJldVQoSks5WQp6V0cjOUlmRWYyO3o0cXIzWVp7
Mkk7dzFRTjY5UVlXdV9+PSpZIUU4QFMkWnE0VX1yU3wlVFJzRztDP1g0M0BaNHQKekAzcytoSClC
Q2BmOFNGfFl6UH5gS2kzaSp3d1FwcG9kbm9ES2lmISY2QUJ7fVhmOW99Vkw/TTcqJGxXTzh9TyMw
Cnp3TyQ/c3hAVV96emdAanYkUnZzVHZ7Rkw3OW54SDsmfCZVYXhJa0YrMjYqTDI7UGRRZjQ7emlX
cWJpayg3cWtEdAp6KmNmK0NDUmZKK1VpMD59LTJqcS1POFF+ZmpTSU0zRV5rTzN5P2NXTXRsNSh2
UzVyJjdeP0g0O0kyN0dlSE1PPlMKelc/S05KczNnIzVPUyR8XjBNQ2BNS0E9dlNHOF5lREAoTEJD
cmdvdT91QEdAIWI9JiNYSGE1KzQ0bEVMZHpOP0tECnolZXhIQGZHNW5tejlfITZFemI/dkg9NHN3
d30rPlRlSnFoXlY8aSVhQSQ1Y3htYCVEIzYrUUNQN2JXKnhkI15DNAp6OEMwN0M8bXtXJkZhNiR3
K0N7cEZ3ciloNW1hZiVtNFdubm4kPjMwelg5O05tWXdWZjJuUl9OZj9EbFhaITV2ZkEKejtgOUd0
dSlLaFliREN1dHlkcj92MH56YWIpUiojTVdXTkJTQjJNY0VVWDYjNCo/Sl9gdXMhTmhudSp7eUUm
ZmchCno+bDRieFF+eSVGRGdTUUp2TyZVenRvfkNLRERHfHAoRDJsUGhHJklvKSF7Q2hkdyNwKTh+
LWV3YSg/ank0ZGVkZgp6XndtZCNoTnRJRlRpS3d7SzU7X2hpTHlnbD9adEB0KExffHFZSWJVeVBz
dD15Nk9gS3heb0p1fmUyQSkxVD16KH4KeklKY0l5YnlzQEV7Y0wtRS1TYXQoQDNYfGdBcl8hMVJg
NypGcC0kUFhUZypYJilZNFV9MHIzJVlzSGh4T3E/WmdICnozdmtXbilFe0x3ciZJRmYrX3txOTdC
cntgPTxufVckS21Ce3NtZlR9Sn4pSjRnNCpaYnZ1JnclRm9tX14zTDsoMgp6KEpFQmRNfV5NSXlT
KUp5VW1yUmNXMkFURmpkSUJfZCtFSXVBeSV6KVpqdEc7UitOQDdMO2UxeWRHMHE3NUQ1KVMKekU/
Rk16MzJWQE41eThsUWxHUU1MbDRjK1hxSllfdnUmfE9uQV9FUHhidnxtIXMqdWJhXzV8Iz5IMShA
YXVRTXc0Cnp0a0lXRjdkTF4xKnh+JS1BPHZFQjAlP0xEakVlIXstcVExQSg5e0xqbSRsSyNkTmBE
azZLKkpUMnFeaCt2WUFoXgpzV1hgdC1RKndebTBscjxneFU2aXQ3RU42eFpCNWtvSSRjQEQoVEB+
Rk1YPHNwMmErIVExPzhhKjM7K05DCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxl
bWVudC10by1yZWN0LWNlbnRlcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlYjc3Y2I2MmYzMTk3Y2MwMzM1Mjc2Mjg1M2YzZTI1
NmRjNjY0NDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRlcmVkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE5IEBACitsYXllciBhdCAoMCwwKSBzaXplIDI0MDh4MjQzNgorICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4
MjQzNgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MjQzNgorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDI0MjAKKyAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzY5eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDYzeDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggNjM6ICJUaGlzIGlzIHRlc3QiCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDYzLDE1KSBz
aXplIDB4MAorbGF5ZXIgYXQgKDgsMjgpIHNpemUgMjQwMHgyNDAwCisgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwyMCkgc2l6ZSAyNDAweDI0MDAgW2JnY29s
b3I9I0ZGRkZGRl0KK2xheWVyIGF0ICg1ODgsNzE2KSBzaXplIDIwMHgyNTAKKyAgUmVuZGVyQmxv
Y2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg1MCwzMCkgc2l6ZSAyMDB4MjUwIFtiZ2NvbG9yPSMw
MDgwMDBdCitsYXllciBhdCAoNjA4LDgyOCkgc2l6ZSAxNTl4MjYKKyAgUmVuZGVyQmxvY2sgKHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICg2MDAsODAwKSBzaXplIDE1OXgyNgorICAgIFJlbmRlclRleHRD
b250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAxNTV4MjIgW2JnY29sb3I9I0ZGRkZGRl0gW2Jv
cmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KK2xheWVyIGF0ICg2MTIsODMzKSBzaXplIDE1MXgx
NgorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE1MXgxNgorc2Nyb2xsZWQgdG8g
NTM4LDY4NgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgv
ZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0
LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NmJkN2I4MjljYTJlNmJkMGUxMDhjMTAwN2Y0NWE0
OGRiYTkyMzY0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzNDI2CnpjbWVBU0BOPyhvbEh5YHVW
QnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UIXYoJAp6RyFyQXNH
KChGZFYrI1dsR2ZOOWcpNUsmJEFsSmU/SW1zfDd2Qk4xKWg9R0NVaT5IZllOWDRBRGNXd1FXIXpD
SVgKelc8TjJGMj0rREglJjUmODZ2YjhrPUReIUUlOF9TYzlZbiRsNFBDPD9xJCleaFdpNDBlKHk3
YT5OUzhWTUlwb3taCnpoSjgkKDtvb0VBKWVnVUJXPyhwZmBgPFIldyMyPTBAJHZFWVRocSpEPnh5
K0pOLVZSXypKRWYxSHRUeV93RFY1LQp6KigwKCMzPVFJY3pyS3p5RkpCKEZDMnN4c3gtVFhTNERT
eVpUUX5FRWF7KG8xOUFJTVQtfj0rbFhaZmkwJEI5UVUKekZzdl5PNUFRZGQyOSZWNGtyIV44cXRu
UkJQJXh3MndlKT5ndmx9QT0teyFre15XemB6aTdgMCVCcnF9QFZGNURFCno3ejZjSE9DQiNnS2I0
N19Bd21FMSZ6a3dFdihGd0FRJCRoKFMzU3g9NCFoQ043XjB6KFF9dT9pWmk7PlYmKEUpMwp6eX1B
KjYhTlQ1dHsoblJKWnoycEUpfFhlYXp5OV4+Klg4QkAkTEJSMmAxJGthXllpb2paQ00jKTleQWNt
UF4jQEEKelB7LX08YDlRaHR5TFJyaHtLZiZ5VV9kUzAzPWJrZSpAK3JTViVjJUkya2dJb2VTTGxR
P0FlWFc4NXIjNWx1SmolCnpAMmk9NHtgdjhGT2JrQ2Q/JlQpTHs7NChtUX5PNGRwQElKLUM8aHc/
YkdtQD1DfVk/SyFmZCV9MjhNPnE4KmIpJgp6aV96U2AhMEBmOHZod0dMTXtuUTAtSyV8bmZCa2s+
aiQhQkooUFR7WHl1OSh7TXNAfVUzKXxJS3YlYkdRZGkzYksKelhpIVVHIXxCdGZjWitZfHpNWCU2
Ujx7NnkhWlRuPztsUk5oS18tU0hBbVVIUko3QjlwPF94SDUwM3JfZnN7I3tiCno2MHE1enBmPGBG
NEZzWjYhc1RSczI4SUh1dSs+LVJYfG4+OFNLUEdJUHdoQDBFOEshdmtuIShpV3tecGZJbz5XXwp6
RjVmc211bTFNR0JiNXZjZXdYcT5iZj0lTD9rIz1LK19zR2EqczkkWTltM3pBRjkyQDtVSnZiOz5q
TmRyeFIpeXoKenk4fHIlKlR7UXYleDFzYzl8VE9qZHZaMkwqaT1+Xnd0Wn0mQylSems/RFkmYmhL
OVhzdUQ9Rj88QD5CPXBCM3ZxCnpZUVhjSz9iXyRuajB8P217P0JAO2E1KylwU1lnZDgkc2UoZ0V6
VWp2ZTclUUZKJHYpYm43QkIoWU9WKmk1b15RIwp6XzU4YUp3N156NFZ9OSFIYkp0I2ZVM2owRjtY
fFIkXndWRmZZQTxZYGI1b0xxcTJrYGN5PGVVej1UTSh+YSZ8aS0KemdOMTc3ZTtjYG9TNm1OVlM2
X1gjUXZBUzZGUmQzNzQrTW9YOUJ9e2tPPkNEdVA+U0l9dWRCKTQ/eyZOSFg2ZjgwCnp0KikrcUJs
elMwdWxMczxLamVPfVdiYTNuWnw+VlQ9RHlgKXM3Y0FzVXdCLTs9ejBXJHs7bk42RHFnVmA/MyU8
Pwp6Xj1Tck1GRHBaaE4kQ0dNWFZXJTZWRiZzPnkjM3B5bkBKbGJqKD1xTFdvOVVOYiojfGwlWVIk
e2NYX1JBdVY/PV4KbldAbVVYP2BCUn1NbEEyKTVCI3JtOSRhRSY0XklWbG5peEQ/e2FuXkxCe1Rz
NWItT30xCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9t
L3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjYWFmMDdk
MTNkOTk4MmJmYTljNGYyYzE4MWI3NmVlYjhiNWFlODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10
by1yZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDE2MDh4MTIzNgorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA3ODV4MTIzNgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3
ODV4MTIzNgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDEyMjAKKyAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzY5eDIwCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYzeDE5CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNjM6ICJUaGlzIGlzIHRlc3QiCisgICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDYzLDE1KSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsMjgpIHNpemUgMTYwMHgxMjAwCisg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwyMCkgc2l6ZSAx
NjAweDEyMDAgW2JnY29sb3I9IzAwODAwMF0KK2xheWVyIGF0ICg2MDgsODI4KSBzaXplIDE1OXgy
NgorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDYwMCw4MDApIHNpemUgMTU5
eDI2CisgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE1NXgyMiBb
Ymdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorbGF5ZXIgYXQg
KDYxMiw4MzMpIHNpemUgMTUxeDE2CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUg
MTUxeDE2CitzY3JvbGxlZCB0byA1MzgsNjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDNmM2Qx
ZTA0MWFhMDcxNjEzMDA5ZWIxMTAwMDIyNzY2MTIxYmRjNGUuLjYyNDE2Y2U2ODJiNmJhZTExZDdl
YzNlOTFhZDUwZjY2M2Q2ZTc2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC05ODUsNiArOTg1
LDcgQEAgX19aTjdXZWJDb3JlOUZyYW1lVmlldzM4c3luY0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRp
bmdTdWJmcmFtZXNFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzZjcmVhdGVFUE5TXzVGcmFtZUUK
IF9fWk43V2ViQ29yZTlGcmFtZVZpZXc2Y3JlYXRlRVBOU181RnJhbWVFUktOU183SW50U2l6ZUUK
IF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3BhaW50Q29udHJvbFRpbnRzRXYKK19fWk43V2ViQ29y
ZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1JlY3RFUE5TXzdFbGVtZW50RVJLTlNfN0ludFJl
Y3RFCiBfX1pON1dlYkNvcmU5SFRNTE5hbWVzMTBsaXN0aW5nVGFnRQogX19aTjdXZWJDb3JlOUhU
TUxOYW1lczExdGV4dGFyZWFUYWdFCiBfX1pON1dlYkNvcmU5SFRNTE5hbWVzMTNibG9ja3F1b3Rl
VGFnRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGIwZmY4YjI0NjViN2UyYmU0NjY4
NzliMzU0MzVlMzE2ZGE2ODViMWYuLjUzMmIzZThiMDA5MDQyNDg3NTBlNjYyZWFiNWZiMjY0Mzc2
NmMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTE2MjIsNiArMTYyMiwxNiBA
QCB2b2lkIEZyYW1lVmlldzo6bWFpbnRhaW5TY3JvbGxQb3NpdGlvbkF0QW5jaG9yKE5vZGUqIGFu
Y2hvck5vZGUpCiAgICAgICAgIHNjcm9sbFRvQW5jaG9yKCk7CiB9CiAKK3ZvaWQgRnJhbWVWaWV3
OjpzY3JvbGxFbGVtZW50VG9SZWN0KEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJl
Y3QpCit7CisgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKCk7CisKKyAgICBMYXlvdXRSZWN0IGJvdW5kcyA9IGVsZW1lbnQtPmJvdW5k
c0luV2luZG93U3BhY2UoKTsKKyAgICBpbnQgY2VudGVyaW5nT2Zmc2V0WCA9IChyZWN0LndpZHRo
KCkgLSBib3VuZHMud2lkdGgoKSkgLyAyOworICAgIGludCBjZW50ZXJpbmdPZmZzZXRZID0gKHJl
Y3QuaGVpZ2h0KCkgLSBib3VuZHMuaGVpZ2h0KCkpIC8gMjsKKyAgICBzY3JvbGxCeShJbnRTaXpl
KGJvdW5kcy54KCkgLSBjZW50ZXJpbmdPZmZzZXRYIC0gcmVjdC54KCksIGJvdW5kcy55KCkgLSBj
ZW50ZXJpbmdPZmZzZXRZIC0gcmVjdC55KCkpKTsKK30KKwogdm9pZCBGcmFtZVZpZXc6OnNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IExheW91dFBvaW50JiBzY3JvbGxQb2ludCkKIHsKICAgICBib29s
IHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsID0gbV9pblByb2dyYW1tYXRpY1Njcm9sbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCmluZGV4IDkzZWU5MWFlOWE1MGViYzk3YTEzMWQyZjVlMzc4ODY2N2Qy
MTA5N2IuLmY5ZmFjZTBjYzE3N2IyNzBhMDkxZDA3OGQ5ODRkNDQ5MTUwMjNlOTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDb2xvcjsKK2NsYXNzIEVsZW1lbnQ7CiBjbGFzcyBFdmVudDsKIGNsYXNzIEZsb2F0
U2l6ZTsKIGNsYXNzIEZyYW1lOwpAQCAtMjYwLDYgKzI2MSw3IEBAIHB1YmxpYzoKICAgICBib29s
IHNjcm9sbFRvRnJhZ21lbnQoY29uc3QgS1VSTCYpOwogICAgIGJvb2wgc2Nyb2xsVG9BbmNob3Io
Y29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBtYWludGFpblNjcm9sbFBvc2l0aW9uQXRBbmNob3Io
Tm9kZSopOworICAgIHZvaWQgc2Nyb2xsRWxlbWVudFRvUmVjdChFbGVtZW50KiwgY29uc3QgSW50
UmVjdCYpOwogCiAgICAgLy8gTWV0aG9kcyB0byBjb252ZXJ0IHBvaW50cyBhbmQgcmVjdHMgYmV0
d2VlbiB0aGUgY29vcmRpbmF0ZSBzcGFjZSBvZiB0aGUgcmVuZGVyZXIsIGFuZCB0aGlzIHZpZXcu
CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGNvbnZlcnRGcm9tUmVuZGVyZXIoY29uc3QgUmVuZGVy
T2JqZWN0KiwgY29uc3QgTGF5b3V0UmVjdCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCmluZGV4IGZhOTIwNTFjNDlhOWM0OGRmZDI0M2M4OTU3YWI4YzI3NDgwMjRjNWYu
LmY5YTc4YTI0MmYwYWM0ZWY1MGY0Yjc0NDMzYWEyZTE5ZDBjMjFiYzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJNZW1vcnlD
YWNoZS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgpAQCAtMzc2LDQgKzM3NywxNCBAQCB2b2lkIEludGVybmFsczo6cGFpbnRDb250cm9sVGlu
dHMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBmcmFtZVZpZXct
PnBhaW50Q29udHJvbFRpbnRzKCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzY3JvbGxFbGVtZW50
VG9SZWN0KEVsZW1lbnQqIGVsZW1lbnQsIGxvbmcgeCwgbG9uZyB5LCBsb25nIHcsIGxvbmcgaCwg
RXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LT5kb2N1
bWVudCgpIHx8ICFlbGVtZW50LT5kb2N1bWVudCgpLT52aWV3KCkpIHsKKyAgICAgICAgZWMgPSBJ
TlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgRnJhbWVWaWV3
KiBmcmFtZVZpZXcgPSBlbGVtZW50LT5kb2N1bWVudCgpLT52aWV3KCk7CisgICAgZnJhbWVWaWV3
LT5zY3JvbGxFbGVtZW50VG9SZWN0KGVsZW1lbnQsIEludFJlY3QoeCwgeSwgdywgaCkpOworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA3YzQ1NmZiZjA5MWM2M2U1NjBk
N2MyYmIwMjUyMzQzNzg0ZWEwN2I2Li5jMmMyNjRmZjkzNmY1MjAzMDczMDg0N2ZkNTM1OTE3MGM5
YTIyMDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTg3LDYgKzg3LDcgQEAg
cHVibGljOgogICAgIGJvb2wgd2FzTGFzdENoYW5nZVVzZXJFZGl0KEVsZW1lbnQqIHRleHRGaWVs
ZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFN0cmluZyBzdWdnZXN0ZWRWYWx1ZShFbGVtZW50KiBp
bnB1dEVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVl
KEVsZW1lbnQqIGlucHV0RWxlbWVudCwgY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwor
ICAgIHZvaWQgc2Nyb2xsRWxlbWVudFRvUmVjdChFbGVtZW50KiwgbG9uZyB4LCBsb25nIHksIGxv
bmcgdywgbG9uZyBoLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBzdGF0aWMgY29uc3QgY2hhciog
aW50ZXJuYWxzSWQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBkOGEw
YTZkMDZmYTVjOTE0NmUyMTM5ODFmMmJiYjJlZjI1YzljYmM4Li5jMjY3ZTQ4NmEwMTcwYTRhY2M0
ODQ3ZjdjNTZkMDdkYTQ2NzE3ODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CkBAIC02Myw2ICs2Myw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lkIHNldFN1Z2dl
c3RlZFZhbHVlKGluIEVsZW1lbnQgaW5wdXRFbGVtZW50LCBpbiBET01TdHJpbmcgdmFsdWUpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICB2b2lkIHBhaW50Q29udHJvbFRpbnRzKGlu
IERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgdm9p
ZCBzY3JvbGxFbGVtZW50VG9SZWN0KGluIEVsZW1lbnQgZWxlbWVudCwgaW4gbG9uZyB4LCBpbiBs
b25nIHksIGluIGxvbmcgdywgaW4gbG9uZyBoKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAg
fTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmll
dy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCmluZGV4IDMzOGMy
YWQ5NDVmMDgyYTRhZmVhNTVhZWNkMGE3MDk0ZGJkMWJhODkuLjc1ZTBiYjAzNDNlODYzODRiM2M0
MzA5ZmE2NGVkYWVkY2IxOWY1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJW
aWV3LmgKQEAgLTE3NSw4ICsxNzUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNjcm9s
bEZvY3VzZWROb2RlSW50b1ZpZXcoKSA9IDA7CiAKICAgICAvLyBTY3JvbGxzIHRoZSBub2RlIGN1
cnJlbnRseSBpbiBmb2N1cyBpbnRvIHxyZWN0fCwgd2hlcmUgfHJlY3R8IGlzIGluCi0gICAgLy8g
c2NyZWVuIHNwYWNlLgotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0
KGNvbnN0IFdlYlJlY3QmIHJlY3QpIHsgfQorICAgIC8vIHdpbmRvdyBzcGFjZS4KKyAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdChjb25zdCBXZWJSZWN0JikgeyB9CiAK
IAogICAgIC8vIFpvb20gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCmluZGV4IDFmODUwOWY0ODZhZjEzNjlhYTdiOTRjMDY1OTk0NGQ2YWU1NjBlYWUu
LmQwMjczMTFjNGJmMzU0YjhjNDdlYWVkMTRlZTdiZjc0NGUwOWVkOGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTE4MjEsMTYgKzE4MjEsMTIgQEAg
dm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvVmlldygpCiB2b2lkIFdlYlZp
ZXdJbXBsOjpzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0KGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7
CiAgICAgTm9kZSogZm9jdXNlZE5vZGUgPSBmb2N1c2VkV2ViQ29yZU5vZGUoKTsKLSAgICBpZiAo
IWZvY3VzZWROb2RlIHx8ICFmb2N1c2VkTm9kZS0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgRWxlbWVudCogZWxlbWVudE5vZGUgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4o
Zm9jdXNlZE5vZGUpOwotICAgIExheW91dFJlY3QgYm91bmRzID0gZWxlbWVudE5vZGUtPmJvdW5k
c0luV2luZG93U3BhY2UoKTsKLSAgICBpbnQgY2VudGVyaW5nT2Zmc2V0WCA9IChyZWN0LndpZHRo
IC0gYm91bmRzLndpZHRoKCkpIC8gMjsKLSAgICBpbnQgY2VudGVyaW5nT2Zmc2V0WSA9IChyZWN0
LmhlaWdodCAtIGJvdW5kcy5oZWlnaHQoKSkgLyAyOwotICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0
KGJvdW5kcy54KCkgLSBjZW50ZXJpbmdPZmZzZXRYLCBib3VuZHMueSgpIC0gY2VudGVyaW5nT2Zm
c2V0WSk7Ci0gICAgRnJhbWUqIGZyYW1lID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpOwotICAg
IGlmIChmcmFtZSAmJiBmcmFtZS0+dmlldygpKQotICAgICAgICBmcmFtZS0+dmlldygpLT5zY3Jv
bGxCeShzY3JvbGxPZmZzZXQpOworICAgIGlmIChmb2N1c2VkTm9kZSAmJiBmb2N1c2VkTm9kZS0+
aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgIEVsZW1lbnQqIGVsZW1lbnROb2RlID0gc3RhdGlj
X2Nhc3Q8RWxlbWVudCo+KGZvY3VzZWROb2RlKTsKKyAgICAgICAgRnJhbWUqIGZyYW1lID0gcGFn
ZSgpLT5tYWluRnJhbWUoKTsKKyAgICAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT52aWV3KCkpCisg
ICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zY3JvbGxFbGVtZW50VG9SZWN0KGVsZW1lbnROb2Rl
LCBJbnRSZWN0KHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCkpOworICAg
IH0KIH0KIAogZG91YmxlIFdlYlZpZXdJbXBsOjp6b29tTGV2ZWwoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
ZGVmCmluZGV4IDY4ZDg5M2VkNjkyOGM2OTM1NmE4NWUxMjQyMDk1YzEyMDMyOTM1YzQuLmZhNTE4
ZTM0MDJhMTEyNTQ2MTkwYmJiZDUyMTJmNjk0NTk0ZmQxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5k
ZWYKQEAgLTE2Miw2ICsxNjIsNyBAQCBFWFBPUlRTCiAgICAgICAgID9tZW1vcnlDYWNoZUBXZWJD
b3JlQEBZQVBBVk1lbW9yeUNhY2hlQDFAWFoKICAgICAgICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29y
ZUBAUUJFUEFWUGFnZUAyQFhaCiAgICAgICAgID9wYWludENvbnRyb2xUaW50c0BGcmFtZVZpZXdA
V2ViQ29yZUBAQUFFWFhaCisgICAgICAgID9zY3JvbGxFbGVtZW50VG9SZWN0QEZyYW1lVmlld0BX
ZWJDb3JlQEBRQUVYUEFWRWxlbWVudEAyQEFCVkludFJlY3RAMkBAWgogICAgICAgICA/cmVtb3Zl
U2hhZG93Um9vdEBFbGVtZW50QFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/c2V0RGlzYWJsZWRA
TWVtb3J5Q2FjaGVAV2ViQ29yZUBAUUFFWF9OQFoKICAgICAgICAgP3NldERPTUV4Y2VwdGlvbkBX
ZWJDb3JlQEBZQVhQQVZFeGVjU3RhdGVASlNDQEBIQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZM
aXRlLmRlZgppbmRleCBlZGFlY2MxZGQyYzFiMWY3ZDBhYjY2MDNkODllMDBkNTFhYjFmZmJhLi44
NDgyYjQ5NzE2YzcxY2IyYzMyZDdjMGZiYzk1MmYyN2Y0MWY0ZDFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNTYsNiArMTU2LDcgQEAgRVhQT1JUUwogICAgICAgICA/
bWVtb3J5Q2FjaGVAV2ViQ29yZUBAWUFQQVZNZW1vcnlDYWNoZUAxQFhaCiAgICAgICAgID9wYWdl
QERvY3VtZW50QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBYWgogICAgICAgICA/cGFpbnRDb250cm9s
VGludHNARnJhbWVWaWV3QFdlYkNvcmVAQEFBRVhYWgorICAgICAgICA/c2Nyb2xsRWxlbWVudFRv
UmVjdEBGcmFtZVZpZXdAV2ViQ29yZUBAUUFFWFBBVkVsZW1lbnRAMkBBQlZJbnRSZWN0QDJAQFoK
ICAgICAgICAgP3JlbW92ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVYWFoKICAgICAg
ICAgP3NldERpc2FibGVkQE1lbW9yeUNhY2hlQFdlYkNvcmVAQFFBRVhfTkBaCiAgICAgICAgID9z
ZXRET01FeGNlcHRpb25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0YXRlQEpTQ0BASEBaCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9z
eW1ib2xzLmZpbHRlcgppbmRleCA1M2RiMGZiYTI1Y2ZlNmU5NDJiZTA5NGE4MTcwYTg3MDk4ZDNj
YzZhLi41NTEzZDc1MjdjYTIxOWNjYzUyMTE0YzQ3YzQ3NGRlNGM0ZGI1ODk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKQEAgLTc3LDYgKzc3LDcgQEAgX1pOSzdXZWJDb3JlOVRyZWVTY29wZTE0
Z2V0RWxlbWVudEJ5SWRFUktOM1dURjEyQXRvbWljU3RyaW5nRTsKIF9aTjdXZWJDb3JlMTRTY3Jv
bGxhYmxlQXJlYTI4c2V0U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7
CiBfWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBf
Wk43V2ViQ29yZTlGcmFtZVZpZXcxN3BhaW50Q29udHJvbFRpbnRzRXY7CitfWk43V2ViQ29yZTlG
cmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1JlY3RFUE5TXzdFbGVtZW50RVJLTlNfN0ludFJlY3RF
CiBsb2NhbDoKIF9aKjsKIGN0aSo7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108489</attachid>
            <date>2011-09-23 10:36:33 -0700</date>
            <delta_ts>2011-09-23 15:24:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68198-20110923133215.patch</filename>
            <type>text/plain</type>
            <size>17693</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MjMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAzNjhiZjQ5ZTkwNjY3YzQ1OTA2MWEzMjE3NmJhYmYyZjNkM2U1NDQyLi4zN2Rl
ZDg3ZDhlZTljOGNlZjVlZWQ1MzcyNTdjMzc5MGVhMGJkMWI0IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDktMjMgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1w
bDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluOgorICAgICAgICAqICBTb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgICogIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3Lmg6CisgICAgICAgICogIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcu
aDoKKyAgICAgICAgKiAgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
OgorICAgICAgICAqICBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICog
IFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZjoKKyAgICAgICAgKiAgU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMS0wOS0yMSAgSnVsaWVuIENoYWZmcmFp
eCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBSZW5kZXJCb3g6
OnBhaW50TWFza0ltYWdlcyB3aGVuIEdyYXBoaWNzQ29udGV4dCdzIHBhaW50aW5nIGlzIGRpc2Fi
bGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1y
ZWN0LWNlbnRlcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10
by1yZWN0LWNlbnRlcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGRmN2ZjMWM5OTlkNDE4NDI4MWRkMmQx
MDBlMmYwNDM1NjFmZTViNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQuaHRtbApAQCAtMCwwICsxLDIwIEBACis8
aHRtbD4KKyAgPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGZ1bmN0aW9uIGRvVGVzdCgpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICB2YXIgYm94ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHRib3gnKTsKKyAgICAgICAgICB3aW5kb3cuaW50ZXJu
YWxzLnNjcm9sbEVsZW1lbnRUb1JlY3QoYm94LCA1MCwgMzAsIDIwMCwgMjUwKTsKKyAgICAgICAg
fQorICAgICAgfQorICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBkb1Rlc3Qp
OworICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIFRoaXMgaXMgdGVzdDxi
cj4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAyNDAwcHg7IGhl
aWdodDogMjQwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsiPgorICAgICAgPGRpdiBzdHls
ZT0icG9zaXRpb246Zml4ZWQ7IGxlZnQ6IDUwcHg7IHRvcDogMzBweDsgd2lkdGg6IDIwMHB4OyBo
ZWlnaHQ6IDI1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPjwvZGl2PgorICAgICAgPGRp
diBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxp
bnB1dCBpZD0idGV4dGJveCIgdHlwZT0idGV4dCI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVt
ZW50LXRvLXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRv
LXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTdiZGRlMTBhNWI5OTUyODUwN2VhMzRjOWFiYTZjMzg0
NTg0YjFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVs
ZW1lbnQtdG8tcmVjdC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzxodG1sPgorICA8aGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgZnVuY3Rpb24gZG9UZXN0KCkgeworICAgICAgICBpZiAod2luZG93
LmludGVybmFscykgeworICAgICAgICAgIHZhciBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGV4dGJveCcpOworICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2Nyb2xsRWxlbWVudFRv
UmVjdChib3gsIDAsIDAsIDMwMCwgMzAwKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBkb1Rlc3QpOworICAgIDwvc2NyaXB0PgorICA8
L2hlYWQ+CisgIDxib2R5PgorICAgIFRoaXMgaXMgdGVzdDxicj4KKyAgICA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxNjAwcHg7IGhlaWdodDogMTIwMHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsiPgorICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7
IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxpbnB1dCBpZD0idGV4dGJveCIgdHlwZT0idGV4
dCI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50
LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0tbGludXgvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC1leHBl
Y3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzVkN2U2NTRlMzlmMmZkYjQ2YmE0ZTFjZGFhMTZjM2ViOGRi
ZTBiZQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzQ0Ngp6Y21lSEtaQT8+Rjc9OUAqRGoqKmR1
elUlZCtRcmFOej17e0owfVhAYE5nMllsJGc8SF4+Y19BVWk7TXhyQWA4d3EKekFWNE5nKDdHaVgr
Wi0oKUwmaiQ+VX1aPTtTUysrYUVfNWdeQD0tbyZKM3VIcVd6bUBKbXQ9bnlJWH0qUS1nRDFBCno9
aURkdmRFV1A0ZFkyV3MrMWt3LTA1KFV4Nk1oSzUrIzcoekNYPipKdnk8fiU9Jn56NGZ9UEdnazw5
eEBjPWp7fAp6YXMybHRgdnZqI2FKWWRPQmJnZiUhMXU+XiQyZmExWSZYV2A/eGpxWT9tJng/cXIm
JmNYSTR4VHs7YjRkSCZKWkoKekptdHN1VF91fj8oajspd1VkPGk7e0sxNGArKmIzck5teDhxaDxB
b0Q7KzFXZEZeKE5uXj0hTGlYNFMrKD05WlBPCnohXkRQKyFwZGVzS215emB1dn4jISt7fnxrPSpH
X2tlSHFRNCFDblg0RCR1c2BSRENkQ3B8bz1XeWJldVQoSks5WQp6V0cjOUlmRWYyO3o0cXIzWVp7
Mkk7dzFRTjY5UVlXdV9+PSpZIUU4QFMkWnE0VX1yU3wlVFJzRztDP1g0M0BaNHQKekAzcytoSClC
Q2BmOFNGfFl6UH5gS2kzaSp3d1FwcG9kbm9ES2lmISY2QUJ7fVhmOW99Vkw/TTcqJGxXTzh9TyMw
Cnp3TyQ/c3hAVV96emdAanYkUnZzVHZ7Rkw3OW54SDsmfCZVYXhJa0YrMjYqTDI7UGRRZjQ7emlX
cWJpayg3cWtEdAp6KmNmK0NDUmZKK1VpMD59LTJqcS1POFF+ZmpTSU0zRV5rTzN5P2NXTXRsNSh2
UzVyJjdeP0g0O0kyN0dlSE1PPlMKelc/S05KczNnIzVPUyR8XjBNQ2BNS0E9dlNHOF5lREAoTEJD
cmdvdT91QEdAIWI9JiNYSGE1KzQ0bEVMZHpOP0tECnolZXhIQGZHNW5tejlfITZFemI/dkg9NHN3
d30rPlRlSnFoXlY8aSVhQSQ1Y3htYCVEIzYrUUNQN2JXKnhkI15DNAp6OEMwN0M8bXtXJkZhNiR3
K0N7cEZ3ciloNW1hZiVtNFdubm4kPjMwelg5O05tWXdWZjJuUl9OZj9EbFhaITV2ZkEKejtgOUd0
dSlLaFliREN1dHlkcj92MH56YWIpUiojTVdXTkJTQjJNY0VVWDYjNCo/Sl9gdXMhTmhudSp7eUUm
ZmchCno+bDRieFF+eSVGRGdTUUp2TyZVenRvfkNLRERHfHAoRDJsUGhHJklvKSF7Q2hkdyNwKTh+
LWV3YSg/ank0ZGVkZgp6XndtZCNoTnRJRlRpS3d7SzU7X2hpTHlnbD9adEB0KExffHFZSWJVeVBz
dD15Nk9gS3heb0p1fmUyQSkxVD16KH4KeklKY0l5YnlzQEV7Y0wtRS1TYXQoQDNYfGdBcl8hMVJg
NypGcC0kUFhUZypYJilZNFV9MHIzJVlzSGh4T3E/WmdICnozdmtXbilFe0x3ciZJRmYrX3txOTdC
cntgPTxufVckS21Ce3NtZlR9Sn4pSjRnNCpaYnZ1JnclRm9tX14zTDsoMgp6KEpFQmRNfV5NSXlT
KUp5VW1yUmNXMkFURmpkSUJfZCtFSXVBeSV6KVpqdEc7UitOQDdMO2UxeWRHMHE3NUQ1KVMKekU/
Rk16MzJWQE41eThsUWxHUU1MbDRjK1hxSllfdnUmfE9uQV9FUHhidnxtIXMqdWJhXzV8Iz5IMShA
YXVRTXc0Cnp0a0lXRjdkTF4xKnh+JS1BPHZFQjAlP0xEakVlIXstcVExQSg5e0xqbSRsSyNkTmBE
azZLKkpUMnFeaCt2WUFoXgpzV1hgdC1RKndebTBscjxneFU2aXQ3RU42eFpCNWtvSSRjQEQoVEB+
Rk1YPHNwMmErIVExPzhhKjM7K05DCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxl
bWVudC10by1yZWN0LWNlbnRlcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlYjc3Y2I2MmYzMTk3Y2MwMzM1Mjc2Mjg1M2YzZTI1
NmRjNjY0NDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRlcmVkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE5IEBACitsYXllciBhdCAoMCwwKSBzaXplIDI0MDh4MjQzNgorICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4
MjQzNgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MjQzNgorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDI0MjAKKyAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzY5eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDYzeDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggNjM6ICJUaGlzIGlzIHRlc3QiCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDYzLDE1KSBz
aXplIDB4MAorbGF5ZXIgYXQgKDgsMjgpIHNpemUgMjQwMHgyNDAwCisgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwyMCkgc2l6ZSAyNDAweDI0MDAgW2JnY29s
b3I9I0ZGRkZGRl0KK2xheWVyIGF0ICg1ODgsNzE2KSBzaXplIDIwMHgyNTAKKyAgUmVuZGVyQmxv
Y2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg1MCwzMCkgc2l6ZSAyMDB4MjUwIFtiZ2NvbG9yPSMw
MDgwMDBdCitsYXllciBhdCAoNjA4LDgyOCkgc2l6ZSAxNTl4MjYKKyAgUmVuZGVyQmxvY2sgKHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICg2MDAsODAwKSBzaXplIDE1OXgyNgorICAgIFJlbmRlclRleHRD
b250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAxNTV4MjIgW2JnY29sb3I9I0ZGRkZGRl0gW2Jv
cmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KK2xheWVyIGF0ICg2MTIsODMzKSBzaXplIDE1MXgx
NgorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE1MXgxNgorc2Nyb2xsZWQgdG8g
NTM4LDY4NgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgv
ZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0
LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NmJkN2I4MjljYTJlNmJkMGUxMDhjMTAwN2Y0NWE0
OGRiYTkyMzY0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzNDI2CnpjbWVBU0BOPyhvbEh5YHVW
QnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UIXYoJAp6RyFyQXNH
KChGZFYrI1dsR2ZOOWcpNUsmJEFsSmU/SW1zfDd2Qk4xKWg9R0NVaT5IZllOWDRBRGNXd1FXIXpD
SVgKelc8TjJGMj0rREglJjUmODZ2YjhrPUReIUUlOF9TYzlZbiRsNFBDPD9xJCleaFdpNDBlKHk3
YT5OUzhWTUlwb3taCnpoSjgkKDtvb0VBKWVnVUJXPyhwZmBgPFIldyMyPTBAJHZFWVRocSpEPnh5
K0pOLVZSXypKRWYxSHRUeV93RFY1LQp6KigwKCMzPVFJY3pyS3p5RkpCKEZDMnN4c3gtVFhTNERT
eVpUUX5FRWF7KG8xOUFJTVQtfj0rbFhaZmkwJEI5UVUKekZzdl5PNUFRZGQyOSZWNGtyIV44cXRu
UkJQJXh3MndlKT5ndmx9QT0teyFre15XemB6aTdgMCVCcnF9QFZGNURFCno3ejZjSE9DQiNnS2I0
N19Bd21FMSZ6a3dFdihGd0FRJCRoKFMzU3g9NCFoQ043XjB6KFF9dT9pWmk7PlYmKEUpMwp6eX1B
KjYhTlQ1dHsoblJKWnoycEUpfFhlYXp5OV4+Klg4QkAkTEJSMmAxJGthXllpb2paQ00jKTleQWNt
UF4jQEEKelB7LX08YDlRaHR5TFJyaHtLZiZ5VV9kUzAzPWJrZSpAK3JTViVjJUkya2dJb2VTTGxR
P0FlWFc4NXIjNWx1SmolCnpAMmk9NHtgdjhGT2JrQ2Q/JlQpTHs7NChtUX5PNGRwQElKLUM8aHc/
YkdtQD1DfVk/SyFmZCV9MjhNPnE4KmIpJgp6aV96U2AhMEBmOHZod0dMTXtuUTAtSyV8bmZCa2s+
aiQhQkooUFR7WHl1OSh7TXNAfVUzKXxJS3YlYkdRZGkzYksKelhpIVVHIXxCdGZjWitZfHpNWCU2
Ujx7NnkhWlRuPztsUk5oS18tU0hBbVVIUko3QjlwPF94SDUwM3JfZnN7I3tiCno2MHE1enBmPGBG
NEZzWjYhc1RSczI4SUh1dSs+LVJYfG4+OFNLUEdJUHdoQDBFOEshdmtuIShpV3tecGZJbz5XXwp6
RjVmc211bTFNR0JiNXZjZXdYcT5iZj0lTD9rIz1LK19zR2EqczkkWTltM3pBRjkyQDtVSnZiOz5q
TmRyeFIpeXoKenk4fHIlKlR7UXYleDFzYzl8VE9qZHZaMkwqaT1+Xnd0Wn0mQylSems/RFkmYmhL
OVhzdUQ9Rj88QD5CPXBCM3ZxCnpZUVhjSz9iXyRuajB8P217P0JAO2E1KylwU1lnZDgkc2UoZ0V6
VWp2ZTclUUZKJHYpYm43QkIoWU9WKmk1b15RIwp6XzU4YUp3N156NFZ9OSFIYkp0I2ZVM2owRjtY
fFIkXndWRmZZQTxZYGI1b0xxcTJrYGN5PGVVej1UTSh+YSZ8aS0KemdOMTc3ZTtjYG9TNm1OVlM2
X1gjUXZBUzZGUmQzNzQrTW9YOUJ9e2tPPkNEdVA+U0l9dWRCKTQ/eyZOSFg2ZjgwCnp0KikrcUJs
elMwdWxMczxLamVPfVdiYTNuWnw+VlQ9RHlgKXM3Y0FzVXdCLTs9ejBXJHs7bk42RHFnVmA/MyU8
Pwp6Xj1Tck1GRHBaaE4kQ0dNWFZXJTZWRiZzPnkjM3B5bkBKbGJqKD1xTFdvOVVOYiojfGwlWVIk
e2NYX1JBdVY/PV4KbldAbVVYP2BCUn1NbEEyKTVCI3JtOSRhRSY0XklWbG5peEQ/e2FuXkxCe1Rz
NWItT30xCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9t
L3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjYWFmMDdk
MTNkOTk4MmJmYTljNGYyYzE4MWI3NmVlYjhiNWFlODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10
by1yZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDE2MDh4MTIzNgorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA3ODV4MTIzNgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3
ODV4MTIzNgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDEyMjAKKyAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzY5eDIwCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYzeDE5CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNjM6ICJUaGlzIGlzIHRlc3QiCisgICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDYzLDE1KSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsMjgpIHNpemUgMTYwMHgxMjAwCisg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwyMCkgc2l6ZSAx
NjAweDEyMDAgW2JnY29sb3I9IzAwODAwMF0KK2xheWVyIGF0ICg2MDgsODI4KSBzaXplIDE1OXgy
NgorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDYwMCw4MDApIHNpemUgMTU5
eDI2CisgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE1NXgyMiBb
Ymdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorbGF5ZXIgYXQg
KDYxMiw4MzMpIHNpemUgMTUxeDE2CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUg
MTUxeDE2CitzY3JvbGxlZCB0byA1MzgsNjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDNmM2Qx
ZTA0MWFhMDcxNjEzMDA5ZWIxMTAwMDIyNzY2MTIxYmRjNGUuLjYyNDE2Y2U2ODJiNmJhZTExZDdl
YzNlOTFhZDUwZjY2M2Q2ZTc2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC05ODUsNiArOTg1
LDcgQEAgX19aTjdXZWJDb3JlOUZyYW1lVmlldzM4c3luY0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRp
bmdTdWJmcmFtZXNFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzZjcmVhdGVFUE5TXzVGcmFtZUUK
IF9fWk43V2ViQ29yZTlGcmFtZVZpZXc2Y3JlYXRlRVBOU181RnJhbWVFUktOU183SW50U2l6ZUUK
IF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3BhaW50Q29udHJvbFRpbnRzRXYKK19fWk43V2ViQ29y
ZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1JlY3RFUE5TXzdFbGVtZW50RVJLTlNfN0ludFJl
Y3RFCiBfX1pON1dlYkNvcmU5SFRNTE5hbWVzMTBsaXN0aW5nVGFnRQogX19aTjdXZWJDb3JlOUhU
TUxOYW1lczExdGV4dGFyZWFUYWdFCiBfX1pON1dlYkNvcmU5SFRNTE5hbWVzMTNibG9ja3F1b3Rl
VGFnRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGIwZmY4YjI0NjViN2UyYmU0NjY4
NzliMzU0MzVlMzE2ZGE2ODViMWYuLjUzMmIzZThiMDA5MDQyNDg3NTBlNjYyZWFiNWZiMjY0Mzc2
NmMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTE2MjIsNiArMTYyMiwxNiBA
QCB2b2lkIEZyYW1lVmlldzo6bWFpbnRhaW5TY3JvbGxQb3NpdGlvbkF0QW5jaG9yKE5vZGUqIGFu
Y2hvck5vZGUpCiAgICAgICAgIHNjcm9sbFRvQW5jaG9yKCk7CiB9CiAKK3ZvaWQgRnJhbWVWaWV3
OjpzY3JvbGxFbGVtZW50VG9SZWN0KEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJl
Y3QpCit7CisgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKCk7CisKKyAgICBMYXlvdXRSZWN0IGJvdW5kcyA9IGVsZW1lbnQtPmJvdW5k
c0luV2luZG93U3BhY2UoKTsKKyAgICBpbnQgY2VudGVyaW5nT2Zmc2V0WCA9IChyZWN0LndpZHRo
KCkgLSBib3VuZHMud2lkdGgoKSkgLyAyOworICAgIGludCBjZW50ZXJpbmdPZmZzZXRZID0gKHJl
Y3QuaGVpZ2h0KCkgLSBib3VuZHMuaGVpZ2h0KCkpIC8gMjsKKyAgICBzY3JvbGxCeShJbnRTaXpl
KGJvdW5kcy54KCkgLSBjZW50ZXJpbmdPZmZzZXRYIC0gcmVjdC54KCksIGJvdW5kcy55KCkgLSBj
ZW50ZXJpbmdPZmZzZXRZIC0gcmVjdC55KCkpKTsKK30KKwogdm9pZCBGcmFtZVZpZXc6OnNldFNj
cm9sbFBvc2l0aW9uKGNvbnN0IExheW91dFBvaW50JiBzY3JvbGxQb2ludCkKIHsKICAgICBib29s
IHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsID0gbV9pblByb2dyYW1tYXRpY1Njcm9sbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCmluZGV4IDkzZWU5MWFlOWE1MGViYzk3YTEzMWQyZjVlMzc4ODY2N2Qy
MTA5N2IuLmY5ZmFjZTBjYzE3N2IyNzBhMDkxZDA3OGQ5ODRkNDQ5MTUwMjNlOTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDb2xvcjsKK2NsYXNzIEVsZW1lbnQ7CiBjbGFzcyBFdmVudDsKIGNsYXNzIEZsb2F0
U2l6ZTsKIGNsYXNzIEZyYW1lOwpAQCAtMjYwLDYgKzI2MSw3IEBAIHB1YmxpYzoKICAgICBib29s
IHNjcm9sbFRvRnJhZ21lbnQoY29uc3QgS1VSTCYpOwogICAgIGJvb2wgc2Nyb2xsVG9BbmNob3Io
Y29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBtYWludGFpblNjcm9sbFBvc2l0aW9uQXRBbmNob3Io
Tm9kZSopOworICAgIHZvaWQgc2Nyb2xsRWxlbWVudFRvUmVjdChFbGVtZW50KiwgY29uc3QgSW50
UmVjdCYpOwogCiAgICAgLy8gTWV0aG9kcyB0byBjb252ZXJ0IHBvaW50cyBhbmQgcmVjdHMgYmV0
d2VlbiB0aGUgY29vcmRpbmF0ZSBzcGFjZSBvZiB0aGUgcmVuZGVyZXIsIGFuZCB0aGlzIHZpZXcu
CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGNvbnZlcnRGcm9tUmVuZGVyZXIoY29uc3QgUmVuZGVy
T2JqZWN0KiwgY29uc3QgTGF5b3V0UmVjdCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCmluZGV4IGZhOTIwNTFjNDlhOWM0OGRmZDI0M2M4OTU3YWI4YzI3NDgwMjRjNWYu
LmY5YTc4YTI0MmYwYWM0ZWY1MGY0Yjc0NDMzYWEyZTE5ZDBjMjFiYzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJNZW1vcnlD
YWNoZS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgpAQCAtMzc2LDQgKzM3NywxNCBAQCB2b2lkIEludGVybmFsczo6cGFpbnRDb250cm9sVGlu
dHMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBmcmFtZVZpZXct
PnBhaW50Q29udHJvbFRpbnRzKCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzY3JvbGxFbGVtZW50
VG9SZWN0KEVsZW1lbnQqIGVsZW1lbnQsIGxvbmcgeCwgbG9uZyB5LCBsb25nIHcsIGxvbmcgaCwg
RXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LT5kb2N1
bWVudCgpIHx8ICFlbGVtZW50LT5kb2N1bWVudCgpLT52aWV3KCkpIHsKKyAgICAgICAgZWMgPSBJ
TlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgRnJhbWVWaWV3
KiBmcmFtZVZpZXcgPSBlbGVtZW50LT5kb2N1bWVudCgpLT52aWV3KCk7CisgICAgZnJhbWVWaWV3
LT5zY3JvbGxFbGVtZW50VG9SZWN0KGVsZW1lbnQsIEludFJlY3QoeCwgeSwgdywgaCkpOworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA3YzQ1NmZiZjA5MWM2M2U1NjBk
N2MyYmIwMjUyMzQzNzg0ZWEwN2I2Li5jMmMyNjRmZjkzNmY1MjAzMDczMDg0N2ZkNTM1OTE3MGM5
YTIyMDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTg3LDYgKzg3LDcgQEAg
cHVibGljOgogICAgIGJvb2wgd2FzTGFzdENoYW5nZVVzZXJFZGl0KEVsZW1lbnQqIHRleHRGaWVs
ZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFN0cmluZyBzdWdnZXN0ZWRWYWx1ZShFbGVtZW50KiBp
bnB1dEVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVl
KEVsZW1lbnQqIGlucHV0RWxlbWVudCwgY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwor
ICAgIHZvaWQgc2Nyb2xsRWxlbWVudFRvUmVjdChFbGVtZW50KiwgbG9uZyB4LCBsb25nIHksIGxv
bmcgdywgbG9uZyBoLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBzdGF0aWMgY29uc3QgY2hhciog
aW50ZXJuYWxzSWQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBkOGEw
YTZkMDZmYTVjOTE0NmUyMTM5ODFmMmJiYjJlZjI1YzljYmM4Li5jMjY3ZTQ4NmEwMTcwYTRhY2M0
ODQ3ZjdjNTZkMDdkYTQ2NzE3ODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CkBAIC02Myw2ICs2Myw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lkIHNldFN1Z2dl
c3RlZFZhbHVlKGluIEVsZW1lbnQgaW5wdXRFbGVtZW50LCBpbiBET01TdHJpbmcgdmFsdWUpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICB2b2lkIHBhaW50Q29udHJvbFRpbnRzKGlu
IERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgdm9p
ZCBzY3JvbGxFbGVtZW50VG9SZWN0KGluIEVsZW1lbnQgZWxlbWVudCwgaW4gbG9uZyB4LCBpbiBs
b25nIHksIGluIGxvbmcgdywgaW4gbG9uZyBoKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAg
fTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmll
dy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCmluZGV4IDMzOGMy
YWQ5NDVmMDgyYTRhZmVhNTVhZWNkMGE3MDk0ZGJkMWJhODkuLjc1ZTBiYjAzNDNlODYzODRiM2M0
MzA5ZmE2NGVkYWVkY2IxOWY1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJW
aWV3LmgKQEAgLTE3NSw4ICsxNzUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNjcm9s
bEZvY3VzZWROb2RlSW50b1ZpZXcoKSA9IDA7CiAKICAgICAvLyBTY3JvbGxzIHRoZSBub2RlIGN1
cnJlbnRseSBpbiBmb2N1cyBpbnRvIHxyZWN0fCwgd2hlcmUgfHJlY3R8IGlzIGluCi0gICAgLy8g
c2NyZWVuIHNwYWNlLgotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0
KGNvbnN0IFdlYlJlY3QmIHJlY3QpIHsgfQorICAgIC8vIHdpbmRvdyBzcGFjZS4KKyAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdChjb25zdCBXZWJSZWN0JikgeyB9CiAK
IAogICAgIC8vIFpvb20gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCmluZGV4IDFmODUwOWY0ODZhZjEzNjlhYTdiOTRjMDY1OTk0NGQ2YWU1NjBlYWUu
LmQwMjczMTFjNGJmMzU0YjhjNDdlYWVkMTRlZTdiZjc0NGUwOWVkOGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTE4MjEsMTYgKzE4MjEsMTIgQEAg
dm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvVmlldygpCiB2b2lkIFdlYlZp
ZXdJbXBsOjpzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0KGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7
CiAgICAgTm9kZSogZm9jdXNlZE5vZGUgPSBmb2N1c2VkV2ViQ29yZU5vZGUoKTsKLSAgICBpZiAo
IWZvY3VzZWROb2RlIHx8ICFmb2N1c2VkTm9kZS0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgRWxlbWVudCogZWxlbWVudE5vZGUgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4o
Zm9jdXNlZE5vZGUpOwotICAgIExheW91dFJlY3QgYm91bmRzID0gZWxlbWVudE5vZGUtPmJvdW5k
c0luV2luZG93U3BhY2UoKTsKLSAgICBpbnQgY2VudGVyaW5nT2Zmc2V0WCA9IChyZWN0LndpZHRo
IC0gYm91bmRzLndpZHRoKCkpIC8gMjsKLSAgICBpbnQgY2VudGVyaW5nT2Zmc2V0WSA9IChyZWN0
LmhlaWdodCAtIGJvdW5kcy5oZWlnaHQoKSkgLyAyOwotICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0
KGJvdW5kcy54KCkgLSBjZW50ZXJpbmdPZmZzZXRYLCBib3VuZHMueSgpIC0gY2VudGVyaW5nT2Zm
c2V0WSk7Ci0gICAgRnJhbWUqIGZyYW1lID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpOwotICAg
IGlmIChmcmFtZSAmJiBmcmFtZS0+dmlldygpKQotICAgICAgICBmcmFtZS0+dmlldygpLT5zY3Jv
bGxCeShzY3JvbGxPZmZzZXQpOworICAgIGlmIChmb2N1c2VkTm9kZSAmJiBmb2N1c2VkTm9kZS0+
aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgIEVsZW1lbnQqIGVsZW1lbnROb2RlID0gc3RhdGlj
X2Nhc3Q8RWxlbWVudCo+KGZvY3VzZWROb2RlKTsKKyAgICAgICAgRnJhbWUqIGZyYW1lID0gcGFn
ZSgpLT5tYWluRnJhbWUoKTsKKyAgICAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT52aWV3KCkpCisg
ICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zY3JvbGxFbGVtZW50VG9SZWN0KGVsZW1lbnROb2Rl
LCBJbnRSZWN0KHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCkpOworICAg
IH0KIH0KIAogZG91YmxlIFdlYlZpZXdJbXBsOjp6b29tTGV2ZWwoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
ZGVmCmluZGV4IDY4ZDg5M2VkNjkyOGM2OTM1NmE4NWUxMjQyMDk1YzEyMDMyOTM1YzQuLmZhNTE4
ZTM0MDJhMTEyNTQ2MTkwYmJiZDUyMTJmNjk0NTk0ZmQxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5k
ZWYKQEAgLTE2Miw2ICsxNjIsNyBAQCBFWFBPUlRTCiAgICAgICAgID9tZW1vcnlDYWNoZUBXZWJD
b3JlQEBZQVBBVk1lbW9yeUNhY2hlQDFAWFoKICAgICAgICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29y
ZUBAUUJFUEFWUGFnZUAyQFhaCiAgICAgICAgID9wYWludENvbnRyb2xUaW50c0BGcmFtZVZpZXdA
V2ViQ29yZUBAQUFFWFhaCisgICAgICAgID9zY3JvbGxFbGVtZW50VG9SZWN0QEZyYW1lVmlld0BX
ZWJDb3JlQEBRQUVYUEFWRWxlbWVudEAyQEFCVkludFJlY3RAMkBAWgogICAgICAgICA/cmVtb3Zl
U2hhZG93Um9vdEBFbGVtZW50QFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/c2V0RGlzYWJsZWRA
TWVtb3J5Q2FjaGVAV2ViQ29yZUBAUUFFWF9OQFoKICAgICAgICAgP3NldERPTUV4Y2VwdGlvbkBX
ZWJDb3JlQEBZQVhQQVZFeGVjU3RhdGVASlNDQEBIQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZM
aXRlLmRlZgppbmRleCBlZGFlY2MxZGQyYzFiMWY3ZDBhYjY2MDNkODllMDBkNTFhYjFmZmJhLi44
NDgyYjQ5NzE2YzcxY2IyYzMyZDdjMGZiYzk1MmYyN2Y0MWY0ZDFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNTYsNiArMTU2LDcgQEAgRVhQT1JUUwogICAgICAgICA/
bWVtb3J5Q2FjaGVAV2ViQ29yZUBAWUFQQVZNZW1vcnlDYWNoZUAxQFhaCiAgICAgICAgID9wYWdl
QERvY3VtZW50QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBYWgogICAgICAgICA/cGFpbnRDb250cm9s
VGludHNARnJhbWVWaWV3QFdlYkNvcmVAQEFBRVhYWgorICAgICAgICA/c2Nyb2xsRWxlbWVudFRv
UmVjdEBGcmFtZVZpZXdAV2ViQ29yZUBAUUFFWFBBVkVsZW1lbnRAMkBBQlZJbnRSZWN0QDJAQFoK
ICAgICAgICAgP3JlbW92ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVYWFoKICAgICAg
ICAgP3NldERpc2FibGVkQE1lbW9yeUNhY2hlQFdlYkNvcmVAQFFBRVhfTkBaCiAgICAgICAgID9z
ZXRET01FeGNlcHRpb25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0YXRlQEpTQ0BASEBaCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9z
eW1ib2xzLmZpbHRlcgppbmRleCA1M2RiMGZiYTI1Y2ZlNmU5NDJiZTA5NGE4MTcwYTg3MDk4ZDNj
YzZhLi5hMTgxMGRkMmEwN2YwZTMxMWFmYjkwMmVlMmYwNDZjMzE1ZTkxMTUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKQEAgLTc3LDYgKzc3LDcgQEAgX1pOSzdXZWJDb3JlOVRyZWVTY29wZTE0
Z2V0RWxlbWVudEJ5SWRFUktOM1dURjEyQXRvbWljU3RyaW5nRTsKIF9aTjdXZWJDb3JlMTRTY3Jv
bGxhYmxlQXJlYTI4c2V0U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7
CiBfWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBf
Wk43V2ViQ29yZTlGcmFtZVZpZXcxN3BhaW50Q29udHJvbFRpbnRzRXY7CitfWk43V2ViQ29yZTlG
cmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1JlY3RFUE5TXzdFbGVtZW50RVJLTlNfN0ludFJlY3RF
OwogbG9jYWw6CiBfWio7CiBjdGkqOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108545</attachid>
            <date>2011-09-23 15:24:47 -0700</date>
            <delta_ts>2011-09-23 16:36:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68198-20110923182027.patch</filename>
            <type>text/plain</type>
            <size>16630</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MjMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAzNjhiZjQ5ZTkwNjY3YzQ1OTA2MWEzMjE3NmJhYmYyZjNkM2U1NDQyLi40MTZm
NWNmMjMwMTExYmVmMTk3YzEwOTUxYjkwMTE1MmZiYjFhYThiIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDktMjMgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1w
bDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMS0wOS0yMSAgSnVsaWVuIENoYWZm
cmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBSZW5kZXJC
b3g6OnBhaW50TWFza0ltYWdlcyB3aGVuIEdyYXBoaWNzQ29udGV4dCdzIHBhaW50aW5nIGlzIGRp
c2FibGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMWFkMTVmMzA4MTNhMjI5ODlhMzY3YTAyYjdiMjM1OGEwODIyYzEwNC4u
M2VlNmU1NDM5YjIyNzBmN2ZlMzU5NGNmZTMwYzA5MTQ4M2NlMTNhZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDExLTA5LTIzICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmVmYWN0b3IgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWROb2RlSW50b1JlY3Qg
dG8gYSBiZXR0ZXIgcGxhY2UgYW5kIGFkZCB0ZXN0cyAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0
LWNlbnRlcmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3Njcm9sbC1lbGVtZW50
LXRvLXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgv
ZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1l
bGVtZW50LXRvLXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMS0wOS0yMyAgWWFlbCBB
aGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CiAKICAgICAgICAgRml4IHR5cG8gaW4gZmls
ZSBuYW1lIGZyb20gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTU4MTMuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRl
cmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNl
bnRlcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQxMDJjYWIxOWIwYzdjYjFkZGQ3NTQzMjE5Y2RlYTgy
ZjMxMDMxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1l
bGVtZW50LXRvLXJlY3QtY2VudGVyZWQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8aHRtbD4KKyAg
PGhlYWQ+CisgICAgPGJvZHk+CisgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICAg
IDxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDI0MDBweDsgaGVpZ2h0OiAy
NDAwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyI+CisgICAgICAgIDxkaXYgc3R5bGU9InBv
c2l0aW9uOmZpeGVkOyBsZWZ0OiA1MHB4OyB0b3A6IDMwcHg7IHdpZHRoOiAyMDBweDsgaGVpZ2h0
OiAyNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBz
dHlsZT0icG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxpbnB1
dCBpZD0idGV4dGJveCIgdHlwZT0idGV4dCI+PC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICA8L2Jv
ZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
ICAgIHZhciBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dGJveCcpOworICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNjcm9sbEVsZW1lbnRUb1JlY3QoYm94LCA1MCwgMzAsIDIwMCwg
MjUwKTsKKyAgICAgIH0KKyAgICAgIHZhciByZWN0ID0gYm94LmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpOworICAgICAgdmFyIGNvbXB1dGVkTGVmdCA9IDUwICsgTWF0aC5mbG9vcigoMjAwIC0gcmVj
dC53aWR0aCkgLyAyKTsKKyAgICAgIHZhciBjb21wdXRlZFRvcCA9IDMwICsgTWF0aC5mbG9vcigo
MjUwIC0gcmVjdC5oZWlnaHQpIC8gMik7CisgICAgICBkZWJ1ZygiU2Nyb2xsZWQgZWxlbWVudCB0
byByZWN0Iik7CisgICAgICBzaG91bGRCZSgicmVjdC5sZWZ0IiwgIjcyIik7CisgICAgICBzaG91
bGRCZSgicmVjdC50b3AiLCAiMTQ0Iik7CisgICAgICBzaG91bGRCZSgiY29tcHV0ZWRMZWZ0Iiwg
IjcyIik7CisgICAgICBzaG91bGRCZSgiY29tcHV0ZWRUb3AiLCAiMTQ0Iik7CisgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIH0KKyAgICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjhjNGFhNDRhMmU4OWI3M2Y1YTQxMmUyOGUzMmU4MTNjNDg2OTk1NAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJl
Y3QuaHRtbApAQCAtMCwwICsxLDI2IEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPGJvZHk+Cisg
ICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9u
OiByZWxhdGl2ZTsgd2lkdGg6IDE2MDBweDsgaGVpZ2h0OiAxMjAwcHg7IGJhY2tncm91bmQtY29s
b3I6IGdyZWVuOyI+CisgICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyBsZWZ0
OiA2MDBweDsgdG9wOiA4MDBweDsiPiA8aW5wdXQgaWQ9InRleHRib3giIHR5cGU9InRleHQiPjwv
ZGl2PgorICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBp
ZiAod2luZG93LmludGVybmFscykgeworICAgICAgICB2YXIgYm94ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3RleHRib3gnKTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zY3JvbGxFbGVt
ZW50VG9SZWN0KGJveCwgMCwgMCwgMzAwLCAzMDApOworICAgICAgfQorICAgICAgdmFyIHJlY3Qg
PSBib3guZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICBkZWJ1ZygiU2Nyb2xsZWQgZWxl
bWVudCB0byByZWN0Iik7CisgICAgICBzaG91bGRCZSgicmVjdC5sZWZ0IiwgIjcyIik7CisgICAg
ICBzaG91bGRCZSgicmVjdC50b3AiLCAiMTc5Iik7CisgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgIH0KKyAgICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgPC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorICA8L2hlYWQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRl
cmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zh
c3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjc4MjYzNTU4NDNkYjUxMDg2MjI0ZDllZjVmZWJiZmI0NWRkMGRlYmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2RvbS9z
Y3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRlcmVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkg
QEAKK1Njcm9sbGVkIGVsZW1lbnQgdG8gcmVjdAorUEFTUyByZWN0LmxlZnQgaXMgNzIKK1BBU1Mg
cmVjdC50b3AgaXMgMTQ0CitQQVNTIGNvbXB1dGVkTGVmdCBpcyA3MgorUEFTUyBjb21wdXRlZFRv
cCBpcyAxNDQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0
L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzZjA4YzlmZGQ0YjAxNTI4NDRiMmI5ZTE0NWRiYTcwZTRj
YzE4NjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1s
aW51eC9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDcgQEAKK1Njcm9sbGVkIGVsZW1lbnQgdG8gcmVjdAorUEFTUyByZWN0LmxlZnQgaXMgNzIK
K1BBU1MgcmVjdC50b3AgaXMgMTc5CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdlNDZkZWE2NzIyNDM4YjA1ZGRiY2I1OWRj
ZjYxYjk1MzRhZWFkMTUuLjY2ZGRmNmE5YmUxNTQ2MDIxYWViNTE5NWVhNzg1MzAwYTdkMWVlZmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMS0wOS0yMyAgVmFydW4gSmFpbiAgPHZh
cnVuamFpbkBnb29nbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIFdlYlZpZXdJbXBsOjpzY3Jv
bGxGb2N1c2VkTm9kZUludG9SZWN0IHRvIGEgYmV0dGVyIHBsYWNlIGFuZCBhZGQgdGVzdHMgCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE5OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRlcmVkLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJlY3QuaHRtbAorCisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KToKKyAgICAgICAgKiBwYWdlL0ZyYW1l
Vmlldy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6c2Nyb2xsRWxlbWVudFRvUmVjdCk6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTEtMDkt
MjMgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogQ2xpY2tpbmcgb24gZXJyb3IgZG9lc24ndCBwb2ludCBvbiB0aGUgY29ycmVj
dCBsaW5lIGlmIHVzZXIgc2VhcmNoZWQgc29tZXRoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IDNmM2QxZTA0MWFhMDcxNjEzMDA5ZWIxMTAwMDIyNzY2MTIxYmRjNGUuLjYyNDE2Y2U2ODJiNmJh
ZTExZDdlYzNlOTFhZDUwZjY2M2Q2ZTc2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC05ODUs
NiArOTg1LDcgQEAgX19aTjdXZWJDb3JlOUZyYW1lVmlldzM4c3luY0NvbXBvc2l0aW5nU3RhdGVJ
bmNsdWRpbmdTdWJmcmFtZXNFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzZjcmVhdGVFUE5TXzVG
cmFtZUUKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXc2Y3JlYXRlRVBOU181RnJhbWVFUktOU183SW50
U2l6ZUUKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3BhaW50Q29udHJvbFRpbnRzRXYKK19fWk43
V2ViQ29yZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1JlY3RFUE5TXzdFbGVtZW50RVJLTlNf
N0ludFJlY3RFCiBfX1pON1dlYkNvcmU5SFRNTE5hbWVzMTBsaXN0aW5nVGFnRQogX19aTjdXZWJD
b3JlOUhUTUxOYW1lczExdGV4dGFyZWFUYWdFCiBfX1pON1dlYkNvcmU5SFRNTE5hbWVzMTNibG9j
a3F1b3RlVGFnRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGIwZmY4YjI0NjViN2Uy
YmU0NjY4NzliMzU0MzVlMzE2ZGE2ODViMWYuLjUzMmIzZThiMDA5MDQyNDg3NTBlNjYyZWFiNWZi
MjY0Mzc2NmMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTE2MjIsNiArMTYy
MiwxNiBAQCB2b2lkIEZyYW1lVmlldzo6bWFpbnRhaW5TY3JvbGxQb3NpdGlvbkF0QW5jaG9yKE5v
ZGUqIGFuY2hvck5vZGUpCiAgICAgICAgIHNjcm9sbFRvQW5jaG9yKCk7CiB9CiAKK3ZvaWQgRnJh
bWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0KEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEludFJl
Y3QmIHJlY3QpCit7CisgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzKCk7CisKKyAgICBMYXlvdXRSZWN0IGJvdW5kcyA9IGVsZW1lbnQt
PmJvdW5kc0luV2luZG93U3BhY2UoKTsKKyAgICBpbnQgY2VudGVyaW5nT2Zmc2V0WCA9IChyZWN0
LndpZHRoKCkgLSBib3VuZHMud2lkdGgoKSkgLyAyOworICAgIGludCBjZW50ZXJpbmdPZmZzZXRZ
ID0gKHJlY3QuaGVpZ2h0KCkgLSBib3VuZHMuaGVpZ2h0KCkpIC8gMjsKKyAgICBzY3JvbGxCeShJ
bnRTaXplKGJvdW5kcy54KCkgLSBjZW50ZXJpbmdPZmZzZXRYIC0gcmVjdC54KCksIGJvdW5kcy55
KCkgLSBjZW50ZXJpbmdPZmZzZXRZIC0gcmVjdC55KCkpKTsKK30KKwogdm9pZCBGcmFtZVZpZXc6
OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IExheW91dFBvaW50JiBzY3JvbGxQb2ludCkKIHsKICAg
ICBib29sIHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsID0gbV9pblByb2dyYW1tYXRpY1Njcm9sbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDkzZWU5MWFlOWE1MGViYzk3YTEzMWQyZjVlMzc4
ODY2N2QyMTA5N2IuLmY5ZmFjZTBjYzE3N2IyNzBhMDkxZDA3OGQ5ODRkNDQ5MTUwMjNlOTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBDb2xvcjsKK2NsYXNzIEVsZW1lbnQ7CiBjbGFzcyBFdmVudDsKIGNsYXNz
IEZsb2F0U2l6ZTsKIGNsYXNzIEZyYW1lOwpAQCAtMjYwLDYgKzI2MSw3IEBAIHB1YmxpYzoKICAg
ICBib29sIHNjcm9sbFRvRnJhZ21lbnQoY29uc3QgS1VSTCYpOwogICAgIGJvb2wgc2Nyb2xsVG9B
bmNob3IoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBtYWludGFpblNjcm9sbFBvc2l0aW9uQXRB
bmNob3IoTm9kZSopOworICAgIHZvaWQgc2Nyb2xsRWxlbWVudFRvUmVjdChFbGVtZW50KiwgY29u
c3QgSW50UmVjdCYpOwogCiAgICAgLy8gTWV0aG9kcyB0byBjb252ZXJ0IHBvaW50cyBhbmQgcmVj
dHMgYmV0d2VlbiB0aGUgY29vcmRpbmF0ZSBzcGFjZSBvZiB0aGUgcmVuZGVyZXIsIGFuZCB0aGlz
IHZpZXcuCiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGNvbnZlcnRGcm9tUmVuZGVyZXIoY29uc3Qg
UmVuZGVyT2JqZWN0KiwgY29uc3QgTGF5b3V0UmVjdCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IGZhOTIwNTFjNDlhOWM0OGRmZDI0M2M4OTU3YWI4YzI3NDgw
MjRjNWYuLmY5YTc4YTI0MmYwYWM0ZWY1MGY0Yjc0NDMzYWEyZTE5ZDBjMjFiYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJN
ZW1vcnlDYWNoZS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgpAQCAtMzc2LDQgKzM3NywxNCBAQCB2b2lkIEludGVybmFsczo6cGFpbnRDb250
cm9sVGludHMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBmcmFt
ZVZpZXctPnBhaW50Q29udHJvbFRpbnRzKCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzY3JvbGxF
bGVtZW50VG9SZWN0KEVsZW1lbnQqIGVsZW1lbnQsIGxvbmcgeCwgbG9uZyB5LCBsb25nIHcsIGxv
bmcgaCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50
LT5kb2N1bWVudCgpIHx8ICFlbGVtZW50LT5kb2N1bWVudCgpLT52aWV3KCkpIHsKKyAgICAgICAg
ZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgRnJh
bWVWaWV3KiBmcmFtZVZpZXcgPSBlbGVtZW50LT5kb2N1bWVudCgpLT52aWV3KCk7CisgICAgZnJh
bWVWaWV3LT5zY3JvbGxFbGVtZW50VG9SZWN0KGVsZW1lbnQsIEludFJlY3QoeCwgeSwgdywgaCkp
OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA3YzQ1NmZiZjA5MWM2
M2U1NjBkN2MyYmIwMjUyMzQzNzg0ZWEwN2I2Li5jMmMyNjRmZjkzNmY1MjAzMDczMDg0N2ZkNTM1
OTE3MGM5YTIyMDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTg3LDYgKzg3
LDcgQEAgcHVibGljOgogICAgIGJvb2wgd2FzTGFzdENoYW5nZVVzZXJFZGl0KEVsZW1lbnQqIHRl
eHRGaWVsZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFN0cmluZyBzdWdnZXN0ZWRWYWx1ZShFbGVt
ZW50KiBpbnB1dEVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFN1Z2dlc3Rl
ZFZhbHVlKEVsZW1lbnQqIGlucHV0RWxlbWVudCwgY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29k
ZSYpOworICAgIHZvaWQgc2Nyb2xsRWxlbWVudFRvUmVjdChFbGVtZW50KiwgbG9uZyB4LCBsb25n
IHksIGxvbmcgdywgbG9uZyBoLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBzdGF0aWMgY29uc3Qg
Y2hhciogaW50ZXJuYWxzSWQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRl
eCBkOGEwYTZkMDZmYTVjOTE0NmUyMTM5ODFmMmJiYjJlZjI1YzljYmM4Li5jMjY3ZTQ4NmEwMTcw
YTRhY2M0ODQ3ZjdjNTZkMDdkYTQ2NzE3ODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCkBAIC02Myw2ICs2Myw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lkIHNl
dFN1Z2dlc3RlZFZhbHVlKGluIEVsZW1lbnQgaW5wdXRFbGVtZW50LCBpbiBET01TdHJpbmcgdmFs
dWUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICB2b2lkIHBhaW50Q29udHJvbFRp
bnRzKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAg
ICAgdm9pZCBzY3JvbGxFbGVtZW50VG9SZWN0KGluIEVsZW1lbnQgZWxlbWVudCwgaW4gbG9uZyB4
LCBpbiBsb25nIHksIGluIGxvbmcgdywgaW4gbG9uZyBoKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA4ZTU1ZmU0OWQ0MTU4
YzUwZDA5MDQxMzQ1Yzg3MTQzNTdiNmFmOGFhLi5hNDljMjI2YWM4NzUyMWFiYjM4YTk0MTYzNDBj
OTQ3NmY3NTlhMWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDExLTA5LTIzICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmVmYWN0b3IgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWROb2RlSW50b1JlY3QgdG8gYSBi
ZXR0ZXIgcGxhY2UgYW5kIGFkZCB0ZXN0cyAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY4MTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3OjpzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0KToKKyAgICAgICAgKiBzcmMvV2ViVmll
d0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xsRm9jdXNlZE5v
ZGVJbnRvUmVjdCk6CisKIDIwMTEtMDktMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5i
b3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBSb2xsZWQgREVQUy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAppbmRleCAzMzhjMmFkOTQ1ZjA4MmE0YWZl
YTU1YWVjZDBhNzA5NGRiZDFiYTg5Li43NWUwYmIwMzQzZTg2Mzg0YjNjNDMwOWZhNjRlZGFlZGNi
MTlmNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCkBAIC0xNzUs
OCArMTc1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxGb2N1c2VkTm9kZUlu
dG9WaWV3KCkgPSAwOwogCiAgICAgLy8gU2Nyb2xscyB0aGUgbm9kZSBjdXJyZW50bHkgaW4gZm9j
dXMgaW50byB8cmVjdHwsIHdoZXJlIHxyZWN0fCBpcyBpbgotICAgIC8vIHNjcmVlbiBzcGFjZS4K
LSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdChjb25zdCBXZWJSZWN0
JiByZWN0KSB7IH0KKyAgICAvLyB3aW5kb3cgc3BhY2UuCisgICAgdmlydHVhbCB2b2lkIHNjcm9s
bEZvY3VzZWROb2RlSW50b1JlY3QoY29uc3QgV2ViUmVjdCYpIHsgfQogCiAKICAgICAvLyBab29t
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRl
eCAxZjg1MDlmNDg2YWYxMzY5YWE3Yjk0YzA2NTk5NDRkNmFlNTYwZWFlLi4xZDI2ZjBjZjFjMjg5
MmI5MmM1NGQ0M2Q5YzY3MGEyZTZjMzg1NTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xODIwLDE3ICsxODIwLDEyIEBAIHZvaWQgV2ViVmlld0lt
cGw6OnNjcm9sbEZvY3VzZWROb2RlSW50b1ZpZXcoKQogCiB2b2lkIFdlYlZpZXdJbXBsOjpzY3Jv
bGxGb2N1c2VkTm9kZUludG9SZWN0KGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7CisgICAgRnJhbWUq
IGZyYW1lID0gcGFnZSgpLT5tYWluRnJhbWUoKTsKICAgICBOb2RlKiBmb2N1c2VkTm9kZSA9IGZv
Y3VzZWRXZWJDb3JlTm9kZSgpOwotICAgIGlmICghZm9jdXNlZE5vZGUgfHwgIWZvY3VzZWROb2Rl
LT5pc0VsZW1lbnROb2RlKCkpCisgICAgaWYgKCFmcmFtZSB8fCAhZnJhbWUtPnZpZXcoKSB8fCAh
Zm9jdXNlZE5vZGUgfHwgIWZvY3VzZWROb2RlLT5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBFbGVtZW50KiBlbGVtZW50Tm9kZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihm
b2N1c2VkTm9kZSk7Ci0gICAgTGF5b3V0UmVjdCBib3VuZHMgPSBlbGVtZW50Tm9kZS0+Ym91bmRz
SW5XaW5kb3dTcGFjZSgpOwotICAgIGludCBjZW50ZXJpbmdPZmZzZXRYID0gKHJlY3Qud2lkdGgg
LSBib3VuZHMud2lkdGgoKSkgLyAyOwotICAgIGludCBjZW50ZXJpbmdPZmZzZXRZID0gKHJlY3Qu
aGVpZ2h0IC0gYm91bmRzLmhlaWdodCgpKSAvIDI7Ci0gICAgSW50U2l6ZSBzY3JvbGxPZmZzZXQo
Ym91bmRzLngoKSAtIGNlbnRlcmluZ09mZnNldFgsIGJvdW5kcy55KCkgLSBjZW50ZXJpbmdPZmZz
ZXRZKTsKLSAgICBGcmFtZSogZnJhbWUgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCk7Ci0gICAg
aWYgKGZyYW1lICYmIGZyYW1lLT52aWV3KCkpCi0gICAgICAgIGZyYW1lLT52aWV3KCktPnNjcm9s
bEJ5KHNjcm9sbE9mZnNldCk7CisgICAgZnJhbWUtPnZpZXcoKS0+c2Nyb2xsRWxlbWVudFRvUmVj
dChlbGVtZW50Tm9kZSwgSW50UmVjdChyZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5o
ZWlnaHQpKTsKIH0KIAogZG91YmxlIFdlYlZpZXdJbXBsOjp6b29tTGV2ZWwoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDI3ZGJkN2ZiY2ZhY2ZmZDA0MmVmOWE4ZTU3ZmMwOWVmMTQ3NDJmY2YuLjZjYTRjZDZlMmVm
ZjQ1ZjBkNTY4NmYwOWJkOTE5N2FkZDZmNzEwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMS0wOS0yMyAgVmFydW4gSmFpbiAgPHZhcnVuamFpbkBnb29nbGUuY29tPgorCisgICAg
ICAgIFJlZmFjdG9yIFdlYlZpZXdJbXBsOjpzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0IHRvIGEg
YmV0dGVyIHBsYWNlIGFuZCBhZGQgdGVzdHMgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02ODE5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9XZWJL
aXQyQ0ZMaXRlLmRlZjoKKwogMjAxMS0wOS0yMyAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGpl
c3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XVtXSzJdIFF0RmlsZURv
d25sb2FkZXIgY3RvciBzaG91bGRuJ3QgY2FsbCBRdEZpbGVEb3dubG9hZGVyOjpvblJlYWR5UmVh
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2Uv
V2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggNjhkODkzZWQ2OTI4YzY5MzU2YTg1ZTEyNDIw
OTVjMTIwMzI5MzVjNC4uZmE1MThlMzQwMmExMTI1NDYxOTBiYmJkNTIxMmY2OTQ1OTRmZDEwMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMTYyLDYgKzE2Miw3IEBAIEVYUE9SVFMKICAgICAg
ICAgP21lbW9yeUNhY2hlQFdlYkNvcmVAQFlBUEFWTWVtb3J5Q2FjaGVAMUBYWgogICAgICAgICA/
cGFnZUBEb2N1bWVudEBXZWJDb3JlQEBRQkVQQVZQYWdlQDJAWFoKICAgICAgICAgP3BhaW50Q29u
dHJvbFRpbnRzQEZyYW1lVmlld0BXZWJDb3JlQEBBQUVYWFoKKyAgICAgICAgP3Njcm9sbEVsZW1l
bnRUb1JlY3RARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhQQVZFbGVtZW50QDJAQUJWSW50UmVjdEAy
QEBaCiAgICAgICAgID9yZW1vdmVTaGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAg
ICAgICAgID9zZXREaXNhYmxlZEBNZW1vcnlDYWNoZUBXZWJDb3JlQEBRQUVYX05AWgogICAgICAg
ICA/c2V0RE9NRXhjZXB0aW9uQFdlYkNvcmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NAQEhAWgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCmluZGV4IGVkYWVjYzFkZDJjMWIxZjdkMGFiNjYw
M2Q4OWUwMGQ1MWFiMWZmYmEuLjg0ODJiNDk3MTZjNzFjYjJjMzJkN2MwZmJjOTUyZjI3ZjQxZjRk
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTE1Niw2ICsxNTYsNyBA
QCBFWFBPUlRTCiAgICAgICAgID9tZW1vcnlDYWNoZUBXZWJDb3JlQEBZQVBBVk1lbW9yeUNhY2hl
QDFAWFoKICAgICAgICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCiAg
ICAgICAgID9wYWludENvbnRyb2xUaW50c0BGcmFtZVZpZXdAV2ViQ29yZUBAQUFFWFhaCisgICAg
ICAgID9zY3JvbGxFbGVtZW50VG9SZWN0QEZyYW1lVmlld0BXZWJDb3JlQEBRQUVYUEFWRWxlbWVu
dEAyQEFCVkludFJlY3RAMkBAWgogICAgICAgICA/cmVtb3ZlU2hhZG93Um9vdEBFbGVtZW50QFdl
YkNvcmVAQFFBRVhYWgogICAgICAgICA/c2V0RGlzYWJsZWRATWVtb3J5Q2FjaGVAV2ViQ29yZUBA
UUFFWF9OQFoKICAgICAgICAgP3NldERPTUV4Y2VwdGlvbkBXZWJDb3JlQEBZQVhQQVZFeGVjU3Rh
dGVASlNDQEBIQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIg
Yi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDUzZGIwZmJhMjVjZmU2ZTk0
MmJlMDk0YTgxNzBhODcwOThkM2NjNmEuLmExODEwZGQyYTA3ZjBlMzExYWZiOTAyZWUyZjA0NmMz
MTVlOTExNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysr
IGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNzcsNiArNzcsNyBAQCBfWk5L
N1dlYkNvcmU5VHJlZVNjb3BlMTRnZXRFbGVtZW50QnlJZEVSS04zV1RGMTJBdG9taWNTdHJpbmdF
OwogX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhMjhzZXRTY3JvbGxPZmZzZXRGcm9tSW50ZXJu
YWxzRVJLTlNfOEludFBvaW50RTsKIF9aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MjNzZXRTY3JvbGxi
YXJzU3VwcHJlc3NlZEViYjsKIF9aTjdXZWJDb3JlOUZyYW1lVmlldzE3cGFpbnRDb250cm9sVGlu
dHNFdjsKK19aTjdXZWJDb3JlOUZyYW1lVmlldzE5c2Nyb2xsRWxlbWVudFRvUmVjdEVQTlNfN0Vs
ZW1lbnRFUktOU183SW50UmVjdEU7CiBsb2NhbDoKIF9aKjsKIGN0aSo7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108557</attachid>
            <date>2011-09-23 16:36:51 -0700</date>
            <delta_ts>2011-09-23 17:23:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68198-20110923193231.patch</filename>
            <type>text/plain</type>
            <size>16506</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MjMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAzNjhiZjQ5ZTkwNjY3YzQ1OTA2MWEzMjE3NmJhYmYyZjNkM2U1NDQyLi40MTZm
NWNmMjMwMTExYmVmMTk3YzEwOTUxYjkwMTE1MmZiYjFhYThiIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDktMjMgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXZWJWaWV3SW1w
bDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFjZSBhbmQgYWRkIHRl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMS0wOS0yMSAgSnVsaWVuIENoYWZm
cmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBSZW5kZXJC
b3g6OnBhaW50TWFza0ltYWdlcyB3aGVuIEdyYXBoaWNzQ29udGV4dCdzIHBhaW50aW5nIGlzIGRp
c2FibGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMWFkMTVmMzA4MTNhMjI5ODlhMzY3YTAyYjdiMjM1OGEwODIyYzEwNC4u
ZTk1NTczZGU0Y2ExYzQ2MmI2M2FmNzdjZTU2NDc4OGI4YmY3MDFlZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDExLTA5LTIzICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmVmYWN0b3IgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWROb2RlSW50b1JlY3Qg
dG8gYSBiZXR0ZXIgcGxhY2UgYW5kIGFkZCB0ZXN0cyAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0
LWNlbnRlcmVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2Nyb2xs
LWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC5odG1sOiBBZGRlZC4KKwogMjAxMS0wOS0y
MyAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CiAKICAgICAgICAgRml4IHR5
cG8gaW4gZmlsZSBuYW1lIGZyb20gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTU4
MTMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1y
ZWN0LWNlbnRlcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1l
bGVtZW50LXRvLXJlY3QtY2VudGVyZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3MjMxMWM3
ZGMyYTIzN2FkMGRlZDVkNjljZTA3YzE1M2RjYzgwOGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWNlbnRlcmVkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKK1Njcm9sbGVkIGVsZW1lbnQgdG8gcmVjdAorUEFTUyByZWN0
LmxlZnQgaXMgY29tcHV0ZWRMZWZ0CitQQVNTIHJlY3QudG9wIGlzIGNvbXB1dGVkVG9wCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1jZW50ZXJl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVjNWRmODJhZGY3ZTFhYmI1ZTQ3NzNhODBmMWU1MjhmYmU4OGFk
YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVu
dC10by1yZWN0LWNlbnRlcmVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPGh0bWw+CisgIDxoZWFk
PgorICAgIDxib2R5PgorICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgICA8ZGl2
IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAyNDAwcHg7IGhlaWdodDogMjQwMHB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsiPgorICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlv
bjpmaXhlZDsgbGVmdDogNTBweDsgdG9wOiAzMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjUw
cHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9
InBvc2l0aW9uOmFic29sdXRlOyBsZWZ0OiA2MDBweDsgdG9wOiA4MDBweDsiPiA8aW5wdXQgaWQ9
InRleHRib3giIHR5cGU9InRleHQiPjwvZGl2PgorICAgICAgPC9kaXY+CisgICAgPC9ib2R5Pgor
ICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICB2
YXIgYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHRib3gnKTsKKyAgICAgICAgd2lu
ZG93LmludGVybmFscy5zY3JvbGxFbGVtZW50VG9SZWN0KGJveCwgNTAsIDMwLCAyMDAsIDI1MCk7
CisgICAgICB9CisgICAgICB2YXIgcmVjdCA9IGJveC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsK
KyAgICAgIHZhciBjb21wdXRlZExlZnQgPSA1MCArIE1hdGguZmxvb3IoKDIwMCAtIHJlY3Qud2lk
dGgpIC8gMik7CisgICAgICB2YXIgY29tcHV0ZWRUb3AgPSAzMCArIE1hdGguZmxvb3IoKDI1MCAt
IHJlY3QuaGVpZ2h0KSAvIDIpOworICAgICAgZGVidWcoIlNjcm9sbGVkIGVsZW1lbnQgdG8gcmVj
dCIpOworICAgICAgc2hvdWxkQmUoInJlY3QubGVmdCIsICJjb21wdXRlZExlZnQiKTsKKyAgICAg
IHNob3VsZEJlKCJyZWN0LnRvcCIsICJjb21wdXRlZFRvcCIpOworICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgICB9CisgICAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAg
IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JvbGwtZWxlbWVudC10by1yZWN0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44NzIzMTFjN2RjMmEyMzdhZDBkZWQ1ZDY5Y2UwN2MxNTNkY2M4
MDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1l
bnQtdG8tcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitTY3JvbGxlZCBlbGVtZW50
IHRvIHJlY3QKK1BBU1MgcmVjdC5sZWZ0IGlzIGNvbXB1dGVkTGVmdAorUEFTUyByZWN0LnRvcCBp
cyBjb21wdXRlZFRvcAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50
LXRvLXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcm9sbC1lbGVtZW50LXRvLXJl
Y3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NzYyM2JhZTY4NTgyNjY4NjFmZDkxZjIwMWY0YmMzMWNmMmQ1
YzFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Nyb2xsLWVsZW1l
bnQtdG8tcmVjdC5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgICAgPGRpdiBzdHlsZT0i
cG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTYwMHB4OyBoZWlnaHQ6IDI0MDBweDsgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47Ij4KKyAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1
dGU7IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+IDxpbnB1dCBpZD0idGV4dGJveCIgdHlwZT0i
dGV4dCI+PC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+CisgICAgPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4K
KyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHZhciBib3ggPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGV4dGJveCcpOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNj
cm9sbEVsZW1lbnRUb1JlY3QoYm94LCAwLCAwLCAzMDAsIDMwMCk7CisgICAgICB9CisgICAgICB2
YXIgcmVjdCA9IGJveC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgIHZhciBjb21wdXRl
ZExlZnQgPSBNYXRoLmZsb29yKCgzMDAgLSByZWN0LndpZHRoKSAvIDIpOworICAgICAgdmFyIGNv
bXB1dGVkVG9wID0gTWF0aC5mbG9vcigoMzAwIC0gcmVjdC5oZWlnaHQpIC8gMik7CisgICAgICBk
ZWJ1ZygiU2Nyb2xsZWQgZWxlbWVudCB0byByZWN0Iik7CisgICAgICBzaG91bGRCZSgicmVjdC5s
ZWZ0IiwgImNvbXB1dGVkTGVmdCIpOworICAgICAgc2hvdWxkQmUoInJlY3QudG9wIiwgImNvbXB1
dGVkVG9wIik7CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIH0KKyAgICAgIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggN2U0NmRlYTY3MjI0MzhiMDVkZGJjYjU5ZGNmNjFiOTUzNGFl
YWQxNS4uNjZkZGY2YTliZTE1NDYwMjFhZWI1MTk1ZWE3ODUzMDBhN2QxZWVmYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTA5LTIzICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdv
b2dsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWRO
b2RlSW50b1JlY3QgdG8gYSBiZXR0ZXIgcGxhY2UgYW5kIGFkZCB0ZXN0cyAKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTk4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9tL3Njcm9s
bC1lbGVtZW50LXRvLXJlY3QtY2VudGVyZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20v
c2Nyb2xsLWVsZW1lbnQtdG8tcmVjdC5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNjcm9sbEVsZW1lbnRUb1JlY3QpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpzY3JvbGxFbGVtZW50VG9SZWN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5o
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMS0wOS0yMyAgVnNldm9s
b2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBDbGlja2luZyBvbiBlcnJvciBkb2Vzbid0IHBvaW50IG9uIHRoZSBjb3JyZWN0IGxpbmUgaWYg
dXNlciBzZWFyY2hlZCBzb21ldGhpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggM2YzZDFlMDQx
YWEwNzE2MTMwMDllYjExMDAwMjI3NjYxMjFiZGM0ZS4uNjI0MTZjZTY4MmI2YmFlMTFkN2VjM2U5
MWFkNTBmNjYzZDZlNzYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTk4NSw2ICs5ODUsNyBA
QCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MzhzeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1
YmZyYW1lc0V2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3NmNyZWF0ZUVQTlNfNUZyYW1lRQogX19a
TjdXZWJDb3JlOUZyYW1lVmlldzZjcmVhdGVFUE5TXzVGcmFtZUVSS05TXzdJbnRTaXplRQogX19a
TjdXZWJDb3JlOUZyYW1lVmlldzE3cGFpbnRDb250cm9sVGludHNFdgorX19aTjdXZWJDb3JlOUZy
YW1lVmlldzE5c2Nyb2xsRWxlbWVudFRvUmVjdEVQTlNfN0VsZW1lbnRFUktOU183SW50UmVjdEUK
IF9fWk43V2ViQ29yZTlIVE1MTmFtZXMxMGxpc3RpbmdUYWdFCiBfX1pON1dlYkNvcmU5SFRNTE5h
bWVzMTF0ZXh0YXJlYVRhZ0UKIF9fWk43V2ViQ29yZTlIVE1MTmFtZXMxM2Jsb2NrcXVvdGVUYWdF
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYjBmZjhiMjQ2NWI3ZTJiZTQ2Njg3OWIz
NTQzNWUzMTZkYTY4NWIxZi4uNTMyYjNlOGIwMDkwNDI0ODc1MGU2NjJlYWI1ZmIyNjQzNzY2YzBj
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTYyMiw2ICsxNjIyLDE2IEBAIHZv
aWQgRnJhbWVWaWV3OjptYWludGFpblNjcm9sbFBvc2l0aW9uQXRBbmNob3IoTm9kZSogYW5jaG9y
Tm9kZSkKICAgICAgICAgc2Nyb2xsVG9BbmNob3IoKTsKIH0KIAordm9pZCBGcmFtZVZpZXc6OnNj
cm9sbEVsZW1lbnRUb1JlY3QoRWxlbWVudCogZWxlbWVudCwgY29uc3QgSW50UmVjdCYgcmVjdCkK
K3sKKyAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHMoKTsKKworICAgIExheW91dFJlY3QgYm91bmRzID0gZWxlbWVudC0+Ym91bmRzSW5X
aW5kb3dTcGFjZSgpOworICAgIGludCBjZW50ZXJpbmdPZmZzZXRYID0gKHJlY3Qud2lkdGgoKSAt
IGJvdW5kcy53aWR0aCgpKSAvIDI7CisgICAgaW50IGNlbnRlcmluZ09mZnNldFkgPSAocmVjdC5o
ZWlnaHQoKSAtIGJvdW5kcy5oZWlnaHQoKSkgLyAyOworICAgIHNjcm9sbEJ5KEludFNpemUoYm91
bmRzLngoKSAtIGNlbnRlcmluZ09mZnNldFggLSByZWN0LngoKSwgYm91bmRzLnkoKSAtIGNlbnRl
cmluZ09mZnNldFkgLSByZWN0LnkoKSkpOworfQorCiB2b2lkIEZyYW1lVmlldzo6c2V0U2Nyb2xs
UG9zaXRpb24oY29uc3QgTGF5b3V0UG9pbnQmIHNjcm9sbFBvaW50KQogewogICAgIGJvb2wgd2Fz
SW5Qcm9ncmFtbWF0aWNTY3JvbGwgPSBtX2luUHJvZ3JhbW1hdGljU2Nyb2xsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgKaW5kZXggOTNlZTkxYWU5YTUwZWJjOTdhMTMxZDJmNWUzNzg4NjY3ZDIxMDk3
Yi4uZjlmYWNlMGNjMTc3YjI3MGEwOTFkMDc4ZDk4NGQ0NDkxNTAyM2U5MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIENvbG9yOworY2xhc3MgRWxlbWVudDsKIGNsYXNzIEV2ZW50OwogY2xhc3MgRmxvYXRTaXpl
OwogY2xhc3MgRnJhbWU7CkBAIC0yNjAsNiArMjYxLDcgQEAgcHVibGljOgogICAgIGJvb2wgc2Ny
b2xsVG9GcmFnbWVudChjb25zdCBLVVJMJik7CiAgICAgYm9vbCBzY3JvbGxUb0FuY2hvcihjb25z
dCBTdHJpbmcmKTsKICAgICB2b2lkIG1haW50YWluU2Nyb2xsUG9zaXRpb25BdEFuY2hvcihOb2Rl
Kik7CisgICAgdm9pZCBzY3JvbGxFbGVtZW50VG9SZWN0KEVsZW1lbnQqLCBjb25zdCBJbnRSZWN0
Jik7CiAKICAgICAvLyBNZXRob2RzIHRvIGNvbnZlcnQgcG9pbnRzIGFuZCByZWN0cyBiZXR3ZWVu
IHRoZSBjb29yZGluYXRlIHNwYWNlIG9mIHRoZSByZW5kZXJlciwgYW5kIHRoaXMgdmlldy4KICAg
ICB2aXJ0dWFsIExheW91dFJlY3QgY29udmVydEZyb21SZW5kZXJlcihjb25zdCBSZW5kZXJPYmpl
Y3QqLCBjb25zdCBMYXlvdXRSZWN0JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKaW5kZXggZmE5MjA1MWM0OWE5YzQ4ZGZkMjQzYzg5NTdhYjhjMjc0ODAyNGM1Zi4uZjlh
NzhhMjQyZjBhYzRlZjUwZjRiNzQ0MzNhYTJlMTlkMGMyMWJjMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5o
IgogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JD
b250cm9sbGVyLmgiCisjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hl
LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJQYWdlLmgi
CkBAIC0zNzYsNCArMzc3LDE0IEBAIHZvaWQgSW50ZXJuYWxzOjpwYWludENvbnRyb2xUaW50cyhE
b2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIGZyYW1lVmlldy0+cGFp
bnRDb250cm9sVGludHMoKTsKIH0KIAordm9pZCBJbnRlcm5hbHM6OnNjcm9sbEVsZW1lbnRUb1Jl
Y3QoRWxlbWVudCogZWxlbWVudCwgbG9uZyB4LCBsb25nIHksIGxvbmcgdywgbG9uZyBoLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQtPmRvY3VtZW50
KCkgfHwgIWVsZW1lbnQtPmRvY3VtZW50KCktPnZpZXcoKSkgeworICAgICAgICBlYyA9IElOVkFM
SURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBGcmFtZVZpZXcqIGZy
YW1lVmlldyA9IGVsZW1lbnQtPmRvY3VtZW50KCktPnZpZXcoKTsKKyAgICBmcmFtZVZpZXctPnNj
cm9sbEVsZW1lbnRUb1JlY3QoZWxlbWVudCwgSW50UmVjdCh4LCB5LCB3LCBoKSk7Cit9CisKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDdjNDU2ZmJmMDkxYzYzZTU2MGQ3YzJi
YjAyNTIzNDM3ODRlYTA3YjYuLmMyYzI2NGZmOTM2ZjUyMDMwNzMwODQ3ZmQ1MzU5MTcwYzlhMjIw
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtODcsNiArODcsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCB3YXNMYXN0Q2hhbmdlVXNlckVkaXQoRWxlbWVudCogdGV4dEZpZWxkLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgU3RyaW5nIHN1Z2dlc3RlZFZhbHVlKEVsZW1lbnQqIGlucHV0
RWxlbWVudCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0U3VnZ2VzdGVkVmFsdWUoRWxl
bWVudCogaW5wdXRFbGVtZW50LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAg
dm9pZCBzY3JvbGxFbGVtZW50VG9SZWN0KEVsZW1lbnQqLCBsb25nIHgsIGxvbmcgeSwgbG9uZyB3
LCBsb25nIGgsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBpbnRl
cm5hbHNJZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGQ4YTBhNmQw
NmZhNWM5MTQ2ZTIxMzk4MWYyYmJiMmVmMjVjOWNiYzguLmMyNjdlNDg2YTAxNzBhNGFjYzQ4NDdm
N2M1NmQwN2RhNDY3MTc4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAg
LTYzLDYgKzYzLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc2V0U3VnZ2VzdGVk
VmFsdWUoaW4gRWxlbWVudCBpbnB1dEVsZW1lbnQsIGluIERPTVN0cmluZyB2YWx1ZSkgcmFpc2Vz
IChET01FeGNlcHRpb24pOwogCiAgICAgICAgIHZvaWQgcGFpbnRDb250cm9sVGludHMoaW4gRG9j
dW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICB2b2lkIHNj
cm9sbEVsZW1lbnRUb1JlY3QoaW4gRWxlbWVudCBlbGVtZW50LCBpbiBsb25nIHgsIGluIGxvbmcg
eSwgaW4gbG9uZyB3LCBpbiBsb25nIGgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB9Owog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDhlNTVmZTQ5ZDQxNThjNTBkMDkwNDEz
NDVjODcxNDM1N2I2YWY4YWEuLmE0OWMyMjZhYzg3NTIxYWJiMzhhOTQxNjM0MGM5NDc2Zjc1OWEx
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDkt
MjMgIFZhcnVuIEphaW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZWZhY3Rv
ciBXZWJWaWV3SW1wbDo6c2Nyb2xsRm9jdXNlZE5vZGVJbnRvUmVjdCB0byBhIGJldHRlciBwbGFj
ZSBhbmQgYWRkIHRlc3RzIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjgxOTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnNj
cm9sbEZvY3VzZWROb2RlSW50b1JlY3QpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0
KToKKwogMjAxMS0wOS0yMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gIFJvbGxlZCBERVBTLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViVmlldy5oCmluZGV4IDMzOGMyYWQ5NDVmMDgyYTRhZmVhNTVhZWNkMGE3
MDk0ZGJkMWJhODkuLjc1ZTBiYjAzNDNlODYzODRiM2M0MzA5ZmE2NGVkYWVkY2IxOWY1OTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKQEAgLTE3NSw4ICsxNzUsOCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbEZvY3VzZWROb2RlSW50b1ZpZXcoKSA9
IDA7CiAKICAgICAvLyBTY3JvbGxzIHRoZSBub2RlIGN1cnJlbnRseSBpbiBmb2N1cyBpbnRvIHxy
ZWN0fCwgd2hlcmUgfHJlY3R8IGlzIGluCi0gICAgLy8gc2NyZWVuIHNwYWNlLgotICAgIHZpcnR1
YWwgdm9pZCBzY3JvbGxGb2N1c2VkTm9kZUludG9SZWN0KGNvbnN0IFdlYlJlY3QmIHJlY3QpIHsg
fQorICAgIC8vIHdpbmRvdyBzcGFjZS4KKyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsRm9jdXNlZE5v
ZGVJbnRvUmVjdChjb25zdCBXZWJSZWN0JikgeyB9CiAKIAogICAgIC8vIFpvb20gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDFmODUwOWY0
ODZhZjEzNjlhYTdiOTRjMDY1OTk0NGQ2YWU1NjBlYWUuLjFkMjZmMGNmMWMyODkyYjkyYzU0ZDQz
ZDljNjcwYTJlNmMzODU1NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5jcHAKQEAgLTE4MjAsMTcgKzE4MjAsMTIgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xs
Rm9jdXNlZE5vZGVJbnRvVmlldygpCiAKIHZvaWQgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWRO
b2RlSW50b1JlY3QoY29uc3QgV2ViUmVjdCYgcmVjdCkKIHsKKyAgICBGcmFtZSogZnJhbWUgPSBw
YWdlKCktPm1haW5GcmFtZSgpOwogICAgIE5vZGUqIGZvY3VzZWROb2RlID0gZm9jdXNlZFdlYkNv
cmVOb2RlKCk7Ci0gICAgaWYgKCFmb2N1c2VkTm9kZSB8fCAhZm9jdXNlZE5vZGUtPmlzRWxlbWVu
dE5vZGUoKSkKKyAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+dmlldygpIHx8ICFmb2N1c2VkTm9k
ZSB8fCAhZm9jdXNlZE5vZGUtPmlzRWxlbWVudE5vZGUoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IEVsZW1lbnQqIGVsZW1lbnROb2RlID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KGZvY3VzZWROb2Rl
KTsKLSAgICBMYXlvdXRSZWN0IGJvdW5kcyA9IGVsZW1lbnROb2RlLT5ib3VuZHNJbldpbmRvd1Nw
YWNlKCk7Ci0gICAgaW50IGNlbnRlcmluZ09mZnNldFggPSAocmVjdC53aWR0aCAtIGJvdW5kcy53
aWR0aCgpKSAvIDI7Ci0gICAgaW50IGNlbnRlcmluZ09mZnNldFkgPSAocmVjdC5oZWlnaHQgLSBi
b3VuZHMuaGVpZ2h0KCkpIC8gMjsKLSAgICBJbnRTaXplIHNjcm9sbE9mZnNldChib3VuZHMueCgp
IC0gY2VudGVyaW5nT2Zmc2V0WCwgYm91bmRzLnkoKSAtIGNlbnRlcmluZ09mZnNldFkpOwotICAg
IEZyYW1lKiBmcmFtZSA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKTsKLSAgICBpZiAoZnJhbWUg
JiYgZnJhbWUtPnZpZXcoKSkKLSAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2Nyb2xsQnkoc2Nyb2xs
T2Zmc2V0KTsKKyAgICBmcmFtZS0+dmlldygpLT5zY3JvbGxFbGVtZW50VG9SZWN0KGVsZW1lbnRO
b2RlLCBJbnRSZWN0KHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCkpOwog
fQogCiBkb3VibGUgV2ViVmlld0ltcGw6Onpvb21MZXZlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjdkYmQ3
ZmJjZmFjZmZkMDQyZWY5YThlNTdmYzA5ZWYxNDc0MmZjZi4uNmNhNGNkNmUyZWZmNDVmMGQ1Njg2
ZjA5YmQ5MTk3YWRkNmY3MTBhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTA5
LTIzICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVmYWN0
b3IgV2ViVmlld0ltcGw6OnNjcm9sbEZvY3VzZWROb2RlSW50b1JlY3QgdG8gYSBiZXR0ZXIgcGxh
Y2UgYW5kIGFkZCB0ZXN0cyAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY4MTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUu
ZGVmOgorCiAyMDExLTA5LTIzICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5j
aWFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbUXRdW1dLMl0gUXRGaWxlRG93bmxvYWRlciBj
dG9yIHNob3VsZG4ndCBjYWxsIFF0RmlsZURvd25sb2FkZXI6Om9uUmVhZHlSZWFkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyLmRlZgppbmRleCA2OGQ4OTNlZDY5MjhjNjkzNTZhODVlMTI0MjA5NWMxMjAzMjkz
NWM0Li5mYTUxOGUzNDAyYTExMjU0NjE5MGJiYmQ1MjEyZjY5NDU5NGZkMTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIuZGVmCkBAIC0xNjIsNiArMTYyLDcgQEAgRVhQT1JUUwogICAgICAgICA/bWVtb3J5
Q2FjaGVAV2ViQ29yZUBAWUFQQVZNZW1vcnlDYWNoZUAxQFhaCiAgICAgICAgID9wYWdlQERvY3Vt
ZW50QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBYWgogICAgICAgICA/cGFpbnRDb250cm9sVGludHNA
RnJhbWVWaWV3QFdlYkNvcmVAQEFBRVhYWgorICAgICAgICA/c2Nyb2xsRWxlbWVudFRvUmVjdEBG
cmFtZVZpZXdAV2ViQ29yZUBAUUFFWFBBVkVsZW1lbnRAMkBBQlZJbnRSZWN0QDJAQFoKICAgICAg
ICAgP3JlbW92ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVYWFoKICAgICAgICAgP3Nl
dERpc2FibGVkQE1lbW9yeUNhY2hlQFdlYkNvcmVAQFFBRVhfTkBaCiAgICAgICAgID9zZXRET01F
eGNlcHRpb25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0YXRlQEpTQ0BASEBaCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggZWRhZWNjMWRkMmMxYjFmN2QwYWI2NjAzZDg5ZTAwZDUx
YWIxZmZiYS4uODQ4MmI0OTcxNmM3MWNiMmMzMmQ3YzBmYmM5NTJmMjdmNDFmNGQxYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTU2LDYgKzE1Niw3IEBAIEVYUE9SVFMK
ICAgICAgICAgP21lbW9yeUNhY2hlQFdlYkNvcmVAQFlBUEFWTWVtb3J5Q2FjaGVAMUBYWgogICAg
ICAgICA/cGFnZUBEb2N1bWVudEBXZWJDb3JlQEBRQkVQQVZQYWdlQDJAWFoKICAgICAgICAgP3Bh
aW50Q29udHJvbFRpbnRzQEZyYW1lVmlld0BXZWJDb3JlQEBBQUVYWFoKKyAgICAgICAgP3Njcm9s
bEVsZW1lbnRUb1JlY3RARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhQQVZFbGVtZW50QDJAQUJWSW50
UmVjdEAyQEBaCiAgICAgICAgID9yZW1vdmVTaGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFF
WFhaCiAgICAgICAgID9zZXREaXNhYmxlZEBNZW1vcnlDYWNoZUBXZWJDb3JlQEBRQUVYX05AWgog
ICAgICAgICA/c2V0RE9NRXhjZXB0aW9uQFdlYkNvcmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NAQEhA
WgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggNTNkYjBmYmEyNWNmZTZlOTQyYmUwOTRhODE3
MGE4NzA5OGQzY2M2YS4uYTE4MTBkZDJhMDdmMGUzMTFhZmI5MDJlZTJmMDQ2YzMxNWU5MTE1MCAx
MDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2Uv
YXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC03Nyw2ICs3Nyw3IEBAIF9aTks3V2ViQ29yZTlU
cmVlU2NvcGUxNGdldEVsZW1lbnRCeUlkRVJLTjNXVEYxMkF0b21pY1N0cmluZ0U7CiBfWk43V2Vi
Q29yZTE0U2Nyb2xsYWJsZUFyZWEyOHNldFNjcm9sbE9mZnNldEZyb21JbnRlcm5hbHNFUktOU184
SW50UG9pbnRFOwogX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcyM3NldFNjcm9sbGJhcnNTdXBwcmVz
c2VkRWJiOwogX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdwYWludENvbnRyb2xUaW50c0V2OworX1pO
N1dlYkNvcmU5RnJhbWVWaWV3MTlzY3JvbGxFbGVtZW50VG9SZWN0RVBOU183RWxlbWVudEVSS05T
XzdJbnRSZWN0RTsKIGxvY2FsOgogX1oqOwogY3RpKjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>