<?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>112088</bug_id>
          
          <creation_ts>2013-03-11 18:18:55 -0700</creation_ts>
          <short_desc>Correct coordinated scrolling for RTL iframe and overflow:scroll</short_desc>
          <delta_ts>2013-03-20 15:38:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Tien-Ren Chen">trchen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aelias</cc>
    
    <cc>andersca</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jamesr</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>luiz</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyostil</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>852951</commentid>
    <comment_count>0</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-11 18:18:55 -0700</bug_when>
    <thetext>Correct impl-side scrolling for RTL iframe and overflow:scroll</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852988</commentid>
    <comment_count>1</comment_count>
      <attachid>192624</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-11 19:00:34 -0700</bug_when>
    <thetext>Created attachment 192624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852991</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-11 19:03:41 -0700</bug_when>
    <thetext>Attachment 192624 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/compositing/rtl/rtl-overflow-scrolling-expected.png&apos;, u&apos;LayoutTests/compositing/rtl/rtl-overflow-scrolling-expected.txt&apos;, u&apos;LayoutTests/compositing/rtl/rtl-overflow-scrolling.html&apos;, u&apos;LayoutTests/platform/chromium/TestExpectations&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayer.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayerBacking.cpp&apos;, u&apos;Source/WebKit/chromium/ChangeLog&apos;, u&apos;Source/WebKit/chromium/tests/ScrollingCoordinatorChromiumTest.cpp&apos;, u&apos;Source/WebKit/chromium/tests/data/rtl-iframe-inner.html&apos;, u&apos;Source/WebKit/chromium/tests/data/rtl-iframe.html&apos;]&quot; exit_code: 1
LayoutTests/compositing/rtl/rtl-overflow-scrolling-expected.png:0:  Have to enable auto props in the subversion config file (/home/alancutter/.subversion/config &quot;enable-auto-props = yes&quot;). Have to set the svn:mime-type in the subversion config file (/home/alancutter/.subversion/config &quot;*.png = svn:mime-type=image/png&quot;).  [image/png] [5]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853412</commentid>
    <comment_count>3</comment_count>
      <attachid>192624</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-12 06:46:54 -0700</bug_when>
    <thetext>Comment on attachment 192624
Patch

Attachment 192624 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17041287

New failing tests:
compositing/rtl/rtl-overflow-scrolling.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853550</commentid>
    <comment_count>4</comment_count>
      <attachid>192624</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-12 09:35:19 -0700</bug_when>
    <thetext>Comment on attachment 192624
Patch

Attachment 192624 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17201011

New failing tests:
fast/css/sticky/inline-sticky-abspos-child.html
compositing/rtl/rtl-overflow-scrolling.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853848</commentid>
    <comment_count>5</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-12 15:27:39 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; New failing tests:
&gt; fast/css/sticky/inline-sticky-abspos-child.html

Weird sub-pixel differences. I think even the expected output isn&apos;t correct. Ahem X is supposed to be 1em*1em solid box, but somehow it is not pixel-snapped on mac-wk2.

I can change the tests to use 24px*24px inline-block instead of Ahem, or should we just mark it as ImageOnlyFailure? Which one is a preferred solution?

&gt; compositing/rtl/rtl-overflow-scrolling.html

Difference in scrollbar behavior. I&apos;ll update my expectation for mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853861</commentid>
    <comment_count>6</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-12 15:41:05 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; New failing tests:
&gt; &gt; fast/css/sticky/inline-sticky-abspos-child.html
&gt; 
&gt; Weird sub-pixel differences. I think even the expected output isn&apos;t correct. Ahem X is supposed to be 1em*1em solid box, but somehow it is not pixel-snapped on mac-wk2.
&gt; 
&gt; I can change the tests to use 24px*24px inline-block instead of Ahem, or should we just mark it as ImageOnlyFailure? Which one is a preferred solution?

The baseline is 0.2em above its bottom, so the vertical range of the solid box is effectively -4.8~19.2 for 24px texts. Changing it to 25px solved the problem. There are still rounding issues due to that 0.2 is not a machine number, so the test hash doesn&apos;t match, however the error is good enough to pass image diff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853875</commentid>
    <comment_count>7</comment_count>
      <attachid>192828</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-12 15:55:39 -0700</bug_when>
    <thetext>Created attachment 192828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855188</commentid>
    <comment_count>8</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2013-03-14 07:52:16 -0700</bug_when>
    <thetext>I&apos;m surprised to see there isn&apos;t more fallout from changing the RenderLayer&apos;s scroll coordinate system like this.

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

&gt; Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:251
&gt; +        webLayer-&gt;setScrollPosition(IntPoint() + (scrollableArea-&gt;scrollPosition() - scrollableArea-&gt;minimumScrollPosition()));

Nit: I find toPoint() a little more concise than this but both work.

&gt; Source/WebCore/rendering/RenderLayer.cpp:2539
&gt; +    return IntPoint() + m_scrollOffset;

With this change this method is equivalent to scrolledContentOffset. Do we need both?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857430</commentid>
    <comment_count>9</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-18 12:39:52 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I&apos;m surprised to see there isn&apos;t more fallout from changing the RenderLayer&apos;s scroll coordinate system like this.

Because scrollOrigin is (0, 0) most of the times. :p

In fact the scrollPosition family functions use scrollOrigin in the wrong way. The scrollPosition got out of range all the time...

&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=192828&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:251
&gt; &gt; +        webLayer-&gt;setScrollPosition(IntPoint() + (scrollableArea-&gt;scrollPosition() - scrollableArea-&gt;minimumScrollPosition()));
&gt; 
&gt; Nit: I find toPoint() a little more concise than this but both work.

Will do.

&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:2539
&gt; &gt; +    return IntPoint() + m_scrollOffset;
&gt; 
&gt; With this change this method is equivalent to scrolledContentOffset. Do we need both?

Probably not. Let me investigate why we introduced the other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857747</commentid>
    <comment_count>10</comment_count>
      <attachid>193695</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-18 17:05:12 -0700</bug_when>
    <thetext>Created attachment 193695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857754</commentid>
    <comment_count>11</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-18 17:08:54 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=192828&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:251
&gt; &gt; &gt; +        webLayer-&gt;setScrollPosition(IntPoint() + (scrollableArea-&gt;scrollPosition() - scrollableArea-&gt;minimumScrollPosition()));
&gt; &gt; 
&gt; &gt; Nit: I find toPoint() a little more concise than this but both work.
&gt; 
&gt; Will do.

toPoint() has been removed. Using IntPoint() instead.

&gt; &gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:2539
&gt; &gt; &gt; +    return IntPoint() + m_scrollOffset;
&gt; &gt; 
&gt; &gt; With this change this method is equivalent to scrolledContentOffset. Do we need both?
&gt; 
&gt; Probably not. Let me investigate why we introduced the other.

I&apos;m not sure. We definitely need scrollPosition() family of functions for ScrollableArea. scrolledContentOffset() was introduced in a overflow:scroll refactoring. CCing jchaffraix@ since he knows the best.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858443</commentid>
    <comment_count>12</comment_count>
      <attachid>193695</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-19 10:38:45 -0700</bug_when>
    <thetext>Comment on attachment 193695
Patch

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

The changes to the meaning of the RenderLayer functions isn&apos;t obvious.  Could you explain what you are changing and why (preferably in the ChangeLogs for these functions)?

&gt; Source/WebCore/ChangeLog:3
&gt; +        Correct impl-side scrolling for RTL iframe and overflow:scroll

&quot;impl-side&quot; doesn&apos;t really have a meaning in WebKit. could you maybe change it to coordinated scrollbars?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858694</commentid>
    <comment_count>13</comment_count>
      <attachid>193912</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-19 13:37:39 -0700</bug_when>
    <thetext>Created attachment 193912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858799</commentid>
    <comment_count>14</comment_count>
      <attachid>193912</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-19 15:20:54 -0700</bug_when>
    <thetext>Comment on attachment 193912
Patch

This is r- without an explanation of the changes to RenderLayer describing what these functions used to mean, what they mean now, and why they&apos;re changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858837</commentid>
    <comment_count>15</comment_count>
      <attachid>193945</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-03-19 16:04:12 -0700</bug_when>
    <thetext>Created attachment 193945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859663</commentid>
    <comment_count>16</comment_count>
      <attachid>193945</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-20 13:35:08 -0700</bug_when>
    <thetext>Comment on attachment 193945
Patch

Great, that&apos;s really useful to have.  R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859808</commentid>
    <comment_count>17</comment_count>
      <attachid>193945</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-20 15:38:28 -0700</bug_when>
    <thetext>Comment on attachment 193945
Patch

Clearing flags on attachment: 193945

Committed r146399: &lt;http://trac.webkit.org/changeset/146399&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859809</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-20 15:38:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192624</attachid>
            <date>2013-03-11 19:00:34 -0700</date>
            <delta_ts>2013-03-12 15:55:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112088-20130311185634.patch</filename>
            <type>text/plain</type>
            <size>13007</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRiMmQwYjg5ZmM5OTg3
