<?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>98748</bug_id>
          
          <creation_ts>2012-10-09 04:25:43 -0700</creation_ts>
          <short_desc>[EFL][WK2] Port MiniBrowser to Elementary</short_desc>
          <delta_ts>2012-10-14 20:09:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</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>98639</blocked>
    
    <blocked>98883</blocked>
    
    <blocked>99021</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barbieri</cc>
    
    <cc>d-r</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>737651</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-09 04:25:43 -0700</bug_when>
    <thetext>We should port MiniBrowser to Elementary so that we can simplify the code and more easily add functionality.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737734</commentid>
    <comment_count>1</comment_count>
      <attachid>167747</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-09 06:22:26 -0700</bug_when>
    <thetext>Created attachment 167747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737741</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-09 06:35:42 -0700</bug_when>
    <thetext>Ok, if it is not too much of a dependency. Maybe we could only build the minibrowser if elementary is actually present to not make it a hard dependency</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737745</commentid>
    <comment_count>3</comment_count>
      <attachid>167747</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-09 06:40:22 -0700</bug_when>
    <thetext>Comment on attachment 167747
Patch

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

&gt; Tools/MiniBrowser/efl/main.c:29
&gt; -static const int DEFAULT_WIDTH = 800;
&gt; -static const int DEFAULT_HEIGHT = 600;
&gt; +static const int DEFAULT_WIDTH = 1024;
&gt; +static const int DEFAULT_HEIGHT = 768;

I think the old size is better, as it is also used by tests (and suggested by W3C as a good testing size)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737752</commentid>
    <comment_count>4</comment_count>
      <attachid>167749</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-09 06:49:26 -0700</bug_when>
    <thetext>Created attachment 167749
Patch for landing

Take Kenneth&apos;s feedback into consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737753</commentid>
    <comment_count>5</comment_count>
      <attachid>167747</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-10-09 06:49:48 -0700</bug_when>
    <thetext>Comment on attachment 167747
Patch

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

I am not sure whether it is acceptable for efl side.

elementary has dependency of webkit/efl although it is optional.

At least, I think that we need to get concensus with some efl folks.

&gt; Tools/MiniBrowser/efl/main.c:371
&gt; +    evas_object_focus_set(app_data-&gt;webview, EINA_TRUE);

Did you check any regression which is related to focus behavior ?
IIRC, focus should be controlled carefully when we change focus between elm_entry and evas_object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737756</commentid>
    <comment_count>6</comment_count>
      <attachid>167749</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-09 06:55:16 -0700</bug_when>
    <thetext>Comment on attachment 167749
Patch for landing

I think there is a focus issue I need to investigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737793</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-09 08:18:59 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 167747 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167747&amp;action=review
&gt; 
&gt; I am not sure whether it is acceptable for efl side.
&gt; 
&gt; elementary has dependency of webkit/efl although it is optional.
&gt; 
&gt; At least, I think that we need to get concensus with some efl folks.

I&apos;m not proposing to use elementary for WebKit EFL itself.

However, MiniBrowser is an application (distinct from WebKit EFL) and it makes a lot of sense to use Elementary for it. Elementary brings widgets, layouts, dialogs that will help us a lot make MiniBrowser better. This current patch is merely for porting but the idea is to bring a lot more functionality to MiniBrowser in the near future.

I&apos;ll ask rakuco to help me with CMake so that Elementary becomes an optional dependency and so that MiniBrowser is not built if Elementary is not installed.

&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:371
&gt; &gt; +    evas_object_focus_set(app_data-&gt;webview, EINA_TRUE);
&gt; 
&gt; Did you check any regression which is related to focus behavior ?
&gt; IIRC, focus should be controlled carefully when we change focus between elm_entry and evas_object.

Yes. There is indeed an issue with focus. I noticed it afterwards. I have a patch for it locally so I will reupload soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737877</commentid>
    <comment_count>8</comment_count>
      <attachid>167775</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-09 09:42:45 -0700</bug_when>
    <thetext>Created attachment 167775
Patch

- Fix focus issue between view and URL bar
- Make Elementary dependency optional and build MiniBrowser only if Elementary is found (Thanks rakuco for the help!)

I also sent an email on the mailing list to explain the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737943</commentid>
    <comment_count>9</comment_count>
      <attachid>167785</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-09 10:57:27 -0700</bug_when>
    <thetext>Created attachment 167785
Patch

- Hide the end widget of the URL bar entry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738190</commentid>
    <comment_count>10</comment_count>
      <attachid>167785</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-09 14:33:47 -0700</bug_when>
    <thetext>Comment on attachment 167785
Patch

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

Forward/back button coming up? :)

&gt; Tools/MiniBrowser/efl/main.c:323
&gt; +win_del_cb(void *user_data, Evas_Object *window, void *event_info)

why is this called win_del_cb and other callbacks called like on_url_bar_clicked, why not on_win_del?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738293</commentid>
    <comment_count>11</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-10-09 16:06:00 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=167775) [details]
&gt; Patch
&gt; 
&gt; - Fix focus issue between view and URL bar
&gt; - Make Elementary dependency optional and build MiniBrowser only if Elementary is found (Thanks rakuco for the help!)
&gt; 
&gt; I also sent an email on the mailing list to explain the change.

Now, it looks reasonable to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738423</commentid>
    <comment_count>12</comment_count>
      <attachid>167785</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-10-09 18:48:50 -0700</bug_when>
    <thetext>Comment on attachment 167785
Patch

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

&gt; Tools/MiniBrowser/efl/CMakeLists.txt:-4
&gt; -    ${TOOLS_DIR}/EWebLauncher/url_bar.c

I think that you should remove ControlTheme dependency also.

&gt; Tools/MiniBrowser/efl/main.c:101
&gt; +    evas_object_del(window-&gt;webview);
&gt; +    evas_object_del(window-&gt;url_bar);
&gt; +    evas_object_del(window-&gt;bg);
&gt; +    evas_object_del(window-&gt;window);
&gt; +    evas_object_del(window-&gt;vertical_layout);

IIRC, when you remove elm_window, all child objects will be removed.

&gt; Tools/MiniBrowser/efl/main.c:367
&gt; +    ewk_view_theme_set(app_data-&gt;webview, THEME_DIR&quot;/default.edj&quot;);

Nit: How about adding space THEME_DIR &quot;/default.edj&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738659</commentid>
    <comment_count>13</comment_count>
      <attachid>167941</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-10 00:11:34 -0700</bug_when>
    <thetext>Created attachment 167941
Patch

Took into consideration feedback from Kenneth and Ryuan.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738689</commentid>
    <comment_count>14</comment_count>
      <attachid>167945</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-10 00:48:40 -0700</bug_when>
    <thetext>Created attachment 167945
Patch

- Remove weird focus highlight (only useful for debugging)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738834</commentid>
    <comment_count>15</comment_count>
      <attachid>167945</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-10 04:22:25 -0700</bug_when>
    <thetext>Comment on attachment 167945
Patch

Clearing flags on attachment: 167945

Committed r130887: &lt;http://trac.webkit.org/changeset/130887&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738835</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-10 04:22:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741693</commentid>
    <comment_count>17</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2012-10-14 20:09:40 -0700</bug_when>
    <thetext>After this change, we cannot change the evas engine in use.
Filed https://bugs.webkit.org/show_bug.cgi?id=99286 for that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167747</attachid>
            <date>2012-10-09 06:22:26 -0700</date>
            <delta_ts>2012-10-09 09:42:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98748_minibrowser_elementary.patch</filename>
            <type>text/plain</type>
            <size>30468</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlNzIzYWYzLi45MDAzMWNl
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTItMTAtMDkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXVtXSzJdIFBvcnQgTWluaUJyb3dzZXIgdG8gRWxlbWVudGFyeQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg3NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdW1wIEVGTCBs
aWJyYWlyaWVzIGRlcGVuZGVuY2llcyB0byB2MS43LgorCisgICAgICAgICogU291cmNlL2NtYWtl
L0ZpbmRFZXQuY21ha2U6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9GaW5kRWxlbWVu
dGFyeS5jbWFrZTogQWRkZWQuCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21h
a2U6CisKIDIwMTItMTAtMDkgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkIEdUSyBidWlsZCBmaXggYWZ0ZXIgcjEzMDY4OS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9jbWFrZS9GaW5kRWV0LmNtYWtlIGIvU291cmNlL2NtYWtlL0ZpbmRFZXQu
Y21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJiZmM1ZgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kRWV0LmNtYWtlCkBAIC0wLDAgKzEsNDEgQEAK
KyMgLSBUcnkgdG8gZmluZCBFZXQKKyMgT25jZSBkb25lLCB0aGlzIHdpbGwgZGVmaW5lCisjCisj
ICBFRVRfRk9VTkQgLSBzeXN0ZW0gaGFzIEVldCBpbnN0YWxsZWQuCisjICBFRVRfSU5DTFVERV9E
SVJTIC0gZGlyZWN0b3JpZXMgd2hpY2ggY29udGFpbiB0aGUgRWV0IGhlYWRlcnMuCisjICBFRVRf
TElCUkFSSUVTIC0gbGlicmFyaWVzIHJlcXVpcmVkIHRvIGxpbmsgYWdhaW5zdCBFZXQuCisjCisj
IENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMKKyMgSVMnJyBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBJVFMKKyMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7CisjIE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAorIyBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUgorIyBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGCisjIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCitJTkNMVURFKEVGTEhlbHBlcnMpCisKK0ZJTkRfRUZMX0xJQlJBUlkoRUVU
CisgICAgSEVBREVSUyBFZXQuaAorICAgIEhFQURFUl9QUkVGSVhFUyBlZXQtMQorICAgIExJQlJB
UlkgZWV0CispCisKK0lOQ0xVREUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCitGSU5E
X1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoRWV0IFJFUVVJUkVEX1ZBUlMgRUVUX0lOQ0xV
REVfRElSUyBFRVRfTElCUkFSSUVTCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZFUlNJT05fVkFSICAgRUVUX1ZFUlNJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Uv
RmluZEVsZW1lbnRhcnkuY21ha2UgYi9Tb3VyY2UvY21ha2UvRmluZEVsZW1lbnRhcnkuY21ha2UK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU1Y2E3OAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kRWxlbWVudGFyeS5jbWFrZQpAQCAtMCwwICsxLDQxIEBA
CisjIC0gVHJ5IHRvIGZpbmQgRWxlbWVudGFyeQorIyBPbmNlIGRvbmUsIHRoaXMgd2lsbCBkZWZp
bmUKKyMKKyMgIEVMRU1FTlRBUllfRk9VTkQgLSBzeXN0ZW0gaGFzIEVsZW1lbnRhcnkgaW5zdGFs
bGVkLgorIyAgRUxFTUVOVEFSWV9JTkNMVURFX0RJUlMgLSBkaXJlY3RvcmllcyB3aGljaCBjb250
YWluIHRoZSBFbGVtZW50YXJ5IGhlYWRlcnMuCisjICBFTEVNRU5UQVJZX0xJQlJBUklFUyAtIGxp
YnJhcmllcyByZXF1aXJlZCB0byBsaW5rIGFnYWluc3QgRWxlbWVudGFyeS4KKyMKKyMgQ29weXJp
Z2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIwor
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIg
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUworIyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgSE9MREVSIE9SIElUUworIyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsKKyMgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCisjIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SCisj
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYKKyMgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKK0lOQ0xVREUoRUZMSGVscGVycykKKworRklORF9FRkxfTElCUkFSWShFTEVNRU5UQVJZ
CisgICAgSEVBREVSUyBFbGVtZW50YXJ5LmgKKyAgICBIRUFERVJfUFJFRklYRVMgZWxlbWVudGFy
eS0xCisgICAgTElCUkFSWSBlbGVtZW50YXJ5CispCisKK0lOQ0xVREUoRmluZFBhY2thZ2VIYW5k
bGVTdGFuZGFyZEFyZ3MpCitGSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoRWxlbWVu
dGFyeSBSRVFVSVJFRF9WQVJTIEVMRU1FTlRBUllfSU5DTFVERV9ESVJTIEVMRU1FTlRBUllfTElC
UkFSSUVTCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRVJT
SU9OX1ZBUiAgIEVMTV9WRVJTSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNF
ZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCBiN2ZiOTNlLi4y
ZTU1OTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9T
b3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtMTA1LDEzICsxMDUsMTUgQEAgSUYgKEVO
QUJMRV9FQ09SRV9YKQogICAgIEFERF9ERUZJTklUSU9OUygtREhBVkVfRUNPUkVfWCkKIEVORElG
ICgpCiAKLUZJTkRfUEFDS0FHRShFaW5hIDEuMiBSRVFVSVJFRCkKLUZJTkRfUEFDS0FHRShFdmFz
IDEuMiBSRVFVSVJFRCkKLUZJTkRfUEFDS0FHRShFY29yZSAxLjIgQ09NUE9ORU5UUyBFdmFzIEZp
bGUgSW5wdXQgJHtFQ09SRV9BRERJVElPTkFMX0NPTVBPTkVOVFN9KQotRklORF9QQUNLQUdFKEVk
amUgMS4yIFJFUVVJUkVEKQotRklORF9QQUNLQUdFKEVlemUgMS4yIFJFUVVJUkVEKQotRklORF9Q
QUNLQUdFKEVmcmVldCAxLjIgUkVRVUlSRUQpCi1GSU5EX1BBQ0tBR0UoRV9EQnVzIDEuMiBDT01Q
T05FTlRTIEVVS2l0KQorRklORF9QQUNLQUdFKEVpbmEgMS43IFJFUVVJUkVEKQorRklORF9QQUNL
QUdFKEV2YXMgMS43IFJFUVVJUkVEKQorRklORF9QQUNLQUdFKEVjb3JlIDEuNyBDT01QT05FTlRT
IEV2YXMgRmlsZSBJbnB1dCAke0VDT1JFX0FERElUSU9OQUxfQ09NUE9ORU5UU30pCitGSU5EX1BB
Q0tBR0UoRWRqZSAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRWV0IDEuNyBSRVFVSVJFRCkK
K0ZJTkRfUEFDS0FHRShFZXplIDEuNyBSRVFVSVJFRCkKK0ZJTkRfUEFDS0FHRShFZnJlZXQgMS43
IFJFUVVJUkVEKQorRklORF9QQUNLQUdFKEVsZW1lbnRhcnkgMS43IFJFUVVJUkVEKQorRklORF9Q
QUNLQUdFKEVfREJ1cyAxLjcgQ09NUE9ORU5UUyBFVUtpdCkKIAogRklORF9QQUNLQUdFKEZyZWV0
eXBlIDIuNC4yIFJFUVVJUkVEKQogRklORF9QQUNLQUdFKEhhcmZCdXp6IDAuOS4yIFJFUVVJUkVE
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhk
NjVjMmMuLmViNGU5NTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMi0xMC0wOSAgQ2hyaXN0b3BoZSBEdW1leiAg
PGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gUG9ydCBN
aW5pQnJvd3NlciB0byBFbGVtZW50YXJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05ODc0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFBvcnQgTWluaUJyb3dzZXIgdG8gRWxlbWVudGFyeSB0byBzaW1wbGlm
eSB0aGUKKyAgICAgICAgY29kZSBhbmQgbWFrZSBmdXR1cmUgaW1wcm92ZW1lbnRzIGVhc2llci4g
VGhlCisgICAgICAgIFVSTCBiYXIgaXMgbm93IGFuIEVsZW1lbnRhcnkgRW50cnkgd2lkZ2V0IGFu
ZAorICAgICAgICBzdXBwb3J0cyBhZGRpdGlvbmFsIGZ1bmN0aW9uYWxpdHkgbGlrZSBjb3B5IC8K
KyAgICAgICAgcGFzdGUuCisKKyAgICAgICAgKiBFV2ViTGF1bmNoZXIvdXJsX2Jhci5jOgorICAg
ICAgICAob25fdXJsYmFyX2tleV9kb3duKTogUmVtb3ZlIFdLMi1zcGVjaWZpYyBjb2RlCisgICAg
ICAgIG5vdyB0aGF0IHRoaXMgZmlsZSBpcyBubyBsb25nZXIgdXNlZCBieSBNaW5pQnJvd3Nlci4K
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogTWlu
aUJyb3dzZXIvZWZsL21haW4uYzoKKyAgICAgICAgKF9Ccm93c2VyX1dpbmRvdyk6CisgICAgICAg
ICh3aW5kb3dfZnJlZSk6CisgICAgICAgICh3aW5kb3dfY2xvc2UpOgorICAgICAgICAodGl0bGVf
c2V0KToKKyAgICAgICAgKG9uX3RpdGxlX2NoYW5nZWQpOgorICAgICAgICAob25fdXJsX2NoYW5n
ZWQpOgorICAgICAgICAob25fY2xvc2Vfd2luZG93KToKKyAgICAgICAgKG9uX3Byb2dyZXNzKToK
KyAgICAgICAgKHF1aXQpOgorICAgICAgICAoX29uX3VybF9iYXJfZW50ZXIpOgorICAgICAgICAo
X3dpbl9kZWxfY2IpOgorICAgICAgICAod2luZG93X2NyZWF0ZSk6CisgICAgICAgIChlbG1fbWFp
bik6CisgICAgICAgICogZWZsL2poYnVpbGQubW9kdWxlczogQWRkIEVsZW1lbnRhcnkgdG8gamhi
dWlsZCBhbmQgYnVtcAorICAgICAgICBFRkwgZGVwZW5kZW5jaWVzIHRvIDEuNy4KKwogMjAxMi0x
MC0wOSAgTGFzemxvIEdvbWJvcyAgPGwuZ29tYm9zQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtR
dF0gUmVtb3ZlIHJlZHVuZGFudCBKQVZBU0NSSVBUQ09SRV9KSVQgdmFyaWFibGUKZGlmZiAtLWdp
dCBhL1Rvb2xzL0VXZWJMYXVuY2hlci91cmxfYmFyLmMgYi9Ub29scy9FV2ViTGF1bmNoZXIvdXJs
X2Jhci5jCmluZGV4IGY1Njc1ODguLjQwOGI1YWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0VXZWJMYXVu
Y2hlci91cmxfYmFyLmMKKysrIGIvVG9vbHMvRVdlYkxhdW5jaGVyL3VybF9iYXIuYwpAQCAtNTAs
MTEgKzUwLDcgQEAgb25fdXJsYmFyX2tleV9kb3duKHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNf
T2JqZWN0ICpvYmosIHZvaWQgKmV2ZW50X2luZm8pCiAKICAgICBjaGFyICp1cmwgPSBfdXJsX2Jh
cl91cmxfZ2V0X3dpdGhfcHJvdG9jb2wodXJsQmFyKTsKICAgICBpZiAodXJsKSB7Ci0jaWZkZWYg
RUZMX1dLMgotICAgICAgICBld2tfdmlld191cmxfc2V0KHVybEJhci0+d2ViVmlldywgdXJsKTsK
LSNlbHNlCiAgICAgICAgIGV3a192aWV3X3VyaV9zZXQodXJsQmFyLT53ZWJWaWV3LCB1cmwpOwot
I2VuZGlmCiAgICAgICAgIGZyZWUodXJsKTsKICAgICB9CiAgICAgZXZhc19vYmplY3RfZm9jdXNf
c2V0KHVybEJhci0+d2ViVmlldywgRUlOQV9UUlVFKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlC
cm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxp
c3RzLnR4dAppbmRleCA0ZDQ3N2U1Li44MDM4ZDYyIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJv
d3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtl
TGlzdHMudHh0CkBAIC0xLDcgKzEsNiBAQAogU0VUKE1pbmlCcm93c2VyX0RJUiAiJHtUT09MU19E
SVJ9L01pbmlCcm93c2VyL2VmbCIpCiAKIFNFVChNaW5pQnJvd3Nlcl9TT1VSQ0VTCi0gICAgJHtU
T09MU19ESVJ9L0VXZWJMYXVuY2hlci91cmxfYmFyLmMKICAgICAke1RPT0xTX0RJUn0vRVdlYkxh
dW5jaGVyL3VybF91dGlscy5jCiAgICAgJHtNaW5pQnJvd3Nlcl9ESVJ9L21haW4uYwogKQpAQCAt
MTIsNyArMTEsMTIgQEAgU0VUKE1pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAk
e0VDT1JFX0VWQVNfSU5DTFVERV9ESVJTfQogICAgICR7RUNPUkVfRklMRV9JTkNMVURFX0RJUlN9
CiAgICAgJHtFREpFX0lOQ0xVREVfRElSU30KKyAgICAke0VFVF9JTkNMVURFX0RJUlN9CisgICAg
JHtEQlVTX0lOQ0xVREVfRElSU30KKyAgICAke0VfREJVU19JTkNMVURFX0RJUlN9CisgICAgJHtF
RlJFRVRfSU5DTFVERV9ESVJTfQogICAgICR7RUlOQV9JTkNMVURFX0RJUlN9CisgICAgJHtFTEVN
RU5UQVJZX0lOQ0xVREVfRElSU30KICAgICAke0VWQVNfSU5DTFVERV9ESVJTfQogICAgICR7VE9P
TFNfRElSfS9FV2ViTGF1bmNoZXIKICAgICAke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL2Vm
bApAQCAtMzAsNiArMzQsNyBAQCBTRVQoTWluaUJyb3dzZXJfTElCUkFSSUVTCiAgICAgJHtFQ09S
RV9GSUxFX0xJQlJBUklFU30KICAgICAke0VESkVfTElCUkFSSUVTfQogICAgICR7RUlOQV9MSUJS
QVJJRVN9CisgICAgJHtFTEVNRU5UQVJZX0xJQlJBUklFU30KICAgICAke0VWQVNfTElCUkFSSUVT
fQogICAgICR7Rk9OVENPTkZJR19MSUJSQVJJRVN9CiAgICAgJHtMSUJTT1VQX0xJQlJBUklFU30K
QEAgLTQ2LDcgKzUxLDcgQEAgSUYgKEVOQUJMRV9HTElCX1NVUFBPUlQpCiAgICAgKQogRU5ESUYg
KCkKIAotQUREX0RFRklOSVRJT05TKC1EVEhFTUVfRElSPVwiJHtUSEVNRV9CSU5BUllfRElSfVwi
IC1ERUZMX1dLMj0xKQorQUREX0RFRklOSVRJT05TKC1EVEhFTUVfRElSPVwiJHtUSEVNRV9CSU5B
UllfRElSfVwiKQogCiBJTkNMVURFX0RJUkVDVE9SSUVTKCR7TWluaUJyb3dzZXJfSU5DTFVERV9E
SVJFQ1RPUklFU30pCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMg
Yi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmluZGV4IDA1MzE0ODEuLmMxNzI4ZDEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKKysrIGIvVG9vbHMvTWluaUJy
b3dzZXIvZWZsL21haW4uYwpAQCAtMTgsMTUgKzE4LDE1IEBACiAgKi8KIAogI2luY2x1ZGUgIkVX
ZWJLaXQyLmgiCi0jaW5jbHVkZSAidXJsX2Jhci5oIgogI2luY2x1ZGUgInVybF91dGlscy5oIgog
I2luY2x1ZGUgPEVjb3JlLmg+CiAjaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgogI2luY2x1ZGUgPEVp
bmEuaD4KKyNpbmNsdWRlIDxFbGVtZW50YXJ5Lmg+CiAjaW5jbHVkZSA8RXZhcy5oPgogCi1zdGF0
aWMgY29uc3QgaW50IERFRkFVTFRfV0lEVEggPSA4MDA7Ci1zdGF0aWMgY29uc3QgaW50IERFRkFV
TFRfSEVJR0hUID0gNjAwOworc3RhdGljIGNvbnN0IGludCBERUZBVUxUX1dJRFRIID0gMTAyNDsK
K3N0YXRpYyBjb25zdCBpbnQgREVGQVVMVF9IRUlHSFQgPSA3Njg7CiBzdGF0aWMgY29uc3QgY2hh
ciBERUZBVUxUX1VSTFtdID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOwogc3RhdGljIGNvbnN0
IGNoYXIgQVBQX05BTUVbXSA9ICJFRkwgTWluaUJyb3dzZXIiOwogCkBAIC00MiwxMCArNDIsMTEg
QEAgc3RhdGljIGNoYXIgKmV2YXNfZW5naW5lX25hbWUgPSBOVUxMOwogc3RhdGljIEVpbmFfQm9v
bCBmcmFtZV9mbGF0dGVuaW5nX2VuYWJsZWQgPSBFSU5BX0ZBTFNFOwogCiB0eXBlZGVmIHN0cnVj
dCBfQnJvd3Nlcl9XaW5kb3cgewotICAgIEVjb3JlX0V2YXMgKmVlOwotICAgIEV2YXMgKmV2YXM7
CisgICAgRXZhc19PYmplY3QgKndpbmRvdzsKKyAgICBFdmFzX09iamVjdCAqYmc7CiAgICAgRXZh
c19PYmplY3QgKndlYnZpZXc7Ci0gICAgVXJsX0JhciAqdXJsX2JhcjsKKyAgICBFdmFzX09iamVj
dCAqdXJsX2JhcjsKKyAgICBFdmFzX09iamVjdCAqdmVydGljYWxfbGF5b3V0OwogfSBCcm93c2Vy
X1dpbmRvdzsKIAogc3RhdGljIGNvbnN0IEVjb3JlX0dldG9wdCBvcHRpb25zID0gewpAQCAtNzUs
MjYgKzc2LDI5IEBAIHN0YXRpYyBjb25zdCBFY29yZV9HZXRvcHQgb3B0aW9ucyA9IHsKIAogc3Rh
dGljIEJyb3dzZXJfV2luZG93ICp3aW5kb3dfY3JlYXRlKGNvbnN0IGNoYXIgKnVybCk7CiAKLXN0
YXRpYyBCcm93c2VyX1dpbmRvdyAqYnJvd3Nlcl93aW5kb3dfZmluZChFY29yZV9FdmFzICplZSkK
K3N0YXRpYyBCcm93c2VyX1dpbmRvdyAqYnJvd3Nlcl93aW5kb3dfZmluZChFdmFzX09iamVjdCAq
d2luZG93KQogewogICAgIEVpbmFfTGlzdCAqbDsKICAgICB2b2lkICpkYXRhOwogCi0gICAgaWYg
KCFlZSkKKyAgICBpZiAoIXdpbmRvdykKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBFSU5B
X0xJU1RfRk9SRUFDSCh3aW5kb3dzLCBsLCBkYXRhKSB7Ci0gICAgICAgIEJyb3dzZXJfV2luZG93
ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKilkYXRhOwotICAgICAgICBpZiAod2luZG93LT5l
ZSA9PSBlZSkKLSAgICAgICAgICAgIHJldHVybiB3aW5kb3c7CisgICAgICAgIEJyb3dzZXJfV2lu
ZG93ICpicm93c2VyX3dpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKWRhdGE7CisgICAgICAgIGlm
IChicm93c2VyX3dpbmRvdy0+d2luZG93ID09IHdpbmRvdykKKyAgICAgICAgICAgIHJldHVybiBi
cm93c2VyX3dpbmRvdzsKICAgICB9CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKIHN0YXRpYyB2b2lk
IHdpbmRvd19mcmVlKEJyb3dzZXJfV2luZG93ICp3aW5kb3cpCiB7Ci0gICAgdXJsX2Jhcl9kZWwo
d2luZG93LT51cmxfYmFyKTsKLSAgICBlY29yZV9ldmFzX2ZyZWUod2luZG93LT5lZSk7CisgICAg
ZXZhc19vYmplY3RfZGVsKHdpbmRvdy0+d2Vidmlldyk7CisgICAgZXZhc19vYmplY3RfZGVsKHdp
bmRvdy0+dXJsX2Jhcik7CisgICAgZXZhc19vYmplY3RfZGVsKHdpbmRvdy0+YmcpOworICAgIGV2
YXNfb2JqZWN0X2RlbCh3aW5kb3ctPndpbmRvdyk7CisgICAgZXZhc19vYmplY3RfZGVsKHdpbmRv
dy0+dmVydGljYWxfbGF5b3V0KTsKICAgICBmcmVlKHdpbmRvdyk7CiB9CiAKQEAgLTEwNCw0MSAr
MTA4LDcgQEAgc3RhdGljIHZvaWQgd2luZG93X2Nsb3NlKEJyb3dzZXJfV2luZG93ICp3aW5kb3cp
CiAgICAgd2luZG93X2ZyZWUod2luZG93KTsKIAogICAgIGlmICghd2luZG93cykKLSAgICAgICAg
ZWNvcmVfbWFpbl9sb29wX3F1aXQoKTsKLX0KLQotc3RhdGljIEVpbmFfQm9vbCBtYWluX3NpZ25h
bF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpldikKLXsKLSAgICBCcm93c2Vy
X1dpbmRvdyAqd2luZG93OwotICAgIEVJTkFfTElTVF9GUkVFKHdpbmRvd3MsIHdpbmRvdykKLSAg
ICAgICAgd2luZG93X2ZyZWUod2luZG93KTsKLQotICAgIGVjb3JlX21haW5fbG9vcF9xdWl0KCk7
Ci0gICAgcmV0dXJuIEVJTkFfVFJVRTsKLX0KLQotc3RhdGljIHZvaWQgb25fZWNvcmVfZXZhc19k
ZWxldGUoRWNvcmVfRXZhcyAqZWUpCi17Ci0gICAgd2luZG93X2Nsb3NlKGJyb3dzZXJfd2luZG93
X2ZpbmQoZWUpKTsKLX0KLQotc3RhdGljIHZvaWQgb25fZWNvcmVfZXZhc19yZXNpemUoRWNvcmVf
RXZhcyAqZWUpCi17Ci0gICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdzsKLSAgICBFdmFzX09iamVj
dCAqd2VidmlldzsKLSAgICBpbnQgdywgaDsKLQotICAgIHdpbmRvdyA9IGJyb3dzZXJfd2luZG93
X2ZpbmQoZWUpOwotICAgIGlmICghd2luZG93KQotICAgICAgICByZXR1cm47Ci0KLSAgICBlY29y
ZV9ldmFzX2dlb21ldHJ5X2dldChlZSwgTlVMTCwgTlVMTCwgJncsICZoKTsKLQotICAgIC8qIFJl
c2l6ZSBVUkwgYmFyICovCi0gICAgdXJsX2Jhcl93aWR0aF9zZXQod2luZG93LT51cmxfYmFyLCB3
KTsKLQotICAgIGV2YXNfb2JqZWN0X21vdmUod2luZG93LT53ZWJ2aWV3LCAwLCBVUkxfQkFSX0hF
SUdIVCk7Ci0gICAgZXZhc19vYmplY3RfcmVzaXplKHdpbmRvdy0+d2VidmlldywgdywgaCAtIFVS
TF9CQVJfSEVJR0hUKTsKKyAgICAgICAgZWxtX2V4aXQoKTsKIH0KIAogc3RhdGljIHZvaWQKQEAg
LTE5MCwxMiArMTYwLDEyIEBAIG9uX21vdXNlX2Rvd24odm9pZCAqZGF0YSwgRXZhcyAqZSwgRXZh
c19PYmplY3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiB9CiAKIHN0YXRpYyB2b2lkCi10
aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0IGNoYXIgKnRpdGxlLCBpbnQgcHJvZ3Jlc3Mp
Cit0aXRsZV9zZXQoRXZhc19PYmplY3QgKndpbmRvdywgY29uc3QgY2hhciAqdGl0bGUsIGludCBw
cm9ncmVzcykKIHsKLSAgICBFaW5hX1N0cmJ1ZiogYnVmZmVyOworICAgIEVpbmFfU3RyYnVmICpi
dWZmZXI7CiAKICAgICBpZiAoIXRpdGxlIHx8ICEqdGl0bGUpIHsKLSAgICAgICAgZWNvcmVfZXZh
c190aXRsZV9zZXQoZWUsIEFQUF9OQU1FKTsKKyAgICAgICAgZWxtX3dpbl90aXRsZV9zZXQod2lu
ZG93LCBBUFBfTkFNRSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIwNSw3ICsxNzUs
NyBAQCB0aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0IGNoYXIgKnRpdGxlLCBpbnQgcHJv
Z3Jlc3MpCiAgICAgZWxzZQogICAgICAgICBlaW5hX3N0cmJ1Zl9hcHBlbmRfcHJpbnRmKGJ1ZmZl
ciwgIiVzIC0gJXMiLCB0aXRsZSwgQVBQX05BTUUpOwogCi0gICAgZWNvcmVfZXZhc190aXRsZV9z
ZXQoZWUsIGVpbmFfc3RyYnVmX3N0cmluZ19nZXQoYnVmZmVyKSk7CisgICAgZWxtX3dpbl90aXRs
ZV9zZXQod2luZG93LCBlaW5hX3N0cmJ1Zl9zdHJpbmdfZ2V0KGJ1ZmZlcikpOwogICAgIGVpbmFf
c3RyYnVmX2ZyZWUoYnVmZmVyKTsKIH0KIApAQCAtMjE1LDE0ICsxODUsMTQgQEAgb25fdGl0bGVf
Y2hhbmdlZCh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3LCB2b2lkICpldmVu
dF9pbmZvKQogICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1
c2VyX2RhdGE7CiAgICAgY29uc3QgY2hhciAqdGl0bGUgPSAoY29uc3QgY2hhciAqKWV2ZW50X2lu
Zm87CiAKLSAgICB0aXRsZV9zZXQod2luZG93LT5lZSwgdGl0bGUsIDEwMCk7CisgICAgdGl0bGVf
c2V0KHdpbmRvdy0+d2luZG93LCB0aXRsZSwgMTAwKTsKIH0KIAogc3RhdGljIHZvaWQKIG9uX3Vy
bF9jaGFuZ2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKndlYnZpZXcsIHZvaWQgKmV2
ZW50X2luZm8pCiB7CiAgICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRv
dyAqKXVzZXJfZGF0YTsKLSAgICB1cmxfYmFyX3VybF9zZXQod2luZG93LT51cmxfYmFyLCBld2tf
dmlld191cmxfZ2V0KHdpbmRvdy0+d2VidmlldykpOworICAgIGVsbV9lbnRyeV9lbnRyeV9zZXQo
d2luZG93LT51cmxfYmFyLCBld2tfdmlld191cmxfZ2V0KHdpbmRvdy0+d2VidmlldykpOwogfQog
CiBzdGF0aWMgdm9pZApAQCAtMjM1LDcgKzIwNSw3IEBAIG9uX25ld193aW5kb3codm9pZCAqdXNl
cl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKIH0KIAogc3Rh
dGljIHZvaWQKLW9uX2Nsb3NlX3dpbmRvdyh2b2lkICp1c2VyX2RhdGEsIHZvaWQgKmV2ZW50X2lu
Zm8pCitvbl9jbG9zZV93aW5kb3codm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmll
dywgdm9pZCAqZXZlbnRfaW5mbykKIHsKICAgICB3aW5kb3dfY2xvc2UoKEJyb3dzZXJfV2luZG93
ICopdXNlcl9kYXRhKTsKIH0KQEAgLTI0Niw3ICsyMTYsNyBAQCBvbl9wcm9ncmVzcyh2b2lkICp1
c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3LCB2b2lkICpldmVudF9pbmZvKQogICAgIEJy
b3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7CiAgICAg
ZG91YmxlIHByb2dyZXNzID0gKihkb3VibGUgKilldmVudF9pbmZvOwogCi0gICAgdGl0bGVfc2V0
KHdpbmRvdy0+ZWUsIGV3a192aWV3X3RpdGxlX2dldCh3aW5kb3ctPndlYnZpZXcpLCBwcm9ncmVz
cyAqIDEwMCk7CisgICAgdGl0bGVfc2V0KHdpbmRvdy0+d2luZG93LCBld2tfdmlld190aXRsZV9n
ZXQod2luZG93LT53ZWJ2aWV3KSwgcHJvZ3Jlc3MgKiAxMDApOwogfQogCiBzdGF0aWMgdm9pZApA
QCAtMzAzLDYgKzI3Myw3IEBAIHN0YXRpYyBpbnQKIHF1aXQoRWluYV9Cb29sIHN1Y2Nlc3MsIGNv
bnN0IGNoYXIgKm1zZykKIHsKICAgICBld2tfc2h1dGRvd24oKTsKKyAgICBlbG1fc2h1dGRvd24o
KTsKIAogICAgIGlmIChtc2cpCiAgICAgICAgIGZwdXRzKG1zZywgKHN1Y2Nlc3MpID8gc3Rkb3V0
IDogc3RkZXJyKTsKQEAgLTMxMyw3MCArMjg0LDk3IEBAIHF1aXQoRWluYV9Cb29sIHN1Y2Nlc3Ms
IGNvbnN0IGNoYXIgKm1zZykKICAgICByZXR1cm4gRVhJVF9TVUNDRVNTOwogfQogCitzdGF0aWMg
dm9pZAorX29uX3VybF9iYXJfZW50ZXIodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqdXJs
X2Jhciwgdm9pZCAqZXZlbnRfaW5mbykKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqYXBwX2RhdGEg
PSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7CisKKyAgICBjb25zdCBjaGFyICp1c2VyX3Vy
bCA9IGVsbV9lbnRyeV9lbnRyeV9nZXQodXJsX2Jhcik7CisgICAgY2hhciAqdXJsID0gdXJsX2Zy
b21fdXNlcl9pbnB1dCh1c2VyX3VybCk7CisgICAgZXdrX3ZpZXdfdXJsX3NldChhcHBfZGF0YS0+
d2VidmlldywgdXJsKTsKKyAgICBmcmVlKHVybCk7Cit9CisKK3N0YXRpYyB2b2lkCitfd2luX2Rl
bF9jYih2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICp3aW5kb3csIHZvaWQgKmV2ZW50X2lu
Zm8pCit7CisgICAgd2luZG93X2Nsb3NlKGJyb3dzZXJfd2luZG93X2ZpbmQod2luZG93KSk7Cit9
CisKIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2luZG93X2NyZWF0ZShjb25zdCBjaGFyICp1cmwp
CiB7Ci0gICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IG1hbGxvYyhzaXplb2YoQnJvd3Nlcl9X
aW5kb3cpKTsKLSAgICBpZiAoIXdpbmRvdykgeworICAgIEJyb3dzZXJfV2luZG93ICphcHBfZGF0
YSA9IG1hbGxvYyhzaXplb2YoQnJvd3Nlcl9XaW5kb3cpKTsKKyAgICBpZiAoIWFwcF9kYXRhKSB7
CiAgICAgICAgIGluZm8oIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRlIGJyb3dzZXIgd2luZG93Llxu
Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIHdpbmRvdy0+ZWUgPSBlY29y
ZV9ldmFzX25ldyhldmFzX2VuZ2luZV9uYW1lLCAwLCAwLCBERUZBVUxUX1dJRFRILCBERUZBVUxU
X0hFSUdIVCwgMCk7Ci0gICAgaWYgKCF3aW5kb3ctPmVlKSB7Ci0gICAgICAgIGluZm8oIkVSUk9S
OiBjb3VsZCBub3QgY29uc3RydWN0IGVjb3JlLWV2YXMuXG4iKTsKLSAgICAgICAgZnJlZSh3aW5k
b3cpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9CisgICAgYXBwX2RhdGEtPndpbmRvdyA9
IGVsbV93aW5fdXRpbF9zdGFuZGFyZF9hZGQoIm1pbmlicm93c2VyLXdpbmRvdyIsIEFQUF9OQU1F
KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndpbmRvdywg
ImRlbGV0ZSxyZXF1ZXN0IiwgX3dpbl9kZWxfY2IsICZhcHBfZGF0YSk7CiAKLSAgICBlY29yZV9l
dmFzX3RpdGxlX3NldCh3aW5kb3ctPmVlLCBBUFBfTkFNRSk7Ci0gICAgZWNvcmVfZXZhc19jYWxs
YmFja19yZXNpemVfc2V0KHdpbmRvdy0+ZWUsIG9uX2Vjb3JlX2V2YXNfcmVzaXplKTsKLSAgICBl
Y29yZV9ldmFzX2JvcmRlcmxlc3Nfc2V0KHdpbmRvdy0+ZWUsIDApOwotICAgIGVjb3JlX2V2YXNf
c2hvdyh3aW5kb3ctPmVlKTsKLSAgICBlY29yZV9ldmFzX2NhbGxiYWNrX2RlbGV0ZV9yZXF1ZXN0
X3NldCh3aW5kb3ctPmVlLCBvbl9lY29yZV9ldmFzX2RlbGV0ZSk7CisgICAgLyogQ3JlYXRlIGJh
Y2tncm91bmQgKi8KKyAgICBhcHBfZGF0YS0+YmcgPSBlbG1fYmdfYWRkKGFwcF9kYXRhLT53aW5k
b3cpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcF9kYXRhLT5iZywg
RVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisgICAgZWxtX3dpbl9yZXNpemVf
b2JqZWN0X2FkZChhcHBfZGF0YS0+d2luZG93LCBhcHBfZGF0YS0+YmcpOworICAgIGV2YXNfb2Jq
ZWN0X3Nob3coYXBwX2RhdGEtPmJnKTsKIAotICAgIHdpbmRvdy0+ZXZhcyA9IGVjb3JlX2V2YXNf
Z2V0KHdpbmRvdy0+ZWUpOwotICAgIGlmICghd2luZG93LT5ldmFzKSB7Ci0gICAgICAgIGluZm8o
IkVSUk9SOiBjb3VsZCBub3QgZ2V0IGV2YXMgZnJvbSBldmFzLWVjb3JlLlxuIik7Ci0gICAgICAg
IGZyZWUod2luZG93KTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICAgIC8qIENyZWF0
ZSB2ZXJ0aWNhbCBsYXlvdXQgKi8KKyAgICBhcHBfZGF0YS0+dmVydGljYWxfbGF5b3V0ID0gZWxt
X2JveF9hZGQoYXBwX2RhdGEtPndpbmRvdyk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dl
aWdodF9zZXQoYXBwX2RhdGEtPnZlcnRpY2FsX2xheW91dCwgRVZBU19ISU5UX0VYUEFORCwgRVZB
U19ISU5UX0VYUEFORCk7CisgICAgZWxtX3dpbl9yZXNpemVfb2JqZWN0X2FkZChhcHBfZGF0YS0+
d2luZG93LCBhcHBfZGF0YS0+dmVydGljYWxfbGF5b3V0KTsKKyAgICBldmFzX29iamVjdF9zaG93
KGFwcF9kYXRhLT52ZXJ0aWNhbF9sYXlvdXQpOwogCi0gICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8K
LSAgICB3aW5kb3ctPndlYnZpZXcgPSBld2tfdmlld19hZGQod2luZG93LT5ldmFzKTsKLSAgICBl
d2tfdmlld190aGVtZV9zZXQod2luZG93LT53ZWJ2aWV3LCBUSEVNRV9ESVIiL2RlZmF1bHQuZWRq
Iik7Ci0gICAgZXdrX3NldHRpbmdzX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3NldChld2tfdmll
d19zZXR0aW5nc19nZXQod2luZG93LT53ZWJ2aWV3KSwgZnJhbWVfZmxhdHRlbmluZ19lbmFibGVk
KTsKKyAgICAvKiBDcmVhdGUgVVJMIGJhciAqLworICAgIGFwcF9kYXRhLT51cmxfYmFyID0gZWxt
X2VudHJ5X2FkZChhcHBfZGF0YS0+d2luZG93KTsKKyAgICBlbG1fZW50cnlfc2luZ2xlX2xpbmVf
c2V0KGFwcF9kYXRhLT51cmxfYmFyLCBFSU5BX1RSVUUpOworICAgIGVsbV9lbnRyeV90ZXh0X3N0
eWxlX3VzZXJfcHVzaChhcHBfZGF0YS0+dXJsX2JhciwgIkRFRkFVTFQ9J2ZvbnRfc2l6ZT0xNici
KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPnVybF9iYXIs
ICJhY3RpdmF0ZWQiLCBfb25fdXJsX2Jhcl9lbnRlciwgYXBwX2RhdGEpOwogCi0gICAgRXdrX1Nl
dHRpbmdzICpzZXR0aW5ncyA9IGV3a192aWV3X3NldHRpbmdzX2dldCh3aW5kb3ctPndlYnZpZXcp
OwotICAgIGV3a19zZXR0aW5nc19maWxlX2FjY2Vzc19mcm9tX2ZpbGVfdXJsc19hbGxvd2VkX3Nl
dChzZXR0aW5ncywgRUlOQV9UUlVFKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0
X3NldChhcHBfZGF0YS0+dXJsX2JhciwgRVZBU19ISU5UX0VYUEFORCwgMC4wKTsKKyAgICBldmFz
X29iamVjdF9zaXplX2hpbnRfYWxpZ25fc2V0KGFwcF9kYXRhLT51cmxfYmFyLCBFVkFTX0hJTlRf
RklMTCwgMC4wKTsKKyAgICBlbG1fYm94X3BhY2tfZW5kKGFwcF9kYXRhLT52ZXJ0aWNhbF9sYXlv
dXQsIGFwcF9kYXRhLT51cmxfYmFyKTsKKyAgICBldmFzX29iamVjdF9zaG93KGFwcF9kYXRhLT51
cmxfYmFyKTsKIAotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndl
YnZpZXcsICJjbG9zZSx3aW5kb3ciLCBvbl9jbG9zZV93aW5kb3csIHdpbmRvdyk7Ci0gICAgZXZh
c19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgImNyZWF0ZSx3aW5k
b3ciLCBvbl9uZXdfd2luZG93LCB3aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxi
YWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJkb3dubG9hZCxmYWlsZWQiLCBvbl9kb3dubG9hZF9m
YWlsZWQsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRv
dy0+d2VidmlldywgImRvd25sb2FkLGZpbmlzaGVkIiwgb25fZG93bmxvYWRfZmluaXNoZWQsIHdp
bmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2Vidmll
dywgImRvd25sb2FkLHJlcXVlc3QiLCBvbl9kb3dubG9hZF9yZXF1ZXN0LCB3aW5kb3cpOwotICAg
IGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJsb2FkLGVy
cm9yIiwgb25fZXJyb3IsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tf
YWRkKHdpbmRvdy0+d2VidmlldywgImxvYWQscHJvZ3Jlc3MiLCBvbl9wcm9ncmVzcywgd2luZG93
KTsKLSAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3LCAi
dGl0bGUsY2hhbmdlZCIsIG9uX3RpdGxlX2NoYW5nZWQsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmpl
Y3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgInVybCxjaGFuZ2VkIiwgb25f
dXJsX2NoYW5nZWQsIHdpbmRvdyk7CisgICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8KKyAgICBFdmFz
ICpldmFzID0gZXZhc19vYmplY3RfZXZhc19nZXQoYXBwX2RhdGEtPndpbmRvdyk7CisgICAgYXBw
X2RhdGEtPndlYnZpZXcgPSBld2tfdmlld19hZGQoZXZhcyk7CisgICAgZXdrX3ZpZXdfdGhlbWVf
c2V0KGFwcF9kYXRhLT53ZWJ2aWV3LCBUSEVNRV9ESVIiL2RlZmF1bHQuZWRqIik7CiAKLSAgICBl
dmFzX29iamVjdF9ldmVudF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3LCBFVkFTX0NBTExC
QUNLX0tFWV9ET1dOLCBvbl9rZXlfZG93biwgd2luZG93KTsKLSAgICBldmFzX29iamVjdF9ldmVu
dF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX0RPV04s
IG9uX21vdXNlX2Rvd24sIHdpbmRvdyk7CisgICAgRXdrX1NldHRpbmdzICpzZXR0aW5ncyA9IGV3
a192aWV3X3NldHRpbmdzX2dldChhcHBfZGF0YS0+d2Vidmlldyk7CisgICAgZXdrX3NldHRpbmdz
X2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93ZWRfc2V0KHNldHRpbmdzLCBFSU5BX1RS
VUUpOworICAgIGV3a19zZXR0aW5nc19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19zZXQoc2V0dGlu
Z3MsIGZyYW1lX2ZsYXR0ZW5pbmdfZW5hYmxlZCk7CisKKyAgICBldmFzX29iamVjdF9zbWFydF9j
YWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJjbG9zZSx3aW5kb3ciLCBvbl9jbG9zZV93
aW5kb3csIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBw
X2RhdGEtPndlYnZpZXcsICJjcmVhdGUsd2luZG93Iiwgb25fbmV3X3dpbmRvdywgYXBwX2RhdGEp
OworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2Vidmlldywg
ImRvd25sb2FkLGZhaWxlZCIsIG9uX2Rvd25sb2FkX2ZhaWxlZCwgYXBwX2RhdGEpOworICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImRvd25sb2Fk
LGZpbmlzaGVkIiwgb25fZG93bmxvYWRfZmluaXNoZWQsIGFwcF9kYXRhKTsKKyAgICBldmFzX29i
amVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJkb3dubG9hZCxyZXF1
ZXN0Iiwgb25fZG93bmxvYWRfcmVxdWVzdCwgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImxvYWQsZXJyb3IiLCBvbl9lcnJv
ciwgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0
YS0+d2VidmlldywgImxvYWQscHJvZ3Jlc3MiLCBvbl9wcm9ncmVzcywgYXBwX2RhdGEpOworICAg
IGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgInRpdGxl
LGNoYW5nZWQiLCBvbl90aXRsZV9jaGFuZ2VkLCBhcHBfZGF0YSk7CisgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAidXJsLGNoYW5nZWQiLCBvbl91
cmxfY2hhbmdlZCwgYXBwX2RhdGEpOworCisgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tf
YWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX0tFWV9ET1dOLCBvbl9rZXlfZG93
biwgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNrX2FkZChhcHBfZGF0
YS0+d2VidmlldywgRVZBU19DQUxMQkFDS19NT1VTRV9ET1dOLCBvbl9tb3VzZV9kb3duLCBhcHBf
ZGF0YSk7CisKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHBfZGF0YS0+
d2VidmlldywgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisgICAgZXZhc19v
YmplY3Rfc2l6ZV9oaW50X2FsaWduX3NldChhcHBfZGF0YS0+d2VidmlldywgRVZBU19ISU5UX0ZJ
TEwsIEVWQVNfSElOVF9GSUxMKTsKKyAgICBlbG1fYm94X3BhY2tfZW5kKGFwcF9kYXRhLT52ZXJ0
aWNhbF9sYXlvdXQsIGFwcF9kYXRhLT53ZWJ2aWV3KTsKKyAgICBldmFzX29iamVjdF9zaG93KGFw
cF9kYXRhLT53ZWJ2aWV3KTsKIAotICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0
KHdpbmRvdy0+d2VidmlldywgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7Ci0g
ICAgZXZhc19vYmplY3RfbW92ZSh3aW5kb3ctPndlYnZpZXcsIDAsIFVSTF9CQVJfSEVJR0hUKTsK
LSAgICBldmFzX29iamVjdF9yZXNpemUod2luZG93LT53ZWJ2aWV3LCBERUZBVUxUX1dJRFRILCBE
RUZBVUxUX0hFSUdIVCAtIFVSTF9CQVJfSEVJR0hUKTsKLSAgICBldmFzX29iamVjdF9zaG93KHdp
bmRvdy0+d2Vidmlldyk7Ci0gICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KHdpbmRvdy0+d2Vidmll
dywgRUlOQV9UUlVFKTsKKyAgICBpZiAodXJsKQorICAgICAgICBld2tfdmlld191cmxfc2V0KGFw
cF9kYXRhLT53ZWJ2aWV3LCB1cmwpOwogCi0gICAgd2luZG93LT51cmxfYmFyID0gdXJsX2Jhcl9h
ZGQod2luZG93LT53ZWJ2aWV3LCBERUZBVUxUX1dJRFRIKTsKKyAgICBldmFzX29iamVjdF9yZXNp
emUoYXBwX2RhdGEtPndpbmRvdywgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQpOworICAg
IGV2YXNfb2JqZWN0X3Nob3coYXBwX2RhdGEtPndpbmRvdyk7CiAKLSAgICBpZiAodXJsKQotICAg
ICAgICBld2tfdmlld191cmxfc2V0KHdpbmRvdy0+d2VidmlldywgdXJsKTsKKyAgICBldmFzX29i
amVjdF9mb2N1c19zZXQoYXBwX2RhdGEtPndlYnZpZXcsIEVJTkFfVFJVRSk7CiAKLSAgICByZXR1
cm4gd2luZG93OworICAgIHJldHVybiBhcHBfZGF0YTsKIH0KIAotaW50IG1haW4oaW50IGFyZ2Ms
IGNoYXIgKmFyZ3ZbXSkKK0VBUElfTUFJTiBpbnQKK2VsbV9tYWluKGludCBhcmdjLCBjaGFyICph
cmd2W10pCiB7CiAgICAgaW50IGFyZ3MgPSAxOwogICAgIHVuc2lnbmVkIGNoYXIgcXVpdE9wdGlv
biA9IDA7CkBAIC00MTYsMTEgKzQxNCw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2
W10pCiAKICAgICB3aW5kb3dzID0gZWluYV9saXN0X2FwcGVuZCh3aW5kb3dzLCB3aW5kb3cpOwog
Ci0gICAgRWNvcmVfRXZlbnRfSGFuZGxlciAqaGFuZGxlID0gZWNvcmVfZXZlbnRfaGFuZGxlcl9h
ZGQoRUNPUkVfRVZFTlRfU0lHTkFMX0VYSVQsIG1haW5fc2lnbmFsX2V4aXQsIDApOwotCi0gICAg
ZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7Ci0KLSAgICBlY29yZV9ldmVudF9oYW5kbGVyX2RlbCho
YW5kbGUpOworICAgIGVsbV9ydW4oKTsKIAogICAgIHJldHVybiBxdWl0KEVJTkFfVFJVRSwgTlVM
TCk7CiB9CitFTE1fTUFJTigpCmRpZmYgLS1naXQgYS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVz
IGIvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcwppbmRleCAzZTU1ZGJiLi4xZmQyODgwIDEwMDY0
NAotLS0gYS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCisrKyBiL1Rvb2xzL2VmbC9qaGJ1aWxk
Lm1vZHVsZXMKQEAgLTE3LDYgKzE3LDcgQEAKICAgICAgIDxkZXAgcGFja2FnZT0iZV9kYnVzIi8+
CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVlemUiLz4KICAgICAgIDxkZXAgcGFja2FnZT0iZWZyZWV0
Ii8+CisgICAgICA8ZGVwIHBhY2thZ2U9ImVsZW1lbnRhcnkiLz4KICAgICAgIDxkZXAgcGFja2Fn
ZT0ibGlieG1sMiIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgogICA8L21ldGFtb2R1bGU+CkBAIC00
MSw2ICs0Miw4IEBACiAgICAgICBocmVmPSJodHRwOi8vZ2l0LmVubGlnaHRlbm1lbnQuZnIvY2dp
dC5jZ2kvc3ZuLyIvPgogICA8cmVwb3NpdG9yeSB0eXBlPSJ0YXJiYWxsIiBuYW1lPSJ4bWxzb2Z0
Lm9yZyIKICAgICAgIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnIi8+IAorICA8cmVwb3NpdG9yeSB0
eXBlPSJ0YXJiYWxsIiBuYW1lPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgIGhy
ZWY9Imh0dHA6Ly9kb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIvPgogCiAgIDxhdXRvdG9vbHMg
aWQ9ImNhaXJvIiBhdXRvZ2VuLXNoPSJjb25maWd1cmUiPgogICAgIDxkZXBlbmRlbmNpZXM+CkBA
IC0xNTksMjAgKzE2MiwyMCBAQAogIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9ImVp
bmEiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlaW5hLmdpdC9zbmFwc2hvdC9laW5hLWY5MDkyNmRk
OWJmMTllYTk0NmQ3NTcyYjM2MzM1Y2MwYzVjZDNhYjUudGFyLmJ6MiIgdmVyc2lvbj0iNzMwMjci
Ci0gICAgICAgICAgICBjaGVja291dGRpcj0iZWluYS1mOTA5MjZkZDliZjE5ZWE5NDZkNzU3MmIz
NjMzNWNjMGM1Y2QzYWI1IgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVubWVudC5mciIKLSAg
ICAgICAgICAgIGhhc2g9InNoYTI1NjozODgyMTQ0MzRkYmUzNzI2YWEzODk0ZTZmOTgzOGFkZmM0
M2Q4YmQ2M2JiOTU5N2Y4NmE0ZWZiYzQ4YjQyY2FkIgotICAgICAgICAgICAgbWQ1c3VtPSJkYjc1
NmRiZGEyYjhiNzdlNWY4MDdjM2VjY2NkMzRlNCI+CisgICAgPGJyYW5jaCBtb2R1bGU9InJlbGVh
c2VzL2VpbmEtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAgIGNoZWNr
b3V0ZGlyPSJlaW5hLTEuNy4wIgorICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQuZW5saWdodGVu
bWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NmFhY2VkZWRiMDhhYTEwOTBhMWJl
ZWNiZjYyYWNmM2UyY2UwNjc2YWM4N2QyMWM3ODdjMDc5ODNmODAxMTY2ZiIKKyAgICAgICAgICAg
IG1kNXN1bT0iMzAzYjgxYmJmZmY2ODRlZWYwZTViZTcwYmE5NzcwMTIiPgogICAgIDwvYnJhbmNo
PgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJlbWJyeW8iPgotICAgIDxicmFu
Y2ggbW9kdWxlPSJlbWJyeW8uZ2l0L3NuYXBzaG90L2VtYnJ5by0xOTFlMWI1ZjAyMmY3NjlkNjJh
YmVjNjExMmY1MWU1ZmJlY2Q2ZGI5LnRhci5iejIiIHZlcnNpb249IjczMDI3IgotICAgICAgICAg
ICAgY2hlY2tvdXRkaXI9ImVtYnJ5by0xOTFlMWI1ZjAyMmY3NjlkNjJhYmVjNjExMmY1MWU1ZmJl
Y2Q2ZGI5IgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVubWVudC5mciIKLSAgICAgICAgICAg
IGhhc2g9InNoYTI1NjpkOGE1N2Y1MTk4NWVlMTZlZTZhN2ZkZTJkM2I5MzFlODNkYTVkMjZhMWE2
MmVmYzAxMmQ2NGU2ZDVmZTM3NDhiIgotICAgICAgICAgICAgbWQ1c3VtPSJhZGViZWI4YzcwNGU3
MDkxMmE5MjBlOGVmNGVjNDNjZCI+CisgICAgPGJyYW5jaCBtb2R1bGU9InJlbGVhc2VzL2VtYnJ5
by0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAgICAgICAgICAgY2hlY2tvdXRkaXI9
ImVtYnJ5by0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1lbnQu
b3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjI5MGI0NTJlNmNiODdmNjRiMTFiNTI5Yzdm
NjdjNDAxOTJmODdhNzNjYzRjNWJlOTNhOTVmMTdiNzZmNjUwNjMiCisgICAgICAgICAgICBtZDVz
dW09ImY0NmJiOGFiMTY5OWNkN2FjYjg0NjNlNTBhM2ZmYjRiIj4KICAgICA8L2JyYW5jaD4KICAg
ICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJlaW5hIi8+CkBAIC0xODAsMjAg
KzE4MywyMCBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJldmFzIj4KLSAg
ICA8YnJhbmNoIG1vZHVsZT0iZXZhcy5naXQvc25hcHNob3QvZXZhcy0xNjljZjFiYjk2MjAwMWYx
Y2YzZTU5ZWI5NTAzODBhOWRjMWZjZWQzLnRhci5iejIiIHZlcnNpb249IjczMDI3IgotICAgICAg
ICAgICAgY2hlY2tvdXRkaXI9ImV2YXMtMTY5Y2YxYmI5NjIwMDFmMWNmM2U1OWViOTUwMzgwYTlk
YzFmY2VkMyIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAg
ICBoYXNoPSJzaGEyNTY6MmI1OTM1MGUwZmUzM2E4ZmU0OWZjYmUwNDE5MmQwNWFiMzczNDU2ODRj
NGViOWIxMGZiMGUwYTM1NTQ1ZTdkYSIKLSAgICAgICAgICAgIG1kNXN1bT0iYmZiNTQ0MmU1MDU1
MWM2NGM3MDk0ODFhOWEzNWI0YTIiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9ldmFz
LTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0i
ZXZhcy0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1lbnQub3Jn
IgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjJkN2EzM2QwMmQyZGEzNzY0N2U0YzAxMjdmZWRl
YmUwMGVlZWExNDU2MGQ2YzFiNmNhOWIwY2NjZGFlMGRlODQiCisgICAgICAgICAgICBtZDVzdW09
IjMzNTk5MThmOGU2MGM3NzhiODYxY2YxY2RlMDJkM2E5Ij4KICAgICA8L2JyYW5jaD4KICAgPC9h
dXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZWNvcmUiPgotICAgIDxicmFuY2ggbW9kdWxl
PSJlY29yZS5naXQvc25hcHNob3QvZWNvcmUtOWM5NmY5YzE0MDMyMGU1MjAzMGQxYTIwNmQ4ZDMz
MGFhNDZhYmM0NC50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0
ZGlyPSJlY29yZS05Yzk2ZjljMTQwMzIwZTUyMDMwZDFhMjA2ZDhkMzMwYWE0NmFiYzQ0IgotICAg
ICAgICAgICAgcmVwbz0iZW5saWdodGVubWVudC5mciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1
Njo1NDZiOWMzODk1NTYwNzRhZDQ5ODJhMGUzODljY2IwZTU1Y2VkNTljZTcyNWVhMmI1YzA2NWM0
ZDYwMzEwMDY4IgotICAgICAgICAgICAgbWQ1c3VtPSJiMTU1NzFmMjcxYTk5NjBiNTYyZjk4Y2Iw
OTI2ODQwOCI+CisgICAgPGJyYW5jaCBtb2R1bGU9InJlbGVhc2VzL2Vjb3JlLTEuNy4wLnRhci5n
eiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0iZWNvcmUtMS43LjAi
CisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAg
ICAgIGhhc2g9InNoYTI1NjpmMDA5ZTE3Mzc2YjdmM2ZiNmNlNmI0NTY0OGQyYTAxMzFhMTUyOTQz
YjUwMmZhMzRjYzRiZDAxOGY2N2RhOGJiIgorICAgICAgICAgICAgbWQ1c3VtPSJjZjBiNWU5ODBh
NzdkYzBkMWJkZWRmMmJjYzYwZTg2MiI+CiAgICAgPC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2ll
cz4KICAgICAgIDxkZXAgcGFja2FnZT0iZWluYSIvPgpAQCAtMjAyLDExICsyMDUsMTEgQEAKICAg
PC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZWV0Ij4KLSAgICA8YnJhbmNoIG1vZHVs
ZT0iZWV0LmdpdC9zbmFwc2hvdC9lZXQtMTVmZDUyZTQ4MzFiOTQ2MzA4YTgwZGY5YTI1MzU3ZGMx
OGM5N2NhMi50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGly
PSJlZXQtMTVmZDUyZTQ4MzFiOTQ2MzA4YTgwZGY5YTI1MzU3ZGMxOGM5N2NhMiIKLSAgICAgICAg
ICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6NjJl
ZmYxMjQ4OTIzYmU3OTE4YmVmZjQ2ZTg1OThmZjJiMTM5YjAyMjRmMGExYjg0NTE0MmNmMWIwNzg0
MjJlNiIKLSAgICAgICAgICAgIG1kNXN1bT0iYmUwODYzNGM3MDcxMmJiNDRhNTUzNGVmNWIyYTdh
ZjMiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9lZXQtMS43LjAudGFyLmd6IiB2ZXJz
aW9uPSIxLjcuMCIKKyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlZXQtMS43LjAiCisgICAgICAg
ICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9
InNoYTI1Njo5YmNhNWJlY2FhYTVhYmY0YjdhYzBmODBkZTY4ZDNiOWE4ZjFhYmNlN2VjYTQxNzVl
MWFkODI5NTM3ODNkMjA5IgorICAgICAgICAgICAgbWQ1c3VtPSI0NmU5ODllYjRkZGRkOTQyYjQ1
NjQyOTllMTlkOWY2NCI+CiAgICAgPC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAg
IDxkZXAgcGFja2FnZT0ibGliZ2NyeXB0Ii8+CkBAIC0yMTUsMTEgKzIxOCwxMSBAQAogICA8L2F1
dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJlZGplIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0i
ZWRqZS5naXQvc25hcHNob3QvZWRqZS0xNDczOGVlZmFjNTRkMWE4Y2ZlYWQyYjVhZWQzYjdmMDVj
NWI0YmQ4LnRhci5iejIiIHZlcnNpb249IjczMDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9
ImVkamUtMTQ3MzhlZWZhYzU0ZDFhOGNmZWFkMmI1YWVkM2I3ZjA1YzViNGJkOCIKLSAgICAgICAg
ICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6OWUx
MDJmMGI0N2U5Y2RmYTczN2I1ZjgxYjExZDM1MmFlMDEyMDYyMDk3MjllNTgxNWMyOGQ4MjYxODZi
MjQ3ZSIKLSAgICAgICAgICAgIG1kNXN1bT0iNWYxOTk1OTAxYzg0OGJkYWVjNTZmZjFmOTEzZWYw
MmYiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9lZGplLTEuNy4wLnRhci5neiIgdmVy
c2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0iZWRqZS0xLjcuMCIKKyAgICAg
ICAgICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFz
aD0ic2hhMjU2OmQ2ZGY5YTdiZjExYzQ2MDVmNTVhMmU3YzIwOTIxMDA0NGY4ZGM0ZjMzMzIxMzVm
NjI1NjY3NmQyZjkzNzYyMWIiCisgICAgICAgICAgICBtZDVzdW09IjM3ZTE1YzVkNmU3YzI2NzY3
MjhiZGE3NTEwOWIyMjE4Ij4KICAgICA8L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAg
ICAgPGRlcCBwYWNrYWdlPSJlZXQiLz4KQEAgLTIzMCwxMSArMjMzLDExIEBACiAgIDwvYXV0b3Rv
b2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9ImVfZGJ1cyI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVf
ZGJ1cy5naXQvc25hcHNob3QvZV9kYnVzLTlkZTBhM2UwYzk1OWNkYmFiYTAyMmViODg4Yjk2NzBi
ZDc2NmQzOGYudGFyLmJ6MiIgdmVyc2lvbj0iNzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRp
cj0iZV9kYnVzLTlkZTBhM2UwYzk1OWNkYmFiYTAyMmViODg4Yjk2NzBiZDc2NmQzOGYiCi0gICAg
ICAgICAgICByZXBvPSJlbmxpZ2h0ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2
OmY5NjU1YzNiYTY5MTc0ZGJkNjViNTIyMGE0OTJiOTcwYWE5MjY0ZmYzMjgzY2JkOTYwYTg5YjY5
ZTUzNTkxYjYiCi0gICAgICAgICAgICBtZDVzdW09IjRjY2ExZjk5NGUxNzgyM2NhOWJlMTk4NWY1
YzRhZDA5Ij4KKyAgICA8YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMvZV9kYnVzLTEuNy4wLnRhci5n
eiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0iZV9kYnVzLTEuNy4w
IgorICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAg
ICAgICBoYXNoPSJzaGEyNTY6NmVlMzAzYmQwZTJmOTFhNmJlMDg0MzNkZjQ3NDM3NzQ5NGJhNjgx
NTQ0MWU1ZTZiNzlhNWQyODRlYWQyYTc2OCIKKyAgICAgICAgICAgIG1kNXN1bT0iM2Q1OWJmYjAw
NzYzYTYxOTc2YTk3NmJlOTI1ZTFjYmYiPgogICAgIDwvYnJhbmNoPgogICAgIDxkZXBlbmRlbmNp
ZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVjb3JlIi8+CkBAIC0yNDMsMTEgKzI0NiwxMSBAQAog
ICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJlZXplIj4KLSAgICA8YnJhbmNoIG1v
ZHVsZT0iZWV6ZS5naXQvc25hcHNob3QvZWV6ZS0wOWEzNzliYzJjYzZjMWM3YWFiMDQ3ODk5MWEx
MDRiMGM2YWYxODQ0LnRhci5iejIiIHZlcnNpb249IjczMDI3IgotICAgICAgICAgICAgY2hlY2tv
dXRkaXI9ImVlemUtMDlhMzc5YmMyY2M2YzFjN2FhYjA0Nzg5OTFhMTA0YjBjNmFmMTg0NCIKLSAg
ICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEy
NTY6MzEyZDYxNDI5YWY4NDVhNjMzM2MwYzk2OGVjN2IwOTAyOTgyMDgyZjE3MTQ1M2VlMTQzNDNh
OGVmZTc3M2NmYyIKLSAgICAgICAgICAgIG1kNXN1bT0iYzE2M2NhZWRjYmFiNTMyYjRkYzE2MDE0
YjE0YmI5YmMiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9lZXplLTEuNy4wLnRhci5n
eiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0iZWV6ZS0xLjcuMCIK
KyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAg
ICAgaGFzaD0ic2hhMjU2OjdkYjg3MDk0NDUxMTRkMWZlMWMzNjA5Y2Y3OWEwNmUxM2EzZDU4NGE1
YTNkZmQ1NTc2NDJkZGM2NWFjM2EyMDIiCisgICAgICAgICAgICBtZDVzdW09IjYwYThiYjYyZTNk
MmNjN2RmYWMxNGYxY2Q2MjM0M2UyIj4KICAgICA8L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVz
PgogICAgICAgPGRlcCBwYWNrYWdlPSJlY29yZSIvPgpAQCAtMjU2LDExICsyNTksMTEgQEAKICAg
PC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZWZyZWV0Ij4KLSAgICA8YnJhbmNoIG1v
ZHVsZT0iZWZyZWV0LmdpdC9zbmFwc2hvdC9lZnJlZXQtZTc3MTJjODMwZjNhM2NiNGMxOTc2OTVk
ZTRjOTgxMzg3YmU4ZjIxNC50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNo
ZWNrb3V0ZGlyPSJlZnJlZXQtZTc3MTJjODMwZjNhM2NiNGMxOTc2OTVkZTRjOTgxMzg3YmU4ZjIx
NCIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBoYXNo
PSJzaGEyNTY6NDgzOTE4N2MzY2MwOTllYjZiNjk4NmM2OTI0ZjRlNGY2ZGZmZDIyZWNjYmMzZjFi
ZGRkMWE2MzEyYmM4Yzg0YyIKLSAgICAgICAgICAgIG1kNXN1bT0iYmYyOGVlOWQ3YjUyMTFkNzJj
Mjc0MTJhN2YxY2RiODAiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9lZnJlZXQtMS43
LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlZnJl
ZXQtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIK
KyAgICAgICAgICAgIGhhc2g9InNoYTI1NjoxNmE0MWEwM2Q1NWZlYmYzMGYyZGQ3ODZiNTFiZTNl
MzcwZmM1NjNmMzMzNWRkMjY4MzJlMGVhYTg4NTE2Yzc5IgorICAgICAgICAgICAgbWQ1c3VtPSJm
MDM5MTk3ZTE0Mjg4ZWNlZjk0ZWVhYjA0MGNiYmRiNCI+CiAgICAgPC9icmFuY2g+CiAgICAgPGRl
cGVuZGVuY2llcz4KICAgICAgICAgPGRlYiBwYWNrYWdlPSJlY29yZSIvPgpAQCAtMjY5LDYgKzI3
MiwyMSBAQAogICAgIDwvZGVwZW5kZW5jaWVzPgogICA8L2F1dG90b29scz4KIAorICA8YXV0b3Rv
b2xzIGlkPSJlbGVtZW50YXJ5Ij4KKyAgICA8YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMvZWxlbWVu
dGFyeS0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAgICAgICAgICAgY2hlY2tvdXRk
aXI9ImVsZW1lbnRhcnktMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0
ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1Njo3ZTdkZWViNGUzYTliYmI5Yzdi
N2E4OWMyZWZiZTI2OWExYTZhNDRlZjM4MGJmOTFjMTA2NmQxMjgxNjNlMmQzIgorICAgICAgICAg
ICAgbWQ1c3VtPSI0NTI2M2M1ZDEwNzk4MWE0NGQyODczNGM4MmU5ZmFlMSI+CisgICAgPC9icmFu
Y2g+CisgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGRlYiBwYWNrYWdlPSJlZGplIi8+Cisg
ICAgICAgIDxkZWIgcGFja2FnZT0iZWluYSIvPgorICAgICAgICA8ZGViIHBhY2thZ2U9ImVldCIv
PgorICAgICAgICA8ZGViIHBhY2thZ2U9ImVjb3JlIi8+CisgICAgPC9kZXBlbmRlbmNpZXM+Cisg
IDwvYXV0b3Rvb2xzPgorCiAgIDxhdXRvdG9vbHMgaWQ9ImxpYnhtbDIiPgogICAgIDxicmFuY2gg
bW9kdWxlPSIvbGlieG1sMi9saWJ4bWwyLTIuOC4wLnRhci5neiIgdmVyc2lvbj0iMi44LjAiCiAg
ICAgICAgICAgICByZXBvPSJ4bWxzb2Z0Lm9yZyIK
</data>
<flag name="review"
          id="180500"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167749</attachid>
            <date>2012-10-09 06:49:26 -0700</date>
            <delta_ts>2012-10-09 09:42:45 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>98748_minibrowser_elementary.patch</filename>
            <type>text/plain</type>
            <size>30258</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlNzIzYWYzLi41NGI3MTc4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTItMTAtMDkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXVtXSzJdIFBvcnQgTWluaUJyb3dzZXIgdG8gRWxlbWVudGFyeQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg3NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAg
ICBCdW1wIEVGTCBsaWJyYWlyaWVzIGRlcGVuZGVuY2llcyB0byB2MS43LgorCisgICAgICAgICog
U291cmNlL2NtYWtlL0ZpbmRFZXQuY21ha2U6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS9jbWFr
ZS9GaW5kRWxlbWVudGFyeS5jbWFrZTogQWRkZWQuCisgICAgICAgICogU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2U6CisKIDIwMTItMTAtMDkgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2Vr
QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBidWlsZCBmaXggYWZ0ZXIgcjEz
MDY4OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9GaW5kRWV0LmNtYWtlIGIvU291cmNlL2Nt
YWtlL0ZpbmRFZXQuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJi
ZmM1ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kRWV0LmNtYWtlCkBAIC0w
LDAgKzEsNDEgQEAKKyMgLSBUcnkgdG8gZmluZCBFZXQKKyMgT25jZSBkb25lLCB0aGlzIHdpbGwg
ZGVmaW5lCisjCisjICBFRVRfRk9VTkQgLSBzeXN0ZW0gaGFzIEVldCBpbnN0YWxsZWQuCisjICBF
RVRfSU5DTFVERV9ESVJTIC0gZGlyZWN0b3JpZXMgd2hpY2ggY29udGFpbiB0aGUgRWV0IGhlYWRl
cnMuCisjICBFRVRfTElCUkFSSUVTIC0gbGlicmFyaWVzIHJlcXVpcmVkIHRvIGxpbmsgYWdhaW5z
dCBFZXQuCisjCisjIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0Ogor
IyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMKKyMgSVMnJyBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBJVFMKKyMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7CisjIE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAor
IyBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUgorIyBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisjIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitJTkNMVURFKEVGTEhlbHBlcnMpCisKK0ZJTkRfRUZM
X0xJQlJBUlkoRUVUCisgICAgSEVBREVSUyBFZXQuaAorICAgIEhFQURFUl9QUkVGSVhFUyBlZXQt
MQorICAgIExJQlJBUlkgZWV0CispCisKK0lOQ0xVREUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFy
ZEFyZ3MpCitGSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoRWV0IFJFUVVJUkVEX1ZB
UlMgRUVUX0lOQ0xVREVfRElSUyBFRVRfTElCUkFSSUVTCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFZFUlNJT05fVkFSICAgRUVUX1ZFUlNJT04pCmRpZmYgLS1naXQgYS9T
b3VyY2UvY21ha2UvRmluZEVsZW1lbnRhcnkuY21ha2UgYi9Tb3VyY2UvY21ha2UvRmluZEVsZW1l
bnRhcnkuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU1Y2E3OAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kRWxlbWVudGFyeS5jbWFrZQpAQCAt
MCwwICsxLDQxIEBACisjIC0gVHJ5IHRvIGZpbmQgRWxlbWVudGFyeQorIyBPbmNlIGRvbmUsIHRo
aXMgd2lsbCBkZWZpbmUKKyMKKyMgIEVMRU1FTlRBUllfRk9VTkQgLSBzeXN0ZW0gaGFzIEVsZW1l
bnRhcnkgaW5zdGFsbGVkLgorIyAgRUxFTUVOVEFSWV9JTkNMVURFX0RJUlMgLSBkaXJlY3Rvcmll
cyB3aGljaCBjb250YWluIHRoZSBFbGVtZW50YXJ5IGhlYWRlcnMuCisjICBFTEVNRU5UQVJZX0xJ
QlJBUklFUyAtIGxpYnJhcmllcyByZXF1aXJlZCB0byBsaW5rIGFnYWluc3QgRWxlbWVudGFyeS4K
KyMKKyMgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVIgQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUworIyBJUycnIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIElUUworIyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsKKyMgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCisjIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SCisjIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKyMgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisKK0lOQ0xVREUoRUZMSGVscGVycykKKworRklORF9FRkxfTElCUkFS
WShFTEVNRU5UQVJZCisgICAgSEVBREVSUyBFbGVtZW50YXJ5LmgKKyAgICBIRUFERVJfUFJFRklY
RVMgZWxlbWVudGFyeS0xCisgICAgTElCUkFSWSBlbGVtZW50YXJ5CispCisKK0lOQ0xVREUoRmlu
ZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCitGSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJE
X0FSR1MoRWxlbWVudGFyeSBSRVFVSVJFRF9WQVJTIEVMRU1FTlRBUllfSU5DTFVERV9ESVJTIEVM
RU1FTlRBUllfTElCUkFSSUVTCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBWRVJTSU9OX1ZBUiAgIEVMTV9WRVJTSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2Nt
YWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRl
eCBiN2ZiOTNlLi4yZTU1OTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5j
bWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtMTA1LDEzICsxMDUs
MTUgQEAgSUYgKEVOQUJMRV9FQ09SRV9YKQogICAgIEFERF9ERUZJTklUSU9OUygtREhBVkVfRUNP
UkVfWCkKIEVORElGICgpCiAKLUZJTkRfUEFDS0FHRShFaW5hIDEuMiBSRVFVSVJFRCkKLUZJTkRf
UEFDS0FHRShFdmFzIDEuMiBSRVFVSVJFRCkKLUZJTkRfUEFDS0FHRShFY29yZSAxLjIgQ09NUE9O
RU5UUyBFdmFzIEZpbGUgSW5wdXQgJHtFQ09SRV9BRERJVElPTkFMX0NPTVBPTkVOVFN9KQotRklO
RF9QQUNLQUdFKEVkamUgMS4yIFJFUVVJUkVEKQotRklORF9QQUNLQUdFKEVlemUgMS4yIFJFUVVJ
UkVEKQotRklORF9QQUNLQUdFKEVmcmVldCAxLjIgUkVRVUlSRUQpCi1GSU5EX1BBQ0tBR0UoRV9E
QnVzIDEuMiBDT01QT05FTlRTIEVVS2l0KQorRklORF9QQUNLQUdFKEVpbmEgMS43IFJFUVVJUkVE
KQorRklORF9QQUNLQUdFKEV2YXMgMS43IFJFUVVJUkVEKQorRklORF9QQUNLQUdFKEVjb3JlIDEu
NyBDT01QT05FTlRTIEV2YXMgRmlsZSBJbnB1dCAke0VDT1JFX0FERElUSU9OQUxfQ09NUE9ORU5U
U30pCitGSU5EX1BBQ0tBR0UoRWRqZSAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRWV0IDEu
NyBSRVFVSVJFRCkKK0ZJTkRfUEFDS0FHRShFZXplIDEuNyBSRVFVSVJFRCkKK0ZJTkRfUEFDS0FH
RShFZnJlZXQgMS43IFJFUVVJUkVEKQorRklORF9QQUNLQUdFKEVsZW1lbnRhcnkgMS43IFJFUVVJ
UkVEKQorRklORF9QQUNLQUdFKEVfREJ1cyAxLjcgQ09NUE9ORU5UUyBFVUtpdCkKIAogRklORF9Q
QUNLQUdFKEZyZWV0eXBlIDIuNC4yIFJFUVVJUkVEKQogRklORF9QQUNLQUdFKEhhcmZCdXp6IDAu
OS4yIFJFUVVJUkVEKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDhkNjVjMmMuLjc1YzUxYTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMi0xMC0wOSAgQ2hyaXN0
b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxd
W1dLMl0gUG9ydCBNaW5pQnJvd3NlciB0byBFbGVtZW50YXJ5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODc0OAorCisgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIFBvcnQgTWluaUJyb3dzZXIg
dG8gRWxlbWVudGFyeSB0byBzaW1wbGlmeSB0aGUKKyAgICAgICAgY29kZSBhbmQgbWFrZSBmdXR1
cmUgaW1wcm92ZW1lbnRzIGVhc2llci4gVGhlCisgICAgICAgIFVSTCBiYXIgaXMgbm93IGFuIEVs
ZW1lbnRhcnkgRW50cnkgd2lkZ2V0IGFuZAorICAgICAgICBzdXBwb3J0cyBhZGRpdGlvbmFsIGZ1
bmN0aW9uYWxpdHkgbGlrZSBjb3B5IC8KKyAgICAgICAgcGFzdGUuCisKKyAgICAgICAgKiBFV2Vi
TGF1bmNoZXIvdXJsX2Jhci5jOgorICAgICAgICAob25fdXJsYmFyX2tleV9kb3duKTogUmVtb3Zl
IFdLMi1zcGVjaWZpYyBjb2RlCisgICAgICAgIG5vdyB0aGF0IHRoaXMgZmlsZSBpcyBubyBsb25n
ZXIgdXNlZCBieSBNaW5pQnJvd3Nlci4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL21haW4uYzoKKyAgICAgICAgKF9C
cm93c2VyX1dpbmRvdyk6CisgICAgICAgICh3aW5kb3dfZnJlZSk6CisgICAgICAgICh3aW5kb3df
Y2xvc2UpOgorICAgICAgICAodGl0bGVfc2V0KToKKyAgICAgICAgKG9uX3RpdGxlX2NoYW5nZWQp
OgorICAgICAgICAob25fdXJsX2NoYW5nZWQpOgorICAgICAgICAob25fY2xvc2Vfd2luZG93KToK
KyAgICAgICAgKG9uX3Byb2dyZXNzKToKKyAgICAgICAgKHF1aXQpOgorICAgICAgICAoX29uX3Vy
bF9iYXJfZW50ZXIpOgorICAgICAgICAoX3dpbl9kZWxfY2IpOgorICAgICAgICAod2luZG93X2Ny
ZWF0ZSk6CisgICAgICAgIChlbG1fbWFpbik6CisgICAgICAgICogZWZsL2poYnVpbGQubW9kdWxl
czogQWRkIEVsZW1lbnRhcnkgdG8gamhidWlsZCBhbmQgYnVtcAorICAgICAgICBFRkwgZGVwZW5k
ZW5jaWVzIHRvIDEuNy4KKwogMjAxMi0xMC0wOSAgTGFzemxvIEdvbWJvcyAgPGwuZ29tYm9zQHNh
bXN1bmcuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIHJlZHVuZGFudCBKQVZBU0NSSVBUQ09S
RV9KSVQgdmFyaWFibGUKZGlmZiAtLWdpdCBhL1Rvb2xzL0VXZWJMYXVuY2hlci91cmxfYmFyLmMg
Yi9Ub29scy9FV2ViTGF1bmNoZXIvdXJsX2Jhci5jCmluZGV4IGY1Njc1ODguLjQwOGI1YWMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0VXZWJMYXVuY2hlci91cmxfYmFyLmMKKysrIGIvVG9vbHMvRVdlYkxh
dW5jaGVyL3VybF9iYXIuYwpAQCAtNTAsMTEgKzUwLDcgQEAgb25fdXJsYmFyX2tleV9kb3duKHZv
aWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZvaWQgKmV2ZW50X2luZm8pCiAK
ICAgICBjaGFyICp1cmwgPSBfdXJsX2Jhcl91cmxfZ2V0X3dpdGhfcHJvdG9jb2wodXJsQmFyKTsK
ICAgICBpZiAodXJsKSB7Ci0jaWZkZWYgRUZMX1dLMgotICAgICAgICBld2tfdmlld191cmxfc2V0
KHVybEJhci0+d2ViVmlldywgdXJsKTsKLSNlbHNlCiAgICAgICAgIGV3a192aWV3X3VyaV9zZXQo
dXJsQmFyLT53ZWJWaWV3LCB1cmwpOwotI2VuZGlmCiAgICAgICAgIGZyZWUodXJsKTsKICAgICB9
CiAgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KHVybEJhci0+d2ViVmlldywgRUlOQV9UUlVFKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xz
L01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dAppbmRleCA0ZDQ3N2U1Li44MDM4ZDYyIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9v
bHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC0xLDcgKzEsNiBAQAogU0VUKE1p
bmlCcm93c2VyX0RJUiAiJHtUT09MU19ESVJ9L01pbmlCcm93c2VyL2VmbCIpCiAKIFNFVChNaW5p
QnJvd3Nlcl9TT1VSQ0VTCi0gICAgJHtUT09MU19ESVJ9L0VXZWJMYXVuY2hlci91cmxfYmFyLmMK
ICAgICAke1RPT0xTX0RJUn0vRVdlYkxhdW5jaGVyL3VybF91dGlscy5jCiAgICAgJHtNaW5pQnJv
d3Nlcl9ESVJ9L21haW4uYwogKQpAQCAtMTIsNyArMTEsMTIgQEAgU0VUKE1pbmlCcm93c2VyX0lO
Q0xVREVfRElSRUNUT1JJRVMKICAgICAke0VDT1JFX0VWQVNfSU5DTFVERV9ESVJTfQogICAgICR7
RUNPUkVfRklMRV9JTkNMVURFX0RJUlN9CiAgICAgJHtFREpFX0lOQ0xVREVfRElSU30KKyAgICAk
e0VFVF9JTkNMVURFX0RJUlN9CisgICAgJHtEQlVTX0lOQ0xVREVfRElSU30KKyAgICAke0VfREJV
U19JTkNMVURFX0RJUlN9CisgICAgJHtFRlJFRVRfSU5DTFVERV9ESVJTfQogICAgICR7RUlOQV9J
TkNMVURFX0RJUlN9CisgICAgJHtFTEVNRU5UQVJZX0lOQ0xVREVfRElSU30KICAgICAke0VWQVNf
SU5DTFVERV9ESVJTfQogICAgICR7VE9PTFNfRElSfS9FV2ViTGF1bmNoZXIKICAgICAke1dFQktJ
VDJfRElSfS9VSVByb2Nlc3MvQVBJL2VmbApAQCAtMzAsNiArMzQsNyBAQCBTRVQoTWluaUJyb3dz
ZXJfTElCUkFSSUVTCiAgICAgJHtFQ09SRV9GSUxFX0xJQlJBUklFU30KICAgICAke0VESkVfTElC
UkFSSUVTfQogICAgICR7RUlOQV9MSUJSQVJJRVN9CisgICAgJHtFTEVNRU5UQVJZX0xJQlJBUklF
U30KICAgICAke0VWQVNfTElCUkFSSUVTfQogICAgICR7Rk9OVENPTkZJR19MSUJSQVJJRVN9CiAg
ICAgJHtMSUJTT1VQX0xJQlJBUklFU30KQEAgLTQ2LDcgKzUxLDcgQEAgSUYgKEVOQUJMRV9HTElC
X1NVUFBPUlQpCiAgICAgKQogRU5ESUYgKCkKIAotQUREX0RFRklOSVRJT05TKC1EVEhFTUVfRElS
PVwiJHtUSEVNRV9CSU5BUllfRElSfVwiIC1ERUZMX1dLMj0xKQorQUREX0RFRklOSVRJT05TKC1E
VEhFTUVfRElSPVwiJHtUSEVNRV9CSU5BUllfRElSfVwiKQogCiBJTkNMVURFX0RJUkVDVE9SSUVT
KCR7TWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFU30pCiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L01pbmlCcm93c2VyL2VmbC9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCmlu
ZGV4IDA1MzE0ODEuLjY2NThjYzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9t
YWluLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMTgsMTEgKzE4LDEx
IEBACiAgKi8KIAogI2luY2x1ZGUgIkVXZWJLaXQyLmgiCi0jaW5jbHVkZSAidXJsX2Jhci5oIgog
I2luY2x1ZGUgInVybF91dGlscy5oIgogI2luY2x1ZGUgPEVjb3JlLmg+CiAjaW5jbHVkZSA8RWNv
cmVfRXZhcy5oPgogI2luY2x1ZGUgPEVpbmEuaD4KKyNpbmNsdWRlIDxFbGVtZW50YXJ5Lmg+CiAj
aW5jbHVkZSA8RXZhcy5oPgogCiBzdGF0aWMgY29uc3QgaW50IERFRkFVTFRfV0lEVEggPSA4MDA7
CkBAIC00MiwxMCArNDIsMTEgQEAgc3RhdGljIGNoYXIgKmV2YXNfZW5naW5lX25hbWUgPSBOVUxM
Owogc3RhdGljIEVpbmFfQm9vbCBmcmFtZV9mbGF0dGVuaW5nX2VuYWJsZWQgPSBFSU5BX0ZBTFNF
OwogCiB0eXBlZGVmIHN0cnVjdCBfQnJvd3Nlcl9XaW5kb3cgewotICAgIEVjb3JlX0V2YXMgKmVl
OwotICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmplY3QgKndpbmRvdzsKKyAgICBFdmFzX09i
amVjdCAqYmc7CiAgICAgRXZhc19PYmplY3QgKndlYnZpZXc7Ci0gICAgVXJsX0JhciAqdXJsX2Jh
cjsKKyAgICBFdmFzX09iamVjdCAqdXJsX2JhcjsKKyAgICBFdmFzX09iamVjdCAqdmVydGljYWxf
bGF5b3V0OwogfSBCcm93c2VyX1dpbmRvdzsKIAogc3RhdGljIGNvbnN0IEVjb3JlX0dldG9wdCBv
cHRpb25zID0gewpAQCAtNzUsMjYgKzc2LDI5IEBAIHN0YXRpYyBjb25zdCBFY29yZV9HZXRvcHQg
b3B0aW9ucyA9IHsKIAogc3RhdGljIEJyb3dzZXJfV2luZG93ICp3aW5kb3dfY3JlYXRlKGNvbnN0
IGNoYXIgKnVybCk7CiAKLXN0YXRpYyBCcm93c2VyX1dpbmRvdyAqYnJvd3Nlcl93aW5kb3dfZmlu
ZChFY29yZV9FdmFzICplZSkKK3N0YXRpYyBCcm93c2VyX1dpbmRvdyAqYnJvd3Nlcl93aW5kb3df
ZmluZChFdmFzX09iamVjdCAqd2luZG93KQogewogICAgIEVpbmFfTGlzdCAqbDsKICAgICB2b2lk
ICpkYXRhOwogCi0gICAgaWYgKCFlZSkKKyAgICBpZiAoIXdpbmRvdykKICAgICAgICAgcmV0dXJu
IE5VTEw7CiAKICAgICBFSU5BX0xJU1RfRk9SRUFDSCh3aW5kb3dzLCBsLCBkYXRhKSB7Ci0gICAg
ICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKilkYXRhOwotICAg
ICAgICBpZiAod2luZG93LT5lZSA9PSBlZSkKLSAgICAgICAgICAgIHJldHVybiB3aW5kb3c7Cisg
ICAgICAgIEJyb3dzZXJfV2luZG93ICpicm93c2VyX3dpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAq
KWRhdGE7CisgICAgICAgIGlmIChicm93c2VyX3dpbmRvdy0+d2luZG93ID09IHdpbmRvdykKKyAg
ICAgICAgICAgIHJldHVybiBicm93c2VyX3dpbmRvdzsKICAgICB9CiAgICAgcmV0dXJuIE5VTEw7
CiB9CiAKIHN0YXRpYyB2b2lkIHdpbmRvd19mcmVlKEJyb3dzZXJfV2luZG93ICp3aW5kb3cpCiB7
Ci0gICAgdXJsX2Jhcl9kZWwod2luZG93LT51cmxfYmFyKTsKLSAgICBlY29yZV9ldmFzX2ZyZWUo
d2luZG93LT5lZSk7CisgICAgZXZhc19vYmplY3RfZGVsKHdpbmRvdy0+d2Vidmlldyk7CisgICAg
ZXZhc19vYmplY3RfZGVsKHdpbmRvdy0+dXJsX2Jhcik7CisgICAgZXZhc19vYmplY3RfZGVsKHdp
bmRvdy0+YmcpOworICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ctPndpbmRvdyk7CisgICAgZXZh
c19vYmplY3RfZGVsKHdpbmRvdy0+dmVydGljYWxfbGF5b3V0KTsKICAgICBmcmVlKHdpbmRvdyk7
CiB9CiAKQEAgLTEwNCw0MSArMTA4LDcgQEAgc3RhdGljIHZvaWQgd2luZG93X2Nsb3NlKEJyb3dz
ZXJfV2luZG93ICp3aW5kb3cpCiAgICAgd2luZG93X2ZyZWUod2luZG93KTsKIAogICAgIGlmICgh
d2luZG93cykKLSAgICAgICAgZWNvcmVfbWFpbl9sb29wX3F1aXQoKTsKLX0KLQotc3RhdGljIEVp
bmFfQm9vbCBtYWluX3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpl
dikKLXsKLSAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93OwotICAgIEVJTkFfTElTVF9GUkVFKHdp
bmRvd3MsIHdpbmRvdykKLSAgICAgICAgd2luZG93X2ZyZWUod2luZG93KTsKLQotICAgIGVjb3Jl
X21haW5fbG9vcF9xdWl0KCk7Ci0gICAgcmV0dXJuIEVJTkFfVFJVRTsKLX0KLQotc3RhdGljIHZv
aWQgb25fZWNvcmVfZXZhc19kZWxldGUoRWNvcmVfRXZhcyAqZWUpCi17Ci0gICAgd2luZG93X2Ns
b3NlKGJyb3dzZXJfd2luZG93X2ZpbmQoZWUpKTsKLX0KLQotc3RhdGljIHZvaWQgb25fZWNvcmVf
ZXZhc19yZXNpemUoRWNvcmVfRXZhcyAqZWUpCi17Ci0gICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRv
dzsKLSAgICBFdmFzX09iamVjdCAqd2VidmlldzsKLSAgICBpbnQgdywgaDsKLQotICAgIHdpbmRv
dyA9IGJyb3dzZXJfd2luZG93X2ZpbmQoZWUpOwotICAgIGlmICghd2luZG93KQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBlY29yZV9ldmFzX2dlb21ldHJ5X2dldChlZSwgTlVMTCwgTlVMTCwgJncs
ICZoKTsKLQotICAgIC8qIFJlc2l6ZSBVUkwgYmFyICovCi0gICAgdXJsX2Jhcl93aWR0aF9zZXQo
d2luZG93LT51cmxfYmFyLCB3KTsKLQotICAgIGV2YXNfb2JqZWN0X21vdmUod2luZG93LT53ZWJ2
aWV3LCAwLCBVUkxfQkFSX0hFSUdIVCk7Ci0gICAgZXZhc19vYmplY3RfcmVzaXplKHdpbmRvdy0+
d2VidmlldywgdywgaCAtIFVSTF9CQVJfSEVJR0hUKTsKKyAgICAgICAgZWxtX2V4aXQoKTsKIH0K
IAogc3RhdGljIHZvaWQKQEAgLTE5MCwxMiArMTYwLDEyIEBAIG9uX21vdXNlX2Rvd24odm9pZCAq
ZGF0YSwgRXZhcyAqZSwgRXZhc19PYmplY3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiB9
CiAKIHN0YXRpYyB2b2lkCi10aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0IGNoYXIgKnRp
dGxlLCBpbnQgcHJvZ3Jlc3MpCit0aXRsZV9zZXQoRXZhc19PYmplY3QgKndpbmRvdywgY29uc3Qg
Y2hhciAqdGl0bGUsIGludCBwcm9ncmVzcykKIHsKLSAgICBFaW5hX1N0cmJ1ZiogYnVmZmVyOwor
ICAgIEVpbmFfU3RyYnVmICpidWZmZXI7CiAKICAgICBpZiAoIXRpdGxlIHx8ICEqdGl0bGUpIHsK
LSAgICAgICAgZWNvcmVfZXZhc190aXRsZV9zZXQoZWUsIEFQUF9OQU1FKTsKKyAgICAgICAgZWxt
X3dpbl90aXRsZV9zZXQod2luZG93LCBBUFBfTkFNRSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTIwNSw3ICsxNzUsNyBAQCB0aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0IGNo
YXIgKnRpdGxlLCBpbnQgcHJvZ3Jlc3MpCiAgICAgZWxzZQogICAgICAgICBlaW5hX3N0cmJ1Zl9h
cHBlbmRfcHJpbnRmKGJ1ZmZlciwgIiVzIC0gJXMiLCB0aXRsZSwgQVBQX05BTUUpOwogCi0gICAg
ZWNvcmVfZXZhc190aXRsZV9zZXQoZWUsIGVpbmFfc3RyYnVmX3N0cmluZ19nZXQoYnVmZmVyKSk7
CisgICAgZWxtX3dpbl90aXRsZV9zZXQod2luZG93LCBlaW5hX3N0cmJ1Zl9zdHJpbmdfZ2V0KGJ1
ZmZlcikpOwogICAgIGVpbmFfc3RyYnVmX2ZyZWUoYnVmZmVyKTsKIH0KIApAQCAtMjE1LDE0ICsx
ODUsMTQgQEAgb25fdGl0bGVfY2hhbmdlZCh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICp3
ZWJ2aWV3LCB2b2lkICpldmVudF9pbmZvKQogICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAo
QnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7CiAgICAgY29uc3QgY2hhciAqdGl0bGUgPSAoY29u
c3QgY2hhciAqKWV2ZW50X2luZm87CiAKLSAgICB0aXRsZV9zZXQod2luZG93LT5lZSwgdGl0bGUs
IDEwMCk7CisgICAgdGl0bGVfc2V0KHdpbmRvdy0+d2luZG93LCB0aXRsZSwgMTAwKTsKIH0KIAog
c3RhdGljIHZvaWQKIG9uX3VybF9jaGFuZ2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3Qg
KndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiB7CiAgICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRv
dyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKLSAgICB1cmxfYmFyX3VybF9zZXQod2lu
ZG93LT51cmxfYmFyLCBld2tfdmlld191cmxfZ2V0KHdpbmRvdy0+d2VidmlldykpOworICAgIGVs
bV9lbnRyeV9lbnRyeV9zZXQod2luZG93LT51cmxfYmFyLCBld2tfdmlld191cmxfZ2V0KHdpbmRv
dy0+d2VidmlldykpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMjM1LDcgKzIwNSw3IEBAIG9uX25l
d193aW5kb3codm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZl
bnRfaW5mbykKIH0KIAogc3RhdGljIHZvaWQKLW9uX2Nsb3NlX3dpbmRvdyh2b2lkICp1c2VyX2Rh
dGEsIHZvaWQgKmV2ZW50X2luZm8pCitvbl9jbG9zZV93aW5kb3codm9pZCAqdXNlcl9kYXRhLCBF
dmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKIHsKICAgICB3aW5kb3dfY2xv
c2UoKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhKTsKIH0KQEAgLTI0Niw3ICsyMTYsNyBAQCBv
bl9wcm9ncmVzcyh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3LCB2b2lkICpl
dmVudF9pbmZvKQogICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cg
Kil1c2VyX2RhdGE7CiAgICAgZG91YmxlIHByb2dyZXNzID0gKihkb3VibGUgKilldmVudF9pbmZv
OwogCi0gICAgdGl0bGVfc2V0KHdpbmRvdy0+ZWUsIGV3a192aWV3X3RpdGxlX2dldCh3aW5kb3ct
PndlYnZpZXcpLCBwcm9ncmVzcyAqIDEwMCk7CisgICAgdGl0bGVfc2V0KHdpbmRvdy0+d2luZG93
LCBld2tfdmlld190aXRsZV9nZXQod2luZG93LT53ZWJ2aWV3KSwgcHJvZ3Jlc3MgKiAxMDApOwog
fQogCiBzdGF0aWMgdm9pZApAQCAtMzAzLDYgKzI3Myw3IEBAIHN0YXRpYyBpbnQKIHF1aXQoRWlu
YV9Cb29sIHN1Y2Nlc3MsIGNvbnN0IGNoYXIgKm1zZykKIHsKICAgICBld2tfc2h1dGRvd24oKTsK
KyAgICBlbG1fc2h1dGRvd24oKTsKIAogICAgIGlmIChtc2cpCiAgICAgICAgIGZwdXRzKG1zZywg
KHN1Y2Nlc3MpID8gc3Rkb3V0IDogc3RkZXJyKTsKQEAgLTMxMyw3MCArMjg0LDk3IEBAIHF1aXQo
RWluYV9Cb29sIHN1Y2Nlc3MsIGNvbnN0IGNoYXIgKm1zZykKICAgICByZXR1cm4gRVhJVF9TVUND
RVNTOwogfQogCitzdGF0aWMgdm9pZAorX29uX3VybF9iYXJfZW50ZXIodm9pZCAqdXNlcl9kYXRh
LCBFdmFzX09iamVjdCAqdXJsX2Jhciwgdm9pZCAqZXZlbnRfaW5mbykKK3sKKyAgICBCcm93c2Vy
X1dpbmRvdyAqYXBwX2RhdGEgPSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7CisKKyAgICBj
b25zdCBjaGFyICp1c2VyX3VybCA9IGVsbV9lbnRyeV9lbnRyeV9nZXQodXJsX2Jhcik7CisgICAg
Y2hhciAqdXJsID0gdXJsX2Zyb21fdXNlcl9pbnB1dCh1c2VyX3VybCk7CisgICAgZXdrX3ZpZXdf
dXJsX3NldChhcHBfZGF0YS0+d2VidmlldywgdXJsKTsKKyAgICBmcmVlKHVybCk7Cit9CisKK3N0
YXRpYyB2b2lkCitfd2luX2RlbF9jYih2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICp3aW5k
b3csIHZvaWQgKmV2ZW50X2luZm8pCit7CisgICAgd2luZG93X2Nsb3NlKGJyb3dzZXJfd2luZG93
X2ZpbmQod2luZG93KSk7Cit9CisKIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2luZG93X2NyZWF0
ZShjb25zdCBjaGFyICp1cmwpCiB7Ci0gICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdyA9IG1hbGxv
YyhzaXplb2YoQnJvd3Nlcl9XaW5kb3cpKTsKLSAgICBpZiAoIXdpbmRvdykgeworICAgIEJyb3dz
ZXJfV2luZG93ICphcHBfZGF0YSA9IG1hbGxvYyhzaXplb2YoQnJvd3Nlcl9XaW5kb3cpKTsKKyAg
ICBpZiAoIWFwcF9kYXRhKSB7CiAgICAgICAgIGluZm8oIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRl
IGJyb3dzZXIgd2luZG93LlxuIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAg
IHdpbmRvdy0+ZWUgPSBlY29yZV9ldmFzX25ldyhldmFzX2VuZ2luZV9uYW1lLCAwLCAwLCBERUZB
VUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCwgMCk7Ci0gICAgaWYgKCF3aW5kb3ctPmVlKSB7Ci0g
ICAgICAgIGluZm8oIkVSUk9SOiBjb3VsZCBub3QgY29uc3RydWN0IGVjb3JlLWV2YXMuXG4iKTsK
LSAgICAgICAgZnJlZSh3aW5kb3cpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9CisgICAg
YXBwX2RhdGEtPndpbmRvdyA9IGVsbV93aW5fdXRpbF9zdGFuZGFyZF9hZGQoIm1pbmlicm93c2Vy
LXdpbmRvdyIsIEFQUF9OQU1FKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQo
YXBwX2RhdGEtPndpbmRvdywgImRlbGV0ZSxyZXF1ZXN0IiwgX3dpbl9kZWxfY2IsICZhcHBfZGF0
YSk7CiAKLSAgICBlY29yZV9ldmFzX3RpdGxlX3NldCh3aW5kb3ctPmVlLCBBUFBfTkFNRSk7Ci0g
ICAgZWNvcmVfZXZhc19jYWxsYmFja19yZXNpemVfc2V0KHdpbmRvdy0+ZWUsIG9uX2Vjb3JlX2V2
YXNfcmVzaXplKTsKLSAgICBlY29yZV9ldmFzX2JvcmRlcmxlc3Nfc2V0KHdpbmRvdy0+ZWUsIDAp
OwotICAgIGVjb3JlX2V2YXNfc2hvdyh3aW5kb3ctPmVlKTsKLSAgICBlY29yZV9ldmFzX2NhbGxi
YWNrX2RlbGV0ZV9yZXF1ZXN0X3NldCh3aW5kb3ctPmVlLCBvbl9lY29yZV9ldmFzX2RlbGV0ZSk7
CisgICAgLyogQ3JlYXRlIGJhY2tncm91bmQgKi8KKyAgICBhcHBfZGF0YS0+YmcgPSBlbG1fYmdf
YWRkKGFwcF9kYXRhLT53aW5kb3cpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRf
c2V0KGFwcF9kYXRhLT5iZywgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7Cisg
ICAgZWxtX3dpbl9yZXNpemVfb2JqZWN0X2FkZChhcHBfZGF0YS0+d2luZG93LCBhcHBfZGF0YS0+
YmcpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwX2RhdGEtPmJnKTsKIAotICAgIHdpbmRvdy0+
ZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KHdpbmRvdy0+ZWUpOwotICAgIGlmICghd2luZG93LT5ldmFz
KSB7Ci0gICAgICAgIGluZm8oIkVSUk9SOiBjb3VsZCBub3QgZ2V0IGV2YXMgZnJvbSBldmFzLWVj
b3JlLlxuIik7Ci0gICAgICAgIGZyZWUod2luZG93KTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0g
ICAgfQorICAgIC8qIENyZWF0ZSB2ZXJ0aWNhbCBsYXlvdXQgKi8KKyAgICBhcHBfZGF0YS0+dmVy
dGljYWxfbGF5b3V0ID0gZWxtX2JveF9hZGQoYXBwX2RhdGEtPndpbmRvdyk7CisgICAgZXZhc19v
YmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwX2RhdGEtPnZlcnRpY2FsX2xheW91dCwgRVZB
U19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisgICAgZWxtX3dpbl9yZXNpemVfb2Jq
ZWN0X2FkZChhcHBfZGF0YS0+d2luZG93LCBhcHBfZGF0YS0+dmVydGljYWxfbGF5b3V0KTsKKyAg
ICBldmFzX29iamVjdF9zaG93KGFwcF9kYXRhLT52ZXJ0aWNhbF9sYXlvdXQpOwogCi0gICAgLyog
Q3JlYXRlIHdlYnZpZXcgKi8KLSAgICB3aW5kb3ctPndlYnZpZXcgPSBld2tfdmlld19hZGQod2lu
ZG93LT5ldmFzKTsKLSAgICBld2tfdmlld190aGVtZV9zZXQod2luZG93LT53ZWJ2aWV3LCBUSEVN
RV9ESVIiL2RlZmF1bHQuZWRqIik7Ci0gICAgZXdrX3NldHRpbmdzX2VuYWJsZV9mcmFtZV9mbGF0
dGVuaW5nX3NldChld2tfdmlld19zZXR0aW5nc19nZXQod2luZG93LT53ZWJ2aWV3KSwgZnJhbWVf
ZmxhdHRlbmluZ19lbmFibGVkKTsKKyAgICAvKiBDcmVhdGUgVVJMIGJhciAqLworICAgIGFwcF9k
YXRhLT51cmxfYmFyID0gZWxtX2VudHJ5X2FkZChhcHBfZGF0YS0+d2luZG93KTsKKyAgICBlbG1f
ZW50cnlfc2luZ2xlX2xpbmVfc2V0KGFwcF9kYXRhLT51cmxfYmFyLCBFSU5BX1RSVUUpOworICAg
IGVsbV9lbnRyeV90ZXh0X3N0eWxlX3VzZXJfcHVzaChhcHBfZGF0YS0+dXJsX2JhciwgIkRFRkFV
TFQ9J2ZvbnRfc2l6ZT0xNiciKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQo
YXBwX2RhdGEtPnVybF9iYXIsICJhY3RpdmF0ZWQiLCBfb25fdXJsX2Jhcl9lbnRlciwgYXBwX2Rh
dGEpOwogCi0gICAgRXdrX1NldHRpbmdzICpzZXR0aW5ncyA9IGV3a192aWV3X3NldHRpbmdzX2dl
dCh3aW5kb3ctPndlYnZpZXcpOwotICAgIGV3a19zZXR0aW5nc19maWxlX2FjY2Vzc19mcm9tX2Zp
bGVfdXJsc19hbGxvd2VkX3NldChzZXR0aW5ncywgRUlOQV9UUlVFKTsKKyAgICBldmFzX29iamVj
dF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHBfZGF0YS0+dXJsX2JhciwgRVZBU19ISU5UX0VYUEFO
RCwgMC4wKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfYWxpZ25fc2V0KGFwcF9kYXRhLT51
cmxfYmFyLCBFVkFTX0hJTlRfRklMTCwgMC4wKTsKKyAgICBlbG1fYm94X3BhY2tfZW5kKGFwcF9k
YXRhLT52ZXJ0aWNhbF9sYXlvdXQsIGFwcF9kYXRhLT51cmxfYmFyKTsKKyAgICBldmFzX29iamVj
dF9zaG93KGFwcF9kYXRhLT51cmxfYmFyKTsKIAotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxi
YWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJjbG9zZSx3aW5kb3ciLCBvbl9jbG9zZV93aW5kb3cs
IHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2Vi
dmlldywgImNyZWF0ZSx3aW5kb3ciLCBvbl9uZXdfd2luZG93LCB3aW5kb3cpOwotICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJkb3dubG9hZCxmYWls
ZWQiLCBvbl9kb3dubG9hZF9mYWlsZWQsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgImRvd25sb2FkLGZpbmlzaGVkIiwgb25fZG93
bmxvYWRfZmluaXNoZWQsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tf
YWRkKHdpbmRvdy0+d2VidmlldywgImRvd25sb2FkLHJlcXVlc3QiLCBvbl9kb3dubG9hZF9yZXF1
ZXN0LCB3aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ct
PndlYnZpZXcsICJsb2FkLGVycm9yIiwgb25fZXJyb3IsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmpl
Y3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgImxvYWQscHJvZ3Jlc3MiLCBv
bl9wcm9ncmVzcywgd2luZG93KTsKLSAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQo
d2luZG93LT53ZWJ2aWV3LCAidGl0bGUsY2hhbmdlZCIsIG9uX3RpdGxlX2NoYW5nZWQsIHdpbmRv
dyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2Vidmlldywg
InVybCxjaGFuZ2VkIiwgb25fdXJsX2NoYW5nZWQsIHdpbmRvdyk7CisgICAgLyogQ3JlYXRlIHdl
YnZpZXcgKi8KKyAgICBFdmFzICpldmFzID0gZXZhc19vYmplY3RfZXZhc19nZXQoYXBwX2RhdGEt
PndpbmRvdyk7CisgICAgYXBwX2RhdGEtPndlYnZpZXcgPSBld2tfdmlld19hZGQoZXZhcyk7Cisg
ICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcF9kYXRhLT53ZWJ2aWV3LCBUSEVNRV9ESVIiL2RlZmF1
bHQuZWRqIik7CiAKLSAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19hZGQod2luZG93LT53
ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX0tFWV9ET1dOLCBvbl9rZXlfZG93biwgd2luZG93KTsKLSAg
ICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3LCBFVkFTX0NB
TExCQUNLX01PVVNFX0RPV04sIG9uX21vdXNlX2Rvd24sIHdpbmRvdyk7CisgICAgRXdrX1NldHRp
bmdzICpzZXR0aW5ncyA9IGV3a192aWV3X3NldHRpbmdzX2dldChhcHBfZGF0YS0+d2Vidmlldyk7
CisgICAgZXdrX3NldHRpbmdzX2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93ZWRfc2V0
KHNldHRpbmdzLCBFSU5BX1RSVUUpOworICAgIGV3a19zZXR0aW5nc19lbmFibGVfZnJhbWVfZmxh
dHRlbmluZ19zZXQoc2V0dGluZ3MsIGZyYW1lX2ZsYXR0ZW5pbmdfZW5hYmxlZCk7CisKKyAgICBl
dmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJjbG9zZSx3
aW5kb3ciLCBvbl9jbG9zZV93aW5kb3csIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFy
dF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJjcmVhdGUsd2luZG93Iiwgb25fbmV3
X3dpbmRvdywgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChh
cHBfZGF0YS0+d2VidmlldywgImRvd25sb2FkLGZhaWxlZCIsIG9uX2Rvd25sb2FkX2ZhaWxlZCwg
YXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+
d2VidmlldywgImRvd25sb2FkLGZpbmlzaGVkIiwgb25fZG93bmxvYWRfZmluaXNoZWQsIGFwcF9k
YXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZp
ZXcsICJkb3dubG9hZCxyZXF1ZXN0Iiwgb25fZG93bmxvYWRfcmVxdWVzdCwgYXBwX2RhdGEpOwor
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImxv
YWQsZXJyb3IiLCBvbl9lcnJvciwgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImxvYWQscHJvZ3Jlc3MiLCBvbl9wcm9ncmVz
cywgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0
YS0+d2VidmlldywgInRpdGxlLGNoYW5nZWQiLCBvbl90aXRsZV9jaGFuZ2VkLCBhcHBfZGF0YSk7
CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAi
dXJsLGNoYW5nZWQiLCBvbl91cmxfY2hhbmdlZCwgYXBwX2RhdGEpOworCisgICAgZXZhc19vYmpl
Y3RfZXZlbnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX0tF
WV9ET1dOLCBvbl9rZXlfZG93biwgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X2V2ZW50X2Nh
bGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgRVZBU19DQUxMQkFDS19NT1VTRV9ET1dOLCBv
bl9tb3VzZV9kb3duLCBhcHBfZGF0YSk7CisKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2Vp
Z2h0X3NldChhcHBfZGF0YS0+d2VidmlldywgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VY
UEFORCk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X2FsaWduX3NldChhcHBfZGF0YS0+d2Vi
dmlldywgRVZBU19ISU5UX0ZJTEwsIEVWQVNfSElOVF9GSUxMKTsKKyAgICBlbG1fYm94X3BhY2tf
ZW5kKGFwcF9kYXRhLT52ZXJ0aWNhbF9sYXlvdXQsIGFwcF9kYXRhLT53ZWJ2aWV3KTsKKyAgICBl
dmFzX29iamVjdF9zaG93KGFwcF9kYXRhLT53ZWJ2aWV3KTsKIAotICAgIGV2YXNfb2JqZWN0X3Np
emVfaGludF93ZWlnaHRfc2V0KHdpbmRvdy0+d2VidmlldywgRVZBU19ISU5UX0VYUEFORCwgRVZB
U19ISU5UX0VYUEFORCk7Ci0gICAgZXZhc19vYmplY3RfbW92ZSh3aW5kb3ctPndlYnZpZXcsIDAs
IFVSTF9CQVJfSEVJR0hUKTsKLSAgICBldmFzX29iamVjdF9yZXNpemUod2luZG93LT53ZWJ2aWV3
LCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCAtIFVSTF9CQVJfSEVJR0hUKTsKLSAgICBl
dmFzX29iamVjdF9zaG93KHdpbmRvdy0+d2Vidmlldyk7Ci0gICAgZXZhc19vYmplY3RfZm9jdXNf
c2V0KHdpbmRvdy0+d2VidmlldywgRUlOQV9UUlVFKTsKKyAgICBpZiAodXJsKQorICAgICAgICBl
d2tfdmlld191cmxfc2V0KGFwcF9kYXRhLT53ZWJ2aWV3LCB1cmwpOwogCi0gICAgd2luZG93LT51
cmxfYmFyID0gdXJsX2Jhcl9hZGQod2luZG93LT53ZWJ2aWV3LCBERUZBVUxUX1dJRFRIKTsKKyAg
ICBldmFzX29iamVjdF9yZXNpemUoYXBwX2RhdGEtPndpbmRvdywgREVGQVVMVF9XSURUSCwgREVG
QVVMVF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwX2RhdGEtPndpbmRvdyk7CiAK
LSAgICBpZiAodXJsKQotICAgICAgICBld2tfdmlld191cmxfc2V0KHdpbmRvdy0+d2Vidmlldywg
dXJsKTsKKyAgICBldmFzX29iamVjdF9mb2N1c19zZXQoYXBwX2RhdGEtPndlYnZpZXcsIEVJTkFf
VFJVRSk7CiAKLSAgICByZXR1cm4gd2luZG93OworICAgIHJldHVybiBhcHBfZGF0YTsKIH0KIAot
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0VBUElfTUFJTiBpbnQKK2VsbV9tYWlu
KGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAgICAgaW50IGFyZ3MgPSAxOwogICAgIHVuc2ln
bmVkIGNoYXIgcXVpdE9wdGlvbiA9IDA7CkBAIC00MTYsMTEgKzQxNCw4IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyICphcmd2W10pCiAKICAgICB3aW5kb3dzID0gZWluYV9saXN0X2FwcGVuZCh3
aW5kb3dzLCB3aW5kb3cpOwogCi0gICAgRWNvcmVfRXZlbnRfSGFuZGxlciAqaGFuZGxlID0gZWNv
cmVfZXZlbnRfaGFuZGxlcl9hZGQoRUNPUkVfRVZFTlRfU0lHTkFMX0VYSVQsIG1haW5fc2lnbmFs
X2V4aXQsIDApOwotCi0gICAgZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7Ci0KLSAgICBlY29yZV9l
dmVudF9oYW5kbGVyX2RlbChoYW5kbGUpOworICAgIGVsbV9ydW4oKTsKIAogICAgIHJldHVybiBx
dWl0KEVJTkFfVFJVRSwgTlVMTCk7CiB9CitFTE1fTUFJTigpCmRpZmYgLS1naXQgYS9Ub29scy9l
ZmwvamhidWlsZC5tb2R1bGVzIGIvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcwppbmRleCAzZTU1
ZGJiLi4xZmQyODgwIDEwMDY0NAotLS0gYS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCisrKyBi
L1Rvb2xzL2VmbC9qaGJ1aWxkLm1vZHVsZXMKQEAgLTE3LDYgKzE3LDcgQEAKICAgICAgIDxkZXAg
cGFja2FnZT0iZV9kYnVzIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVlemUiLz4KICAgICAgIDxk
ZXAgcGFja2FnZT0iZWZyZWV0Ii8+CisgICAgICA8ZGVwIHBhY2thZ2U9ImVsZW1lbnRhcnkiLz4K
ICAgICAgIDxkZXAgcGFja2FnZT0ibGlieG1sMiIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgogICA8
L21ldGFtb2R1bGU+CkBAIC00MSw2ICs0Miw4IEBACiAgICAgICBocmVmPSJodHRwOi8vZ2l0LmVu
bGlnaHRlbm1lbnQuZnIvY2dpdC5jZ2kvc3ZuLyIvPgogICA8cmVwb3NpdG9yeSB0eXBlPSJ0YXJi
YWxsIiBuYW1lPSJ4bWxzb2Z0Lm9yZyIKICAgICAgIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnIi8+
IAorICA8cmVwb3NpdG9yeSB0eXBlPSJ0YXJiYWxsIiBuYW1lPSJkb3dubG9hZC5lbmxpZ2h0ZW5t
ZW50Lm9yZyIKKyAgICAgIGhyZWY9Imh0dHA6Ly9kb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIv
PgogCiAgIDxhdXRvdG9vbHMgaWQ9ImNhaXJvIiBhdXRvZ2VuLXNoPSJjb25maWd1cmUiPgogICAg
IDxkZXBlbmRlbmNpZXM+CkBAIC0xNTksMjAgKzE2MiwyMCBAQAogIDwvYXV0b3Rvb2xzPgogCiAg
IDxhdXRvdG9vbHMgaWQ9ImVpbmEiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlaW5hLmdpdC9zbmFw
c2hvdC9laW5hLWY5MDkyNmRkOWJmMTllYTk0NmQ3NTcyYjM2MzM1Y2MwYzVjZDNhYjUudGFyLmJ6
MiIgdmVyc2lvbj0iNzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZWluYS1mOTA5MjZk
ZDliZjE5ZWE5NDZkNzU3MmIzNjMzNWNjMGM1Y2QzYWI1IgotICAgICAgICAgICAgcmVwbz0iZW5s
aWdodGVubWVudC5mciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1NjozODgyMTQ0MzRkYmUzNzI2
YWEzODk0ZTZmOTgzOGFkZmM0M2Q4YmQ2M2JiOTU5N2Y4NmE0ZWZiYzQ4YjQyY2FkIgotICAgICAg
ICAgICAgbWQ1c3VtPSJkYjc1NmRiZGEyYjhiNzdlNWY4MDdjM2VjY2NkMzRlNCI+CisgICAgPGJy
YW5jaCBtb2R1bGU9InJlbGVhc2VzL2VpbmEtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIK
KyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlaW5hLTEuNy4wIgorICAgICAgICAgICAgcmVwbz0i
ZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NmFh
Y2VkZWRiMDhhYTEwOTBhMWJlZWNiZjYyYWNmM2UyY2UwNjc2YWM4N2QyMWM3ODdjMDc5ODNmODAx
MTY2ZiIKKyAgICAgICAgICAgIG1kNXN1bT0iMzAzYjgxYmJmZmY2ODRlZWYwZTViZTcwYmE5Nzcw
MTIiPgogICAgIDwvYnJhbmNoPgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJl
bWJyeW8iPgotICAgIDxicmFuY2ggbW9kdWxlPSJlbWJyeW8uZ2l0L3NuYXBzaG90L2VtYnJ5by0x
OTFlMWI1ZjAyMmY3NjlkNjJhYmVjNjExMmY1MWU1ZmJlY2Q2ZGI5LnRhci5iejIiIHZlcnNpb249
IjczMDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVtYnJ5by0xOTFlMWI1ZjAyMmY3Njlk
NjJhYmVjNjExMmY1MWU1ZmJlY2Q2ZGI5IgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVubWVu
dC5mciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1NjpkOGE1N2Y1MTk4NWVlMTZlZTZhN2ZkZTJk
M2I5MzFlODNkYTVkMjZhMWE2MmVmYzAxMmQ2NGU2ZDVmZTM3NDhiIgotICAgICAgICAgICAgbWQ1
c3VtPSJhZGViZWI4YzcwNGU3MDkxMmE5MjBlOGVmNGVjNDNjZCI+CisgICAgPGJyYW5jaCBtb2R1
bGU9InJlbGVhc2VzL2VtYnJ5by0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAgICAg
ICAgICAgY2hlY2tvdXRkaXI9ImVtYnJ5by0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25s
b2FkLmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjI5MGI0NTJl
NmNiODdmNjRiMTFiNTI5YzdmNjdjNDAxOTJmODdhNzNjYzRjNWJlOTNhOTVmMTdiNzZmNjUwNjMi
CisgICAgICAgICAgICBtZDVzdW09ImY0NmJiOGFiMTY5OWNkN2FjYjg0NjNlNTBhM2ZmYjRiIj4K
ICAgICA8L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJl
aW5hIi8+CkBAIC0xODAsMjAgKzE4MywyMCBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rv
b2xzIGlkPSJldmFzIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZXZhcy5naXQvc25hcHNob3QvZXZh
cy0xNjljZjFiYjk2MjAwMWYxY2YzZTU5ZWI5NTAzODBhOWRjMWZjZWQzLnRhci5iejIiIHZlcnNp
b249IjczMDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImV2YXMtMTY5Y2YxYmI5NjIwMDFm
MWNmM2U1OWViOTUwMzgwYTlkYzFmY2VkMyIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1l
bnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6MmI1OTM1MGUwZmUzM2E4ZmU0OWZjYmUw
NDE5MmQwNWFiMzczNDU2ODRjNGViOWIxMGZiMGUwYTM1NTQ1ZTdkYSIKLSAgICAgICAgICAgIG1k
NXN1bT0iYmZiNTQ0MmU1MDU1MWM2NGM3MDk0ODFhOWEzNWI0YTIiPgorICAgIDxicmFuY2ggbW9k
dWxlPSJyZWxlYXNlcy9ldmFzLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAg
ICAgICBjaGVja291dGRpcj0iZXZhcy0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2Fk
LmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjJkN2EzM2QwMmQy
ZGEzNzY0N2U0YzAxMjdmZWRlYmUwMGVlZWExNDU2MGQ2YzFiNmNhOWIwY2NjZGFlMGRlODQiCisg
ICAgICAgICAgICBtZDVzdW09IjMzNTk5MThmOGU2MGM3NzhiODYxY2YxY2RlMDJkM2E5Ij4KICAg
ICA8L2JyYW5jaD4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZWNvcmUiPgot
ICAgIDxicmFuY2ggbW9kdWxlPSJlY29yZS5naXQvc25hcHNob3QvZWNvcmUtOWM5NmY5YzE0MDMy
MGU1MjAzMGQxYTIwNmQ4ZDMzMGFhNDZhYmM0NC50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAg
ICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlY29yZS05Yzk2ZjljMTQwMzIwZTUyMDMwZDFhMjA2ZDhk
MzMwYWE0NmFiYzQ0IgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVubWVudC5mciIKLSAgICAg
ICAgICAgIGhhc2g9InNoYTI1Njo1NDZiOWMzODk1NTYwNzRhZDQ5ODJhMGUzODljY2IwZTU1Y2Vk
NTljZTcyNWVhMmI1YzA2NWM0ZDYwMzEwMDY4IgotICAgICAgICAgICAgbWQ1c3VtPSJiMTU1NzFm
MjcxYTk5NjBiNTYyZjk4Y2IwOTI2ODQwOCI+CisgICAgPGJyYW5jaCBtb2R1bGU9InJlbGVhc2Vz
L2Vjb3JlLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291
dGRpcj0iZWNvcmUtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5t
ZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjpmMDA5ZTE3Mzc2YjdmM2ZiNmNlNmI0
NTY0OGQyYTAxMzFhMTUyOTQzYjUwMmZhMzRjYzRiZDAxOGY2N2RhOGJiIgorICAgICAgICAgICAg
bWQ1c3VtPSJjZjBiNWU5ODBhNzdkYzBkMWJkZWRmMmJjYzYwZTg2MiI+CiAgICAgPC9icmFuY2g+
CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0iZWluYSIvPgpAQCAtMjAy
LDExICsyMDUsMTEgQEAKICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZWV0Ij4K
LSAgICA8YnJhbmNoIG1vZHVsZT0iZWV0LmdpdC9zbmFwc2hvdC9lZXQtMTVmZDUyZTQ4MzFiOTQ2
MzA4YTgwZGY5YTI1MzU3ZGMxOGM5N2NhMi50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAg
ICAgICAgIGNoZWNrb3V0ZGlyPSJlZXQtMTVmZDUyZTQ4MzFiOTQ2MzA4YTgwZGY5YTI1MzU3ZGMx
OGM5N2NhMiIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAg
ICBoYXNoPSJzaGEyNTY6NjJlZmYxMjQ4OTIzYmU3OTE4YmVmZjQ2ZTg1OThmZjJiMTM5YjAyMjRm
MGExYjg0NTE0MmNmMWIwNzg0MjJlNiIKLSAgICAgICAgICAgIG1kNXN1bT0iYmUwODYzNGM3MDcx
MmJiNDRhNTUzNGVmNWIyYTdhZjMiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9lZXQt
MS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJl
ZXQtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIK
KyAgICAgICAgICAgIGhhc2g9InNoYTI1Njo5YmNhNWJlY2FhYTVhYmY0YjdhYzBmODBkZTY4ZDNi
OWE4ZjFhYmNlN2VjYTQxNzVlMWFkODI5NTM3ODNkMjA5IgorICAgICAgICAgICAgbWQ1c3VtPSI0
NmU5ODllYjRkZGRkOTQyYjQ1NjQyOTllMTlkOWY2NCI+CiAgICAgPC9icmFuY2g+CiAgICAgPGRl
cGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0ibGliZ2NyeXB0Ii8+CkBAIC0yMTUsMTEg
KzIxOCwxMSBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJlZGplIj4KLSAg
ICA8YnJhbmNoIG1vZHVsZT0iZWRqZS5naXQvc25hcHNob3QvZWRqZS0xNDczOGVlZmFjNTRkMWE4
Y2ZlYWQyYjVhZWQzYjdmMDVjNWI0YmQ4LnRhci5iejIiIHZlcnNpb249IjczMDI3IgotICAgICAg
ICAgICAgY2hlY2tvdXRkaXI9ImVkamUtMTQ3MzhlZWZhYzU0ZDFhOGNmZWFkMmI1YWVkM2I3ZjA1
YzViNGJkOCIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAg
ICBoYXNoPSJzaGEyNTY6OWUxMDJmMGI0N2U5Y2RmYTczN2I1ZjgxYjExZDM1MmFlMDEyMDYyMDk3
MjllNTgxNWMyOGQ4MjYxODZiMjQ3ZSIKLSAgICAgICAgICAgIG1kNXN1bT0iNWYxOTk1OTAxYzg0
OGJkYWVjNTZmZjFmOTEzZWYwMmYiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9lZGpl
LTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0i
ZWRqZS0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1lbnQub3Jn
IgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OmQ2ZGY5YTdiZjExYzQ2MDVmNTVhMmU3YzIwOTIx
MDA0NGY4ZGM0ZjMzMzIxMzVmNjI1NjY3NmQyZjkzNzYyMWIiCisgICAgICAgICAgICBtZDVzdW09
IjM3ZTE1YzVkNmU3YzI2NzY3MjhiZGE3NTEwOWIyMjE4Ij4KICAgICA8L2JyYW5jaD4KICAgICA8
ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJlZXQiLz4KQEAgLTIzMCwxMSArMjMz
LDExIEBACiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9ImVfZGJ1cyI+Ci0gICAg
PGJyYW5jaCBtb2R1bGU9ImVfZGJ1cy5naXQvc25hcHNob3QvZV9kYnVzLTlkZTBhM2UwYzk1OWNk
YmFiYTAyMmViODg4Yjk2NzBiZDc2NmQzOGYudGFyLmJ6MiIgdmVyc2lvbj0iNzMwMjciCi0gICAg
ICAgICAgICBjaGVja291dGRpcj0iZV9kYnVzLTlkZTBhM2UwYzk1OWNkYmFiYTAyMmViODg4Yjk2
NzBiZDc2NmQzOGYiCi0gICAgICAgICAgICByZXBvPSJlbmxpZ2h0ZW5tZW50LmZyIgotICAgICAg
ICAgICAgaGFzaD0ic2hhMjU2OmY5NjU1YzNiYTY5MTc0ZGJkNjViNTIyMGE0OTJiOTcwYWE5MjY0
ZmYzMjgzY2JkOTYwYTg5YjY5ZTUzNTkxYjYiCi0gICAgICAgICAgICBtZDVzdW09IjRjY2ExZjk5
NGUxNzgyM2NhOWJlMTk4NWY1YzRhZDA5Ij4KKyAgICA8YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMv
ZV9kYnVzLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291
dGRpcj0iZV9kYnVzLTEuNy4wIgorICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQuZW5saWdodGVu
bWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NmVlMzAzYmQwZTJmOTFhNmJlMDg0
MzNkZjQ3NDM3NzQ5NGJhNjgxNTQ0MWU1ZTZiNzlhNWQyODRlYWQyYTc2OCIKKyAgICAgICAgICAg
IG1kNXN1bT0iM2Q1OWJmYjAwNzYzYTYxOTc2YTk3NmJlOTI1ZTFjYmYiPgogICAgIDwvYnJhbmNo
PgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVjb3JlIi8+CkBAIC0y
NDMsMTEgKzI0NiwxMSBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJlZXpl
Ij4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZWV6ZS5naXQvc25hcHNob3QvZWV6ZS0wOWEzNzliYzJj
YzZjMWM3YWFiMDQ3ODk5MWExMDRiMGM2YWYxODQ0LnRhci5iejIiIHZlcnNpb249IjczMDI3Igot
ICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVlemUtMDlhMzc5YmMyY2M2YzFjN2FhYjA0Nzg5OTFh
MTA0YjBjNmFmMTg0NCIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAg
ICAgICAgICBoYXNoPSJzaGEyNTY6MzEyZDYxNDI5YWY4NDVhNjMzM2MwYzk2OGVjN2IwOTAyOTgy
MDgyZjE3MTQ1M2VlMTQzNDNhOGVmZTc3M2NmYyIKLSAgICAgICAgICAgIG1kNXN1bT0iYzE2M2Nh
ZWRjYmFiNTMyYjRkYzE2MDE0YjE0YmI5YmMiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNl
cy9lZXplLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291
dGRpcj0iZWV6ZS0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1l
bnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjdkYjg3MDk0NDUxMTRkMWZlMWMzNjA5
Y2Y3OWEwNmUxM2EzZDU4NGE1YTNkZmQ1NTc2NDJkZGM2NWFjM2EyMDIiCisgICAgICAgICAgICBt
ZDVzdW09IjYwYThiYjYyZTNkMmNjN2RmYWMxNGYxY2Q2MjM0M2UyIj4KICAgICA8L2JyYW5jaD4K
ICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJlY29yZSIvPgpAQCAtMjU2
LDExICsyNTksMTEgQEAKICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZWZyZWV0
Ij4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZWZyZWV0LmdpdC9zbmFwc2hvdC9lZnJlZXQtZTc3MTJj
ODMwZjNhM2NiNGMxOTc2OTVkZTRjOTgxMzg3YmU4ZjIxNC50YXIuYnoyIiB2ZXJzaW9uPSI3MzAy
NyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlZnJlZXQtZTc3MTJjODMwZjNhM2NiNGMxOTc2
OTVkZTRjOTgxMzg3YmU4ZjIxNCIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIi
Ci0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6NDgzOTE4N2MzY2MwOTllYjZiNjk4NmM2OTI0ZjRl
NGY2ZGZmZDIyZWNjYmMzZjFiZGRkMWE2MzEyYmM4Yzg0YyIKLSAgICAgICAgICAgIG1kNXN1bT0i
YmYyOGVlOWQ3YjUyMTFkNzJjMjc0MTJhN2YxY2RiODAiPgorICAgIDxicmFuY2ggbW9kdWxlPSJy
ZWxlYXNlcy9lZnJlZXQtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAg
IGNoZWNrb3V0ZGlyPSJlZnJlZXQtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5l
bmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjoxNmE0MWEwM2Q1NWZl
YmYzMGYyZGQ3ODZiNTFiZTNlMzcwZmM1NjNmMzMzNWRkMjY4MzJlMGVhYTg4NTE2Yzc5IgorICAg
ICAgICAgICAgbWQ1c3VtPSJmMDM5MTk3ZTE0Mjg4ZWNlZjk0ZWVhYjA0MGNiYmRiNCI+CiAgICAg
PC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgICAgPGRlYiBwYWNrYWdlPSJlY29y
ZSIvPgpAQCAtMjY5LDYgKzI3MiwyMSBAQAogICAgIDwvZGVwZW5kZW5jaWVzPgogICA8L2F1dG90
b29scz4KIAorICA8YXV0b3Rvb2xzIGlkPSJlbGVtZW50YXJ5Ij4KKyAgICA8YnJhbmNoIG1vZHVs
ZT0icmVsZWFzZXMvZWxlbWVudGFyeS0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAg
ICAgICAgICAgY2hlY2tvdXRkaXI9ImVsZW1lbnRhcnktMS43LjAiCisgICAgICAgICAgICByZXBv
PSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1Njo3
ZTdkZWViNGUzYTliYmI5YzdiN2E4OWMyZWZiZTI2OWExYTZhNDRlZjM4MGJmOTFjMTA2NmQxMjgx
NjNlMmQzIgorICAgICAgICAgICAgbWQ1c3VtPSI0NTI2M2M1ZDEwNzk4MWE0NGQyODczNGM4MmU5
ZmFlMSI+CisgICAgPC9icmFuY2g+CisgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGRlYiBw
YWNrYWdlPSJlZGplIi8+CisgICAgICAgIDxkZWIgcGFja2FnZT0iZWluYSIvPgorICAgICAgICA8
ZGViIHBhY2thZ2U9ImVldCIvPgorICAgICAgICA8ZGViIHBhY2thZ2U9ImVjb3JlIi8+CisgICAg
PC9kZXBlbmRlbmNpZXM+CisgIDwvYXV0b3Rvb2xzPgorCiAgIDxhdXRvdG9vbHMgaWQ9ImxpYnht
bDIiPgogICAgIDxicmFuY2ggbW9kdWxlPSIvbGlieG1sMi9saWJ4bWwyLTIuOC4wLnRhci5neiIg
dmVyc2lvbj0iMi44LjAiCiAgICAgICAgICAgICByZXBvPSJ4bWxzb2Z0Lm9yZyIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167775</attachid>
            <date>2012-10-09 09:42:45 -0700</date>
            <delta_ts>2012-10-09 10:57:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98748_minibrowser_elementary.patch</filename>
            <type>text/plain</type>
            <size>32544</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiMWI3Y2VhLi4yMGYwYzk4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMTAtMDkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXVtXSzJdIFBvcnQgTWluaUJyb3dzZXIgdG8gRWxlbWVudGFyeQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg3NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdW1wIEVGTCBs
aWJyYWlyaWVzIGRlcGVuZGVuY2llcyB0byB2MS43CisgICAgICAgIGFuZCBhZGQgRWxlbWVudGFy
eSBhcyBvcHRpb25hbCBkZXBlbmRlbmN5IG5vdworICAgICAgICB0aGF0IGl0IGlzIG5lZWRlZCB0
byBidWlsZCBNaW5pQnJvd3Nlci4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9GaW5kRWV0LmNt
YWtlOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2UvY21ha2UvRmluZEVsZW1lbnRhcnkuY21ha2U6
IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlOgorCiAyMDEy
LTEwLTA5ICBTaW1vbiBQZW5hICA8c3BlbmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBB
ZGQgc3VwcG9ydCBmb3IgcnVubmluZyBKYXZhU2NyaXB0IGZyb20gR1Jlc291cmNlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlL0ZpbmRFZXQuY21ha2UgYi9Tb3VyY2UvY21ha2UvRmluZEVldC5j
bWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmJmYzVmCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRFZXQuY21ha2UKQEAgLTAsMCArMSw0MSBAQAor
IyAtIFRyeSB0byBmaW5kIEVldAorIyBPbmNlIGRvbmUsIHRoaXMgd2lsbCBkZWZpbmUKKyMKKyMg
IEVFVF9GT1VORCAtIHN5c3RlbSBoYXMgRWV0IGluc3RhbGxlZC4KKyMgIEVFVF9JTkNMVURFX0RJ
UlMgLSBkaXJlY3RvcmllcyB3aGljaCBjb250YWluIHRoZSBFZXQgaGVhZGVycy4KKyMgIEVFVF9M
SUJSQVJJRVMgLSBsaWJyYXJpZXMgcmVxdWlyZWQgdG8gbGluayBhZ2FpbnN0IEVldC4KKyMKKyMg
Q29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
IyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVIgQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUworIyBJUycnIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIElUUworIyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsKKyMgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCisjIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SCisjIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKyMgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKK0lOQ0xVREUoRUZMSGVscGVycykKKworRklORF9FRkxfTElCUkFSWShFRVQK
KyAgICBIRUFERVJTIEVldC5oCisgICAgSEVBREVSX1BSRUZJWEVTIGVldC0xCisgICAgTElCUkFS
WSBlZXQKKykKKworSU5DTFVERShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRf
UEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhFZXQgUkVRVUlSRURfVkFSUyBFRVRfSU5DTFVE
RV9ESVJTIEVFVF9MSUJSQVJJRVMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVkVSU0lPTl9WQVIgICBFRVRfVkVSU0lPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9G
aW5kRWxlbWVudGFyeS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kRWxlbWVudGFyeS5jbWFrZQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTVjYTc4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL2NtYWtlL0ZpbmRFbGVtZW50YXJ5LmNtYWtlCkBAIC0wLDAgKzEsNDEgQEAK
KyMgLSBUcnkgdG8gZmluZCBFbGVtZW50YXJ5CisjIE9uY2UgZG9uZSwgdGhpcyB3aWxsIGRlZmlu
ZQorIworIyAgRUxFTUVOVEFSWV9GT1VORCAtIHN5c3RlbSBoYXMgRWxlbWVudGFyeSBpbnN0YWxs
ZWQuCisjICBFTEVNRU5UQVJZX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVzIHdoaWNoIGNvbnRh
aW4gdGhlIEVsZW1lbnRhcnkgaGVhZGVycy4KKyMgIEVMRU1FTlRBUllfTElCUkFSSUVTIC0gbGli
cmFyaWVzIHJlcXVpcmVkIHRvIGxpbmsgYWdhaW5zdCBFbGVtZW50YXJ5LgorIworIyBDb3B5cmln
aHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTCisjIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBIT0xERVIgT1IgSVRTCisjIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOworIyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyMgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKKyMg
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorIyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworSU5DTFVERShFRkxIZWxwZXJzKQorCitGSU5EX0VGTF9MSUJSQVJZKEVMRU1FTlRBUlkK
KyAgICBIRUFERVJTIEVsZW1lbnRhcnkuaAorICAgIEhFQURFUl9QUkVGSVhFUyBlbGVtZW50YXJ5
LTEKKyAgICBMSUJSQVJZIGVsZW1lbnRhcnkKKykKKworSU5DTFVERShGaW5kUGFja2FnZUhhbmRs
ZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhFbGVtZW50
YXJ5IFJFUVVJUkVEX1ZBUlMgRUxFTUVOVEFSWV9JTkNMVURFX0RJUlMgRUxFTUVOVEFSWV9MSUJS
QVJJRVMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJ
T05fVkFSICAgRUxNX1ZFUlNJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IGI3ZmI5M2UuLmIy
NzcxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0xMDUsMTMgKzEwNSwxNyBAQCBJRiAoRU5B
QkxFX0VDT1JFX1gpCiAgICAgQUREX0RFRklOSVRJT05TKC1ESEFWRV9FQ09SRV9YKQogRU5ESUYg
KCkKIAotRklORF9QQUNLQUdFKEVpbmEgMS4yIFJFUVVJUkVEKQotRklORF9QQUNLQUdFKEV2YXMg
MS4yIFJFUVVJUkVEKQotRklORF9QQUNLQUdFKEVjb3JlIDEuMiBDT01QT05FTlRTIEV2YXMgRmls
ZSBJbnB1dCAke0VDT1JFX0FERElUSU9OQUxfQ09NUE9ORU5UU30pCi1GSU5EX1BBQ0tBR0UoRWRq
ZSAxLjIgUkVRVUlSRUQpCi1GSU5EX1BBQ0tBR0UoRWV6ZSAxLjIgUkVRVUlSRUQpCi1GSU5EX1BB
Q0tBR0UoRWZyZWV0IDEuMiBSRVFVSVJFRCkKLUZJTkRfUEFDS0FHRShFX0RCdXMgMS4yIENPTVBP
TkVOVFMgRVVLaXQpCitGSU5EX1BBQ0tBR0UoRWluYSAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tB
R0UoRXZhcyAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRWNvcmUgMS43IENPTVBPTkVOVFMg
RXZhcyBGaWxlIElucHV0ICR7RUNPUkVfQURESVRJT05BTF9DT01QT05FTlRTfSkKK0ZJTkRfUEFD
S0FHRShFZGplIDEuNyBSRVFVSVJFRCkKK0ZJTkRfUEFDS0FHRShFZXQgMS43IFJFUVVJUkVEKQor
RklORF9QQUNLQUdFKEVlemUgMS43IFJFUVVJUkVEKQorRklORF9QQUNLQUdFKEVmcmVldCAxLjcg
UkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRV9EQnVzIDEuNyBDT01QT05FTlRTIEVVS2l0KQorCisj
IEVsZW1lbnRhcnkgaXMgbmVlZGVkIHRvIGJ1aWxkIE1pbmlCcm93c2VyCitGSU5EX1BBQ0tBR0Uo
RWxlbWVudGFyeSAxLjcpCiAKIEZJTkRfUEFDS0FHRShGcmVldHlwZSAyLjQuMiBSRVFVSVJFRCkK
IEZJTkRfUEFDS0FHRShIYXJmQnV6eiAwLjkuMiBSRVFVSVJFRCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvQ01ha2VMaXN0cy50eHQKaW5kZXggMWE2YTY5Yi4uMWFh
MzliZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvQ01ha2VM
aXN0cy50eHQKQEAgLTEwLDcgKzEwLDcgQEAgSUYgKCIke1BPUlR9IiBTVFJFUVVBTCAiRWZsIikK
ICAgICAgICAgQUREX1NVQkRJUkVDVE9SWShFV2ViTGF1bmNoZXIpCiAgICAgRU5ESUYgKCkKIAot
ICAgIElGIChFTkFCTEVfV0VCS0lUMikKKyAgICBJRiAoRU5BQkxFX1dFQktJVDIgQU5EIEVMRU1F
TlRBUllfRk9VTkQpCiAgICAgICAgIEFERF9TVUJESVJFQ1RPUlkoTWluaUJyb3dzZXIvZWZsKQog
ICAgIEVORElGICgpCiAgICAgQUREX1NVQkRJUkVDVE9SWShEdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4pCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggZjFkYjYyOC4uNWZhNDdmZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTEwLTA5ICBDaHJpc3Rv
cGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF1b
V0syXSBQb3J0IE1pbmlCcm93c2VyIHRvIEVsZW1lbnRhcnkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NzQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG9ydCBNaW5pQnJvd3NlciB0byBFbGVtZW50YXJ5
IHRvIHNpbXBsaWZ5IHRoZQorICAgICAgICBjb2RlIGFuZCBtYWtlIGZ1dHVyZSBpbXByb3ZlbWVu
dHMgZWFzaWVyLiBUaGUKKyAgICAgICAgVVJMIGJhciBpcyBub3cgYW4gRWxlbWVudGFyeSBFbnRy
eSB3aWRnZXQgYW5kCisgICAgICAgIHN1cHBvcnRzIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSBs
aWtlIGNvcHkgLworICAgICAgICBwYXN0ZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIEVXZWJMYXVuY2hlci91cmxfYmFyLmM6CisgICAgICAgIChvbl91cmxiYXJfa2V5
X2Rvd24pOiBSZW1vdmUgV0syLXNwZWNpZmljIGNvZGUKKyAgICAgICAgbm93IHRoYXQgdGhpcyBm
aWxlIGlzIG5vIGxvbmdlciB1c2VkIGJ5IE1pbmlCcm93c2VyLgorICAgICAgICAqIE1pbmlCcm93
c2VyL2VmbC9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvbWFpbi5j
OgorICAgICAgICAoX0Jyb3dzZXJfV2luZG93KToKKyAgICAgICAgKHdpbmRvd19mcmVlKToKKyAg
ICAgICAgKHdpbmRvd19jbG9zZSk6CisgICAgICAgICh2aWV3X2ZvY3VzX3NldCk6CisgICAgICAg
IChvbl9tb3VzZV9kb3duKToKKyAgICAgICAgKHRpdGxlX3NldCk6CisgICAgICAgIChvbl90aXRs
ZV9jaGFuZ2VkKToKKyAgICAgICAgKG9uX3VybF9jaGFuZ2VkKToKKyAgICAgICAgKG9uX2Nsb3Nl
X3dpbmRvdyk6CisgICAgICAgIChvbl9wcm9ncmVzcyk6CisgICAgICAgIChxdWl0KToKKyAgICAg
ICAgKG9uX3VybF9iYXJfYWN0aXZhdGVkKToKKyAgICAgICAgKG9uX3VybF9iYXJfY2xpY2tlZCk6
CisgICAgICAgICh3aW5fZGVsX2NiKToKKyAgICAgICAgKHdpbmRvd19jcmVhdGUpOgorICAgICAg
ICAoZWxtX21haW4pOgorICAgICAgICAqIGVmbC9qaGJ1aWxkLm1vZHVsZXM6IEFkZCBFbGVtZW50
YXJ5IHRvIGpoYnVpbGQgYW5kIGJ1bXAKKyAgICAgICAgRUZMIGRlcGVuZGVuY2llcyB0byAxLjcu
CisKIDIwMTItMTAtMDkgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5AZGlnaWEuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgdHJpdmlhbCBRdCBidWlsZCBmaXg6IFJlbW92ZSBzdHJh
eSBjbG9zaW5nIGJyYWNlcyBmcm9tIHIxMzA3NTguCmRpZmYgLS1naXQgYS9Ub29scy9FV2ViTGF1
bmNoZXIvdXJsX2Jhci5jIGIvVG9vbHMvRVdlYkxhdW5jaGVyL3VybF9iYXIuYwppbmRleCBmNTY3
NTg4Li40MDhiNWFjIDEwMDY0NAotLS0gYS9Ub29scy9FV2ViTGF1bmNoZXIvdXJsX2Jhci5jCisr
KyBiL1Rvb2xzL0VXZWJMYXVuY2hlci91cmxfYmFyLmMKQEAgLTUwLDExICs1MCw3IEBAIG9uX3Vy
bGJhcl9rZXlfZG93bih2b2lkICpkYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAqb2JqLCB2b2lk
ICpldmVudF9pbmZvKQogCiAgICAgY2hhciAqdXJsID0gX3VybF9iYXJfdXJsX2dldF93aXRoX3By
b3RvY29sKHVybEJhcik7CiAgICAgaWYgKHVybCkgewotI2lmZGVmIEVGTF9XSzIKLSAgICAgICAg
ZXdrX3ZpZXdfdXJsX3NldCh1cmxCYXItPndlYlZpZXcsIHVybCk7Ci0jZWxzZQogICAgICAgICBl
d2tfdmlld191cmlfc2V0KHVybEJhci0+d2ViVmlldywgdXJsKTsKLSNlbmRpZgogICAgICAgICBm
cmVlKHVybCk7CiAgICAgfQogICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh1cmxCYXItPndlYlZp
ZXcsIEVJTkFfVFJVRSk7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VM
aXN0cy50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKaW5kZXggNGQ0
NzdlNS4uODAzOGQ2MiAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlz
dHMudHh0CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApAQCAtMSw3
ICsxLDYgQEAKIFNFVChNaW5pQnJvd3Nlcl9ESVIgIiR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9l
ZmwiKQogCiBTRVQoTWluaUJyb3dzZXJfU09VUkNFUwotICAgICR7VE9PTFNfRElSfS9FV2ViTGF1
bmNoZXIvdXJsX2Jhci5jCiAgICAgJHtUT09MU19ESVJ9L0VXZWJMYXVuY2hlci91cmxfdXRpbHMu
YwogICAgICR7TWluaUJyb3dzZXJfRElSfS9tYWluLmMKICkKQEAgLTEyLDcgKzExLDEyIEBAIFNF
VChNaW5pQnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgJHtFQ09SRV9FVkFTX0lOQ0xV
REVfRElSU30KICAgICAke0VDT1JFX0ZJTEVfSU5DTFVERV9ESVJTfQogICAgICR7RURKRV9JTkNM
VURFX0RJUlN9CisgICAgJHtFRVRfSU5DTFVERV9ESVJTfQorICAgICR7REJVU19JTkNMVURFX0RJ
UlN9CisgICAgJHtFX0RCVVNfSU5DTFVERV9ESVJTfQorICAgICR7RUZSRUVUX0lOQ0xVREVfRElS
U30KICAgICAke0VJTkFfSU5DTFVERV9ESVJTfQorICAgICR7RUxFTUVOVEFSWV9JTkNMVURFX0RJ
UlN9CiAgICAgJHtFVkFTX0lOQ0xVREVfRElSU30KICAgICAke1RPT0xTX0RJUn0vRVdlYkxhdW5j
aGVyCiAgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKQEAgLTMwLDYgKzM0LDcg
QEAgU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUwogICAgICR7RUNPUkVfRklMRV9MSUJSQVJJRVN9
CiAgICAgJHtFREpFX0xJQlJBUklFU30KICAgICAke0VJTkFfTElCUkFSSUVTfQorICAgICR7RUxF
TUVOVEFSWV9MSUJSQVJJRVN9CiAgICAgJHtFVkFTX0xJQlJBUklFU30KICAgICAke0ZPTlRDT05G
SUdfTElCUkFSSUVTfQogICAgICR7TElCU09VUF9MSUJSQVJJRVN9CkBAIC00Niw3ICs1MSw3IEBA
IElGIChFTkFCTEVfR0xJQl9TVVBQT1JUKQogICAgICkKIEVORElGICgpCiAKLUFERF9ERUZJTklU
SU9OUygtRFRIRU1FX0RJUj1cIiR7VEhFTUVfQklOQVJZX0RJUn1cIiAtREVGTF9XSzI9MSkKK0FE
RF9ERUZJTklUSU9OUygtRFRIRU1FX0RJUj1cIiR7VEhFTUVfQklOQVJZX0RJUn1cIikKIAogSU5D
TFVERV9ESVJFQ1RPUklFUygke01pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVN9KQogCmRp
ZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL21haW4uYwppbmRleCAwNTMxNDgxLi4wOGM1MDYxIDEwMDY0NAotLS0gYS9Ub29scy9N
aW5pQnJvd3Nlci9lZmwvbWFpbi5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMK
QEAgLTE4LDExICsxOCwxMSBAQAogICovCiAKICNpbmNsdWRlICJFV2ViS2l0Mi5oIgotI2luY2x1
ZGUgInVybF9iYXIuaCIKICNpbmNsdWRlICJ1cmxfdXRpbHMuaCIKICNpbmNsdWRlIDxFY29yZS5o
PgogI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KICNpbmNsdWRlIDxFaW5hLmg+CisjaW5jbHVkZSA8
RWxlbWVudGFyeS5oPgogI2luY2x1ZGUgPEV2YXMuaD4KIAogc3RhdGljIGNvbnN0IGludCBERUZB
VUxUX1dJRFRIID0gODAwOwpAQCAtNDIsMTAgKzQyLDExIEBAIHN0YXRpYyBjaGFyICpldmFzX2Vu
Z2luZV9uYW1lID0gTlVMTDsKIHN0YXRpYyBFaW5hX0Jvb2wgZnJhbWVfZmxhdHRlbmluZ19lbmFi
bGVkID0gRUlOQV9GQUxTRTsKIAogdHlwZWRlZiBzdHJ1Y3QgX0Jyb3dzZXJfV2luZG93IHsKLSAg
ICBFY29yZV9FdmFzICplZTsKLSAgICBFdmFzICpldmFzOworICAgIEV2YXNfT2JqZWN0ICp3aW5k
b3c7CisgICAgRXZhc19PYmplY3QgKmJnOwogICAgIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3OwotICAg
IFVybF9CYXIgKnVybF9iYXI7CisgICAgRXZhc19PYmplY3QgKnVybF9iYXI7CisgICAgRXZhc19P
YmplY3QgKnZlcnRpY2FsX2xheW91dDsKIH0gQnJvd3Nlcl9XaW5kb3c7CiAKIHN0YXRpYyBjb25z
dCBFY29yZV9HZXRvcHQgb3B0aW9ucyA9IHsKQEAgLTc1LDI2ICs3NiwyOSBAQCBzdGF0aWMgY29u
c3QgRWNvcmVfR2V0b3B0IG9wdGlvbnMgPSB7CiAKIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2lu
ZG93X2NyZWF0ZShjb25zdCBjaGFyICp1cmwpOwogCi1zdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKmJy
b3dzZXJfd2luZG93X2ZpbmQoRWNvcmVfRXZhcyAqZWUpCitzdGF0aWMgQnJvd3Nlcl9XaW5kb3cg
KmJyb3dzZXJfd2luZG93X2ZpbmQoRXZhc19PYmplY3QgKndpbmRvdykKIHsKICAgICBFaW5hX0xp
c3QgKmw7CiAgICAgdm9pZCAqZGF0YTsKIAotICAgIGlmICghZWUpCisgICAgaWYgKCF3aW5kb3cp
CiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgRUlOQV9MSVNUX0ZPUkVBQ0god2luZG93cywg
bCwgZGF0YSkgewotICAgICAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2lu
ZG93ICopZGF0YTsKLSAgICAgICAgaWYgKHdpbmRvdy0+ZWUgPT0gZWUpCi0gICAgICAgICAgICBy
ZXR1cm4gd2luZG93OworICAgICAgICBCcm93c2VyX1dpbmRvdyAqYnJvd3Nlcl93aW5kb3cgPSAo
QnJvd3Nlcl9XaW5kb3cgKilkYXRhOworICAgICAgICBpZiAoYnJvd3Nlcl93aW5kb3ctPndpbmRv
dyA9PSB3aW5kb3cpCisgICAgICAgICAgICByZXR1cm4gYnJvd3Nlcl93aW5kb3c7CiAgICAgfQog
ICAgIHJldHVybiBOVUxMOwogfQogCiBzdGF0aWMgdm9pZCB3aW5kb3dfZnJlZShCcm93c2VyX1dp
bmRvdyAqd2luZG93KQogewotICAgIHVybF9iYXJfZGVsKHdpbmRvdy0+dXJsX2Jhcik7Ci0gICAg
ZWNvcmVfZXZhc19mcmVlKHdpbmRvdy0+ZWUpOworICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ct
PndlYnZpZXcpOworICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ctPnVybF9iYXIpOworICAgIGV2
YXNfb2JqZWN0X2RlbCh3aW5kb3ctPmJnKTsKKyAgICBldmFzX29iamVjdF9kZWwod2luZG93LT53
aW5kb3cpOworICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ctPnZlcnRpY2FsX2xheW91dCk7CiAg
ICAgZnJlZSh3aW5kb3cpOwogfQogCkBAIC0xMDQsNDEgKzEwOCw3IEBAIHN0YXRpYyB2b2lkIHdp
bmRvd19jbG9zZShCcm93c2VyX1dpbmRvdyAqd2luZG93KQogICAgIHdpbmRvd19mcmVlKHdpbmRv
dyk7CiAKICAgICBpZiAoIXdpbmRvd3MpCi0gICAgICAgIGVjb3JlX21haW5fbG9vcF9xdWl0KCk7
Ci19Ci0KLXN0YXRpYyBFaW5hX0Jvb2wgbWFpbl9zaWduYWxfZXhpdCh2b2lkICpkYXRhLCBpbnQg
ZXZfdHlwZSwgdm9pZCAqZXYpCi17Ci0gICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdzsKLSAgICBF
SU5BX0xJU1RfRlJFRSh3aW5kb3dzLCB3aW5kb3cpCi0gICAgICAgIHdpbmRvd19mcmVlKHdpbmRv
dyk7Ci0KLSAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOwotICAgIHJldHVybiBFSU5BX1RSVUU7
Ci19Ci0KLXN0YXRpYyB2b2lkIG9uX2Vjb3JlX2V2YXNfZGVsZXRlKEVjb3JlX0V2YXMgKmVlKQot
ewotICAgIHdpbmRvd19jbG9zZShicm93c2VyX3dpbmRvd19maW5kKGVlKSk7Ci19Ci0KLXN0YXRp
YyB2b2lkIG9uX2Vjb3JlX2V2YXNfcmVzaXplKEVjb3JlX0V2YXMgKmVlKQotewotICAgIEJyb3dz
ZXJfV2luZG93ICp3aW5kb3c7Ci0gICAgRXZhc19PYmplY3QgKndlYnZpZXc7Ci0gICAgaW50IHcs
IGg7Ci0KLSAgICB3aW5kb3cgPSBicm93c2VyX3dpbmRvd19maW5kKGVlKTsKLSAgICBpZiAoIXdp
bmRvdykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZWNvcmVfZXZhc19nZW9tZXRyeV9nZXQoZWUs
IE5VTEwsIE5VTEwsICZ3LCAmaCk7Ci0KLSAgICAvKiBSZXNpemUgVVJMIGJhciAqLwotICAgIHVy
bF9iYXJfd2lkdGhfc2V0KHdpbmRvdy0+dXJsX2Jhciwgdyk7Ci0KLSAgICBldmFzX29iamVjdF9t
b3ZlKHdpbmRvdy0+d2VidmlldywgMCwgVVJMX0JBUl9IRUlHSFQpOwotICAgIGV2YXNfb2JqZWN0
X3Jlc2l6ZSh3aW5kb3ctPndlYnZpZXcsIHcsIGggLSBVUkxfQkFSX0hFSUdIVCk7CisgICAgICAg
IGVsbV9leGl0KCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0xNzksMjMgKzE0OSwzNCBAQCBvbl9r
ZXlfZG93bih2b2lkICpkYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAqb2JqLCB2b2lkICpldmVu
dF9pbmZvKQogfQogCiBzdGF0aWMgdm9pZAotb25fbW91c2VfZG93bih2b2lkICpkYXRhLCBFdmFz
ICplLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKK3ZpZXdfZm9jdXNf
c2V0KEJyb3dzZXJfV2luZG93ICp3aW5kb3csIEVpbmFfQm9vbCBmb2N1cykKIHsKKyAgICAvKiBX
ZSBzdGVhbCBmb2N1cyBhd2F5IGZyb20gZWxtJ3MgZm9jdXMgbW9kZWwgYW5kIHN0YXJ0IHRvIGRv
IHRoaW5ncworICAgICAqIG1hbnVhbGx5IGhlcmUsIHNvIGVsbSBub3cgaGFzIG5vIGNsdWUgd2hh
dCdzIHVwLiBUZWxsIGVsbSB0aGF0IGl0cworICAgICAqIHRvcGxldmVsIHdpZGdldCBpcyB0byBi
ZSB1bmZvY3VzZWQgc28gZWxtIGdpdmVzIHVwIHRoZSBmb2N1cyAqLworICAgIGVsbV9vYmplY3Rf
Zm9jdXNfc2V0KGVsbV9vYmplY3RfdG9wX3dpZGdldF9nZXQod2luZG93LT53aW5kb3cpLCBFSU5B
X0ZBTFNFKTsKKyAgICBldmFzX29iamVjdF9mb2N1c19zZXQod2luZG93LT53ZWJ2aWV3LCBmb2N1
cyk7Cit9CisKK3N0YXRpYyB2b2lkCitvbl9tb3VzZV9kb3duKHZvaWQgKnVzZXJfZGF0YSwgRXZh
cyAqZSwgRXZhc19PYmplY3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCit7CisgICAgQnJv
d3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKICAgICBF
dmFzX0V2ZW50X01vdXNlX0Rvd24gKmV2ID0gKEV2YXNfRXZlbnRfTW91c2VfRG93biAqKWV2ZW50
X2luZm87CiAKICAgICBpZiAoZXYtPmJ1dHRvbiA9PSAxKQotICAgICAgICBldmFzX29iamVjdF9m
b2N1c19zZXQod2VidmlldywgRUlOQV9UUlVFKTsKKyAgICAgICAgdmlld19mb2N1c19zZXQod2lu
ZG93LCBFSU5BX1RSVUUpOwogICAgIGVsc2UgaWYgKGV2LT5idXR0b24gPT0gMikKLSAgICAgICAg
ZXZhc19vYmplY3RfZm9jdXNfc2V0KHdlYnZpZXcsICFldmFzX29iamVjdF9mb2N1c19nZXQod2Vi
dmlldykpOworICAgICAgICB2aWV3X2ZvY3VzX3NldCh3aW5kb3csICFldmFzX29iamVjdF9mb2N1
c19nZXQod2VidmlldykpOwogfQogCiBzdGF0aWMgdm9pZAotdGl0bGVfc2V0KEVjb3JlX0V2YXMg
KmVlLCBjb25zdCBjaGFyICp0aXRsZSwgaW50IHByb2dyZXNzKQordGl0bGVfc2V0KEV2YXNfT2Jq
ZWN0ICp3aW5kb3csIGNvbnN0IGNoYXIgKnRpdGxlLCBpbnQgcHJvZ3Jlc3MpCiB7Ci0gICAgRWlu
YV9TdHJidWYqIGJ1ZmZlcjsKKyAgICBFaW5hX1N0cmJ1ZiAqYnVmZmVyOwogCiAgICAgaWYgKCF0
aXRsZSB8fCAhKnRpdGxlKSB7Ci0gICAgICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGVlLCBBUFBf
TkFNRSk7CisgICAgICAgIGVsbV93aW5fdGl0bGVfc2V0KHdpbmRvdywgQVBQX05BTUUpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yMDUsNyArMTg2LDcgQEAgdGl0bGVfc2V0KEVjb3Jl
X0V2YXMgKmVlLCBjb25zdCBjaGFyICp0aXRsZSwgaW50IHByb2dyZXNzKQogICAgIGVsc2UKICAg
ICAgICAgZWluYV9zdHJidWZfYXBwZW5kX3ByaW50ZihidWZmZXIsICIlcyAtICVzIiwgdGl0bGUs
IEFQUF9OQU1FKTsKIAotICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGVlLCBlaW5hX3N0cmJ1Zl9z
dHJpbmdfZ2V0KGJ1ZmZlcikpOworICAgIGVsbV93aW5fdGl0bGVfc2V0KHdpbmRvdywgZWluYV9z
dHJidWZfc3RyaW5nX2dldChidWZmZXIpKTsKICAgICBlaW5hX3N0cmJ1Zl9mcmVlKGJ1ZmZlcik7
CiB9CiAKQEAgLTIxNSwxNCArMTk2LDE0IEBAIG9uX3RpdGxlX2NoYW5nZWQodm9pZCAqdXNlcl9k
YXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKICAgICBCcm93c2Vy
X1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhOwogICAgIGNvbnN0
IGNoYXIgKnRpdGxlID0gKGNvbnN0IGNoYXIgKilldmVudF9pbmZvOwogCi0gICAgdGl0bGVfc2V0
KHdpbmRvdy0+ZWUsIHRpdGxlLCAxMDApOworICAgIHRpdGxlX3NldCh3aW5kb3ctPndpbmRvdywg
dGl0bGUsIDEwMCk7CiB9CiAKIHN0YXRpYyB2b2lkCiBvbl91cmxfY2hhbmdlZCh2b2lkICp1c2Vy
X2RhdGEsIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3LCB2b2lkICpldmVudF9pbmZvKQogewogICAgIEJy
b3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7Ci0gICAg
dXJsX2Jhcl91cmxfc2V0KHdpbmRvdy0+dXJsX2JhciwgZXdrX3ZpZXdfdXJsX2dldCh3aW5kb3ct
PndlYnZpZXcpKTsKKyAgICBlbG1fZW50cnlfZW50cnlfc2V0KHdpbmRvdy0+dXJsX2JhciwgZXdr
X3ZpZXdfdXJsX2dldCh3aW5kb3ctPndlYnZpZXcpKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTIz
NSw3ICsyMTYsNyBAQCBvbl9uZXdfd2luZG93KHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3Qg
KndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiB9CiAKIHN0YXRpYyB2b2lkCi1vbl9jbG9zZV93
aW5kb3codm9pZCAqdXNlcl9kYXRhLCB2b2lkICpldmVudF9pbmZvKQorb25fY2xvc2Vfd2luZG93
KHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8p
CiB7CiAgICAgd2luZG93X2Nsb3NlKChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YSk7CiB9CkBA
IC0yNDYsNyArMjI3LDcgQEAgb25fcHJvZ3Jlc3Modm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVj
dCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKICAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93
ID0gKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhOwogICAgIGRvdWJsZSBwcm9ncmVzcyA9ICoo
ZG91YmxlICopZXZlbnRfaW5mbzsKIAotICAgIHRpdGxlX3NldCh3aW5kb3ctPmVlLCBld2tfdmll
d190aXRsZV9nZXQod2luZG93LT53ZWJ2aWV3KSwgcHJvZ3Jlc3MgKiAxMDApOworICAgIHRpdGxl
X3NldCh3aW5kb3ctPndpbmRvdywgZXdrX3ZpZXdfdGl0bGVfZ2V0KHdpbmRvdy0+d2Vidmlldyks
IHByb2dyZXNzICogMTAwKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTMwMyw2ICsyODQsNyBAQCBz
dGF0aWMgaW50CiBxdWl0KEVpbmFfQm9vbCBzdWNjZXNzLCBjb25zdCBjaGFyICptc2cpCiB7CiAg
ICAgZXdrX3NodXRkb3duKCk7CisgICAgZWxtX3NodXRkb3duKCk7CiAKICAgICBpZiAobXNnKQog
ICAgICAgICBmcHV0cyhtc2csIChzdWNjZXNzKSA/IHN0ZG91dCA6IHN0ZGVycik7CkBAIC0zMTMs
NzAgKzI5NSwxMTIgQEAgcXVpdChFaW5hX0Jvb2wgc3VjY2VzcywgY29uc3QgY2hhciAqbXNnKQog
ICAgIHJldHVybiBFWElUX1NVQ0NFU1M7CiB9CiAKLXN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2lu
ZG93X2NyZWF0ZShjb25zdCBjaGFyICp1cmwpCitzdGF0aWMgdm9pZAorb25fdXJsX2Jhcl9hY3Rp
dmF0ZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqdXJsX2Jhciwgdm9pZCAqZXZlbnRf
aW5mbykKIHsKLSAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gbWFsbG9jKHNpemVvZihCcm93
c2VyX1dpbmRvdykpOwotICAgIGlmICghd2luZG93KSB7Ci0gICAgICAgIGluZm8oIkVSUk9SOiBj
b3VsZCBub3QgY3JlYXRlIGJyb3dzZXIgd2luZG93LlxuIik7Ci0gICAgICAgIHJldHVybiBOVUxM
OwotICAgIH0KKyAgICBCcm93c2VyX1dpbmRvdyAqYXBwX2RhdGEgPSAoQnJvd3Nlcl9XaW5kb3cg
Kil1c2VyX2RhdGE7CiAKLSAgICB3aW5kb3ctPmVlID0gZWNvcmVfZXZhc19uZXcoZXZhc19lbmdp
bmVfbmFtZSwgMCwgMCwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQsIDApOwotICAgIGlm
ICghd2luZG93LT5lZSkgewotICAgICAgICBpbmZvKCJFUlJPUjogY291bGQgbm90IGNvbnN0cnVj
dCBlY29yZS1ldmFzLlxuIik7Ci0gICAgICAgIGZyZWUod2luZG93KTsKLSAgICAgICAgcmV0dXJu
IE5VTEw7Ci0gICAgfQorICAgIGNvbnN0IGNoYXIgKnVzZXJfdXJsID0gZWxtX2VudHJ5X2VudHJ5
X2dldCh1cmxfYmFyKTsKKyAgICBjaGFyICp1cmwgPSB1cmxfZnJvbV91c2VyX2lucHV0KHVzZXJf
dXJsKTsKKyAgICBld2tfdmlld191cmxfc2V0KGFwcF9kYXRhLT53ZWJ2aWV3LCB1cmwpOworICAg
IGZyZWUodXJsKTsKKworICAgIC8qIEdpdmUgZm9jdXMgYmFjayB0byB0aGUgdmlldyAqLworICAg
IHZpZXdfZm9jdXNfc2V0KGFwcF9kYXRhLCBFSU5BX1RSVUUpOworfQorCitzdGF0aWMgdm9pZAor
b25fdXJsX2Jhcl9jbGlja2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKnVybF9iYXIs
IHZvaWQgKmV2ZW50X2luZm8pCit7CisgICAgQnJvd3Nlcl9XaW5kb3cgKmFwcF9kYXRhID0gKEJy
b3dzZXJfV2luZG93ICopdXNlcl9kYXRhOworCisgICAgLyogR3JhYiBmb2N1cyBmcm9tIHRoZSB2
aWV3ICovCisgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KGFwcF9kYXRhLT53ZWJ2aWV3LCBFSU5B
X0ZBTFNFKTsKKyAgICBlbG1fb2JqZWN0X2ZvY3VzX3NldCh1cmxfYmFyLCBFSU5BX1RSVUUpOwor
fQogCi0gICAgZWNvcmVfZXZhc190aXRsZV9zZXQod2luZG93LT5lZSwgQVBQX05BTUUpOwotICAg
IGVjb3JlX2V2YXNfY2FsbGJhY2tfcmVzaXplX3NldCh3aW5kb3ctPmVlLCBvbl9lY29yZV9ldmFz
X3Jlc2l6ZSk7Ci0gICAgZWNvcmVfZXZhc19ib3JkZXJsZXNzX3NldCh3aW5kb3ctPmVlLCAwKTsK
LSAgICBlY29yZV9ldmFzX3Nob3cod2luZG93LT5lZSk7Ci0gICAgZWNvcmVfZXZhc19jYWxsYmFj
a19kZWxldGVfcmVxdWVzdF9zZXQod2luZG93LT5lZSwgb25fZWNvcmVfZXZhc19kZWxldGUpOwor
c3RhdGljIHZvaWQKK3dpbl9kZWxfY2Iodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2lu
ZG93LCB2b2lkICpldmVudF9pbmZvKQoreworICAgIHdpbmRvd19jbG9zZShicm93c2VyX3dpbmRv
d19maW5kKHdpbmRvdykpOworfQogCi0gICAgd2luZG93LT5ldmFzID0gZWNvcmVfZXZhc19nZXQo
d2luZG93LT5lZSk7Ci0gICAgaWYgKCF3aW5kb3ctPmV2YXMpIHsKLSAgICAgICAgaW5mbygiRVJS
T1I6IGNvdWxkIG5vdCBnZXQgZXZhcyBmcm9tIGV2YXMtZWNvcmUuXG4iKTsKLSAgICAgICAgZnJl
ZSh3aW5kb3cpOworc3RhdGljIEJyb3dzZXJfV2luZG93ICp3aW5kb3dfY3JlYXRlKGNvbnN0IGNo
YXIgKnVybCkKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqYXBwX2RhdGEgPSBtYWxsb2Moc2l6ZW9m
KEJyb3dzZXJfV2luZG93KSk7CisgICAgaWYgKCFhcHBfZGF0YSkgeworICAgICAgICBpbmZvKCJF
UlJPUjogY291bGQgbm90IGNyZWF0ZSBicm93c2VyIHdpbmRvdy5cbiIpOwogICAgICAgICByZXR1
cm4gTlVMTDsKICAgICB9CiAKKyAgICBhcHBfZGF0YS0+d2luZG93ID0gZWxtX3dpbl91dGlsX3N0
YW5kYXJkX2FkZCgibWluaWJyb3dzZXItd2luZG93IiwgQVBQX05BTUUpOworICAgIGVsbV93aW5f
Zm9jdXNfaGlnaGxpZ2h0X2VuYWJsZWRfc2V0KGFwcF9kYXRhLT53aW5kb3csIEVJTkFfVFJVRSk7
CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53aW5kb3csICJk
ZWxldGUscmVxdWVzdCIsIHdpbl9kZWxfY2IsICZhcHBfZGF0YSk7CisKKyAgICAvKiBDcmVhdGUg
YmFja2dyb3VuZCAqLworICAgIGFwcF9kYXRhLT5iZyA9IGVsbV9iZ19hZGQoYXBwX2RhdGEtPndp
bmRvdyk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwX2RhdGEtPmJn
LCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBlbG1fd2luX3Jlc2l6
ZV9vYmplY3RfYWRkKGFwcF9kYXRhLT53aW5kb3csIGFwcF9kYXRhLT5iZyk7CisgICAgZXZhc19v
YmplY3Rfc2hvdyhhcHBfZGF0YS0+YmcpOworCisgICAgLyogQ3JlYXRlIHZlcnRpY2FsIGxheW91
dCAqLworICAgIGFwcF9kYXRhLT52ZXJ0aWNhbF9sYXlvdXQgPSBlbG1fYm94X2FkZChhcHBfZGF0
YS0+d2luZG93KTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHBfZGF0
YS0+dmVydGljYWxfbGF5b3V0LCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsK
KyAgICBlbG1fd2luX3Jlc2l6ZV9vYmplY3RfYWRkKGFwcF9kYXRhLT53aW5kb3csIGFwcF9kYXRh
LT52ZXJ0aWNhbF9sYXlvdXQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwX2RhdGEtPnZlcnRp
Y2FsX2xheW91dCk7CisKKyAgICAvKiBDcmVhdGUgVVJMIGJhciAqLworICAgIGFwcF9kYXRhLT51
cmxfYmFyID0gZWxtX2VudHJ5X2FkZChhcHBfZGF0YS0+d2luZG93KTsKKyAgICBlbG1fZW50cnlf
c2luZ2xlX2xpbmVfc2V0KGFwcF9kYXRhLT51cmxfYmFyLCBFSU5BX1RSVUUpOworICAgIGVsbV9l
bnRyeV90ZXh0X3N0eWxlX3VzZXJfcHVzaChhcHBfZGF0YS0+dXJsX2JhciwgIkRFRkFVTFQ9J2Zv
bnRfc2l6ZT0xNiciKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2Rh
dGEtPnVybF9iYXIsICJhY3RpdmF0ZWQiLCBvbl91cmxfYmFyX2FjdGl2YXRlZCwgYXBwX2RhdGEp
OworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+dXJsX2Jhciwg
ImNsaWNrZWQiLCBvbl91cmxfYmFyX2NsaWNrZWQsIGFwcF9kYXRhKTsKKworICAgIGV2YXNfb2Jq
ZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcF9kYXRhLT51cmxfYmFyLCBFVkFTX0hJTlRfRVhQ
QU5ELCAwLjApOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF9hbGlnbl9zZXQoYXBwX2RhdGEt
PnVybF9iYXIsIEVWQVNfSElOVF9GSUxMLCAwLjApOworICAgIGVsbV9ib3hfcGFja19lbmQoYXBw
X2RhdGEtPnZlcnRpY2FsX2xheW91dCwgYXBwX2RhdGEtPnVybF9iYXIpOworICAgIGV2YXNfb2Jq
ZWN0X3Nob3coYXBwX2RhdGEtPnVybF9iYXIpOworCiAgICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8K
LSAgICB3aW5kb3ctPndlYnZpZXcgPSBld2tfdmlld19hZGQod2luZG93LT5ldmFzKTsKLSAgICBl
d2tfdmlld190aGVtZV9zZXQod2luZG93LT53ZWJ2aWV3LCBUSEVNRV9ESVIiL2RlZmF1bHQuZWRq
Iik7Ci0gICAgZXdrX3NldHRpbmdzX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3NldChld2tfdmll
d19zZXR0aW5nc19nZXQod2luZG93LT53ZWJ2aWV3KSwgZnJhbWVfZmxhdHRlbmluZ19lbmFibGVk
KTsKKyAgICBFdmFzICpldmFzID0gZXZhc19vYmplY3RfZXZhc19nZXQoYXBwX2RhdGEtPndpbmRv
dyk7CisgICAgYXBwX2RhdGEtPndlYnZpZXcgPSBld2tfdmlld19hZGQoZXZhcyk7CisgICAgZXdr
X3ZpZXdfdGhlbWVfc2V0KGFwcF9kYXRhLT53ZWJ2aWV3LCBUSEVNRV9ESVIiL2RlZmF1bHQuZWRq
Iik7CiAKLSAgICBFd2tfU2V0dGluZ3MgKnNldHRpbmdzID0gZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0
KHdpbmRvdy0+d2Vidmlldyk7CisgICAgRXdrX1NldHRpbmdzICpzZXR0aW5ncyA9IGV3a192aWV3
X3NldHRpbmdzX2dldChhcHBfZGF0YS0+d2Vidmlldyk7CiAgICAgZXdrX3NldHRpbmdzX2ZpbGVf
YWNjZXNzX2Zyb21fZmlsZV91cmxzX2FsbG93ZWRfc2V0KHNldHRpbmdzLCBFSU5BX1RSVUUpOwor
ICAgIGV3a19zZXR0aW5nc19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19zZXQoc2V0dGluZ3MsIGZy
YW1lX2ZsYXR0ZW5pbmdfZW5hYmxlZCk7CisKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFj
a19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJjbG9zZSx3aW5kb3ciLCBvbl9jbG9zZV93aW5kb3cs
IGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEt
PndlYnZpZXcsICJjcmVhdGUsd2luZG93Iiwgb25fbmV3X3dpbmRvdywgYXBwX2RhdGEpOworICAg
IGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImRvd25s
b2FkLGZhaWxlZCIsIG9uX2Rvd25sb2FkX2ZhaWxlZCwgYXBwX2RhdGEpOworICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImRvd25sb2FkLGZpbmlz
aGVkIiwgb25fZG93bmxvYWRfZmluaXNoZWQsIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJkb3dubG9hZCxyZXF1ZXN0Iiwg
b25fZG93bmxvYWRfcmVxdWVzdCwgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImxvYWQsZXJyb3IiLCBvbl9lcnJvciwgYXBw
X2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2Vi
dmlldywgImxvYWQscHJvZ3Jlc3MiLCBvbl9wcm9ncmVzcywgYXBwX2RhdGEpOworICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgInRpdGxlLGNoYW5n
ZWQiLCBvbl90aXRsZV9jaGFuZ2VkLCBhcHBfZGF0YSk7CisgICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAidXJsLGNoYW5nZWQiLCBvbl91cmxfY2hh
bmdlZCwgYXBwX2RhdGEpOworCisgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKGFw
cF9kYXRhLT53ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX0tFWV9ET1dOLCBvbl9rZXlfZG93biwgYXBw
X2RhdGEpOworICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2Vi
dmlldywgRVZBU19DQUxMQkFDS19NT1VTRV9ET1dOLCBvbl9tb3VzZV9kb3duLCBhcHBfZGF0YSk7
CisKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHBfZGF0YS0+d2Vidmll
dywgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisgICAgZXZhc19vYmplY3Rf
c2l6ZV9oaW50X2FsaWduX3NldChhcHBfZGF0YS0+d2VidmlldywgRVZBU19ISU5UX0ZJTEwsIEVW
QVNfSElOVF9GSUxMKTsKKyAgICBlbG1fYm94X3BhY2tfZW5kKGFwcF9kYXRhLT52ZXJ0aWNhbF9s
YXlvdXQsIGFwcF9kYXRhLT53ZWJ2aWV3KTsKKyAgICBldmFzX29iamVjdF9zaG93KGFwcF9kYXRh
LT53ZWJ2aWV3KTsKIAotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ct
PndlYnZpZXcsICJjbG9zZSx3aW5kb3ciLCBvbl9jbG9zZV93aW5kb3csIHdpbmRvdyk7Ci0gICAg
ZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgImNyZWF0ZSx3
aW5kb3ciLCBvbl9uZXdfd2luZG93LCB3aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJkb3dubG9hZCxmYWlsZWQiLCBvbl9kb3dubG9h
ZF9mYWlsZWQsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdp
bmRvdy0+d2VidmlldywgImRvd25sb2FkLGZpbmlzaGVkIiwgb25fZG93bmxvYWRfZmluaXNoZWQs
IHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2Vi
dmlldywgImRvd25sb2FkLHJlcXVlc3QiLCBvbl9kb3dubG9hZF9yZXF1ZXN0LCB3aW5kb3cpOwot
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJsb2Fk
LGVycm9yIiwgb25fZXJyb3IsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfYWRkKHdpbmRvdy0+d2VidmlldywgImxvYWQscHJvZ3Jlc3MiLCBvbl9wcm9ncmVzcywgd2lu
ZG93KTsKLSAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3
LCAidGl0bGUsY2hhbmdlZCIsIG9uX3RpdGxlX2NoYW5nZWQsIHdpbmRvdyk7Ci0gICAgZXZhc19v
YmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgInVybCxjaGFuZ2VkIiwg
b25fdXJsX2NoYW5nZWQsIHdpbmRvdyk7Ci0KLSAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFj
a19hZGQod2luZG93LT53ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX0tFWV9ET1dOLCBvbl9rZXlfZG93
biwgd2luZG93KTsKLSAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19hZGQod2luZG93LT53
ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX0RPV04sIG9uX21vdXNlX2Rvd24sIHdpbmRvdyk7
Ci0KLSAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldCh3aW5kb3ctPndlYnZpZXcs
IEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOwotICAgIGV2YXNfb2JqZWN0X21v
dmUod2luZG93LT53ZWJ2aWV3LCAwLCBVUkxfQkFSX0hFSUdIVCk7Ci0gICAgZXZhc19vYmplY3Rf
cmVzaXplKHdpbmRvdy0+d2VidmlldywgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQgLSBV
UkxfQkFSX0hFSUdIVCk7Ci0gICAgZXZhc19vYmplY3Rfc2hvdyh3aW5kb3ctPndlYnZpZXcpOwot
ICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ctPndlYnZpZXcsIEVJTkFfVFJVRSk7Cisg
ICAgaWYgKHVybCkKKyAgICAgICAgZXdrX3ZpZXdfdXJsX3NldChhcHBfZGF0YS0+d2Vidmlldywg
dXJsKTsKIAotICAgIHdpbmRvdy0+dXJsX2JhciA9IHVybF9iYXJfYWRkKHdpbmRvdy0+d2Vidmll
dywgREVGQVVMVF9XSURUSCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcF9kYXRhLT53aW5k
b3csIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9zaG93
KGFwcF9kYXRhLT53aW5kb3cpOwogCi0gICAgaWYgKHVybCkKLSAgICAgICAgZXdrX3ZpZXdfdXJs
X3NldCh3aW5kb3ctPndlYnZpZXcsIHVybCk7CisgICAgdmlld19mb2N1c19zZXQoYXBwX2RhdGEs
IEVJTkFfVFJVRSk7CiAKLSAgICByZXR1cm4gd2luZG93OworICAgIHJldHVybiBhcHBfZGF0YTsK
IH0KIAotaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0VBUElfTUFJTiBpbnQKK2Vs
bV9tYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAgICAgaW50IGFyZ3MgPSAxOwogICAg
IHVuc2lnbmVkIGNoYXIgcXVpdE9wdGlvbiA9IDA7CkBAIC00MTYsMTEgKzQ0MCw4IEBAIGludCBt
YWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAKICAgICB3aW5kb3dzID0gZWluYV9saXN0X2Fw
cGVuZCh3aW5kb3dzLCB3aW5kb3cpOwogCi0gICAgRWNvcmVfRXZlbnRfSGFuZGxlciAqaGFuZGxl
ID0gZWNvcmVfZXZlbnRfaGFuZGxlcl9hZGQoRUNPUkVfRVZFTlRfU0lHTkFMX0VYSVQsIG1haW5f
c2lnbmFsX2V4aXQsIDApOwotCi0gICAgZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7Ci0KLSAgICBl
Y29yZV9ldmVudF9oYW5kbGVyX2RlbChoYW5kbGUpOworICAgIGVsbV9ydW4oKTsKIAogICAgIHJl
dHVybiBxdWl0KEVJTkFfVFJVRSwgTlVMTCk7CiB9CitFTE1fTUFJTigpCmRpZmYgLS1naXQgYS9U
b29scy9lZmwvamhidWlsZC5tb2R1bGVzIGIvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcwppbmRl
eCAzZTU1ZGJiLi4xZmQyODgwIDEwMDY0NAotLS0gYS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVz
CisrKyBiL1Rvb2xzL2VmbC9qaGJ1aWxkLm1vZHVsZXMKQEAgLTE3LDYgKzE3LDcgQEAKICAgICAg
IDxkZXAgcGFja2FnZT0iZV9kYnVzIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVlemUiLz4KICAg
ICAgIDxkZXAgcGFja2FnZT0iZWZyZWV0Ii8+CisgICAgICA8ZGVwIHBhY2thZ2U9ImVsZW1lbnRh
cnkiLz4KICAgICAgIDxkZXAgcGFja2FnZT0ibGlieG1sMiIvPgogICAgIDwvZGVwZW5kZW5jaWVz
PgogICA8L21ldGFtb2R1bGU+CkBAIC00MSw2ICs0Miw4IEBACiAgICAgICBocmVmPSJodHRwOi8v
Z2l0LmVubGlnaHRlbm1lbnQuZnIvY2dpdC5jZ2kvc3ZuLyIvPgogICA8cmVwb3NpdG9yeSB0eXBl
PSJ0YXJiYWxsIiBuYW1lPSJ4bWxzb2Z0Lm9yZyIKICAgICAgIGhyZWY9ImZ0cDovL3htbHNvZnQu
b3JnIi8+IAorICA8cmVwb3NpdG9yeSB0eXBlPSJ0YXJiYWxsIiBuYW1lPSJkb3dubG9hZC5lbmxp
Z2h0ZW5tZW50Lm9yZyIKKyAgICAgIGhyZWY9Imh0dHA6Ly9kb3dubG9hZC5lbmxpZ2h0ZW5tZW50
Lm9yZyIvPgogCiAgIDxhdXRvdG9vbHMgaWQ9ImNhaXJvIiBhdXRvZ2VuLXNoPSJjb25maWd1cmUi
PgogICAgIDxkZXBlbmRlbmNpZXM+CkBAIC0xNTksMjAgKzE2MiwyMCBAQAogIDwvYXV0b3Rvb2xz
PgogCiAgIDxhdXRvdG9vbHMgaWQ9ImVpbmEiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlaW5hLmdp
dC9zbmFwc2hvdC9laW5hLWY5MDkyNmRkOWJmMTllYTk0NmQ3NTcyYjM2MzM1Y2MwYzVjZDNhYjUu
dGFyLmJ6MiIgdmVyc2lvbj0iNzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZWluYS1m
OTA5MjZkZDliZjE5ZWE5NDZkNzU3MmIzNjMzNWNjMGM1Y2QzYWI1IgotICAgICAgICAgICAgcmVw
bz0iZW5saWdodGVubWVudC5mciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1NjozODgyMTQ0MzRk
YmUzNzI2YWEzODk0ZTZmOTgzOGFkZmM0M2Q4YmQ2M2JiOTU5N2Y4NmE0ZWZiYzQ4YjQyY2FkIgot
ICAgICAgICAgICAgbWQ1c3VtPSJkYjc1NmRiZGEyYjhiNzdlNWY4MDdjM2VjY2NkMzRlNCI+Cisg
ICAgPGJyYW5jaCBtb2R1bGU9InJlbGVhc2VzL2VpbmEtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIx
LjcuMCIKKyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlaW5hLTEuNy4wIgorICAgICAgICAgICAg
cmVwbz0iZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEy
NTY6NmFhY2VkZWRiMDhhYTEwOTBhMWJlZWNiZjYyYWNmM2UyY2UwNjc2YWM4N2QyMWM3ODdjMDc5
ODNmODAxMTY2ZiIKKyAgICAgICAgICAgIG1kNXN1bT0iMzAzYjgxYmJmZmY2ODRlZWYwZTViZTcw
YmE5NzcwMTIiPgogICAgIDwvYnJhbmNoPgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xz
IGlkPSJlbWJyeW8iPgotICAgIDxicmFuY2ggbW9kdWxlPSJlbWJyeW8uZ2l0L3NuYXBzaG90L2Vt
YnJ5by0xOTFlMWI1ZjAyMmY3NjlkNjJhYmVjNjExMmY1MWU1ZmJlY2Q2ZGI5LnRhci5iejIiIHZl
cnNpb249IjczMDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVtYnJ5by0xOTFlMWI1ZjAy
MmY3NjlkNjJhYmVjNjExMmY1MWU1ZmJlY2Q2ZGI5IgotICAgICAgICAgICAgcmVwbz0iZW5saWdo
dGVubWVudC5mciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1NjpkOGE1N2Y1MTk4NWVlMTZlZTZh
N2ZkZTJkM2I5MzFlODNkYTVkMjZhMWE2MmVmYzAxMmQ2NGU2ZDVmZTM3NDhiIgotICAgICAgICAg
ICAgbWQ1c3VtPSJhZGViZWI4YzcwNGU3MDkxMmE5MjBlOGVmNGVjNDNjZCI+CisgICAgPGJyYW5j
aCBtb2R1bGU9InJlbGVhc2VzL2VtYnJ5by0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgor
ICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVtYnJ5by0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89
ImRvd25sb2FkLmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjI5
MGI0NTJlNmNiODdmNjRiMTFiNTI5YzdmNjdjNDAxOTJmODdhNzNjYzRjNWJlOTNhOTVmMTdiNzZm
NjUwNjMiCisgICAgICAgICAgICBtZDVzdW09ImY0NmJiOGFiMTY5OWNkN2FjYjg0NjNlNTBhM2Zm
YjRiIj4KICAgICA8L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNr
YWdlPSJlaW5hIi8+CkBAIC0xODAsMjAgKzE4MywyMCBAQAogICA8L2F1dG90b29scz4KIAogICA8
YXV0b3Rvb2xzIGlkPSJldmFzIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZXZhcy5naXQvc25hcHNo
b3QvZXZhcy0xNjljZjFiYjk2MjAwMWYxY2YzZTU5ZWI5NTAzODBhOWRjMWZjZWQzLnRhci5iejIi
IHZlcnNpb249IjczMDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImV2YXMtMTY5Y2YxYmI5
NjIwMDFmMWNmM2U1OWViOTUwMzgwYTlkYzFmY2VkMyIKLSAgICAgICAgICAgIHJlcG89ImVubGln
aHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6MmI1OTM1MGUwZmUzM2E4ZmU0
OWZjYmUwNDE5MmQwNWFiMzczNDU2ODRjNGViOWIxMGZiMGUwYTM1NTQ1ZTdkYSIKLSAgICAgICAg
ICAgIG1kNXN1bT0iYmZiNTQ0MmU1MDU1MWM2NGM3MDk0ODFhOWEzNWI0YTIiPgorICAgIDxicmFu
Y2ggbW9kdWxlPSJyZWxlYXNlcy9ldmFzLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisg
ICAgICAgICAgICBjaGVja291dGRpcj0iZXZhcy0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRv
d25sb2FkLmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjJkN2Ez
M2QwMmQyZGEzNzY0N2U0YzAxMjdmZWRlYmUwMGVlZWExNDU2MGQ2YzFiNmNhOWIwY2NjZGFlMGRl
ODQiCisgICAgICAgICAgICBtZDVzdW09IjMzNTk5MThmOGU2MGM3NzhiODYxY2YxY2RlMDJkM2E5
Ij4KICAgICA8L2JyYW5jaD4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZWNv
cmUiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlY29yZS5naXQvc25hcHNob3QvZWNvcmUtOWM5NmY5
YzE0MDMyMGU1MjAzMGQxYTIwNmQ4ZDMzMGFhNDZhYmM0NC50YXIuYnoyIiB2ZXJzaW9uPSI3MzAy
NyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlY29yZS05Yzk2ZjljMTQwMzIwZTUyMDMwZDFh
MjA2ZDhkMzMwYWE0NmFiYzQ0IgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVubWVudC5mciIK
LSAgICAgICAgICAgIGhhc2g9InNoYTI1Njo1NDZiOWMzODk1NTYwNzRhZDQ5ODJhMGUzODljY2Iw
ZTU1Y2VkNTljZTcyNWVhMmI1YzA2NWM0ZDYwMzEwMDY4IgotICAgICAgICAgICAgbWQ1c3VtPSJi
MTU1NzFmMjcxYTk5NjBiNTYyZjk4Y2IwOTI2ODQwOCI+CisgICAgPGJyYW5jaCBtb2R1bGU9InJl
bGVhc2VzL2Vjb3JlLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBj
aGVja291dGRpcj0iZWNvcmUtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxp
Z2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjpmMDA5ZTE3Mzc2YjdmM2Zi
NmNlNmI0NTY0OGQyYTAxMzFhMTUyOTQzYjUwMmZhMzRjYzRiZDAxOGY2N2RhOGJiIgorICAgICAg
ICAgICAgbWQ1c3VtPSJjZjBiNWU5ODBhNzdkYzBkMWJkZWRmMmJjYzYwZTg2MiI+CiAgICAgPC9i
cmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0iZWluYSIvPgpA
QCAtMjAyLDExICsyMDUsMTEgQEAKICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0i
ZWV0Ij4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZWV0LmdpdC9zbmFwc2hvdC9lZXQtMTVmZDUyZTQ4
MzFiOTQ2MzA4YTgwZGY5YTI1MzU3ZGMxOGM5N2NhMi50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIK
LSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlZXQtMTVmZDUyZTQ4MzFiOTQ2MzA4YTgwZGY5YTI1
MzU3ZGMxOGM5N2NhMiIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAg
ICAgICAgICBoYXNoPSJzaGEyNTY6NjJlZmYxMjQ4OTIzYmU3OTE4YmVmZjQ2ZTg1OThmZjJiMTM5
YjAyMjRmMGExYjg0NTE0MmNmMWIwNzg0MjJlNiIKLSAgICAgICAgICAgIG1kNXN1bT0iYmUwODYz
NGM3MDcxMmJiNDRhNTUzNGVmNWIyYTdhZjMiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNl
cy9lZXQtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAgIGNoZWNrb3V0
ZGlyPSJlZXQtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50
Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1Njo5YmNhNWJlY2FhYTVhYmY0YjdhYzBmODBk
ZTY4ZDNiOWE4ZjFhYmNlN2VjYTQxNzVlMWFkODI5NTM3ODNkMjA5IgorICAgICAgICAgICAgbWQ1
c3VtPSI0NmU5ODllYjRkZGRkOTQyYjQ1NjQyOTllMTlkOWY2NCI+CiAgICAgPC9icmFuY2g+CiAg
ICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0ibGliZ2NyeXB0Ii8+CkBAIC0y
MTUsMTEgKzIxOCwxMSBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJlZGpl
Ij4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZWRqZS5naXQvc25hcHNob3QvZWRqZS0xNDczOGVlZmFj
NTRkMWE4Y2ZlYWQyYjVhZWQzYjdmMDVjNWI0YmQ4LnRhci5iejIiIHZlcnNpb249IjczMDI3Igot
ICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVkamUtMTQ3MzhlZWZhYzU0ZDFhOGNmZWFkMmI1YWVk
M2I3ZjA1YzViNGJkOCIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAg
ICAgICAgICBoYXNoPSJzaGEyNTY6OWUxMDJmMGI0N2U5Y2RmYTczN2I1ZjgxYjExZDM1MmFlMDEy
MDYyMDk3MjllNTgxNWMyOGQ4MjYxODZiMjQ3ZSIKLSAgICAgICAgICAgIG1kNXN1bT0iNWYxOTk1
OTAxYzg0OGJkYWVjNTZmZjFmOTEzZWYwMmYiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNl
cy9lZGplLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291
dGRpcj0iZWRqZS0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1l
bnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OmQ2ZGY5YTdiZjExYzQ2MDVmNTVhMmU3
YzIwOTIxMDA0NGY4ZGM0ZjMzMzIxMzVmNjI1NjY3NmQyZjkzNzYyMWIiCisgICAgICAgICAgICBt
ZDVzdW09IjM3ZTE1YzVkNmU3YzI2NzY3MjhiZGE3NTEwOWIyMjE4Ij4KICAgICA8L2JyYW5jaD4K
ICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJlZXQiLz4KQEAgLTIzMCwx
MSArMjMzLDExIEBACiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9ImVfZGJ1cyI+
Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVfZGJ1cy5naXQvc25hcHNob3QvZV9kYnVzLTlkZTBhM2Uw
Yzk1OWNkYmFiYTAyMmViODg4Yjk2NzBiZDc2NmQzOGYudGFyLmJ6MiIgdmVyc2lvbj0iNzMwMjci
Ci0gICAgICAgICAgICBjaGVja291dGRpcj0iZV9kYnVzLTlkZTBhM2UwYzk1OWNkYmFiYTAyMmVi
ODg4Yjk2NzBiZDc2NmQzOGYiCi0gICAgICAgICAgICByZXBvPSJlbmxpZ2h0ZW5tZW50LmZyIgot
ICAgICAgICAgICAgaGFzaD0ic2hhMjU2OmY5NjU1YzNiYTY5MTc0ZGJkNjViNTIyMGE0OTJiOTcw
YWE5MjY0ZmYzMjgzY2JkOTYwYTg5YjY5ZTUzNTkxYjYiCi0gICAgICAgICAgICBtZDVzdW09IjRj
Y2ExZjk5NGUxNzgyM2NhOWJlMTk4NWY1YzRhZDA5Ij4KKyAgICA8YnJhbmNoIG1vZHVsZT0icmVs
ZWFzZXMvZV9kYnVzLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBj
aGVja291dGRpcj0iZV9kYnVzLTEuNy4wIgorICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQuZW5s
aWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NmVlMzAzYmQwZTJmOTFh
NmJlMDg0MzNkZjQ3NDM3NzQ5NGJhNjgxNTQ0MWU1ZTZiNzlhNWQyODRlYWQyYTc2OCIKKyAgICAg
ICAgICAgIG1kNXN1bT0iM2Q1OWJmYjAwNzYzYTYxOTc2YTk3NmJlOTI1ZTFjYmYiPgogICAgIDwv
YnJhbmNoPgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVjb3JlIi8+
CkBAIC0yNDMsMTEgKzI0NiwxMSBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlk
PSJlZXplIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZWV6ZS5naXQvc25hcHNob3QvZWV6ZS0wOWEz
NzliYzJjYzZjMWM3YWFiMDQ3ODk5MWExMDRiMGM2YWYxODQ0LnRhci5iejIiIHZlcnNpb249Ijcz
MDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVlemUtMDlhMzc5YmMyY2M2YzFjN2FhYjA0
Nzg5OTFhMTA0YjBjNmFmMTg0NCIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIi
Ci0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6MzEyZDYxNDI5YWY4NDVhNjMzM2MwYzk2OGVjN2Iw
OTAyOTgyMDgyZjE3MTQ1M2VlMTQzNDNhOGVmZTc3M2NmYyIKLSAgICAgICAgICAgIG1kNXN1bT0i
YzE2M2NhZWRjYmFiNTMyYjRkYzE2MDE0YjE0YmI5YmMiPgorICAgIDxicmFuY2ggbW9kdWxlPSJy
ZWxlYXNlcy9lZXplLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBj
aGVja291dGRpcj0iZWV6ZS0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVubGln
aHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjdkYjg3MDk0NDUxMTRkMWZl
MWMzNjA5Y2Y3OWEwNmUxM2EzZDU4NGE1YTNkZmQ1NTc2NDJkZGM2NWFjM2EyMDIiCisgICAgICAg
ICAgICBtZDVzdW09IjYwYThiYjYyZTNkMmNjN2RmYWMxNGYxY2Q2MjM0M2UyIj4KICAgICA8L2Jy
YW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJlY29yZSIvPgpA
QCAtMjU2LDExICsyNTksMTEgQEAKICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0i
ZWZyZWV0Ij4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZWZyZWV0LmdpdC9zbmFwc2hvdC9lZnJlZXQt
ZTc3MTJjODMwZjNhM2NiNGMxOTc2OTVkZTRjOTgxMzg3YmU4ZjIxNC50YXIuYnoyIiB2ZXJzaW9u
PSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlZnJlZXQtZTc3MTJjODMwZjNhM2Ni
NGMxOTc2OTVkZTRjOTgxMzg3YmU4ZjIxNCIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1l
bnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6NDgzOTE4N2MzY2MwOTllYjZiNjk4NmM2
OTI0ZjRlNGY2ZGZmZDIyZWNjYmMzZjFiZGRkMWE2MzEyYmM4Yzg0YyIKLSAgICAgICAgICAgIG1k
NXN1bT0iYmYyOGVlOWQ3YjUyMTFkNzJjMjc0MTJhN2YxY2RiODAiPgorICAgIDxicmFuY2ggbW9k
dWxlPSJyZWxlYXNlcy9lZnJlZXQtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAg
ICAgICAgIGNoZWNrb3V0ZGlyPSJlZnJlZXQtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3du
bG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjoxNmE0MWEw
M2Q1NWZlYmYzMGYyZGQ3ODZiNTFiZTNlMzcwZmM1NjNmMzMzNWRkMjY4MzJlMGVhYTg4NTE2Yzc5
IgorICAgICAgICAgICAgbWQ1c3VtPSJmMDM5MTk3ZTE0Mjg4ZWNlZjk0ZWVhYjA0MGNiYmRiNCI+
CiAgICAgPC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgICAgPGRlYiBwYWNrYWdl
PSJlY29yZSIvPgpAQCAtMjY5LDYgKzI3MiwyMSBAQAogICAgIDwvZGVwZW5kZW5jaWVzPgogICA8
L2F1dG90b29scz4KIAorICA8YXV0b3Rvb2xzIGlkPSJlbGVtZW50YXJ5Ij4KKyAgICA8YnJhbmNo
IG1vZHVsZT0icmVsZWFzZXMvZWxlbWVudGFyeS0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4w
IgorICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVsZW1lbnRhcnktMS43LjAiCisgICAgICAgICAg
ICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNo
YTI1Njo3ZTdkZWViNGUzYTliYmI5YzdiN2E4OWMyZWZiZTI2OWExYTZhNDRlZjM4MGJmOTFjMTA2
NmQxMjgxNjNlMmQzIgorICAgICAgICAgICAgbWQ1c3VtPSI0NTI2M2M1ZDEwNzk4MWE0NGQyODcz
NGM4MmU5ZmFlMSI+CisgICAgPC9icmFuY2g+CisgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAg
PGRlYiBwYWNrYWdlPSJlZGplIi8+CisgICAgICAgIDxkZWIgcGFja2FnZT0iZWluYSIvPgorICAg
ICAgICA8ZGViIHBhY2thZ2U9ImVldCIvPgorICAgICAgICA8ZGViIHBhY2thZ2U9ImVjb3JlIi8+
CisgICAgPC9kZXBlbmRlbmNpZXM+CisgIDwvYXV0b3Rvb2xzPgorCiAgIDxhdXRvdG9vbHMgaWQ9
ImxpYnhtbDIiPgogICAgIDxicmFuY2ggbW9kdWxlPSIvbGlieG1sMi9saWJ4bWwyLTIuOC4wLnRh
ci5neiIgdmVyc2lvbj0iMi44LjAiCiAgICAgICAgICAgICByZXBvPSJ4bWxzb2Z0Lm9yZyIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167785</attachid>
            <date>2012-10-09 10:57:27 -0700</date>
            <delta_ts>2012-10-10 00:11:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98748_minibrowser_elementary.patch</filename>
            <type>text/plain</type>
            <size>32605</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiMWI3Y2VhLi4yMGYwYzk4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMTAtMDkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXVtXSzJdIFBvcnQgTWluaUJyb3dzZXIgdG8gRWxlbWVudGFyeQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg3NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdW1wIEVGTCBs
aWJyYWlyaWVzIGRlcGVuZGVuY2llcyB0byB2MS43CisgICAgICAgIGFuZCBhZGQgRWxlbWVudGFy
eSBhcyBvcHRpb25hbCBkZXBlbmRlbmN5IG5vdworICAgICAgICB0aGF0IGl0IGlzIG5lZWRlZCB0
byBidWlsZCBNaW5pQnJvd3Nlci4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9GaW5kRWV0LmNt
YWtlOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2UvY21ha2UvRmluZEVsZW1lbnRhcnkuY21ha2U6
IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlOgorCiAyMDEy
LTEwLTA5ICBTaW1vbiBQZW5hICA8c3BlbmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBB
ZGQgc3VwcG9ydCBmb3IgcnVubmluZyBKYXZhU2NyaXB0IGZyb20gR1Jlc291cmNlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlL0ZpbmRFZXQuY21ha2UgYi9Tb3VyY2UvY21ha2UvRmluZEVldC5j
bWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmJmYzVmCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRFZXQuY21ha2UKQEAgLTAsMCArMSw0MSBAQAor
IyAtIFRyeSB0byBmaW5kIEVldAorIyBPbmNlIGRvbmUsIHRoaXMgd2lsbCBkZWZpbmUKKyMKKyMg
IEVFVF9GT1VORCAtIHN5c3RlbSBoYXMgRWV0IGluc3RhbGxlZC4KKyMgIEVFVF9JTkNMVURFX0RJ
UlMgLSBkaXJlY3RvcmllcyB3aGljaCBjb250YWluIHRoZSBFZXQgaGVhZGVycy4KKyMgIEVFVF9M
SUJSQVJJRVMgLSBsaWJyYXJpZXMgcmVxdWlyZWQgdG8gbGluayBhZ2FpbnN0IEVldC4KKyMKKyMg
Q29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
IyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVIgQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUworIyBJUycnIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIElUUworIyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsKKyMgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCisjIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SCisjIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKKyMgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKK0lOQ0xVREUoRUZMSGVscGVycykKKworRklORF9FRkxfTElCUkFSWShFRVQK
KyAgICBIRUFERVJTIEVldC5oCisgICAgSEVBREVSX1BSRUZJWEVTIGVldC0xCisgICAgTElCUkFS
WSBlZXQKKykKKworSU5DTFVERShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRf
UEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhFZXQgUkVRVUlSRURfVkFSUyBFRVRfSU5DTFVE
RV9ESVJTIEVFVF9MSUJSQVJJRVMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVkVSU0lPTl9WQVIgICBFRVRfVkVSU0lPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9G
aW5kRWxlbWVudGFyeS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kRWxlbWVudGFyeS5jbWFrZQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTVjYTc4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL2NtYWtlL0ZpbmRFbGVtZW50YXJ5LmNtYWtlCkBAIC0wLDAgKzEsNDEgQEAK
KyMgLSBUcnkgdG8gZmluZCBFbGVtZW50YXJ5CisjIE9uY2UgZG9uZSwgdGhpcyB3aWxsIGRlZmlu
ZQorIworIyAgRUxFTUVOVEFSWV9GT1VORCAtIHN5c3RlbSBoYXMgRWxlbWVudGFyeSBpbnN0YWxs
ZWQuCisjICBFTEVNRU5UQVJZX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVzIHdoaWNoIGNvbnRh
aW4gdGhlIEVsZW1lbnRhcnkgaGVhZGVycy4KKyMgIEVMRU1FTlRBUllfTElCUkFSSUVTIC0gbGli
cmFyaWVzIHJlcXVpcmVkIHRvIGxpbmsgYWdhaW5zdCBFbGVtZW50YXJ5LgorIworIyBDb3B5cmln
aHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTCisjIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBIT0xERVIgT1IgSVRTCisjIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOworIyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyMgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKKyMg
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRgorIyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworSU5DTFVERShFRkxIZWxwZXJzKQorCitGSU5EX0VGTF9MSUJSQVJZKEVMRU1FTlRBUlkK
KyAgICBIRUFERVJTIEVsZW1lbnRhcnkuaAorICAgIEhFQURFUl9QUkVGSVhFUyBlbGVtZW50YXJ5
LTEKKyAgICBMSUJSQVJZIGVsZW1lbnRhcnkKKykKKworSU5DTFVERShGaW5kUGFja2FnZUhhbmRs
ZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhFbGVtZW50
YXJ5IFJFUVVJUkVEX1ZBUlMgRUxFTUVOVEFSWV9JTkNMVURFX0RJUlMgRUxFTUVOVEFSWV9MSUJS
QVJJRVMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJ
T05fVkFSICAgRUxNX1ZFUlNJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IGI3ZmI5M2UuLmIy
NzcxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0xMDUsMTMgKzEwNSwxNyBAQCBJRiAoRU5B
QkxFX0VDT1JFX1gpCiAgICAgQUREX0RFRklOSVRJT05TKC1ESEFWRV9FQ09SRV9YKQogRU5ESUYg
KCkKIAotRklORF9QQUNLQUdFKEVpbmEgMS4yIFJFUVVJUkVEKQotRklORF9QQUNLQUdFKEV2YXMg
MS4yIFJFUVVJUkVEKQotRklORF9QQUNLQUdFKEVjb3JlIDEuMiBDT01QT05FTlRTIEV2YXMgRmls
ZSBJbnB1dCAke0VDT1JFX0FERElUSU9OQUxfQ09NUE9ORU5UU30pCi1GSU5EX1BBQ0tBR0UoRWRq
ZSAxLjIgUkVRVUlSRUQpCi1GSU5EX1BBQ0tBR0UoRWV6ZSAxLjIgUkVRVUlSRUQpCi1GSU5EX1BB
Q0tBR0UoRWZyZWV0IDEuMiBSRVFVSVJFRCkKLUZJTkRfUEFDS0FHRShFX0RCdXMgMS4yIENPTVBP
TkVOVFMgRVVLaXQpCitGSU5EX1BBQ0tBR0UoRWluYSAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tB
R0UoRXZhcyAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRWNvcmUgMS43IENPTVBPTkVOVFMg
RXZhcyBGaWxlIElucHV0ICR7RUNPUkVfQURESVRJT05BTF9DT01QT05FTlRTfSkKK0ZJTkRfUEFD
S0FHRShFZGplIDEuNyBSRVFVSVJFRCkKK0ZJTkRfUEFDS0FHRShFZXQgMS43IFJFUVVJUkVEKQor
RklORF9QQUNLQUdFKEVlemUgMS43IFJFUVVJUkVEKQorRklORF9QQUNLQUdFKEVmcmVldCAxLjcg
UkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRV9EQnVzIDEuNyBDT01QT05FTlRTIEVVS2l0KQorCisj
IEVsZW1lbnRhcnkgaXMgbmVlZGVkIHRvIGJ1aWxkIE1pbmlCcm93c2VyCitGSU5EX1BBQ0tBR0Uo
RWxlbWVudGFyeSAxLjcpCiAKIEZJTkRfUEFDS0FHRShGcmVldHlwZSAyLjQuMiBSRVFVSVJFRCkK
IEZJTkRfUEFDS0FHRShIYXJmQnV6eiAwLjkuMiBSRVFVSVJFRCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvQ01ha2VMaXN0cy50eHQKaW5kZXggMWE2YTY5Yi4uMWFh
MzliZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvQ01ha2VM
aXN0cy50eHQKQEAgLTEwLDcgKzEwLDcgQEAgSUYgKCIke1BPUlR9IiBTVFJFUVVBTCAiRWZsIikK
ICAgICAgICAgQUREX1NVQkRJUkVDVE9SWShFV2ViTGF1bmNoZXIpCiAgICAgRU5ESUYgKCkKIAot
ICAgIElGIChFTkFCTEVfV0VCS0lUMikKKyAgICBJRiAoRU5BQkxFX1dFQktJVDIgQU5EIEVMRU1F
TlRBUllfRk9VTkQpCiAgICAgICAgIEFERF9TVUJESVJFQ1RPUlkoTWluaUJyb3dzZXIvZWZsKQog
ICAgIEVORElGICgpCiAgICAgQUREX1NVQkRJUkVDVE9SWShEdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4pCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggZjFkYjYyOC4uNWZhNDdmZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTEwLTA5ICBDaHJpc3Rv
cGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF1b
V0syXSBQb3J0IE1pbmlCcm93c2VyIHRvIEVsZW1lbnRhcnkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NzQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG9ydCBNaW5pQnJvd3NlciB0byBFbGVtZW50YXJ5
IHRvIHNpbXBsaWZ5IHRoZQorICAgICAgICBjb2RlIGFuZCBtYWtlIGZ1dHVyZSBpbXByb3ZlbWVu
dHMgZWFzaWVyLiBUaGUKKyAgICAgICAgVVJMIGJhciBpcyBub3cgYW4gRWxlbWVudGFyeSBFbnRy
eSB3aWRnZXQgYW5kCisgICAgICAgIHN1cHBvcnRzIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSBs
aWtlIGNvcHkgLworICAgICAgICBwYXN0ZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIEVXZWJMYXVuY2hlci91cmxfYmFyLmM6CisgICAgICAgIChvbl91cmxiYXJfa2V5
X2Rvd24pOiBSZW1vdmUgV0syLXNwZWNpZmljIGNvZGUKKyAgICAgICAgbm93IHRoYXQgdGhpcyBm
aWxlIGlzIG5vIGxvbmdlciB1c2VkIGJ5IE1pbmlCcm93c2VyLgorICAgICAgICAqIE1pbmlCcm93
c2VyL2VmbC9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvbWFpbi5j
OgorICAgICAgICAoX0Jyb3dzZXJfV2luZG93KToKKyAgICAgICAgKHdpbmRvd19mcmVlKToKKyAg
ICAgICAgKHdpbmRvd19jbG9zZSk6CisgICAgICAgICh2aWV3X2ZvY3VzX3NldCk6CisgICAgICAg
IChvbl9tb3VzZV9kb3duKToKKyAgICAgICAgKHRpdGxlX3NldCk6CisgICAgICAgIChvbl90aXRs
ZV9jaGFuZ2VkKToKKyAgICAgICAgKG9uX3VybF9jaGFuZ2VkKToKKyAgICAgICAgKG9uX2Nsb3Nl
X3dpbmRvdyk6CisgICAgICAgIChvbl9wcm9ncmVzcyk6CisgICAgICAgIChxdWl0KToKKyAgICAg
ICAgKG9uX3VybF9iYXJfYWN0aXZhdGVkKToKKyAgICAgICAgKG9uX3VybF9iYXJfY2xpY2tlZCk6
CisgICAgICAgICh3aW5fZGVsX2NiKToKKyAgICAgICAgKHdpbmRvd19jcmVhdGUpOgorICAgICAg
ICAoZWxtX21haW4pOgorICAgICAgICAqIGVmbC9qaGJ1aWxkLm1vZHVsZXM6IEFkZCBFbGVtZW50
YXJ5IHRvIGpoYnVpbGQgYW5kIGJ1bXAKKyAgICAgICAgRUZMIGRlcGVuZGVuY2llcyB0byAxLjcu
CisKIDIwMTItMTAtMDkgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5AZGlnaWEuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgdHJpdmlhbCBRdCBidWlsZCBmaXg6IFJlbW92ZSBzdHJh
eSBjbG9zaW5nIGJyYWNlcyBmcm9tIHIxMzA3NTguCmRpZmYgLS1naXQgYS9Ub29scy9FV2ViTGF1
bmNoZXIvdXJsX2Jhci5jIGIvVG9vbHMvRVdlYkxhdW5jaGVyL3VybF9iYXIuYwppbmRleCBmNTY3
NTg4Li40MDhiNWFjIDEwMDY0NAotLS0gYS9Ub29scy9FV2ViTGF1bmNoZXIvdXJsX2Jhci5jCisr
KyBiL1Rvb2xzL0VXZWJMYXVuY2hlci91cmxfYmFyLmMKQEAgLTUwLDExICs1MCw3IEBAIG9uX3Vy
bGJhcl9rZXlfZG93bih2b2lkICpkYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAqb2JqLCB2b2lk
ICpldmVudF9pbmZvKQogCiAgICAgY2hhciAqdXJsID0gX3VybF9iYXJfdXJsX2dldF93aXRoX3By
b3RvY29sKHVybEJhcik7CiAgICAgaWYgKHVybCkgewotI2lmZGVmIEVGTF9XSzIKLSAgICAgICAg
ZXdrX3ZpZXdfdXJsX3NldCh1cmxCYXItPndlYlZpZXcsIHVybCk7Ci0jZWxzZQogICAgICAgICBl
d2tfdmlld191cmlfc2V0KHVybEJhci0+d2ViVmlldywgdXJsKTsKLSNlbmRpZgogICAgICAgICBm
cmVlKHVybCk7CiAgICAgfQogICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh1cmxCYXItPndlYlZp
ZXcsIEVJTkFfVFJVRSk7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VM
aXN0cy50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKaW5kZXggNGQ0
NzdlNS4uODAzOGQ2MiAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlz
dHMudHh0CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApAQCAtMSw3
ICsxLDYgQEAKIFNFVChNaW5pQnJvd3Nlcl9ESVIgIiR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9l
ZmwiKQogCiBTRVQoTWluaUJyb3dzZXJfU09VUkNFUwotICAgICR7VE9PTFNfRElSfS9FV2ViTGF1
bmNoZXIvdXJsX2Jhci5jCiAgICAgJHtUT09MU19ESVJ9L0VXZWJMYXVuY2hlci91cmxfdXRpbHMu
YwogICAgICR7TWluaUJyb3dzZXJfRElSfS9tYWluLmMKICkKQEAgLTEyLDcgKzExLDEyIEBAIFNF
VChNaW5pQnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgJHtFQ09SRV9FVkFTX0lOQ0xV
REVfRElSU30KICAgICAke0VDT1JFX0ZJTEVfSU5DTFVERV9ESVJTfQogICAgICR7RURKRV9JTkNM
VURFX0RJUlN9CisgICAgJHtFRVRfSU5DTFVERV9ESVJTfQorICAgICR7REJVU19JTkNMVURFX0RJ
UlN9CisgICAgJHtFX0RCVVNfSU5DTFVERV9ESVJTfQorICAgICR7RUZSRUVUX0lOQ0xVREVfRElS
U30KICAgICAke0VJTkFfSU5DTFVERV9ESVJTfQorICAgICR7RUxFTUVOVEFSWV9JTkNMVURFX0RJ
UlN9CiAgICAgJHtFVkFTX0lOQ0xVREVfRElSU30KICAgICAke1RPT0xTX0RJUn0vRVdlYkxhdW5j
aGVyCiAgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKQEAgLTMwLDYgKzM0LDcg
QEAgU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUwogICAgICR7RUNPUkVfRklMRV9MSUJSQVJJRVN9
CiAgICAgJHtFREpFX0xJQlJBUklFU30KICAgICAke0VJTkFfTElCUkFSSUVTfQorICAgICR7RUxF
TUVOVEFSWV9MSUJSQVJJRVN9CiAgICAgJHtFVkFTX0xJQlJBUklFU30KICAgICAke0ZPTlRDT05G
SUdfTElCUkFSSUVTfQogICAgICR7TElCU09VUF9MSUJSQVJJRVN9CkBAIC00Niw3ICs1MSw3IEBA
IElGIChFTkFCTEVfR0xJQl9TVVBQT1JUKQogICAgICkKIEVORElGICgpCiAKLUFERF9ERUZJTklU
SU9OUygtRFRIRU1FX0RJUj1cIiR7VEhFTUVfQklOQVJZX0RJUn1cIiAtREVGTF9XSzI9MSkKK0FE
RF9ERUZJTklUSU9OUygtRFRIRU1FX0RJUj1cIiR7VEhFTUVfQklOQVJZX0RJUn1cIikKIAogSU5D
TFVERV9ESVJFQ1RPUklFUygke01pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVN9KQogCmRp
ZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL21haW4uYwppbmRleCAwNTMxNDgxLi4xMzgxMjljIDEwMDY0NAotLS0gYS9Ub29scy9N
aW5pQnJvd3Nlci9lZmwvbWFpbi5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMK
QEAgLTE4LDExICsxOCwxMSBAQAogICovCiAKICNpbmNsdWRlICJFV2ViS2l0Mi5oIgotI2luY2x1
ZGUgInVybF9iYXIuaCIKICNpbmNsdWRlICJ1cmxfdXRpbHMuaCIKICNpbmNsdWRlIDxFY29yZS5o
PgogI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KICNpbmNsdWRlIDxFaW5hLmg+CisjaW5jbHVkZSA8
RWxlbWVudGFyeS5oPgogI2luY2x1ZGUgPEV2YXMuaD4KIAogc3RhdGljIGNvbnN0IGludCBERUZB
VUxUX1dJRFRIID0gODAwOwpAQCAtNDIsMTAgKzQyLDExIEBAIHN0YXRpYyBjaGFyICpldmFzX2Vu
Z2luZV9uYW1lID0gTlVMTDsKIHN0YXRpYyBFaW5hX0Jvb2wgZnJhbWVfZmxhdHRlbmluZ19lbmFi
bGVkID0gRUlOQV9GQUxTRTsKIAogdHlwZWRlZiBzdHJ1Y3QgX0Jyb3dzZXJfV2luZG93IHsKLSAg
ICBFY29yZV9FdmFzICplZTsKLSAgICBFdmFzICpldmFzOworICAgIEV2YXNfT2JqZWN0ICp3aW5k
b3c7CisgICAgRXZhc19PYmplY3QgKmJnOwogICAgIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3OwotICAg
IFVybF9CYXIgKnVybF9iYXI7CisgICAgRXZhc19PYmplY3QgKnVybF9iYXI7CisgICAgRXZhc19P
YmplY3QgKnZlcnRpY2FsX2xheW91dDsKIH0gQnJvd3Nlcl9XaW5kb3c7CiAKIHN0YXRpYyBjb25z
dCBFY29yZV9HZXRvcHQgb3B0aW9ucyA9IHsKQEAgLTc1LDI2ICs3NiwyOSBAQCBzdGF0aWMgY29u
c3QgRWNvcmVfR2V0b3B0IG9wdGlvbnMgPSB7CiAKIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2lu
ZG93X2NyZWF0ZShjb25zdCBjaGFyICp1cmwpOwogCi1zdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKmJy
b3dzZXJfd2luZG93X2ZpbmQoRWNvcmVfRXZhcyAqZWUpCitzdGF0aWMgQnJvd3Nlcl9XaW5kb3cg
KmJyb3dzZXJfd2luZG93X2ZpbmQoRXZhc19PYmplY3QgKndpbmRvdykKIHsKICAgICBFaW5hX0xp
c3QgKmw7CiAgICAgdm9pZCAqZGF0YTsKIAotICAgIGlmICghZWUpCisgICAgaWYgKCF3aW5kb3cp
CiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgRUlOQV9MSVNUX0ZPUkVBQ0god2luZG93cywg
bCwgZGF0YSkgewotICAgICAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2lu
ZG93ICopZGF0YTsKLSAgICAgICAgaWYgKHdpbmRvdy0+ZWUgPT0gZWUpCi0gICAgICAgICAgICBy
ZXR1cm4gd2luZG93OworICAgICAgICBCcm93c2VyX1dpbmRvdyAqYnJvd3Nlcl93aW5kb3cgPSAo
QnJvd3Nlcl9XaW5kb3cgKilkYXRhOworICAgICAgICBpZiAoYnJvd3Nlcl93aW5kb3ctPndpbmRv
dyA9PSB3aW5kb3cpCisgICAgICAgICAgICByZXR1cm4gYnJvd3Nlcl93aW5kb3c7CiAgICAgfQog
ICAgIHJldHVybiBOVUxMOwogfQogCiBzdGF0aWMgdm9pZCB3aW5kb3dfZnJlZShCcm93c2VyX1dp
bmRvdyAqd2luZG93KQogewotICAgIHVybF9iYXJfZGVsKHdpbmRvdy0+dXJsX2Jhcik7Ci0gICAg
ZWNvcmVfZXZhc19mcmVlKHdpbmRvdy0+ZWUpOworICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ct
PndlYnZpZXcpOworICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ctPnVybF9iYXIpOworICAgIGV2
YXNfb2JqZWN0X2RlbCh3aW5kb3ctPmJnKTsKKyAgICBldmFzX29iamVjdF9kZWwod2luZG93LT53
aW5kb3cpOworICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ctPnZlcnRpY2FsX2xheW91dCk7CiAg
ICAgZnJlZSh3aW5kb3cpOwogfQogCkBAIC0xMDQsNDEgKzEwOCw3IEBAIHN0YXRpYyB2b2lkIHdp
bmRvd19jbG9zZShCcm93c2VyX1dpbmRvdyAqd2luZG93KQogICAgIHdpbmRvd19mcmVlKHdpbmRv
dyk7CiAKICAgICBpZiAoIXdpbmRvd3MpCi0gICAgICAgIGVjb3JlX21haW5fbG9vcF9xdWl0KCk7
Ci19Ci0KLXN0YXRpYyBFaW5hX0Jvb2wgbWFpbl9zaWduYWxfZXhpdCh2b2lkICpkYXRhLCBpbnQg
ZXZfdHlwZSwgdm9pZCAqZXYpCi17Ci0gICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRvdzsKLSAgICBF
SU5BX0xJU1RfRlJFRSh3aW5kb3dzLCB3aW5kb3cpCi0gICAgICAgIHdpbmRvd19mcmVlKHdpbmRv
dyk7Ci0KLSAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOwotICAgIHJldHVybiBFSU5BX1RSVUU7
Ci19Ci0KLXN0YXRpYyB2b2lkIG9uX2Vjb3JlX2V2YXNfZGVsZXRlKEVjb3JlX0V2YXMgKmVlKQot
ewotICAgIHdpbmRvd19jbG9zZShicm93c2VyX3dpbmRvd19maW5kKGVlKSk7Ci19Ci0KLXN0YXRp
YyB2b2lkIG9uX2Vjb3JlX2V2YXNfcmVzaXplKEVjb3JlX0V2YXMgKmVlKQotewotICAgIEJyb3dz
ZXJfV2luZG93ICp3aW5kb3c7Ci0gICAgRXZhc19PYmplY3QgKndlYnZpZXc7Ci0gICAgaW50IHcs
IGg7Ci0KLSAgICB3aW5kb3cgPSBicm93c2VyX3dpbmRvd19maW5kKGVlKTsKLSAgICBpZiAoIXdp
bmRvdykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZWNvcmVfZXZhc19nZW9tZXRyeV9nZXQoZWUs
IE5VTEwsIE5VTEwsICZ3LCAmaCk7Ci0KLSAgICAvKiBSZXNpemUgVVJMIGJhciAqLwotICAgIHVy
bF9iYXJfd2lkdGhfc2V0KHdpbmRvdy0+dXJsX2Jhciwgdyk7Ci0KLSAgICBldmFzX29iamVjdF9t
b3ZlKHdpbmRvdy0+d2VidmlldywgMCwgVVJMX0JBUl9IRUlHSFQpOwotICAgIGV2YXNfb2JqZWN0
X3Jlc2l6ZSh3aW5kb3ctPndlYnZpZXcsIHcsIGggLSBVUkxfQkFSX0hFSUdIVCk7CisgICAgICAg
IGVsbV9leGl0KCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0xNzksMjMgKzE0OSwzNCBAQCBvbl9r
ZXlfZG93bih2b2lkICpkYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAqb2JqLCB2b2lkICpldmVu
dF9pbmZvKQogfQogCiBzdGF0aWMgdm9pZAotb25fbW91c2VfZG93bih2b2lkICpkYXRhLCBFdmFz
ICplLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKK3ZpZXdfZm9jdXNf
c2V0KEJyb3dzZXJfV2luZG93ICp3aW5kb3csIEVpbmFfQm9vbCBmb2N1cykKIHsKKyAgICAvKiBX
ZSBzdGVhbCBmb2N1cyBhd2F5IGZyb20gZWxtJ3MgZm9jdXMgbW9kZWwgYW5kIHN0YXJ0IHRvIGRv
IHRoaW5ncworICAgICAqIG1hbnVhbGx5IGhlcmUsIHNvIGVsbSBub3cgaGFzIG5vIGNsdWUgd2hh
dCdzIHVwLiBUZWxsIGVsbSB0aGF0IGl0cworICAgICAqIHRvcGxldmVsIHdpZGdldCBpcyB0byBi
ZSB1bmZvY3VzZWQgc28gZWxtIGdpdmVzIHVwIHRoZSBmb2N1cyAqLworICAgIGVsbV9vYmplY3Rf
Zm9jdXNfc2V0KGVsbV9vYmplY3RfdG9wX3dpZGdldF9nZXQod2luZG93LT53aW5kb3cpLCBFSU5B
X0ZBTFNFKTsKKyAgICBldmFzX29iamVjdF9mb2N1c19zZXQod2luZG93LT53ZWJ2aWV3LCBmb2N1
cyk7Cit9CisKK3N0YXRpYyB2b2lkCitvbl9tb3VzZV9kb3duKHZvaWQgKnVzZXJfZGF0YSwgRXZh
cyAqZSwgRXZhc19PYmplY3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCit7CisgICAgQnJv
d3Nlcl9XaW5kb3cgKndpbmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKICAgICBF
dmFzX0V2ZW50X01vdXNlX0Rvd24gKmV2ID0gKEV2YXNfRXZlbnRfTW91c2VfRG93biAqKWV2ZW50
X2luZm87CiAKICAgICBpZiAoZXYtPmJ1dHRvbiA9PSAxKQotICAgICAgICBldmFzX29iamVjdF9m
b2N1c19zZXQod2VidmlldywgRUlOQV9UUlVFKTsKKyAgICAgICAgdmlld19mb2N1c19zZXQod2lu
ZG93LCBFSU5BX1RSVUUpOwogICAgIGVsc2UgaWYgKGV2LT5idXR0b24gPT0gMikKLSAgICAgICAg
ZXZhc19vYmplY3RfZm9jdXNfc2V0KHdlYnZpZXcsICFldmFzX29iamVjdF9mb2N1c19nZXQod2Vi
dmlldykpOworICAgICAgICB2aWV3X2ZvY3VzX3NldCh3aW5kb3csICFldmFzX29iamVjdF9mb2N1
c19nZXQod2VidmlldykpOwogfQogCiBzdGF0aWMgdm9pZAotdGl0bGVfc2V0KEVjb3JlX0V2YXMg
KmVlLCBjb25zdCBjaGFyICp0aXRsZSwgaW50IHByb2dyZXNzKQordGl0bGVfc2V0KEV2YXNfT2Jq
ZWN0ICp3aW5kb3csIGNvbnN0IGNoYXIgKnRpdGxlLCBpbnQgcHJvZ3Jlc3MpCiB7Ci0gICAgRWlu
YV9TdHJidWYqIGJ1ZmZlcjsKKyAgICBFaW5hX1N0cmJ1ZiAqYnVmZmVyOwogCiAgICAgaWYgKCF0
aXRsZSB8fCAhKnRpdGxlKSB7Ci0gICAgICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGVlLCBBUFBf
TkFNRSk7CisgICAgICAgIGVsbV93aW5fdGl0bGVfc2V0KHdpbmRvdywgQVBQX05BTUUpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yMDUsNyArMTg2LDcgQEAgdGl0bGVfc2V0KEVjb3Jl
X0V2YXMgKmVlLCBjb25zdCBjaGFyICp0aXRsZSwgaW50IHByb2dyZXNzKQogICAgIGVsc2UKICAg
ICAgICAgZWluYV9zdHJidWZfYXBwZW5kX3ByaW50ZihidWZmZXIsICIlcyAtICVzIiwgdGl0bGUs
IEFQUF9OQU1FKTsKIAotICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGVlLCBlaW5hX3N0cmJ1Zl9z
dHJpbmdfZ2V0KGJ1ZmZlcikpOworICAgIGVsbV93aW5fdGl0bGVfc2V0KHdpbmRvdywgZWluYV9z
dHJidWZfc3RyaW5nX2dldChidWZmZXIpKTsKICAgICBlaW5hX3N0cmJ1Zl9mcmVlKGJ1ZmZlcik7
CiB9CiAKQEAgLTIxNSwxNCArMTk2LDE0IEBAIG9uX3RpdGxlX2NoYW5nZWQodm9pZCAqdXNlcl9k
YXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKICAgICBCcm93c2Vy
X1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhOwogICAgIGNvbnN0
IGNoYXIgKnRpdGxlID0gKGNvbnN0IGNoYXIgKilldmVudF9pbmZvOwogCi0gICAgdGl0bGVfc2V0
KHdpbmRvdy0+ZWUsIHRpdGxlLCAxMDApOworICAgIHRpdGxlX3NldCh3aW5kb3ctPndpbmRvdywg
dGl0bGUsIDEwMCk7CiB9CiAKIHN0YXRpYyB2b2lkCiBvbl91cmxfY2hhbmdlZCh2b2lkICp1c2Vy
X2RhdGEsIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3LCB2b2lkICpldmVudF9pbmZvKQogewogICAgIEJy
b3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7Ci0gICAg
dXJsX2Jhcl91cmxfc2V0KHdpbmRvdy0+dXJsX2JhciwgZXdrX3ZpZXdfdXJsX2dldCh3aW5kb3ct
PndlYnZpZXcpKTsKKyAgICBlbG1fZW50cnlfZW50cnlfc2V0KHdpbmRvdy0+dXJsX2JhciwgZXdr
X3ZpZXdfdXJsX2dldCh3aW5kb3ctPndlYnZpZXcpKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTIz
NSw3ICsyMTYsNyBAQCBvbl9uZXdfd2luZG93KHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3Qg
KndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiB9CiAKIHN0YXRpYyB2b2lkCi1vbl9jbG9zZV93
aW5kb3codm9pZCAqdXNlcl9kYXRhLCB2b2lkICpldmVudF9pbmZvKQorb25fY2xvc2Vfd2luZG93
KHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8p
CiB7CiAgICAgd2luZG93X2Nsb3NlKChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YSk7CiB9CkBA
IC0yNDYsNyArMjI3LDcgQEAgb25fcHJvZ3Jlc3Modm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVj
dCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKICAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93
ID0gKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhOwogICAgIGRvdWJsZSBwcm9ncmVzcyA9ICoo
ZG91YmxlICopZXZlbnRfaW5mbzsKIAotICAgIHRpdGxlX3NldCh3aW5kb3ctPmVlLCBld2tfdmll
d190aXRsZV9nZXQod2luZG93LT53ZWJ2aWV3KSwgcHJvZ3Jlc3MgKiAxMDApOworICAgIHRpdGxl
X3NldCh3aW5kb3ctPndpbmRvdywgZXdrX3ZpZXdfdGl0bGVfZ2V0KHdpbmRvdy0+d2Vidmlldyks
IHByb2dyZXNzICogMTAwKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTMwMyw2ICsyODQsNyBAQCBz
dGF0aWMgaW50CiBxdWl0KEVpbmFfQm9vbCBzdWNjZXNzLCBjb25zdCBjaGFyICptc2cpCiB7CiAg
ICAgZXdrX3NodXRkb3duKCk7CisgICAgZWxtX3NodXRkb3duKCk7CiAKICAgICBpZiAobXNnKQog
ICAgICAgICBmcHV0cyhtc2csIChzdWNjZXNzKSA/IHN0ZG91dCA6IHN0ZGVycik7CkBAIC0zMTMs
NzAgKzI5NSwxMTIgQEAgcXVpdChFaW5hX0Jvb2wgc3VjY2VzcywgY29uc3QgY2hhciAqbXNnKQog
ICAgIHJldHVybiBFWElUX1NVQ0NFU1M7CiB9CiAKLXN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2lu
ZG93X2NyZWF0ZShjb25zdCBjaGFyICp1cmwpCitzdGF0aWMgdm9pZAorb25fdXJsX2Jhcl9hY3Rp
dmF0ZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqdXJsX2Jhciwgdm9pZCAqZXZlbnRf
aW5mbykKIHsKLSAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gbWFsbG9jKHNpemVvZihCcm93
c2VyX1dpbmRvdykpOwotICAgIGlmICghd2luZG93KSB7Ci0gICAgICAgIGluZm8oIkVSUk9SOiBj
b3VsZCBub3QgY3JlYXRlIGJyb3dzZXIgd2luZG93LlxuIik7Ci0gICAgICAgIHJldHVybiBOVUxM
OwotICAgIH0KKyAgICBCcm93c2VyX1dpbmRvdyAqYXBwX2RhdGEgPSAoQnJvd3Nlcl9XaW5kb3cg
Kil1c2VyX2RhdGE7CiAKLSAgICB3aW5kb3ctPmVlID0gZWNvcmVfZXZhc19uZXcoZXZhc19lbmdp
bmVfbmFtZSwgMCwgMCwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQsIDApOwotICAgIGlm
ICghd2luZG93LT5lZSkgewotICAgICAgICBpbmZvKCJFUlJPUjogY291bGQgbm90IGNvbnN0cnVj
dCBlY29yZS1ldmFzLlxuIik7Ci0gICAgICAgIGZyZWUod2luZG93KTsKLSAgICAgICAgcmV0dXJu
IE5VTEw7Ci0gICAgfQorICAgIGNvbnN0IGNoYXIgKnVzZXJfdXJsID0gZWxtX2VudHJ5X2VudHJ5
X2dldCh1cmxfYmFyKTsKKyAgICBjaGFyICp1cmwgPSB1cmxfZnJvbV91c2VyX2lucHV0KHVzZXJf
dXJsKTsKKyAgICBld2tfdmlld191cmxfc2V0KGFwcF9kYXRhLT53ZWJ2aWV3LCB1cmwpOworICAg
IGZyZWUodXJsKTsKKworICAgIC8qIEdpdmUgZm9jdXMgYmFjayB0byB0aGUgdmlldyAqLworICAg
IHZpZXdfZm9jdXNfc2V0KGFwcF9kYXRhLCBFSU5BX1RSVUUpOworfQorCitzdGF0aWMgdm9pZAor
b25fdXJsX2Jhcl9jbGlja2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKnVybF9iYXIs
IHZvaWQgKmV2ZW50X2luZm8pCit7CisgICAgQnJvd3Nlcl9XaW5kb3cgKmFwcF9kYXRhID0gKEJy
b3dzZXJfV2luZG93ICopdXNlcl9kYXRhOworCisgICAgLyogR3JhYiBmb2N1cyBmcm9tIHRoZSB2
aWV3ICovCisgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KGFwcF9kYXRhLT53ZWJ2aWV3LCBFSU5B
X0ZBTFNFKTsKKyAgICBlbG1fb2JqZWN0X2ZvY3VzX3NldCh1cmxfYmFyLCBFSU5BX1RSVUUpOwor
fQogCi0gICAgZWNvcmVfZXZhc190aXRsZV9zZXQod2luZG93LT5lZSwgQVBQX05BTUUpOwotICAg
IGVjb3JlX2V2YXNfY2FsbGJhY2tfcmVzaXplX3NldCh3aW5kb3ctPmVlLCBvbl9lY29yZV9ldmFz
X3Jlc2l6ZSk7Ci0gICAgZWNvcmVfZXZhc19ib3JkZXJsZXNzX3NldCh3aW5kb3ctPmVlLCAwKTsK
LSAgICBlY29yZV9ldmFzX3Nob3cod2luZG93LT5lZSk7Ci0gICAgZWNvcmVfZXZhc19jYWxsYmFj
a19kZWxldGVfcmVxdWVzdF9zZXQod2luZG93LT5lZSwgb25fZWNvcmVfZXZhc19kZWxldGUpOwor
c3RhdGljIHZvaWQKK3dpbl9kZWxfY2Iodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2lu
ZG93LCB2b2lkICpldmVudF9pbmZvKQoreworICAgIHdpbmRvd19jbG9zZShicm93c2VyX3dpbmRv
d19maW5kKHdpbmRvdykpOworfQogCi0gICAgd2luZG93LT5ldmFzID0gZWNvcmVfZXZhc19nZXQo
d2luZG93LT5lZSk7Ci0gICAgaWYgKCF3aW5kb3ctPmV2YXMpIHsKLSAgICAgICAgaW5mbygiRVJS
T1I6IGNvdWxkIG5vdCBnZXQgZXZhcyBmcm9tIGV2YXMtZWNvcmUuXG4iKTsKLSAgICAgICAgZnJl
ZSh3aW5kb3cpOworc3RhdGljIEJyb3dzZXJfV2luZG93ICp3aW5kb3dfY3JlYXRlKGNvbnN0IGNo
YXIgKnVybCkKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqYXBwX2RhdGEgPSBtYWxsb2Moc2l6ZW9m
KEJyb3dzZXJfV2luZG93KSk7CisgICAgaWYgKCFhcHBfZGF0YSkgeworICAgICAgICBpbmZvKCJF
UlJPUjogY291bGQgbm90IGNyZWF0ZSBicm93c2VyIHdpbmRvdy5cbiIpOwogICAgICAgICByZXR1
cm4gTlVMTDsKICAgICB9CiAKKyAgICBhcHBfZGF0YS0+d2luZG93ID0gZWxtX3dpbl91dGlsX3N0
YW5kYXJkX2FkZCgibWluaWJyb3dzZXItd2luZG93IiwgQVBQX05BTUUpOworICAgIGVsbV93aW5f
Zm9jdXNfaGlnaGxpZ2h0X2VuYWJsZWRfc2V0KGFwcF9kYXRhLT53aW5kb3csIEVJTkFfVFJVRSk7
CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53aW5kb3csICJk
ZWxldGUscmVxdWVzdCIsIHdpbl9kZWxfY2IsICZhcHBfZGF0YSk7CisKKyAgICAvKiBDcmVhdGUg
YmFja2dyb3VuZCAqLworICAgIGFwcF9kYXRhLT5iZyA9IGVsbV9iZ19hZGQoYXBwX2RhdGEtPndp
bmRvdyk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwX2RhdGEtPmJn
LCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBlbG1fd2luX3Jlc2l6
ZV9vYmplY3RfYWRkKGFwcF9kYXRhLT53aW5kb3csIGFwcF9kYXRhLT5iZyk7CisgICAgZXZhc19v
YmplY3Rfc2hvdyhhcHBfZGF0YS0+YmcpOworCisgICAgLyogQ3JlYXRlIHZlcnRpY2FsIGxheW91
dCAqLworICAgIGFwcF9kYXRhLT52ZXJ0aWNhbF9sYXlvdXQgPSBlbG1fYm94X2FkZChhcHBfZGF0
YS0+d2luZG93KTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHBfZGF0
YS0+dmVydGljYWxfbGF5b3V0LCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsK
KyAgICBlbG1fd2luX3Jlc2l6ZV9vYmplY3RfYWRkKGFwcF9kYXRhLT53aW5kb3csIGFwcF9kYXRh
LT52ZXJ0aWNhbF9sYXlvdXQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwX2RhdGEtPnZlcnRp
Y2FsX2xheW91dCk7CisKKyAgICAvKiBDcmVhdGUgVVJMIGJhciAqLworICAgIGFwcF9kYXRhLT51
cmxfYmFyID0gZWxtX2VudHJ5X2FkZChhcHBfZGF0YS0+d2luZG93KTsKKyAgICBlbG1fZW50cnlf
ZW5kX3Zpc2libGVfc2V0KGFwcF9kYXRhLT51cmxfYmFyLCBFSU5BX0ZBTFNFKTsKKyAgICBlbG1f
ZW50cnlfc2luZ2xlX2xpbmVfc2V0KGFwcF9kYXRhLT51cmxfYmFyLCBFSU5BX1RSVUUpOworICAg
IGVsbV9lbnRyeV90ZXh0X3N0eWxlX3VzZXJfcHVzaChhcHBfZGF0YS0+dXJsX2JhciwgIkRFRkFV
TFQ9J2ZvbnRfc2l6ZT0xNiciKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQo
YXBwX2RhdGEtPnVybF9iYXIsICJhY3RpdmF0ZWQiLCBvbl91cmxfYmFyX2FjdGl2YXRlZCwgYXBw
X2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+dXJs
X2JhciwgImNsaWNrZWQiLCBvbl91cmxfYmFyX2NsaWNrZWQsIGFwcF9kYXRhKTsKKyAgICBldmFz
X29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHBfZGF0YS0+dXJsX2JhciwgRVZBU19ISU5U
X0VYUEFORCwgMC4wKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfYWxpZ25fc2V0KGFwcF9k
YXRhLT51cmxfYmFyLCBFVkFTX0hJTlRfRklMTCwgMC4wKTsKKyAgICBlbG1fYm94X3BhY2tfZW5k
KGFwcF9kYXRhLT52ZXJ0aWNhbF9sYXlvdXQsIGFwcF9kYXRhLT51cmxfYmFyKTsKKyAgICBldmFz
X29iamVjdF9zaG93KGFwcF9kYXRhLT51cmxfYmFyKTsKKwogICAgIC8qIENyZWF0ZSB3ZWJ2aWV3
ICovCi0gICAgd2luZG93LT53ZWJ2aWV3ID0gZXdrX3ZpZXdfYWRkKHdpbmRvdy0+ZXZhcyk7Ci0g
ICAgZXdrX3ZpZXdfdGhlbWVfc2V0KHdpbmRvdy0+d2VidmlldywgVEhFTUVfRElSIi9kZWZhdWx0
LmVkaiIpOwotICAgIGV3a19zZXR0aW5nc19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19zZXQoZXdr
X3ZpZXdfc2V0dGluZ3NfZ2V0KHdpbmRvdy0+d2VidmlldyksIGZyYW1lX2ZsYXR0ZW5pbmdfZW5h
YmxlZCk7CisgICAgRXZhcyAqZXZhcyA9IGV2YXNfb2JqZWN0X2V2YXNfZ2V0KGFwcF9kYXRhLT53
aW5kb3cpOworICAgIGFwcF9kYXRhLT53ZWJ2aWV3ID0gZXdrX3ZpZXdfYWRkKGV2YXMpOworICAg
IGV3a192aWV3X3RoZW1lX3NldChhcHBfZGF0YS0+d2VidmlldywgVEhFTUVfRElSIi9kZWZhdWx0
LmVkaiIpOwogCi0gICAgRXdrX1NldHRpbmdzICpzZXR0aW5ncyA9IGV3a192aWV3X3NldHRpbmdz
X2dldCh3aW5kb3ctPndlYnZpZXcpOworICAgIEV3a19TZXR0aW5ncyAqc2V0dGluZ3MgPSBld2tf
dmlld19zZXR0aW5nc19nZXQoYXBwX2RhdGEtPndlYnZpZXcpOwogICAgIGV3a19zZXR0aW5nc19m
aWxlX2FjY2Vzc19mcm9tX2ZpbGVfdXJsc19hbGxvd2VkX3NldChzZXR0aW5ncywgRUlOQV9UUlVF
KTsKKyAgICBld2tfc2V0dGluZ3NfZW5hYmxlX2ZyYW1lX2ZsYXR0ZW5pbmdfc2V0KHNldHRpbmdz
LCBmcmFtZV9mbGF0dGVuaW5nX2VuYWJsZWQpOworCisgICAgZXZhc19vYmplY3Rfc21hcnRfY2Fs
bGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAiY2xvc2Usd2luZG93Iiwgb25fY2xvc2Vfd2lu
ZG93LCBhcHBfZGF0YSk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9k
YXRhLT53ZWJ2aWV3LCAiY3JlYXRlLHdpbmRvdyIsIG9uX25ld193aW5kb3csIGFwcF9kYXRhKTsK
KyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJk
b3dubG9hZCxmYWlsZWQiLCBvbl9kb3dubG9hZF9mYWlsZWQsIGFwcF9kYXRhKTsKKyAgICBldmFz
X29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJkb3dubG9hZCxm
aW5pc2hlZCIsIG9uX2Rvd25sb2FkX2ZpbmlzaGVkLCBhcHBfZGF0YSk7CisgICAgZXZhc19vYmpl
Y3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAiZG93bmxvYWQscmVxdWVz
dCIsIG9uX2Rvd25sb2FkX3JlcXVlc3QsIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFy
dF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJsb2FkLGVycm9yIiwgb25fZXJyb3Is
IGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEt
PndlYnZpZXcsICJsb2FkLHByb2dyZXNzIiwgb25fcHJvZ3Jlc3MsIGFwcF9kYXRhKTsKKyAgICBl
dmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJ0aXRsZSxj
aGFuZ2VkIiwgb25fdGl0bGVfY2hhbmdlZCwgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgInVybCxjaGFuZ2VkIiwgb25fdXJs
X2NoYW5nZWQsIGFwcF9kYXRhKTsKKworICAgIGV2YXNfb2JqZWN0X2V2ZW50X2NhbGxiYWNrX2Fk
ZChhcHBfZGF0YS0+d2VidmlldywgRVZBU19DQUxMQkFDS19LRVlfRE9XTiwgb25fa2V5X2Rvd24s
IGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFja19hZGQoYXBwX2RhdGEt
PndlYnZpZXcsIEVWQVNfQ0FMTEJBQ0tfTU9VU0VfRE9XTiwgb25fbW91c2VfZG93biwgYXBwX2Rh
dGEpOworCisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwX2RhdGEtPndl
YnZpZXcsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworICAgIGV2YXNfb2Jq
ZWN0X3NpemVfaGludF9hbGlnbl9zZXQoYXBwX2RhdGEtPndlYnZpZXcsIEVWQVNfSElOVF9GSUxM
LCBFVkFTX0hJTlRfRklMTCk7CisgICAgZWxtX2JveF9wYWNrX2VuZChhcHBfZGF0YS0+dmVydGlj
YWxfbGF5b3V0LCBhcHBfZGF0YS0+d2Vidmlldyk7CisgICAgZXZhc19vYmplY3Rfc2hvdyhhcHBf
ZGF0YS0+d2Vidmlldyk7CiAKLSAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2lu
ZG93LT53ZWJ2aWV3LCAiY2xvc2Usd2luZG93Iiwgb25fY2xvc2Vfd2luZG93LCB3aW5kb3cpOwot
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJjcmVh
dGUsd2luZG93Iiwgb25fbmV3X3dpbmRvdywgd2luZG93KTsKLSAgICBldmFzX29iamVjdF9zbWFy
dF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3LCAiZG93bmxvYWQsZmFpbGVkIiwgb25fZG93
bmxvYWRfZmFpbGVkLCB3aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2Fk
ZCh3aW5kb3ctPndlYnZpZXcsICJkb3dubG9hZCxmaW5pc2hlZCIsIG9uX2Rvd25sb2FkX2Zpbmlz
aGVkLCB3aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ct
PndlYnZpZXcsICJkb3dubG9hZCxyZXF1ZXN0Iiwgb25fZG93bmxvYWRfcmVxdWVzdCwgd2luZG93
KTsKLSAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3LCAi
bG9hZCxlcnJvciIsIG9uX2Vycm9yLCB3aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJsb2FkLHByb2dyZXNzIiwgb25fcHJvZ3Jlc3Ms
IHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2Vi
dmlldywgInRpdGxlLGNoYW5nZWQiLCBvbl90aXRsZV9jaGFuZ2VkLCB3aW5kb3cpOwotICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJ1cmwsY2hhbmdl
ZCIsIG9uX3VybF9jaGFuZ2VkLCB3aW5kb3cpOwotCi0gICAgZXZhc19vYmplY3RfZXZlbnRfY2Fs
bGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgRVZBU19DQUxMQkFDS19LRVlfRE9XTiwgb25fa2V5
X2Rvd24sIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKHdpbmRv
dy0+d2VidmlldywgRVZBU19DQUxMQkFDS19NT1VTRV9ET1dOLCBvbl9tb3VzZV9kb3duLCB3aW5k
b3cpOwotCi0gICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQod2luZG93LT53ZWJ2
aWV3LCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKLSAgICBldmFzX29iamVj
dF9tb3ZlKHdpbmRvdy0+d2VidmlldywgMCwgVVJMX0JBUl9IRUlHSFQpOwotICAgIGV2YXNfb2Jq
ZWN0X3Jlc2l6ZSh3aW5kb3ctPndlYnZpZXcsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hU
IC0gVVJMX0JBUl9IRUlHSFQpOwotICAgIGV2YXNfb2JqZWN0X3Nob3cod2luZG93LT53ZWJ2aWV3
KTsKLSAgICBldmFzX29iamVjdF9mb2N1c19zZXQod2luZG93LT53ZWJ2aWV3LCBFSU5BX1RSVUUp
OworICAgIGlmICh1cmwpCisgICAgICAgIGV3a192aWV3X3VybF9zZXQoYXBwX2RhdGEtPndlYnZp
ZXcsIHVybCk7CiAKLSAgICB3aW5kb3ctPnVybF9iYXIgPSB1cmxfYmFyX2FkZCh3aW5kb3ctPndl
YnZpZXcsIERFRkFVTFRfV0lEVEgpOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHBfZGF0YS0+
d2luZG93LCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCk7CisgICAgZXZhc19vYmplY3Rf
c2hvdyhhcHBfZGF0YS0+d2luZG93KTsKIAotICAgIGlmICh1cmwpCi0gICAgICAgIGV3a192aWV3
X3VybF9zZXQod2luZG93LT53ZWJ2aWV3LCB1cmwpOworICAgIHZpZXdfZm9jdXNfc2V0KGFwcF9k
YXRhLCBFSU5BX1RSVUUpOwogCi0gICAgcmV0dXJuIHdpbmRvdzsKKyAgICByZXR1cm4gYXBwX2Rh
dGE7CiB9CiAKLWludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCitFQVBJX01BSU4gaW50
CitlbG1fbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogewogICAgIGludCBhcmdzID0gMTsK
ICAgICB1bnNpZ25lZCBjaGFyIHF1aXRPcHRpb24gPSAwOwpAQCAtNDE2LDExICs0NDAsOCBAQCBp
bnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCiAgICAgd2luZG93cyA9IGVpbmFfbGlz
dF9hcHBlbmQod2luZG93cywgd2luZG93KTsKIAotICAgIEVjb3JlX0V2ZW50X0hhbmRsZXIgKmhh
bmRsZSA9IGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VWRU5UX1NJR05BTF9FWElULCBt
YWluX3NpZ25hbF9leGl0LCAwKTsKLQotICAgIGVjb3JlX21haW5fbG9vcF9iZWdpbigpOwotCi0g
ICAgZWNvcmVfZXZlbnRfaGFuZGxlcl9kZWwoaGFuZGxlKTsKKyAgICBlbG1fcnVuKCk7CiAKICAg
ICByZXR1cm4gcXVpdChFSU5BX1RSVUUsIE5VTEwpOwogfQorRUxNX01BSU4oKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2VmbC9qaGJ1aWxkLm1vZHVsZXMK
aW5kZXggM2U1NWRiYi4uMWZkMjg4MCAxMDA2NDQKLS0tIGEvVG9vbHMvZWZsL2poYnVpbGQubW9k
dWxlcworKysgYi9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCkBAIC0xNyw2ICsxNyw3IEBACiAg
ICAgICA8ZGVwIHBhY2thZ2U9ImVfZGJ1cyIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJlZXplIi8+
CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVmcmVldCIvPgorICAgICAgPGRlcCBwYWNrYWdlPSJlbGVt
ZW50YXJ5Ii8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImxpYnhtbDIiLz4KICAgICA8L2RlcGVuZGVu
Y2llcz4KICAgPC9tZXRhbW9kdWxlPgpAQCAtNDEsNiArNDIsOCBAQAogICAgICAgaHJlZj0iaHR0
cDovL2dpdC5lbmxpZ2h0ZW5tZW50LmZyL2NnaXQuY2dpL3N2bi8iLz4KICAgPHJlcG9zaXRvcnkg
dHlwZT0idGFyYmFsbCIgbmFtZT0ieG1sc29mdC5vcmciCiAgICAgICBocmVmPSJmdHA6Ly94bWxz
b2Z0Lm9yZyIvPiAKKyAgPHJlcG9zaXRvcnkgdHlwZT0idGFyYmFsbCIgbmFtZT0iZG93bmxvYWQu
ZW5saWdodGVubWVudC5vcmciCisgICAgICBocmVmPSJodHRwOi8vZG93bmxvYWQuZW5saWdodGVu
bWVudC5vcmciLz4KIAogICA8YXV0b3Rvb2xzIGlkPSJjYWlybyIgYXV0b2dlbi1zaD0iY29uZmln
dXJlIj4KICAgICA8ZGVwZW5kZW5jaWVzPgpAQCAtMTU5LDIwICsxNjIsMjAgQEAKICA8L2F1dG90
b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJlaW5hIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZWlu
YS5naXQvc25hcHNob3QvZWluYS1mOTA5MjZkZDliZjE5ZWE5NDZkNzU3MmIzNjMzNWNjMGM1Y2Qz
YWI1LnRhci5iejIiIHZlcnNpb249IjczMDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVp
bmEtZjkwOTI2ZGQ5YmYxOWVhOTQ2ZDc1NzJiMzYzMzVjYzBjNWNkM2FiNSIKLSAgICAgICAgICAg
IHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6Mzg4MjE0
NDM0ZGJlMzcyNmFhMzg5NGU2Zjk4MzhhZGZjNDNkOGJkNjNiYjk1OTdmODZhNGVmYmM0OGI0MmNh
ZCIKLSAgICAgICAgICAgIG1kNXN1bT0iZGI3NTZkYmRhMmI4Yjc3ZTVmODA3YzNlY2NjZDM0ZTQi
PgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9laW5hLTEuNy4wLnRhci5neiIgdmVyc2lv
bj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0iZWluYS0xLjcuMCIKKyAgICAgICAg
ICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0i
c2hhMjU2OjZhYWNlZGVkYjA4YWExMDkwYTFiZWVjYmY2MmFjZjNlMmNlMDY3NmFjODdkMjFjNzg3
YzA3OTgzZjgwMTE2NmYiCisgICAgICAgICAgICBtZDVzdW09IjMwM2I4MWJiZmZmNjg0ZWVmMGU1
YmU3MGJhOTc3MDEyIj4KICAgICA8L2JyYW5jaD4KICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90
b29scyBpZD0iZW1icnlvIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZW1icnlvLmdpdC9zbmFwc2hv
dC9lbWJyeW8tMTkxZTFiNWYwMjJmNzY5ZDYyYWJlYzYxMTJmNTFlNWZiZWNkNmRiOS50YXIuYnoy
IiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlbWJyeW8tMTkxZTFi
NWYwMjJmNzY5ZDYyYWJlYzYxMTJmNTFlNWZiZWNkNmRiOSIKLSAgICAgICAgICAgIHJlcG89ImVu
bGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6ZDhhNTdmNTE5ODVlZTE2
ZWU2YTdmZGUyZDNiOTMxZTgzZGE1ZDI2YTFhNjJlZmMwMTJkNjRlNmQ1ZmUzNzQ4YiIKLSAgICAg
ICAgICAgIG1kNXN1bT0iYWRlYmViOGM3MDRlNzA5MTJhOTIwZThlZjRlYzQzY2QiPgorICAgIDxi
cmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9lbWJyeW8tMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcu
MCIKKyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlbWJyeW8tMS43LjAiCisgICAgICAgICAgICBy
ZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1
NjoyOTBiNDUyZTZjYjg3ZjY0YjExYjUyOWM3ZjY3YzQwMTkyZjg3YTczY2M0YzViZTkzYTk1ZjE3
Yjc2ZjY1MDYzIgorICAgICAgICAgICAgbWQ1c3VtPSJmNDZiYjhhYjE2OTljZDdhY2I4NDYzZTUw
YTNmZmI0YiI+CiAgICAgPC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAg
cGFja2FnZT0iZWluYSIvPgpAQCAtMTgwLDIwICsxODMsMjAgQEAKICAgPC9hdXRvdG9vbHM+CiAK
ICAgPGF1dG90b29scyBpZD0iZXZhcyI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImV2YXMuZ2l0L3Nu
YXBzaG90L2V2YXMtMTY5Y2YxYmI5NjIwMDFmMWNmM2U1OWViOTUwMzgwYTlkYzFmY2VkMy50YXIu
YnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJldmFzLTE2OWNm
MWJiOTYyMDAxZjFjZjNlNTllYjk1MDM4MGE5ZGMxZmNlZDMiCi0gICAgICAgICAgICByZXBvPSJl
bmxpZ2h0ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjJiNTkzNTBlMGZlMzNh
OGZlNDlmY2JlMDQxOTJkMDVhYjM3MzQ1Njg0YzRlYjliMTBmYjBlMGEzNTU0NWU3ZGEiCi0gICAg
ICAgICAgICBtZDVzdW09ImJmYjU0NDJlNTA1NTFjNjRjNzA5NDgxYTlhMzViNGEyIj4KKyAgICA8
YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMvZXZhcy0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4w
IgorICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImV2YXMtMS43LjAiCisgICAgICAgICAgICByZXBv
PSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1Njoy
ZDdhMzNkMDJkMmRhMzc2NDdlNGMwMTI3ZmVkZWJlMDBlZWVhMTQ1NjBkNmMxYjZjYTliMGNjY2Rh
ZTBkZTg0IgorICAgICAgICAgICAgbWQ1c3VtPSIzMzU5OTE4ZjhlNjBjNzc4Yjg2MWNmMWNkZTAy
ZDNhOSI+CiAgICAgPC9icmFuY2g+CiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9
ImVjb3JlIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZWNvcmUuZ2l0L3NuYXBzaG90L2Vjb3JlLTlj
OTZmOWMxNDAzMjBlNTIwMzBkMWEyMDZkOGQzMzBhYTQ2YWJjNDQudGFyLmJ6MiIgdmVyc2lvbj0i
NzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZWNvcmUtOWM5NmY5YzE0MDMyMGU1MjAz
MGQxYTIwNmQ4ZDMzMGFhNDZhYmM0NCIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQu
ZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6NTQ2YjljMzg5NTU2MDc0YWQ0OTgyYTBlMzg5
Y2NiMGU1NWNlZDU5Y2U3MjVlYTJiNWMwNjVjNGQ2MDMxMDA2OCIKLSAgICAgICAgICAgIG1kNXN1
bT0iYjE1NTcxZjI3MWE5OTYwYjU2MmY5OGNiMDkyNjg0MDgiPgorICAgIDxicmFuY2ggbW9kdWxl
PSJyZWxlYXNlcy9lY29yZS0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAgICAgICAg
ICAgY2hlY2tvdXRkaXI9ImVjb3JlLTEuNy4wIgorICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQu
ZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6ZjAwOWUxNzM3NmI3
ZjNmYjZjZTZiNDU2NDhkMmEwMTMxYTE1Mjk0M2I1MDJmYTM0Y2M0YmQwMThmNjdkYThiYiIKKyAg
ICAgICAgICAgIG1kNXN1bT0iY2YwYjVlOTgwYTc3ZGMwZDFiZGVkZjJiY2M2MGU4NjIiPgogICAg
IDwvYnJhbmNoPgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVpbmEi
Lz4KQEAgLTIwMiwxMSArMjA1LDExIEBACiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMg
aWQ9ImVldCI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVldC5naXQvc25hcHNob3QvZWV0LTE1ZmQ1
MmU0ODMxYjk0NjMwOGE4MGRmOWEyNTM1N2RjMThjOTdjYTIudGFyLmJ6MiIgdmVyc2lvbj0iNzMw
MjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZWV0LTE1ZmQ1MmU0ODMxYjk0NjMwOGE4MGRm
OWEyNTM1N2RjMThjOTdjYTIiCi0gICAgICAgICAgICByZXBvPSJlbmxpZ2h0ZW5tZW50LmZyIgot
ICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjYyZWZmMTI0ODkyM2JlNzkxOGJlZmY0NmU4NTk4ZmYy
YjEzOWIwMjI0ZjBhMWI4NDUxNDJjZjFiMDc4NDIyZTYiCi0gICAgICAgICAgICBtZDVzdW09ImJl
MDg2MzRjNzA3MTJiYjQ0YTU1MzRlZjViMmE3YWYzIj4KKyAgICA8YnJhbmNoIG1vZHVsZT0icmVs
ZWFzZXMvZWV0LTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVj
a291dGRpcj0iZWV0LTEuNy4wIgorICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQuZW5saWdodGVu
bWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6OWJjYTViZWNhYWE1YWJmNGI3YWMw
ZjgwZGU2OGQzYjlhOGYxYWJjZTdlY2E0MTc1ZTFhZDgyOTUzNzgzZDIwOSIKKyAgICAgICAgICAg
IG1kNXN1bT0iNDZlOTg5ZWI0ZGRkZDk0MmI0NTY0Mjk5ZTE5ZDlmNjQiPgogICAgIDwvYnJhbmNo
PgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImxpYmdjcnlwdCIvPgpA
QCAtMjE1LDExICsyMTgsMTEgQEAKICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0i
ZWRqZSI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVkamUuZ2l0L3NuYXBzaG90L2VkamUtMTQ3Mzhl
ZWZhYzU0ZDFhOGNmZWFkMmI1YWVkM2I3ZjA1YzViNGJkOC50YXIuYnoyIiB2ZXJzaW9uPSI3MzAy
NyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlZGplLTE0NzM4ZWVmYWM1NGQxYThjZmVhZDJi
NWFlZDNiN2YwNWM1YjRiZDgiCi0gICAgICAgICAgICByZXBvPSJlbmxpZ2h0ZW5tZW50LmZyIgot
ICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjllMTAyZjBiNDdlOWNkZmE3MzdiNWY4MWIxMWQzNTJh
ZTAxMjA2MjA5NzI5ZTU4MTVjMjhkODI2MTg2YjI0N2UiCi0gICAgICAgICAgICBtZDVzdW09IjVm
MTk5NTkwMWM4NDhiZGFlYzU2ZmYxZjkxM2VmMDJmIj4KKyAgICA8YnJhbmNoIG1vZHVsZT0icmVs
ZWFzZXMvZWRqZS0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAgICAgICAgICAgY2hl
Y2tvdXRkaXI9ImVkamUtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0
ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjpkNmRmOWE3YmYxMWM0NjA1ZjU1
YTJlN2MyMDkyMTAwNDRmOGRjNGYzMzMyMTM1ZjYyNTY2NzZkMmY5Mzc2MjFiIgorICAgICAgICAg
ICAgbWQ1c3VtPSIzN2UxNWM1ZDZlN2MyNjc2NzI4YmRhNzUxMDliMjIxOCI+CiAgICAgPC9icmFu
Y2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0iZWV0Ii8+CkBAIC0y
MzAsMTEgKzIzMywxMSBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJlX2Ri
dXMiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlX2RidXMuZ2l0L3NuYXBzaG90L2VfZGJ1cy05ZGUw
YTNlMGM5NTljZGJhYmEwMjJlYjg4OGI5NjcwYmQ3NjZkMzhmLnRhci5iejIiIHZlcnNpb249Ijcz
MDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVfZGJ1cy05ZGUwYTNlMGM5NTljZGJhYmEw
MjJlYjg4OGI5NjcwYmQ3NjZkMzhmIgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVubWVudC5m
ciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1NjpmOTY1NWMzYmE2OTE3NGRiZDY1YjUyMjBhNDky
Yjk3MGFhOTI2NGZmMzI4M2NiZDk2MGE4OWI2OWU1MzU5MWI2IgotICAgICAgICAgICAgbWQ1c3Vt
PSI0Y2NhMWY5OTRlMTc4MjNjYTliZTE5ODVmNWM0YWQwOSI+CisgICAgPGJyYW5jaCBtb2R1bGU9
InJlbGVhc2VzL2VfZGJ1cy0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAgICAgICAg
ICAgY2hlY2tvdXRkaXI9ImVfZGJ1cy0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2Fk
LmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjZlZTMwM2JkMGUy
ZjkxYTZiZTA4NDMzZGY0NzQzNzc0OTRiYTY4MTU0NDFlNWU2Yjc5YTVkMjg0ZWFkMmE3NjgiCisg
ICAgICAgICAgICBtZDVzdW09IjNkNTliZmIwMDc2M2E2MTk3NmE5NzZiZTkyNWUxY2JmIj4KICAg
ICA8L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJlY29y
ZSIvPgpAQCAtMjQzLDExICsyNDYsMTEgQEAKICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29s
cyBpZD0iZWV6ZSI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVlemUuZ2l0L3NuYXBzaG90L2VlemUt
MDlhMzc5YmMyY2M2YzFjN2FhYjA0Nzg5OTFhMTA0YjBjNmFmMTg0NC50YXIuYnoyIiB2ZXJzaW9u
PSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlZXplLTA5YTM3OWJjMmNjNmMxYzdh
YWIwNDc4OTkxYTEwNGIwYzZhZjE4NDQiCi0gICAgICAgICAgICByZXBvPSJlbmxpZ2h0ZW5tZW50
LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjMxMmQ2MTQyOWFmODQ1YTYzMzNjMGM5Njhl
YzdiMDkwMjk4MjA4MmYxNzE0NTNlZTE0MzQzYThlZmU3NzNjZmMiCi0gICAgICAgICAgICBtZDVz
dW09ImMxNjNjYWVkY2JhYjUzMmI0ZGMxNjAxNGIxNGJiOWJjIj4KKyAgICA8YnJhbmNoIG1vZHVs
ZT0icmVsZWFzZXMvZWV6ZS0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAgICAgICAg
ICAgY2hlY2tvdXRkaXI9ImVlemUtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5l
bmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1Njo3ZGI4NzA5NDQ1MTE0
ZDFmZTFjMzYwOWNmNzlhMDZlMTNhM2Q1ODRhNWEzZGZkNTU3NjQyZGRjNjVhYzNhMjAyIgorICAg
ICAgICAgICAgbWQ1c3VtPSI2MGE4YmI2MmUzZDJjYzdkZmFjMTRmMWNkNjIzNDNlMiI+CiAgICAg
PC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0iZWNvcmUi
Lz4KQEAgLTI1NiwxMSArMjU5LDExIEBACiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMg
aWQ9ImVmcmVldCI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVmcmVldC5naXQvc25hcHNob3QvZWZy
ZWV0LWU3NzEyYzgzMGYzYTNjYjRjMTk3Njk1ZGU0Yzk4MTM4N2JlOGYyMTQudGFyLmJ6MiIgdmVy
c2lvbj0iNzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZWZyZWV0LWU3NzEyYzgzMGYz
YTNjYjRjMTk3Njk1ZGU0Yzk4MTM4N2JlOGYyMTQiCi0gICAgICAgICAgICByZXBvPSJlbmxpZ2h0
ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjQ4MzkxODdjM2NjMDk5ZWI2YjY5
ODZjNjkyNGY0ZTRmNmRmZmQyMmVjY2JjM2YxYmRkZDFhNjMxMmJjOGM4NGMiCi0gICAgICAgICAg
ICBtZDVzdW09ImJmMjhlZTlkN2I1MjExZDcyYzI3NDEyYTdmMWNkYjgwIj4KKyAgICA8YnJhbmNo
IG1vZHVsZT0icmVsZWFzZXMvZWZyZWV0LTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisg
ICAgICAgICAgICBjaGVja291dGRpcj0iZWZyZWV0LTEuNy4wIgorICAgICAgICAgICAgcmVwbz0i
ZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6MTZh
NDFhMDNkNTVmZWJmMzBmMmRkNzg2YjUxYmUzZTM3MGZjNTYzZjMzMzVkZDI2ODMyZTBlYWE4ODUx
NmM3OSIKKyAgICAgICAgICAgIG1kNXN1bT0iZjAzOTE5N2UxNDI4OGVjZWY5NGVlYWIwNDBjYmJk
YjQiPgogICAgIDwvYnJhbmNoPgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICAgIDxkZWIgcGFj
a2FnZT0iZWNvcmUiLz4KQEAgLTI2OSw2ICsyNzIsMjEgQEAKICAgICA8L2RlcGVuZGVuY2llcz4K
ICAgPC9hdXRvdG9vbHM+CiAKKyAgPGF1dG90b29scyBpZD0iZWxlbWVudGFyeSI+CisgICAgPGJy
YW5jaCBtb2R1bGU9InJlbGVhc2VzL2VsZW1lbnRhcnktMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIx
LjcuMCIKKyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlbGVtZW50YXJ5LTEuNy4wIgorICAgICAg
ICAgICAgcmVwbz0iZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNo
PSJzaGEyNTY6N2U3ZGVlYjRlM2E5YmJiOWM3YjdhODljMmVmYmUyNjlhMWE2YTQ0ZWYzODBiZjkx
YzEwNjZkMTI4MTYzZTJkMyIKKyAgICAgICAgICAgIG1kNXN1bT0iNDUyNjNjNWQxMDc5ODFhNDRk
Mjg3MzRjODJlOWZhZTEiPgorICAgIDwvYnJhbmNoPgorICAgIDxkZXBlbmRlbmNpZXM+CisgICAg
ICAgIDxkZWIgcGFja2FnZT0iZWRqZSIvPgorICAgICAgICA8ZGViIHBhY2thZ2U9ImVpbmEiLz4K
KyAgICAgICAgPGRlYiBwYWNrYWdlPSJlZXQiLz4KKyAgICAgICAgPGRlYiBwYWNrYWdlPSJlY29y
ZSIvPgorICAgIDwvZGVwZW5kZW5jaWVzPgorICA8L2F1dG90b29scz4KKwogICA8YXV0b3Rvb2xz
IGlkPSJsaWJ4bWwyIj4KICAgICA8YnJhbmNoIG1vZHVsZT0iL2xpYnhtbDIvbGlieG1sMi0yLjgu
MC50YXIuZ3oiIHZlcnNpb249IjIuOC4wIgogICAgICAgICAgICAgcmVwbz0ieG1sc29mdC5vcmci
Cg==
</data>
<flag name="review"
          id="180550"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167941</attachid>
            <date>2012-10-10 00:11:34 -0700</date>
            <delta_ts>2012-10-10 00:48:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98748_minibrowser_elementary.patch</filename>
            <type>text/plain</type>
            <size>32603</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiMWI3Y2VhLi5iYmM0MzIz
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMTAtMDkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXVtXSzJdIFBvcnQgTWluaUJyb3dzZXIgdG8gRWxlbWVudGFyeQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg3NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAg
ICBCdW1wIEVGTCBsaWJyYWlyaWVzIGRlcGVuZGVuY2llcyB0byB2MS43CisgICAgICAgIGFuZCBh
ZGQgRWxlbWVudGFyeSBhcyBvcHRpb25hbCBkZXBlbmRlbmN5IG5vdworICAgICAgICB0aGF0IGl0
IGlzIG5lZWRlZCB0byBidWlsZCBNaW5pQnJvd3Nlci4KKworICAgICAgICAqIFNvdXJjZS9jbWFr
ZS9GaW5kRWV0LmNtYWtlOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2UvY21ha2UvRmluZEVsZW1l
bnRhcnkuY21ha2U6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlOgorCiAyMDEyLTEwLTA5ICBTaW1vbiBQZW5hICA8c3BlbmFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBBZGQgc3VwcG9ydCBmb3IgcnVubmluZyBKYXZhU2NyaXB0IGZyb20gR1Jlc291
cmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL0ZpbmRFZXQuY21ha2UgYi9Tb3VyY2UvY21h
a2UvRmluZEVldC5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmJm
YzVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRFZXQuY21ha2UKQEAgLTAs
MCArMSw0MSBAQAorIyAtIFRyeSB0byBmaW5kIEVldAorIyBPbmNlIGRvbmUsIHRoaXMgd2lsbCBk
ZWZpbmUKKyMKKyMgIEVFVF9GT1VORCAtIHN5c3RlbSBoYXMgRWV0IGluc3RhbGxlZC4KKyMgIEVF
VF9JTkNMVURFX0RJUlMgLSBkaXJlY3RvcmllcyB3aGljaCBjb250YWluIHRoZSBFZXQgaGVhZGVy
cy4KKyMgIEVFVF9MSUJSQVJJRVMgLSBsaWJyYXJpZXMgcmVxdWlyZWQgdG8gbGluayBhZ2FpbnN0
IEVldC4KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6Cisj
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVIgQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUworIyBJUycnIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIElUUworIyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyMgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsKKyMgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCisj
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SCisjIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKyMgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK0lOQ0xVREUoRUZMSGVscGVycykKKworRklORF9FRkxf
TElCUkFSWShFRVQKKyAgICBIRUFERVJTIEVldC5oCisgICAgSEVBREVSX1BSRUZJWEVTIGVldC0x
CisgICAgTElCUkFSWSBlZXQKKykKKworSU5DTFVERShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJk
QXJncykKK0ZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhFZXQgUkVRVUlSRURfVkFS
UyBFRVRfSU5DTFVERV9ESVJTIEVFVF9MSUJSQVJJRVMKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVkVSU0lPTl9WQVIgICBFRVRfVkVSU0lPTikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9jbWFrZS9GaW5kRWxlbWVudGFyeS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kRWxlbWVu
dGFyeS5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTVjYTc4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRFbGVtZW50YXJ5LmNtYWtlCkBAIC0w
LDAgKzEsNDEgQEAKKyMgLSBUcnkgdG8gZmluZCBFbGVtZW50YXJ5CisjIE9uY2UgZG9uZSwgdGhp
cyB3aWxsIGRlZmluZQorIworIyAgRUxFTUVOVEFSWV9GT1VORCAtIHN5c3RlbSBoYXMgRWxlbWVu
dGFyeSBpbnN0YWxsZWQuCisjICBFTEVNRU5UQVJZX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVz
IHdoaWNoIGNvbnRhaW4gdGhlIEVsZW1lbnRhcnkgaGVhZGVycy4KKyMgIEVMRU1FTlRBUllfTElC
UkFSSUVTIC0gbGlicmFyaWVzIHJlcXVpcmVkIHRvIGxpbmsgYWdhaW5zdCBFbGVtZW50YXJ5Lgor
IworIyBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTCisjIElTJycgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisjIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgSVRTCisjIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisjIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOworIyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyMgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IKKyMgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorIyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworSU5DTFVERShFRkxIZWxwZXJzKQorCitGSU5EX0VGTF9MSUJSQVJZ
KEVMRU1FTlRBUlkKKyAgICBIRUFERVJTIEVsZW1lbnRhcnkuaAorICAgIEhFQURFUl9QUkVGSVhF
UyBlbGVtZW50YXJ5LTEKKyAgICBMSUJSQVJZIGVsZW1lbnRhcnkKKykKKworSU5DTFVERShGaW5k
UGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRf
QVJHUyhFbGVtZW50YXJ5IFJFUVVJUkVEX1ZBUlMgRUxFTUVOVEFSWV9JTkNMVURFX0RJUlMgRUxF
TUVOVEFSWV9MSUJSQVJJRVMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZFUlNJT05fVkFSICAgRUxNX1ZFUlNJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4
IGI3ZmI5M2UuLmIyNzcxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0xMDUsMTMgKzEwNSwx
NyBAQCBJRiAoRU5BQkxFX0VDT1JFX1gpCiAgICAgQUREX0RFRklOSVRJT05TKC1ESEFWRV9FQ09S
RV9YKQogRU5ESUYgKCkKIAotRklORF9QQUNLQUdFKEVpbmEgMS4yIFJFUVVJUkVEKQotRklORF9Q
QUNLQUdFKEV2YXMgMS4yIFJFUVVJUkVEKQotRklORF9QQUNLQUdFKEVjb3JlIDEuMiBDT01QT05F
TlRTIEV2YXMgRmlsZSBJbnB1dCAke0VDT1JFX0FERElUSU9OQUxfQ09NUE9ORU5UU30pCi1GSU5E
X1BBQ0tBR0UoRWRqZSAxLjIgUkVRVUlSRUQpCi1GSU5EX1BBQ0tBR0UoRWV6ZSAxLjIgUkVRVUlS
RUQpCi1GSU5EX1BBQ0tBR0UoRWZyZWV0IDEuMiBSRVFVSVJFRCkKLUZJTkRfUEFDS0FHRShFX0RC
dXMgMS4yIENPTVBPTkVOVFMgRVVLaXQpCitGSU5EX1BBQ0tBR0UoRWluYSAxLjcgUkVRVUlSRUQp
CitGSU5EX1BBQ0tBR0UoRXZhcyAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRWNvcmUgMS43
IENPTVBPTkVOVFMgRXZhcyBGaWxlIElucHV0ICR7RUNPUkVfQURESVRJT05BTF9DT01QT05FTlRT
fSkKK0ZJTkRfUEFDS0FHRShFZGplIDEuNyBSRVFVSVJFRCkKK0ZJTkRfUEFDS0FHRShFZXQgMS43
IFJFUVVJUkVEKQorRklORF9QQUNLQUdFKEVlemUgMS43IFJFUVVJUkVEKQorRklORF9QQUNLQUdF
KEVmcmVldCAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRV9EQnVzIDEuNyBDT01QT05FTlRT
IEVVS2l0KQorCisjIEVsZW1lbnRhcnkgaXMgbmVlZGVkIHRvIGJ1aWxkIE1pbmlCcm93c2VyCitG
SU5EX1BBQ0tBR0UoRWxlbWVudGFyeSAxLjcpCiAKIEZJTkRfUEFDS0FHRShGcmVldHlwZSAyLjQu
MiBSRVFVSVJFRCkKIEZJTkRfUEFDS0FHRShIYXJmQnV6eiAwLjkuMiBSRVFVSVJFRCkKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvQ01ha2VMaXN0cy50eHQKaW5kZXgg
MWE2YTY5Yi4uMWFhMzliZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ01ha2VMaXN0cy50eHQKKysrIGIv
VG9vbHMvQ01ha2VMaXN0cy50eHQKQEAgLTEwLDcgKzEwLDcgQEAgSUYgKCIke1BPUlR9IiBTVFJF
UVVBTCAiRWZsIikKICAgICAgICAgQUREX1NVQkRJUkVDVE9SWShFV2ViTGF1bmNoZXIpCiAgICAg
RU5ESUYgKCkKIAotICAgIElGIChFTkFCTEVfV0VCS0lUMikKKyAgICBJRiAoRU5BQkxFX1dFQktJ
VDIgQU5EIEVMRU1FTlRBUllfRk9VTkQpCiAgICAgICAgIEFERF9TVUJESVJFQ1RPUlkoTWluaUJy
b3dzZXIvZWZsKQogICAgIEVORElGICgpCiAgICAgQUREX1NVQkRJUkVDVE9SWShEdW1wUmVuZGVy
VHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4pCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggMTU3MzY3ZC4uYmE2MWZhYiAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTEw
LTA5ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAg
ICAgICAgW0VGTF1bV0syXSBQb3J0IE1pbmlCcm93c2VyIHRvIEVsZW1lbnRhcnkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NzQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgUG9ydCBN
aW5pQnJvd3NlciB0byBFbGVtZW50YXJ5IHRvIHNpbXBsaWZ5IHRoZQorICAgICAgICBjb2RlIGFu
ZCBtYWtlIGZ1dHVyZSBpbXByb3ZlbWVudHMgZWFzaWVyLiBUaGUKKyAgICAgICAgVVJMIGJhciBp
cyBub3cgYW4gRWxlbWVudGFyeSBFbnRyeSB3aWRnZXQgYW5kCisgICAgICAgIHN1cHBvcnRzIGFk
ZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSBsaWtlIGNvcHkgLworICAgICAgICBwYXN0ZS4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEVXZWJMYXVuY2hlci91cmxfYmFyLmM6
CisgICAgICAgIChvbl91cmxiYXJfa2V5X2Rvd24pOiBSZW1vdmUgV0syLXNwZWNpZmljIGNvZGUK
KyAgICAgICAgbm93IHRoYXQgdGhpcyBmaWxlIGlzIG5vIGxvbmdlciB1c2VkIGJ5IE1pbmlCcm93
c2VyLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci9lZmwvbWFpbi5jOgorICAgICAgICAoX0Jyb3dzZXJfV2luZG93KToKKyAg
ICAgICAgKHdpbmRvd19mcmVlKToKKyAgICAgICAgKHdpbmRvd19jbG9zZSk6CisgICAgICAgICh2
aWV3X2ZvY3VzX3NldCk6CisgICAgICAgIChvbl9tb3VzZV9kb3duKToKKyAgICAgICAgKHRpdGxl
X3NldCk6CisgICAgICAgIChvbl90aXRsZV9jaGFuZ2VkKToKKyAgICAgICAgKG9uX3VybF9jaGFu
Z2VkKToKKyAgICAgICAgKG9uX2Nsb3NlX3dpbmRvdyk6CisgICAgICAgIChvbl9wcm9ncmVzcyk6
CisgICAgICAgIChxdWl0KToKKyAgICAgICAgKG9uX3VybF9iYXJfYWN0aXZhdGVkKToKKyAgICAg
ICAgKG9uX3VybF9iYXJfY2xpY2tlZCk6CisgICAgICAgIChvbl93aW5kb3dfZGVsZXRpb24pOgor
ICAgICAgICAod2luZG93X2NyZWF0ZSk6CisgICAgICAgIChlbG1fbWFpbik6CisgICAgICAgICog
ZWZsL2poYnVpbGQubW9kdWxlczogQWRkIEVsZW1lbnRhcnkgdG8gamhidWlsZCBhbmQgYnVtcAor
ICAgICAgICBFRkwgZGVwZW5kZW5jaWVzIHRvIDEuNy4KKwogMjAxMi0xMC0wOSAgRGFtaWFuIEth
bGV0YSAgPGRrYWxldGFAYXBwbGUuY29tPgogCiAgICAgICAgIGV4dHJhY3QtbG9jYWxpemFibGUt
c3RyaW5ncyBzY3JpcHQgc2hvdWxkIGJlIGFibGUgdG8gaGFuZGxlIHBhdGhzIHRvIGZpbGVzIGNv
bnRhaW5pbmcgd2hpdGVzcGFjZXMuCmRpZmYgLS1naXQgYS9Ub29scy9FV2ViTGF1bmNoZXIvdXJs
X2Jhci5jIGIvVG9vbHMvRVdlYkxhdW5jaGVyL3VybF9iYXIuYwppbmRleCBmNTY3NTg4Li40MDhi
NWFjIDEwMDY0NAotLS0gYS9Ub29scy9FV2ViTGF1bmNoZXIvdXJsX2Jhci5jCisrKyBiL1Rvb2xz
L0VXZWJMYXVuY2hlci91cmxfYmFyLmMKQEAgLTUwLDExICs1MCw3IEBAIG9uX3VybGJhcl9rZXlf
ZG93bih2b2lkICpkYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAqb2JqLCB2b2lkICpldmVudF9p
bmZvKQogCiAgICAgY2hhciAqdXJsID0gX3VybF9iYXJfdXJsX2dldF93aXRoX3Byb3RvY29sKHVy
bEJhcik7CiAgICAgaWYgKHVybCkgewotI2lmZGVmIEVGTF9XSzIKLSAgICAgICAgZXdrX3ZpZXdf
dXJsX3NldCh1cmxCYXItPndlYlZpZXcsIHVybCk7Ci0jZWxzZQogICAgICAgICBld2tfdmlld191
cmlfc2V0KHVybEJhci0+d2ViVmlldywgdXJsKTsKLSNlbmRpZgogICAgICAgICBmcmVlKHVybCk7
CiAgICAgfQogICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh1cmxCYXItPndlYlZpZXcsIEVJTkFf
VFJVRSk7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQg
Yi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKaW5kZXggNGQ0NzdlNS4uZTM5
ZDkxMSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApAQCAtMSw3ICsxLDYgQEAK
IFNFVChNaW5pQnJvd3Nlcl9ESVIgIiR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9lZmwiKQogCiBT
RVQoTWluaUJyb3dzZXJfU09VUkNFUwotICAgICR7VE9PTFNfRElSfS9FV2ViTGF1bmNoZXIvdXJs
X2Jhci5jCiAgICAgJHtUT09MU19ESVJ9L0VXZWJMYXVuY2hlci91cmxfdXRpbHMuYwogICAgICR7
TWluaUJyb3dzZXJfRElSfS9tYWluLmMKICkKQEAgLTEyLDcgKzExLDEyIEBAIFNFVChNaW5pQnJv
d3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgJHtFQ09SRV9FVkFTX0lOQ0xVREVfRElSU30K
ICAgICAke0VDT1JFX0ZJTEVfSU5DTFVERV9ESVJTfQogICAgICR7RURKRV9JTkNMVURFX0RJUlN9
CisgICAgJHtFRVRfSU5DTFVERV9ESVJTfQorICAgICR7REJVU19JTkNMVURFX0RJUlN9CisgICAg
JHtFX0RCVVNfSU5DTFVERV9ESVJTfQorICAgICR7RUZSRUVUX0lOQ0xVREVfRElSU30KICAgICAk
e0VJTkFfSU5DTFVERV9ESVJTfQorICAgICR7RUxFTUVOVEFSWV9JTkNMVURFX0RJUlN9CiAgICAg
JHtFVkFTX0lOQ0xVREVfRElSU30KICAgICAke1RPT0xTX0RJUn0vRVdlYkxhdW5jaGVyCiAgICAg
JHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKQEAgLTMwLDYgKzM0LDcgQEAgU0VUKE1p
bmlCcm93c2VyX0xJQlJBUklFUwogICAgICR7RUNPUkVfRklMRV9MSUJSQVJJRVN9CiAgICAgJHtF
REpFX0xJQlJBUklFU30KICAgICAke0VJTkFfTElCUkFSSUVTfQorICAgICR7RUxFTUVOVEFSWV9M
SUJSQVJJRVN9CiAgICAgJHtFVkFTX0xJQlJBUklFU30KICAgICAke0ZPTlRDT05GSUdfTElCUkFS
SUVTfQogICAgICR7TElCU09VUF9MSUJSQVJJRVN9CkBAIC00NiwxMiArNTEsMTAgQEAgSUYgKEVO
QUJMRV9HTElCX1NVUFBPUlQpCiAgICAgKQogRU5ESUYgKCkKIAotQUREX0RFRklOSVRJT05TKC1E
VEhFTUVfRElSPVwiJHtUSEVNRV9CSU5BUllfRElSfVwiIC1ERUZMX1dLMj0xKQorQUREX0RFRklO
SVRJT05TKC1EVEhFTUVfRElSPVwiJHtUSEVNRV9CSU5BUllfRElSfVwiKQogCiBJTkNMVURFX0RJ
UkVDVE9SSUVTKCR7TWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFU30pCiAKIEFERF9FWEVD
VVRBQkxFKE1pbmlCcm93c2VyICR7TWluaUJyb3dzZXJfU09VUkNFU30pCiBUQVJHRVRfTElOS19M
SUJSQVJJRVMoTWluaUJyb3dzZXIgJHtNaW5pQnJvd3Nlcl9MSUJSQVJJRVN9KQogU0VUX1RBUkdF
VF9QUk9QRVJUSUVTKE1pbmlCcm93c2VyIFBST1BFUlRJRVMgRk9MREVSICJUb29scyIpCi0KLUFE
RF9ERVBFTkRFTkNJRVMoTWluaUJyb3dzZXIgVGhlbWVDb250cm9sKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMK
aW5kZXggMDUzMTQ4MS4uNTJkYWM3NyAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZs
L21haW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0xOCwxMSArMTgs
MTEgQEAKICAqLwogCiAjaW5jbHVkZSAiRVdlYktpdDIuaCIKLSNpbmNsdWRlICJ1cmxfYmFyLmgi
CiAjaW5jbHVkZSAidXJsX3V0aWxzLmgiCiAjaW5jbHVkZSA8RWNvcmUuaD4KICNpbmNsdWRlIDxF
Y29yZV9FdmFzLmg+CiAjaW5jbHVkZSA8RWluYS5oPgorI2luY2x1ZGUgPEVsZW1lbnRhcnkuaD4K
ICNpbmNsdWRlIDxFdmFzLmg+CiAKIHN0YXRpYyBjb25zdCBpbnQgREVGQVVMVF9XSURUSCA9IDgw
MDsKQEAgLTQyLDEwICs0Miw5IEBAIHN0YXRpYyBjaGFyICpldmFzX2VuZ2luZV9uYW1lID0gTlVM
TDsKIHN0YXRpYyBFaW5hX0Jvb2wgZnJhbWVfZmxhdHRlbmluZ19lbmFibGVkID0gRUlOQV9GQUxT
RTsKIAogdHlwZWRlZiBzdHJ1Y3QgX0Jyb3dzZXJfV2luZG93IHsKLSAgICBFY29yZV9FdmFzICpl
ZTsKLSAgICBFdmFzICpldmFzOworICAgIEV2YXNfT2JqZWN0ICp3aW5kb3c7CiAgICAgRXZhc19P
YmplY3QgKndlYnZpZXc7Ci0gICAgVXJsX0JhciAqdXJsX2JhcjsKKyAgICBFdmFzX09iamVjdCAq
dXJsX2JhcjsKIH0gQnJvd3Nlcl9XaW5kb3c7CiAKIHN0YXRpYyBjb25zdCBFY29yZV9HZXRvcHQg
b3B0aW9ucyA9IHsKQEAgLTc1LDI2ICs3NCwyNyBAQCBzdGF0aWMgY29uc3QgRWNvcmVfR2V0b3B0
IG9wdGlvbnMgPSB7CiAKIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2luZG93X2NyZWF0ZShjb25z
dCBjaGFyICp1cmwpOwogCi1zdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKmJyb3dzZXJfd2luZG93X2Zp
bmQoRWNvcmVfRXZhcyAqZWUpCitzdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKmJyb3dzZXJfd2luZG93
X2ZpbmQoRXZhc19PYmplY3QgKndpbmRvdykKIHsKICAgICBFaW5hX0xpc3QgKmw7CiAgICAgdm9p
ZCAqZGF0YTsKIAotICAgIGlmICghZWUpCisgICAgaWYgKCF3aW5kb3cpCiAgICAgICAgIHJldHVy
biBOVUxMOwogCiAgICAgRUlOQV9MSVNUX0ZPUkVBQ0god2luZG93cywgbCwgZGF0YSkgewotICAg
ICAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93ICopZGF0YTsKLSAg
ICAgICAgaWYgKHdpbmRvdy0+ZWUgPT0gZWUpCi0gICAgICAgICAgICByZXR1cm4gd2luZG93Owor
ICAgICAgICBCcm93c2VyX1dpbmRvdyAqYnJvd3Nlcl93aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cg
KilkYXRhOworICAgICAgICBpZiAoYnJvd3Nlcl93aW5kb3ctPndpbmRvdyA9PSB3aW5kb3cpCisg
ICAgICAgICAgICByZXR1cm4gYnJvd3Nlcl93aW5kb3c7CiAgICAgfQogICAgIHJldHVybiBOVUxM
OwogfQogCiBzdGF0aWMgdm9pZCB3aW5kb3dfZnJlZShCcm93c2VyX1dpbmRvdyAqd2luZG93KQog
ewotICAgIHVybF9iYXJfZGVsKHdpbmRvdy0+dXJsX2Jhcik7Ci0gICAgZWNvcmVfZXZhc19mcmVl
KHdpbmRvdy0+ZWUpOworICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ctPndlYnZpZXcpOworICAg
IC8qIFRoZSBlbG1fd2luIHdpbGwgdGFrZSBjYXJlIG9mIGZyZWVpbmcgaXRzIGNoaWxkcmVuICov
CisgICAgZXZhc19vYmplY3RfZGVsKHdpbmRvdy0+d2luZG93KTsKICAgICBmcmVlKHdpbmRvdyk7
CiB9CiAKQEAgLTEwNCw0MSArMTA0LDcgQEAgc3RhdGljIHZvaWQgd2luZG93X2Nsb3NlKEJyb3dz
ZXJfV2luZG93ICp3aW5kb3cpCiAgICAgd2luZG93X2ZyZWUod2luZG93KTsKIAogICAgIGlmICgh
d2luZG93cykKLSAgICAgICAgZWNvcmVfbWFpbl9sb29wX3F1aXQoKTsKLX0KLQotc3RhdGljIEVp
bmFfQm9vbCBtYWluX3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpl
dikKLXsKLSAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93OwotICAgIEVJTkFfTElTVF9GUkVFKHdp
bmRvd3MsIHdpbmRvdykKLSAgICAgICAgd2luZG93X2ZyZWUod2luZG93KTsKLQotICAgIGVjb3Jl
X21haW5fbG9vcF9xdWl0KCk7Ci0gICAgcmV0dXJuIEVJTkFfVFJVRTsKLX0KLQotc3RhdGljIHZv
aWQgb25fZWNvcmVfZXZhc19kZWxldGUoRWNvcmVfRXZhcyAqZWUpCi17Ci0gICAgd2luZG93X2Ns
b3NlKGJyb3dzZXJfd2luZG93X2ZpbmQoZWUpKTsKLX0KLQotc3RhdGljIHZvaWQgb25fZWNvcmVf
ZXZhc19yZXNpemUoRWNvcmVfRXZhcyAqZWUpCi17Ci0gICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRv
dzsKLSAgICBFdmFzX09iamVjdCAqd2VidmlldzsKLSAgICBpbnQgdywgaDsKLQotICAgIHdpbmRv
dyA9IGJyb3dzZXJfd2luZG93X2ZpbmQoZWUpOwotICAgIGlmICghd2luZG93KQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBlY29yZV9ldmFzX2dlb21ldHJ5X2dldChlZSwgTlVMTCwgTlVMTCwgJncs
ICZoKTsKLQotICAgIC8qIFJlc2l6ZSBVUkwgYmFyICovCi0gICAgdXJsX2Jhcl93aWR0aF9zZXQo
d2luZG93LT51cmxfYmFyLCB3KTsKLQotICAgIGV2YXNfb2JqZWN0X21vdmUod2luZG93LT53ZWJ2
aWV3LCAwLCBVUkxfQkFSX0hFSUdIVCk7Ci0gICAgZXZhc19vYmplY3RfcmVzaXplKHdpbmRvdy0+
d2VidmlldywgdywgaCAtIFVSTF9CQVJfSEVJR0hUKTsKKyAgICAgICAgZWxtX2V4aXQoKTsKIH0K
IAogc3RhdGljIHZvaWQKQEAgLTE3OSwyMyArMTQ1LDM0IEBAIG9uX2tleV9kb3duKHZvaWQgKmRh
dGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZvaWQgKmV2ZW50X2luZm8pCiB9CiAKIHN0
YXRpYyB2b2lkCi1vbl9tb3VzZV9kb3duKHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0
ICp3ZWJ2aWV3LCB2b2lkICpldmVudF9pbmZvKQordmlld19mb2N1c19zZXQoQnJvd3Nlcl9XaW5k
b3cgKndpbmRvdywgRWluYV9Cb29sIGZvY3VzKQogeworICAgIC8qIFdlIHN0ZWFsIGZvY3VzIGF3
YXkgZnJvbSBlbG0ncyBmb2N1cyBtb2RlbCBhbmQgc3RhcnQgdG8gZG8gdGhpbmdzCisgICAgICog
bWFudWFsbHkgaGVyZSwgc28gZWxtIG5vdyBoYXMgbm8gY2x1ZSB3aGF0J3MgdXAuIFRlbGwgZWxt
IHRoYXQgaXRzCisgICAgICogdG9wbGV2ZWwgd2lkZ2V0IGlzIHRvIGJlIHVuZm9jdXNlZCBzbyBl
bG0gZ2l2ZXMgdXAgdGhlIGZvY3VzICovCisgICAgZWxtX29iamVjdF9mb2N1c19zZXQoZWxtX29i
amVjdF90b3Bfd2lkZ2V0X2dldCh3aW5kb3ctPndpbmRvdyksIEVJTkFfRkFMU0UpOworICAgIGV2
YXNfb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ctPndlYnZpZXcsIGZvY3VzKTsKK30KKworc3RhdGlj
IHZvaWQKK29uX21vdXNlX2Rvd24odm9pZCAqdXNlcl9kYXRhLCBFdmFzICplLCBFdmFzX09iamVj
dCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqd2lu
ZG93ID0gKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhOwogICAgIEV2YXNfRXZlbnRfTW91c2Vf
RG93biAqZXYgPSAoRXZhc19FdmVudF9Nb3VzZV9Eb3duICopZXZlbnRfaW5mbzsKIAogICAgIGlm
IChldi0+YnV0dG9uID09IDEpCi0gICAgICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh3ZWJ2aWV3
LCBFSU5BX1RSVUUpOworICAgICAgICB2aWV3X2ZvY3VzX3NldCh3aW5kb3csIEVJTkFfVFJVRSk7
CiAgICAgZWxzZSBpZiAoZXYtPmJ1dHRvbiA9PSAyKQotICAgICAgICBldmFzX29iamVjdF9mb2N1
c19zZXQod2VidmlldywgIWV2YXNfb2JqZWN0X2ZvY3VzX2dldCh3ZWJ2aWV3KSk7CisgICAgICAg
IHZpZXdfZm9jdXNfc2V0KHdpbmRvdywgIWV2YXNfb2JqZWN0X2ZvY3VzX2dldCh3ZWJ2aWV3KSk7
CiB9CiAKIHN0YXRpYyB2b2lkCi10aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0IGNoYXIg
KnRpdGxlLCBpbnQgcHJvZ3Jlc3MpCit0aXRsZV9zZXQoRXZhc19PYmplY3QgKndpbmRvdywgY29u
c3QgY2hhciAqdGl0bGUsIGludCBwcm9ncmVzcykKIHsKLSAgICBFaW5hX1N0cmJ1ZiogYnVmZmVy
OworICAgIEVpbmFfU3RyYnVmICpidWZmZXI7CiAKICAgICBpZiAoIXRpdGxlIHx8ICEqdGl0bGUp
IHsKLSAgICAgICAgZWNvcmVfZXZhc190aXRsZV9zZXQoZWUsIEFQUF9OQU1FKTsKKyAgICAgICAg
ZWxtX3dpbl90aXRsZV9zZXQod2luZG93LCBBUFBfTkFNRSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKQEAgLTIwNSw3ICsxODIsNyBAQCB0aXRsZV9zZXQoRWNvcmVfRXZhcyAqZWUsIGNvbnN0
IGNoYXIgKnRpdGxlLCBpbnQgcHJvZ3Jlc3MpCiAgICAgZWxzZQogICAgICAgICBlaW5hX3N0cmJ1
Zl9hcHBlbmRfcHJpbnRmKGJ1ZmZlciwgIiVzIC0gJXMiLCB0aXRsZSwgQVBQX05BTUUpOwogCi0g
ICAgZWNvcmVfZXZhc190aXRsZV9zZXQoZWUsIGVpbmFfc3RyYnVmX3N0cmluZ19nZXQoYnVmZmVy
KSk7CisgICAgZWxtX3dpbl90aXRsZV9zZXQod2luZG93LCBlaW5hX3N0cmJ1Zl9zdHJpbmdfZ2V0
KGJ1ZmZlcikpOwogICAgIGVpbmFfc3RyYnVmX2ZyZWUoYnVmZmVyKTsKIH0KIApAQCAtMjE1LDE0
ICsxOTIsMTQgQEAgb25fdGl0bGVfY2hhbmdlZCh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0
ICp3ZWJ2aWV3LCB2b2lkICpldmVudF9pbmZvKQogICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cg
PSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7CiAgICAgY29uc3QgY2hhciAqdGl0bGUgPSAo
Y29uc3QgY2hhciAqKWV2ZW50X2luZm87CiAKLSAgICB0aXRsZV9zZXQod2luZG93LT5lZSwgdGl0
bGUsIDEwMCk7CisgICAgdGl0bGVfc2V0KHdpbmRvdy0+d2luZG93LCB0aXRsZSwgMTAwKTsKIH0K
IAogc3RhdGljIHZvaWQKIG9uX3VybF9jaGFuZ2VkKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmpl
Y3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiB7CiAgICAgQnJvd3Nlcl9XaW5kb3cgKndp
bmRvdyA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKLSAgICB1cmxfYmFyX3VybF9zZXQo
d2luZG93LT51cmxfYmFyLCBld2tfdmlld191cmxfZ2V0KHdpbmRvdy0+d2VidmlldykpOworICAg
IGVsbV9lbnRyeV9lbnRyeV9zZXQod2luZG93LT51cmxfYmFyLCBld2tfdmlld191cmxfZ2V0KHdp
bmRvdy0+d2VidmlldykpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMjM1LDcgKzIxMiw3IEBAIG9u
X25ld193aW5kb3codm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAq
ZXZlbnRfaW5mbykKIH0KIAogc3RhdGljIHZvaWQKLW9uX2Nsb3NlX3dpbmRvdyh2b2lkICp1c2Vy
X2RhdGEsIHZvaWQgKmV2ZW50X2luZm8pCitvbl9jbG9zZV93aW5kb3codm9pZCAqdXNlcl9kYXRh
LCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKIHsKICAgICB3aW5kb3df
Y2xvc2UoKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhKTsKIH0KQEAgLTI0Niw3ICsyMjMsNyBA
QCBvbl9wcm9ncmVzcyh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3LCB2b2lk
ICpldmVudF9pbmZvKQogICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5k
b3cgKil1c2VyX2RhdGE7CiAgICAgZG91YmxlIHByb2dyZXNzID0gKihkb3VibGUgKilldmVudF9p
bmZvOwogCi0gICAgdGl0bGVfc2V0KHdpbmRvdy0+ZWUsIGV3a192aWV3X3RpdGxlX2dldCh3aW5k
b3ctPndlYnZpZXcpLCBwcm9ncmVzcyAqIDEwMCk7CisgICAgdGl0bGVfc2V0KHdpbmRvdy0+d2lu
ZG93LCBld2tfdmlld190aXRsZV9nZXQod2luZG93LT53ZWJ2aWV3KSwgcHJvZ3Jlc3MgKiAxMDAp
OwogfQogCiBzdGF0aWMgdm9pZApAQCAtMzAzLDYgKzI4MCw3IEBAIHN0YXRpYyBpbnQKIHF1aXQo
RWluYV9Cb29sIHN1Y2Nlc3MsIGNvbnN0IGNoYXIgKm1zZykKIHsKICAgICBld2tfc2h1dGRvd24o
KTsKKyAgICBlbG1fc2h1dGRvd24oKTsKIAogICAgIGlmIChtc2cpCiAgICAgICAgIGZwdXRzKG1z
ZywgKHN1Y2Nlc3MpID8gc3Rkb3V0IDogc3RkZXJyKTsKQEAgLTMxMyw3MCArMjkxLDEwOSBAQCBx
dWl0KEVpbmFfQm9vbCBzdWNjZXNzLCBjb25zdCBjaGFyICptc2cpCiAgICAgcmV0dXJuIEVYSVRf
U1VDQ0VTUzsKIH0KIAotc3RhdGljIEJyb3dzZXJfV2luZG93ICp3aW5kb3dfY3JlYXRlKGNvbnN0
IGNoYXIgKnVybCkKK3N0YXRpYyB2b2lkCitvbl91cmxfYmFyX2FjdGl2YXRlZCh2b2lkICp1c2Vy
X2RhdGEsIEV2YXNfT2JqZWN0ICp1cmxfYmFyLCB2b2lkICpldmVudF9pbmZvKQogewotICAgIEJy
b3dzZXJfV2luZG93ICp3aW5kb3cgPSBtYWxsb2Moc2l6ZW9mKEJyb3dzZXJfV2luZG93KSk7Ci0g
ICAgaWYgKCF3aW5kb3cpIHsKLSAgICAgICAgaW5mbygiRVJST1I6IGNvdWxkIG5vdCBjcmVhdGUg
YnJvd3NlciB3aW5kb3cuXG4iKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICAgIEJy
b3dzZXJfV2luZG93ICphcHBfZGF0YSA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKIAot
ICAgIHdpbmRvdy0+ZWUgPSBlY29yZV9ldmFzX25ldyhldmFzX2VuZ2luZV9uYW1lLCAwLCAwLCBE
RUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCwgMCk7Ci0gICAgaWYgKCF3aW5kb3ctPmVlKSB7
Ci0gICAgICAgIGluZm8oIkVSUk9SOiBjb3VsZCBub3QgY29uc3RydWN0IGVjb3JlLWV2YXMuXG4i
KTsKLSAgICAgICAgZnJlZSh3aW5kb3cpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Cisg
ICAgY29uc3QgY2hhciAqdXNlcl91cmwgPSBlbG1fZW50cnlfZW50cnlfZ2V0KHVybF9iYXIpOwor
ICAgIGNoYXIgKnVybCA9IHVybF9mcm9tX3VzZXJfaW5wdXQodXNlcl91cmwpOworICAgIGV3a192
aWV3X3VybF9zZXQoYXBwX2RhdGEtPndlYnZpZXcsIHVybCk7CisgICAgZnJlZSh1cmwpOworCisg
ICAgLyogR2l2ZSBmb2N1cyBiYWNrIHRvIHRoZSB2aWV3ICovCisgICAgdmlld19mb2N1c19zZXQo
YXBwX2RhdGEsIEVJTkFfVFJVRSk7Cit9CisKK3N0YXRpYyB2b2lkCitvbl91cmxfYmFyX2NsaWNr
ZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqdXJsX2Jhciwgdm9pZCAqZXZlbnRfaW5m
bykKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqYXBwX2RhdGEgPSAoQnJvd3Nlcl9XaW5kb3cgKil1
c2VyX2RhdGE7CisKKyAgICAvKiBHcmFiIGZvY3VzIGZyb20gdGhlIHZpZXcgKi8KKyAgICBldmFz
X29iamVjdF9mb2N1c19zZXQoYXBwX2RhdGEtPndlYnZpZXcsIEVJTkFfRkFMU0UpOworICAgIGVs
bV9vYmplY3RfZm9jdXNfc2V0KHVybF9iYXIsIEVJTkFfVFJVRSk7Cit9CiAKLSAgICBlY29yZV9l
dmFzX3RpdGxlX3NldCh3aW5kb3ctPmVlLCBBUFBfTkFNRSk7Ci0gICAgZWNvcmVfZXZhc19jYWxs
YmFja19yZXNpemVfc2V0KHdpbmRvdy0+ZWUsIG9uX2Vjb3JlX2V2YXNfcmVzaXplKTsKLSAgICBl
Y29yZV9ldmFzX2JvcmRlcmxlc3Nfc2V0KHdpbmRvdy0+ZWUsIDApOwotICAgIGVjb3JlX2V2YXNf
c2hvdyh3aW5kb3ctPmVlKTsKLSAgICBlY29yZV9ldmFzX2NhbGxiYWNrX2RlbGV0ZV9yZXF1ZXN0
X3NldCh3aW5kb3ctPmVlLCBvbl9lY29yZV9ldmFzX2RlbGV0ZSk7CitzdGF0aWMgdm9pZAorb25f
d2luZG93X2RlbGV0aW9uKHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKndpbmRvdywgdm9p
ZCAqZXZlbnRfaW5mbykKK3sKKyAgICB3aW5kb3dfY2xvc2UoYnJvd3Nlcl93aW5kb3dfZmluZCh3
aW5kb3cpKTsKK30KIAotICAgIHdpbmRvdy0+ZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KHdpbmRvdy0+
ZWUpOwotICAgIGlmICghd2luZG93LT5ldmFzKSB7Ci0gICAgICAgIGluZm8oIkVSUk9SOiBjb3Vs
ZCBub3QgZ2V0IGV2YXMgZnJvbSBldmFzLWVjb3JlLlxuIik7Ci0gICAgICAgIGZyZWUod2luZG93
KTsKK3N0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2luZG93X2NyZWF0ZShjb25zdCBjaGFyICp1cmwp
Cit7CisgICAgQnJvd3Nlcl9XaW5kb3cgKmFwcF9kYXRhID0gbWFsbG9jKHNpemVvZihCcm93c2Vy
X1dpbmRvdykpOworICAgIGlmICghYXBwX2RhdGEpIHsKKyAgICAgICAgaW5mbygiRVJST1I6IGNv
dWxkIG5vdCBjcmVhdGUgYnJvd3NlciB3aW5kb3cuXG4iKTsKICAgICAgICAgcmV0dXJuIE5VTEw7
CiAgICAgfQogCisgICAgLyogQ3JlYXRlIHdpbmRvdyAqLworICAgIGFwcF9kYXRhLT53aW5kb3cg
PSBlbG1fd2luX3V0aWxfc3RhbmRhcmRfYWRkKCJtaW5pYnJvd3Nlci13aW5kb3ciLCBBUFBfTkFN
RSk7CisgICAgZWxtX3dpbl9mb2N1c19oaWdobGlnaHRfZW5hYmxlZF9zZXQoYXBwX2RhdGEtPndp
bmRvdywgRUlOQV9UUlVFKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBw
X2RhdGEtPndpbmRvdywgImRlbGV0ZSxyZXF1ZXN0Iiwgb25fd2luZG93X2RlbGV0aW9uLCAmYXBw
X2RhdGEpOworCisgICAgLyogQ3JlYXRlIHZlcnRpY2FsIGxheW91dCAqLworICAgIEV2YXNfT2Jq
ZWN0ICp2ZXJ0aWNhbF9sYXlvdXQgPSBlbG1fYm94X2FkZChhcHBfZGF0YS0+d2luZG93KTsKKyAg
ICBlbG1fYm94X3BhZGRpbmdfc2V0KHZlcnRpY2FsX2xheW91dCwgMCwgMik7CisgICAgZXZhc19v
YmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQodmVydGljYWxfbGF5b3V0LCBFVkFTX0hJTlRfRVhQ
QU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBlbG1fd2luX3Jlc2l6ZV9vYmplY3RfYWRkKGFw
cF9kYXRhLT53aW5kb3csIHZlcnRpY2FsX2xheW91dCk7CisgICAgZXZhc19vYmplY3Rfc2hvdyh2
ZXJ0aWNhbF9sYXlvdXQpOworCisgICAgLyogQ3JlYXRlIFVSTCBiYXIgKi8KKyAgICBhcHBfZGF0
YS0+dXJsX2JhciA9IGVsbV9lbnRyeV9hZGQoYXBwX2RhdGEtPndpbmRvdyk7CisgICAgZWxtX2Vu
dHJ5X3NpbmdsZV9saW5lX3NldChhcHBfZGF0YS0+dXJsX2JhciwgRUlOQV9UUlVFKTsKKyAgICBl
bG1fZW50cnlfY25wX21vZGVfc2V0KGFwcF9kYXRhLT51cmxfYmFyLCBFTE1fQ05QX01PREVfUExB
SU5URVhUKTsKKyAgICBlbG1fZW50cnlfdGV4dF9zdHlsZV91c2VyX3B1c2goYXBwX2RhdGEtPnVy
bF9iYXIsICJERUZBVUxUPSdmb250X3NpemU9MTYnIik7CisgICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfYWRkKGFwcF9kYXRhLT51cmxfYmFyLCAiYWN0aXZhdGVkIiwgb25fdXJsX2Jhcl9h
Y3RpdmF0ZWQsIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQo
YXBwX2RhdGEtPnVybF9iYXIsICJjbGlja2VkIiwgb25fdXJsX2Jhcl9jbGlja2VkLCBhcHBfZGF0
YSk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwX2RhdGEtPnVybF9i
YXIsIEVWQVNfSElOVF9FWFBBTkQsIDAuMCk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X2Fs
aWduX3NldChhcHBfZGF0YS0+dXJsX2JhciwgRVZBU19ISU5UX0ZJTEwsIDAuMCk7CisgICAgZWxt
X2JveF9wYWNrX2VuZCh2ZXJ0aWNhbF9sYXlvdXQsIGFwcF9kYXRhLT51cmxfYmFyKTsKKyAgICBl
dmFzX29iamVjdF9zaG93KGFwcF9kYXRhLT51cmxfYmFyKTsKKwogICAgIC8qIENyZWF0ZSB3ZWJ2
aWV3ICovCi0gICAgd2luZG93LT53ZWJ2aWV3ID0gZXdrX3ZpZXdfYWRkKHdpbmRvdy0+ZXZhcyk7
Ci0gICAgZXdrX3ZpZXdfdGhlbWVfc2V0KHdpbmRvdy0+d2VidmlldywgVEhFTUVfRElSIi9kZWZh
dWx0LmVkaiIpOwotICAgIGV3a19zZXR0aW5nc19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19zZXQo
ZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KHdpbmRvdy0+d2VidmlldyksIGZyYW1lX2ZsYXR0ZW5pbmdf
ZW5hYmxlZCk7CisgICAgRXZhcyAqZXZhcyA9IGV2YXNfb2JqZWN0X2V2YXNfZ2V0KGFwcF9kYXRh
LT53aW5kb3cpOworICAgIGFwcF9kYXRhLT53ZWJ2aWV3ID0gZXdrX3ZpZXdfYWRkKGV2YXMpOwor
ICAgIGV3a192aWV3X3RoZW1lX3NldChhcHBfZGF0YS0+d2VidmlldywgVEhFTUVfRElSICIvZGVm
YXVsdC5lZGoiKTsKIAotICAgIEV3a19TZXR0aW5ncyAqc2V0dGluZ3MgPSBld2tfdmlld19zZXR0
aW5nc19nZXQod2luZG93LT53ZWJ2aWV3KTsKKyAgICBFd2tfU2V0dGluZ3MgKnNldHRpbmdzID0g
ZXdrX3ZpZXdfc2V0dGluZ3NfZ2V0KGFwcF9kYXRhLT53ZWJ2aWV3KTsKICAgICBld2tfc2V0dGlu
Z3NfZmlsZV9hY2Nlc3NfZnJvbV9maWxlX3VybHNfYWxsb3dlZF9zZXQoc2V0dGluZ3MsIEVJTkFf
VFJVRSk7CisgICAgZXdrX3NldHRpbmdzX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3NldChzZXR0
aW5ncywgZnJhbWVfZmxhdHRlbmluZ19lbmFibGVkKTsKKworICAgIGV2YXNfb2JqZWN0X3NtYXJ0
X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImNsb3NlLHdpbmRvdyIsIG9uX2Nsb3Nl
X3dpbmRvdywgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChh
cHBfZGF0YS0+d2VidmlldywgImNyZWF0ZSx3aW5kb3ciLCBvbl9uZXdfd2luZG93LCBhcHBfZGF0
YSk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3
LCAiZG93bmxvYWQsZmFpbGVkIiwgb25fZG93bmxvYWRfZmFpbGVkLCBhcHBfZGF0YSk7CisgICAg
ZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAiZG93bmxv
YWQsZmluaXNoZWQiLCBvbl9kb3dubG9hZF9maW5pc2hlZCwgYXBwX2RhdGEpOworICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgImRvd25sb2FkLHJl
cXVlc3QiLCBvbl9kb3dubG9hZF9yZXF1ZXN0LCBhcHBfZGF0YSk7CisgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAibG9hZCxlcnJvciIsIG9uX2Vy
cm9yLCBhcHBfZGF0YSk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9k
YXRhLT53ZWJ2aWV3LCAibG9hZCxwcm9ncmVzcyIsIG9uX3Byb2dyZXNzLCBhcHBfZGF0YSk7Cisg
ICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAidGl0
bGUsY2hhbmdlZCIsIG9uX3RpdGxlX2NoYW5nZWQsIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVj
dF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJ1cmwsY2hhbmdlZCIsIG9u
X3VybF9jaGFuZ2VkLCBhcHBfZGF0YSk7CisKKyAgICBldmFzX29iamVjdF9ldmVudF9jYWxsYmFj
a19hZGQoYXBwX2RhdGEtPndlYnZpZXcsIEVWQVNfQ0FMTEJBQ0tfS0VZX0RPV04sIG9uX2tleV9k
b3duLCBhcHBfZGF0YSk7CisgICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKGFwcF9k
YXRhLT53ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX0RPV04sIG9uX21vdXNlX2Rvd24sIGFw
cF9kYXRhKTsKKworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcF9kYXRh
LT53ZWJ2aWV3LCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBldmFz
X29iamVjdF9zaXplX2hpbnRfYWxpZ25fc2V0KGFwcF9kYXRhLT53ZWJ2aWV3LCBFVkFTX0hJTlRf
RklMTCwgRVZBU19ISU5UX0ZJTEwpOworICAgIGVsbV9ib3hfcGFja19lbmQodmVydGljYWxfbGF5
b3V0LCBhcHBfZGF0YS0+d2Vidmlldyk7CisgICAgZXZhc19vYmplY3Rfc2hvdyhhcHBfZGF0YS0+
d2Vidmlldyk7CiAKLSAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93LT53
ZWJ2aWV3LCAiY2xvc2Usd2luZG93Iiwgb25fY2xvc2Vfd2luZG93LCB3aW5kb3cpOwotICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJjcmVhdGUsd2lu
ZG93Iiwgb25fbmV3X3dpbmRvdywgd2luZG93KTsKLSAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQod2luZG93LT53ZWJ2aWV3LCAiZG93bmxvYWQsZmFpbGVkIiwgb25fZG93bmxvYWRf
ZmFpbGVkLCB3aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5k
b3ctPndlYnZpZXcsICJkb3dubG9hZCxmaW5pc2hlZCIsIG9uX2Rvd25sb2FkX2ZpbmlzaGVkLCB3
aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndlYnZp
ZXcsICJkb3dubG9hZCxyZXF1ZXN0Iiwgb25fZG93bmxvYWRfcmVxdWVzdCwgd2luZG93KTsKLSAg
ICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3LCAibG9hZCxl
cnJvciIsIG9uX2Vycm9yLCB3aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNr
X2FkZCh3aW5kb3ctPndlYnZpZXcsICJsb2FkLHByb2dyZXNzIiwgb25fcHJvZ3Jlc3MsIHdpbmRv
dyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2Vidmlldywg
InRpdGxlLGNoYW5nZWQiLCBvbl90aXRsZV9jaGFuZ2VkLCB3aW5kb3cpOwotICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJ1cmwsY2hhbmdlZCIsIG9u
X3VybF9jaGFuZ2VkLCB3aW5kb3cpOwotCi0gICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tf
YWRkKHdpbmRvdy0+d2VidmlldywgRVZBU19DQUxMQkFDS19LRVlfRE9XTiwgb25fa2V5X2Rvd24s
IHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3RfZXZlbnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2Vi
dmlldywgRVZBU19DQUxMQkFDS19NT1VTRV9ET1dOLCBvbl9tb3VzZV9kb3duLCB3aW5kb3cpOwot
Ci0gICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQod2luZG93LT53ZWJ2aWV3LCBF
VkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKLSAgICBldmFzX29iamVjdF9tb3Zl
KHdpbmRvdy0+d2VidmlldywgMCwgVVJMX0JBUl9IRUlHSFQpOwotICAgIGV2YXNfb2JqZWN0X3Jl
c2l6ZSh3aW5kb3ctPndlYnZpZXcsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUIC0gVVJM
X0JBUl9IRUlHSFQpOwotICAgIGV2YXNfb2JqZWN0X3Nob3cod2luZG93LT53ZWJ2aWV3KTsKLSAg
ICBldmFzX29iamVjdF9mb2N1c19zZXQod2luZG93LT53ZWJ2aWV3LCBFSU5BX1RSVUUpOworICAg
IGlmICh1cmwpCisgICAgICAgIGV3a192aWV3X3VybF9zZXQoYXBwX2RhdGEtPndlYnZpZXcsIHVy
bCk7CiAKLSAgICB3aW5kb3ctPnVybF9iYXIgPSB1cmxfYmFyX2FkZCh3aW5kb3ctPndlYnZpZXcs
IERFRkFVTFRfV0lEVEgpOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHBfZGF0YS0+d2luZG93
LCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCk7CisgICAgZWxtX3dpbl9jZW50ZXIoYXBw
X2RhdGEtPndpbmRvdywgRUlOQV9UUlVFLCBFSU5BX1RSVUUpOworICAgIGV2YXNfb2JqZWN0X3No
b3coYXBwX2RhdGEtPndpbmRvdyk7CiAKLSAgICBpZiAodXJsKQotICAgICAgICBld2tfdmlld191
cmxfc2V0KHdpbmRvdy0+d2VidmlldywgdXJsKTsKKyAgICB2aWV3X2ZvY3VzX3NldChhcHBfZGF0
YSwgRUlOQV9UUlVFKTsKIAotICAgIHJldHVybiB3aW5kb3c7CisgICAgcmV0dXJuIGFwcF9kYXRh
OwogfQogCi1pbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorRUFQSV9NQUlOIGludAor
ZWxtX21haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsKICAgICBpbnQgYXJncyA9IDE7CiAg
ICAgdW5zaWduZWQgY2hhciBxdWl0T3B0aW9uID0gMDsKQEAgLTQxNiwxMSArNDMzLDggQEAgaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAogICAgIHdpbmRvd3MgPSBlaW5hX2xpc3Rf
YXBwZW5kKHdpbmRvd3MsIHdpbmRvdyk7CiAKLSAgICBFY29yZV9FdmVudF9IYW5kbGVyICpoYW5k
bGUgPSBlY29yZV9ldmVudF9oYW5kbGVyX2FkZChFQ09SRV9FVkVOVF9TSUdOQUxfRVhJVCwgbWFp
bl9zaWduYWxfZXhpdCwgMCk7Ci0KLSAgICBlY29yZV9tYWluX2xvb3BfYmVnaW4oKTsKLQotICAg
IGVjb3JlX2V2ZW50X2hhbmRsZXJfZGVsKGhhbmRsZSk7CisgICAgZWxtX3J1bigpOwogCiAgICAg
cmV0dXJuIHF1aXQoRUlOQV9UUlVFLCBOVUxMKTsKIH0KK0VMTV9NQUlOKCkKZGlmZiAtLWdpdCBh
L1Rvb2xzL2VmbC9qaGJ1aWxkLm1vZHVsZXMgYi9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCmlu
ZGV4IGE4ZWMzOWIuLmM4ZTQ1MzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2VmbC9qaGJ1aWxkLm1vZHVs
ZXMKKysrIGIvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcwpAQCAtMTcsNiArMTcsNyBAQAogICAg
ICAgPGRlcCBwYWNrYWdlPSJlX2RidXMiLz4KICAgICAgIDxkZXAgcGFja2FnZT0iZWV6ZSIvPgog
ICAgICAgPGRlcCBwYWNrYWdlPSJlZnJlZXQiLz4KKyAgICAgIDxkZXAgcGFja2FnZT0iZWxlbWVu
dGFyeSIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJsaWJ4bWwyIi8+CiAgICAgPC9kZXBlbmRlbmNp
ZXM+CiAgIDwvbWV0YW1vZHVsZT4KQEAgLTQxLDYgKzQyLDggQEAKICAgICAgIGhyZWY9Imh0dHA6
Ly9naXQuZW5saWdodGVubWVudC5mci9jZ2l0LmNnaS9zdm4vIi8+CiAgIDxyZXBvc2l0b3J5IHR5
cGU9InRhcmJhbGwiIG5hbWU9InhtbHNvZnQub3JnIgogICAgICAgaHJlZj0iZnRwOi8veG1sc29m
dC5vcmciLz4gCisgIDxyZXBvc2l0b3J5IHR5cGU9InRhcmJhbGwiIG5hbWU9ImRvd25sb2FkLmVu
bGlnaHRlbm1lbnQub3JnIgorICAgICAgaHJlZj0iaHR0cDovL2Rvd25sb2FkLmVubGlnaHRlbm1l
bnQub3JnIi8+CiAKICAgPGF1dG90b29scyBpZD0iY2Fpcm8iIGF1dG9nZW4tc2g9ImNvbmZpZ3Vy
ZSI+CiAgICAgPGRlcGVuZGVuY2llcz4KQEAgLTE1OSwyMCArMTYyLDIwIEBACiAgPC9hdXRvdG9v
bHM+CiAKICAgPGF1dG90b29scyBpZD0iZWluYSI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVpbmEu
Z2l0L3NuYXBzaG90L2VpbmEtZjkwOTI2ZGQ5YmYxOWVhOTQ2ZDc1NzJiMzYzMzVjYzBjNWNkM2Fi
NS50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlaW5h
LWY5MDkyNmRkOWJmMTllYTk0NmQ3NTcyYjM2MzM1Y2MwYzVjZDNhYjUiCi0gICAgICAgICAgICBy
ZXBvPSJlbmxpZ2h0ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjM4ODIxNDQz
NGRiZTM3MjZhYTM4OTRlNmY5ODM4YWRmYzQzZDhiZDYzYmI5NTk3Zjg2YTRlZmJjNDhiNDJjYWQi
Ci0gICAgICAgICAgICBtZDVzdW09ImRiNzU2ZGJkYTJiOGI3N2U1ZjgwN2MzZWNjY2QzNGU0Ij4K
KyAgICA8YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMvZWluYS0xLjcuMC50YXIuZ3oiIHZlcnNpb249
IjEuNy4wIgorICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVpbmEtMS43LjAiCisgICAgICAgICAg
ICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNo
YTI1Njo2YWFjZWRlZGIwOGFhMTA5MGExYmVlY2JmNjJhY2YzZTJjZTA2NzZhYzg3ZDIxYzc4N2Mw
Nzk4M2Y4MDExNjZmIgorICAgICAgICAgICAgbWQ1c3VtPSIzMDNiODFiYmZmZjY4NGVlZjBlNWJl
NzBiYTk3NzAxMiI+CiAgICAgPC9icmFuY2g+CiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9v
bHMgaWQ9ImVtYnJ5byI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVtYnJ5by5naXQvc25hcHNob3Qv
ZW1icnlvLTE5MWUxYjVmMDIyZjc2OWQ2MmFiZWM2MTEyZjUxZTVmYmVjZDZkYjkudGFyLmJ6MiIg
dmVyc2lvbj0iNzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZW1icnlvLTE5MWUxYjVm
MDIyZjc2OWQ2MmFiZWM2MTEyZjUxZTVmYmVjZDZkYjkiCi0gICAgICAgICAgICByZXBvPSJlbmxp
Z2h0ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OmQ4YTU3ZjUxOTg1ZWUxNmVl
NmE3ZmRlMmQzYjkzMWU4M2RhNWQyNmExYTYyZWZjMDEyZDY0ZTZkNWZlMzc0OGIiCi0gICAgICAg
ICAgICBtZDVzdW09ImFkZWJlYjhjNzA0ZTcwOTEyYTkyMGU4ZWY0ZWM0M2NkIj4KKyAgICA8YnJh
bmNoIG1vZHVsZT0icmVsZWFzZXMvZW1icnlvLTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAi
CisgICAgICAgICAgICBjaGVja291dGRpcj0iZW1icnlvLTEuNy4wIgorICAgICAgICAgICAgcmVw
bz0iZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6
MjkwYjQ1MmU2Y2I4N2Y2NGIxMWI1MjljN2Y2N2M0MDE5MmY4N2E3M2NjNGM1YmU5M2E5NWYxN2I3
NmY2NTA2MyIKKyAgICAgICAgICAgIG1kNXN1bT0iZjQ2YmI4YWIxNjk5Y2Q3YWNiODQ2M2U1MGEz
ZmZiNGIiPgogICAgIDwvYnJhbmNoPgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBh
Y2thZ2U9ImVpbmEiLz4KQEAgLTE4MCwyMCArMTgzLDIwIEBACiAgIDwvYXV0b3Rvb2xzPgogCiAg
IDxhdXRvdG9vbHMgaWQ9ImV2YXMiPgotICAgIDxicmFuY2ggbW9kdWxlPSJldmFzLmdpdC9zbmFw
c2hvdC9ldmFzLTE2OWNmMWJiOTYyMDAxZjFjZjNlNTllYjk1MDM4MGE5ZGMxZmNlZDMudGFyLmJ6
MiIgdmVyc2lvbj0iNzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZXZhcy0xNjljZjFi
Yjk2MjAwMWYxY2YzZTU5ZWI5NTAzODBhOWRjMWZjZWQzIgotICAgICAgICAgICAgcmVwbz0iZW5s
aWdodGVubWVudC5mciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1NjoyYjU5MzUwZTBmZTMzYThm
ZTQ5ZmNiZTA0MTkyZDA1YWIzNzM0NTY4NGM0ZWI5YjEwZmIwZTBhMzU1NDVlN2RhIgotICAgICAg
ICAgICAgbWQ1c3VtPSJiZmI1NDQyZTUwNTUxYzY0YzcwOTQ4MWE5YTM1YjRhMiI+CisgICAgPGJy
YW5jaCBtb2R1bGU9InJlbGVhc2VzL2V2YXMtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIK
KyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJldmFzLTEuNy4wIgorICAgICAgICAgICAgcmVwbz0i
ZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6MmQ3
YTMzZDAyZDJkYTM3NjQ3ZTRjMDEyN2ZlZGViZTAwZWVlYTE0NTYwZDZjMWI2Y2E5YjBjY2NkYWUw
ZGU4NCIKKyAgICAgICAgICAgIG1kNXN1bT0iMzM1OTkxOGY4ZTYwYzc3OGI4NjFjZjFjZGUwMmQz
YTkiPgogICAgIDwvYnJhbmNoPgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJl
Y29yZSI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVjb3JlLmdpdC9zbmFwc2hvdC9lY29yZS05Yzk2
ZjljMTQwMzIwZTUyMDMwZDFhMjA2ZDhkMzMwYWE0NmFiYzQ0LnRhci5iejIiIHZlcnNpb249Ijcz
MDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVjb3JlLTljOTZmOWMxNDAzMjBlNTIwMzBk
MWEyMDZkOGQzMzBhYTQ2YWJjNDQiCi0gICAgICAgICAgICByZXBvPSJlbmxpZ2h0ZW5tZW50LmZy
IgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjU0NmI5YzM4OTU1NjA3NGFkNDk4MmEwZTM4OWNj
YjBlNTVjZWQ1OWNlNzI1ZWEyYjVjMDY1YzRkNjAzMTAwNjgiCi0gICAgICAgICAgICBtZDVzdW09
ImIxNTU3MWYyNzFhOTk2MGI1NjJmOThjYjA5MjY4NDA4Ij4KKyAgICA8YnJhbmNoIG1vZHVsZT0i
cmVsZWFzZXMvZWNvcmUtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAg
IGNoZWNrb3V0ZGlyPSJlY29yZS0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVu
bGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OmYwMDllMTczNzZiN2Yz
ZmI2Y2U2YjQ1NjQ4ZDJhMDEzMWExNTI5NDNiNTAyZmEzNGNjNGJkMDE4ZjY3ZGE4YmIiCisgICAg
ICAgICAgICBtZDVzdW09ImNmMGI1ZTk4MGE3N2RjMGQxYmRlZGYyYmNjNjBlODYyIj4KICAgICA8
L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJlaW5hIi8+
CkBAIC0yMDIsMTEgKzIwNSwxMSBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlk
PSJlZXQiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlZXQuZ2l0L3NuYXBzaG90L2VldC0xNWZkNTJl
NDgzMWI5NDYzMDhhODBkZjlhMjUzNTdkYzE4Yzk3Y2EyLnRhci5iejIiIHZlcnNpb249IjczMDI3
IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVldC0xNWZkNTJlNDgzMWI5NDYzMDhhODBkZjlh
MjUzNTdkYzE4Yzk3Y2EyIgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVubWVudC5mciIKLSAg
ICAgICAgICAgIGhhc2g9InNoYTI1Njo2MmVmZjEyNDg5MjNiZTc5MThiZWZmNDZlODU5OGZmMmIx
MzliMDIyNGYwYTFiODQ1MTQyY2YxYjA3ODQyMmU2IgotICAgICAgICAgICAgbWQ1c3VtPSJiZTA4
NjM0YzcwNzEyYmI0NGE1NTM0ZWY1YjJhN2FmMyI+CisgICAgPGJyYW5jaCBtb2R1bGU9InJlbGVh
c2VzL2VldC0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAgICAgICAgICAgY2hlY2tv
dXRkaXI9ImVldC0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1l
bnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjliY2E1YmVjYWFhNWFiZjRiN2FjMGY4
MGRlNjhkM2I5YThmMWFiY2U3ZWNhNDE3NWUxYWQ4Mjk1Mzc4M2QyMDkiCisgICAgICAgICAgICBt
ZDVzdW09IjQ2ZTk4OWViNGRkZGQ5NDJiNDU2NDI5OWUxOWQ5ZjY0Ij4KICAgICA8L2JyYW5jaD4K
ICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJsaWJnY3J5cHQiLz4KQEAg
LTIxNSwxMSArMjE4LDExIEBACiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMgaWQ9ImVk
amUiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlZGplLmdpdC9zbmFwc2hvdC9lZGplLTE0NzM4ZWVm
YWM1NGQxYThjZmVhZDJiNWFlZDNiN2YwNWM1YjRiZDgudGFyLmJ6MiIgdmVyc2lvbj0iNzMwMjci
Ci0gICAgICAgICAgICBjaGVja291dGRpcj0iZWRqZS0xNDczOGVlZmFjNTRkMWE4Y2ZlYWQyYjVh
ZWQzYjdmMDVjNWI0YmQ4IgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVubWVudC5mciIKLSAg
ICAgICAgICAgIGhhc2g9InNoYTI1Njo5ZTEwMmYwYjQ3ZTljZGZhNzM3YjVmODFiMTFkMzUyYWUw
MTIwNjIwOTcyOWU1ODE1YzI4ZDgyNjE4NmIyNDdlIgotICAgICAgICAgICAgbWQ1c3VtPSI1ZjE5
OTU5MDFjODQ4YmRhZWM1NmZmMWY5MTNlZjAyZiI+CisgICAgPGJyYW5jaCBtb2R1bGU9InJlbGVh
c2VzL2VkamUtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAgIGNoZWNr
b3V0ZGlyPSJlZGplLTEuNy4wIgorICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQuZW5saWdodGVu
bWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6ZDZkZjlhN2JmMTFjNDYwNWY1NWEy
ZTdjMjA5MjEwMDQ0ZjhkYzRmMzMzMjEzNWY2MjU2Njc2ZDJmOTM3NjIxYiIKKyAgICAgICAgICAg
IG1kNXN1bT0iMzdlMTVjNWQ2ZTdjMjY3NjcyOGJkYTc1MTA5YjIyMTgiPgogICAgIDwvYnJhbmNo
PgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVldCIvPgpAQCAtMjMw
LDExICsyMzMsMTEgQEAKICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZV9kYnVz
Ij4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZV9kYnVzLmdpdC9zbmFwc2hvdC9lX2RidXMtOWRlMGEz
ZTBjOTU5Y2RiYWJhMDIyZWI4ODhiOTY3MGJkNzY2ZDM4Zi50YXIuYnoyIiB2ZXJzaW9uPSI3MzAy
NyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlX2RidXMtOWRlMGEzZTBjOTU5Y2RiYWJhMDIy
ZWI4ODhiOTY3MGJkNzY2ZDM4ZiIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIi
Ci0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6Zjk2NTVjM2JhNjkxNzRkYmQ2NWI1MjIwYTQ5MmI5
NzBhYTkyNjRmZjMyODNjYmQ5NjBhODliNjllNTM1OTFiNiIKLSAgICAgICAgICAgIG1kNXN1bT0i
NGNjYTFmOTk0ZTE3ODIzY2E5YmUxOTg1ZjVjNGFkMDkiPgorICAgIDxicmFuY2ggbW9kdWxlPSJy
ZWxlYXNlcy9lX2RidXMtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAg
IGNoZWNrb3V0ZGlyPSJlX2RidXMtMS43LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5l
bmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1Njo2ZWUzMDNiZDBlMmY5
MWE2YmUwODQzM2RmNDc0Mzc3NDk0YmE2ODE1NDQxZTVlNmI3OWE1ZDI4NGVhZDJhNzY4IgorICAg
ICAgICAgICAgbWQ1c3VtPSIzZDU5YmZiMDA3NjNhNjE5NzZhOTc2YmU5MjVlMWNiZiI+CiAgICAg
PC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0iZWNvcmUi
Lz4KQEAgLTI0MywxMSArMjQ2LDExIEBACiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxhdXRvdG9vbHMg
aWQ9ImVlemUiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlZXplLmdpdC9zbmFwc2hvdC9lZXplLTA5
YTM3OWJjMmNjNmMxYzdhYWIwNDc4OTkxYTEwNGIwYzZhZjE4NDQudGFyLmJ6MiIgdmVyc2lvbj0i
NzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZWV6ZS0wOWEzNzliYzJjYzZjMWM3YWFi
MDQ3ODk5MWExMDRiMGM2YWYxODQ0IgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVubWVudC5m
ciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1NjozMTJkNjE0MjlhZjg0NWE2MzMzYzBjOTY4ZWM3
YjA5MDI5ODIwODJmMTcxNDUzZWUxNDM0M2E4ZWZlNzczY2ZjIgotICAgICAgICAgICAgbWQ1c3Vt
PSJjMTYzY2FlZGNiYWI1MzJiNGRjMTYwMTRiMTRiYjliYyI+CisgICAgPGJyYW5jaCBtb2R1bGU9
InJlbGVhc2VzL2VlemUtMS43LjAudGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAg
IGNoZWNrb3V0ZGlyPSJlZXplLTEuNy4wIgorICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQuZW5s
aWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6N2RiODcwOTQ0NTExNGQx
ZmUxYzM2MDljZjc5YTA2ZTEzYTNkNTg0YTVhM2RmZDU1NzY0MmRkYzY1YWMzYTIwMiIKKyAgICAg
ICAgICAgIG1kNXN1bT0iNjBhOGJiNjJlM2QyY2M3ZGZhYzE0ZjFjZDYyMzQzZTIiPgogICAgIDwv
YnJhbmNoPgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVjb3JlIi8+
CkBAIC0yNTYsMTEgKzI1OSwxMSBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlk
PSJlZnJlZXQiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlZnJlZXQuZ2l0L3NuYXBzaG90L2VmcmVl
dC1lNzcxMmM4MzBmM2EzY2I0YzE5NzY5NWRlNGM5ODEzODdiZThmMjE0LnRhci5iejIiIHZlcnNp
b249IjczMDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVmcmVldC1lNzcxMmM4MzBmM2Ez
Y2I0YzE5NzY5NWRlNGM5ODEzODdiZThmMjE0IgotICAgICAgICAgICAgcmVwbz0iZW5saWdodGVu
bWVudC5mciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1Njo0ODM5MTg3YzNjYzA5OWViNmI2OTg2
YzY5MjRmNGU0ZjZkZmZkMjJlY2NiYzNmMWJkZGQxYTYzMTJiYzhjODRjIgotICAgICAgICAgICAg
bWQ1c3VtPSJiZjI4ZWU5ZDdiNTIxMWQ3MmMyNzQxMmE3ZjFjZGI4MCI+CisgICAgPGJyYW5jaCBt
b2R1bGU9InJlbGVhc2VzL2VmcmVldC0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4wIgorICAg
ICAgICAgICAgY2hlY2tvdXRkaXI9ImVmcmVldC0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRv
d25sb2FkLmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjE2YTQx
YTAzZDU1ZmViZjMwZjJkZDc4NmI1MWJlM2UzNzBmYzU2M2YzMzM1ZGQyNjgzMmUwZWFhODg1MTZj
NzkiCisgICAgICAgICAgICBtZDVzdW09ImYwMzkxOTdlMTQyODhlY2VmOTRlZWFiMDQwY2JiZGI0
Ij4KICAgICA8L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgICA8ZGViIHBhY2th
Z2U9ImVjb3JlIi8+CkBAIC0yNjksNiArMjcyLDIxIEBACiAgICAgPC9kZXBlbmRlbmNpZXM+CiAg
IDwvYXV0b3Rvb2xzPgogCisgIDxhdXRvdG9vbHMgaWQ9ImVsZW1lbnRhcnkiPgorICAgIDxicmFu
Y2ggbW9kdWxlPSJyZWxlYXNlcy9lbGVtZW50YXJ5LTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43
LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0iZWxlbWVudGFyeS0xLjcuMCIKKyAgICAgICAg
ICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0i
c2hhMjU2OjdlN2RlZWI0ZTNhOWJiYjljN2I3YTg5YzJlZmJlMjY5YTFhNmE0NGVmMzgwYmY5MWMx
MDY2ZDEyODE2M2UyZDMiCisgICAgICAgICAgICBtZDVzdW09IjQ1MjYzYzVkMTA3OTgxYTQ0ZDI4
NzM0YzgyZTlmYWUxIj4KKyAgICA8L2JyYW5jaD4KKyAgICA8ZGVwZW5kZW5jaWVzPgorICAgICAg
ICA8ZGViIHBhY2thZ2U9ImVkamUiLz4KKyAgICAgICAgPGRlYiBwYWNrYWdlPSJlaW5hIi8+Cisg
ICAgICAgIDxkZWIgcGFja2FnZT0iZWV0Ii8+CisgICAgICAgIDxkZWIgcGFja2FnZT0iZWNvcmUi
Lz4KKyAgICA8L2RlcGVuZGVuY2llcz4KKyAgPC9hdXRvdG9vbHM+CisKICAgPGF1dG90b29scyBp
ZD0ibGlieG1sMiI+CiAgICAgPGJyYW5jaCBtb2R1bGU9Ii9saWJ4bWwyL2xpYnhtbDItMi44LjAu
dGFyLmd6IiB2ZXJzaW9uPSIyLjguMCIKICAgICAgICAgICAgIHJlcG89InhtbHNvZnQub3JnIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167945</attachid>
            <date>2012-10-10 00:48:40 -0700</date>
            <delta_ts>2012-10-10 04:22:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98748_minibrowser_elementary.patch</filename>
            <type>text/plain</type>
            <size>32623</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiMWI3Y2VhLi5iYmM0MzIz
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMTAtMDkgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNv
bT4KKworICAgICAgICBbRUZMXVtXSzJdIFBvcnQgTWluaUJyb3dzZXIgdG8gRWxlbWVudGFyeQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg3NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAg
ICBCdW1wIEVGTCBsaWJyYWlyaWVzIGRlcGVuZGVuY2llcyB0byB2MS43CisgICAgICAgIGFuZCBh
ZGQgRWxlbWVudGFyeSBhcyBvcHRpb25hbCBkZXBlbmRlbmN5IG5vdworICAgICAgICB0aGF0IGl0
IGlzIG5lZWRlZCB0byBidWlsZCBNaW5pQnJvd3Nlci4KKworICAgICAgICAqIFNvdXJjZS9jbWFr
ZS9GaW5kRWV0LmNtYWtlOiBBZGRlZC4KKyAgICAgICAgKiBTb3VyY2UvY21ha2UvRmluZEVsZW1l
bnRhcnkuY21ha2U6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlOgorCiAyMDEyLTEwLTA5ICBTaW1vbiBQZW5hICA8c3BlbmFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBBZGQgc3VwcG9ydCBmb3IgcnVubmluZyBKYXZhU2NyaXB0IGZyb20gR1Jlc291
cmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL0ZpbmRFZXQuY21ha2UgYi9Tb3VyY2UvY21h
a2UvRmluZEVldC5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmJm
YzVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRFZXQuY21ha2UKQEAgLTAs
MCArMSw0MSBAQAorIyAtIFRyeSB0byBmaW5kIEVldAorIyBPbmNlIGRvbmUsIHRoaXMgd2lsbCBk
ZWZpbmUKKyMKKyMgIEVFVF9GT1VORCAtIHN5c3RlbSBoYXMgRWV0IGluc3RhbGxlZC4KKyMgIEVF
VF9JTkNMVURFX0RJUlMgLSBkaXJlY3RvcmllcyB3aGljaCBjb250YWluIHRoZSBFZXQgaGVhZGVy
cy4KKyMgIEVFVF9MSUJSQVJJRVMgLSBsaWJyYXJpZXMgcmVxdWlyZWQgdG8gbGluayBhZ2FpbnN0
IEVldC4KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6Cisj
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVIgQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUworIyBJUycnIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIElUUworIyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyMgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsKKyMgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCisj
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SCisjIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKyMgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK0lOQ0xVREUoRUZMSGVscGVycykKKworRklORF9FRkxf
TElCUkFSWShFRVQKKyAgICBIRUFERVJTIEVldC5oCisgICAgSEVBREVSX1BSRUZJWEVTIGVldC0x
CisgICAgTElCUkFSWSBlZXQKKykKKworSU5DTFVERShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJk
QXJncykKK0ZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhFZXQgUkVRVUlSRURfVkFS
UyBFRVRfSU5DTFVERV9ESVJTIEVFVF9MSUJSQVJJRVMKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVkVSU0lPTl9WQVIgICBFRVRfVkVSU0lPTikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9jbWFrZS9GaW5kRWxlbWVudGFyeS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kRWxlbWVu
dGFyeS5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTVjYTc4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRFbGVtZW50YXJ5LmNtYWtlCkBAIC0w
LDAgKzEsNDEgQEAKKyMgLSBUcnkgdG8gZmluZCBFbGVtZW50YXJ5CisjIE9uY2UgZG9uZSwgdGhp
cyB3aWxsIGRlZmluZQorIworIyAgRUxFTUVOVEFSWV9GT1VORCAtIHN5c3RlbSBoYXMgRWxlbWVu
dGFyeSBpbnN0YWxsZWQuCisjICBFTEVNRU5UQVJZX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVz
IHdoaWNoIGNvbnRhaW4gdGhlIEVsZW1lbnRhcnkgaGVhZGVycy4KKyMgIEVMRU1FTlRBUllfTElC
UkFSSUVTIC0gbGlicmFyaWVzIHJlcXVpcmVkIHRvIGxpbmsgYWdhaW5zdCBFbGVtZW50YXJ5Lgor
IworIyBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTCisjIElTJycgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisjIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgSVRTCisjIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisjIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOworIyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyMgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IKKyMgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorIyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworSU5DTFVERShFRkxIZWxwZXJzKQorCitGSU5EX0VGTF9MSUJSQVJZ
KEVMRU1FTlRBUlkKKyAgICBIRUFERVJTIEVsZW1lbnRhcnkuaAorICAgIEhFQURFUl9QUkVGSVhF
UyBlbGVtZW50YXJ5LTEKKyAgICBMSUJSQVJZIGVsZW1lbnRhcnkKKykKKworSU5DTFVERShGaW5k
UGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRf
QVJHUyhFbGVtZW50YXJ5IFJFUVVJUkVEX1ZBUlMgRUxFTUVOVEFSWV9JTkNMVURFX0RJUlMgRUxF
TUVOVEFSWV9MSUJSQVJJRVMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZFUlNJT05fVkFSICAgRUxNX1ZFUlNJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4
IGI3ZmI5M2UuLmIyNzcxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0xMDUsMTMgKzEwNSwx
NyBAQCBJRiAoRU5BQkxFX0VDT1JFX1gpCiAgICAgQUREX0RFRklOSVRJT05TKC1ESEFWRV9FQ09S
RV9YKQogRU5ESUYgKCkKIAotRklORF9QQUNLQUdFKEVpbmEgMS4yIFJFUVVJUkVEKQotRklORF9Q
QUNLQUdFKEV2YXMgMS4yIFJFUVVJUkVEKQotRklORF9QQUNLQUdFKEVjb3JlIDEuMiBDT01QT05F
TlRTIEV2YXMgRmlsZSBJbnB1dCAke0VDT1JFX0FERElUSU9OQUxfQ09NUE9ORU5UU30pCi1GSU5E
X1BBQ0tBR0UoRWRqZSAxLjIgUkVRVUlSRUQpCi1GSU5EX1BBQ0tBR0UoRWV6ZSAxLjIgUkVRVUlS
RUQpCi1GSU5EX1BBQ0tBR0UoRWZyZWV0IDEuMiBSRVFVSVJFRCkKLUZJTkRfUEFDS0FHRShFX0RC
dXMgMS4yIENPTVBPTkVOVFMgRVVLaXQpCitGSU5EX1BBQ0tBR0UoRWluYSAxLjcgUkVRVUlSRUQp
CitGSU5EX1BBQ0tBR0UoRXZhcyAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRWNvcmUgMS43
IENPTVBPTkVOVFMgRXZhcyBGaWxlIElucHV0ICR7RUNPUkVfQURESVRJT05BTF9DT01QT05FTlRT
fSkKK0ZJTkRfUEFDS0FHRShFZGplIDEuNyBSRVFVSVJFRCkKK0ZJTkRfUEFDS0FHRShFZXQgMS43
IFJFUVVJUkVEKQorRklORF9QQUNLQUdFKEVlemUgMS43IFJFUVVJUkVEKQorRklORF9QQUNLQUdF
KEVmcmVldCAxLjcgUkVRVUlSRUQpCitGSU5EX1BBQ0tBR0UoRV9EQnVzIDEuNyBDT01QT05FTlRT
IEVVS2l0KQorCisjIEVsZW1lbnRhcnkgaXMgbmVlZGVkIHRvIGJ1aWxkIE1pbmlCcm93c2VyCitG
SU5EX1BBQ0tBR0UoRWxlbWVudGFyeSAxLjcpCiAKIEZJTkRfUEFDS0FHRShGcmVldHlwZSAyLjQu
MiBSRVFVSVJFRCkKIEZJTkRfUEFDS0FHRShIYXJmQnV6eiAwLjkuMiBSRVFVSVJFRCkKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvQ01ha2VMaXN0cy50eHQKaW5kZXgg
MWE2YTY5Yi4uMWFhMzliZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ01ha2VMaXN0cy50eHQKKysrIGIv
VG9vbHMvQ01ha2VMaXN0cy50eHQKQEAgLTEwLDcgKzEwLDcgQEAgSUYgKCIke1BPUlR9IiBTVFJF
UVVBTCAiRWZsIikKICAgICAgICAgQUREX1NVQkRJUkVDVE9SWShFV2ViTGF1bmNoZXIpCiAgICAg
RU5ESUYgKCkKIAotICAgIElGIChFTkFCTEVfV0VCS0lUMikKKyAgICBJRiAoRU5BQkxFX1dFQktJ
VDIgQU5EIEVMRU1FTlRBUllfRk9VTkQpCiAgICAgICAgIEFERF9TVUJESVJFQ1RPUlkoTWluaUJy
b3dzZXIvZWZsKQogICAgIEVORElGICgpCiAgICAgQUREX1NVQkRJUkVDVE9SWShEdW1wUmVuZGVy
VHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4pCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggMTU3MzY3ZC4uYmE2MWZhYiAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTEw
LTA5ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAg
ICAgICAgW0VGTF1bV0syXSBQb3J0IE1pbmlCcm93c2VyIHRvIEVsZW1lbnRhcnkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NzQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgUG9ydCBN
aW5pQnJvd3NlciB0byBFbGVtZW50YXJ5IHRvIHNpbXBsaWZ5IHRoZQorICAgICAgICBjb2RlIGFu
ZCBtYWtlIGZ1dHVyZSBpbXByb3ZlbWVudHMgZWFzaWVyLiBUaGUKKyAgICAgICAgVVJMIGJhciBp
cyBub3cgYW4gRWxlbWVudGFyeSBFbnRyeSB3aWRnZXQgYW5kCisgICAgICAgIHN1cHBvcnRzIGFk
ZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSBsaWtlIGNvcHkgLworICAgICAgICBwYXN0ZS4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEVXZWJMYXVuY2hlci91cmxfYmFyLmM6
CisgICAgICAgIChvbl91cmxiYXJfa2V5X2Rvd24pOiBSZW1vdmUgV0syLXNwZWNpZmljIGNvZGUK
KyAgICAgICAgbm93IHRoYXQgdGhpcyBmaWxlIGlzIG5vIGxvbmdlciB1c2VkIGJ5IE1pbmlCcm93
c2VyLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci9lZmwvbWFpbi5jOgorICAgICAgICAoX0Jyb3dzZXJfV2luZG93KToKKyAg
ICAgICAgKHdpbmRvd19mcmVlKToKKyAgICAgICAgKHdpbmRvd19jbG9zZSk6CisgICAgICAgICh2
aWV3X2ZvY3VzX3NldCk6CisgICAgICAgIChvbl9tb3VzZV9kb3duKToKKyAgICAgICAgKHRpdGxl
X3NldCk6CisgICAgICAgIChvbl90aXRsZV9jaGFuZ2VkKToKKyAgICAgICAgKG9uX3VybF9jaGFu
Z2VkKToKKyAgICAgICAgKG9uX2Nsb3NlX3dpbmRvdyk6CisgICAgICAgIChvbl9wcm9ncmVzcyk6
CisgICAgICAgIChxdWl0KToKKyAgICAgICAgKG9uX3VybF9iYXJfYWN0aXZhdGVkKToKKyAgICAg
ICAgKG9uX3VybF9iYXJfY2xpY2tlZCk6CisgICAgICAgIChvbl93aW5kb3dfZGVsZXRpb24pOgor
ICAgICAgICAod2luZG93X2NyZWF0ZSk6CisgICAgICAgIChlbG1fbWFpbik6CisgICAgICAgICog
ZWZsL2poYnVpbGQubW9kdWxlczogQWRkIEVsZW1lbnRhcnkgdG8gamhidWlsZCBhbmQgYnVtcAor
ICAgICAgICBFRkwgZGVwZW5kZW5jaWVzIHRvIDEuNy4KKwogMjAxMi0xMC0wOSAgRGFtaWFuIEth
bGV0YSAgPGRrYWxldGFAYXBwbGUuY29tPgogCiAgICAgICAgIGV4dHJhY3QtbG9jYWxpemFibGUt
c3RyaW5ncyBzY3JpcHQgc2hvdWxkIGJlIGFibGUgdG8gaGFuZGxlIHBhdGhzIHRvIGZpbGVzIGNv
bnRhaW5pbmcgd2hpdGVzcGFjZXMuCmRpZmYgLS1naXQgYS9Ub29scy9FV2ViTGF1bmNoZXIvdXJs
X2Jhci5jIGIvVG9vbHMvRVdlYkxhdW5jaGVyL3VybF9iYXIuYwppbmRleCBmNTY3NTg4Li40MDhi
NWFjIDEwMDY0NAotLS0gYS9Ub29scy9FV2ViTGF1bmNoZXIvdXJsX2Jhci5jCisrKyBiL1Rvb2xz
L0VXZWJMYXVuY2hlci91cmxfYmFyLmMKQEAgLTUwLDExICs1MCw3IEBAIG9uX3VybGJhcl9rZXlf
ZG93bih2b2lkICpkYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAqb2JqLCB2b2lkICpldmVudF9p
bmZvKQogCiAgICAgY2hhciAqdXJsID0gX3VybF9iYXJfdXJsX2dldF93aXRoX3Byb3RvY29sKHVy
bEJhcik7CiAgICAgaWYgKHVybCkgewotI2lmZGVmIEVGTF9XSzIKLSAgICAgICAgZXdrX3ZpZXdf
dXJsX3NldCh1cmxCYXItPndlYlZpZXcsIHVybCk7Ci0jZWxzZQogICAgICAgICBld2tfdmlld191
cmlfc2V0KHVybEJhci0+d2ViVmlldywgdXJsKTsKLSNlbmRpZgogICAgICAgICBmcmVlKHVybCk7
CiAgICAgfQogICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh1cmxCYXItPndlYlZpZXcsIEVJTkFf
VFJVRSk7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQg
Yi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKaW5kZXggNGQ0NzdlNS4uZTM5
ZDkxMSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApAQCAtMSw3ICsxLDYgQEAK
IFNFVChNaW5pQnJvd3Nlcl9ESVIgIiR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9lZmwiKQogCiBT
RVQoTWluaUJyb3dzZXJfU09VUkNFUwotICAgICR7VE9PTFNfRElSfS9FV2ViTGF1bmNoZXIvdXJs
X2Jhci5jCiAgICAgJHtUT09MU19ESVJ9L0VXZWJMYXVuY2hlci91cmxfdXRpbHMuYwogICAgICR7
TWluaUJyb3dzZXJfRElSfS9tYWluLmMKICkKQEAgLTEyLDcgKzExLDEyIEBAIFNFVChNaW5pQnJv
d3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgJHtFQ09SRV9FVkFTX0lOQ0xVREVfRElSU30K
ICAgICAke0VDT1JFX0ZJTEVfSU5DTFVERV9ESVJTfQogICAgICR7RURKRV9JTkNMVURFX0RJUlN9
CisgICAgJHtFRVRfSU5DTFVERV9ESVJTfQorICAgICR7REJVU19JTkNMVURFX0RJUlN9CisgICAg
JHtFX0RCVVNfSU5DTFVERV9ESVJTfQorICAgICR7RUZSRUVUX0lOQ0xVREVfRElSU30KICAgICAk
e0VJTkFfSU5DTFVERV9ESVJTfQorICAgICR7RUxFTUVOVEFSWV9JTkNMVURFX0RJUlN9CiAgICAg
JHtFVkFTX0lOQ0xVREVfRElSU30KICAgICAke1RPT0xTX0RJUn0vRVdlYkxhdW5jaGVyCiAgICAg
JHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKQEAgLTMwLDYgKzM0LDcgQEAgU0VUKE1p
bmlCcm93c2VyX0xJQlJBUklFUwogICAgICR7RUNPUkVfRklMRV9MSUJSQVJJRVN9CiAgICAgJHtF
REpFX0xJQlJBUklFU30KICAgICAke0VJTkFfTElCUkFSSUVTfQorICAgICR7RUxFTUVOVEFSWV9M
SUJSQVJJRVN9CiAgICAgJHtFVkFTX0xJQlJBUklFU30KICAgICAke0ZPTlRDT05GSUdfTElCUkFS
SUVTfQogICAgICR7TElCU09VUF9MSUJSQVJJRVN9CkBAIC00NiwxMiArNTEsMTAgQEAgSUYgKEVO
QUJMRV9HTElCX1NVUFBPUlQpCiAgICAgKQogRU5ESUYgKCkKIAotQUREX0RFRklOSVRJT05TKC1E
VEhFTUVfRElSPVwiJHtUSEVNRV9CSU5BUllfRElSfVwiIC1ERUZMX1dLMj0xKQorQUREX0RFRklO
SVRJT05TKC1EVEhFTUVfRElSPVwiJHtUSEVNRV9CSU5BUllfRElSfVwiKQogCiBJTkNMVURFX0RJ
UkVDVE9SSUVTKCR7TWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFU30pCiAKIEFERF9FWEVD
VVRBQkxFKE1pbmlCcm93c2VyICR7TWluaUJyb3dzZXJfU09VUkNFU30pCiBUQVJHRVRfTElOS19M
SUJSQVJJRVMoTWluaUJyb3dzZXIgJHtNaW5pQnJvd3Nlcl9MSUJSQVJJRVN9KQogU0VUX1RBUkdF
VF9QUk9QRVJUSUVTKE1pbmlCcm93c2VyIFBST1BFUlRJRVMgRk9MREVSICJUb29scyIpCi0KLUFE
RF9ERVBFTkRFTkNJRVMoTWluaUJyb3dzZXIgVGhlbWVDb250cm9sKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMK
aW5kZXggMDUzMTQ4MS4uYTM0MWVlYiAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZs
L21haW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0xOCwxMSArMTgs
MTEgQEAKICAqLwogCiAjaW5jbHVkZSAiRVdlYktpdDIuaCIKLSNpbmNsdWRlICJ1cmxfYmFyLmgi
CiAjaW5jbHVkZSAidXJsX3V0aWxzLmgiCiAjaW5jbHVkZSA8RWNvcmUuaD4KICNpbmNsdWRlIDxF
Y29yZV9FdmFzLmg+CiAjaW5jbHVkZSA8RWluYS5oPgorI2luY2x1ZGUgPEVsZW1lbnRhcnkuaD4K
ICNpbmNsdWRlIDxFdmFzLmg+CiAKIHN0YXRpYyBjb25zdCBpbnQgREVGQVVMVF9XSURUSCA9IDgw
MDsKQEAgLTQyLDEwICs0Miw5IEBAIHN0YXRpYyBjaGFyICpldmFzX2VuZ2luZV9uYW1lID0gTlVM
TDsKIHN0YXRpYyBFaW5hX0Jvb2wgZnJhbWVfZmxhdHRlbmluZ19lbmFibGVkID0gRUlOQV9GQUxT
RTsKIAogdHlwZWRlZiBzdHJ1Y3QgX0Jyb3dzZXJfV2luZG93IHsKLSAgICBFY29yZV9FdmFzICpl
ZTsKLSAgICBFdmFzICpldmFzOworICAgIEV2YXNfT2JqZWN0ICp3aW5kb3c7CiAgICAgRXZhc19P
YmplY3QgKndlYnZpZXc7Ci0gICAgVXJsX0JhciAqdXJsX2JhcjsKKyAgICBFdmFzX09iamVjdCAq
dXJsX2JhcjsKIH0gQnJvd3Nlcl9XaW5kb3c7CiAKIHN0YXRpYyBjb25zdCBFY29yZV9HZXRvcHQg
b3B0aW9ucyA9IHsKQEAgLTc1LDI2ICs3NCwyNyBAQCBzdGF0aWMgY29uc3QgRWNvcmVfR2V0b3B0
IG9wdGlvbnMgPSB7CiAKIHN0YXRpYyBCcm93c2VyX1dpbmRvdyAqd2luZG93X2NyZWF0ZShjb25z
dCBjaGFyICp1cmwpOwogCi1zdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKmJyb3dzZXJfd2luZG93X2Zp
bmQoRWNvcmVfRXZhcyAqZWUpCitzdGF0aWMgQnJvd3Nlcl9XaW5kb3cgKmJyb3dzZXJfd2luZG93
X2ZpbmQoRXZhc19PYmplY3QgKndpbmRvdykKIHsKICAgICBFaW5hX0xpc3QgKmw7CiAgICAgdm9p
ZCAqZGF0YTsKIAotICAgIGlmICghZWUpCisgICAgaWYgKCF3aW5kb3cpCiAgICAgICAgIHJldHVy
biBOVUxMOwogCiAgICAgRUlOQV9MSVNUX0ZPUkVBQ0god2luZG93cywgbCwgZGF0YSkgewotICAg
ICAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93ICopZGF0YTsKLSAg
ICAgICAgaWYgKHdpbmRvdy0+ZWUgPT0gZWUpCi0gICAgICAgICAgICByZXR1cm4gd2luZG93Owor
ICAgICAgICBCcm93c2VyX1dpbmRvdyAqYnJvd3Nlcl93aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cg
KilkYXRhOworICAgICAgICBpZiAoYnJvd3Nlcl93aW5kb3ctPndpbmRvdyA9PSB3aW5kb3cpCisg
ICAgICAgICAgICByZXR1cm4gYnJvd3Nlcl93aW5kb3c7CiAgICAgfQogICAgIHJldHVybiBOVUxM
OwogfQogCiBzdGF0aWMgdm9pZCB3aW5kb3dfZnJlZShCcm93c2VyX1dpbmRvdyAqd2luZG93KQog
ewotICAgIHVybF9iYXJfZGVsKHdpbmRvdy0+dXJsX2Jhcik7Ci0gICAgZWNvcmVfZXZhc19mcmVl
KHdpbmRvdy0+ZWUpOworICAgIGV2YXNfb2JqZWN0X2RlbCh3aW5kb3ctPndlYnZpZXcpOworICAg
IC8qIFRoZSBlbG1fd2luIHdpbGwgdGFrZSBjYXJlIG9mIGZyZWVpbmcgaXRzIGNoaWxkcmVuICov
CisgICAgZXZhc19vYmplY3RfZGVsKHdpbmRvdy0+d2luZG93KTsKICAgICBmcmVlKHdpbmRvdyk7
CiB9CiAKQEAgLTEwNCw0MSArMTA0LDcgQEAgc3RhdGljIHZvaWQgd2luZG93X2Nsb3NlKEJyb3dz
ZXJfV2luZG93ICp3aW5kb3cpCiAgICAgd2luZG93X2ZyZWUod2luZG93KTsKIAogICAgIGlmICgh
d2luZG93cykKLSAgICAgICAgZWNvcmVfbWFpbl9sb29wX3F1aXQoKTsKLX0KLQotc3RhdGljIEVp
bmFfQm9vbCBtYWluX3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpl
dikKLXsKLSAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93OwotICAgIEVJTkFfTElTVF9GUkVFKHdp
bmRvd3MsIHdpbmRvdykKLSAgICAgICAgd2luZG93X2ZyZWUod2luZG93KTsKLQotICAgIGVjb3Jl
X21haW5fbG9vcF9xdWl0KCk7Ci0gICAgcmV0dXJuIEVJTkFfVFJVRTsKLX0KLQotc3RhdGljIHZv
aWQgb25fZWNvcmVfZXZhc19kZWxldGUoRWNvcmVfRXZhcyAqZWUpCi17Ci0gICAgd2luZG93X2Ns
b3NlKGJyb3dzZXJfd2luZG93X2ZpbmQoZWUpKTsKLX0KLQotc3RhdGljIHZvaWQgb25fZWNvcmVf
ZXZhc19yZXNpemUoRWNvcmVfRXZhcyAqZWUpCi17Ci0gICAgQnJvd3Nlcl9XaW5kb3cgKndpbmRv
dzsKLSAgICBFdmFzX09iamVjdCAqd2VidmlldzsKLSAgICBpbnQgdywgaDsKLQotICAgIHdpbmRv
dyA9IGJyb3dzZXJfd2luZG93X2ZpbmQoZWUpOwotICAgIGlmICghd2luZG93KQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBlY29yZV9ldmFzX2dlb21ldHJ5X2dldChlZSwgTlVMTCwgTlVMTCwgJncs
ICZoKTsKLQotICAgIC8qIFJlc2l6ZSBVUkwgYmFyICovCi0gICAgdXJsX2Jhcl93aWR0aF9zZXQo
d2luZG93LT51cmxfYmFyLCB3KTsKLQotICAgIGV2YXNfb2JqZWN0X21vdmUod2luZG93LT53ZWJ2
aWV3LCAwLCBVUkxfQkFSX0hFSUdIVCk7Ci0gICAgZXZhc19vYmplY3RfcmVzaXplKHdpbmRvdy0+
d2VidmlldywgdywgaCAtIFVSTF9CQVJfSEVJR0hUKTsKKyAgICAgICAgZWxtX2V4aXQoKTsKIH0K
IAogc3RhdGljIHZvaWQKQEAgLTE3OSwyMyArMTQ1LDM3IEBAIG9uX2tleV9kb3duKHZvaWQgKmRh
dGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZvaWQgKmV2ZW50X2luZm8pCiB9CiAKIHN0
YXRpYyB2b2lkCi1vbl9tb3VzZV9kb3duKHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0
ICp3ZWJ2aWV3LCB2b2lkICpldmVudF9pbmZvKQordmlld19mb2N1c19zZXQoQnJvd3Nlcl9XaW5k
b3cgKndpbmRvdywgRWluYV9Cb29sIGZvY3VzKQogeworICAgIC8qIFdlIHN0ZWFsIGZvY3VzIGF3
YXkgZnJvbSBlbG0ncyBmb2N1cyBtb2RlbCBhbmQgc3RhcnQgdG8gZG8gdGhpbmdzCisgICAgICog
bWFudWFsbHkgaGVyZSwgc28gZWxtIG5vdyBoYXMgbm8gY2x1ZSB3aGF0J3MgdXAuIFRlbGwgZWxt
IHRoYXQgaXRzCisgICAgICogdG9wbGV2ZWwgd2lkZ2V0IGlzIHRvIGJlIHVuZm9jdXNlZCBzbyBl
bG0gZ2l2ZXMgdXAgdGhlIGZvY3VzICovCisgICAgZWxtX29iamVjdF9mb2N1c19zZXQoZWxtX29i
amVjdF90b3Bfd2lkZ2V0X2dldCh3aW5kb3ctPndpbmRvdyksIEVJTkFfRkFMU0UpOworICAgIGV2
YXNfb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ctPndlYnZpZXcsIGZvY3VzKTsKK30KKworc3RhdGlj
IHZvaWQKK29uX21vdXNlX2Rvd24odm9pZCAqdXNlcl9kYXRhLCBFdmFzICplLCBFdmFzX09iamVj
dCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKK3sKKyAgICBCcm93c2VyX1dpbmRvdyAqd2lu
ZG93ID0gKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhOwogICAgIEV2YXNfRXZlbnRfTW91c2Vf
RG93biAqZXYgPSAoRXZhc19FdmVudF9Nb3VzZV9Eb3duICopZXZlbnRfaW5mbzsKIAorICAgIC8q
IENsZWFyIHNlbGVjdGlvbiBmcm9tIHRoZSBVUkwgYmFyICovCisgICAgZWxtX2VudHJ5X3NlbGVj
dF9ub25lKHdpbmRvdy0+dXJsX2Jhcik7CisKICAgICBpZiAoZXYtPmJ1dHRvbiA9PSAxKQotICAg
ICAgICBldmFzX29iamVjdF9mb2N1c19zZXQod2VidmlldywgRUlOQV9UUlVFKTsKKyAgICAgICAg
dmlld19mb2N1c19zZXQod2luZG93LCBFSU5BX1RSVUUpOwogICAgIGVsc2UgaWYgKGV2LT5idXR0
b24gPT0gMikKLSAgICAgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KHdlYnZpZXcsICFldmFzX29i
amVjdF9mb2N1c19nZXQod2VidmlldykpOworICAgICAgICB2aWV3X2ZvY3VzX3NldCh3aW5kb3cs
ICFldmFzX29iamVjdF9mb2N1c19nZXQod2VidmlldykpOwogfQogCiBzdGF0aWMgdm9pZAotdGl0
bGVfc2V0KEVjb3JlX0V2YXMgKmVlLCBjb25zdCBjaGFyICp0aXRsZSwgaW50IHByb2dyZXNzKQor
dGl0bGVfc2V0KEV2YXNfT2JqZWN0ICp3aW5kb3csIGNvbnN0IGNoYXIgKnRpdGxlLCBpbnQgcHJv
Z3Jlc3MpCiB7Ci0gICAgRWluYV9TdHJidWYqIGJ1ZmZlcjsKKyAgICBFaW5hX1N0cmJ1ZiAqYnVm
ZmVyOwogCiAgICAgaWYgKCF0aXRsZSB8fCAhKnRpdGxlKSB7Ci0gICAgICAgIGVjb3JlX2V2YXNf
dGl0bGVfc2V0KGVlLCBBUFBfTkFNRSk7CisgICAgICAgIGVsbV93aW5fdGl0bGVfc2V0KHdpbmRv
dywgQVBQX05BTUUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yMDUsNyArMTg1LDcg
QEAgdGl0bGVfc2V0KEVjb3JlX0V2YXMgKmVlLCBjb25zdCBjaGFyICp0aXRsZSwgaW50IHByb2dy
ZXNzKQogICAgIGVsc2UKICAgICAgICAgZWluYV9zdHJidWZfYXBwZW5kX3ByaW50ZihidWZmZXIs
ICIlcyAtICVzIiwgdGl0bGUsIEFQUF9OQU1FKTsKIAotICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0
KGVlLCBlaW5hX3N0cmJ1Zl9zdHJpbmdfZ2V0KGJ1ZmZlcikpOworICAgIGVsbV93aW5fdGl0bGVf
c2V0KHdpbmRvdywgZWluYV9zdHJidWZfc3RyaW5nX2dldChidWZmZXIpKTsKICAgICBlaW5hX3N0
cmJ1Zl9mcmVlKGJ1ZmZlcik7CiB9CiAKQEAgLTIxNSwxNCArMTk1LDE0IEBAIG9uX3RpdGxlX2No
YW5nZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRf
aW5mbykKICAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93ICopdXNl
cl9kYXRhOwogICAgIGNvbnN0IGNoYXIgKnRpdGxlID0gKGNvbnN0IGNoYXIgKilldmVudF9pbmZv
OwogCi0gICAgdGl0bGVfc2V0KHdpbmRvdy0+ZWUsIHRpdGxlLCAxMDApOworICAgIHRpdGxlX3Nl
dCh3aW5kb3ctPndpbmRvdywgdGl0bGUsIDEwMCk7CiB9CiAKIHN0YXRpYyB2b2lkCiBvbl91cmxf
Y2hhbmdlZCh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3LCB2b2lkICpldmVu
dF9pbmZvKQogewogICAgIEJyb3dzZXJfV2luZG93ICp3aW5kb3cgPSAoQnJvd3Nlcl9XaW5kb3cg
Kil1c2VyX2RhdGE7Ci0gICAgdXJsX2Jhcl91cmxfc2V0KHdpbmRvdy0+dXJsX2JhciwgZXdrX3Zp
ZXdfdXJsX2dldCh3aW5kb3ctPndlYnZpZXcpKTsKKyAgICBlbG1fZW50cnlfZW50cnlfc2V0KHdp
bmRvdy0+dXJsX2JhciwgZXdrX3ZpZXdfdXJsX2dldCh3aW5kb3ctPndlYnZpZXcpKTsKIH0KIAog
c3RhdGljIHZvaWQKQEAgLTIzNSw3ICsyMTUsNyBAQCBvbl9uZXdfd2luZG93KHZvaWQgKnVzZXJf
ZGF0YSwgRXZhc19PYmplY3QgKndlYnZpZXcsIHZvaWQgKmV2ZW50X2luZm8pCiB9CiAKIHN0YXRp
YyB2b2lkCi1vbl9jbG9zZV93aW5kb3codm9pZCAqdXNlcl9kYXRhLCB2b2lkICpldmVudF9pbmZv
KQorb25fY2xvc2Vfd2luZG93KHZvaWQgKnVzZXJfZGF0YSwgRXZhc19PYmplY3QgKndlYnZpZXcs
IHZvaWQgKmV2ZW50X2luZm8pCiB7CiAgICAgd2luZG93X2Nsb3NlKChCcm93c2VyX1dpbmRvdyAq
KXVzZXJfZGF0YSk7CiB9CkBAIC0yNDYsNyArMjI2LDcgQEAgb25fcHJvZ3Jlc3Modm9pZCAqdXNl
cl9kYXRhLCBFdmFzX09iamVjdCAqd2Vidmlldywgdm9pZCAqZXZlbnRfaW5mbykKICAgICBCcm93
c2VyX1dpbmRvdyAqd2luZG93ID0gKEJyb3dzZXJfV2luZG93ICopdXNlcl9kYXRhOwogICAgIGRv
dWJsZSBwcm9ncmVzcyA9ICooZG91YmxlICopZXZlbnRfaW5mbzsKIAotICAgIHRpdGxlX3NldCh3
aW5kb3ctPmVlLCBld2tfdmlld190aXRsZV9nZXQod2luZG93LT53ZWJ2aWV3KSwgcHJvZ3Jlc3Mg
KiAxMDApOworICAgIHRpdGxlX3NldCh3aW5kb3ctPndpbmRvdywgZXdrX3ZpZXdfdGl0bGVfZ2V0
KHdpbmRvdy0+d2VidmlldyksIHByb2dyZXNzICogMTAwKTsKIH0KIAogc3RhdGljIHZvaWQKQEAg
LTMwMyw2ICsyODMsNyBAQCBzdGF0aWMgaW50CiBxdWl0KEVpbmFfQm9vbCBzdWNjZXNzLCBjb25z
dCBjaGFyICptc2cpCiB7CiAgICAgZXdrX3NodXRkb3duKCk7CisgICAgZWxtX3NodXRkb3duKCk7
CiAKICAgICBpZiAobXNnKQogICAgICAgICBmcHV0cyhtc2csIChzdWNjZXNzKSA/IHN0ZG91dCA6
IHN0ZGVycik7CkBAIC0zMTMsNzAgKzI5NCwxMDggQEAgcXVpdChFaW5hX0Jvb2wgc3VjY2Vzcywg
Y29uc3QgY2hhciAqbXNnKQogICAgIHJldHVybiBFWElUX1NVQ0NFU1M7CiB9CiAKLXN0YXRpYyBC
cm93c2VyX1dpbmRvdyAqd2luZG93X2NyZWF0ZShjb25zdCBjaGFyICp1cmwpCitzdGF0aWMgdm9p
ZAorb25fdXJsX2Jhcl9hY3RpdmF0ZWQodm9pZCAqdXNlcl9kYXRhLCBFdmFzX09iamVjdCAqdXJs
X2Jhciwgdm9pZCAqZXZlbnRfaW5mbykKIHsKLSAgICBCcm93c2VyX1dpbmRvdyAqd2luZG93ID0g
bWFsbG9jKHNpemVvZihCcm93c2VyX1dpbmRvdykpOwotICAgIGlmICghd2luZG93KSB7Ci0gICAg
ICAgIGluZm8oIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRlIGJyb3dzZXIgd2luZG93LlxuIik7Ci0g
ICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKyAgICBCcm93c2VyX1dpbmRvdyAqYXBwX2RhdGEg
PSAoQnJvd3Nlcl9XaW5kb3cgKil1c2VyX2RhdGE7CiAKLSAgICB3aW5kb3ctPmVlID0gZWNvcmVf
ZXZhc19uZXcoZXZhc19lbmdpbmVfbmFtZSwgMCwgMCwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9I
RUlHSFQsIDApOwotICAgIGlmICghd2luZG93LT5lZSkgewotICAgICAgICBpbmZvKCJFUlJPUjog
Y291bGQgbm90IGNvbnN0cnVjdCBlY29yZS1ldmFzLlxuIik7Ci0gICAgICAgIGZyZWUod2luZG93
KTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICAgIGNvbnN0IGNoYXIgKnVzZXJfdXJs
ID0gZWxtX2VudHJ5X2VudHJ5X2dldCh1cmxfYmFyKTsKKyAgICBjaGFyICp1cmwgPSB1cmxfZnJv
bV91c2VyX2lucHV0KHVzZXJfdXJsKTsKKyAgICBld2tfdmlld191cmxfc2V0KGFwcF9kYXRhLT53
ZWJ2aWV3LCB1cmwpOworICAgIGZyZWUodXJsKTsKIAotICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0
KHdpbmRvdy0+ZWUsIEFQUF9OQU1FKTsKLSAgICBlY29yZV9ldmFzX2NhbGxiYWNrX3Jlc2l6ZV9z
ZXQod2luZG93LT5lZSwgb25fZWNvcmVfZXZhc19yZXNpemUpOwotICAgIGVjb3JlX2V2YXNfYm9y
ZGVybGVzc19zZXQod2luZG93LT5lZSwgMCk7Ci0gICAgZWNvcmVfZXZhc19zaG93KHdpbmRvdy0+
ZWUpOwotICAgIGVjb3JlX2V2YXNfY2FsbGJhY2tfZGVsZXRlX3JlcXVlc3Rfc2V0KHdpbmRvdy0+
ZWUsIG9uX2Vjb3JlX2V2YXNfZGVsZXRlKTsKKyAgICAvKiBHaXZlIGZvY3VzIGJhY2sgdG8gdGhl
IHZpZXcgKi8KKyAgICB2aWV3X2ZvY3VzX3NldChhcHBfZGF0YSwgRUlOQV9UUlVFKTsKK30KKwor
c3RhdGljIHZvaWQKK29uX3VybF9iYXJfY2xpY2tlZCh2b2lkICp1c2VyX2RhdGEsIEV2YXNfT2Jq
ZWN0ICp1cmxfYmFyLCB2b2lkICpldmVudF9pbmZvKQoreworICAgIEJyb3dzZXJfV2luZG93ICph
cHBfZGF0YSA9IChCcm93c2VyX1dpbmRvdyAqKXVzZXJfZGF0YTsKIAotICAgIHdpbmRvdy0+ZXZh
cyA9IGVjb3JlX2V2YXNfZ2V0KHdpbmRvdy0+ZWUpOwotICAgIGlmICghd2luZG93LT5ldmFzKSB7
Ci0gICAgICAgIGluZm8oIkVSUk9SOiBjb3VsZCBub3QgZ2V0IGV2YXMgZnJvbSBldmFzLWVjb3Jl
LlxuIik7Ci0gICAgICAgIGZyZWUod2luZG93KTsKKyAgICAvKiBHcmFiIGZvY3VzIGZyb20gdGhl
IHZpZXcgKi8KKyAgICBldmFzX29iamVjdF9mb2N1c19zZXQoYXBwX2RhdGEtPndlYnZpZXcsIEVJ
TkFfRkFMU0UpOworICAgIGVsbV9vYmplY3RfZm9jdXNfc2V0KHVybF9iYXIsIEVJTkFfVFJVRSk7
Cit9CisKK3N0YXRpYyB2b2lkCitvbl93aW5kb3dfZGVsZXRpb24odm9pZCAqdXNlcl9kYXRhLCBF
dmFzX09iamVjdCAqd2luZG93LCB2b2lkICpldmVudF9pbmZvKQoreworICAgIHdpbmRvd19jbG9z
ZShicm93c2VyX3dpbmRvd19maW5kKHdpbmRvdykpOworfQorCitzdGF0aWMgQnJvd3Nlcl9XaW5k
b3cgKndpbmRvd19jcmVhdGUoY29uc3QgY2hhciAqdXJsKQoreworICAgIEJyb3dzZXJfV2luZG93
ICphcHBfZGF0YSA9IG1hbGxvYyhzaXplb2YoQnJvd3Nlcl9XaW5kb3cpKTsKKyAgICBpZiAoIWFw
cF9kYXRhKSB7CisgICAgICAgIGluZm8oIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRlIGJyb3dzZXIg
d2luZG93LlxuIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAorICAgIC8qIENyZWF0
ZSB3aW5kb3cgKi8KKyAgICBhcHBfZGF0YS0+d2luZG93ID0gZWxtX3dpbl91dGlsX3N0YW5kYXJk
X2FkZCgibWluaWJyb3dzZXItd2luZG93IiwgQVBQX05BTUUpOworICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2luZG93LCAiZGVsZXRlLHJlcXVlc3QiLCBvbl93
aW5kb3dfZGVsZXRpb24sICZhcHBfZGF0YSk7CisKKyAgICAvKiBDcmVhdGUgdmVydGljYWwgbGF5
b3V0ICovCisgICAgRXZhc19PYmplY3QgKnZlcnRpY2FsX2xheW91dCA9IGVsbV9ib3hfYWRkKGFw
cF9kYXRhLT53aW5kb3cpOworICAgIGVsbV9ib3hfcGFkZGluZ19zZXQodmVydGljYWxfbGF5b3V0
LCAwLCAyKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldCh2ZXJ0aWNhbF9s
YXlvdXQsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworICAgIGVsbV93aW5f
cmVzaXplX29iamVjdF9hZGQoYXBwX2RhdGEtPndpbmRvdywgdmVydGljYWxfbGF5b3V0KTsKKyAg
ICBldmFzX29iamVjdF9zaG93KHZlcnRpY2FsX2xheW91dCk7CisKKyAgICAvKiBDcmVhdGUgVVJM
IGJhciAqLworICAgIGFwcF9kYXRhLT51cmxfYmFyID0gZWxtX2VudHJ5X2FkZChhcHBfZGF0YS0+
d2luZG93KTsKKyAgICBlbG1fZW50cnlfc2luZ2xlX2xpbmVfc2V0KGFwcF9kYXRhLT51cmxfYmFy
LCBFSU5BX1RSVUUpOworICAgIGVsbV9lbnRyeV9jbnBfbW9kZV9zZXQoYXBwX2RhdGEtPnVybF9i
YXIsIEVMTV9DTlBfTU9ERV9QTEFJTlRFWFQpOworICAgIGVsbV9lbnRyeV90ZXh0X3N0eWxlX3Vz
ZXJfcHVzaChhcHBfZGF0YS0+dXJsX2JhciwgIkRFRkFVTFQ9J2ZvbnRfc2l6ZT0xNiciKTsKKyAg
ICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPnVybF9iYXIsICJhY3Rp
dmF0ZWQiLCBvbl91cmxfYmFyX2FjdGl2YXRlZCwgYXBwX2RhdGEpOworICAgIGV2YXNfb2JqZWN0
X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+dXJsX2JhciwgImNsaWNrZWQiLCBvbl91cmxf
YmFyX2NsaWNrZWQsIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0
X3NldChhcHBfZGF0YS0+dXJsX2JhciwgRVZBU19ISU5UX0VYUEFORCwgMC4wKTsKKyAgICBldmFz
X29iamVjdF9zaXplX2hpbnRfYWxpZ25fc2V0KGFwcF9kYXRhLT51cmxfYmFyLCBFVkFTX0hJTlRf
RklMTCwgMC4wKTsKKyAgICBlbG1fYm94X3BhY2tfZW5kKHZlcnRpY2FsX2xheW91dCwgYXBwX2Rh
dGEtPnVybF9iYXIpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwX2RhdGEtPnVybF9iYXIpOwor
CiAgICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8KLSAgICB3aW5kb3ctPndlYnZpZXcgPSBld2tfdmll
d19hZGQod2luZG93LT5ldmFzKTsKLSAgICBld2tfdmlld190aGVtZV9zZXQod2luZG93LT53ZWJ2
aWV3LCBUSEVNRV9ESVIiL2RlZmF1bHQuZWRqIik7Ci0gICAgZXdrX3NldHRpbmdzX2VuYWJsZV9m
cmFtZV9mbGF0dGVuaW5nX3NldChld2tfdmlld19zZXR0aW5nc19nZXQod2luZG93LT53ZWJ2aWV3
KSwgZnJhbWVfZmxhdHRlbmluZ19lbmFibGVkKTsKKyAgICBFdmFzICpldmFzID0gZXZhc19vYmpl
Y3RfZXZhc19nZXQoYXBwX2RhdGEtPndpbmRvdyk7CisgICAgYXBwX2RhdGEtPndlYnZpZXcgPSBl
d2tfdmlld19hZGQoZXZhcyk7CisgICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcF9kYXRhLT53ZWJ2
aWV3LCBUSEVNRV9ESVIgIi9kZWZhdWx0LmVkaiIpOwogCi0gICAgRXdrX1NldHRpbmdzICpzZXR0
aW5ncyA9IGV3a192aWV3X3NldHRpbmdzX2dldCh3aW5kb3ctPndlYnZpZXcpOworICAgIEV3a19T
ZXR0aW5ncyAqc2V0dGluZ3MgPSBld2tfdmlld19zZXR0aW5nc19nZXQoYXBwX2RhdGEtPndlYnZp
ZXcpOwogICAgIGV3a19zZXR0aW5nc19maWxlX2FjY2Vzc19mcm9tX2ZpbGVfdXJsc19hbGxvd2Vk
X3NldChzZXR0aW5ncywgRUlOQV9UUlVFKTsKKyAgICBld2tfc2V0dGluZ3NfZW5hYmxlX2ZyYW1l
X2ZsYXR0ZW5pbmdfc2V0KHNldHRpbmdzLCBmcmFtZV9mbGF0dGVuaW5nX2VuYWJsZWQpOworCisg
ICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAiY2xv
c2Usd2luZG93Iiwgb25fY2xvc2Vfd2luZG93LCBhcHBfZGF0YSk7CisgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53ZWJ2aWV3LCAiY3JlYXRlLHdpbmRvdyIsIG9u
X25ld193aW5kb3csIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19h
ZGQoYXBwX2RhdGEtPndlYnZpZXcsICJkb3dubG9hZCxmYWlsZWQiLCBvbl9kb3dubG9hZF9mYWls
ZWQsIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2Rh
dGEtPndlYnZpZXcsICJkb3dubG9hZCxmaW5pc2hlZCIsIG9uX2Rvd25sb2FkX2ZpbmlzaGVkLCBh
cHBfZGF0YSk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGFwcF9kYXRhLT53
ZWJ2aWV3LCAiZG93bmxvYWQscmVxdWVzdCIsIG9uX2Rvd25sb2FkX3JlcXVlc3QsIGFwcF9kYXRh
KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcs
ICJsb2FkLGVycm9yIiwgb25fZXJyb3IsIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFy
dF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsICJsb2FkLHByb2dyZXNzIiwgb25fcHJv
Z3Jlc3MsIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBw
X2RhdGEtPndlYnZpZXcsICJ0aXRsZSxjaGFuZ2VkIiwgb25fdGl0bGVfY2hhbmdlZCwgYXBwX2Rh
dGEpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2Vidmll
dywgInVybCxjaGFuZ2VkIiwgb25fdXJsX2NoYW5nZWQsIGFwcF9kYXRhKTsKKworICAgIGV2YXNf
b2JqZWN0X2V2ZW50X2NhbGxiYWNrX2FkZChhcHBfZGF0YS0+d2VidmlldywgRVZBU19DQUxMQkFD
S19LRVlfRE9XTiwgb25fa2V5X2Rvd24sIGFwcF9kYXRhKTsKKyAgICBldmFzX29iamVjdF9ldmVu
dF9jYWxsYmFja19hZGQoYXBwX2RhdGEtPndlYnZpZXcsIEVWQVNfQ0FMTEJBQ0tfTU9VU0VfRE9X
Tiwgb25fbW91c2VfZG93biwgYXBwX2RhdGEpOworCisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50
X3dlaWdodF9zZXQoYXBwX2RhdGEtPndlYnZpZXcsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElO
VF9FWFBBTkQpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF9hbGlnbl9zZXQoYXBwX2RhdGEt
PndlYnZpZXcsIEVWQVNfSElOVF9GSUxMLCBFVkFTX0hJTlRfRklMTCk7CisgICAgZWxtX2JveF9w
YWNrX2VuZCh2ZXJ0aWNhbF9sYXlvdXQsIGFwcF9kYXRhLT53ZWJ2aWV3KTsKKyAgICBldmFzX29i
amVjdF9zaG93KGFwcF9kYXRhLT53ZWJ2aWV3KTsKIAotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJjbG9zZSx3aW5kb3ciLCBvbl9jbG9zZV93aW5k
b3csIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+
d2VidmlldywgImNyZWF0ZSx3aW5kb3ciLCBvbl9uZXdfd2luZG93LCB3aW5kb3cpOwotICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5kb3ctPndlYnZpZXcsICJkb3dubG9hZCxm
YWlsZWQiLCBvbl9kb3dubG9hZF9mYWlsZWQsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21h
cnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgImRvd25sb2FkLGZpbmlzaGVkIiwgb25f
ZG93bmxvYWRfZmluaXNoZWQsIHdpbmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfYWRkKHdpbmRvdy0+d2VidmlldywgImRvd25sb2FkLHJlcXVlc3QiLCBvbl9kb3dubG9hZF9y
ZXF1ZXN0LCB3aW5kb3cpOwotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh3aW5k
b3ctPndlYnZpZXcsICJsb2FkLGVycm9yIiwgb25fZXJyb3IsIHdpbmRvdyk7Ci0gICAgZXZhc19v
YmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2VidmlldywgImxvYWQscHJvZ3Jlc3Mi
LCBvbl9wcm9ncmVzcywgd2luZG93KTsKLSAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19h
ZGQod2luZG93LT53ZWJ2aWV3LCAidGl0bGUsY2hhbmdlZCIsIG9uX3RpdGxlX2NoYW5nZWQsIHdp
bmRvdyk7Ci0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHdpbmRvdy0+d2Vidmll
dywgInVybCxjaGFuZ2VkIiwgb25fdXJsX2NoYW5nZWQsIHdpbmRvdyk7Ci0KLSAgICBldmFzX29i
amVjdF9ldmVudF9jYWxsYmFja19hZGQod2luZG93LT53ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX0tF
WV9ET1dOLCBvbl9rZXlfZG93biwgd2luZG93KTsKLSAgICBldmFzX29iamVjdF9ldmVudF9jYWxs
YmFja19hZGQod2luZG93LT53ZWJ2aWV3LCBFVkFTX0NBTExCQUNLX01PVVNFX0RPV04sIG9uX21v
dXNlX2Rvd24sIHdpbmRvdyk7Ci0KLSAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3Nl
dCh3aW5kb3ctPndlYnZpZXcsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOwot
ICAgIGV2YXNfb2JqZWN0X21vdmUod2luZG93LT53ZWJ2aWV3LCAwLCBVUkxfQkFSX0hFSUdIVCk7
Ci0gICAgZXZhc19vYmplY3RfcmVzaXplKHdpbmRvdy0+d2VidmlldywgREVGQVVMVF9XSURUSCwg
REVGQVVMVF9IRUlHSFQgLSBVUkxfQkFSX0hFSUdIVCk7Ci0gICAgZXZhc19vYmplY3Rfc2hvdyh3
aW5kb3ctPndlYnZpZXcpOwotICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldCh3aW5kb3ctPndlYnZp
ZXcsIEVJTkFfVFJVRSk7CisgICAgaWYgKHVybCkKKyAgICAgICAgZXdrX3ZpZXdfdXJsX3NldChh
cHBfZGF0YS0+d2VidmlldywgdXJsKTsKIAotICAgIHdpbmRvdy0+dXJsX2JhciA9IHVybF9iYXJf
YWRkKHdpbmRvdy0+d2VidmlldywgREVGQVVMVF9XSURUSCk7CisgICAgZXZhc19vYmplY3RfcmVz
aXplKGFwcF9kYXRhLT53aW5kb3csIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKKyAg
ICBlbG1fd2luX2NlbnRlcihhcHBfZGF0YS0+d2luZG93LCBFSU5BX1RSVUUsIEVJTkFfVFJVRSk7
CisgICAgZXZhc19vYmplY3Rfc2hvdyhhcHBfZGF0YS0+d2luZG93KTsKIAotICAgIGlmICh1cmwp
Ci0gICAgICAgIGV3a192aWV3X3VybF9zZXQod2luZG93LT53ZWJ2aWV3LCB1cmwpOworICAgIHZp
ZXdfZm9jdXNfc2V0KGFwcF9kYXRhLCBFSU5BX1RSVUUpOwogCi0gICAgcmV0dXJuIHdpbmRvdzsK
KyAgICByZXR1cm4gYXBwX2RhdGE7CiB9CiAKLWludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2
W10pCitFQVBJX01BSU4gaW50CitlbG1fbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogewog
ICAgIGludCBhcmdzID0gMTsKICAgICB1bnNpZ25lZCBjaGFyIHF1aXRPcHRpb24gPSAwOwpAQCAt
NDE2LDExICs0MzUsOCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCiAgICAg
d2luZG93cyA9IGVpbmFfbGlzdF9hcHBlbmQod2luZG93cywgd2luZG93KTsKIAotICAgIEVjb3Jl
X0V2ZW50X0hhbmRsZXIgKmhhbmRsZSA9IGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VW
RU5UX1NJR05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCAwKTsKLQotICAgIGVjb3JlX21haW5f
bG9vcF9iZWdpbigpOwotCi0gICAgZWNvcmVfZXZlbnRfaGFuZGxlcl9kZWwoaGFuZGxlKTsKKyAg
ICBlbG1fcnVuKCk7CiAKICAgICByZXR1cm4gcXVpdChFSU5BX1RSVUUsIE5VTEwpOwogfQorRUxN
X01BSU4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2Vm
bC9qaGJ1aWxkLm1vZHVsZXMKaW5kZXggYThlYzM5Yi4uYzhlNDUzMSAxMDA2NDQKLS0tIGEvVG9v
bHMvZWZsL2poYnVpbGQubW9kdWxlcworKysgYi9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCkBA
IC0xNyw2ICsxNyw3IEBACiAgICAgICA8ZGVwIHBhY2thZ2U9ImVfZGJ1cyIvPgogICAgICAgPGRl
cCBwYWNrYWdlPSJlZXplIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImVmcmVldCIvPgorICAgICAg
PGRlcCBwYWNrYWdlPSJlbGVtZW50YXJ5Ii8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImxpYnhtbDIi
Lz4KICAgICA8L2RlcGVuZGVuY2llcz4KICAgPC9tZXRhbW9kdWxlPgpAQCAtNDEsNiArNDIsOCBA
QAogICAgICAgaHJlZj0iaHR0cDovL2dpdC5lbmxpZ2h0ZW5tZW50LmZyL2NnaXQuY2dpL3N2bi8i
Lz4KICAgPHJlcG9zaXRvcnkgdHlwZT0idGFyYmFsbCIgbmFtZT0ieG1sc29mdC5vcmciCiAgICAg
ICBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZyIvPiAKKyAgPHJlcG9zaXRvcnkgdHlwZT0idGFyYmFs
bCIgbmFtZT0iZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICBocmVmPSJodHRwOi8v
ZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciLz4KIAogICA8YXV0b3Rvb2xzIGlkPSJjYWlybyIg
YXV0b2dlbi1zaD0iY29uZmlndXJlIj4KICAgICA8ZGVwZW5kZW5jaWVzPgpAQCAtMTU5LDIwICsx
NjIsMjAgQEAKICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJlaW5hIj4KLSAgICA8
YnJhbmNoIG1vZHVsZT0iZWluYS5naXQvc25hcHNob3QvZWluYS1mOTA5MjZkZDliZjE5ZWE5NDZk
NzU3MmIzNjMzNWNjMGM1Y2QzYWI1LnRhci5iejIiIHZlcnNpb249IjczMDI3IgotICAgICAgICAg
ICAgY2hlY2tvdXRkaXI9ImVpbmEtZjkwOTI2ZGQ5YmYxOWVhOTQ2ZDc1NzJiMzYzMzVjYzBjNWNk
M2FiNSIKLSAgICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBo
YXNoPSJzaGEyNTY6Mzg4MjE0NDM0ZGJlMzcyNmFhMzg5NGU2Zjk4MzhhZGZjNDNkOGJkNjNiYjk1
OTdmODZhNGVmYmM0OGI0MmNhZCIKLSAgICAgICAgICAgIG1kNXN1bT0iZGI3NTZkYmRhMmI4Yjc3
ZTVmODA3YzNlY2NjZDM0ZTQiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9laW5hLTEu
Ny4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0iZWlu
YS0xLjcuMCIKKyAgICAgICAgICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1lbnQub3JnIgor
ICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjZhYWNlZGVkYjA4YWExMDkwYTFiZWVjYmY2MmFjZjNl
MmNlMDY3NmFjODdkMjFjNzg3YzA3OTgzZjgwMTE2NmYiCisgICAgICAgICAgICBtZDVzdW09IjMw
M2I4MWJiZmZmNjg0ZWVmMGU1YmU3MGJhOTc3MDEyIj4KICAgICA8L2JyYW5jaD4KICAgPC9hdXRv
dG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZW1icnlvIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0i
ZW1icnlvLmdpdC9zbmFwc2hvdC9lbWJyeW8tMTkxZTFiNWYwMjJmNzY5ZDYyYWJlYzYxMTJmNTFl
NWZiZWNkNmRiOS50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0
ZGlyPSJlbWJyeW8tMTkxZTFiNWYwMjJmNzY5ZDYyYWJlYzYxMTJmNTFlNWZiZWNkNmRiOSIKLSAg
ICAgICAgICAgIHJlcG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEy
NTY6ZDhhNTdmNTE5ODVlZTE2ZWU2YTdmZGUyZDNiOTMxZTgzZGE1ZDI2YTFhNjJlZmMwMTJkNjRl
NmQ1ZmUzNzQ4YiIKLSAgICAgICAgICAgIG1kNXN1bT0iYWRlYmViOGM3MDRlNzA5MTJhOTIwZThl
ZjRlYzQzY2QiPgorICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9lbWJyeW8tMS43LjAudGFy
Lmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlbWJyeW8tMS43
LjAiCisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAg
ICAgICAgIGhhc2g9InNoYTI1NjoyOTBiNDUyZTZjYjg3ZjY0YjExYjUyOWM3ZjY3YzQwMTkyZjg3
YTczY2M0YzViZTkzYTk1ZjE3Yjc2ZjY1MDYzIgorICAgICAgICAgICAgbWQ1c3VtPSJmNDZiYjhh
YjE2OTljZDdhY2I4NDYzZTUwYTNmZmI0YiI+CiAgICAgPC9icmFuY2g+CiAgICAgPGRlcGVuZGVu
Y2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0iZWluYSIvPgpAQCAtMTgwLDIwICsxODMsMjAgQEAK
ICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iZXZhcyI+Ci0gICAgPGJyYW5jaCBt
b2R1bGU9ImV2YXMuZ2l0L3NuYXBzaG90L2V2YXMtMTY5Y2YxYmI5NjIwMDFmMWNmM2U1OWViOTUw
MzgwYTlkYzFmY2VkMy50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNr
b3V0ZGlyPSJldmFzLTE2OWNmMWJiOTYyMDAxZjFjZjNlNTllYjk1MDM4MGE5ZGMxZmNlZDMiCi0g
ICAgICAgICAgICByZXBvPSJlbmxpZ2h0ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hh
MjU2OjJiNTkzNTBlMGZlMzNhOGZlNDlmY2JlMDQxOTJkMDVhYjM3MzQ1Njg0YzRlYjliMTBmYjBl
MGEzNTU0NWU3ZGEiCi0gICAgICAgICAgICBtZDVzdW09ImJmYjU0NDJlNTA1NTFjNjRjNzA5NDgx
YTlhMzViNGEyIj4KKyAgICA8YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMvZXZhcy0xLjcuMC50YXIu
Z3oiIHZlcnNpb249IjEuNy4wIgorICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImV2YXMtMS43LjAi
CisgICAgICAgICAgICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAg
ICAgIGhhc2g9InNoYTI1NjoyZDdhMzNkMDJkMmRhMzc2NDdlNGMwMTI3ZmVkZWJlMDBlZWVhMTQ1
NjBkNmMxYjZjYTliMGNjY2RhZTBkZTg0IgorICAgICAgICAgICAgbWQ1c3VtPSIzMzU5OTE4Zjhl
NjBjNzc4Yjg2MWNmMWNkZTAyZDNhOSI+CiAgICAgPC9icmFuY2g+CiAgIDwvYXV0b3Rvb2xzPgog
CiAgIDxhdXRvdG9vbHMgaWQ9ImVjb3JlIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0iZWNvcmUuZ2l0
L3NuYXBzaG90L2Vjb3JlLTljOTZmOWMxNDAzMjBlNTIwMzBkMWEyMDZkOGQzMzBhYTQ2YWJjNDQu
dGFyLmJ6MiIgdmVyc2lvbj0iNzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZWNvcmUt
OWM5NmY5YzE0MDMyMGU1MjAzMGQxYTIwNmQ4ZDMzMGFhNDZhYmM0NCIKLSAgICAgICAgICAgIHJl
cG89ImVubGlnaHRlbm1lbnQuZnIiCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6NTQ2YjljMzg5
NTU2MDc0YWQ0OTgyYTBlMzg5Y2NiMGU1NWNlZDU5Y2U3MjVlYTJiNWMwNjVjNGQ2MDMxMDA2OCIK
LSAgICAgICAgICAgIG1kNXN1bT0iYjE1NTcxZjI3MWE5OTYwYjU2MmY5OGNiMDkyNjg0MDgiPgor
ICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9lY29yZS0xLjcuMC50YXIuZ3oiIHZlcnNpb249
IjEuNy4wIgorICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVjb3JlLTEuNy4wIgorICAgICAgICAg
ICAgcmVwbz0iZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJz
aGEyNTY6ZjAwOWUxNzM3NmI3ZjNmYjZjZTZiNDU2NDhkMmEwMTMxYTE1Mjk0M2I1MDJmYTM0Y2M0
YmQwMThmNjdkYThiYiIKKyAgICAgICAgICAgIG1kNXN1bT0iY2YwYjVlOTgwYTc3ZGMwZDFiZGVk
ZjJiY2M2MGU4NjIiPgogICAgIDwvYnJhbmNoPgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8
ZGVwIHBhY2thZ2U9ImVpbmEiLz4KQEAgLTIwMiwxMSArMjA1LDExIEBACiAgIDwvYXV0b3Rvb2xz
PgogCiAgIDxhdXRvdG9vbHMgaWQ9ImVldCI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVldC5naXQv
c25hcHNob3QvZWV0LTE1ZmQ1MmU0ODMxYjk0NjMwOGE4MGRmOWEyNTM1N2RjMThjOTdjYTIudGFy
LmJ6MiIgdmVyc2lvbj0iNzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0iZWV0LTE1ZmQ1
MmU0ODMxYjk0NjMwOGE4MGRmOWEyNTM1N2RjMThjOTdjYTIiCi0gICAgICAgICAgICByZXBvPSJl
bmxpZ2h0ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjYyZWZmMTI0ODkyM2Jl
NzkxOGJlZmY0NmU4NTk4ZmYyYjEzOWIwMjI0ZjBhMWI4NDUxNDJjZjFiMDc4NDIyZTYiCi0gICAg
ICAgICAgICBtZDVzdW09ImJlMDg2MzRjNzA3MTJiYjQ0YTU1MzRlZjViMmE3YWYzIj4KKyAgICA8
YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMvZWV0LTEuNy4wLnRhci5neiIgdmVyc2lvbj0iMS43LjAi
CisgICAgICAgICAgICBjaGVja291dGRpcj0iZWV0LTEuNy4wIgorICAgICAgICAgICAgcmVwbz0i
ZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6OWJj
YTViZWNhYWE1YWJmNGI3YWMwZjgwZGU2OGQzYjlhOGYxYWJjZTdlY2E0MTc1ZTFhZDgyOTUzNzgz
ZDIwOSIKKyAgICAgICAgICAgIG1kNXN1bT0iNDZlOTg5ZWI0ZGRkZDk0MmI0NTY0Mjk5ZTE5ZDlm
NjQiPgogICAgIDwvYnJhbmNoPgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2th
Z2U9ImxpYmdjcnlwdCIvPgpAQCAtMjE1LDExICsyMTgsMTEgQEAKICAgPC9hdXRvdG9vbHM+CiAK
ICAgPGF1dG90b29scyBpZD0iZWRqZSI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVkamUuZ2l0L3Nu
YXBzaG90L2VkamUtMTQ3MzhlZWZhYzU0ZDFhOGNmZWFkMmI1YWVkM2I3ZjA1YzViNGJkOC50YXIu
YnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlZGplLTE0NzM4
ZWVmYWM1NGQxYThjZmVhZDJiNWFlZDNiN2YwNWM1YjRiZDgiCi0gICAgICAgICAgICByZXBvPSJl
bmxpZ2h0ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjllMTAyZjBiNDdlOWNk
ZmE3MzdiNWY4MWIxMWQzNTJhZTAxMjA2MjA5NzI5ZTU4MTVjMjhkODI2MTg2YjI0N2UiCi0gICAg
ICAgICAgICBtZDVzdW09IjVmMTk5NTkwMWM4NDhiZGFlYzU2ZmYxZjkxM2VmMDJmIj4KKyAgICA8
YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMvZWRqZS0xLjcuMC50YXIuZ3oiIHZlcnNpb249IjEuNy4w
IgorICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVkamUtMS43LjAiCisgICAgICAgICAgICByZXBv
PSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1Njpk
NmRmOWE3YmYxMWM0NjA1ZjU1YTJlN2MyMDkyMTAwNDRmOGRjNGYzMzMyMTM1ZjYyNTY2NzZkMmY5
Mzc2MjFiIgorICAgICAgICAgICAgbWQ1c3VtPSIzN2UxNWM1ZDZlN2MyNjc2NzI4YmRhNzUxMDli
MjIxOCI+CiAgICAgPC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFj
a2FnZT0iZWV0Ii8+CkBAIC0yMzAsMTEgKzIzMywxMSBAQAogICA8L2F1dG90b29scz4KIAogICA8
YXV0b3Rvb2xzIGlkPSJlX2RidXMiPgotICAgIDxicmFuY2ggbW9kdWxlPSJlX2RidXMuZ2l0L3Nu
YXBzaG90L2VfZGJ1cy05ZGUwYTNlMGM5NTljZGJhYmEwMjJlYjg4OGI5NjcwYmQ3NjZkMzhmLnRh
ci5iejIiIHZlcnNpb249IjczMDI3IgotICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVfZGJ1cy05
ZGUwYTNlMGM5NTljZGJhYmEwMjJlYjg4OGI5NjcwYmQ3NjZkMzhmIgotICAgICAgICAgICAgcmVw
bz0iZW5saWdodGVubWVudC5mciIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1NjpmOTY1NWMzYmE2
OTE3NGRiZDY1YjUyMjBhNDkyYjk3MGFhOTI2NGZmMzI4M2NiZDk2MGE4OWI2OWU1MzU5MWI2Igot
ICAgICAgICAgICAgbWQ1c3VtPSI0Y2NhMWY5OTRlMTc4MjNjYTliZTE5ODVmNWM0YWQwOSI+Cisg
ICAgPGJyYW5jaCBtb2R1bGU9InJlbGVhc2VzL2VfZGJ1cy0xLjcuMC50YXIuZ3oiIHZlcnNpb249
IjEuNy4wIgorICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVfZGJ1cy0xLjcuMCIKKyAgICAgICAg
ICAgIHJlcG89ImRvd25sb2FkLmVubGlnaHRlbm1lbnQub3JnIgorICAgICAgICAgICAgaGFzaD0i
c2hhMjU2OjZlZTMwM2JkMGUyZjkxYTZiZTA4NDMzZGY0NzQzNzc0OTRiYTY4MTU0NDFlNWU2Yjc5
YTVkMjg0ZWFkMmE3NjgiCisgICAgICAgICAgICBtZDVzdW09IjNkNTliZmIwMDc2M2E2MTk3NmE5
NzZiZTkyNWUxY2JmIj4KICAgICA8L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAg
PGRlcCBwYWNrYWdlPSJlY29yZSIvPgpAQCAtMjQzLDExICsyNDYsMTEgQEAKICAgPC9hdXRvdG9v
bHM+CiAKICAgPGF1dG90b29scyBpZD0iZWV6ZSI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVlemUu
Z2l0L3NuYXBzaG90L2VlemUtMDlhMzc5YmMyY2M2YzFjN2FhYjA0Nzg5OTFhMTA0YjBjNmFmMTg0
NC50YXIuYnoyIiB2ZXJzaW9uPSI3MzAyNyIKLSAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlZXpl
LTA5YTM3OWJjMmNjNmMxYzdhYWIwNDc4OTkxYTEwNGIwYzZhZjE4NDQiCi0gICAgICAgICAgICBy
ZXBvPSJlbmxpZ2h0ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjMxMmQ2MTQy
OWFmODQ1YTYzMzNjMGM5NjhlYzdiMDkwMjk4MjA4MmYxNzE0NTNlZTE0MzQzYThlZmU3NzNjZmMi
Ci0gICAgICAgICAgICBtZDVzdW09ImMxNjNjYWVkY2JhYjUzMmI0ZGMxNjAxNGIxNGJiOWJjIj4K
KyAgICA8YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMvZWV6ZS0xLjcuMC50YXIuZ3oiIHZlcnNpb249
IjEuNy4wIgorICAgICAgICAgICAgY2hlY2tvdXRkaXI9ImVlemUtMS43LjAiCisgICAgICAgICAg
ICByZXBvPSJkb3dubG9hZC5lbmxpZ2h0ZW5tZW50Lm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNo
YTI1Njo3ZGI4NzA5NDQ1MTE0ZDFmZTFjMzYwOWNmNzlhMDZlMTNhM2Q1ODRhNWEzZGZkNTU3NjQy
ZGRjNjVhYzNhMjAyIgorICAgICAgICAgICAgbWQ1c3VtPSI2MGE4YmI2MmUzZDJjYzdkZmFjMTRm
MWNkNjIzNDNlMiI+CiAgICAgPC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxk
ZXAgcGFja2FnZT0iZWNvcmUiLz4KQEAgLTI1NiwxMSArMjU5LDExIEBACiAgIDwvYXV0b3Rvb2xz
PgogCiAgIDxhdXRvdG9vbHMgaWQ9ImVmcmVldCI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9ImVmcmVl
dC5naXQvc25hcHNob3QvZWZyZWV0LWU3NzEyYzgzMGYzYTNjYjRjMTk3Njk1ZGU0Yzk4MTM4N2Jl
OGYyMTQudGFyLmJ6MiIgdmVyc2lvbj0iNzMwMjciCi0gICAgICAgICAgICBjaGVja291dGRpcj0i
ZWZyZWV0LWU3NzEyYzgzMGYzYTNjYjRjMTk3Njk1ZGU0Yzk4MTM4N2JlOGYyMTQiCi0gICAgICAg
ICAgICByZXBvPSJlbmxpZ2h0ZW5tZW50LmZyIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjQ4
MzkxODdjM2NjMDk5ZWI2YjY5ODZjNjkyNGY0ZTRmNmRmZmQyMmVjY2JjM2YxYmRkZDFhNjMxMmJj
OGM4NGMiCi0gICAgICAgICAgICBtZDVzdW09ImJmMjhlZTlkN2I1MjExZDcyYzI3NDEyYTdmMWNk
YjgwIj4KKyAgICA8YnJhbmNoIG1vZHVsZT0icmVsZWFzZXMvZWZyZWV0LTEuNy4wLnRhci5neiIg
dmVyc2lvbj0iMS43LjAiCisgICAgICAgICAgICBjaGVja291dGRpcj0iZWZyZWV0LTEuNy4wIgor
ICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQuZW5saWdodGVubWVudC5vcmciCisgICAgICAgICAg
ICBoYXNoPSJzaGEyNTY6MTZhNDFhMDNkNTVmZWJmMzBmMmRkNzg2YjUxYmUzZTM3MGZjNTYzZjMz
MzVkZDI2ODMyZTBlYWE4ODUxNmM3OSIKKyAgICAgICAgICAgIG1kNXN1bT0iZjAzOTE5N2UxNDI4
OGVjZWY5NGVlYWIwNDBjYmJkYjQiPgogICAgIDwvYnJhbmNoPgogICAgIDxkZXBlbmRlbmNpZXM+
CiAgICAgICAgIDxkZWIgcGFja2FnZT0iZWNvcmUiLz4KQEAgLTI2OSw2ICsyNzIsMjEgQEAKICAg
ICA8L2RlcGVuZGVuY2llcz4KICAgPC9hdXRvdG9vbHM+CiAKKyAgPGF1dG90b29scyBpZD0iZWxl
bWVudGFyeSI+CisgICAgPGJyYW5jaCBtb2R1bGU9InJlbGVhc2VzL2VsZW1lbnRhcnktMS43LjAu
dGFyLmd6IiB2ZXJzaW9uPSIxLjcuMCIKKyAgICAgICAgICAgIGNoZWNrb3V0ZGlyPSJlbGVtZW50
YXJ5LTEuNy4wIgorICAgICAgICAgICAgcmVwbz0iZG93bmxvYWQuZW5saWdodGVubWVudC5vcmci
CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6N2U3ZGVlYjRlM2E5YmJiOWM3YjdhODljMmVmYmUy
NjlhMWE2YTQ0ZWYzODBiZjkxYzEwNjZkMTI4MTYzZTJkMyIKKyAgICAgICAgICAgIG1kNXN1bT0i
NDUyNjNjNWQxMDc5ODFhNDRkMjg3MzRjODJlOWZhZTEiPgorICAgIDwvYnJhbmNoPgorICAgIDxk
ZXBlbmRlbmNpZXM+CisgICAgICAgIDxkZWIgcGFja2FnZT0iZWRqZSIvPgorICAgICAgICA8ZGVi
IHBhY2thZ2U9ImVpbmEiLz4KKyAgICAgICAgPGRlYiBwYWNrYWdlPSJlZXQiLz4KKyAgICAgICAg
PGRlYiBwYWNrYWdlPSJlY29yZSIvPgorICAgIDwvZGVwZW5kZW5jaWVzPgorICA8L2F1dG90b29s
cz4KKwogICA8YXV0b3Rvb2xzIGlkPSJsaWJ4bWwyIj4KICAgICA8YnJhbmNoIG1vZHVsZT0iL2xp
YnhtbDIvbGlieG1sMi0yLjguMC50YXIuZ3oiIHZlcnNpb249IjIuOC4wIgogICAgICAgICAgICAg
cmVwbz0ieG1sc29mdC5vcmciCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>