<?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>95961</bug_id>
          
          <creation_ts>2012-09-06 02:57:56 -0700</creation_ts>
          <short_desc>Added viewport at-rule to the CSS parser and tokenizer</short_desc>
          <delta_ts>2012-10-31 15:22:37 -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>CSS</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>
          
          <blocked>95959</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thiago Marcos P. Santos">tmpsantos</reporter>
          <assigned_to name="Thiago Marcos P. Santos">tmpsantos</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>krit</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>morrita</cc>
    
    <cc>peter</cc>
    
    <cc>peter+ews</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>713096</commentid>
    <comment_count>0</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-09-06 02:57:56 -0700</bug_when>
    <thetext>Parse the @-webkit-viewport entry on a stylesheet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718751</commentid>
    <comment_count>1</comment_count>
      <attachid>163702</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-09-12 14:47:02 -0700</bug_when>
    <thetext>Created attachment 163702
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750765</commentid>
    <comment_count>2</comment_count>
      <attachid>163702</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-25 06:54:50 -0700</bug_when>
    <thetext>Comment on attachment 163702
Patch

Can you add a simple parsing test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752412</commentid>
    <comment_count>3</comment_count>
      <attachid>171012</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-10-26 14:31:34 -0700</bug_when>
    <thetext>Created attachment 171012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752415</commentid>
    <comment_count>4</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-10-26 14:34:22 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=171012) [details]
&gt; Patch

I reworked the patch as suggested and it is now adding the parsed rule to the rule list and can be tested via layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752424</commentid>
    <comment_count>5</comment_count>
      <attachid>171012</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-26 14:37:47 -0700</bug_when>
    <thetext>Comment on attachment 171012
Patch

Attachment 171012 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14603462</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752426</commentid>
    <comment_count>6</comment_count>
      <attachid>171012</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-26 14:37:50 -0700</bug_when>
    <thetext>Comment on attachment 171012
Patch

Attachment 171012 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14603464</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752446</commentid>
    <comment_count>7</comment_count>
      <attachid>171012</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-26 14:52:31 -0700</bug_when>
    <thetext>Comment on attachment 171012
Patch

Attachment 171012 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14606228</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752473</commentid>
    <comment_count>8</comment_count>
      <attachid>171012</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-26 15:05:15 -0700</bug_when>
    <thetext>Comment on attachment 171012
Patch

Attachment 171012 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14617139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752491</commentid>
    <comment_count>9</comment_count>
      <attachid>171012</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 15:27:33 -0700</bug_when>
    <thetext>Comment on attachment 171012
Patch

Attachment 171012 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14615171</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752497</commentid>
    <comment_count>10</comment_count>
      <attachid>171012</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-26 15:38:21 -0700</bug_when>
    <thetext>Comment on attachment 171012
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        Test: css3/device-adapt/viewport_at_rule_parsing.html

don&apos;t we normally use - in tests instead of _? I would prefer that

&gt; Source/WebCore/ChangeLog:30
&gt; +        (WebCore::CSSParser::inViewportScope):
&gt; +        These methods are needed by the next patch validating the properties.

I would add a new line and indent this 4 chars