OGUyZmM1Mzg4MmE5ZmQyMmU3MjQ1OTRkMS4uOTRiZTg1M2UwNWJkYTRmNDdlMzI2ZDhjYzc5YmNl
YzcxMTJhZDY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAzLTExICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb3JyZWN0IGltcGwt
c2lkZSBzY3JvbGxpbmcgZm9yIFJUTCBpZnJhbWUgYW5kIG92ZXJmbG93OnNjcm9sbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMDg4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3Jy
ZWN0cyBzY3JvbGxPcmlnaW4gY29tcGVuc2F0aW9uIGZvciBjb21wb3NpdGVkIG92ZXJmbG93OnNj
cm9sbCwKKyAgICAgICAgYW5kIGFkZCBhcHByb3ByaWF0ZSBvZmZzZXQgaW4gU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDaHJvbWl1bSB0bworICAgICAgICBhZGp1c3QgaW1wbC1zaWRlIHNjcm9sbCBwb3Np
dGlvbiB0byB0aGUgcmFuZ2UgWzAsIG1heE9mZnNldCAtIG1pbk9mZnNldF0uCisKKyAgICAgICAg
VGVzdDogY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmcuaHRtbAorICAgICAg
ICAgICAgICBTY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdC5ydGxJZnJhbWUKKworICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bTo6
c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6bWluaW11bVNjcm9sbFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjptYXhpbXVtU2Nyb2xsUG9z
aXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2Vv
bWV0cnkpOgorCiAyMDEzLTAzLTA0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViU3BlZWNoOiBjaGFuZ2Ugdm9pY2VVUkkgdG8gdm9pY2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOTJmZGFiZmMxZjU5OGRhMTA1NWNmNTA4ZjIwZTlmZjg2
NWY3OTRhNC4uMTgyMWFmZTNmZWU3NWI1Mzk3MzU4ZDQ3ZGU3NGViYmYzZjY5ZTAzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMy0xMSAgVGllbi1S
ZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29ycmVjdCBpbXBsLXNp
ZGUgc2Nyb2xsaW5nIGZvciBSVEwgaWZyYW1lIGFuZCBvdmVyZmxvdzpzY3JvbGwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjA4OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3QgdG8gZW5z
dXJlIFJUTCBpZnJhbWUgaGFzIGFwcHJvcHJpYXRlIGltcGwtc2lkZSBzY3JvbGwgcG9zaXRpb24u
CisKKyAgICAgICAgKiB0ZXN0cy9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlRFU1RfRik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAq
IHRlc3RzL2RhdGEvcnRsLWlmcmFtZS1pbm5lci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9kYXRhL3J0bC1pZnJhbWUuaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMDQgIEphbWVzIFJvYmlu
c29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJvbGwgY2hy
b21pdW0gREVQUyAxODU2NjIgLT4gMTg1OTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yQ2hyb21pdW0uY3BwCmluZGV4IDI1OGIxNjY5MzFkYWZhMWM3YmNhOWI4NmRjZTM0MWVkYzFl
NjEzNTAuLjIwYzkyZmRjYjRmNDczZTNkMjA3MjQxMWEyNTE5MGM4ZDEyZjljZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2No
cm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0yNDgsNyArMjQ4LDcg
QEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtOjpzY3JvbGxhYmxlQXJlYVNjcm9s
bExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGUKICAgICBXZWJMYXllciogd2ViTGF5ZXIgPSBzY3Jv
bGxpbmdXZWJMYXllckZvclNjcm9sbGFibGVBcmVhKHNjcm9sbGFibGVBcmVhKTsKICAgICBpZiAo
d2ViTGF5ZXIpIHsKICAgICAgICAgd2ViTGF5ZXItPnNldFNjcm9sbGFibGUodHJ1ZSk7Ci0gICAg
ICAgIHdlYkxheWVyLT5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsUG9z
aXRpb24oKSk7CisgICAgICAgIHdlYkxheWVyLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCgp
ICsgKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpIC0gc2Nyb2xsYWJsZUFyZWEtPm1p
bmltdW1TY3JvbGxQb3NpdGlvbigpKSk7CiAgICAgICAgIHdlYkxheWVyLT5zZXRNYXhTY3JvbGxQ
b3NpdGlvbihJbnRTaXplKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKEhvcml6b250YWxTY3Jv
bGxiYXIpLCBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsU2l6ZShWZXJ0aWNhbFNjcm9sbGJhcikpKTsK
ICAgICB9CiAgICAgaWYgKFdlYlNjcm9sbGJhckxheWVyKiBzY3JvbGxiYXJMYXllciA9IGdldFdl
YlNjcm9sbGJhckxheWVyKHNjcm9sbGFibGVBcmVhLCBIb3Jpem9udGFsU2Nyb2xsYmFyKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDcxOGM1ZmZkNzEzYjc1
YjA1MTQwY2Q5NjY5YmU5YzQ0MzNiMmRjYjMuLmE4MzZjZTRjOGY2YzgzNTgzN2UwZjYxODljODc3
ZDNlODA3YWM3MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApA
QCAtMjUzNiwxOCArMjUzNiwxOCBAQCBpbnQgUmVuZGVyTGF5ZXI6OnNjcm9sbFBvc2l0aW9uKFNj
cm9sbGJhciogc2Nyb2xsYmFyKSBjb25zdAogCiBJbnRQb2ludCBSZW5kZXJMYXllcjo6c2Nyb2xs
UG9zaXRpb24oKSBjb25zdAogewotICAgIHJldHVybiBzY3JvbGxPcmlnaW4oKSArIG1fc2Nyb2xs
T2Zmc2V0OworICAgIHJldHVybiBJbnRQb2ludCgpICsgbV9zY3JvbGxPZmZzZXQ7CiB9CiAKIElu
dFBvaW50IFJlbmRlckxheWVyOjptaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewotICAg
IHJldHVybiBzY3JvbGxPcmlnaW4oKTsKKyAgICByZXR1cm4gLXNjcm9sbE9yaWdpbigpOwogfQog
CiBJbnRQb2ludCBSZW5kZXJMYXllcjo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsK
ICAgICAvLyBGSVhNRTogbV9zY3JvbGxTaXplIG1heSBub3QgYmUgdXAtdG8tZGF0ZSBpZiBtX3Nj
cm9sbERpbWVuc2lvbnNEaXJ0eSBpcyB0cnVlLgotICAgIHJldHVybiBzY3JvbGxPcmlnaW4oKSAr
IHJvdW5kZWRJbnRTaXplKG1fc2Nyb2xsU2l6ZSkgLSB2aXNpYmxlQ29udGVudFJlY3QoSW5jbHVk
ZVNjcm9sbGJhcnMpLnNpemUoKTsKKyAgICByZXR1cm4gLXNjcm9sbE9yaWdpbigpICsgcm91bmRl
ZEludFNpemUobV9zY3JvbGxTaXplKSAtIHZpc2libGVDb250ZW50UmVjdChJbmNsdWRlU2Nyb2xs
YmFycykuc2l6ZSgpOwogfQogCiBJbnRSZWN0IFJlbmRlckxheWVyOjp2aXNpYmxlQ29udGVudFJl
Y3QoVmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkZXNTY3JvbGxiYXJzIHNjcm9sbGJhckluY2x1c2lv
bikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAKaW5kZXggYjM2NGEwNjBkODE0NGVjMzdhNGZlYWI2Yjk5YWQ4Yzc4NDJkNTkwOC4uYWNk
ZGM1Y2UwM2Q3YzViOTFmMzQ5OTlhZDgyODQ4MTRmYjgyZjVkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTc5MCw3ICs3OTAsNyBA
QCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkK
ICAgICAgICAgQVNTRVJUKG1fc2Nyb2xsaW5nQ29udGVudHNMYXllcik7CiAgICAgICAgIFJlbmRl
ckJveCogcmVuZGVyQm94ID0gdG9SZW5kZXJCb3gocmVuZGVyZXIoKSk7CiAgICAgICAgIEludFJl
Y3QgcGFkZGluZ0JveChyZW5kZXJCb3gtPmJvcmRlckxlZnQoKSwgcmVuZGVyQm94LT5ib3JkZXJU
b3AoKSwgcmVuZGVyQm94LT53aWR0aCgpIC0gcmVuZGVyQm94LT5ib3JkZXJMZWZ0KCkgLSByZW5k
ZXJCb3gtPmJvcmRlclJpZ2h0KCksIHJlbmRlckJveC0+aGVpZ2h0KCkgLSByZW5kZXJCb3gtPmJv
cmRlclRvcCgpIC0gcmVuZGVyQm94LT5ib3JkZXJCb3R0b20oKSk7Ci0gICAgICAgIEludFNpemUg
c2Nyb2xsT2Zmc2V0ID0gbV9vd25pbmdMYXllci0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7Cisg
ICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0ID0gbV9vd25pbmdMYXllci0+c2Nyb2xsT2Zmc2V0
KCk7CiAKICAgICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludChw
YWRkaW5nQm94LmxvY2F0aW9uKCkgLSBsb2NhbENvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxpbmdD
b29yZGluYXRvckNocm9taXVtVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW1UZXN0LmNwcAppbmRleCA4ZGQyNTVjOGUyNjkz
MWNmMzczZWE1YWY0MzgxZjliZjZhYmRlODkxLi5hZmJmOGIyZTUxYTFkMzc4ZjcwZDFiOTcyOWUz
NTZiMDQyODAyNjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW1UZXN0LmNwcApAQCAtMjkw
LDQgKzI5MCw0MiBAQCBURVNUX0YoU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bVRlc3QsIGlm
cmFtZVNjcm9sbGluZykKICNlbmRpZgogfQogCitURVNUX0YoU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
aHJvbWl1bVRlc3QsIHJ0bElmcmFtZSkKK3sKKyAgICByZWdpc3Rlck1vY2tlZEh0dHBVUkxMb2Fk
KCJydGwtaWZyYW1lLmh0bWwiKTsKKyAgICByZWdpc3Rlck1vY2tlZEh0dHBVUkxMb2FkKCJydGwt
aWZyYW1lLWlubmVyLmh0bWwiKTsKKyAgICBuYXZpZ2F0ZVRvKG1fYmFzZVVSTCArICJydGwtaWZy
YW1lLmh0bWwiKTsKKworICAgIC8vIFZlcmlmeSB0aGUgcHJvcGVydGllcyBvZiB0aGUgYWNjZWxl
cmF0ZWQgc2Nyb2xsaW5nIGVsZW1lbnQgc3RhcnRpbmcgZnJvbSB0aGUgUmVuZGVyT2JqZWN0Cisg
ICAgLy8gYWxsIHRoZSB3YXkgdG8gdGhlIFdlYkxheWVyLgorICAgIEVsZW1lbnQqIHNjcm9sbGFi
bGVGcmFtZSA9IG1fd2ViVmlld0ltcGwtPm1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZG9jdW1l
bnQoKS0+Z2V0RWxlbWVudEJ5SWQoInNjcm9sbGFibGUiKTsKKyAgICBBU1NFUlRfVFJVRShzY3Jv
bGxhYmxlRnJhbWUpOworCisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHNjcm9sbGFibGVG
cmFtZS0+cmVuZGVyZXIoKTsKKyAgICBBU1NFUlRfVFJVRShyZW5kZXJlcik7CisgICAgQVNTRVJU
X1RSVUUocmVuZGVyZXItPmlzV2lkZ2V0KCkpOworCisgICAgUmVuZGVyV2lkZ2V0KiByZW5kZXJX
aWRnZXQgPSB0b1JlbmRlcldpZGdldChyZW5kZXJlcik7CisgICAgQVNTRVJUX1RSVUUocmVuZGVy
V2lkZ2V0KTsKKyAgICBBU1NFUlRfVFJVRShyZW5kZXJXaWRnZXQtPndpZGdldCgpKTsKKyAgICBB
U1NFUlRfVFJVRShyZW5kZXJXaWRnZXQtPndpZGdldCgpLT5pc0ZyYW1lVmlldygpKTsKKworICAg
IEZyYW1lVmlldyogaW5uZXJGcmFtZVZpZXcgPSBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPihyZW5k
ZXJXaWRnZXQtPndpZGdldCgpKTsKKyAgICBSZW5kZXJWaWV3KiBpbm5lclJlbmRlclZpZXcgPSBp
bm5lckZyYW1lVmlldy0+cmVuZGVyVmlldygpOworICAgIEFTU0VSVF9UUlVFKGlubmVyUmVuZGVy
Vmlldyk7CisKKyAgICBSZW5kZXJMYXllckNvbXBvc2l0b3IqIGlubmVyQ29tcG9zaXRvciA9IGlu
bmVyUmVuZGVyVmlldy0+Y29tcG9zaXRvcigpOworICAgIEFTU0VSVF9UUlVFKGlubmVyQ29tcG9z
aXRvci0+aW5Db21wb3NpdGluZ01vZGUoKSk7CisgICAgQVNTRVJUX1RSVUUoaW5uZXJDb21wb3Np
dG9yLT5zY3JvbGxMYXllcigpKTsKKworICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogc2Nyb2xs
TGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0qPihpbm5lckNvbXBvc2l0
b3ItPnNjcm9sbExheWVyKCkpOworICAgIEFTU0VSVF9FUShpbm5lckZyYW1lVmlldywgc2Nyb2xs
TGF5ZXItPnNjcm9sbGFibGVBcmVhKCkpOworCisgICAgV2ViTGF5ZXIqIHdlYlNjcm9sbExheWVy
ID0gc3RhdGljX2Nhc3Q8V2ViTGF5ZXIqPihzY3JvbGxMYXllci0+cGxhdGZvcm1MYXllcigpKTsK
KyAgICBBU1NFUlRfVFJVRSh3ZWJTY3JvbGxMYXllci0+c2Nyb2xsYWJsZSgpKTsKKworICAgIEFT
U0VSVF9FUSg5NzMsIHdlYlNjcm9sbExheWVyLT5zY3JvbGxQb3NpdGlvbigpLngpOworICAgIEFT
U0VSVF9FUSg5NzMsIHdlYlNjcm9sbExheWVyLT5tYXhTY3JvbGxQb3NpdGlvbigpLndpZHRoKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvZGF0YS9ydGwtaWZyYW1lLWlubmVyLmh0bWwgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS1pbm5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMDgyY2NkMWQ0
YjQ2MmVhYTcyZDQyNjljZmE3OTBiN2RhN2I4MzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS1pbm5lci5odG1sCkBAIC0wLDAg
KzEsNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5IHN0eWxlPSJkaXJlY3Rpb246
cnRsO3dpZHRoOjEwMDBweDtoZWlnaHQ6MTAwMHB4OyI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS5odG1s
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL3J0bC1pZnJhbWUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMDExMjc3ZWMwMzlkN2E1NjFlNGUyMDliYWU2MTJhNDk1ZjIyNTAzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL3J0bC1pZnJhbWUu
aHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c3R5bGU+Cisjc2Nyb2xsYWJsZSB7CisgICAgd2lkdGg6IDUwcHg7CisgICAgaGVpZ2h0OiA1MHB4
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZSBpZD0ic2Nyb2xsYWJsZSIg
c3JjPSJydGwtaWZyYW1lLWlubmVyLmh0bWwiLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBh
YjZjOTcwYTU5OGM0MWFlZjJiNmRkZjAwZGViZTJiNWEzNzFlOThjLi41NzhjZjQ1ZDFlZGI0ZDNk
N2UxNzQ3YjVjNmQ2ODg3ZmI5YjE4Y2UxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDMt
MTEgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIENvcnJl
Y3QgaW1wbC1zaWRlIHNjcm9sbGluZyBmb3IgUlRMIGlmcmFtZSBhbmQgb3ZlcmZsb3c6c2Nyb2xs
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIwODgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBh
dGNoIGNvcnJlY3RzIHNjcm9sbE9yaWdpbiBjb21wZW5zYXRpb24gZm9yIGNvbXBvc2l0ZWQgb3Zl
cmZsb3c6c2Nyb2xsLgorCisgICAgICAgICogY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1z
Y3JvbGxpbmctZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9ydGwv
cnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNv
bXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMtMDMtMDQgIENo
cmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJTcGVlY2g6
IGNoYW5nZSB2b2ljZVVSSSB0byB2b2ljZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQucG5nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRmN2NlNzFhODA3ODVkODE2Y2NkODI4MTkzY2Y3NzVmNzE4ZjVkNmEKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDI5MDQKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYy
YT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuM31tCnpxQC1qY15Bd3wwTHNNZ21SM3IwNXFx
RyFiUSZXPV5eQ1dYSyVmdlV6I2R7YlN4TCRkPklFR1pyZDMocE8+IyYwVwp6Z1g4WkRgP3VJenpm
QXZrKTJkV3khJW51anVBeD5OZH5XemBfLV5AfW0hYVhAYEozRGYzXkJiMm0+ND1aYnI+M0UKelVA
JmVKbmNWcFBfaXk7TitoVDgrX1JRRy1adzIjQEZ1ZSF7MkUjXkgxXzl3dzF9eV8yeHtvY25oa3N0
PnBHclo3CnpoU2RjSmFtRXM2eXA0KXJQMHBqaUc4IXpuaWFPSE1oT1Q+YVkzJSpfKWFzbXJkaVQ/
TTNjcW5OOUhAV05Me1kpRwp6QCVObjFaKTYhNV5wM0p9R2JwSFNVfD5qTThmQTxJIWV+a3UlPnw+
bTBHPG9KdjdFfmckKGkkTXBFPENwJTs0JGoKSz1kI1d6cCRQei1zJW5AMwoKbGl0ZXJhbCAwCkhj
bVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1v
dmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2MWU1
MjU1YmFkMGU3YTFhMTZkMDQ5YjI3ZDgwYmJjMWEwOGNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoOCw4KSBzaXplIDMw
MHgzMDAgY2xpcCBhdCAoMjMsOCkgc2l6ZSAyODV4Mjg1IHNjcm9sbFdpZHRoIDk4NSBzY3JvbGxI
ZWlnaHQgMTAwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDMwMHgzMDAKKyAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoLTcwMCwwKSBzaXplIDEwMDB4MTAwMCBbYmdjb2xvcj0j
MDA4MDAwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVy
Zmxvdy1zY3JvbGxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtb3Zl
cmZsb3ctc2Nyb2xsaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmZlNjUxOTY1MThkYjZhMWM5ZDEyNGVl
MWZmOThmZWRiMzJmN2Y4NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxFbmFibGVkKHRydWUpOworCisgICAg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRhaW5lciIpLnNjcm9sbExlZnQgPSAwOworICAgIH0KKzwvc2NyaXB0PgorPHN0eWxlPgorI2Nv
bnRhaW5lciB7CisgICAgZGlyZWN0aW9uOiBydGw7CisgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAg
ICB3aWR0aDogMzAwcHg7CisgICAgaGVpZ2h0OiAzMDBweDsKK30KKyNvdmVyZmxvdyB7CisgICAg
d2lkdGg6IDEwMDBweDsKKyAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsi
PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKzxkaXYgaWQ9Im92ZXJmbG93Ij4KKzwvZGl2PgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
VGVzdEV4cGVjdGF0aW9ucwppbmRleCAwNDM1YzIwZDNkNGUzZDA5ZjQyYjUzYjQyMjQ5ZTVlOTU0
Zjk4ZTRmLi5mYjBmODcxMTI1YTQxZTk0OTVhMGRmMDQ2ZDJlYjcxMjNiNDdlYmE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQzODgs
NyArNDM4OCw3IEBAIHdlYmtpdC5vcmcvYi8xMTA4NTEgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVh
bC9zb2Z0d2FyZWNvbXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkCiB3ZWJraXQub3JnL2IvMTEwODUx
IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1zY2FsZWQtZGVzY2VuZGFudC1vdmVybGFwcGluZy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvMTEwODUxIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29m
dHdhcmVjb21wb3NpdGluZy9yZXBhaW50L3BhZ2Utc2NhbGUtcmVwYWludC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiAKLSMgSW1wbC1zaWRlIHNjcm9sbGluZyBpcyBicm9rZW4gZm9yIFJUTC4g
Q2F1c2luZyBpbXBsLXNpZGUgc2Nyb2xsYmFyIGFydGlmYWN0cy4KKyMgUGl4ZWwgdGVzdHMgZm9y
IFJUTCBpZnJhbWUgc2Nyb2xsYmFyIGlzIGVycm9uZW91cy4gQ2Fubm90IG9ic2VydmUgb24gYWN0
dWFsIGJyb3dzZXIuCiBjcmJ1Zy5jb20vMTc1OTI2IFsgTGludXggXSBjb21wb3NpdGluZy9ydGwv
cnRsLWlmcmFtZS1hYnNvbHV0ZS1vdmVyZmxvdy1zY3JvbGxlZC5odG1sIFsgRmFpbHVyZSBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGNyYnVnLmNvbS8xNzU5MjYgWyBMaW51eCBdIGNvbXBvc2l0aW5nL3J0
bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93Lmh0bWwgWyBGYWlsdXJlIEltYWdlT25seUZh
aWx1cmUgXQogY3JidWcuY29tLzE3NTkyNiBbIExpbnV4IFdpbiBdIGNvbXBvc2l0aW5nL3J0bC9y
dGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwgWyBGYWlsdXJlIEltYWdlT25s
eUZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192828</attachid>
            <date>2013-03-12 15:55:39 -0700</date>
            <delta_ts>2013-03-18 17:05:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112088-20130312155137.patch</filename>
            <type>text/plain</type>
            <size>15854</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRiMmQwYjg5ZmM5OTg3
