<?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>195754</bug_id>
          
          <creation_ts>2019-03-14 12:01:21 -0700</creation_ts>
          <short_desc>Move CommonCrypto SPI declarations to an appropriate PAL/spi header</short_desc>
          <delta_ts>2019-09-17 22:01:12 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=201903</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1516568</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 12:01:21 -0700</bug_when>
    <thetext>Tidy up the CoreCrypto implementation by moving the forward declarations of SPI functions into an appropriate PAL/spi location.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516569</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 12:01:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/48591957&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516572</commentid>
    <comment_count>2</comment_count>
      <attachid>364674</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 12:06:39 -0700</bug_when>
    <thetext>Created attachment 364674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516574</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-14 12:10:15 -0700</bug_when>
    <thetext>Attachment 364674 did not pass style-queue:


ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:28:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:56:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:57:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:62:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:63:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:64:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:91:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:92:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:105:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
Total errors found: 9 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516576</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 12:10:55 -0700</bug_when>
    <thetext>(In reply to Build Bot from comment #3)
&gt; Attachment 364674 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:28:  Misplaced OS
&gt; version check. Please use a named macro in wtf/Platform.h,
&gt; wtf/FeatureDefines.h, or an appropriate internal file. 
&gt; [build/version_check] [5]
&gt; ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:56:  enum members
&gt; should use InterCaps with an initial capital letter or initial &apos;k&apos; for
&gt; C-style enums.  [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:57:  enum members
&gt; should use InterCaps with an initial capital letter or initial &apos;k&apos; for
&gt; C-style enums.  [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:62:  enum members
&gt; should use InterCaps with an initial capital letter or initial &apos;k&apos; for
&gt; C-style enums.  [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:63:  enum members
&gt; should use InterCaps with an initial capital letter or initial &apos;k&apos; for
&gt; C-style enums.  [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:64:  enum members
&gt; should use InterCaps with an initial capital letter or initial &apos;k&apos; for
&gt; C-style enums.  [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:91:  enum members
&gt; should use InterCaps with an initial capital letter or initial &apos;k&apos; for
&gt; C-style enums.  [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:92:  enum members
&gt; should use InterCaps with an initial capital letter or initial &apos;k&apos; for
&gt; C-style enums.  [readability/enum_casing] [4]
&gt; ERROR: Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h:105:  Misplaced OS
&gt; version check. Please use a named macro in wtf/Platform.h,
&gt; wtf/FeatureDefines.h, or an appropriate internal file. 
&gt; [build/version_check] [5]
&gt; Total errors found: 9 in 6 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

These style violations are because these are SPI declarations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516599</commentid>
    <comment_count>5</comment_count>
      <attachid>364674</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2019-03-14 13:10:02 -0700</bug_when>
    <thetext>Comment on attachment 364674
Patch

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

Thanks Brent for making this change. Really appreciate it. r=me.

&gt; Source/WebCore/ChangeLog:3
&gt; +        Move CoreCrypto SPI declarations to an appropriate PAL/spi header

CommonCrypto will be more appropriate.

&gt; Source/WebCore/ChangeLog:9
&gt; +        Move the forward declarations of various CoreCrypto SPI to an appropriate PAL/spi header.

Ditto.

&gt; Source/WebCore/PAL/ChangeLog:3
&gt; +        Move CoreCrypto SPI declarations to an appropriate PAL/spi header

Ditto.

&gt; Source/WebCore/PAL/ChangeLog:9
&gt; +        Move the forward declarations of various CoreCrypto SPI to an appropriate PAL/spi header.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516610</commentid>
    <comment_count>6</comment_count>
      <attachid>364674</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 13:34:24 -0700</bug_when>
    <thetext>Comment on attachment 364674
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Move CoreCrypto SPI declarations to an appropriate PAL/spi header
&gt; 
&gt; CommonCrypto will be more appropriate.

Doh! Will fix (in all the places)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516632</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 13:56:48 -0700</bug_when>
    <thetext>Committed r242963: &lt;https://trac.webkit.org/changeset/242963&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516754</commentid>
    <comment_count>8</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-03-14 17:00:11 -0700</bug_when>
    <thetext>Reverted r242963 for reason:

Breaks watchOS build.

Committed r242977: &lt;https://trac.webkit.org/changeset/242977&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516758</commentid>
    <comment_count>9</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-03-14 17:00:58 -0700</bug_when>
    <thetext>Details in radar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516785</commentid>
    <comment_count>10</comment_count>
      <attachid>364732</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 17:38:38 -0700</bug_when>
    <thetext>Created attachment 364732
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516810</commentid>
    <comment_count>11</comment_count>
      <attachid>364732</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2019-03-14 18:18:04 -0700</bug_when>
    <thetext>Comment on attachment 364732
Patch for landing

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

&gt; Source/WebCore/crypto/CommonCryptoUtilities.h:40
&gt; +typedef struct _CCBigNumRef *CCBigNumRef;

Maybe this needs to be outside of namespace WebCore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516815</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-14 18:27:15 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 364732:

legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-transition-overlap.html bug 195787 (authors: dino@apple.com and graouts@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516816</commentid>
    <comment_count>13</comment_count>
      <attachid>364732</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-14 18:28:04 -0700</bug_when>
    <thetext>Comment on attachment 364732
Patch for landing

Clearing flags on attachment: 364732

Committed r242981: &lt;https://trac.webkit.org/changeset/242981&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516817</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-14 18:28:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516838</commentid>
    <comment_count>15</comment_count>
      <attachid>364732</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-03-14 19:06:53 -0700</bug_when>
    <thetext>Comment on attachment 364732
Patch for landing

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

&gt; Source/WebCore/crypto/mac/CryptoAlgorithmHKDFMac.cpp:44
&gt; +#pragma clang diagnostic push
&gt; +#pragma clang diagnostic ignored &quot;-Wdeprecated-declarations&quot;

Please use ALLOW_DEPRECATED_DECLARATIONS_BEGIN/END instead of using #pragma clang directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516856</commentid>
    <comment_count>16</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 19:48:18 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516857</commentid>
    <comment_count>17</comment_count>
      <attachid>364760</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 19:48:20 -0700</bug_when>
    <thetext>Created attachment 364760
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516860</commentid>
    <comment_count>18</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 19:51:04 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #15)
&gt; Comment on attachment 364732 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364732&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/crypto/mac/CryptoAlgorithmHKDFMac.cpp:44
&gt; &gt; +#pragma clang diagnostic push
&gt; &gt; +#pragma clang diagnostic ignored &quot;-Wdeprecated-declarations&quot;
&gt; 
&gt; Please use ALLOW_DEPRECATED_DECLARATIONS_BEGIN/END instead of using #pragma
&gt; clang directly.

Will do!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516861</commentid>
    <comment_count>19</comment_count>
      <attachid>364762</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 20:04:27 -0700</bug_when>
    <thetext>Created attachment 364762
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516864</commentid>
    <comment_count>20</comment_count>
      <attachid>364763</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 20:10:50 -0700</bug_when>
    <thetext>Created attachment 364763
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516866</commentid>
    <comment_count>21</comment_count>
      <attachid>364764</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-03-14 20:14:13 -0700</bug_when>
    <thetext>Created attachment 364764
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516871</commentid>
    <comment_count>22</comment_count>
      <attachid>364764</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-14 20:31:46 -0700</bug_when>
    <thetext>Comment on attachment 364764
Patch for landing

Clearing flags on attachment: 364764

Committed r242988: &lt;https://trac.webkit.org/changeset/242988&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516872</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-14 20:31:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364674</attachid>
            <date>2019-03-14 12:06:39 -0700</date>
            <delta_ts>2019-03-14 17:38:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195754-20190314120638.patch</filename>
            <type>text/plain</type>
            <size>21242</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2QzYmRkN2ZkOWY4YzZj
YjEwNzEzODE0MmI5ZThmM2Y4YmVjYmU4My4uNTQwOThjOWE1YTYwYzAwZDBkNTk3ZTJkNDdkM2Vh
MjQ4YTQyNGU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAzLTE0ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgQ29yZUNyeXB0
byBTUEkgZGVjbGFyYXRpb25zIHRvIGFuIGFwcHJvcHJpYXRlIFBBTC9zcGkgaGVhZGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NTQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NTkxOTU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgdGhlIGZvcndhcmQgZGVjbGFyYXRpb25zIG9mIHZh
cmlvdXMgQ29yZUNyeXB0byBTUEkgdG8gYW4gYXBwcm9wcmlhdGUgUEFML3NwaSBoZWFkZXIuCisg
ICAgICAgIFVwZGF0ZSB0aGUgY29uc3QgY29ycmVjdG5lc3Mgb2Ygb25lIGZ1bmN0aW9uIGNhbGwg
dG8gbWF0Y2ggbmV3IFNESyBkZWNsYXJhdGlvbi4KKworICAgICAgICBObyB0ZXN0cyBiZWNhdXNl
IHRoZXJlIGFyZSBubyBjaGFuZ2VzIGluIGJlaGF2aW9yLgorCisgICAgICAgICogY3J5cHRvL0Nv
bW1vbkNyeXB0b1V0aWxpdGllcy5oOgorICAgICAgICAqIGNyeXB0by9tYWMvQ3J5cHRvQWxnb3Jp
dGhtSEtERk1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1IS0RGOjpw
bGF0Zm9ybURlcml2ZUJpdHMpOgorCiAyMDE5LTAzLTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdo
YW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBvYnNvbGV0ZSBydW50aW1lIGZsYWcgZm9y
IFN0b3JhZ2VBY2Nlc3MgQVBJIFByb21wdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYWNiY2FhNzM3
MDU3ZDFkNjBiNDYwNGI2OTNjZjliYzM4MGIwNDExMS4uY2E3NTk5NzVlOTE4NjRmYTRjMmNiNmVm
NWYwZDYxZjQ0ZDE4YjFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIw
MTktMDMtMTQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAg
TW92ZSBDb3JlQ3J5cHRvIFNQSSBkZWNsYXJhdGlvbnMgdG8gYW4gYXBwcm9wcmlhdGUgUEFML3Nw
aSBoZWFkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NTc1NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg1OTE5NTc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgZm9yd2FyZCBkZWNs
YXJhdGlvbnMgb2YgdmFyaW91cyBDb3JlQ3J5cHRvIFNQSSB0byBhbiBhcHByb3ByaWF0ZSBQQUwv
c3BpIGhlYWRlci4KKyAgICAgICAgVXBkYXRlIHRoZSBjb25zdCBjb3JyZWN0bmVzcyBvZiBvbmUg
ZnVuY3Rpb24gY2FsbCB0byBtYXRjaCBuZXcgU0RLIGRlY2xhcmF0aW9uLgorCisgICAgICAgIE5v
IHRlc3RzIGJlY2F1c2UgdGhlcmUgYXJlIG5vIGNoYW5nZXMgaW4gYmVoYXZpb3IuCisKKyAgICAg
ICAgKiBQQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWwvc3BpL2Nv
Y29hL0NvbW1vbkNyeXB0b1NQSS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8v
Q29tbW9uQ3J5cHRvVXRpbGl0aWVzLmguCisKIDIwMTktMDMtMDcgIEFuZHkgRXN0ZXMgIDxhZXN0
ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtBcHBsZSBQYXldIFVudGFuZ2xlIFBLUGF5bWVudEF1
dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciBmcm9tIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggOTQyODEwYTg2YTdmOTlhMGUzZDcxMDA0YzFkNTMwMzcwNDc0NzYzNS4uNDg4NGVkMzFl
M2I0YTQxYTRmMWY5NTQwMThlZmVjMzliYzAwMWNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTgsNiArOTgsNyBAQAogCQkw
Qzc3ODVBMDFGNDUxMzBGMDBGNEVCQjYgLyogUXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzc3ODU4NzFGNDUxMzBGMDBGNEVC
QjYgLyogUXVpY2tMb29rTWFjU1BJLmggKi87IH07CiAJCTBDNzc4NUExMUY0NTEzMEYwMEY0RUJC
NiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBDNzc4NTg4MUY0NTEzMEYwMEY0RUJCNiAvKiBUZWxlcGhvbnlV
dGlsaXRpZXNTUEkuaCAqLzsgfTsKIAkJMENGOTlDQTQxRjczNjM3NTAwN0VFNzkzIC8qIE1lZGlh
VGltZUFWRm91bmRhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwQzAwQ0ZEMTFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0
aW9uLmNwcCAqLzsgfTsKKwkJN0EzNkQwRjkyMjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0
b1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0Ez
NkQwRjgyMjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oICovOyB9OwogCQkwQ0Y5
OUNBODFGNzM4NDM3MDA3RUU3OTMgLyogQ29yZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMENGOTlDQTYxRjczODQzNjAwN0VF
NzkzIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLzsgfTsKIAkJMENGOTlDQTkxRjczODQzNzAw
N0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwQ0Y5OUNBNzFGNzM4NDM3MDA3RUU3OTMgLyogQ29yZU1lZGlh
U29mdExpbmsuaCAqLzsgfTsKIAkJMUMwOUQwNTMxRTMxQzQ0MTAwNzI1RjE4IC8qIENyeXB0b0Rp
Z2VzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMw
OUQwNTIxRTMxQzQ0MTAwNzI1RjE4IC8qIENyeXB0b0RpZ2VzdC5oICovOyB9OwpAQCAtMTgxLDYg
KzE4Miw3IEBACiAJCTBDMkRBMDY4MUYzM0NBODQwMERCQzMxNyAvKiBDRk5ldHdvcmtDb25uZWN0
aW9uQ2FjaGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3Jr
Q29ubmVjdGlvbkNhY2hlU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRB
MDY5MUYzM0NBODQwMERCQzMxNyAvKiBDRk5ldHdvcmtTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBDMkRBMDZBMUYzM0NBODQwMERCQzMxNyAvKiBDRlV0aWxpdGllc1NQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRlV0aWxpdGllc1NQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk3QTM2RDBGODIyM0FEOUFCMDBCMDUyMkUgLyogQ29tbW9uQ3J5cHRv
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbW1vbkNyeXB0b1NQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEQTA2QjFGMzNDQTg0MDBEQkMzMTcg
LyogQ29yZUF1ZGlvU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVB
dWRpb1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEQTA2QzFGMzNDQTg0
MDBEQkMzMTcgLyogQ29yZU1lZGlhU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENvcmVNZWRpYVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEQTEx
QzFGM0JFOUUwMDBEQkMzMTcgLyogQ29yZUdyYXBoaWNzU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvcmVHcmFwaGljc1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMzg2LDYgKzM4OCw3IEBACiAJCQkJMkQwMkU5M0IyMDU2RkFBNzAwQTEzNzk3IC8q
IEF1ZGlvVG9vbGJveFNQSS5oICovLAogCQkJCTBDMkRBMTIyMUYzQkVCNDkwMERCQzMxNyAvKiBB
VktpdFNQSS5oICovLAogCQkJCTBDMkRBMTIzMUYzQkVCNDkwMERCQzMxNyAvKiBDRk5TVVJMQ29u
bmVjdGlvblNQSS5oICovLAorCQkJCTdBMzZEMEY4MjIzQUQ5QUIwMEIwNTIyRSAvKiBDb21tb25D
cnlwdG9TUEkuaCAqLywKIAkJCQkwQzJEQTEyNDFGM0JFQjQ5MDBEQkMzMTcgLyogQ29yZVRleHRT
UEkuaCAqLywKIAkJCQkwQzJEQTEyNTFGM0JFQjQ5MDBEQkMzMTcgLyogRGF0YURldGVjdG9yc0Nv
cmVTUEkuaCAqLywKIAkJCQlDRTU2NzM4NjIxNTFBN0I5MDAyRjkyRDcgLyogSU9LaXRTUEkuaCAq
LywKQEAgLTY3OSw2ICs2ODIsNyBAQAogCQkJCTBDMkRBMDcwMUYzM0NBODQwMERCQzMxNyAvKiBD
RlV0aWxpdGllc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM1RkZGMEMxRjc4RDk5MDAwOUVG
RjFBIC8qIENsb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzVGRkYxMDFGNzhEOURBMDA5RUZG
MUEgLyogQ2xvY2tDTS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0EzNkQwRjkyMjNBRDlBQjAwQjA1
MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUMwOUQwNTgxRTMx
QzU3RTAwNzI1RjE4IC8qIGNvbmZpZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREEwNzExRjMz
Q0E4NDAwREJDMzE3IC8qIENvcmVBdWRpb1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREEx
MUUxRjNCRTlFMDAwREJDMzE3IC8qIENvcmVHcmFwaGljc1NQSS5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9T
UEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZiNDVlYjRkNjc3NDViYmI4Mzg1MjJkMmMzZDFjYzI5MmU4YzA3NjQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db21tb25D
cnlwdG9TUEkuaApAQCAtMCwwICsxLDEzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMy0y
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCkKKyNkZWZpbmUgSEFWRV9DQ1JTQUdldENSVENv
bXBvbmVudHMgMQorI2VuZGlmCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1
ZGUgPENvbW1vbkNyeXB0by9Db21tb25DcnlwdG9yU1BJLmg+CisjaW5jbHVkZSA8Q29tbW9uQ3J5
cHRvL0NvbW1vbkVDQ3J5cHRvci5oPgorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25LZXlE
ZXJpdmF0aW9uU1BJLmg+CisjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vblJTQUNyeXB0b3Iu
aD4KKworI2lmIEhBVkUoQ0NSU0FHZXRDUlRDb21wb25lbnRzKQorI2luY2x1ZGUgPENvbW1vbkNy
eXB0by9Db21tb25SU0FDcnlwdG9yU1BJLmg+CisjZW5kaWYKKworI2Vsc2UKKworI2lmbmRlZiBf
Q0NfUlNBQ1JZUFRPUl9IXworZW51bSB7CisgICAga0NDRGlnZXN0Tm9uZSA9IDAsCisgICAga0ND
RGlnZXN0U0hBMSA9IDgsCisgICAga0NDRGlnZXN0U0hBMjI0ID0gOSwKKyAgICBrQ0NEaWdlc3RT
SEEyNTYgPSAxMCwKKyAgICBrQ0NEaWdlc3RTSEEzODQgPSAxMSwKKyAgICBrQ0NEaWdlc3RTSEE1
MTIgPSAxMiwKK307Cit0eXBlZGVmIHVpbnQzMl90IENDRGlnZXN0QWxnb3JpdGhtOworCitlbnVt
IHsKKyAgICBjY1JTQUtleVB1YmxpYyA9IDAsCisgICAgY2NSU0FLZXlQcml2YXRlID0gMQorfTsK
K3R5cGVkZWYgdWludDMyX3QgQ0NSU0FLZXlUeXBlOworCitlbnVtIHsKKyAgICBjY1BLQ1MxUGFk
ZGluZyA9IDEwMDEsCisgICAgY2NPQUVQUGFkZGluZyA9IDEwMDIsCisgICAgY2NSU0FQU1NQYWRk
aW5nID0gMTAwNQorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0NBc3ltbWV0cmljUGFkZGluZzsKKyNl
bmRpZgorCit0eXBlZGVmIHN0cnVjdCBfQ0NCaWdOdW1SZWYgKkNDQmlnTnVtUmVmOworCit0eXBl
ZGVmIHN0cnVjdCBfQ0NSU0FDcnlwdG9yICpDQ1JTQUNyeXB0b3JSZWY7CitleHRlcm4gIkMiIEND
Q3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JFbmNyeXB0KENDUlNBQ3J5cHRvclJlZiBwdWJsaWNL
ZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qgdm9pZCAqcGxhaW5UZXh0LCBz
aXplX3QgcGxhaW5UZXh0TGVuLCB2b2lkICpjaXBoZXJUZXh0LCBzaXplX3QgKmNpcGhlclRleHRM
ZW4sIGNvbnN0IHZvaWQgKnRhZ0RhdGEsIHNpemVfdCB0YWdEYXRhTGVuLCBDQ0RpZ2VzdEFsZ29y
aXRobSBkaWdlc3RUeXBlKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRv
ckRlY3J5cHQoQ0NSU0FDcnlwdG9yUmVmIHByaXZhdGVLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcg
cGFkZGluZywgY29uc3Qgdm9pZCAqY2lwaGVyVGV4dCwgc2l6ZV90IGNpcGhlclRleHRMZW4sIHZv
aWQgKnBsYWluVGV4dCwgc2l6ZV90ICpwbGFpblRleHRMZW4sIGNvbnN0IHZvaWQgKnRhZ0RhdGEs
IHNpemVfdCB0YWdEYXRhTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlKTsKK2V4dGVy
biAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvclNpZ24oQ0NSU0FDcnlwdG9yUmVmIHBy
aXZhdGVLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qgdm9pZCAqaGFzaFRv
U2lnbiwgc2l6ZV90IGhhc2hTaWduTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlLCBz
aXplX3Qgc2FsdExlbiwgdm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90ICpzaWduZWREYXRhTGVuKTsK
K2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvclZlcmlmeShDQ1JTQUNyeXB0
b3JSZWYgcHVibGljS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQg
Kmhhc2gsIHNpemVfdCBoYXNoTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlLCBzaXpl
X3Qgc2FsdExlbiwgY29uc3Qgdm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90IHNpZ25lZERhdGFMZW4p
OworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yR2VuZXJhdGVQYWlyKHNp
emVfdCBrZXlzaXplLCB1aW50MzJfdCBlLCBDQ1JTQUNyeXB0b3JSZWYgKnB1YmxpY0tleSwgQ0NS
U0FDcnlwdG9yUmVmICpwcml2YXRlS2V5KTsKK2V4dGVybiAiQyIgQ0NSU0FDcnlwdG9yUmVmIEND
UlNBQ3J5cHRvckdldFB1YmxpY0tleUZyb21Qcml2YXRlS2V5KENDUlNBQ3J5cHRvclJlZiBwcml2
a2V5KTsKK2V4dGVybiAiQyIgdm9pZCBDQ1JTQUNyeXB0b3JSZWxlYXNlKENDUlNBQ3J5cHRvclJl
ZiBrZXkpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FHZXRLZXlDb21wb25lbnRz
KENDUlNBQ3J5cHRvclJlZiByc2FLZXksIHVpbnQ4X3QgKm1vZHVsdXMsIHNpemVfdCAqbW9kdWx1
c0xlbmd0aCwgdWludDhfdCAqZXhwb25lbnQsIHNpemVfdCAqZXhwb25lbnRMZW5ndGgsIHVpbnQ4
X3QgKnAsIHNpemVfdCAqcExlbmd0aCwgdWludDhfdCAqcSwgc2l6ZV90ICpxTGVuZ3RoKTsKK2V4
dGVybiAiQyIgQ0NSU0FLZXlUeXBlIENDUlNBR2V0S2V5VHlwZShDQ1JTQUNyeXB0b3JSZWYga2V5
KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckltcG9ydChjb25zdCB2
b2lkICprZXlQYWNrYWdlLCBzaXplX3Qga2V5UGFja2FnZUxlbiwgQ0NSU0FDcnlwdG9yUmVmICpr
ZXkpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yRXhwb3J0KENDUlNB
Q3J5cHRvclJlZiBrZXksIHZvaWQgKm91dCwgc2l6ZV90ICpvdXRMZW4pOworCisjaWYgSEFWRShD
Q1JTQUdldENSVENvbXBvbmVudHMpCitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUdl
dENSVENvbXBvbmVudHNTaXplcyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCBzaXplX3QgKmRwU2l6
ZSwgc2l6ZV90ICpkcVNpemUsIHNpemVfdCAqcWludlNpemUpOworZXh0ZXJuICJDIiBDQ0NyeXB0
b3JTdGF0dXMgQ0NSU0FHZXRDUlRDb21wb25lbnRzKENDUlNBQ3J5cHRvclJlZiByc2FLZXksIHZv
aWQgKmRwLCBzaXplX3QgZHBTaXplLCB2b2lkICpkcSwgc2l6ZV90IGRxU2l6ZSwgdm9pZCAqcWlu
diwgc2l6ZV90IHFpbnZTaXplKTsKKyNlbmRpZgorCisjaWZuZGVmIF9DQ19FQ0NSWVBUT1JfSF8K
K2VudW0geworICAgIGNjRUNLZXlQdWJsaWMgPSAwLAorICAgIGNjRUNLZXlQcml2YXRlID0gMSwK
K307Cit0eXBlZGVmIHVpbnQzMl90IENDRUNLZXlUeXBlOworCitlbnVtIHsKKyAgICBrQ0NJbXBv
cnRLZXlCaW5hcnkgPSAwLAorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0NFQ0tleUV4dGVybmFsRm9y
bWF0OworI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0IF9DQ0VDQ3J5cHRvciAqQ0NFQ0NyeXB0b3JS
ZWY7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckdlbmVyYXRlUGFpcihz
aXplX3Qga2V5c2l6ZSwgQ0NFQ0NyeXB0b3JSZWYgKnB1YmxpY0tleSwgQ0NFQ0NyeXB0b3JSZWYg
KnByaXZhdGVLZXkpOworZXh0ZXJuICJDIiB2b2lkIENDRUNDcnlwdG9yUmVsZWFzZShDQ0VDQ3J5
cHRvclJlZiBrZXkpOworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQorZXh0ZXJuICJDIiBDQ0NyeXB0
b3JTdGF0dXMgQ0NFQ0NyeXB0b3JJbXBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZvcm1h
dCwgY29uc3Qgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90IGtleVBhY2thZ2VMZW4sIENDRUNLZXlU
eXBlIGtleVR5cGUsIENDRUNDcnlwdG9yUmVmICprZXkpOworI2Vsc2UKK2V4dGVybiAiQyIgQ0ND
cnlwdG9yU3RhdHVzIENDRUNDcnlwdG9ySW1wb3J0S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBm
b3JtYXQsIHZvaWQgKmtleVBhY2thZ2UsIHNpemVfdCBrZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlw
ZSBrZXlUeXBlLCBDQ0VDQ3J5cHRvclJlZiAqa2V5KTsKKyNlbmRpZgorZXh0ZXJuICJDIiBDQ0Ny
eXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JFeHBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZv
cm1hdCwgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90ICprZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlw
ZSBrZXlUeXBlLCBDQ0VDQ3J5cHRvclJlZiBrZXkpOworZXh0ZXJuICJDIiBpbnQgQ0NFQ0dldEtl
eVNpemUoQ0NFQ0NyeXB0b3JSZWYga2V5KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIEND
RUNDcnlwdG9yQ3JlYXRlRnJvbURhdGEoc2l6ZV90IGtleVNpemUsIHVpbnQ4X3QgKnFYLCBzaXpl
X3QgcVhMZW5ndGgsIHVpbnQ4X3QgKnFZLCBzaXplX3QgcVlMZW5ndGgsIENDRUNDcnlwdG9yUmVm
ICpyZWYpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JHZXRLZXlDb21w
b25lbnRzKENDRUNDcnlwdG9yUmVmIGVjS2V5LCBzaXplX3QgKmtleVNpemUsIHVpbnQ4X3QgKnFY
LCBzaXplX3QgKnFYTGVuZ3RoLCB1aW50OF90ICpxWSwgc2l6ZV90ICpxWUxlbmd0aCwgdWludDhf
dCAqZCwgc2l6ZV90ICpkTGVuZ3RoKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUND
cnlwdG9yQ29tcHV0ZVNoYXJlZFNlY3JldChDQ0VDQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0VD
Q3J5cHRvclJlZiBwdWJsaWNLZXksIHZvaWQgKm91dCwgc2l6ZV90ICpvdXRMZW4pOworZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JTaWduSGFzaChDQ0VDQ3J5cHRvclJlZiBw
cml2YXRlS2V5LCBjb25zdCB2b2lkICpoYXNoVG9TaWduLCBzaXplX3QgaGFzaFNpZ25MZW4sIHZv
aWQgKnNpZ25lZERhdGEsIHNpemVfdCAqc2lnbmVkRGF0YUxlbik7CitleHRlcm4gIkMiIENDQ3J5
cHRvclN0YXR1cyBDQ0VDQ3J5cHRvclZlcmlmeUhhc2goQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5
LCBjb25zdCB2b2lkICpoYXNoLCBzaXplX3QgaGFzaExlbiwgY29uc3Qgdm9pZCAqc2lnbmVkRGF0
YSwgc2l6ZV90IHNpZ25lZERhdGFMZW4sIHVpbnQzMl90ICp2YWxpZCk7CisKKyNpZm5kZWYgQ29t
bW9uQ3J5cHRvX0NvbW1vbk5pc3RLZXlEZXJpdmF0aW9uX2gKK2VudW0geworICAgIGtDQ0tERkFs
Z29yaXRobUhLREYgPSA2Cit9OwordHlwZWRlZiB1aW50MzJfdCBDQ0tERkFsZ29yaXRobTsKKyNl
bmRpZgorCitleHRlcm4gIkMiIENDU3RhdHVzIENDS2V5RGVyaXZhdGlvbkhNYWMoQ0NLREZBbGdv
cml0aG0gYWxnb3JpdGhtLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3QsIHVuc2lnbmVkIHJvdW5k
cywgY29uc3Qgdm9pZCAqa2V5RGVyaXZhdGlvbktleSwgc2l6ZV90IGtleURlcml2YXRpb25LZXlM
ZW4sIGNvbnN0IHZvaWQgKmxhYmVsLCBzaXplX3QgbGFiZWxMZW4sIGNvbnN0IHZvaWQgKmNvbnRl
eHQsIHNpemVfdCBjb250ZXh0TGVuLCBjb25zdCB2b2lkICppdiwgc2l6ZV90IGl2TGVuLCBjb25z
dCB2b2lkICpzYWx0LCBzaXplX3Qgc2FsdExlbiwgdm9pZCAqZGVyaXZlZEtleSwgc2l6ZV90IGRl
cml2ZWRLZXlMZW4pOworCitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0NyeXB0b3JHQ00o
Q0NPcGVyYXRpb24gb3AsIENDQWxnb3JpdGhtIGFsZywgY29uc3Qgdm9pZCoga2V5LCBzaXplX3Qg
a2V5TGVuZ3RoLCBjb25zdCB2b2lkKiBpdiwgc2l6ZV90IGl2TGVuLCBjb25zdCB2b2lkKiBhRGF0
YSwgc2l6ZV90IGFEYXRhTGVuLCBjb25zdCB2b2lkKiBkYXRhSW4sIHNpemVfdCBkYXRhSW5MZW5n
dGgsIHZvaWQqIGRhdGFPdXQsIHZvaWQqIHRhZywgc2l6ZV90KiB0YWdMZW5ndGgpOworZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yQ3JlYXRlRnJvbURhdGEoQ0NSU0FLZXlU
eXBlIGtleVR5cGUsIGNvbnN0IHVpbnQ4X3QgKm1vZHVsdXMsIHNpemVfdCBtb2R1bHVzTGVuZ3Ro
LCBjb25zdCB1aW50OF90ICpleHBvbmVudCwgc2l6ZV90IGV4cG9uZW50TGVuZ3RoLCBjb25zdCB1
aW50OF90ICpwLCBzaXplX3QgcExlbmd0aCwgY29uc3QgdWludDhfdCAqcSwgc2l6ZV90IHFMZW5n
dGgsIENDUlNBQ3J5cHRvclJlZiAqcmVmKTsKKworI2VuZGlmIC8vICFVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0
aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5o
CmluZGV4IDVjMDBhNjgyMGI2NWI5ZTEyYTVhMWVkNjI2ZmQ3OGU4ZTNhZWE1YTMuLmE3YmFjOWM2
NjZmNDEzYTE2ZGIyZjZmYmJiYWRmZmE0N2M4MjFkMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9Db21tb25DcnlwdG9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vQ29tbW9uQ3J5cHRvVXRpbGl0aWVzLmgKQEAgLTI1LDExMyArMjUsMTQgQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCkKLSNkZWZpbmUgSEFWRV9DQ1JTQUdl
dENSVENvbXBvbmVudHMgMQotI2VuZGlmCi0KICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKIAogI2lu
Y2x1ZGUgIkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxDb21tb25Dcnlw
dG8vQ29tbW9uQ3J5cHRvci5oPgogI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25SYW5kb20u
aD4KKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8
Q29tbW9uQ3J5cHRvL0NvbW1vbkNyeXB0b3JTUEkuaD4KLSNpbmNsdWRlIDxDb21tb25DcnlwdG8v
Q29tbW9uRUNDcnlwdG9yLmg+Ci0vLyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzMxNTA4OTU5Pgot
Ly8gI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25LZXlEZXJpdmF0aW9uU1BJLmg+Ci0jaW5j
bHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vblJTQUNyeXB0b3IuaD4KLSNlbmRpZgotCi0jaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykgJiYgSEFWRShDQ1JTQUdldENSVENvbXBvbmVudHMpCi0jaW5j
bHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vblJTQUNyeXB0b3JTUEkuaD4KLSNlbmRpZgotCi0jaWZu
ZGVmIF9DQ19SU0FDUllQVE9SX0hfCi1lbnVtIHsKLSAgICBrQ0NEaWdlc3ROb25lID0gMCwKLSAg
ICBrQ0NEaWdlc3RTSEExID0gOCwKLSAgICBrQ0NEaWdlc3RTSEEyMjQgPSA5LAotICAgIGtDQ0Rp
Z2VzdFNIQTI1NiA9IDEwLAotICAgIGtDQ0RpZ2VzdFNIQTM4NCA9IDExLAotICAgIGtDQ0RpZ2Vz
dFNIQTUxMiA9IDEyLAotfTsKLXR5cGVkZWYgdWludDMyX3QgQ0NEaWdlc3RBbGdvcml0aG07Ci0K
LWVudW0gewotICAgIGNjUlNBS2V5UHVibGljID0gMCwKLSAgICBjY1JTQUtleVByaXZhdGUgPSAx
Ci19OwotdHlwZWRlZiB1aW50MzJfdCBDQ1JTQUtleVR5cGU7Ci0KLWVudW0gewotICAgIGNjUEtD
UzFQYWRkaW5nID0gMTAwMSwKLSAgICBjY09BRVBQYWRkaW5nID0gMTAwMiwKLSAgICBjY1JTQVBT
U1BhZGRpbmcgPSAxMDA1Ci19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0FzeW1tZXRyaWNQYWRkaW5n
OwotI2VuZGlmCi0KLXR5cGVkZWYgc3RydWN0IF9DQ0JpZ051bVJlZiAqQ0NCaWdOdW1SZWY7Ci0K
LXR5cGVkZWYgc3RydWN0IF9DQ1JTQUNyeXB0b3IgKkNDUlNBQ3J5cHRvclJlZjsKLWV4dGVybiAi
QyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckVuY3J5cHQoQ0NSU0FDcnlwdG9yUmVmIHB1
YmxpY0tleSwgQ0NBc3ltbWV0cmljUGFkZGluZyBwYWRkaW5nLCBjb25zdCB2b2lkICpwbGFpblRl
eHQsIHNpemVfdCBwbGFpblRleHRMZW4sIHZvaWQgKmNpcGhlclRleHQsIHNpemVfdCAqY2lwaGVy
VGV4dExlbiwgY29uc3Qgdm9pZCAqdGFnRGF0YSwgc2l6ZV90IHRhZ0RhdGFMZW4sIENDRGlnZXN0
QWxnb3JpdGhtIGRpZ2VzdFR5cGUpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FD
cnlwdG9yRGVjcnlwdChDQ1JTQUNyeXB0b3JSZWYgcHJpdmF0ZUtleSwgQ0NBc3ltbWV0cmljUGFk
ZGluZyBwYWRkaW5nLCBjb25zdCB2b2lkICpjaXBoZXJUZXh0LCBzaXplX3QgY2lwaGVyVGV4dExl
biwgdm9pZCAqcGxhaW5UZXh0LCBzaXplX3QgKnBsYWluVGV4dExlbiwgY29uc3Qgdm9pZCAqdGFn
RGF0YSwgc2l6ZV90IHRhZ0RhdGFMZW4sIENDRGlnZXN0QWxnb3JpdGhtIGRpZ2VzdFR5cGUpOwot
ZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yU2lnbihDQ1JTQUNyeXB0b3JS
ZWYgcHJpdmF0ZUtleSwgQ0NBc3ltbWV0cmljUGFkZGluZyBwYWRkaW5nLCBjb25zdCB2b2lkICpo
YXNoVG9TaWduLCBzaXplX3QgaGFzaFNpZ25MZW4sIENDRGlnZXN0QWxnb3JpdGhtIGRpZ2VzdFR5
cGUsIHNpemVfdCBzYWx0TGVuLCB2b2lkICpzaWduZWREYXRhLCBzaXplX3QgKnNpZ25lZERhdGFM
ZW4pOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yVmVyaWZ5KENDUlNB
Q3J5cHRvclJlZiBwdWJsaWNLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qg
dm9pZCAqaGFzaCwgc2l6ZV90IGhhc2hMZW4sIENDRGlnZXN0QWxnb3JpdGhtIGRpZ2VzdFR5cGUs
IHNpemVfdCBzYWx0TGVuLCBjb25zdCB2b2lkICpzaWduZWREYXRhLCBzaXplX3Qgc2lnbmVkRGF0
YUxlbik7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JHZW5lcmF0ZVBh
aXIoc2l6ZV90IGtleXNpemUsIHVpbnQzMl90IGUsIENDUlNBQ3J5cHRvclJlZiAqcHVibGljS2V5
LCBDQ1JTQUNyeXB0b3JSZWYgKnByaXZhdGVLZXkpOwotZXh0ZXJuICJDIiBDQ1JTQUNyeXB0b3JS
ZWYgQ0NSU0FDcnlwdG9yR2V0UHVibGljS2V5RnJvbVByaXZhdGVLZXkoQ0NSU0FDcnlwdG9yUmVm
IHByaXZrZXkpOwotZXh0ZXJuICJDIiB2b2lkIENDUlNBQ3J5cHRvclJlbGVhc2UoQ0NSU0FDcnlw
dG9yUmVmIGtleSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUdldEtleUNvbXBv
bmVudHMoQ0NSU0FDcnlwdG9yUmVmIHJzYUtleSwgdWludDhfdCAqbW9kdWx1cywgc2l6ZV90ICpt
b2R1bHVzTGVuZ3RoLCB1aW50OF90ICpleHBvbmVudCwgc2l6ZV90ICpleHBvbmVudExlbmd0aCwg
dWludDhfdCAqcCwgc2l6ZV90ICpwTGVuZ3RoLCB1aW50OF90ICpxLCBzaXplX3QgKnFMZW5ndGgp
OwotZXh0ZXJuICJDIiBDQ1JTQUtleVR5cGUgQ0NSU0FHZXRLZXlUeXBlKENDUlNBQ3J5cHRvclJl
ZiBrZXkpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9ySW1wb3J0KGNv
bnN0IHZvaWQgKmtleVBhY2thZ2UsIHNpemVfdCBrZXlQYWNrYWdlTGVuLCBDQ1JTQUNyeXB0b3JS
ZWYgKmtleSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JFeHBvcnQo
Q0NSU0FDcnlwdG9yUmVmIGtleSwgdm9pZCAqb3V0LCBzaXplX3QgKm91dExlbik7Ci0KLSNpZiBI
QVZFKENDUlNBR2V0Q1JUQ29tcG9uZW50cykKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIEND
UlNBR2V0Q1JUQ29tcG9uZW50c1NpemVzKENDUlNBQ3J5cHRvclJlZiByc2FLZXksIHNpemVfdCAq
ZHBTaXplLCBzaXplX3QgKmRxU2l6ZSwgc2l6ZV90ICpxaW52U2l6ZSk7Ci1leHRlcm4gIkMiIEND
Q3J5cHRvclN0YXR1cyBDQ1JTQUdldENSVENvbXBvbmVudHMoQ0NSU0FDcnlwdG9yUmVmIHJzYUtl
eSwgdm9pZCAqZHAsIHNpemVfdCBkcFNpemUsIHZvaWQgKmRxLCBzaXplX3QgZHFTaXplLCB2b2lk
ICpxaW52LCBzaXplX3QgcWludlNpemUpOwotI2VuZGlmCi0KLSNpZm5kZWYgX0NDX0VDQ1JZUFRP
Ul9IXwotZW51bSB7Ci0gICAgY2NFQ0tleVB1YmxpYyA9IDAsCi0gICAgY2NFQ0tleVByaXZhdGUg
PSAxLAotfTsKLXR5cGVkZWYgdWludDMyX3QgQ0NFQ0tleVR5cGU7Ci0KLWVudW0gewotICAgIGtD
Q0ltcG9ydEtleUJpbmFyeSA9IDAsCi19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0VDS2V5RXh0ZXJu
YWxGb3JtYXQ7Ci0jZW5kaWYKLQotdHlwZWRlZiBzdHJ1Y3QgX0NDRUNDcnlwdG9yICpDQ0VDQ3J5
cHRvclJlZjsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yR2VuZXJhdGVQ
YWlyKHNpemVfdCBrZXlzaXplLCBDQ0VDQ3J5cHRvclJlZiAqcHVibGljS2V5LCBDQ0VDQ3J5cHRv
clJlZiAqcHJpdmF0ZUtleSk7Ci1leHRlcm4gIkMiIHZvaWQgQ0NFQ0NyeXB0b3JSZWxlYXNlKEND
RUNDcnlwdG9yUmVmIGtleSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRv
ckltcG9ydEtleShDQ0VDS2V5RXh0ZXJuYWxGb3JtYXQgZm9ybWF0LCB2b2lkICprZXlQYWNrYWdl
LCBzaXplX3Qga2V5UGFja2FnZUxlbiwgQ0NFQ0tleVR5cGUga2V5VHlwZSwgQ0NFQ0NyeXB0b3JS
ZWYgKmtleSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckV4cG9ydEtl
eShDQ0VDS2V5RXh0ZXJuYWxGb3JtYXQgZm9ybWF0LCB2b2lkICprZXlQYWNrYWdlLCBzaXplX3Qg
KmtleVBhY2thZ2VMZW4sIENDRUNLZXlUeXBlIGtleVR5cGUsIENDRUNDcnlwdG9yUmVmIGtleSk7
Ci1leHRlcm4gIkMiIGludCBDQ0VDR2V0S2V5U2l6ZShDQ0VDQ3J5cHRvclJlZiBrZXkpOwotZXh0
ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JDcmVhdGVGcm9tRGF0YShzaXplX3Qg
a2V5U2l6ZSwgdWludDhfdCAqcVgsIHNpemVfdCBxWExlbmd0aCwgdWludDhfdCAqcVksIHNpemVf
dCBxWUxlbmd0aCwgQ0NFQ0NyeXB0b3JSZWYgKnJlZik7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0
YXR1cyBDQ0VDQ3J5cHRvckdldEtleUNvbXBvbmVudHMoQ0NFQ0NyeXB0b3JSZWYgZWNLZXksIHNp
emVfdCAqa2V5U2l6ZSwgdWludDhfdCAqcVgsIHNpemVfdCAqcVhMZW5ndGgsIHVpbnQ4X3QgKnFZ
LCBzaXplX3QgKnFZTGVuZ3RoLCB1aW50OF90ICpkLCBzaXplX3QgKmRMZW5ndGgpOwotZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JDb21wdXRlU2hhcmVkU2VjcmV0KENDRUND
cnlwdG9yUmVmIHByaXZhdGVLZXksIENDRUNDcnlwdG9yUmVmIHB1YmxpY0tleSwgdm9pZCAqb3V0
LCBzaXplX3QgKm91dExlbik7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRv
clNpZ25IYXNoKENDRUNDcnlwdG9yUmVmIHByaXZhdGVLZXksIGNvbnN0IHZvaWQgKmhhc2hUb1Np
Z24sIHNpemVfdCBoYXNoU2lnbkxlbiwgdm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90ICpzaWduZWRE
YXRhTGVuKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yVmVyaWZ5SGFz
aChDQ0VDQ3J5cHRvclJlZiBwdWJsaWNLZXksIGNvbnN0IHZvaWQgKmhhc2gsIHNpemVfdCBoYXNo
TGVuLCBjb25zdCB2b2lkICpzaWduZWREYXRhLCBzaXplX3Qgc2lnbmVkRGF0YUxlbiwgdWludDMy
X3QgKnZhbGlkKTsKLQotI2lmbmRlZiBDb21tb25DcnlwdG9fQ29tbW9uTmlzdEtleURlcml2YXRp
b25faAotZW51bSB7Ci0gICAga0NDS0RGQWxnb3JpdGhtSEtERiA9IDYKLX07Ci10eXBlZGVmIHVp
bnQzMl90IENDS0RGQWxnb3JpdGhtOwotI2VuZGlmCi0KLWV4dGVybiAiQyIgQ0NTdGF0dXMgQ0NL
ZXlEZXJpdmF0aW9uSE1hYyhDQ0tERkFsZ29yaXRobSBhbGdvcml0aG0sIENDRGlnZXN0QWxnb3Jp
dGhtIGRpZ2VzdCwgdW5zaWduZWQgcm91bmRzLCBjb25zdCB2b2lkICprZXlEZXJpdmF0aW9uS2V5
LCBzaXplX3Qga2V5RGVyaXZhdGlvbktleUxlbiwgY29uc3Qgdm9pZCAqbGFiZWwsIHNpemVfdCBs
YWJlbExlbiwgY29uc3Qgdm9pZCAqY29udGV4dCwgc2l6ZV90IGNvbnRleHRMZW4sIGNvbnN0IHZv
aWQgKml2LCBzaXplX3QgaXZMZW4sIGNvbnN0IHZvaWQgKnNhbHQsIHNpemVfdCBzYWx0TGVuLCB2
b2lkICpkZXJpdmVkS2V5LCBzaXplX3QgZGVyaXZlZEtleUxlbik7Ci0KLSNpZiAhVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDQ3J5cHRvckdDTShD
Q09wZXJhdGlvbiBvcCwgQ0NBbGdvcml0aG0gYWxnLCBjb25zdCB2b2lkKiBrZXksIHNpemVfdCBr
ZXlMZW5ndGgsIGNvbnN0IHZvaWQqIGl2LCBzaXplX3QgaXZMZW4sIGNvbnN0IHZvaWQqIGFEYXRh
LCBzaXplX3QgYURhdGFMZW4sIGNvbnN0IHZvaWQqIGRhdGFJbiwgc2l6ZV90IGRhdGFJbkxlbmd0
aCwgdm9pZCogZGF0YU91dCwgdm9pZCogdGFnLCBzaXplX3QqIHRhZ0xlbmd0aCk7Ci1leHRlcm4g
IkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JDcmVhdGVGcm9tRGF0YShDQ1JTQUtleVR5
cGUga2V5VHlwZSwgY29uc3QgdWludDhfdCAqbW9kdWx1cywgc2l6ZV90IG1vZHVsdXNMZW5ndGgs
IGNvbnN0IHVpbnQ4X3QgKmV4cG9uZW50LCBzaXplX3QgZXhwb25lbnRMZW5ndGgsIGNvbnN0IHVp
bnQ4X3QgKnAsIHNpemVfdCBwTGVuZ3RoLCBjb25zdCB1aW50OF90ICpxLCBzaXplX3QgcUxlbmd0
aCwgQ0NSU0FDcnlwdG9yUmVmICpyZWYpOwotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogI2lmICFIQVZFKENDUlNBR2V0Q1JUQ29tcG9uZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtSEtERk1hYy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUhLREZNYWMuY3BwCmluZGV4IDllOTY2Y2I3
NDRjMjdmMzIwMDAxZjFmNTJlZTRhNGY1ZmRkMmRlMmYuLjdiMGQyNTgwZmFmNGIyMjYyOTBjOGE0
NzEyZDE3NzA5ZjQ2Zjc1OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMv
Q3J5cHRvQWxnb3JpdGhtSEtERk1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21h
Yy9DcnlwdG9BbGdvcml0aG1IS0RGTWFjLmNwcApAQCAtNDAsOSArNDAsMTIgQEAgRXhjZXB0aW9u
T3I8VmVjdG9yPHVpbnQ4X3Q+PiBDcnlwdG9BbGdvcml0aG1IS0RGOjpwbGF0Zm9ybURlcml2ZUJp
dHMoY29uc3QgQ3J5cHQKICAgICBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RBbGdvcml0aG07CiAg
ICAgZ2V0Q29tbW9uQ3J5cHRvRGlnZXN0QWxnb3JpdGhtKHBhcmFtZXRlcnMuaGFzaElkZW50aWZp
ZXIsIGRpZ2VzdEFsZ29yaXRobSk7CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisj
cHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
cyIKICAgICAvLyA8cmRhcjovL3Byb2JsZW0vMzI0Mzk0NTU+IEN1cnJlbnRseSwgd2hlbiBrZXkg
ZGF0YSBpcyBlbXB0eSwgQ0NLZXlEZXJpdmF0aW9uSE1hYyB3aWxsIGJhaWwgb3V0LgogICAgIGlm
IChDQ0tleURlcml2YXRpb25ITWFjKGtDQ0tERkFsZ29yaXRobUhLREYsIGRpZ2VzdEFsZ29yaXRo
bSwgMCwga2V5LmtleSgpLmRhdGEoKSwga2V5LmtleSgpLnNpemUoKSwgMCwgMCwgcGFyYW1ldGVy
cy5pbmZvVmVjdG9yKCkuZGF0YSgpLCBwYXJhbWV0ZXJzLmluZm9WZWN0b3IoKS5zaXplKCksIDAs
IDAsIHBhcmFtZXRlcnMuc2FsdFZlY3RvcigpLmRhdGEoKSwgcGFyYW1ldGVycy5zYWx0VmVjdG9y
KCkuc2l6ZSgpLCByZXN1bHQuZGF0YSgpLCByZXN1bHQuc2l6ZSgpKSkKICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMg
cG9wCiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364732</attachid>
            <date>2019-03-14 17:38:38 -0700</date>
            <delta_ts>2019-03-14 19:48:14 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-195754-20190314173838.patch</filename>
            <type>text/plain</type>
            <size>21344</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDYxOGZhM2I3MTU1NWE3
ZDJhODM1OTA3OTBiNjg2ZjBmMmZkNDNmYS4uZmVhNDBjOGUyYWFiMjRhMGYxMmY4MGVmMjRiMTUz
NGRjM2I0YzBlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAzLTE0ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgQ29yZUNyeXB0
byBTUEkgZGVjbGFyYXRpb25zIHRvIGFuIGFwcHJvcHJpYXRlIFBBTC9zcGkgaGVhZGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NTQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NTkxOTU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEppZXdl
biBUYW4uCisKKyAgICAgICAgTW92ZSB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMgb2YgdmFyaW91
cyBDb3JlQ3J5cHRvIFNQSSB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlci4KKyAgICAg
ICAgVXBkYXRlIHRoZSBjb25zdCBjb3JyZWN0bmVzcyBvZiBvbmUgZnVuY3Rpb24gY2FsbCB0byBt
YXRjaCBuZXcgU0RLIGRlY2xhcmF0aW9uLgorCisgICAgICAgIE5vIHRlc3RzIGJlY2F1c2UgdGhl
cmUgYXJlIG5vIGNoYW5nZXMgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBjcnlwdG8vQ29tbW9u
Q3J5cHRvVXRpbGl0aWVzLmg6CisgICAgICAgICogY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1I
S0RGTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhLREY6OnBsYXRm
b3JtRGVyaXZlQml0cyk6CisKIDIwMTktMDMtMTQgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3Vo
YWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgU1ZHUHJvcGVydHkgdG8gU1ZHTGVn
YWN5UHJvcGVydHkgYW5kIHJlbmFtZSBTVkdBbmltYXRlZFByb3BlcnR5IHRvIFNWR0xlZ2FjeUFu
aW1hdGVkUHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDQ5MDBjMjY4Y2UxZWM2YTI5OGEx
Zjk0MDFkY2Y3YzE0MWY3NzRjZjEuLmYxYWQwODhjZmNmMmY3ZWJkNjkxZWJhODY5Nzg2ZjFkODQ4
YjRlNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAzLTE0ICBC
cmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgQ29yZUNy
eXB0byBTUEkgZGVjbGFyYXRpb25zIHRvIGFuIGFwcHJvcHJpYXRlIFBBTC9zcGkgaGVhZGVyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NTQKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NTkxOTU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEpp
ZXdlbiBUYW4uCisKKyAgICAgICAgTW92ZSB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMgb2YgdmFy
aW91cyBDb3JlQ3J5cHRvIFNQSSB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlci4KKyAg
ICAgICAgVXBkYXRlIHRoZSBjb25zdCBjb3JyZWN0bmVzcyBvZiBvbmUgZnVuY3Rpb24gY2FsbCB0
byBtYXRjaCBuZXcgU0RLIGRlY2xhcmF0aW9uLgorCisgICAgICAgIE5vIHRlc3RzIGJlY2F1c2Ug
dGhlcmUgYXJlIG5vIGNoYW5nZXMgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBQQUwueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0
b1NQSS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ29tbW9uQ3J5cHRvVXRp
bGl0aWVzLmguCisKIDIwMTktMDMtMTQgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0Mjk2My4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NDI4
MTBhODZhN2Y5OWEwZTNkNzEwMDRjMWQ1MzAzNzA0NzQ3NjM1Li40ODg0ZWQzMWUzYjRhNDFhNGYx
Zjk1NDAxOGVmZWMzOWJjMDAxY2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFM
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05OCw2ICs5OCw3IEBACiAJCTBDNzc4NUEwMUY0
NTEzMEYwMEY0RUJCNiAvKiBRdWlja0xvb2tNYWNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDNzc4NTg3MUY0NTEzMEYwMEY0RUJCNiAvKiBRdWlj
a0xvb2tNYWNTUEkuaCAqLzsgfTsKIAkJMEM3Nzg1QTExRjQ1MTMwRjAwRjRFQkI2IC8qIFRlbGVw
aG9ueVV0aWxpdGllc1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEM3Nzg1ODgxRjQ1MTMwRjAwRjRFQkI2IC8qIFRlbGVwaG9ueVV0aWxpdGllc1NQ
SS5oICovOyB9OwogCQkwQ0Y5OUNBNDFGNzM2Mzc1MDA3RUU3OTMgLyogTWVkaWFUaW1lQVZGb3Vu
ZGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBDMDBDRkQxMUY2OENFNDYwMEFBQzI2RCAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwICov
OyB9OworCQk3QTM2RDBGOTIyM0FEOUFCMDBCMDUyMkUgLyogQ29tbW9uQ3J5cHRvU1BJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTM2RDBGODIyM0FE
OUFCMDBCMDUyMkUgLyogQ29tbW9uQ3J5cHRvU1BJLmggKi87IH07CiAJCTBDRjk5Q0E4MUY3Mzg0
MzcwMDdFRTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGluay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQ0Y5OUNBNjFGNzM4NDM2MDA3RUU3OTMgLyogQ29y
ZU1lZGlhU29mdExpbmsuY3BwICovOyB9OwogCQkwQ0Y5OUNBOTFGNzM4NDM3MDA3RUU3OTMgLyog
Q29yZU1lZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBDRjk5Q0E3MUY3Mzg0MzcwMDdFRTc5MyAvKiBDb3JlTWVkaWFTb2Z0TGluay5o
ICovOyB9OwogCQkxQzA5RDA1MzFFMzFDNDQxMDA3MjVGMTggLyogQ3J5cHRvRGlnZXN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzA5RDA1MjFFMzFD
NDQxMDA3MjVGMTggLyogQ3J5cHRvRGlnZXN0LmggKi87IH07CkBAIC0xODEsNiArMTgyLDcgQEAK
IAkJMEMyREEwNjgxRjMzQ0E4NDAwREJDMzE3IC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRk5ldHdvcmtDb25uZWN0aW9u
Q2FjaGVTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEMyREEwNjkxRjMzQ0E4
NDAwREJDMzE3IC8qIENGTmV0d29ya1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDRk5ldHdvcmtTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEMyREEw
NkExRjMzQ0E4NDAwREJDMzE3IC8qIENGVXRpbGl0aWVzU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENGVXRpbGl0aWVzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTdBMzZEMEY4MjIzQUQ5QUIwMEIwNTIyRSAvKiBDb21tb25DcnlwdG9TUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tbW9uQ3J5cHRvU1BJLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDZCMUYzM0NBODQwMERCQzMxNyAvKiBDb3JlQXVk
aW9TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZUF1ZGlvU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDZDMUYzM0NBODQwMERCQzMxNyAv
KiBDb3JlTWVkaWFTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZU1l
ZGlhU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMTFDMUYzQkU5RTAw
MERCQzMxNyAvKiBDb3JlR3JhcGhpY3NTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ29yZUdyYXBoaWNzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0z
ODYsNiArMzg4LDcgQEAKIAkJCQkyRDAyRTkzQjIwNTZGQUE3MDBBMTM3OTcgLyogQXVkaW9Ub29s
Ym94U1BJLmggKi8sCiAJCQkJMEMyREExMjIxRjNCRUI0OTAwREJDMzE3IC8qIEFWS2l0U1BJLmgg
Ki8sCiAJCQkJMEMyREExMjMxRjNCRUI0OTAwREJDMzE3IC8qIENGTlNVUkxDb25uZWN0aW9uU1BJ
LmggKi8sCisJCQkJN0EzNkQwRjgyMjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5o
ICovLAogCQkJCTBDMkRBMTI0MUYzQkVCNDkwMERCQzMxNyAvKiBDb3JlVGV4dFNQSS5oICovLAog
CQkJCTBDMkRBMTI1MUYzQkVCNDkwMERCQzMxNyAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNQSS5oICov
LAogCQkJCUNFNTY3Mzg2MjE1MUE3QjkwMDJGOTJENyAvKiBJT0tpdFNQSS5oICovLApAQCAtNjc5
LDYgKzY4Miw3IEBACiAJCQkJMEMyREEwNzAxRjMzQ0E4NDAwREJDMzE3IC8qIENGVXRpbGl0aWVz
U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzVGRkYwQzFGNzhEOTkwMDA5RUZGMUEgLyogQ2xv
Y2suaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNUZGRjEwMUY3OEQ5REEwMDlFRkYxQSAvKiBDbG9j
a0NNLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QTM2RDBGOTIyM0FEOUFCMDBCMDUyMkUgLyogQ29t
bW9uQ3J5cHRvU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzA5RDA1ODFFMzFDNTdFMDA3MjVG
MTggLyogY29uZmlnLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTA3MTFGMzNDQTg0MDBEQkMz
MTcgLyogQ29yZUF1ZGlvU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTExRTFGM0JFOUUw
MDBEQkMzMTcgLyogQ29yZUdyYXBoaWNzU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29tbW9uQ3J5cHRvU1BJLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWMxYzQ1MDBiNmI3NjQwNzc3MjdkZDBhYjQzZmY0ODU1ZTdkMTIzNwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5o
CkBAIC0wLDAgKzEsMTI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMTAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxMzAwKQorI2RlZmluZSBIQVZFX0NDUlNBR2V0Q1JUQ29tcG9uZW50cyAx
CisjZW5kaWYKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29tbW9u
Q3J5cHRvL0NvbW1vbkNyeXB0b3JTUEkuaD4KKyNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9u
RUNDcnlwdG9yLmg+CisjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbktleURlcml2YXRpb25T
UEkuaD4KKyNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uUlNBQ3J5cHRvci5oPgorCisjaWYg
SEFWRShDQ1JTQUdldENSVENvbXBvbmVudHMpCisjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1v
blJTQUNyeXB0b3JTUEkuaD4KKyNlbmRpZgorCisjZWxzZQorCisjaWZuZGVmIF9DQ19SU0FDUllQ
VE9SX0hfCitlbnVtIHsKKyAgICBrQ0NEaWdlc3ROb25lID0gMCwKKyAgICBrQ0NEaWdlc3RTSEEx
ID0gOCwKKyAgICBrQ0NEaWdlc3RTSEEyMjQgPSA5LAorICAgIGtDQ0RpZ2VzdFNIQTI1NiA9IDEw
LAorICAgIGtDQ0RpZ2VzdFNIQTM4NCA9IDExLAorICAgIGtDQ0RpZ2VzdFNIQTUxMiA9IDEyLAor
fTsKK3R5cGVkZWYgdWludDMyX3QgQ0NEaWdlc3RBbGdvcml0aG07CisKK2VudW0geworICAgIGNj
UlNBS2V5UHVibGljID0gMCwKKyAgICBjY1JTQUtleVByaXZhdGUgPSAxCit9OwordHlwZWRlZiB1
aW50MzJfdCBDQ1JTQUtleVR5cGU7CisKK2VudW0geworICAgIGNjUEtDUzFQYWRkaW5nID0gMTAw
MSwKKyAgICBjY09BRVBQYWRkaW5nID0gMTAwMiwKKyAgICBjY1JTQVBTU1BhZGRpbmcgPSAxMDA1
Cit9OwordHlwZWRlZiB1aW50MzJfdCBDQ0FzeW1tZXRyaWNQYWRkaW5nOworI2VuZGlmCisKK3R5
cGVkZWYgc3RydWN0IF9DQ1JTQUNyeXB0b3IgKkNDUlNBQ3J5cHRvclJlZjsKK2V4dGVybiAiQyIg
Q0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckVuY3J5cHQoQ0NSU0FDcnlwdG9yUmVmIHB1Ymxp
Y0tleSwgQ0NBc3ltbWV0cmljUGFkZGluZyBwYWRkaW5nLCBjb25zdCB2b2lkICpwbGFpblRleHQs
IHNpemVfdCBwbGFpblRleHRMZW4sIHZvaWQgKmNpcGhlclRleHQsIHNpemVfdCAqY2lwaGVyVGV4
dExlbiwgY29uc3Qgdm9pZCAqdGFnRGF0YSwgc2l6ZV90IHRhZ0RhdGFMZW4sIENDRGlnZXN0QWxn
b3JpdGhtIGRpZ2VzdFR5cGUpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlw
dG9yRGVjcnlwdChDQ1JTQUNyeXB0b3JSZWYgcHJpdmF0ZUtleSwgQ0NBc3ltbWV0cmljUGFkZGlu
ZyBwYWRkaW5nLCBjb25zdCB2b2lkICpjaXBoZXJUZXh0LCBzaXplX3QgY2lwaGVyVGV4dExlbiwg
dm9pZCAqcGxhaW5UZXh0LCBzaXplX3QgKnBsYWluVGV4dExlbiwgY29uc3Qgdm9pZCAqdGFnRGF0
YSwgc2l6ZV90IHRhZ0RhdGFMZW4sIENDRGlnZXN0QWxnb3JpdGhtIGRpZ2VzdFR5cGUpOworZXh0
ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yU2lnbihDQ1JTQUNyeXB0b3JSZWYg
cHJpdmF0ZUtleSwgQ0NBc3ltbWV0cmljUGFkZGluZyBwYWRkaW5nLCBjb25zdCB2b2lkICpoYXNo
VG9TaWduLCBzaXplX3QgaGFzaFNpZ25MZW4sIENDRGlnZXN0QWxnb3JpdGhtIGRpZ2VzdFR5cGUs
IHNpemVfdCBzYWx0TGVuLCB2b2lkICpzaWduZWREYXRhLCBzaXplX3QgKnNpZ25lZERhdGFMZW4p
OworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yVmVyaWZ5KENDUlNBQ3J5
cHRvclJlZiBwdWJsaWNLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qgdm9p
ZCAqaGFzaCwgc2l6ZV90IGhhc2hMZW4sIENDRGlnZXN0QWxnb3JpdGhtIGRpZ2VzdFR5cGUsIHNp
emVfdCBzYWx0TGVuLCBjb25zdCB2b2lkICpzaWduZWREYXRhLCBzaXplX3Qgc2lnbmVkRGF0YUxl
bik7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JHZW5lcmF0ZVBhaXIo
c2l6ZV90IGtleXNpemUsIHVpbnQzMl90IGUsIENDUlNBQ3J5cHRvclJlZiAqcHVibGljS2V5LCBD
Q1JTQUNyeXB0b3JSZWYgKnByaXZhdGVLZXkpOworZXh0ZXJuICJDIiBDQ1JTQUNyeXB0b3JSZWYg
Q0NSU0FDcnlwdG9yR2V0UHVibGljS2V5RnJvbVByaXZhdGVLZXkoQ0NSU0FDcnlwdG9yUmVmIHBy
aXZrZXkpOworZXh0ZXJuICJDIiB2b2lkIENDUlNBQ3J5cHRvclJlbGVhc2UoQ0NSU0FDcnlwdG9y
UmVmIGtleSk7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUdldEtleUNvbXBvbmVu
dHMoQ0NSU0FDcnlwdG9yUmVmIHJzYUtleSwgdWludDhfdCAqbW9kdWx1cywgc2l6ZV90ICptb2R1
bHVzTGVuZ3RoLCB1aW50OF90ICpleHBvbmVudCwgc2l6ZV90ICpleHBvbmVudExlbmd0aCwgdWlu
dDhfdCAqcCwgc2l6ZV90ICpwTGVuZ3RoLCB1aW50OF90ICpxLCBzaXplX3QgKnFMZW5ndGgpOwor
ZXh0ZXJuICJDIiBDQ1JTQUtleVR5cGUgQ0NSU0FHZXRLZXlUeXBlKENDUlNBQ3J5cHRvclJlZiBr
ZXkpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9ySW1wb3J0KGNvbnN0
IHZvaWQgKmtleVBhY2thZ2UsIHNpemVfdCBrZXlQYWNrYWdlTGVuLCBDQ1JTQUNyeXB0b3JSZWYg
KmtleSk7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JFeHBvcnQoQ0NS
U0FDcnlwdG9yUmVmIGtleSwgdm9pZCAqb3V0LCBzaXplX3QgKm91dExlbik7CisKKyNpZiBIQVZF
KENDUlNBR2V0Q1JUQ29tcG9uZW50cykKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNB
R2V0Q1JUQ29tcG9uZW50c1NpemVzKENDUlNBQ3J5cHRvclJlZiByc2FLZXksIHNpemVfdCAqZHBT
aXplLCBzaXplX3QgKmRxU2l6ZSwgc2l6ZV90ICpxaW52U2l6ZSk7CitleHRlcm4gIkMiIENDQ3J5
cHRvclN0YXR1cyBDQ1JTQUdldENSVENvbXBvbmVudHMoQ0NSU0FDcnlwdG9yUmVmIHJzYUtleSwg
dm9pZCAqZHAsIHNpemVfdCBkcFNpemUsIHZvaWQgKmRxLCBzaXplX3QgZHFTaXplLCB2b2lkICpx
aW52LCBzaXplX3QgcWludlNpemUpOworI2VuZGlmCisKKyNpZm5kZWYgX0NDX0VDQ1JZUFRPUl9I
XworZW51bSB7CisgICAgY2NFQ0tleVB1YmxpYyA9IDAsCisgICAgY2NFQ0tleVByaXZhdGUgPSAx
LAorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0NFQ0tleVR5cGU7CisKK2VudW0geworICAgIGtDQ0lt
cG9ydEtleUJpbmFyeSA9IDAsCit9OwordHlwZWRlZiB1aW50MzJfdCBDQ0VDS2V5RXh0ZXJuYWxG
b3JtYXQ7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3QgX0NDRUNDcnlwdG9yICpDQ0VDQ3J5cHRv
clJlZjsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yR2VuZXJhdGVQYWly
KHNpemVfdCBrZXlzaXplLCBDQ0VDQ3J5cHRvclJlZiAqcHVibGljS2V5LCBDQ0VDQ3J5cHRvclJl
ZiAqcHJpdmF0ZUtleSk7CitleHRlcm4gIkMiIHZvaWQgQ0NFQ0NyeXB0b3JSZWxlYXNlKENDRUND
cnlwdG9yUmVmIGtleSk7CisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApCitleHRlcm4gIkMiIENDQ3J5
cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckltcG9ydEtleShDQ0VDS2V5RXh0ZXJuYWxGb3JtYXQgZm9y
bWF0LCBjb25zdCB2b2lkICprZXlQYWNrYWdlLCBzaXplX3Qga2V5UGFja2FnZUxlbiwgQ0NFQ0tl
eVR5cGUga2V5VHlwZSwgQ0NFQ0NyeXB0b3JSZWYgKmtleSk7CisjZWxzZQorZXh0ZXJuICJDIiBD
Q0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JJbXBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0
IGZvcm1hdCwgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90IGtleVBhY2thZ2VMZW4sIENDRUNLZXlU
eXBlIGtleVR5cGUsIENDRUNDcnlwdG9yUmVmICprZXkpOworI2VuZGlmCitleHRlcm4gIkMiIEND
Q3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckV4cG9ydEtleShDQ0VDS2V5RXh0ZXJuYWxGb3JtYXQg
Zm9ybWF0LCB2b2lkICprZXlQYWNrYWdlLCBzaXplX3QgKmtleVBhY2thZ2VMZW4sIENDRUNLZXlU
eXBlIGtleVR5cGUsIENDRUNDcnlwdG9yUmVmIGtleSk7CitleHRlcm4gIkMiIGludCBDQ0VDR2V0
S2V5U2l6ZShDQ0VDQ3J5cHRvclJlZiBrZXkpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMg
Q0NFQ0NyeXB0b3JDcmVhdGVGcm9tRGF0YShzaXplX3Qga2V5U2l6ZSwgdWludDhfdCAqcVgsIHNp
emVfdCBxWExlbmd0aCwgdWludDhfdCAqcVksIHNpemVfdCBxWUxlbmd0aCwgQ0NFQ0NyeXB0b3JS
ZWYgKnJlZik7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckdldEtleUNv
bXBvbmVudHMoQ0NFQ0NyeXB0b3JSZWYgZWNLZXksIHNpemVfdCAqa2V5U2l6ZSwgdWludDhfdCAq
cVgsIHNpemVfdCAqcVhMZW5ndGgsIHVpbnQ4X3QgKnFZLCBzaXplX3QgKnFZTGVuZ3RoLCB1aW50
OF90ICpkLCBzaXplX3QgKmRMZW5ndGgpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NF
Q0NyeXB0b3JDb21wdXRlU2hhcmVkU2VjcmV0KENDRUNDcnlwdG9yUmVmIHByaXZhdGVLZXksIEND
RUNDcnlwdG9yUmVmIHB1YmxpY0tleSwgdm9pZCAqb3V0LCBzaXplX3QgKm91dExlbik7CitleHRl
cm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvclNpZ25IYXNoKENDRUNDcnlwdG9yUmVm
IHByaXZhdGVLZXksIGNvbnN0IHZvaWQgKmhhc2hUb1NpZ24sIHNpemVfdCBoYXNoU2lnbkxlbiwg
dm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90ICpzaWduZWREYXRhTGVuKTsKK2V4dGVybiAiQyIgQ0ND
cnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yVmVyaWZ5SGFzaChDQ0VDQ3J5cHRvclJlZiBwdWJsaWNL
ZXksIGNvbnN0IHZvaWQgKmhhc2gsIHNpemVfdCBoYXNoTGVuLCBjb25zdCB2b2lkICpzaWduZWRE
YXRhLCBzaXplX3Qgc2lnbmVkRGF0YUxlbiwgdWludDMyX3QgKnZhbGlkKTsKKworI2lmbmRlZiBD
b21tb25DcnlwdG9fQ29tbW9uTmlzdEtleURlcml2YXRpb25faAorZW51bSB7CisgICAga0NDS0RG
QWxnb3JpdGhtSEtERiA9IDYKK307Cit0eXBlZGVmIHVpbnQzMl90IENDS0RGQWxnb3JpdGhtOwor
I2VuZGlmCisKK2V4dGVybiAiQyIgQ0NTdGF0dXMgQ0NLZXlEZXJpdmF0aW9uSE1hYyhDQ0tERkFs
Z29yaXRobSBhbGdvcml0aG0sIENDRGlnZXN0QWxnb3JpdGhtIGRpZ2VzdCwgdW5zaWduZWQgcm91
bmRzLCBjb25zdCB2b2lkICprZXlEZXJpdmF0aW9uS2V5LCBzaXplX3Qga2V5RGVyaXZhdGlvbktl
eUxlbiwgY29uc3Qgdm9pZCAqbGFiZWwsIHNpemVfdCBsYWJlbExlbiwgY29uc3Qgdm9pZCAqY29u
dGV4dCwgc2l6ZV90IGNvbnRleHRMZW4sIGNvbnN0IHZvaWQgKml2LCBzaXplX3QgaXZMZW4sIGNv
bnN0IHZvaWQgKnNhbHQsIHNpemVfdCBzYWx0TGVuLCB2b2lkICpkZXJpdmVkS2V5LCBzaXplX3Qg
ZGVyaXZlZEtleUxlbik7CisKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDQ3J5cHRvckdD
TShDQ09wZXJhdGlvbiBvcCwgQ0NBbGdvcml0aG0gYWxnLCBjb25zdCB2b2lkKiBrZXksIHNpemVf
dCBrZXlMZW5ndGgsIGNvbnN0IHZvaWQqIGl2LCBzaXplX3QgaXZMZW4sIGNvbnN0IHZvaWQqIGFE
YXRhLCBzaXplX3QgYURhdGFMZW4sIGNvbnN0IHZvaWQqIGRhdGFJbiwgc2l6ZV90IGRhdGFJbkxl
bmd0aCwgdm9pZCogZGF0YU91dCwgdm9pZCogdGFnLCBzaXplX3QqIHRhZ0xlbmd0aCk7CitleHRl
cm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JDcmVhdGVGcm9tRGF0YShDQ1JTQUtl
eVR5cGUga2V5VHlwZSwgY29uc3QgdWludDhfdCAqbW9kdWx1cywgc2l6ZV90IG1vZHVsdXNMZW5n
dGgsIGNvbnN0IHVpbnQ4X3QgKmV4cG9uZW50LCBzaXplX3QgZXhwb25lbnRMZW5ndGgsIGNvbnN0
IHVpbnQ4X3QgKnAsIHNpemVfdCBwTGVuZ3RoLCBjb25zdCB1aW50OF90ICpxLCBzaXplX3QgcUxl
bmd0aCwgQ0NSU0FDcnlwdG9yUmVmICpyZWYpOworCisjZW5kaWYgLy8gIVVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ29tbW9uQ3J5cHRv
VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ29tbW9uQ3J5cHRvVXRpbGl0aWVz
LmgKaW5kZXggNWMwMGE2ODIwYjY1YjllMTJhNWExZWQ2MjZmZDc4ZThlM2FlYTVhMy4uMjlhOTI2
NzIxMmNlYjZjZjNlOGZlZjI4YWZjMmE3NGExYTdjNDI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9Db21tb25DcnlwdG9VdGlsaXRpZXMuaApAQCAtMjUsMTE3ICsyNSwyMCBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2lmIChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKQotI2RlZmluZSBIQVZFX0NDUlNB
R2V0Q1JUQ29tcG9uZW50cyAxCi0jZW5kaWYKLQogI2lmIEVOQUJMRShXRUJfQ1JZUFRPKQogCiAj
aW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllci5oIgogI2luY2x1ZGUgPENvbW1vbkNy
eXB0by9Db21tb25DcnlwdG9yLmg+CiAjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vblJhbmRv
bS5oPgorI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvQ29tbW9uQ3J5cHRvU1BJLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRl
IDxDb21tb25DcnlwdG8vQ29tbW9uQ3J5cHRvclNQSS5oPgotI2luY2x1ZGUgPENvbW1vbkNyeXB0
by9Db21tb25FQ0NyeXB0b3IuaD4KLS8vIEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vMzE1MDg5NTk+
Ci0vLyAjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbktleURlcml2YXRpb25TUEkuaD4KLSNp
bmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uUlNBQ3J5cHRvci5oPgotI2VuZGlmCi0KLSNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBIQVZFKENDUlNBR2V0Q1JUQ29tcG9uZW50cykKLSNp
bmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uUlNBQ3J5cHRvclNQSS5oPgotI2VuZGlmCi0KLSNp
Zm5kZWYgX0NDX1JTQUNSWVBUT1JfSF8KLWVudW0gewotICAgIGtDQ0RpZ2VzdE5vbmUgPSAwLAot
ICAgIGtDQ0RpZ2VzdFNIQTEgPSA4LAotICAgIGtDQ0RpZ2VzdFNIQTIyNCA9IDksCi0gICAga0ND
RGlnZXN0U0hBMjU2ID0gMTAsCi0gICAga0NDRGlnZXN0U0hBMzg0ID0gMTEsCi0gICAga0NDRGln
ZXN0U0hBNTEyID0gMTIsCi19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0RpZ2VzdEFsZ29yaXRobTsK
LQotZW51bSB7Ci0gICAgY2NSU0FLZXlQdWJsaWMgPSAwLAotICAgIGNjUlNBS2V5UHJpdmF0ZSA9
IDEKLX07Ci10eXBlZGVmIHVpbnQzMl90IENDUlNBS2V5VHlwZTsKLQotZW51bSB7Ci0gICAgY2NQ
S0NTMVBhZGRpbmcgPSAxMDAxLAotICAgIGNjT0FFUFBhZGRpbmcgPSAxMDAyLAotICAgIGNjUlNB
UFNTUGFkZGluZyA9IDEwMDUKLX07Ci10eXBlZGVmIHVpbnQzMl90IENDQXN5bW1ldHJpY1BhZGRp
bmc7Ci0jZW5kaWYKLQotdHlwZWRlZiBzdHJ1Y3QgX0NDQmlnTnVtUmVmICpDQ0JpZ051bVJlZjsK
LQotdHlwZWRlZiBzdHJ1Y3QgX0NDUlNBQ3J5cHRvciAqQ0NSU0FDcnlwdG9yUmVmOwotZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yRW5jcnlwdChDQ1JTQUNyeXB0b3JSZWYg
cHVibGljS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKnBsYWlu
VGV4dCwgc2l6ZV90IHBsYWluVGV4dExlbiwgdm9pZCAqY2lwaGVyVGV4dCwgc2l6ZV90ICpjaXBo
ZXJUZXh0TGVuLCBjb25zdCB2b2lkICp0YWdEYXRhLCBzaXplX3QgdGFnRGF0YUxlbiwgQ0NEaWdl
c3RBbGdvcml0aG0gZGlnZXN0VHlwZSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JT
QUNyeXB0b3JEZWNyeXB0KENDUlNBQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0FzeW1tZXRyaWNQ
YWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKmNpcGhlclRleHQsIHNpemVfdCBjaXBoZXJUZXh0
TGVuLCB2b2lkICpwbGFpblRleHQsIHNpemVfdCAqcGxhaW5UZXh0TGVuLCBjb25zdCB2b2lkICp0
YWdEYXRhLCBzaXplX3QgdGFnRGF0YUxlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0VHlwZSk7
Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JTaWduKENDUlNBQ3J5cHRv
clJlZiBwcml2YXRlS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQg
Kmhhc2hUb1NpZ24sIHNpemVfdCBoYXNoU2lnbkxlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0
VHlwZSwgc2l6ZV90IHNhbHRMZW4sIHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCAqc2lnbmVkRGF0
YUxlbik7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JWZXJpZnkoQ0NS
U0FDcnlwdG9yUmVmIHB1YmxpY0tleSwgQ0NBc3ltbWV0cmljUGFkZGluZyBwYWRkaW5nLCBjb25z
dCB2b2lkICpoYXNoLCBzaXplX3QgaGFzaExlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0VHlw
ZSwgc2l6ZV90IHNhbHRMZW4sIGNvbnN0IHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCBzaWduZWRE
YXRhTGVuKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckdlbmVyYXRl
UGFpcihzaXplX3Qga2V5c2l6ZSwgdWludDMyX3QgZSwgQ0NSU0FDcnlwdG9yUmVmICpwdWJsaWNL
ZXksIENDUlNBQ3J5cHRvclJlZiAqcHJpdmF0ZUtleSk7Ci1leHRlcm4gIkMiIENDUlNBQ3J5cHRv
clJlZiBDQ1JTQUNyeXB0b3JHZXRQdWJsaWNLZXlGcm9tUHJpdmF0ZUtleShDQ1JTQUNyeXB0b3JS
ZWYgcHJpdmtleSk7Ci1leHRlcm4gIkMiIHZvaWQgQ0NSU0FDcnlwdG9yUmVsZWFzZShDQ1JTQUNy
eXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBR2V0S2V5Q29t
cG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCB1aW50OF90ICptb2R1bHVzLCBzaXplX3Qg
Km1vZHVsdXNMZW5ndGgsIHVpbnQ4X3QgKmV4cG9uZW50LCBzaXplX3QgKmV4cG9uZW50TGVuZ3Ro
LCB1aW50OF90ICpwLCBzaXplX3QgKnBMZW5ndGgsIHVpbnQ4X3QgKnEsIHNpemVfdCAqcUxlbmd0
aCk7Ci1leHRlcm4gIkMiIENDUlNBS2V5VHlwZSBDQ1JTQUdldEtleVR5cGUoQ0NSU0FDcnlwdG9y
UmVmIGtleSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JJbXBvcnQo
Y29uc3Qgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90IGtleVBhY2thZ2VMZW4sIENDUlNBQ3J5cHRv
clJlZiAqa2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckV4cG9y
dChDQ1JTQUNyeXB0b3JSZWYga2V5LCB2b2lkICpvdXQsIHNpemVfdCAqb3V0TGVuKTsKLQotI2lm
IEhBVkUoQ0NSU0FHZXRDUlRDb21wb25lbnRzKQotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMg
Q0NSU0FHZXRDUlRDb21wb25lbnRzU2l6ZXMoQ0NSU0FDcnlwdG9yUmVmIHJzYUtleSwgc2l6ZV90
ICpkcFNpemUsIHNpemVfdCAqZHFTaXplLCBzaXplX3QgKnFpbnZTaXplKTsKLWV4dGVybiAiQyIg
Q0NDcnlwdG9yU3RhdHVzIENDUlNBR2V0Q1JUQ29tcG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYgcnNh
S2V5LCB2b2lkICpkcCwgc2l6ZV90IGRwU2l6ZSwgdm9pZCAqZHEsIHNpemVfdCBkcVNpemUsIHZv
aWQgKnFpbnYsIHNpemVfdCBxaW52U2l6ZSk7Ci0jZW5kaWYKLQotI2lmbmRlZiBfQ0NfRUNDUllQ
VE9SX0hfCi1lbnVtIHsKLSAgICBjY0VDS2V5UHVibGljID0gMCwKLSAgICBjY0VDS2V5UHJpdmF0
ZSA9IDEsCi19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0VDS2V5VHlwZTsKLQotZW51bSB7Ci0gICAg
a0NDSW1wb3J0S2V5QmluYXJ5ID0gMCwKLX07Ci10eXBlZGVmIHVpbnQzMl90IENDRUNLZXlFeHRl
cm5hbEZvcm1hdDsKLSNlbmRpZgotCi10eXBlZGVmIHN0cnVjdCBfQ0NFQ0NyeXB0b3IgKkNDRUND
cnlwdG9yUmVmOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JHZW5lcmF0
ZVBhaXIoc2l6ZV90IGtleXNpemUsIENDRUNDcnlwdG9yUmVmICpwdWJsaWNLZXksIENDRUNDcnlw
dG9yUmVmICpwcml2YXRlS2V5KTsKLWV4dGVybiAiQyIgdm9pZCBDQ0VDQ3J5cHRvclJlbGVhc2Uo
Q0NFQ0NyeXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlw
dG9ySW1wb3J0S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtleVBhY2th
Z2UsIHNpemVfdCBrZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBDQ0VDQ3J5cHRv
clJlZiAqa2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yRXhwb3J0
S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtleVBhY2thZ2UsIHNpemVf
dCAqa2V5UGFja2FnZUxlbiwgQ0NFQ0tleVR5cGUga2V5VHlwZSwgQ0NFQ0NyeXB0b3JSZWYga2V5
KTsKLWV4dGVybiAiQyIgaW50IENDRUNHZXRLZXlTaXplKENDRUNDcnlwdG9yUmVmIGtleSk7Ci1l
eHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNyZWF0ZUZyb21EYXRhKHNpemVf
dCBrZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90IHFYTGVuZ3RoLCB1aW50OF90ICpxWSwgc2l6
ZV90IHFZTGVuZ3RoLCBDQ0VDQ3J5cHRvclJlZiAqcmVmKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9y
U3RhdHVzIENDRUNDcnlwdG9yR2V0S2V5Q29tcG9uZW50cyhDQ0VDQ3J5cHRvclJlZiBlY0tleSwg
c2l6ZV90ICprZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90ICpxWExlbmd0aCwgdWludDhfdCAq
cVksIHNpemVfdCAqcVlMZW5ndGgsIHVpbnQ4X3QgKmQsIHNpemVfdCAqZExlbmd0aCk7Ci1leHRl
cm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNvbXB1dGVTaGFyZWRTZWNyZXQoQ0NF
Q0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5LCB2b2lkICpv
dXQsIHNpemVfdCAqb3V0TGVuKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlw
dG9yU2lnbkhhc2goQ0NFQ0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgY29uc3Qgdm9pZCAqaGFzaFRv
U2lnbiwgc2l6ZV90IGhhc2hTaWduTGVuLCB2b2lkICpzaWduZWREYXRhLCBzaXplX3QgKnNpZ25l
ZERhdGFMZW4pOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JWZXJpZnlI
YXNoKENDRUNDcnlwdG9yUmVmIHB1YmxpY0tleSwgY29uc3Qgdm9pZCAqaGFzaCwgc2l6ZV90IGhh
c2hMZW4sIGNvbnN0IHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCBzaWduZWREYXRhTGVuLCB1aW50
MzJfdCAqdmFsaWQpOwotCi0jaWZuZGVmIENvbW1vbkNyeXB0b19Db21tb25OaXN0S2V5RGVyaXZh
dGlvbl9oCi1lbnVtIHsKLSAgICBrQ0NLREZBbGdvcml0aG1IS0RGID0gNgotfTsKLXR5cGVkZWYg
dWludDMyX3QgQ0NLREZBbGdvcml0aG07Ci0jZW5kaWYKLQotZXh0ZXJuICJDIiBDQ1N0YXR1cyBD
Q0tleURlcml2YXRpb25ITWFjKENDS0RGQWxnb3JpdGhtIGFsZ29yaXRobSwgQ0NEaWdlc3RBbGdv
cml0aG0gZGlnZXN0LCB1bnNpZ25lZCByb3VuZHMsIGNvbnN0IHZvaWQgKmtleURlcml2YXRpb25L
ZXksIHNpemVfdCBrZXlEZXJpdmF0aW9uS2V5TGVuLCBjb25zdCB2b2lkICpsYWJlbCwgc2l6ZV90
IGxhYmVsTGVuLCBjb25zdCB2b2lkICpjb250ZXh0LCBzaXplX3QgY29udGV4dExlbiwgY29uc3Qg
dm9pZCAqaXYsIHNpemVfdCBpdkxlbiwgY29uc3Qgdm9pZCAqc2FsdCwgc2l6ZV90IHNhbHRMZW4s
IHZvaWQgKmRlcml2ZWRLZXksIHNpemVfdCBkZXJpdmVkS2V5TGVuKTsKLQotI2lmICFVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NDcnlwdG9yR0NN
KENDT3BlcmF0aW9uIG9wLCBDQ0FsZ29yaXRobSBhbGcsIGNvbnN0IHZvaWQqIGtleSwgc2l6ZV90
IGtleUxlbmd0aCwgY29uc3Qgdm9pZCogaXYsIHNpemVfdCBpdkxlbiwgY29uc3Qgdm9pZCogYURh
dGEsIHNpemVfdCBhRGF0YUxlbiwgY29uc3Qgdm9pZCogZGF0YUluLCBzaXplX3QgZGF0YUluTGVu
Z3RoLCB2b2lkKiBkYXRhT3V0LCB2b2lkKiB0YWcsIHNpemVfdCogdGFnTGVuZ3RoKTsKLWV4dGVy
biAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckNyZWF0ZUZyb21EYXRhKENDUlNBS2V5
VHlwZSBrZXlUeXBlLCBjb25zdCB1aW50OF90ICptb2R1bHVzLCBzaXplX3QgbW9kdWx1c0xlbmd0
aCwgY29uc3QgdWludDhfdCAqZXhwb25lbnQsIHNpemVfdCBleHBvbmVudExlbmd0aCwgY29uc3Qg
dWludDhfdCAqcCwgc2l6ZV90IHBMZW5ndGgsIGNvbnN0IHVpbnQ4X3QgKnEsIHNpemVfdCBxTGVu
Z3RoLCBDQ1JTQUNyeXB0b3JSZWYgKnJlZik7Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAjaWYgIUhBVkUoQ0NSU0FHZXRDUlRDb21wb25lbnRzKQogCit0eXBlZGVmIHN0cnVjdCBf
Q0NCaWdOdW1SZWYgKkNDQmlnTnVtUmVmOworCiAvLyBPbmx5IG5lZWQgQ0NCaWdOdW0gZm9yIHRo
ZSBjb2RlIHVzZWQgd2hlbiB3ZSBkb24ndCBoYXZlIENDUlNBR2V0Q1JUQ29tcG9uZW50cy4KIGNs
YXNzIENDQmlnTnVtIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9tYWMvQ3J5cHRvQWxnb3JpdGhtSEtERk1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
bWFjL0NyeXB0b0FsZ29yaXRobUhLREZNYWMuY3BwCmluZGV4IDllOTY2Y2I3NDRjMjdmMzIwMDAx
ZjFmNTJlZTRhNGY1ZmRkMmRlMmYuLjdiMGQyNTgwZmFmNGIyMjYyOTBjOGE0NzEyZDE3NzA5ZjQ2
Zjc1OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3Jp
dGhtSEtERk1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdv
cml0aG1IS0RGTWFjLmNwcApAQCAtNDAsOSArNDAsMTIgQEAgRXhjZXB0aW9uT3I8VmVjdG9yPHVp
bnQ4X3Q+PiBDcnlwdG9BbGdvcml0aG1IS0RGOjpwbGF0Zm9ybURlcml2ZUJpdHMoY29uc3QgQ3J5
cHQKICAgICBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RBbGdvcml0aG07CiAgICAgZ2V0Q29tbW9u
Q3J5cHRvRGlnZXN0QWxnb3JpdGhtKHBhcmFtZXRlcnMuaGFzaElkZW50aWZpZXIsIGRpZ2VzdEFs
Z29yaXRobSk7CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAgICAvLyA8
cmRhcjovL3Byb2JsZW0vMzI0Mzk0NTU+IEN1cnJlbnRseSwgd2hlbiBrZXkgZGF0YSBpcyBlbXB0
eSwgQ0NLZXlEZXJpdmF0aW9uSE1hYyB3aWxsIGJhaWwgb3V0LgogICAgIGlmIChDQ0tleURlcml2
YXRpb25ITWFjKGtDQ0tERkFsZ29yaXRobUhLREYsIGRpZ2VzdEFsZ29yaXRobSwgMCwga2V5Lmtl
eSgpLmRhdGEoKSwga2V5LmtleSgpLnNpemUoKSwgMCwgMCwgcGFyYW1ldGVycy5pbmZvVmVjdG9y
KCkuZGF0YSgpLCBwYXJhbWV0ZXJzLmluZm9WZWN0b3IoKS5zaXplKCksIDAsIDAsIHBhcmFtZXRl
cnMuc2FsdFZlY3RvcigpLmRhdGEoKSwgcGFyYW1ldGVycy5zYWx0VmVjdG9yKCkuc2l6ZSgpLCBy
ZXN1bHQuZGF0YSgpLCByZXN1bHQuc2l6ZSgpKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IE9wZXJhdGlvbkVycm9yIH07CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiAgICAgcmV0
dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364760</attachid>
            <date>2019-03-14 19:48:20 -0700</date>
            <delta_ts>2019-03-14 20:04:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-195754-20190314194819.patch</filename>
            <type>text/plain</type>
            <size>21332</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgxMDc5MzliNGNjNzAw
NzNhZThkN2FhOTExMWFlOGVmZDY4ZTdlNy4uMTI0ZDEyYjQ5NDQwNDE0ODE5MTUwYmZiMzk2ODZi
NDZiNTY2YTA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAzLTE0ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgQ29yZUNyeXB0
byBTUEkgZGVjbGFyYXRpb25zIHRvIGFuIGFwcHJvcHJpYXRlIFBBTC9zcGkgaGVhZGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NTQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NTkxOTU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEppZXdl
biBUYW4uCisKKyAgICAgICAgTW92ZSB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMgb2YgdmFyaW91
cyBDb3JlQ3J5cHRvIFNQSSB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlci4KKyAgICAg
ICAgVXBkYXRlIHRoZSBjb25zdCBjb3JyZWN0bmVzcyBvZiBvbmUgZnVuY3Rpb24gY2FsbCB0byBt
YXRjaCBuZXcgU0RLIGRlY2xhcmF0aW9uLgorCisgICAgICAgIE5vIHRlc3RzIGJlY2F1c2UgdGhl
cmUgYXJlIG5vIGNoYW5nZXMgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBjcnlwdG8vQ29tbW9u
Q3J5cHRvVXRpbGl0aWVzLmg6CisgICAgICAgICogY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1I
S0RGTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhLREY6OnBsYXRm
b3JtRGVyaXZlQml0cyk6CisKIDIwMTktMDMtMTQgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW5kZXhlZERCOiByZS1lbmFibGUgc29tZSBsZWFrIHRlc3RzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwppbmRleCAwMDA5ZTA4ODI0YmIwYjRhMGRkZmJkNmUxZWRlMDc1ZmZmMzdk
NDYzLi4wNDZkOGJiZjY0ODA3MDAyY2Q1NGM3NTlkODE4YzU4MzQwMDIyZTQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMy0xNCAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIENvcmVDcnlwdG8gU1BJIGRlY2xhcmF0
aW9ucyB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzU0CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80ODU5MTk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBKaWV3ZW4gVGFuLgorCisgICAg
ICAgIE1vdmUgdGhlIGZvcndhcmQgZGVjbGFyYXRpb25zIG9mIHZhcmlvdXMgQ29yZUNyeXB0byBT
UEkgdG8gYW4gYXBwcm9wcmlhdGUgUEFML3NwaSBoZWFkZXIuCisgICAgICAgIFVwZGF0ZSB0aGUg
Y29uc3QgY29ycmVjdG5lc3Mgb2Ygb25lIGZ1bmN0aW9uIGNhbGwgdG8gbWF0Y2ggbmV3IFNESyBk
ZWNsYXJhdGlvbi4KKworICAgICAgICBObyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGFyZSBubyBjaGFu
Z2VzIGluIGJlaGF2aW9yLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5oLgorCiAyMDE5
LTAzLTE0ICBTaGF3biBSb2JlcnRzICA8c3JvYmVydHNAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDI5ODEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTQyODEwYTg2YTdmOTlhMGUzZDcx
MDA0YzFkNTMwMzcwNDc0NzYzNS4uNDg4NGVkMzFlM2I0YTQxYTRmMWY5NTQwMThlZmVjMzliYzAw
MWNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtOTgsNiArOTgsNyBAQAogCQkwQzc3ODVBMDFGNDUxMzBGMDBGNEVCQjYgLyog
UXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwQzc3ODU4NzFGNDUxMzBGMDBGNEVCQjYgLyogUXVpY2tMb29rTWFjU1BJLmggKi87
IH07CiAJCTBDNzc4NUExMUY0NTEzMEYwMEY0RUJCNiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDNzc4NTg4
MUY0NTEzMEYwMEY0RUJCNiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEkuaCAqLzsgfTsKIAkJMENG
OTlDQTQxRjczNjM3NTAwN0VFNzkzIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzAwQ0ZEMTFGNjhDRTQ2
MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCAqLzsgfTsKKwkJN0EzNkQwRjky
MjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzNkQwRjgyMjNBRDlBQjAwQjA1MjJFIC8qIENv
bW1vbkNyeXB0b1NQSS5oICovOyB9OwogCQkwQ0Y5OUNBODFGNzM4NDM3MDA3RUU3OTMgLyogQ29y
ZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMENGOTlDQTYxRjczODQzNjAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNw
cCAqLzsgfTsKIAkJMENGOTlDQTkxRjczODQzNzAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5r
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQ0Y5OUNB
NzFGNzM4NDM3MDA3RUU3OTMgLyogQ29yZU1lZGlhU29mdExpbmsuaCAqLzsgfTsKIAkJMUMwOUQw
NTMxRTMxQzQ0MTAwNzI1RjE4IC8qIENyeXB0b0RpZ2VzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwOUQwNTIxRTMxQzQ0MTAwNzI1RjE4IC8qIENy
eXB0b0RpZ2VzdC5oICovOyB9OwpAQCAtMTgxLDYgKzE4Miw3IEBACiAJCTBDMkRBMDY4MUYzM0NB
ODQwMERCQzMxNyAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDY5MUYzM0NBODQwMERCQzMxNyAvKiBDRk5l
dHdvcmtTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDZBMUYzM0NBODQwMERCQzMx
NyAvKiBDRlV0aWxpdGllc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
RlV0aWxpdGllc1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QTM2RDBGODIy
M0FEOUFCMDBCMDUyMkUgLyogQ29tbW9uQ3J5cHRvU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvbW1vbkNyeXB0b1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwQzJEQTA2QjFGMzNDQTg0MDBEQkMzMTcgLyogQ29yZUF1ZGlvU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVBdWRpb1NQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwQzJEQTA2QzFGMzNDQTg0MDBEQkMzMTcgLyogQ29yZU1lZGlhU1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVNZWRpYVNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEQTExQzFGM0JFOUUwMDBEQkMzMTcgLyogQ29yZUdy
YXBoaWNzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVHcmFwaGlj
c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzg2LDYgKzM4OCw3IEBACiAJ
CQkJMkQwMkU5M0IyMDU2RkFBNzAwQTEzNzk3IC8qIEF1ZGlvVG9vbGJveFNQSS5oICovLAogCQkJ
CTBDMkRBMTIyMUYzQkVCNDkwMERCQzMxNyAvKiBBVktpdFNQSS5oICovLAogCQkJCTBDMkRBMTIz
MUYzQkVCNDkwMERCQzMxNyAvKiBDRk5TVVJMQ29ubmVjdGlvblNQSS5oICovLAorCQkJCTdBMzZE
MEY4MjIzQUQ5QUIwMEIwNTIyRSAvKiBDb21tb25DcnlwdG9TUEkuaCAqLywKIAkJCQkwQzJEQTEy
NDFGM0JFQjQ5MDBEQkMzMTcgLyogQ29yZVRleHRTUEkuaCAqLywKIAkJCQkwQzJEQTEyNTFGM0JF
QjQ5MDBEQkMzMTcgLyogRGF0YURldGVjdG9yc0NvcmVTUEkuaCAqLywKIAkJCQlDRTU2NzM4NjIx
NTFBN0I5MDAyRjkyRDcgLyogSU9LaXRTUEkuaCAqLywKQEAgLTY3OSw2ICs2ODIsNyBAQAogCQkJ
CTBDMkRBMDcwMUYzM0NBODQwMERCQzMxNyAvKiBDRlV0aWxpdGllc1NQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEM1RkZGMEMxRjc4RDk5MDAwOUVGRjFBIC8qIENsb2NrLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzVGRkYxMDFGNzhEOURBMDA5RUZGMUEgLyogQ2xvY2tDTS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJN0EzNkQwRjkyMjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUMwOUQwNTgxRTMxQzU3RTAwNzI1RjE4IC8qIGNvbmZpZy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEMyREEwNzExRjMzQ0E4NDAwREJDMzE3IC8qIENvcmVBdWRpb1NQ
SS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExMUUxRjNCRTlFMDAwREJDMzE3IC8qIENvcmVH
cmFwaGljc1NQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMWM0NTAwYjZiNzY0
MDc3NzI3ZGQwYWI0M2ZmNDg1NWU3ZDEyMzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaApAQCAtMCwwICsxLDEyOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiAoUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMw
MCkKKyNkZWZpbmUgSEFWRV9DQ1JTQUdldENSVENvbXBvbmVudHMgMQorI2VuZGlmCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25Dcnlw
dG9yU1BJLmg+CisjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkVDQ3J5cHRvci5oPgorI2lu
Y2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25LZXlEZXJpdmF0aW9uU1BJLmg+CisjaW5jbHVkZSA8
Q29tbW9uQ3J5cHRvL0NvbW1vblJTQUNyeXB0b3IuaD4KKworI2lmIEhBVkUoQ0NSU0FHZXRDUlRD
b21wb25lbnRzKQorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25SU0FDcnlwdG9yU1BJLmg+
CisjZW5kaWYKKworI2Vsc2UKKworI2lmbmRlZiBfQ0NfUlNBQ1JZUFRPUl9IXworZW51bSB7Cisg
ICAga0NDRGlnZXN0Tm9uZSA9IDAsCisgICAga0NDRGlnZXN0U0hBMSA9IDgsCisgICAga0NDRGln
ZXN0U0hBMjI0ID0gOSwKKyAgICBrQ0NEaWdlc3RTSEEyNTYgPSAxMCwKKyAgICBrQ0NEaWdlc3RT
SEEzODQgPSAxMSwKKyAgICBrQ0NEaWdlc3RTSEE1MTIgPSAxMiwKK307Cit0eXBlZGVmIHVpbnQz
Ml90IENDRGlnZXN0QWxnb3JpdGhtOworCitlbnVtIHsKKyAgICBjY1JTQUtleVB1YmxpYyA9IDAs
CisgICAgY2NSU0FLZXlQcml2YXRlID0gMQorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0NSU0FLZXlU
eXBlOworCitlbnVtIHsKKyAgICBjY1BLQ1MxUGFkZGluZyA9IDEwMDEsCisgICAgY2NPQUVQUGFk
ZGluZyA9IDEwMDIsCisgICAgY2NSU0FQU1NQYWRkaW5nID0gMTAwNQorfTsKK3R5cGVkZWYgdWlu
dDMyX3QgQ0NBc3ltbWV0cmljUGFkZGluZzsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdCBfQ0NS
U0FDcnlwdG9yICpDQ1JTQUNyeXB0b3JSZWY7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q1JTQUNyeXB0b3JFbmNyeXB0KENDUlNBQ3J5cHRvclJlZiBwdWJsaWNLZXksIENDQXN5bW1ldHJp
Y1BhZGRpbmcgcGFkZGluZywgY29uc3Qgdm9pZCAqcGxhaW5UZXh0LCBzaXplX3QgcGxhaW5UZXh0
TGVuLCB2b2lkICpjaXBoZXJUZXh0LCBzaXplX3QgKmNpcGhlclRleHRMZW4sIGNvbnN0IHZvaWQg
KnRhZ0RhdGEsIHNpemVfdCB0YWdEYXRhTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBl
KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckRlY3J5cHQoQ0NSU0FD
cnlwdG9yUmVmIHByaXZhdGVLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qg
dm9pZCAqY2lwaGVyVGV4dCwgc2l6ZV90IGNpcGhlclRleHRMZW4sIHZvaWQgKnBsYWluVGV4dCwg
c2l6ZV90ICpwbGFpblRleHRMZW4sIGNvbnN0IHZvaWQgKnRhZ0RhdGEsIHNpemVfdCB0YWdEYXRh
TGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9y
U3RhdHVzIENDUlNBQ3J5cHRvclNpZ24oQ0NSU0FDcnlwdG9yUmVmIHByaXZhdGVLZXksIENDQXN5
bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qgdm9pZCAqaGFzaFRvU2lnbiwgc2l6ZV90IGhh
c2hTaWduTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlLCBzaXplX3Qgc2FsdExlbiwg
dm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90ICpzaWduZWREYXRhTGVuKTsKK2V4dGVybiAiQyIgQ0ND
cnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvclZlcmlmeShDQ1JTQUNyeXB0b3JSZWYgcHVibGljS2V5
LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKmhhc2gsIHNpemVfdCBo
YXNoTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlLCBzaXplX3Qgc2FsdExlbiwgY29u
c3Qgdm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90IHNpZ25lZERhdGFMZW4pOworZXh0ZXJuICJDIiBD
Q0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yR2VuZXJhdGVQYWlyKHNpemVfdCBrZXlzaXplLCB1
aW50MzJfdCBlLCBDQ1JTQUNyeXB0b3JSZWYgKnB1YmxpY0tleSwgQ0NSU0FDcnlwdG9yUmVmICpw
cml2YXRlS2V5KTsKK2V4dGVybiAiQyIgQ0NSU0FDcnlwdG9yUmVmIENDUlNBQ3J5cHRvckdldFB1
YmxpY0tleUZyb21Qcml2YXRlS2V5KENDUlNBQ3J5cHRvclJlZiBwcml2a2V5KTsKK2V4dGVybiAi
QyIgdm9pZCBDQ1JTQUNyeXB0b3JSZWxlYXNlKENDUlNBQ3J5cHRvclJlZiBrZXkpOworZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FHZXRLZXlDb21wb25lbnRzKENDUlNBQ3J5cHRvclJl
ZiByc2FLZXksIHVpbnQ4X3QgKm1vZHVsdXMsIHNpemVfdCAqbW9kdWx1c0xlbmd0aCwgdWludDhf
dCAqZXhwb25lbnQsIHNpemVfdCAqZXhwb25lbnRMZW5ndGgsIHVpbnQ4X3QgKnAsIHNpemVfdCAq
cExlbmd0aCwgdWludDhfdCAqcSwgc2l6ZV90ICpxTGVuZ3RoKTsKK2V4dGVybiAiQyIgQ0NSU0FL
ZXlUeXBlIENDUlNBR2V0S2V5VHlwZShDQ1JTQUNyeXB0b3JSZWYga2V5KTsKK2V4dGVybiAiQyIg
Q0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckltcG9ydChjb25zdCB2b2lkICprZXlQYWNrYWdl
LCBzaXplX3Qga2V5UGFja2FnZUxlbiwgQ0NSU0FDcnlwdG9yUmVmICprZXkpOworZXh0ZXJuICJD
IiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yRXhwb3J0KENDUlNBQ3J5cHRvclJlZiBrZXks
IHZvaWQgKm91dCwgc2l6ZV90ICpvdXRMZW4pOworCisjaWYgSEFWRShDQ1JTQUdldENSVENvbXBv
bmVudHMpCitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUdldENSVENvbXBvbmVudHNT
aXplcyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCBzaXplX3QgKmRwU2l6ZSwgc2l6ZV90ICpkcVNp
emUsIHNpemVfdCAqcWludlNpemUpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FH
ZXRDUlRDb21wb25lbnRzKENDUlNBQ3J5cHRvclJlZiByc2FLZXksIHZvaWQgKmRwLCBzaXplX3Qg
ZHBTaXplLCB2b2lkICpkcSwgc2l6ZV90IGRxU2l6ZSwgdm9pZCAqcWludiwgc2l6ZV90IHFpbnZT
aXplKTsKKyNlbmRpZgorCisjaWZuZGVmIF9DQ19FQ0NSWVBUT1JfSF8KK2VudW0geworICAgIGNj
RUNLZXlQdWJsaWMgPSAwLAorICAgIGNjRUNLZXlQcml2YXRlID0gMSwKK307Cit0eXBlZGVmIHVp
bnQzMl90IENDRUNLZXlUeXBlOworCitlbnVtIHsKKyAgICBrQ0NJbXBvcnRLZXlCaW5hcnkgPSAw
LAorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0NFQ0tleUV4dGVybmFsRm9ybWF0OworI2VuZGlmCisK
K3R5cGVkZWYgc3RydWN0IF9DQ0VDQ3J5cHRvciAqQ0NFQ0NyeXB0b3JSZWY7CitleHRlcm4gIkMi
IENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckdlbmVyYXRlUGFpcihzaXplX3Qga2V5c2l6ZSwg
Q0NFQ0NyeXB0b3JSZWYgKnB1YmxpY0tleSwgQ0NFQ0NyeXB0b3JSZWYgKnByaXZhdGVLZXkpOwor
ZXh0ZXJuICJDIiB2b2lkIENDRUNDcnlwdG9yUmVsZWFzZShDQ0VDQ3J5cHRvclJlZiBrZXkpOwor
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTMwMDAwKQorZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0Ny
eXB0b3JJbXBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZvcm1hdCwgY29uc3Qgdm9pZCAq
a2V5UGFja2FnZSwgc2l6ZV90IGtleVBhY2thZ2VMZW4sIENDRUNLZXlUeXBlIGtleVR5cGUsIEND
RUNDcnlwdG9yUmVmICprZXkpOworI2Vsc2UKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIEND
RUNDcnlwdG9ySW1wb3J0S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtl
eVBhY2thZ2UsIHNpemVfdCBrZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBDQ0VD
Q3J5cHRvclJlZiAqa2V5KTsKKyNlbmRpZgorZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NF
Q0NyeXB0b3JFeHBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZvcm1hdCwgdm9pZCAqa2V5
UGFja2FnZSwgc2l6ZV90ICprZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBDQ0VD
Q3J5cHRvclJlZiBrZXkpOworZXh0ZXJuICJDIiBpbnQgQ0NFQ0dldEtleVNpemUoQ0NFQ0NyeXB0
b3JSZWYga2V5KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yQ3JlYXRl
RnJvbURhdGEoc2l6ZV90IGtleVNpemUsIHVpbnQ4X3QgKnFYLCBzaXplX3QgcVhMZW5ndGgsIHVp
bnQ4X3QgKnFZLCBzaXplX3QgcVlMZW5ndGgsIENDRUNDcnlwdG9yUmVmICpyZWYpOworZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JHZXRLZXlDb21wb25lbnRzKENDRUNDcnlw
dG9yUmVmIGVjS2V5LCBzaXplX3QgKmtleVNpemUsIHVpbnQ4X3QgKnFYLCBzaXplX3QgKnFYTGVu
Z3RoLCB1aW50OF90ICpxWSwgc2l6ZV90ICpxWUxlbmd0aCwgdWludDhfdCAqZCwgc2l6ZV90ICpk
TGVuZ3RoKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yQ29tcHV0ZVNo
YXJlZFNlY3JldChDQ0VDQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0VDQ3J5cHRvclJlZiBwdWJs
aWNLZXksIHZvaWQgKm91dCwgc2l6ZV90ICpvdXRMZW4pOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JT
dGF0dXMgQ0NFQ0NyeXB0b3JTaWduSGFzaChDQ0VDQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBjb25z
dCB2b2lkICpoYXNoVG9TaWduLCBzaXplX3QgaGFzaFNpZ25MZW4sIHZvaWQgKnNpZ25lZERhdGEs
IHNpemVfdCAqc2lnbmVkRGF0YUxlbik7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VD
Q3J5cHRvclZlcmlmeUhhc2goQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5LCBjb25zdCB2b2lkICpo
YXNoLCBzaXplX3QgaGFzaExlbiwgY29uc3Qgdm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90IHNpZ25l
ZERhdGFMZW4sIHVpbnQzMl90ICp2YWxpZCk7CisKKyNpZm5kZWYgQ29tbW9uQ3J5cHRvX0NvbW1v
bk5pc3RLZXlEZXJpdmF0aW9uX2gKK2VudW0geworICAgIGtDQ0tERkFsZ29yaXRobUhLREYgPSA2
Cit9OwordHlwZWRlZiB1aW50MzJfdCBDQ0tERkFsZ29yaXRobTsKKyNlbmRpZgorCitleHRlcm4g
IkMiIENDU3RhdHVzIENDS2V5RGVyaXZhdGlvbkhNYWMoQ0NLREZBbGdvcml0aG0gYWxnb3JpdGht
LCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3QsIHVuc2lnbmVkIHJvdW5kcywgY29uc3Qgdm9pZCAq
a2V5RGVyaXZhdGlvbktleSwgc2l6ZV90IGtleURlcml2YXRpb25LZXlMZW4sIGNvbnN0IHZvaWQg
KmxhYmVsLCBzaXplX3QgbGFiZWxMZW4sIGNvbnN0IHZvaWQgKmNvbnRleHQsIHNpemVfdCBjb250
ZXh0TGVuLCBjb25zdCB2b2lkICppdiwgc2l6ZV90IGl2TGVuLCBjb25zdCB2b2lkICpzYWx0LCBz
aXplX3Qgc2FsdExlbiwgdm9pZCAqZGVyaXZlZEtleSwgc2l6ZV90IGRlcml2ZWRLZXlMZW4pOwor
CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0NyeXB0b3JHQ00oQ0NPcGVyYXRpb24gb3As
IENDQWxnb3JpdGhtIGFsZywgY29uc3Qgdm9pZCoga2V5LCBzaXplX3Qga2V5TGVuZ3RoLCBjb25z
dCB2b2lkKiBpdiwgc2l6ZV90IGl2TGVuLCBjb25zdCB2b2lkKiBhRGF0YSwgc2l6ZV90IGFEYXRh
TGVuLCBjb25zdCB2b2lkKiBkYXRhSW4sIHNpemVfdCBkYXRhSW5MZW5ndGgsIHZvaWQqIGRhdGFP
dXQsIHZvaWQqIHRhZywgc2l6ZV90KiB0YWdMZW5ndGgpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JT
dGF0dXMgQ0NSU0FDcnlwdG9yQ3JlYXRlRnJvbURhdGEoQ0NSU0FLZXlUeXBlIGtleVR5cGUsIGNv
bnN0IHVpbnQ4X3QgKm1vZHVsdXMsIHNpemVfdCBtb2R1bHVzTGVuZ3RoLCBjb25zdCB1aW50OF90
ICpleHBvbmVudCwgc2l6ZV90IGV4cG9uZW50TGVuZ3RoLCBjb25zdCB1aW50OF90ICpwLCBzaXpl
X3QgcExlbmd0aCwgY29uc3QgdWludDhfdCAqcSwgc2l6ZV90IHFMZW5ndGgsIENDUlNBQ3J5cHRv
clJlZiAqcmVmKTsKKworI2VuZGlmIC8vICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5oIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5oCmluZGV4IDVjMDBhNjgy
MGI2NWI5ZTEyYTVhMWVkNjI2ZmQ3OGU4ZTNhZWE1YTMuLjgwZTRlZTY2Y2NlOTkwOWI5Mzg0MGI0
YzE4MTMxNjgzMzNkMzI5YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Db21t
b25DcnlwdG9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ29tbW9uQ3J5
cHRvVXRpbGl0aWVzLmgKQEAgLTI1LDExNyArMjUsMjAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTEwMDAwKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTMwMCkKLSNkZWZpbmUgSEFWRV9DQ1JTQUdldENSVENvbXBvbmVudHMg
MQotI2VuZGlmCi0KICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKIAogI2luY2x1ZGUgIkNyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uQ3J5cHRv
ci5oPgogI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25SYW5kb20uaD4KKyNpbmNsdWRlIDxw
YWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0Nv
bW1vbkNyeXB0b3JTUEkuaD4KLSNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uRUNDcnlwdG9y
Lmg+Ci0vLyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzMxNTA4OTU5PgotLy8gI2luY2x1ZGUgPENv
bW1vbkNyeXB0by9Db21tb25LZXlEZXJpdmF0aW9uU1BJLmg+Ci0jaW5jbHVkZSA8Q29tbW9uQ3J5
cHRvL0NvbW1vblJTQUNyeXB0b3IuaD4KLSNlbmRpZgotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykgJiYgSEFWRShDQ1JTQUdldENSVENvbXBvbmVudHMpCi0jaW5jbHVkZSA8Q29tbW9uQ3J5
cHRvL0NvbW1vblJTQUNyeXB0b3JTUEkuaD4KLSNlbmRpZgotCi0jaWZuZGVmIF9DQ19SU0FDUllQ
VE9SX0hfCi1lbnVtIHsKLSAgICBrQ0NEaWdlc3ROb25lID0gMCwKLSAgICBrQ0NEaWdlc3RTSEEx
ID0gOCwKLSAgICBrQ0NEaWdlc3RTSEEyMjQgPSA5LAotICAgIGtDQ0RpZ2VzdFNIQTI1NiA9IDEw
LAotICAgIGtDQ0RpZ2VzdFNIQTM4NCA9IDExLAotICAgIGtDQ0RpZ2VzdFNIQTUxMiA9IDEyLAot
fTsKLXR5cGVkZWYgdWludDMyX3QgQ0NEaWdlc3RBbGdvcml0aG07Ci0KLWVudW0gewotICAgIGNj
UlNBS2V5UHVibGljID0gMCwKLSAgICBjY1JTQUtleVByaXZhdGUgPSAxCi19OwotdHlwZWRlZiB1
aW50MzJfdCBDQ1JTQUtleVR5cGU7Ci0KLWVudW0gewotICAgIGNjUEtDUzFQYWRkaW5nID0gMTAw
MSwKLSAgICBjY09BRVBQYWRkaW5nID0gMTAwMiwKLSAgICBjY1JTQVBTU1BhZGRpbmcgPSAxMDA1
Ci19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0FzeW1tZXRyaWNQYWRkaW5nOwotI2VuZGlmCisjaWYg
IUhBVkUoQ0NSU0FHZXRDUlRDb21wb25lbnRzKQogCiB0eXBlZGVmIHN0cnVjdCBfQ0NCaWdOdW1S
ZWYgKkNDQmlnTnVtUmVmOwotCi10eXBlZGVmIHN0cnVjdCBfQ0NSU0FDcnlwdG9yICpDQ1JTQUNy
eXB0b3JSZWY7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JFbmNyeXB0
KENDUlNBQ3J5cHRvclJlZiBwdWJsaWNLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywg
Y29uc3Qgdm9pZCAqcGxhaW5UZXh0LCBzaXplX3QgcGxhaW5UZXh0TGVuLCB2b2lkICpjaXBoZXJU
ZXh0LCBzaXplX3QgKmNpcGhlclRleHRMZW4sIGNvbnN0IHZvaWQgKnRhZ0RhdGEsIHNpemVfdCB0
YWdEYXRhTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlKTsKLWV4dGVybiAiQyIgQ0ND
cnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckRlY3J5cHQoQ0NSU0FDcnlwdG9yUmVmIHByaXZhdGVL
ZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qgdm9pZCAqY2lwaGVyVGV4dCwg
c2l6ZV90IGNpcGhlclRleHRMZW4sIHZvaWQgKnBsYWluVGV4dCwgc2l6ZV90ICpwbGFpblRleHRM
ZW4sIGNvbnN0IHZvaWQgKnRhZ0RhdGEsIHNpemVfdCB0YWdEYXRhTGVuLCBDQ0RpZ2VzdEFsZ29y
aXRobSBkaWdlc3RUeXBlKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRv
clNpZ24oQ0NSU0FDcnlwdG9yUmVmIHByaXZhdGVLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFk
ZGluZywgY29uc3Qgdm9pZCAqaGFzaFRvU2lnbiwgc2l6ZV90IGhhc2hTaWduTGVuLCBDQ0RpZ2Vz
dEFsZ29yaXRobSBkaWdlc3RUeXBlLCBzaXplX3Qgc2FsdExlbiwgdm9pZCAqc2lnbmVkRGF0YSwg
c2l6ZV90ICpzaWduZWREYXRhTGVuKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNB
Q3J5cHRvclZlcmlmeShDQ1JTQUNyeXB0b3JSZWYgcHVibGljS2V5LCBDQ0FzeW1tZXRyaWNQYWRk
aW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKmhhc2gsIHNpemVfdCBoYXNoTGVuLCBDQ0RpZ2VzdEFs
Z29yaXRobSBkaWdlc3RUeXBlLCBzaXplX3Qgc2FsdExlbiwgY29uc3Qgdm9pZCAqc2lnbmVkRGF0
YSwgc2l6ZV90IHNpZ25lZERhdGFMZW4pOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NS
U0FDcnlwdG9yR2VuZXJhdGVQYWlyKHNpemVfdCBrZXlzaXplLCB1aW50MzJfdCBlLCBDQ1JTQUNy
eXB0b3JSZWYgKnB1YmxpY0tleSwgQ0NSU0FDcnlwdG9yUmVmICpwcml2YXRlS2V5KTsKLWV4dGVy
biAiQyIgQ0NSU0FDcnlwdG9yUmVmIENDUlNBQ3J5cHRvckdldFB1YmxpY0tleUZyb21Qcml2YXRl
S2V5KENDUlNBQ3J5cHRvclJlZiBwcml2a2V5KTsKLWV4dGVybiAiQyIgdm9pZCBDQ1JTQUNyeXB0
b3JSZWxlYXNlKENDUlNBQ3J5cHRvclJlZiBrZXkpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0
dXMgQ0NSU0FHZXRLZXlDb21wb25lbnRzKENDUlNBQ3J5cHRvclJlZiByc2FLZXksIHVpbnQ4X3Qg
Km1vZHVsdXMsIHNpemVfdCAqbW9kdWx1c0xlbmd0aCwgdWludDhfdCAqZXhwb25lbnQsIHNpemVf
dCAqZXhwb25lbnRMZW5ndGgsIHVpbnQ4X3QgKnAsIHNpemVfdCAqcExlbmd0aCwgdWludDhfdCAq
cSwgc2l6ZV90ICpxTGVuZ3RoKTsKLWV4dGVybiAiQyIgQ0NSU0FLZXlUeXBlIENDUlNBR2V0S2V5
VHlwZShDQ1JTQUNyeXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIEND
UlNBQ3J5cHRvckltcG9ydChjb25zdCB2b2lkICprZXlQYWNrYWdlLCBzaXplX3Qga2V5UGFja2Fn
ZUxlbiwgQ0NSU0FDcnlwdG9yUmVmICprZXkpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMg
Q0NSU0FDcnlwdG9yRXhwb3J0KENDUlNBQ3J5cHRvclJlZiBrZXksIHZvaWQgKm91dCwgc2l6ZV90
ICpvdXRMZW4pOwotCi0jaWYgSEFWRShDQ1JTQUdldENSVENvbXBvbmVudHMpCi1leHRlcm4gIkMi
IENDQ3J5cHRvclN0YXR1cyBDQ1JTQUdldENSVENvbXBvbmVudHNTaXplcyhDQ1JTQUNyeXB0b3JS
ZWYgcnNhS2V5LCBzaXplX3QgKmRwU2l6ZSwgc2l6ZV90ICpkcVNpemUsIHNpemVfdCAqcWludlNp
emUpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FHZXRDUlRDb21wb25lbnRzKEND
UlNBQ3J5cHRvclJlZiByc2FLZXksIHZvaWQgKmRwLCBzaXplX3QgZHBTaXplLCB2b2lkICpkcSwg
c2l6ZV90IGRxU2l6ZSwgdm9pZCAqcWludiwgc2l6ZV90IHFpbnZTaXplKTsKLSNlbmRpZgotCi0j
aWZuZGVmIF9DQ19FQ0NSWVBUT1JfSF8KLWVudW0gewotICAgIGNjRUNLZXlQdWJsaWMgPSAwLAot
ICAgIGNjRUNLZXlQcml2YXRlID0gMSwKLX07Ci10eXBlZGVmIHVpbnQzMl90IENDRUNLZXlUeXBl
OwotCi1lbnVtIHsKLSAgICBrQ0NJbXBvcnRLZXlCaW5hcnkgPSAwLAotfTsKLXR5cGVkZWYgdWlu
dDMyX3QgQ0NFQ0tleUV4dGVybmFsRm9ybWF0OwotI2VuZGlmCi0KLXR5cGVkZWYgc3RydWN0IF9D
Q0VDQ3J5cHRvciAqQ0NFQ0NyeXB0b3JSZWY7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q0VDQ3J5cHRvckdlbmVyYXRlUGFpcihzaXplX3Qga2V5c2l6ZSwgQ0NFQ0NyeXB0b3JSZWYgKnB1
YmxpY0tleSwgQ0NFQ0NyeXB0b3JSZWYgKnByaXZhdGVLZXkpOwotZXh0ZXJuICJDIiB2b2lkIEND
RUNDcnlwdG9yUmVsZWFzZShDQ0VDQ3J5cHRvclJlZiBrZXkpOwotZXh0ZXJuICJDIiBDQ0NyeXB0
b3JTdGF0dXMgQ0NFQ0NyeXB0b3JJbXBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZvcm1h
dCwgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90IGtleVBhY2thZ2VMZW4sIENDRUNLZXlUeXBlIGtl
eVR5cGUsIENDRUNDcnlwdG9yUmVmICprZXkpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMg
Q0NFQ0NyeXB0b3JFeHBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZvcm1hdCwgdm9pZCAq
a2V5UGFja2FnZSwgc2l6ZV90ICprZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBD
Q0VDQ3J5cHRvclJlZiBrZXkpOwotZXh0ZXJuICJDIiBpbnQgQ0NFQ0dldEtleVNpemUoQ0NFQ0Ny
eXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yQ3Jl
YXRlRnJvbURhdGEoc2l6ZV90IGtleVNpemUsIHVpbnQ4X3QgKnFYLCBzaXplX3QgcVhMZW5ndGgs
IHVpbnQ4X3QgKnFZLCBzaXplX3QgcVlMZW5ndGgsIENDRUNDcnlwdG9yUmVmICpyZWYpOwotZXh0
ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JHZXRLZXlDb21wb25lbnRzKENDRUND
cnlwdG9yUmVmIGVjS2V5LCBzaXplX3QgKmtleVNpemUsIHVpbnQ4X3QgKnFYLCBzaXplX3QgKnFY
TGVuZ3RoLCB1aW50OF90ICpxWSwgc2l6ZV90ICpxWUxlbmd0aCwgdWludDhfdCAqZCwgc2l6ZV90
ICpkTGVuZ3RoKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yQ29tcHV0
ZVNoYXJlZFNlY3JldChDQ0VDQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0VDQ3J5cHRvclJlZiBw
dWJsaWNLZXksIHZvaWQgKm91dCwgc2l6ZV90ICpvdXRMZW4pOwotZXh0ZXJuICJDIiBDQ0NyeXB0
b3JTdGF0dXMgQ0NFQ0NyeXB0b3JTaWduSGFzaChDQ0VDQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBj
b25zdCB2b2lkICpoYXNoVG9TaWduLCBzaXplX3QgaGFzaFNpZ25MZW4sIHZvaWQgKnNpZ25lZERh
dGEsIHNpemVfdCAqc2lnbmVkRGF0YUxlbik7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q0VDQ3J5cHRvclZlcmlmeUhhc2goQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5LCBjb25zdCB2b2lk
ICpoYXNoLCBzaXplX3QgaGFzaExlbiwgY29uc3Qgdm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90IHNp
Z25lZERhdGFMZW4sIHVpbnQzMl90ICp2YWxpZCk7Ci0KLSNpZm5kZWYgQ29tbW9uQ3J5cHRvX0Nv
bW1vbk5pc3RLZXlEZXJpdmF0aW9uX2gKLWVudW0gewotICAgIGtDQ0tERkFsZ29yaXRobUhLREYg
PSA2Ci19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0tERkFsZ29yaXRobTsKLSNlbmRpZgotCi1leHRl
cm4gIkMiIENDU3RhdHVzIENDS2V5RGVyaXZhdGlvbkhNYWMoQ0NLREZBbGdvcml0aG0gYWxnb3Jp
dGhtLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3QsIHVuc2lnbmVkIHJvdW5kcywgY29uc3Qgdm9p
ZCAqa2V5RGVyaXZhdGlvbktleSwgc2l6ZV90IGtleURlcml2YXRpb25LZXlMZW4sIGNvbnN0IHZv
aWQgKmxhYmVsLCBzaXplX3QgbGFiZWxMZW4sIGNvbnN0IHZvaWQgKmNvbnRleHQsIHNpemVfdCBj
b250ZXh0TGVuLCBjb25zdCB2b2lkICppdiwgc2l6ZV90IGl2TGVuLCBjb25zdCB2b2lkICpzYWx0
LCBzaXplX3Qgc2FsdExlbiwgdm9pZCAqZGVyaXZlZEtleSwgc2l6ZV90IGRlcml2ZWRLZXlMZW4p
OwotCi0jaWYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCi1leHRlcm4gIkMiIENDQ3J5cHRvclN0
YXR1cyBDQ0NyeXB0b3JHQ00oQ0NPcGVyYXRpb24gb3AsIENDQWxnb3JpdGhtIGFsZywgY29uc3Qg
dm9pZCoga2V5LCBzaXplX3Qga2V5TGVuZ3RoLCBjb25zdCB2b2lkKiBpdiwgc2l6ZV90IGl2TGVu
LCBjb25zdCB2b2lkKiBhRGF0YSwgc2l6ZV90IGFEYXRhTGVuLCBjb25zdCB2b2lkKiBkYXRhSW4s
IHNpemVfdCBkYXRhSW5MZW5ndGgsIHZvaWQqIGRhdGFPdXQsIHZvaWQqIHRhZywgc2l6ZV90KiB0
YWdMZW5ndGgpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yQ3JlYXRl
RnJvbURhdGEoQ0NSU0FLZXlUeXBlIGtleVR5cGUsIGNvbnN0IHVpbnQ4X3QgKm1vZHVsdXMsIHNp
emVfdCBtb2R1bHVzTGVuZ3RoLCBjb25zdCB1aW50OF90ICpleHBvbmVudCwgc2l6ZV90IGV4cG9u
ZW50TGVuZ3RoLCBjb25zdCB1aW50OF90ICpwLCBzaXplX3QgcExlbmd0aCwgY29uc3QgdWludDhf
dCAqcSwgc2l6ZV90IHFMZW5ndGgsIENDUlNBQ3J5cHRvclJlZiAqcmVmKTsKLSNlbmRpZgotCisg
ICAgCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAhSEFWRShDQ1JTQUdldENSVENvbXBvbmVu
dHMpCi0KIC8vIE9ubHkgbmVlZCBDQ0JpZ051bSBmb3IgdGhlIGNvZGUgdXNlZCB3aGVuIHdlIGRv
bid0IGhhdmUgQ0NSU0FHZXRDUlRDb21wb25lbnRzLgogY2xhc3MgQ0NCaWdOdW0gewogcHVibGlj
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1I
S0RGTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtSEtE
Rk1hYy5jcHAKaW5kZXggOWU5NjZjYjc0NGMyN2YzMjAwMDFmMWY1MmVlNGE0ZjVmZGQyZGUyZi4u
NmNhYTVmM2NiZTUzOWZlNjU0Y2I3YTlmZWZlZDk0YjlhNzJkNTczMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1IS0RGTWFjLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUhLREZNYWMuY3BwCkBAIC00
MCw5ICs0MCwxMiBAQCBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IENyeXB0b0FsZ29yaXRo
bUhLREY6OnBsYXRmb3JtRGVyaXZlQml0cyhjb25zdCBDcnlwdAogICAgIENDRGlnZXN0QWxnb3Jp
dGhtIGRpZ2VzdEFsZ29yaXRobTsKICAgICBnZXRDb21tb25DcnlwdG9EaWdlc3RBbGdvcml0aG0o
cGFyYW1ldGVycy5oYXNoSWRlbnRpZmllciwgZGlnZXN0QWxnb3JpdGhtKTsKIAorICAgIEFMTE9X
X0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVtLzMy
NDM5NDU1PiBDdXJyZW50bHksIHdoZW4ga2V5IGRhdGEgaXMgZW1wdHksIENDS2V5RGVyaXZhdGlv
bkhNYWMgd2lsbCBiYWlsIG91dC4KKyAgICAvLyA8cmRhcjovL3Byb2JsZW0vNDg4OTYwMjE+IFJl
bWluZGVyOiBTd2l0Y2ggdG8gQ0NEZXJpdmVLZXkgbm93IHRoYXQgQ0NLZXlEZXJpdmF0aW9uSE1h
YyBpcyBkZXByZWNhdGVkLgogICAgIGlmIChDQ0tleURlcml2YXRpb25ITWFjKGtDQ0tERkFsZ29y
aXRobUhLREYsIGRpZ2VzdEFsZ29yaXRobSwgMCwga2V5LmtleSgpLmRhdGEoKSwga2V5LmtleSgp
LnNpemUoKSwgMCwgMCwgcGFyYW1ldGVycy5pbmZvVmVjdG9yKCkuZGF0YSgpLCBwYXJhbWV0ZXJz
LmluZm9WZWN0b3IoKS5zaXplKCksIDAsIDAsIHBhcmFtZXRlcnMuc2FsdFZlY3RvcigpLmRhdGEo
KSwgcGFyYW1ldGVycy5zYWx0VmVjdG9yKCkuc2l6ZSgpLCByZXN1bHQuZGF0YSgpLCByZXN1bHQu
c2l6ZSgpKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07Cisg
ICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAgcmV0dXJuIFdURk1vdmUo
cmVzdWx0KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364762</attachid>
            <date>2019-03-14 20:04:27 -0700</date>
            <delta_ts>2019-03-14 20:10:48 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-195754-20190314200426.patch</filename>
            <type>text/plain</type>
            <size>21178</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgxMDc5MzliNGNjNzAw
NzNhZThkN2FhOTExMWFlOGVmZDY4ZTdlNy4uMTI0ZDEyYjQ5NDQwNDE0ODE5MTUwYmZiMzk2ODZi
NDZiNTY2YTA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAzLTE0ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgQ29yZUNyeXB0
byBTUEkgZGVjbGFyYXRpb25zIHRvIGFuIGFwcHJvcHJpYXRlIFBBTC9zcGkgaGVhZGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NTQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NTkxOTU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEppZXdl
biBUYW4uCisKKyAgICAgICAgTW92ZSB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMgb2YgdmFyaW91
cyBDb3JlQ3J5cHRvIFNQSSB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlci4KKyAgICAg
ICAgVXBkYXRlIHRoZSBjb25zdCBjb3JyZWN0bmVzcyBvZiBvbmUgZnVuY3Rpb24gY2FsbCB0byBt
YXRjaCBuZXcgU0RLIGRlY2xhcmF0aW9uLgorCisgICAgICAgIE5vIHRlc3RzIGJlY2F1c2UgdGhl
cmUgYXJlIG5vIGNoYW5nZXMgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBjcnlwdG8vQ29tbW9u
Q3J5cHRvVXRpbGl0aWVzLmg6CisgICAgICAgICogY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1I
S0RGTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhLREY6OnBsYXRm
b3JtRGVyaXZlQml0cyk6CisKIDIwMTktMDMtMTQgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW5kZXhlZERCOiByZS1lbmFibGUgc29tZSBsZWFrIHRlc3RzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwppbmRleCAwMDA5ZTA4ODI0YmIwYjRhMGRkZmJkNmUxZWRlMDc1ZmZmMzdk
NDYzLi4wNDZkOGJiZjY0ODA3MDAyY2Q1NGM3NTlkODE4YzU4MzQwMDIyZTQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMy0xNCAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIENvcmVDcnlwdG8gU1BJIGRlY2xhcmF0
aW9ucyB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzU0CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80ODU5MTk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBKaWV3ZW4gVGFuLgorCisgICAg
ICAgIE1vdmUgdGhlIGZvcndhcmQgZGVjbGFyYXRpb25zIG9mIHZhcmlvdXMgQ29yZUNyeXB0byBT
UEkgdG8gYW4gYXBwcm9wcmlhdGUgUEFML3NwaSBoZWFkZXIuCisgICAgICAgIFVwZGF0ZSB0aGUg
Y29uc3QgY29ycmVjdG5lc3Mgb2Ygb25lIGZ1bmN0aW9uIGNhbGwgdG8gbWF0Y2ggbmV3IFNESyBk
ZWNsYXJhdGlvbi4KKworICAgICAgICBObyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGFyZSBubyBjaGFu
Z2VzIGluIGJlaGF2aW9yLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5oLgorCiAyMDE5
LTAzLTE0ICBTaGF3biBSb2JlcnRzICA8c3JvYmVydHNAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDI5ODEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTQyODEwYTg2YTdmOTlhMGUzZDcx
MDA0YzFkNTMwMzcwNDc0NzYzNS4uNDg4NGVkMzFlM2I0YTQxYTRmMWY5NTQwMThlZmVjMzliYzAw
MWNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtOTgsNiArOTgsNyBAQAogCQkwQzc3ODVBMDFGNDUxMzBGMDBGNEVCQjYgLyog
UXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwQzc3ODU4NzFGNDUxMzBGMDBGNEVCQjYgLyogUXVpY2tMb29rTWFjU1BJLmggKi87
IH07CiAJCTBDNzc4NUExMUY0NTEzMEYwMEY0RUJCNiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDNzc4NTg4
MUY0NTEzMEYwMEY0RUJCNiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEkuaCAqLzsgfTsKIAkJMENG
OTlDQTQxRjczNjM3NTAwN0VFNzkzIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzAwQ0ZEMTFGNjhDRTQ2
MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCAqLzsgfTsKKwkJN0EzNkQwRjky
MjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzNkQwRjgyMjNBRDlBQjAwQjA1MjJFIC8qIENv
bW1vbkNyeXB0b1NQSS5oICovOyB9OwogCQkwQ0Y5OUNBODFGNzM4NDM3MDA3RUU3OTMgLyogQ29y
ZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMENGOTlDQTYxRjczODQzNjAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNw
cCAqLzsgfTsKIAkJMENGOTlDQTkxRjczODQzNzAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5r
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQ0Y5OUNB
NzFGNzM4NDM3MDA3RUU3OTMgLyogQ29yZU1lZGlhU29mdExpbmsuaCAqLzsgfTsKIAkJMUMwOUQw
NTMxRTMxQzQ0MTAwNzI1RjE4IC8qIENyeXB0b0RpZ2VzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwOUQwNTIxRTMxQzQ0MTAwNzI1RjE4IC8qIENy
eXB0b0RpZ2VzdC5oICovOyB9OwpAQCAtMTgxLDYgKzE4Miw3IEBACiAJCTBDMkRBMDY4MUYzM0NB
ODQwMERCQzMxNyAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDY5MUYzM0NBODQwMERCQzMxNyAvKiBDRk5l
dHdvcmtTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDZBMUYzM0NBODQwMERCQzMx
NyAvKiBDRlV0aWxpdGllc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
RlV0aWxpdGllc1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QTM2RDBGODIy
M0FEOUFCMDBCMDUyMkUgLyogQ29tbW9uQ3J5cHRvU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvbW1vbkNyeXB0b1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwQzJEQTA2QjFGMzNDQTg0MDBEQkMzMTcgLyogQ29yZUF1ZGlvU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVBdWRpb1NQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwQzJEQTA2QzFGMzNDQTg0MDBEQkMzMTcgLyogQ29yZU1lZGlhU1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVNZWRpYVNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEQTExQzFGM0JFOUUwMDBEQkMzMTcgLyogQ29yZUdy
YXBoaWNzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVHcmFwaGlj
c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzg2LDYgKzM4OCw3IEBACiAJ
CQkJMkQwMkU5M0IyMDU2RkFBNzAwQTEzNzk3IC8qIEF1ZGlvVG9vbGJveFNQSS5oICovLAogCQkJ
CTBDMkRBMTIyMUYzQkVCNDkwMERCQzMxNyAvKiBBVktpdFNQSS5oICovLAogCQkJCTBDMkRBMTIz
MUYzQkVCNDkwMERCQzMxNyAvKiBDRk5TVVJMQ29ubmVjdGlvblNQSS5oICovLAorCQkJCTdBMzZE
MEY4MjIzQUQ5QUIwMEIwNTIyRSAvKiBDb21tb25DcnlwdG9TUEkuaCAqLywKIAkJCQkwQzJEQTEy
NDFGM0JFQjQ5MDBEQkMzMTcgLyogQ29yZVRleHRTUEkuaCAqLywKIAkJCQkwQzJEQTEyNTFGM0JF
QjQ5MDBEQkMzMTcgLyogRGF0YURldGVjdG9yc0NvcmVTUEkuaCAqLywKIAkJCQlDRTU2NzM4NjIx
NTFBN0I5MDAyRjkyRDcgLyogSU9LaXRTUEkuaCAqLywKQEAgLTY3OSw2ICs2ODIsNyBAQAogCQkJ
CTBDMkRBMDcwMUYzM0NBODQwMERCQzMxNyAvKiBDRlV0aWxpdGllc1NQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEM1RkZGMEMxRjc4RDk5MDAwOUVGRjFBIC8qIENsb2NrLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzVGRkYxMDFGNzhEOURBMDA5RUZGMUEgLyogQ2xvY2tDTS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJN0EzNkQwRjkyMjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUMwOUQwNTgxRTMxQzU3RTAwNzI1RjE4IC8qIGNvbmZpZy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEMyREEwNzExRjMzQ0E4NDAwREJDMzE3IC8qIENvcmVBdWRpb1NQ
SS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExMUUxRjNCRTlFMDAwREJDMzE3IC8qIENvcmVH
cmFwaGljc1NQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMWM0NTAwYjZiNzY0
MDc3NzI3ZGQwYWI0M2ZmNDg1NWU3ZDEyMzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaApAQCAtMCwwICsxLDEyOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiAoUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMw
MCkKKyNkZWZpbmUgSEFWRV9DQ1JTQUdldENSVENvbXBvbmVudHMgMQorI2VuZGlmCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25Dcnlw
dG9yU1BJLmg+CisjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkVDQ3J5cHRvci5oPgorI2lu
Y2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25LZXlEZXJpdmF0aW9uU1BJLmg+CisjaW5jbHVkZSA8
Q29tbW9uQ3J5cHRvL0NvbW1vblJTQUNyeXB0b3IuaD4KKworI2lmIEhBVkUoQ0NSU0FHZXRDUlRD
b21wb25lbnRzKQorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25SU0FDcnlwdG9yU1BJLmg+
CisjZW5kaWYKKworI2Vsc2UKKworI2lmbmRlZiBfQ0NfUlNBQ1JZUFRPUl9IXworZW51bSB7Cisg
ICAga0NDRGlnZXN0Tm9uZSA9IDAsCisgICAga0NDRGlnZXN0U0hBMSA9IDgsCisgICAga0NDRGln
ZXN0U0hBMjI0ID0gOSwKKyAgICBrQ0NEaWdlc3RTSEEyNTYgPSAxMCwKKyAgICBrQ0NEaWdlc3RT
SEEzODQgPSAxMSwKKyAgICBrQ0NEaWdlc3RTSEE1MTIgPSAxMiwKK307Cit0eXBlZGVmIHVpbnQz
Ml90IENDRGlnZXN0QWxnb3JpdGhtOworCitlbnVtIHsKKyAgICBjY1JTQUtleVB1YmxpYyA9IDAs
CisgICAgY2NSU0FLZXlQcml2YXRlID0gMQorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0NSU0FLZXlU
eXBlOworCitlbnVtIHsKKyAgICBjY1BLQ1MxUGFkZGluZyA9IDEwMDEsCisgICAgY2NPQUVQUGFk
ZGluZyA9IDEwMDIsCisgICAgY2NSU0FQU1NQYWRkaW5nID0gMTAwNQorfTsKK3R5cGVkZWYgdWlu
dDMyX3QgQ0NBc3ltbWV0cmljUGFkZGluZzsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdCBfQ0NS
U0FDcnlwdG9yICpDQ1JTQUNyeXB0b3JSZWY7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q1JTQUNyeXB0b3JFbmNyeXB0KENDUlNBQ3J5cHRvclJlZiBwdWJsaWNLZXksIENDQXN5bW1ldHJp
Y1BhZGRpbmcgcGFkZGluZywgY29uc3Qgdm9pZCAqcGxhaW5UZXh0LCBzaXplX3QgcGxhaW5UZXh0
TGVuLCB2b2lkICpjaXBoZXJUZXh0LCBzaXplX3QgKmNpcGhlclRleHRMZW4sIGNvbnN0IHZvaWQg
KnRhZ0RhdGEsIHNpemVfdCB0YWdEYXRhTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBl
KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckRlY3J5cHQoQ0NSU0FD
cnlwdG9yUmVmIHByaXZhdGVLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qg
dm9pZCAqY2lwaGVyVGV4dCwgc2l6ZV90IGNpcGhlclRleHRMZW4sIHZvaWQgKnBsYWluVGV4dCwg
c2l6ZV90ICpwbGFpblRleHRMZW4sIGNvbnN0IHZvaWQgKnRhZ0RhdGEsIHNpemVfdCB0YWdEYXRh
TGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9y
U3RhdHVzIENDUlNBQ3J5cHRvclNpZ24oQ0NSU0FDcnlwdG9yUmVmIHByaXZhdGVLZXksIENDQXN5
bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qgdm9pZCAqaGFzaFRvU2lnbiwgc2l6ZV90IGhh
c2hTaWduTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlLCBzaXplX3Qgc2FsdExlbiwg
dm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90ICpzaWduZWREYXRhTGVuKTsKK2V4dGVybiAiQyIgQ0ND
cnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvclZlcmlmeShDQ1JTQUNyeXB0b3JSZWYgcHVibGljS2V5
LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKmhhc2gsIHNpemVfdCBo
YXNoTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlLCBzaXplX3Qgc2FsdExlbiwgY29u
c3Qgdm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90IHNpZ25lZERhdGFMZW4pOworZXh0ZXJuICJDIiBD
Q0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yR2VuZXJhdGVQYWlyKHNpemVfdCBrZXlzaXplLCB1
aW50MzJfdCBlLCBDQ1JTQUNyeXB0b3JSZWYgKnB1YmxpY0tleSwgQ0NSU0FDcnlwdG9yUmVmICpw
cml2YXRlS2V5KTsKK2V4dGVybiAiQyIgQ0NSU0FDcnlwdG9yUmVmIENDUlNBQ3J5cHRvckdldFB1
YmxpY0tleUZyb21Qcml2YXRlS2V5KENDUlNBQ3J5cHRvclJlZiBwcml2a2V5KTsKK2V4dGVybiAi
QyIgdm9pZCBDQ1JTQUNyeXB0b3JSZWxlYXNlKENDUlNBQ3J5cHRvclJlZiBrZXkpOworZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FHZXRLZXlDb21wb25lbnRzKENDUlNBQ3J5cHRvclJl
ZiByc2FLZXksIHVpbnQ4X3QgKm1vZHVsdXMsIHNpemVfdCAqbW9kdWx1c0xlbmd0aCwgdWludDhf
dCAqZXhwb25lbnQsIHNpemVfdCAqZXhwb25lbnRMZW5ndGgsIHVpbnQ4X3QgKnAsIHNpemVfdCAq
cExlbmd0aCwgdWludDhfdCAqcSwgc2l6ZV90ICpxTGVuZ3RoKTsKK2V4dGVybiAiQyIgQ0NSU0FL
ZXlUeXBlIENDUlNBR2V0S2V5VHlwZShDQ1JTQUNyeXB0b3JSZWYga2V5KTsKK2V4dGVybiAiQyIg
Q0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckltcG9ydChjb25zdCB2b2lkICprZXlQYWNrYWdl
LCBzaXplX3Qga2V5UGFja2FnZUxlbiwgQ0NSU0FDcnlwdG9yUmVmICprZXkpOworZXh0ZXJuICJD
IiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yRXhwb3J0KENDUlNBQ3J5cHRvclJlZiBrZXks
IHZvaWQgKm91dCwgc2l6ZV90ICpvdXRMZW4pOworCisjaWYgSEFWRShDQ1JTQUdldENSVENvbXBv
bmVudHMpCitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUdldENSVENvbXBvbmVudHNT
aXplcyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCBzaXplX3QgKmRwU2l6ZSwgc2l6ZV90ICpkcVNp
emUsIHNpemVfdCAqcWludlNpemUpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FH
ZXRDUlRDb21wb25lbnRzKENDUlNBQ3J5cHRvclJlZiByc2FLZXksIHZvaWQgKmRwLCBzaXplX3Qg
ZHBTaXplLCB2b2lkICpkcSwgc2l6ZV90IGRxU2l6ZSwgdm9pZCAqcWludiwgc2l6ZV90IHFpbnZT
aXplKTsKKyNlbmRpZgorCisjaWZuZGVmIF9DQ19FQ0NSWVBUT1JfSF8KK2VudW0geworICAgIGNj
RUNLZXlQdWJsaWMgPSAwLAorICAgIGNjRUNLZXlQcml2YXRlID0gMSwKK307Cit0eXBlZGVmIHVp
bnQzMl90IENDRUNLZXlUeXBlOworCitlbnVtIHsKKyAgICBrQ0NJbXBvcnRLZXlCaW5hcnkgPSAw
LAorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0NFQ0tleUV4dGVybmFsRm9ybWF0OworI2VuZGlmCisK
K3R5cGVkZWYgc3RydWN0IF9DQ0VDQ3J5cHRvciAqQ0NFQ0NyeXB0b3JSZWY7CitleHRlcm4gIkMi
IENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckdlbmVyYXRlUGFpcihzaXplX3Qga2V5c2l6ZSwg
Q0NFQ0NyeXB0b3JSZWYgKnB1YmxpY0tleSwgQ0NFQ0NyeXB0b3JSZWYgKnByaXZhdGVLZXkpOwor
ZXh0ZXJuICJDIiB2b2lkIENDRUNDcnlwdG9yUmVsZWFzZShDQ0VDQ3J5cHRvclJlZiBrZXkpOwor
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTMwMDAwKQorZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0Ny
eXB0b3JJbXBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZvcm1hdCwgY29uc3Qgdm9pZCAq
a2V5UGFja2FnZSwgc2l6ZV90IGtleVBhY2thZ2VMZW4sIENDRUNLZXlUeXBlIGtleVR5cGUsIEND
RUNDcnlwdG9yUmVmICprZXkpOworI2Vsc2UKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIEND
RUNDcnlwdG9ySW1wb3J0S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtl
eVBhY2thZ2UsIHNpemVfdCBrZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBDQ0VD
Q3J5cHRvclJlZiAqa2V5KTsKKyNlbmRpZgorZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NF
Q0NyeXB0b3JFeHBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZvcm1hdCwgdm9pZCAqa2V5
UGFja2FnZSwgc2l6ZV90ICprZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBDQ0VD
Q3J5cHRvclJlZiBrZXkpOworZXh0ZXJuICJDIiBpbnQgQ0NFQ0dldEtleVNpemUoQ0NFQ0NyeXB0
b3JSZWYga2V5KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yQ3JlYXRl
RnJvbURhdGEoc2l6ZV90IGtleVNpemUsIHVpbnQ4X3QgKnFYLCBzaXplX3QgcVhMZW5ndGgsIHVp
bnQ4X3QgKnFZLCBzaXplX3QgcVlMZW5ndGgsIENDRUNDcnlwdG9yUmVmICpyZWYpOworZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JHZXRLZXlDb21wb25lbnRzKENDRUNDcnlw
dG9yUmVmIGVjS2V5LCBzaXplX3QgKmtleVNpemUsIHVpbnQ4X3QgKnFYLCBzaXplX3QgKnFYTGVu
Z3RoLCB1aW50OF90ICpxWSwgc2l6ZV90ICpxWUxlbmd0aCwgdWludDhfdCAqZCwgc2l6ZV90ICpk
TGVuZ3RoKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yQ29tcHV0ZVNo
YXJlZFNlY3JldChDQ0VDQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0VDQ3J5cHRvclJlZiBwdWJs
aWNLZXksIHZvaWQgKm91dCwgc2l6ZV90ICpvdXRMZW4pOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JT
dGF0dXMgQ0NFQ0NyeXB0b3JTaWduSGFzaChDQ0VDQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBjb25z
dCB2b2lkICpoYXNoVG9TaWduLCBzaXplX3QgaGFzaFNpZ25MZW4sIHZvaWQgKnNpZ25lZERhdGEs
IHNpemVfdCAqc2lnbmVkRGF0YUxlbik7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VD
Q3J5cHRvclZlcmlmeUhhc2goQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5LCBjb25zdCB2b2lkICpo
YXNoLCBzaXplX3QgaGFzaExlbiwgY29uc3Qgdm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90IHNpZ25l
ZERhdGFMZW4sIHVpbnQzMl90ICp2YWxpZCk7CisKKyNpZm5kZWYgQ29tbW9uQ3J5cHRvX0NvbW1v
bk5pc3RLZXlEZXJpdmF0aW9uX2gKK2VudW0geworICAgIGtDQ0tERkFsZ29yaXRobUhLREYgPSA2
Cit9OwordHlwZWRlZiB1aW50MzJfdCBDQ0tERkFsZ29yaXRobTsKKyNlbmRpZgorCitleHRlcm4g
IkMiIENDU3RhdHVzIENDS2V5RGVyaXZhdGlvbkhNYWMoQ0NLREZBbGdvcml0aG0gYWxnb3JpdGht
LCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3QsIHVuc2lnbmVkIHJvdW5kcywgY29uc3Qgdm9pZCAq
a2V5RGVyaXZhdGlvbktleSwgc2l6ZV90IGtleURlcml2YXRpb25LZXlMZW4sIGNvbnN0IHZvaWQg
KmxhYmVsLCBzaXplX3QgbGFiZWxMZW4sIGNvbnN0IHZvaWQgKmNvbnRleHQsIHNpemVfdCBjb250
ZXh0TGVuLCBjb25zdCB2b2lkICppdiwgc2l6ZV90IGl2TGVuLCBjb25zdCB2b2lkICpzYWx0LCBz
aXplX3Qgc2FsdExlbiwgdm9pZCAqZGVyaXZlZEtleSwgc2l6ZV90IGRlcml2ZWRLZXlMZW4pOwor
CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0NyeXB0b3JHQ00oQ0NPcGVyYXRpb24gb3As
IENDQWxnb3JpdGhtIGFsZywgY29uc3Qgdm9pZCoga2V5LCBzaXplX3Qga2V5TGVuZ3RoLCBjb25z
dCB2b2lkKiBpdiwgc2l6ZV90IGl2TGVuLCBjb25zdCB2b2lkKiBhRGF0YSwgc2l6ZV90IGFEYXRh
TGVuLCBjb25zdCB2b2lkKiBkYXRhSW4sIHNpemVfdCBkYXRhSW5MZW5ndGgsIHZvaWQqIGRhdGFP
dXQsIHZvaWQqIHRhZywgc2l6ZV90KiB0YWdMZW5ndGgpOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JT
dGF0dXMgQ0NSU0FDcnlwdG9yQ3JlYXRlRnJvbURhdGEoQ0NSU0FLZXlUeXBlIGtleVR5cGUsIGNv
bnN0IHVpbnQ4X3QgKm1vZHVsdXMsIHNpemVfdCBtb2R1bHVzTGVuZ3RoLCBjb25zdCB1aW50OF90
ICpleHBvbmVudCwgc2l6ZV90IGV4cG9uZW50TGVuZ3RoLCBjb25zdCB1aW50OF90ICpwLCBzaXpl
X3QgcExlbmd0aCwgY29uc3QgdWludDhfdCAqcSwgc2l6ZV90IHFMZW5ndGgsIENDUlNBQ3J5cHRv
clJlZiAqcmVmKTsKKworI2VuZGlmIC8vICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5oIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5oCmluZGV4IDVjMDBhNjgy
MGI2NWI5ZTEyYTVhMWVkNjI2ZmQ3OGU4ZTNhZWE1YTMuLmY4MjM0N2RhNjQyNjZkODZlMzBhMTNi
ODFlNzkxMmY0MTRhMDJjNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Db21t
b25DcnlwdG9VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ29tbW9uQ3J5
cHRvVXRpbGl0aWVzLmgKQEAgLTI1LDExMSArMjUsMTYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTEwMDAwKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTMwMCkKLSNkZWZpbmUgSEFWRV9DQ1JTQUdldENSVENvbXBvbmVudHMg
MQotI2VuZGlmCi0KICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKIAogI2luY2x1ZGUgIkNyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uQ3J5cHRv
ci5oPgogI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25SYW5kb20uaD4KKyNpbmNsdWRlIDxw
YWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0Nv
bW1vbkNyeXB0b3JTUEkuaD4KLSNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uRUNDcnlwdG9y
Lmg+Ci0vLyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzMxNTA4OTU5PgotLy8gI2luY2x1ZGUgPENv
bW1vbkNyeXB0by9Db21tb25LZXlEZXJpdmF0aW9uU1BJLmg+Ci0jaW5jbHVkZSA8Q29tbW9uQ3J5
cHRvL0NvbW1vblJTQUNyeXB0b3IuaD4KLSNlbmRpZgotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykgJiYgSEFWRShDQ1JTQUdldENSVENvbXBvbmVudHMpCi0jaW5jbHVkZSA8Q29tbW9uQ3J5
cHRvL0NvbW1vblJTQUNyeXB0b3JTUEkuaD4KLSNlbmRpZgotCi0jaWZuZGVmIF9DQ19SU0FDUllQ
VE9SX0hfCi1lbnVtIHsKLSAgICBrQ0NEaWdlc3ROb25lID0gMCwKLSAgICBrQ0NEaWdlc3RTSEEx
ID0gOCwKLSAgICBrQ0NEaWdlc3RTSEEyMjQgPSA5LAotICAgIGtDQ0RpZ2VzdFNIQTI1NiA9IDEw
LAotICAgIGtDQ0RpZ2VzdFNIQTM4NCA9IDExLAotICAgIGtDQ0RpZ2VzdFNIQTUxMiA9IDEyLAot
fTsKLXR5cGVkZWYgdWludDMyX3QgQ0NEaWdlc3RBbGdvcml0aG07Ci0KLWVudW0gewotICAgIGNj
UlNBS2V5UHVibGljID0gMCwKLSAgICBjY1JTQUtleVByaXZhdGUgPSAxCi19OwotdHlwZWRlZiB1
aW50MzJfdCBDQ1JTQUtleVR5cGU7Ci0KLWVudW0gewotICAgIGNjUEtDUzFQYWRkaW5nID0gMTAw
MSwKLSAgICBjY09BRVBQYWRkaW5nID0gMTAwMiwKLSAgICBjY1JTQVBTU1BhZGRpbmcgPSAxMDA1
Ci19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0FzeW1tZXRyaWNQYWRkaW5nOwotI2VuZGlmCi0KKyNp
ZiAhSEFWRShDQ1JTQUdldENSVENvbXBvbmVudHMpCiB0eXBlZGVmIHN0cnVjdCBfQ0NCaWdOdW1S
ZWYgKkNDQmlnTnVtUmVmOwotCi10eXBlZGVmIHN0cnVjdCBfQ0NSU0FDcnlwdG9yICpDQ1JTQUNy
eXB0b3JSZWY7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JFbmNyeXB0
KENDUlNBQ3J5cHRvclJlZiBwdWJsaWNLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywg
Y29uc3Qgdm9pZCAqcGxhaW5UZXh0LCBzaXplX3QgcGxhaW5UZXh0TGVuLCB2b2lkICpjaXBoZXJU
ZXh0LCBzaXplX3QgKmNpcGhlclRleHRMZW4sIGNvbnN0IHZvaWQgKnRhZ0RhdGEsIHNpemVfdCB0
YWdEYXRhTGVuLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RUeXBlKTsKLWV4dGVybiAiQyIgQ0ND
cnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckRlY3J5cHQoQ0NSU0FDcnlwdG9yUmVmIHByaXZhdGVL
ZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFkZGluZywgY29uc3Qgdm9pZCAqY2lwaGVyVGV4dCwg
c2l6ZV90IGNpcGhlclRleHRMZW4sIHZvaWQgKnBsYWluVGV4dCwgc2l6ZV90ICpwbGFpblRleHRM
ZW4sIGNvbnN0IHZvaWQgKnRhZ0RhdGEsIHNpemVfdCB0YWdEYXRhTGVuLCBDQ0RpZ2VzdEFsZ29y
aXRobSBkaWdlc3RUeXBlKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRv
clNpZ24oQ0NSU0FDcnlwdG9yUmVmIHByaXZhdGVLZXksIENDQXN5bW1ldHJpY1BhZGRpbmcgcGFk
ZGluZywgY29uc3Qgdm9pZCAqaGFzaFRvU2lnbiwgc2l6ZV90IGhhc2hTaWduTGVuLCBDQ0RpZ2Vz
dEFsZ29yaXRobSBkaWdlc3RUeXBlLCBzaXplX3Qgc2FsdExlbiwgdm9pZCAqc2lnbmVkRGF0YSwg
c2l6ZV90ICpzaWduZWREYXRhTGVuKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNB
Q3J5cHRvclZlcmlmeShDQ1JTQUNyeXB0b3JSZWYgcHVibGljS2V5LCBDQ0FzeW1tZXRyaWNQYWRk
aW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKmhhc2gsIHNpemVfdCBoYXNoTGVuLCBDQ0RpZ2VzdEFs
Z29yaXRobSBkaWdlc3RUeXBlLCBzaXplX3Qgc2FsdExlbiwgY29uc3Qgdm9pZCAqc2lnbmVkRGF0
YSwgc2l6ZV90IHNpZ25lZERhdGFMZW4pOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NS
U0FDcnlwdG9yR2VuZXJhdGVQYWlyKHNpemVfdCBrZXlzaXplLCB1aW50MzJfdCBlLCBDQ1JTQUNy
eXB0b3JSZWYgKnB1YmxpY0tleSwgQ0NSU0FDcnlwdG9yUmVmICpwcml2YXRlS2V5KTsKLWV4dGVy
biAiQyIgQ0NSU0FDcnlwdG9yUmVmIENDUlNBQ3J5cHRvckdldFB1YmxpY0tleUZyb21Qcml2YXRl
S2V5KENDUlNBQ3J5cHRvclJlZiBwcml2a2V5KTsKLWV4dGVybiAiQyIgdm9pZCBDQ1JTQUNyeXB0
b3JSZWxlYXNlKENDUlNBQ3J5cHRvclJlZiBrZXkpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0
dXMgQ0NSU0FHZXRLZXlDb21wb25lbnRzKENDUlNBQ3J5cHRvclJlZiByc2FLZXksIHVpbnQ4X3Qg
Km1vZHVsdXMsIHNpemVfdCAqbW9kdWx1c0xlbmd0aCwgdWludDhfdCAqZXhwb25lbnQsIHNpemVf
dCAqZXhwb25lbnRMZW5ndGgsIHVpbnQ4X3QgKnAsIHNpemVfdCAqcExlbmd0aCwgdWludDhfdCAq
cSwgc2l6ZV90ICpxTGVuZ3RoKTsKLWV4dGVybiAiQyIgQ0NSU0FLZXlUeXBlIENDUlNBR2V0S2V5
VHlwZShDQ1JTQUNyeXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIEND
UlNBQ3J5cHRvckltcG9ydChjb25zdCB2b2lkICprZXlQYWNrYWdlLCBzaXplX3Qga2V5UGFja2Fn
ZUxlbiwgQ0NSU0FDcnlwdG9yUmVmICprZXkpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMg
Q0NSU0FDcnlwdG9yRXhwb3J0KENDUlNBQ3J5cHRvclJlZiBrZXksIHZvaWQgKm91dCwgc2l6ZV90
ICpvdXRMZW4pOwotCi0jaWYgSEFWRShDQ1JTQUdldENSVENvbXBvbmVudHMpCi1leHRlcm4gIkMi
IENDQ3J5cHRvclN0YXR1cyBDQ1JTQUdldENSVENvbXBvbmVudHNTaXplcyhDQ1JTQUNyeXB0b3JS
ZWYgcnNhS2V5LCBzaXplX3QgKmRwU2l6ZSwgc2l6ZV90ICpkcVNpemUsIHNpemVfdCAqcWludlNp
emUpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FHZXRDUlRDb21wb25lbnRzKEND
UlNBQ3J5cHRvclJlZiByc2FLZXksIHZvaWQgKmRwLCBzaXplX3QgZHBTaXplLCB2b2lkICpkcSwg
c2l6ZV90IGRxU2l6ZSwgdm9pZCAqcWludiwgc2l6ZV90IHFpbnZTaXplKTsKLSNlbmRpZgotCi0j
aWZuZGVmIF9DQ19FQ0NSWVBUT1JfSF8KLWVudW0gewotICAgIGNjRUNLZXlQdWJsaWMgPSAwLAot
ICAgIGNjRUNLZXlQcml2YXRlID0gMSwKLX07Ci10eXBlZGVmIHVpbnQzMl90IENDRUNLZXlUeXBl
OwotCi1lbnVtIHsKLSAgICBrQ0NJbXBvcnRLZXlCaW5hcnkgPSAwLAotfTsKLXR5cGVkZWYgdWlu
dDMyX3QgQ0NFQ0tleUV4dGVybmFsRm9ybWF0OwotI2VuZGlmCi0KLXR5cGVkZWYgc3RydWN0IF9D
Q0VDQ3J5cHRvciAqQ0NFQ0NyeXB0b3JSZWY7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q0VDQ3J5cHRvckdlbmVyYXRlUGFpcihzaXplX3Qga2V5c2l6ZSwgQ0NFQ0NyeXB0b3JSZWYgKnB1
YmxpY0tleSwgQ0NFQ0NyeXB0b3JSZWYgKnByaXZhdGVLZXkpOwotZXh0ZXJuICJDIiB2b2lkIEND
RUNDcnlwdG9yUmVsZWFzZShDQ0VDQ3J5cHRvclJlZiBrZXkpOwotZXh0ZXJuICJDIiBDQ0NyeXB0
b3JTdGF0dXMgQ0NFQ0NyeXB0b3JJbXBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZvcm1h
dCwgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90IGtleVBhY2thZ2VMZW4sIENDRUNLZXlUeXBlIGtl
eVR5cGUsIENDRUNDcnlwdG9yUmVmICprZXkpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMg
Q0NFQ0NyeXB0b3JFeHBvcnRLZXkoQ0NFQ0tleUV4dGVybmFsRm9ybWF0IGZvcm1hdCwgdm9pZCAq
a2V5UGFja2FnZSwgc2l6ZV90ICprZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBD
Q0VDQ3J5cHRvclJlZiBrZXkpOwotZXh0ZXJuICJDIiBpbnQgQ0NFQ0dldEtleVNpemUoQ0NFQ0Ny
eXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yQ3Jl
YXRlRnJvbURhdGEoc2l6ZV90IGtleVNpemUsIHVpbnQ4X3QgKnFYLCBzaXplX3QgcVhMZW5ndGgs
IHVpbnQ4X3QgKnFZLCBzaXplX3QgcVlMZW5ndGgsIENDRUNDcnlwdG9yUmVmICpyZWYpOwotZXh0
ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JHZXRLZXlDb21wb25lbnRzKENDRUND
cnlwdG9yUmVmIGVjS2V5LCBzaXplX3QgKmtleVNpemUsIHVpbnQ4X3QgKnFYLCBzaXplX3QgKnFY
TGVuZ3RoLCB1aW50OF90ICpxWSwgc2l6ZV90ICpxWUxlbmd0aCwgdWludDhfdCAqZCwgc2l6ZV90
ICpkTGVuZ3RoKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yQ29tcHV0
ZVNoYXJlZFNlY3JldChDQ0VDQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0VDQ3J5cHRvclJlZiBw
dWJsaWNLZXksIHZvaWQgKm91dCwgc2l6ZV90ICpvdXRMZW4pOwotZXh0ZXJuICJDIiBDQ0NyeXB0
b3JTdGF0dXMgQ0NFQ0NyeXB0b3JTaWduSGFzaChDQ0VDQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBj
b25zdCB2b2lkICpoYXNoVG9TaWduLCBzaXplX3QgaGFzaFNpZ25MZW4sIHZvaWQgKnNpZ25lZERh
dGEsIHNpemVfdCAqc2lnbmVkRGF0YUxlbik7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q0VDQ3J5cHRvclZlcmlmeUhhc2goQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5LCBjb25zdCB2b2lk
ICpoYXNoLCBzaXplX3QgaGFzaExlbiwgY29uc3Qgdm9pZCAqc2lnbmVkRGF0YSwgc2l6ZV90IHNp
Z25lZERhdGFMZW4sIHVpbnQzMl90ICp2YWxpZCk7Ci0KLSNpZm5kZWYgQ29tbW9uQ3J5cHRvX0Nv
bW1vbk5pc3RLZXlEZXJpdmF0aW9uX2gKLWVudW0gewotICAgIGtDQ0tERkFsZ29yaXRobUhLREYg
PSA2Ci19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0tERkFsZ29yaXRobTsKLSNlbmRpZgotCi1leHRl
cm4gIkMiIENDU3RhdHVzIENDS2V5RGVyaXZhdGlvbkhNYWMoQ0NLREZBbGdvcml0aG0gYWxnb3Jp
dGhtLCBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3QsIHVuc2lnbmVkIHJvdW5kcywgY29uc3Qgdm9p
ZCAqa2V5RGVyaXZhdGlvbktleSwgc2l6ZV90IGtleURlcml2YXRpb25LZXlMZW4sIGNvbnN0IHZv
aWQgKmxhYmVsLCBzaXplX3QgbGFiZWxMZW4sIGNvbnN0IHZvaWQgKmNvbnRleHQsIHNpemVfdCBj
b250ZXh0TGVuLCBjb25zdCB2b2lkICppdiwgc2l6ZV90IGl2TGVuLCBjb25zdCB2b2lkICpzYWx0
LCBzaXplX3Qgc2FsdExlbiwgdm9pZCAqZGVyaXZlZEtleSwgc2l6ZV90IGRlcml2ZWRLZXlMZW4p
OwotCi0jaWYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCi1leHRlcm4gIkMiIENDQ3J5cHRvclN0
YXR1cyBDQ0NyeXB0b3JHQ00oQ0NPcGVyYXRpb24gb3AsIENDQWxnb3JpdGhtIGFsZywgY29uc3Qg
dm9pZCoga2V5LCBzaXplX3Qga2V5TGVuZ3RoLCBjb25zdCB2b2lkKiBpdiwgc2l6ZV90IGl2TGVu
LCBjb25zdCB2b2lkKiBhRGF0YSwgc2l6ZV90IGFEYXRhTGVuLCBjb25zdCB2b2lkKiBkYXRhSW4s
IHNpemVfdCBkYXRhSW5MZW5ndGgsIHZvaWQqIGRhdGFPdXQsIHZvaWQqIHRhZywgc2l6ZV90KiB0
YWdMZW5ndGgpOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yQ3JlYXRl
RnJvbURhdGEoQ0NSU0FLZXlUeXBlIGtleVR5cGUsIGNvbnN0IHVpbnQ4X3QgKm1vZHVsdXMsIHNp
emVfdCBtb2R1bHVzTGVuZ3RoLCBjb25zdCB1aW50OF90ICpleHBvbmVudCwgc2l6ZV90IGV4cG9u
ZW50TGVuZ3RoLCBjb25zdCB1aW50OF90ICpwLCBzaXplX3QgcExlbmd0aCwgY29uc3QgdWludDhf
dCAqcSwgc2l6ZV90IHFMZW5ndGgsIENDUlNBQ3J5cHRvclJlZiAqcmVmKTsKICNlbmRpZgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFj
L0NyeXB0b0FsZ29yaXRobUhLREZNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9D
cnlwdG9BbGdvcml0aG1IS0RGTWFjLmNwcAppbmRleCA5ZTk2NmNiNzQ0YzI3ZjMyMDAwMWYxZjUy
ZWU0YTRmNWZkZDJkZTJmLi42Y2FhNWYzY2JlNTM5ZmU2NTRjYjdhOWZlZmVkOTRiOWE3MmQ1NzMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUhL
REZNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGht
SEtERk1hYy5jcHAKQEAgLTQwLDkgKzQwLDEyIEBAIEV4Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90
Pj4gQ3J5cHRvQWxnb3JpdGhtSEtERjo6cGxhdGZvcm1EZXJpdmVCaXRzKGNvbnN0IENyeXB0CiAg
ICAgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0QWxnb3JpdGhtOwogICAgIGdldENvbW1vbkNyeXB0
b0RpZ2VzdEFsZ29yaXRobShwYXJhbWV0ZXJzLmhhc2hJZGVudGlmaWVyLCBkaWdlc3RBbGdvcml0
aG0pOwogCisgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAvLyA8
cmRhcjovL3Byb2JsZW0vMzI0Mzk0NTU+IEN1cnJlbnRseSwgd2hlbiBrZXkgZGF0YSBpcyBlbXB0
eSwgQ0NLZXlEZXJpdmF0aW9uSE1hYyB3aWxsIGJhaWwgb3V0LgorICAgIC8vIDxyZGFyOi8vcHJv
YmxlbS80ODg5NjAyMT4gUmVtaW5kZXI6IFN3aXRjaCB0byBDQ0Rlcml2ZUtleSBub3cgdGhhdCBD
Q0tleURlcml2YXRpb25ITWFjIGlzIGRlcHJlY2F0ZWQuCiAgICAgaWYgKENDS2V5RGVyaXZhdGlv
bkhNYWMoa0NDS0RGQWxnb3JpdGhtSEtERiwgZGlnZXN0QWxnb3JpdGhtLCAwLCBrZXkua2V5KCku
ZGF0YSgpLCBrZXkua2V5KCkuc2l6ZSgpLCAwLCAwLCBwYXJhbWV0ZXJzLmluZm9WZWN0b3IoKS5k
YXRhKCksIHBhcmFtZXRlcnMuaW5mb1ZlY3RvcigpLnNpemUoKSwgMCwgMCwgcGFyYW1ldGVycy5z
YWx0VmVjdG9yKCkuZGF0YSgpLCBwYXJhbWV0ZXJzLnNhbHRWZWN0b3IoKS5zaXplKCksIHJlc3Vs
dC5kYXRhKCksIHJlc3VsdC5zaXplKCkpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3Bl
cmF0aW9uRXJyb3IgfTsKKyAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKICAg
ICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364763</attachid>
            <date>2019-03-14 20:10:50 -0700</date>
            <delta_ts>2019-03-14 20:14:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-195754-20190314201049.patch</filename>
            <type>text/plain</type>
            <size>21221</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgxMDc5MzliNGNjNzAw
NzNhZThkN2FhOTExMWFlOGVmZDY4ZTdlNy4uMTI0ZDEyYjQ5NDQwNDE0ODE5MTUwYmZiMzk2ODZi
NDZiNTY2YTA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAzLTE0ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgQ29yZUNyeXB0
byBTUEkgZGVjbGFyYXRpb25zIHRvIGFuIGFwcHJvcHJpYXRlIFBBTC9zcGkgaGVhZGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NTQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NTkxOTU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEppZXdl
biBUYW4uCisKKyAgICAgICAgTW92ZSB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMgb2YgdmFyaW91
cyBDb3JlQ3J5cHRvIFNQSSB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlci4KKyAgICAg
ICAgVXBkYXRlIHRoZSBjb25zdCBjb3JyZWN0bmVzcyBvZiBvbmUgZnVuY3Rpb24gY2FsbCB0byBt
YXRjaCBuZXcgU0RLIGRlY2xhcmF0aW9uLgorCisgICAgICAgIE5vIHRlc3RzIGJlY2F1c2UgdGhl
cmUgYXJlIG5vIGNoYW5nZXMgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBjcnlwdG8vQ29tbW9u
Q3J5cHRvVXRpbGl0aWVzLmg6CisgICAgICAgICogY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1I
S0RGTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhLREY6OnBsYXRm
b3JtRGVyaXZlQml0cyk6CisKIDIwMTktMDMtMTQgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW5kZXhlZERCOiByZS1lbmFibGUgc29tZSBsZWFrIHRlc3RzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwppbmRleCAwMDA5ZTA4ODI0YmIwYjRhMGRkZmJkNmUxZWRlMDc1ZmZmMzdk
NDYzLi4wNDZkOGJiZjY0ODA3MDAyY2Q1NGM3NTlkODE4YzU4MzQwMDIyZTQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMy0xNCAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIENvcmVDcnlwdG8gU1BJIGRlY2xhcmF0
aW9ucyB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzU0CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80ODU5MTk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBKaWV3ZW4gVGFuLgorCisgICAg
ICAgIE1vdmUgdGhlIGZvcndhcmQgZGVjbGFyYXRpb25zIG9mIHZhcmlvdXMgQ29yZUNyeXB0byBT
UEkgdG8gYW4gYXBwcm9wcmlhdGUgUEFML3NwaSBoZWFkZXIuCisgICAgICAgIFVwZGF0ZSB0aGUg
Y29uc3QgY29ycmVjdG5lc3Mgb2Ygb25lIGZ1bmN0aW9uIGNhbGwgdG8gbWF0Y2ggbmV3IFNESyBk
ZWNsYXJhdGlvbi4KKworICAgICAgICBObyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGFyZSBubyBjaGFu
Z2VzIGluIGJlaGF2aW9yLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5oLgorCiAyMDE5
LTAzLTE0ICBTaGF3biBSb2JlcnRzICA8c3JvYmVydHNAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDI5ODEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTQyODEwYTg2YTdmOTlhMGUzZDcx
MDA0YzFkNTMwMzcwNDc0NzYzNS4uNDg4NGVkMzFlM2I0YTQxYTRmMWY5NTQwMThlZmVjMzliYzAw
MWNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtOTgsNiArOTgsNyBAQAogCQkwQzc3ODVBMDFGNDUxMzBGMDBGNEVCQjYgLyog
UXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwQzc3ODU4NzFGNDUxMzBGMDBGNEVCQjYgLyogUXVpY2tMb29rTWFjU1BJLmggKi87
IH07CiAJCTBDNzc4NUExMUY0NTEzMEYwMEY0RUJCNiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDNzc4NTg4
MUY0NTEzMEYwMEY0RUJCNiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEkuaCAqLzsgfTsKIAkJMENG
OTlDQTQxRjczNjM3NTAwN0VFNzkzIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzAwQ0ZEMTFGNjhDRTQ2
MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCAqLzsgfTsKKwkJN0EzNkQwRjky
MjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzNkQwRjgyMjNBRDlBQjAwQjA1MjJFIC8qIENv
bW1vbkNyeXB0b1NQSS5oICovOyB9OwogCQkwQ0Y5OUNBODFGNzM4NDM3MDA3RUU3OTMgLyogQ29y
ZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMENGOTlDQTYxRjczODQzNjAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNw
cCAqLzsgfTsKIAkJMENGOTlDQTkxRjczODQzNzAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5r
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQ0Y5OUNB
NzFGNzM4NDM3MDA3RUU3OTMgLyogQ29yZU1lZGlhU29mdExpbmsuaCAqLzsgfTsKIAkJMUMwOUQw
NTMxRTMxQzQ0MTAwNzI1RjE4IC8qIENyeXB0b0RpZ2VzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwOUQwNTIxRTMxQzQ0MTAwNzI1RjE4IC8qIENy
eXB0b0RpZ2VzdC5oICovOyB9OwpAQCAtMTgxLDYgKzE4Miw3IEBACiAJCTBDMkRBMDY4MUYzM0NB
ODQwMERCQzMxNyAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDY5MUYzM0NBODQwMERCQzMxNyAvKiBDRk5l
dHdvcmtTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDZBMUYzM0NBODQwMERCQzMx
NyAvKiBDRlV0aWxpdGllc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
RlV0aWxpdGllc1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QTM2RDBGODIy
M0FEOUFCMDBCMDUyMkUgLyogQ29tbW9uQ3J5cHRvU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvbW1vbkNyeXB0b1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwQzJEQTA2QjFGMzNDQTg0MDBEQkMzMTcgLyogQ29yZUF1ZGlvU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVBdWRpb1NQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwQzJEQTA2QzFGMzNDQTg0MDBEQkMzMTcgLyogQ29yZU1lZGlhU1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVNZWRpYVNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEQTExQzFGM0JFOUUwMDBEQkMzMTcgLyogQ29yZUdy
YXBoaWNzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVHcmFwaGlj
c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzg2LDYgKzM4OCw3IEBACiAJ
CQkJMkQwMkU5M0IyMDU2RkFBNzAwQTEzNzk3IC8qIEF1ZGlvVG9vbGJveFNQSS5oICovLAogCQkJ
CTBDMkRBMTIyMUYzQkVCNDkwMERCQzMxNyAvKiBBVktpdFNQSS5oICovLAogCQkJCTBDMkRBMTIz
MUYzQkVCNDkwMERCQzMxNyAvKiBDRk5TVVJMQ29ubmVjdGlvblNQSS5oICovLAorCQkJCTdBMzZE
MEY4MjIzQUQ5QUIwMEIwNTIyRSAvKiBDb21tb25DcnlwdG9TUEkuaCAqLywKIAkJCQkwQzJEQTEy
NDFGM0JFQjQ5MDBEQkMzMTcgLyogQ29yZVRleHRTUEkuaCAqLywKIAkJCQkwQzJEQTEyNTFGM0JF
QjQ5MDBEQkMzMTcgLyogRGF0YURldGVjdG9yc0NvcmVTUEkuaCAqLywKIAkJCQlDRTU2NzM4NjIx
NTFBN0I5MDAyRjkyRDcgLyogSU9LaXRTUEkuaCAqLywKQEAgLTY3OSw2ICs2ODIsNyBAQAogCQkJ
CTBDMkRBMDcwMUYzM0NBODQwMERCQzMxNyAvKiBDRlV0aWxpdGllc1NQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEM1RkZGMEMxRjc4RDk5MDAwOUVGRjFBIC8qIENsb2NrLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzVGRkYxMDFGNzhEOURBMDA5RUZGMUEgLyogQ2xvY2tDTS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJN0EzNkQwRjkyMjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUMwOUQwNTgxRTMxQzU3RTAwNzI1RjE4IC8qIGNvbmZpZy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEMyREEwNzExRjMzQ0E4NDAwREJDMzE3IC8qIENvcmVBdWRpb1NQ
SS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExMUUxRjNCRTlFMDAwREJDMzE3IC8qIENvcmVH
cmFwaGljc1NQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4MzlmYTNhZTQxMmFi
OTg2ZDQ1YzU4MDk3MGE4ZjIyN2E1NzRlZGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaApAQCAtMCwwICsxLDEyOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiAoUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMw
MCkKKyNkZWZpbmUgSEFWRV9DQ1JTQUdldENSVENvbXBvbmVudHMgMQorI2VuZGlmCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25Dcnlw
dG9yU1BJLmg+CisjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkRpZ2VzdFNQSS5oPgorI2lu
Y2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25FQ0NyeXB0b3IuaD4KKyNpbmNsdWRlIDxDb21tb25D
cnlwdG8vQ29tbW9uS2V5RGVyaXZhdGlvblNQSS5oPgorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9D
b21tb25SU0FDcnlwdG9yLmg+CisKKyNpZiBIQVZFKENDUlNBR2V0Q1JUQ29tcG9uZW50cykKKyNp
bmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uUlNBQ3J5cHRvclNQSS5oPgorI2VuZGlmCisKKyNl
bHNlCisKKyNpZm5kZWYgX0NDX1JTQUNSWVBUT1JfSF8KK2VudW0geworICAgIGtDQ0RpZ2VzdE5v
bmUgPSAwLAorICAgIGtDQ0RpZ2VzdFNIQTEgPSA4LAorICAgIGtDQ0RpZ2VzdFNIQTIyNCA9IDks
CisgICAga0NDRGlnZXN0U0hBMjU2ID0gMTAsCisgICAga0NDRGlnZXN0U0hBMzg0ID0gMTEsCisg
ICAga0NDRGlnZXN0U0hBNTEyID0gMTIsCit9OwordHlwZWRlZiB1aW50MzJfdCBDQ0RpZ2VzdEFs
Z29yaXRobTsKKworZW51bSB7CisgICAgY2NSU0FLZXlQdWJsaWMgPSAwLAorICAgIGNjUlNBS2V5
UHJpdmF0ZSA9IDEKK307Cit0eXBlZGVmIHVpbnQzMl90IENDUlNBS2V5VHlwZTsKKworZW51bSB7
CisgICAgY2NQS0NTMVBhZGRpbmcgPSAxMDAxLAorICAgIGNjT0FFUFBhZGRpbmcgPSAxMDAyLAor
ICAgIGNjUlNBUFNTUGFkZGluZyA9IDEwMDUKK307Cit0eXBlZGVmIHVpbnQzMl90IENDQXN5bW1l
dHJpY1BhZGRpbmc7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3QgX0NDUlNBQ3J5cHRvciAqQ0NS
U0FDcnlwdG9yUmVmOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yRW5j
cnlwdChDQ1JTQUNyeXB0b3JSZWYgcHVibGljS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRp
bmcsIGNvbnN0IHZvaWQgKnBsYWluVGV4dCwgc2l6ZV90IHBsYWluVGV4dExlbiwgdm9pZCAqY2lw
aGVyVGV4dCwgc2l6ZV90ICpjaXBoZXJUZXh0TGVuLCBjb25zdCB2b2lkICp0YWdEYXRhLCBzaXpl
X3QgdGFnRGF0YUxlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0VHlwZSk7CitleHRlcm4gIkMi
IENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JEZWNyeXB0KENDUlNBQ3J5cHRvclJlZiBwcml2
YXRlS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKmNpcGhlclRl
eHQsIHNpemVfdCBjaXBoZXJUZXh0TGVuLCB2b2lkICpwbGFpblRleHQsIHNpemVfdCAqcGxhaW5U
ZXh0TGVuLCBjb25zdCB2b2lkICp0YWdEYXRhLCBzaXplX3QgdGFnRGF0YUxlbiwgQ0NEaWdlc3RB
bGdvcml0aG0gZGlnZXN0VHlwZSk7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNy
eXB0b3JTaWduKENDUlNBQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5n
IHBhZGRpbmcsIGNvbnN0IHZvaWQgKmhhc2hUb1NpZ24sIHNpemVfdCBoYXNoU2lnbkxlbiwgQ0NE
aWdlc3RBbGdvcml0aG0gZGlnZXN0VHlwZSwgc2l6ZV90IHNhbHRMZW4sIHZvaWQgKnNpZ25lZERh
dGEsIHNpemVfdCAqc2lnbmVkRGF0YUxlbik7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q1JTQUNyeXB0b3JWZXJpZnkoQ0NSU0FDcnlwdG9yUmVmIHB1YmxpY0tleSwgQ0NBc3ltbWV0cmlj
UGFkZGluZyBwYWRkaW5nLCBjb25zdCB2b2lkICpoYXNoLCBzaXplX3QgaGFzaExlbiwgQ0NEaWdl
c3RBbGdvcml0aG0gZGlnZXN0VHlwZSwgc2l6ZV90IHNhbHRMZW4sIGNvbnN0IHZvaWQgKnNpZ25l
ZERhdGEsIHNpemVfdCBzaWduZWREYXRhTGVuKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVz
IENDUlNBQ3J5cHRvckdlbmVyYXRlUGFpcihzaXplX3Qga2V5c2l6ZSwgdWludDMyX3QgZSwgQ0NS
U0FDcnlwdG9yUmVmICpwdWJsaWNLZXksIENDUlNBQ3J5cHRvclJlZiAqcHJpdmF0ZUtleSk7Citl
eHRlcm4gIkMiIENDUlNBQ3J5cHRvclJlZiBDQ1JTQUNyeXB0b3JHZXRQdWJsaWNLZXlGcm9tUHJp
dmF0ZUtleShDQ1JTQUNyeXB0b3JSZWYgcHJpdmtleSk7CitleHRlcm4gIkMiIHZvaWQgQ0NSU0FD
cnlwdG9yUmVsZWFzZShDQ1JTQUNyeXB0b3JSZWYga2V5KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9y
U3RhdHVzIENDUlNBR2V0S2V5Q29tcG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCB1aW50
OF90ICptb2R1bHVzLCBzaXplX3QgKm1vZHVsdXNMZW5ndGgsIHVpbnQ4X3QgKmV4cG9uZW50LCBz
aXplX3QgKmV4cG9uZW50TGVuZ3RoLCB1aW50OF90ICpwLCBzaXplX3QgKnBMZW5ndGgsIHVpbnQ4
X3QgKnEsIHNpemVfdCAqcUxlbmd0aCk7CitleHRlcm4gIkMiIENDUlNBS2V5VHlwZSBDQ1JTQUdl
dEtleVR5cGUoQ0NSU0FDcnlwdG9yUmVmIGtleSk7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1
cyBDQ1JTQUNyeXB0b3JJbXBvcnQoY29uc3Qgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90IGtleVBh
Y2thZ2VMZW4sIENDUlNBQ3J5cHRvclJlZiAqa2V5KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3Rh
dHVzIENDUlNBQ3J5cHRvckV4cG9ydChDQ1JTQUNyeXB0b3JSZWYga2V5LCB2b2lkICpvdXQsIHNp
emVfdCAqb3V0TGVuKTsKKworI2lmIEhBVkUoQ0NSU0FHZXRDUlRDb21wb25lbnRzKQorZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FHZXRDUlRDb21wb25lbnRzU2l6ZXMoQ0NSU0FDcnlw
dG9yUmVmIHJzYUtleSwgc2l6ZV90ICpkcFNpemUsIHNpemVfdCAqZHFTaXplLCBzaXplX3QgKnFp
bnZTaXplKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBR2V0Q1JUQ29tcG9uZW50
cyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCB2b2lkICpkcCwgc2l6ZV90IGRwU2l6ZSwgdm9pZCAq
ZHEsIHNpemVfdCBkcVNpemUsIHZvaWQgKnFpbnYsIHNpemVfdCBxaW52U2l6ZSk7CisjZW5kaWYK
KworI2lmbmRlZiBfQ0NfRUNDUllQVE9SX0hfCitlbnVtIHsKKyAgICBjY0VDS2V5UHVibGljID0g
MCwKKyAgICBjY0VDS2V5UHJpdmF0ZSA9IDEsCit9OwordHlwZWRlZiB1aW50MzJfdCBDQ0VDS2V5
VHlwZTsKKworZW51bSB7CisgICAga0NDSW1wb3J0S2V5QmluYXJ5ID0gMCwKK307Cit0eXBlZGVm
IHVpbnQzMl90IENDRUNLZXlFeHRlcm5hbEZvcm1hdDsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVj
dCBfQ0NFQ0NyeXB0b3IgKkNDRUNDcnlwdG9yUmVmOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0
dXMgQ0NFQ0NyeXB0b3JHZW5lcmF0ZVBhaXIoc2l6ZV90IGtleXNpemUsIENDRUNDcnlwdG9yUmVm
ICpwdWJsaWNLZXksIENDRUNDcnlwdG9yUmVmICpwcml2YXRlS2V5KTsKK2V4dGVybiAiQyIgdm9p
ZCBDQ0VDQ3J5cHRvclJlbGVhc2UoQ0NFQ0NyeXB0b3JSZWYga2V5KTsKKyNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBM
QVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEzMDAwMCkKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9ySW1wb3J0S2V5
KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIGNvbnN0IHZvaWQgKmtleVBhY2thZ2UsIHNp
emVfdCBrZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBDQ0VDQ3J5cHRvclJlZiAq
a2V5KTsKKyNlbHNlCitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckltcG9y
dEtleShDQ0VDS2V5RXh0ZXJuYWxGb3JtYXQgZm9ybWF0LCB2b2lkICprZXlQYWNrYWdlLCBzaXpl
X3Qga2V5UGFja2FnZUxlbiwgQ0NFQ0tleVR5cGUga2V5VHlwZSwgQ0NFQ0NyeXB0b3JSZWYgKmtl
eSk7CisjZW5kaWYKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yRXhwb3J0
S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtleVBhY2thZ2UsIHNpemVf
dCAqa2V5UGFja2FnZUxlbiwgQ0NFQ0tleVR5cGUga2V5VHlwZSwgQ0NFQ0NyeXB0b3JSZWYga2V5
KTsKK2V4dGVybiAiQyIgaW50IENDRUNHZXRLZXlTaXplKENDRUNDcnlwdG9yUmVmIGtleSk7Citl
eHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNyZWF0ZUZyb21EYXRhKHNpemVf
dCBrZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90IHFYTGVuZ3RoLCB1aW50OF90ICpxWSwgc2l6
ZV90IHFZTGVuZ3RoLCBDQ0VDQ3J5cHRvclJlZiAqcmVmKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9y
U3RhdHVzIENDRUNDcnlwdG9yR2V0S2V5Q29tcG9uZW50cyhDQ0VDQ3J5cHRvclJlZiBlY0tleSwg
c2l6ZV90ICprZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90ICpxWExlbmd0aCwgdWludDhfdCAq
cVksIHNpemVfdCAqcVlMZW5ndGgsIHVpbnQ4X3QgKmQsIHNpemVfdCAqZExlbmd0aCk7CitleHRl
cm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNvbXB1dGVTaGFyZWRTZWNyZXQoQ0NF
Q0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5LCB2b2lkICpv
dXQsIHNpemVfdCAqb3V0TGVuKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlw
dG9yU2lnbkhhc2goQ0NFQ0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgY29uc3Qgdm9pZCAqaGFzaFRv
U2lnbiwgc2l6ZV90IGhhc2hTaWduTGVuLCB2b2lkICpzaWduZWREYXRhLCBzaXplX3QgKnNpZ25l
ZERhdGFMZW4pOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JWZXJpZnlI
YXNoKENDRUNDcnlwdG9yUmVmIHB1YmxpY0tleSwgY29uc3Qgdm9pZCAqaGFzaCwgc2l6ZV90IGhh
c2hMZW4sIGNvbnN0IHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCBzaWduZWREYXRhTGVuLCB1aW50
MzJfdCAqdmFsaWQpOworCisjaWZuZGVmIENvbW1vbkNyeXB0b19Db21tb25OaXN0S2V5RGVyaXZh
dGlvbl9oCitlbnVtIHsKKyAgICBrQ0NLREZBbGdvcml0aG1IS0RGID0gNgorfTsKK3R5cGVkZWYg
dWludDMyX3QgQ0NLREZBbGdvcml0aG07CisjZW5kaWYKKworZXh0ZXJuICJDIiBDQ1N0YXR1cyBD
Q0tleURlcml2YXRpb25ITWFjKENDS0RGQWxnb3JpdGhtIGFsZ29yaXRobSwgQ0NEaWdlc3RBbGdv
cml0aG0gZGlnZXN0LCB1bnNpZ25lZCByb3VuZHMsIGNvbnN0IHZvaWQgKmtleURlcml2YXRpb25L
ZXksIHNpemVfdCBrZXlEZXJpdmF0aW9uS2V5TGVuLCBjb25zdCB2b2lkICpsYWJlbCwgc2l6ZV90
IGxhYmVsTGVuLCBjb25zdCB2b2lkICpjb250ZXh0LCBzaXplX3QgY29udGV4dExlbiwgY29uc3Qg
dm9pZCAqaXYsIHNpemVfdCBpdkxlbiwgY29uc3Qgdm9pZCAqc2FsdCwgc2l6ZV90IHNhbHRMZW4s
IHZvaWQgKmRlcml2ZWRLZXksIHNpemVfdCBkZXJpdmVkS2V5TGVuKTsKKworZXh0ZXJuICJDIiBD
Q0NyeXB0b3JTdGF0dXMgQ0NDcnlwdG9yR0NNKENDT3BlcmF0aW9uIG9wLCBDQ0FsZ29yaXRobSBh
bGcsIGNvbnN0IHZvaWQqIGtleSwgc2l6ZV90IGtleUxlbmd0aCwgY29uc3Qgdm9pZCogaXYsIHNp
emVfdCBpdkxlbiwgY29uc3Qgdm9pZCogYURhdGEsIHNpemVfdCBhRGF0YUxlbiwgY29uc3Qgdm9p
ZCogZGF0YUluLCBzaXplX3QgZGF0YUluTGVuZ3RoLCB2b2lkKiBkYXRhT3V0LCB2b2lkKiB0YWcs
IHNpemVfdCogdGFnTGVuZ3RoKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5
cHRvckNyZWF0ZUZyb21EYXRhKENDUlNBS2V5VHlwZSBrZXlUeXBlLCBjb25zdCB1aW50OF90ICpt
b2R1bHVzLCBzaXplX3QgbW9kdWx1c0xlbmd0aCwgY29uc3QgdWludDhfdCAqZXhwb25lbnQsIHNp
emVfdCBleHBvbmVudExlbmd0aCwgY29uc3QgdWludDhfdCAqcCwgc2l6ZV90IHBMZW5ndGgsIGNv
bnN0IHVpbnQ4X3QgKnEsIHNpemVfdCBxTGVuZ3RoLCBDQ1JTQUNyeXB0b3JSZWYgKnJlZik7CisK
KyNlbmRpZiAvLyAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9Db21tb25DcnlwdG9VdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9Db21tb25DcnlwdG9VdGlsaXRpZXMuaAppbmRleCA1YzAwYTY4MjBiNjViOWUxMmE1YTFl
ZDYyNmZkNzhlOGUzYWVhNWEzLi5mODIzNDdkYTY0MjY2ZDg2ZTMwYTEzYjgxZTc5MTJmNDE0YTAy
YzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ29tbW9uQ3J5cHRvVXRpbGl0
aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5o
CkBAIC0yNSwxMTEgKzI1LDE2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgKFBMQVRGT1JNKElP
U19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkg
fHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEzMDApCi0jZGVmaW5lIEhBVkVfQ0NSU0FHZXRDUlRDb21wb25lbnRzIDEKLSNlbmRpZgotCiAj
aWYgRU5BQkxFKFdFQl9DUllQVE8pCiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyLmgiCiAjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkNyeXB0b3IuaD4KICNpbmNsdWRl
IDxDb21tb25DcnlwdG8vQ29tbW9uUmFuZG9tLmg+CisjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9D
b21tb25DcnlwdG9TUEkuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25DcnlwdG9yU1BJ
Lmg+Ci0jaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkVDQ3J5cHRvci5oPgotLy8gRklYTUU6
IDxyZGFyOi8vcHJvYmxlbS8zMTUwODk1OT4KLS8vICNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29t
bW9uS2V5RGVyaXZhdGlvblNQSS5oPgotI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25SU0FD
cnlwdG9yLmg+Ci0jZW5kaWYKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIEhBVkUo
Q0NSU0FHZXRDUlRDb21wb25lbnRzKQotI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25SU0FD
cnlwdG9yU1BJLmg+Ci0jZW5kaWYKLQotI2lmbmRlZiBfQ0NfUlNBQ1JZUFRPUl9IXwotZW51bSB7
Ci0gICAga0NDRGlnZXN0Tm9uZSA9IDAsCi0gICAga0NDRGlnZXN0U0hBMSA9IDgsCi0gICAga0ND
RGlnZXN0U0hBMjI0ID0gOSwKLSAgICBrQ0NEaWdlc3RTSEEyNTYgPSAxMCwKLSAgICBrQ0NEaWdl
c3RTSEEzODQgPSAxMSwKLSAgICBrQ0NEaWdlc3RTSEE1MTIgPSAxMiwKLX07Ci10eXBlZGVmIHVp
bnQzMl90IENDRGlnZXN0QWxnb3JpdGhtOwotCi1lbnVtIHsKLSAgICBjY1JTQUtleVB1YmxpYyA9
IDAsCi0gICAgY2NSU0FLZXlQcml2YXRlID0gMQotfTsKLXR5cGVkZWYgdWludDMyX3QgQ0NSU0FL
ZXlUeXBlOwotCi1lbnVtIHsKLSAgICBjY1BLQ1MxUGFkZGluZyA9IDEwMDEsCi0gICAgY2NPQUVQ
UGFkZGluZyA9IDEwMDIsCi0gICAgY2NSU0FQU1NQYWRkaW5nID0gMTAwNQotfTsKLXR5cGVkZWYg
dWludDMyX3QgQ0NBc3ltbWV0cmljUGFkZGluZzsKLSNlbmRpZgotCisjaWYgIUhBVkUoQ0NSU0FH
ZXRDUlRDb21wb25lbnRzKQogdHlwZWRlZiBzdHJ1Y3QgX0NDQmlnTnVtUmVmICpDQ0JpZ051bVJl
ZjsKLQotdHlwZWRlZiBzdHJ1Y3QgX0NDUlNBQ3J5cHRvciAqQ0NSU0FDcnlwdG9yUmVmOwotZXh0
ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yRW5jcnlwdChDQ1JTQUNyeXB0b3JS
ZWYgcHVibGljS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKnBs
YWluVGV4dCwgc2l6ZV90IHBsYWluVGV4dExlbiwgdm9pZCAqY2lwaGVyVGV4dCwgc2l6ZV90ICpj
aXBoZXJUZXh0TGVuLCBjb25zdCB2b2lkICp0YWdEYXRhLCBzaXplX3QgdGFnRGF0YUxlbiwgQ0NE
aWdlc3RBbGdvcml0aG0gZGlnZXN0VHlwZSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q1JTQUNyeXB0b3JEZWNyeXB0KENDUlNBQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0FzeW1tZXRy
aWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKmNpcGhlclRleHQsIHNpemVfdCBjaXBoZXJU
ZXh0TGVuLCB2b2lkICpwbGFpblRleHQsIHNpemVfdCAqcGxhaW5UZXh0TGVuLCBjb25zdCB2b2lk
ICp0YWdEYXRhLCBzaXplX3QgdGFnRGF0YUxlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0VHlw
ZSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JTaWduKENDUlNBQ3J5
cHRvclJlZiBwcml2YXRlS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZv
aWQgKmhhc2hUb1NpZ24sIHNpemVfdCBoYXNoU2lnbkxlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGln
ZXN0VHlwZSwgc2l6ZV90IHNhbHRMZW4sIHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCAqc2lnbmVk
RGF0YUxlbik7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JWZXJpZnko
Q0NSU0FDcnlwdG9yUmVmIHB1YmxpY0tleSwgQ0NBc3ltbWV0cmljUGFkZGluZyBwYWRkaW5nLCBj
b25zdCB2b2lkICpoYXNoLCBzaXplX3QgaGFzaExlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0
VHlwZSwgc2l6ZV90IHNhbHRMZW4sIGNvbnN0IHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCBzaWdu
ZWREYXRhTGVuKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckdlbmVy
YXRlUGFpcihzaXplX3Qga2V5c2l6ZSwgdWludDMyX3QgZSwgQ0NSU0FDcnlwdG9yUmVmICpwdWJs
aWNLZXksIENDUlNBQ3J5cHRvclJlZiAqcHJpdmF0ZUtleSk7Ci1leHRlcm4gIkMiIENDUlNBQ3J5
cHRvclJlZiBDQ1JTQUNyeXB0b3JHZXRQdWJsaWNLZXlGcm9tUHJpdmF0ZUtleShDQ1JTQUNyeXB0
b3JSZWYgcHJpdmtleSk7Ci1leHRlcm4gIkMiIHZvaWQgQ0NSU0FDcnlwdG9yUmVsZWFzZShDQ1JT
QUNyeXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBR2V0S2V5
Q29tcG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCB1aW50OF90ICptb2R1bHVzLCBzaXpl
X3QgKm1vZHVsdXNMZW5ndGgsIHVpbnQ4X3QgKmV4cG9uZW50LCBzaXplX3QgKmV4cG9uZW50TGVu
Z3RoLCB1aW50OF90ICpwLCBzaXplX3QgKnBMZW5ndGgsIHVpbnQ4X3QgKnEsIHNpemVfdCAqcUxl
bmd0aCk7Ci1leHRlcm4gIkMiIENDUlNBS2V5VHlwZSBDQ1JTQUdldEtleVR5cGUoQ0NSU0FDcnlw
dG9yUmVmIGtleSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JJbXBv
cnQoY29uc3Qgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90IGtleVBhY2thZ2VMZW4sIENDUlNBQ3J5
cHRvclJlZiAqa2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckV4
cG9ydChDQ1JTQUNyeXB0b3JSZWYga2V5LCB2b2lkICpvdXQsIHNpemVfdCAqb3V0TGVuKTsKLQot
I2lmIEhBVkUoQ0NSU0FHZXRDUlRDb21wb25lbnRzKQotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0
dXMgQ0NSU0FHZXRDUlRDb21wb25lbnRzU2l6ZXMoQ0NSU0FDcnlwdG9yUmVmIHJzYUtleSwgc2l6
ZV90ICpkcFNpemUsIHNpemVfdCAqZHFTaXplLCBzaXplX3QgKnFpbnZTaXplKTsKLWV4dGVybiAi
QyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBR2V0Q1JUQ29tcG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYg
cnNhS2V5LCB2b2lkICpkcCwgc2l6ZV90IGRwU2l6ZSwgdm9pZCAqZHEsIHNpemVfdCBkcVNpemUs
IHZvaWQgKnFpbnYsIHNpemVfdCBxaW52U2l6ZSk7Ci0jZW5kaWYKLQotI2lmbmRlZiBfQ0NfRUND
UllQVE9SX0hfCi1lbnVtIHsKLSAgICBjY0VDS2V5UHVibGljID0gMCwKLSAgICBjY0VDS2V5UHJp
dmF0ZSA9IDEsCi19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0VDS2V5VHlwZTsKLQotZW51bSB7Ci0g
ICAga0NDSW1wb3J0S2V5QmluYXJ5ID0gMCwKLX07Ci10eXBlZGVmIHVpbnQzMl90IENDRUNLZXlF
eHRlcm5hbEZvcm1hdDsKLSNlbmRpZgotCi10eXBlZGVmIHN0cnVjdCBfQ0NFQ0NyeXB0b3IgKkND
RUNDcnlwdG9yUmVmOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JHZW5l
cmF0ZVBhaXIoc2l6ZV90IGtleXNpemUsIENDRUNDcnlwdG9yUmVmICpwdWJsaWNLZXksIENDRUND
cnlwdG9yUmVmICpwcml2YXRlS2V5KTsKLWV4dGVybiAiQyIgdm9pZCBDQ0VDQ3J5cHRvclJlbGVh
c2UoQ0NFQ0NyeXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUND
cnlwdG9ySW1wb3J0S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtleVBh
Y2thZ2UsIHNpemVfdCBrZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBDQ0VDQ3J5
cHRvclJlZiAqa2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yRXhw
b3J0S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtleVBhY2thZ2UsIHNp
emVfdCAqa2V5UGFja2FnZUxlbiwgQ0NFQ0tleVR5cGUga2V5VHlwZSwgQ0NFQ0NyeXB0b3JSZWYg
a2V5KTsKLWV4dGVybiAiQyIgaW50IENDRUNHZXRLZXlTaXplKENDRUNDcnlwdG9yUmVmIGtleSk7
Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNyZWF0ZUZyb21EYXRhKHNp
emVfdCBrZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90IHFYTGVuZ3RoLCB1aW50OF90ICpxWSwg
c2l6ZV90IHFZTGVuZ3RoLCBDQ0VDQ3J5cHRvclJlZiAqcmVmKTsKLWV4dGVybiAiQyIgQ0NDcnlw
dG9yU3RhdHVzIENDRUNDcnlwdG9yR2V0S2V5Q29tcG9uZW50cyhDQ0VDQ3J5cHRvclJlZiBlY0tl
eSwgc2l6ZV90ICprZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90ICpxWExlbmd0aCwgdWludDhf
dCAqcVksIHNpemVfdCAqcVlMZW5ndGgsIHVpbnQ4X3QgKmQsIHNpemVfdCAqZExlbmd0aCk7Ci1l
eHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNvbXB1dGVTaGFyZWRTZWNyZXQo
Q0NFQ0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5LCB2b2lk
ICpvdXQsIHNpemVfdCAqb3V0TGVuKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUND
cnlwdG9yU2lnbkhhc2goQ0NFQ0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgY29uc3Qgdm9pZCAqaGFz
aFRvU2lnbiwgc2l6ZV90IGhhc2hTaWduTGVuLCB2b2lkICpzaWduZWREYXRhLCBzaXplX3QgKnNp
Z25lZERhdGFMZW4pOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JWZXJp
ZnlIYXNoKENDRUNDcnlwdG9yUmVmIHB1YmxpY0tleSwgY29uc3Qgdm9pZCAqaGFzaCwgc2l6ZV90
IGhhc2hMZW4sIGNvbnN0IHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCBzaWduZWREYXRhTGVuLCB1
aW50MzJfdCAqdmFsaWQpOwotCi0jaWZuZGVmIENvbW1vbkNyeXB0b19Db21tb25OaXN0S2V5RGVy
aXZhdGlvbl9oCi1lbnVtIHsKLSAgICBrQ0NLREZBbGdvcml0aG1IS0RGID0gNgotfTsKLXR5cGVk
ZWYgdWludDMyX3QgQ0NLREZBbGdvcml0aG07Ci0jZW5kaWYKLQotZXh0ZXJuICJDIiBDQ1N0YXR1
cyBDQ0tleURlcml2YXRpb25ITWFjKENDS0RGQWxnb3JpdGhtIGFsZ29yaXRobSwgQ0NEaWdlc3RB
bGdvcml0aG0gZGlnZXN0LCB1bnNpZ25lZCByb3VuZHMsIGNvbnN0IHZvaWQgKmtleURlcml2YXRp
b25LZXksIHNpemVfdCBrZXlEZXJpdmF0aW9uS2V5TGVuLCBjb25zdCB2b2lkICpsYWJlbCwgc2l6
ZV90IGxhYmVsTGVuLCBjb25zdCB2b2lkICpjb250ZXh0LCBzaXplX3QgY29udGV4dExlbiwgY29u
c3Qgdm9pZCAqaXYsIHNpemVfdCBpdkxlbiwgY29uc3Qgdm9pZCAqc2FsdCwgc2l6ZV90IHNhbHRM
ZW4sIHZvaWQgKmRlcml2ZWRLZXksIHNpemVfdCBkZXJpdmVkS2V5TGVuKTsKLQotI2lmICFVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NDcnlwdG9y
R0NNKENDT3BlcmF0aW9uIG9wLCBDQ0FsZ29yaXRobSBhbGcsIGNvbnN0IHZvaWQqIGtleSwgc2l6
ZV90IGtleUxlbmd0aCwgY29uc3Qgdm9pZCogaXYsIHNpemVfdCBpdkxlbiwgY29uc3Qgdm9pZCog
YURhdGEsIHNpemVfdCBhRGF0YUxlbiwgY29uc3Qgdm9pZCogZGF0YUluLCBzaXplX3QgZGF0YUlu
TGVuZ3RoLCB2b2lkKiBkYXRhT3V0LCB2b2lkKiB0YWcsIHNpemVfdCogdGFnTGVuZ3RoKTsKLWV4
dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckNyZWF0ZUZyb21EYXRhKENDUlNB
S2V5VHlwZSBrZXlUeXBlLCBjb25zdCB1aW50OF90ICptb2R1bHVzLCBzaXplX3QgbW9kdWx1c0xl
bmd0aCwgY29uc3QgdWludDhfdCAqZXhwb25lbnQsIHNpemVfdCBleHBvbmVudExlbmd0aCwgY29u
c3QgdWludDhfdCAqcCwgc2l6ZV90IHBMZW5ndGgsIGNvbnN0IHVpbnQ4X3QgKnEsIHNpemVfdCBx
TGVuZ3RoLCBDQ1JTQUNyeXB0b3JSZWYgKnJlZik7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0
aG1IS0RGTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGht
SEtERk1hYy5jcHAKaW5kZXggOWU5NjZjYjc0NGMyN2YzMjAwMDFmMWY1MmVlNGE0ZjVmZGQyZGUy
Zi4uNmNhYTVmM2NiZTUzOWZlNjU0Y2I3YTlmZWZlZDk0YjlhNzJkNTczMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1IS0RGTWFjLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUhLREZNYWMuY3BwCkBA
IC00MCw5ICs0MCwxMiBAQCBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IENyeXB0b0FsZ29y
aXRobUhLREY6OnBsYXRmb3JtRGVyaXZlQml0cyhjb25zdCBDcnlwdAogICAgIENDRGlnZXN0QWxn
b3JpdGhtIGRpZ2VzdEFsZ29yaXRobTsKICAgICBnZXRDb21tb25DcnlwdG9EaWdlc3RBbGdvcml0
aG0ocGFyYW1ldGVycy5oYXNoSWRlbnRpZmllciwgZGlnZXN0QWxnb3JpdGhtKTsKIAorICAgIEFM
TE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVt
LzMyNDM5NDU1PiBDdXJyZW50bHksIHdoZW4ga2V5IGRhdGEgaXMgZW1wdHksIENDS2V5RGVyaXZh
dGlvbkhNYWMgd2lsbCBiYWlsIG91dC4KKyAgICAvLyA8cmRhcjovL3Byb2JsZW0vNDg4OTYwMjE+
IFJlbWluZGVyOiBTd2l0Y2ggdG8gQ0NEZXJpdmVLZXkgbm93IHRoYXQgQ0NLZXlEZXJpdmF0aW9u
SE1hYyBpcyBkZXByZWNhdGVkLgogICAgIGlmIChDQ0tleURlcml2YXRpb25ITWFjKGtDQ0tERkFs
Z29yaXRobUhLREYsIGRpZ2VzdEFsZ29yaXRobSwgMCwga2V5LmtleSgpLmRhdGEoKSwga2V5Lmtl
eSgpLnNpemUoKSwgMCwgMCwgcGFyYW1ldGVycy5pbmZvVmVjdG9yKCkuZGF0YSgpLCBwYXJhbWV0
ZXJzLmluZm9WZWN0b3IoKS5zaXplKCksIDAsIDAsIHBhcmFtZXRlcnMuc2FsdFZlY3RvcigpLmRh
dGEoKSwgcGFyYW1ldGVycy5zYWx0VmVjdG9yKCkuc2l6ZSgpLCByZXN1bHQuZGF0YSgpLCByZXN1
bHQuc2l6ZSgpKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07
CisgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAgcmV0dXJuIFdURk1v
dmUocmVzdWx0KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364764</attachid>
            <date>2019-03-14 20:14:13 -0700</date>
            <delta_ts>2019-03-14 20:31:46 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-195754-20190314201412.patch</filename>
            <type>text/plain</type>
            <size>21221</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgxMDc5MzliNGNjNzAw
NzNhZThkN2FhOTExMWFlOGVmZDY4ZTdlNy4uMTI0ZDEyYjQ5NDQwNDE0ODE5MTUwYmZiMzk2ODZi
NDZiNTY2YTA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAzLTE0ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgQ29yZUNyeXB0
byBTUEkgZGVjbGFyYXRpb25zIHRvIGFuIGFwcHJvcHJpYXRlIFBBTC9zcGkgaGVhZGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU3NTQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NTkxOTU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEppZXdl
biBUYW4uCisKKyAgICAgICAgTW92ZSB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMgb2YgdmFyaW91
cyBDb3JlQ3J5cHRvIFNQSSB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlci4KKyAgICAg
ICAgVXBkYXRlIHRoZSBjb25zdCBjb3JyZWN0bmVzcyBvZiBvbmUgZnVuY3Rpb24gY2FsbCB0byBt
YXRjaCBuZXcgU0RLIGRlY2xhcmF0aW9uLgorCisgICAgICAgIE5vIHRlc3RzIGJlY2F1c2UgdGhl
cmUgYXJlIG5vIGNoYW5nZXMgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBjcnlwdG8vQ29tbW9u
Q3J5cHRvVXRpbGl0aWVzLmg6CisgICAgICAgICogY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1I
S0RGTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhLREY6OnBsYXRm
b3JtRGVyaXZlQml0cyk6CisKIDIwMTktMDMtMTQgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW5kZXhlZERCOiByZS1lbmFibGUgc29tZSBsZWFrIHRlc3RzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwppbmRleCAwMDA5ZTA4ODI0YmIwYjRhMGRkZmJkNmUxZWRlMDc1ZmZmMzdk
NDYzLi4wNDZkOGJiZjY0ODA3MDAyY2Q1NGM3NTlkODE4YzU4MzQwMDIyZTQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMy0xNCAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIENvcmVDcnlwdG8gU1BJIGRlY2xhcmF0
aW9ucyB0byBhbiBhcHByb3ByaWF0ZSBQQUwvc3BpIGhlYWRlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzU0CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80ODU5MTk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBKaWV3ZW4gVGFuLgorCisgICAg
ICAgIE1vdmUgdGhlIGZvcndhcmQgZGVjbGFyYXRpb25zIG9mIHZhcmlvdXMgQ29yZUNyeXB0byBT
UEkgdG8gYW4gYXBwcm9wcmlhdGUgUEFML3NwaSBoZWFkZXIuCisgICAgICAgIFVwZGF0ZSB0aGUg
Y29uc3QgY29ycmVjdG5lc3Mgb2Ygb25lIGZ1bmN0aW9uIGNhbGwgdG8gbWF0Y2ggbmV3IFNESyBk
ZWNsYXJhdGlvbi4KKworICAgICAgICBObyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGFyZSBubyBjaGFu
Z2VzIGluIGJlaGF2aW9yLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5oLgorCiAyMDE5
LTAzLTE0ICBTaGF3biBSb2JlcnRzICA8c3JvYmVydHNAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDI5ODEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTQyODEwYTg2YTdmOTlhMGUzZDcx
MDA0YzFkNTMwMzcwNDc0NzYzNS4uNDg4NGVkMzFlM2I0YTQxYTRmMWY5NTQwMThlZmVjMzliYzAw
MWNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtOTgsNiArOTgsNyBAQAogCQkwQzc3ODVBMDFGNDUxMzBGMDBGNEVCQjYgLyog
UXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwQzc3ODU4NzFGNDUxMzBGMDBGNEVCQjYgLyogUXVpY2tMb29rTWFjU1BJLmggKi87
IH07CiAJCTBDNzc4NUExMUY0NTEzMEYwMEY0RUJCNiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBDNzc4NTg4
MUY0NTEzMEYwMEY0RUJCNiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEkuaCAqLzsgfTsKIAkJMENG
OTlDQTQxRjczNjM3NTAwN0VFNzkzIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzAwQ0ZEMTFGNjhDRTQ2
MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcCAqLzsgfTsKKwkJN0EzNkQwRjky
MjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzNkQwRjgyMjNBRDlBQjAwQjA1MjJFIC8qIENv
bW1vbkNyeXB0b1NQSS5oICovOyB9OwogCQkwQ0Y5OUNBODFGNzM4NDM3MDA3RUU3OTMgLyogQ29y
ZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMENGOTlDQTYxRjczODQzNjAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNw
cCAqLzsgfTsKIAkJMENGOTlDQTkxRjczODQzNzAwN0VFNzkzIC8qIENvcmVNZWRpYVNvZnRMaW5r
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQ0Y5OUNB
NzFGNzM4NDM3MDA3RUU3OTMgLyogQ29yZU1lZGlhU29mdExpbmsuaCAqLzsgfTsKIAkJMUMwOUQw
NTMxRTMxQzQ0MTAwNzI1RjE4IC8qIENyeXB0b0RpZ2VzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwOUQwNTIxRTMxQzQ0MTAwNzI1RjE4IC8qIENy
eXB0b0RpZ2VzdC5oICovOyB9OwpAQCAtMTgxLDYgKzE4Miw3IEBACiAJCTBDMkRBMDY4MUYzM0NB
ODQwMERCQzMxNyAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDY5MUYzM0NBODQwMERCQzMxNyAvKiBDRk5l
dHdvcmtTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMkRBMDZBMUYzM0NBODQwMERCQzMx
NyAvKiBDRlV0aWxpdGllc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
RlV0aWxpdGllc1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QTM2RDBGODIy
M0FEOUFCMDBCMDUyMkUgLyogQ29tbW9uQ3J5cHRvU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvbW1vbkNyeXB0b1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwQzJEQTA2QjFGMzNDQTg0MDBEQkMzMTcgLyogQ29yZUF1ZGlvU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVBdWRpb1NQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwQzJEQTA2QzFGMzNDQTg0MDBEQkMzMTcgLyogQ29yZU1lZGlhU1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVNZWRpYVNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEQTExQzFGM0JFOUUwMDBEQkMzMTcgLyogQ29yZUdy
YXBoaWNzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVHcmFwaGlj
c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzg2LDYgKzM4OCw3IEBACiAJ
CQkJMkQwMkU5M0IyMDU2RkFBNzAwQTEzNzk3IC8qIEF1ZGlvVG9vbGJveFNQSS5oICovLAogCQkJ
CTBDMkRBMTIyMUYzQkVCNDkwMERCQzMxNyAvKiBBVktpdFNQSS5oICovLAogCQkJCTBDMkRBMTIz
MUYzQkVCNDkwMERCQzMxNyAvKiBDRk5TVVJMQ29ubmVjdGlvblNQSS5oICovLAorCQkJCTdBMzZE
MEY4MjIzQUQ5QUIwMEIwNTIyRSAvKiBDb21tb25DcnlwdG9TUEkuaCAqLywKIAkJCQkwQzJEQTEy
NDFGM0JFQjQ5MDBEQkMzMTcgLyogQ29yZVRleHRTUEkuaCAqLywKIAkJCQkwQzJEQTEyNTFGM0JF
QjQ5MDBEQkMzMTcgLyogRGF0YURldGVjdG9yc0NvcmVTUEkuaCAqLywKIAkJCQlDRTU2NzM4NjIx
NTFBN0I5MDAyRjkyRDcgLyogSU9LaXRTUEkuaCAqLywKQEAgLTY3OSw2ICs2ODIsNyBAQAogCQkJ
CTBDMkRBMDcwMUYzM0NBODQwMERCQzMxNyAvKiBDRlV0aWxpdGllc1NQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEM1RkZGMEMxRjc4RDk5MDAwOUVGRjFBIC8qIENsb2NrLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzVGRkYxMDFGNzhEOURBMDA5RUZGMUEgLyogQ2xvY2tDTS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJN0EzNkQwRjkyMjNBRDlBQjAwQjA1MjJFIC8qIENvbW1vbkNyeXB0b1NQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUMwOUQwNTgxRTMxQzU3RTAwNzI1RjE4IC8qIGNvbmZpZy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEMyREEwNzExRjMzQ0E4NDAwREJDMzE3IC8qIENvcmVBdWRpb1NQ
SS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExMUUxRjNCRTlFMDAwREJDMzE3IC8qIENvcmVH
cmFwaGljc1NQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL0NvbW1vbkNyeXB0b1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4MzlmYTNhZTQxMmFi
OTg2ZDQ1YzU4MDk3MGE4ZjIyN2E1NzRlZGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db21tb25DcnlwdG9TUEkuaApAQCAtMCwwICsxLDEyOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiAoUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMw
MCkKKyNkZWZpbmUgSEFWRV9DQ1JTQUdldENSVENvbXBvbmVudHMgMQorI2VuZGlmCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25Dcnlw
dG9yU1BJLmg+CisjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkRpZ2VzdFNQSS5oPgorI2lu
Y2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25FQ0NyeXB0b3IuaD4KKyNpbmNsdWRlIDxDb21tb25D
cnlwdG8vQ29tbW9uS2V5RGVyaXZhdGlvblNQSS5oPgorI2luY2x1ZGUgPENvbW1vbkNyeXB0by9D
b21tb25SU0FDcnlwdG9yLmg+CisKKyNpZiBIQVZFKENDUlNBR2V0Q1JUQ29tcG9uZW50cykKKyNp
bmNsdWRlIDxDb21tb25DcnlwdG8vQ29tbW9uUlNBQ3J5cHRvclNQSS5oPgorI2VuZGlmCisKKyNl
bHNlCisKKyNpZm5kZWYgX0NDX1JTQUNSWVBUT1JfSF8KK2VudW0geworICAgIGtDQ0RpZ2VzdE5v
bmUgPSAwLAorICAgIGtDQ0RpZ2VzdFNIQTEgPSA4LAorICAgIGtDQ0RpZ2VzdFNIQTIyNCA9IDks
CisgICAga0NDRGlnZXN0U0hBMjU2ID0gMTAsCisgICAga0NDRGlnZXN0U0hBMzg0ID0gMTEsCisg
ICAga0NDRGlnZXN0U0hBNTEyID0gMTIsCit9OwordHlwZWRlZiB1aW50MzJfdCBDQ0RpZ2VzdEFs
Z29yaXRobTsKKworZW51bSB7CisgICAgY2NSU0FLZXlQdWJsaWMgPSAwLAorICAgIGNjUlNBS2V5
UHJpdmF0ZSA9IDEKK307Cit0eXBlZGVmIHVpbnQzMl90IENDUlNBS2V5VHlwZTsKKworZW51bSB7
CisgICAgY2NQS0NTMVBhZGRpbmcgPSAxMDAxLAorICAgIGNjT0FFUFBhZGRpbmcgPSAxMDAyLAor
ICAgIGNjUlNBUFNTUGFkZGluZyA9IDEwMDUKK307Cit0eXBlZGVmIHVpbnQzMl90IENDQXN5bW1l
dHJpY1BhZGRpbmc7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3QgX0NDUlNBQ3J5cHRvciAqQ0NS
U0FDcnlwdG9yUmVmOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yRW5j
cnlwdChDQ1JTQUNyeXB0b3JSZWYgcHVibGljS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRp
bmcsIGNvbnN0IHZvaWQgKnBsYWluVGV4dCwgc2l6ZV90IHBsYWluVGV4dExlbiwgdm9pZCAqY2lw
aGVyVGV4dCwgc2l6ZV90ICpjaXBoZXJUZXh0TGVuLCBjb25zdCB2b2lkICp0YWdEYXRhLCBzaXpl
X3QgdGFnRGF0YUxlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0VHlwZSk7CitleHRlcm4gIkMi
IENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JEZWNyeXB0KENDUlNBQ3J5cHRvclJlZiBwcml2
YXRlS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKmNpcGhlclRl
eHQsIHNpemVfdCBjaXBoZXJUZXh0TGVuLCB2b2lkICpwbGFpblRleHQsIHNpemVfdCAqcGxhaW5U
ZXh0TGVuLCBjb25zdCB2b2lkICp0YWdEYXRhLCBzaXplX3QgdGFnRGF0YUxlbiwgQ0NEaWdlc3RB
bGdvcml0aG0gZGlnZXN0VHlwZSk7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNy
eXB0b3JTaWduKENDUlNBQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5n
IHBhZGRpbmcsIGNvbnN0IHZvaWQgKmhhc2hUb1NpZ24sIHNpemVfdCBoYXNoU2lnbkxlbiwgQ0NE
aWdlc3RBbGdvcml0aG0gZGlnZXN0VHlwZSwgc2l6ZV90IHNhbHRMZW4sIHZvaWQgKnNpZ25lZERh
dGEsIHNpemVfdCAqc2lnbmVkRGF0YUxlbik7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q1JTQUNyeXB0b3JWZXJpZnkoQ0NSU0FDcnlwdG9yUmVmIHB1YmxpY0tleSwgQ0NBc3ltbWV0cmlj
UGFkZGluZyBwYWRkaW5nLCBjb25zdCB2b2lkICpoYXNoLCBzaXplX3QgaGFzaExlbiwgQ0NEaWdl
c3RBbGdvcml0aG0gZGlnZXN0VHlwZSwgc2l6ZV90IHNhbHRMZW4sIGNvbnN0IHZvaWQgKnNpZ25l
ZERhdGEsIHNpemVfdCBzaWduZWREYXRhTGVuKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVz
IENDUlNBQ3J5cHRvckdlbmVyYXRlUGFpcihzaXplX3Qga2V5c2l6ZSwgdWludDMyX3QgZSwgQ0NS
U0FDcnlwdG9yUmVmICpwdWJsaWNLZXksIENDUlNBQ3J5cHRvclJlZiAqcHJpdmF0ZUtleSk7Citl
eHRlcm4gIkMiIENDUlNBQ3J5cHRvclJlZiBDQ1JTQUNyeXB0b3JHZXRQdWJsaWNLZXlGcm9tUHJp
dmF0ZUtleShDQ1JTQUNyeXB0b3JSZWYgcHJpdmtleSk7CitleHRlcm4gIkMiIHZvaWQgQ0NSU0FD
cnlwdG9yUmVsZWFzZShDQ1JTQUNyeXB0b3JSZWYga2V5KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9y
U3RhdHVzIENDUlNBR2V0S2V5Q29tcG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCB1aW50
OF90ICptb2R1bHVzLCBzaXplX3QgKm1vZHVsdXNMZW5ndGgsIHVpbnQ4X3QgKmV4cG9uZW50LCBz
aXplX3QgKmV4cG9uZW50TGVuZ3RoLCB1aW50OF90ICpwLCBzaXplX3QgKnBMZW5ndGgsIHVpbnQ4
X3QgKnEsIHNpemVfdCAqcUxlbmd0aCk7CitleHRlcm4gIkMiIENDUlNBS2V5VHlwZSBDQ1JTQUdl
dEtleVR5cGUoQ0NSU0FDcnlwdG9yUmVmIGtleSk7CitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1
cyBDQ1JTQUNyeXB0b3JJbXBvcnQoY29uc3Qgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90IGtleVBh
Y2thZ2VMZW4sIENDUlNBQ3J5cHRvclJlZiAqa2V5KTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3Rh
dHVzIENDUlNBQ3J5cHRvckV4cG9ydChDQ1JTQUNyeXB0b3JSZWYga2V5LCB2b2lkICpvdXQsIHNp
emVfdCAqb3V0TGVuKTsKKworI2lmIEhBVkUoQ0NSU0FHZXRDUlRDb21wb25lbnRzKQorZXh0ZXJu
ICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FHZXRDUlRDb21wb25lbnRzU2l6ZXMoQ0NSU0FDcnlw
dG9yUmVmIHJzYUtleSwgc2l6ZV90ICpkcFNpemUsIHNpemVfdCAqZHFTaXplLCBzaXplX3QgKnFp
bnZTaXplKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBR2V0Q1JUQ29tcG9uZW50
cyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCB2b2lkICpkcCwgc2l6ZV90IGRwU2l6ZSwgdm9pZCAq
ZHEsIHNpemVfdCBkcVNpemUsIHZvaWQgKnFpbnYsIHNpemVfdCBxaW52U2l6ZSk7CisjZW5kaWYK
KworI2lmbmRlZiBfQ0NfRUNDUllQVE9SX0hfCitlbnVtIHsKKyAgICBjY0VDS2V5UHVibGljID0g
MCwKKyAgICBjY0VDS2V5UHJpdmF0ZSA9IDEsCit9OwordHlwZWRlZiB1aW50MzJfdCBDQ0VDS2V5
VHlwZTsKKworZW51bSB7CisgICAga0NDSW1wb3J0S2V5QmluYXJ5ID0gMCwKK307Cit0eXBlZGVm
IHVpbnQzMl90IENDRUNLZXlFeHRlcm5hbEZvcm1hdDsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVj
dCBfQ0NFQ0NyeXB0b3IgKkNDRUNDcnlwdG9yUmVmOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0
dXMgQ0NFQ0NyeXB0b3JHZW5lcmF0ZVBhaXIoc2l6ZV90IGtleXNpemUsIENDRUNDcnlwdG9yUmVm
ICpwdWJsaWNLZXksIENDRUNDcnlwdG9yUmVmICpwcml2YXRlS2V5KTsKK2V4dGVybiAiQyIgdm9p
ZCBDQ0VDQ3J5cHRvclJlbGVhc2UoQ0NFQ0NyeXB0b3JSZWYga2V5KTsKKyNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBM
QVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEzMDAwMCkKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9ySW1wb3J0S2V5
KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIGNvbnN0IHZvaWQgKmtleVBhY2thZ2UsIHNp
emVfdCBrZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBDQ0VDQ3J5cHRvclJlZiAq
a2V5KTsKKyNlbHNlCitleHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckltcG9y
dEtleShDQ0VDS2V5RXh0ZXJuYWxGb3JtYXQgZm9ybWF0LCB2b2lkICprZXlQYWNrYWdlLCBzaXpl
X3Qga2V5UGFja2FnZUxlbiwgQ0NFQ0tleVR5cGUga2V5VHlwZSwgQ0NFQ0NyeXB0b3JSZWYgKmtl
eSk7CisjZW5kaWYKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yRXhwb3J0
S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtleVBhY2thZ2UsIHNpemVf
dCAqa2V5UGFja2FnZUxlbiwgQ0NFQ0tleVR5cGUga2V5VHlwZSwgQ0NFQ0NyeXB0b3JSZWYga2V5
KTsKK2V4dGVybiAiQyIgaW50IENDRUNHZXRLZXlTaXplKENDRUNDcnlwdG9yUmVmIGtleSk7Citl
eHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNyZWF0ZUZyb21EYXRhKHNpemVf
dCBrZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90IHFYTGVuZ3RoLCB1aW50OF90ICpxWSwgc2l6
ZV90IHFZTGVuZ3RoLCBDQ0VDQ3J5cHRvclJlZiAqcmVmKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9y
U3RhdHVzIENDRUNDcnlwdG9yR2V0S2V5Q29tcG9uZW50cyhDQ0VDQ3J5cHRvclJlZiBlY0tleSwg
c2l6ZV90ICprZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90ICpxWExlbmd0aCwgdWludDhfdCAq
cVksIHNpemVfdCAqcVlMZW5ndGgsIHVpbnQ4X3QgKmQsIHNpemVfdCAqZExlbmd0aCk7CitleHRl
cm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNvbXB1dGVTaGFyZWRTZWNyZXQoQ0NF
Q0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5LCB2b2lkICpv
dXQsIHNpemVfdCAqb3V0TGVuKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlw
dG9yU2lnbkhhc2goQ0NFQ0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgY29uc3Qgdm9pZCAqaGFzaFRv
U2lnbiwgc2l6ZV90IGhhc2hTaWduTGVuLCB2b2lkICpzaWduZWREYXRhLCBzaXplX3QgKnNpZ25l
ZERhdGFMZW4pOworZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JWZXJpZnlI
YXNoKENDRUNDcnlwdG9yUmVmIHB1YmxpY0tleSwgY29uc3Qgdm9pZCAqaGFzaCwgc2l6ZV90IGhh
c2hMZW4sIGNvbnN0IHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCBzaWduZWREYXRhTGVuLCB1aW50
MzJfdCAqdmFsaWQpOworCisjaWZuZGVmIENvbW1vbkNyeXB0b19Db21tb25OaXN0S2V5RGVyaXZh
dGlvbl9oCitlbnVtIHsKKyAgICBrQ0NLREZBbGdvcml0aG1IS0RGID0gNgorfTsKK3R5cGVkZWYg
dWludDMyX3QgQ0NLREZBbGdvcml0aG07CisjZW5kaWYKKworZXh0ZXJuICJDIiBDQ1N0YXR1cyBD
Q0tleURlcml2YXRpb25ITWFjKENDS0RGQWxnb3JpdGhtIGFsZ29yaXRobSwgQ0NEaWdlc3RBbGdv
cml0aG0gZGlnZXN0LCB1bnNpZ25lZCByb3VuZHMsIGNvbnN0IHZvaWQgKmtleURlcml2YXRpb25L
ZXksIHNpemVfdCBrZXlEZXJpdmF0aW9uS2V5TGVuLCBjb25zdCB2b2lkICpsYWJlbCwgc2l6ZV90
IGxhYmVsTGVuLCBjb25zdCB2b2lkICpjb250ZXh0LCBzaXplX3QgY29udGV4dExlbiwgY29uc3Qg
dm9pZCAqaXYsIHNpemVfdCBpdkxlbiwgY29uc3Qgdm9pZCAqc2FsdCwgc2l6ZV90IHNhbHRMZW4s
IHZvaWQgKmRlcml2ZWRLZXksIHNpemVfdCBkZXJpdmVkS2V5TGVuKTsKKworZXh0ZXJuICJDIiBD
Q0NyeXB0b3JTdGF0dXMgQ0NDcnlwdG9yR0NNKENDT3BlcmF0aW9uIG9wLCBDQ0FsZ29yaXRobSBh
bGcsIGNvbnN0IHZvaWQqIGtleSwgc2l6ZV90IGtleUxlbmd0aCwgY29uc3Qgdm9pZCogaXYsIHNp
emVfdCBpdkxlbiwgY29uc3Qgdm9pZCogYURhdGEsIHNpemVfdCBhRGF0YUxlbiwgY29uc3Qgdm9p
ZCogZGF0YUluLCBzaXplX3QgZGF0YUluTGVuZ3RoLCB2b2lkKiBkYXRhT3V0LCB2b2lkKiB0YWcs
IHNpemVfdCogdGFnTGVuZ3RoKTsKK2V4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5
cHRvckNyZWF0ZUZyb21EYXRhKENDUlNBS2V5VHlwZSBrZXlUeXBlLCBjb25zdCB1aW50OF90ICpt
b2R1bHVzLCBzaXplX3QgbW9kdWx1c0xlbmd0aCwgY29uc3QgdWludDhfdCAqZXhwb25lbnQsIHNp
emVfdCBleHBvbmVudExlbmd0aCwgY29uc3QgdWludDhfdCAqcCwgc2l6ZV90IHBMZW5ndGgsIGNv
bnN0IHVpbnQ4X3QgKnEsIHNpemVfdCBxTGVuZ3RoLCBDQ1JTQUNyeXB0b3JSZWYgKnJlZik7CisK
KyNlbmRpZiAvLyAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9Db21tb25DcnlwdG9VdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9Db21tb25DcnlwdG9VdGlsaXRpZXMuaAppbmRleCA1YzAwYTY4MjBiNjViOWUxMmE1YTFl
ZDYyNmZkNzhlOGUzYWVhNWEzLi5mODIzNDdkYTY0MjY2ZDg2ZTMwYTEzYjgxZTc5MTJmNDE0YTAy
YzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ29tbW9uQ3J5cHRvVXRpbGl0
aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NvbW1vbkNyeXB0b1V0aWxpdGllcy5o
CkBAIC0yNSwxMTEgKzI1LDE2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgKFBMQVRGT1JNKElP
U19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkg
fHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEzMDApCi0jZGVmaW5lIEhBVkVfQ0NSU0FHZXRDUlRDb21wb25lbnRzIDEKLSNlbmRpZgotCiAj
aWYgRU5BQkxFKFdFQl9DUllQVE8pCiAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyLmgiCiAjaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkNyeXB0b3IuaD4KICNpbmNsdWRl
IDxDb21tb25DcnlwdG8vQ29tbW9uUmFuZG9tLmg+CisjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9D
b21tb25DcnlwdG9TUEkuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25DcnlwdG9yU1BJ
Lmg+Ci0jaW5jbHVkZSA8Q29tbW9uQ3J5cHRvL0NvbW1vbkVDQ3J5cHRvci5oPgotLy8gRklYTUU6
IDxyZGFyOi8vcHJvYmxlbS8zMTUwODk1OT4KLS8vICNpbmNsdWRlIDxDb21tb25DcnlwdG8vQ29t
bW9uS2V5RGVyaXZhdGlvblNQSS5oPgotI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25SU0FD
cnlwdG9yLmg+Ci0jZW5kaWYKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIEhBVkUo
Q0NSU0FHZXRDUlRDb21wb25lbnRzKQotI2luY2x1ZGUgPENvbW1vbkNyeXB0by9Db21tb25SU0FD
cnlwdG9yU1BJLmg+Ci0jZW5kaWYKLQotI2lmbmRlZiBfQ0NfUlNBQ1JZUFRPUl9IXwotZW51bSB7
Ci0gICAga0NDRGlnZXN0Tm9uZSA9IDAsCi0gICAga0NDRGlnZXN0U0hBMSA9IDgsCi0gICAga0ND
RGlnZXN0U0hBMjI0ID0gOSwKLSAgICBrQ0NEaWdlc3RTSEEyNTYgPSAxMCwKLSAgICBrQ0NEaWdl
c3RTSEEzODQgPSAxMSwKLSAgICBrQ0NEaWdlc3RTSEE1MTIgPSAxMiwKLX07Ci10eXBlZGVmIHVp
bnQzMl90IENDRGlnZXN0QWxnb3JpdGhtOwotCi1lbnVtIHsKLSAgICBjY1JTQUtleVB1YmxpYyA9
IDAsCi0gICAgY2NSU0FLZXlQcml2YXRlID0gMQotfTsKLXR5cGVkZWYgdWludDMyX3QgQ0NSU0FL
ZXlUeXBlOwotCi1lbnVtIHsKLSAgICBjY1BLQ1MxUGFkZGluZyA9IDEwMDEsCi0gICAgY2NPQUVQ
UGFkZGluZyA9IDEwMDIsCi0gICAgY2NSU0FQU1NQYWRkaW5nID0gMTAwNQotfTsKLXR5cGVkZWYg
dWludDMyX3QgQ0NBc3ltbWV0cmljUGFkZGluZzsKLSNlbmRpZgotCisjaWYgIUhBVkUoQ0NSU0FH
ZXRDUlRDb21wb25lbnRzKQogdHlwZWRlZiBzdHJ1Y3QgX0NDQmlnTnVtUmVmICpDQ0JpZ051bVJl
ZjsKLQotdHlwZWRlZiBzdHJ1Y3QgX0NDUlNBQ3J5cHRvciAqQ0NSU0FDcnlwdG9yUmVmOwotZXh0
ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NSU0FDcnlwdG9yRW5jcnlwdChDQ1JTQUNyeXB0b3JS
ZWYgcHVibGljS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKnBs
YWluVGV4dCwgc2l6ZV90IHBsYWluVGV4dExlbiwgdm9pZCAqY2lwaGVyVGV4dCwgc2l6ZV90ICpj
aXBoZXJUZXh0TGVuLCBjb25zdCB2b2lkICp0YWdEYXRhLCBzaXplX3QgdGFnRGF0YUxlbiwgQ0NE
aWdlc3RBbGdvcml0aG0gZGlnZXN0VHlwZSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBD
Q1JTQUNyeXB0b3JEZWNyeXB0KENDUlNBQ3J5cHRvclJlZiBwcml2YXRlS2V5LCBDQ0FzeW1tZXRy
aWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZvaWQgKmNpcGhlclRleHQsIHNpemVfdCBjaXBoZXJU
ZXh0TGVuLCB2b2lkICpwbGFpblRleHQsIHNpemVfdCAqcGxhaW5UZXh0TGVuLCBjb25zdCB2b2lk
ICp0YWdEYXRhLCBzaXplX3QgdGFnRGF0YUxlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0VHlw
ZSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JTaWduKENDUlNBQ3J5
cHRvclJlZiBwcml2YXRlS2V5LCBDQ0FzeW1tZXRyaWNQYWRkaW5nIHBhZGRpbmcsIGNvbnN0IHZv
aWQgKmhhc2hUb1NpZ24sIHNpemVfdCBoYXNoU2lnbkxlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGln
ZXN0VHlwZSwgc2l6ZV90IHNhbHRMZW4sIHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCAqc2lnbmVk
RGF0YUxlbik7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JWZXJpZnko
Q0NSU0FDcnlwdG9yUmVmIHB1YmxpY0tleSwgQ0NBc3ltbWV0cmljUGFkZGluZyBwYWRkaW5nLCBj
b25zdCB2b2lkICpoYXNoLCBzaXplX3QgaGFzaExlbiwgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0
VHlwZSwgc2l6ZV90IHNhbHRMZW4sIGNvbnN0IHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCBzaWdu
ZWREYXRhTGVuKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckdlbmVy
YXRlUGFpcihzaXplX3Qga2V5c2l6ZSwgdWludDMyX3QgZSwgQ0NSU0FDcnlwdG9yUmVmICpwdWJs
aWNLZXksIENDUlNBQ3J5cHRvclJlZiAqcHJpdmF0ZUtleSk7Ci1leHRlcm4gIkMiIENDUlNBQ3J5
cHRvclJlZiBDQ1JTQUNyeXB0b3JHZXRQdWJsaWNLZXlGcm9tUHJpdmF0ZUtleShDQ1JTQUNyeXB0
b3JSZWYgcHJpdmtleSk7Ci1leHRlcm4gIkMiIHZvaWQgQ0NSU0FDcnlwdG9yUmVsZWFzZShDQ1JT
QUNyeXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBR2V0S2V5
Q29tcG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYgcnNhS2V5LCB1aW50OF90ICptb2R1bHVzLCBzaXpl
X3QgKm1vZHVsdXNMZW5ndGgsIHVpbnQ4X3QgKmV4cG9uZW50LCBzaXplX3QgKmV4cG9uZW50TGVu
Z3RoLCB1aW50OF90ICpwLCBzaXplX3QgKnBMZW5ndGgsIHVpbnQ4X3QgKnEsIHNpemVfdCAqcUxl
bmd0aCk7Ci1leHRlcm4gIkMiIENDUlNBS2V5VHlwZSBDQ1JTQUdldEtleVR5cGUoQ0NSU0FDcnlw
dG9yUmVmIGtleSk7Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ1JTQUNyeXB0b3JJbXBv
cnQoY29uc3Qgdm9pZCAqa2V5UGFja2FnZSwgc2l6ZV90IGtleVBhY2thZ2VMZW4sIENDUlNBQ3J5
cHRvclJlZiAqa2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckV4
cG9ydChDQ1JTQUNyeXB0b3JSZWYga2V5LCB2b2lkICpvdXQsIHNpemVfdCAqb3V0TGVuKTsKLQot
I2lmIEhBVkUoQ0NSU0FHZXRDUlRDb21wb25lbnRzKQotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0
dXMgQ0NSU0FHZXRDUlRDb21wb25lbnRzU2l6ZXMoQ0NSU0FDcnlwdG9yUmVmIHJzYUtleSwgc2l6
ZV90ICpkcFNpemUsIHNpemVfdCAqZHFTaXplLCBzaXplX3QgKnFpbnZTaXplKTsKLWV4dGVybiAi
QyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBR2V0Q1JUQ29tcG9uZW50cyhDQ1JTQUNyeXB0b3JSZWYg
cnNhS2V5LCB2b2lkICpkcCwgc2l6ZV90IGRwU2l6ZSwgdm9pZCAqZHEsIHNpemVfdCBkcVNpemUs
IHZvaWQgKnFpbnYsIHNpemVfdCBxaW52U2l6ZSk7Ci0jZW5kaWYKLQotI2lmbmRlZiBfQ0NfRUND
UllQVE9SX0hfCi1lbnVtIHsKLSAgICBjY0VDS2V5UHVibGljID0gMCwKLSAgICBjY0VDS2V5UHJp
dmF0ZSA9IDEsCi19OwotdHlwZWRlZiB1aW50MzJfdCBDQ0VDS2V5VHlwZTsKLQotZW51bSB7Ci0g
ICAga0NDSW1wb3J0S2V5QmluYXJ5ID0gMCwKLX07Ci10eXBlZGVmIHVpbnQzMl90IENDRUNLZXlF
eHRlcm5hbEZvcm1hdDsKLSNlbmRpZgotCi10eXBlZGVmIHN0cnVjdCBfQ0NFQ0NyeXB0b3IgKkND
RUNDcnlwdG9yUmVmOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JHZW5l
cmF0ZVBhaXIoc2l6ZV90IGtleXNpemUsIENDRUNDcnlwdG9yUmVmICpwdWJsaWNLZXksIENDRUND
cnlwdG9yUmVmICpwcml2YXRlS2V5KTsKLWV4dGVybiAiQyIgdm9pZCBDQ0VDQ3J5cHRvclJlbGVh
c2UoQ0NFQ0NyeXB0b3JSZWYga2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUND
cnlwdG9ySW1wb3J0S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtleVBh
Y2thZ2UsIHNpemVfdCBrZXlQYWNrYWdlTGVuLCBDQ0VDS2V5VHlwZSBrZXlUeXBlLCBDQ0VDQ3J5
cHRvclJlZiAqa2V5KTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUNDcnlwdG9yRXhw
b3J0S2V5KENDRUNLZXlFeHRlcm5hbEZvcm1hdCBmb3JtYXQsIHZvaWQgKmtleVBhY2thZ2UsIHNp
emVfdCAqa2V5UGFja2FnZUxlbiwgQ0NFQ0tleVR5cGUga2V5VHlwZSwgQ0NFQ0NyeXB0b3JSZWYg
a2V5KTsKLWV4dGVybiAiQyIgaW50IENDRUNHZXRLZXlTaXplKENDRUNDcnlwdG9yUmVmIGtleSk7
Ci1leHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNyZWF0ZUZyb21EYXRhKHNp
emVfdCBrZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90IHFYTGVuZ3RoLCB1aW50OF90ICpxWSwg
c2l6ZV90IHFZTGVuZ3RoLCBDQ0VDQ3J5cHRvclJlZiAqcmVmKTsKLWV4dGVybiAiQyIgQ0NDcnlw
dG9yU3RhdHVzIENDRUNDcnlwdG9yR2V0S2V5Q29tcG9uZW50cyhDQ0VDQ3J5cHRvclJlZiBlY0tl
eSwgc2l6ZV90ICprZXlTaXplLCB1aW50OF90ICpxWCwgc2l6ZV90ICpxWExlbmd0aCwgdWludDhf
dCAqcVksIHNpemVfdCAqcVlMZW5ndGgsIHVpbnQ4X3QgKmQsIHNpemVfdCAqZExlbmd0aCk7Ci1l
eHRlcm4gIkMiIENDQ3J5cHRvclN0YXR1cyBDQ0VDQ3J5cHRvckNvbXB1dGVTaGFyZWRTZWNyZXQo
Q0NFQ0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgQ0NFQ0NyeXB0b3JSZWYgcHVibGljS2V5LCB2b2lk
ICpvdXQsIHNpemVfdCAqb3V0TGVuKTsKLWV4dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDRUND
cnlwdG9yU2lnbkhhc2goQ0NFQ0NyeXB0b3JSZWYgcHJpdmF0ZUtleSwgY29uc3Qgdm9pZCAqaGFz
aFRvU2lnbiwgc2l6ZV90IGhhc2hTaWduTGVuLCB2b2lkICpzaWduZWREYXRhLCBzaXplX3QgKnNp
Z25lZERhdGFMZW4pOwotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NFQ0NyeXB0b3JWZXJp
ZnlIYXNoKENDRUNDcnlwdG9yUmVmIHB1YmxpY0tleSwgY29uc3Qgdm9pZCAqaGFzaCwgc2l6ZV90
IGhhc2hMZW4sIGNvbnN0IHZvaWQgKnNpZ25lZERhdGEsIHNpemVfdCBzaWduZWREYXRhTGVuLCB1
aW50MzJfdCAqdmFsaWQpOwotCi0jaWZuZGVmIENvbW1vbkNyeXB0b19Db21tb25OaXN0S2V5RGVy
aXZhdGlvbl9oCi1lbnVtIHsKLSAgICBrQ0NLREZBbGdvcml0aG1IS0RGID0gNgotfTsKLXR5cGVk
ZWYgdWludDMyX3QgQ0NLREZBbGdvcml0aG07Ci0jZW5kaWYKLQotZXh0ZXJuICJDIiBDQ1N0YXR1
cyBDQ0tleURlcml2YXRpb25ITWFjKENDS0RGQWxnb3JpdGhtIGFsZ29yaXRobSwgQ0NEaWdlc3RB
bGdvcml0aG0gZGlnZXN0LCB1bnNpZ25lZCByb3VuZHMsIGNvbnN0IHZvaWQgKmtleURlcml2YXRp
b25LZXksIHNpemVfdCBrZXlEZXJpdmF0aW9uS2V5TGVuLCBjb25zdCB2b2lkICpsYWJlbCwgc2l6
ZV90IGxhYmVsTGVuLCBjb25zdCB2b2lkICpjb250ZXh0LCBzaXplX3QgY29udGV4dExlbiwgY29u
c3Qgdm9pZCAqaXYsIHNpemVfdCBpdkxlbiwgY29uc3Qgdm9pZCAqc2FsdCwgc2l6ZV90IHNhbHRM
ZW4sIHZvaWQgKmRlcml2ZWRLZXksIHNpemVfdCBkZXJpdmVkS2V5TGVuKTsKLQotI2lmICFVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQotZXh0ZXJuICJDIiBDQ0NyeXB0b3JTdGF0dXMgQ0NDcnlwdG9y
R0NNKENDT3BlcmF0aW9uIG9wLCBDQ0FsZ29yaXRobSBhbGcsIGNvbnN0IHZvaWQqIGtleSwgc2l6
ZV90IGtleUxlbmd0aCwgY29uc3Qgdm9pZCogaXYsIHNpemVfdCBpdkxlbiwgY29uc3Qgdm9pZCog
YURhdGEsIHNpemVfdCBhRGF0YUxlbiwgY29uc3Qgdm9pZCogZGF0YUluLCBzaXplX3QgZGF0YUlu
TGVuZ3RoLCB2b2lkKiBkYXRhT3V0LCB2b2lkKiB0YWcsIHNpemVfdCogdGFnTGVuZ3RoKTsKLWV4
dGVybiAiQyIgQ0NDcnlwdG9yU3RhdHVzIENDUlNBQ3J5cHRvckNyZWF0ZUZyb21EYXRhKENDUlNB
S2V5VHlwZSBrZXlUeXBlLCBjb25zdCB1aW50OF90ICptb2R1bHVzLCBzaXplX3QgbW9kdWx1c0xl
bmd0aCwgY29uc3QgdWludDhfdCAqZXhwb25lbnQsIHNpemVfdCBleHBvbmVudExlbmd0aCwgY29u
c3QgdWludDhfdCAqcCwgc2l6ZV90IHBMZW5ndGgsIGNvbnN0IHVpbnQ4X3QgKnEsIHNpemVfdCBx
TGVuZ3RoLCBDQ1JTQUNyeXB0b3JSZWYgKnJlZik7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0
aG1IS0RGTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGht
SEtERk1hYy5jcHAKaW5kZXggOWU5NjZjYjc0NGMyN2YzMjAwMDFmMWY1MmVlNGE0ZjVmZGQyZGUy
Zi4uNmNhYTVmM2NiZTUzOWZlNjU0Y2I3YTlmZWZlZDk0YjlhNzJkNTczMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1IS0RGTWFjLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUhLREZNYWMuY3BwCkBA
IC00MCw5ICs0MCwxMiBAQCBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IENyeXB0b0FsZ29y
aXRobUhLREY6OnBsYXRmb3JtRGVyaXZlQml0cyhjb25zdCBDcnlwdAogICAgIENDRGlnZXN0QWxn
b3JpdGhtIGRpZ2VzdEFsZ29yaXRobTsKICAgICBnZXRDb21tb25DcnlwdG9EaWdlc3RBbGdvcml0
aG0ocGFyYW1ldGVycy5oYXNoSWRlbnRpZmllciwgZGlnZXN0QWxnb3JpdGhtKTsKIAorICAgIEFM
TE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVt
LzMyNDM5NDU1PiBDdXJyZW50bHksIHdoZW4ga2V5IGRhdGEgaXMgZW1wdHksIENDS2V5RGVyaXZh
dGlvbkhNYWMgd2lsbCBiYWlsIG91dC4KKyAgICAvLyA8cmRhcjovL3Byb2JsZW0vNDg4OTYwMjE+
IFJlbWluZGVyOiBTd2l0Y2ggdG8gQ0NEZXJpdmVLZXkgbm93IHRoYXQgQ0NLZXlEZXJpdmF0aW9u
SE1hYyBpcyBkZXByZWNhdGVkLgogICAgIGlmIChDQ0tleURlcml2YXRpb25ITWFjKGtDQ0tERkFs
Z29yaXRobUhLREYsIGRpZ2VzdEFsZ29yaXRobSwgMCwga2V5LmtleSgpLmRhdGEoKSwga2V5Lmtl
eSgpLnNpemUoKSwgMCwgMCwgcGFyYW1ldGVycy5pbmZvVmVjdG9yKCkuZGF0YSgpLCBwYXJhbWV0
ZXJzLmluZm9WZWN0b3IoKS5zaXplKCksIDAsIDAsIHBhcmFtZXRlcnMuc2FsdFZlY3RvcigpLmRh
dGEoKSwgcGFyYW1ldGVycy5zYWx0VmVjdG9yKCkuc2l6ZSgpLCByZXN1bHQuZGF0YSgpLCByZXN1
bHQuc2l6ZSgpKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07
CisgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAgcmV0dXJuIFdURk1v
dmUocmVzdWx0KTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>