&gt; Source/WebCore/css/CSSGrammar.y.in:955
&gt; +
&gt; +viewport:
&gt; +    before_viewport_rule WEBKIT_VIEWPORT_RULE_SYM at_rule_header_end_maybe_space
&gt; +    &apos;{&apos; at_rule_body_start maybe_space_before_declaration declaration_list closing_brace {
&gt; +        $$ = parser-&gt;createViewportRule();
&gt; +        parser-&gt;markViewportScopeEnd();
&gt; +    }

Is this grammar defined in the spec? would be nice if the changelog made aware of such things

&gt; LayoutTests/css3/device-adapt/viewport_at_rule_parsing.html:10
&gt; +
&gt; +        @-webkit-viewport          {
&gt; +        }
&gt; +

Maybe some minor comments would be nice so we know what is supposed to be tested

&gt; LayoutTests/css3/device-adapt/viewport_at_rule_parsing.html:23
&gt; +        @media all {
&gt; +            @-webkit-viewport {
&gt; +            }
&gt; +        }

Like is this supposed to be valid or invalid, hard to know without reading the spec

&gt; LayoutTests/platform/efl/TestExpectations:1674
&gt; +# CSS Device Adaptation is not enabled.
&gt; +webkit.org/b/95959 css3/device-adapt [ Skip ]

Shouldn&apos;t it at least be tested on one platform? now it is ignored on all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752516</commentid>
    <comment_count>11</comment_count>
      <attachid>171012</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-10-26 15:51:57 -0700</bug_when>
    <thetext>Comment on attachment 171012
Patch

Attachment 171012 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14616190</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752747</commentid>
    <comment_count>12</comment_count>
      <attachid>171086</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-10-27 04:16:48 -0700</bug_when>
    <thetext>Created attachment 171086
Patch

Thanks for reviewing. I rebased the patch, fixed the issues and it is now enabled by default for EFL, the port that I&apos;m watching the bots all the time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753251</commentid>
    <comment_count>13</comment_count>
      <attachid>171086</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-10-29 04:15:07 -0700</bug_when>
    <thetext>Comment on attachment 171086
Patch

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

&gt; Source/WebCore/css/WebKitCSSViewportRule.h:45
&gt; +class WebKitCSSViewportRule: public CSSRule {

I don&apos;t think we need to prefix implementation classes. We can prefix it in JS level through IDL annotation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753359</commentid>
    <comment_count>14</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-10-29 06:31:06 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 171086 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171086&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/WebKitCSSViewportRule.h:45
&gt; &gt; +class WebKitCSSViewportRule: public CSSRule {
&gt; 
&gt; I don&apos;t think we need to prefix implementation classes. We can prefix it in JS level through IDL annotation.

I did that to keep consistence with WebKitCSSRegionRule, WebKitCSSKeyframeRule, etc. Honestly I would prefer not prefixing the files and classes because it is likely to get renamed on the future and will make a &quot;git blame&quot; shadowy.

In the other hand, it makes explicit that the feature is not yet compliant with the spec.

Should I rename?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754276</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-30 06:07:29 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; (From update of attachment 171086 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171086&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/css/WebKitCSSViewportRule.h:45
&gt; &gt; &gt; +class WebKitCSSViewportRule: public CSSRule {
&gt; &gt; 
&gt; &gt; I don&apos;t think we need to prefix implementation classes. We can prefix it in JS level through IDL annotation.
&gt; 
&gt; I did that to keep consistence with WebKitCSSRegionRule, WebKitCSSKeyframeRule, etc. Honestly I would prefer not prefixing the files and classes because it is likely to get renamed on the future and will make a &quot;git blame&quot; shadowy.
&gt; 
&gt; In the other hand, it makes explicit that the feature is not yet compliant with the spec.
&gt; 
&gt; Should I rename?

I think it is fine, but maybe it is better to rename the file names? because such renames affect all build systems?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754296</commentid>
    <comment_count>16</comment_count>
      <attachid>171086</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-10-30 06:32:43 -0700</bug_when>
    <thetext>Comment on attachment 171086
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/css/WebKitCSSViewportRule.h:45
&gt;&gt;&gt;&gt; +class WebKitCSSViewportRule: public CSSRule {
&gt;&gt;&gt; 
&gt;&gt;&gt; I don&apos;t think we need to prefix implementation classes. We can prefix it in JS level through IDL annotation.
&gt;&gt; 
&gt;&gt; I did that to keep consistence with WebKitCSSRegionRule, WebKitCSSKeyframeRule, etc. Honestly I would prefer not prefixing the files and classes because it is likely to get renamed on the future and will make a &quot;git blame&quot; shadowy.
&gt;&gt; 
&gt;&gt; In the other hand, it makes explicit that the feature is not yet compliant with the spec.
&gt;&gt; 
&gt;&gt; Should I rename?
&gt; 
&gt; I think it is fine, but maybe it is better to rename the file names? because such renames affect all build systems?

Hmm you are right. Regions and keyframes are already doing this. OK, I&apos;d be fine for either way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754778</commentid>
    <comment_count>17</comment_count>
      <attachid>171086</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-30 16:33:23 -0700</bug_when>
    <thetext>Comment on attachment 171086
Patch

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

&gt; Source/WebCore/css/CSSParser.h:371
&gt; +    void markViewportScopeStart() { m_inViewportScope = true; }

We have void markRuleBodyStart();

Shouldn&apos;t this be called markViewportRuleBodyStart() ?

&gt; Source/WebCore/css/CSSParser.h:524
&gt; +    bool inViewportScope() const { return m_inViewportScope; }

bool inShorthand() const { return m_inParseShorthand; }

Wouldn&apos;t inViewport() const { return m_inParseViewport; } not be more consistent?

&gt; LayoutTests/css3/device-adapt/viewport-at-rule-parsing.html:22
&gt; +        @-webkit-viewport {
&gt; +            asdasd
&gt; +        }

what about adding an import rule inside a @-..webkit ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755316</commentid>
    <comment_count>18</comment_count>
      <attachid>171086</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-10-31 08:11:24 -0700</bug_when>
    <thetext>Comment on attachment 171086
Patch

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

&gt;&gt; LayoutTests/css3/device-adapt/viewport-at-rule-parsing.html:22
&gt;&gt; +        }
&gt; 
&gt; what about adding an import rule inside a @-..webkit ?

Good idea. I&apos;m also going to add a test for nested @-webkit-viewport rule.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755320</commentid>
    <comment_count>19</comment_count>
      <attachid>171664</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-10-31 08:18:02 -0700</bug_when>
    <thetext>Created attachment 171664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755367</commentid>
    <comment_count>20</comment_count>
      <attachid>171672</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-10-31 09:16:51 -0700</bug_when>
    <thetext>Created attachment 171672
Patch

Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755669</commentid>
    <comment_count>21</comment_count>
      <attachid>171672</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 15:22:30 -0700</bug_when>
    <thetext>Comment on attachment 171672
Patch

Clearing flags on attachment: 171672

Committed r133084: &lt;http://trac.webkit.org/changeset/133084&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755670</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-31 15:22:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163702</attachid>
            <date>2012-09-12 14:47:02 -0700</date>
            <delta_ts>2012-10-26 14:31:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95961-20120913004635.patch</filename>
            <type>text/plain</type>
            <size>7223</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWFkMmEzNWIzNjIzNTRm
ODAxMjU5MDI5MDZiZmQzYmNjMTJiNTFlYy4uZDA0YWEyNWU4ODgyYzJhNTUxODE5MWRmYWQzMmRk
YzA1MTNlNWVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEyLTA5LTExICBUaGlh
Z28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgogCisgICAgICAg
IEFkZGVkIHZpZXdwb3J0IGF0LXJ1bGUgdG8gdGhlIENTUyBwYXJzZXIgYW5kIHRva2VuaXplcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU5NjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdG9rZW5z
IGFuZCBncmFtbWFyIHJ1bGVzIHRvIHBhcnNlIEAtd2Via2l0LXZpZXdwb3J0IGJsb2Nrcy4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgYXJlIHBvc3NpYmxlIHJpZ2h0IG5vdyBzaW5jZSB3ZSBkb24n
dCBoYXZlIGJpbmRpbmdzIHlldC4KKworICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6CisgICAg
ICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OkNT
U1BhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdEF0VG9rZW4pOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNyZWF0ZVZp
ZXdwb3J0UnVsZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAoQ1NTUGFy
c2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1ZpZXdwb3J0U2NvcGVTdGFy
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtWaWV3cG9ydFNjb3BlRW5kKToK
KyAgICAgICAgVGhlc2UgbWV0aG9kcyBhcmUgbmVlZGVkIGJ5IHRoZSBuZXh0IHBhdGNoIHZhbGlk
YXRpbmcgdGhlIHByb3BlcnRpZXMuCisgICAgICAgIFNvbWUgdmlld3BvcnQgcHJvcGVydGllcyBh
cmUgY29tbW9uIHRvIG90aGVyIHJ1bGVzIGJ1dCBoYXZlIGRpZmZlcmVudAorICAgICAgICBzZW1h
bnRpY3MsIGFuZCBhY2NlcHRzIGRpZmZlcmVudCBrZXl3b3Jkcy4gVGhlIHZhbGlkYXRpb24gbmVl
ZHMgdG8gYmUKKyAgICAgICAgZG9uZSBpbiBhIGRpZmZlcmVudCBjb2RlIHBhdGguCisKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aW5WaWV3cG9ydFNjb3BlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUHJvcGVydHlTb3VyY2VEYXRhLmg6CisKKzIwMTItMDktMTEgIFRoaWFnbyBNYXJjb3MgUC4g
U2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRlbC5jb20+CisKICAgICAgICAgQWRkIGZlYXR1cmUg
ZmxhZ3MgZm9yIENTUyBEZXZpY2UgQWRhcHRhdGlvbgogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU5NjAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyYW1tYXIueSBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKaW5k
ZXggNTE2NzUzN2Y3MWI3ZTQ5ZTU4NGQ3OTgyZGM0NWMwNTVkODkzODUwOS4uMTI4NWE4NDU2NmNh
ZjI3ZDliZTEwM2E3ZTAwM2E5NzYxOGNmMzNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyYW1tYXIueQorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CkBA
IC01LDYgKzUsNyBAQAogICogIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29w
eXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG55cG9wLmNvbSkKICAqICBD
b3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAqICBDb3B5
cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCkBAIC0xMzgsNiArMTM5LDcgQEAgc3RhdGljIGlubGluZSBpbnQg
Y3NzeXllcnJvcih2b2lkKiwgY29uc3QgY2hhciopCiAldG9rZW4gV0VCS0lUX01FRElBUVVFUllf
U1lNCiAldG9rZW4gV0VCS0lUX1NFTEVDVE9SX1NZTQogJXRva2VuIFdFQktJVF9SRUdJT05fUlVM
RV9TWU0KKyV0b2tlbiBXRUJLSVRfVklFV1BPUlRfUlVMRV9TWU0KICV0b2tlbiA8bWFyZ2luQm94
PiBUT1BMRUZUQ09STkVSX1NZTQogJXRva2VuIDxtYXJnaW5Cb3g+IFRPUExFRlRfU1lNCiAldG9r
ZW4gPG1hcmdpbkJveD4gVE9QQ0VOVEVSX1NZTQpAQCAtMjI0LDYgKzIyNiw3IEBAIHN0YXRpYyBp
bmxpbmUgaW50IGNzc3l5ZXJyb3Iodm9pZCosIGNvbnN0IGNoYXIqKQogJXR5cGUgPHJ1bGU+IGJs
b2NrX3J1bGUKICV0eXBlIDxydWxlPiBibG9ja192YWxpZF9ydWxlCiAldHlwZSA8cnVsZT4gcmVn
aW9uCisldHlwZSA8cnVsZT4gdmlld3BvcnQKIAogJXR5cGUgPHN0cmluZz4gbWF5YmVfbnNfcHJl
Zml4CiAKQEAgLTQxNCw2ICs0MTcsNyBAQCB2YWxpZF9ydWxlOgogICB8IG5hbWVzcGFjZQogICB8
IGltcG9ydAogICB8IHJlZ2lvbgorICB8IHZpZXdwb3J0CiAgIDsKIAogcnVsZToKQEAgLTQ0Miw2
ICs0NDYsNyBAQCBibG9ja192YWxpZF9ydWxlOgogICB8IHBhZ2UKICAgfCBmb250X2ZhY2UKICAg
fCBrZXlmcmFtZXMKKyAgfCB2aWV3cG9ydAogICA7CiAKIGJsb2NrX3J1bGU6CkBAIC04MzYsNiAr
ODQxLDQxIEBAIGZvbnRfZmFjZToKICAgICB9CiA7CiAKK2JlZm9yZV92aWV3cG9ydF9ydWxlOgor
ICAgIC8qIGVtcHR5ICovIHsKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAg
ICAgICBwYXJzZXItPm1hcmtWaWV3cG9ydFNjb3BlU3RhcnQoKTsKKyAgICAgICAgcGFyc2VyLT5t
YXJrUnVsZUhlYWRlclN0YXJ0KENTU1J1bGVTb3VyY2VEYXRhOjpWSUVXUE9SVF9SVUxFKTsKKyNl
bmRpZgorICAgIH0KKyAgICA7CisKK3ZpZXdwb3J0OgorICAgIGJlZm9yZV92aWV3cG9ydF9ydWxl
IFdFQktJVF9WSUVXUE9SVF9SVUxFX1NZTSBhdF9ydWxlX2hlYWRlcl9lbmRfbWF5YmVfc3BhY2UK
KyAgICAneycgYXRfcnVsZV9ib2R5X3N0YXJ0IG1heWJlX3NwYWNlX2JlZm9yZV9kZWNsYXJhdGlv
biBkZWNsYXJhdGlvbl9saXN0IGNsb3NpbmdfYnJhY2UgeworI2lmIEVOQUJMRShDU1NfREVWSUNF
X0FEQVBUQVRJT04pCisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVWaWV3cG9ydFJ1bGUoKTsK
KyAgICAgICAgcGFyc2VyLT5tYXJrVmlld3BvcnRTY29wZUVuZCgpOworI2Vsc2UKKyAgICAgICAg
JCQgPSAwOworI2VuZGlmCisgICAgfQorICAgIHwgYmVmb3JlX3ZpZXdwb3J0X3J1bGUgV0VCS0lU
X1ZJRVdQT1JUX1JVTEVfU1lNIGVycm9yIGludmFsaWRfYmxvY2sgeworICAgICAgICAkJCA9IDA7
CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICAgICAgcGFyc2VyLT5wb3BS
dWxlRGF0YSgpOworICAgICAgICBwYXJzZXItPm1hcmtWaWV3cG9ydFNjb3BlRW5kKCk7CisjZW5k
aWYKKyAgICB9CisgICAgfCBiZWZvcmVfdmlld3BvcnRfcnVsZSBXRUJLSVRfVklFV1BPUlRfUlVM
RV9TWU0gZXJyb3IgJzsnIHsKKyAgICAgICAgJCQgPSAwOworI2lmIEVOQUJMRShDU1NfREVWSUNF
X0FEQVBUQVRJT04pCisgICAgICAgIHBhcnNlci0+cG9wUnVsZURhdGEoKTsKKyAgICAgICAgcGFy
c2VyLT5tYXJrVmlld3BvcnRTY29wZUVuZCgpOworI2VuZGlmCisgICAgfQorOworCiByZWdpb25f
c2VsZWN0b3I6CiAgICAgc2VsZWN0b3JfbGlzdCB7CiAgICAgICAgIGlmICgkMSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAppbmRleCAyOGNlMTMxNTdmOTU1NGI2YTkyZjc1ZTA4YTVkYWVkOWZh
ZTUxOGUzLi5lZjgyYTUzYzY1YTZmMzE3MjdiZDA1ZDdmNmY1YWZlYzMyMTAyZmRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjY4LDYgKzI2OCw5IEBAIENTU1BhcnNlcjo6Q1NTUGFy
c2VyKGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiAgICAgLCBtX2xhc3RTZWxlY3Rv
ckxpbmVOdW1iZXIoMCkKICAgICAsIG1fYWxsb3dJbXBvcnRSdWxlcyh0cnVlKQogICAgICwgbV9h
bGxvd05hbWVzcGFjZURlY2xhcmF0aW9ucyh0cnVlKQorI2lmIEVOQUJMRShDU1NfREVWSUNFX0FE
QVBUQVRJT04pCisgICAgLCBtX2luVmlld3BvcnRTY29wZShmYWxzZSkKKyNlbmRpZgogICAgICwg
bV9zZWxlY3RvclZlY3RvcihhZG9wdFB0cihuZXcgQ1NTU2VsZWN0b3JWZWN0b3IpKQogewogI2lm
IFlZREVCVUcgPiAwCkBAIC05MzcxLDggKzkzNzQsMTUgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2Vy
OjpkZXRlY3RBdFRva2VuKGludCBsZW5ndGgsIGJvb2wgaGFzRXNjYXBlKQogICAgICAgICAgICAg
cmV0dXJuOwogCiAgICAgICAgIGNhc2UgMTc6Ci0gICAgICAgICAgICBpZiAoIWhhc0VzY2FwZSAm
JiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAyLCAid2Via2l0LXNlbGVjdG9yIikpCisg
ICAgICAgICAgICBpZiAoaGFzRXNjYXBlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICAgICAgaWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVsxNl0sICdyJykgJiYg
aXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1lICsgMiwgIndlYmtpdC1zZWxlY3RvIikpCiAgICAg
ICAgICAgICAgICAgbV90b2tlbiA9IFdFQktJVF9TRUxFQ1RPUl9TWU07CisjaWYgRU5BQkxFKENT
U19ERVZJQ0VfQURBUFRBVElPTikKKyAgICAgICAgICAgIGVsc2UgaWYgKGlzQVNDSUlBbHBoYUNh
c2VsZXNzRXF1YWwobmFtZVsxNl0sICd0JykgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1l
ICsgMiwgIndlYmtpdC12aWV3cG9yIikpCisgICAgICAgICAgICAgICAgbV90b2tlbiA9IFdFQktJ
VF9WSUVXUE9SVF9SVUxFX1NZTTsKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAg
ICAgIGNhc2UgMTg6CkBAIC0xMDM4Miw2ICsxMDM5MiwxMyBAQCB2b2lkIENTU1BhcnNlcjo6bWFy
a1Byb3BlcnR5RW5kKGJvb2wgaXNJbXBvcnRhbnRGb3VuZCwgYm9vbCBpc1Byb3BlcnR5UGFyc2Vk
KQogICAgIHJlc2V0UHJvcGVydHlSYW5nZSgpOwogfQogCisjaWYgRU5BQkxFKENTU19ERVZJQ0Vf
QURBUFRBVElPTikKK1N0eWxlUnVsZUJhc2UqIENTU1BhcnNlcjo6Y3JlYXRlVmlld3BvcnRSdWxl
KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZT4KIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3QgQ2hh
cmFjdGVyVHlwZSogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsZW5ndGgpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKaW5kZXggZTMzMDkwZjgzMjZmYTY0YjNjMmQzYWViODNlYjQ2YjM0ZDMwNmJkOS4u
MDY4ZjM1MzA0MzUwZjg0NzVmMGI2MWVkYzAwYmM3ODA1NWFkODYyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuaApAQCAtMzYzLDYgKzM2MywxMiBAQCBwdWJsaWM6CiAKICAgICBpbnQgdG9rZW4oKSB7
IHJldHVybiBtX3Rva2VuOyB9CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQor
ICAgIHZvaWQgbWFya1ZpZXdwb3J0U2NvcGVTdGFydCgpIHsgbV9pblZpZXdwb3J0U2NvcGUgPSB0
cnVlOyB9CisgICAgdm9pZCBtYXJrVmlld3BvcnRTY29wZUVuZCgpIHsgbV9pblZpZXdwb3J0U2Nv
cGUgPSBmYWxzZTsgfQorICAgIFN0eWxlUnVsZUJhc2UqIGNyZWF0ZVZpZXdwb3J0UnVsZSgpOwor
I2VuZGlmCisKICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRp
dmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKICAgICBQYXNzUmVmUHRyPENTU1ByaW1p
dGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwog
CkBAIC01MDIsNiArNTA4LDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2FsbG93SW1wb3J0UnVs
ZXM7CiAgICAgYm9vbCBtX2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zOwogCisjaWYgRU5BQkxF
KENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBib29sIGluVmlld3BvcnRTY29wZSgpIGNvbnN0
IHsgcmV0dXJuIG1faW5WaWV3cG9ydFNjb3BlOyB9CisgICAgYm9vbCBtX2luVmlld3BvcnRTY29w
ZTsKKyNlbmRpZgorCiAgICAgaW50IChDU1NQYXJzZXI6OiptX2xleEZ1bmMpKHZvaWQqKTsKIAog
ICAgIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiBtX3BhcnNlZFJ1bGVzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCmluZGV4IDQ2OWJkYjYzMGMxYTVj
NWRiYTk5M2ZkMWFkNTllZDA3NDQ5YTU1YmUuLjI5YTIxZjY0ZDgwNzA0OTIxZDA3MjA1NGVmYWU2
YmU3MWQwMzY4YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNv
dXJjZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRh
LmgKQEAgLTk0LDYgKzk0LDcgQEAgc3RydWN0IENTU1J1bGVTb3VyY2VEYXRhIDogcHVibGljIFJl
ZkNvdW50ZWQ8Q1NTUnVsZVNvdXJjZURhdGE+IHsKICAgICAgICAgRk9OVF9GQUNFX1JVTEUsCiAg
ICAgICAgIFBBR0VfUlVMRSwKICAgICAgICAgS0VZRlJBTUVTX1JVTEUsCisgICAgICAgIFZJRVdQ
T1JUX1JVTEUsCiAgICAgICAgIFJFR0lPTl9SVUxFCiAgICAgfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171012</attachid>
            <date>2012-10-26 14:31:34 -0700</date>
            <delta_ts>2012-10-27 04:16:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95961-20121027003005.patch</filename>
            <type>text/plain</type>
            <size>41413</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUwZTQ5YmE1NWMxOTIw
NThiYTM4NzhlYzAxYzdhZWRlOGZlOTY2YS4uYWVhOGY1OGYwYzRlY2U0NmNlZmQ4YTEyNzc1ZmUy
MzUxNTAyNzI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDEyLTEwLTI2ICBUaGlh
Z28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgorCisgICAgICAg
IEFkZGVkIHZpZXdwb3J0IGF0LXJ1bGUgdG8gdGhlIENTUyBwYXJzZXIgYW5kIHRva2VuaXplcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU5NjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdG9rZW5z
IGFuZCBncmFtbWFyIHJ1bGVzIHRvIHBhcnNlIEAtd2Via2l0LXZpZXdwb3J0IGJsb2Nrcy4gQWxz
byBhZGQKKyAgICAgICAgdGhlIG5ld2x5IHBhcnNlZCBydWxlIHRvIHRoZSBydWxlIGxpc3QuCisK
KyAgICAgICAgVGVzdDogY3NzMy9kZXZpY2UtYWRhcHQvdmlld3BvcnRfYXRfcnVsZV9wYXJzaW5n
Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFy
LnkuaW46CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OkNTU1BhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVj
dEF0VG9rZW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OmNyZWF0ZVZpZXdwb3J0UnVsZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAg
ICAgICAoQ1NTUGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1ZpZXdw
b3J0U2NvcGVTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtWaWV3cG9y
dFNjb3BlRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aW5WaWV3cG9ydFNjb3Bl
KToKKyAgICAgICAgVGhlc2UgbWV0aG9kcyBhcmUgbmVlZGVkIGJ5IHRoZSBuZXh0IHBhdGNoIHZh
bGlkYXRpbmcgdGhlIHByb3BlcnRpZXMuCisgICAgICAgIFNvbWUgdmlld3BvcnQgcHJvcGVydGll
cyBhcmUgY29tbW9uIHRvIG90aGVyIHJ1bGVzIGJ1dCBoYXZlIGRpZmZlcmVudAorICAgICAgICBz
ZW1hbnRpY3MsIGFuZCBhY2NlcHRzIGRpZmZlcmVudCBrZXl3b3Jkcy4gVGhlIHZhbGlkYXRpb24g
bmVlZHMgdG8gYmUKKyAgICAgICAgZG9uZSBpbiBhIGRpZmZlcmVudCBjb2RlIHBhdGguCisKKyAg
ICAgICAgKiBjc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmg6CisgICAgICAgICogY3NzL0NTU1J1
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjpj
c3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6OmRlc3Ryb3kpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUnVsZTo6cmVhdHRhY2gpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmg6CisgICAgICAgIChD
U1NSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6OmlzVmlld3BvcnRSdWxlKToKKyAg
ICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJh
c2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6
OmRlc3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y29weSk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVWaWV3cG9ydDo6U3R5bGVS
dWxlVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlVmlld3BvcnQ6On5TdHls
ZVJ1bGVWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVWaWV3cG9ydDo6bXV0
YWJsZVByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlVmlld3BvcnQ6OnNl
dFByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlVmlld3BvcnQ6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6aXNWaWV3cG9ydFJ1bGUpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChTdHlsZVJ1bGVWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJ1bGVWaWV3cG9ydDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVs
ZVZpZXdwb3J0Ojpwcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZVZpZXdw
b3J0Ojpjb3B5KToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdw
b3J0UnVsZTo6V2ViS2l0Q1NTVmlld3BvcnRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktp
dENTU1ZpZXdwb3J0UnVsZTo6fldlYktpdENTU1ZpZXdwb3J0UnVsZSk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OnN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YktpdENTU1ZpZXdwb3J0UnVsZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRD
U1NWaWV3cG9ydFJ1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1Zp
ZXdwb3J0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3Mv
V2ViS2l0Q1NTVmlld3BvcnRSdWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisKIDIw
MTItMTAtMjYgIFZpbmNlbnQgU2NoZWliICA8c2NoZWliQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTMyNjQ0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCA4N2Y3Y2FkNTVmNzNkYjY4YjBiM2JlYzkxMDhjYjQzZWFiNDhmOTQ0Li4yNWExNWI4NjRhNTQx
N2QxN2FjNzMxOWNhYWFmNGU5N2ZiZjcyMGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTEw
Miw2ICsxMTAyLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9XZWJLaXRDU1NTVkdE
b2N1bWVudFZhbHVlLmNwcAogICAgIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKICAgICBj
c3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCisgICAgY3NzL1dlYktpdENTU1ZpZXdwb3J0
UnVsZS5jcHAKIAogICAgIGRvbS9BY3RpdmVET01PYmplY3QuY3BwCiAgICAgZG9tL0F0dHIuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAzOWUzN2I2ZGVjN2MxM2JkZjU3NmQ5
OTE5MWE5N2NlY2QwNGE4YTcwLi4wNjczOTk4M2ZmZjBhNzQ1ZTViY2FlYTY3YzhhYzY4Zjc4YmIz
ZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI2ODcsNiArMjY4Nyw4IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRl
clZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIFwKKwlT
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
QWN0aXZlRE9NT2JqZWN0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVj
dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNGNl
OGYxMWM2MjBhZGFkODU1MjJmYmRiYmJjOTliNmI2OTUyMDNhYS4uZThhZmEyN2I3MmU3NzZjNmRk
Njc2ZjIxODBlNTlkZTYwMzMwNGU1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zMzksNiArMzM5LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwIFwKICAg
ICBjc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUuY3BwIFwKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBcCiAgICAg
ZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBcCiAgICAgZG9tL0Jl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCBcCkBAIC0xNTEyLDYgKzE1MTMsNyBAQCBIRUFERVJT
ICs9IFwKICAgICBjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5oIFwKICAgICBjc3MvV2Vi
S2l0Q1NTU2hhZGVyVmFsdWUuaCBcCiAgICAgY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgg
XAorICAgIGNzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCBcCiAgICAgZG9tL0FjdGl2ZURPTU9i
amVjdC5oIFwKICAgICBkb20vQXR0ci5oIFwKICAgICBkb20vQXR0cmlidXRlLmggXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IGI5MjA0MTMyMDMyMmU4MzlkNDIxOGVkNWNkYTYzMGNjZTgyOWNhNjIuLjI1
MWY3OTQ5YmVhNGUxNDMwNzEyMWQzMmVhMTdmNTQzMzcxZDNlNzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTI2NzQsNiArMjY3NCw4IEBACiAgICAgICAgICAgICAnY3NzL1dlYktpdENTU1NWR0RvY3Vt
ZW50VmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1
ZS5oJywKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwJywKKyAg
ICAgICAgICAgICdjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgnLAorICAgICAgICAgICAgJ2Nz
cy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwJywKICAgICAgICAgICAgICdlZGl0aW5nL0FsdGVy
bmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdlZGl0aW5nL0FsdGVybmF0
aXZlVGV4dENvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAnZWRpdGluZy9BcHBlbmROb2RlQ29t
bWFuZC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCBmYThkYmZhOTYyMjJlN2NjMTg2N2FiNWMxZmI0M2UyYTY5YjRmMjA3Li41OTkwMzk0
NmJmZDZkMmM0MjIwYjJlYWVlMDZiZWE3ZjNiM2UxNTg1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzgxMjMsNiArMzgxMjMsMTQgQEAKIAkJ
CSAgICA+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXFdl
YktpdENTU1ZpZXdwb3J0UnVsZS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJICAgIFJlbGF0aXZlUGF0aD0iLi5cY3NzXEJhc2ljU2hh
cGVGdW5jdGlvbnMuaCIKIAkJCSAgICA+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjA2OTVkNDc1YTEwNjE4
OTkzMjg5ZTAyYWNlNjJiM2M1NTAyZGJlNS4uZTk0YzNlNTczNGQ4NTBjZWZiZDBhOTFhNDVjZmE2
ZjBkZGM3NmNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTAzMCw2ICsxMDMwLDggQEAKIAkJM0FDNjQ4QjIxMjlFMTQ2NTAw
QzNFQjI1IC8qIEVkaXRpbmdCb3VuZGFyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gM0FDNjQ4QjExMjlFMTQ2NTAwQzNFQjI1IC8qIEVkaXRpbmdCb3Vu
ZGFyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTNDMjQ0RkVBQTM3NUFDNjMzRjg4QkU2RiAvKiBSZW5kZXJMYXllck1vZGVsT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQzI0NEZFNEEzNzVB
QzYzM0Y4OEJFNkYgLyogUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTNDMjQ0RkVCQTM3NUFDNjMzRjg4QkU2
RiAvKiBSZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNDMjQ0RkU1QTM3NUFDNjMzRjg4QkU2RiAvKiBSZW5kZXJM
YXllck1vZGVsT2JqZWN0LmNwcCAqLzsgfTsKKwkJM0ZGRkY5QTgxNTlEOUE1NTAwMjBCQkQ1IC8q
IFdlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzRkZGRjlBNjE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmll
d3BvcnRSdWxlLmNwcCAqLzsgfTsKKwkJM0ZGRkY5QTkxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktp
dENTU1ZpZXdwb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gM0ZGRkY5QTcxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVs
ZS5oICovOyB9OwogCQk0MTAwMkNDRDBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVuY3Rpb25D
YWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTAw
MkNDQjBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVuY3Rpb25DYWxsLmggKi87IH07CiAJCTQx
MDAyQ0NFMEY2NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwMDJDQ0MwRjY2RURFRjAw
OUU2NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAgKi87IH07CiAJCTQxMEI3RTcyMTA0NUZB
QjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTBCN0U3MTEwNDVGQUIwMDBEODIyNEYgLyog
SlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwICovOyB9OwpAQCAtODE3Nyw2ICs4MTc5LDggQEAKIAkJ
M0FDNjQ4QjExMjlFMTQ2NTAwQzNFQjI1IC8qIEVkaXRpbmdCb3VuZGFyeS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0aW5nQm91bmRhcnkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJM0MyNDRGRTRBMzc1QUM2MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9k
ZWxPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzQzI0NEZFNUEzNzVB
QzYzM0Y4OEJFNkYgLyogUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJM0ZGRkY5QTYxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktp
dENTU1ZpZXdwb3J0UnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzRkZGRjlBNzE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdENTU1ZpZXdwb3J0UnVsZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTAwMkNDQjBGNjZFREVGMDA5RTY2MEQgLyog
U2NyaXB0RnVuY3Rpb25DYWxsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNj
cmlwdEZ1bmN0aW9uQ2FsbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTAwMkND
QzBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVuY3Rpb25DYWxsLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3Nh
Z2VFdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U01lc3NhZ2VFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
MTM5OSw2ICsyMTQwMyw4IEBACiAJCQkJQkM5QUREN0YwQ0M0MDkyMjAwMDk4QzRDIC8qIFdlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmNwcCAqLywKIAkJCQlCQzlBREQyMjBDQzQwMzI2MDAwOThDNEMg
LyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCAqLywKIAkJCQkzMTYxMUU1NDBFMUM0RDRBMDBG
NkE1NzkgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsICovLAorCQkJCTNGRkZGOUE2MTU5
RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwICovLAorCQkJCTNGRkZG
OUE3MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gY3NzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTI1NjcxLDYg
KzI1Njc3LDcgQEAKIAkJCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVT
b3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzNzkgLyogWFNT
QXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdCNjUxODAwMDA4RENFIC8q
IFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKKwkJCQkzRkZGRjlBOTE1OUQ5QTU1MDAyMEJCRDUg
LyogV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI4Nzg0LDYgKzI4
NzkxLDcgQEAKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFBQkY2NEQxNjM5MkUyODAwMTMyQTdBIC8qIExvYWRl
clN0cmF0ZWd5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTNGRkZGOUE4MTU5RDlBNTUwMDIwQkJE
NSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyYW1tYXIueS5pbgppbmRleCA0MDQ1MTEzNWNjYzA4NTJhZmE0ZTM5OWIxNTExNTMwZmQ0
NmUxZGJjLi5hN2NhYTk2ZWQxMDExNTY0MDEwMTM0NjNlNTdkYzU5MTE2OTdjMTljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KQEAgLTMsNiArMyw3IEBACiAgKiAgQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFByb3NrdXJ5
YWtvdiAoYXBAbnlwb3AuY29tKQogICogIENvcHlyaWdodCAoQykgMjAwOCBFcmljIFNlaWRlbCA8
ZXJpY0B3ZWJraXQub3JnPgorICogIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTEwOSw2ICsx
MTAsNyBAQCBzdGF0aWMgaW5saW5lIGludCBjc3N5eWVycm9yKHZvaWQqLCBjb25zdCBjaGFyKikK
ICV0b2tlbiBXRUJLSVRfTUVESUFRVUVSWV9TWU0KICV0b2tlbiBXRUJLSVRfU0VMRUNUT1JfU1lN
CiAldG9rZW4gV0VCS0lUX1JFR0lPTl9SVUxFX1NZTQorJXRva2VuIFdFQktJVF9WSUVXUE9SVF9S
VUxFX1NZTQogJXRva2VuIDxtYXJnaW5Cb3g+IFRPUExFRlRDT1JORVJfU1lNCiAldG9rZW4gPG1h
cmdpbkJveD4gVE9QTEVGVF9TWU0KICV0b2tlbiA8bWFyZ2luQm94PiBUT1BDRU5URVJfU1lNCkBA
IC0yMDYsNiArMjA4LDkgQEAgc3RhdGljIGlubGluZSBpbnQgY3NzeXllcnJvcih2b2lkKiwgY29u
c3QgY2hhciopCiAjaWYgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMKICV0eXBlIDxydWxl
PiBzdXBwb3J0cwogI2VuZGlmCisjaWYgRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTgorJXR5
cGUgPHJ1bGU+IHZpZXdwb3J0CisjZW5kaWYKIAogJXR5cGUgPHN0cmluZz4gbWF5YmVfbnNfcHJl
Zml4CiAKQEAgLTQxMCw2ICs0MTUsOCBAQCB2YWxpZF9ydWxlOgogI2VuZGlmCiAjaWYgRU5BQkxF
X1NIQURPV19ET00KICAgfCBob3N0CisjaWYgRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTgor
ICB8IHZpZXdwb3J0CiAjZW5kaWYKICAgOwogCkBAIC00MzksNiArNDQ2LDkgQEAgYmxvY2tfdmFs
aWRfcnVsZToKICAgfCBwYWdlCiAgIHwgZm9udF9mYWNlCiAgIHwga2V5ZnJhbWVzCisjaWYgRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTgorICB8IHZpZXdwb3J0CisjZW5kaWYKICAgOwogCiBi
bG9ja19ydWxlOgpAQCAtOTI5LDYgKzkzOSwzMyBAQCBob3N0OgogICAgIDsKICNlbmRpZgogCisj
aWYgRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTgorYmVmb3JlX3ZpZXdwb3J0X3J1bGU6Cisg
ICAgLyogZW1wdHkgKi8geworICAgICAgICBwYXJzZXItPm1hcmtWaWV3cG9ydFNjb3BlU3RhcnQo
KTsKKyAgICAgICAgcGFyc2VyLT5tYXJrUnVsZUhlYWRlclN0YXJ0KENTU1J1bGVTb3VyY2VEYXRh
OjpWSUVXUE9SVF9SVUxFKTsKKyAgICB9CisgICAgOworCit2aWV3cG9ydDoKKyAgICBiZWZvcmVf
dmlld3BvcnRfcnVsZSBXRUJLSVRfVklFV1BPUlRfUlVMRV9TWU0gYXRfcnVsZV9oZWFkZXJfZW5k
X21heWJlX3NwYWNlCisgICAgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBtYXliZV9zcGFjZV9iZWZv
cmVfZGVjbGFyYXRpb24gZGVjbGFyYXRpb25fbGlzdCBjbG9zaW5nX2JyYWNlIHsKKyAgICAgICAg
JCQgPSBwYXJzZXItPmNyZWF0ZVZpZXdwb3J0UnVsZSgpOworICAgICAgICBwYXJzZXItPm1hcmtW
aWV3cG9ydFNjb3BlRW5kKCk7CisgICAgfQorICAgIHwgYmVmb3JlX3ZpZXdwb3J0X3J1bGUgV0VC
S0lUX1ZJRVdQT1JUX1JVTEVfU1lNIGVycm9yIGludmFsaWRfYmxvY2sgeworICAgICAgICAkJCA9
IDA7CisgICAgICAgIHBhcnNlci0+cG9wUnVsZURhdGEoKTsKKyAgICAgICAgcGFyc2VyLT5tYXJr
Vmlld3BvcnRTY29wZUVuZCgpOworICAgIH0KKyAgICB8IGJlZm9yZV92aWV3cG9ydF9ydWxlIFdF
QktJVF9WSUVXUE9SVF9SVUxFX1NZTSBlcnJvciAnOycgeworICAgICAgICAkJCA9IDA7CisgICAg
ICAgIHBhcnNlci0+cG9wUnVsZURhdGEoKTsKKyAgICAgICAgcGFyc2VyLT5tYXJrVmlld3BvcnRT
Y29wZUVuZCgpOworICAgIH0KKzsKKyNlbmRpZgorCiByZWdpb25fc2VsZWN0b3I6CiAgICAgc2Vs
ZWN0b3JfbGlzdCB7CiAgICAgICAgIGlmICgkMSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApp
bmRleCA5NTM5MmU5Yjg4ZjZmMjRkZjgwMjVkMGRiMDEzN2IwNzlmZTIzMThhLi43NWFmNTg1NzU1
MDcyMTgwMzkyZjJhNWRiNDc0YTdlMTM1M2Q0ODZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cApAQCAtMjcxLDYgKzI3MSw5IEBAIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCiAgICAgLCBtX2xhc3RTZWxlY3RvckxpbmVOdW1iZXIoMCkKICAg
ICAsIG1fYWxsb3dJbXBvcnRSdWxlcyh0cnVlKQogICAgICwgbV9hbGxvd05hbWVzcGFjZURlY2xh
cmF0aW9ucyh0cnVlKQorI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgLCBt
X2luVmlld3BvcnRTY29wZShmYWxzZSkKKyNlbmRpZgogICAgICwgbV9zZWxlY3RvclZlY3Rvcihh
ZG9wdFB0cihuZXcgQ1NTU2VsZWN0b3JWZWN0b3IpKQogewogI2lmIFlZREVCVUcgPiAwCkBAIC05
MzE1LDggKzkzMTgsMTUgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3RBdFRva2VuKGlu
dCBsZW5ndGgsIGJvb2wgaGFzRXNjYXBlKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IGNhc2UgMTc6Ci0gICAgICAgICAgICBpZiAoIWhhc0VzY2FwZSAmJiBpc0VxdWFsVG9DU1NJZGVu
dGlmaWVyKG5hbWUgKyAyLCAid2Via2l0LXNlbGVjdG9yIikpCisgICAgICAgICAgICBpZiAoaGFz
RXNjYXBlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgaWYgKGlzQVND
SUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVsxNl0sICdyJykgJiYgaXNFcXVhbFRvQ1NTSWRlbnRp
ZmllcihuYW1lICsgMiwgIndlYmtpdC1zZWxlY3RvIikpCiAgICAgICAgICAgICAgICAgbV90b2tl
biA9IFdFQktJVF9TRUxFQ1RPUl9TWU07CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElP
TikKKyAgICAgICAgICAgIGVsc2UgaWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVsx
Nl0sICd0JykgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1lICsgMiwgIndlYmtpdC12aWV3
cG9yIikpCisgICAgICAgICAgICAgICAgbV90b2tlbiA9IFdFQktJVF9WSUVXUE9SVF9SVUxFX1NZ
TTsKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGNhc2UgMTg6CkBAIC0x
MDM4OSw2ICsxMDM5OSwyNCBAQCB2b2lkIENTU1BhcnNlcjo6bWFya1Byb3BlcnR5RW5kKGJvb2wg
aXNJbXBvcnRhbnRGb3VuZCwgYm9vbCBpc1Byb3BlcnR5UGFyc2VkKQogICAgIHJlc2V0UHJvcGVy
dHlSYW5nZSgpOwogfQogCisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKK1N0eWxl
UnVsZUJhc2UqIENTU1BhcnNlcjo6Y3JlYXRlVmlld3BvcnRSdWxlKCkKK3sKKyAgICBtX2FsbG93
SW1wb3J0UnVsZXMgPSBtX2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zID0gZmFsc2U7CisKKyAg
ICBSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IHJ1bGUgPSBTdHlsZVJ1bGVWaWV3cG9ydDo6Y3Jl
YXRlKCk7CisKKyAgICBydWxlLT5zZXRQcm9wZXJ0aWVzKGNyZWF0ZVN0eWxlUHJvcGVydHlTZXQo
KSk7CisgICAgY2xlYXJQcm9wZXJ0aWVzKCk7CisKKyAgICBTdHlsZVJ1bGVWaWV3cG9ydCogcmVz
dWx0ID0gcnVsZS5nZXQoKTsKKyAgICBtX3BhcnNlZFJ1bGVzLmFwcGVuZChydWxlLnJlbGVhc2Uo
KSk7CisgICAgcHJvY2Vzc0FuZEFkZE5ld1J1bGVUb1NvdXJjZVRyZWVJZk5lZWRlZCgpOworCisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3QgQ2hhcmFj
dGVyVHlwZSogcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBsZW5ndGgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKaW5kZXggOGIwOTY3YThmNmE3YTQ1M2UyM2ZmMmQ1NjYyMjAyZDc4NGY5ZTNmMi4uZjAx
YThkMTg4NzkyYjk2MWZmN2EzZWU0OWVhZDRjOTJjMzdhMWNlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaApAQCAtMzY3LDYgKzM2NywxMiBAQCBwdWJsaWM6CiAKICAgICBpbnQgdG9rZW4oKSB7IHJl
dHVybiBtX3Rva2VuOyB9CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAg
IHZvaWQgbWFya1ZpZXdwb3J0U2NvcGVTdGFydCgpIHsgbV9pblZpZXdwb3J0U2NvcGUgPSB0cnVl
OyB9CisgICAgdm9pZCBtYXJrVmlld3BvcnRTY29wZUVuZCgpIHsgbV9pblZpZXdwb3J0U2NvcGUg
PSBmYWxzZTsgfQorICAgIFN0eWxlUnVsZUJhc2UqIGNyZWF0ZVZpZXdwb3J0UnVsZSgpOworI2Vu
ZGlmCisKICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVO
dW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwogI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQpAQCAtNTE0LDYgKzUyMCwxMSBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9hbGxvd0ltcG9ydFJ1bGVzOwogICAgIGJvb2wgbV9hbGxvd05hbWVzcGFjZURlY2xh
cmF0aW9uczsKIAorI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgYm9vbCBp
blZpZXdwb3J0U2NvcGUoKSBjb25zdCB7IHJldHVybiBtX2luVmlld3BvcnRTY29wZTsgfQorICAg
IGJvb2wgbV9pblZpZXdwb3J0U2NvcGU7CisjZW5kaWYKKwogICAgIGludCAoQ1NTUGFyc2VyOjoq
bV9sZXhGdW5jKSh2b2lkKik7CiAKICAgICBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4g
bV9wYXJzZWRSdWxlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eVNvdXJjZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEu
aAppbmRleCAwNzllYzMzNjI0OTVjMDc5NzliNDc1YWZkZTc3NjAyMzg0Yzk5OTZmLi44OTgyYWNm
NzMxZTE4MTAxYWYwM2Y2YzE4MTFmMjM2ZWQ0ZTM5NWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCkBAIC05NSw3ICs5NSw4IEBAIHN0cnVjdCBDU1NSdWxl
U291cmNlRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPENTU1J1bGVTb3VyY2VEYXRhPiB7CiAgICAg
ICAgIFBBR0VfUlVMRSwKICAgICAgICAgS0VZRlJBTUVTX1JVTEUsCiAgICAgICAgIFJFR0lPTl9S
VUxFLAotICAgICAgICBIT1NUX1JVTEUKKyAgICAgICAgSE9TVF9SVUxFLAorICAgICAgICBWSUVX
UE9SVF9SVUxFCiAgICAgfTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU1J1bGVTb3VyY2VE
YXRhPiBjcmVhdGUoVHlwZSB0eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1J1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCmluZGV4IGNkNTMzZDlh
OGZkYzgyZTU3MTJlZmQ5NmNmYzdlNGE5NmZkZmRhN2YuLjZjNTIyYmQwM2VmODliYjQ3ZGE1MWJh
ZWZiZjIzNjhhMTVmNDYzNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKQEAgLTMwLDEyICszMCwx
MyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQu
aCIKICNpbmNsdWRlICJDU1NVbmtub3duUnVsZS5oIgotI2luY2x1ZGUgIldlYktpdENTU0tleWZy
YW1lUnVsZS5oIgotI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lc1J1bGUuaCIKLSNpbmNsdWRl
ICJXZWJLaXRDU1NSZWdpb25SdWxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJTdHlsZVNoZWV0Q29udGVudHMuaCIKKyNp
bmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgorI2luY2x1ZGUg
IldlYktpdENTU1ZpZXdwb3J0UnVsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUw
LDYgKzUxLDEwIEBAIENPTVBJTEVfQVNTRVJUKHNpemVvZihDU1NSdWxlKSA9PSBzaXplb2YoU2Ft
ZVNpemVBc0NTU1J1bGUpLCBDU1NSdWxlX3Nob3VsZF9zdGF5CiBDT01QSUxFX0FTU0VSVChTdHls
ZVJ1bGVCYXNlOjpSZWdpb24gPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlQmFzZTo6VHlwZT4oQ1NT
UnVsZTo6V0VCS0lUX1JFR0lPTl9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKICNlbmRpZgog
CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKK0NPTVBJTEVfQVNTRVJUKFN0eWxl
UnVsZUJhc2U6OlZpZXdwb3J0ID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZUJhc2U6OlR5cGU+KENT
U1J1bGU6OldFQktJVF9WSUVXUE9SVF9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKKyNlbmRp
ZgorCiB2b2lkIENTU1J1bGU6OnNldENzc1RleHQoY29uc3QgU3RyaW5nJiAvKmNzc1RleHQqLywg
RXhjZXB0aW9uQ29kZSYgLyplYyovKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkBAIC03Niw2
ICs4MSwxMCBAQCBTdHJpbmcgQ1NTUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlKj4odGhpcyktPmNzc1Rl
eHQoKTsKICAgICBjYXNlIFdFQktJVF9LRVlGUkFNRV9SVUxFOgogICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlKj4odGhpcyktPmNzc1RleHQoKTsK
KyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgIGNhc2UgV0VCS0lUX1ZJRVdQ
T1JUX1JVTEU6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NWaWV3
cG9ydFJ1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOworI2VuZGlmCiAjaWYgRU5BQkxFKENTU19SRUdJ
T05TKQogICAgIGNhc2UgV0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CkBAIC0x
MTUsNiArMTI0LDExIEBAIHZvaWQgQ1NTUnVsZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBXRUJLSVRf
S0VZRlJBTUVfUlVMRToKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdlYktpdENTU0tleWZy
YW1lUnVsZSo+KHRoaXMpOwogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKENTU19ERVZJQ0Vf
QURBUFRBVElPTikKKyAgICBjYXNlIFdFQktJVF9WSUVXUE9SVF9SVUxFOgorICAgICAgICBkZWxl
dGUgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTVmlld3BvcnRSdWxlKj4odGhpcyk7CisgICAgICAgIHJl
dHVybjsKKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBjYXNlIFdFQktJVF9S
RUdJT05fUlVMRToKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdlYktpdENTU1JlZ2lvblJ1
bGUqPih0aGlzKTsKQEAgLTE1NSw2ICsxNjksMTEgQEAgdm9pZCBDU1NSdWxlOjpyZWF0dGFjaChT
dHlsZVJ1bGVCYXNlKiBydWxlKQogICAgICAgICAvLyBObyBuZWVkIHRvIHJlYXR0YWNoLCB0aGUg
dW5kZXJseWluZyBkYXRhIGlzIHNoYXJlYWJsZSBvbiBtdXRhdGlvbi4KICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9B
REFQVEFUSU9OKQorICAgIGNhc2UgV0VCS0lUX1ZJRVdQT1JUX1JVTEU6CisgICAgICAgIHN0YXRp
Y19jYXN0PFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpLT5yZWF0dGFjaChzdGF0aWNfY2Fz
dDxTdHlsZVJ1bGVWaWV3cG9ydCo+KHJ1bGUpKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCiAj
aWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgIGNhc2UgV0VCS0lUX1JFR0lPTl9SVUxFOgogICAg
ICAgICBzdGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4odGhpcyktPnJlYXR0YWNoKHN0
YXRpY19jYXN0PFN0eWxlUnVsZVJlZ2lvbio+KHJ1bGUpKTsKQEAgLTE5NCw2ICsyMTMsMTEgQEAg
dm9pZCBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogICAgIGNhc2UgV0VCS0lUX0tFWUZSQU1FX1JVTEU6CiAgICAgICAg
IHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0tleWZyYW1lUnVsZSo+KHRoaXMpLT5yZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgICAgIHJldHVybjsK
KyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgIGNhc2UgV0VCS0lUX1ZJRVdQ
T1JUX1JVTEU6CisgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1ZpZXdwb3J0UnVs
ZSo+KHRoaXMpLT5yZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7
CisgICAgICAgIHJldHVybjsKKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBj
YXNlIFdFQktJVF9SRUdJT05fUlVMRToKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0
Q1NTUmVnaW9uUnVsZSo+KHRoaXMpLT5yZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5
T2JqZWN0SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCBiMzFmZTdiOGRlYmNhOWI3OWNmNGY4
ZGU2Y2ZmNzE3NmI1OTc1YjI2Li5hYjMwMDQ4ODdmNmRmMGJjYzU2YTViNzM2NTk1MzFjZmNiNDk2
MjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKQEAgLTU3LDYgKzU3LDkgQEAgcHVibGljOgogICAgICAg
ICAvLyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjkzPi4KICAg
ICAgICAgV0VCS0lUX0tFWUZSQU1FU19SVUxFLAogICAgICAgICBXRUJLSVRfS0VZRlJBTUVfUlVM
RSwKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgICAgICBXRUJLSVRfVklF
V1BPUlRfUlVMRSA9IDE1LAorI2VuZGlmCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgICAg
ICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNgogI2VuZGlmCkBAIC03Myw2ICs3NiwxMCBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc1N0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTVFlM
RV9SVUxFOyB9CiAgICAgYm9vbCBpc0ltcG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gSU1QT1JUX1JVTEU7IH0KIAorI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisg
ICAgYm9vbCBpc1ZpZXdwb3J0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBXRUJLSVRf
VklFV1BPUlRfUlVMRTsgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAg
Ym9vbCBpc1JlZ2lvblJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gV0VCS0lUX1JFR0lP
Tl9SVUxFOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggNjdmN2JjNzI4
MjcwMmQ1YWVjOGEzNDBkZTY2YTVlZWEzMmQwZmQxOS4uNzEzYzk3MTQ2NDRhZjJhYjA5MjFlYWI0
ZjczYmU0ODk3M2Y5YmRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgor
I2luY2x1ZGUgIldlYktpdENTU1ZpZXdwb3J0UnVsZS5oIgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlJ
bnN0cnVtZW50YXRpb25WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODIsNiAr
ODMsMTEgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIGNhc2UgSG9zdDoKICAgICAgICAg
c3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlQmxvY2sqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgICAgICByZXR1cm47CisjaWYgRU5B
QkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBjYXNlIFZpZXdwb3J0OgorICAgICAgICBz
dGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVWaWV3cG9ydCo+KHRoaXMpLT5yZXBvcnREZXNjZW5k
YW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgICAgIHJldHVybjsKKyNlbmRp
ZgogICAgIGNhc2UgVW5rbm93bjoKICAgICBjYXNlIENoYXJzZXQ6CiAgICAgY2FzZSBLZXlmcmFt
ZToKQEAgLTEyMyw2ICsxMjksMTEgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KCkKICAg
ICBjYXNlIEhvc3Q6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4o
dGhpcyk7CiAgICAgICAgIHJldHVybjsKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9O
KQorICAgIGNhc2UgVmlld3BvcnQ6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1
bGVWaWV3cG9ydCo+KHRoaXMpOworICAgICAgICByZXR1cm47CisjZW5kaWYKICAgICBjYXNlIFVu
a25vd246CiAgICAgY2FzZSBDaGFyc2V0OgogICAgIGNhc2UgS2V5ZnJhbWU6CkBAIC0xNTgsNiAr
MTY5LDEwIEBAIFBhc3NSZWZQdHI8U3R5bGVSdWxlQmFzZT4gU3R5bGVSdWxlQmFzZTo6Y29weSgp
IGNvbnN0CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlmcmFt
ZXMqPih0aGlzKS0+Y29weSgpOwogICAgIGNhc2UgSG9zdDoKICAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGNvbnN0IFN0eWxlUnVsZUhvc3QqPih0aGlzKS0+Y29weSgpOworI2lmIEVOQUJMRShD
U1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgY2FzZSBWaWV3cG9ydDoKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZVZpZXdwb3J0Kj4odGhpcyktPmNvcHkoKTsKKyNl
bmRpZgogICAgIGNhc2UgVW5rbm93bjoKICAgICBjYXNlIENoYXJzZXQ6CiAgICAgY2FzZSBLZXlm
cmFtZToKQEAgLTE5OSw2ICsyMTQsMTEgQEAgUGFzc1JlZlB0cjxDU1NSdWxlPiBTdHlsZVJ1bGVC
YXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIoQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQKICAgICBj
YXNlIEtleWZyYW1lczoKICAgICAgICAgcnVsZSA9IFdlYktpdENTU0tleWZyYW1lc1J1bGU6OmNy
ZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVLZXlmcmFtZXMqPihzZWxmKSwgcGFyZW50U2hlZXQp
OwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAg
IGNhc2UgVmlld3BvcnQ6CisgICAgICAgIHJ1bGUgPSBXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OmNy
ZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVWaWV3cG9ydCo+KHNlbGYpLCBwYXJlbnRTaGVldCk7
CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBIb3N0OgogICAgIGNhc2UgVW5rbm93
bjoKICAgICBjYXNlIENoYXJzZXQ6CkBAIC0zOTAsNCArNDEwLDM5IEBAIHZvaWQgU3R5bGVSdWxl
UmVnaW9uOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0CiAgICAgaW5mby5hZGRNZW1iZXIobV9zZWxlY3Rvckxpc3QpOwogfQogCisjaWYg
RU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKK1N0eWxlUnVsZVZpZXdwb3J0OjpTdHlsZVJ1
bGVWaWV3cG9ydCgpCisgICAgOiBTdHlsZVJ1bGVCYXNlKFZpZXdwb3J0LCAwKQoreworfQorCitT
dHlsZVJ1bGVWaWV3cG9ydDo6U3R5bGVSdWxlVmlld3BvcnQoY29uc3QgU3R5bGVSdWxlVmlld3Bv
cnQmIG8pCisgICAgOiBTdHlsZVJ1bGVCYXNlKG8pCisgICAgLCBtX3Byb3BlcnRpZXMoby5tX3By
b3BlcnRpZXMtPmNvcHkoKSkKK3sKK30KKworU3R5bGVSdWxlVmlld3BvcnQ6On5TdHlsZVJ1bGVW
aWV3cG9ydCgpCit7Cit9CisKK1N0eWxlUHJvcGVydHlTZXQqIFN0eWxlUnVsZVZpZXdwb3J0Ojpt
dXRhYmxlUHJvcGVydGllcygpCit7CisgICAgaWYgKCFtX3Byb3BlcnRpZXMtPmlzTXV0YWJsZSgp
KQorICAgICAgICBtX3Byb3BlcnRpZXMgPSBtX3Byb3BlcnRpZXMtPmNvcHkoKTsKKyAgICByZXR1
cm4gbV9wcm9wZXJ0aWVzLmdldCgpOworfQorCit2b2lkIFN0eWxlUnVsZVZpZXdwb3J0OjpzZXRQ
cm9wZXJ0aWVzKFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gcHJvcGVydGllcykKK3sKKyAg
ICBtX3Byb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOworfQorCit2b2lkIFN0eWxlUnVsZVZpZXdwb3J0
OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9wcm9wZXJ0aWVzKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9O
KQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKaW5kZXggYjdm
ZjUyMzI2Y2JmMjE4NDcyMWExMzQxYzgyOWEzODRmYzRhMzliOS4uYzM4NjliNGJmMWY5Y2FlZjk3
NDZhY2E3MjUzZWMwNDQ2NWJiZWIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtNDcsNiAr
NDcsNyBAQCBwdWJsaWM6CiAgICAgICAgIEtleWZyYW1lcywKICAgICAgICAgS2V5ZnJhbWUsIC8v
IE5vdCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBub24tcnVsZSBTdHlsZUtleWZyYW1lIG9i
amVjdHMuCiAgICAgICAgIEhvc3QsCisgICAgICAgIFZpZXdwb3J0ID0gMTUsCiAgICAgICAgIFJl
Z2lvbiA9IDE2CiAgICAgfTsKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxUeXBlPihtX3R5cGUpOyB9CkBAIC01OCw2ICs1OSw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzUGFnZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUGFnZTsgfQogICAgIGJvb2wg
aXNTdHlsZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGU7IH0KICAgICBib29s
IGlzUmVnaW9uUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBSZWdpb247IH0KKyAgICBi
b29sIGlzVmlld3BvcnRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFZpZXdwb3J0OyB9
CiAgICAgYm9vbCBpc0ltcG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gSW1wb3J0
OyB9CiAgICAgYm9vbCBpc0hvc3RSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEhvc3Q7
IH0KIApAQCAtMjM5LDYgKzI0MSwzMCBAQCBwcml2YXRlOgogICAgIFN0eWxlUnVsZUhvc3QoY29u
c3QgU3R5bGVSdWxlSG9zdCYgbykgOiBTdHlsZVJ1bGVCbG9jayhvKSB7IH0KIH07CiAKKyNpZiBF
TkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorY2xhc3MgU3R5bGVSdWxlVmlld3BvcnQgOiBw
dWJsaWMgU3R5bGVSdWxlQmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5
bGVSdWxlVmlld3BvcnQ+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHlsZVJ1bGVW
aWV3cG9ydCk7IH0KKworICAgIH5TdHlsZVJ1bGVWaWV3cG9ydCgpOworCisgICAgY29uc3QgU3R5
bGVQcm9wZXJ0eVNldCogcHJvcGVydGllcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy5n
ZXQoKTsgfQorICAgIFN0eWxlUHJvcGVydHlTZXQqIG11dGFibGVQcm9wZXJ0aWVzKCk7CisKKyAg
ICB2b2lkIHNldFByb3BlcnRpZXMoUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0Pik7CisKKyAg
ICBQYXNzUmVmUHRyPFN0eWxlUnVsZVZpZXdwb3J0PiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFN0eWxlUnVsZVZpZXdwb3J0KCp0aGlzKSk7IH0KKworICAgIHZvaWQgcmVwb3J0
RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKworcHJpdmF0
ZToKKyAgICBTdHlsZVJ1bGVWaWV3cG9ydCgpOworICAgIFN0eWxlUnVsZVZpZXdwb3J0KGNvbnN0
IFN0eWxlUnVsZVZpZXdwb3J0Jik7CisKKyAgICBSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gbV9w
cm9wZXJ0aWVzOworfTsKKyNlbmRpZiAvLyBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBTdHlsZVJ1bGVfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODE1
YjU2YjU0NGI3ZTdlMzM5YTZiYTIxMzVhZWEzOGZkN2U5MTIxCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAKQEAgLTAsMCArMSw5
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMKKyAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
CisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldlYktpdENTU1ZpZXdwb3J0UnVsZS5oIgorCisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURB
UFRBVElPTikKKworI2luY2x1ZGUgIlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIgor
I2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKKyNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNp
bmNsdWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dlYktpdENTU1Zp
ZXdwb3J0UnVsZTo6V2ViS2l0Q1NTVmlld3BvcnRSdWxlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3
cG9ydFJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KQorICAgIDogQ1NTUnVsZShzaGVldCwgQ1NT
UnVsZTo6V0VCS0lUX1ZJRVdQT1JUX1JVTEUpCisgICAgLCBtX3ZpZXdwb3J0UnVsZSh2aWV3cG9y
dFJ1bGUpCit7Cit9CisKK1dlYktpdENTU1ZpZXdwb3J0UnVsZTo6fldlYktpdENTU1ZpZXdwb3J0
UnVsZSgpCit7CisgICAgaWYgKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcikKKyAgICAgICAgbV9w
cm9wZXJ0aWVzQ1NTT01XcmFwcGVyLT5jbGVhclBhcmVudFJ1bGUoKTsKK30KKworQ1NTU3R5bGVE
ZWNsYXJhdGlvbiogV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpzdHlsZSgpIGNvbnN0Cit7CisgICAg
aWYgKCFtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpCisgICAgICAgIG1fcHJvcGVydGllc0NTU09N
V3JhcHBlciA9IFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb246OmNyZWF0ZShtX3ZpZXdwb3J0
UnVsZS0+bXV0YWJsZVByb3BlcnRpZXMoKSwgY29uc3RfY2FzdDxXZWJLaXRDU1NWaWV3cG9ydFJ1
bGUqPih0aGlzKSk7CisKKyAgICByZXR1cm4gbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLmdldCgp
OworfQorCitTdHJpbmcgV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sK
KyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiQC13
ZWJraXQtdmlld3BvcnQgeyAiKTsKKworICAgIFN0cmluZyBkZWNscyA9IG1fdmlld3BvcnRSdWxl
LT5wcm9wZXJ0aWVzKCktPmFzVGV4dCgpOworICAgIHJlc3VsdC5hcHBlbmQoZGVjbHMpOworICAg
IGlmICghZGVjbHMuaXNFbXB0eSgpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7CisKKyAg
ICByZXN1bHQuYXBwZW5kKCd9Jyk7CisKKyAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7Cit9
CisKK3ZvaWQgV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVWaWV3cG9y
dCogcnVsZSkKK3sKKyAgICBBU1NFUlQocnVsZSk7CisgICAgbV92aWV3cG9ydFJ1bGUgPSBydWxl
OworCisgICAgaWYgKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcikKKyAgICAgICAgbV9wcm9wZXJ0
aWVzQ1NTT01XcmFwcGVyLT5yZWF0dGFjaChtX3ZpZXdwb3J0UnVsZS0+bXV0YWJsZVByb3BlcnRp
ZXMoKSk7Cit9CisKK3ZvaWQgV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpyZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sK
KyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkNTUyk7CisgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgaW5mby5hZGRNZW1iZXIobV92aWV3cG9ydFJ1bGUp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShDU1NfREVWSUNFX0FEQVBU
QVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRS
dWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZThhMjdkMThjMGY5OTY1N2YzOTNiYzU1MmZkZTU0OTMyMTMyMDM3MgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaApAQCAt
MCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
ICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMg
SVPigJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAq
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYktpdENTU1Zp
ZXdwb3J0UnVsZV9oCisjZGVmaW5lIFdlYktpdENTU1ZpZXdwb3J0UnVsZV9oCisKKyNpZiBFTkFC
TEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1N0eWxlRGVjbGFyYXRpb247CitjbGFzcyBTdHlsZVJ1
bGVWaWV3cG9ydDsKK2NsYXNzIFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb247CisKK2NsYXNz
IFdlYktpdENTU1ZpZXdwb3J0UnVsZTogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdlYktpdENTU1ZpZXdwb3J0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZVZp
ZXdwb3J0KiB2aWV3cG9ydFJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUodmlld3BvcnRSdWxl
LCBzaGVldCkpOworICAgIH0KKyAgICB+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCk7CisKKyAgICBD
U1NTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSgpIGNvbnN0OworCisgICAgU3RyaW5nIGNzc1RleHQo
KSBjb25zdDsKKworICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlVmlld3BvcnQqKTsKKworICAg
IHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25z
dDsKKworcHJpdmF0ZToKKyAgICBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3Bv
cnQqLCBDU1NTdHlsZVNoZWV0Kik7CisKKyAgICBSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IG1f
dmlld3BvcnRSdWxlOworCisgICAgbXV0YWJsZSBSZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNs
YXJhdGlvbj4gbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gV2ViS2l0Q1NTVmlld3BvcnRSdWxlX2gKKworI2VuZGlmIC8v
IEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzVkOGVlZGFiNTFlMDg0MDg2
MjM0ODYzZTkyOGE0YzIxZTA0NDY0NS4uMzYwZmIwMjVjOWY1YTZmNTNjMjRjNTIyNmNiNmMxMzM3
ODk4MzAyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTEwLTI2ICBUaGlhZ28gTWFyY29z
IFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgorCisgICAgICAgIEFkZGVkIHZp
ZXdwb3J0IGF0LXJ1bGUgdG8gdGhlIENTUyBwYXJzZXIgYW5kIHRva2VuaXplcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU5NjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIHRlc3QgdGhhdCBk
ZXRlY3RzIGlmIHRoZSBALXdlYmtpdC12aWV3cG9ydCBydWxlIGlzIGJlaW5nCisgICAgICAgIHBh
cnNlZCBhbmQgc2tpcCB0aGUgdGVzdHMgb24gYWxsIHBvcnRzIHNpbmNlIHRoZSBmZWF0dXJlIGlz
IGRpc2FibGVkCisgICAgICAgIGJ5IGRlZmF1bHQgZm9yIGluc3RhbmNlLgorCisgICAgICAgIE5v
dGUgdGhhdCB0aGlzIHRlc3QgZG9lc24ndCBkbyBwcm9wZXJ0eSB2YWxpZGF0aW9uLCB3aGljaCB3
aWxsIGJlCisgICAgICAgIGFkZGVkIGluIHRoZSBuZXh0IHBhdGNoIG9mIHRoZSBzZXJpZXMuCisK
KyAgICAgICAgKiBjc3MzL2RldmljZS1hZGFwdC92aWV3cG9ydF9hdF9ydWxlX3BhcnNpbmctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2RldmljZS1hZGFwdC92aWV3cG9ydF9h
dF9ydWxlX3BhcnNpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
VGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTItMTAt
MjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgY29t
cG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXIqIGZsYWtleQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9kZXZpY2UtYWRhcHQvdmlld3BvcnRfYXRfcnVsZV9wYXJzaW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NzczMvZGV2aWNlLWFkYXB0L3ZpZXdwb3J0X2F0X3J1bGVfcGFyc2lu
Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY4N2I4NjNiODM4NTc0ZGY5NTA2MDI4YmQxNDA1
NDRkYjNiNjZkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZGV2aWNlLWFk
YXB0L3ZpZXdwb3J0X2F0X3J1bGVfcGFyc2luZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBA
CisKK1BBU1MgRW1wdHkgYXQtcnVsZSBwYXJzaW5nIAorUEFTUyBhdC1ydWxlIHdpdGggZXh0cmEg
c3BhY2VzIAorUEFTUyBSdWxlIHdpdGggYXR0cmlidXRlcyAKK1BBU1MgUnVsZSB3aXRoIG1hbGZv
cm1lZCBhdHRyaWJ1dGVzIAorUEFTUyBTaG91bGQgYmUgYWNjZXB0ZWQgaW5zaWRlIG1lZGlhIHF1
ZXJpZXMgCitQQVNTIFNob3VsZCBwYXJzZSBub24gY2xvc2VkIGJsb2NrIAorUEFTUyBTaG91bGQg
aWdub3JlIHVucHJlZml4ZWQgYXQtcnVsZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9kZXZpY2UtYWRhcHQvdmlld3BvcnRfYXRfcnVsZV9wYXJzaW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9jc3MzL2RldmljZS1hZGFwdC92aWV3cG9ydF9hdF9ydWxlX3BhcnNpbmcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lMDEzNGQ3NTE1OTBiYWQyMmY0ZDYxNjI1MTgwYWQwMzgzMzgwOTRjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9kZXZpY2UtYWRhcHQvdmlld3BvcnRfYXRfcnVsZV9w
YXJzaW5nLmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAgIEAtd2Via2l0LXZpZXdw
b3J0IHsKKyAgICAgICAgfQorCisgICAgICAgIEAtd2Via2l0LXZpZXdwb3J0ICAgICAgICAgIHsK
KyAgICAgICAgfQorCisgICAgICAgIEAtd2Via2l0LXZpZXdwb3J0IHsKKyAgICAgICAgICAgIG1h
eC1oZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CisgICAgICAg
IH0KKworICAgICAgICBALXdlYmtpdC12aWV3cG9ydCB7CisgICAgICAgICAgICBhc2Rhc2QKKyAg
ICAgICAgfQorCisgICAgICAgIEBtZWRpYSBhbGwgeworICAgICAgICAgICAgQC13ZWJraXQtdmll
d3BvcnQgeworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgQC13ZWJraXQtdmll
d3BvcnQgeworCisgICAgICAgIEAtd2Via2l0LXZpZXdwb3J0IHsKKyAgICAgICAgICAgIG1heC1o
ZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CisKKyAgICAgICAg
QHZpZXdwb3J0IHsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vZGV2LnczLm9yZy9j
c3N3Zy9jc3MtZGV2aWNlLWFkYXB0LyNzeW50YXgiIC8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICB2YXIgcnVsZXMgPSBkb2N1bWVudC5z
dHlsZVNoZWV0c1swXS5jc3NSdWxlczsKKworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhydWxlcy5pdGVtKDApLmNzc1RleHQsICJALXdlYmtpdC12
aWV3cG9ydCB7IH0iKTsKKyAgICAgICAgfSwgIkVtcHR5IGF0LXJ1bGUgcGFyc2luZyIpOworCisg
ICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVz
Lml0ZW0oMSkuY3NzVGV4dCwgIkAtd2Via2l0LXZpZXdwb3J0IHsgfSIpOworICAgICAgICB9LCAi
YXQtcnVsZSB3aXRoIGV4dHJhIHNwYWNlcyIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oMikuY3NzVGV4dCwgIkAtd2Vi
a2l0LXZpZXdwb3J0IHsgbWF4LWhlaWdodDogMjAwcHg7IG1pbi1oZWlnaHQ6IDIwMHB4OyB9Iik7
CisgICAgICAgIH0sICJSdWxlIHdpdGggYXR0cmlidXRlcyIpOworCisgICAgICAgIHRlc3QoZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oMykuY3NzVGV4
dCwgIkAtd2Via2l0LXZpZXdwb3J0IHsgfSIpOworICAgICAgICB9LCAiUnVsZSB3aXRoIG1hbGZv
cm1lZCBhdHRyaWJ1dGVzIik7CisKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMocnVsZXMuaXRlbSg0KS5jc3NUZXh0LCAiQG1lZGlhIGFsbCB7IFxu
ICBALXdlYmtpdC12aWV3cG9ydCB7IH1cbn0iKTsKKyAgICAgICAgfSwgIlNob3VsZCBiZSBhY2Nl
cHRlZCBpbnNpZGUgbWVkaWEgcXVlcmllcyIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oNSkuY3NzVGV4dCwgIkAtd2Vi
a2l0LXZpZXdwb3J0IHsgfSIpOworICAgICAgICB9LCAiU2hvdWxkIHBhcnNlIG5vbiBjbG9zZWQg
YmxvY2siKTsKKworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhydWxlcy5sZW5ndGgsIDYpCisgICAgICAgIH0sICJTaG91bGQgaWdub3JlIHVucHJl
Zml4ZWQgYXQtcnVsZSIpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRp
diBpZD0ibG9nIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDAzMjM5NDAzMmQ4NDQxZDA3MmU4
NDkzMDE5YzAxOTE3MWI0MzE1NjMuLjE0MTMyMTRkMjk3MWY4MWRhZDA3M2Q1NDE2MTVmMTUzOTVl
MzcwNzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNDA5OSwzICs0MDk5LDYgQEAgd2Via2l0Lm9yZy9iLzEwMDQ3NyBbIFdpbiBdIHBs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvc3VnZ2VzdGlvbi1waWNrZXIvZGF0ZS0KIAogd2Vi
a2l0Lm9yZy9iLzEwMDQ4MCBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2NhbGVuZGFyLXBp
Y2tlci9jYWxlbmRhci1waWNrZXItYXBwZWFyYW5jZS1zdGVwLmh0bWwgWyBQYXNzIEltYWdlT25s
eUZhaWx1cmUgXQogCisjIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4KK3dl
YmtpdC5vcmcvYi85NTk1OSBjc3MzL2RldmljZS1hZGFwdCBbIFNraXAgXQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDJhNzJkZDNjYWU1ZTQyOWJhNGFh
Y2RkZTQxYTg2ZDM1MWQwNzA2MmIuLjZmN2Y5NjVmNTVmNjg1NzhkNDc2NzI0YWRiN2M0ZTA0NTdk
Y2UwNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBAIC0x
NjY5LDMgKzE2NjksNiBAQCB3ZWJraXQub3JnL2IvNjExMzggaHR0cC90ZXN0cy93M2Mvd2VicGVy
Zi9zdWJtaXNzaW9uL0ludGVsL3Jlc291cmNlLXRpbWluZyBbIFNraQogIyBUaGUgcmVkIHNlY3Rp
b24gaXMgcmVuZGVyZWQgYXQgdGhlIHdyb25nIHBvc2l0aW9uLgogd2Via2l0Lm9yZy9iLzEwMDUx
OSBmYXN0L2ltYWdlcy9qcGVnLXdpdGgtY29sb3ItcHJvZmlsZS5odG1sIFsgU2tpcCBdCiB3ZWJr
aXQub3JnL2IvMTAwNTE5IGZhc3QvaW1hZ2VzL3BuZy13aXRoLWNvbG9yLXByb2ZpbGUuaHRtbCBb
IFNraXAgXQorCisjIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4KK3dlYmtp
dC5vcmcvYi85NTk1OSBjc3MzL2RldmljZS1hZGFwdCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiYmJjY2U5YjQ4ODkzNTczNTliYTQ4MjE2
Y2E4OThjNjQzNWQ2NjMxLi5iZTJjMDFlMDc2MTBiNTdmNzE0MjhmZDkxNjllNTA0NjYwZTcyNGIx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQyMSwz
ICsxNDIxLDYgQEAgd2Via2l0Lm9yZy9iLzk4NzE4IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtY3Nz
LXhtbC1hdHRyaWJ1dGVUeXBlLmh0bWwgWyBGYWlsdXJlIF0KICMvLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCiAjIEVuZCBvZiBUZXN0cyBmYWlsaW5nCiAjLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLworCisjIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4K
K3dlYmtpdC5vcmcvYi85NTk1OSBjc3MzL2RldmljZS1hZGFwdCBbIFNraXAgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkMzkzM2VhY2JjMzVmYTM3NjY0
Mjk4Y2RlYmRiMTcwYzc3Y2JlMTRhLi4wNWVlMDYyYjZhZGFmYzFhODJhMWIzY2EwMzNlZDEwNzk3
NGM2MmVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTM1MCwzICsxMzUwLDYgQEAgd2Via2l0Lm9yZy9iLzYxMTM4IGh0dHAvdGVzdHMvdzNjL3dlYnBl
cmYvc3VibWlzc2lvbi9JbnRlbC9yZXNvdXJjZS10aW1pbmcgWyBTa2kKIAogIyBUaWxlQ2FjaGUg
dGVzdHMgdGhhdCBkb24ndCBhcHBseSB0byBXSzEgKHRoZXkgYXJlIHJlLWVuYWJsZWQgdmlhIHRo
ZSBXSzIgVGVzdEV4cGVjdGF0aW9ucyBmaWxlKQogcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcv
IFsgU2tpcCBdCisKKyMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5vdCBlbmFibGVkLgord2Vi
a2l0Lm9yZy9iLzk1OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxNzU5OWY0NDg1YjcwNDFjZWM0ODJiYTRj
MDgzNWNiNmEyZmJmNGEwLi40OTBhMDI1NjE2MTFjYjA4MGQyMDZjNjk2ODQ1NTc2ZjQwNjQyODE0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0ODYsMyAr
MjQ4Niw2IEBAIHdlYmtpdC5vcmcvYi8xMDAxMTcgZmFzdC94bWxodHRwcmVxdWVzdC94bWxodHRw
cmVxdWVzdC1yZWN1cnNpdmUtc3luYy1ldmVudC5odG1sCiAKICMgW1F0XSBOZXcgaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay9pbWFnZS1hcy10ZXh0LWxvYWRpbmctZGF0YS11cmwuaHRtbCBm
YWlscwogd2Via2l0Lm9yZy9iLzEwMDE5NiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2lt
YWdlLWFzLXRleHQtbG9hZGluZy1kYXRhLXVybC5odG1sCisKKyMgQ1NTIERldmljZSBBZGFwdGF0
aW9uIGlzIG5vdCBlbmFibGVkLgord2Via2l0Lm9yZy9iLzk1OTY5IGNzczMvZGV2aWNlLWFkYXB0
IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDM2NDk1YTYxY2Y3Nzc0ZDc1NDY4M2JiYjZhYzE2NTk0YTdiNzMwYTYuLjZhNDhiNmZmODc0ZDRh
MDk4YjUxMDJmYmFiNzkxNGE1ZTkyMzVhNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yMzcxLDMgKzIzNzEsNiBAQCBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3RpbWVvdXQveG1saHR0cHJlcXVlc3QtdGltZW91dC13b3JrZXItb3ZlcnJpZGVzZXhw
aXJlcwogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC90aW1lb3V0L3htbGh0dHByZXF1ZXN0LXRp
bWVvdXQtd29ya2VyLXNpbXBsZS5odG1sCiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3RpbWVv
dXQveG1saHR0cHJlcXVlc3QtdGltZW91dC13b3JrZXItc3luY29ud29ya2VyLmh0bWwKIGh0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvdGltZW91dC94bWxodHRwcmVxdWVzdC10aW1lb3V0LXdvcmtl
ci10d2ljZS5odG1sCisKKyMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5vdCBlbmFibGVkLgor
d2Via2l0Lm9yZy9iLzk1OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmMGNiYzAwMmMy
MzQ1NzhmYTlhZjY0M2NkNTQ2NDQ4NDc4Zjc1ODkzLi5hMjhiYzE0YjQzMmQwYjg3OGZjNjg5ODI2
ZGMxNmU2ODZkZmM4OWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWly
by9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTI4MTAsMyArMjgxMCw2IEBAIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvcmFuZ2UtdGVzdC5odG1sCiAKICMgY3NzMy1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBu
b3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCisK
KyMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5vdCBlbmFibGVkLgord2Via2l0Lm9yZy9iLzk1
OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171086</attachid>
            <date>2012-10-27 04:16:48 -0700</date>
            <delta_ts>2012-10-31 08:17:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95961-20121027141517.patch</filename>
            <type>text/plain</type>
            <size>44730</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmY1OTY3M2RiMTI4Yzkz
MjU5MmQ1ODdhZDA1NDNiYTM5YzE2ZDA4MC4uOTc3NTkxNTQxYzRlYjJmZjA1ZTUzODY1YmE4OTdm
YjIzMGMwOTI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTEwLTI3ICBUaGlh
Z28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgorCisgICAgICAg
IEFkZGVkIHZpZXdwb3J0IGF0LXJ1bGUgdG8gdGhlIENTUyBwYXJzZXIgYW5kIHRva2VuaXplcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU5NjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdG9rZW5z
IGFuZCBncmFtbWFyIHJ1bGVzIHRvIHBhcnNlIEAtd2Via2l0LXZpZXdwb3J0IGJsb2Nrcy4gQWxz
byBhZGQKKyAgICAgICAgdGhlIG5ld2x5IHBhcnNlZCBydWxlIHRvIHRoZSBydWxlIGxpc3QuCisK
KyAgICAgICAgVGhpcyBwYXJzZXIgbm93IGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBwYXJ0IG9m
IHRoZSBDU1MgRGV2aWNlIEFkYXB0YXRpb24KKyAgICAgICAgc3BlY2lmaWNhdGlvbjogaHR0cDov
L3d3dy53My5vcmcvVFIvY3NzLWRldmljZS1hZGFwdC8jc3ludGF4CisKKyAgICAgICAgVGVzdDog
Y3NzMy9kZXZpY2UtYWRhcHQvdmlld3BvcnQtYXQtcnVsZS1wYXJzaW5nLmh0bWwKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisgICAgICAg
ICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OkNTU1Bh
cnNlcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdEF0VG9rZW4pOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNyZWF0ZVZpZXdw
b3J0UnVsZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAoQ1NTUGFyc2Vy
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1ZpZXdwb3J0U2NvcGVTdGFydCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtWaWV3cG9ydFNjb3BlRW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aW5WaWV3cG9ydFNjb3BlKToKKworICAgICAgICAg
ICAgVGhlc2UgbWV0aG9kcyBhcmUgbmVlZGVkIGJ5IHRoZSBuZXh0IHBhdGNoIHZhbGlkYXRpbmcg
dGhlIHByb3BlcnRpZXMuCisgICAgICAgICAgICBTb21lIHZpZXdwb3J0IHByb3BlcnRpZXMgYXJl
IGNvbW1vbiB0byBvdGhlciBydWxlcyBidXQgaGF2ZSBkaWZmZXJlbnQKKyAgICAgICAgICAgIHNl
bWFudGljcywgYW5kIGFjY2VwdHMgZGlmZmVyZW50IGtleXdvcmRzLiBUaGUgdmFsaWRhdGlvbiBu
ZWVkcyB0byBiZQorICAgICAgICAgICAgZG9uZSBpbiBhIGRpZmZlcmVudCBjb2RlIHBhdGguCisK
KyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmg6CisgICAgICAgICogY3NzL0NT
U1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxl
Ojpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6OmRlc3Ryb3kpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUnVsZTo6cmVhdHRhY2gpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVs
ZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmg6CisgICAgICAg
IChDU1NSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6OmlzVmlld3BvcnRSdWxlKToK
KyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVs
ZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJh
c2U6OmRlc3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y29weSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVWaWV3cG9ydDo6U3R5
bGVSdWxlVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlVmlld3BvcnQ6On5T
dHlsZVJ1bGVWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVWaWV3cG9ydDo6
bXV0YWJsZVByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlVmlld3BvcnQ6
OnNldFByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlVmlld3BvcnQ6OnJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6aXNWaWV3cG9ydFJ1bGUpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChTdHlsZVJ1bGVWaWV3cG9ydCk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJ1bGVWaWV3cG9ydDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UnVsZVZpZXdwb3J0Ojpwcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZVZp
ZXdwb3J0Ojpjb3B5KToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1Zp
ZXdwb3J0UnVsZTo6V2ViS2l0Q1NTVmlld3BvcnRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YktpdENTU1ZpZXdwb3J0UnVsZTo6fldlYktpdENTU1ZpZXdwb3J0UnVsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OnN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYktpdENTU1ZpZXdwb3J0UnVsZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJL
aXRDU1NWaWV3cG9ydFJ1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENT
U1ZpZXdwb3J0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisK
IDIwMTItMTAtMjYgIFBoaWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBQ
cmV2ZW50IE5hTiBvZmZzZXQgdmFsdWVzIGluIEVsZW1lbnRUaW1lQ29udHJvbC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggODdmN2NhZDU1ZjczZGI2OGIwYjNiZWM5MTA4Y2I0M2VhYjQ4Zjk0NC4u
MjVhMTViODY0YTU0MTdkMTdhYzczMTljYWFhZjRlOTdmYmY3MjBhZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTExMDIsNiArMTEwMiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3Mv
V2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKICAgICBjc3MvV2ViS2l0Q1NTU2hhZGVyVmFs
dWUuY3BwCiAgICAgY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAorICAgIGNzcy9XZWJL
aXRDU1NWaWV3cG9ydFJ1bGUuY3BwCiAKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmNwcAogICAg
IGRvbS9BdHRyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMzllMzdiNmRl
YzdjMTNiZGY1NzZkOTkxOTFhOTdjZWNkMDRhOGE3MC4uMDY3Mzk5ODNmZmYwYTc0NWU1YmNhZWE2
N2M4YWM2OGY3OGJiM2YzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNjg3
LDYgKzI2ODcsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NTaGFkZXJWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9B
Y3RpdmVET01PYmplY3QuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCmluZGV4IDRjZThmMTFjNjIwYWRhZDg1NTIyZmJkYmJiYzk5YjZiNjk1MjAzYWEuLmU4YWZh
MjdiNzJlNzc2YzZkZDY3NmYyMTgwZTU5ZGU2MDMzMDRlNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMzM5
LDYgKzMzOSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZh
bHVlLmNwcCBcCiAgICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcCBcCiAgICAgY3NzL1dl
YktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBcCisgICAgY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVs
ZS5jcHAgXAogICAgIGRvbS9BY3RpdmVET01PYmplY3QuY3BwIFwKICAgICBkb20vQXR0ci5jcHAg
XAogICAgIGRvbS9CZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAgXApAQCAtMTUxMiw2ICsxNTEz
LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuaCBc
CiAgICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmggXAogICAgIGNzcy9XZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS5oIFwKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogICAgIGRv
bS9BY3RpdmVET01PYmplY3QuaCBcCiAgICAgZG9tL0F0dHIuaCBcCiAgICAgZG9tL0F0dHJpYnV0
ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBiOTIwNDEzMjAzMjJlODM5ZDQyMThlZDVjZGE2MzBj
Y2U4MjljYTYyLi4yNTFmNzk0OWJlYTRlMTQzMDcxMjFkMzJlYTE3ZjU0MzM3MWQzZTc1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0yNjc0LDYgKzI2NzQsOCBAQAogICAgICAgICAgICAgJ2Nzcy9XZWJL
aXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL1dlYktpdENTU1NW
R0RvY3VtZW50VmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL1dlYktpdENTU1RyYW5zZm9ybVZh
bHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oJywKKyAg
ICAgICAgICAgICdjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCcsCiAgICAgICAgICAgICAn
ZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAnZWRp
dGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmgnLAogICAgICAgICAgICAgJ2VkaXRpbmcv
QXBwZW5kTm9kZUNvbW1hbmQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKaW5kZXggZmE4ZGJmYTk2MjIyZTdjYzE4NjdhYjVjMWZiNDNlMmE2OWI0
ZjIwNy4uNTk5MDM5NDZiZmQ2ZDJjNDIyMGIyZWFlZTA2YmVhN2YzYjNlMTU4NSAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTM4MTIzLDYgKzM4
MTIzLDE0IEBACiAJCQkgICAgPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGNzc1xXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcV2ViS2l0Q1NTVmlld3BvcnRSdWxl
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCSAgICBSZWxhdGl2ZVBhdGg9Ii4u
XGNzc1xCYXNpY1NoYXBlRnVuY3Rpb25zLmgiCiAJCQkgICAgPgogCQkJPC9GaWxlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE2
Y2VkZWMyNTU1NmZiNTE1OWIyNGE5MDc4ZWQzODBmYTdhYzM1ZmYuLmVmMmFhM2M3YjE2YjY2NmI5
YTY5YzY0NzcxNjFlOWI0YWE1MTZmOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMzAsNiArMTAzMCw4IEBACiAJCTNBQzY0
OEIyMTI5RTE0NjUwMEMzRUIyNSAvKiBFZGl0aW5nQm91bmRhcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBQzY0OEIxMTI5RTE0NjUwMEMzRUIyNSAv
KiBFZGl0aW5nQm91bmRhcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkzQzI0NEZFQUEzNzVBQzYzM0Y4OEJFNkYgLyogUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
M0MyNDRGRTRBMzc1QUM2MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9kZWxPYmplY3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzQzI0NEZFQkEz
NzVBQzYzM0Y4OEJFNkYgLyogUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQzI0NEZFNUEzNzVBQzYzM0Y4OEJF
NkYgLyogUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgKi87IH07CisJCTNGRkZGOUE4MTU5RDlB
NTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0ZGRkY5QTYxNTlEOUE1NTAwMjBCQkQ1IC8q
IFdlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgKi87IH07CisJCTNGRkZGOUE5MTU5RDlBNTUwMDIw
QkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGRkZGOUE3MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGUuaCAqLzsgfTsKIAkJNDEwMDJDQ0QwRjY2RURFRjAwOUU2NjBEIC8qIFNj
cmlwdEZ1bmN0aW9uQ2FsbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDEwMDJDQ0IwRjY2RURFRjAwOUU2NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5o
ICovOyB9OwogCQk0MTAwMkNDRTBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVuY3Rpb25DYWxs
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDAy
Q0NDMEY2NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuY3BwICovOyB9OwogCQk0
MTBCN0U3MjEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwQjdFNzExMDQ1RkFC
MDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKQEAgLTgxNzcsNiAr
ODE3OSw4IEBACiAJCTNBQzY0OEIxMTI5RTE0NjUwMEMzRUIyNSAvKiBFZGl0aW5nQm91bmRhcnku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdGluZ0JvdW5kYXJ5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNDMjQ0RkU0QTM3NUFDNjMzRjg4QkU2RiAvKiBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJlbmRlckxheWVyTW9kZWxPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
M0MyNDRGRTVBMzc1QUM2MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTNGRkZGOUE2MTU5RDlBNTUwMDIw
QkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJM0ZGRkY5QTcxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdw
b3J0UnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRDU1NWaWV3
cG9ydFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwMDJDQ0IwRjY2RURF
RjAwOUU2NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTY3JpcHRGdW5jdGlvbkNhbGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDEwMDJDQ0MwRjY2RURFRjAwOUU2NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRGdW5jdGlvbkNhbGwu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTBCN0U3MTEwNDVGQUIwMDBEODIy
NEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjEzOTksNiArMjE0MDMsOCBAQAogCQkJCUJDOUFERDdGMENDNDA5MjIwMDA5
OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8sCiAJCQkJQkM5QUREMjIwQ0M0
MDMyNjAwMDk4QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi8sCiAJCQkJMzE2MTFF
NTQwRTFDNEQ0QTAwRjZBNTc5IC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbCAqLywKKwkJ
CQkzRkZGRjlBNjE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCAq
LywKKwkJCQkzRkZGRjlBNzE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3BvcnRSdWxl
LmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNzczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CkBAIC0yNTY3MSw2ICsyNTY3Nyw3IEBACiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8q
IFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAw
QzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1
MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJM0ZGRkY5QTkxNTlE
OUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0yODc4NCw2ICsyODc5MSw3IEBACiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhT
U0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENF
IC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQUJGNjREMTYzOTJFMjgwMDEz
MkE3QSAvKiBMb2FkZXJTdHJhdGVneS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzRkZGRjlBODE1
OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KaW5kZXggNDA0NTExMzVjY2MwODUyYWZhNGUz
OTliMTUxMTUzMGZkNDZlMWRiYy4uZWU4MGYzNmQ3MjAwOWNhN2EyNzg5MTJlZWU0ZDQyNmIzNGM2
MTIwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCkBAIC0zLDYgKzMsNyBAQAogICog
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA2IEFs
ZXhleSBQcm9za3VyeWFrb3YgKGFwQG55cG9wLmNvbSkKICAqICBDb3B5cmlnaHQgKEMpIDIwMDgg
RXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMTIgSW50
ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CkBAIC0xMDksNiArMTEwLDcgQEAgc3RhdGljIGlubGluZSBpbnQgY3NzeXllcnJvcih2b2lkKiwg
Y29uc3QgY2hhciopCiAldG9rZW4gV0VCS0lUX01FRElBUVVFUllfU1lNCiAldG9rZW4gV0VCS0lU
X1NFTEVDVE9SX1NZTQogJXRva2VuIFdFQktJVF9SRUdJT05fUlVMRV9TWU0KKyV0b2tlbiBXRUJL
SVRfVklFV1BPUlRfUlVMRV9TWU0KICV0b2tlbiA8bWFyZ2luQm94PiBUT1BMRUZUQ09STkVSX1NZ
TQogJXRva2VuIDxtYXJnaW5Cb3g+IFRPUExFRlRfU1lNCiAldG9rZW4gPG1hcmdpbkJveD4gVE9Q
Q0VOVEVSX1NZTQpAQCAtMjA2LDYgKzIwOCw5IEBAIHN0YXRpYyBpbmxpbmUgaW50IGNzc3l5ZXJy
b3Iodm9pZCosIGNvbnN0IGNoYXIqKQogI2lmIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVT
CiAldHlwZSA8cnVsZT4gc3VwcG9ydHMKICNlbmRpZgorI2lmIEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04KKyV0eXBlIDxydWxlPiB2aWV3cG9ydAorI2VuZGlmCiAKICV0eXBlIDxzdHJpbmc+
IG1heWJlX25zX3ByZWZpeAogCkBAIC00MTEsNiArNDE2LDkgQEAgdmFsaWRfcnVsZToKICNpZiBF
TkFCTEVfU0hBRE9XX0RPTQogICB8IGhvc3QKICNlbmRpZgorI2lmIEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04KKyAgfCB2aWV3cG9ydAorI2VuZGlmCiAgIDsKIAogcnVsZToKQEAgLTQzOSw2
ICs0NDcsOSBAQCBibG9ja192YWxpZF9ydWxlOgogICB8IHBhZ2UKICAgfCBmb250X2ZhY2UKICAg
fCBrZXlmcmFtZXMKKyNpZiBFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OCisgIHwgdmlld3Bv
cnQKKyNlbmRpZgogICA7CiAKIGJsb2NrX3J1bGU6CkBAIC05MjksNiArOTQwLDMzIEBAIGhvc3Q6
CiAgICAgOwogI2VuZGlmCiAKKyNpZiBFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OCitiZWZv
cmVfdmlld3BvcnRfcnVsZToKKyAgICAvKiBlbXB0eSAqLyB7CisgICAgICAgIHBhcnNlci0+bWFy
a1ZpZXdwb3J0U2NvcGVTdGFydCgpOworICAgICAgICBwYXJzZXItPm1hcmtSdWxlSGVhZGVyU3Rh
cnQoQ1NTUnVsZVNvdXJjZURhdGE6OlZJRVdQT1JUX1JVTEUpOworICAgIH0KKyAgICA7CisKK3Zp
ZXdwb3J0OgorICAgIGJlZm9yZV92aWV3cG9ydF9ydWxlIFdFQktJVF9WSUVXUE9SVF9SVUxFX1NZ
TSBhdF9ydWxlX2hlYWRlcl9lbmRfbWF5YmVfc3BhY2UKKyAgICAneycgYXRfcnVsZV9ib2R5X3N0
YXJ0IG1heWJlX3NwYWNlX2JlZm9yZV9kZWNsYXJhdGlvbiBkZWNsYXJhdGlvbl9saXN0IGNsb3Np
bmdfYnJhY2UgeworICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlVmlld3BvcnRSdWxlKCk7Cisg
ICAgICAgIHBhcnNlci0+bWFya1ZpZXdwb3J0U2NvcGVFbmQoKTsKKyAgICB9CisgICAgfCBiZWZv
cmVfdmlld3BvcnRfcnVsZSBXRUJLSVRfVklFV1BPUlRfUlVMRV9TWU0gZXJyb3IgaW52YWxpZF9i
bG9jayB7CisgICAgICAgICQkID0gMDsKKyAgICAgICAgcGFyc2VyLT5wb3BSdWxlRGF0YSgpOwor
ICAgICAgICBwYXJzZXItPm1hcmtWaWV3cG9ydFNjb3BlRW5kKCk7CisgICAgfQorICAgIHwgYmVm
b3JlX3ZpZXdwb3J0X3J1bGUgV0VCS0lUX1ZJRVdQT1JUX1JVTEVfU1lNIGVycm9yICc7JyB7Cisg
ICAgICAgICQkID0gMDsKKyAgICAgICAgcGFyc2VyLT5wb3BSdWxlRGF0YSgpOworICAgICAgICBw
YXJzZXItPm1hcmtWaWV3cG9ydFNjb3BlRW5kKCk7CisgICAgfQorOworI2VuZGlmCisKIHJlZ2lv
bl9zZWxlY3RvcjoKICAgICBzZWxlY3Rvcl9saXN0IHsKICAgICAgICAgaWYgKCQxKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDk1MzkyZTliODhmNmYyNGRmODAyNWQwZGIwMTM3YjA3
OWZlMjMxOGEuLjc1YWY1ODU3NTUwNzIxODAzOTJmMmE1ZGI0NzRhN2UxMzUzZDQ4NmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNzEsNiArMjcxLDkgQEAgQ1NTUGFyc2VyOjpDU1NQ
YXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKICAgICAsIG1fbGFzdFNlbGVj
dG9yTGluZU51bWJlcigwKQogICAgICwgbV9hbGxvd0ltcG9ydFJ1bGVzKHRydWUpCiAgICAgLCBt
X2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zKHRydWUpCisjaWYgRU5BQkxFKENTU19ERVZJQ0Vf
QURBUFRBVElPTikKKyAgICAsIG1faW5WaWV3cG9ydFNjb3BlKGZhbHNlKQorI2VuZGlmCiAgICAg
LCBtX3NlbGVjdG9yVmVjdG9yKGFkb3B0UHRyKG5ldyBDU1NTZWxlY3RvclZlY3RvcikpCiB7CiAj
aWYgWVlERUJVRyA+IDAKQEAgLTkzMTUsOCArOTMxOCwxNSBAQCBpbmxpbmUgdm9pZCBDU1NQYXJz
ZXI6OmRldGVjdEF0VG9rZW4oaW50IGxlbmd0aCwgYm9vbCBoYXNFc2NhcGUpCiAgICAgICAgICAg
ICByZXR1cm47CiAKICAgICAgICAgY2FzZSAxNzoKLSAgICAgICAgICAgIGlmICghaGFzRXNjYXBl
ICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDIsICJ3ZWJraXQtc2VsZWN0b3IiKSkK
KyAgICAgICAgICAgIGlmIChoYXNFc2NhcGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzE2XSwgJ3InKSAm
JiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAyLCAid2Via2l0LXNlbGVjdG8iKSkKICAg
ICAgICAgICAgICAgICBtX3Rva2VuID0gV0VCS0lUX1NFTEVDVE9SX1NZTTsKKyNpZiBFTkFCTEUo
Q1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgICAgICAgICAgZWxzZSBpZiAoaXNBU0NJSUFscGhh
Q2FzZWxlc3NFcXVhbChuYW1lWzE2XSwgJ3QnKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5h
bWUgKyAyLCAid2Via2l0LXZpZXdwb3IiKSkKKyAgICAgICAgICAgICAgICBtX3Rva2VuID0gV0VC
S0lUX1ZJRVdQT1JUX1JVTEVfU1lNOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm47CiAKICAg
ICAgICAgY2FzZSAxODoKQEAgLTEwMzg5LDYgKzEwMzk5LDI0IEBAIHZvaWQgQ1NTUGFyc2VyOjpt
YXJrUHJvcGVydHlFbmQoYm9vbCBpc0ltcG9ydGFudEZvdW5kLCBib29sIGlzUHJvcGVydHlQYXJz
ZWQpCiAgICAgcmVzZXRQcm9wZXJ0eVJhbmdlKCk7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklD
RV9BREFQVEFUSU9OKQorU3R5bGVSdWxlQmFzZSogQ1NTUGFyc2VyOjpjcmVhdGVWaWV3cG9ydFJ1
bGUoKQoreworICAgIG1fYWxsb3dJbXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJh
dGlvbnMgPSBmYWxzZTsKKworICAgIFJlZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gcnVsZSA9IFN0
eWxlUnVsZVZpZXdwb3J0OjpjcmVhdGUoKTsKKworICAgIHJ1bGUtPnNldFByb3BlcnRpZXMoY3Jl
YXRlU3R5bGVQcm9wZXJ0eVNldCgpKTsKKyAgICBjbGVhclByb3BlcnRpZXMoKTsKKworICAgIFN0
eWxlUnVsZVZpZXdwb3J0KiByZXN1bHQgPSBydWxlLmdldCgpOworICAgIG1fcGFyc2VkUnVsZXMu
YXBwZW5kKHJ1bGUucmVsZWFzZSgpKTsKKyAgICBwcm9jZXNzQW5kQWRkTmV3UnVsZVRvU291cmNl
VHJlZUlmTmVlZGVkKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorI2VuZGlmCisKIHRlbXBs
YXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJv
cGVydHlJRChjb25zdCBDaGFyYWN0ZXJUeXBlKiBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGxlbmd0
aCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA4YjA5NjdhOGY2YTdhNDUzZTIzZmYyZDU2
NjIyMDJkNzg0ZjllM2YyLi5mMDFhOGQxODg3OTJiOTYxZmY3YTNlZTQ5ZWFkNGM5MmMzN2ExY2U2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0zNjcsNiArMzY3LDEyIEBAIHB1YmxpYzoKIAog
ICAgIGludCB0b2tlbigpIHsgcmV0dXJuIG1fdG9rZW47IH0KIAorI2lmIEVOQUJMRShDU1NfREVW
SUNFX0FEQVBUQVRJT04pCisgICAgdm9pZCBtYXJrVmlld3BvcnRTY29wZVN0YXJ0KCkgeyBtX2lu
Vmlld3BvcnRTY29wZSA9IHRydWU7IH0KKyAgICB2b2lkIG1hcmtWaWV3cG9ydFNjb3BlRW5kKCkg
eyBtX2luVmlld3BvcnRTY29wZSA9IGZhbHNlOyB9CisgICAgU3R5bGVSdWxlQmFzZSogY3JlYXRl
Vmlld3BvcnRSdWxlKCk7CisjZW5kaWYKKwogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwogICAgIFBh
c3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENT
U1BhcnNlclZhbHVlKik7CiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCkBAIC01MTQsNiArNTIw
LDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2FsbG93SW1wb3J0UnVsZXM7CiAgICAgYm9vbCBt
X2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zOwogCisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURB
UFRBVElPTikKKyAgICBib29sIGluVmlld3BvcnRTY29wZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5W
aWV3cG9ydFNjb3BlOyB9CisgICAgYm9vbCBtX2luVmlld3BvcnRTY29wZTsKKyNlbmRpZgorCiAg
ICAgaW50IChDU1NQYXJzZXI6OiptX2xleEZ1bmMpKHZvaWQqKTsKIAogICAgIFZlY3RvcjxSZWZQ
dHI8U3R5bGVSdWxlQmFzZT4gPiBtX3BhcnNlZFJ1bGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5U291cmNlRGF0YS5oCmluZGV4IDA3OWVjMzM2MjQ5NWMwNzk3OWI0NzVhZmRlNzc2
MDIzODRjOTk5NmYuLjg5ODJhY2Y3MzFlMTgxMDFhZjAzZjZjMTgxMWYyMzZlZDRlMzk1Y2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmgKQEAgLTk1LDcgKzk1
LDggQEAgc3RydWN0IENTU1J1bGVTb3VyY2VEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8Q1NTUnVs
ZVNvdXJjZURhdGE+IHsKICAgICAgICAgUEFHRV9SVUxFLAogICAgICAgICBLRVlGUkFNRVNfUlVM
RSwKICAgICAgICAgUkVHSU9OX1JVTEUsCi0gICAgICAgIEhPU1RfUlVMRQorICAgICAgICBIT1NU
X1JVTEUsCisgICAgICAgIFZJRVdQT1JUX1JVTEUKICAgICB9OwogCiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q1NTUnVsZVNvdXJjZURhdGE+IGNyZWF0ZShUeXBlIHR5cGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5jcHAKaW5kZXggY2Q1MzNkOWE4ZmRjODJlNTcxMmVmZDk2Y2ZjN2U0YTk2ZmRmZGE3Zi4uNmM1
MjJiZDAzZWY4OWJiNDdkYTUxYmFlZmJmMjM2OGExNWY0NjM3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxl
LmNwcApAQCAtMzAsMTIgKzMwLDEzIEBACiAjaW5jbHVkZSAiQ1NTU3R5bGVSdWxlLmgiCiAjaW5j
bHVkZSAiQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIkNTU1Vua25vd25SdWxlLmgiCi0jaW5j
bHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCi0jaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZS5oIgotI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUuaCIKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIlN0eWxl
U2hlZXRDb250ZW50cy5oIgorI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lUnVsZS5oIgorI2lu
Y2x1ZGUgIldlYktpdENTU0tleWZyYW1lc1J1bGUuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NSZWdp
b25SdWxlLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNTAsNiArNTEsMTAgQEAgQ09NUElMRV9BU1NFUlQoc2l6ZW9mKENT
U1J1bGUpID09IHNpemVvZihTYW1lU2l6ZUFzQ1NTUnVsZSksIENTU1J1bGVfc2hvdWxkX3N0YXkK
IENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZUJhc2U6OlJlZ2lvbiA9PSBzdGF0aWNfY2FzdDxTdHls
ZVJ1bGVCYXNlOjpUeXBlPihDU1NSdWxlOjpXRUJLSVRfUkVHSU9OX1JVTEUpLCBlbnVtc19zaG91
bGRfbWF0Y2gpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQor
Q09NUElMRV9BU1NFUlQoU3R5bGVSdWxlQmFzZTo6Vmlld3BvcnQgPT0gc3RhdGljX2Nhc3Q8U3R5
bGVSdWxlQmFzZTo6VHlwZT4oQ1NTUnVsZTo6V0VCS0lUX1ZJRVdQT1JUX1JVTEUpLCBlbnVtc19z
aG91bGRfbWF0Y2gpOworI2VuZGlmCisKIHZvaWQgQ1NTUnVsZTo6c2V0Q3NzVGV4dChjb25zdCBT
dHJpbmcmIC8qY3NzVGV4dCovLCBFeGNlcHRpb25Db2RlJiAvKmVjKi8pCiB7CiAgICAgbm90SW1w
bGVtZW50ZWQoKTsKQEAgLTc2LDYgKzgxLDEwIEBAIFN0cmluZyBDU1NSdWxlOjpjc3NUZXh0KCkg
Y29uc3QKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0tleWZyYW1l
c1J1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOwogICAgIGNhc2UgV0VCS0lUX0tFWUZSQU1FX1JVTEU6
CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUq
Pih0aGlzKS0+Y3NzVGV4dCgpOworI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisg
ICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CisjZW5kaWYK
ICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY2FzZSBXRUJLSVRfUkVHSU9OX1JVTEU6CiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NSZWdpb25SdWxlKj4odGhp
cyktPmNzc1RleHQoKTsKQEAgLTExNSw2ICsxMjQsMTEgQEAgdm9pZCBDU1NSdWxlOjpkZXN0cm95
KCkKICAgICBjYXNlIFdFQktJVF9LRVlGUkFNRV9SVUxFOgogICAgICAgICBkZWxldGUgc3RhdGlj
X2Nhc3Q8V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlKj4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyNp
ZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgIGNhc2UgV0VCS0lUX1ZJRVdQT1JU
X1JVTEU6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXZWJLaXRDU1NWaWV3cG9ydFJ1bGUq
Pih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCiAjaWYgRU5BQkxFKENTU19SRUdJT05T
KQogICAgIGNhc2UgV0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICBkZWxldGUgc3RhdGljX2Nh
c3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpOwpAQCAtMTU1LDYgKzE2OSwxMSBAQCB2b2lk
IENTU1J1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCiAgICAgICAgIC8vIE5vIG5l
ZWQgdG8gcmVhdHRhY2gsIHRoZSB1bmRlcmx5aW5nIGRhdGEgaXMgc2hhcmVhYmxlIG9uIG11dGF0
aW9uLgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuOworI2lm
IEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgY2FzZSBXRUJLSVRfVklFV1BPUlRf
UlVMRToKKyAgICAgICAgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTVmlld3BvcnRSdWxlKj4odGhpcykt
PnJlYXR0YWNoKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4ocnVsZSkpOworICAgICAg
ICByZXR1cm47CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY2FzZSBXRUJL
SVRfUkVHSU9OX1JVTEU6CiAgICAgICAgIHN0YXRpY19jYXN0PFdlYktpdENTU1JlZ2lvblJ1bGUq
Pih0aGlzKS0+cmVhdHRhY2goc3RhdGljX2Nhc3Q8U3R5bGVSdWxlUmVnaW9uKj4ocnVsZSkpOwpA
QCAtMTk0LDYgKzIxMywxMSBAQCB2b2lkIENTU1J1bGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgY2FzZSBXRUJLSVRfS0VZ
RlJBTUVfUlVMRToKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZv
KTsKICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisg
ICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3Qg
V2ViS2l0Q1NTVmlld3BvcnRSdWxlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2Fn
ZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCiAjaWYgRU5BQkxF
KENTU19SRUdJT05TKQogICAgIGNhc2UgV0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICBzdGF0
aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NSZWdpb25SdWxlKj4odGhpcyktPnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCmluZGV4IGIz
MWZlN2I4ZGViY2E5Yjc5Y2Y0ZjhkZTZjZmY3MTc2YjU5NzViMjYuLmFiMzAwNDg4N2Y2ZGYwYmNj
NTZhNWI3MzY1OTUzMWNmY2I0OTYyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaApAQCAtNTcsNiArNTcs
OSBAQCBwdWJsaWM6CiAgICAgICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzEyOTM+LgogICAgICAgICBXRUJLSVRfS0VZRlJBTUVTX1JVTEUsCiAgICAgICAg
IFdFQktJVF9LRVlGUkFNRV9SVUxFLAorI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04p
CisgICAgICAgIFdFQktJVF9WSUVXUE9SVF9SVUxFID0gMTUsCisjZW5kaWYKICNpZiBFTkFCTEUo
Q1NTX1JFR0lPTlMpCiAgICAgICAgIFdFQktJVF9SRUdJT05fUlVMRSA9IDE2CiAjZW5kaWYKQEAg
LTczLDYgKzc2LDEwIEBAIHB1YmxpYzoKICAgICBib29sIGlzU3R5bGVSdWxlKCkgY29uc3QgeyBy
ZXR1cm4gdHlwZSgpID09IFNUWUxFX1JVTEU7IH0KICAgICBib29sIGlzSW1wb3J0UnVsZSgpIGNv
bnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBJTVBPUlRfUlVMRTsgfQogCisjaWYgRU5BQkxFKENTU19E
RVZJQ0VfQURBUFRBVElPTikKKyAgICBib29sIGlzVmlld3BvcnRSdWxlKCkgY29uc3QgeyByZXR1
cm4gdHlwZSgpID09IFdFQktJVF9WSUVXUE9SVF9SVUxFOyB9CisjZW5kaWYKKwogI2lmIEVOQUJM
RShDU1NfUkVHSU9OUykKICAgICBib29sIGlzUmVnaW9uUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5
cGUoKSA9PSBXRUJLSVRfUkVHSU9OX1JVTEU7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxl
LmNwcAppbmRleCA2N2Y3YmM3MjgyNzAyZDVhZWM4YTM0MGRlNjZhNWVlYTMyZDBmZDE5Li43MTNj
OTcxNDY0NGFmMmFiMDkyMWVhYjRmNzNiZTQ4OTczZjliZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
dWxlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lUnVs
ZS5oIgogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lc1J1bGUuaCIKICNpbmNsdWRlICJXZWJL
aXRDU1NSZWdpb25SdWxlLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgiCiAj
aW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC04Miw2ICs4MywxMSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OnJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAg
Y2FzZSBIb3N0OgogICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVCbG9jayo+KHRo
aXMpLT5yZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAg
ICAgIHJldHVybjsKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgIGNhc2Ug
Vmlld3BvcnQ6CisgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZVZpZXdwb3J0Kj4o
dGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAg
ICAgICAgcmV0dXJuOworI2VuZGlmCiAgICAgY2FzZSBVbmtub3duOgogICAgIGNhc2UgQ2hhcnNl
dDoKICAgICBjYXNlIEtleWZyYW1lOgpAQCAtMTIzLDYgKzEyOSwxMSBAQCB2b2lkIFN0eWxlUnVs
ZUJhc2U6OmRlc3Ryb3koKQogICAgIGNhc2UgSG9zdDoKICAgICAgICAgZGVsZXRlIHN0YXRpY19j
YXN0PFN0eWxlUnVsZUhvc3QqPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShD
U1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgY2FzZSBWaWV3cG9ydDoKKyAgICAgICAgZGVsZXRl
IHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4odGhpcyk7CisgICAgICAgIHJldHVybjsK
KyNlbmRpZgogICAgIGNhc2UgVW5rbm93bjoKICAgICBjYXNlIENoYXJzZXQ6CiAgICAgY2FzZSBL
ZXlmcmFtZToKQEAgLTE1OCw2ICsxNjksMTAgQEAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVCYXNlPiBT
dHlsZVJ1bGVCYXNlOjpjb3B5KCkgY29uc3QKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNv
bnN0IFN0eWxlUnVsZUtleWZyYW1lcyo+KHRoaXMpLT5jb3B5KCk7CiAgICAgY2FzZSBIb3N0Ogog
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlSG9zdCo+KHRoaXMpLT5j
b3B5KCk7CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBjYXNlIFZpZXdw
b3J0OgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlVmlld3BvcnQq
Pih0aGlzKS0+Y29weSgpOworI2VuZGlmCiAgICAgY2FzZSBVbmtub3duOgogICAgIGNhc2UgQ2hh
cnNldDoKICAgICBjYXNlIEtleWZyYW1lOgpAQCAtMTk5LDYgKzIxNCwxMSBAQCBQYXNzUmVmUHRy
PENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0
KiBwYXJlbnRTaGVldAogICAgIGNhc2UgS2V5ZnJhbWVzOgogICAgICAgICBydWxlID0gV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+
KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShDU1NfREVW
SUNFX0FEQVBUQVRJT04pCisgICAgY2FzZSBWaWV3cG9ydDoKKyAgICAgICAgcnVsZSA9IFdlYktp
dENTU1ZpZXdwb3J0UnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4o
c2VsZiksIHBhcmVudFNoZWV0KTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBjYXNlIEhv
c3Q6CiAgICAgY2FzZSBVbmtub3duOgogICAgIGNhc2UgQ2hhcnNldDoKQEAgLTM5MCw0ICs0MTAs
MzkgQEAgdm9pZCBTdHlsZVJ1bGVSZWdpb246OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3QKICAgICBpbmZvLmFkZE1lbWJlcihtX3NlbGVj
dG9yTGlzdCk7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorU3R5bGVS
dWxlVmlld3BvcnQ6OlN0eWxlUnVsZVZpZXdwb3J0KCkKKyAgICA6IFN0eWxlUnVsZUJhc2UoVmll
d3BvcnQsIDApCit7Cit9CisKK1N0eWxlUnVsZVZpZXdwb3J0OjpTdHlsZVJ1bGVWaWV3cG9ydChj
b25zdCBTdHlsZVJ1bGVWaWV3cG9ydCYgbykKKyAgICA6IFN0eWxlUnVsZUJhc2UobykKKyAgICAs
IG1fcHJvcGVydGllcyhvLm1fcHJvcGVydGllcy0+Y29weSgpKQoreworfQorCitTdHlsZVJ1bGVW
aWV3cG9ydDo6flN0eWxlUnVsZVZpZXdwb3J0KCkKK3sKK30KKworU3R5bGVQcm9wZXJ0eVNldCog
U3R5bGVSdWxlVmlld3BvcnQ6Om11dGFibGVQcm9wZXJ0aWVzKCkKK3sKKyAgICBpZiAoIW1fcHJv
cGVydGllcy0+aXNNdXRhYmxlKCkpCisgICAgICAgIG1fcHJvcGVydGllcyA9IG1fcHJvcGVydGll
cy0+Y29weSgpOworICAgIHJldHVybiBtX3Byb3BlcnRpZXMuZ2V0KCk7Cit9CisKK3ZvaWQgU3R5
bGVSdWxlVmlld3BvcnQ6OnNldFByb3BlcnRpZXMoUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0
PiBwcm9wZXJ0aWVzKQoreworICAgIG1fcHJvcGVydGllcyA9IHByb3BlcnRpZXM7Cit9CisKK3Zv
aWQgU3R5bGVSdWxlVmlld3BvcnQ6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3BlcnRpZXMpOworfQorI2VuZGlmIC8vIEVOQUJMRShD
U1NfREVWSUNFX0FEQVBUQVRJT04pCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJ1bGUuaAppbmRleCBiN2ZmNTIzMjZjYmYyMTg0NzIxYTEzNDFjODI5YTM4NGZjNGEzOWI5
Li40ZDQzNDBhNmQ4YTIwMTJjODQyMTViYjI5MmU1ZjJkNDA0ZmJkYTQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5oCkBAIC00Nyw2ICs0Nyw5IEBAIHB1YmxpYzoKICAgICAgICAgS2V5ZnJhbWVzLAog
ICAgICAgICBLZXlmcmFtZSwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IG5vbi1y
dWxlIFN0eWxlS2V5ZnJhbWUgb2JqZWN0cy4KICAgICAgICAgSG9zdCwKKyNpZiBFTkFCTEUoQ1NT
X0RFVklDRV9BREFQVEFUSU9OKQorICAgICAgICBWaWV3cG9ydCA9IDE1LAorI2VuZGlmCiAgICAg
ICAgIFJlZ2lvbiA9IDE2CiAgICAgfTsKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxUeXBlPihtX3R5cGUpOyB9CkBAIC01OCw2ICs2MSw5IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzUGFnZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUGFnZTsgfQogICAg
IGJvb2wgaXNTdHlsZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGU7IH0KICAg
ICBib29sIGlzUmVnaW9uUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBSZWdpb247IH0K
KyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgIGJvb2wgaXNWaWV3cG9ydFJ1
bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVmlld3BvcnQ7IH0KKyNlbmRpZgogICAgIGJv
b2wgaXNJbXBvcnRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEltcG9ydDsgfQogICAg
IGJvb2wgaXNIb3N0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBIb3N0OyB9CiAKQEAg
LTIzOSw2ICsyNDUsMzAgQEAgcHJpdmF0ZToKICAgICBTdHlsZVJ1bGVIb3N0KGNvbnN0IFN0eWxl
UnVsZUhvc3QmIG8pIDogU3R5bGVSdWxlQmxvY2sobykgeyB9CiB9OwogCisjaWYgRU5BQkxFKENT
U19ERVZJQ0VfQURBUFRBVElPTikKK2NsYXNzIFN0eWxlUnVsZVZpZXdwb3J0IDogcHVibGljIFN0
eWxlUnVsZUJhc2UgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlUnVsZVZp
ZXdwb3J0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVSdWxlVmlld3BvcnQp
OyB9CisKKyAgICB+U3R5bGVSdWxlVmlld3BvcnQoKTsKKworICAgIGNvbnN0IFN0eWxlUHJvcGVy
dHlTZXQqIHByb3BlcnRpZXMoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnRpZXMuZ2V0KCk7IH0K
KyAgICBTdHlsZVByb3BlcnR5U2V0KiBtdXRhYmxlUHJvcGVydGllcygpOworCisgICAgdm9pZCBz
ZXRQcm9wZXJ0aWVzKFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4pOworCisgICAgUGFzc1Jl
ZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTdHlsZVJ1bGVWaWV3cG9ydCgqdGhpcykpOyB9CisKKyAgICB2b2lkIHJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAg
U3R5bGVSdWxlVmlld3BvcnQoKTsKKyAgICBTdHlsZVJ1bGVWaWV3cG9ydChjb25zdCBTdHlsZVJ1
bGVWaWV3cG9ydCYpOworCisgICAgUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IG1fcHJvcGVydGll
czsKK307CisjZW5kaWYgLy8gRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU3R5bGVSdWxlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzgxNWI1NmI1NDRi
N2U3ZTMzOWE2YmEyMTM1YWVhMzhmZDdlOTEyMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCkBAIC0wLDAgKzEsOTcgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAg
ICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAq
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJL
aXRDU1NWaWV3cG9ydFJ1bGUuaCIKKworI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04p
CisKKyNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRl
ICJTdHlsZVByb3BlcnR5U2V0LmgiCisjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCisjaW5jbHVkZSAi
V2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXZWJLaXRDU1NWaWV3cG9ydFJ1
bGU6OldlYktpdENTU1ZpZXdwb3J0UnVsZShTdHlsZVJ1bGVWaWV3cG9ydCogdmlld3BvcnRSdWxl
LCBDU1NTdHlsZVNoZWV0KiBzaGVldCkKKyAgICA6IENTU1J1bGUoc2hlZXQsIENTU1J1bGU6OldF
QktJVF9WSUVXUE9SVF9SVUxFKQorICAgICwgbV92aWV3cG9ydFJ1bGUodmlld3BvcnRSdWxlKQor
eworfQorCitXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6On5XZWJLaXRDU1NWaWV3cG9ydFJ1bGUoKQor
eworICAgIGlmIChtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpCisgICAgICAgIG1fcHJvcGVydGll
c0NTU09NV3JhcHBlci0+Y2xlYXJQYXJlbnRSdWxlKCk7Cit9CisKK0NTU1N0eWxlRGVjbGFyYXRp
b24qIFdlYktpdENTU1ZpZXdwb3J0UnVsZTo6c3R5bGUoKSBjb25zdAoreworICAgIGlmICghbV9w
cm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQorICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIg
PSBTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUobV92aWV3cG9ydFJ1bGUtPm11
dGFibGVQcm9wZXJ0aWVzKCksIGNvbnN0X2Nhc3Q8V2ViS2l0Q1NTVmlld3BvcnRSdWxlKj4odGhp
cykpOworCisgICAgcmV0dXJuIG1fcHJvcGVydGllc0NTU09NV3JhcHBlci5nZXQoKTsKK30KKwor
U3RyaW5nIFdlYktpdENTU1ZpZXdwb3J0UnVsZTo6Y3NzVGV4dCgpIGNvbnN0Cit7CisgICAgU3Ry
aW5nQnVpbGRlciByZXN1bHQ7CisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIkAtd2Via2l0LXZp
ZXdwb3J0IHsgIik7CisKKyAgICBTdHJpbmcgZGVjbHMgPSBtX3ZpZXdwb3J0UnVsZS0+cHJvcGVy
dGllcygpLT5hc1RleHQoKTsKKyAgICByZXN1bHQuYXBwZW5kKGRlY2xzKTsKKyAgICBpZiAoIWRl
Y2xzLmlzRW1wdHkoKSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnICcpOworCisgICAgcmVzdWx0
LmFwcGVuZCgnfScpOworCisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworfQorCit2b2lk
IFdlYktpdENTU1ZpZXdwb3J0UnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlVmlld3BvcnQqIHJ1bGUp
Cit7CisgICAgQVNTRVJUKHJ1bGUpOworICAgIG1fdmlld3BvcnRSdWxlID0gcnVsZTsKKworICAg
IGlmIChtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpCisgICAgICAgIG1fcHJvcGVydGllc0NTU09N
V3JhcHBlci0+cmVhdHRhY2gobV92aWV3cG9ydFJ1bGUtPm11dGFibGVQcm9wZXJ0aWVzKCkpOwor
fQorCit2b2lkIFdlYktpdENTU1ZpZXdwb3J0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpDU1MpOworICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9y
eU9iamVjdEluZm8pOworICAgIGluZm8uYWRkTWVtYmVyKG1fdmlld3BvcnRSdWxlKTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4
YTI3ZDE4YzBmOTk2NTdmMzkzYmM1NTJmZGU1NDkzMjEzMjAzNzIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgKQEAgLTAsMCArMSw3
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMKKyAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
CisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJLaXRDU1NWaWV3cG9ydFJ1
bGVfaAorI2RlZmluZSBXZWJLaXRDU1NWaWV3cG9ydFJ1bGVfaAorCisjaWYgRU5BQkxFKENTU19E
RVZJQ0VfQURBUFRBVElPTikKKworI2luY2x1ZGUgIkNTU1J1bGUuaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgU3R5bGVSdWxlVmlld3Bv
cnQ7CitjbGFzcyBTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOworCitjbGFzcyBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGU6IHB1YmxpYyBDU1NSdWxlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxXZWJLaXRDU1NWaWV3cG9ydFJ1bGU+IGNyZWF0ZShTdHlsZVJ1bGVWaWV3cG9ydCog
dmlld3BvcnRSdWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgV2ViS2l0Q1NTVmlld3BvcnRSdWxlKHZpZXdwb3J0UnVsZSwgc2hlZXQp
KTsKKyAgICB9CisgICAgfldlYktpdENTU1ZpZXdwb3J0UnVsZSgpOworCisgICAgQ1NTU3R5bGVE
ZWNsYXJhdGlvbiogc3R5bGUoKSBjb25zdDsKKworICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7
CisKKyAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZVZpZXdwb3J0Kik7CisKKyAgICB2b2lkIHJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisKK3By
aXZhdGU6CisgICAgV2ViS2l0Q1NTVmlld3BvcnRSdWxlKFN0eWxlUnVsZVZpZXdwb3J0KiwgQ1NT
U3R5bGVTaGVldCopOworCisgICAgUmVmUHRyPFN0eWxlUnVsZVZpZXdwb3J0PiBtX3ZpZXdwb3J0
UnVsZTsKKworICAgIG11dGFibGUgUmVmUHRyPFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb24+
IG1fcHJvcGVydGllc0NTU09NV3JhcHBlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIFdlYktpdENTU1ZpZXdwb3J0UnVsZV9oCisKKyNlbmRpZiAvLyBFTkFCTEUo
Q1NTX0RFVklDRV9BREFQVEFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNF
ZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA5OTZhZjViNjUz
ZjZjZmZmMTY1ODIzYmU2MjZjODhhZDgzOGI3MzUxLi5mNjdiZGM5MWE5YmE5MWM1NDY5M2NlODUy
MzA4ZmY2N2FlMzZmMzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtNTYsNiArNTYsNyBAQCBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQVBJX1RFU1RTIE9OKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0JBVFRFUllfU1RBVFVTIE9OKQog
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0JMT0IgT04pCiBXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTM19URVhUIE9OKQorV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTiBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfSU1BR0VfU0VUIE9O
KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19TVElDS1lfUE9T
SVRJT04gT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1ZB
UklBQkxFUyBPTikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBmMjliMWE3ZjZkMjQzOWIwYzM0OGFhZDYyODVhMWI4OGU3ZDU0MGY5Li5jZDlhOGRk
MDIzYjM3MmE2NjczNmRjMGY2NGZhMTMzMzZjNmIzYWJhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTAtMjcg
IFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRlbC5jb20+CisKKyAg
ICAgICAgQWRkZWQgdmlld3BvcnQgYXQtcnVsZSB0byB0aGUgQ1NTIHBhcnNlciBhbmQgdG9rZW5p
emVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTk2
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJs
ZSBDU1MgRGV2aWNlIEFkYXB0YXRpb24gYnkgZGVmYXVsdCBvbiBFRkwuCisKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisKIDIwMTItMTAtMjYgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB3aGVuIG1ha2lu
ZyBOUFJ1bnRpbWUgY2FsbHMgd2l0aCBhIG51bGwgTlBQIHBvaW50ZXIKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCBkYzJkOWNjNDQwZDhmMjBmZDUyNWZkMzMyMGFh
OGJkN2Q5NTc0ZWIyLi45MDg3M2I5ZDQ5MDE4MDNiY2VmNzAwNzgxNTIyN2NlMDQzMzc4ZDU3IDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0xNjcsNyArMTY3LDcg
QEAgbXkgQGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NQX05FWFQiLCBk
ZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkY3NwTmV4dFN1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9u
ID0+ICJjc3MtZGV2aWNlLWFkYXB0YXRpb24iLCBkZXNjID0+ICJUb2dnbGUgQ1NTIERldmljZSBB
ZGFwdGF0aW9uIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGNzc0RldmljZUFkYXB0YXRpb24g
fSwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTiIsIGRlZmF1
bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRjc3NEZXZpY2VBZGFwdGF0aW9uIH0sCiAKICAgICB7
IG9wdGlvbiA9PiAiY3NzLWV4Y2x1c2lvbnMiLCBkZXNjID0+ICJUb2dnbGUgQ1NTIEV4Y2x1c2lv
bnMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1NfRVhDTFVTSU9OUyIsIGRl
ZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRjc3NFeGNsdXNpb25zU3VwcG9ydCB9LApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNl
YjAzYWI4ZTM1Y2JiMGFhNTg0YTgwYWI5ODc4NTBiMDg4MjRiZjEuLmUyZWYyMzFhOWYzODQxYjEw
ZTIzMTJhYTdjODNjMmZjYTNhMjFkODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0xMC0y
NyAgVGhpYWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KKwor
ICAgICAgICBBZGRlZCB2aWV3cG9ydCBhdC1ydWxlIHRvIHRoZSBDU1MgcGFyc2VyIGFuZCB0b2tl
bml6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1
OTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgYSB0ZXN0IHRoYXQgZGV0ZWN0cyBpZiB0aGUgQC13ZWJraXQtdmlld3BvcnQgcnVsZSBpcyBi
ZWluZworICAgICAgICBwYXJzZWQgYW5kIHNraXAgdGhlIHRlc3RzIG9uIGFsbCBwb3J0cyBzaW5j
ZSB0aGUgZmVhdHVyZSBpcyBkaXNhYmxlZAorICAgICAgICBieSBkZWZhdWx0IGZvciBpbnN0YW5j
ZS4KKworICAgICAgICBOb3RlIHRoYXQgdGhpcyB0ZXN0IGRvZXNuJ3QgZG8gcHJvcGVydHkgdmFs
aWRhdGlvbiwgd2hpY2ggd2lsbCBiZQorICAgICAgICBhZGRlZCBpbiB0aGUgbmV4dCBwYXRjaCBv
ZiB0aGUgc2VyaWVzLgorCisgICAgICAgICogY3NzMy9kZXZpY2UtYWRhcHQvdmlld3BvcnQtYXQt
cnVsZS1wYXJzaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9kZXZpY2Ut
YWRhcHQvdmlld3BvcnQtYXQtcnVsZS1wYXJzaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWly
by9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEyLTEwLTI2ICBQaGlsaXAgUm9nZXJzICA8cGRyQGdv
b2dsZS5jb20+CiAKICAgICAgICAgUHJldmVudCBOYU4gb2Zmc2V0IHZhbHVlcyBpbiBFbGVtZW50
VGltZUNvbnRyb2wuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2RldmljZS1hZGFwdC92
aWV3cG9ydC1hdC1ydWxlLXBhcnNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9k
ZXZpY2UtYWRhcHQvdmlld3BvcnQtYXQtcnVsZS1wYXJzaW5nLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNjg3Yjg2M2I4Mzg1NzRkZjk1MDYwMjhiZDE0MDU0NGRiM2I2NmRmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9kZXZpY2UtYWRhcHQvdmlld3BvcnQtYXQtcnVsZS1w
YXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworUEFTUyBFbXB0eSBhdC1ydWxl
IHBhcnNpbmcgCitQQVNTIGF0LXJ1bGUgd2l0aCBleHRyYSBzcGFjZXMgCitQQVNTIFJ1bGUgd2l0
aCBhdHRyaWJ1dGVzIAorUEFTUyBSdWxlIHdpdGggbWFsZm9ybWVkIGF0dHJpYnV0ZXMgCitQQVNT
IFNob3VsZCBiZSBhY2NlcHRlZCBpbnNpZGUgbWVkaWEgcXVlcmllcyAKK1BBU1MgU2hvdWxkIHBh
cnNlIG5vbiBjbG9zZWQgYmxvY2sgCitQQVNTIFNob3VsZCBpZ25vcmUgdW5wcmVmaXhlZCBhdC1y
dWxlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2RldmljZS1hZGFwdC92aWV3cG9y
dC1hdC1ydWxlLXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZGV2aWNlLWFkYXB0L3Zp
ZXdwb3J0LWF0LXJ1bGUtcGFyc2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjZmVmMTVlZDRkOTlmMjU1
OTg5ODA4NDJlNjMzNTgwMjM5NDg1N2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2RldmljZS1hZGFwdC92aWV3cG9ydC1hdC1ydWxlLXBhcnNpbmcuaHRtbApAQCAtMCwwICsx
LDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KKyAgICAgICAgLyogVmFsaWQgdmlld3BvcnQgc3ludGF4LiAqLworICAgICAg
ICBALXdlYmtpdC12aWV3cG9ydCB7CisgICAgICAgIH0KKworICAgICAgICAvKiBWYWxpZCB2aWV3
cG9ydCBzeW50YXgsIGV4dHJhcyBzcGFjZXMgc2hvdWxkIGJlIGlnbm9yZWQuICovCisgICAgICAg
IEAtd2Via2l0LXZpZXdwb3J0ICAgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIC8qIFZh
bGlkIHZpZXdwb3J0IHN5bnRheCwgcmVndWxhciBhdHRyaWJ1dGVzLiAqLworICAgICAgICBALXdl
YmtpdC12aWV3cG9ydCB7CisgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKKyAgICAgICAg
ICAgIG1pbi1oZWlnaHQ6IDIwMHB4OworICAgICAgICB9CisKKyAgICAgICAgLyogVmFsaWQgdmll
d3BvcnQgc3ludGF4LCBzaG91bGQgb21pdCB0aGUgbWFsZm9ybWVkIGF0dHJpYnV0ZS4gKi8KKyAg
ICAgICAgQC13ZWJraXQtdmlld3BvcnQgeworICAgICAgICAgICAgYXNkYXNkCisgICAgICAgIH0K
KworICAgICAgICAvKiBWYWxpZCB2aWV3cG9ydCBzeW50YXgsIGl0IGlzIGFsbG93ZWQgaW5zaWRl
IG1lZGlhIHF1ZXJpZXMuICovCisgICAgICAgIEBtZWRpYSBhbGwgeworICAgICAgICAgICAgQC13
ZWJraXQtdmlld3BvcnQgeworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLyog
V2ViS2l0IHBhcnNlciBjbG9zZXMgdGhlIGJyYWNrZXQgYmVsbG93LCBtYWtpbmcgaXQgdmFsaWQu
ICovCisgICAgICAgIEAtd2Via2l0LXZpZXdwb3J0IHsKKworICAgICAgICAvKiBCdXQgZG9lc24n
dCBjbG9zZSBpdCB3aGVuIHlvdSBoYXZlIGF0dHJpYnV0ZXMsIHNob3VsZCBpZ25vcmUuICovCisg
ICAgICAgIEAtd2Via2l0LXZpZXdwb3J0IHsKKyAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4
OworICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CisKKyAgICAgICAgLyogU2hvdWxkIGln
bm9yZSB1bnByZWZpeGVkIHZpZXdwb3J0IHJ1bGUuIFdlIG5lZWQgdG8gY2hhbmdlIHRoaXMKKyAg
ICAgICAgICAgdGVzdCBpZiBhdCBzb21lIHBvaW50IHdlIHJlbW92ZSB0aGUgcHJlZml4LiAqLwor
ICAgICAgICBAdmlld3BvcnQgeworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIgLz4KKyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL2Nzcy1kZXZpY2UtYWRhcHQvI3N5bnRheCIgLz4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAgIHZhciBydWxlcyA9IGRvY3Vt
ZW50LnN0eWxlU2hlZXRzWzBdLmNzc1J1bGVzOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oMCkuY3NzVGV4dCwgIkAtd2Vi
a2l0LXZpZXdwb3J0IHsgfSIpOworICAgICAgICB9LCAiRW1wdHkgYXQtcnVsZSBwYXJzaW5nIik7
CisKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
cnVsZXMuaXRlbSgxKS5jc3NUZXh0LCAiQC13ZWJraXQtdmlld3BvcnQgeyB9Iik7CisgICAgICAg
IH0sICJhdC1ydWxlIHdpdGggZXh0cmEgc3BhY2VzIik7CisKKyAgICAgICAgdGVzdChmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocnVsZXMuaXRlbSgyKS5jc3NUZXh0LCAi
QC13ZWJraXQtdmlld3BvcnQgeyBtYXgtaGVpZ2h0OiAyMDBweDsgbWluLWhlaWdodDogMjAwcHg7
IH0iKTsKKyAgICAgICAgfSwgIlJ1bGUgd2l0aCBhdHRyaWJ1dGVzIik7CisKKyAgICAgICAgdGVz
dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocnVsZXMuaXRlbSgzKS5j
c3NUZXh0LCAiQC13ZWJraXQtdmlld3BvcnQgeyB9Iik7CisgICAgICAgIH0sICJSdWxlIHdpdGgg
bWFsZm9ybWVkIGF0dHJpYnV0ZXMiKTsKKworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhydWxlcy5pdGVtKDQpLmNzc1RleHQsICJAbWVkaWEgYWxs
IHsgXG4gIEAtd2Via2l0LXZpZXdwb3J0IHsgfVxufSIpOworICAgICAgICB9LCAiU2hvdWxkIGJl
IGFjY2VwdGVkIGluc2lkZSBtZWRpYSBxdWVyaWVzIik7CisKKyAgICAgICAgdGVzdChmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocnVsZXMuaXRlbSg1KS5jc3NUZXh0LCAi
QC13ZWJraXQtdmlld3BvcnQgeyB9Iik7CisgICAgICAgIH0sICJTaG91bGQgcGFyc2Ugbm9uIGNs
b3NlZCBibG9jayIpOworCisgICAgICAgIC8vIFRoZSB0b3RhbCBudW1iZXIgb2YgcGFyc2VkIHJ1
bGVzIHNob3VsZCBiZSA2LCBtZWFuaW5nIHRoYXQgdGhlIHBhcnNlcgorICAgICAgICAvLyBpZ25v
cmVkIHRoZSBsYXN0IHR3byBydWxlcy4KKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMocnVsZXMubGVuZ3RoLCA2KQorICAgICAgICB9LCAiU2hvdWxk
IGlnbm9yZSB1bnByZWZpeGVkIGF0LXJ1bGUiKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiMDY4MTBj
NDUyODcyNzdhOTFmNWFlYzZkYmE4NmNkNDRhMzM2ZmFiLi5hZTMxMWE1N2IyN2FkOWVmODBkNjRj
NDA0YzFlNzk0OTM4MTA5YTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM5OTAsNiArMzk5MCw5IEBAIHdlYmtpdC5vcmcvYi85NTEy
MSBmYXN0L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNpZGUtcmVkdWN0aW9uLmh0bWwgWyBJbWFnZU9u
bHlGYWlsCiAjIGNzczMtY29uZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLgog
d2Via2l0Lm9yZy9iLzg2MTQ2IGNzczMvc3VwcG9ydHMuaHRtbAogCisjIENTUyBEZXZpY2UgQWRh
cHRhdGlvbiBpcyBub3QgZW5hYmxlZC4KK3dlYmtpdC5vcmcvYi85NTk1OSBjc3MzL2RldmljZS1h
ZGFwdCBbIFNraXAgXQorCiAjIFJlcXVpcmUgcmViYXNlbGluaW5nIGFmdGVyIHdlYmtpdC5vcmcv
Yi85NzgwMAogd2Via2l0Lm9yZy9iLzg5MTY3IG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJp
bmctaG9yaXpvbnRhbC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvODkxNjcgbWVkaWEv
dHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy12ZXJ0aWNhbC5odG1sIFsgRmFpbHVyZSBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGJiYmNjZTliNDg4OTM1
NzM1OWJhNDgyMTZjYTg5OGM2NDM1ZDY2MzEuLmJlMmMwMWUwNzYxMGI1N2Y3MTQyOGZkOTE2OWU1
MDQ2NjBlNzI0YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xNDIxLDMgKzE0MjEsNiBAQCB3ZWJraXQub3JnL2IvOTg3MTggc3ZnL2FuaW1hdGlvbnMv
YW5pbWF0ZS1jc3MteG1sLWF0dHJpYnV0ZVR5cGUuaHRtbCBbIEZhaWx1cmUgXQogIy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIG9mIFRlc3RzIGZhaWxpbmcKICMvLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5v
dCBlbmFibGVkLgord2Via2l0Lm9yZy9iLzk1OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQzOTMzZWFj
YmMzNWZhMzc2NjQyOThjZGViZGIxNzBjNzdjYmUxNGEuLjA1ZWUwNjJiNmFkYWZjMWE4MmExYjNj
YTAzM2VkMTA3OTc0YzYyZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zCkBAIC0xMzUwLDMgKzEzNTAsNiBAQCB3ZWJraXQub3JnL2IvNjExMzggaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL0ludGVsL3Jlc291cmNlLXRpbWluZyBbIFNraQogCiAj
IFRpbGVDYWNoZSB0ZXN0cyB0aGF0IGRvbid0IGFwcGx5IHRvIFdLMSAodGhleSBhcmUgcmUtZW5h
YmxlZCB2aWEgdGhlIFdLMiBUZXN0RXhwZWN0YXRpb25zIGZpbGUpCiBwbGF0Zm9ybS9tYWMvdGls
ZWQtZHJhd2luZy8gWyBTa2lwIF0KKworIyBDU1MgRGV2aWNlIEFkYXB0YXRpb24gaXMgbm90IGVu
YWJsZWQuCit3ZWJraXQub3JnL2IvOTU5NTkgY3NzMy9kZXZpY2UtYWRhcHQgWyBTa2lwIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDgzZWM3ODkzN2ZjZGU0
ZGUzMTliMTAxZWQ1MWI3ZDFmMTgxMGFhZTAuLjQ2NDg3ZWE2ZDg0NmE0MTEyNWE4N2U0MWUxYzgz
NmRkZGE4Yjg3OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMjQ5NCwzICsyNDk0LDYgQEAgd2Via2l0Lm9yZy9iLzEwMDExNyBmYXN0L3htbGh0dHByZXF1
ZXN0L3htbGh0dHByZXF1ZXN0LXJlY3Vyc2l2ZS1zeW5jLWV2ZW50Lmh0bWwKIAogIyBbUXRdIE5l
dyBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2ltYWdlLWFzLXRleHQtbG9hZGluZy1kYXRh
LXVybC5odG1sIGZhaWxzCiB3ZWJraXQub3JnL2IvMTAwMTk2IGh0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsvaW1hZ2UtYXMtdGV4dC1sb2FkaW5nLWRhdGEtdXJsLmh0bWwKKworIyBDU1MgRGV2
aWNlIEFkYXB0YXRpb24gaXMgbm90IGVuYWJsZWQuCit3ZWJraXQub3JnL2IvOTU5NjkgY3NzMy9k
ZXZpY2UtYWRhcHQgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggMzY0OTVhNjFjZjc3NzRkNzU0NjgzYmJiNmFjMTY1OTRhN2I3MzBhNi4uNmE0
OGI2ZmY4NzRkNGEwOThiNTEwMmZiYWI3OTE0YTVlOTIzNWE3MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIzNzEsMyArMjM3MSw2IEBAIGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvdGltZW91dC94bWxodHRwcmVxdWVzdC10aW1lb3V0LXdvcmtlci1v
dmVycmlkZXNleHBpcmVzCiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3RpbWVvdXQveG1saHR0
cHJlcXVlc3QtdGltZW91dC13b3JrZXItc2ltcGxlLmh0bWwKIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvdGltZW91dC94bWxodHRwcmVxdWVzdC10aW1lb3V0LXdvcmtlci1zeW5jb253b3JrZXIu
aHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC90aW1lb3V0L3htbGh0dHByZXF1ZXN0LXRp
bWVvdXQtd29ya2VyLXR3aWNlLmh0bWwKKworIyBDU1MgRGV2aWNlIEFkYXB0YXRpb24gaXMgbm90
IGVuYWJsZWQuCit3ZWJraXQub3JnL2IvOTU5NTkgY3NzMy9kZXZpY2UtYWRhcHQgWyBTa2lwIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGYwY2JjMDAyYzIzNDU3OGZhOWFmNjQzY2Q1NDY0NDg0NzhmNzU4OTMuLmEyOGJjMTRiNDMyZDBi
ODc4ZmM2ODk4MjZkYzE2ZTY4NmRmYzg5ZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjgxMCwzICsyODEwLDYgQEAgaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9yYW5nZS10ZXN0Lmh0bWwKIAogIyBjc3MzLWNvbmRpdGlvbmFscyBz
dXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi84NjE0NiBjc3MzL3N1cHBv
cnRzLmh0bWwKKworIyBDU1MgRGV2aWNlIEFkYXB0YXRpb24gaXMgbm90IGVuYWJsZWQuCit3ZWJr
aXQub3JnL2IvOTU5NTkgY3NzMy9kZXZpY2UtYWRhcHQgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0No
YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA3ZTQ0MDQyNWRhOGIwYWYxZmI3NmUxYzc0NTQ1NzUy
ODcyYmI2YzcwLi5lZTc0NTc5NmVhYzA2Y2FlOWFiNzlmM2JjZmYwNWQyMmUxNjgyMDU3IDEwMDY0
NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTIt
MTAtMjcgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRlbC5jb20+
CisKKyAgICAgICAgQWRkZWQgdmlld3BvcnQgYXQtcnVsZSB0byB0aGUgQ1NTIHBhcnNlciBhbmQg
dG9rZW5pemVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NTk2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEVuYWJsZSBDU1MgRGV2aWNlIEFkYXB0YXRpb24gYnkgZGVmYXVsdCBvbiBFRkwuCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKwogMjAxMi0xMC0yNiAgUm9iIEJ1
aXMgIDxyYnVpc0ByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBQbGF0Zm9ybSBBYnN0
cmFjdGlvbiBmb3IgV2ViS2l0IFJlc291cmNlL0ltYWdlIExvYWRpbmcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171664</attachid>
            <date>2012-10-31 08:18:02 -0700</date>
            <delta_ts>2012-10-31 09:16:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95961-20121031172014.patch</filename>
            <type>text/plain</type>
            <size>45420</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ1ZjdhZTE1NTA0MjUz
OTQwMTJmMWZiZWJiMWNiZWRiZmEyNTZhMy4uM2YyYjk3ODI0ZWE5M2M0NDY2YTg1ZmE1ZTliNGE1
YjdiYzU2ZTEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTEwLTMxICBUaGlh
Z28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgorCisgICAgICAg
IEFkZGVkIHZpZXdwb3J0IGF0LXJ1bGUgdG8gdGhlIENTUyBwYXJzZXIgYW5kIHRva2VuaXplcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU5NjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdG9rZW5z
IGFuZCBncmFtbWFyIHJ1bGVzIHRvIHBhcnNlIEAtd2Via2l0LXZpZXdwb3J0IGJsb2Nrcy4gQWxz
byBhZGQKKyAgICAgICAgdGhlIG5ld2x5IHBhcnNlZCBydWxlIHRvIHRoZSBydWxlIGxpc3QuCisK
KyAgICAgICAgVGhpcyBwYXJzZXIgbm93IGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBwYXJ0IG9m
IHRoZSBDU1MgRGV2aWNlIEFkYXB0YXRpb24KKyAgICAgICAgc3BlY2lmaWNhdGlvbjogaHR0cDov
L3d3dy53My5vcmcvVFIvY3NzLWRldmljZS1hZGFwdC8jc3ludGF4CisKKyAgICAgICAgVGVzdDog
Y3NzMy9kZXZpY2UtYWRhcHQvdmlld3BvcnQtYXQtcnVsZS1wYXJzaW5nLmh0bWwKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisgICAgICAg
ICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OkNTU1Bh
cnNlcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdEF0VG9rZW4pOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNyZWF0ZVZpZXdw
b3J0UnVsZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAoQ1NTUGFyc2Vy
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1ZpZXdwb3J0UnVsZUJvZHlTdGFy
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtWaWV3cG9ydFJ1bGVCb2R5RW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aW5WaWV3cG9ydCk6CisKKyAgICAgICAg
ICAgIFRoZXNlIG1ldGhvZHMgYXJlIG5lZWRlZCBieSB0aGUgbmV4dCBwYXRjaCB2YWxpZGF0aW5n
IHRoZSBwcm9wZXJ0aWVzLgorICAgICAgICAgICAgU29tZSB2aWV3cG9ydCBwcm9wZXJ0aWVzIGFy
ZSBjb21tb24gdG8gb3RoZXIgcnVsZXMgYnV0IGhhdmUgZGlmZmVyZW50CisgICAgICAgICAgICBz
ZW1hbnRpY3MsIGFuZCBhY2NlcHRzIGRpZmZlcmVudCBrZXl3b3Jkcy4gVGhlIHZhbGlkYXRpb24g
bmVlZHMgdG8gYmUKKyAgICAgICAgICAgIGRvbmUgaW4gYSBkaWZmZXJlbnQgY29kZSBwYXRoLgor
CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oOgorICAgICAgICAqIGNzcy9D
U1NSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVs
ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjpkZXN0cm95KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1J1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1J1
bGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAg
ICAoQ1NTUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjppc1ZpZXdwb3J0UnVsZSk6
CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGVCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVC
YXNlOjpkZXN0cm95KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNvcHkpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlVmlld3BvcnQ6OlN0
eWxlUnVsZVZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZVZpZXdwb3J0Ojp+
U3R5bGVSdWxlVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlVmlld3BvcnQ6
Om11dGFibGVQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZVZpZXdwb3J0
OjpzZXRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZVZpZXdwb3J0Ojpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuaDoK
KyAgICAgICAgKFN0eWxlUnVsZUJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFz
ZTo6aXNWaWV3cG9ydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTdHlsZVJ1
bGVWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVWaWV3cG9ydDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZVZpZXdwb3J0Ojpwcm9wZXJ0aWVzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZVZpZXdwb3J0Ojpjb3B5KToKKyAgICAgICAgKiBjc3Mv
V2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdwb3J0UnVsZTo6V2ViS2l0Q1NTVmlld3BvcnRS
dWxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdwb3J0UnVsZTo6fldlYktpdENT
U1ZpZXdwb3J0UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6
OnN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdwb3J0UnVsZTo6Y3NzVGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OnJlYXR0YWNoKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdwb3J0UnVsZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTItMTAtMzEgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzdHJheSBjYWxscyB0byBtdXRhYmxl
QXR0cmlidXRlRGF0YSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc0OTBmZmZiNGExNDU2NzNh
YWUwZTBmMWIxNGViMjUzNzNhY2YyNjYuLjA2MzAwMGQxODYwZDJjZDE4NTNkODAzMzI3ZjhhMDg1
YmYxYjAwNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTAzLDYgKzExMDMsNyBAQCBTRVQo
V2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCiAg
ICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcAogICAgIGNzcy9XZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5jcHAKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcAogCiAgICAgZG9t
L0FjdGl2ZURPTU9iamVjdC5jcHAKICAgICBkb20vQXR0ci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IDMwYmI3NjM0ZjhhZDNhZDI4NWE0Njk5NDJjOGFlZjE0ODllYjAxOGYu
LmNjZTYxZmFiMDk2N2ZkYzZiNGZhZDIxZjM1ZjVkNjlkOTVmNDNhMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQpAQCAtMjY4OSw2ICsyNjg5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBcCiAJU291cmNl
L1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9BdHRyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
IGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCAyZjdjZTU5NWE2NjJiNWU4YmJkMTZi
Y2VlM2NmNTdiYWY5OGM5OWYwLi42ZTBiOWU2OWJiZmVlMmRmNGJlNjkxNTdjZDA3MTA2ZjAxMmUw
YTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKQEAgLTMzOSw2ICszMzksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBj
c3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAgXAogICAgIGNzcy9XZWJLaXRDU1NTaGFk
ZXJWYWx1ZS5jcHAgXAogICAgIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgXAorICAg
IGNzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIFwKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0
LmNwcCBcCiAgICAgZG9tL0F0dHIuY3BwIFwKICAgICBkb20vQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuY3BwIFwKQEAgLTE1MTMsNiArMTUxNCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9XZWJL
aXRDU1NTVkdEb2N1bWVudFZhbHVlLmggXAogICAgIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5o
IFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBcCisgICAgY3NzL1dlYktpdENT
U1ZpZXdwb3J0UnVsZS5oIFwKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmggXAogICAgIGRvbS9B
dHRyLmggXAogICAgIGRvbS9BdHRyaWJ1dGUuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYzYyYWQz
MDUxMzA1NjExMmEyYWE3MzZlZDE2NmY3NWVmYzNmYzZjNS4uZGRkNDgzZWRmZWY3ZjA0N2FhYWJj
ZDc1MWI4Zjg0YTk0ZTZjY2ZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjY3Niw2ICsyNjc2LDgg
QEAKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAnLAogICAg
ICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmgnLAogICAgICAgICAgICAg
J2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9XZWJL
aXRDU1NWaWV3cG9ydFJ1bGUuaCcsCisgICAgICAgICAgICAnY3NzL1dlYktpdENTU1ZpZXdwb3J0
UnVsZS5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5o
JywKICAgICAgICAgICAgICdlZGl0aW5nL0FwcGVuZE5vZGVDb21tYW5kLmNwcCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGEwZTk0YjhlYzRl
NmRhNDk0N2VhNTBhMTRhMzM0NjA4NWJmYTc0ZGQuLjZiZTdmZDhjOTRjZmViZWY4ZTg4YjJkY2Zl
NTgyM2RkYWVjMzgwNTkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCkBAIC0zODIxOSw2ICszODIxOSwxNCBAQAogCQkJICAgID4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcV2ViS2l0Q1NTVmlld3BvcnRSdWxl
LmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
Y3NzXFdlYktpdENTU1ZpZXdwb3J0UnVsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CiAJCQkgICAgUmVsYXRpdmVQYXRoPSIuLlxjc3NcQmFzaWNTaGFwZUZ1bmN0aW9ucy5oIgogCQkJ
ICAgID4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA1ZDg4MDdlZDk5YzdkZDM5YWJlYzIxYzIyYThjNzI1NmQ4
M2ZhYjhkLi45MjM5ZTcyYjc3YWZlZmQ1YzViYWFmN2ZiNDAwOGEwY2I0YWI0ZDEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MDMxLDYgKzEwMzEsOCBAQAogCQkzQUM2NDhCMjEyOUUxNDY1MDBDM0VCMjUgLyogRWRpdGluZ0Jv
dW5kYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
QUM2NDhCMTEyOUUxNDY1MDBDM0VCMjUgLyogRWRpdGluZ0JvdW5kYXJ5LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJM0MyNDRGRUFBMzc1QUM2MzNG
ODhCRTZGIC8qIFJlbmRlckxheWVyTW9kZWxPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNDMjQ0RkU0QTM3NUFDNjMzRjg4QkU2RiAvKiBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJM0MyNDRGRUJBMzc1QUM2MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9k
ZWxPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gM0MyNDRGRTVBMzc1QUM2MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9kZWxPYmplY3QuY3Bw
ICovOyB9OworCQkzRkZGRjlBODE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3BvcnRS
dWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNG
RkZGOUE2MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwICovOyB9
OworCQkzRkZGRjlBOTE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRkZGRjlBNzE1
OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggKi87IH07CiAJCTQxMDAy
Q0NEMEY2NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDAyQ0NCMEY2NkVERUYwMDlFNjYw
RCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCAqLzsgfTsKIAkJNDEwMDJDQ0UwRjY2RURFRjAwOUU2
NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTAwMkNDQzBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVu
Y3Rpb25DYWxsLmNwcCAqLzsgfTsKIAkJNDEwQjdFNzIxMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVz
c2FnZUV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3Rv
bS5jcHAgKi87IH07CkBAIC04MTkwLDYgKzgxOTIsOCBAQAogCQkzQUM2NDhCMTEyOUUxNDY1MDBD
M0VCMjUgLyogRWRpdGluZ0JvdW5kYXJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEVkaXRpbmdCb3VuZGFyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzQzI0
NEZFNEEzNzVBQzYzM0Y4OEJFNkYgLyogUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJMYXllck1vZGVsT2JqZWN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNDMjQ0RkU1QTM3NUFDNjMzRjg4QkU2RiAvKiBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkzRkZGRjlBNjE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYktpdENTU1ZpZXdwb3J0
UnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTNGRkZGOUE3MTU5RDlBNTUw
MDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxMDAyQ0NCMEY2NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0RnVuY3Rpb25DYWxsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMDAyQ0NDMEY2NkVERUYwMDlFNjYwRCAv
KiBTY3JpcHRGdW5jdGlvbkNhbGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU2NyaXB0RnVuY3Rpb25DYWxsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDEwQjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVzc2FnZUV2ZW50Q3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxNDM1LDYgKzIxNDM5LDggQEAK
IAkJCQlCQzlBREQ3RjBDQzQwOTIyMDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
Y3BwICovLAogCQkJCUJDOUFERDIyMENDNDAzMjYwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5oICovLAogCQkJCTMxNjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZS5pZGwgKi8sCisJCQkJM0ZGRkY5QTYxNTlEOUE1NTAwMjBCQkQ1IC8qIFdl
YktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgKi8sCisJCQkJM0ZGRkY5QTcxNTlEOUE1NTAwMjBCQkQ1
IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5oICovLAogCQkJKTsKIAkJCXBhdGggPSBjc3M7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjU3MTQsNiArMjU3MjAsNyBAQAogCQkJCUFB
QzA4Q0YzMTVGOTQxRkQwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTA5MzMzNTAxNjNCMEU0MzAwMDk5QTYwIC8qIEN1c3RvbUZpbHRlclBhcmFt
ZXRlckxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwRDMyODU4MTYzQjMxM0YwMDE2MTExRSAv
KiBWYWxpZGF0ZWRDdXN0b21GaWx0ZXJPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTNG
RkZGOUE5MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtMjg4MDAsNiArMjg4MDcsNyBAQAogCQkJCTUwOTMzMzRGMTYzQjBFNDMwMDA5
OUE2MCAvKiBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTFBQTIxMjUwMTYzRjBEQTgwMDAwRTYzRiAvKiBBdG9taWNTdHJpbmdDRi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MEQzMjg1NzE2M0IzMTNGMDAxNjExMUUgLyogVmFsaWRhdGVkQ3VzdG9tRmls
dGVyT3BlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTNGRkZGOUE4MTU5RDlBNTUwMDIw
QkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyYW1tYXIueS5pbgppbmRleCA0MDQ1MTEzNWNjYzA4NTJhZmE0ZTM5OWIxNTExNTMw
ZmQ0NmUxZGJjLi4yMjk1N2M2ODk2ZWFlZmE5ZjEzYzFiNWI0ZjU5ZTkxNmRiYWNjMDRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KQEAgLTMsNiArMyw3IEBACiAgKiAgQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFByb3Nr
dXJ5YWtvdiAoYXBAbnlwb3AuY29tKQogICogIENvcHlyaWdodCAoQykgMjAwOCBFcmljIFNlaWRl
bCA8ZXJpY0B3ZWJraXQub3JnPgorICogIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTEwOSw2
ICsxMTAsNyBAQCBzdGF0aWMgaW5saW5lIGludCBjc3N5eWVycm9yKHZvaWQqLCBjb25zdCBjaGFy
KikKICV0b2tlbiBXRUJLSVRfTUVESUFRVUVSWV9TWU0KICV0b2tlbiBXRUJLSVRfU0VMRUNUT1Jf
U1lNCiAldG9rZW4gV0VCS0lUX1JFR0lPTl9SVUxFX1NZTQorJXRva2VuIFdFQktJVF9WSUVXUE9S
VF9SVUxFX1NZTQogJXRva2VuIDxtYXJnaW5Cb3g+IFRPUExFRlRDT1JORVJfU1lNCiAldG9rZW4g
PG1hcmdpbkJveD4gVE9QTEVGVF9TWU0KICV0b2tlbiA8bWFyZ2luQm94PiBUT1BDRU5URVJfU1lN
CkBAIC0yMDYsNiArMjA4LDkgQEAgc3RhdGljIGlubGluZSBpbnQgY3NzeXllcnJvcih2b2lkKiwg
Y29uc3QgY2hhciopCiAjaWYgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMKICV0eXBlIDxy
dWxlPiBzdXBwb3J0cwogI2VuZGlmCisjaWYgRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTgor
JXR5cGUgPHJ1bGU+IHZpZXdwb3J0CisjZW5kaWYKIAogJXR5cGUgPHN0cmluZz4gbWF5YmVfbnNf
cHJlZml4CiAKQEAgLTQxMSw2ICs0MTYsOSBAQCB2YWxpZF9ydWxlOgogI2lmIEVOQUJMRV9TSEFE
T1dfRE9NCiAgIHwgaG9zdAogI2VuZGlmCisjaWYgRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TgorICB8IHZpZXdwb3J0CisjZW5kaWYKICAgOwogCiBydWxlOgpAQCAtNDM5LDYgKzQ0Nyw5IEBA
IGJsb2NrX3ZhbGlkX3J1bGU6CiAgIHwgcGFnZQogICB8IGZvbnRfZmFjZQogICB8IGtleWZyYW1l
cworI2lmIEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04KKyAgfCB2aWV3cG9ydAorI2VuZGlm
CiAgIDsKIAogYmxvY2tfcnVsZToKQEAgLTkyOSw2ICs5NDAsMzMgQEAgaG9zdDoKICAgICA7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04KK2JlZm9yZV92aWV3cG9y
dF9ydWxlOgorICAgIC8qIGVtcHR5ICovIHsKKyAgICAgICAgcGFyc2VyLT5tYXJrVmlld3BvcnRS
dWxlQm9keVN0YXJ0KCk7CisgICAgICAgIHBhcnNlci0+bWFya1J1bGVIZWFkZXJTdGFydChDU1NS
dWxlU291cmNlRGF0YTo6VklFV1BPUlRfUlVMRSk7CisgICAgfQorICAgIDsKKwordmlld3BvcnQ6
CisgICAgYmVmb3JlX3ZpZXdwb3J0X3J1bGUgV0VCS0lUX1ZJRVdQT1JUX1JVTEVfU1lNIGF0X3J1
bGVfaGVhZGVyX2VuZF9tYXliZV9zcGFjZQorICAgICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5
YmVfc3BhY2VfYmVmb3JlX2RlY2xhcmF0aW9uIGRlY2xhcmF0aW9uX2xpc3QgY2xvc2luZ19icmFj
ZSB7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVWaWV3cG9ydFJ1bGUoKTsKKyAgICAgICAg
cGFyc2VyLT5tYXJrVmlld3BvcnRSdWxlQm9keUVuZCgpOworICAgIH0KKyAgICB8IGJlZm9yZV92
aWV3cG9ydF9ydWxlIFdFQktJVF9WSUVXUE9SVF9SVUxFX1NZTSBlcnJvciBpbnZhbGlkX2Jsb2Nr
IHsKKyAgICAgICAgJCQgPSAwOworICAgICAgICBwYXJzZXItPnBvcFJ1bGVEYXRhKCk7CisgICAg
ICAgIHBhcnNlci0+bWFya1ZpZXdwb3J0UnVsZUJvZHlFbmQoKTsKKyAgICB9CisgICAgfCBiZWZv
cmVfdmlld3BvcnRfcnVsZSBXRUJLSVRfVklFV1BPUlRfUlVMRV9TWU0gZXJyb3IgJzsnIHsKKyAg
ICAgICAgJCQgPSAwOworICAgICAgICBwYXJzZXItPnBvcFJ1bGVEYXRhKCk7CisgICAgICAgIHBh
cnNlci0+bWFya1ZpZXdwb3J0UnVsZUJvZHlFbmQoKTsKKyAgICB9Cis7CisjZW5kaWYKKwogcmVn
aW9uX3NlbGVjdG9yOgogICAgIHNlbGVjdG9yX2xpc3QgewogICAgICAgICBpZiAoJDEpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggM2Y1MDk3ZDVhZGVlYjM0ZTdhODA2OTgwNDA3ODYx
OWFkZTlhMjBiMC4uZjdkMzg2NTBmYjljNDZhNDg0Mzc4NTExMDFmZWJhMWJiMTBmYjBlYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTI2OSw2ICsyNjksOSBAQCBDU1NQYXJzZXI6OkNT
U1BhcnNlcihjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQogICAgICwgbV9sYXN0U2Vs
ZWN0b3JMaW5lTnVtYmVyKDApCiAgICAgLCBtX2FsbG93SW1wb3J0UnVsZXModHJ1ZSkKICAgICAs
IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnModHJ1ZSkKKyNpZiBFTkFCTEUoQ1NTX0RFVklD
RV9BREFQVEFUSU9OKQorICAgICwgbV9pblZpZXdwb3J0KGZhbHNlKQorI2VuZGlmCiAgICAgLCBt
X3NlbGVjdG9yVmVjdG9yKGFkb3B0UHRyKG5ldyBDU1NTZWxlY3RvclZlY3RvcikpCiB7CiAjaWYg
WVlERUJVRyA+IDAKQEAgLTkzMTYsOCArOTMxOSwxNSBAQCBpbmxpbmUgdm9pZCBDU1NQYXJzZXI6
OmRldGVjdEF0VG9rZW4oaW50IGxlbmd0aCwgYm9vbCBoYXNFc2NhcGUpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKICAgICAgICAgY2FzZSAxNzoKLSAgICAgICAgICAgIGlmICghaGFzRXNjYXBlICYm
IGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDIsICJ3ZWJraXQtc2VsZWN0b3IiKSkKKyAg
ICAgICAgICAgIGlmIChoYXNFc2NhcGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzE2XSwgJ3InKSAmJiBp
c0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAyLCAid2Via2l0LXNlbGVjdG8iKSkKICAgICAg
ICAgICAgICAgICBtX3Rva2VuID0gV0VCS0lUX1NFTEVDVE9SX1NZTTsKKyNpZiBFTkFCTEUoQ1NT
X0RFVklDRV9BREFQVEFUSU9OKQorICAgICAgICAgICAgZWxzZSBpZiAoaXNBU0NJSUFscGhhQ2Fz
ZWxlc3NFcXVhbChuYW1lWzE2XSwgJ3QnKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUg
KyAyLCAid2Via2l0LXZpZXdwb3IiKSkKKyAgICAgICAgICAgICAgICBtX3Rva2VuID0gV0VCS0lU
X1ZJRVdQT1JUX1JVTEVfU1lNOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAg
ICAgY2FzZSAxODoKQEAgLTEwMzkwLDYgKzEwNDAwLDI0IEBAIHZvaWQgQ1NTUGFyc2VyOjptYXJr
UHJvcGVydHlFbmQoYm9vbCBpc0ltcG9ydGFudEZvdW5kLCBib29sIGlzUHJvcGVydHlQYXJzZWQp
CiAgICAgcmVzZXRQcm9wZXJ0eVJhbmdlKCk7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9B
REFQVEFUSU9OKQorU3R5bGVSdWxlQmFzZSogQ1NTUGFyc2VyOjpjcmVhdGVWaWV3cG9ydFJ1bGUo
KQoreworICAgIG1fYWxsb3dJbXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlv
bnMgPSBmYWxzZTsKKworICAgIFJlZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gcnVsZSA9IFN0eWxl
UnVsZVZpZXdwb3J0OjpjcmVhdGUoKTsKKworICAgIHJ1bGUtPnNldFByb3BlcnRpZXMoY3JlYXRl
U3R5bGVQcm9wZXJ0eVNldCgpKTsKKyAgICBjbGVhclByb3BlcnRpZXMoKTsKKworICAgIFN0eWxl
UnVsZVZpZXdwb3J0KiByZXN1bHQgPSBydWxlLmdldCgpOworICAgIG1fcGFyc2VkUnVsZXMuYXBw
ZW5kKHJ1bGUucmVsZWFzZSgpKTsKKyAgICBwcm9jZXNzQW5kQWRkTmV3UnVsZVRvU291cmNlVHJl
ZUlmTmVlZGVkKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorI2VuZGlmCisKIHRlbXBsYXRl
IDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVy
dHlJRChjb25zdCBDaGFyYWN0ZXJUeXBlKiBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGxlbmd0aCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCBiNjJkODhmNGNhOGNlNmMyOGUwZWM0NTkyZjJj
MTZhZTQxNWU5MmMzLi4xOTNlMGI3NzFlMzE5ZjAzYmNkODJkNDVkODc3ZjFkNTY5ZGY3MDFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0zNjYsNiArMzY2LDEyIEBAIHB1YmxpYzoKIAogICAg
IGludCB0b2tlbigpIHsgcmV0dXJuIG1fdG9rZW47IH0KIAorI2lmIEVOQUJMRShDU1NfREVWSUNF
X0FEQVBUQVRJT04pCisgICAgdm9pZCBtYXJrVmlld3BvcnRSdWxlQm9keVN0YXJ0KCkgeyBtX2lu
Vmlld3BvcnQgPSB0cnVlOyB9CisgICAgdm9pZCBtYXJrVmlld3BvcnRSdWxlQm9keUVuZCgpIHsg
bV9pblZpZXdwb3J0ID0gZmFsc2U7IH0KKyAgICBTdHlsZVJ1bGVCYXNlKiBjcmVhdGVWaWV3cG9y
dFJ1bGUoKTsKKyNlbmRpZgorCiAgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3Jl
YXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CiAgICAgUGFzc1JlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUoQ1NTUGFyc2Vy
VmFsdWUqKTsKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKQEAgLTUxMyw2ICs1MTksMTEgQEAg
cHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dJbXBvcnRSdWxlczsKICAgICBib29sIG1fYWxsb3dO
YW1lc3BhY2VEZWNsYXJhdGlvbnM7CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9O
KQorICAgIGJvb2wgaW5WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1faW5WaWV3cG9ydDsgfQor
ICAgIGJvb2wgbV9pblZpZXdwb3J0OworI2VuZGlmCisKICAgICBpbnQgKENTU1BhcnNlcjo6Km1f
bGV4RnVuYykodm9pZCopOwogCiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+IG1f
cGFyc2VkUnVsZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlT
b3VyY2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmgK
aW5kZXggMDc5ZWMzMzYyNDk1YzA3OTc5YjQ3NWFmZGU3NzYwMjM4NGM5OTk2Zi4uODk4MmFjZjcz
MWUxODEwMWFmMDNmNmMxODExZjIzNmVkNGUzOTVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eVNvdXJjZURhdGEuaApAQCAtOTUsNyArOTUsOCBAQCBzdHJ1Y3QgQ1NTUnVsZVNv
dXJjZURhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1NSdWxlU291cmNlRGF0YT4gewogICAgICAg
ICBQQUdFX1JVTEUsCiAgICAgICAgIEtFWUZSQU1FU19SVUxFLAogICAgICAgICBSRUdJT05fUlVM
RSwKLSAgICAgICAgSE9TVF9SVUxFCisgICAgICAgIEhPU1RfUlVMRSwKKyAgICAgICAgVklFV1BP
UlRfUlVMRQogICAgIH07CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NSdWxlU291cmNlRGF0
YT4gY3JlYXRlKFR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcAppbmRleCBjZDUzM2Q5YThm
ZGM4MmU1NzEyZWZkOTZjZmM3ZTRhOTZmZGZkYTdmLi42YzUyMmJkMDNlZjg5YmI0N2RhNTFiYWVm
YmYyMzY4YTE1ZjQ2MzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCkBAIC0zMCwxMiArMzAsMTMg
QEAKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNoZWV0Lmgi
CiAjaW5jbHVkZSAiQ1NTVW5rbm93blJ1bGUuaCIKLSNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFt
ZVJ1bGUuaCIKLSNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgiCi0jaW5jbHVkZSAi
V2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5j
bHVkZSAiU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCisjaW5j
bHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZS5oIgorI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUuaCIKKyNpbmNsdWRlICJX
ZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw2
ICs1MSwxMCBAQCBDT01QSUxFX0FTU0VSVChzaXplb2YoQ1NTUnVsZSkgPT0gc2l6ZW9mKFNhbWVT
aXplQXNDU1NSdWxlKSwgQ1NTUnVsZV9zaG91bGRfc3RheQogQ09NUElMRV9BU1NFUlQoU3R5bGVS
dWxlQmFzZTo6UmVnaW9uID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZUJhc2U6OlR5cGU+KENTU1J1
bGU6OldFQktJVF9SRUdJT05fUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCitDT01QSUxFX0FTU0VSVChTdHlsZVJ1
bGVCYXNlOjpWaWV3cG9ydCA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVCYXNlOjpUeXBlPihDU1NS
dWxlOjpXRUJLSVRfVklFV1BPUlRfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CisjZW5kaWYK
Kwogdm9pZCBDU1NSdWxlOjpzZXRDc3NUZXh0KGNvbnN0IFN0cmluZyYgLypjc3NUZXh0Ki8sIEV4
Y2VwdGlvbkNvZGUmIC8qZWMqLykKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpAQCAtNzYsNiAr
ODEsMTAgQEAgU3RyaW5nIENTU1J1bGU6OmNzc1RleHQoKSBjb25zdAogICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSo+KHRoaXMpLT5jc3NUZXh0
KCk7CiAgICAgY2FzZSBXRUJLSVRfS0VZRlJBTUVfUlVMRToKICAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGNvbnN0IFdlYktpdENTU0tleWZyYW1lUnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7Cisj
aWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBjYXNlIFdFQktJVF9WSUVXUE9S
VF9SVUxFOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlKj4odGhpcyktPmNzc1RleHQoKTsKKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfUkVHSU9O
UykKICAgICBjYXNlIFdFQktJVF9SRUdJT05fUlVMRToKICAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IFdlYktpdENTU1JlZ2lvblJ1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOwpAQCAtMTE1
LDYgKzEyNCwxMSBAQCB2b2lkIENTU1J1bGU6OmRlc3Ryb3koKQogICAgIGNhc2UgV0VCS0lUX0tF
WUZSQU1FX1JVTEU6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFt
ZVJ1bGUqPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShDU1NfREVWSUNFX0FE
QVBUQVRJT04pCisgICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgZGVsZXRl
IHN0YXRpY19jYXN0PFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpOworICAgICAgICByZXR1
cm47CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY2FzZSBXRUJLSVRfUkVH
SU9OX1JVTEU6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxl
Kj4odGhpcyk7CkBAIC0xNTUsNiArMTY5LDExIEBAIHZvaWQgQ1NTUnVsZTo6cmVhdHRhY2goU3R5
bGVSdWxlQmFzZSogcnVsZSkKICAgICAgICAgLy8gTm8gbmVlZCB0byByZWF0dGFjaCwgdGhlIHVu
ZGVybHlpbmcgZGF0YSBpcyBzaGFyZWFibGUgb24gbXV0YXRpb24uCiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURB
UFRBVElPTikKKyAgICBjYXNlIFdFQktJVF9WSUVXUE9SVF9SVUxFOgorICAgICAgICBzdGF0aWNf
Y2FzdDxXZWJLaXRDU1NWaWV3cG9ydFJ1bGUqPih0aGlzKS0+cmVhdHRhY2goc3RhdGljX2Nhc3Q8
U3R5bGVSdWxlVmlld3BvcnQqPihydWxlKSk7CisgICAgICAgIHJldHVybjsKKyNlbmRpZgogI2lm
IEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBjYXNlIFdFQktJVF9SRUdJT05fUlVMRToKICAgICAg
ICAgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpLT5yZWF0dGFjaChzdGF0
aWNfY2FzdDxTdHlsZVJ1bGVSZWdpb24qPihydWxlKSk7CkBAIC0xOTQsNiArMjEzLDExIEBAIHZv
aWQgQ1NTUnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKICAgICBjYXNlIFdFQktJVF9LRVlGUkFNRV9SVUxFOgogICAgICAgICBz
dGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqPih0aGlzKS0+cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgICAgICByZXR1cm47Cisj
aWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBjYXNlIFdFQktJVF9WSUVXUE9S
VF9SVUxFOgorICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUq
Pih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwor
ICAgICAgICByZXR1cm47CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY2Fz
ZSBXRUJLSVRfUkVHSU9OX1JVTEU6CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENT
U1JlZ2lvblJ1bGUqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9i
amVjdEluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggYjMxZmU3YjhkZWJjYTliNzljZjRmOGRl
NmNmZjcxNzZiNTk3NWIyNi4uYWIzMDA0ODg3ZjZkZjBiY2M1NmE1YjczNjU5NTMxY2ZjYjQ5NjIy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUnVsZS5oCkBAIC01Nyw2ICs1Nyw5IEBAIHB1YmxpYzoKICAgICAgICAg
Ly8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI5Mz4uCiAgICAg
ICAgIFdFQktJVF9LRVlGUkFNRVNfUlVMRSwKICAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUs
CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICAgICAgV0VCS0lUX1ZJRVdQ
T1JUX1JVTEUgPSAxNSwKKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICAgICAg
V0VCS0lUX1JFR0lPTl9SVUxFID0gMTYKICNlbmRpZgpAQCAtNzMsNiArNzYsMTAgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNTdHlsZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU1RZTEVf
UlVMRTsgfQogICAgIGJvb2wgaXNJbXBvcnRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09
IElNUE9SVF9SVUxFOyB9CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAg
IGJvb2wgaXNWaWV3cG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gV0VCS0lUX1ZJ
RVdQT1JUX1JVTEU7IH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgIGJv
b2wgaXNSZWdpb25SdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFdFQktJVF9SRUdJT05f
UlVMRTsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDY3ZjdiYzcyODI3
MDJkNWFlYzhhMzQwZGU2NmE1ZWVhMzJkMGZkMTkuLjcxM2M5NzE0NjQ0YWYyYWIwOTIxZWFiNGY3
M2JlNDg5NzNmOWJkZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUuaCIKKyNp
bmNsdWRlICJXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCIKICNpbmNsdWRlIDx3dGYvTWVtb3J5SW5z
dHJ1bWVudGF0aW9uVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTgyLDYgKzgz
LDExIEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBjYXNlIEhvc3Q6CiAgICAgICAgIHN0
YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUJsb2NrKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJM
RShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgY2FzZSBWaWV3cG9ydDoKKyAgICAgICAgc3Rh
dGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlVmlld3BvcnQqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgICAgICByZXR1cm47CisjZW5kaWYK
ICAgICBjYXNlIFVua25vd246CiAgICAgY2FzZSBDaGFyc2V0OgogICAgIGNhc2UgS2V5ZnJhbWU6
CkBAIC0xMjMsNiArMTI5LDExIEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6ZGVzdHJveSgpCiAgICAg
Y2FzZSBIb3N0OgogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U3R5bGVSdWxlSG9zdCo+KHRo
aXMpOwogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikK
KyAgICBjYXNlIFZpZXdwb3J0OgorICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
Vmlld3BvcnQqPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCiAgICAgY2FzZSBVbmtu
b3duOgogICAgIGNhc2UgQ2hhcnNldDoKICAgICBjYXNlIEtleWZyYW1lOgpAQCAtMTU4LDYgKzE2
OSwxMCBAQCBQYXNzUmVmUHRyPFN0eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBj
b25zdAogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlS2V5ZnJhbWVz
Kj4odGhpcyktPmNvcHkoKTsKICAgICBjYXNlIEhvc3Q6CiAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4odGhpcyktPmNvcHkoKTsKKyNpZiBFTkFCTEUoQ1NT
X0RFVklDRV9BREFQVEFUSU9OKQorICAgIGNhc2UgVmlld3BvcnQ6CisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVWaWV3cG9ydCo+KHRoaXMpLT5jb3B5KCk7CisjZW5k
aWYKICAgICBjYXNlIFVua25vd246CiAgICAgY2FzZSBDaGFyc2V0OgogICAgIGNhc2UgS2V5ZnJh
bWU6CkBAIC0xOTksNiArMjE0LDExIEBAIFBhc3NSZWZQdHI8Q1NTUnVsZT4gU3R5bGVSdWxlQmFz
ZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0CiAgICAgY2Fz
ZSBLZXlmcmFtZXM6CiAgICAgICAgIHJ1bGUgPSBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpjcmVh
dGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlS2V5ZnJhbWVzKj4oc2VsZiksIHBhcmVudFNoZWV0KTsK
ICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBj
YXNlIFZpZXdwb3J0OgorICAgICAgICBydWxlID0gV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpjcmVh
dGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVmlld3BvcnQqPihzZWxmKSwgcGFyZW50U2hlZXQpOwor
ICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgSG9zdDoKICAgICBjYXNlIFVua25vd246
CiAgICAgY2FzZSBDaGFyc2V0OgpAQCAtMzkwLDQgKzQxMCwzOSBAQCB2b2lkIFN0eWxlUnVsZVJl
Z2lvbjo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdAogICAgIGluZm8uYWRkTWVtYmVyKG1fc2VsZWN0b3JMaXN0KTsKIH0KIAorI2lmIEVO
QUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCitTdHlsZVJ1bGVWaWV3cG9ydDo6U3R5bGVSdWxl
Vmlld3BvcnQoKQorICAgIDogU3R5bGVSdWxlQmFzZShWaWV3cG9ydCwgMCkKK3sKK30KKworU3R5
bGVSdWxlVmlld3BvcnQ6OlN0eWxlUnVsZVZpZXdwb3J0KGNvbnN0IFN0eWxlUnVsZVZpZXdwb3J0
JiBvKQorICAgIDogU3R5bGVSdWxlQmFzZShvKQorICAgICwgbV9wcm9wZXJ0aWVzKG8ubV9wcm9w
ZXJ0aWVzLT5jb3B5KCkpCit7Cit9CisKK1N0eWxlUnVsZVZpZXdwb3J0Ojp+U3R5bGVSdWxlVmll
d3BvcnQoKQoreworfQorCitTdHlsZVByb3BlcnR5U2V0KiBTdHlsZVJ1bGVWaWV3cG9ydDo6bXV0
YWJsZVByb3BlcnRpZXMoKQoreworICAgIGlmICghbV9wcm9wZXJ0aWVzLT5pc011dGFibGUoKSkK
KyAgICAgICAgbV9wcm9wZXJ0aWVzID0gbV9wcm9wZXJ0aWVzLT5jb3B5KCk7CisgICAgcmV0dXJu
IG1fcHJvcGVydGllcy5nZXQoKTsKK30KKwordm9pZCBTdHlsZVJ1bGVWaWV3cG9ydDo6c2V0UHJv
cGVydGllcyhQYXNzUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IHByb3BlcnRpZXMpCit7CisgICAg
bV9wcm9wZXJ0aWVzID0gcHJvcGVydGllczsKK30KKwordm9pZCBTdHlsZVJ1bGVWaWV3cG9ydDo6
cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
cHJvcGVydGllcyk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikK
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4IGI3ZmY1
MjMyNmNiZjIxODQ3MjFhMTM0MWM4MjlhMzg0ZmM0YTM5YjkuLjRkNDM0MGE2ZDhhMjAxMmM4NDIx
NWJiMjkyZTVmMmQ0MDRmYmRhNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTQ3LDYgKzQ3
LDkgQEAgcHVibGljOgogICAgICAgICBLZXlmcmFtZXMsCiAgICAgICAgIEtleWZyYW1lLCAvLyBO
b3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVLZXlmcmFtZSBvYmpl
Y3RzLgogICAgICAgICBIb3N0LAorI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisg
ICAgICAgIFZpZXdwb3J0ID0gMTUsCisjZW5kaWYKICAgICAgICAgUmVnaW9uID0gMTYKICAgICB9
OwogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFR5cGU+KG1fdHlw
ZSk7IH0KQEAgLTU4LDYgKzYxLDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNQYWdlUnVsZSgpIGNv
bnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBQYWdlOyB9CiAgICAgYm9vbCBpc1N0eWxlUnVsZSgpIGNv
bnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZTsgfQogICAgIGJvb2wgaXNSZWdpb25SdWxlKCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IFJlZ2lvbjsgfQorI2lmIEVOQUJMRShDU1NfREVWSUNF
X0FEQVBUQVRJT04pCisgICAgYm9vbCBpc1ZpZXdwb3J0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5
cGUoKSA9PSBWaWV3cG9ydDsgfQorI2VuZGlmCiAgICAgYm9vbCBpc0ltcG9ydFJ1bGUoKSBjb25z
dCB7IHJldHVybiB0eXBlKCkgPT0gSW1wb3J0OyB9CiAgICAgYm9vbCBpc0hvc3RSdWxlKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IEhvc3Q7IH0KIApAQCAtMjM5LDYgKzI0NSwzMCBAQCBwcml2
YXRlOgogICAgIFN0eWxlUnVsZUhvc3QoY29uc3QgU3R5bGVSdWxlSG9zdCYgbykgOiBTdHlsZVJ1
bGVCbG9jayhvKSB7IH0KIH07CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQor
Y2xhc3MgU3R5bGVSdWxlVmlld3BvcnQgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTdHlsZVJ1bGVWaWV3cG9ydCk7IH0KKworICAgIH5TdHlsZVJ1bGVW
aWV3cG9ydCgpOworCisgICAgY29uc3QgU3R5bGVQcm9wZXJ0eVNldCogcHJvcGVydGllcygpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy5nZXQoKTsgfQorICAgIFN0eWxlUHJvcGVydHlTZXQq
IG11dGFibGVQcm9wZXJ0aWVzKCk7CisKKyAgICB2b2lkIHNldFByb3BlcnRpZXMoUGFzc1JlZlB0
cjxTdHlsZVByb3BlcnR5U2V0Pik7CisKKyAgICBQYXNzUmVmUHRyPFN0eWxlUnVsZVZpZXdwb3J0
PiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlUnVsZVZpZXdwb3J0KCp0
aGlzKSk7IH0KKworICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBTdHlsZVJ1bGVWaWV3cG9ydCgpOwor
ICAgIFN0eWxlUnVsZVZpZXdwb3J0KGNvbnN0IFN0eWxlUnVsZVZpZXdwb3J0Jik7CisKKyAgICBS
ZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gbV9wcm9wZXJ0aWVzOworfTsKKyNlbmRpZiAvLyBFTkFC
TEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBTdHlsZVJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1ZpZXdwb3J0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODE1YjU2YjU0NGI3ZTdlMzM5YTZiYTIxMzVhZWEzOGZk
N2U5MTIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1Zp
ZXdwb3J0UnVsZS5jcHAKQEAgLTAsMCArMSw5NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYktpdENTU1ZpZXdwb3J0UnVsZS5oIgor
CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKworI2luY2x1ZGUgIlByb3BlcnR5
U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIK
KyNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1dlYktpdENTU1ZpZXdwb3J0UnVsZTo6V2ViS2l0Q1NTVmlld3BvcnRS
dWxlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3cG9ydFJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0
KQorICAgIDogQ1NTUnVsZShzaGVldCwgQ1NTUnVsZTo6V0VCS0lUX1ZJRVdQT1JUX1JVTEUpCisg
ICAgLCBtX3ZpZXdwb3J0UnVsZSh2aWV3cG9ydFJ1bGUpCit7Cit9CisKK1dlYktpdENTU1ZpZXdw
b3J0UnVsZTo6fldlYktpdENTU1ZpZXdwb3J0UnVsZSgpCit7CisgICAgaWYgKG1fcHJvcGVydGll
c0NTU09NV3JhcHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLT5jbGVhclBh
cmVudFJ1bGUoKTsKK30KKworQ1NTU3R5bGVEZWNsYXJhdGlvbiogV2ViS2l0Q1NTVmlld3BvcnRS
dWxlOjpzdHlsZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIp
CisgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBlciA9IFN0eWxlUnVsZUNTU1N0eWxlRGVj
bGFyYXRpb246OmNyZWF0ZShtX3ZpZXdwb3J0UnVsZS0+bXV0YWJsZVByb3BlcnRpZXMoKSwgY29u
c3RfY2FzdDxXZWJLaXRDU1NWaWV3cG9ydFJ1bGUqPih0aGlzKSk7CisKKyAgICByZXR1cm4gbV9w
cm9wZXJ0aWVzQ1NTT01XcmFwcGVyLmdldCgpOworfQorCitTdHJpbmcgV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAg
ICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiQC13ZWJraXQtdmlld3BvcnQgeyAiKTsKKworICAgIFN0
cmluZyBkZWNscyA9IG1fdmlld3BvcnRSdWxlLT5wcm9wZXJ0aWVzKCktPmFzVGV4dCgpOworICAg
IHJlc3VsdC5hcHBlbmQoZGVjbHMpOworICAgIGlmICghZGVjbHMuaXNFbXB0eSgpKQorICAgICAg
ICByZXN1bHQuYXBwZW5kKCcgJyk7CisKKyAgICByZXN1bHQuYXBwZW5kKCd9Jyk7CisKKyAgICBy
ZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7Cit9CisKK3ZvaWQgV2ViS2l0Q1NTVmlld3BvcnRSdWxl
OjpyZWF0dGFjaChTdHlsZVJ1bGVWaWV3cG9ydCogcnVsZSkKK3sKKyAgICBBU1NFUlQocnVsZSk7
CisgICAgbV92aWV3cG9ydFJ1bGUgPSBydWxlOworCisgICAgaWYgKG1fcHJvcGVydGllc0NTU09N
V3JhcHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLT5yZWF0dGFjaChtX3Zp
ZXdwb3J0UnVsZS0+bXV0YWJsZVByb3BlcnRpZXMoKSk7Cit9CisKK3ZvaWQgV2ViS2l0Q1NTVmll
d3BvcnRSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CisgICAgQ1NTUnVs
ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgaW5m
by5hZGRNZW1iZXIobV92aWV3cG9ydFJ1bGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJvcGVy
dGllc0NTU09NV3JhcHBlcik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThhMjdkMThjMGY5OTY1N2YzOTNiYzU1
MmZkZTU0OTMyMTMyMDM3MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaApAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFdlYktpdENTU1ZpZXdwb3J0UnVsZV9oCisjZGVmaW5lIFdlYktpdENT
U1ZpZXdwb3J0UnVsZV9oCisKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorCisj
aW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1N0eWxl
RGVjbGFyYXRpb247CitjbGFzcyBTdHlsZVJ1bGVWaWV3cG9ydDsKK2NsYXNzIFN0eWxlUnVsZUNT
U1N0eWxlRGVjbGFyYXRpb247CisKK2NsYXNzIFdlYktpdENTU1ZpZXdwb3J0UnVsZTogcHVibGlj
IENTU1J1bGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdENTU1ZpZXdw
b3J0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3cG9ydFJ1bGUsIENTU1N0eWxl
U2hlZXQqIHNoZWV0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGUodmlld3BvcnRSdWxlLCBzaGVldCkpOworICAgIH0KKyAgICB+V2ViS2l0
Q1NTVmlld3BvcnRSdWxlKCk7CisKKyAgICBDU1NTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSgpIGNv
bnN0OworCisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKworICAgIHZvaWQgcmVhdHRhY2go
U3R5bGVSdWxlVmlld3BvcnQqKTsKKworICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBXZWJLaXRDU1NW
aWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqLCBDU1NTdHlsZVNoZWV0Kik7CisKKyAgICBS
ZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IG1fdmlld3BvcnRSdWxlOworCisgICAgbXV0YWJsZSBS
ZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9wZXJ0aWVzQ1NTT01XcmFw
cGVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlX2gKKworI2VuZGlmIC8vIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFr
ZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IDk5NmFmNWI2NTNmNmNmZmYxNjU4MjNiZTYyNmM4OGFk
ODM4YjczNTEuLmY2N2JkYzkxYTliYTkxYzU0NjkzY2U4NTIzMDhmZjY3YWUzNmYzMDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9P
cHRpb25zRWZsLmNtYWtlCkBAIC01Niw2ICs1Niw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9BUElfVEVTVFMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfQkFUVEVSWV9TVEFUVVMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQkxPQiBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9DU1MzX1RFWFQgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0NTU19JTUFHRV9TRVQgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiBPTikKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfVkFSSUFCTEVTIE9OKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA5MGE3MWQ0MWMyNWY5
NzQwMWQ4YmY2YjA4YWM1ZmQ2ZGViMjZkNmYuLmFjMDJhNGIyYjRmNDY0NWFhMzQ5OWEwNDFjMWNh
YmJhMDg4ZjM2ODggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwxNiBAQAogMjAxMi0xMC0zMSAgVGhpYWdvIE1hcmNvcyBQLiBTYW50
b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAorICAgICAgICBBZGRlZCB2aWV3cG9ydCBh
dC1ydWxlIHRvIHRoZSBDU1MgcGFyc2VyIGFuZCB0b2tlbml6ZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1OTYxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIENTUyBEZXZpY2UgQWRhcHRhdGlv
biBieSBkZWZhdWx0IG9uIEVGTC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0
dXJlTGlzdC5wbToKKworMjAxMi0xMC0zMSAgVGhpYWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlh
Z28uc2FudG9zQGludGVsLmNvbT4KKwogICAgICAgICBbV1RSXSBXZWJLaXRUZXN0UnVubmVyIGlz
IG5vdCBjbGVhbmluZyB1cCB0aGUgaWNvbiBkYXRhYmFzZQogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNjc4CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbQppbmRleCBkYzJkOWNjNDQwZDhmMjBmZDUyNWZkMzMyMGFhOGJkN2Q5
NTc0ZWIyLi45MDg3M2I5ZDQ5MDE4MDNiY2VmNzAwNzgxNTIyN2NlMDQzMzc4ZDU3IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0xNjcsNyArMTY3LDcgQEAgbXkg
QGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NQX05FWFQiLCBkZWZhdWx0
ID0+IDAsIHZhbHVlID0+IFwkY3NwTmV4dFN1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJj
c3MtZGV2aWNlLWFkYXB0YXRpb24iLCBkZXNjID0+ICJUb2dnbGUgQ1NTIERldmljZSBBZGFwdGF0
aW9uIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGNzc0RldmljZUFkYXB0YXRpb24gfSwKKyAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTiIsIGRlZmF1bHQgPT4g
aXNFZmwoKSwgdmFsdWUgPT4gXCRjc3NEZXZpY2VBZGFwdGF0aW9uIH0sCiAKICAgICB7IG9wdGlv
biA9PiAiY3NzLWV4Y2x1c2lvbnMiLCBkZXNjID0+ICJUb2dnbGUgQ1NTIEV4Y2x1c2lvbnMgc3Vw
cG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1NfRVhDTFVTSU9OUyIsIGRlZmF1bHQg
PT4gMSwgdmFsdWUgPT4gXCRjc3NFeGNsdXNpb25zU3VwcG9ydCB9LApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGEyOTI4NzYy
YjUzNGI4ZjBkNGI5OTBiNDM2OWExN2VhZjMzZTM3MjMuLmQyNDkzY2Q1YjhiZTgxNmY4NDUwNjFl
YjhlZTY2Njk1ODEyN2E4MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0xMC0zMSAgVGhp
YWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KKworICAgICAg
ICBBZGRlZCB2aWV3cG9ydCBhdC1ydWxlIHRvIHRoZSBDU1MgcGFyc2VyIGFuZCB0b2tlbml6ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1OTYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSB0
ZXN0IHRoYXQgZGV0ZWN0cyBpZiB0aGUgQC13ZWJraXQtdmlld3BvcnQgcnVsZSBpcyBiZWluZwor
ICAgICAgICBwYXJzZWQgYW5kIHNraXAgdGhlIHRlc3RzIG9uIGFsbCBwb3J0cyBzaW5jZSB0aGUg
ZmVhdHVyZSBpcyBkaXNhYmxlZAorICAgICAgICBieSBkZWZhdWx0IGZvciBpbnN0YW5jZS4KKwor
ICAgICAgICBOb3RlIHRoYXQgdGhpcyB0ZXN0IGRvZXNuJ3QgZG8gcHJvcGVydHkgdmFsaWRhdGlv
biwgd2hpY2ggd2lsbCBiZQorICAgICAgICBhZGRlZCBpbiB0aGUgbmV4dCBwYXRjaCBvZiB0aGUg
c2VyaWVzLgorCisgICAgICAgICogY3NzMy9kZXZpY2UtYWRhcHQvdmlld3BvcnQtYXQtcnVsZS1w
YXJzaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9kZXZpY2UtYWRhcHQv
dmlld3BvcnQtYXQtcnVsZS1wYXJzaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDEyLTEwLTMxICBEb21pbmlrIFLDtnR0c2NoZXMgIDxkb21pbmlr
LnJvdHRzY2hlc0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF1bR1RLXSBVbnJldmlld2VkIGdh
cmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZGV2aWNlLWFkYXB0L3ZpZXdw
b3J0LWF0LXJ1bGUtcGFyc2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2Rldmlj
ZS1hZGFwdC92aWV3cG9ydC1hdC1ydWxlLXBhcnNpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjljZWIxYjQwYzRkNDIxZDcyZWM3ZjA3NDg3ZjNkYTUxMWE5NTk0MWQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2RldmljZS1hZGFwdC92aWV3cG9ydC1hdC1ydWxlLXBhcnNp
bmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworUEFTUyBFbXB0eSBhdC1ydWxlIHBh
cnNpbmcgCitQQVNTIGF0LXJ1bGUgd2l0aCBleHRyYSBzcGFjZXMgCitQQVNTIFJ1bGUgd2l0aCBh
dHRyaWJ1dGVzIAorUEFTUyBSdWxlIHdpdGggbWFsZm9ybWVkIGF0dHJpYnV0ZXMgCitQQVNTIFNo
b3VsZCBiZSBhY2NlcHRlZCBpbnNpZGUgbWVkaWEgcXVlcmllcyAKK1BBU1MgTmVzdGVkIHZpZXdw
b3J0IHJ1bGUgCitQQVNTIFJ1bGVzIGluc2lkZSBhIHZpZXdwb3J0IHJ1bGUgCitQQVNTIFNob3Vs
ZCBpZ25vcmUgdW5wcmVmaXhlZCBhdC1ydWxlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2RldmljZS1hZGFwdC92aWV3cG9ydC1hdC1ydWxlLXBhcnNpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvZGV2aWNlLWFkYXB0L3ZpZXdwb3J0LWF0LXJ1bGUtcGFyc2luZy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk5YjNkZTc3ZDgwNGI3YjY0NDEwOThjMzdhZmRhNDA3ZDE1MjJlNjkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2RldmljZS1hZGFwdC92aWV3cG9ydC1hdC1ydWxl
LXBhcnNpbmcuaHRtbApAQCAtMCwwICsxLDk5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgICAgLyogVmFsaWQgdmll
d3BvcnQgc3ludGF4LiAqLworICAgICAgICBALXdlYmtpdC12aWV3cG9ydCB7CisgICAgICAgIH0K
KworICAgICAgICAvKiBWYWxpZCB2aWV3cG9ydCBzeW50YXgsIGV4dHJhcyBzcGFjZXMgc2hvdWxk
IGJlIGlnbm9yZWQuICovCisgICAgICAgIEAtd2Via2l0LXZpZXdwb3J0ICAgICAgICAgIHsKKyAg
ICAgICAgfQorCisgICAgICAgIC8qIFZhbGlkIHZpZXdwb3J0IHN5bnRheCwgcmVndWxhciBhdHRy
aWJ1dGVzLiAqLworICAgICAgICBALXdlYmtpdC12aWV3cG9ydCB7CisgICAgICAgICAgICBtYXgt
aGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OworICAgICAgICB9
CisKKyAgICAgICAgLyogVmFsaWQgdmlld3BvcnQgc3ludGF4LCBzaG91bGQgb21pdCB0aGUgbWFs
Zm9ybWVkIGF0dHJpYnV0ZS4gKi8KKyAgICAgICAgQC13ZWJraXQtdmlld3BvcnQgeworICAgICAg
ICAgICAgYXNkYXNkCisgICAgICAgIH0KKworICAgICAgICAvKiBWYWxpZCB2aWV3cG9ydCBzeW50
YXgsIGl0IGlzIGFsbG93ZWQgaW5zaWRlIG1lZGlhIHF1ZXJpZXMuICovCisgICAgICAgIEBtZWRp
YSBhbGwgeworICAgICAgICAgICAgQC13ZWJraXQtdmlld3BvcnQgeworICAgICAgICAgICAgfQor
ICAgICAgICB9CisKKyAgICAgICAgLyogTmVzdGVkIHZpZXdwb3J0IHJ1bGVzIGFyZSBub3QgYWxs
b3dlZC4gVGhlIGlubmVyIHJ1bGUgc2hvdWxkIGJlIGlnbm9yZWQuICovCisgICAgICAgIEAtd2Vi
a2l0LXZpZXdwb3J0IHsKKyAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4OworICAgICAgICAg
ICAgbWluLWhlaWdodDogMTAwcHg7CisKKyAgICAgICAgICAgIEAtd2Via2l0LXZpZXdwb3J0IHsK
KyAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgICAgICBtaW4t
aGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8qIFJ1
bGVzIGluc2lkZSBhIHZpZXdwb3J0IHNob3VsZCBiZSBpZ25vcmVkLiAqLworICAgICAgICBALXdl
YmtpdC12aWV3cG9ydCB7CisgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4OworICAgICAgICAg
ICAgbWluLWhlaWdodDogNTBweDsKKworICAgICAgICAgICAgQGltcG9ydCB1cmwoJy4uLy4uL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5jc3MnKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIFNob3Vs
ZCBpZ25vcmUgdW5wcmVmaXhlZCB2aWV3cG9ydCBydWxlLiBXZSBuZWVkIHRvIGNoYW5nZSB0aGlz
CisgICAgICAgICAgIHRlc3QgaWYgYXQgc29tZSBwb2ludCB3ZSByZW1vdmUgdGhlIHByZWZpeC4g
Ki8KKyAgICAgICAgQHZpZXdwb3J0IHsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiIC8+CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9jc3MtZGV2aWNlLWFkYXB0LyNzeW50YXgiIC8+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICB2YXIgcnVsZXMgPSBk
b2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlczsKKworICAgICAgICB0ZXN0KGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhydWxlcy5pdGVtKDApLmNzc1RleHQsICJA
LXdlYmtpdC12aWV3cG9ydCB7IH0iKTsKKyAgICAgICAgfSwgIkVtcHR5IGF0LXJ1bGUgcGFyc2lu
ZyIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKHJ1bGVzLml0ZW0oMSkuY3NzVGV4dCwgIkAtd2Via2l0LXZpZXdwb3J0IHsgfSIpOworICAg
ICAgICB9LCAiYXQtcnVsZSB3aXRoIGV4dHJhIHNwYWNlcyIpOworCisgICAgICAgIHRlc3QoZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oMikuY3NzVGV4
dCwgIkAtd2Via2l0LXZpZXdwb3J0IHsgbWF4LWhlaWdodDogMjAwcHg7IG1pbi1oZWlnaHQ6IDIw
MHB4OyB9Iik7CisgICAgICAgIH0sICJSdWxlIHdpdGggYXR0cmlidXRlcyIpOworCisgICAgICAg
IHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0o
MykuY3NzVGV4dCwgIkAtd2Via2l0LXZpZXdwb3J0IHsgfSIpOworICAgICAgICB9LCAiUnVsZSB3
aXRoIG1hbGZvcm1lZCBhdHRyaWJ1dGVzIik7CisKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocnVsZXMuaXRlbSg0KS5jc3NUZXh0LCAiQG1lZGlh
IGFsbCB7IFxuICBALXdlYmtpdC12aWV3cG9ydCB7IH1cbn0iKTsKKyAgICAgICAgfSwgIlNob3Vs
ZCBiZSBhY2NlcHRlZCBpbnNpZGUgbWVkaWEgcXVlcmllcyIpOworCisgICAgICAgIHRlc3QoZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oNSkuY3NzVGV4
dCwgIkAtd2Via2l0LXZpZXdwb3J0IHsgbWF4LWhlaWdodDogMTAwcHg7IG1pbi1oZWlnaHQ6IDEw
MHB4OyB9Iik7CisgICAgICAgIH0sICJOZXN0ZWQgdmlld3BvcnQgcnVsZSIpOworCisgICAgICAg
IHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0o
NikuY3NzVGV4dCwgIkAtd2Via2l0LXZpZXdwb3J0IHsgbWF4LWhlaWdodDogNTBweDsgbWluLWhl
aWdodDogNTBweDsgfSIpOworICAgICAgICB9LCAiUnVsZXMgaW5zaWRlIGEgdmlld3BvcnQgcnVs
ZSIpOworCisgICAgICAgIC8vIFRoZSB0b3RhbCBudW1iZXIgb2YgcGFyc2VkIHJ1bGVzIHNob3Vs
ZCBiZSA2LCBtZWFuaW5nIHRoYXQgdGhlIHBhcnNlcgorICAgICAgICAvLyBpZ25vcmVkIHRoZSBs
YXN0IHR3byBydWxlcy4KKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMocnVsZXMubGVuZ3RoLCA3KQorICAgICAgICB9LCAiU2hvdWxkIGlnbm9yZSB1
bnByZWZpeGVkIGF0LXJ1bGUiKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5YTg0MGE3MjEzMzRlZmZk
OTE4NTdjNmNmZDdkYTNiMTAxOGZjZmVlLi4xYjk5M2Y3ODAxZjRiY2VhZDRmMTVkNDI2ZGVjNmQ5
ZGI4MjQ2NjUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTQwMTIsNiArNDAxMiw5IEBAIHdlYmtpdC5vcmcvYi85NTEyMSBmYXN0L2Jv
cmRlcnMvYm9yZGVyLWltYWdlLXNpZGUtcmVkdWN0aW9uLmh0bWwgWyBJbWFnZU9ubHlGYWlsCiAj
IGNzczMtY29uZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9y
Zy9iLzg2MTQ2IGNzczMvc3VwcG9ydHMuaHRtbAogCisjIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBp
cyBub3QgZW5hYmxlZC4KK3dlYmtpdC5vcmcvYi85NTk1OSBjc3MzL2RldmljZS1hZGFwdCBbIFNr
aXAgXQorCiAjIFJlcXVpcmUgcmViYXNlbGluaW5nIGFmdGVyIHdlYmtpdC5vcmcvYi85NzgwMAog
d2Via2l0Lm9yZy9iLzg5MTY3IG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctaG9yaXpv
bnRhbC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvODkxNjcgbWVkaWEvdHJhY2svdHJh
Y2stY3VlLXJlbmRlcmluZy12ZXJ0aWNhbC5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGNlZGMzZWFhMTE2M2I0MzYzY2M3NzBj
YTliNzgwYmE1MTJiMzI0YzQuLjBlYWIzNzgyNWE1ZTI2NDAzZjVmZjU2MmEwMzYwMDM1OWRlMDE1
NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDMx
LDMgKzE0MzEsNiBAQCB3ZWJraXQub3JnL2IvOTUyOTkgZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRh
dGlvbi5odG1sIFsgRmFpbHVyZSBdCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwog
IyBFbmQgb2YgVGVzdHMgZmFpbGluZwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
KworIyBDU1MgRGV2aWNlIEFkYXB0YXRpb24gaXMgbm90IGVuYWJsZWQuCit3ZWJraXQub3JnL2Iv
OTU5NTkgY3NzMy9kZXZpY2UtYWRhcHQgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjVmM2VmZjM1ZDlhYzQ4YzkxY2ZhMTM1OTFjZmJmMTIy
YjJhMTdkMi4uZjNmOTAzZTE0NDBjMmRiMmRlYjMzZDUzM2NjMWQwYzFkMzM2Nzk3MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzNTQsMyArMTM1NCw2
IEBAIHdlYmtpdC5vcmcvYi82MTEzOCBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24v
SW50ZWwvcmVzb3VyY2UtdGltaW5nIFsgU2tpCiAKICMgVGlsZUNhY2hlIHRlc3RzIHRoYXQgZG9u
J3QgYXBwbHkgdG8gV0sxICh0aGV5IGFyZSByZS1lbmFibGVkIHZpYSB0aGUgV0syIFRlc3RFeHBl
Y3RhdGlvbnMgZmlsZSkKIHBsYXRmb3JtL21hYy90aWxlZC1kcmF3aW5nLyBbIFNraXAgXQorCisj
IENTUyBEZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4KK3dlYmtpdC5vcmcvYi85NTk1
OSBjc3MzL2RldmljZS1hZGFwdCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggM2UyZGQ0NGJiZDBmNTJkZmY3ZDU1YzY0ZDQ4YjYwYWVlMjhkYjky
Mi4uZWNmNWJmNzllNmQ5MzEwZjU3NDEwNWMwOTNmNTFjMmNiNTUzZWU5OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNDc1LDYgKzI0NzUsOSBAQCB3ZWJr
aXQub3JnL2IvMjMxNjYgaWV0ZXN0Y2VudGVyL2NzczMvYm9yZGVyc2JhY2tncm91bmRzL2JvcmRl
ci1yYWRpdXMtY2xpcC0wMDIuaAogIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5
ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi84NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwKIAorIyBD
U1MgRGV2aWNlIEFkYXB0YXRpb24gaXMgbm90IGVuYWJsZWQuCit3ZWJraXQub3JnL2IvOTU5Njkg
Y3NzMy9kZXZpY2UtYWRhcHQgWyBTa2lwIF0KKwogIyBBZGRlZCBieSBidWcgODk4MjYKIHdlYmtp
dC5vcmcvYi85NDAwNSBjc3MyLjEvMjAxMTAzMjMvd29yZC1zcGFjaW5nLXJlbW92ZS1zcGFjZS0w
MDMuaHRtIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTQwMDUgY3NzMi4xLzIw
MTEwMzIzL3dvcmQtc3BhY2luZy1yZW1vdmUtc3BhY2UtMDA2Lmh0bSBbIEltYWdlT25seUZhaWx1
cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwYmVh
NWE1YmFkN2IwOGM3YTNmNTgxNjNjN2ZhNDQyOWI3OWM5OTlhLi5lMzE3ODEwOGQ1NDdlYmMxYzc2
NmNjNThmMjgyMjg1MzUxYzRmNTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9ucwpAQCAtODgwLDYgKzg4MCw5IEBAIGh0dHAvdGVzdHMvbG9jYWwvYmxvYi9zZW5k
LXNsaWNlZC1kYXRhLWJsb2IuaHRtbAogIyBCbG9kQnVpbGRlciBpcyBub3QgZW5hYmxlZAogaHR0
cC90ZXN0cy9sb2NhbC9ibG9iL3NlbmQtZGF0YS1ibG9iLmh0bWwKIAorIyBDU1MgRGV2aWNlIEFk
YXB0YXRpb24gaXMgbm90IGVuYWJsZWQuCit3ZWJraXQub3JnL2IvOTU5NTkgY3NzMy9kZXZpY2Ut
YWRhcHQgWyBTa2lwIF0KKwogIyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI5Mjg5PgogcGx1Z2lucy9kZXN0cm95LWR1cmluZy1ucHAtbmV3Lmh0bWwKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjBjYmMw
MDJjMjM0NTc4ZmE5YWY2NDNjZDU0NjQ0ODQ3OGY3NTg5My4uYTI4YmMxNGI0MzJkMGI4NzhmYzY4
OTgyNmRjMTZlNjg2ZGZjODlmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
Y2Fpcm8vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWly
by9UZXN0RXhwZWN0YXRpb25zCkBAIC0yODEwLDMgKzI4MTAsNiBAQCBodHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3JhbmdlLXRlc3QuaHRtbAogCiAjIGNzczMtY29uZGl0aW9uYWxzIHN1cHBvcnQg
aXMgbm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg2MTQ2IGNzczMvc3VwcG9ydHMuaHRt
bAorCisjIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4KK3dlYmtpdC5vcmcv
Yi85NTk1OSBjc3MzL2RldmljZS1hZGFwdCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9n
IGIvQ2hhbmdlTG9nCmluZGV4IDZjYWNjNzcyNzZhNGM4OTk4YTk3ZDZlOTIwMzZlOGE2ZDE1OTUw
MzguLmRmZDM0MjRlYjM5MDI1NjFiNzI2ZWY3MjRhMjhjZDdmYzdjYzhkZjYgMTAwNjQ0Ci0tLSBh
L0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMC0zMSAg
VGhpYWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KKworICAg
ICAgICBBZGRlZCB2aWV3cG9ydCBhdC1ydWxlIHRvIHRoZSBDU1MgcGFyc2VyIGFuZCB0b2tlbml6
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1OTYx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxl
IENTUyBEZXZpY2UgQWRhcHRhdGlvbiBieSBkZWZhdWx0IG9uIEVGTC4KKworICAgICAgICAqIFNv
dXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlOgorCiAyMDEyLTEwLTMwICBWaXZlayBHYWxhdGFn
ZSAgPHZpdmVrZ2FsYXRhZ2VAZ21haWwuY29tPgogCiAgICAgICAgIEFkZCBmaWxlcyBnZW5lcmF0
ZWQgYnkgV2luZG93cyB0byBpZ25vcmUgbGlzdCBmb3IgZ2l0IHJlcG9zaXRvcnkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171672</attachid>
            <date>2012-10-31 09:16:51 -0700</date>
            <delta_ts>2012-10-31 15:22:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95961-20121031181903.patch</filename>
            <type>text/plain</type>
            <size>45776</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNhNGYzMjEwYTE5OTAy
N2QyNDAxOTliZWM2NTk5ODA0NDIzYTdiOS4uMzdiYzBiYzhmMjg4NTA3OWM1NWU1ODRhY2MwODYy
ODkyNjdiOGM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTEwLTMxICBUaGlh
Z28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgorCisgICAgICAg
IEFkZGVkIHZpZXdwb3J0IGF0LXJ1bGUgdG8gdGhlIENTUyBwYXJzZXIgYW5kIHRva2VuaXplcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU5NjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAg
ICBBZGQgdG9rZW5zIGFuZCBncmFtbWFyIHJ1bGVzIHRvIHBhcnNlIEAtd2Via2l0LXZpZXdwb3J0
IGJsb2Nrcy4gQWxzbyBhZGQKKyAgICAgICAgdGhlIG5ld2x5IHBhcnNlZCBydWxlIHRvIHRoZSBy
dWxlIGxpc3QuCisKKyAgICAgICAgVGhpcyBwYXJzZXIgbm93IGltcGxlbWVudHMgdGhlIGZvbGxv
d2luZyBwYXJ0IG9mIHRoZSBDU1MgRGV2aWNlIEFkYXB0YXRpb24KKyAgICAgICAgc3BlY2lmaWNh
dGlvbjogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzLWRldmljZS1hZGFwdC8jc3ludGF4CisKKyAg
ICAgICAgVGVzdDogY3NzMy9kZXZpY2UtYWRhcHQvdmlld3BvcnQtYXQtcnVsZS1wYXJzaW5nLmh0
bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnku
aW46CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXI6OkNTU1BhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdEF0
VG9rZW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OmNyZWF0ZVZpZXdwb3J0UnVsZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAg
ICAoQ1NTUGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1ZpZXdwb3J0
UnVsZUJvZHlTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtWaWV3cG9y
dFJ1bGVCb2R5RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6aW5WaWV3cG9ydCk6
CisKKyAgICAgICAgICAgIFRoZXNlIG1ldGhvZHMgYXJlIG5lZWRlZCBieSB0aGUgbmV4dCBwYXRj
aCB2YWxpZGF0aW5nIHRoZSBwcm9wZXJ0aWVzLgorICAgICAgICAgICAgU29tZSB2aWV3cG9ydCBw
cm9wZXJ0aWVzIGFyZSBjb21tb24gdG8gb3RoZXIgcnVsZXMgYnV0IGhhdmUgZGlmZmVyZW50Cisg
ICAgICAgICAgICBzZW1hbnRpY3MsIGFuZCBhY2NlcHRzIGRpZmZlcmVudCBrZXl3b3Jkcy4gVGhl
IHZhbGlkYXRpb24gbmVlZHMgdG8gYmUKKyAgICAgICAgICAgIGRvbmUgaW4gYSBkaWZmZXJlbnQg
Y29kZSBwYXRoLgorCisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oOgorICAg
ICAgICAqIGNzcy9DU1NSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUnVsZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjpkZXN0
cm95KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1J1bGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTUnVs
ZS5oOgorICAgICAgICAoQ1NTUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjppc1Zp
ZXdwb3J0UnVsZSk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJ1bGVCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJh
c2U6OmNvcHkpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01X
cmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxl
Vmlld3BvcnQ6OlN0eWxlUnVsZVZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVs
ZVZpZXdwb3J0Ojp+U3R5bGVSdWxlVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlVmlld3BvcnQ6Om11dGFibGVQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UnVsZVZpZXdwb3J0OjpzZXRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVs
ZVZpZXdwb3J0OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9T
dHlsZVJ1bGUuaDoKKyAgICAgICAgKFN0eWxlUnVsZUJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6aXNWaWV3cG9ydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChTdHlsZVJ1bGVWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVWaWV3
cG9ydDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZVZpZXdwb3J0Ojpwcm9w
ZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZVZpZXdwb3J0Ojpjb3B5KToKKyAg
ICAgICAgKiBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdwb3J0UnVsZTo6V2ViS2l0
Q1NTVmlld3BvcnRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdwb3J0UnVs
ZTo6fldlYktpdENTU1ZpZXdwb3J0UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NW
aWV3cG9ydFJ1bGU6OnN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdwb3J0
UnVsZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6
OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdwb3J0UnVsZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTItMTAtMzEgIElhbiBW
b2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IHRleHQtYmFzZWQgcmVwYWludCB0ZXN0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDllYzhl
M2RlODczNGM5NmE5NGVmNmIwYWRkOGM0OGRhMjdjZjgwNjYuLjUxMzQ0NjViNTJhNmFhMWU4M2Ix
Nzc5ZjZmMmY5YTYzZGE1OWY4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTAzLDYgKzEx
MDMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50
VmFsdWUuY3BwCiAgICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcAogICAgIGNzcy9XZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNw
cAogCiAgICAgZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAKICAgICBkb20vQXR0ci5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGM4ZmY2OTk1ZWFmMzE0ODUzYTBiMmI3ZjA1NjQz
NGU1NmY0MGExNWQuLmFmZDNiZDVkMmNkMTFiZDhjMGYxZDhiNDAyMGYyYjFlMmIwYjU5ZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjY4OSw2ICsyNjg5LDggQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUu
aCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggXAorCVNvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVE
T01PYmplY3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmggXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBjNTAwOTQxNGMw
YWM3NGMxNmM4NThjMTk1ZDU5NDEwOWFhNWMwNTRlLi41NGQ1MGQ3NDBiNmYxNjI5Yzc5ZGFjOTZm
ZDEzYzk2ZTYzZDc5YjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTMzOSw2ICszMzksNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAgXAogICAgIGNzcy9X
ZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAgXAogICAgIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5jcHAgXAorICAgIGNzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIFwKICAgICBkb20vQWN0
aXZlRE9NT2JqZWN0LmNwcCBcCiAgICAgZG9tL0F0dHIuY3BwIFwKICAgICBkb20vQmVmb3JlVGV4
dEluc2VydGVkRXZlbnQuY3BwIFwKQEAgLTE1MTIsNiArMTUxMyw3IEBAIEhFQURFUlMgKz0gXAog
ICAgIGNzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmggXAogICAgIGNzcy9XZWJLaXRDU1NT
aGFkZXJWYWx1ZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBcCisgICAg
Y3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oIFwKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0Lmgg
XAogICAgIGRvbS9BdHRyLmggXAogICAgIGRvbS9BdHRyaWJ1dGUuaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggYjMzNWI5NjFjNDU2OWQ4ZmUxZjM2OTljMTM3NWI2MjI5MjMzNDRlMi4uOWIyODU5ZjM2
MzViNzA0MmZmZjA1ZTc5MmFkNTZhNzRmNTFhMWVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjY3
Niw2ICsyNjc2LDggQEAKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1
ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmgnLAog
ICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAnLAorICAgICAgICAg
ICAgJ2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCcsCisgICAgICAgICAgICAnY3NzL1dlYktp
dENTU1ZpZXdwb3J0UnVsZS5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvQWx0ZXJuYXRpdmVU
ZXh0Q29udHJvbGxlci5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0
Q29udHJvbGxlci5oJywKICAgICAgICAgICAgICdlZGl0aW5nL0FwcGVuZE5vZGVDb21tYW5kLmNw
cCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IDFjNzhjNmE5ZjcwN2UyZWU3NzM1ZTAwZTJlY2I2OTkxNWFmZjM2MTkuLjBhNmVlMDA2MTA4MmZk
Y2RiNDNjOGVjNTI2M2ZkYjk0YTZkNWUwYzIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zODIwNyw2ICszODIwNywxNCBAQAogCQkJICAgID4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cY3NzXFdlYktpdENTU1ZpZXdwb3J0UnVsZS5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCiAJCQkgICAgUmVsYXRpdmVQYXRoPSIuLlxjc3NcQmFzaWNTaGFwZUZ1bmN0
aW9ucy5oIgogCQkJICAgID4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4MmViNmFiMzMwNDIzMWI4OWI1NGMw
ODM3MzZmMThhYjNlMTBlYThkLi4xODkxYmM0M2IxMTZlYjk4NmJmMTBkZTA1OTM2ZDM5NjRiNjE2
OGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xMDMxLDYgKzEwMzEsOCBAQAogCQkzQUM2NDhCMjEyOUUxNDY1MDBDM0VCMjUg
LyogRWRpdGluZ0JvdW5kYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzQUM2NDhCMTEyOUUxNDY1MDBDM0VCMjUgLyogRWRpdGluZ0JvdW5kYXJ5Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJM0MyNDRG
RUFBMzc1QUM2MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9kZWxPYmplY3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNDMjQ0RkU0QTM3NUFDNjMzRjg4
QkU2RiAvKiBSZW5kZXJMYXllck1vZGVsT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJM0MyNDRGRUJBMzc1QUM2MzNGODhCRTZGIC8qIFJl
bmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gM0MyNDRGRTVBMzc1QUM2MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9k
ZWxPYmplY3QuY3BwICovOyB9OworCQkzRkZGRjlBODE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0
Q1NTVmlld3BvcnRSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDNGRkZGOUE2MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1
bGUuY3BwICovOyB9OworCQkzRkZGRjlBOTE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmll
d3BvcnRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzRkZGRjlBNzE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggKi87
IH07CiAJCTQxMDAyQ0NEMEY2NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDAyQ0NCMEY2
NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCAqLzsgfTsKIAkJNDEwMDJDQ0Uw
RjY2RURFRjAwOUU2NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTAwMkNDQzBGNjZFREVGMDA5RTY2MEQg
LyogU2NyaXB0RnVuY3Rpb25DYWxsLmNwcCAqLzsgfTsKIAkJNDEwQjdFNzIxMDQ1RkFCMDAwRDgy
MjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3Nh
Z2VFdmVudEN1c3RvbS5jcHAgKi87IH07CkBAIC04MTg3LDYgKzgxODksOCBAQAogCQkzQUM2NDhC
MTEyOUUxNDY1MDBDM0VCMjUgLyogRWRpdGluZ0JvdW5kYXJ5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEVkaXRpbmdCb3VuZGFyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzQzI0NEZFNEEzNzVBQzYzM0Y4OEJFNkYgLyogUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNDMjQ0RkU1QTM3NUFDNjMzRjg4
QkU2RiAvKiBSZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzRkZGRjlBNjE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmll
d3BvcnRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYktp
dENTU1ZpZXdwb3J0UnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTNGRkZG
OUE3MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMDAyQ0NCMEY2NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRG
dW5jdGlvbkNhbGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0RnVu
Y3Rpb25DYWxsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMDAyQ0NDMEY2NkVE
RUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0RnVuY3Rpb25DYWxsLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDEwQjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVzc2Fn
ZUV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxNDI2LDYg
KzIxNDMwLDggQEAKIAkJCQlCQzlBREQ3RjBDQzQwOTIyMDAwOThDNEMgLyogV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuY3BwICovLAogCQkJCUJDOUFERDIyMENDNDAzMjYwMDA5OEM0QyAvKiBXZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS5oICovLAogCQkJCTMxNjExRTU0MEUxQzRENEEwMEY2QTU3OSAv
KiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwgKi8sCisJCQkJM0ZGRkY5QTYxNTlEOUE1NTAw
MjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgKi8sCisJCQkJM0ZGRkY5QTcxNTlE
OUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5oICovLAogCQkJKTsKIAkJCXBh
dGggPSBjc3M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjU3MDMsNiArMjU3MDks
NyBAQAogCQkJCUFBQzA4Q0YzMTVGOTQxRkQwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9v
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTA5MzMzNTAxNjNCMEU0MzAwMDk5QTYwIC8qIEN1c3Rv
bUZpbHRlclBhcmFtZXRlckxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwRDMyODU4MTYzQjMx
M0YwMDE2MTExRSAvKiBWYWxpZGF0ZWRDdXN0b21GaWx0ZXJPcGVyYXRpb24uaCBpbiBIZWFkZXJz
ICovLAorCQkJCTNGRkZGOUE5MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjg3ODgsNiArMjg3OTUsNyBAQAogCQkJCTUwOTMzMzRG
MTYzQjBFNDMwMDA5OUE2MCAvKiBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBQTIxMjUwMTYzRjBEQTgwMDAwRTYzRiAvKiBBdG9taWNTdHJpbmdDRi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MEQzMjg1NzE2M0IzMTNGMDAxNjExMUUgLyogVmFsaWRh
dGVkQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTNGRkZGOUE4
MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgppbmRleCA0MDQ1MTEzNWNjYzA4NTJhZmE0
ZTM5OWIxNTExNTMwZmQ0NmUxZGJjLi4yMjk1N2M2ODk2ZWFlZmE5ZjEzYzFiNWI0ZjU5ZTkxNmRi
YWNjMDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KQEAgLTMsNiArMyw3IEBACiAg
KiAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDYg
QWxleGV5IFByb3NrdXJ5YWtvdiAoYXBAbnlwb3AuY29tKQogICogIENvcHlyaWdodCAoQykgMjAw
OCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgorICogIENvcHlyaWdodCAoQykgMjAxMiBJ
bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKQEAgLTEwOSw2ICsxMTAsNyBAQCBzdGF0aWMgaW5saW5lIGludCBjc3N5eWVycm9yKHZvaWQq
LCBjb25zdCBjaGFyKikKICV0b2tlbiBXRUJLSVRfTUVESUFRVUVSWV9TWU0KICV0b2tlbiBXRUJL
SVRfU0VMRUNUT1JfU1lNCiAldG9rZW4gV0VCS0lUX1JFR0lPTl9SVUxFX1NZTQorJXRva2VuIFdF
QktJVF9WSUVXUE9SVF9SVUxFX1NZTQogJXRva2VuIDxtYXJnaW5Cb3g+IFRPUExFRlRDT1JORVJf
U1lNCiAldG9rZW4gPG1hcmdpbkJveD4gVE9QTEVGVF9TWU0KICV0b2tlbiA8bWFyZ2luQm94PiBU
T1BDRU5URVJfU1lNCkBAIC0yMDYsNiArMjA4LDkgQEAgc3RhdGljIGlubGluZSBpbnQgY3NzeXll
cnJvcih2b2lkKiwgY29uc3QgY2hhciopCiAjaWYgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVM
RVMKICV0eXBlIDxydWxlPiBzdXBwb3J0cwogI2VuZGlmCisjaWYgRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTgorJXR5cGUgPHJ1bGU+IHZpZXdwb3J0CisjZW5kaWYKIAogJXR5cGUgPHN0cmlu
Zz4gbWF5YmVfbnNfcHJlZml4CiAKQEAgLTQxMSw2ICs0MTYsOSBAQCB2YWxpZF9ydWxlOgogI2lm
IEVOQUJMRV9TSEFET1dfRE9NCiAgIHwgaG9zdAogI2VuZGlmCisjaWYgRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTgorICB8IHZpZXdwb3J0CisjZW5kaWYKICAgOwogCiBydWxlOgpAQCAtNDM5
LDYgKzQ0Nyw5IEBAIGJsb2NrX3ZhbGlkX3J1bGU6CiAgIHwgcGFnZQogICB8IGZvbnRfZmFjZQog
ICB8IGtleWZyYW1lcworI2lmIEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04KKyAgfCB2aWV3
cG9ydAorI2VuZGlmCiAgIDsKIAogYmxvY2tfcnVsZToKQEAgLTkyOSw2ICs5NDAsMzMgQEAgaG9z
dDoKICAgICA7CiAjZW5kaWYKIAorI2lmIEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04KK2Jl
Zm9yZV92aWV3cG9ydF9ydWxlOgorICAgIC8qIGVtcHR5ICovIHsKKyAgICAgICAgcGFyc2VyLT5t
YXJrVmlld3BvcnRSdWxlQm9keVN0YXJ0KCk7CisgICAgICAgIHBhcnNlci0+bWFya1J1bGVIZWFk
ZXJTdGFydChDU1NSdWxlU291cmNlRGF0YTo6VklFV1BPUlRfUlVMRSk7CisgICAgfQorICAgIDsK
Kwordmlld3BvcnQ6CisgICAgYmVmb3JlX3ZpZXdwb3J0X3J1bGUgV0VCS0lUX1ZJRVdQT1JUX1JV
TEVfU1lNIGF0X3J1bGVfaGVhZGVyX2VuZF9tYXliZV9zcGFjZQorICAgICd7JyBhdF9ydWxlX2Jv
ZHlfc3RhcnQgbWF5YmVfc3BhY2VfYmVmb3JlX2RlY2xhcmF0aW9uIGRlY2xhcmF0aW9uX2xpc3Qg
Y2xvc2luZ19icmFjZSB7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVWaWV3cG9ydFJ1bGUo
KTsKKyAgICAgICAgcGFyc2VyLT5tYXJrVmlld3BvcnRSdWxlQm9keUVuZCgpOworICAgIH0KKyAg
ICB8IGJlZm9yZV92aWV3cG9ydF9ydWxlIFdFQktJVF9WSUVXUE9SVF9SVUxFX1NZTSBlcnJvciBp
bnZhbGlkX2Jsb2NrIHsKKyAgICAgICAgJCQgPSAwOworICAgICAgICBwYXJzZXItPnBvcFJ1bGVE
YXRhKCk7CisgICAgICAgIHBhcnNlci0+bWFya1ZpZXdwb3J0UnVsZUJvZHlFbmQoKTsKKyAgICB9
CisgICAgfCBiZWZvcmVfdmlld3BvcnRfcnVsZSBXRUJLSVRfVklFV1BPUlRfUlVMRV9TWU0gZXJy
b3IgJzsnIHsKKyAgICAgICAgJCQgPSAwOworICAgICAgICBwYXJzZXItPnBvcFJ1bGVEYXRhKCk7
CisgICAgICAgIHBhcnNlci0+bWFya1ZpZXdwb3J0UnVsZUJvZHlFbmQoKTsKKyAgICB9Cis7Cisj
ZW5kaWYKKwogcmVnaW9uX3NlbGVjdG9yOgogICAgIHNlbGVjdG9yX2xpc3QgewogICAgICAgICBp
ZiAoJDEpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggOTEzOTVhMjc3YjZjNDNkOTEz
Y2NiNDljM2FkZmVhODhkMmViY2IzOC4uZGViM2UyYzdhMWJmOGMzNTM1Nzk2YmJjYjc2YjE5YmI3
YWI4MzQzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTI2OSw2ICsyNjksOSBAQCBD
U1NQYXJzZXI6OkNTU1BhcnNlcihjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQogICAg
ICwgbV9sYXN0U2VsZWN0b3JMaW5lTnVtYmVyKDApCiAgICAgLCBtX2FsbG93SW1wb3J0UnVsZXMo
dHJ1ZSkKICAgICAsIG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnModHJ1ZSkKKyNpZiBFTkFC
TEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgICwgbV9pblZpZXdwb3J0KGZhbHNlKQorI2Vu
ZGlmCiAgICAgLCBtX3NlbGVjdG9yVmVjdG9yKGFkb3B0UHRyKG5ldyBDU1NTZWxlY3RvclZlY3Rv
cikpCiB7CiAjaWYgWVlERUJVRyA+IDAKQEAgLTkzMTgsOCArOTMyMSwxNSBAQCBpbmxpbmUgdm9p
ZCBDU1NQYXJzZXI6OmRldGVjdEF0VG9rZW4oaW50IGxlbmd0aCwgYm9vbCBoYXNFc2NhcGUpCiAg
ICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgY2FzZSAxNzoKLSAgICAgICAgICAgIGlmICgh
aGFzRXNjYXBlICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDIsICJ3ZWJraXQtc2Vs
ZWN0b3IiKSkKKyAgICAgICAgICAgIGlmIChoYXNFc2NhcGUpCisgICAgICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzE2
XSwgJ3InKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAyLCAid2Via2l0LXNlbGVj
dG8iKSkKICAgICAgICAgICAgICAgICBtX3Rva2VuID0gV0VCS0lUX1NFTEVDVE9SX1NZTTsKKyNp
ZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgICAgICAgICAgZWxzZSBpZiAoaXNB
U0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzE2XSwgJ3QnKSAmJiBpc0VxdWFsVG9DU1NJZGVu
dGlmaWVyKG5hbWUgKyAyLCAid2Via2l0LXZpZXdwb3IiKSkKKyAgICAgICAgICAgICAgICBtX3Rv
a2VuID0gV0VCS0lUX1ZJRVdQT1JUX1JVTEVfU1lNOworI2VuZGlmCiAgICAgICAgICAgICByZXR1
cm47CiAKICAgICAgICAgY2FzZSAxODoKQEAgLTEwMzkyLDYgKzEwNDAyLDI0IEBAIHZvaWQgQ1NT
UGFyc2VyOjptYXJrUHJvcGVydHlFbmQoYm9vbCBpc0ltcG9ydGFudEZvdW5kLCBib29sIGlzUHJv
cGVydHlQYXJzZWQpCiAgICAgcmVzZXRQcm9wZXJ0eVJhbmdlKCk7CiB9CiAKKyNpZiBFTkFCTEUo
Q1NTX0RFVklDRV9BREFQVEFUSU9OKQorU3R5bGVSdWxlQmFzZSogQ1NTUGFyc2VyOjpjcmVhdGVW
aWV3cG9ydFJ1bGUoKQoreworICAgIG1fYWxsb3dJbXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3Bh
Y2VEZWNsYXJhdGlvbnMgPSBmYWxzZTsKKworICAgIFJlZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4g
cnVsZSA9IFN0eWxlUnVsZVZpZXdwb3J0OjpjcmVhdGUoKTsKKworICAgIHJ1bGUtPnNldFByb3Bl
cnRpZXMoY3JlYXRlU3R5bGVQcm9wZXJ0eVNldCgpKTsKKyAgICBjbGVhclByb3BlcnRpZXMoKTsK
KworICAgIFN0eWxlUnVsZVZpZXdwb3J0KiByZXN1bHQgPSBydWxlLmdldCgpOworICAgIG1fcGFy
c2VkUnVsZXMuYXBwZW5kKHJ1bGUucmVsZWFzZSgpKTsKKyAgICBwcm9jZXNzQW5kQWRkTmV3UnVs
ZVRvU291cmNlVHJlZUlmTmVlZGVkKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogc3RhdGljIENTU1Byb3BlcnR5
SUQgY3NzUHJvcGVydHlJRChjb25zdCBDaGFyYWN0ZXJUeXBlKiBwcm9wZXJ0eU5hbWUsIHVuc2ln
bmVkIGxlbmd0aCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCBiNjJkODhmNGNhOGNlNmMy
OGUwZWM0NTkyZjJjMTZhZTQxNWU5MmMzLi4xOTNlMGI3NzFlMzE5ZjAzYmNkODJkNDVkODc3ZjFk
NTY5ZGY3MDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0zNjYsNiArMzY2LDEyIEBAIHB1
YmxpYzoKIAogICAgIGludCB0b2tlbigpIHsgcmV0dXJuIG1fdG9rZW47IH0KIAorI2lmIEVOQUJM
RShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgdm9pZCBtYXJrVmlld3BvcnRSdWxlQm9keVN0
YXJ0KCkgeyBtX2luVmlld3BvcnQgPSB0cnVlOyB9CisgICAgdm9pZCBtYXJrVmlld3BvcnRSdWxl
Qm9keUVuZCgpIHsgbV9pblZpZXdwb3J0ID0gZmFsc2U7IH0KKyAgICBTdHlsZVJ1bGVCYXNlKiBj
cmVhdGVWaWV3cG9ydFJ1bGUoKTsKKyNlbmRpZgorCiAgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CiAg
ICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFs
dWUoQ1NTUGFyc2VyVmFsdWUqKTsKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKQEAgLTUxMyw2
ICs1MTksMTEgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dJbXBvcnRSdWxlczsKICAgICBi
b29sIG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnM7CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklD
RV9BREFQVEFUSU9OKQorICAgIGJvb2wgaW5WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1faW5W
aWV3cG9ydDsgfQorICAgIGJvb2wgbV9pblZpZXdwb3J0OworI2VuZGlmCisKICAgICBpbnQgKENT
U1BhcnNlcjo6Km1fbGV4RnVuYykodm9pZCopOwogCiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1
bGVCYXNlPiA+IG1fcGFyc2VkUnVsZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHlTb3VyY2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlT
b3VyY2VEYXRhLmgKaW5kZXggMDc5ZWMzMzYyNDk1YzA3OTc5YjQ3NWFmZGU3NzYwMjM4NGM5OTk2
Zi4uODk4MmFjZjczMWUxODEwMWFmMDNmNmMxODExZjIzNmVkNGUzOTVjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuaApAQCAtOTUsNyArOTUsOCBAQCBzdHJ1
Y3QgQ1NTUnVsZVNvdXJjZURhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1NSdWxlU291cmNlRGF0
YT4gewogICAgICAgICBQQUdFX1JVTEUsCiAgICAgICAgIEtFWUZSQU1FU19SVUxFLAogICAgICAg
ICBSRUdJT05fUlVMRSwKLSAgICAgICAgSE9TVF9SVUxFCisgICAgICAgIEhPU1RfUlVMRSwKKyAg
ICAgICAgVklFV1BPUlRfUlVMRQogICAgIH07CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NS
dWxlU291cmNlRGF0YT4gY3JlYXRlKFR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcAppbmRl
eCBjZDUzM2Q5YThmZGM4MmU1NzEyZWZkOTZjZmM3ZTRhOTZmZGZkYTdmLi42YzUyMmJkMDNlZjg5
YmI0N2RhNTFiYWVmYmYyMzY4YTE1ZjQ2MzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCkBAIC0z
MCwxMiArMzAsMTMgQEAKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NT
dHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ1NTVW5rbm93blJ1bGUuaCIKLSNpbmNsdWRlICJXZWJL
aXRDU1NLZXlmcmFtZVJ1bGUuaCIKLSNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgi
Ci0jaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRl
bnRzLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCisjaW5jbHVkZSAiV2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgorI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUuaCIK
KyNpbmNsdWRlICJXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC01MCw2ICs1MSwxMCBAQCBDT01QSUxFX0FTU0VSVChzaXplb2YoQ1NTUnVsZSkgPT0g
c2l6ZW9mKFNhbWVTaXplQXNDU1NSdWxlKSwgQ1NTUnVsZV9zaG91bGRfc3RheQogQ09NUElMRV9B
U1NFUlQoU3R5bGVSdWxlQmFzZTo6UmVnaW9uID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZUJhc2U6
OlR5cGU+KENTU1J1bGU6OldFQktJVF9SRUdJT05fUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCitDT01QSUxFX0FT
U0VSVChTdHlsZVJ1bGVCYXNlOjpWaWV3cG9ydCA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVCYXNl
OjpUeXBlPihDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRj
aCk7CisjZW5kaWYKKwogdm9pZCBDU1NSdWxlOjpzZXRDc3NUZXh0KGNvbnN0IFN0cmluZyYgLypj
c3NUZXh0Ki8sIEV4Y2VwdGlvbkNvZGUmIC8qZWMqLykKIHsKICAgICBub3RJbXBsZW1lbnRlZCgp
OwpAQCAtNzYsNiArODEsMTAgQEAgU3RyaW5nIENTU1J1bGU6OmNzc1RleHQoKSBjb25zdAogICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSo+KHRo
aXMpLT5jc3NUZXh0KCk7CiAgICAgY2FzZSBXRUJLSVRfS0VZRlJBTUVfUlVMRToKICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0tleWZyYW1lUnVsZSo+KHRoaXMpLT5j
c3NUZXh0KCk7CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBjYXNlIFdF
QktJVF9WSUVXUE9SVF9SVUxFOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlKj4odGhpcyktPmNzc1RleHQoKTsKKyNlbmRpZgogI2lmIEVOQUJM
RShDU1NfUkVHSU9OUykKICAgICBjYXNlIFdFQktJVF9SRUdJT05fUlVMRToKICAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1JlZ2lvblJ1bGUqPih0aGlzKS0+Y3NzVGV4
dCgpOwpAQCAtMTE1LDYgKzEyNCwxMSBAQCB2b2lkIENTU1J1bGU6OmRlc3Ryb3koKQogICAgIGNh
c2UgV0VCS0lUX0tFWUZSQU1FX1JVTEU6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXZWJL
aXRDU1NLZXlmcmFtZVJ1bGUqPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShD
U1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAg
ICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpOwor
ICAgICAgICByZXR1cm47CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY2Fz
ZSBXRUJLSVRfUkVHSU9OX1JVTEU6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXZWJLaXRD
U1NSZWdpb25SdWxlKj4odGhpcyk7CkBAIC0xNTUsNiArMTY5LDExIEBAIHZvaWQgQ1NTUnVsZTo6
cmVhdHRhY2goU3R5bGVSdWxlQmFzZSogcnVsZSkKICAgICAgICAgLy8gTm8gbmVlZCB0byByZWF0
dGFjaCwgdGhlIHVuZGVybHlpbmcgZGF0YSBpcyBzaGFyZWFibGUgb24gbXV0YXRpb24uCiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKENT
U19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBjYXNlIFdFQktJVF9WSUVXUE9SVF9SVUxFOgorICAg
ICAgICBzdGF0aWNfY2FzdDxXZWJLaXRDU1NWaWV3cG9ydFJ1bGUqPih0aGlzKS0+cmVhdHRhY2go
c3RhdGljX2Nhc3Q8U3R5bGVSdWxlVmlld3BvcnQqPihydWxlKSk7CisgICAgICAgIHJldHVybjsK
KyNlbmRpZgogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBjYXNlIFdFQktJVF9SRUdJT05f
UlVMRToKICAgICAgICAgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpLT5y
ZWF0dGFjaChzdGF0aWNfY2FzdDxTdHlsZVJ1bGVSZWdpb24qPihydWxlKSk7CkBAIC0xOTQsNiAr
MjEzLDExIEBAIHZvaWQgQ1NTUnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBjYXNlIFdFQktJVF9LRVlGUkFNRV9SVUxF
OgogICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqPih0aGlz
KS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgICAg
ICByZXR1cm47CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBjYXNlIFdF
QktJVF9WSUVXUE9SVF9SVUxFOgorICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NW
aWV3cG9ydFJ1bGUqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9i
amVjdEluZm8pOworICAgICAgICByZXR1cm47CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lP
TlMpCiAgICAgY2FzZSBXRUJLSVRfUkVHSU9OX1JVTEU6CiAgICAgICAgIHN0YXRpY19jYXN0PGNv
bnN0IFdlYktpdENTU1JlZ2lvblJ1bGUqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKG1lbW9yeU9iamVjdEluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggYjMxZmU3YjhkZWJj
YTliNzljZjRmOGRlNmNmZjcxNzZiNTk3NWIyNi4uYWIzMDA0ODg3ZjZkZjBiY2M1NmE1YjczNjU5
NTMxY2ZjYjQ5NjIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCkBAIC01Nyw2ICs1Nyw5IEBAIHB1Ymxp
YzoKICAgICAgICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MTI5Mz4uCiAgICAgICAgIFdFQktJVF9LRVlGUkFNRVNfUlVMRSwKICAgICAgICAgV0VCS0lUX0tF
WUZSQU1FX1JVTEUsCisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICAgICAg
V0VCS0lUX1ZJRVdQT1JUX1JVTEUgPSAxNSwKKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfUkVHSU9O
UykKICAgICAgICAgV0VCS0lUX1JFR0lPTl9SVUxFID0gMTYKICNlbmRpZgpAQCAtNzMsNiArNzYs
MTAgQEAgcHVibGljOgogICAgIGJvb2wgaXNTdHlsZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gU1RZTEVfUlVMRTsgfQogICAgIGJvb2wgaXNJbXBvcnRSdWxlKCkgY29uc3QgeyByZXR1
cm4gdHlwZSgpID09IElNUE9SVF9SVUxFOyB9CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKQorICAgIGJvb2wgaXNWaWV3cG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gV0VCS0lUX1ZJRVdQT1JUX1JVTEU7IH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKENTU19SRUdJ
T05TKQogICAgIGJvb2wgaXNSZWdpb25SdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFdF
QktJVF9SRUdJT05fUlVMRTsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4
IDY3ZjdiYzcyODI3MDJkNWFlYzhhMzQwZGU2NmE1ZWVhMzJkMGZkMTkuLjcxM2M5NzE0NjQ0YWYy
YWIwOTIxZWFiNGY3M2JlNDg5NzNmOWJkZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBA
IC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5j
bHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENTU1JlZ2lv
blJ1bGUuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCIKICNpbmNsdWRlIDx3
dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTgyLDYgKzgzLDExIEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBjYXNlIEhvc3Q6
CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUJsb2NrKj4odGhpcyktPnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJu
OworI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgY2FzZSBWaWV3cG9ydDoK
KyAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlVmlld3BvcnQqPih0aGlzKS0+cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgICAgICByZXR1
cm47CisjZW5kaWYKICAgICBjYXNlIFVua25vd246CiAgICAgY2FzZSBDaGFyc2V0OgogICAgIGNh
c2UgS2V5ZnJhbWU6CkBAIC0xMjMsNiArMTI5LDExIEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6ZGVz
dHJveSgpCiAgICAgY2FzZSBIb3N0OgogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U3R5bGVS
dWxlSG9zdCo+KHRoaXMpOwogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKENTU19ERVZJQ0Vf
QURBUFRBVElPTikKKyAgICBjYXNlIFZpZXdwb3J0OgorICAgICAgICBkZWxldGUgc3RhdGljX2Nh
c3Q8U3R5bGVSdWxlVmlld3BvcnQqPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCiAg
ICAgY2FzZSBVbmtub3duOgogICAgIGNhc2UgQ2hhcnNldDoKICAgICBjYXNlIEtleWZyYW1lOgpA
QCAtMTU4LDYgKzE2OSwxMCBAQCBQYXNzUmVmUHRyPFN0eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJh
c2U6OmNvcHkoKSBjb25zdAogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVS
dWxlS2V5ZnJhbWVzKj4odGhpcyktPmNvcHkoKTsKICAgICBjYXNlIEhvc3Q6CiAgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4odGhpcyktPmNvcHkoKTsKKyNp
ZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorICAgIGNhc2UgVmlld3BvcnQ6CisgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVWaWV3cG9ydCo+KHRoaXMpLT5j
b3B5KCk7CisjZW5kaWYKICAgICBjYXNlIFVua25vd246CiAgICAgY2FzZSBDaGFyc2V0OgogICAg
IGNhc2UgS2V5ZnJhbWU6CkBAIC0xOTksNiArMjE0LDExIEBAIFBhc3NSZWZQdHI8Q1NTUnVsZT4g
U3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNo
ZWV0CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAgICAgICAgIHJ1bGUgPSBXZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlS2V5ZnJhbWVzKj4oc2VsZiksIHBh
cmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRB
VElPTikKKyAgICBjYXNlIFZpZXdwb3J0OgorICAgICAgICBydWxlID0gV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVmlld3BvcnQqPihzZWxmKSwgcGFy
ZW50U2hlZXQpOworICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgSG9zdDoKICAgICBj
YXNlIFVua25vd246CiAgICAgY2FzZSBDaGFyc2V0OgpAQCAtMzkwLDQgKzQxMCwzOSBAQCB2b2lk
IFN0eWxlUnVsZVJlZ2lvbjo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdAogICAgIGluZm8uYWRkTWVtYmVyKG1fc2VsZWN0b3JMaXN0KTsK
IH0KIAorI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCitTdHlsZVJ1bGVWaWV3cG9y
dDo6U3R5bGVSdWxlVmlld3BvcnQoKQorICAgIDogU3R5bGVSdWxlQmFzZShWaWV3cG9ydCwgMCkK
K3sKK30KKworU3R5bGVSdWxlVmlld3BvcnQ6OlN0eWxlUnVsZVZpZXdwb3J0KGNvbnN0IFN0eWxl
UnVsZVZpZXdwb3J0JiBvKQorICAgIDogU3R5bGVSdWxlQmFzZShvKQorICAgICwgbV9wcm9wZXJ0
aWVzKG8ubV9wcm9wZXJ0aWVzLT5jb3B5KCkpCit7Cit9CisKK1N0eWxlUnVsZVZpZXdwb3J0Ojp+
U3R5bGVSdWxlVmlld3BvcnQoKQoreworfQorCitTdHlsZVByb3BlcnR5U2V0KiBTdHlsZVJ1bGVW
aWV3cG9ydDo6bXV0YWJsZVByb3BlcnRpZXMoKQoreworICAgIGlmICghbV9wcm9wZXJ0aWVzLT5p
c011dGFibGUoKSkKKyAgICAgICAgbV9wcm9wZXJ0aWVzID0gbV9wcm9wZXJ0aWVzLT5jb3B5KCk7
CisgICAgcmV0dXJuIG1fcHJvcGVydGllcy5nZXQoKTsKK30KKwordm9pZCBTdHlsZVJ1bGVWaWV3
cG9ydDo6c2V0UHJvcGVydGllcyhQYXNzUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IHByb3BlcnRp
ZXMpCit7CisgICAgbV9wcm9wZXJ0aWVzID0gcHJvcGVydGllczsKK30KKwordm9pZCBTdHlsZVJ1
bGVWaWV3cG9ydDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fcHJvcGVydGllcyk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKENTU19ERVZJQ0Vf
QURBUFRBVElPTikKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5o
CmluZGV4IGI3ZmY1MjMyNmNiZjIxODQ3MjFhMTM0MWM4MjlhMzg0ZmM0YTM5YjkuLjRkNDM0MGE2
ZDhhMjAxMmM4NDIxNWJiMjkyZTVmMmQ0MDRmYmRhNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgK
QEAgLTQ3LDYgKzQ3LDkgQEAgcHVibGljOgogICAgICAgICBLZXlmcmFtZXMsCiAgICAgICAgIEtl
eWZyYW1lLCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVL
ZXlmcmFtZSBvYmplY3RzLgogICAgICAgICBIb3N0LAorI2lmIEVOQUJMRShDU1NfREVWSUNFX0FE
QVBUQVRJT04pCisgICAgICAgIFZpZXdwb3J0ID0gMTUsCisjZW5kaWYKICAgICAgICAgUmVnaW9u
ID0gMTYKICAgICB9OwogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PFR5cGU+KG1fdHlwZSk7IH0KQEAgLTU4LDYgKzYxLDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNQ
YWdlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBQYWdlOyB9CiAgICAgYm9vbCBpc1N0
eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZTsgfQogICAgIGJvb2wgaXNS
ZWdpb25SdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFJlZ2lvbjsgfQorI2lmIEVOQUJM
RShDU1NfREVWSUNFX0FEQVBUQVRJT04pCisgICAgYm9vbCBpc1ZpZXdwb3J0UnVsZSgpIGNvbnN0
IHsgcmV0dXJuIHR5cGUoKSA9PSBWaWV3cG9ydDsgfQorI2VuZGlmCiAgICAgYm9vbCBpc0ltcG9y
dFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gSW1wb3J0OyB9CiAgICAgYm9vbCBpc0hv
c3RSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEhvc3Q7IH0KIApAQCAtMjM5LDYgKzI0
NSwzMCBAQCBwcml2YXRlOgogICAgIFN0eWxlUnVsZUhvc3QoY29uc3QgU3R5bGVSdWxlSG9zdCYg
bykgOiBTdHlsZVJ1bGVCbG9jayhvKSB7IH0KIH07CiAKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9B
REFQVEFUSU9OKQorY2xhc3MgU3R5bGVSdWxlVmlld3BvcnQgOiBwdWJsaWMgU3R5bGVSdWxlQmFz
ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IGNy
ZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHlsZVJ1bGVWaWV3cG9ydCk7IH0KKworICAg
IH5TdHlsZVJ1bGVWaWV3cG9ydCgpOworCisgICAgY29uc3QgU3R5bGVQcm9wZXJ0eVNldCogcHJv
cGVydGllcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllcy5nZXQoKTsgfQorICAgIFN0eWxl
UHJvcGVydHlTZXQqIG11dGFibGVQcm9wZXJ0aWVzKCk7CisKKyAgICB2b2lkIHNldFByb3BlcnRp
ZXMoUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0Pik7CisKKyAgICBQYXNzUmVmUHRyPFN0eWxl
UnVsZVZpZXdwb3J0PiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlUnVs
ZVZpZXdwb3J0KCp0aGlzKSk7IH0KKworICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBTdHlsZVJ1bGVW
aWV3cG9ydCgpOworICAgIFN0eWxlUnVsZVZpZXdwb3J0KGNvbnN0IFN0eWxlUnVsZVZpZXdwb3J0
Jik7CisKKyAgICBSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gbV9wcm9wZXJ0aWVzOworfTsKKyNl
bmRpZiAvLyBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBTdHlsZVJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODE1YjU2YjU0NGI3ZTdlMzM5YTZi
YTIxMzVhZWEzOGZkN2U5MTIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAKQEAgLTAsMCArMSw5NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYktpdENTU1ZpZXdw
b3J0UnVsZS5oIgorCisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKworI2luY2x1
ZGUgIlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIlN0eWxlUHJv
cGVydHlTZXQuaCIKKyNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJDb3JlTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dlYktpdENTU1ZpZXdwb3J0UnVsZTo6V2ViS2l0
Q1NTVmlld3BvcnRSdWxlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3cG9ydFJ1bGUsIENTU1N0eWxl
U2hlZXQqIHNoZWV0KQorICAgIDogQ1NTUnVsZShzaGVldCwgQ1NTUnVsZTo6V0VCS0lUX1ZJRVdQ
T1JUX1JVTEUpCisgICAgLCBtX3ZpZXdwb3J0UnVsZSh2aWV3cG9ydFJ1bGUpCit7Cit9CisKK1dl
YktpdENTU1ZpZXdwb3J0UnVsZTo6fldlYktpdENTU1ZpZXdwb3J0UnVsZSgpCit7CisgICAgaWYg
KG1fcHJvcGVydGllc0NTU09NV3JhcHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFw
cGVyLT5jbGVhclBhcmVudFJ1bGUoKTsKK30KKworQ1NTU3R5bGVEZWNsYXJhdGlvbiogV2ViS2l0
Q1NTVmlld3BvcnRSdWxlOjpzdHlsZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3Byb3BlcnRpZXND
U1NPTVdyYXBwZXIpCisgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBlciA9IFN0eWxlUnVs
ZUNTU1N0eWxlRGVjbGFyYXRpb246OmNyZWF0ZShtX3ZpZXdwb3J0UnVsZS0+bXV0YWJsZVByb3Bl
cnRpZXMoKSwgY29uc3RfY2FzdDxXZWJLaXRDU1NWaWV3cG9ydFJ1bGUqPih0aGlzKSk7CisKKyAg
ICByZXR1cm4gbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLmdldCgpOworfQorCitTdHJpbmcgV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmdCdWlsZGVy
IHJlc3VsdDsKKyAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiQC13ZWJraXQtdmlld3BvcnQgeyAi
KTsKKworICAgIFN0cmluZyBkZWNscyA9IG1fdmlld3BvcnRSdWxlLT5wcm9wZXJ0aWVzKCktPmFz
VGV4dCgpOworICAgIHJlc3VsdC5hcHBlbmQoZGVjbHMpOworICAgIGlmICghZGVjbHMuaXNFbXB0
eSgpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7CisKKyAgICByZXN1bHQuYXBwZW5kKCd9
Jyk7CisKKyAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7Cit9CisKK3ZvaWQgV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVWaWV3cG9ydCogcnVsZSkKK3sKKyAgICBB
U1NFUlQocnVsZSk7CisgICAgbV92aWV3cG9ydFJ1bGUgPSBydWxlOworCisgICAgaWYgKG1fcHJv
cGVydGllc0NTU09NV3JhcHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLT5y
ZWF0dGFjaChtX3ZpZXdwb3J0UnVsZS0+bXV0YWJsZVByb3BlcnRpZXMoKSk7Cit9CisKK3ZvaWQg
V2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7
CisgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7CisgICAgaW5mby5hZGRNZW1iZXIobV92aWV3cG9ydFJ1bGUpOworICAgIGluZm8uYWRkTWVt
YmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThhMjdkMThjMGY5
OTY1N2YzOTNiYzU1MmZkZTU0OTMyMTMyMDM3MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaApAQCAtMCwwICsxLDczIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYktpdENTU1ZpZXdwb3J0UnVsZV9oCisjZGVm
aW5lIFdlYktpdENTU1ZpZXdwb3J0UnVsZV9oCisKKyNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKQorCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIENTU1N0eWxlRGVjbGFyYXRpb247CitjbGFzcyBTdHlsZVJ1bGVWaWV3cG9ydDsKK2NsYXNz
IFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb247CisKK2NsYXNzIFdlYktpdENTU1ZpZXdwb3J0
UnVsZTogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdl
YktpdENTU1ZpZXdwb3J0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3cG9ydFJ1
bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUodmlld3BvcnRSdWxlLCBzaGVldCkpOworICAgIH0K
KyAgICB+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCk7CisKKyAgICBDU1NTdHlsZURlY2xhcmF0aW9u
KiBzdHlsZSgpIGNvbnN0OworCisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKworICAgIHZv
aWQgcmVhdHRhY2goU3R5bGVSdWxlVmlld3BvcnQqKTsKKworICAgIHZvaWQgcmVwb3J0RGVzY2Vu
ZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKworcHJpdmF0ZToKKyAg
ICBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqLCBDU1NTdHlsZVNoZWV0
Kik7CisKKyAgICBSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IG1fdmlld3BvcnRSdWxlOworCisg
ICAgbXV0YWJsZSBSZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9wZXJ0
aWVzQ1NTT01XcmFwcGVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gV2ViS2l0Q1NTVmlld3BvcnRSdWxlX2gKKworI2VuZGlmIC8vIEVOQUJMRShDU1NfREVWSUNF
X0FEQVBUQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IDk5NmFmNWI2NTNmNmNmZmYxNjU4
MjNiZTYyNmM4OGFkODM4YjczNTEuLmY2N2JkYzkxYTliYTkxYzU0NjkzY2U4NTIzMDhmZjY3YWUz
NmYzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC01Niw2ICs1Niw3IEBAIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BUElfVEVTVFMgT04pCiBXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQkFUVEVSWV9TVEFUVVMgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQkxPQiBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1MzX1RFWFQgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OIE9OKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19JTUFHRV9TRVQgT04pCiBXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfVkFSSUFCTEVTIE9O
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUw
ODZmMDlkMmNlNmI2MjVhNjM2ZWRhYmFmN2YyNGRlYmM4NTRiOGIuLmRjMGEwNWU2NDU0MWI4NGYx
NjViMWU3Yjk4NTM4MTllZWE3NjQ5MDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNiBAQAogMjAxMi0xMC0zMSAgVGhpYWdvIE1h
cmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAorICAgICAgICBBZGRl
ZCB2aWV3cG9ydCBhdC1ydWxlIHRvIHRoZSBDU1MgcGFyc2VyIGFuZCB0b2tlbml6ZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1OTYxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgRW5h
YmxlIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBieSBkZWZhdWx0IG9uIEVGTC4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKworMjAxMi0xMC0zMSAgVGhpYWdv
IE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KKwogICAgICAgICBb
RUZMXSBEUlQgZG9lc24ndCBjbGVhbiB1cCBhZnRlciBpdHNlbGYKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDM0NgogCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggZGMyZDljYzQ0MGQ4ZjIwZmQ1MjVmZDMzMjBhYThi
ZDdkOTU3NGViMi4uOTA4NzNiOWQ0OTAxODAzYmNlZjcwMDc4MTUyMjdjZTA0MzM3OGQ1NyAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtMTY3LDcgKzE2Nyw3IEBA
IG15IEBmZWF0dXJlcyA9ICgKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUF9ORVhUIiwgZGVm
YXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGNzcE5leHRTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9
PiAiY3NzLWRldmljZS1hZGFwdGF0aW9uIiwgZGVzYyA9PiAiVG9nZ2xlIENTUyBEZXZpY2UgQWRh
cHRhdGlvbiBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTiIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRjc3NEZXZpY2VBZGFwdGF0aW9uIH0s
CisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04iLCBkZWZhdWx0
ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkY3NzRGV2aWNlQWRhcHRhdGlvbiB9LAogCiAgICAgeyBv
cHRpb24gPT4gImNzcy1leGNsdXNpb25zIiwgZGVzYyA9PiAiVG9nZ2xlIENTUyBFeGNsdXNpb25z
IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMiLCBkZWZh
dWx0ID0+IDEsIHZhbHVlID0+IFwkY3NzRXhjbHVzaW9uc1N1cHBvcnQgfSwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYjUz
NTk0M2ZhZjUwN2UxODIyMDY3MzkxNGIzNmUxODA4NDA3NzQ4Li5kZjg0OWM1Zjg3OThkMmFkNzJm
M2FlNmU2NmI5YjY2ZmRiNTJlNmI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMTAtMzEg
IFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRlbC5jb20+CisKKyAg
ICAgICAgQWRkZWQgdmlld3BvcnQgYXQtcnVsZSB0byB0aGUgQ1NTIHBhcnNlciBhbmQgdG9rZW5p
emVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTk2
MQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisg
ICAgICAgIEFkZGVkIGEgdGVzdCB0aGF0IGRldGVjdHMgaWYgdGhlIEAtd2Via2l0LXZpZXdwb3J0
IHJ1bGUgaXMgYmVpbmcKKyAgICAgICAgcGFyc2VkIGFuZCBza2lwIHRoZSB0ZXN0cyBvbiBhbGwg
cG9ydHMgc2luY2UgdGhlIGZlYXR1cmUgaXMgZGlzYWJsZWQKKyAgICAgICAgYnkgZGVmYXVsdCBm
b3IgaW5zdGFuY2UuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgdGVzdCBkb2Vzbid0IGRvIHBy
b3BlcnR5IHZhbGlkYXRpb24sIHdoaWNoIHdpbGwgYmUKKyAgICAgICAgYWRkZWQgaW4gdGhlIG5l
eHQgcGF0Y2ggb2YgdGhlIHNlcmllcy4KKworICAgICAgICAqIGNzczMvZGV2aWNlLWFkYXB0L3Zp
ZXdwb3J0LWF0LXJ1bGUtcGFyc2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNz
czMvZGV2aWNlLWFkYXB0L3ZpZXdwb3J0LWF0LXJ1bGUtcGFyc2luZy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZv
cm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMi0xMC0zMSAgUmFwaGFlbCBLdWJv
IGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KIAogICAgICAgICBb
RUZMXSBNb3JlIHVucmV2aWV3ZWQgcGl4ZWwgZXhwZWN0YXRpb25zIGdhcmRlbmluZy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvZGV2aWNlLWFkYXB0L3ZpZXdwb3J0LWF0LXJ1bGUtcGFy
c2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2RldmljZS1hZGFwdC92aWV3cG9y
dC1hdC1ydWxlLXBhcnNpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljZWIxYjQwYzRkNDIx
ZDcyZWM3ZjA3NDg3ZjNkYTUxMWE5NTk0MWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2RldmljZS1hZGFwdC92aWV3cG9ydC1hdC1ydWxlLXBhcnNpbmctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTAgQEAKKworUEFTUyBFbXB0eSBhdC1ydWxlIHBhcnNpbmcgCitQQVNTIGF0
LXJ1bGUgd2l0aCBleHRyYSBzcGFjZXMgCitQQVNTIFJ1bGUgd2l0aCBhdHRyaWJ1dGVzIAorUEFT
UyBSdWxlIHdpdGggbWFsZm9ybWVkIGF0dHJpYnV0ZXMgCitQQVNTIFNob3VsZCBiZSBhY2NlcHRl
ZCBpbnNpZGUgbWVkaWEgcXVlcmllcyAKK1BBU1MgTmVzdGVkIHZpZXdwb3J0IHJ1bGUgCitQQVNT
IFJ1bGVzIGluc2lkZSBhIHZpZXdwb3J0IHJ1bGUgCitQQVNTIFNob3VsZCBpZ25vcmUgdW5wcmVm
aXhlZCBhdC1ydWxlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2RldmljZS1hZGFw
dC92aWV3cG9ydC1hdC1ydWxlLXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZGV2aWNl
LWFkYXB0L3ZpZXdwb3J0LWF0LXJ1bGUtcGFyc2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5YjNkZTc3
ZDgwNGI3YjY0NDEwOThjMzdhZmRhNDA3ZDE1MjJlNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2RldmljZS1hZGFwdC92aWV3cG9ydC1hdC1ydWxlLXBhcnNpbmcuaHRtbApA
QCAtMCwwICsxLDk5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0
eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgICAgLyogVmFsaWQgdmlld3BvcnQgc3ludGF4LiAq
LworICAgICAgICBALXdlYmtpdC12aWV3cG9ydCB7CisgICAgICAgIH0KKworICAgICAgICAvKiBW
YWxpZCB2aWV3cG9ydCBzeW50YXgsIGV4dHJhcyBzcGFjZXMgc2hvdWxkIGJlIGlnbm9yZWQuICov
CisgICAgICAgIEAtd2Via2l0LXZpZXdwb3J0ICAgICAgICAgIHsKKyAgICAgICAgfQorCisgICAg
ICAgIC8qIFZhbGlkIHZpZXdwb3J0IHN5bnRheCwgcmVndWxhciBhdHRyaWJ1dGVzLiAqLworICAg
ICAgICBALXdlYmtpdC12aWV3cG9ydCB7CisgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsK
KyAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OworICAgICAgICB9CisKKyAgICAgICAgLyog
VmFsaWQgdmlld3BvcnQgc3ludGF4LCBzaG91bGQgb21pdCB0aGUgbWFsZm9ybWVkIGF0dHJpYnV0
ZS4gKi8KKyAgICAgICAgQC13ZWJraXQtdmlld3BvcnQgeworICAgICAgICAgICAgYXNkYXNkCisg
ICAgICAgIH0KKworICAgICAgICAvKiBWYWxpZCB2aWV3cG9ydCBzeW50YXgsIGl0IGlzIGFsbG93
ZWQgaW5zaWRlIG1lZGlhIHF1ZXJpZXMuICovCisgICAgICAgIEBtZWRpYSBhbGwgeworICAgICAg
ICAgICAgQC13ZWJraXQtdmlld3BvcnQgeworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAg
ICAgICAgLyogTmVzdGVkIHZpZXdwb3J0IHJ1bGVzIGFyZSBub3QgYWxsb3dlZC4gVGhlIGlubmVy
IHJ1bGUgc2hvdWxkIGJlIGlnbm9yZWQuICovCisgICAgICAgIEAtd2Via2l0LXZpZXdwb3J0IHsK
KyAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgbWluLWhlaWdodDog
MTAwcHg7CisKKyAgICAgICAgICAgIEAtd2Via2l0LXZpZXdwb3J0IHsKKyAgICAgICAgICAgICAg
ICBtYXgtaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8qIFJ1bGVzIGluc2lkZSBhIHZp
ZXdwb3J0IHNob3VsZCBiZSBpZ25vcmVkLiAqLworICAgICAgICBALXdlYmtpdC12aWV3cG9ydCB7
CisgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4OworICAgICAgICAgICAgbWluLWhlaWdodDog
NTBweDsKKworICAgICAgICAgICAgQGltcG9ydCB1cmwoJy4uLy4uL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5jc3MnKTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIFNob3VsZCBpZ25vcmUgdW5wcmVm
aXhlZCB2aWV3cG9ydCBydWxlLiBXZSBuZWVkIHRvIGNoYW5nZSB0aGlzCisgICAgICAgICAgIHRl
c3QgaWYgYXQgc29tZSBwb2ludCB3ZSByZW1vdmUgdGhlIHByZWZpeC4gKi8KKyAgICAgICAgQHZp
ZXdwb3J0IHsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9j
c3MtZGV2aWNlLWFkYXB0LyNzeW50YXgiIC8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICB2YXIgcnVsZXMgPSBkb2N1bWVudC5zdHlsZVNo
ZWV0c1swXS5jc3NSdWxlczsKKworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhydWxlcy5pdGVtKDApLmNzc1RleHQsICJALXdlYmtpdC12aWV3cG9y
dCB7IH0iKTsKKyAgICAgICAgfSwgIkVtcHR5IGF0LXJ1bGUgcGFyc2luZyIpOworCisgICAgICAg
IHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0o
MSkuY3NzVGV4dCwgIkAtd2Via2l0LXZpZXdwb3J0IHsgfSIpOworICAgICAgICB9LCAiYXQtcnVs
ZSB3aXRoIGV4dHJhIHNwYWNlcyIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oMikuY3NzVGV4dCwgIkAtd2Via2l0LXZp
ZXdwb3J0IHsgbWF4LWhlaWdodDogMjAwcHg7IG1pbi1oZWlnaHQ6IDIwMHB4OyB9Iik7CisgICAg
ICAgIH0sICJSdWxlIHdpdGggYXR0cmlidXRlcyIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oMykuY3NzVGV4dCwgIkAt
d2Via2l0LXZpZXdwb3J0IHsgfSIpOworICAgICAgICB9LCAiUnVsZSB3aXRoIG1hbGZvcm1lZCBh
dHRyaWJ1dGVzIik7CisKKyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMocnVsZXMuaXRlbSg0KS5jc3NUZXh0LCAiQG1lZGlhIGFsbCB7IFxuICBALXdl
YmtpdC12aWV3cG9ydCB7IH1cbn0iKTsKKyAgICAgICAgfSwgIlNob3VsZCBiZSBhY2NlcHRlZCBp
bnNpZGUgbWVkaWEgcXVlcmllcyIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oNSkuY3NzVGV4dCwgIkAtd2Via2l0LXZp
ZXdwb3J0IHsgbWF4LWhlaWdodDogMTAwcHg7IG1pbi1oZWlnaHQ6IDEwMHB4OyB9Iik7CisgICAg
ICAgIH0sICJOZXN0ZWQgdmlld3BvcnQgcnVsZSIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLml0ZW0oNikuY3NzVGV4dCwgIkAt
d2Via2l0LXZpZXdwb3J0IHsgbWF4LWhlaWdodDogNTBweDsgbWluLWhlaWdodDogNTBweDsgfSIp
OworICAgICAgICB9LCAiUnVsZXMgaW5zaWRlIGEgdmlld3BvcnQgcnVsZSIpOworCisgICAgICAg
IC8vIFRoZSB0b3RhbCBudW1iZXIgb2YgcGFyc2VkIHJ1bGVzIHNob3VsZCBiZSA2LCBtZWFuaW5n
IHRoYXQgdGhlIHBhcnNlcgorICAgICAgICAvLyBpZ25vcmVkIHRoZSBsYXN0IHR3byBydWxlcy4K
KyAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocnVs
ZXMubGVuZ3RoLCA3KQorICAgICAgICB9LCAiU2hvdWxkIGlnbm9yZSB1bnByZWZpeGVkIGF0LXJ1
bGUiKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImxvZyI+
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5YTg0MGE3MjEzMzRlZmZkOTE4NTdjNmNmZDdkYTNi
MTAxOGZjZmVlLi4xYjk5M2Y3ODAxZjRiY2VhZDRmMTVkNDI2ZGVjNmQ5ZGI4MjQ2NjUyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQw
MTIsNiArNDAxMiw5IEBAIHdlYmtpdC5vcmcvYi85NTEyMSBmYXN0L2JvcmRlcnMvYm9yZGVyLWlt
YWdlLXNpZGUtcmVkdWN0aW9uLmh0bWwgWyBJbWFnZU9ubHlGYWlsCiAjIGNzczMtY29uZGl0aW9u
YWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg2MTQ2IGNzczMv
c3VwcG9ydHMuaHRtbAogCisjIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4K
K3dlYmtpdC5vcmcvYi85NTk1OSBjc3MzL2RldmljZS1hZGFwdCBbIFNraXAgXQorCiAjIFJlcXVp
cmUgcmViYXNlbGluaW5nIGFmdGVyIHdlYmtpdC5vcmcvYi85NzgwMAogd2Via2l0Lm9yZy9iLzg5
MTY3IG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctaG9yaXpvbnRhbC5odG1sIFsgRmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvODkxNjcgbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmlu
Zy12ZXJ0aWNhbC5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDBhMzZkZjFjOTViN2VkOWQ0YTVkNjgxNDI3NjA4YzUyMDE0ZWM5
MzEuLmU1OTNmMmZiYTA0OTg3NTEwYTNmNzlhOWQ4ZDYyM2VlNTZhNjc4MjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDMzLDMgKzE0MzMsNiBAQCB3
ZWJraXQub3JnL2IvOTUyOTkgZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi5odG1sIFsgRmFp
bHVyZSBdCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgb2YgVGVzdHMg
ZmFpbGluZwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworIyBDU1MgRGV2aWNl
IEFkYXB0YXRpb24gaXMgbm90IGVuYWJsZWQuCit3ZWJraXQub3JnL2IvOTU5NTkgY3NzMy9kZXZp
Y2UtYWRhcHQgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNjdkOGFiYzgzNzAwMGE2MDIwYWExY2M3NzgzYTgwY2JiYTdmOTRhYy4uOWZhYjBi
OTdkMTM5YjQ1OTJiNGQwZDZiYjAzNmIxZGYzMTBhODU2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMTQsNiArMTMxNCw5IEBAIHdlYmtpdC5vcmcv
Yi85OTkyMSBtYXRobWwvcHJlc2VudGF0aW9uL3N1YnN1cC54aHRtbCBbIEZhaWx1cmUgXQogIyBj
c3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcv
Yi84NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwKIAorIyBDU1MgRGV2aWNlIEFkYXB0YXRpb24gaXMg
bm90IGVuYWJsZWQuCit3ZWJraXQub3JnL2IvOTU5NTkgY3NzMy9kZXZpY2UtYWRhcHQgWyBTa2lw
IF0KKwogIyBIYXJkd2FyZSBhY2NlbGVyYXRlZCBDU1MgdHJhbnNpdGlvbnMgYXBwZWFyIHBpeGVs
YXRlZCB3aGVuIHNjYWxlZCB1cCB1c2luZyB0cmFuc2Zvcm0KIHdlYmtpdC5vcmcvYi8yNzY4NCBj
b21wb3NpdGluZy90ZXh0LW9uLXNjYWxlZC1sYXllci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMjc2ODQgY29tcG9zaXRpbmcvdGV4dC1vbi1zY2FsZWQtc3VyZmFjZS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBiZmZmNzBjZTFkMTQ4ZmI1YWRkNWZiZTgwMzFmNjM5NTMwMmRiZDU5Li5i
ZTU4NmYwZDM5ODcyY2YyNDBiNjFmYjk1MWFmNTY5MDQxY2IxMDVhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0NzUsNiArMjQ3NSw5IEBAIHdlYmtpdC5v
cmcvYi8yMzE2NiBpZXRlc3RjZW50ZXIvY3NzMy9ib3JkZXJzYmFja2dyb3VuZHMvYm9yZGVyLXJh
ZGl1cy1jbGlwLTAwMi5oCiAjIGNzczMtY29uZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBl
bmFibGVkLgogd2Via2l0Lm9yZy9iLzg2MTQ2IGNzczMvc3VwcG9ydHMuaHRtbAogCisjIENTUyBE
ZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4KK3dlYmtpdC5vcmcvYi85NTk2OSBjc3Mz
L2RldmljZS1hZGFwdCBbIFNraXAgXQorCiAjIEFkZGVkIGJ5IGJ1ZyA4OTgyNgogd2Via2l0Lm9y
Zy9iLzk0MDA1IGNzczIuMS8yMDExMDMyMy93b3JkLXNwYWNpbmctcmVtb3ZlLXNwYWNlLTAwMy5o
dG0gWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85NDAwNSBjc3MyLjEvMjAxMTAz
MjMvd29yZC1zcGFjaW5nLXJlbW92ZS1zcGFjZS0wMDYuaHRtIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDQ0MjRiM2Ux
NTkzYTY3OWZhYjUxNDc1Mzc1N2RlZjM2NWM5NjkwMWUuLmZjN2Y4NzRmYmMyMTdjNDRiNTNkNDcw
NmJkNzM3NjQ2NDVmNTM4N2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zCkBAIC04ODAsNiArODgwLDkgQEAgaHR0cC90ZXN0cy9sb2NhbC9ibG9iL3NlbmQtc2xp
Y2VkLWRhdGEtYmxvYi5odG1sCiAjIEJsb2RCdWlsZGVyIGlzIG5vdCBlbmFibGVkCiBodHRwL3Rl
c3RzL2xvY2FsL2Jsb2Ivc2VuZC1kYXRhLWJsb2IuaHRtbAogCisjIENTUyBEZXZpY2UgQWRhcHRh
dGlvbiBpcyBub3QgZW5hYmxlZC4KK3dlYmtpdC5vcmcvYi85NTk1OSBjc3MzL2RldmljZS1hZGFw
dCBbIFNraXAgXQorCiAjIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjkyODk+CiBwbHVnaW5zL2Rlc3Ryb3ktZHVyaW5nLW5wcC1uZXcuaHRtbAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyZjYyNjc5Zjcw
ZmMxYjNjN2YxYTUxYTk4NGQyMTYxYjBmOGJhMjVjLi40MWQ4NGFjZTMyOTBjZmI5ZTIwMDQ3M2M4
NWM4NDM0MmJhZTgwZWI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWly
by9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTI4MDgsNiArMjgwOCw5IEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkv
eHNzQXVkaXRvci94c3MtZmlsdGVyLWJ5cGFzcy1sb25nLXN0cmluZy5odG1sCiBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWFsbG93LWxpc3RzLXN0YXJ0aW5nLXdpdGgt
Y29tbWEuaHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yYW5nZS10ZXN0Lmh0bWwKIAor
IyBDU1MgRGV2aWNlIEFkYXB0YXRpb24gaXMgbm90IGVuYWJsZWQuCit3ZWJraXQub3JnL2IvOTU5
NTkgY3NzMy9kZXZpY2UtYWRhcHQgWyBTa2lwIF0KKwogIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBw
b3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi84NjE0NiBjc3MzL3N1cHBvcnRz
Lmh0bWwKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDg4ODBlYzc4
NDM0OTMzMTdhNGIzMDgxZDgyOTFjNzZmZmFlOTFjOGIuLjQ1ODNjMjFmZjljMDY5YTFjMGMwZWRm
NTExYzUxMTk0MGUzYzA3YTEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMC0zMSAgVGhpYWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0
aGlhZ28uc2FudG9zQGludGVsLmNvbT4KKworICAgICAgICBBZGRlZCB2aWV3cG9ydCBhdC1ydWxl
IHRvIHRoZSBDU1MgcGFyc2VyIGFuZCB0b2tlbml6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1OTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgRW5hYmxlIENTUyBEZXZpY2UgQWRh
cHRhdGlvbiBieSBkZWZhdWx0IG9uIEVGTC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRp
b25zRWZsLmNtYWtlOgorCiAyMDEyLTEwLTMxICBJYW4gVm9sbGljayAgPHZvbGxpY2tAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciB0ZXh0LWJhc2VkIHJlcGFpbnQgdGVz
dGluZwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>