OGUyZmM1Mzg4MmE5ZmQyMmU3MjQ1OTRkMS4uNjM4MzdkMTk1NTU2NWMxMzA2MjhhOTY3YTExNmU1
YjVmOWQyZjUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAzLTEyICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb3JyZWN0IGltcGwt
c2lkZSBzY3JvbGxpbmcgZm9yIFJUTCBpZnJhbWUgYW5kIG92ZXJmbG93OnNjcm9sbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMDg4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3Jy
ZWN0cyBzY3JvbGxPcmlnaW4gY29tcGVuc2F0aW9uIGZvciBjb21wb3NpdGVkIG92ZXJmbG93OnNj
cm9sbCwKKyAgICAgICAgYW5kIGFkZCBhcHByb3ByaWF0ZSBvZmZzZXQgaW4gU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDaHJvbWl1bSB0bworICAgICAgICBhZGp1c3QgaW1wbC1zaWRlIHNjcm9sbCBwb3Np
dGlvbiB0byB0aGUgcmFuZ2UgWzAsIG1heE9mZnNldCAtIG1pbk9mZnNldF0uCisKKyAgICAgICAg
VGVzdDogY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmcuaHRtbAorICAgICAg
ICAgICAgICBTY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdC5ydGxJZnJhbWUKKworICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bTo6
c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6bWluaW11bVNjcm9sbFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjptYXhpbXVtU2Nyb2xsUG9z
aXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2Vv
bWV0cnkpOgorCiAyMDEzLTAzLTA0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViU3BlZWNoOiBjaGFuZ2Ugdm9pY2VVUkkgdG8gdm9pY2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOTJmZGFiZmMxZjU5OGRhMTA1NWNmNTA4ZjIwZTlmZjg2
NWY3OTRhNC4uN2M3MWRjM2Y0MzYxOGJiYTM4YjYyMTc2OTlhNWQ5NzY4YWRiYjc4YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMy0xMiAgVGllbi1S
ZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29ycmVjdCBpbXBsLXNp
ZGUgc2Nyb2xsaW5nIGZvciBSVEwgaWZyYW1lIGFuZCBvdmVyZmxvdzpzY3JvbGwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjA4OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3QgdG8gZW5z
dXJlIFJUTCBpZnJhbWUgaGFzIGFwcHJvcHJpYXRlIGltcGwtc2lkZSBzY3JvbGwgcG9zaXRpb24u
CisKKyAgICAgICAgKiB0ZXN0cy9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlRFU1RfRik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAq
IHRlc3RzL2RhdGEvcnRsLWlmcmFtZS1pbm5lci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9kYXRhL3J0bC1pZnJhbWUuaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMDQgIEphbWVzIFJvYmlu
c29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJvbGwgY2hy
b21pdW0gREVQUyAxODU2NjIgLT4gMTg1OTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yQ2hyb21pdW0uY3BwCmluZGV4IDI1OGIxNjY5MzFkYWZhMWM3YmNhOWI4NmRjZTM0MWVkYzFl
NjEzNTAuLjIwYzkyZmRjYjRmNDczZTNkMjA3MjQxMWEyNTE5MGM4ZDEyZjljZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2No
cm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0yNDgsNyArMjQ4LDcg
QEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtOjpzY3JvbGxhYmxlQXJlYVNjcm9s
bExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGUKICAgICBXZWJMYXllciogd2ViTGF5ZXIgPSBzY3Jv
bGxpbmdXZWJMYXllckZvclNjcm9sbGFibGVBcmVhKHNjcm9sbGFibGVBcmVhKTsKICAgICBpZiAo
d2ViTGF5ZXIpIHsKICAgICAgICAgd2ViTGF5ZXItPnNldFNjcm9sbGFibGUodHJ1ZSk7Ci0gICAg
ICAgIHdlYkxheWVyLT5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsUG9z
aXRpb24oKSk7CisgICAgICAgIHdlYkxheWVyLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCgp
ICsgKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpIC0gc2Nyb2xsYWJsZUFyZWEtPm1p
bmltdW1TY3JvbGxQb3NpdGlvbigpKSk7CiAgICAgICAgIHdlYkxheWVyLT5zZXRNYXhTY3JvbGxQ
b3NpdGlvbihJbnRTaXplKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKEhvcml6b250YWxTY3Jv
bGxiYXIpLCBzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsU2l6ZShWZXJ0aWNhbFNjcm9sbGJhcikpKTsK
ICAgICB9CiAgICAgaWYgKFdlYlNjcm9sbGJhckxheWVyKiBzY3JvbGxiYXJMYXllciA9IGdldFdl
YlNjcm9sbGJhckxheWVyKHNjcm9sbGFibGVBcmVhLCBIb3Jpem9udGFsU2Nyb2xsYmFyKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDcxOGM1ZmZkNzEzYjc1
YjA1MTQwY2Q5NjY5YmU5YzQ0MzNiMmRjYjMuLmE4MzZjZTRjOGY2YzgzNTgzN2UwZjYxODljODc3
ZDNlODA3YWM3MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApA
QCAtMjUzNiwxOCArMjUzNiwxOCBAQCBpbnQgUmVuZGVyTGF5ZXI6OnNjcm9sbFBvc2l0aW9uKFNj
cm9sbGJhciogc2Nyb2xsYmFyKSBjb25zdAogCiBJbnRQb2ludCBSZW5kZXJMYXllcjo6c2Nyb2xs
UG9zaXRpb24oKSBjb25zdAogewotICAgIHJldHVybiBzY3JvbGxPcmlnaW4oKSArIG1fc2Nyb2xs
T2Zmc2V0OworICAgIHJldHVybiBJbnRQb2ludCgpICsgbV9zY3JvbGxPZmZzZXQ7CiB9CiAKIElu
dFBvaW50IFJlbmRlckxheWVyOjptaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewotICAg
IHJldHVybiBzY3JvbGxPcmlnaW4oKTsKKyAgICByZXR1cm4gLXNjcm9sbE9yaWdpbigpOwogfQog
CiBJbnRQb2ludCBSZW5kZXJMYXllcjo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsK
ICAgICAvLyBGSVhNRTogbV9zY3JvbGxTaXplIG1heSBub3QgYmUgdXAtdG8tZGF0ZSBpZiBtX3Nj
cm9sbERpbWVuc2lvbnNEaXJ0eSBpcyB0cnVlLgotICAgIHJldHVybiBzY3JvbGxPcmlnaW4oKSAr
IHJvdW5kZWRJbnRTaXplKG1fc2Nyb2xsU2l6ZSkgLSB2aXNpYmxlQ29udGVudFJlY3QoSW5jbHVk
ZVNjcm9sbGJhcnMpLnNpemUoKTsKKyAgICByZXR1cm4gLXNjcm9sbE9yaWdpbigpICsgcm91bmRl
ZEludFNpemUobV9zY3JvbGxTaXplKSAtIHZpc2libGVDb250ZW50UmVjdChJbmNsdWRlU2Nyb2xs
YmFycykuc2l6ZSgpOwogfQogCiBJbnRSZWN0IFJlbmRlckxheWVyOjp2aXNpYmxlQ29udGVudFJl
Y3QoVmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkZXNTY3JvbGxiYXJzIHNjcm9sbGJhckluY2x1c2lv
bikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAKaW5kZXggYjM2NGEwNjBkODE0NGVjMzdhNGZlYWI2Yjk5YWQ4Yzc4NDJkNTkwOC4uYWNk
ZGM1Y2UwM2Q3YzViOTFmMzQ5OTlhZDgyODQ4MTRmYjgyZjVkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTc5MCw3ICs3OTAsNyBA
QCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkK
ICAgICAgICAgQVNTRVJUKG1fc2Nyb2xsaW5nQ29udGVudHNMYXllcik7CiAgICAgICAgIFJlbmRl
ckJveCogcmVuZGVyQm94ID0gdG9SZW5kZXJCb3gocmVuZGVyZXIoKSk7CiAgICAgICAgIEludFJl
Y3QgcGFkZGluZ0JveChyZW5kZXJCb3gtPmJvcmRlckxlZnQoKSwgcmVuZGVyQm94LT5ib3JkZXJU
b3AoKSwgcmVuZGVyQm94LT53aWR0aCgpIC0gcmVuZGVyQm94LT5ib3JkZXJMZWZ0KCkgLSByZW5k
ZXJCb3gtPmJvcmRlclJpZ2h0KCksIHJlbmRlckJveC0+aGVpZ2h0KCkgLSByZW5kZXJCb3gtPmJv
cmRlclRvcCgpIC0gcmVuZGVyQm94LT5ib3JkZXJCb3R0b20oKSk7Ci0gICAgICAgIEludFNpemUg
c2Nyb2xsT2Zmc2V0ID0gbV9vd25pbmdMYXllci0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7Cisg
ICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0ID0gbV9vd25pbmdMYXllci0+c2Nyb2xsT2Zmc2V0
KCk7CiAKICAgICAgICAgbV9zY3JvbGxpbmdMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludChw
YWRkaW5nQm94LmxvY2F0aW9uKCkgLSBsb2NhbENvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxpbmdD
b29yZGluYXRvckNocm9taXVtVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW1UZXN0LmNwcAppbmRleCA4ZGQyNTVjOGUyNjkz
MWNmMzczZWE1YWY0MzgxZjliZjZhYmRlODkxLi5hZmJmOGIyZTUxYTFkMzc4ZjcwZDFiOTcyOWUz
NTZiMDQyODAyNjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW1UZXN0LmNwcApAQCAtMjkw
LDQgKzI5MCw0MiBAQCBURVNUX0YoU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bVRlc3QsIGlm
cmFtZVNjcm9sbGluZykKICNlbmRpZgogfQogCitURVNUX0YoU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
aHJvbWl1bVRlc3QsIHJ0bElmcmFtZSkKK3sKKyAgICByZWdpc3Rlck1vY2tlZEh0dHBVUkxMb2Fk
KCJydGwtaWZyYW1lLmh0bWwiKTsKKyAgICByZWdpc3Rlck1vY2tlZEh0dHBVUkxMb2FkKCJydGwt
aWZyYW1lLWlubmVyLmh0bWwiKTsKKyAgICBuYXZpZ2F0ZVRvKG1fYmFzZVVSTCArICJydGwtaWZy
YW1lLmh0bWwiKTsKKworICAgIC8vIFZlcmlmeSB0aGUgcHJvcGVydGllcyBvZiB0aGUgYWNjZWxl
cmF0ZWQgc2Nyb2xsaW5nIGVsZW1lbnQgc3RhcnRpbmcgZnJvbSB0aGUgUmVuZGVyT2JqZWN0Cisg
ICAgLy8gYWxsIHRoZSB3YXkgdG8gdGhlIFdlYkxheWVyLgorICAgIEVsZW1lbnQqIHNjcm9sbGFi
bGVGcmFtZSA9IG1fd2ViVmlld0ltcGwtPm1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZG9jdW1l
bnQoKS0+Z2V0RWxlbWVudEJ5SWQoInNjcm9sbGFibGUiKTsKKyAgICBBU1NFUlRfVFJVRShzY3Jv
bGxhYmxlRnJhbWUpOworCisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHNjcm9sbGFibGVG
cmFtZS0+cmVuZGVyZXIoKTsKKyAgICBBU1NFUlRfVFJVRShyZW5kZXJlcik7CisgICAgQVNTRVJU
X1RSVUUocmVuZGVyZXItPmlzV2lkZ2V0KCkpOworCisgICAgUmVuZGVyV2lkZ2V0KiByZW5kZXJX
aWRnZXQgPSB0b1JlbmRlcldpZGdldChyZW5kZXJlcik7CisgICAgQVNTRVJUX1RSVUUocmVuZGVy
V2lkZ2V0KTsKKyAgICBBU1NFUlRfVFJVRShyZW5kZXJXaWRnZXQtPndpZGdldCgpKTsKKyAgICBB
U1NFUlRfVFJVRShyZW5kZXJXaWRnZXQtPndpZGdldCgpLT5pc0ZyYW1lVmlldygpKTsKKworICAg
IEZyYW1lVmlldyogaW5uZXJGcmFtZVZpZXcgPSBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPihyZW5k
ZXJXaWRnZXQtPndpZGdldCgpKTsKKyAgICBSZW5kZXJWaWV3KiBpbm5lclJlbmRlclZpZXcgPSBp
bm5lckZyYW1lVmlldy0+cmVuZGVyVmlldygpOworICAgIEFTU0VSVF9UUlVFKGlubmVyUmVuZGVy
Vmlldyk7CisKKyAgICBSZW5kZXJMYXllckNvbXBvc2l0b3IqIGlubmVyQ29tcG9zaXRvciA9IGlu
bmVyUmVuZGVyVmlldy0+Y29tcG9zaXRvcigpOworICAgIEFTU0VSVF9UUlVFKGlubmVyQ29tcG9z
aXRvci0+aW5Db21wb3NpdGluZ01vZGUoKSk7CisgICAgQVNTRVJUX1RSVUUoaW5uZXJDb21wb3Np
dG9yLT5zY3JvbGxMYXllcigpKTsKKworICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogc2Nyb2xs
TGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0qPihpbm5lckNvbXBvc2l0
b3ItPnNjcm9sbExheWVyKCkpOworICAgIEFTU0VSVF9FUShpbm5lckZyYW1lVmlldywgc2Nyb2xs
TGF5ZXItPnNjcm9sbGFibGVBcmVhKCkpOworCisgICAgV2ViTGF5ZXIqIHdlYlNjcm9sbExheWVy
ID0gc3RhdGljX2Nhc3Q8V2ViTGF5ZXIqPihzY3JvbGxMYXllci0+cGxhdGZvcm1MYXllcigpKTsK
KyAgICBBU1NFUlRfVFJVRSh3ZWJTY3JvbGxMYXllci0+c2Nyb2xsYWJsZSgpKTsKKworICAgIEFT
U0VSVF9FUSg5NzMsIHdlYlNjcm9sbExheWVyLT5zY3JvbGxQb3NpdGlvbigpLngpOworICAgIEFT
U0VSVF9FUSg5NzMsIHdlYlNjcm9sbExheWVyLT5tYXhTY3JvbGxQb3NpdGlvbigpLndpZHRoKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvZGF0YS9ydGwtaWZyYW1lLWlubmVyLmh0bWwgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS1pbm5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMDgyY2NkMWQ0
YjQ2MmVhYTcyZDQyNjljZmE3OTBiN2RhN2I4MzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS1pbm5lci5odG1sCkBAIC0wLDAg
KzEsNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5IHN0eWxlPSJkaXJlY3Rpb246
cnRsO3dpZHRoOjEwMDBweDtoZWlnaHQ6MTAwMHB4OyI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS5odG1s
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL3J0bC1pZnJhbWUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMDExMjc3ZWMwMzlkN2E1NjFlNGUyMDliYWU2MTJhNDk1ZjIyNTAzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL3J0bC1pZnJhbWUu
aHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c3R5bGU+Cisjc2Nyb2xsYWJsZSB7CisgICAgd2lkdGg6IDUwcHg7CisgICAgaGVpZ2h0OiA1MHB4
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZSBpZD0ic2Nyb2xsYWJsZSIg
c3JjPSJydGwtaWZyYW1lLWlubmVyLmh0bWwiLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBh
YjZjOTcwYTU5OGM0MWFlZjJiNmRkZjAwZGViZTJiNWEzNzFlOThjLi5jZTg2YWVmMDYyZjVmNGVi
NWExMDA1N2Q1OGZlOGZmYzY2YWIwM2Q4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTMtMDMt
MTIgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIENvcnJl
Y3QgaW1wbC1zaWRlIHNjcm9sbGluZyBmb3IgUlRMIGlmcmFtZSBhbmQgb3ZlcmZsb3c6c2Nyb2xs
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIwODgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBh
dGNoIGNvcnJlY3RzIHNjcm9sbE9yaWdpbiBjb21wZW5zYXRpb24gZm9yIGNvbXBvc2l0ZWQgb3Zl
cmZsb3c6c2Nyb2xsLgorCisgICAgICAgIGNvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Ny
b2xsaW5nLmh0bWwgaXMgYWRkZWQgdG8gdmVyaWZ5IFJUTCBkaXZzCisgICAgICAgIGNhbiBiZSBj
b3JyZWN0bHkgc2Nyb2xsZWQgdG8gdGhlIGxlZnQgdW5kZXIgYWNjZWxlcmF0ZWQgc2Nyb2xsaW5n
IG1vZGUuCisKKyAgICAgICAgZmFzdC9jc3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNo
aWxkLmh0bWwgaXMgbW9kaWZpZWQgdG8gYXZvaWQgc3ViLXBpeGVsCisgICAgICAgIGlzc3VlIHdp
dGggQWhlbSBmb250LgorCisgICAgICAgICogY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1z
Y3JvbGxpbmctZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9ydGwv
cnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNv
bXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY3NzL3N0aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC1leHBlY3RlZC5o
dG1sOgorICAgICAgICAqIGZhc3QvY3NzL3N0aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGls
ZC5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xs
aW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTMtMDMtMDQgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJTcGVlY2g6IGNoYW5nZSB2b2ljZVVS
SSB0byB2b2ljZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1v
dmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmN2Nl
NzFhODA3ODVkODE2Y2NkODI4MTkzY2Y3NzVmNzE4ZjVkNmEKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDI5MDQKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVA
V3MkbEhgb2s8bX0/b1RuM31tCnpxQC1qY15Bd3wwTHNNZ21SM3IwNXFxRyFiUSZXPV5eQ1dYSyVm
dlV6I2R7YlN4TCRkPklFR1pyZDMocE8+IyYwVwp6Z1g4WkRgP3VJenpmQXZrKTJkV3khJW51anVB
eD5OZH5XemBfLV5AfW0hYVhAYEozRGYzXkJiMm0+ND1aYnI+M0UKelVAJmVKbmNWcFBfaXk7Tito
VDgrX1JRRy1adzIjQEZ1ZSF7MkUjXkgxXzl3dzF9eV8yeHtvY25oa3N0PnBHclo3CnpoU2RjSmFt
RXM2eXA0KXJQMHBqaUc4IXpuaWFPSE1oT1Q+YVkzJSpfKWFzbXJkaVQ/TTNjcW5OOUhAV05Me1kp
Rwp6QCVObjFaKTYhNV5wM0p9R2JwSFNVfD5qTThmQTxJIWV+a3UlPnw+bTBHPG9KdjdFfmckKGkk
TXBFPENwJTs0JGoKSz1kI1d6cCRQei1zJW5AMwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxv
dy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2MWU1MjU1YmFkMGU3YTFhMTZk
MDQ5YjI3ZDgwYmJjMWEwOGNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoOCw4KSBzaXplIDMwMHgzMDAgY2xpcCBhdCAo
MjMsOCkgc2l6ZSAyODV4Mjg1IHNjcm9sbFdpZHRoIDk4NSBzY3JvbGxIZWlnaHQgMTAwMAorICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDMwMHgzMDAKKyAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoLTcwMCwwKSBzaXplIDEwMDB4MTAwMCBbYmdjb2xvcj0jMDA4MDAwXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmcu
aHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5n
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmZlNjUxOTY1MThkYjZhMWM5ZDEyNGVlMWZmOThmZWRiMzJmN2Y4
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtb3Zl
cmZsb3ctc2Nyb2xsaW5nLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICBpZiAod2luZG93LmludGVybmFscykK
KyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nRm9yT3ZlcmZsb3dTY3JvbGxFbmFibGVkKHRydWUpOworCisgICAgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLnNjcm9s
bExlZnQgPSAwOworICAgIH0KKzwvc2NyaXB0PgorPHN0eWxlPgorI2NvbnRhaW5lciB7CisgICAg
ZGlyZWN0aW9uOiBydGw7CisgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgICB3aWR0aDogMzAwcHg7
CisgICAgaGVpZ2h0OiAzMDBweDsKK30KKyNvdmVyZmxvdyB7CisgICAgd2lkdGg6IDEwMDBweDsK
KyAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKzxkaXYgaWQ9Im92ZXJmbG93Ij4KKzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0
aWNreS1hYnNwb3MtY2hpbGQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0
aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC1leHBlY3RlZC5odG1sCmluZGV4IGIxZTcy
MzM0MmQwODFjNTM4ZjllZjE5ODkxZDMzZDc2MzhkZWRlNmUuLjY5ZDY4NTcwZWRhNzg0ZDNhNGE0
MGY3M2YyY2UzYjRiNmI1Nzg2M2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0
aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3N0aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC1leHBlY3Rl
ZC5odG1sCkBAIC04LDcgKzgsNyBAQAogICAgICAgICBoZWlnaHQ6IDIwMDBweDsKICAgICAgICAg
b3ZlcmZsb3c6IGhpZGRlbjsgLyogaGlkZSBzY3JvbGxiYXJzICovCiAgICAgICAgIGZvbnQtZmFt
aWx5OiAnQWhlbSc7Ci0gICAgICAgIGZvbnQtc2l6ZTogMjRweDsKKyAgICAgICAgZm9udC1zaXpl
OiAyNXB4OwogICAgICAgICBsaW5lLWhlaWdodDogMjsKICAgICB9CiAgICAgCkBAIC01OSw3ICs1
OSw3IEBACiAgICAgPGRpdiBjbGFzcz0iZ3JvdXAiIHN0eWxlPSJ0b3A6IC0xMDBweCI+CiAgICAg
ICAgIDxkaXYgY2xhc3M9ImluZGljYXRvciBib3giPjwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNz
PSJjb250YWluZXIiPgotICAgICAgICAgICAgWFhYIDxzcGFuIGNsYXNzPSJzdGlja3kiIHN0eWxl
PSJ0b3A6IDE3MnB4OyI+WFhYWDwvYnI+CisgICAgICAgICAgICBYWFggPHNwYW4gY2xhc3M9InN0
aWNreSIgc3R5bGU9InRvcDogMTYzcHg7Ij5YWFhYPC9icj4KICAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImNoaWxkIGJveCI+PC9kaXY+CiAgICAgICAgICAgICBYWFhYPC9icj5YWFhYPC9icj5YWFhY
PC9icj5YWFhYPC9zcGFuPiBYWFgKICAgICAgICAgPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3N0aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC5odG1s
CmluZGV4IDY3ZGFkZjY1NGM4NzdlNDkxMjY3ZWFiNjRmNzcxZDc3NmQwZmFhYTguLjU5YTkwOTk4
ZGMxMjBmNWY2MDcyNWI2MTlhZjI2ZGQzNTVlMjAzNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3N0aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3N0aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC5odG1s
CkBAIC04LDcgKzgsNyBAQAogICAgICAgICBoZWlnaHQ6IDIwMDBweDsKICAgICAgICAgb3ZlcmZs
b3c6IGhpZGRlbjsgLyogaGlkZSBzY3JvbGxiYXJzICovCiAgICAgICAgIGZvbnQtZmFtaWx5OiAn
QWhlbSc7Ci0gICAgICAgIGZvbnQtc2l6ZTogMjRweDsKKyAgICAgICAgZm9udC1zaXplOiAyNXB4
OwogICAgICAgICBsaW5lLWhlaWdodDogMjsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwNDM1YzIwZDNkNGUzZDA5
ZjQyYjUzYjQyMjQ5ZTVlOTU0Zjk4ZTRmLi5mYjBmODcxMTI1YTQxZTk0OTVhMGRmMDQ2ZDJlYjcx
MjNiNDdlYmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTQzODgsNyArNDM4OCw3IEBAIHdlYmtpdC5vcmcvYi8xMTA4NTEgcGxhdGZv
cm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkCiB3
ZWJraXQub3JnL2IvMTEwODUxIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21w
b3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY2FsZWQtZGVzY2VuZGFudC1vdmVybGFwcGluZy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTEwODUxIHBsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9yZXBhaW50L3BhZ2Utc2NhbGUtcmVw
YWludC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKLSMgSW1wbC1zaWRlIHNjcm9sbGluZyBp
cyBicm9rZW4gZm9yIFJUTC4gQ2F1c2luZyBpbXBsLXNpZGUgc2Nyb2xsYmFyIGFydGlmYWN0cy4K
KyMgUGl4ZWwgdGVzdHMgZm9yIFJUTCBpZnJhbWUgc2Nyb2xsYmFyIGlzIGVycm9uZW91cy4gQ2Fu
bm90IG9ic2VydmUgb24gYWN0dWFsIGJyb3dzZXIuCiBjcmJ1Zy5jb20vMTc1OTI2IFsgTGludXgg
XSBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1hYnNvbHV0ZS1vdmVyZmxvdy1zY3JvbGxlZC5o
dG1sIFsgRmFpbHVyZSBJbWFnZU9ubHlGYWlsdXJlIF0KIGNyYnVnLmNvbS8xNzU5MjYgWyBMaW51
eCBdIGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93Lmh0bWwgWyBG
YWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQogY3JidWcuY29tLzE3NTkyNiBbIExpbnV4IFdpbiBd
IGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwg
WyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2NvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJm
bG93LXNjcm9sbGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThjNDhhNjUxNGU2NzU5MjY2
ZTA2NmM4OWNlNTViNjk0NmNhYzRiMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoOCw4KSBzaXplIDMw
MHgzMDAgY2xpcCBhdCAoOCw4KSBzaXplIDI4NXgyODUgc2Nyb2xsV2lkdGggMTAwMCBzY3JvbGxI
ZWlnaHQgMTAwMAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDMwMHgzMDAKKyAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoLTcxNSwwKSBzaXplIDEwMDB4MTAwMCBbYmdjb2xvcj0j
MDA4MDAwXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193695</attachid>
            <date>2013-03-18 17:05:12 -0700</date>
            <delta_ts>2013-03-19 13:37:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112088-20130318170103.patch</filename>
            <type>text/plain</type>
            <size>15930</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkNzJhZmYzYjFjNjM3
NGQxMDg2MWRiOGUwYmI1NDRmYjE4NTM2Yi4uMjkwOTEyYTUwZWZiYTkzMTlkMDkwNmE3OWRhNWMw
MDgxNGRmMzQzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAzLTE4ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb3JyZWN0IGltcGwt
c2lkZSBzY3JvbGxpbmcgZm9yIFJUTCBpZnJhbWUgYW5kIG92ZXJmbG93OnNjcm9sbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMDg4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3Jy
ZWN0cyBzY3JvbGxPcmlnaW4gY29tcGVuc2F0aW9uIGZvciBjb21wb3NpdGVkIG92ZXJmbG93OnNj
cm9sbCwKKyAgICAgICAgYW5kIGFkZCBhcHByb3ByaWF0ZSBvZmZzZXQgaW4gU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDaHJvbWl1bSB0bworICAgICAgICBhZGp1c3QgaW1wbC1zaWRlIHNjcm9sbCBwb3Np
dGlvbiB0byB0aGUgcmFuZ2UgWzAsIG1heE9mZnNldCAtIG1pbk9mZnNldF0uCisKKyAgICAgICAg
VGVzdDogY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmcuaHRtbAorICAgICAg
ICAgICAgICBTY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdC5ydGxJZnJhbWUKKworICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bTo6
c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6bWluaW11bVNjcm9sbFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjptYXhpbXVtU2Nyb2xsUG9z
aXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2Vv
bWV0cnkpOgorCiAyMDEzLTAzLTE4ICBUb20gU2VwZXogIDx0c2VwZXpAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFt2OF0gU3VwcHJlc3MgYmluZGluZyBpbnRlZ3JpdHkgY2hlY2sgb2YgSFRNTENv
bnRlbnRFbGVtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAyNzliOGI3YjgyNjI4
MGYyOTliOTU3MmE0ZWUyNDZhYmZmODUwNWY3Li4xMjY2ZTYwNTU3ZTllZDI5MzJjMjkxMDcwOWFj
YmQ3NmExN2MwMzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDEzLTAzLTE4ICBUaWVuLVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBDb3JyZWN0IGltcGwtc2lkZSBzY3JvbGxpbmcgZm9yIFJUTCBpZnJhbWUgYW5kIG92ZXJm
bG93OnNjcm9sbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTEyMDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgdGVzdCB0byBlbnN1cmUgUlRMIGlmcmFtZSBoYXMgYXBwcm9wcmlhdGUgaW1wbC1z
aWRlIHNjcm9sbCBwb3NpdGlvbi4KKworICAgICAgICAqIHRlc3RzL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yQ2hyb21pdW1UZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VEVTVF9GKToKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgICogdGVzdHMvZGF0YS9ydGwtaWZyYW1lLWlubmVyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHRlc3RzL2RhdGEvcnRsLWlmcmFtZS5odG1sOiBBZGRlZC4KKwogMjAx
My0wMy0xOCAgVy4gSmFtZXMgTWFjTGVhbiAgPHdqbWFjbGVhbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW2Nocm9taXVtXSBSZW1vdmUgTkNDSCBjb2RlIHRoYXQgcmVsaWVzIG9uIGJvdW5kc0Nv
bnRhaW5zUGFnZVNjYWxlKCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW0uY3BwCmluZGV4IDI1OGIxNjY5MzFkYWZhMWM3YmNhOWI4NmRjZTM0MWVkYzFlNjEzNTAuLjE5
MWM4ZTBiN2I1ODIxMGNmOTJmNTFhOTRhMDA1MTBjODAxZGU3NzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hy
b21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0yNDgsNyArMjQ4LDcgQEAgdm9pZCBT
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtOjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlk
Q2hhbmdlKFNjcm9sbGFibGUKICAgICBXZWJMYXllciogd2ViTGF5ZXIgPSBzY3JvbGxpbmdXZWJM
YXllckZvclNjcm9sbGFibGVBcmVhKHNjcm9sbGFibGVBcmVhKTsKICAgICBpZiAod2ViTGF5ZXIp
IHsKICAgICAgICAgd2ViTGF5ZXItPnNldFNjcm9sbGFibGUodHJ1ZSk7Ci0gICAgICAgIHdlYkxh
eWVyLT5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsUG9zaXRpb24oKSk7
CisgICAgICAgIHdlYkxheWVyLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludChzY3JvbGxhYmxl
QXJlYS0+c2Nyb2xsUG9zaXRpb24oKSAtIHNjcm9sbGFibGVBcmVhLT5taW5pbXVtU2Nyb2xsUG9z
aXRpb24oKSkpOwogICAgICAgICB3ZWJMYXllci0+c2V0TWF4U2Nyb2xsUG9zaXRpb24oSW50U2l6
ZShzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsU2l6ZShIb3Jpem9udGFsU2Nyb2xsYmFyKSwgc2Nyb2xs
YWJsZUFyZWEtPnNjcm9sbFNpemUoVmVydGljYWxTY3JvbGxiYXIpKSk7CiAgICAgfQogICAgIGlm
IChXZWJTY3JvbGxiYXJMYXllciogc2Nyb2xsYmFyTGF5ZXIgPSBnZXRXZWJTY3JvbGxiYXJMYXll
cihzY3JvbGxhYmxlQXJlYSwgSG9yaXpvbnRhbFNjcm9sbGJhcikpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA2YzBmZTIyYWQ3MWU0MTY1Y2ZlYjQyMjVlNWM4
Mjg1MGJlOGUxMTkxLi4zYmEyODkzZjQxYjgxNmFhZTI1ZThmYjhlNzhkMmY1YWYzNjAwMjU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI1MjYsMTggKzI1
MjYsMTggQEAgaW50IFJlbmRlckxheWVyOjpzY3JvbGxQb3NpdGlvbihTY3JvbGxiYXIqIHNjcm9s
bGJhcikgY29uc3QKIAogSW50UG9pbnQgUmVuZGVyTGF5ZXI6OnNjcm9sbFBvc2l0aW9uKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gc2Nyb2xsT3JpZ2luKCkgKyBtX3Njcm9sbE9mZnNldDsKKyAgICBy
ZXR1cm4gSW50UG9pbnQobV9zY3JvbGxPZmZzZXQpOwogfQogCiBJbnRQb2ludCBSZW5kZXJMYXll
cjo6bWluaW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsKLSAgICByZXR1cm4gc2Nyb2xsT3Jp
Z2luKCk7CisgICAgcmV0dXJuIC1zY3JvbGxPcmlnaW4oKTsKIH0KIAogSW50UG9pbnQgUmVuZGVy
TGF5ZXI6Om1heGltdW1TY3JvbGxQb3NpdGlvbigpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IG1f
c2Nyb2xsU2l6ZSBtYXkgbm90IGJlIHVwLXRvLWRhdGUgaWYgbV9zY3JvbGxEaW1lbnNpb25zRGly
dHkgaXMgdHJ1ZS4KLSAgICByZXR1cm4gc2Nyb2xsT3JpZ2luKCkgKyByb3VuZGVkSW50U2l6ZSht
X3Njcm9sbFNpemUpIC0gdmlzaWJsZUNvbnRlbnRSZWN0KEluY2x1ZGVTY3JvbGxiYXJzKS5zaXpl
KCk7CisgICAgcmV0dXJuIC1zY3JvbGxPcmlnaW4oKSArIHJvdW5kZWRJbnRTaXplKG1fc2Nyb2xs
U2l6ZSkgLSB2aXNpYmxlQ29udGVudFJlY3QoSW5jbHVkZVNjcm9sbGJhcnMpLnNpemUoKTsKIH0K
IAogSW50UmVjdCBSZW5kZXJMYXllcjo6dmlzaWJsZUNvbnRlbnRSZWN0KFZpc2libGVDb250ZW50
UmVjdEluY2x1ZGVzU2Nyb2xsYmFycyBzY3JvbGxiYXJJbmNsdXNpb24pIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IGNlZTVh
MGZhY2QxMDlhNmRiOWRlMjZlMTkwMDVjYzM4YjVmMjg3YTAuLjBkNTJjYzMyMzk4YjUwNmJmNzFk
NmUwZThjYWI3OTUxNDZlMTlhNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC04MDQsNyArODA0LDcgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIEFTU0VSVCht
X3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXIpOwogICAgICAgICBSZW5kZXJCb3gqIHJlbmRlckJveCA9
IHRvUmVuZGVyQm94KHJlbmRlcmVyKCkpOwogICAgICAgICBJbnRSZWN0IHBhZGRpbmdCb3gocmVu
ZGVyQm94LT5ib3JkZXJMZWZ0KCksIHJlbmRlckJveC0+Ym9yZGVyVG9wKCksIHJlbmRlckJveC0+
d2lkdGgoKSAtIHJlbmRlckJveC0+Ym9yZGVyTGVmdCgpIC0gcmVuZGVyQm94LT5ib3JkZXJSaWdo
dCgpLCByZW5kZXJCb3gtPmhlaWdodCgpIC0gcmVuZGVyQm94LT5ib3JkZXJUb3AoKSAtIHJlbmRl
ckJveC0+Ym9yZGVyQm90dG9tKCkpOwotICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldCA9IG1f
b3duaW5nTGF5ZXItPnNjcm9sbGVkQ29udGVudE9mZnNldCgpOworICAgICAgICBJbnRTaXplIHNj
cm9sbE9mZnNldCA9IG1fb3duaW5nTGF5ZXItPnNjcm9sbE9mZnNldCgpOwogCiAgICAgICAgIG1f
c2Nyb2xsaW5nTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQocGFkZGluZ0JveC5sb2NhdGlv
bigpIC0gbG9jYWxDb21wb3NpdGluZ0JvdW5kcy5sb2NhdGlvbigpKSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1
bVRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxpbmdDb29yZGlu
YXRvckNocm9taXVtVGVzdC5jcHAKaW5kZXggNGFlODU3NGMwMTk4MWQ3NmNkYTVhNTIyZWQ3ZWU5
OTBkNmQ1MWY5Yy4uYjU5OWY3MGJmZDgyYTlkNzk3N2M4OTlkNWU5NjMxODY4ODQxNjk5YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxpbmdDb29yZGluYXRv
ckNocm9taXVtVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3Jv
bGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdC5jcHAKQEAgLTI4MSw0ICsyODEsNDIgQEAgVEVT
VF9GKFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW1UZXN0LCBpZnJhbWVTY3JvbGxpbmcpCiAj
ZW5kaWYKIH0KIAorVEVTVF9GKFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW1UZXN0LCBydGxJ
ZnJhbWUpCit7CisgICAgcmVnaXN0ZXJNb2NrZWRIdHRwVVJMTG9hZCgicnRsLWlmcmFtZS5odG1s
Iik7CisgICAgcmVnaXN0ZXJNb2NrZWRIdHRwVVJMTG9hZCgicnRsLWlmcmFtZS1pbm5lci5odG1s
Iik7CisgICAgbmF2aWdhdGVUbyhtX2Jhc2VVUkwgKyAicnRsLWlmcmFtZS5odG1sIik7CisKKyAg
ICAvLyBWZXJpZnkgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBl
bGVtZW50IHN0YXJ0aW5nIGZyb20gdGhlIFJlbmRlck9iamVjdAorICAgIC8vIGFsbCB0aGUgd2F5
IHRvIHRoZSBXZWJMYXllci4KKyAgICBFbGVtZW50KiBzY3JvbGxhYmxlRnJhbWUgPSBtX3dlYlZp
ZXdJbXBsLT5tYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmRvY3VtZW50KCktPmdldEVsZW1lbnRC
eUlkKCJzY3JvbGxhYmxlIik7CisgICAgQVNTRVJUX1RSVUUoc2Nyb2xsYWJsZUZyYW1lKTsKKwor
ICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBzY3JvbGxhYmxlRnJhbWUtPnJlbmRlcmVyKCk7
CisgICAgQVNTRVJUX1RSVUUocmVuZGVyZXIpOworICAgIEFTU0VSVF9UUlVFKHJlbmRlcmVyLT5p
c1dpZGdldCgpKTsKKworICAgIFJlbmRlcldpZGdldCogcmVuZGVyV2lkZ2V0ID0gdG9SZW5kZXJX
aWRnZXQocmVuZGVyZXIpOworICAgIEFTU0VSVF9UUlVFKHJlbmRlcldpZGdldCk7CisgICAgQVNT
RVJUX1RSVUUocmVuZGVyV2lkZ2V0LT53aWRnZXQoKSk7CisgICAgQVNTRVJUX1RSVUUocmVuZGVy
V2lkZ2V0LT53aWRnZXQoKS0+aXNGcmFtZVZpZXcoKSk7CisKKyAgICBGcmFtZVZpZXcqIGlubmVy
RnJhbWVWaWV3ID0gc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4ocmVuZGVyV2lkZ2V0LT53aWRnZXQo
KSk7CisgICAgUmVuZGVyVmlldyogaW5uZXJSZW5kZXJWaWV3ID0gaW5uZXJGcmFtZVZpZXctPnJl
bmRlclZpZXcoKTsKKyAgICBBU1NFUlRfVFJVRShpbm5lclJlbmRlclZpZXcpOworCisgICAgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yKiBpbm5lckNvbXBvc2l0b3IgPSBpbm5lclJlbmRlclZpZXctPmNv
bXBvc2l0b3IoKTsKKyAgICBBU1NFUlRfVFJVRShpbm5lckNvbXBvc2l0b3ItPmluQ29tcG9zaXRp
bmdNb2RlKCkpOworICAgIEFTU0VSVF9UUlVFKGlubmVyQ29tcG9zaXRvci0+c2Nyb2xsTGF5ZXIo
KSk7CisKKyAgICBHcmFwaGljc0xheWVyQ2hyb21pdW0qIHNjcm9sbExheWVyID0gc3RhdGljX2Nh
c3Q8R3JhcGhpY3NMYXllckNocm9taXVtKj4oaW5uZXJDb21wb3NpdG9yLT5zY3JvbGxMYXllcigp
KTsKKyAgICBBU1NFUlRfRVEoaW5uZXJGcmFtZVZpZXcsIHNjcm9sbExheWVyLT5zY3JvbGxhYmxl
QXJlYSgpKTsKKworICAgIFdlYkxheWVyKiB3ZWJTY3JvbGxMYXllciA9IHN0YXRpY19jYXN0PFdl
YkxheWVyKj4oc2Nyb2xsTGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSk7CisgICAgQVNTRVJUX1RSVUUo
d2ViU2Nyb2xsTGF5ZXItPnNjcm9sbGFibGUoKSk7CisKKyAgICBBU1NFUlRfRVEoOTczLCB3ZWJT
Y3JvbGxMYXllci0+c2Nyb2xsUG9zaXRpb24oKS54KTsKKyAgICBBU1NFUlRfRVEoOTczLCB3ZWJT
Y3JvbGxMYXllci0+bWF4U2Nyb2xsUG9zaXRpb24oKS53aWR0aCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvcnRsLWlm
cmFtZS1pbm5lci5odG1sIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL3J0bC1p
ZnJhbWUtaW5uZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjA4MmNjZDFkNGI0NjJlYWE3MmQ0MjY5Y2Zh
NzkwYjdkYTdiODM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9kYXRhL3J0bC1pZnJhbWUtaW5uZXIuaHRtbApAQCAtMCwwICsxLDUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8Ym9keSBzdHlsZT0iZGlyZWN0aW9uOnJ0bDt3aWR0aDoxMDAwcHg7
aGVpZ2h0OjEwMDBweDsiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL3J0bC1pZnJhbWUuaHRtbCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvZGF0YS9ydGwtaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzAxMTI3N2Vj
MDM5ZDdhNTYxZTRlMjA5YmFlNjEyYTQ5NWYyMjUwMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9ydGwtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwx
NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorI3Njcm9sbGFi
bGUgeworICAgIHdpZHRoOiA1MHB4OworICAgIGhlaWdodDogNTBweDsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxpZnJhbWUgaWQ9InNjcm9sbGFibGUiIHNyYz0icnRsLWlmcmFtZS1p
bm5lci5odG1sIi8+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjkyMTllODgxMzQxZjU0N2Fk
MGQyNTU3ZjU2NjQ1MGMxNTZkOWJjNy4uMDk4MWU3NjI1NDk5MzU5ODk2NmUyNTliYTI3ZjVlMjI3
YTZlYjhkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAzLTE4ICBUaWVuLVJlbiBDaGVu
ICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb3JyZWN0IGltcGwtc2lkZSBzY3Jv
bGxpbmcgZm9yIFJUTCBpZnJhbWUgYW5kIG92ZXJmbG93OnNjcm9sbAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMDg4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3JyZWN0cyBzY3Jv
bGxPcmlnaW4gY29tcGVuc2F0aW9uIGZvciBjb21wb3NpdGVkIG92ZXJmbG93OnNjcm9sbC4KKwor
ICAgICAgICBjb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy5odG1sIGlzIGFk
ZGVkIHRvIHZlcmlmeSBSVEwgZGl2cworICAgICAgICBjYW4gYmUgY29ycmVjdGx5IHNjcm9sbGVk
IHRvIHRoZSBsZWZ0IHVuZGVyIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBtb2RlLgorCisgICAgICAg
IGZhc3QvY3NzL3N0aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC5odG1sIGlzIG1vZGlm
aWVkIHRvIGF2b2lkIHN1Yi1waXhlbAorICAgICAgICBpc3N1ZSB3aXRoIEFoZW0gZm9udC4KKwor
ICAgICAgICAqIGNvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVk
LnBuZzogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3Jv
bGxpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9ydGwvcnRs
LW92ZXJmbG93LXNjcm9sbGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zdGlj
a3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQuaHRtbDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorCiAyMDEzLTAzLTE4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSBmYWlsaW5nIFdpbmRvd3Mtc3BlY2lmaWMgcmVzdWx0OyB0
aGlzIHRlc3QgcGFzc2VzIG5vdy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnBuZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kZjdjZTcxYTgwNzg1ZDgxNmNjZDgyODE5M2NmNzc1ZjcxOGY1ZDZhCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAyOTA0CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAq
Wik9aF5obEElQFdzJGxIYG9rPG19P29UbjN9bQp6cUAtamNeQXd8MExzTWdtUjNyMDVxcUchYlEm
Vz1eXkNXWEslZnZVeiNke2JTeEwkZD5JRUdacmQzKHBPPiMmMFcKemdYOFpEYD91SXp6ZkF2ayky
ZFd5ISVudWp1QXg+TmR+V3pgXy1eQH1tIWFYQGBKM0RmM15CYjJtPjQ9WmJyPjNFCnpVQCZlSm5j
VnBQX2l5O04raFQ4K19SUUctWncyI0BGdWUhezJFI15IMV85d3cxfXlfMnh7b2NuaGtzdD5wR3Ja
Nwp6aFNkY0phbUVzNnlwNClyUDBwamlHOCF6bmlhT0hNaE9UPmFZMyUqXylhc21yZGlUP00zY3Fu
TjlIQFdOTHtZKUcKekAlTm4xWik2ITVecDNKfUdicEhTVXw+ak04ZkE8SSFlfmt1JT58Pm0wRzxv
SnY3RX5nJChpJE1wRTxDcCU7NCRqCks9ZCNXenAkUHotcyVuQDMKCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZs
b3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9y
dGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NjFlNTI1NWJh
ZDBlN2ExYTE2ZDA0OWIyN2Q4MGJiYzFhMDhjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsOCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAzMDB4MzAw
IGNsaXAgYXQgKDIzLDgpIHNpemUgMjg1eDI4NSBzY3JvbGxXaWR0aCA5ODUgc2Nyb2xsSGVpZ2h0
IDEwMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAzMDB4MzAwCisgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKC03MDAsMCkgc2l6ZSAxMDAweDEwMDAgW2JnY29sb3I9IzAwODAw
MF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ct
c2Nyb2xsaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93
LXNjcm9sbGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmZTY1MTk2NTE4ZGI2YTFjOWQxMjRlZTFmZjk4
ZmVkYjMyZjdmODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9y
dGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCh0cnVlKTsKKworICAgIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKS5zY3JvbGxMZWZ0ID0gMDsKKyAgICB9Cis8L3NjcmlwdD4KKzxzdHlsZT4KKyNjb250YWlu
ZXIgeworICAgIGRpcmVjdGlvbjogcnRsOworICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgd2lk
dGg6IDMwMHB4OworICAgIGhlaWdodDogMzAwcHg7Cit9Cisjb3ZlcmZsb3cgeworICAgIHdpZHRo
OiAxMDAwcHg7CisgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KKzxk
aXYgaWQ9ImNvbnRhaW5lciI+Cis8ZGl2IGlkPSJvdmVyZmxvdyI+Cis8L2Rpdj4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3RpY2t5
L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQtZXhwZWN0ZWQuaHRtbApp
bmRleCBiMWU3MjMzNDJkMDgxYzUzOGY5ZWYxOTg5MWQzM2Q3NjM4ZGVkZTZlLi42OWQ2ODU3MGVk
YTc4NGQzYTRhNDBmNzNmMmNlM2I0YjZiNTc4NjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQtZXhwZWN0ZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hp
bGQtZXhwZWN0ZWQuaHRtbApAQCAtOCw3ICs4LDcgQEAKICAgICAgICAgaGVpZ2h0OiAyMDAwcHg7
CiAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIGhpZGUgc2Nyb2xsYmFycyAqLwogICAgICAg
ICBmb250LWZhbWlseTogJ0FoZW0nOwotICAgICAgICBmb250LXNpemU6IDI0cHg7CisgICAgICAg
IGZvbnQtc2l6ZTogMjVweDsKICAgICAgICAgbGluZS1oZWlnaHQ6IDI7CiAgICAgfQogICAgIApA
QCAtNTksNyArNTksNyBAQAogICAgIDxkaXYgY2xhc3M9Imdyb3VwIiBzdHlsZT0idG9wOiAtMTAw
cHgiPgogICAgICAgICA8ZGl2IGNsYXNzPSJpbmRpY2F0b3IgYm94Ij48L2Rpdj4KICAgICAgICAg
PGRpdiBjbGFzcz0iY29udGFpbmVyIj4KLSAgICAgICAgICAgIFhYWCA8c3BhbiBjbGFzcz0ic3Rp
Y2t5IiBzdHlsZT0idG9wOiAxNzJweDsiPlhYWFg8L2JyPgorICAgICAgICAgICAgWFhYIDxzcGFu
IGNsYXNzPSJzdGlja3kiIHN0eWxlPSJ0b3A6IDE2M3B4OyI+WFhYWDwvYnI+CiAgICAgICAgICAg
ICA8ZGl2IGNsYXNzPSJjaGlsZCBib3giPjwvZGl2PgogICAgICAgICAgICAgWFhYWDwvYnI+WFhY
WDwvYnI+WFhYWDwvYnI+WFhYWDwvc3Bhbj4gWFhYCiAgICAgICAgIDwvZGl2PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3Mt
Y2hpbGQuaHRtbAppbmRleCA2N2RhZGY2NTRjODc3ZTQ5MTI2N2VhYjY0Zjc3MWQ3NzZkMGZhYWE4
Li41OWE5MDk5OGRjMTIwZjVmNjA3MjViNjE5YWYyNmRkMzU1ZTIwMzY0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3Mt
Y2hpbGQuaHRtbApAQCAtOCw3ICs4LDcgQEAKICAgICAgICAgaGVpZ2h0OiAyMDAwcHg7CiAgICAg
ICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIGhpZGUgc2Nyb2xsYmFycyAqLwogICAgICAgICBmb250
LWZhbWlseTogJ0FoZW0nOwotICAgICAgICBmb250LXNpemU6IDI0cHg7CisgICAgICAgIGZvbnQt
c2l6ZTogMjVweDsKICAgICAgICAgbGluZS1oZWlnaHQ6IDI7CiAgICAgfQogICAgIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzc5ZDc5
OWFjNWZhNDM2NTUzNDY4OThkZTFmYzJmODg3ZTZjMjgyYi4uOTkyMTA2NWQxNjlhNjMzZmQzMTg1
Mjg2YjExZGY5NzYxM2I0NzA5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zCkBAIC00MzIxLDcgKzQzMjEsNyBAQCB3ZWJraXQub3JnL2IvMTEw
ODUxIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9nZW9tZXRy
eS9maXhlZAogd2Via2l0Lm9yZy9iLzExMDg1MSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3Nv
ZnR3YXJlY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2NhbGVkLWRlc2NlbmRhbnQtb3Zl
cmxhcHBpbmcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzExMDg1MSBw
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvcmVwYWludC9wYWdl
LXNjYWxlLXJlcGFpbnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCi0jIEltcGwtc2lkZSBz
Y3JvbGxpbmcgaXMgYnJva2VuIGZvciBSVEwuIENhdXNpbmcgaW1wbC1zaWRlIHNjcm9sbGJhciBh
cnRpZmFjdHMuCisjIFBpeGVsIHRlc3RzIGZvciBSVEwgaWZyYW1lIHNjcm9sbGJhciBpcyBlcnJv
bmVvdXMuIENhbm5vdCBvYnNlcnZlIG9uIGFjdHVhbCBicm93c2VyLgogY3JidWcuY29tLzE3NTky
NiBbIExpbnV4IF0gY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtYWJzb2x1dGUtb3ZlcmZsb3ct
c2Nyb2xsZWQuaHRtbCBbIEZhaWx1cmUgSW1hZ2VPbmx5RmFpbHVyZSBdCiBjcmJ1Zy5jb20vMTc1
OTI2IFsgTGludXggV2luIF0gY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtYWJzb2x1dGUtb3Zl
cmZsb3cuaHRtbCBbIFBhc3MgRmFpbHVyZSBJbWFnZU9ubHlGYWlsdXJlIF0KIGNyYnVnLmNvbS8x
NzU5MjYgWyBMaW51eCBXaW4gXSBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC1vdmVy
Zmxvdy1zY3JvbGxlZC5odG1sIFsgRmFpbHVyZSBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93
LXNjcm9sbGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9z
aXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU4YzQ4YTY1MTRlNjc1OTI2NmUwNjZjODljZTU1YjY5NDZjYWM0YjIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxv
dy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
ODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5
ZXIgYXQgKDgsOCkgc2l6ZSAzMDB4MzAwIGNsaXAgYXQgKDgsOCkgc2l6ZSAyODV4Mjg1IHNjcm9s
bFdpZHRoIDEwMDAgc2Nyb2xsSGVpZ2h0IDEwMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
MCkgc2l6ZSAzMDB4MzAwCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKC03MTUsMCkgc2l6ZSAx
MDAweDEwMDAgW2JnY29sb3I9IzAwODAwMF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193912</attachid>
            <date>2013-03-19 13:37:39 -0700</date>
            <delta_ts>2013-03-19 16:04:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112088-20130319133329.patch</filename>
            <type>text/plain</type>
            <size>18575</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkNzJhZmYzYjFjNjM3
NGQxMDg2MWRiOGUwYmI1NDRmYjE4NTM2Yi4uMmM3ODliZjVlYzg2YWZmOWU5MDg4ZTJmNzc1YTVk
YzMxNGEyZjg4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAzLTE4ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb3JyZWN0IGNvb3Jk
aW5hdGVkIHNjcm9sbGluZyBmb3IgUlRMIGlmcmFtZSBhbmQgb3ZlcmZsb3c6c2Nyb2xsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIwODgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNv
cnJlY3RzIHNjcm9sbE9yaWdpbiBjb21wZW5zYXRpb24gZm9yIGNvbXBvc2l0ZWQgb3ZlcmZsb3c6
c2Nyb2xsLAorICAgICAgICBhbmQgYWRkIGFwcHJvcHJpYXRlIG9mZnNldCBpbiBTY3JvbGxpbmdD
b29yZGluYXRvckNocm9taXVtIHRvCisgICAgICAgIGFkanVzdCBpbXBsLXNpZGUgc2Nyb2xsIHBv
c2l0aW9uIHRvIHRoZSByYW5nZSBbMCwgbWF4T2Zmc2V0IC0gbWluT2Zmc2V0XS4KKworICAgICAg
ICBUZXN0OiBjb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy5odG1sCisgICAg
ICAgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW1UZXN0LnJ0bElmcmFtZQorCisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVt
OjpzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9s
bFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjptaW5pbXVtU2Nyb2xs
UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om1heGltdW1TY3JvbGxQ
b3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJH
ZW9tZXRyeSk6CisKIDIwMTMtMDMtMTggIFRvbSBTZXBleiAgPHRzZXBlekBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW3Y4XSBTdXBwcmVzcyBiaW5kaW5nIGludGVncml0eSBjaGVjayBvZiBIVE1M
Q29udGVudEVsZW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI3OWI4YjdiODI2
MjgwZjI5OWI5NTcyYTRlZTI0NmFiZmY4NTA1ZjcuLjVmZGIxM2YwNTIzNWI4ZTVjZDA0OGRjYzg5
ZDQ5NDYxOTBiZWYxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTMtMDMtMTggIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIENvcnJlY3QgY29vcmRpbmF0ZWQgc2Nyb2xsaW5nIGZvciBSVEwgaWZyYW1lIGFuZCBv
dmVyZmxvdzpzY3JvbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMjA4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIHRlc3QgdG8gZW5zdXJlIFJUTCBpZnJhbWUgaGFzIGFwcHJvcHJpYXRlIGlt
cGwtc2lkZSBzY3JvbGwgcG9zaXRpb24uCisKKyAgICAgICAgKiB0ZXN0cy9TY3JvbGxpbmdDb29y
ZGluYXRvckNocm9taXVtVGVzdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRFU1RfRik6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAqIHRlc3RzL2RhdGEvcnRsLWlmcmFtZS1pbm5lci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9kYXRhL3J0bC1pZnJhbWUuaHRtbDogQWRkZWQuCisK
IDIwMTMtMDMtMTggIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIE5DQ0ggY29kZSB0aGF0IHJlbGllcyBvbiBib3Vu
ZHNDb250YWluc1BhZ2VTY2FsZSgpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNo
cm9taXVtLmNwcAppbmRleCAyNThiMTY2OTMxZGFmYTFjN2JjYTliODZkY2UzNDFlZGMxZTYxMzUw
Li4xOTFjOGUwYjdiNTgyMTBjZjkyZjUxYTk0YTAwNTEwYzgwMWRlNzc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRv
ckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1
bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcApAQCAtMjQ4LDcgKzI0OCw3IEBAIHZv
aWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bTo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXll
ckRpZENoYW5nZShTY3JvbGxhYmxlCiAgICAgV2ViTGF5ZXIqIHdlYkxheWVyID0gc2Nyb2xsaW5n
V2ViTGF5ZXJGb3JTY3JvbGxhYmxlQXJlYShzY3JvbGxhYmxlQXJlYSk7CiAgICAgaWYgKHdlYkxh
eWVyKSB7CiAgICAgICAgIHdlYkxheWVyLT5zZXRTY3JvbGxhYmxlKHRydWUpOwotICAgICAgICB3
ZWJMYXllci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFBvc2l0aW9u
KCkpOworICAgICAgICB3ZWJMYXllci0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoc2Nyb2xs
YWJsZUFyZWEtPnNjcm9sbFBvc2l0aW9uKCkgLSBzY3JvbGxhYmxlQXJlYS0+bWluaW11bVNjcm9s
bFBvc2l0aW9uKCkpKTsKICAgICAgICAgd2ViTGF5ZXItPnNldE1heFNjcm9sbFBvc2l0aW9uKElu
dFNpemUoc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFNpemUoSG9yaXpvbnRhbFNjcm9sbGJhciksIHNj
cm9sbGFibGVBcmVhLT5zY3JvbGxTaXplKFZlcnRpY2FsU2Nyb2xsYmFyKSkpOwogICAgIH0KICAg
ICBpZiAoV2ViU2Nyb2xsYmFyTGF5ZXIqIHNjcm9sbGJhckxheWVyID0gZ2V0V2ViU2Nyb2xsYmFy
TGF5ZXIoc2Nyb2xsYWJsZUFyZWEsIEhvcml6b250YWxTY3JvbGxiYXIpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggNmMwZmUyMmFkNzFlNDE2NWNmZWI0MjI1
ZTVjODI4NTBiZThlMTE5MS4uM2JhMjg5M2Y0MWI4MTZhYWUyNWU4ZmI4ZTc4ZDJmNWFmMzYwMDI1
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNTI2LDE4
ICsyNTI2LDE4IEBAIGludCBSZW5kZXJMYXllcjo6c2Nyb2xsUG9zaXRpb24oU2Nyb2xsYmFyKiBz
Y3JvbGxiYXIpIGNvbnN0CiAKIEludFBvaW50IFJlbmRlckxheWVyOjpzY3JvbGxQb3NpdGlvbigp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIHNjcm9sbE9yaWdpbigpICsgbV9zY3JvbGxPZmZzZXQ7Cisg
ICAgcmV0dXJuIEludFBvaW50KG1fc2Nyb2xsT2Zmc2V0KTsKIH0KIAogSW50UG9pbnQgUmVuZGVy
TGF5ZXI6Om1pbmltdW1TY3JvbGxQb3NpdGlvbigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHNjcm9s
bE9yaWdpbigpOworICAgIHJldHVybiAtc2Nyb2xsT3JpZ2luKCk7CiB9CiAKIEludFBvaW50IFJl
bmRlckxheWVyOjptYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewogICAgIC8vIEZJWE1F
OiBtX3Njcm9sbFNpemUgbWF5IG5vdCBiZSB1cC10by1kYXRlIGlmIG1fc2Nyb2xsRGltZW5zaW9u
c0RpcnR5IGlzIHRydWUuCi0gICAgcmV0dXJuIHNjcm9sbE9yaWdpbigpICsgcm91bmRlZEludFNp
emUobV9zY3JvbGxTaXplKSAtIHZpc2libGVDb250ZW50UmVjdChJbmNsdWRlU2Nyb2xsYmFycyku
c2l6ZSgpOworICAgIHJldHVybiAtc2Nyb2xsT3JpZ2luKCkgKyByb3VuZGVkSW50U2l6ZShtX3Nj
cm9sbFNpemUpIC0gdmlzaWJsZUNvbnRlbnRSZWN0KEluY2x1ZGVTY3JvbGxiYXJzKS5zaXplKCk7
CiB9CiAKIEludFJlY3QgUmVuZGVyTGF5ZXI6OnZpc2libGVDb250ZW50UmVjdChWaXNpYmxlQ29u
dGVudFJlY3RJbmNsdWRlc1Njcm9sbGJhcnMgc2Nyb2xsYmFySW5jbHVzaW9uKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBj
ZWU1YTBmYWNkMTA5YTZkYjlkZTI2ZTE5MDA1Y2MzOGI1ZjI4N2EwLi4wZDUyY2MzMjM5OGI1MDZi
ZjcxZDZlMGU4Y2FiNzk1MTQ2ZTE5YTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtODA0LDcgKzgwNCw3IEBAIHZvaWQgUmVuZGVy
TGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgICAgICBBU1NF
UlQobV9zY3JvbGxpbmdDb250ZW50c0xheWVyKTsKICAgICAgICAgUmVuZGVyQm94KiByZW5kZXJC
b3ggPSB0b1JlbmRlckJveChyZW5kZXJlcigpKTsKICAgICAgICAgSW50UmVjdCBwYWRkaW5nQm94
KHJlbmRlckJveC0+Ym9yZGVyTGVmdCgpLCByZW5kZXJCb3gtPmJvcmRlclRvcCgpLCByZW5kZXJC
b3gtPndpZHRoKCkgLSByZW5kZXJCb3gtPmJvcmRlckxlZnQoKSAtIHJlbmRlckJveC0+Ym9yZGVy
UmlnaHQoKSwgcmVuZGVyQm94LT5oZWlnaHQoKSAtIHJlbmRlckJveC0+Ym9yZGVyVG9wKCkgLSBy
ZW5kZXJCb3gtPmJvcmRlckJvdHRvbSgpKTsKLSAgICAgICAgSW50U2l6ZSBzY3JvbGxPZmZzZXQg
PSBtX293bmluZ0xheWVyLT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsKKyAgICAgICAgSW50U2l6
ZSBzY3JvbGxPZmZzZXQgPSBtX293bmluZ0xheWVyLT5zY3JvbGxPZmZzZXQoKTsKIAogICAgICAg
ICBtX3Njcm9sbGluZ0xheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KHBhZGRpbmdCb3gubG9j
YXRpb24oKSAtIGxvY2FsQ29tcG9zaXRpbmdCb3VuZHMubG9jYXRpb24oKSkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hy
b21pdW1UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDaHJvbWl1bVRlc3QuY3BwCmluZGV4IDRhZTg1NzRjMDE5ODFkNzZjZGE1YTUyMmVk
N2VlOTkwZDZkNTFmOWMuLmI1OTlmNzBiZmQ4MmE5ZDc5NzdjODk5ZDVlOTYzMTg2ODg0MTY5OWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JDaHJvbWl1bVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bVRlc3QuY3BwCkBAIC0yODEsNCArMjgxLDQyIEBA
IFRFU1RfRihTY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdCwgaWZyYW1lU2Nyb2xsaW5n
KQogI2VuZGlmCiB9CiAKK1RFU1RfRihTY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdCwg
cnRsSWZyYW1lKQoreworICAgIHJlZ2lzdGVyTW9ja2VkSHR0cFVSTExvYWQoInJ0bC1pZnJhbWUu
aHRtbCIpOworICAgIHJlZ2lzdGVyTW9ja2VkSHR0cFVSTExvYWQoInJ0bC1pZnJhbWUtaW5uZXIu
aHRtbCIpOworICAgIG5hdmlnYXRlVG8obV9iYXNlVVJMICsgInJ0bC1pZnJhbWUuaHRtbCIpOwor
CisgICAgLy8gVmVyaWZ5IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBhY2NlbGVyYXRlZCBzY3JvbGxp
bmcgZWxlbWVudCBzdGFydGluZyBmcm9tIHRoZSBSZW5kZXJPYmplY3QKKyAgICAvLyBhbGwgdGhl
IHdheSB0byB0aGUgV2ViTGF5ZXIuCisgICAgRWxlbWVudCogc2Nyb2xsYWJsZUZyYW1lID0gbV93
ZWJWaWV3SW1wbC0+bWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5kb2N1bWVudCgpLT5nZXRFbGVt
ZW50QnlJZCgic2Nyb2xsYWJsZSIpOworICAgIEFTU0VSVF9UUlVFKHNjcm9sbGFibGVGcmFtZSk7
CisKKyAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gc2Nyb2xsYWJsZUZyYW1lLT5yZW5kZXJl
cigpOworICAgIEFTU0VSVF9UUlVFKHJlbmRlcmVyKTsKKyAgICBBU1NFUlRfVFJVRShyZW5kZXJl
ci0+aXNXaWRnZXQoKSk7CisKKyAgICBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldCA9IHRvUmVu
ZGVyV2lkZ2V0KHJlbmRlcmVyKTsKKyAgICBBU1NFUlRfVFJVRShyZW5kZXJXaWRnZXQpOworICAg
IEFTU0VSVF9UUlVFKHJlbmRlcldpZGdldC0+d2lkZ2V0KCkpOworICAgIEFTU0VSVF9UUlVFKHJl
bmRlcldpZGdldC0+d2lkZ2V0KCktPmlzRnJhbWVWaWV3KCkpOworCisgICAgRnJhbWVWaWV3KiBp
bm5lckZyYW1lVmlldyA9IHN0YXRpY19jYXN0PEZyYW1lVmlldyo+KHJlbmRlcldpZGdldC0+d2lk
Z2V0KCkpOworICAgIFJlbmRlclZpZXcqIGlubmVyUmVuZGVyVmlldyA9IGlubmVyRnJhbWVWaWV3
LT5yZW5kZXJWaWV3KCk7CisgICAgQVNTRVJUX1RSVUUoaW5uZXJSZW5kZXJWaWV3KTsKKworICAg
IFJlbmRlckxheWVyQ29tcG9zaXRvciogaW5uZXJDb21wb3NpdG9yID0gaW5uZXJSZW5kZXJWaWV3
LT5jb21wb3NpdG9yKCk7CisgICAgQVNTRVJUX1RSVUUoaW5uZXJDb21wb3NpdG9yLT5pbkNvbXBv
c2l0aW5nTW9kZSgpKTsKKyAgICBBU1NFUlRfVFJVRShpbm5lckNvbXBvc2l0b3ItPnNjcm9sbExh
eWVyKCkpOworCisgICAgR3JhcGhpY3NMYXllckNocm9taXVtKiBzY3JvbGxMYXllciA9IHN0YXRp
Y19jYXN0PEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSo+KGlubmVyQ29tcG9zaXRvci0+c2Nyb2xsTGF5
ZXIoKSk7CisgICAgQVNTRVJUX0VRKGlubmVyRnJhbWVWaWV3LCBzY3JvbGxMYXllci0+c2Nyb2xs
YWJsZUFyZWEoKSk7CisKKyAgICBXZWJMYXllciogd2ViU2Nyb2xsTGF5ZXIgPSBzdGF0aWNfY2Fz
dDxXZWJMYXllcio+KHNjcm9sbExheWVyLT5wbGF0Zm9ybUxheWVyKCkpOworICAgIEFTU0VSVF9U
UlVFKHdlYlNjcm9sbExheWVyLT5zY3JvbGxhYmxlKCkpOworCisgICAgQVNTRVJUX0VRKDk3Mywg
d2ViU2Nyb2xsTGF5ZXItPnNjcm9sbFBvc2l0aW9uKCkueCk7CisgICAgQVNTRVJUX0VRKDk3Mywg
d2ViU2Nyb2xsTGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCkud2lkdGgpOworfQorCiB9IC8vIG5h
bWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9kYXRhL3J0
bC1pZnJhbWUtaW5uZXIuaHRtbCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9y
dGwtaWZyYW1lLWlubmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYwODJjY2QxZDRiNDYyZWFhNzJkNDI2
OWNmYTc5MGI3ZGE3YjgzNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvZGF0YS9ydGwtaWZyYW1lLWlubmVyLmh0bWwKQEAgLTAsMCArMSw1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHkgc3R5bGU9ImRpcmVjdGlvbjpydGw7d2lkdGg6MTAw
MHB4O2hlaWdodDoxMDAwcHg7Ij4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9ydGwtaWZyYW1lLmh0bWwgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwMTEy
NzdlYzAzOWQ3YTU2MWU0ZTIwOWJhZTYxMmE0OTVmMjI1MDMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS5odG1sCkBAIC0wLDAg
KzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyNzY3Jv
bGxhYmxlIHsKKyAgICB3aWR0aDogNTBweDsKKyAgICBoZWlnaHQ6IDUwcHg7Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8aWZyYW1lIGlkPSJzY3JvbGxhYmxlIiBzcmM9InJ0bC1pZnJh
bWUtaW5uZXIuaHRtbCIvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY5MjE5ZTg4MTM0MWY1
NDdhZDBkMjU1N2Y1NjY0NTBjMTU2ZDliYzcuLjIyZDZhM2FjZmE1OGFlNDA3MWE2Yjg0NTZmMWU2
NTE4NGM0OGM1NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMy0wMy0xOCAgVGllbi1SZW4g
Q2hlbiAgPHRyY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29ycmVjdCBjb29yZGluYXRl
ZCBzY3JvbGxpbmcgZm9yIFJUTCBpZnJhbWUgYW5kIG92ZXJmbG93OnNjcm9sbAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMDg4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3JyZWN0
cyBzY3JvbGxPcmlnaW4gY29tcGVuc2F0aW9uIGZvciBjb21wb3NpdGVkIG92ZXJmbG93OnNjcm9s
bC4KKworICAgICAgICBjb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy5odG1s
IGlzIGFkZGVkIHRvIHZlcmlmeSBSVEwgZGl2cworICAgICAgICBjYW4gYmUgY29ycmVjdGx5IHNj
cm9sbGVkIHRvIHRoZSBsZWZ0IHVuZGVyIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBtb2RlLgorCisg
ICAgICAgIGZhc3QvY3NzL3N0aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC5odG1sIGlz
IG1vZGlmaWVkIHRvIGF2b2lkIHN1Yi1waXhlbAorICAgICAgICBpc3N1ZSB3aXRoIEFoZW0gZm9u
dC4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4
cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxv
dy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9y
dGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQtZXhwZWN0ZWQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQuaHRtbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorCiAyMDEzLTAzLTE4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBmYWlsaW5nIFdpbmRvd3Mtc3BlY2lmaWMgcmVz
dWx0OyB0aGlzIHRlc3QgcGFzc2VzIG5vdy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnBuZyBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnBuZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kZjdjZTcxYTgwNzg1ZDgxNmNjZDgyODE5M2NmNzc1ZjcxOGY1ZDZhCkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCAyOTA0CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllW
MmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UbjN9bQp6cUAtamNeQXd8MExzTWdtUjNyMDVx
cUchYlEmVz1eXkNXWEslZnZVeiNke2JTeEwkZD5JRUdacmQzKHBPPiMmMFcKemdYOFpEYD91SXp6
ZkF2aykyZFd5ISVudWp1QXg+TmR+V3pgXy1eQH1tIWFYQGBKM0RmM15CYjJtPjQ9WmJyPjNFCnpV
QCZlSm5jVnBQX2l5O04raFQ4K19SUUctWncyI0BGdWUhezJFI15IMV85d3cxfXlfMnh7b2NuaGtz
dD5wR3JaNwp6aFNkY0phbUVzNnlwNClyUDBwamlHOCF6bmlhT0hNaE9UPmFZMyUqXylhc21yZGlU
P00zY3FuTjlIQFdOTHtZKUcKekAlTm4xWik2ITVecDNKfUdicEhTVXw+ak04ZkE8SSFlfmt1JT58
Pm0wRzxvSnY3RX5nJChpJE1wRTxDcCU7NCRqCks9ZCNXenAkUHotcyVuQDMKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwt
b3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NjFl
NTI1NWJhZDBlN2ExYTE2ZDA0OWIyN2Q4MGJiYzFhMDhjYzg3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAz
MDB4MzAwIGNsaXAgYXQgKDIzLDgpIHNpemUgMjg1eDI4NSBzY3JvbGxXaWR0aCA5ODUgc2Nyb2xs
SGVpZ2h0IDEwMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAzMDB4MzAwCisg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKC03MDAsMCkgc2l6ZSAxMDAweDEwMDAgW2JnY29sb3I9
IzAwODAwMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0bC9ydGwtb3Zl
cmZsb3ctc2Nyb2xsaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLW92
ZXJmbG93LXNjcm9sbGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmZTY1MTk2NTE4ZGI2YTFjOWQxMjRl
ZTFmZjk4ZmVkYjMyZjdmODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCh0cnVlKTsKKworICAg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250YWluZXIiKS5zY3JvbGxMZWZ0ID0gMDsKKyAgICB9Cis8L3NjcmlwdD4KKzxzdHlsZT4KKyNj
b250YWluZXIgeworICAgIGRpcmVjdGlvbjogcnRsOworICAgIG92ZXJmbG93OiBzY3JvbGw7Cisg
ICAgd2lkdGg6IDMwMHB4OworICAgIGhlaWdodDogMzAwcHg7Cit9Cisjb3ZlcmZsb3cgeworICAg
IHdpZHRoOiAxMDAwcHg7CisgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7
Ij4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cis8ZGl2IGlkPSJvdmVyZmxvdyI+Cis8L2Rpdj4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQtZXhwZWN0ZWQu
aHRtbAppbmRleCBiMWU3MjMzNDJkMDgxYzUzOGY5ZWYxOTg5MWQzM2Q3NjM4ZGVkZTZlLi42OWQ2
ODU3MGVkYTc4NGQzYTRhNDBmNzNmMmNlM2I0YjZiNTc4NjNkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQtZXhwZWN0ZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNw
b3MtY2hpbGQtZXhwZWN0ZWQuaHRtbApAQCAtOCw3ICs4LDcgQEAKICAgICAgICAgaGVpZ2h0OiAy
MDAwcHg7CiAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIGhpZGUgc2Nyb2xsYmFycyAqLwog
ICAgICAgICBmb250LWZhbWlseTogJ0FoZW0nOwotICAgICAgICBmb250LXNpemU6IDI0cHg7Cisg
ICAgICAgIGZvbnQtc2l6ZTogMjVweDsKICAgICAgICAgbGluZS1oZWlnaHQ6IDI7CiAgICAgfQog
ICAgIApAQCAtNTksNyArNTksNyBAQAogICAgIDxkaXYgY2xhc3M9Imdyb3VwIiBzdHlsZT0idG9w
OiAtMTAwcHgiPgogICAgICAgICA8ZGl2IGNsYXNzPSJpbmRpY2F0b3IgYm94Ij48L2Rpdj4KICAg
ICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KLSAgICAgICAgICAgIFhYWCA8c3BhbiBjbGFz
cz0ic3RpY2t5IiBzdHlsZT0idG9wOiAxNzJweDsiPlhYWFg8L2JyPgorICAgICAgICAgICAgWFhY
IDxzcGFuIGNsYXNzPSJzdGlja3kiIHN0eWxlPSJ0b3A6IDE2M3B4OyI+WFhYWDwvYnI+CiAgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJjaGlsZCBib3giPjwvZGl2PgogICAgICAgICAgICAgWFhYWDwv
YnI+WFhYWDwvYnI+WFhYWDwvYnI+WFhYWDwvc3Bhbj4gWFhYCiAgICAgICAgIDwvZGl2PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9z
LWNoaWxkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1h
YnNwb3MtY2hpbGQuaHRtbAppbmRleCA2N2RhZGY2NTRjODc3ZTQ5MTI2N2VhYjY0Zjc3MWQ3NzZk
MGZhYWE4Li41OWE5MDk5OGRjMTIwZjVmNjA3MjViNjE5YWYyNmRkMzU1ZTIwMzY0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hp
bGQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1h
YnNwb3MtY2hpbGQuaHRtbApAQCAtOCw3ICs4LDcgQEAKICAgICAgICAgaGVpZ2h0OiAyMDAwcHg7
CiAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIGhpZGUgc2Nyb2xsYmFycyAqLwogICAgICAg
ICBmb250LWZhbWlseTogJ0FoZW0nOwotICAgICAgICBmb250LXNpemU6IDI0cHg7CisgICAgICAg
IGZvbnQtc2l6ZTogMjVweDsKICAgICAgICAgbGluZS1oZWlnaHQ6IDI7CiAgICAgfQogICAgIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
Nzc5ZDc5OWFjNWZhNDM2NTUzNDY4OThkZTFmYzJmODg3ZTZjMjgyYi4uODBkODI4MDE0ODM3MzQz
MWQwNzZlNjljYjc1MDM4YTA4ZDM2N2NhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC00MzIxLDE1ICs0MzIxLDE1IEBAIHdlYmtpdC5v
cmcvYi8xMTA4NTEgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5n
L2dlb21ldHJ5L2ZpeGVkCiB3ZWJraXQub3JnL2IvMTEwODUxIHBsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY2FsZWQtZGVzY2Vu
ZGFudC1vdmVybGFwcGluZy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MTEwODUxIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9yZXBh
aW50L3BhZ2Utc2NhbGUtcmVwYWludC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKLSMgSW1w
bC1zaWRlIHNjcm9sbGluZyBpcyBicm9rZW4gZm9yIFJUTC4gQ2F1c2luZyBpbXBsLXNpZGUgc2Ny
b2xsYmFyIGFydGlmYWN0cy4KLWNyYnVnLmNvbS8xNzU5MjYgWyBMaW51eCBdIGNvbXBvc2l0aW5n
L3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwgWyBGYWlsdXJl
IEltYWdlT25seUZhaWx1cmUgXQotY3JidWcuY29tLzE3NTkyNiBbIExpbnV4IFdpbiBdIGNvbXBv
c2l0aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93Lmh0bWwgWyBQYXNzIEZhaWx1
cmUgSW1hZ2VPbmx5RmFpbHVyZSBdCi1jcmJ1Zy5jb20vMTc1OTI2IFsgTGludXggV2luIF0gY29t
cG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtZml4ZWQtb3ZlcmZsb3ctc2Nyb2xsZWQuaHRtbCBbIEZh
aWx1cmUgSW1hZ2VPbmx5RmFpbHVyZSBdCi1jcmJ1Zy5jb20vMTc1OTI2IFsgTGludXggV2luIF0g
Y29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtZml4ZWQtb3ZlcmZsb3cuaHRtbCBbIEZhaWx1cmUg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1jcmJ1Zy5jb20vMTc1OTI2IFsgTGludXggXSBwbGF0Zm9ybS9j
aHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtYWJzb2x1
dGUtb3ZlcmZsb3ctc2Nyb2xsZWQuaHRtbCBbIEZhaWx1cmUgSW1hZ2VPbmx5RmFpbHVyZSBdCi1j
cmJ1Zy5jb20vMTc1OTI2IFsgTGludXggXSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3
YXJlY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtYWJzb2x1dGUtb3ZlcmZsb3cuaHRtbCBbIEZh
aWx1cmUgSW1hZ2VPbmx5RmFpbHVyZSBdCi1jcmJ1Zy5jb20vMTc1OTI2IFsgTGludXggV2luIF0g
cGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL3J0bC9ydGwtaWZy
YW1lLWZpeGVkLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1
cmUgXQotY3JidWcuY29tLzE3NTkyNiBbIExpbnV4IF0gcGxhdGZvcm0vY2hyb21pdW0vdmlydHVh
bC9zb2Z0d2FyZWNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93Lmh0bWwg
WyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQorIyBQaXhlbCB0ZXN0cyBmb3IgUlRMIGlmcmFt
ZSBzY3JvbGxiYXIgaXMgZXJyb25lb3VzLiBDYW5ub3Qgb2JzZXJ2ZSBvbiBhY3R1YWwgYnJvd3Nl
ci4KK2NyYnVnLmNvbS8xOTIxNzIgWyBMaW51eCBdIGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1l
LWFic29sdXRlLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1
cmUgXQorY3JidWcuY29tLzE5MjE3MiBbIExpbnV4IFdpbiBdIGNvbXBvc2l0aW5nL3J0bC9ydGwt
aWZyYW1lLWFic29sdXRlLW92ZXJmbG93Lmh0bWwgWyBQYXNzIEZhaWx1cmUgSW1hZ2VPbmx5RmFp
bHVyZSBdCitjcmJ1Zy5jb20vMTkyMTcyIFsgTGludXggV2luIF0gY29tcG9zaXRpbmcvcnRsL3J0
bC1pZnJhbWUtZml4ZWQtb3ZlcmZsb3ctc2Nyb2xsZWQuaHRtbCBbIEZhaWx1cmUgSW1hZ2VPbmx5
RmFpbHVyZSBdCitjcmJ1Zy5jb20vMTkyMTcyIFsgTGludXggV2luIF0gY29tcG9zaXRpbmcvcnRs
L3J0bC1pZnJhbWUtZml4ZWQtb3ZlcmZsb3cuaHRtbCBbIEZhaWx1cmUgSW1hZ2VPbmx5RmFpbHVy
ZSBdCitjcmJ1Zy5jb20vMTkyMTcyIFsgTGludXggXSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFs
L3NvZnR3YXJlY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJhbWUtYWJzb2x1dGUtb3ZlcmZsb3ctc2Ny
b2xsZWQuaHRtbCBbIEZhaWx1cmUgSW1hZ2VPbmx5RmFpbHVyZSBdCitjcmJ1Zy5jb20vMTkyMTcy
IFsgTGludXggXSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcv
cnRsL3J0bC1pZnJhbWUtYWJzb2x1dGUtb3ZlcmZsb3cuaHRtbCBbIEZhaWx1cmUgSW1hZ2VPbmx5
RmFpbHVyZSBdCitjcmJ1Zy5jb20vMTkyMTcyIFsgTGludXggV2luIF0gcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWZpeGVkLW92ZXJm
bG93LXNjcm9sbGVkLmh0bWwgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQorY3JidWcuY29t
LzE5MjE3MiBbIExpbnV4IF0gcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBv
c2l0aW5nL3J0bC9ydGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93Lmh0bWwgWyBGYWlsdXJlIEltYWdl
T25seUZhaWx1cmUgXQogCiAjIE5lZWQgcmViYXNlbGluZQogd2Via2l0Lm9yZy9iLzExMDY1NCBb
IE1hYyBXaW4gXSBjc3MyLjEvMjAxMTAzMjMvcmVwbGFjZWQtZWxlbWVudHMtMDAxLmh0bSBbIEZh
aWx1cmUgXQpAQCAtNDM0NSw3ICs0MzQ1LDcgQEAgd2Via2l0Lm9yZy9iLzExMDkxNSBbIExpbnV4
IF0gcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2Nocm9taXVtLWxpbnV4LWYKIHdl
YmtpdC5vcmcvYi8xMTA1NDAgWyBMaW51eCBdIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RoYWkt
bGluZS1icmVha3MuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgUGFzcyBdCiAKICMgVGhlc2UgdGVz
dHMgZmxha2lseSByZW9yZGVyIHRoZSBzY3JvbGxiYXJzIGluIGRlYnVnLCBjYXVzaW5nIHRleHQg
ZmFpbHVyZXMKLSMgU29tZSBwbGF0Zm9ybXMgY292ZXJlZCBhYm92ZSB1bmRlciBjcmJ1Zy5jb20v
MTc1OTI2CisjIFNvbWUgcGxhdGZvcm1zIGNvdmVyZWQgYWJvdmUgdW5kZXIgY3JidWcuY29tLzE5
MjE3Mgogd2Via2l0Lm9yZy9iLzExMTE5OSBbIERlYnVnIE1hYyBdIGNvbXBvc2l0aW5nL3J0bC9y
dGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93Lmh0bWwgWyBQYXNzIEZhaWx1cmUgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTExMTk5IFsgRGVidWcgV2luIE1hYyBdIGNvbXBvc2l0
aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwgWyBQYXNz
IEZhaWx1cmUgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTExMTk5IFsgRGVidWcg
V2luIE1hYyBdIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9y
dGwvcnRsLWlmcmFtZS1hYnNvbHV0ZS1vdmVyZmxvdy5odG1sIFsgUGFzcyBGYWlsdXJlIEltYWdl
T25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBv
c2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThjNDhhNjUxNGU2NzU5MjY2ZTA2NmM4OWNlNTViNjk0
NmNhYzRiMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21w
b3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoOCw4KSBzaXplIDMwMHgzMDAgY2xpcCBhdCAo
OCw4KSBzaXplIDI4NXgyODUgc2Nyb2xsV2lkdGggMTAwMCBzY3JvbGxIZWlnaHQgMTAwMAorICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDMwMHgzMDAKKyAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoLTcxNSwwKSBzaXplIDEwMDB4MTAwMCBbYmdjb2xvcj0jMDA4MDAwXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193945</attachid>
            <date>2013-03-19 16:04:12 -0700</date>
            <delta_ts>2013-03-20 15:38:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112088-20130319160002.patch</filename>
            <type>text/plain</type>
            <size>19875</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkNzJhZmYzYjFjNjM3
NGQxMDg2MWRiOGUwYmI1NDRmYjE4NTM2Yi4uNzQ2ODkxY2E5MGI1OGJhNWFmNTg2MjMwYThjNmZl
MDFhY2RlMTMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEzLTAzLTE4ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb3JyZWN0IGNvb3Jk
aW5hdGVkIHNjcm9sbGluZyBmb3IgUlRMIGlmcmFtZSBhbmQgb3ZlcmZsb3c6c2Nyb2xsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIwODgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFk
ZHMgYXBwcm9wcmlhdGUgb2Zmc2V0IGluIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0gdG8K
KyAgICAgICAgYWRqdXN0IGltcGwtc2lkZSBzY3JvbGwgcG9zaXRpb24gdG8gdGhlIHJhbmdlIFsw
LCBtYXhQb3MgLSBtaW5Qb3NdLgorCisgICAgICAgIFRoaXMgYWxzbyBjb3JyZWN0cyBSZW5kZXJM
YXllciB0byByZXR1cm4gY29ycmVjdCBzY3JvbGwgcG9zaXRpb24gZm9yIFJUTCwKKyAgICAgICAg
ZXhwbGFpbmVkIGJlbG93OgorCisgICAgICAgIFRoZXJlIGFyZSAyIGNvbW1vbmx5IHVzZWQgc2Ny
b2xsIG9mZnNldCBjb29yZGluYXRlIHN5c3RlbXMgaW4gV2ViQ29yZS4KKworICAgICAgICAxLiBU
aGUgc2Nyb2xsIG9mZnNldCBpcyB0aGUgYW1vdW50IHRoYXQgbmVlZHMgdG8gYmUgdHJhbnNsYXRl
ZCB3aGVuIHBhaW50aW5nCisgICAgICAgICAgIGNoaWxkIGVsZW1lbnRzIGluIGEgUmVuZGVyQm94
LiBUaGUgdmFsdWUgY2FuIGJlIG5lZ2F0aXZlIHdoZW4gdGhlcmUgaXMKKyAgICAgICAgICAgbmVn
YXRpdmUgb3ZlcmZsb3cgKGZvciBSVEwpLiBUaGUgcmFuZ2Ugd2lsbCBiZSB3aXRoaW4KKyAgICAg
ICAgICAgW292ZXJmbG93X3RvcF9sZWZ0X2Nvcm5lciwgb3ZlcmZsb3dfYm90dG9tX3JpZ2h0X2Nv
cm5lciAtIGNsaWVudF9zaXplXS4KKyAgICAgICAgICAgVGhpcyBzeXN0ZW0gaXMgbWFpbmx5IHVz
ZWQgZm9yIHBhaW50aW5nIGFuZCBsYXllciBwb3NpdGlvbmluZy4KKyAgICAgICAgICAgCisgICAg
ICAgIDIuIFRoZSBzY3JvbGwgb2Zmc2V0IHdpbGwgYmUgYWx3YXlzIG5vbi1uZWdhdGl2ZSwgYW5k
IHRoZSByYW5nZSB3aWxsIGJlIHdpdGhpbgorICAgICAgICAgICBbMCwgY29udGVudF9zaXplIC0g
Y2xpZW50X3NpemVdLiBUaGlzIHN5c3RlbSBpcyBtYWlubHkgdXNlZCBmb3Igc2Nyb2xsYmFycy4K
KworICAgICAgICBzY3JvbGxPcmlnaW4gaXMgZGVmaW5lZCB0byBjb252ZXJ0IGJldHdlZW4gdGhl
IHR3byBzeXN0ZW1zLiBzY3JvbGxPcmlnaW4gaXMgYWx3YXlzCisgICAgICAgIG5vbi1uZWdhdGl2
ZSwgYW5kIGVxdWl2YWxlbnQgdG8gLW92ZXJmbG93X3RvcF9sZWZ0X2Nvcm5lci4KKworICAgICAg
ICBUaGUgZmlyc3Qgc3lzdGVtIGlzIHVzZWQgZm9yIFNjcm9sbGFibGVBcmVhOjpzY3JvbGxQb3Np
dGlvbi9taW5pbXVtU2Nyb2xsUG9zaXRpb24vCisgICAgICAgIG1heGltdW1TY3JvbGxQb3NpdGlv
biBmdW5jdGlvbiBmYW1pbHkuIFNvIGlzIGl0IGltcGxlbWVudGVkIGluIFNjcm9sbFZpZXcvRnJh
bWV2aWV3LgorICAgICAgICBSZW5kZXJMYXllciBlcnJvcm5lb3VzbHkgaW1wbGVtZW50ZWQgc2Ny
b2xsUG9zaXRpb24gaW4gdGhlIHNlY29uZCBzeXN0ZW0sCisgICAgICAgIGFuZCB3b3JzZSwgcmV0
dXJuZWQgbWluaW11bVNjcm9sbFBvc2l0aW9uL21heGltdW1TY3JvbGxQb3NpdGlvbiB3ZXJlIHRv
dGFsbHkgbm9uLXNlbnNlLgorICAgICAgICBUaGlzIHBhdGNoIGNvcnJlY3RzIFJlbmRlckxheWVy
IHRvIHVzZSB0aGUgZmlyc3QgY29vcmRpbmF0ZSBzeXN0ZW0uCisKKyAgICAgICAgVGVzdDogY29t
cG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmcuaHRtbAorICAgICAgICAgICAgICBT
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdC5ydGxJZnJhbWUKKworICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bTo6c2Nyb2xsYWJs
ZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxQb3NpdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6bWluaW11bVNjcm9sbFBvc2l0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjptYXhpbXVtU2Nyb2xsUG9zaXRpb24pOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkpOgor
CiAyMDEzLTAzLTE4ICBUb20gU2VwZXogIDx0c2VwZXpAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFt2OF0gU3VwcHJlc3MgYmluZGluZyBpbnRlZ3JpdHkgY2hlY2sgb2YgSFRNTENvbnRlbnRFbGVt
ZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAyNzliOGI3YjgyNjI4MGYyOTliOTU3
MmE0ZWUyNDZhYmZmODUwNWY3Li41ZmRiMTNmMDUyMzViOGU1Y2QwNDhkY2M4OWQ0OTQ2MTkwYmVm
MWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAz
LTE4ICBUaWVuLVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBDb3Jy
ZWN0IGNvb3JkaW5hdGVkIHNjcm9sbGluZyBmb3IgUlRMIGlmcmFtZSBhbmQgb3ZlcmZsb3c6c2Ny
b2xsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIw
ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCB0ZXN0IHRvIGVuc3VyZSBSVEwgaWZyYW1lIGhhcyBhcHByb3ByaWF0ZSBpbXBsLXNpZGUgc2Ny
b2xsIHBvc2l0aW9uLgorCisgICAgICAgICogdGVzdHMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJv
bWl1bVRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpURVNUX0YpOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKiB0ZXN0cy9kYXRhL3J0bC1pZnJhbWUtaW5uZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogdGVzdHMvZGF0YS9ydGwtaWZyYW1lLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTE4
ICBXLiBKYW1lcyBNYWNMZWFuICA8d2ptYWNsZWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
Y2hyb21pdW1dIFJlbW92ZSBOQ0NIIGNvZGUgdGhhdCByZWxpZXMgb24gYm91bmRzQ29udGFpbnNQ
YWdlU2NhbGUoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2No
cm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAK
aW5kZXggMjU4YjE2NjkzMWRhZmExYzdiY2E5Yjg2ZGNlMzQxZWRjMWU2MTM1MC4uMTkxYzhlMGI3
YjU4MjEwY2Y5MmY1MWE5NGEwMDUxMGM4MDFkZTc3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5n
Q29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKQEAgLTI0OCw3ICsyNDgsNyBAQCB2b2lkIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yQ2hyb21pdW06OnNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFuZ2Uo
U2Nyb2xsYWJsZQogICAgIFdlYkxheWVyKiB3ZWJMYXllciA9IHNjcm9sbGluZ1dlYkxheWVyRm9y
U2Nyb2xsYWJsZUFyZWEoc2Nyb2xsYWJsZUFyZWEpOwogICAgIGlmICh3ZWJMYXllcikgewogICAg
ICAgICB3ZWJMYXllci0+c2V0U2Nyb2xsYWJsZSh0cnVlKTsKLSAgICAgICAgd2ViTGF5ZXItPnNl
dFNjcm9sbFBvc2l0aW9uKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxQb3NpdGlvbigpKTsKKyAgICAg
ICAgd2ViTGF5ZXItPnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KHNjcm9sbGFibGVBcmVhLT5z
Y3JvbGxQb3NpdGlvbigpIC0gc2Nyb2xsYWJsZUFyZWEtPm1pbmltdW1TY3JvbGxQb3NpdGlvbigp
KSk7CiAgICAgICAgIHdlYkxheWVyLT5zZXRNYXhTY3JvbGxQb3NpdGlvbihJbnRTaXplKHNjcm9s
bGFibGVBcmVhLT5zY3JvbGxTaXplKEhvcml6b250YWxTY3JvbGxiYXIpLCBzY3JvbGxhYmxlQXJl
YS0+c2Nyb2xsU2l6ZShWZXJ0aWNhbFNjcm9sbGJhcikpKTsKICAgICB9CiAgICAgaWYgKFdlYlNj
cm9sbGJhckxheWVyKiBzY3JvbGxiYXJMYXllciA9IGdldFdlYlNjcm9sbGJhckxheWVyKHNjcm9s
bGFibGVBcmVhLCBIb3Jpem9udGFsU2Nyb2xsYmFyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCmluZGV4IDZjMGZlMjJhZDcxZTQxNjVjZmViNDIyNWU1YzgyODUwYmU4
ZTExOTEuLjNiYTI4OTNmNDFiODE2YWFlMjVlOGZiOGU3OGQyZjVhZjM2MDAyNTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjUyNiwxOCArMjUyNiwxOCBA
QCBpbnQgUmVuZGVyTGF5ZXI6OnNjcm9sbFBvc2l0aW9uKFNjcm9sbGJhciogc2Nyb2xsYmFyKSBj
b25zdAogCiBJbnRQb2ludCBSZW5kZXJMYXllcjo6c2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewot
ICAgIHJldHVybiBzY3JvbGxPcmlnaW4oKSArIG1fc2Nyb2xsT2Zmc2V0OworICAgIHJldHVybiBJ
bnRQb2ludChtX3Njcm9sbE9mZnNldCk7CiB9CiAKIEludFBvaW50IFJlbmRlckxheWVyOjptaW5p
bXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewotICAgIHJldHVybiBzY3JvbGxPcmlnaW4oKTsK
KyAgICByZXR1cm4gLXNjcm9sbE9yaWdpbigpOwogfQogCiBJbnRQb2ludCBSZW5kZXJMYXllcjo6
bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogbV9zY3JvbGxT
aXplIG1heSBub3QgYmUgdXAtdG8tZGF0ZSBpZiBtX3Njcm9sbERpbWVuc2lvbnNEaXJ0eSBpcyB0
cnVlLgotICAgIHJldHVybiBzY3JvbGxPcmlnaW4oKSArIHJvdW5kZWRJbnRTaXplKG1fc2Nyb2xs
U2l6ZSkgLSB2aXNpYmxlQ29udGVudFJlY3QoSW5jbHVkZVNjcm9sbGJhcnMpLnNpemUoKTsKKyAg
ICByZXR1cm4gLXNjcm9sbE9yaWdpbigpICsgcm91bmRlZEludFNpemUobV9zY3JvbGxTaXplKSAt
IHZpc2libGVDb250ZW50UmVjdChJbmNsdWRlU2Nyb2xsYmFycykuc2l6ZSgpOwogfQogCiBJbnRS
ZWN0IFJlbmRlckxheWVyOjp2aXNpYmxlQ29udGVudFJlY3QoVmlzaWJsZUNvbnRlbnRSZWN0SW5j
bHVkZXNTY3JvbGxiYXJzIHNjcm9sbGJhckluY2x1c2lvbikgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggY2VlNWEwZmFjZDEw
OWE2ZGI5ZGUyNmUxOTAwNWNjMzhiNWYyODdhMC4uMGQ1MmNjMzIzOThiNTA2YmY3MWQ2ZTBlOGNh
Yjc5NTE0NmUxOWE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAKQEAgLTgwNCw3ICs4MDQsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgQVNTRVJUKG1fc2Nyb2xs
aW5nQ29udGVudHNMYXllcik7CiAgICAgICAgIFJlbmRlckJveCogcmVuZGVyQm94ID0gdG9SZW5k
ZXJCb3gocmVuZGVyZXIoKSk7CiAgICAgICAgIEludFJlY3QgcGFkZGluZ0JveChyZW5kZXJCb3gt
PmJvcmRlckxlZnQoKSwgcmVuZGVyQm94LT5ib3JkZXJUb3AoKSwgcmVuZGVyQm94LT53aWR0aCgp
IC0gcmVuZGVyQm94LT5ib3JkZXJMZWZ0KCkgLSByZW5kZXJCb3gtPmJvcmRlclJpZ2h0KCksIHJl
bmRlckJveC0+aGVpZ2h0KCkgLSByZW5kZXJCb3gtPmJvcmRlclRvcCgpIC0gcmVuZGVyQm94LT5i
b3JkZXJCb3R0b20oKSk7Ci0gICAgICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0ID0gbV9vd25pbmdM
YXllci0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7CisgICAgICAgIEludFNpemUgc2Nyb2xsT2Zm
c2V0ID0gbV9vd25pbmdMYXllci0+c2Nyb2xsT2Zmc2V0KCk7CiAKICAgICAgICAgbV9zY3JvbGxp
bmdMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludChwYWRkaW5nQm94LmxvY2F0aW9uKCkgLSBs
b2NhbENvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtVGVzdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hy
b21pdW1UZXN0LmNwcAppbmRleCA0YWU4NTc0YzAxOTgxZDc2Y2RhNWE1MjJlZDdlZTk5MGQ2ZDUx
ZjljLi5iNTk5ZjcwYmZkODJhOWQ3OTc3Yzg5OWQ1ZTk2MzE4Njg4NDE2OTlhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yQ2hyb21pdW1UZXN0LmNwcApAQCAtMjgxLDQgKzI4MSw0MiBAQCBURVNUX0YoU2Ny
b2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bVRlc3QsIGlmcmFtZVNjcm9sbGluZykKICNlbmRpZgog
fQogCitURVNUX0YoU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bVRlc3QsIHJ0bElmcmFtZSkK
K3sKKyAgICByZWdpc3Rlck1vY2tlZEh0dHBVUkxMb2FkKCJydGwtaWZyYW1lLmh0bWwiKTsKKyAg
ICByZWdpc3Rlck1vY2tlZEh0dHBVUkxMb2FkKCJydGwtaWZyYW1lLWlubmVyLmh0bWwiKTsKKyAg
ICBuYXZpZ2F0ZVRvKG1fYmFzZVVSTCArICJydGwtaWZyYW1lLmh0bWwiKTsKKworICAgIC8vIFZl
cmlmeSB0aGUgcHJvcGVydGllcyBvZiB0aGUgYWNjZWxlcmF0ZWQgc2Nyb2xsaW5nIGVsZW1lbnQg
c3RhcnRpbmcgZnJvbSB0aGUgUmVuZGVyT2JqZWN0CisgICAgLy8gYWxsIHRoZSB3YXkgdG8gdGhl
IFdlYkxheWVyLgorICAgIEVsZW1lbnQqIHNjcm9sbGFibGVGcmFtZSA9IG1fd2ViVmlld0ltcGwt
Pm1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+Z2V0RWxlbWVudEJ5SWQoInNj
cm9sbGFibGUiKTsKKyAgICBBU1NFUlRfVFJVRShzY3JvbGxhYmxlRnJhbWUpOworCisgICAgUmVu
ZGVyT2JqZWN0KiByZW5kZXJlciA9IHNjcm9sbGFibGVGcmFtZS0+cmVuZGVyZXIoKTsKKyAgICBB
U1NFUlRfVFJVRShyZW5kZXJlcik7CisgICAgQVNTRVJUX1RSVUUocmVuZGVyZXItPmlzV2lkZ2V0
KCkpOworCisgICAgUmVuZGVyV2lkZ2V0KiByZW5kZXJXaWRnZXQgPSB0b1JlbmRlcldpZGdldChy
ZW5kZXJlcik7CisgICAgQVNTRVJUX1RSVUUocmVuZGVyV2lkZ2V0KTsKKyAgICBBU1NFUlRfVFJV
RShyZW5kZXJXaWRnZXQtPndpZGdldCgpKTsKKyAgICBBU1NFUlRfVFJVRShyZW5kZXJXaWRnZXQt
PndpZGdldCgpLT5pc0ZyYW1lVmlldygpKTsKKworICAgIEZyYW1lVmlldyogaW5uZXJGcmFtZVZp
ZXcgPSBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPihyZW5kZXJXaWRnZXQtPndpZGdldCgpKTsKKyAg
ICBSZW5kZXJWaWV3KiBpbm5lclJlbmRlclZpZXcgPSBpbm5lckZyYW1lVmlldy0+cmVuZGVyVmll
dygpOworICAgIEFTU0VSVF9UUlVFKGlubmVyUmVuZGVyVmlldyk7CisKKyAgICBSZW5kZXJMYXll
ckNvbXBvc2l0b3IqIGlubmVyQ29tcG9zaXRvciA9IGlubmVyUmVuZGVyVmlldy0+Y29tcG9zaXRv
cigpOworICAgIEFTU0VSVF9UUlVFKGlubmVyQ29tcG9zaXRvci0+aW5Db21wb3NpdGluZ01vZGUo
KSk7CisgICAgQVNTRVJUX1RSVUUoaW5uZXJDb21wb3NpdG9yLT5zY3JvbGxMYXllcigpKTsKKwor
ICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogc2Nyb2xsTGF5ZXIgPSBzdGF0aWNfY2FzdDxHcmFw
aGljc0xheWVyQ2hyb21pdW0qPihpbm5lckNvbXBvc2l0b3ItPnNjcm9sbExheWVyKCkpOworICAg
IEFTU0VSVF9FUShpbm5lckZyYW1lVmlldywgc2Nyb2xsTGF5ZXItPnNjcm9sbGFibGVBcmVhKCkp
OworCisgICAgV2ViTGF5ZXIqIHdlYlNjcm9sbExheWVyID0gc3RhdGljX2Nhc3Q8V2ViTGF5ZXIq
PihzY3JvbGxMYXllci0+cGxhdGZvcm1MYXllcigpKTsKKyAgICBBU1NFUlRfVFJVRSh3ZWJTY3Jv
bGxMYXllci0+c2Nyb2xsYWJsZSgpKTsKKworICAgIEFTU0VSVF9FUSg5NzMsIHdlYlNjcm9sbExh
eWVyLT5zY3JvbGxQb3NpdGlvbigpLngpOworICAgIEFTU0VSVF9FUSg5NzMsIHdlYlNjcm9sbExh
eWVyLT5tYXhTY3JvbGxQb3NpdGlvbigpLndpZHRoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9ydGwtaWZyYW1lLWlu
bmVyLmh0bWwgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS1p
bm5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMDgyY2NkMWQ0YjQ2MmVhYTcyZDQyNjljZmE3OTBiN2Rh
N2I4MzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL2Rh
dGEvcnRsLWlmcmFtZS1pbm5lci5odG1sCkBAIC0wLDAgKzEsNSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxib2R5IHN0eWxlPSJkaXJlY3Rpb246cnRsO3dpZHRoOjEwMDBweDtoZWlnaHQ6
MTAwMHB4OyI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL2RhdGEvcnRsLWlmcmFtZS5odG1sIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9kYXRhL3J0bC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDExMjc3ZWMwMzlkN2E1
NjFlNGUyMDliYWU2MTJhNDk1ZjIyNTAzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9kYXRhL3J0bC1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDE0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Cisjc2Nyb2xsYWJsZSB7Cisg
ICAgd2lkdGg6IDUwcHg7CisgICAgaGVpZ2h0OiA1MHB4OworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGlmcmFtZSBpZD0ic2Nyb2xsYWJsZSIgc3JjPSJydGwtaWZyYW1lLWlubmVyLmh0
bWwiLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmOTIxOWU4ODEzNDFmNTQ3YWQwZDI1NTdm
NTY2NDUwYzE1NmQ5YmM3Li4yMmQ2YTNhY2ZhNThhZTQwNzFhNmI4NDU2ZjFlNjUxODRjNDhjNTY3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTMtMDMtMTggIFRpZW4tUmVuIENoZW4gIDx0cmNo
ZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIENvcnJlY3QgY29vcmRpbmF0ZWQgc2Nyb2xsaW5n
IGZvciBSVEwgaWZyYW1lIGFuZCBvdmVyZmxvdzpzY3JvbGwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjA4OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggY29ycmVjdHMgc2Nyb2xsT3Jp
Z2luIGNvbXBlbnNhdGlvbiBmb3IgY29tcG9zaXRlZCBvdmVyZmxvdzpzY3JvbGwuCisKKyAgICAg
ICAgY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmcuaHRtbCBpcyBhZGRlZCB0
byB2ZXJpZnkgUlRMIGRpdnMKKyAgICAgICAgY2FuIGJlIGNvcnJlY3RseSBzY3JvbGxlZCB0byB0
aGUgbGVmdCB1bmRlciBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgbW9kZS4KKworICAgICAgICBmYXN0
L2Nzcy9zdGlja3kvaW5saW5lLXN0aWNreS1hYnNwb3MtY2hpbGQuaHRtbCBpcyBtb2RpZmllZCB0
byBhdm9pZCBzdWItcGl4ZWwKKyAgICAgICAgaXNzdWUgd2l0aCBBaGVtIGZvbnQuCisKKyAgICAg
ICAgKiBjb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC5wbmc6
IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5n
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVy
Zmxvdy1zY3JvbGxpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc3RpY2t5L2lu
bGluZS1zdGlja3ktYWJzcG9zLWNoaWxkLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9j
c3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxkLmh0bWw6CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
Y29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKwogMjAxMy0wMy0xOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgZmFpbGluZyBXaW5kb3dzLXNwZWNpZmljIHJlc3VsdDsgdGhpcyB0
ZXN0IHBhc3NlcyBub3cuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwv
cnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGY3Y2U3MWE4MDc4NWQ4MTZjY2Q4MjgxOTNjZjc3NWY3MThmNWQ2YQpHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgMjkwNAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWhe
aGxBJUBXcyRsSGBvazxtfT9vVG4zfW0KenFALWpjXkF3fDBMc01nbVIzcjA1cXFHIWJRJlc9Xl5D
V1hLJWZ2VXojZHtiU3hMJGQ+SUVHWnJkMyhwTz4jJjBXCnpnWDhaRGA/dUl6emZBdmspMmRXeSEl
bnVqdUF4Pk5kfld6YF8tXkB9bSFhWEBgSjNEZjNeQmIybT40PVpicj4zRQp6VUAmZUpuY1ZwUF9p
eTtOK2hUOCtfUlFHLVp3MiNARnVlIXsyRSNeSDFfOXd3MX15XzJ4e29jbmhrc3Q+cEdyWjcKemhT
ZGNKYW1FczZ5cDQpclAwcGppRzghem5pYU9ITWhPVD5hWTMlKl8pYXNtcmRpVD9NM2Nxbk45SEBX
Tkx7WSlHCnpAJU5uMVopNiE1XnAzSn1HYnBIU1V8PmpNOGZBPEkhZX5rdSU+fD5tMEc8b0p2N0V+
ZyQoaSRNcEU8Q3AlOzQkagpLPWQjV3pwJFB6LXMlbkAzCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNj
cm9sbGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLW92
ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzYxZTUyNTViYWQwZTdh
MWExNmQwNDliMjdkODBiYmMxYTA4Y2M4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3J0bC9ydGwtb3ZlcmZsb3ctc2Nyb2xsaW5nLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKK2xheWVyIGF0ICg4LDgpIHNpemUgMzAweDMwMCBjbGlw
IGF0ICgyMyw4KSBzaXplIDI4NXgyODUgc2Nyb2xsV2lkdGggOTg1IHNjcm9sbEhlaWdodCAxMDAw
CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzAweDMwMAorICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgtNzAwLDApIHNpemUgMTAwMHgxMDAwIFtiZ2NvbG9yPSMwMDgwMDBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9ydGwvcnRsLW92ZXJmbG93LXNjcm9s
bGluZy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3Jv
bGxpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmU2NTE5NjUxOGRiNmExYzlkMTI0ZWUxZmY5OGZlZGIz
MmY3Zjg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0
bC1vdmVyZmxvdy1zY3JvbGxpbmcuaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1ZSk7CisKKyAgICBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiku
c2Nyb2xsTGVmdCA9IDA7CisgICAgfQorPC9zY3JpcHQ+Cis8c3R5bGU+CisjY29udGFpbmVyIHsK
KyAgICBkaXJlY3Rpb246IHJ0bDsKKyAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgIHdpZHRoOiAz
MDBweDsKKyAgICBoZWlnaHQ6IDMwMHB4OworfQorI292ZXJmbG93IHsKKyAgICB3aWR0aDogMTAw
MHB4OworICAgIGhlaWdodDogMTAwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorPGRpdiBpZD0ib3ZlcmZsb3ciPgorPC9kaXY+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0aWNreS9pbmxp
bmUtc3RpY2t5LWFic3Bvcy1jaGlsZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxkLWV4cGVjdGVkLmh0bWwKaW5kZXgg
YjFlNzIzMzQyZDA4MWM1MzhmOWVmMTk4OTFkMzNkNzYzOGRlZGU2ZS4uNjlkNjg1NzBlZGE3ODRk
M2E0YTQwZjczZjJjZTNiNGI2YjU3ODYzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxkLWV4cGVjdGVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxkLWV4
cGVjdGVkLmh0bWwKQEAgLTgsNyArOCw3IEBACiAgICAgICAgIGhlaWdodDogMjAwMHB4OwogICAg
ICAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBoaWRlIHNjcm9sbGJhcnMgKi8KICAgICAgICAgZm9u
dC1mYW1pbHk6ICdBaGVtJzsKLSAgICAgICAgZm9udC1zaXplOiAyNHB4OworICAgICAgICBmb250
LXNpemU6IDI1cHg7CiAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOwogICAgIH0KICAgICAKQEAgLTU5
LDcgKzU5LDcgQEAKICAgICA8ZGl2IGNsYXNzPSJncm91cCIgc3R5bGU9InRvcDogLTEwMHB4Ij4K
ICAgICAgICAgPGRpdiBjbGFzcz0iaW5kaWNhdG9yIGJveCI+PC9kaXY+CiAgICAgICAgIDxkaXYg
Y2xhc3M9ImNvbnRhaW5lciI+Ci0gICAgICAgICAgICBYWFggPHNwYW4gY2xhc3M9InN0aWNreSIg
c3R5bGU9InRvcDogMTcycHg7Ij5YWFhYPC9icj4KKyAgICAgICAgICAgIFhYWCA8c3BhbiBjbGFz
cz0ic3RpY2t5IiBzdHlsZT0idG9wOiAxNjNweDsiPlhYWFg8L2JyPgogICAgICAgICAgICAgPGRp
diBjbGFzcz0iY2hpbGQgYm94Ij48L2Rpdj4KICAgICAgICAgICAgIFhYWFg8L2JyPlhYWFg8L2Jy
PlhYWFg8L2JyPlhYWFg8L3NwYW4+IFhYWAogICAgICAgICA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3N0aWNreS9pbmxpbmUtc3RpY2t5LWFic3Bvcy1jaGlsZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxk
Lmh0bWwKaW5kZXggNjdkYWRmNjU0Yzg3N2U0OTEyNjdlYWI2NGY3NzFkNzc2ZDBmYWFhOC4uNTlh
OTA5OThkYzEyMGY1ZjYwNzI1YjYxOWFmMjZkZDM1NWUyMDM2NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxk
Lmh0bWwKQEAgLTgsNyArOCw3IEBACiAgICAgICAgIGhlaWdodDogMjAwMHB4OwogICAgICAgICBv
dmVyZmxvdzogaGlkZGVuOyAvKiBoaWRlIHNjcm9sbGJhcnMgKi8KICAgICAgICAgZm9udC1mYW1p
bHk6ICdBaGVtJzsKLSAgICAgICAgZm9udC1zaXplOiAyNHB4OworICAgICAgICBmb250LXNpemU6
IDI1cHg7CiAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDc3OWQ3OTlhYzVm
YTQzNjU1MzQ2ODk4ZGUxZmMyZjg4N2U2YzI4MmIuLjgwZDgyODAxNDgzNzM0MzFkMDc2ZTY5Y2I3
NTAzOGEwOGQzNjdjYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucwpAQCAtNDMyMSwxNSArNDMyMSwxNSBAQCB3ZWJraXQub3JnL2IvMTEwODUx
IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9nZW9tZXRyeS9m
aXhlZAogd2Via2l0Lm9yZy9iLzExMDg1MSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3
YXJlY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2NhbGVkLWRlc2NlbmRhbnQtb3Zlcmxh
cHBpbmcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzExMDg1MSBwbGF0
Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvcmVwYWludC9wYWdlLXNj
YWxlLXJlcGFpbnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCi0jIEltcGwtc2lkZSBzY3Jv
bGxpbmcgaXMgYnJva2VuIGZvciBSVEwuIENhdXNpbmcgaW1wbC1zaWRlIHNjcm9sbGJhciBhcnRp
ZmFjdHMuCi1jcmJ1Zy5jb20vMTc1OTI2IFsgTGludXggXSBjb21wb3NpdGluZy9ydGwvcnRsLWlm
cmFtZS1hYnNvbHV0ZS1vdmVyZmxvdy1zY3JvbGxlZC5odG1sIFsgRmFpbHVyZSBJbWFnZU9ubHlG
YWlsdXJlIF0KLWNyYnVnLmNvbS8xNzU5MjYgWyBMaW51eCBXaW4gXSBjb21wb3NpdGluZy9ydGwv
cnRsLWlmcmFtZS1hYnNvbHV0ZS1vdmVyZmxvdy5odG1sIFsgUGFzcyBGYWlsdXJlIEltYWdlT25s
eUZhaWx1cmUgXQotY3JidWcuY29tLzE3NTkyNiBbIExpbnV4IFdpbiBdIGNvbXBvc2l0aW5nL3J0
bC9ydGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwgWyBGYWlsdXJlIEltYWdl
T25seUZhaWx1cmUgXQotY3JidWcuY29tLzE3NTkyNiBbIExpbnV4IFdpbiBdIGNvbXBvc2l0aW5n
L3J0bC9ydGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93Lmh0bWwgWyBGYWlsdXJlIEltYWdlT25seUZh
aWx1cmUgXQotY3JidWcuY29tLzE3NTkyNiBbIExpbnV4IF0gcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93
LXNjcm9sbGVkLmh0bWwgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQotY3JidWcuY29tLzE3
NTkyNiBbIExpbnV4IF0gcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0
aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93Lmh0bWwgWyBGYWlsdXJlIEltYWdl
T25seUZhaWx1cmUgXQotY3JidWcuY29tLzE3NTkyNiBbIExpbnV4IFdpbiBdIHBsYXRmb3JtL2No
cm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC1v
dmVyZmxvdy1zY3JvbGxlZC5odG1sIFsgRmFpbHVyZSBJbWFnZU9ubHlGYWlsdXJlIF0KLWNyYnVn
LmNvbS8xNzU5MjYgWyBMaW51eCBdIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVj
b21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC1vdmVyZmxvdy5odG1sIFsgRmFpbHVyZSBJ
bWFnZU9ubHlGYWlsdXJlIF0KKyMgUGl4ZWwgdGVzdHMgZm9yIFJUTCBpZnJhbWUgc2Nyb2xsYmFy
IGlzIGVycm9uZW91cy4gQ2Fubm90IG9ic2VydmUgb24gYWN0dWFsIGJyb3dzZXIuCitjcmJ1Zy5j
b20vMTkyMTcyIFsgTGludXggXSBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1hYnNvbHV0ZS1v
dmVyZmxvdy1zY3JvbGxlZC5odG1sIFsgRmFpbHVyZSBJbWFnZU9ubHlGYWlsdXJlIF0KK2NyYnVn
LmNvbS8xOTIxNzIgWyBMaW51eCBXaW4gXSBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1hYnNv
bHV0ZS1vdmVyZmxvdy5odG1sIFsgUGFzcyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQorY3Ji
dWcuY29tLzE5MjE3MiBbIExpbnV4IFdpbiBdIGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWZp
eGVkLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQor
Y3JidWcuY29tLzE5MjE3MiBbIExpbnV4IFdpbiBdIGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1l
LWZpeGVkLW92ZXJmbG93Lmh0bWwgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQorY3JidWcu
Y29tLzE5MjE3MiBbIExpbnV4IF0gcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNv
bXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLWFic29sdXRlLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwg
WyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQorY3JidWcuY29tLzE5MjE3MiBbIExpbnV4IF0g
cGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5nL3J0bC9ydGwtaWZy
YW1lLWFic29sdXRlLW92ZXJmbG93Lmh0bWwgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQor
Y3JidWcuY29tLzE5MjE3MiBbIExpbnV4IFdpbiBdIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
c29mdHdhcmVjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC1vdmVyZmxvdy1zY3JvbGxl
ZC5odG1sIFsgRmFpbHVyZSBJbWFnZU9ubHlGYWlsdXJlIF0KK2NyYnVnLmNvbS8xOTIxNzIgWyBM
aW51eCBdIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9ydGwv
cnRsLWlmcmFtZS1maXhlZC1vdmVyZmxvdy5odG1sIFsgRmFpbHVyZSBJbWFnZU9ubHlGYWlsdXJl
IF0KIAogIyBOZWVkIHJlYmFzZWxpbmUKIHdlYmtpdC5vcmcvYi8xMTA2NTQgWyBNYWMgV2luIF0g
Y3NzMi4xLzIwMTEwMzIzL3JlcGxhY2VkLWVsZW1lbnRzLTAwMS5odG0gWyBGYWlsdXJlIF0KQEAg
LTQzNDUsNyArNDM0NSw3IEBAIHdlYmtpdC5vcmcvYi8xMTA5MTUgWyBMaW51eCBdIHBsYXRmb3Jt
L2Nocm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9jaHJvbWl1bS1saW51eC1mCiB3ZWJraXQub3JnL2Iv
MTEwNTQwIFsgTGludXggXSBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC90aGFpLWxpbmUtYnJlYWtz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIFBhc3MgXQogCiAjIFRoZXNlIHRlc3RzIGZsYWtpbHkg
cmVvcmRlciB0aGUgc2Nyb2xsYmFycyBpbiBkZWJ1ZywgY2F1c2luZyB0ZXh0IGZhaWx1cmVzCi0j
IFNvbWUgcGxhdGZvcm1zIGNvdmVyZWQgYWJvdmUgdW5kZXIgY3JidWcuY29tLzE3NTkyNgorIyBT
b21lIHBsYXRmb3JtcyBjb3ZlcmVkIGFib3ZlIHVuZGVyIGNyYnVnLmNvbS8xOTIxNzIKIHdlYmtp
dC5vcmcvYi8xMTExOTkgWyBEZWJ1ZyBNYWMgXSBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1h
YnNvbHV0ZS1vdmVyZmxvdy5odG1sIFsgUGFzcyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQog
d2Via2l0Lm9yZy9iLzExMTE5OSBbIERlYnVnIFdpbiBNYWMgXSBjb21wb3NpdGluZy9ydGwvcnRs
LWlmcmFtZS1hYnNvbHV0ZS1vdmVyZmxvdy1zY3JvbGxlZC5odG1sIFsgUGFzcyBGYWlsdXJlIElt
YWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzExMTE5OSBbIERlYnVnIFdpbiBNYWMgXSBw
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3NvZnR3YXJlY29tcG9zaXRpbmcvcnRsL3J0bC1pZnJh
bWUtYWJzb2x1dGUtb3ZlcmZsb3cuaHRtbCBbIFBhc3MgRmFpbHVyZSBJbWFnZU9ubHlGYWlsdXJl
IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9ydGwv
cnRsLW92ZXJmbG93LXNjcm9sbGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvY29tcG9zaXRpbmcvcnRsL3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU4YzQ4YTY1MTRlNjc1OTI2NmUwNjZjODljZTU1YjY5NDZjYWM0YjIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvcnRs
L3J0bC1vdmVyZmxvdy1zY3JvbGxpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAzMDB4MzAwIGNsaXAgYXQgKDgsOCkgc2l6ZSAy
ODV4Mjg1IHNjcm9sbFdpZHRoIDEwMDAgc2Nyb2xsSGVpZ2h0IDEwMDAKKyAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAzMDB4MzAwCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKC03
MTUsMCkgc2l6ZSAxMDAweDEwMDAgW2JnY29sb3I9IzAwODAwMF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>