<?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>6361</bug_id>
          
          <creation_ts>2006-01-03 17:19:54 -0800</creation_ts>
          <short_desc>Add plugin support to DumpRenderTree</short_desc>
          <delta_ts>2006-01-05 14:22:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>27685</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-01-03 17:19:54 -0800</bug_when>
    <thetext>We want this for layout testing plugin bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27692</commentid>
    <comment_count>1</comment_count>
      <attachid>5467</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-01-03 17:44:28 -0800</bug_when>
    <thetext>Created attachment 5467
Fix

I pity da foo messin with netscape plugins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27699</commentid>
    <comment_count>2</comment_count>
      <attachid>5467</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-03 22:21:46 -0800</bug_when>
    <thetext>Comment on attachment 5467
Fix

Index: WebKitTools/DumpRenderTree/DumpRenderTree.xcodeproj/ggaren.mode2

should be removed.

Wouldn&apos;t it be easier to add a hidden pref to WebKit to turn off the
don&apos;t-load-plugins-with-no-window optimization?

I&apos;m not sure that the plugin should be under the APSL (I think that&apos;s what that
is?).Probably BSD like the rest of WebKit.

It looks like you used some tabs in at least the plugin code.

No {} around the one line if in plugin code.  Also, you&apos;re likely using C99 and
can put the int in the for declaration.

In c code our unofficall style is (I&apos;m told) to put the * next to the variable
name, not the type.  c++ we put the * next to the type.  Confusing enough yet?

I think this one could use one more round of cleanup.  Removing the mode file
will reduce the size of the patch by 2/3rds :)	I&apos;ve looked at it, but not
closely enough to really call this a review yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27792</commentid>
    <comment_count>3</comment_count>
      <attachid>5498</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-01-05 09:52:23 -0800</bug_when>
    <thetext>Created attachment 5498
Fix 2

&gt;Index: WebKitTools/DumpRenderTree/DumpRenderTree.xcodeproj/ggaren.mode2
&gt;should be removed.

Done. Sorry about that.

&gt;Wouldn&apos;t it be easier to add a hidden pref to WebKit to turn off the
&gt;don&apos;t-load-plugins-with-no-window optimization?

It&apos;s a neat idea, and I considered it, but ultimately I thought it would be
more complicated and unjustifiably risky. Risky because we would be changing
the behavior of WebKit/WebCore in an untested area of code without any visible
benefit to the user. (I can&apos;t think of any &quot;real life&quot; situation where we would
want to use that pref.) More complicated because the current solution is very
few lines of code, cleanly separated from the rest of the engine.

Another disadvantage to the hidden window I considered was performance of the
layout test engine. However, since the window is set to defer drawing, and it&apos;s
never made visible, the only overhead it incurs should be its allocation, which
isn&apos;t significant.

&gt;I&apos;m not sure that the plugin should be under the APSL (I think that&apos;s what
that
&gt;is?).Probably BSD like the rest of WebKit.

I copied the licenses from the files in /Developer/Examples because this code
is an adaptation of that code. Is it OK for us to distribute non-BSD code?

&gt;It looks like you used some tabs in at least the plugin code.

Oops. Should be fixed now.

&gt;No {} around the one line if in plugin code.  Also, you&apos;re likely using C99
and
&gt;can put the int in the for declaration.

Fixed.

&gt;In c code our unofficall style is (I&apos;m told) to put the * next to the variable

&gt;name, not the type.  c++ we put the * next to the type.  Confusing enough yet?


Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27794</commentid>
    <comment_count>4</comment_count>
      <attachid>5498</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-05 10:16:23 -0800</bug_when>
    <thetext>Comment on attachment 5498
Fix 2

Plenty we could tweak here, but it&apos;s test code and it looks good for that
purpose. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27807</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-01-05 14:22:42 -0800</bug_when>
    <thetext>Landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5467</attachid>
            <date>2006-01-03 17:44:28 -0800</date>
            <delta_ts>2006-01-05 09:52:23 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>patch-plugin-layout-testing.txt</filename>
            <type>text/plain</type>
            <size>90789</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIxOApkaWZm
IC1wIC11IC1yMS4yMTggTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCi0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJMyBKYW4gMjAwNiAyMzowNjoyNyAtMDAwMAkxLjIxOAorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCTQgSmFuIDIwMDYgMDE6NDQ6NTggLTAwMDAKQEAgLTEsMyArMSwxMiBAQAorMjAwNi0w
MS0wMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIExheW91
dCB0ZXN0IGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lk
PTYzMTgKKyAgICAgICAgUkVHUkVTU0lPTjogUmVwcm8gY3Jhc2ggaW4gSlMgY2FsbGVkIGZyb20g
Rmxhc2ggb24gYmRhc2gubmV0Lm56CisKKyAgICAgICAgKiBmYXN0L3BsdWdpbnMvbmV0c2NhcGUt
YmFjay1mb3J3YXJkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9wbHVnaW5z
L25ldHNjYXBlLWJhY2stZm9yd2FyZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BsdWdp
bnMvcmVzb3VyY2VzL2dvLWJhY2suaHRtbDogQWRkZWQuCisKIDIwMDYtMDEtMDMgIEp1c3RpbiBH
YXJjaWEgIDxqdXN0aW4uZ2FyY2lhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBo
YXJyaXNvbgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wbHVnaW5zL25ldHNjYXBlLWJhY2stZm9y
d2FyZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogbmV0c2NhcGUtYmFjay1mb3J3
YXJkLWV4cGVjdGVkLnR4dApkaWZmIC1OIExheW91dFRlc3RzL2Zhc3QvcGx1Z2lucy9uZXRzY2Fw
ZS1iYWNrLWZvcndhcmQtZXhwZWN0ZWQudHh0Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BsdWdpbnMv
bmV0c2NhcGUtYmFjay1mb3J3YXJkLWV4cGVjdGVkLnR4dAkxIEphbiAxOTcwIDAwOjAwOjAwIC0w
MDAwCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BsdWdpbnMvbmV0c2NhcGUtYmFjay1mb3J3YXJkLWV4
cGVjdGVkLnR4dAk0IEphbiAyMDA2IDAxOjQ0OjU5IC0wMDAwCkBAIC0wLDAgKzEsMTQgQEAKK0J1
ZzogUkVHUkVTU0lPTjogUmVwcm8gY3Jhc2ggaW4gSlMgY2FsbGVkIGZyb20gRmxhc2ggb24gYmRh
c2gubmV0Lm56CisKK0lmIHRoaXMgdGVzdCBwYXNzZXMsIHlvdSB3aWxsIHNlZSBhIFBBU1MgbWVz
c2dlIGJlbG93LgorCisKKy0tLS0tIEFGVEVSIGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uOiAtLS0t
LQorCitwbHVnaW4ucHJvcGVydHkgaXMgJ3Byb3BlcnR5JworCitjYWxsYmFjayByZWNlaXZlZCBm
cm9tIHBsdWdpbgorCitQQVNTCisKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wbHVnaW5zL25l
dHNjYXBlLWJhY2stZm9yd2FyZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IG5ldHNjYXBlLWJh
Y2stZm9yd2FyZC5odG1sCmRpZmYgLU4gTGF5b3V0VGVzdHMvZmFzdC9wbHVnaW5zL25ldHNjYXBl
LWJhY2stZm9yd2FyZC5odG1sCi0tLSBMYXlvdXRUZXN0cy9mYXN0L3BsdWdpbnMvbmV0c2NhcGUt
YmFjay1mb3J3YXJkLmh0bWwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgTGF5b3V0VGVz
dHMvZmFzdC9wbHVnaW5zL25ldHNjYXBlLWJhY2stZm9yd2FyZC5odG1sCTQgSmFuIDIwMDYgMDE6
NDQ6NTkgLTAwMDAKQEAgLTAsMCArMSw4OSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cisg
ICAgLyogSGVscGVyIGZ1bmN0aW9ucyAqLworICAgIGZ1bmN0aW9uIHByaW50KG1lc3NhZ2UpIHsK
KyAgICAgICAgdmFyIHBhcmFncmFwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKKyAg
ICAgICAgcGFyYWdyYXBoLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3Nh
Z2UpKTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRD
aGlsZChwYXJhZ3JhcGgpOworICAgIH0KKworICAgIC8qIEV2YWx1YXRvciAtLSB1c2UgZm9yIGV2
YWx1YXRpbmcgYW4gZXhwcmVzc2lvbiBpbiBhIGZ1bm55IHdheSAqLworICAgIHZhciBFdmFsdWF0
b3IgPSBuZXcgT2JqZWN0KCk7CisKKyAgICBFdmFsdWF0b3IuZXZhbHVhdGVBZnRlckJhY2tGb3J3
YXJkTmF2aWdhdGlvbiA9IGZ1bmN0aW9uKGV4cHJlc3Npb24pCisgICAgeworICAgICAgICAvKiBv
bmxvYWQgZG9lc24ndCBmaXJlIGFmdGVyIGEgYmFjay9mb3J3YXJkIG5hdmlnYXRpb24sIGJ1dCB0
aW1lcnMgZ2V0IHJlc3RvcmVkLgorICAgICAgICAgKiBTbywgdG8gZXhlY3V0ZSBhIHNjcmlwdCBh
ZnRlciB0aGUgYmFjay9mb3J3YXJkIG5hdmlnYXRpb24gaGFzIGNvbXBsZXRlZCwgCisgICAgICAg
ICAqIHdlIHNldCBhIHRpbWVyLgorICAgICAgICAgKi8KKyAgICAgICAgRXZhbHVhdG9yLmludGVy
dmFsID0gd2luZG93LnNldEludGVydmFsKCJFdmFsdWF0b3IuZXZhbHVhdGUoIiArIGV4cHJlc3Np
b24gKyAiKSIsIDEwMDApOworICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJj
ZXMvZ28tYmFjay5odG1sIjsKKyAgICB9CisKKyAgICBFdmFsdWF0b3IuZXZhbHVhdGUgPSBmdW5j
dGlvbihleHByZXNzaW9uKQorICAgIHsKKyAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoRXZh
bHVhdG9yLmludGVydmFsKTsKKyAgICAgICAgZXZhbChleHByZXNzaW9uKTsKKyAgICB9CisKKyAg
ICAvKiBUZXN0ICovCisgICAgCisgICAgdmFyIFRlc3QgPSBuZXcgT2JqZWN0KCk7CisKKyAgICBU
ZXN0LmRpZFJlY2VpdmVDYWxsYmFjayA9IGZhbHNlOworCisgICAgVGVzdC5jYWxsYmFjayA9IGZ1
bmN0aW9uKCkKKyAgICB7CisgICAgICAgIFRlc3QuZGlkUmVjZWl2ZUNhbGxiYWNrID0gdHJ1ZTsK
KyAgICAgICAgcHJpbnQoJ2NhbGxiYWNrIHJlY2VpdmVkIGZyb20gcGx1Z2luJyk7CisgICAgfQor
ICAgIAorICAgIFRlc3QuY29udGludWVBZnRlckJhY2tGb3J3YXJkTmF2aWdhdGlvbiA9IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIHByaW50KCItLS0tLSBBRlRFUiBiYWNrL2ZvcndhcmQgbmF2
aWdhdGlvbjogLS0tLS0iKTsKKworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHBsdWdp
biA9IGRvY3VtZW50LmVtYmVkc1sidGVzdFBsdWdpbiJdOworICAgICAgICAgICAgaWYgKHBsdWdp
bi5wcm9wZXJ0eSkKKyAgICAgICAgICAgICAgICBwcmludCgicGx1Z2luLnByb3BlcnR5IGlzICci
ICsgcGx1Z2luLnByb3BlcnR5ICsgIiciKTsKKworICAgICAgICAgICAgLy8gTmV0c2NhcGUgcGx1
Z2lucyBzZWVtIHRvIGJlIGFibGUgdG8gY2FsbCB3aW5kb3ctbGV2ZWwgZnVuY3Rpb25zIG9ubHkK
KyAgICAgICAgICAgIHdpbmRvdy5jYWxsYmFjayA9IFRlc3QuY2FsbGJhY2s7CisgICAgICAgICAg
ICBpZiAocGx1Z2luLnRlc3RDYWxsYmFjaykKKyAgICAgICAgICAgICAgICBwbHVnaW4udGVzdENh
bGxiYWNrKCJjYWxsYmFjayIpOworICAgICAgICAgICAgZGVsZXRlIHdpbmRvdy5jYWxsYmFjazsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChwbHVnaW4ucHJvcGVydHkgJiYgVGVz
dC5kaWRSZWNlaXZlQ2FsbGJhY2spCisgICAgICAgICAgICAgICAgcHJpbnQgKCJQQVNTIik7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcHJpbnQoIkZBSUwiKTsKKyAgICAgICAg
fQorICAgICAgICBjYXRjaCAoZSkgeworICAgICAgICAgICAgcHJpbnQoIkZBSUwiKTsKKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAg
ICB9CisgICAgfQorICAgIAorICAgIFRlc3QucnVuID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBFdmFs
dWF0b3IuZXZhbHVhdGVBZnRlckJhY2tGb3J3YXJkTmF2aWdhdGlvbignVGVzdC5jb250aW51ZUFm
dGVyQmFja0ZvcndhcmROYXZpZ2F0aW9uKCknKTsgICAgCisgICAgfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9IlRlc3QucnVuKCkiPgorPHA+QnVnOiA8YSBocmVmPSJodHRwOi8v
YnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTgiPlJFR1JFU1NJT046
IFJlcHJvIGNyYXNoIGluIEpTIGNhbGxlZCBmcm9tIEZsYXNoIG9uIGJkYXNoLm5ldC5uejwvYT48
L3A+Cis8cD5JZiB0aGlzIHRlc3QgcGFzc2VzLCB5b3Ugd2lsbCBzZWUgYSBQQVNTIG1lc3NnZSBi
ZWxvdy48L3A+Cis8aHI+Cis8ZW1iZWQgbmFtZT0idGVzdFBsdWdpbiIgd2lkdGg9IjAiIGhlaWdo
dD0iMCIgc3JjPSIiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiPjwv
ZW1iZWQ+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvcGx1Z2lucy9yZXNvdXJjZXMvZ28tYmFjay5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IHJlc291cmNlcy9nby1iYWNrLmh0bWwKZGlmZiAtTiBMYXlvdXRUZXN0cy9m
YXN0L3BsdWdpbnMvcmVzb3VyY2VzL2dvLWJhY2suaHRtbAotLS0gTGF5b3V0VGVzdHMvZmFzdC9w
bHVnaW5zL3Jlc291cmNlcy9nby1iYWNrLmh0bWwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAor
KysgTGF5b3V0VGVzdHMvZmFzdC9wbHVnaW5zL3Jlc291cmNlcy9nby1iYWNrLmh0bWwJNCBKYW4g
MjAwNiAwMTo0NDo1OSAtMDAwMApAQCAtMCwwICsxLDMgQEAKKzxodG1sPgorPGJvZHkgb25sb2Fk
PSJ3aW5kb3cuaGlzdG9yeS5iYWNrKCkiPiA8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBXZWJLaXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJLaXQvQ2hhbmdlTG9n
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM0NDAKZGlmZiAtcCAtdSAtcjEuMzQ0MCBXZWJLaXQv
Q2hhbmdlTG9nCi0tLSBXZWJLaXQvQ2hhbmdlTG9nCTQgSmFuIDIwMDYgMDE6MDI6NDUgLTAwMDAJ
MS4zNDQwCisrKyBXZWJLaXQvQ2hhbmdlTG9nCTQgSmFuIDIwMDYgMDE6NDU6MDMgLTAwMDAKQEAg
LTEsMyArMSwxMyBAQAorMjAwNi0wMS0wMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0g
Rml4ZWQgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYx
CisgICAgICAgIEFkZCBwbHVnaW4gc3VwcG9ydCB0byBEdW1wUmVuZGVyVHJlZQorCisgICAgICAg
ICogV2ViS2l0LmV4cDogZXhwb3J0IFdlYlBsdWdpbkRhdGFiYXNlIGNsYXNzLCB3aGljaCBEdW1w
UmVuZGVyVHJlZQorICAgICAgICBuZWVkcyB0byBhZGQgcGx1Z2lucyB0byB0aGUgcnVudGltZS4K
KwogMjAwNi0wMS0wMyAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFZpY2tpLgpJbmRleDogV2ViS2l0L1dlYktpdC5leHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9XZWJLaXQuZXhwLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjc3CmRpZmYgLXAgLXUgLXIxLjc3IFdlYktpdC9XZWJLaXQuZXhwCi0tLSBXZWJLaXQv
V2ViS2l0LmV4cAkyIE5vdiAyMDA1IDAxOjU5OjExIC0wMDAwCTEuNzcKKysrIFdlYktpdC9XZWJL
aXQuZXhwCTQgSmFuIDIwMDYgMDE6NDU6MDYgLTAwMDAKQEAgLTEsMyArMSw0IEBACisub2JqY19j
bGFzc19uYW1lX1dlYlBsdWdpbkRhdGFiYXNlCiAub2JqY19jbGFzc19uYW1lX1dlYkFyY2hpdmUK
IC5vYmpjX2NsYXNzX25hbWVfV2ViQmFja0ZvcndhcmRMaXN0CiAub2JqY19jbGFzc19uYW1lX1dl
YkNvcmVTdGF0aXN0aWNzCkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L1dlYktpdFRvb2xzL0NoYW5nZUxvZyx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMS4xMzYKZGlmZiAtcCAtdSAtcjEuMTM2IFdlYktpdFRvb2xzL0NoYW5nZUxvZwotLS0g
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCTMwIERlYyAyMDA1IDA3OjA0OjEwIC0wMDAwCTEuMTM2Cisr
KyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJNCBKYW4gMjAwNiAwMTo0NTowNyAtMDAwMApAQCAtMSwz
ICsxLDU4IEBACisyMDA2LTAxLTAzICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBGaXhl
ZCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjEKKyAg
ICAgICAgQWRkIHBsdWdpbiBzdXBwb3J0IHRvIER1bXBSZW5kZXJUcmVlCisKKyAgICAgICAgQWxz
byB3cm90ZSBmaXJzdCB0ZXN0IHBsdWdpbi4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1
bXBSZW5kZXJUcmVlLm06CisgICAgICAgIChtYWluKToKKyAgICAgICAgKDEpIFB1dCB0aGUgV2Vi
VmlldyBpbiBhbiBpbnZpc2libGUgd2luZG93LCBiZWNhdXNlIFBsdWdJbnMgYXJlCisgICAgICAg
IG9wdGltaXplZCBub3QgdG8gbG9hZCBpZiB0aGVyZSdzIG5vIHBhcmVudCB3aW5kb3cuCisgICAg
ICAgICgyKSBUZWxsIFdlYktpdCB0byBsb2FkIGFueSBQbHVnSW5zIGluIHRoZSBkaXJlY3Rvcnkg
ZnJvbSB3aGljaCB3ZSAKKyAgICAgICAgbG9hZGVkLiBUaGlzIG1lYW5zIHdlIGNhbiBidWlsZCBu
YXN0eSBQbHVnSW5zIGFsb25nc2lkZSBEdW1wUmVuZGVyVHJlZSAKKyAgICAgICAgYW5kIHRoZXkn
bGwgbG9hZCBhdXRvbWFnaWNhbGx5IGR1cmluZyBsYXlvdXQgdGVzdGluZywgYnV0IHRoZXkgd29u
J3QgYmUKKyAgICAgICAgYWRkZWQgdG8gdGhlIHVzZXIncyBzeXN0ZW0sIGhvc2luZyBhcHBzIGxp
a2UgU2FmYXJpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgbmV3CisgICAgICAgIHRlc3QgUGx1Z0luIHRv
IHByb2plY3QuCisKKyAgICAgICAgUGx1Z0luIGFkZGVkIHRvIHByb2plY3Q6CisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9JbmZvLnBsaXN0OiBB
ZGRlZC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJv
ai9QbHVnaW5PYmplY3QuYzogQWRkZWQuCisgICAgICAgIChnZXRQbHVnaW5DbGFzcyk6CisgICAg
ICAgIChpbml0aWFsaXplSWRlbnRpZmllcnMpOgorICAgICAgICAocGx1Z2luSGFzUHJvcGVydHkp
OgorICAgICAgICAocGx1Z2luSGFzTWV0aG9kKToKKyAgICAgICAgKHBsdWdpbkdldFByb3BlcnR5
KToKKyAgICAgICAgKHBsdWdpblNldFByb3BlcnR5KToKKyAgICAgICAgKHBsdWdpbkludm9rZSk6
CisgICAgICAgIChwbHVnaW5JbnZva2VEZWZhdWx0KToKKyAgICAgICAgKHBsdWdpbkludmFsaWRh
dGUpOgorICAgICAgICAocGx1Z2luQWxsb2NhdGUpOgorICAgICAgICAocGx1Z2luRGVhbGxvY2F0
ZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ov
UGx1Z2luT2JqZWN0Lmg6IEFkZGVkLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRz
Y2FwZVBsdWdJbi5zdWJwcm9qL21haW4uYzogQWRkZWQuCisgICAgICAgIChOUF9Jbml0aWFsaXpl
KToKKyAgICAgICAgKE5QX0dldEVudHJ5UG9pbnRzKToKKyAgICAgICAgKE5QX1NodXRkb3duKToK
KyAgICAgICAgKE5QUF9OZXcpOgorICAgICAgICAoTlBQX0Rlc3Ryb3kpOgorICAgICAgICAoTlBQ
X1NldFdpbmRvdyk6CisgICAgICAgIChOUFBfTmV3U3RyZWFtKToKKyAgICAgICAgKE5QUF9EZXN0
cm95U3RyZWFtKToKKyAgICAgICAgKE5QUF9Xcml0ZVJlYWR5KToKKyAgICAgICAgKE5QUF9Xcml0
ZSk6CisgICAgICAgIChOUFBfU3RyZWFtQXNGaWxlKToKKyAgICAgICAgKE5QUF9QcmludCk6Cisg
ICAgICAgIChOUFBfSGFuZGxlRXZlbnQpOgorICAgICAgICAoTlBQX1VSTE5vdGlmeSk6CisgICAg
ICAgIChOUFBfR2V0VmFsdWUpOgorICAgICAgICAoTlBQX1NldFZhbHVlKToKKwogMjAwNS0xMi0z
MCAgRXJpYyBTZWlkZWwgIDxlc2VpZGVsQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBtanMuCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54
Y29kZXByb2ovZ2dhcmVuLm1vZGUyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtTnB1IFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9nZ2FyZW4ubW9kZTIKLS0tIFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9nZ2FyZW4u
bW9kZTIJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL2dnYXJlbi5tb2RlMgk0IEphbiAyMDA2IDAx
OjQyOjE0IC0wMDAwCkBAIC0wLDAgKzEsMTUxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlIENvbXB1dGVy
Ly9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlM
aXN0LTEuMC5kdGQiPgorPHBsaXN0IHZlcnNpb249IjEuMCI+Cis8ZGljdD4KKwk8a2V5PkFjdGl2
ZVBlcnNwZWN0aXZlTmFtZTwva2V5PgorCTxzdHJpbmc+UHJvamVjdDwvc3RyaW5nPgorCTxrZXk+
QWxsb3dlZE1vZHVsZXM8L2tleT4KKwk8YXJyYXk+CisJCTxkaWN0PgorCQkJPGtleT5CdW5kbGVM
b2FkUGF0aDwva2V5PgorCQkJPHN0cmluZz48L3N0cmluZz4KKwkJCTxrZXk+TWF4SW5zdGFuY2Vz
PC9rZXk+CisJCQk8c3RyaW5nPm48L3N0cmluZz4KKwkJCTxrZXk+TW9kdWxlPC9rZXk+CisJCQk8
c3RyaW5nPlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlPC9zdHJpbmc+CisJCQk8a2V5Pk5hbWU8L2tl
eT4KKwkJCTxzdHJpbmc+R3JvdXBzIGFuZCBGaWxlcyBPdXRsaW5lIFZpZXc8L3N0cmluZz4KKwkJ
PC9kaWN0PgorCQk8ZGljdD4KKwkJCTxrZXk+QnVuZGxlTG9hZFBhdGg8L2tleT4KKwkJCTxzdHJp
bmc+PC9zdHJpbmc+CisJCQk8a2V5Pk1heEluc3RhbmNlczwva2V5PgorCQkJPHN0cmluZz5uPC9z
dHJpbmc+CisJCQk8a2V5Pk1vZHVsZTwva2V5PgorCQkJPHN0cmluZz5QQlhOYXZpZ2F0b3JHcm91
cDwvc3RyaW5nPgorCQkJPGtleT5OYW1lPC9rZXk+CisJCQk8c3RyaW5nPkVkaXRvcjwvc3RyaW5n
PgorCQk8L2RpY3Q+CisJCTxkaWN0PgorCQkJPGtleT5CdW5kbGVMb2FkUGF0aDwva2V5PgorCQkJ
PHN0cmluZz48L3N0cmluZz4KKwkJCTxrZXk+TWF4SW5zdGFuY2VzPC9rZXk+CisJCQk8c3RyaW5n
Pm48L3N0cmluZz4KKwkJCTxrZXk+TW9kdWxlPC9rZXk+CisJCQk8c3RyaW5nPlhDVGFza0xpc3RN
b2R1bGU8L3N0cmluZz4KKwkJCTxrZXk+TmFtZTwva2V5PgorCQkJPHN0cmluZz5UYXNrIExpc3Q8
L3N0cmluZz4KKwkJPC9kaWN0PgorCQk8ZGljdD4KKwkJCTxrZXk+QnVuZGxlTG9hZFBhdGg8L2tl
eT4KKwkJCTxzdHJpbmc+PC9zdHJpbmc+CisJCQk8a2V5Pk1heEluc3RhbmNlczwva2V5PgorCQkJ
PHN0cmluZz5uPC9zdHJpbmc+CisJCQk8a2V5Pk1vZHVsZTwva2V5PgorCQkJPHN0cmluZz5YQ0Rl
dGFpbE1vZHVsZTwvc3RyaW5nPgorCQkJPGtleT5OYW1lPC9rZXk+CisJCQk8c3RyaW5nPkZpbGUg
YW5kIFNtYXJ0IEdyb3VwIERldGFpbCBWaWV3ZXI8L3N0cmluZz4KKwkJPC9kaWN0PgorCQk8ZGlj
dD4KKwkJCTxrZXk+QnVuZGxlTG9hZFBhdGg8L2tleT4KKwkJCTxzdHJpbmc+PC9zdHJpbmc+CisJ
CQk8a2V5Pk1heEluc3RhbmNlczwva2V5PgorCQkJPHN0cmluZz4xPC9zdHJpbmc+CisJCQk8a2V5
Pk1vZHVsZTwva2V5PgorCQkJPHN0cmluZz5QQlhCdWlsZFJlc3VsdHNNb2R1bGU8L3N0cmluZz4K
KwkJCTxrZXk+TmFtZTwva2V5PgorCQkJPHN0cmluZz5EZXRhaWxlZCBCdWlsZCBSZXN1bHRzIFZp
ZXdlcjwvc3RyaW5nPgorCQk8L2RpY3Q+CisJCTxkaWN0PgorCQkJPGtleT5CdW5kbGVMb2FkUGF0
aDwva2V5PgorCQkJPHN0cmluZz48L3N0cmluZz4KKwkJCTxrZXk+TWF4SW5zdGFuY2VzPC9rZXk+
CisJCQk8c3RyaW5nPjE8L3N0cmluZz4KKwkJCTxrZXk+TW9kdWxlPC9rZXk+CisJCQk8c3RyaW5n
PlBCWFByb2plY3RGaW5kTW9kdWxlPC9zdHJpbmc+CisJCQk8a2V5Pk5hbWU8L2tleT4KKwkJCTxz
dHJpbmc+UHJvamVjdCBCYXRjaCBGaW5kIFRvb2w8L3N0cmluZz4KKwkJPC9kaWN0PgorCQk8ZGlj
dD4KKwkJCTxrZXk+QnVuZGxlTG9hZFBhdGg8L2tleT4KKwkJCTxzdHJpbmc+PC9zdHJpbmc+CisJ
CQk8a2V5Pk1heEluc3RhbmNlczwva2V5PgorCQkJPHN0cmluZz5uPC9zdHJpbmc+CisJCQk8a2V5
Pk1vZHVsZTwva2V5PgorCQkJPHN0cmluZz5QQlhSdW5TZXNzaW9uTW9kdWxlPC9zdHJpbmc+CisJ
CQk8a2V5Pk5hbWU8L2tleT4KKwkJCTxzdHJpbmc+UnVuIExvZzwvc3RyaW5nPgorCQk8L2RpY3Q+
CisJCTxkaWN0PgorCQkJPGtleT5CdW5kbGVMb2FkUGF0aDwva2V5PgorCQkJPHN0cmluZz48L3N0
cmluZz4KKwkJCTxrZXk+TWF4SW5zdGFuY2VzPC9rZXk+CisJCQk8c3RyaW5nPm48L3N0cmluZz4K
KwkJCTxrZXk+TW9kdWxlPC9rZXk+CisJCQk8c3RyaW5nPlBCWEJvb2ttYXJrc01vZHVsZTwvc3Ry
aW5nPgorCQkJPGtleT5OYW1lPC9rZXk+CisJCQk8c3RyaW5nPkJvb2ttYXJrcyBUb29sPC9zdHJp
bmc+CisJCTwvZGljdD4KKwkJPGRpY3Q+CisJCQk8a2V5PkJ1bmRsZUxvYWRQYXRoPC9rZXk+CisJ
CQk8c3RyaW5nPjwvc3RyaW5nPgorCQkJPGtleT5NYXhJbnN0YW5jZXM8L2tleT4KKwkJCTxzdHJp
bmc+bjwvc3RyaW5nPgorCQkJPGtleT5Nb2R1bGU8L2tleT4KKwkJCTxzdHJpbmc+UEJYQ2xhc3NC
cm93c2VyTW9kdWxlPC9zdHJpbmc+CisJCQk8a2V5Pk5hbWU8L2tleT4KKwkJCTxzdHJpbmc+Q2xh
c3MgQnJvd3Nlcjwvc3RyaW5nPgorCQk8L2RpY3Q+CisJCTxkaWN0PgorCQkJPGtleT5CdW5kbGVM
b2FkUGF0aDwva2V5PgorCQkJPHN0cmluZz48L3N0cmluZz4KKwkJCTxrZXk+TWF4SW5zdGFuY2Vz
PC9rZXk+CisJCQk8c3RyaW5nPm48L3N0cmluZz4KKwkJCTxrZXk+TW9kdWxlPC9rZXk+CisJCQk8
c3RyaW5nPlBCWENWU01vZHVsZTwvc3RyaW5nPgorCQkJPGtleT5OYW1lPC9rZXk+CisJCQk8c3Ry
aW5nPlNvdXJjZSBDb2RlIENvbnRyb2wgVG9vbDwvc3RyaW5nPgorCQk8L2RpY3Q+CisJCTxkaWN0
PgorCQkJPGtleT5CdW5kbGVMb2FkUGF0aDwva2V5PgorCQkJPHN0cmluZz48L3N0cmluZz4KKwkJ
CTxrZXk+TWF4SW5zdGFuY2VzPC9rZXk+CisJCQk8c3RyaW5nPm48L3N0cmluZz4KKwkJCTxrZXk+
TW9kdWxlPC9rZXk+CisJCQk8c3RyaW5nPlBCWERlYnVnQnJlYWtwb2ludHNNb2R1bGU8L3N0cmlu
Zz4KKwkJCTxrZXk+TmFtZTwva2V5PgorCQkJPHN0cmluZz5EZWJ1ZyBCcmVha3BvaW50cyBUb29s
PC9zdHJpbmc+CisJCTwvZGljdD4KKwkJPGRpY3Q+CisJCQk8a2V5PkJ1bmRsZUxvYWRQYXRoPC9r
ZXk+CisJCQk8c3RyaW5nPjwvc3RyaW5nPgorCQkJPGtleT5NYXhJbnN0YW5jZXM8L2tleT4KKwkJ
CTxzdHJpbmc+bjwvc3RyaW5nPgorCQkJPGtleT5Nb2R1bGU8L2tleT4KKwkJCTxzdHJpbmc+WENE
b2NrYWJsZUluc3BlY3Rvcjwvc3RyaW5nPgorCQkJPGtleT5OYW1lPC9rZXk+CisJCQk8c3RyaW5n
Pkluc3BlY3Rvcjwvc3RyaW5nPgorCQk8L2RpY3Q+CisJCTxkaWN0PgorCQkJPGtleT5CdW5kbGVM
b2FkUGF0aDwva2V5PgorCQkJPHN0cmluZz48L3N0cmluZz4KKwkJCTxrZXk+TWF4SW5zdGFuY2Vz
PC9rZXk+CisJCQk8c3RyaW5nPm48L3N0cmluZz4KKwkJCTxrZXk+TW9kdWxlPC9rZXk+CisJCQk8
c3RyaW5nPlBCWE9wZW5RdWlja2x5TW9kdWxlPC9zdHJpbmc+CisJCQk8a2V5Pk5hbWU8L2tleT4K
KwkJCTxzdHJpbmc+T3BlbiBRdWlja2x5IFRvb2w8L3N0cmluZz4KKwkJPC9kaWN0PgorCQk8ZGlj
dD4KKwkJCTxrZXk+QnVuZGxlTG9hZFBhdGg8L2tleT4KKwkJCTxzdHJpbmc+PC9zdHJpbmc+CisJ
CQk8a2V5Pk1heEluc3RhbmNlczwva2V5PgorCQkJPHN0cmluZz4xPC9zdHJpbmc+CisJCQk8a2V5
Pk1vZHVsZTwva2V5PgorCQkJPHN0cmluZz5QQlhEZWJ1Z1Nlc3Npb25Nb2R1bGU8L3N0cmluZz4K
KwkJCTxrZXk+TmFtZTwva2V5PgorCQkJPHN0cmluZz5EZWJ1Z2dlcjwvc3RyaW5nPgorCQk8L2Rp
Y3Q+CisJCTxkaWN0PgorCQkJPGtleT5CdW5kbGVMb2FkUGF0aDwva2V5PgorCQkJPHN0cmluZz48
L3N0cmluZz4KKwkJCTxrZXk+TWF4SW5zdGFuY2VzPC9rZXk+CisJCQk8c3RyaW5nPjE8L3N0cmlu
Zz4KKwkJCTxrZXk+TW9kdWxlPC9rZXk+CisJCQk8c3RyaW5nPlBCWERlYnVnQ0xJTW9kdWxlPC9z
dHJpbmc+CisJCQk8a2V5Pk5hbWU8L2tleT4KKwkJCTxzdHJpbmc+RGVidWcgQ29uc29sZTwvc3Ry
aW5nPgorCQk8L2RpY3Q+CisJPC9hcnJheT4KKwk8a2V5PkRlc2NyaXB0aW9uPC9rZXk+CisJPHN0
cmluZz5Db25kZW5zZWREZXNjcmlwdGlvbktleTwvc3RyaW5nPgorCTxrZXk+RG9ja2luZ1N5c3Rl
bVZpc2libGU8L2tleT4KKwk8ZmFsc2UvPgorCTxrZXk+RXh0ZW5zaW9uPC9rZXk+CisJPHN0cmlu
Zz5tb2RlMjwvc3RyaW5nPgorCTxrZXk+RmF2QmFyQ29uZmlnPC9rZXk+CisJPGRpY3Q+CisJCTxr
ZXk+UEJYUHJvamVjdE1vZHVsZUdVSUQ8L2tleT4KKwkJPHN0cmluZz4xNDFCRjFDRDA5NkE0MkM3
MDBFMDc1M0M8L3N0cmluZz4KKwkJPGtleT5YQ0Jhck1vZHVsZUl0ZW1OYW1lczwva2V5PgorCQk8
ZGljdC8+CisJCTxrZXk+WENCYXJNb2R1bGVJdGVtczwva2V5PgorCQk8YXJyYXkvPgorCTwvZGlj
dD4KKwk8a2V5PkZpcnN0VGltZVdpbmRvd0Rpc3BsYXllZDwva2V5PgorCTxmYWxzZS8+CisJPGtl
eT5JZGVudGlmaWVyPC9rZXk+CisJPHN0cmluZz5jb20uYXBwbGUucGVyc3BlY3RpdmVzLnByb2pl
Y3QubW9kZTI8L3N0cmluZz4KKwk8a2V5Pk1ham9yVmVyc2lvbjwva2V5PgorCTxpbnRlZ2VyPjMy
PC9pbnRlZ2VyPgorCTxrZXk+TWlub3JWZXJzaW9uPC9rZXk+CisJPGludGVnZXI+MDwvaW50ZWdl
cj4KKwk8a2V5Pk5hbWU8L2tleT4KKwk8c3RyaW5nPkNvbmRlbnNlZDwvc3RyaW5nPgorCTxrZXk+
Tm90aWZpY2F0aW9uczwva2V5PgorCTxhcnJheT4KKwkJPGRpY3Q+CisJCQk8a2V5PlhDT2JzZXJ2
ZXJBdXRvRGlzY29ubmVjdEtleTwva2V5PgorCQkJPHRydWUvPgorCQkJPGtleT5YQ09ic2VydmVy
RGVmaW50aW9uS2V5PC9rZXk+CisJCQk8ZGljdD4KKwkJCQk8a2V5PlBCWFN0YXR1c0Vycm9yc0tl
eTwva2V5PgorCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CisJCQk8L2RpY3Q+CisJCQk8a2V5PlhD
T2JzZXJ2ZXJGYWN0b3J5S2V5PC9rZXk+CisJCQk8c3RyaW5nPlhDUGVyc3BlY3RpdmVzU3BlY2lm
aWNhdGlvbklkZW50aWZpZXI8L3N0cmluZz4KKwkJCTxrZXk+WENPYnNlcnZlckdVSURLZXk8L2tl
eT4KKwkJCTxzdHJpbmc+WENPYnNlcnZlclByb2plY3RJZGVudGlmaWVyPC9zdHJpbmc+CisJCQk8
a2V5PlhDT2JzZXJ2ZXJOb3RpZmljYXRpb25LZXk8L2tleT4KKwkJCTxzdHJpbmc+UEJYU3RhdHVz
QnVpbGRTdGF0ZU1lc3NhZ2VOb3RpZmljYXRpb248L3N0cmluZz4KKwkJCTxrZXk+WENPYnNlcnZl
clRhcmdldEtleTwva2V5PgorCQkJPHN0cmluZz5YQ01haW5CdWlsZFJlc3VsdHNNb2R1bGVHVUlE
PC9zdHJpbmc+CisJCQk8a2V5PlhDT2JzZXJ2ZXJUcmlnZ2VyS2V5PC9rZXk+CisJCQk8c3RyaW5n
PmF3YWtlbk1vZHVsZVdpdGhPYnNlcnZlcjo8L3N0cmluZz4KKwkJCTxrZXk+WENPYnNlcnZlclZh
bGlkYXRpb25LZXk8L2tleT4KKwkJCTxkaWN0PgorCQkJCTxrZXk+UEJYU3RhdHVzRXJyb3JzS2V5
PC9rZXk+CisJCQkJPGludGVnZXI+MjwvaW50ZWdlcj4KKwkJCTwvZGljdD4KKwkJPC9kaWN0Pgor
CTwvYXJyYXk+CisJPGtleT5PcGVuRWRpdG9yczwva2V5PgorCTxhcnJheT4KKwkJPGRpY3Q+CisJ
CQk8a2V5PkNvbnRlbnQ8L2tleT4KKwkJCTxkaWN0PgorCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVs
ZUdVSUQ8L2tleT4KKwkJCQk8c3RyaW5nPjE0OEU4ODAzMDk2QjVFRjQwMDk3NTU4NTwvc3RyaW5n
PgorCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVsZUxhYmVsPC9rZXk+CisJCQkJPHN0cmluZz5QbHVn
aW5PYmplY3QuYzwvc3RyaW5nPgorCQkJCTxrZXk+UEJYU3BsaXRNb2R1bGVJbk5hdmlnYXRvcktl
eTwva2V5PgorCQkJCTxkaWN0PgorCQkJCQk8a2V5PlNwbGl0MDwva2V5PgorCQkJCQk8ZGljdD4K
KwkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVsZUdVSUQ8L2tleT4KKwkJCQkJCTxzdHJpbmc+MTQ4
RTg4MDkwOTZCNUY3NjAwOTc1NTg1PC9zdHJpbmc+CisJCQkJCQk8a2V5PlBCWFByb2plY3RNb2R1
bGVMYWJlbDwva2V5PgorCQkJCQkJPHN0cmluZz5QbHVnaW5PYmplY3QuYzwvc3RyaW5nPgorCQkJ
CQkJPGtleT5faGlzdG9yeUNhcGFjaXR5PC9rZXk+CisJCQkJCQk8aW50ZWdlcj40MDwvaW50ZWdl
cj4KKwkJCQkJCTxrZXk+Ym9va21hcms8L2tleT4KKwkJCQkJCTxzdHJpbmc+MTQ4RTg4MEMwOTZC
NUY3NjAwOTc1NTg1PC9zdHJpbmc+CisJCQkJCQk8a2V5Pmhpc3Rvcnk8L2tleT4KKwkJCQkJCTxh
cnJheT4KKwkJCQkJCQk8c3RyaW5nPjE0OEU4ODBBMDk2QjVGNzYwMDk3NTU4NTwvc3RyaW5nPgor
CQkJCQkJCTxzdHJpbmc+MTQ4RTg4MDYwOTZCNUY2MTAwOTc1NTg1PC9zdHJpbmc+CisJCQkJCQk8
L2FycmF5PgorCQkJCQkJPGtleT5wcmV2U3RhY2s8L2tleT4KKwkJCQkJCTxhcnJheT4KKwkJCQkJ
CQk8c3RyaW5nPjE0OEU4ODBCMDk2QjVGNzYwMDk3NTU4NTwvc3RyaW5nPgorCQkJCQkJPC9hcnJh
eT4KKwkJCQkJPC9kaWN0PgorCQkJCQk8a2V5PlNwbGl0Q291bnQ8L2tleT4KKwkJCQkJPHN0cmlu
Zz4xPC9zdHJpbmc+CisJCQkJPC9kaWN0PgorCQkJCTxrZXk+U3RhdHVzQmFyVmlzaWJpbGl0eTwv
a2V5PgorCQkJCTx0cnVlLz4KKwkJCTwvZGljdD4KKwkJCTxrZXk+R2VvbWV0cnk8L2tleT4KKwkJ
CTxkaWN0PgorCQkJCTxrZXk+RnJhbWU8L2tleT4KKwkJCQk8c3RyaW5nPnt7MCwgMjB9LCB7OTE0
LCA3ODF9fTwvc3RyaW5nPgorCQkJCTxrZXk+UEJYTW9kdWxlV2luZG93U3RhdHVzQmFySGlkZGVu
Mjwva2V5PgorCQkJCTxmYWxzZS8+CisJCQkJPGtleT5SdWJiZXJXaW5kb3dGcmFtZTwva2V5Pgor
CQkJCTxzdHJpbmc+NzggNTEgOTE0IDgyMiAwIDAgMTQ0MCA4NzggPC9zdHJpbmc+CisJCQk8L2Rp
Y3Q+CisJCTwvZGljdD4KKwk8L2FycmF5PgorCTxrZXk+UGVyc3BlY3RpdmVXaWR0aHM8L2tleT4K
Kwk8YXJyYXk+CisJCTxpbnRlZ2VyPi0xPC9pbnRlZ2VyPgorCTwvYXJyYXk+CisJPGtleT5QZXJz
cGVjdGl2ZXM8L2tleT4KKwk8YXJyYXk+CisJCTxkaWN0PgorCQkJPGtleT5DaG9zZW5Ub29sYmFy
SXRlbXM8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8c3RyaW5nPmJ1aWxkT3JDbGVhbjwvc3RyaW5n
PgorCQkJCTxzdHJpbmc+YnVpbGQtYW5kLXJ1bk9yRGVidWc8L3N0cmluZz4KKwkJCQk8c3RyaW5n
PmNvbS5hcHBsZS5pZGUuUEJYVG9vbGJhclN0b3BCdXR0b248L3N0cmluZz4KKwkJCQk8c3RyaW5n
Pk5TVG9vbGJhckZsZXhpYmxlU3BhY2VJdGVtPC9zdHJpbmc+CisJCQkJPHN0cmluZz5nZXQtaW5m
bzwvc3RyaW5nPgorCQkJPC9hcnJheT4KKwkJCTxrZXk+Q29udHJvbGxlckNsYXNzQmFzZU5hbWU8
L2tleT4KKwkJCTxzdHJpbmc+PC9zdHJpbmc+CisJCQk8a2V5Pkljb25OYW1lPC9rZXk+CisJCQk8
c3RyaW5nPldpbmRvd09mUHJvamVjdDwvc3RyaW5nPgorCQkJPGtleT5JZGVudGlmaWVyPC9rZXk+
CisJCQk8c3RyaW5nPnBlcnNwZWN0aXZlLnByb2plY3Q8L3N0cmluZz4KKwkJCTxrZXk+SXNWZXJ0
aWNhbDwva2V5PgorCQkJPGZhbHNlLz4KKwkJCTxrZXk+TGF5b3V0PC9rZXk+CisJCQk8YXJyYXk+
CisJCQkJPGRpY3Q+CisJCQkJCTxrZXk+UHJvcG9ydGlvbjwva2V5PgorCQkJCQk8c3RyaW5nPjM1
MHB0PC9zdHJpbmc+CisJCQkJCTxrZXk+VGFiczwva2V5PgorCQkJCQk8YXJyYXk+CisJCQkJCQk8
ZGljdD4KKwkJCQkJCQk8a2V5PkJlY29tZUFjdGl2ZTwva2V5PgorCQkJCQkJCTx0cnVlLz4KKwkJ
CQkJCQk8a2V5PkNvbnRlbnRDb25maWd1cmF0aW9uPC9rZXk+CisJCQkJCQkJPGRpY3Q+CisJCQkJ
CQkJCTxrZXk+UEJYQm90dG9tU21hcnRHcm91cEdJRHM8L2tleT4KKwkJCQkJCQkJPGFycmF5Lz4K
KwkJCQkJCQkJPGtleT5QQlhQcm9qZWN0TW9kdWxlR1VJRDwva2V5PgorCQkJCQkJCQk8c3RyaW5n
PjFDOTQzN0ZEMDYzQjIwQjAwMDM5Q0ZBQzwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlBCWFByb2pl
Y3RNb2R1bGVMYWJlbDwva2V5PgorCQkJCQkJCQk8c3RyaW5nPkZpbGVzPC9zdHJpbmc+CisJCQkJ
CQkJCTxrZXk+UEJYUHJvamVjdFN0cnVjdHVyZVByb3ZpZGVkPC9rZXk+CisJCQkJCQkJCTxzdHJp
bmc+eWVzPC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVDb2x1
bW5EYXRhPC9rZXk+CisJCQkJCQkJCTxkaWN0PgorCQkJCQkJCQkJPGtleT5QQlhTbWFydEdyb3Vw
VHJlZU1vZHVsZUNvbHVtbldpZHRoc0tleTwva2V5PgorCQkJCQkJCQkJPGFycmF5PgorCQkJCQkJ
CQkJCTxyZWFsPjIyNzwvcmVhbD4KKwkJCQkJCQkJCQk8cmVhbD4yMDwvcmVhbD4KKwkJCQkJCQkJ
CQk8cmVhbD40MzwvcmVhbD4KKwkJCQkJCQkJCQk8cmVhbD40MzwvcmVhbD4KKwkJCQkJCQkJCTwv
YXJyYXk+CisJCQkJCQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlQ29sdW1uc0tleV92
NDwva2V5PgorCQkJCQkJCQkJPGFycmF5PgorCQkJCQkJCQkJCTxzdHJpbmc+TWFpbkNvbHVtbjwv
c3RyaW5nPgorCQkJCQkJCQkJCTxzdHJpbmc+RmlsZUJ1aWx0Q29sdW1uPC9zdHJpbmc+CisJCQkJ
CQkJCQkJPHN0cmluZz5FcnJvcnNDb2x1bW48L3N0cmluZz4KKwkJCQkJCQkJCQk8c3RyaW5nPldh
cm5pbmdzQ29sdW1uPC9zdHJpbmc+CisJCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQk8L2RpY3Q+
CisJCQkJCQkJCTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVPdXRsaW5lU3RhdGVLZXlfdjc8
L2tleT4KKwkJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9k
dWxlT3V0bGluZVN0YXRlRXhwYW5zaW9uS2V5PC9rZXk+CisJCQkJCQkJCQk8YXJyYXk+CisJCQkJ
CQkJCQkJPHN0cmluZz4wOEZCNzc5NEZFODQxNTVEQzAyQUFDMDc8L3N0cmluZz4KKwkJCQkJCQkJ
CQk8c3RyaW5nPjE0MUJGMUY1MDk2QTQzOTgwMEUwNzUzQzwvc3RyaW5nPgorCQkJCQkJCQkJCTxz
dHJpbmc+OTM0MDk5NTUwODU0MENBRjAwN0YzQkM4PC9zdHJpbmc+CisJCQkJCQkJCQkJPHN0cmlu
Zz4xNDFCRjIzMzA5NkE0NENGMDBFMDc1M0M8L3N0cmluZz4KKwkJCQkJCQkJCTwvYXJyYXk+CisJ
CQkJCQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlT3V0bGluZVN0YXRlU2VsZWN0aW9u
S2V5PC9rZXk+CisJCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQkJPGFycmF5PgorCQkJCQkJCQkJ
CQk8aW50ZWdlcj4zPC9pbnRlZ2VyPgorCQkJCQkJCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgor
CQkJCQkJCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgorCQkJCQkJCQkJCTwvYXJyYXk+CisJCQkJ
CQkJCQk8L2FycmF5PgorCQkJCQkJCQkJPGtleT5QQlhTbWFydEdyb3VwVHJlZU1vZHVsZU91dGxp
bmVTdGF0ZVZpc2libGVSZWN0S2V5PC9rZXk+CisJCQkJCQkJCQk8c3RyaW5nPnt7MCwgMH0sIHsz
MzMsIDczN319PC9zdHJpbmc+CisJCQkJCQkJCTwvZGljdD4KKwkJCQkJCQkJPGtleT5QQlhUb3BT
bWFydEdyb3VwR0lEczwva2V5PgorCQkJCQkJCQk8YXJyYXkvPgorCQkJCQkJCQk8a2V5PlhDSW5j
bHVkZVBlcnNwZWN0aXZlc1N3aXRjaDwva2V5PgorCQkJCQkJCQk8ZmFsc2UvPgorCQkJCQkJCTwv
ZGljdD4KKwkJCQkJCQk8a2V5Pkdlb21ldHJ5Q29uZmlndXJhdGlvbjwva2V5PgorCQkJCQkJCTxk
aWN0PgorCQkJCQkJCQk8a2V5PkZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+e3sxMCwgMjd9
LCB7MzUwLCA3NTV9fTwvc3RyaW5nPgorCQkJCQkJCQk8a2V5Pkdyb3VwVHJlZVRhYmxlQ29uZmln
dXJhdGlvbjwva2V5PgorCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQk8c3RyaW5nPk1haW5Db2x1
bW48L3N0cmluZz4KKwkJCQkJCQkJCTxyZWFsPjIyNzwvcmVhbD4KKwkJCQkJCQkJCTxzdHJpbmc+
RmlsZUJ1aWx0Q29sdW1uPC9zdHJpbmc+CisJCQkJCQkJCQk8cmVhbD4yMDwvcmVhbD4KKwkJCQkJ
CQkJCTxzdHJpbmc+RXJyb3JzQ29sdW1uPC9zdHJpbmc+CisJCQkJCQkJCQk8cmVhbD40MzwvcmVh
bD4KKwkJCQkJCQkJCTxzdHJpbmc+V2FybmluZ3NDb2x1bW48L3N0cmluZz4KKwkJCQkJCQkJCTxy
ZWFsPjQzPC9yZWFsPgorCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQk8a2V5PlJ1YmJlcldpbmRv
d0ZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+MTA5MCA1NSAzNTAgODIzIDAgMCAxNDQwIDg3
OCA8L3N0cmluZz4KKwkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJPGtleT5Nb2R1bGU8L2tleT4KKwkJ
CQkJCQk8c3RyaW5nPlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlPC9zdHJpbmc+CisJCQkJCQk8L2Rp
Y3Q+CisJCQkJCQk8ZGljdD4KKwkJCQkJCQk8a2V5PkNvbnRlbnRDb25maWd1cmF0aW9uPC9rZXk+
CisJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCTxrZXk+UEJYQm90dG9tU21hcnRHcm91cEdJRHM8L2tl
eT4KKwkJCQkJCQkJPGFycmF5PgorCQkJCQkJCQkJPHN0cmluZz4xQzM3RkJBQzA0NTA5Q0QwMDAw
MDAxMDI8L3N0cmluZz4KKwkJCQkJCQkJCTxzdHJpbmc+MUMzN0ZBQUMwNDUwOUNEMDAwMDAwMTAy
PC9zdHJpbmc+CisJCQkJCQkJCTwvYXJyYXk+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVs
ZUdVSUQ8L2tleT4KKwkJCQkJCQkJPHN0cmluZz4xQzk0MzdGRTA2M0IyMEIwMDAzOUNGQUM8L3N0
cmluZz4KKwkJCQkJCQkJPGtleT5QQlhQcm9qZWN0TW9kdWxlTGFiZWw8L2tleT4KKwkJCQkJCQkJ
PHN0cmluZz5UYXJnZXRzPC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdFN0cnVjdHVy
ZVByb3ZpZGVkPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+bm88L3N0cmluZz4KKwkJCQkJCQkJPGtl
eT5QQlhTbWFydEdyb3VwVHJlZU1vZHVsZUNvbHVtbkRhdGE8L2tleT4KKwkJCQkJCQkJPGRpY3Q+
CisJCQkJCQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlQ29sdW1uV2lkdGhzS2V5PC9r
ZXk+CisJCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQkJPHJlYWw+MzMzPC9yZWFsPgorCQkJCQkJ
CQkJPC9hcnJheT4KKwkJCQkJCQkJCTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVDb2x1bW5z
S2V5X3Y0PC9rZXk+CisJCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQkJPHN0cmluZz5NYWluQ29s
dW1uPC9zdHJpbmc+CisJCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJ
CTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVPdXRsaW5lU3RhdGVLZXlfdjc8L2tleT4KKwkJ
CQkJCQkJPGRpY3Q+CisJCQkJCQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlT3V0bGlu
ZVN0YXRlRXhwYW5zaW9uS2V5PC9rZXk+CisJCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQkJPHN0
cmluZz4xQzM3RkJBQzA0NTA5Q0QwMDAwMDAxMDI8L3N0cmluZz4KKwkJCQkJCQkJCQk8c3RyaW5n
PjFDMzdGQUFDMDQ1MDlDRDAwMDAwMDEwMjwvc3RyaW5nPgorCQkJCQkJCQkJPC9hcnJheT4KKwkJ
CQkJCQkJCTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVPdXRsaW5lU3RhdGVTZWxlY3Rpb25L
ZXk8L2tleT4KKwkJCQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQkJ
CTxpbnRlZ2VyPjA8L2ludGVnZXI+CisJCQkJCQkJCQkJPC9hcnJheT4KKwkJCQkJCQkJCTwvYXJy
YXk+CisJCQkJCQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlT3V0bGluZVN0YXRlVmlz
aWJsZVJlY3RLZXk8L2tleT4KKwkJCQkJCQkJCTxzdHJpbmc+e3swLCAwfSwgezMzMywgNzM3fX08
L3N0cmluZz4KKwkJCQkJCQkJPC9kaWN0PgorCQkJCQkJCQk8a2V5PlBCWFRvcFNtYXJ0R3JvdXBH
SURzPC9rZXk+CisJCQkJCQkJCTxhcnJheS8+CisJCQkJCQkJCTxrZXk+WENJbmNsdWRlUGVyc3Bl
Y3RpdmVzU3dpdGNoPC9rZXk+CisJCQkJCQkJCTxmYWxzZS8+CisJCQkJCQkJPC9kaWN0PgorCQkJ
CQkJCTxrZXk+R2VvbWV0cnlDb25maWd1cmF0aW9uPC9rZXk+CisJCQkJCQkJPGRpY3Q+CisJCQkJ
CQkJCTxrZXk+RnJhbWU8L2tleT4KKwkJCQkJCQkJPHN0cmluZz57ezEwLCAyN30sIHszNTAsIDc1
NX19PC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+R3JvdXBUcmVlVGFibGVDb25maWd1cmF0aW9uPC9r
ZXk+CisJCQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJCTxzdHJpbmc+TWFpbkNvbHVtbjwvc3RyaW5n
PgorCQkJCQkJCQkJPHJlYWw+MzMzPC9yZWFsPgorCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCTwv
ZGljdD4KKwkJCQkJCQk8a2V5Pk1vZHVsZTwva2V5PgorCQkJCQkJCTxzdHJpbmc+UEJYU21hcnRH
cm91cFRyZWVNb2R1bGU8L3N0cmluZz4KKwkJCQkJCTwvZGljdD4KKwkJCQkJCTxkaWN0PgorCQkJ
CQkJCTxrZXk+Q29udGVudENvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJ
CQkJPGtleT5QQlhCb3R0b21TbWFydEdyb3VwR0lEczwva2V5PgorCQkJCQkJCQk8YXJyYXk+CisJ
CQkJCQkJCQk8c3RyaW5nPjFDMDhFNzdDMDQ1NDk2MTAwMEM5MTRCRDwvc3RyaW5nPgorCQkJCQkJ
CQkJPHN0cmluZz4xQzM3RkFCQzA1NTA5Q0QwMDAwMDAxMDI8L3N0cmluZz4KKwkJCQkJCQkJCTxz
dHJpbmc+MUMzN0ZBQkMwNTUzOUNEMTEyMTEwMTAyPC9zdHJpbmc+CisJCQkJCQkJCQk8c3RyaW5n
PkUyNjQ0QjM1MDUzQjY5QjIwMDIxMTI1Njwvc3RyaW5nPgorCQkJCQkJCQkJPHN0cmluZz4xQzM3
RkFCQzA0NTA5Q0QwMDAxMDAxMDQ8L3N0cmluZz4KKwkJCQkJCQkJCTxzdHJpbmc+MUNDMEVBNDAw
NDM1MEVGOTAwNDQ0MTBCPC9zdHJpbmc+CisJCQkJCQkJCQk8c3RyaW5nPjFDQzBFQTQwMDQzNTBF
RjkwMDQxMTEwQjwvc3RyaW5nPgorCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQk8a2V5PlBCWFBy
b2plY3RNb2R1bGVHVUlEPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+MUM5NDM3RkYwNjNCMjBCMDAw
MzlDRkFDPC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVsZUxhYmVsPC9rZXk+
CisJCQkJCQkJCTxzdHJpbmc+T3RoZXI8L3N0cmluZz4KKwkJCQkJCQkJPGtleT5QQlhQcm9qZWN0
U3RydWN0dXJlUHJvdmlkZWQ8L2tleT4KKwkJCQkJCQkJPHN0cmluZz5ubzwvc3RyaW5nPgorCQkJ
CQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlQ29sdW1uRGF0YTwva2V5PgorCQkJCQkJ
CQk8ZGljdD4KKwkJCQkJCQkJCTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVDb2x1bW5XaWR0
aHNLZXk8L2tleT4KKwkJCQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJCQk8cmVhbD41NTU8L3JlYWw+
CisJCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQkJPGtleT5QQlhTbWFydEdyb3VwVHJlZU1vZHVs
ZUNvbHVtbnNLZXlfdjQ8L2tleT4KKwkJCQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJCQk8c3RyaW5n
Pk1haW5Db2x1bW48L3N0cmluZz4KKwkJCQkJCQkJCTwvYXJyYXk+CisJCQkJCQkJCTwvZGljdD4K
KwkJCQkJCQkJPGtleT5QQlhTbWFydEdyb3VwVHJlZU1vZHVsZU91dGxpbmVTdGF0ZUtleV92Nzwv
a2V5PgorCQkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJCTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1
bGVPdXRsaW5lU3RhdGVFeHBhbnNpb25LZXk8L2tleT4KKwkJCQkJCQkJCTxhcnJheS8+CisJCQkJ
CQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlT3V0bGluZVN0YXRlU2VsZWN0aW9uS2V5
PC9rZXk+CisJCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQkJPGFycmF5PgorCQkJCQkJCQkJCQk8
aW50ZWdlcj4wPC9pbnRlZ2VyPgorCQkJCQkJCQkJCTwvYXJyYXk+CisJCQkJCQkJCQk8L2FycmF5
PgorCQkJCQkJCQkJPGtleT5QQlhTbWFydEdyb3VwVHJlZU1vZHVsZU91dGxpbmVTdGF0ZVZpc2li
bGVSZWN0S2V5PC9rZXk+CisJCQkJCQkJCQk8c3RyaW5nPnt7MCwgMH0sIHs1NTUsIDMwMX19PC9z
dHJpbmc+CisJCQkJCQkJCTwvZGljdD4KKwkJCQkJCQkJPGtleT5QQlhUb3BTbWFydEdyb3VwR0lE
czwva2V5PgorCQkJCQkJCQk8YXJyYXkvPgorCQkJCQkJCQk8a2V5PlhDSW5jbHVkZVBlcnNwZWN0
aXZlc1N3aXRjaDwva2V5PgorCQkJCQkJCQk8ZmFsc2UvPgorCQkJCQkJCTwvZGljdD4KKwkJCQkJ
CQk8a2V5Pkdlb21ldHJ5Q29uZmlndXJhdGlvbjwva2V5PgorCQkJCQkJCTxkaWN0PgorCQkJCQkJ
CQk8a2V5PkZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+e3swLCAwfSwgezU3MiwgMzE5fX08
L3N0cmluZz4KKwkJCQkJCQkJPGtleT5Hcm91cFRyZWVUYWJsZUNvbmZpZ3VyYXRpb248L2tleT4K
KwkJCQkJCQkJPGFycmF5PgorCQkJCQkJCQkJPHN0cmluZz5NYWluQ29sdW1uPC9zdHJpbmc+CisJ
CQkJCQkJCQk8cmVhbD41NTU8L3JlYWw+CisJCQkJCQkJCTwvYXJyYXk+CisJCQkJCQkJPC9kaWN0
PgorCQkJCQkJCTxrZXk+TW9kdWxlPC9rZXk+CisJCQkJCQkJPHN0cmluZz5QQlhTbWFydEdyb3Vw
VHJlZU1vZHVsZTwvc3RyaW5nPgorCQkJCQkJPC9kaWN0PgorCQkJCQk8L2FycmF5PgorCQkJCTwv
ZGljdD4KKwkJCTwvYXJyYXk+CisJCQk8a2V5Pk5hbWU8L2tleT4KKwkJCTxzdHJpbmc+UHJvamVj
dDwvc3RyaW5nPgorCQkJPGtleT5TZXJ2aWNlQ2xhc3Nlczwva2V5PgorCQkJPGFycmF5PgorCQkJ
CTxzdHJpbmc+WENNb2R1bGVEb2NrPC9zdHJpbmc+CisJCQkJPHN0cmluZz5YQ0RvY2thYmxlVGFi
TW9kdWxlPC9zdHJpbmc+CisJCQkJPHN0cmluZz5QQlhTbWFydEdyb3VwVHJlZU1vZHVsZTwvc3Ry
aW5nPgorCQkJCTxzdHJpbmc+UEJYU21hcnRHcm91cFRyZWVNb2R1bGU8L3N0cmluZz4KKwkJCQk8
c3RyaW5nPlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlPC9zdHJpbmc+CisJCQk8L2FycmF5PgorCQkJ
PGtleT5UYWJsZU9mQ29udGVudHM8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8c3RyaW5nPjE0OEU4
NkIzMDk2QUY0REQwMDk3NTU4NTwvc3RyaW5nPgorCQkJCTxzdHJpbmc+MTQ4RTg2QjQwOTZBRjRE
RDAwOTc1NTg1PC9zdHJpbmc+CisJCQkJPHN0cmluZz4xQzk0MzdGRDA2M0IyMEIwMDAzOUNGQUM8
L3N0cmluZz4KKwkJCQk8c3RyaW5nPjFDOTQzN0ZFMDYzQjIwQjAwMDM5Q0ZBQzwvc3RyaW5nPgor
CQkJCTxzdHJpbmc+MUM5NDM3RkYwNjNCMjBCMDAwMzlDRkFDPC9zdHJpbmc+CisJCQk8L2FycmF5
PgorCQkJPGtleT5Ub29sYmFyQ29uZmlndXJhdGlvbjwva2V5PgorCQkJPHN0cmluZz54Y29kZS50
b29sYmFyLmNvbmZpZy5kZWZhdWx0LnNob3J0PC9zdHJpbmc+CisJCTwvZGljdD4KKwk8L2FycmF5
PgorCTxrZXk+UGVyc3BlY3RpdmVzQmFyVmlzaWJsZTwva2V5PgorCTxmYWxzZS8+CisJPGtleT5Q
aW5uZWROYXZpZ2F0b3JJZGVudGlmaWVyPC9rZXk+CisJPHN0cmluZz4xNDhFODgwMzA5NkI1RUY0
MDA5NzU1ODU8L3N0cmluZz4KKwk8a2V5PlNoZWxmSXNWaXNpYmxlPC9rZXk+CisJPGZhbHNlLz4K
Kwk8a2V5PlNvdXJjZURlc2NyaXB0aW9uPC9rZXk+CisJPHN0cmluZz5maWxlIGF0ICcvU3lzdGVt
L0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvRGV2VG9vbHNJbnRlcmZhY2UuZnJhbWV3b3JrL1Zl
cnNpb25zL0EvUmVzb3VyY2VzL1hDUGVyc3BlY3RpdmVzU3BlY2lmaWNhdGlvbk1vZGUyLnhjcGVy
c3BlYyc8L3N0cmluZz4KKwk8a2V5PlN0YXR1c2JhcklzVmlzaWJsZTwva2V5PgorCTx0cnVlLz4K
Kwk8a2V5PlRpbWVTdGFtcDwva2V5PgorCTxyZWFsPjE1Nzk3MDk1Ni4yNDk4NDYwMTwvcmVhbD4K
Kwk8a2V5PlRvb2xiYXJEaXNwbGF5TW9kZTwva2V5PgorCTxpbnRlZ2VyPjE8L2ludGVnZXI+CisJ
PGtleT5Ub29sYmFySXNWaXNpYmxlPC9rZXk+CisJPHRydWUvPgorCTxrZXk+VG9vbGJhclNpemVN
b2RlPC9rZXk+CisJPGludGVnZXI+MTwvaW50ZWdlcj4KKwk8a2V5PlR5cGU8L2tleT4KKwk8c3Ry
aW5nPlBlcnNwZWN0aXZlczwvc3RyaW5nPgorCTxrZXk+VXBkYXRlTWVzc2FnZTwva2V5PgorCTxz
dHJpbmc+PC9zdHJpbmc+CisJPGtleT5XaW5kb3dKdXN0aWZpY2F0aW9uPC9rZXk+CisJPGludGVn
ZXI+MDwvaW50ZWdlcj4KKwk8a2V5PldpbmRvd09yZGVyTGlzdDwva2V5PgorCTxhcnJheT4KKwkJ
PHN0cmluZz4xNDhFODcyRDA5NkIwNEIyMDA5NzU1ODU8L3N0cmluZz4KKwkJPHN0cmluZz4xQzBB
RDJCMzA2OUYxRUE5MDBGQUJDRTY8L3N0cmluZz4KKwkJPHN0cmluZz4xQzUzMEQ1NzA2OUYxQ0Ux
MDAwQ0ZDRUU8L3N0cmluZz4KKwkJPHN0cmluZz4vVm9sdW1lcy9Ib21lL1VzZXJzL2dnYXJlbi9M
YWJ5cmludGgtVE9UL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhj
b2RlcHJvajwvc3RyaW5nPgorCQk8c3RyaW5nPjE0OEU4ODAzMDk2QjVFRjQwMDk3NTU4NTwvc3Ry
aW5nPgorCTwvYXJyYXk+CisJPGtleT5XaW5kb3dTdHJpbmc8L2tleT4KKwk8c3RyaW5nPjEwOTAg
NTUgMzUwIDgyMyAwIDAgMTQ0MCA4NzggPC9zdHJpbmc+CisJPGtleT5XaW5kb3dUb29sczwva2V5
PgorCTxhcnJheT4KKwkJPGRpY3Q+CisJCQk8a2V5PkZpcnN0VGltZVdpbmRvd0Rpc3BsYXllZDwv
a2V5PgorCQkJPGZhbHNlLz4KKwkJCTxrZXk+SWRlbnRpZmllcjwva2V5PgorCQkJPHN0cmluZz53
aW5kb3dUb29sLmRldGFpbDwvc3RyaW5nPgorCQkJPGtleT5Jc1ZlcnRpY2FsPC9rZXk+CisJCQk8
ZmFsc2UvPgorCQkJPGtleT5MYXlvdXQ8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8ZGljdD4KKwkJ
CQkJPGtleT5Eb2NrPC9rZXk+CisJCQkJCTxhcnJheT4KKwkJCQkJCTxkaWN0PgorCQkJCQkJCTxr
ZXk+QmVjb21lQWN0aXZlPC9rZXk+CisJCQkJCQkJPHRydWUvPgorCQkJCQkJCTxrZXk+Q29udGVu
dENvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJPGtleT5QQlhCb3R0
b21TbWFydEdyb3VwR0lEczwva2V5PgorCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQk8c3RyaW5n
PjFDMzdGQkFDMDQ1MDlDRDAwMDAwMDEwMjwvc3RyaW5nPgorCQkJCQkJCQkJPHN0cmluZz4xQzM3
RkFBQzA0NTA5Q0QwMDAwMDAxMDI8L3N0cmluZz4KKwkJCQkJCQkJCTxzdHJpbmc+MUMwOEU3N0Mw
NDU0OTYxMDAwQzkxNEJEPC9zdHJpbmc+CisJCQkJCQkJCQk8c3RyaW5nPjFDMzdGQUJDMDU1MDlD
RDAwMDAwMDEwMjwvc3RyaW5nPgorCQkJCQkJCQkJPHN0cmluZz4xQzM3RkFCQzA1NTM5Q0QxMTIx
MTAxMDI8L3N0cmluZz4KKwkJCQkJCQkJCTxzdHJpbmc+RTI2NDRCMzUwNTNCNjlCMjAwMjExMjU2
PC9zdHJpbmc+CisJCQkJCQkJCQk8c3RyaW5nPjFDMzdGQUJDMDQ1MDlDRDAwMDEwMDEwNDwvc3Ry
aW5nPgorCQkJCQkJCQkJPHN0cmluZz4xQ0MwRUE0MDA0MzUwRUY5MDA0NDQxMEI8L3N0cmluZz4K
KwkJCQkJCQkJCTxzdHJpbmc+MUNDMEVBNDAwNDM1MEVGOTAwNDExMTBCPC9zdHJpbmc+CisJCQkJ
CQkJCTwvYXJyYXk+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVsZUdVSUQ8L2tleT4KKwkJ
CQkJCQkJPHN0cmluZz4xQ0UwQjFGRTA2NDcxREVEMDA5N0E1RjQ8L3N0cmluZz4KKwkJCQkJCQkJ
PGtleT5QQlhQcm9qZWN0TW9kdWxlTGFiZWw8L2tleT4KKwkJCQkJCQkJPHN0cmluZz5GaWxlczwv
c3RyaW5nPgorCQkJCQkJCQk8a2V5PlBCWFByb2plY3RTdHJ1Y3R1cmVQcm92aWRlZDwva2V5Pgor
CQkJCQkJCQk8c3RyaW5nPnllczwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBU
cmVlTW9kdWxlQ29sdW1uRGF0YTwva2V5PgorCQkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJCTxrZXk+
UEJYU21hcnRHcm91cFRyZWVNb2R1bGVDb2x1bW5XaWR0aHNLZXk8L2tleT4KKwkJCQkJCQkJCTxh
cnJheT4KKwkJCQkJCQkJCQk8cmVhbD4yNDU8L3JlYWw+CisJCQkJCQkJCQk8L2FycmF5PgorCQkJ
CQkJCQkJPGtleT5QQlhTbWFydEdyb3VwVHJlZU1vZHVsZUNvbHVtbnNLZXlfdjQ8L2tleT4KKwkJ
CQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJCQk8c3RyaW5nPk1haW5Db2x1bW48L3N0cmluZz4KKwkJ
CQkJCQkJCTwvYXJyYXk+CisJCQkJCQkJCTwvZGljdD4KKwkJCQkJCQkJPGtleT5QQlhTbWFydEdy
b3VwVHJlZU1vZHVsZU91dGxpbmVTdGF0ZUtleV92Nzwva2V5PgorCQkJCQkJCQk8ZGljdD4KKwkJ
CQkJCQkJCTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVPdXRsaW5lU3RhdGVFeHBhbnNpb25L
ZXk8L2tleT4KKwkJCQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJCQk8c3RyaW5nPjA4RkI3Nzk0RkU4
NDE1NURDMDJBQUMwNzwvc3RyaW5nPgorCQkJCQkJCQkJCTxzdHJpbmc+MTQxQkYxRjUwOTZBNDM5
ODAwRTA3NTNDPC9zdHJpbmc+CisJCQkJCQkJCQkJPHN0cmluZz45MzQwOTk1NTA4NTQwQ0FGMDA3
RjNCQzg8L3N0cmluZz4KKwkJCQkJCQkJCQk8c3RyaW5nPjE0MUJGMjMzMDk2QTQ0Q0YwMEUwNzUz
Qzwvc3RyaW5nPgorCQkJCQkJCQkJCTxzdHJpbmc+MTQyMTcxQjAwOTZBNDk1MzAwQkRGODlFPC9z
dHJpbmc+CisJCQkJCQkJCQkJPHN0cmluZz4xQzM3RkJBQzA0NTA5Q0QwMDAwMDAxMDI8L3N0cmlu
Zz4KKwkJCQkJCQkJCQk8c3RyaW5nPjE0MjE3MUM3MDk2QTQ5OTMwMEJERjg5RTwvc3RyaW5nPgor
CQkJCQkJCQkJCTxzdHJpbmc+MTQyMTcxQzgwOTZBNDk5MzAwQkRGODlFPC9zdHJpbmc+CisJCQkJ
CQkJCQkJPHN0cmluZz4xNDIxNzFDOTA5NkE0OTkzMDBCREY4OUU8L3N0cmluZz4KKwkJCQkJCQkJ
CQk8c3RyaW5nPjFDMzdGQUJDMDU1MDlDRDAwMDAwMDEwMjwvc3RyaW5nPgorCQkJCQkJCQkJPC9h
cnJheT4KKwkJCQkJCQkJCTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVPdXRsaW5lU3RhdGVT
ZWxlY3Rpb25LZXk8L2tleT4KKwkJCQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJCQk8YXJyYXk+CisJ
CQkJCQkJCQkJCTxpbnRlZ2VyPjI2PC9pbnRlZ2VyPgorCQkJCQkJCQkJCQk8aW50ZWdlcj4yNDwv
aW50ZWdlcj4KKwkJCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQkJPC9hcnJheT4KKwkJCQkJCQkJ
CTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVPdXRsaW5lU3RhdGVWaXNpYmxlUmVjdEtleTwv
a2V5PgorCQkJCQkJCQkJPHN0cmluZz57ezAsIDB9LCB7MjQ1LCA3NjN9fTwvc3RyaW5nPgorCQkJ
CQkJCQk8L2RpY3Q+CisJCQkJCQkJCTxrZXk+UEJYVG9wU21hcnRHcm91cEdJRHM8L2tleT4KKwkJ
CQkJCQkJPGFycmF5Lz4KKwkJCQkJCQkJPGtleT5YQ0luY2x1ZGVQZXJzcGVjdGl2ZXNTd2l0Y2g8
L2tleT4KKwkJCQkJCQkJPGZhbHNlLz4KKwkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJPGtleT5HZW9t
ZXRyeUNvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJPGtleT5GcmFt
ZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPnt7MCwgMH0sIHsyNjIsIDc4MX19PC9zdHJpbmc+CisJ
CQkJCQkJCTxrZXk+R3JvdXBUcmVlVGFibGVDb25maWd1cmF0aW9uPC9rZXk+CisJCQkJCQkJCTxh
cnJheT4KKwkJCQkJCQkJCTxzdHJpbmc+TWFpbkNvbHVtbjwvc3RyaW5nPgorCQkJCQkJCQkJPHJl
YWw+MjQ1PC9yZWFsPgorCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQk8a2V5PlJ1YmJlcldpbmRv
d0ZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+NjMgNTYgMTM3NyA4MjIgMCAwIDE0NDAgODc4
IDwvc3RyaW5nPgorCQkJCQkJCTwvZGljdD4KKwkJCQkJCQk8a2V5Pk1vZHVsZTwva2V5PgorCQkJ
CQkJCTxzdHJpbmc+UEJYU21hcnRHcm91cFRyZWVNb2R1bGU8L3N0cmluZz4KKwkJCQkJCQk8a2V5
PlByb3BvcnRpb248L2tleT4KKwkJCQkJCQk8c3RyaW5nPjI2MnB0PC9zdHJpbmc+CisJCQkJCQk8
L2RpY3Q+CisJCQkJCQk8ZGljdD4KKwkJCQkJCQk8a2V5PkNvbnRlbnRDb25maWd1cmF0aW9uPC9r
ZXk+CisJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVsZUdVSUQ8L2tl
eT4KKwkJCQkJCQkJPHN0cmluZz4xQ0ExQUVENzA2Mzk4RUJEMDA1ODkxNDc8L3N0cmluZz4KKwkJ
CQkJCQkJPGtleT5QQlhQcm9qZWN0TW9kdWxlTGFiZWw8L2tleT4KKwkJCQkJCQkJPHN0cmluZz5E
ZXRhaWw8L3N0cmluZz4KKwkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJPGtleT5HZW9tZXRyeUNvbmZp
Z3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJPGtleT5GcmFtZTwva2V5Pgor
CQkJCQkJCQk8c3RyaW5nPnt7MjY3LCAwfSwgezExMTAsIDc4MX19PC9zdHJpbmc+CisJCQkJCQkJ
CTxrZXk+UnViYmVyV2luZG93RnJhbWU8L2tleT4KKwkJCQkJCQkJPHN0cmluZz42MyA1NiAxMzc3
IDgyMiAwIDAgMTQ0MCA4NzggPC9zdHJpbmc+CisJCQkJCQkJPC9kaWN0PgorCQkJCQkJCTxrZXk+
TW9kdWxlPC9rZXk+CisJCQkJCQkJPHN0cmluZz5YQ0RldGFpbE1vZHVsZTwvc3RyaW5nPgorCQkJ
CQkJCTxrZXk+UHJvcG9ydGlvbjwva2V5PgorCQkJCQkJCTxzdHJpbmc+MTExMHB0PC9zdHJpbmc+
CisJCQkJCQk8L2RpY3Q+CisJCQkJCTwvYXJyYXk+CisJCQkJCTxrZXk+UHJvcG9ydGlvbjwva2V5
PgorCQkJCQk8c3RyaW5nPjc4MXB0PC9zdHJpbmc+CisJCQkJPC9kaWN0PgorCQkJPC9hcnJheT4K
KwkJCTxrZXk+TmFtZTwva2V5PgorCQkJPHN0cmluZz5EZXRhaWw8L3N0cmluZz4KKwkJCTxrZXk+
U2VydmljZUNsYXNzZXM8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8c3RyaW5nPlBCWFNtYXJ0R3Jv
dXBUcmVlTW9kdWxlPC9zdHJpbmc+CisJCQkJPHN0cmluZz5YQ0RldGFpbE1vZHVsZTwvc3RyaW5n
PgorCQkJPC9hcnJheT4KKwkJCTxrZXk+U3RhdHVzYmFySXNWaXNpYmxlPC9rZXk+CisJCQk8dHJ1
ZS8+CisJCQk8a2V5PlRhYmxlT2ZDb250ZW50czwva2V5PgorCQkJPGFycmF5PgorCQkJCTxzdHJp
bmc+MUMzMzVGMkMwN0I1MUNEMjAwMjNENEVFPC9zdHJpbmc+CisJCQkJPHN0cmluZz4xNDIxNzFD
QTA5NkE0OTkzMDBCREY4OUU8L3N0cmluZz4KKwkJCQk8c3RyaW5nPjFDRTBCMUZFMDY0NzFERUQw
MDk3QTVGNDwvc3RyaW5nPgorCQkJCTxzdHJpbmc+MUNBMUFFRDcwNjM5OEVCRDAwNTg5MTQ3PC9z
dHJpbmc+CisJCQk8L2FycmF5PgorCQkJPGtleT5Ub29sYmFyQ29uZmlndXJhdGlvbjwva2V5Pgor
CQkJPHN0cmluZz54Y29kZS50b29sYmFyLmNvbmZpZy5kZWZhdWx0PC9zdHJpbmc+CisJCQk8a2V5
PldpbmRvd1N0cmluZzwva2V5PgorCQkJPHN0cmluZz42MyA1NiAxMzc3IDgyMiAwIDAgMTQ0MCA4
NzggPC9zdHJpbmc+CisJCQk8a2V5PldpbmRvd1Rvb2xHVUlEPC9rZXk+CisJCQk8c3RyaW5nPjFD
MzM1RjJDMDdCNTFDRDIwMDIzRDRFRTwvc3RyaW5nPgorCQkJPGtleT5XaW5kb3dUb29sSXNWaXNp
YmxlPC9rZXk+CisJCQk8ZmFsc2UvPgorCQk8L2RpY3Q+CisJCTxkaWN0PgorCQkJPGtleT5JZGVu
dGlmaWVyPC9rZXk+CisJCQk8c3RyaW5nPk1FTlVTRVBBUkFUT1I8L3N0cmluZz4KKwkJPC9kaWN0
PgorCQk8ZGljdD4KKwkJCTxrZXk+Rmlyc3RUaW1lV2luZG93RGlzcGxheWVkPC9rZXk+CisJCQk8
ZmFsc2UvPgorCQkJPGtleT5JZGVudGlmaWVyPC9rZXk+CisJCQk8c3RyaW5nPndpbmRvd1Rvb2wu
YnVpbGQ8L3N0cmluZz4KKwkJCTxrZXk+SXNWZXJ0aWNhbDwva2V5PgorCQkJPHRydWUvPgorCQkJ
PGtleT5MYXlvdXQ8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8ZGljdD4KKwkJCQkJPGtleT5Eb2Nr
PC9rZXk+CisJCQkJCTxhcnJheT4KKwkJCQkJCTxkaWN0PgorCQkJCQkJCTxrZXk+QmVjb21lQWN0
aXZlPC9rZXk+CisJCQkJCQkJPHRydWUvPgorCQkJCQkJCTxrZXk+Q29udGVudENvbmZpZ3VyYXRp
b248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJPGtleT5QQlhQcm9qZWN0TW9kdWxlR1VJ
RDwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjFDRDA1MjhGMDYyMzcwNzIwMDE2NjY3NTwvc3RyaW5n
PgorCQkJCQkJCQk8a2V5PlBCWFByb2plY3RNb2R1bGVMYWJlbDwva2V5PgorCQkJCQkJCQk8c3Ry
aW5nPkR1bXBSZW5kZXJUcmVlLm08L3N0cmluZz4KKwkJCQkJCQkJPGtleT5TdGF0dXNCYXJWaXNp
YmlsaXR5PC9rZXk+CisJCQkJCQkJCTx0cnVlLz4KKwkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJPGtl
eT5HZW9tZXRyeUNvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJPGtl
eT5GcmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPnt7MCwgMH0sIHsxMzc3LCAyODh9fTwvc3Ry
aW5nPgorCQkJCQkJCQk8a2V5PlJ1YmJlcldpbmRvd0ZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJp
bmc+NjMgNTYgMTM3NyA4MjIgMCAwIDE0NDAgODc4IDwvc3RyaW5nPgorCQkJCQkJCTwvZGljdD4K
KwkJCQkJCQk8a2V5Pk1vZHVsZTwva2V5PgorCQkJCQkJCTxzdHJpbmc+UEJYTmF2aWdhdG9yR3Jv
dXA8L3N0cmluZz4KKwkJCQkJCQk8a2V5PlByb3BvcnRpb248L2tleT4KKwkJCQkJCQk8c3RyaW5n
PjI4OHB0PC9zdHJpbmc+CisJCQkJCQk8L2RpY3Q+CisJCQkJCQk8ZGljdD4KKwkJCQkJCQk8a2V5
PkNvbnRlbnRDb25maWd1cmF0aW9uPC9rZXk+CisJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCTxrZXk+
UEJYQnVpbGRMb2dTaG93c1RyYW5zY3JpcHREZWZhdWx0S2V5PC9rZXk+CisJCQkJCQkJCTxzdHJp
bmc+e3swLCAxNjl9LCB7MTM3NywgMzE5fX08L3N0cmluZz4KKwkJCQkJCQkJPGtleT5QQlhQcm9q
ZWN0TW9kdWxlR1VJRDwva2V5PgorCQkJCQkJCQk8c3RyaW5nPlhDTWFpbkJ1aWxkUmVzdWx0c01v
ZHVsZUdVSUQ8L3N0cmluZz4KKwkJCQkJCQkJPGtleT5QQlhQcm9qZWN0TW9kdWxlTGFiZWw8L2tl
eT4KKwkJCQkJCQkJPHN0cmluZz5CdWlsZDwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlhDQnVpbGRS
ZXN1bHRzVHJpZ2dlcl9Db2xsYXBzZTwva2V5PgorCQkJCQkJCQk8aW50ZWdlcj4xMDIxPC9pbnRl
Z2VyPgorCQkJCQkJCQk8a2V5PlhDQnVpbGRSZXN1bHRzVHJpZ2dlcl9PcGVuPC9rZXk+CisJCQkJ
CQkJCTxpbnRlZ2VyPjEwMTI8L2ludGVnZXI+CisJCQkJCQkJPC9kaWN0PgorCQkJCQkJCTxrZXk+
R2VvbWV0cnlDb25maWd1cmF0aW9uPC9rZXk+CisJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCTxrZXk+
RnJhbWU8L2tleT4KKwkJCQkJCQkJPHN0cmluZz57ezAsIDI5M30sIHsxMzc3LCA0ODh9fTwvc3Ry
aW5nPgorCQkJCQkJCQk8a2V5PlJ1YmJlcldpbmRvd0ZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJp
bmc+NjMgNTYgMTM3NyA4MjIgMCAwIDE0NDAgODc4IDwvc3RyaW5nPgorCQkJCQkJCTwvZGljdD4K
KwkJCQkJCQk8a2V5Pk1vZHVsZTwva2V5PgorCQkJCQkJCTxzdHJpbmc+UEJYQnVpbGRSZXN1bHRz
TW9kdWxlPC9zdHJpbmc+CisJCQkJCQkJPGtleT5Qcm9wb3J0aW9uPC9rZXk+CisJCQkJCQkJPHN0
cmluZz40ODhwdDwvc3RyaW5nPgorCQkJCQkJPC9kaWN0PgorCQkJCQk8L2FycmF5PgorCQkJCQk8
a2V5PlByb3BvcnRpb248L2tleT4KKwkJCQkJPHN0cmluZz43ODFwdDwvc3RyaW5nPgorCQkJCTwv
ZGljdD4KKwkJCTwvYXJyYXk+CisJCQk8a2V5Pk5hbWU8L2tleT4KKwkJCTxzdHJpbmc+QnVpbGQg
UmVzdWx0czwvc3RyaW5nPgorCQkJPGtleT5TZXJ2aWNlQ2xhc3Nlczwva2V5PgorCQkJPGFycmF5
PgorCQkJCTxzdHJpbmc+UEJYQnVpbGRSZXN1bHRzTW9kdWxlPC9zdHJpbmc+CisJCQk8L2FycmF5
PgorCQkJPGtleT5TdGF0dXNiYXJJc1Zpc2libGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJCTxrZXk+
VGFibGVPZkNvbnRlbnRzPC9rZXk+CisJCQk8YXJyYXk+CisJCQkJPHN0cmluZz4xNDlCMzE1MDA5
NkE1RjRDMDA1OURCMTg8L3N0cmluZz4KKwkJCQk8c3RyaW5nPjE0OUIzMTUxMDk2QTVGNEMwMDU5
REIxODwvc3RyaW5nPgorCQkJCTxzdHJpbmc+MUNEMDUyOEYwNjIzNzA3MjAwMTY2Njc1PC9zdHJp
bmc+CisJCQkJPHN0cmluZz5YQ01haW5CdWlsZFJlc3VsdHNNb2R1bGVHVUlEPC9zdHJpbmc+CisJ
CQk8L2FycmF5PgorCQkJPGtleT5Ub29sYmFyQ29uZmlndXJhdGlvbjwva2V5PgorCQkJPHN0cmlu
Zz54Y29kZS50b29sYmFyLmNvbmZpZy5idWlsZDwvc3RyaW5nPgorCQkJPGtleT5XaW5kb3dTdHJp
bmc8L2tleT4KKwkJCTxzdHJpbmc+NjMgNTYgMTM3NyA4MjIgMCAwIDE0NDAgODc4IDwvc3RyaW5n
PgorCQkJPGtleT5XaW5kb3dUb29sR1VJRDwva2V5PgorCQkJPHN0cmluZz4xNDlCMzE1MDA5NkE1
RjRDMDA1OURCMTg8L3N0cmluZz4KKwkJCTxrZXk+V2luZG93VG9vbElzVmlzaWJsZTwva2V5Pgor
CQkJPGZhbHNlLz4KKwkJPC9kaWN0PgorCQk8ZGljdD4KKwkJCTxrZXk+SWRlbnRpZmllcjwva2V5
PgorCQkJPHN0cmluZz53aW5kb3dUb29sLmRlYnVnZ2VyPC9zdHJpbmc+CisJCQk8a2V5PkxheW91
dDwva2V5PgorCQkJPGFycmF5PgorCQkJCTxkaWN0PgorCQkJCQk8a2V5PkRvY2s8L2tleT4KKwkJ
CQkJPGFycmF5PgorCQkJCQkJPGRpY3Q+CisJCQkJCQkJPGtleT5Db250ZW50Q29uZmlndXJhdGlv
bjwva2V5PgorCQkJCQkJCTxkaWN0PgorCQkJCQkJCQk8a2V5PkRlYnVnZ2VyPC9rZXk+CisJCQkJ
CQkJCTxkaWN0PgorCQkJCQkJCQkJPGtleT5Ib3Jpem9udGFsU3BsaXRWaWV3PC9rZXk+CisJCQkJ
CQkJCQk8ZGljdD4KKwkJCQkJCQkJCQk8a2V5Pl9jb2xsYXBzaW5nRnJhbWVEaW1lbnNpb248L2tl
eT4KKwkJCQkJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CisJCQkJCQkJCQkJPGtleT5faW5kZXhPZkNv
bGxhcHNlZFZpZXc8L2tleT4KKwkJCQkJCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgorCQkJCQkJ
CQkJCTxrZXk+X3BlcmNlbnRhZ2VPZkNvbGxhcHNlZFZpZXc8L2tleT4KKwkJCQkJCQkJCQk8cmVh
bD4wLjA8L3JlYWw+CisJCQkJCQkJCQkJPGtleT5pc0NvbGxhcHNlZDwva2V5PgorCQkJCQkJCQkJ
CTxzdHJpbmc+eWVzPC9zdHJpbmc+CisJCQkJCQkJCQkJPGtleT5zaXplczwva2V5PgorCQkJCQkJ
CQkJCTxhcnJheT4KKwkJCQkJCQkJCQkJPHN0cmluZz57ezAsIDB9LCB7MzMzLCAxNjZ9fTwvc3Ry
aW5nPgorCQkJCQkJCQkJCQk8c3RyaW5nPnt7MzMzLCAwfSwgezM4NCwgMTY2fX08L3N0cmluZz4K
KwkJCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQkJPC9kaWN0PgorCQkJCQkJCQkJPGtleT5WZXJ0
aWNhbFNwbGl0Vmlldzwva2V5PgorCQkJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCQkJPGtleT5fY29s
bGFwc2luZ0ZyYW1lRGltZW5zaW9uPC9rZXk+CisJCQkJCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgor
CQkJCQkJCQkJCTxrZXk+X2luZGV4T2ZDb2xsYXBzZWRWaWV3PC9rZXk+CisJCQkJCQkJCQkJPGlu
dGVnZXI+MDwvaW50ZWdlcj4KKwkJCQkJCQkJCQk8a2V5Pl9wZXJjZW50YWdlT2ZDb2xsYXBzZWRW
aWV3PC9rZXk+CisJCQkJCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgorCQkJCQkJCQkJCTxrZXk+aXND
b2xsYXBzZWQ8L2tleT4KKwkJCQkJCQkJCQk8c3RyaW5nPnllczwvc3RyaW5nPgorCQkJCQkJCQkJ
CTxrZXk+c2l6ZXM8L2tleT4KKwkJCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQkJCTxzdHJpbmc+
e3swLCAwfSwgezcxNywgMTY2fX08L3N0cmluZz4KKwkJCQkJCQkJCQkJPHN0cmluZz57ezAsIDE2
Nn0sIHs3MTcsIDIyOX19PC9zdHJpbmc+CisJCQkJCQkJCQkJPC9hcnJheT4KKwkJCQkJCQkJCTwv
ZGljdD4KKwkJCQkJCQkJPC9kaWN0PgorCQkJCQkJCQk8a2V5PkxhdW5jaGVyQ29uZmlnVmVyc2lv
bjwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjg8L3N0cmluZz4KKwkJCQkJCQkJPGtleT5QQlhQcm9q
ZWN0TW9kdWxlR1VJRDwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjFDMTYyOTg0MDY0QzEwRDQwMEI5
NUE3Mjwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlBCWFByb2plY3RNb2R1bGVMYWJlbDwva2V5Pgor
CQkJCQkJCQk8c3RyaW5nPkRlYnVnIC0gR0xVVEV4YW1wbGVzIChVbmRlcndhdGVyKTwvc3RyaW5n
PgorCQkJCQkJCTwvZGljdD4KKwkJCQkJCQk8a2V5Pkdlb21ldHJ5Q29uZmlndXJhdGlvbjwva2V5
PgorCQkJCQkJCTxkaWN0PgorCQkJCQkJCQk8a2V5PkRlYnVnQ29uc29sZURyYXdlclNpemU8L2tl
eT4KKwkJCQkJCQkJPHN0cmluZz57MTAwLCAxMjB9PC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+RGVi
dWdDb25zb2xlVmlzaWJsZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPk5vbmU8L3N0cmluZz4KKwkJ
CQkJCQkJPGtleT5EZWJ1Z0NvbnNvbGVXaW5kb3dGcmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5n
Pnt7MjAwLCAyMDB9LCB7NTAwLCAzMDB9fTwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PkRlYnVnU1RE
SU9XaW5kb3dGcmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPnt7MjAwLCAyMDB9LCB7NTAwLCAz
MDB9fTwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PkZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+
e3swLCAwfSwgezcxNywgMzk1fX08L3N0cmluZz4KKwkJCQkJCQkJPGtleT5SdWJiZXJXaW5kb3dG
cmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjEyNCA0MTIgNzE3IDQzNyAwIDAgMTQ0MCA4Nzgg
PC9zdHJpbmc+CisJCQkJCQkJPC9kaWN0PgorCQkJCQkJCTxrZXk+TW9kdWxlPC9rZXk+CisJCQkJ
CQkJPHN0cmluZz5QQlhEZWJ1Z1Nlc3Npb25Nb2R1bGU8L3N0cmluZz4KKwkJCQkJCQk8a2V5PlBy
b3BvcnRpb248L2tleT4KKwkJCQkJCQk8c3RyaW5nPjEwMCU8L3N0cmluZz4KKwkJCQkJCTwvZGlj
dD4KKwkJCQkJPC9hcnJheT4KKwkJCQkJPGtleT5Qcm9wb3J0aW9uPC9rZXk+CisJCQkJCTxzdHJp
bmc+MTAwJTwvc3RyaW5nPgorCQkJCTwvZGljdD4KKwkJCTwvYXJyYXk+CisJCQk8a2V5Pk5hbWU8
L2tleT4KKwkJCTxzdHJpbmc+RGVidWdnZXI8L3N0cmluZz4KKwkJCTxrZXk+U2VydmljZUNsYXNz
ZXM8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8c3RyaW5nPlBCWERlYnVnU2Vzc2lvbk1vZHVsZTwv
c3RyaW5nPgorCQkJPC9hcnJheT4KKwkJCTxrZXk+U3RhdHVzYmFySXNWaXNpYmxlPC9rZXk+CisJ
CQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgorCQkJPGtleT5UYWJsZU9mQ29udGVudHM8L2tleT4KKwkJ
CTxhcnJheT4KKwkJCQk8c3RyaW5nPjFDNTMwRDU0MDY5RjFDRTEwMDBDRkNFRTwvc3RyaW5nPgor
CQkJCTxzdHJpbmc+MUM1MzBENTUwNjlGMUNFMTAwMENGQ0VFPC9zdHJpbmc+CisJCQkJPHN0cmlu
Zz4xQzE2Mjk4NDA2NEMxMEQ0MDBCOTVBNzI8L3N0cmluZz4KKwkJCQk8c3RyaW5nPjFDNTMwRDU2
MDY5RjFDRTEwMDBDRkNFRTwvc3RyaW5nPgorCQkJPC9hcnJheT4KKwkJCTxrZXk+VG9vbGJhckNv
bmZpZ3VyYXRpb248L2tleT4KKwkJCTxzdHJpbmc+eGNvZGUudG9vbGJhci5jb25maWcuZGVidWc8
L3N0cmluZz4KKwkJCTxrZXk+V2luZG93U3RyaW5nPC9rZXk+CisJCQk8c3RyaW5nPjEyNCA0MTIg
NzE3IDQzNyAwIDAgMTQ0MCA4NzggPC9zdHJpbmc+CisJCQk8a2V5PldpbmRvd1Rvb2xHVUlEPC9r
ZXk+CisJCQk8c3RyaW5nPjFDNTMwRDU0MDY5RjFDRTEwMDBDRkNFRTwvc3RyaW5nPgorCQkJPGtl
eT5XaW5kb3dUb29sSXNWaXNpYmxlPC9rZXk+CisJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgorCQk8
L2RpY3Q+CisJCTxkaWN0PgorCQkJPGtleT5GaXJzdFRpbWVXaW5kb3dEaXNwbGF5ZWQ8L2tleT4K
KwkJCTxmYWxzZS8+CisJCQk8a2V5PklkZW50aWZpZXI8L2tleT4KKwkJCTxzdHJpbmc+d2luZG93
VG9vbC5maW5kPC9zdHJpbmc+CisJCQk8a2V5PklzVmVydGljYWw8L2tleT4KKwkJCTx0cnVlLz4K
KwkJCTxrZXk+TGF5b3V0PC9rZXk+CisJCQk8YXJyYXk+CisJCQkJPGRpY3Q+CisJCQkJCTxrZXk+
RG9jazwva2V5PgorCQkJCQk8YXJyYXk+CisJCQkJCQk8ZGljdD4KKwkJCQkJCQk8a2V5PkRvY2s8
L2tleT4KKwkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCTxkaWN0PgorCQkJCQkJCQkJPGtleT5Db250
ZW50Q29uZmlndXJhdGlvbjwva2V5PgorCQkJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCQkJPGtleT5Q
QlhQcm9qZWN0TW9kdWxlR1VJRDwva2V5PgorCQkJCQkJCQkJCTxzdHJpbmc+MUNERDUyOEMwNjIy
MjA3MjAwMTM0Njc1PC9zdHJpbmc+CisJCQkJCQkJCQkJPGtleT5QQlhQcm9qZWN0TW9kdWxlTGFi
ZWw8L2tleT4KKwkJCQkJCQkJCQk8c3RyaW5nPjwvc3RyaW5nPgorCQkJCQkJCQkJCTxrZXk+U3Rh
dHVzQmFyVmlzaWJpbGl0eTwva2V5PgorCQkJCQkJCQkJCTx0cnVlLz4KKwkJCQkJCQkJCTwvZGlj
dD4KKwkJCQkJCQkJCTxrZXk+R2VvbWV0cnlDb25maWd1cmF0aW9uPC9rZXk+CisJCQkJCQkJCQk8
ZGljdD4KKwkJCQkJCQkJCQk8a2V5PkZyYW1lPC9rZXk+CisJCQkJCQkJCQkJPHN0cmluZz57ezAs
IDB9LCB7MTM3NywgMjg5fX08L3N0cmluZz4KKwkJCQkJCQkJCQk8a2V5PlJ1YmJlcldpbmRvd0Zy
YW1lPC9rZXk+CisJCQkJCQkJCQkJPHN0cmluZz42MyAwIDEzNzcgODc4IDAgMCAxNDQwIDg3OCA8
L3N0cmluZz4KKwkJCQkJCQkJCTwvZGljdD4KKwkJCQkJCQkJCTxrZXk+TW9kdWxlPC9rZXk+CisJ
CQkJCQkJCQk8c3RyaW5nPlBCWE5hdmlnYXRvckdyb3VwPC9zdHJpbmc+CisJCQkJCQkJCQk8a2V5
PlByb3BvcnRpb248L2tleT4KKwkJCQkJCQkJCTxzdHJpbmc+MTM3N3B0PC9zdHJpbmc+CisJCQkJ
CQkJCTwvZGljdD4KKwkJCQkJCQk8L2FycmF5PgorCQkJCQkJCTxrZXk+UHJvcG9ydGlvbjwva2V5
PgorCQkJCQkJCTxzdHJpbmc+Mjg5cHQ8L3N0cmluZz4KKwkJCQkJCTwvZGljdD4KKwkJCQkJCTxk
aWN0PgorCQkJCQkJCTxrZXk+Q29udGVudENvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGlj
dD4KKwkJCQkJCQkJPGtleT5QQlhQcm9qZWN0TW9kdWxlR1VJRDwva2V5PgorCQkJCQkJCQk8c3Ry
aW5nPjFDRDA1MjhFMDYyMzcwNzIwMDE2NjY3NTwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlBCWFBy
b2plY3RNb2R1bGVMYWJlbDwva2V5PgorCQkJCQkJCQk8c3RyaW5nPlByb2plY3QgRmluZDwvc3Ry
aW5nPgorCQkJCQkJCTwvZGljdD4KKwkJCQkJCQk8a2V5Pkdlb21ldHJ5Q29uZmlndXJhdGlvbjwv
a2V5PgorCQkJCQkJCTxkaWN0PgorCQkJCQkJCQk8a2V5PkZyYW1lPC9rZXk+CisJCQkJCQkJCTxz
dHJpbmc+e3swLCAyOTR9LCB7MTM3NywgNTQzfX08L3N0cmluZz4KKwkJCQkJCQkJPGtleT5SdWJi
ZXJXaW5kb3dGcmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjYzIDAgMTM3NyA4NzggMCAwIDE0
NDAgODc4IDwvc3RyaW5nPgorCQkJCQkJCTwvZGljdD4KKwkJCQkJCQk8a2V5Pk1vZHVsZTwva2V5
PgorCQkJCQkJCTxzdHJpbmc+UEJYUHJvamVjdEZpbmRNb2R1bGU8L3N0cmluZz4KKwkJCQkJCQk8
a2V5PlByb3BvcnRpb248L2tleT4KKwkJCQkJCQk8c3RyaW5nPjU0M3B0PC9zdHJpbmc+CisJCQkJ
CQk8L2RpY3Q+CisJCQkJCTwvYXJyYXk+CisJCQkJCTxrZXk+UHJvcG9ydGlvbjwva2V5PgorCQkJ
CQk8c3RyaW5nPjgzN3B0PC9zdHJpbmc+CisJCQkJPC9kaWN0PgorCQkJPC9hcnJheT4KKwkJCTxr
ZXk+TmFtZTwva2V5PgorCQkJPHN0cmluZz5Qcm9qZWN0IEZpbmQ8L3N0cmluZz4KKwkJCTxrZXk+
U2VydmljZUNsYXNzZXM8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8c3RyaW5nPlBCWFByb2plY3RG
aW5kTW9kdWxlPC9zdHJpbmc+CisJCQk8L2FycmF5PgorCQkJPGtleT5TdGF0dXNiYXJJc1Zpc2li
bGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJCTxrZXk+VGFibGVPZkNvbnRlbnRzPC9rZXk+CisJCQk8
YXJyYXk+CisJCQkJPHN0cmluZz4xQzUzMEQ1NzA2OUYxQ0UxMDAwQ0ZDRUU8L3N0cmluZz4KKwkJ
CQk8c3RyaW5nPjE0OEU4NkRCMDk2QUY5RTgwMDk3NTU4NTwvc3RyaW5nPgorCQkJCTxzdHJpbmc+
MTQ4RTg2REMwOTZBRjlFODAwOTc1NTg1PC9zdHJpbmc+CisJCQkJPHN0cmluZz4xQ0RENTI4QzA2
MjIyMDcyMDAxMzQ2NzU8L3N0cmluZz4KKwkJCQk8c3RyaW5nPjFDRDA1MjhFMDYyMzcwNzIwMDE2
NjY3NTwvc3RyaW5nPgorCQkJPC9hcnJheT4KKwkJCTxrZXk+V2luZG93U3RyaW5nPC9rZXk+CisJ
CQk8c3RyaW5nPjYzIDAgMTM3NyA4NzggMCAwIDE0NDAgODc4IDwvc3RyaW5nPgorCQkJPGtleT5X
aW5kb3dUb29sR1VJRDwva2V5PgorCQkJPHN0cmluZz4xQzUzMEQ1NzA2OUYxQ0UxMDAwQ0ZDRUU8
L3N0cmluZz4KKwkJCTxrZXk+V2luZG93VG9vbElzVmlzaWJsZTwva2V5PgorCQkJPGZhbHNlLz4K
KwkJPC9kaWN0PgorCQk8ZGljdD4KKwkJCTxrZXk+SWRlbnRpZmllcjwva2V5PgorCQkJPHN0cmlu
Zz5NRU5VU0VQQVJBVE9SPC9zdHJpbmc+CisJCTwvZGljdD4KKwkJPGRpY3Q+CisJCQk8a2V5Pklk
ZW50aWZpZXI8L2tleT4KKwkJCTxzdHJpbmc+d2luZG93VG9vbC5kZWJ1Z2dlckNvbnNvbGU8L3N0
cmluZz4KKwkJCTxrZXk+TGF5b3V0PC9rZXk+CisJCQk8YXJyYXk+CisJCQkJPGRpY3Q+CisJCQkJ
CTxrZXk+RG9jazwva2V5PgorCQkJCQk8YXJyYXk+CisJCQkJCQk8ZGljdD4KKwkJCQkJCQk8a2V5
PkJlY29tZUFjdGl2ZTwva2V5PgorCQkJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CisJCQkJCQkJ
PGtleT5Db250ZW50Q29uZmlndXJhdGlvbjwva2V5PgorCQkJCQkJCTxkaWN0PgorCQkJCQkJCQk8
a2V5PlBCWFByb2plY3RNb2R1bGVHVUlEPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+MUM3OEVBQUMw
NjVENDkyNjAwQjA3MDk1PC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVsZUxh
YmVsPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+RGVidWdnZXIgQ29uc29sZTwvc3RyaW5nPgorCQkJ
CQkJCTwvZGljdD4KKwkJCQkJCQk8a2V5Pkdlb21ldHJ5Q29uZmlndXJhdGlvbjwva2V5PgorCQkJ
CQkJCTxkaWN0PgorCQkJCQkJCQk8a2V5PkZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+e3sw
LCAwfSwgezQ0MCwgMzU4fX08L3N0cmluZz4KKwkJCQkJCQkJPGtleT5SdWJiZXJXaW5kb3dGcmFt
ZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjE0OSA4NyA0NDAgNDAwIDAgMCAxNDQwIDg3OCA8L3N0
cmluZz4KKwkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJPGtleT5Nb2R1bGU8L2tleT4KKwkJCQkJCQk8
c3RyaW5nPlBCWERlYnVnQ0xJTW9kdWxlPC9zdHJpbmc+CisJCQkJCQkJPGtleT5Qcm9wb3J0aW9u
PC9rZXk+CisJCQkJCQkJPHN0cmluZz4zNThwdDwvc3RyaW5nPgorCQkJCQkJPC9kaWN0PgorCQkJ
CQk8L2FycmF5PgorCQkJCQk8a2V5PlByb3BvcnRpb248L2tleT4KKwkJCQkJPHN0cmluZz4zNThw
dDwvc3RyaW5nPgorCQkJCTwvZGljdD4KKwkJCTwvYXJyYXk+CisJCQk8a2V5Pk5hbWU8L2tleT4K
KwkJCTxzdHJpbmc+RGVidWdnZXIgQ29uc29sZTwvc3RyaW5nPgorCQkJPGtleT5TZXJ2aWNlQ2xh
c3Nlczwva2V5PgorCQkJPGFycmF5PgorCQkJCTxzdHJpbmc+UEJYRGVidWdDTElNb2R1bGU8L3N0
cmluZz4KKwkJCTwvYXJyYXk+CisJCQk8a2V5PlN0YXR1c2JhcklzVmlzaWJsZTwva2V5PgorCQkJ
PGludGVnZXI+MTwvaW50ZWdlcj4KKwkJCTxrZXk+VGFibGVPZkNvbnRlbnRzPC9rZXk+CisJCQk8
YXJyYXk+CisJCQkJPHN0cmluZz4xQzUzMEQ1QjA2OUYxQ0UxMDAwQ0ZDRUU8L3N0cmluZz4KKwkJ
CQk8c3RyaW5nPjFDNTMwRDVDMDY5RjFDRTEwMDBDRkNFRTwvc3RyaW5nPgorCQkJCTxzdHJpbmc+
MUM3OEVBQUMwNjVENDkyNjAwQjA3MDk1PC9zdHJpbmc+CisJCQk8L2FycmF5PgorCQkJPGtleT5X
aW5kb3dTdHJpbmc8L2tleT4KKwkJCTxzdHJpbmc+MTQ5IDg3IDQ0MCA0MDAgMCAwIDE0NDAgODc4
IDwvc3RyaW5nPgorCQkJPGtleT5XaW5kb3dUb29sR1VJRDwva2V5PgorCQkJPHN0cmluZz4xQzUz
MEQ1QjA2OUYxQ0UxMDAwQ0ZDRUU8L3N0cmluZz4KKwkJCTxrZXk+V2luZG93VG9vbElzVmlzaWJs
ZTwva2V5PgorCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KKwkJPC9kaWN0PgorCQk8ZGljdD4KKwkJ
CTxrZXk+Rmlyc3RUaW1lV2luZG93RGlzcGxheWVkPC9rZXk+CisJCQk8ZmFsc2UvPgorCQkJPGtl
eT5JZGVudGlmaWVyPC9rZXk+CisJCQk8c3RyaW5nPndpbmRvd1Rvb2wucnVuPC9zdHJpbmc+CisJ
CQk8a2V5PklzVmVydGljYWw8L2tleT4KKwkJCTx0cnVlLz4KKwkJCTxrZXk+TGF5b3V0PC9rZXk+
CisJCQk8YXJyYXk+CisJCQkJPGRpY3Q+CisJCQkJCTxrZXk+RG9jazwva2V5PgorCQkJCQk8YXJy
YXk+CisJCQkJCQk8ZGljdD4KKwkJCQkJCQk8a2V5PkNvbnRlbnRDb25maWd1cmF0aW9uPC9rZXk+
CisJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCTxrZXk+TGF1bmNoZXJDb25maWdWZXJzaW9uPC9rZXk+
CisJCQkJCQkJCTxzdHJpbmc+Mzwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlBCWFByb2plY3RNb2R1
bGVHVUlEPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+MUNEMDUyOEIwNjIzNzA3MjAwMTY2Njc1PC9z
dHJpbmc+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVsZUxhYmVsPC9rZXk+CisJCQkJCQkJ
CTxzdHJpbmc+UnVuPC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+UnVubmVyPC9rZXk+CisJCQkJCQkJ
CTxkaWN0PgorCQkJCQkJCQkJPGtleT5Ib3Jpem9udGFsU3BsaXRWaWV3PC9rZXk+CisJCQkJCQkJ
CQk8ZGljdD4KKwkJCQkJCQkJCQk8a2V5Pl9jb2xsYXBzaW5nRnJhbWVEaW1lbnNpb248L2tleT4K
KwkJCQkJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CisJCQkJCQkJCQkJPGtleT5faW5kZXhPZkNvbGxh
cHNlZFZpZXc8L2tleT4KKwkJCQkJCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgorCQkJCQkJCQkJ
CTxrZXk+X3BlcmNlbnRhZ2VPZkNvbGxhcHNlZFZpZXc8L2tleT4KKwkJCQkJCQkJCQk8cmVhbD4w
LjA8L3JlYWw+CisJCQkJCQkJCQkJPGtleT5pc0NvbGxhcHNlZDwva2V5PgorCQkJCQkJCQkJCTxz
dHJpbmc+eWVzPC9zdHJpbmc+CisJCQkJCQkJCQkJPGtleT5zaXplczwva2V5PgorCQkJCQkJCQkJ
CTxhcnJheT4KKwkJCQkJCQkJCQkJPHN0cmluZz57ezAsIDB9LCB7MzY3LCAxNjh9fTwvc3RyaW5n
PgorCQkJCQkJCQkJCQk8c3RyaW5nPnt7MCwgMTczfSwgezM2NywgMjcwfX08L3N0cmluZz4KKwkJ
CQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQkJPC9kaWN0PgorCQkJCQkJCQkJPGtleT5WZXJ0aWNh
bFNwbGl0Vmlldzwva2V5PgorCQkJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCQkJPGtleT5fY29sbGFw
c2luZ0ZyYW1lRGltZW5zaW9uPC9rZXk+CisJCQkJCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgorCQkJ
CQkJCQkJCTxrZXk+X2luZGV4T2ZDb2xsYXBzZWRWaWV3PC9rZXk+CisJCQkJCQkJCQkJPGludGVn
ZXI+MDwvaW50ZWdlcj4KKwkJCQkJCQkJCQk8a2V5Pl9wZXJjZW50YWdlT2ZDb2xsYXBzZWRWaWV3
PC9rZXk+CisJCQkJCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgorCQkJCQkJCQkJCTxrZXk+aXNDb2xs
YXBzZWQ8L2tleT4KKwkJCQkJCQkJCQk8c3RyaW5nPnllczwvc3RyaW5nPgorCQkJCQkJCQkJCTxr
ZXk+c2l6ZXM8L2tleT4KKwkJCQkJCQkJCQk8YXJyYXk+CisJCQkJCQkJCQkJCTxzdHJpbmc+e3sw
LCAwfSwgezQwNiwgNDQzfX08L3N0cmluZz4KKwkJCQkJCQkJCQkJPHN0cmluZz57ezQxMSwgMH0s
IHs1MTcsIDQ0M319PC9zdHJpbmc+CisJCQkJCQkJCQkJPC9hcnJheT4KKwkJCQkJCQkJCTwvZGlj
dD4KKwkJCQkJCQkJPC9kaWN0PgorCQkJCQkJCTwvZGljdD4KKwkJCQkJCQk8a2V5Pkdlb21ldHJ5
Q29uZmlndXJhdGlvbjwva2V5PgorCQkJCQkJCTxkaWN0PgorCQkJCQkJCQk8a2V5PkZyYW1lPC9r
ZXk+CisJCQkJCQkJCTxzdHJpbmc+e3swLCAwfSwgezQ1OSwgMTU5fX08L3N0cmluZz4KKwkJCQkJ
CQkJPGtleT5SdWJiZXJXaW5kb3dGcmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjg0IDY1NSA0
NTkgMjAwIDAgMCAxNDQwIDg3OCA8L3N0cmluZz4KKwkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJPGtl
eT5Nb2R1bGU8L2tleT4KKwkJCQkJCQk8c3RyaW5nPlBCWFJ1blNlc3Npb25Nb2R1bGU8L3N0cmlu
Zz4KKwkJCQkJCQk8a2V5PlByb3BvcnRpb248L2tleT4KKwkJCQkJCQk8c3RyaW5nPjE1OXB0PC9z
dHJpbmc+CisJCQkJCQk8L2RpY3Q+CisJCQkJCTwvYXJyYXk+CisJCQkJCTxrZXk+UHJvcG9ydGlv
bjwva2V5PgorCQkJCQk8c3RyaW5nPjE1OXB0PC9zdHJpbmc+CisJCQkJPC9kaWN0PgorCQkJPC9h
cnJheT4KKwkJCTxrZXk+TmFtZTwva2V5PgorCQkJPHN0cmluZz5SdW4gTG9nPC9zdHJpbmc+CisJ
CQk8a2V5PlNlcnZpY2VDbGFzc2VzPC9rZXk+CisJCQk8YXJyYXk+CisJCQkJPHN0cmluZz5QQlhS
dW5TZXNzaW9uTW9kdWxlPC9zdHJpbmc+CisJCQk8L2FycmF5PgorCQkJPGtleT5TdGF0dXNiYXJJ
c1Zpc2libGU8L2tleT4KKwkJCTx0cnVlLz4KKwkJCTxrZXk+VGFibGVPZkNvbnRlbnRzPC9rZXk+
CisJCQk8YXJyYXk+CisJCQkJPHN0cmluZz4xQzBBRDJCMzA2OUYxRUE5MDBGQUJDRTY8L3N0cmlu
Zz4KKwkJCQk8c3RyaW5nPjE0OEU4NkU3MDk2QUZCMTgwMDk3NTU4NTwvc3RyaW5nPgorCQkJCTxz
dHJpbmc+MUNEMDUyOEIwNjIzNzA3MjAwMTY2Njc1PC9zdHJpbmc+CisJCQkJPHN0cmluZz4xNDhF
ODZFODA5NkFGQjE4MDA5NzU1ODU8L3N0cmluZz4KKwkJCTwvYXJyYXk+CisJCQk8a2V5PlRvb2xi
YXJDb25maWd1cmF0aW9uPC9rZXk+CisJCQk8c3RyaW5nPnhjb2RlLnRvb2xiYXIuY29uZmlnLnJ1
bjwvc3RyaW5nPgorCQkJPGtleT5XaW5kb3dTdHJpbmc8L2tleT4KKwkJCTxzdHJpbmc+ODQgNjU1
IDQ1OSAyMDAgMCAwIDE0NDAgODc4IDwvc3RyaW5nPgorCQkJPGtleT5XaW5kb3dUb29sR1VJRDwv
a2V5PgorCQkJPHN0cmluZz4xQzBBRDJCMzA2OUYxRUE5MDBGQUJDRTY8L3N0cmluZz4KKwkJCTxr
ZXk+V2luZG93VG9vbElzVmlzaWJsZTwva2V5PgorCQkJPGZhbHNlLz4KKwkJPC9kaWN0PgorCQk8
ZGljdD4KKwkJCTxrZXk+SWRlbnRpZmllcjwva2V5PgorCQkJPHN0cmluZz53aW5kb3dUb29sLnNj
bTwvc3RyaW5nPgorCQkJPGtleT5MYXlvdXQ8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8ZGljdD4K
KwkJCQkJPGtleT5Eb2NrPC9rZXk+CisJCQkJCTxhcnJheT4KKwkJCQkJCTxkaWN0PgorCQkJCQkJ
CTxrZXk+Q29udGVudENvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJ
PGtleT5QQlhQcm9qZWN0TW9kdWxlR1VJRDwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjFDNzhFQUIy
MDY1RDQ5MjYwMEIwNzA5NTwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlBCWFByb2plY3RNb2R1bGVM
YWJlbDwva2V5PgorCQkJCQkJCQk8c3RyaW5nPiZsdDtObyBFZGl0b3ImZ3Q7PC9zdHJpbmc+CisJ
CQkJCQkJCTxrZXk+UEJYU3BsaXRNb2R1bGVJbk5hdmlnYXRvcktleTwva2V5PgorCQkJCQkJCQk8
ZGljdD4KKwkJCQkJCQkJCTxrZXk+U3BsaXQwPC9rZXk+CisJCQkJCQkJCQk8ZGljdD4KKwkJCQkJ
CQkJCQk8a2V5PlBCWFByb2plY3RNb2R1bGVHVUlEPC9rZXk+CisJCQkJCQkJCQkJPHN0cmluZz4x
Qzc4RUFCMzA2NUQ0OTI2MDBCMDcwOTU8L3N0cmluZz4KKwkJCQkJCQkJCTwvZGljdD4KKwkJCQkJ
CQkJCTxrZXk+U3BsaXRDb3VudDwva2V5PgorCQkJCQkJCQkJPHN0cmluZz4xPC9zdHJpbmc+CisJ
CQkJCQkJCTwvZGljdD4KKwkJCQkJCQkJPGtleT5TdGF0dXNCYXJWaXNpYmlsaXR5PC9rZXk+CisJ
CQkJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CisJCQkJCQkJPC9kaWN0PgorCQkJCQkJCTxrZXk+
R2VvbWV0cnlDb25maWd1cmF0aW9uPC9rZXk+CisJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCTxrZXk+
RnJhbWU8L2tleT4KKwkJCQkJCQkJPHN0cmluZz57ezAsIDB9LCB7NDUyLCAwfX08L3N0cmluZz4K
KwkJCQkJCQkJPGtleT5SdWJiZXJXaW5kb3dGcmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjc0
MyAzNzkgNDUyIDMwOCAwIDAgMTI4MCAxMDAyIDwvc3RyaW5nPgorCQkJCQkJCTwvZGljdD4KKwkJ
CQkJCQk8a2V5Pk1vZHVsZTwva2V5PgorCQkJCQkJCTxzdHJpbmc+UEJYTmF2aWdhdG9yR3JvdXA8
L3N0cmluZz4KKwkJCQkJCQk8a2V5PlByb3BvcnRpb248L2tleT4KKwkJCQkJCQk8c3RyaW5nPjBw
dDwvc3RyaW5nPgorCQkJCQkJPC9kaWN0PgorCQkJCQkJPGRpY3Q+CisJCQkJCQkJPGtleT5CZWNv
bWVBY3RpdmU8L2tleT4KKwkJCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgorCQkJCQkJCTxrZXk+
Q29udGVudENvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJPGtleT5Q
QlhQcm9qZWN0TW9kdWxlR1VJRDwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjFDRDA1MjkyMDYyMzcw
NzIwMDE2NjY3NTwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlBCWFByb2plY3RNb2R1bGVMYWJlbDwv
a2V5PgorCQkJCQkJCQk8c3RyaW5nPlNDTTwvc3RyaW5nPgorCQkJCQkJCTwvZGljdD4KKwkJCQkJ
CQk8a2V5Pkdlb21ldHJ5Q29uZmlndXJhdGlvbjwva2V5PgorCQkJCQkJCTxkaWN0PgorCQkJCQkJ
CQk8a2V5PkNvbnNvbGVGcmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPnt7MCwgMjU5fSwgezQ1
MiwgMH19PC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+RnJhbWU8L2tleT4KKwkJCQkJCQkJPHN0cmlu
Zz57ezAsIDd9LCB7NDUyLCAyNTl9fTwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlJ1YmJlcldpbmRv
d0ZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+NzQzIDM3OSA0NTIgMzA4IDAgMCAxMjgwIDEw
MDIgPC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+VGFibGVDb25maWd1cmF0aW9uPC9rZXk+CisJCQkJ
CQkJCTxhcnJheT4KKwkJCQkJCQkJCTxzdHJpbmc+U3RhdHVzPC9zdHJpbmc+CisJCQkJCQkJCQk8
cmVhbD4zMDwvcmVhbD4KKwkJCQkJCQkJCTxzdHJpbmc+RmlsZU5hbWU8L3N0cmluZz4KKwkJCQkJ
CQkJCTxyZWFsPjE5OTwvcmVhbD4KKwkJCQkJCQkJCTxzdHJpbmc+UGF0aDwvc3RyaW5nPgorCQkJ
CQkJCQkJPHJlYWw+MTk3LjA5NTAwMTIyMDcwMzEyPC9yZWFsPgorCQkJCQkJCQk8L2FycmF5Pgor
CQkJCQkJCQk8a2V5PlRhYmxlRnJhbWU8L2tleT4KKwkJCQkJCQkJPHN0cmluZz57ezAsIDB9LCB7
NDUyLCAyNTB9fTwvc3RyaW5nPgorCQkJCQkJCTwvZGljdD4KKwkJCQkJCQk8a2V5Pk1vZHVsZTwv
a2V5PgorCQkJCQkJCTxzdHJpbmc+UEJYQ1ZTTW9kdWxlPC9zdHJpbmc+CisJCQkJCQkJPGtleT5Q
cm9wb3J0aW9uPC9rZXk+CisJCQkJCQkJPHN0cmluZz4yNjJwdDwvc3RyaW5nPgorCQkJCQkJPC9k
aWN0PgorCQkJCQk8L2FycmF5PgorCQkJCQk8a2V5PlByb3BvcnRpb248L2tleT4KKwkJCQkJPHN0
cmluZz4yNjZwdDwvc3RyaW5nPgorCQkJCTwvZGljdD4KKwkJCTwvYXJyYXk+CisJCQk8a2V5Pk5h
bWU8L2tleT4KKwkJCTxzdHJpbmc+U0NNPC9zdHJpbmc+CisJCQk8a2V5PlNlcnZpY2VDbGFzc2Vz
PC9rZXk+CisJCQk8YXJyYXk+CisJCQkJPHN0cmluZz5QQlhDVlNNb2R1bGU8L3N0cmluZz4KKwkJ
CTwvYXJyYXk+CisJCQk8a2V5PlN0YXR1c2JhcklzVmlzaWJsZTwva2V5PgorCQkJPGludGVnZXI+
MTwvaW50ZWdlcj4KKwkJCTxrZXk+VGFibGVPZkNvbnRlbnRzPC9rZXk+CisJCQk8YXJyYXk+CisJ
CQkJPHN0cmluZz4xQzc4RUFCNDA2NUQ0OTI2MDBCMDcwOTU8L3N0cmluZz4KKwkJCQk8c3RyaW5n
PjFDNzhFQUI1MDY1RDQ5MjYwMEIwNzA5NTwvc3RyaW5nPgorCQkJCTxzdHJpbmc+MUM3OEVBQjIw
NjVENDkyNjAwQjA3MDk1PC9zdHJpbmc+CisJCQkJPHN0cmluZz4xQ0QwNTI5MjA2MjM3MDcyMDAx
NjY2NzU8L3N0cmluZz4KKwkJCTwvYXJyYXk+CisJCQk8a2V5PlRvb2xiYXJDb25maWd1cmF0aW9u
PC9rZXk+CisJCQk8c3RyaW5nPnhjb2RlLnRvb2xiYXIuY29uZmlnLnNjbTwvc3RyaW5nPgorCQkJ
PGtleT5XaW5kb3dTdHJpbmc8L2tleT4KKwkJCTxzdHJpbmc+NzQzIDM3OSA0NTIgMzA4IDAgMCAx
MjgwIDEwMDIgPC9zdHJpbmc+CisJCTwvZGljdD4KKwkJPGRpY3Q+CisJCQk8a2V5PkZpcnN0VGlt
ZVdpbmRvd0Rpc3BsYXllZDwva2V5PgorCQkJPGZhbHNlLz4KKwkJCTxrZXk+SWRlbnRpZmllcjwv
a2V5PgorCQkJPHN0cmluZz53aW5kb3dUb29sLmJyZWFrcG9pbnRzPC9zdHJpbmc+CisJCQk8a2V5
PklzVmVydGljYWw8L2tleT4KKwkJCTxmYWxzZS8+CisJCQk8a2V5PkxheW91dDwva2V5PgorCQkJ
PGFycmF5PgorCQkJCTxkaWN0PgorCQkJCQk8a2V5PkRvY2s8L2tleT4KKwkJCQkJPGFycmF5Pgor
CQkJCQkJPGRpY3Q+CisJCQkJCQkJPGtleT5Db250ZW50Q29uZmlndXJhdGlvbjwva2V5PgorCQkJ
CQkJCTxkaWN0PgorCQkJCQkJCQk8a2V5PlBCWEJvdHRvbVNtYXJ0R3JvdXBHSURzPC9rZXk+CisJ
CQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJCTxzdHJpbmc+MUM3N0ZBQkMwNDUwOUNEMDAwMDAwMTAy
PC9zdHJpbmc+CisJCQkJCQkJCTwvYXJyYXk+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVs
ZUdVSUQ8L2tleT4KKwkJCQkJCQkJPHN0cmluZz4xQ0UwQjFGRTA2NDcxREVEMDA5N0E1RjQ8L3N0
cmluZz4KKwkJCQkJCQkJPGtleT5QQlhQcm9qZWN0TW9kdWxlTGFiZWw8L2tleT4KKwkJCQkJCQkJ
PHN0cmluZz5GaWxlczwvc3RyaW5nPgorCQkJCQkJCQk8a2V5PlBCWFByb2plY3RTdHJ1Y3R1cmVQ
cm92aWRlZDwva2V5PgorCQkJCQkJCQk8c3RyaW5nPm5vPC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+
UEJYU21hcnRHcm91cFRyZWVNb2R1bGVDb2x1bW5EYXRhPC9rZXk+CisJCQkJCQkJCTxkaWN0Pgor
CQkJCQkJCQkJPGtleT5QQlhTbWFydEdyb3VwVHJlZU1vZHVsZUNvbHVtbldpZHRoc0tleTwva2V5
PgorCQkJCQkJCQkJPGFycmF5PgorCQkJCQkJCQkJCTxyZWFsPjE2ODwvcmVhbD4KKwkJCQkJCQkJ
CTwvYXJyYXk+CisJCQkJCQkJCQk8a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlQ29sdW1uc0tl
eV92NDwva2V5PgorCQkJCQkJCQkJPGFycmF5PgorCQkJCQkJCQkJCTxzdHJpbmc+TWFpbkNvbHVt
bjwvc3RyaW5nPgorCQkJCQkJCQkJPC9hcnJheT4KKwkJCQkJCQkJPC9kaWN0PgorCQkJCQkJCQk8
a2V5PlBCWFNtYXJ0R3JvdXBUcmVlTW9kdWxlT3V0bGluZVN0YXRlS2V5X3Y3PC9rZXk+CisJCQkJ
CQkJCTxkaWN0PgorCQkJCQkJCQkJPGtleT5QQlhTbWFydEdyb3VwVHJlZU1vZHVsZU91dGxpbmVT
dGF0ZUV4cGFuc2lvbktleTwva2V5PgorCQkJCQkJCQkJPGFycmF5PgorCQkJCQkJCQkJCTxzdHJp
bmc+MUM3N0ZBQkMwNDUwOUNEMDAwMDAwMTAyPC9zdHJpbmc+CisJCQkJCQkJCQk8L2FycmF5Pgor
CQkJCQkJCQkJPGtleT5QQlhTbWFydEdyb3VwVHJlZU1vZHVsZU91dGxpbmVTdGF0ZVNlbGVjdGlv
bktleTwva2V5PgorCQkJCQkJCQkJPGFycmF5PgorCQkJCQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJ
CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KKwkJCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQkJPC9h
cnJheT4KKwkJCQkJCQkJCTxrZXk+UEJYU21hcnRHcm91cFRyZWVNb2R1bGVPdXRsaW5lU3RhdGVW
aXNpYmxlUmVjdEtleTwva2V5PgorCQkJCQkJCQkJPHN0cmluZz57ezAsIDB9LCB7MTY4LCAzNTB9
fTwvc3RyaW5nPgorCQkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJCTxrZXk+UEJYVG9wU21hcnRHcm91
cEdJRHM8L2tleT4KKwkJCQkJCQkJPGFycmF5Lz4KKwkJCQkJCQkJPGtleT5YQ0luY2x1ZGVQZXJz
cGVjdGl2ZXNTd2l0Y2g8L2tleT4KKwkJCQkJCQkJPGZhbHNlLz4KKwkJCQkJCQk8L2RpY3Q+CisJ
CQkJCQkJPGtleT5HZW9tZXRyeUNvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJ
CQkJCQkJPGtleT5GcmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPnt7MCwgMH0sIHsxODUsIDM2
OH19PC9zdHJpbmc+CisJCQkJCQkJCTxrZXk+R3JvdXBUcmVlVGFibGVDb25maWd1cmF0aW9uPC9r
ZXk+CisJCQkJCQkJCTxhcnJheT4KKwkJCQkJCQkJCTxzdHJpbmc+TWFpbkNvbHVtbjwvc3RyaW5n
PgorCQkJCQkJCQkJPHJlYWw+MTY4PC9yZWFsPgorCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQk8
a2V5PlJ1YmJlcldpbmRvd0ZyYW1lPC9rZXk+CisJCQkJCQkJCTxzdHJpbmc+ODQgNDQ2IDc0NCA0
MDkgMCAwIDE0NDAgODc4IDwvc3RyaW5nPgorCQkJCQkJCTwvZGljdD4KKwkJCQkJCQk8a2V5Pk1v
ZHVsZTwva2V5PgorCQkJCQkJCTxzdHJpbmc+UEJYU21hcnRHcm91cFRyZWVNb2R1bGU8L3N0cmlu
Zz4KKwkJCQkJCQk8a2V5PlByb3BvcnRpb248L2tleT4KKwkJCQkJCQk8c3RyaW5nPjE4NXB0PC9z
dHJpbmc+CisJCQkJCQk8L2RpY3Q+CisJCQkJCQk8ZGljdD4KKwkJCQkJCQk8a2V5PkJlY29tZUFj
dGl2ZTwva2V5PgorCQkJCQkJCTx0cnVlLz4KKwkJCQkJCQk8a2V5PkNvbnRlbnRDb25maWd1cmF0
aW9uPC9rZXk+CisJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVsZUdV
SUQ8L2tleT4KKwkJCQkJCQkJPHN0cmluZz4xQ0ExQUVENzA2Mzk4RUJEMDA1ODkxNDc8L3N0cmlu
Zz4KKwkJCQkJCQkJPGtleT5QQlhQcm9qZWN0TW9kdWxlTGFiZWw8L2tleT4KKwkJCQkJCQkJPHN0
cmluZz5EZXRhaWw8L3N0cmluZz4KKwkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJPGtleT5HZW9tZXRy
eUNvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJPGtleT5GcmFtZTwv
a2V5PgorCQkJCQkJCQk8c3RyaW5nPnt7MTkwLCAwfSwgezU1NCwgMzY4fX08L3N0cmluZz4KKwkJ
CQkJCQkJPGtleT5SdWJiZXJXaW5kb3dGcmFtZTwva2V5PgorCQkJCQkJCQk8c3RyaW5nPjg0IDQ0
NiA3NDQgNDA5IDAgMCAxNDQwIDg3OCA8L3N0cmluZz4KKwkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJ
PGtleT5Nb2R1bGU8L2tleT4KKwkJCQkJCQk8c3RyaW5nPlhDRGV0YWlsTW9kdWxlPC9zdHJpbmc+
CisJCQkJCQkJPGtleT5Qcm9wb3J0aW9uPC9rZXk+CisJCQkJCQkJPHN0cmluZz41NTRwdDwvc3Ry
aW5nPgorCQkJCQkJPC9kaWN0PgorCQkJCQk8L2FycmF5PgorCQkJCQk8a2V5PlByb3BvcnRpb248
L2tleT4KKwkJCQkJPHN0cmluZz4zNjhwdDwvc3RyaW5nPgorCQkJCTwvZGljdD4KKwkJCTwvYXJy
YXk+CisJCQk8a2V5Pk1ham9yVmVyc2lvbjwva2V5PgorCQkJPGludGVnZXI+MjwvaW50ZWdlcj4K
KwkJCTxrZXk+TWlub3JWZXJzaW9uPC9rZXk+CisJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgorCQkJ
PGtleT5OYW1lPC9rZXk+CisJCQk8c3RyaW5nPkJyZWFrcG9pbnRzPC9zdHJpbmc+CisJCQk8a2V5
PlNlcnZpY2VDbGFzc2VzPC9rZXk+CisJCQk8YXJyYXk+CisJCQkJPHN0cmluZz5QQlhTbWFydEdy
b3VwVHJlZU1vZHVsZTwvc3RyaW5nPgorCQkJCTxzdHJpbmc+WENEZXRhaWxNb2R1bGU8L3N0cmlu
Zz4KKwkJCTwvYXJyYXk+CisJCQk8a2V5PlN0YXR1c2JhcklzVmlzaWJsZTwva2V5PgorCQkJPHRy
dWUvPgorCQkJPGtleT5UYWJsZU9mQ29udGVudHM8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8c3Ry
aW5nPjE0OEU4NzJEMDk2QjA0QjIwMDk3NTU4NTwvc3RyaW5nPgorCQkJCTxzdHJpbmc+MTQ4RTg3
MkUwOTZCMDRCMjAwOTc1NTg1PC9zdHJpbmc+CisJCQkJPHN0cmluZz4xQ0UwQjFGRTA2NDcxREVE
MDA5N0E1RjQ8L3N0cmluZz4KKwkJCQk8c3RyaW5nPjFDQTFBRUQ3MDYzOThFQkQwMDU4OTE0Nzwv
c3RyaW5nPgorCQkJPC9hcnJheT4KKwkJCTxrZXk+VG9vbGJhckNvbmZpZ3VyYXRpb248L2tleT4K
KwkJCTxzdHJpbmc+eGNvZGUudG9vbGJhci5jb25maWcuYnJlYWtwb2ludHM8L3N0cmluZz4KKwkJ
CTxrZXk+V2luZG93U3RyaW5nPC9rZXk+CisJCQk8c3RyaW5nPjg0IDQ0NiA3NDQgNDA5IDAgMCAx
NDQwIDg3OCA8L3N0cmluZz4KKwkJCTxrZXk+V2luZG93VG9vbEdVSUQ8L2tleT4KKwkJCTxzdHJp
bmc+MTQ4RTg3MkQwOTZCMDRCMjAwOTc1NTg1PC9zdHJpbmc+CisJCQk8a2V5PldpbmRvd1Rvb2xJ
c1Zpc2libGU8L2tleT4KKwkJCTxmYWxzZS8+CisJCTwvZGljdD4KKwkJPGRpY3Q+CisJCQk8a2V5
PklkZW50aWZpZXI8L2tleT4KKwkJCTxzdHJpbmc+d2luZG93VG9vbC5kZWJ1Z0FuaW1hdG9yPC9z
dHJpbmc+CisJCQk8a2V5PkxheW91dDwva2V5PgorCQkJPGFycmF5PgorCQkJCTxkaWN0PgorCQkJ
CQk8a2V5PkRvY2s8L2tleT4KKwkJCQkJPGFycmF5PgorCQkJCQkJPGRpY3Q+CisJCQkJCQkJPGtl
eT5Nb2R1bGU8L2tleT4KKwkJCQkJCQk8c3RyaW5nPlBCWE5hdmlnYXRvckdyb3VwPC9zdHJpbmc+
CisJCQkJCQkJPGtleT5Qcm9wb3J0aW9uPC9rZXk+CisJCQkJCQkJPHN0cmluZz4xMDAlPC9zdHJp
bmc+CisJCQkJCQk8L2RpY3Q+CisJCQkJCTwvYXJyYXk+CisJCQkJCTxrZXk+UHJvcG9ydGlvbjwv
a2V5PgorCQkJCQk8c3RyaW5nPjEwMCU8L3N0cmluZz4KKwkJCQk8L2RpY3Q+CisJCQk8L2FycmF5
PgorCQkJPGtleT5OYW1lPC9rZXk+CisJCQk8c3RyaW5nPkRlYnVnIFZpc3VhbGl6ZXI8L3N0cmlu
Zz4KKwkJCTxrZXk+U2VydmljZUNsYXNzZXM8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8c3RyaW5n
PlBCWE5hdmlnYXRvckdyb3VwPC9zdHJpbmc+CisJCQk8L2FycmF5PgorCQkJPGtleT5TdGF0dXNi
YXJJc1Zpc2libGU8L2tleT4KKwkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CisJCQk8a2V5PlRvb2xi
YXJDb25maWd1cmF0aW9uPC9rZXk+CisJCQk8c3RyaW5nPnhjb2RlLnRvb2xiYXIuY29uZmlnLmRl
YnVnQW5pbWF0b3I8L3N0cmluZz4KKwkJCTxrZXk+V2luZG93U3RyaW5nPC9rZXk+CisJCQk8c3Ry
aW5nPjEwMCAxMDAgNzAwIDUwMCAwIDAgMTI4MCAxMDAyIDwvc3RyaW5nPgorCQk8L2RpY3Q+CisJ
CTxkaWN0PgorCQkJPGtleT5JZGVudGlmaWVyPC9rZXk+CisJCQk8c3RyaW5nPndpbmRvd1Rvb2wu
Ym9va21hcmtzPC9zdHJpbmc+CisJCQk8a2V5PkxheW91dDwva2V5PgorCQkJPGFycmF5PgorCQkJ
CTxkaWN0PgorCQkJCQk8a2V5PkRvY2s8L2tleT4KKwkJCQkJPGFycmF5PgorCQkJCQkJPGRpY3Q+
CisJCQkJCQkJPGtleT5Nb2R1bGU8L2tleT4KKwkJCQkJCQk8c3RyaW5nPlBCWEJvb2ttYXJrc01v
ZHVsZTwvc3RyaW5nPgorCQkJCQkJCTxrZXk+UHJvcG9ydGlvbjwva2V5PgorCQkJCQkJCTxzdHJp
bmc+MTAwJTwvc3RyaW5nPgorCQkJCQkJPC9kaWN0PgorCQkJCQk8L2FycmF5PgorCQkJCQk8a2V5
PlByb3BvcnRpb248L2tleT4KKwkJCQkJPHN0cmluZz4xMDAlPC9zdHJpbmc+CisJCQkJPC9kaWN0
PgorCQkJPC9hcnJheT4KKwkJCTxrZXk+TmFtZTwva2V5PgorCQkJPHN0cmluZz5Cb29rbWFya3M8
L3N0cmluZz4KKwkJCTxrZXk+U2VydmljZUNsYXNzZXM8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8
c3RyaW5nPlBCWEJvb2ttYXJrc01vZHVsZTwvc3RyaW5nPgorCQkJPC9hcnJheT4KKwkJCTxrZXk+
U3RhdHVzYmFySXNWaXNpYmxlPC9rZXk+CisJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgorCQkJPGtl
eT5XaW5kb3dTdHJpbmc8L2tleT4KKwkJCTxzdHJpbmc+NTM4IDQyIDQwMSAxODcgMCAwIDEyODAg
MTAwMiA8L3N0cmluZz4KKwkJPC9kaWN0PgorCQk8ZGljdD4KKwkJCTxrZXk+SWRlbnRpZmllcjwv
a2V5PgorCQkJPHN0cmluZz53aW5kb3dUb29sLmNsYXNzQnJvd3Nlcjwvc3RyaW5nPgorCQkJPGtl
eT5MYXlvdXQ8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8ZGljdD4KKwkJCQkJPGtleT5Eb2NrPC9r
ZXk+CisJCQkJCTxhcnJheT4KKwkJCQkJCTxkaWN0PgorCQkJCQkJCTxrZXk+QmVjb21lQWN0aXZl
PC9rZXk+CisJCQkJCQkJPGludGVnZXI+MTwvaW50ZWdlcj4KKwkJCQkJCQk8a2V5PkNvbnRlbnRD
b25maWd1cmF0aW9uPC9rZXk+CisJCQkJCQkJPGRpY3Q+CisJCQkJCQkJCTxrZXk+T3B0aW9uc1Nl
dE5hbWU8L2tleT4KKwkJCQkJCQkJPHN0cmluZz5IaWVyYXJjaHksIGFsbCBjbGFzc2VzPC9zdHJp
bmc+CisJCQkJCQkJCTxrZXk+UEJYUHJvamVjdE1vZHVsZUdVSUQ8L2tleT4KKwkJCQkJCQkJPHN0
cmluZz4xQ0E2NDU2RTA2M0I0NUI0MDAxMzc5RDg8L3N0cmluZz4KKwkJCQkJCQkJPGtleT5QQlhQ
cm9qZWN0TW9kdWxlTGFiZWw8L2tleT4KKwkJCQkJCQkJPHN0cmluZz5DbGFzcyBCcm93c2VyIC0g
TlNPYmplY3Q8L3N0cmluZz4KKwkJCQkJCQk8L2RpY3Q+CisJCQkJCQkJPGtleT5HZW9tZXRyeUNv
bmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQk8ZGljdD4KKwkJCQkJCQkJPGtleT5DbGFzc2VzRnJh
bWU8L2tleT4KKwkJCQkJCQkJPHN0cmluZz57ezAsIDB9LCB7MzY4LCA5Nn19PC9zdHJpbmc+CisJ
CQkJCQkJCTxrZXk+Q2xhc3Nlc1RyZWVUYWJsZUNvbmZpZ3VyYXRpb248L2tleT4KKwkJCQkJCQkJ
PGFycmF5PgorCQkJCQkJCQkJPHN0cmluZz5QQlhDbGFzc05hbWVDb2x1bW5JZGVudGlmaWVyPC9z
dHJpbmc+CisJCQkJCQkJCQk8cmVhbD4yMDg8L3JlYWw+CisJCQkJCQkJCQk8c3RyaW5nPlBCWENs
YXNzQm9va0NvbHVtbklkZW50aWZpZXI8L3N0cmluZz4KKwkJCQkJCQkJCTxyZWFsPjIyPC9yZWFs
PgorCQkJCQkJCQk8L2FycmF5PgorCQkJCQkJCQk8a2V5PkZyYW1lPC9rZXk+CisJCQkJCQkJCTxz
dHJpbmc+e3swLCAwfSwgezYyNCwgMzE4fX08L3N0cmluZz4KKwkJCQkJCQkJPGtleT5NZW1iZXJz
RnJhbWU8L2tleT4KKwkJCQkJCQkJPHN0cmluZz57ezAsIDEwNX0sIHszNjgsIDM5NX19PC9zdHJp
bmc+CisJCQkJCQkJCTxrZXk+TWVtYmVyc1RyZWVUYWJsZUNvbmZpZ3VyYXRpb248L2tleT4KKwkJ
CQkJCQkJPGFycmF5PgorCQkJCQkJCQkJPHN0cmluZz5QQlhNZW1iZXJUeXBlSWNvbkNvbHVtbklk
ZW50aWZpZXI8L3N0cmluZz4KKwkJCQkJCQkJCTxyZWFsPjIyPC9yZWFsPgorCQkJCQkJCQkJPHN0
cmluZz5QQlhNZW1iZXJOYW1lQ29sdW1uSWRlbnRpZmllcjwvc3RyaW5nPgorCQkJCQkJCQkJPHJl
YWw+MjE2PC9yZWFsPgorCQkJCQkJCQkJPHN0cmluZz5QQlhNZW1iZXJUeXBlQ29sdW1uSWRlbnRp
Zmllcjwvc3RyaW5nPgorCQkJCQkJCQkJPHJlYWw+OTE8L3JlYWw+CisJCQkJCQkJCQk8c3RyaW5n
PlBCWE1lbWJlckJvb2tDb2x1bW5JZGVudGlmaWVyPC9zdHJpbmc+CisJCQkJCQkJCQk8cmVhbD4y
MjwvcmVhbD4KKwkJCQkJCQkJPC9hcnJheT4KKwkJCQkJCQkJPGtleT5QQlhNb2R1bGVXaW5kb3dT
dGF0dXNCYXJIaWRkZW4yPC9rZXk+CisJCQkJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CisJCQkJ
CQkJCTxrZXk+UnViYmVyV2luZG93RnJhbWU8L2tleT4KKwkJCQkJCQkJPHN0cmluZz4xMjggMTcx
IDYyNCAzMzkgMCAwIDE0NDAgODc4IDwvc3RyaW5nPgorCQkJCQkJCTwvZGljdD4KKwkJCQkJCQk8
a2V5Pk1vZHVsZTwva2V5PgorCQkJCQkJCTxzdHJpbmc+UEJYQ2xhc3NCcm93c2VyTW9kdWxlPC9z
dHJpbmc+CisJCQkJCQkJPGtleT5Qcm9wb3J0aW9uPC9rZXk+CisJCQkJCQkJPHN0cmluZz4zMTlw
dDwvc3RyaW5nPgorCQkJCQkJPC9kaWN0PgorCQkJCQk8L2FycmF5PgorCQkJCQk8a2V5PlByb3Bv
cnRpb248L2tleT4KKwkJCQkJPHN0cmluZz4zMTlwdDwvc3RyaW5nPgorCQkJCTwvZGljdD4KKwkJ
CTwvYXJyYXk+CisJCQk8a2V5Pk5hbWU8L2tleT4KKwkJCTxzdHJpbmc+Q2xhc3MgQnJvd3Nlcjwv
c3RyaW5nPgorCQkJPGtleT5TZXJ2aWNlQ2xhc3Nlczwva2V5PgorCQkJPGFycmF5PgorCQkJCTxz
dHJpbmc+UEJYQ2xhc3NCcm93c2VyTW9kdWxlPC9zdHJpbmc+CisJCQk8L2FycmF5PgorCQkJPGtl
eT5TdGF0dXNiYXJJc1Zpc2libGU8L2tleT4KKwkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CisJCQk8
a2V5PlRhYmxlT2ZDb250ZW50czwva2V5PgorCQkJPGFycmF5PgorCQkJCTxzdHJpbmc+MUM1MzBE
NjAwNjlGMUNFMTAwMENGQ0VFPC9zdHJpbmc+CisJCQkJPHN0cmluZz4xQzUzMEQ2MTA2OUYxQ0Ux
MDAwQ0ZDRUU8L3N0cmluZz4KKwkJCQk8c3RyaW5nPjFDQTY0NTZFMDYzQjQ1QjQwMDEzNzlEODwv
c3RyaW5nPgorCQkJPC9hcnJheT4KKwkJCTxrZXk+VG9vbGJhckNvbmZpZ3VyYXRpb248L2tleT4K
KwkJCTxzdHJpbmc+eGNvZGUudG9vbGJhci5jb25maWcuY2xhc3Nicm93c2VyPC9zdHJpbmc+CisJ
CQk8a2V5PldpbmRvd1N0cmluZzwva2V5PgorCQkJPHN0cmluZz4xMjggMTcxIDYyNCAzMzkgMCAw
IDE0NDAgODc4IDwvc3RyaW5nPgorCQkJPGtleT5XaW5kb3dUb29sR1VJRDwva2V5PgorCQkJPHN0
cmluZz4xQzUzMEQ2MDA2OUYxQ0UxMDAwQ0ZDRUU8L3N0cmluZz4KKwkJCTxrZXk+V2luZG93VG9v
bElzVmlzaWJsZTwva2V5PgorCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KKwkJPC9kaWN0PgorCTwv
YXJyYXk+Cis8L2RpY3Q+Cis8L3BsaXN0PgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvRHVtcFJlbmRlclRyZWUubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUubSx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4yMwpkaWZmIC1wIC11IC1yMS4yMyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1w
UmVuZGVyVHJlZS5tCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJl
ZS5tCTMwIERlYyAyMDA1IDA3OjA0OjEwIC0wMDAwCTEuMjMKKysrIFdlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLm0JNCBKYW4gMjAwNiAwMTo0NTowOSAtMDAwMApAQCAt
MzQsNiArMzQsNyBAQAogI2ltcG9ydCA8V2ViS2l0L1dlYkZyYW1lVmlldy5oPgogI2ltcG9ydCA8
V2ViS2l0L1dlYlByZWZlcmVuY2VzLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViVmlldy5oPgorI2lt
cG9ydCA8V2ViS2l0L1dlYlBsdWdpbkRhdGFiYXNlLmg+CiAKICNpbXBvcnQgPENhcmJvbi9DYXJi
b24uaD4gICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmb3IgR2V0Q3VycmVudEV2ZW50VGlt
ZSgpCiAjaW1wb3J0IDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4g
Ly8gZm9yIENNU2V0RGVmYXVsdFByb2ZpbGVCeVNwYWNlCkBAIC0xODUsNiArMTg2LDE2IEBAIGlu
dCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pCiAgICAgbG9jYWxQYXN0ZWJvYXJk
ID0gW05TUGFzdGVib2FyZCBwYXN0ZWJvYXJkV2l0aFVuaXF1ZU5hbWVdOwogCiAgICAgV2ViVmll
dyAqd2ViVmlldyA9IFtbV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDgwMCwgNjAwKV07CisgICAgTlNXaW5kb3cgKndpbmRvdyA9IFtbTlNXaW5kb3cgYWxsb2Nd
IGluaXRXaXRoQ29udGVudFJlY3Q6TlNaZXJvUmVjdCAKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlTWFzazpOU0JvcmRlcmxlc3NXaW5kb3dN
YXNrIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiYWNraW5nOk5TQmFja2luZ1N0b3JlTm9ucmV0YWluZWQgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXI6WUVTXTsKKyAgICBbd2lu
ZG93IHNldENvbnRlbnRWaWV3OndlYlZpZXddOworICAgIAorICAgIE5TU3RyaW5nICpwd2QgPSBb
W05TU3RyaW5nIHN0cmluZ1dpdGhDU3RyaW5nOmFyZ3ZbMF1dIHN0cmluZ0J5RGVsZXRpbmdMYXN0
UGF0aENvbXBvbmVudF07CisgICAgW1dlYlBsdWdpbkRhdGFiYXNlIHNldEFkZGl0aW9uYWxXZWJQ
bHVnSW5QYXRoczpbTlNBcnJheSBhcnJheVdpdGhPYmplY3Q6cHdkXV07CisgICAgW1tXZWJQbHVn
aW5EYXRhYmFzZSBpbnN0YWxsZWRQbHVnaW5zXSByZWZyZXNoXTsgICAgCisKICAgICBXYWl0VW50
aWxEb25lRGVsZWdhdGUgKmRlbGVnYXRlID0gW1tXYWl0VW50aWxEb25lRGVsZWdhdGUgYWxsb2Nd
IGluaXRdOwogICAgIEVkaXRpbmdEZWxlZ2F0ZSAqZWRpdGluZ0RlbGVnYXRlID0gW1tFZGl0aW5n
RGVsZWdhdGUgYWxsb2NdIGluaXRdOwogICAgIFt3ZWJWaWV3IHNldEZyYW1lTG9hZERlbGVnYXRl
OmRlbGVnYXRlXTsKQEAgLTIyMyw2ICsyMzQsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3Qg
Y2hhciAqYXJndltdKQogICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6bmlsXTsKIAogICAgIFt3
ZWJWaWV3IHJlbGVhc2VdOworICAgIFt3aW5kb3cgcmVsZWFzZV07CiAgICAgW2RlbGVnYXRlIHJl
bGVhc2VdOwogICAgIFtlZGl0aW5nRGVsZWdhdGUgcmVsZWFzZV07CiAKSW5kZXg6IFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2osdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuNwpkaWZmIC1wIC11IC1yMS43IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKLS0tIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
OSBPY3QgMjAwNSAwMjo1NzoyMSAtMDAwMAkxLjcKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJNCBKYW4gMjAwNiAw
MTo0NTowOSAtMDAwMApAQCAtMjgsNiArMjgsNyBAQAogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJ
CUE4NEY2MDkxMDhCMTM3MEUwMEU5NzQ1RiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJ
CUE4NEY2MDhGMDhCMTM3MEUwMEU5NzQ1RiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJ
CTE0MUJGMjM4MDk2QTQ1MUUwMEUwNzUzQyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJ
KTsKIAkJCW5hbWUgPSBBbGw7CiAJCQlwcm9kdWN0TmFtZSA9IEFsbDsKQEAgLTM1LDYgKzM2LDE1
IEBACiAvKiBFbmQgUEJYQWdncmVnYXRlVGFyZ2V0IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJY
QnVpbGRGaWxlIHNlY3Rpb24gKi8KKwkJMTQxQkY0MzUwOTZBNDU1OTAwRTA3NTNDIC8qIFdlYktp
dC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MzM1NDM1RjAzRDc1NTAyMDA4NjM1Q0UgLyogV2ViS2l0LmZyYW1ld29yayAqLzsgfTsK
KwkJMTQxQkY0MzYwOTZBNDU1OTAwRTA3NTNDIC8qIENvY29hLmZyYW1ld29yayBpbiBGcmFtZXdv
cmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NEY2MDg5MDhCMTM2REEw
MEU5NzQ1RiAvKiBDb2NvYS5mcmFtZXdvcmsgKi87IH07CisJCTE0MUJGNDM3MDk2QTQ1NTkwMEUw
NzUzQyAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE4MTcwOTAxMDhCMTY0MzgwMENDQjlGQiAvKiBXZWJDb3JlLmZy
YW1ld29yayAqLzsgfTsKKwkJMTQxQkY0MzgwOTZBNDU1OTAwRTA3NTNDIC8qIEphdmFTY3JpcHRD
b3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE4MTcwOTAzMDhCMTY0RDMwMENDQjlGQiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdv
cmsgKi87IH07CisJCTE0MUJGNDM5MDk2QTQ1NTkwMEUwNzUzQyAvKiBDYXJib24uZnJhbWV3b3Jr
IGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUU4MjU3
RUYwOEQyMjM4OTAwMDUwN0FCIC8qIENhcmJvbi5mcmFtZXdvcmsgKi87IH07CisJCTE0MUJGNDRB
MDk2QTQ1QzgwMEUwNzUzQyAvKiBtYWluLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNDFCRjQ0NTA5NkE0NUM4MDBFMDc1M0MgLyogbWFpbi5jICovOyB9
OworCQkxNDFCRjQ0QjA5NkE0NUM4MDBFMDc1M0MgLyogUGx1Z2luT2JqZWN0LmMgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDFCRjQ0NjA5NkE0NUM4MDBF
MDc1M0MgLyogUGx1Z2luT2JqZWN0LmMgKi87IH07CisJCTE0MUJGNDRDMDk2QTQ1QzgwMEUwNzUz
QyAvKiBJbmZvLnBsaXN0IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxNDFCRjQ0ODA5NkE0NUM4MDBFMDc1M0MgLyogSW5mby5wbGlzdCAqLzsgfTsKKwkJ
MTQxQkY0NTMwOTZBNDVFQjAwRTA3NTNDIC8qIFBsdWdpbk9iamVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxQkY0NDcwOTZBNDVDODAwRTA3NTND
IC8qIFBsdWdpbk9iamVjdC5oICovOyB9OwogCQk5MzQwOTk0QzA4NTQwQ0FFMDA3RjNCQzggLyog
RHVtcFJlbmRlclRyZWVQcmVmaXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMyQTcwQUFCMDM3MDVFMUYwMEM5MTc4MyAvKiBEdW1wUmVuZGVyVHJlZVBy
ZWZpeC5oICovOyB9OwogCQk5MzQwOTk0RTA4NTQwQ0FFMDA3RjNCQzggLyogRHVtcFJlbmRlclRy
ZWUubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4RkI3
Nzk2RkU4NDE1NURDMDJBQUMwNyAvKiBEdW1wUmVuZGVyVHJlZS5tICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKCk7IH07IH07CiAJCTkzNDA5OTUxMDg1NDBDQUUwMDdGM0JDOCAvKiBXZWJL
aXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTMzNTQzNUYwM0Q3NTUwMjAwODYzNUNFIC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07
CkBAIC02OCw2ICs3OCwxMyBAQAogLyogRW5kIFBCWEJ1aWxkU3R5bGUgc2VjdGlvbiAqLwogCiAv
KiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLworCQkxNDFCRjIzNzA5NkE0
NTFFMDBFMDc1M0MgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJY
Q29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFsID0gMDhGQjc3OTNGRTg0MTU1
REMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJl
bW90ZUdsb2JhbElEU3RyaW5nID0gMTQxQkYyMUUwOTZBNDQxRDAwRTA3NTNDOworCQkJcmVtb3Rl
SW5mbyA9IFRlc3ROZXRzY2FwZVBsdWdJbjsKKwkJfTsKIAkJQTg0RjYwOEUwOEIxMzcwRTAwRTk3
NDVGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5l
ckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9IDA4RkI3NzkzRkU4NDE1NURDMDJBQUMw
NyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKQEAgLTg2LDYgKzEwMywxMSBAQAogCiAvKiBCZWdpbiBQ
QlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAkJMDhGQjc3OTZGRTg0MTU1REMwMkFBQzA3IC8q
IER1bXBSZW5kZXJUcmVlLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IER1
bXBSZW5kZXJUcmVlLm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0MUJGMjMzMDk2
QTQ0Q0YwMEUwNzUzQyAvKiBUZXN0TmV0c2NhcGVQbHVnSW4ucGx1Z2luICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmNmYnVuZGxlOyBpbmNs
dWRlSW5JbmRleCA9IDA7IHBhdGggPSBUZXN0TmV0c2NhcGVQbHVnSW4ucGx1Z2luOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxNDFCRjQ0NTA5NkE0NUM4MDBFMDc1M0Mg
LyogbWFpbi5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBuYW1lID0gbWFpbi5jOyBwYXRo
ID0gLi4vVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovbWFpbi5jOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxNDFCRjQ0NjA5NkE0NUM4MDBFMDc1M0MgLyogUGx1Z2luT2JqZWN0LmMg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmM7IG5hbWUgPSBQbHVnaW5PYmplY3QuYzsgcGF0aCA9
IC4uL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5jOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxNDFCRjQ0NzA5NkE0NUM4MDBFMDc1M0MgLyogUGx1Z2luT2Jq
ZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQbHVnaW5PYmplY3QuaDsg
cGF0aCA9IC4uL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDFCRjQ0ODA5NkE0NUM4MDBFMDc1M0MgLyogSW5m
by5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhtbDsgbmFtZSA9IEluZm8ucGxpc3Q7IHBhdGggPSAu
Li9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9JbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMkE3MEFBQjAzNzA1RTFGMDBDOTE3ODMgLyogRHVtcFJlbmRlclRyZWVQ
cmVmaXguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHVtcFJlbmRlclRyZWVQ
cmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMzNTQzNUYwM0Q3NTUwMjAw
ODYzNUNFIC8qIFdlYktpdC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IFdlYktpdC5mcmFt
ZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTkzNDA5OTU0MDg1
NDBDQUYwMDdGM0JDOCAvKiBEdW1wUmVuZGVyVHJlZSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRhYmxlIjsgaW5j
bHVkZUluSW5kZXggPSAwOyBwYXRoID0gRHVtcFJlbmRlclRyZWU7IHNvdXJjZVRyZWUgPSBCVUlM
VF9QUk9EVUNUU19ESVI7IH07CkBAIC0xMDEsNiArMTIzLDE4IEBACiAvKiBFbmQgUEJYRmlsZVJl
ZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNl
Y3Rpb24gKi8KKwkJMTQxQkYyMUQwOTZBNDQxRDAwRTA3NTNDIC8qIEZyYW1ld29ya3MgKi8gPSB7
CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQkxNDFCRjQzNTA5NkE0NTU5MDBFMDc1M0Mg
LyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCTE0MUJGNDM2MDk2QTQ1
NTkwMEUwNzUzQyAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQkxNDFC
RjQzNzA5NkE0NTU5MDBFMDc1M0MgLyogV2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LywKKwkJCQkxNDFCRjQzODA5NkE0NTU5MDBFMDc1M0MgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJMTQxQkY0MzkwOTZBNDU1OTAwRTA3NTNDIC8qIENh
cmJvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJOTM0MDk5NEYwODU0MENBRTAwN0Yz
QkM4IC8qIEZyYW1ld29ya3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFz
ZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0xMjksNiArMTYzLDcgQEAK
IAkJMDhGQjc3OTRGRTg0MTU1REMwMkFBQzA3IC8qIER1bXBSZW5kZXJUcmVlICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDFCRjFGNTA5NkE0Mzk4MDBF
MDc1M0MgLyogVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ogKi8sCiAJCQkJMDhGQjc3OTZGRTg0
MTU1REMwMkFBQzA3IC8qIER1bXBSZW5kZXJUcmVlLm0gKi8sCiAJCQkJMzJBNzBBQUIwMzcwNUUx
RjAwQzkxNzgzIC8qIER1bXBSZW5kZXJUcmVlUHJlZml4LmggKi8sCiAJCQkJOTM0NDJDRjQwOEY4
QkE0OTAwQkZFOENBIC8qIFRleHRJbnB1dENvbnRyb2xsZXIuaCAqLywKQEAgLTE0NSwxMSArMTgw
LDIzIEBACiAJCQluYW1lID0gRHVtcFJlbmRlclRyZWU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQkxNDFCRjFGNTA5NkE0Mzk4MDBFMDc1M0MgLyogVGVzdE5ldHNjYXBlUGx1
Z0luLnN1YnByb2ogKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAor
CQkJCTE0MUJGNDQ1MDk2QTQ1QzgwMEUwNzUzQyAvKiBtYWluLmMgKi8sCisJCQkJMTQxQkY0NDYw
OTZBNDVDODAwRTA3NTNDIC8qIFBsdWdpbk9iamVjdC5jICovLAorCQkJCTE0MUJGNDQ3MDk2QTQ1
QzgwMEUwNzUzQyAvKiBQbHVnaW5PYmplY3QuaCAqLywKKwkJCQkxNDFCRjQ0ODA5NkE0NUM4MDBF
MDc1M0MgLyogSW5mby5wbGlzdCAqLywKKwkJCSk7CisJCQlwYXRoID0gVGVzdE5ldHNjYXBlUGx1
Z0luLnN1YnByb2o7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5MzQwOTk1
NTA4NTQwQ0FGMDA3RjNCQzggLyogUHJvZHVjdHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAogCQkJCTkzNDA5OTU0MDg1NDBDQUYwMDdGM0JDOCAvKiBEdW1wUmVu
ZGVyVHJlZSAqLywKIAkJCQlCNUE3NTI2NzA4QUY0QTRBMDAxMzhFNDUgLyogSW1hZ2VEaWZmICov
LAorCQkJCTE0MUJGMjMzMDk2QTQ0Q0YwMEUwNzUzQyAvKiBUZXN0TmV0c2NhcGVQbHVnSW4ucGx1
Z2luICovLAogCQkJKTsKIAkJCW5hbWUgPSBQcm9kdWN0czsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0xNTcsNiArMjA0LDE0IEBACiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwog
CiAvKiBCZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MUJGNDRFMDk2
QTQ1REQwMEUwNzUzQyAvKiBIZWFkZXJzICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxk
UGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJ
CQkJMTQxQkY0NTMwOTZBNDVFQjAwRTA3NTNDIC8qIFBsdWdpbk9iamVjdC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJ
CX07CiAJCTkzNDA5OTRCMDg1NDBDQUUwMDdGM0JDOCAvKiBIZWFkZXJzICovID0gewogCQkJaXNh
ID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OwpAQCAtMTc2LDYgKzIzMSw3MSBAQAogLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KIAogLyogQmVnaW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJMTQxQkYyMUUw
OTZBNDQxRDAwRTA3NTNDIC8qIFRlc3ROZXRzY2FwZVBsdWdJbiAqLyA9IHsKKwkJCWlzYSA9IFBC
WE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDFCRjIyMTA5NkE0
NDFFMDBFMDc1M0MgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJn
ZXQgIlRlc3ROZXRzY2FwZVBsdWdJbiIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkxNDFC
RjIxQjA5NkE0NDFEMDBFMDc1M0MgLyogUmVzb3VyY2VzICovLAorCQkJCTE0MUJGNDRFMDk2QTQ1
REQwMEUwNzUzQyAvKiBIZWFkZXJzICovLAorCQkJCTE0MUJGMjFDMDk2QTQ0MUQwMEUwNzUzQyAv
KiBTb3VyY2VzICovLAorCQkJCTE0MUJGMjFEMDk2QTQ0MUQwMEUwNzUzQyAvKiBGcmFtZXdvcmtz
ICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCQlHQ0NfR0VORVJBVEVfREVCVUdHSU5HX1NZTUJPTFMgPSBOTzsKKwkJCQlHQ0NfTU9E
RUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9IFlFUzsK
KwkJCQlHQ0NfUFJFRklYX0hFQURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jr
cy9DYXJib24uZnJhbWV3b3JrL0hlYWRlcnMvQ2FyYm9uLmgiOworCQkJCUlORk9QTElTVF9GSUxF
ID0gIlRlc3ROZXRzY2FwZVBsdWdJbi5wbHVnaW4tSW5mby5wbGlzdCI7CisJCQkJSU5TVEFMTF9Q
QVRIID0gIiQoVVNFUl9MSUJSQVJZX0RJUikvQnVuZGxlcyI7CisJCQkJTElCUkFSWV9TVFlMRSA9
IEJVTkRMRTsKKwkJCQlPUFRJTUlaQVRJT05fQ0ZMQUdTID0gIiI7CisJCQkJT1RIRVJfQ0ZMQUdT
ID0gIiI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICgKKwkJCQkJIi1mcmFtZXdvcmsiLAorCQkJCQlD
YXJib24sCisJCQkJKTsKKwkJCQlPVEhFUl9SRVpGTEFHUyA9ICIiOworCQkJCVBSRUJJTkRJTkcg
PSBOTzsKKwkJCQlQUk9EVUNUX05BTUUgPSBUZXN0TmV0c2NhcGVQbHVnSW4ucGx1Z2luOworCQkJ
CVNFQ1RPUkRFUl9GTEFHUyA9ICIiOworCQkJCVdBUk5JTkdfQ0ZMQUdTID0gKAorCQkJCQkiLVdt
b3N0IiwKKwkJCQkJIi1Xbm8tZm91ci1jaGFyLWNvbnN0YW50cyIsCisJCQkJCSItV25vLXVua25v
d24tcHJhZ21hcyIsCisJCQkJKTsKKwkJCX07CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkpOwor
CQkJbmFtZSA9IFRlc3ROZXRzY2FwZVBsdWdJbjsKKwkJCXByb2R1Y3ROYW1lID0gVGVzdE5ldHNj
YXBlUGx1Z0luLnBsdWdpbjsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSAxNDFCRjIzMzA5NkE0NENG
MDBFMDc1M0MgLyogVGVzdE5ldHNjYXBlUGx1Z0luLnBsdWdpbiAqLzsKKwkJCXByb2R1Y3RTZXR0
aW5nc1hNTCA9ICI8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz4KKzwh
RE9DVFlQRSBwbGlzdCBQVUJMSUMgXCItLy9BcHBsZSBDb21wdXRlci8vRFREIFBMSVNUIDEuMC8v
RU5cIiBcImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGRcIj4K
KzxwbGlzdCB2ZXJzaW9uPVwiMS4wXCI+Cis8ZGljdD4KKwk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1l
bnRSZWdpb248L2tleT4KKwk8c3RyaW5nPkVuZ2xpc2g8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxl
RXhlY3V0YWJsZTwva2V5PgorCTxzdHJpbmc+VGVzdE5ldHNjYXBlUGx1Z0luLnBsdWdpbjwvc3Ry
aW5nPgorCTxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CisJPHN0cmluZz5jb20ueW91cmNv
bXBhbnkuVGVzdE5ldHNjYXBlUGx1Z0luX3BsdWdpbjwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJ
bmZvRGljdGlvbmFyeVZlcnNpb248L2tleT4KKwk8c3RyaW5nPjYuMDwvc3RyaW5nPgorCTxrZXk+
Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgorCTxzdHJpbmc+QVBQTDwvc3RyaW5nPgorCTxrZXk+
Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4KKwk8c3RyaW5nPj8/Pz88L3N0cmluZz4KKwk8a2V5PkNG
QnVuZGxlVmVyc2lvbjwva2V5PgorCTxzdHJpbmc+MS4wPC9zdHJpbmc+CisJPGtleT5DU1Jlc291
cmNlc0ZpbGVNYXBwZWQ8L2tleT4KKwk8c3RyaW5nPnllczwvc3RyaW5nPgorPC9kaWN0PgorPC9w
bGlzdD4KKyI7CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmJ1bmRs
ZSI7CisJCX07CiAJCTkzNDA5OTRBMDg1NDBDQUUwMDdGM0JDOCAvKiBEdW1wUmVuZGVyVHJlZSAq
LyA9IHsKIAkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxp
c3QgPSAxNDlDMjlCRjA4OTAyQzZEMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0
IGZvciBQQlhOYXRpdmVUYXJnZXQgIkR1bXBSZW5kZXJUcmVlIiAqLzsKQEAgLTI1NCwxMSArMzc0
LDMyIEBACiAJCQkJQTg0RjYwOEQwOEIxMzcwNjAwRTk3NDVGIC8qIEFsbCAqLywKIAkJCQk5MzQw
OTk0QTA4NTQwQ0FFMDA3RjNCQzggLyogRHVtcFJlbmRlclRyZWUgKi8sCiAJCQkJQjVBNzUyNUEw
OEFGNEE0QTAwMTM4RTQ1IC8qIEltYWdlRGlmZiAqLywKKwkJCQkxNDFCRjIxRTA5NkE0NDFEMDBF
MDc1M0MgLyogVGVzdE5ldHNjYXBlUGx1Z0luICovLAogCQkJKTsKIAkJfTsKIC8qIEVuZCBQQlhQ
cm9qZWN0IHNlY3Rpb24gKi8KIAorLyogQmVnaW4gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCTE0MUJGMjFCMDk2QTQ0MUQwMEUwNzUzQyAvKiBSZXNvdXJjZXMgKi8gPSB7CisJ
CQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTE0MUJGNDRDMDk2QTQ1QzgwMEUwNzUzQyAvKiBJ
bmZvLnBsaXN0IGluIFJlc291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhSZXNvdXJjZXNCdWlsZFBoYXNl
IHNlY3Rpb24gKi8KKwogLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwor
CQkxNDFCRjIxQzA5NkE0NDFEMDBFMDc1M0MgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJ
CWZpbGVzID0gKAorCQkJCTE0MUJGNDRBMDk2QTQ1QzgwMEUwNzUzQyAvKiBtYWluLmMgaW4gU291
cmNlcyAqLywKKwkJCQkxNDFCRjQ0QjA5NkE0NUM4MDBFMDc1M0MgLyogUGx1Z2luT2JqZWN0LmMg
aW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKKwkJfTsKIAkJOTM0MDk5NEQwODU0MENBRTAwN0YzQkM4IC8qIFNvdXJjZXMgKi8g
PSB7CiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CkBAIC0yNzksNiArNDIwLDExIEBACiAvKiBFbmQgUEJYU291cmNlc0J1aWxk
UGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24g
Ki8KKwkJMTQxQkYyMzgwOTZBNDUxRTAwRTA3NTNDIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8g
PSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMTQxQkYyMUUw
OTZBNDQxRDAwRTA3NTNDIC8qIFRlc3ROZXRzY2FwZVBsdWdJbiAqLzsKKwkJCXRhcmdldFByb3h5
ID0gMTQxQkYyMzcwOTZBNDUxRTAwRTA3NTNDIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsK
KwkJfTsKIAkJQTg0RjYwOEYwOEIxMzcwRTAwRTk3NDVGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gQjVBNzUy
NUEwOEFGNEE0QTAwMTM4RTQ1IC8qIEltYWdlRGlmZiAqLzsKQEAgLTI5Miw2ICs0MzgsNjYgQEAK
IC8qIEVuZCBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gWENCdWls
ZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCQkxNDFCRjIyMjA5NkE0NDFFMDBFMDc1M0MgLyog
RGV2ZWxvcG1lbnQgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1
aWxkU2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POworCQkJCUdDQ19HRU5F
UkFURV9ERUJVR0dJTkdfU1lNQk9MUyA9IFlFUzsKKwkJCQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7
CisJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9IFlFUzsKKwkJCQlHQ0NfUFJFRklY
X0hFQURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3
b3JrL0hlYWRlcnMvQ2FyYm9uLmgiOworCQkJCUlORk9QTElTVF9GSUxFID0gVGVzdE5ldHNjYXBl
UGx1Z2luLnN1YnByb2ovSW5mby5wbGlzdDsKKwkJCQlJTlNUQUxMX1BBVEggPSAiJChVU0VSX0xJ
QlJBUllfRElSKS9QbHVnaW5zIjsKKwkJCQlMSUJSQVJZX1NUWUxFID0gQlVORExFOworCQkJCU9Q
VElNSVpBVElPTl9DRkxBR1MgPSAiLU8wIjsKKwkJCQlPVEhFUl9DRkxBR1MgPSAiIjsKKwkJCQlP
VEhFUl9MREZMQUdTID0gKAorCQkJCQkiLWZyYW1ld29yayIsCisJCQkJCUNhcmJvbiwKKwkJCQkp
OworCQkJCU9USEVSX1JFWkZMQUdTID0gIiI7CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBS
T0RVQ1RfTkFNRSA9IFRlc3ROZXRzY2FwZVBsdWdJbjsKKwkJCQlTRUNUT1JERVJfRkxBR1MgPSAi
IjsKKwkJCQlXQVJOSU5HX0NGTEFHUyA9ICgKKwkJCQkJIi1XbW9zdCIsCisJCQkJCSItV25vLWZv
dXItY2hhci1jb25zdGFudHMiLAorCQkJCQkiLVduby11bmtub3duLXByYWdtYXMiLAorCQkJCSk7
CisJCQkJV1JBUFBFUl9FWFRFTlNJT04gPSBwbHVnaW47CisJCQl9OworCQkJbmFtZSA9IERldmVs
b3BtZW50OworCQl9OworCQkxNDFCRjIyMzA5NkE0NDFFMDBFMDc1M0MgLyogRGVwbG95bWVudCAq
LyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0gWUVTOworCQkJCUdDQ19HRU5FUkFURV9ERUJVR0dJ
TkdfU1lNQk9MUyA9IE5POworCQkJCUdDQ19NT0RFTF9UVU5JTkcgPSBHNTsKKwkJCQlHQ0NfUFJF
Q09NUElMRV9QUkVGSVhfSEVBREVSID0gWUVTOworCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gIiQo
U1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvSGVhZGVycy9D
YXJib24uaCI7CisJCQkJSU5GT1BMSVNUX0ZJTEUgPSBUZXN0TmV0c2NhcGVQbHVnaW4uc3VicHJv
ai9JbmZvLnBsaXN0OworCQkJCUlOU1RBTExfUEFUSCA9ICIkKFVTRVJfTElCUkFSWV9ESVIpL1Bs
dWdpbnMiOworCQkJCUxJQlJBUllfU1RZTEUgPSBCVU5ETEU7CisJCQkJT1BUSU1JWkFUSU9OX0NG
TEFHUyA9ICItTzAiOworCQkJCU9USEVSX0NGTEFHUyA9ICIiOworCQkJCU9USEVSX0xERkxBR1Mg
PSAoCisJCQkJCSItZnJhbWV3b3JrIiwKKwkJCQkJQ2FyYm9uLAorCQkJCSk7CisJCQkJT1RIRVJf
UkVaRkxBR1MgPSAiIjsKKwkJCQlQUkVCSU5ESU5HID0gTk87CisJCQkJUFJPRFVDVF9OQU1FID0g
VGVzdE5ldHNjYXBlUGx1Z0luOworCQkJCVNFQ1RPUkRFUl9GTEFHUyA9ICIiOworCQkJCVdBUk5J
TkdfQ0ZMQUdTID0gKAorCQkJCQkiLVdtb3N0IiwKKwkJCQkJIi1Xbm8tZm91ci1jaGFyLWNvbnN0
YW50cyIsCisJCQkJCSItV25vLXVua25vd24tcHJhZ21hcyIsCisJCQkJKTsKKwkJCQlXUkFQUEVS
X0VYVEVOU0lPTiA9IHBsdWdpbjsKKwkJCX07CisJCQluYW1lID0gRGVwbG95bWVudDsKKwkJfTsK
IAkJMTQ5QzI5QzAwODkwMkM2RDAwOEE5RUZDIC8qIERldmVsb3BtZW50ICovID0gewogCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQlidWlsZFNldHRpbmdzID0gewpAQCAtNDAyLDYg
KzYwOCwxNCBAQAogLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KIAogLyog
QmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJCTE0MUJGMjIxMDk2QTQ0MUUw
MEUwNzUzQyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAi
VGVzdE5ldHNjYXBlUGx1Z0luIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7
CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTE0MUJGMjIyMDk2QTQ0MUUwMEUwNzUz
QyAvKiBEZXZlbG9wbWVudCAqLywKKwkJCQkxNDFCRjIyMzA5NkE0NDFFMDBFMDc1M0MgLyogRGVw
bG95bWVudCAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7
CisJCX07CiAJCTE0OUMyOUJGMDg5MDJDNkQwMDhBOUVGQyAvKiBCdWlsZCBjb25maWd1cmF0aW9u
IGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiRHVtcFJlbmRlclRyZWUiICovID0gewogCQkJaXNh
ID0gWENDb25maWd1cmF0aW9uTGlzdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCkluZGV4
OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9J
bmZvLnBsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IFRlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9q
L0luZm8ucGxpc3QKZGlmZiAtTiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2Nh
cGVQbHVnSW4uc3VicHJvai9JbmZvLnBsaXN0Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9JbmZvLnBsaXN0CTEgSmFuIDE5NzAgMDA6MDA6
MDAgLTAwMDAKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJ
bi5zdWJwcm9qL0luZm8ucGxpc3QJNCBKYW4gMjAwNiAwMTo0NTowOSAtMDAwMApAQCAtMCwwICsx
LDU4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBF
IHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0
cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Cis8cGxpc3QgdmVy
c2lvbj0iMS4wIj4KKzxkaWN0PgorCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5
PgorCTxzdHJpbmc+RW5nbGlzaDwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9r
ZXk+CisJPHN0cmluZz5UZXN0TmV0c2NhcGVQbHVnSW48L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxl
SWNvbkZpbGU8L2tleT4KKwk8c3RyaW5nPjwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJZGVudGlm
aWVyPC9rZXk+CisJPHN0cmluZz5jb20uYXBwbGUudGVzdG5ldHNjYXBlcGx1Z2luPC9zdHJpbmc+
CisJPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgorCTxzdHJpbmc+Ni4w
PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz5CUlBM
PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgorCTxzdHJp
bmc+MS4wPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5PgorCTxzdHJpbmc+
Pz8/Pzwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVWZXJzaW9uPC9rZXk+CisJPHN0cmluZz4xLjA8
L3N0cmluZz4KKwk8a2V5PkNGUGx1Z0luRHluYW1pY1JlZ2lzdGVyRnVuY3Rpb248L2tleT4KKwk8
c3RyaW5nPjwvc3RyaW5nPgorCTxrZXk+Q0ZQbHVnSW5EeW5hbWljUmVnaXN0cmF0aW9uPC9rZXk+
CisJPHN0cmluZz5OTzwvc3RyaW5nPgorCTxrZXk+Q0ZQbHVnSW5GYWN0b3JpZXM8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT4wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDA8L2tleT4K
KwkJPHN0cmluZz5NeUZhY3RvcnlGdW5jdGlvbjwvc3RyaW5nPgorCTwvZGljdD4KKwk8a2V5PkNG
UGx1Z0luVHlwZXM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT4wMDAwMDAwMC0wMDAwLTAwMDAtMDAw
MC0wMDAwMDAwMDAwMDA8L2tleT4KKwkJPGFycmF5PgorCQkJPHN0cmluZz4wMDAwMDAwMC0wMDAw
LTAwMDAtMDAwMC0wMDAwMDAwMDAwMDA8L3N0cmluZz4KKwkJPC9hcnJheT4KKwk8L2RpY3Q+CisJ
PGtleT5DRlBsdWdJblVubG9hZEZ1bmN0aW9uPC9rZXk+CisJPHN0cmluZz48L3N0cmluZz4KKwk8
a2V5PldlYlBsdWdpbkRlc2NyaXB0aW9uPC9rZXk+CisJPHN0cmluZz5TaW1wbGUgTmV0c2NhcGUg
cGx1Zy1pbiB0aGF0IGhhbmRsZXMgdGVzdCBjb250ZW50IGZvciBXZWJLaXQ8L3N0cmluZz4KKwk8
a2V5PldlYlBsdWdpbk1JTUVUeXBlczwva2V5PgorCTxkaWN0PgorCQk8a2V5PmFwcGxpY2F0aW9u
L3gtd2Via2l0LXRlc3QtbmV0c2NhcGU8L2tleT4KKwkJPGRpY3Q+CisJCQk8a2V5PldlYlBsdWdp
bkV4dGVuc2lvbnM8L2tleT4KKwkJCTxhcnJheT4KKwkJCQk8c3RyaW5nPnRlc3RuZXRzY2FwZTwv
c3RyaW5nPgorCQkJPC9hcnJheT4KKwkJCTxrZXk+V2ViUGx1Z2luVHlwZURlc2NyaXB0aW9uPC9r
ZXk+CisJCQk8c3RyaW5nPnRlc3QgbmV0c2NhcGUgY29udGVudDwvc3RyaW5nPgorCQk8L2RpY3Q+
CisJPC9kaWN0PgorCTxrZXk+V2ViUGx1Z2luTmFtZTwva2V5PgorCTxzdHJpbmc+V2ViS2l0IFRl
c3QgUGx1Z0luPC9zdHJpbmc+Cis8L2RpY3Q+Cis8L3BsaXN0PgpJbmRleDogV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2Jq
ZWN0LmMKZGlmZiAtTiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVn
SW4uc3VicHJvai9QbHVnaW5PYmplY3QuYwotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
VGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmMJMSBKYW4gMTk3MCAwMDow
MDowMCAtMDAwMAorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmMJNCBKYW4gMjAwNiAwMTo0NTowOSAtMDAwMApAQCAt
MCwwICsxLDE3OSBAQAorLyoKKyBJTVBPUlRBTlQ6ICBUaGlzIEFwcGxlIHNvZnR3YXJlIGlzIHN1
cHBsaWVkIHRvIHlvdSBieSBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgaW4KKyBjb25z
aWRlcmF0aW9uIG9mIHlvdXIgYWdyZWVtZW50IHRvIHRoZSBmb2xsb3dpbmcgdGVybXMsIGFuZCB5
b3VyIHVzZSwgaW5zdGFsbGF0aW9uLCAKKyBtb2RpZmljYXRpb24gb3IgcmVkaXN0cmlidXRpb24g
b2YgdGhpcyBBcHBsZSBzb2Z0d2FyZSBjb25zdGl0dXRlcyBhY2NlcHRhbmNlIG9mIHRoZXNlIAor
IHRlcm1zLiAgSWYgeW91IGRvIG5vdCBhZ3JlZSB3aXRoIHRoZXNlIHRlcm1zLCBwbGVhc2UgZG8g
bm90IHVzZSwgaW5zdGFsbCwgbW9kaWZ5IG9yIAorIHJlZGlzdHJpYnV0ZSB0aGlzIEFwcGxlIHNv
ZnR3YXJlLgorIAorIEluIGNvbnNpZGVyYXRpb24gb2YgeW91ciBhZ3JlZW1lbnQgdG8gYWJpZGUg
YnkgdGhlIGZvbGxvd2luZyB0ZXJtcywgYW5kIHN1YmplY3QgdG8gdGhlc2UgCisgdGVybXMsIEFw
cGxlIGdyYW50cyB5b3UgYSBwZXJzb25hbCwgbm9uLWV4Y2x1c2l2ZSBsaWNlbnNlLCB1bmRlciBB
cHBsZdVzIGNvcHlyaWdodHMgaW4gCisgdGhpcyBvcmlnaW5hbCBBcHBsZSBzb2Z0d2FyZSAodGhl
ICJBcHBsZSBTb2Z0d2FyZSIpLCB0byB1c2UsIHJlcHJvZHVjZSwgbW9kaWZ5IGFuZCAKKyByZWRp
c3RyaWJ1dGUgdGhlIEFwcGxlIFNvZnR3YXJlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
cywgaW4gc291cmNlIGFuZC9vciBiaW5hcnkgCisgZm9ybXM7IHByb3ZpZGVkIHRoYXQgaWYgeW91
IHJlZGlzdHJpYnV0ZSB0aGUgQXBwbGUgU29mdHdhcmUgaW4gaXRzIGVudGlyZXR5IGFuZCB3aXRo
b3V0IAorIG1vZGlmaWNhdGlvbnMsIHlvdSBtdXN0IHJldGFpbiB0aGlzIG5vdGljZSBhbmQgdGhl
IGZvbGxvd2luZyB0ZXh0IGFuZCBkaXNjbGFpbWVycyBpbiBhbGwgCisgc3VjaCByZWRpc3RyaWJ1
dGlvbnMgb2YgdGhlIEFwcGxlIFNvZnR3YXJlLiAgTmVpdGhlciB0aGUgbmFtZSwgdHJhZGVtYXJr
cywgc2VydmljZSBtYXJrcyAKKyBvciBsb2dvcyBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIAorIHRo
ZSBBcHBsZSBTb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
biBmcm9tIEFwcGxlLiBFeGNlcHQgYXMgZXhwcmVzc2x5Cisgc3RhdGVkIGluIHRoaXMgbm90aWNl
LCBubyBvdGhlciByaWdodHMgb3IgbGljZW5zZXMsIGV4cHJlc3Mgb3IgaW1wbGllZCwgYXJlIGdy
YW50ZWQgYnkgQXBwbGUKKyBoZXJlaW4sIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYW55
IHBhdGVudCByaWdodHMgdGhhdCBtYXkgYmUgaW5mcmluZ2VkIGJ5IHlvdXIgCisgZGVyaXZhdGl2
ZSB3b3JrcyBvciBieSBvdGhlciB3b3JrcyBpbiB3aGljaCB0aGUgQXBwbGUgU29mdHdhcmUgbWF5
IGJlIGluY29ycG9yYXRlZC4KKyAKKyBUaGUgQXBwbGUgU29mdHdhcmUgaXMgcHJvdmlkZWQgYnkg
QXBwbGUgb24gYW4gIkFTIElTIiBiYXNpcy4gIEFQUExFIE1BS0VTIE5PIFdBUlJBTlRJRVMsIAor
IEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE5PTi1JTkZSSU5HRU1FTlQsIAorIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIFJFR0FSRElORyBUSEUgQVBQTEUg
U09GVFdBUkUgT1IgSVRTIAorIFVTRSBBTkQgT1BFUkFUSU9OIEFMT05FIE9SIElOIENPTUJJTkFU
SU9OIFdJVEggWU9VUiBQUk9EVUNUUy4KKyAKKyBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBCRSBM
SUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBJTkRJUkVDVCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5U
SUFMIAorIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIAorIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UsIAorIFJFUFJPRFVDVElPTiwgTU9ESUZJQ0FUSU9OIEFORC9PUiBESVNU
UklCVVRJT04gT0YgVEhFIEFQUExFIFNPRlRXQVJFLCBIT1dFVkVSIENBVVNFRCBBTkQgCisgV0hF
VEhFUiBVTkRFUiBUSEVPUlkgT0YgQ09OVFJBQ1QsIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
KSwgU1RSSUNUIExJQUJJTElUWSBPUiAKKyBPVEhFUldJU0UsIEVWRU4gSUYgQVBQTEUgSEFTIEJF
RU4gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyNpbXBv
cnQgIlBsdWdpbk9iamVjdC5oIgorCit2b2lkIHBsdWdpbkludmFsaWRhdGUgKCk7Citib29sIHBs
dWdpbkhhc1Byb3BlcnR5IChOUENsYXNzICp0aGVDbGFzcywgTlBJZGVudGlmaWVyIG5hbWUpOwor
Ym9vbCBwbHVnaW5IYXNNZXRob2QgKE5QQ2xhc3MgKnRoZUNsYXNzLCBOUElkZW50aWZpZXIgbmFt
ZSk7Cit2b2lkIHBsdWdpbkdldFByb3BlcnR5IChQbHVnaW5PYmplY3QgKm9iaiwgTlBJZGVudGlm
aWVyIG5hbWUsIE5QVmFyaWFudCAqdmFyaWFudCk7Cit2b2lkIHBsdWdpblNldFByb3BlcnR5IChQ
bHVnaW5PYmplY3QgKm9iaiwgTlBJZGVudGlmaWVyIG5hbWUsIGNvbnN0IE5QVmFyaWFudCAqdmFy
aWFudCk7Cit2b2lkIHBsdWdpbkludm9rZSAoUGx1Z2luT2JqZWN0ICpvYmosIE5QSWRlbnRpZmll
ciBuYW1lLCBOUFZhcmlhbnQgKmFyZ3MsIHVpbnQzMl90IGFyZ0NvdW50LCBOUFZhcmlhbnQgKnJl
c3VsdCk7Cit2b2lkIHBsdWdpbkludm9rZURlZmF1bHQgKFBsdWdpbk9iamVjdCAqb2JqLCBOUFZh
cmlhbnQgKmFyZ3MsIHVpbnQzMl90IGFyZ0NvdW50LCBOUFZhcmlhbnQgKnJlc3VsdCk7CitOUE9i
amVjdCAqcGx1Z2luQWxsb2NhdGUgKE5QUCBucHAsIE5QQ2xhc3MgKnRoZUNsYXNzKTsKK3ZvaWQg
cGx1Z2luRGVhbGxvY2F0ZSAoUGx1Z2luT2JqZWN0ICpvYmopOworCitzdGF0aWMgTlBDbGFzcyBf
cGx1Z2luRnVuY3Rpb25QdHJzID0geyAKKyAgICBOUF9DTEFTU19TVFJVQ1RfVkVSU0lPTiwKKyAg
ICAoTlBBbGxvY2F0ZUZ1bmN0aW9uUHRyKSBwbHVnaW5BbGxvY2F0ZSwgCisgICAgKE5QRGVhbGxv
Y2F0ZUZ1bmN0aW9uUHRyKSBwbHVnaW5EZWFsbG9jYXRlLCAKKyAgICAoTlBJbnZhbGlkYXRlRnVu
Y3Rpb25QdHIpIHBsdWdpbkludmFsaWRhdGUsCisgICAgKE5QSGFzTWV0aG9kRnVuY3Rpb25QdHIp
IHBsdWdpbkhhc01ldGhvZCwKKyAgICAoTlBJbnZva2VGdW5jdGlvblB0cikgcGx1Z2luSW52b2tl
LAorICAgIChOUEludm9rZURlZmF1bHRGdW5jdGlvblB0cikgcGx1Z2luSW52b2tlRGVmYXVsdCwK
KyAgICAoTlBIYXNQcm9wZXJ0eUZ1bmN0aW9uUHRyKSBwbHVnaW5IYXNQcm9wZXJ0eSwKKyAgICAo
TlBHZXRQcm9wZXJ0eUZ1bmN0aW9uUHRyKSBwbHVnaW5HZXRQcm9wZXJ0eSwKKyAgICAoTlBTZXRQ
cm9wZXJ0eUZ1bmN0aW9uUHRyKSBwbHVnaW5TZXRQcm9wZXJ0eSwKK307CisgCitOUENsYXNzICpn
ZXRQbHVnaW5DbGFzcyh2b2lkKQoreworICAgIHJldHVybiAmX3BsdWdpbkZ1bmN0aW9uUHRyczsK
K30KKworc3RhdGljIGJvb2wgaWRlbnRpZmllcnNJbml0aWFsaXplZCA9IGZhbHNlOworCisjZGVm
aW5lIElEX1BST1BFUlRZX1BST1BFUlRZICAgICAgICAwCisjZGVmaW5lCU5VTV9QUk9QRVJUWV9J
REVOVElGSUVSUyAgICAxCisKK3N0YXRpYyBOUElkZW50aWZpZXIgcGx1Z2luUHJvcGVydHlJZGVu
dGlmaWVyc1tOVU1fUFJPUEVSVFlfSURFTlRJRklFUlNdOworc3RhdGljIGNvbnN0IE5QVVRGOCAq
cGx1Z2luUHJvcGVydHlJZGVudGlmaWVyTmFtZXNbTlVNX1BST1BFUlRZX0lERU5USUZJRVJTXSA9
IHsKKyAgICAicHJvcGVydHkiCit9OworCisjZGVmaW5lIElEX1RFU1RfQ0FMTEJBQ0tfTUVUSE9E
ICAgICAwCisjZGVmaW5lIE5VTV9NRVRIT0RfSURFTlRJRklFUlMgICAgICAxCisKK3N0YXRpYyBO
UElkZW50aWZpZXIgcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbTlVNX01FVEhPRF9JREVOVElGSUVS
U107CitzdGF0aWMgY29uc3QgTlBVVEY4ICpwbHVnaW5NZXRob2RJZGVudGlmaWVyTmFtZXNbTlVN
X01FVEhPRF9JREVOVElGSUVSU10gPSB7CisgICAgInRlc3RDYWxsYmFjayIKK307CisKK3N0YXRp
YyB2b2lkIGluaXRpYWxpemVJZGVudGlmaWVycygpCit7CisgICAgYnJvd3Nlci0+Z2V0c3RyaW5n
aWRlbnRpZmllcnMgKHBsdWdpblByb3BlcnR5SWRlbnRpZmllck5hbWVzLCBOVU1fUFJPUEVSVFlf
SURFTlRJRklFUlMsIHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnMpOworICAgIGJyb3dzZXItPmdl
dHN0cmluZ2lkZW50aWZpZXJzIChwbHVnaW5NZXRob2RJZGVudGlmaWVyTmFtZXMsIE5VTV9NRVRI
T0RfSURFTlRJRklFUlMsIHBsdWdpbk1ldGhvZElkZW50aWZpZXJzKTsKK307CisKK2Jvb2wgcGx1
Z2luSGFzUHJvcGVydHkgKE5QQ2xhc3MgKnRoZUNsYXNzLCBOUElkZW50aWZpZXIgbmFtZSkKK3sJ
CisgICAgaW50IGk7CisgICAgZm9yIChpID0gMDsgaSA8IE5VTV9QUk9QRVJUWV9JREVOVElGSUVS
UzsgaSsrKSB7CisgICAgICAgIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNb
aV0peworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitib29sIHBsdWdpbkhhc01ldGhvZCAoTlBDbGFzcyAqdGhlQ2xhc3Ms
IE5QSWRlbnRpZmllciBuYW1lKQoreworICAgIGludCBpOworICAgIGZvciAoaSA9IDA7IGkgPCBO
VU1fTUVUSE9EX0lERU5USUZJRVJTOyBpKyspIHsKKyAgICAgICAgaWYgKG5hbWUgPT0gcGx1Z2lu
TWV0aG9kSWRlbnRpZmllcnNbaV0peworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
IH0KKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIHBsdWdpbkdldFByb3BlcnR5
IChQbHVnaW5PYmplY3QgKm9iaiwgTlBJZGVudGlmaWVyIG5hbWUsIE5QVmFyaWFudCAqdmFyaWFu
dCkKK3sKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW0lEX1BST1BF
UlRZX1BST1BFUlRZXSkgeworICAgICAgICAvLyBqdXN0IHJldHVybiAicHJvcGVydHkiCisgICAg
ICAgIE5QU3RyaW5nIHByb3BlcnR5TmFtZVN0cmluZzsKKyAgICAgICAgcHJvcGVydHlOYW1lU3Ry
aW5nLlVURjhDaGFyYWN0ZXJzID0gInByb3BlcnR5IjsKKyAgICAgICAgcHJvcGVydHlOYW1lU3Ry
aW5nLlVURjhMZW5ndGggPSBzaXplb2YoInByb3BlcnR5IikgLSAxOworICAgICAgICB2YXJpYW50
LT50eXBlID0gTlBWYXJpYW50VHlwZV9TdHJpbmc7CisgICAgICAgIHZhcmlhbnQtPnZhbHVlLnN0
cmluZ1ZhbHVlID0gcHJvcGVydHlOYW1lU3RyaW5nOworICAgIH0gZWxzZQorICAgICAgICB2YXJp
YW50LT50eXBlID0gTlBWYXJpYW50VHlwZV9Wb2lkOworfQorCit2b2lkIHBsdWdpblNldFByb3Bl
cnR5IChQbHVnaW5PYmplY3QgKm9iaiwgTlBJZGVudGlmaWVyIG5hbWUsIGNvbnN0IE5QVmFyaWFu
dCAqdmFyaWFudCkKK3sKK30KKwordm9pZCBwbHVnaW5JbnZva2UgKFBsdWdpbk9iamVjdCAqb2Jq
LCBOUElkZW50aWZpZXIgbmFtZSwgTlBWYXJpYW50ICphcmdzLCB1bnNpZ25lZCBhcmdDb3VudCwg
TlBWYXJpYW50ICpyZXN1bHQpCit7CisgICAgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRp
ZmllcnNbSURfVEVTVF9DQUxMQkFDS19NRVRIT0RdKSB7CisgICAgICAgIC8vIGNhbGwgd2hhdGV2
ZXIgbWV0aG9kIG5hbWUgd2UncmUgZ2l2ZW4KKyAgICAgICAgaWYgKGFyZ0NvdW50ID4gMCAmJiBh
cmdzLT50eXBlID09IE5QVmFyaWFudFR5cGVfU3RyaW5nKSB7CisgICAgICAgICAgICBOUFZhcmlh
bnQgYnJvd3NlclJlc3VsdDsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgTlBPYmplY3QgKndp
bmRvd1NjcmlwdE9iamVjdDsKKyAgICAgICAgICAgIGJyb3dzZXItPmdldHZhbHVlKG9iai0+bnBw
LCBOUFBWcGx1Z2luU2NyaXB0YWJsZU5QT2JqZWN0LCAmd2luZG93U2NyaXB0T2JqZWN0KTsKKwor
ICAgICAgICAgICAgTlBTdHJpbmcgYXJnU3RyaW5nID0gYXJnc1swXS52YWx1ZS5zdHJpbmdWYWx1
ZTsKKyAgICAgICAgICAgIGludCBzaXplID0gYXJnU3RyaW5nLlVURjhMZW5ndGggKyAxOworICAg
ICAgICAgICAgTlBVVEY4IGNhbGxiYWNrU3RyaW5nW3NpemVdOworICAgICAgICAgICAgc3RybmNw
eShjYWxsYmFja1N0cmluZywgYXJnU3RyaW5nLlVURjhDaGFyYWN0ZXJzLCBhcmdTdHJpbmcuVVRG
OExlbmd0aCk7CisgICAgICAgICAgICBjYWxsYmFja1N0cmluZ1tzaXplIC0gMV0gPSAnXDAnOwor
CisgICAgICAgICAgICBOUElkZW50aWZpZXIgY2FsbGJhY2tNZXRob2RJRCA9IGJyb3dzZXItPmdl
dHN0cmluZ2lkZW50aWZpZXIoY2FsbGJhY2tTdHJpbmcpOworICAgICAgICAgICAgYnJvd3Nlci0+
aW52b2tlKG9iai0+bnBwLCB3aW5kb3dTY3JpcHRPYmplY3QsIGNhbGxiYWNrTWV0aG9kSUQsIDAs
IDAsICZicm93c2VyUmVzdWx0KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJlc3VsdC0+dHlw
ZSA9IE5QVmFyaWFudFR5cGVfVm9pZDsKK30KKwordm9pZCBwbHVnaW5JbnZva2VEZWZhdWx0IChQ
bHVnaW5PYmplY3QgKm9iaiwgTlBWYXJpYW50ICphcmdzLCB1bnNpZ25lZCBhcmdDb3VudCwgTlBW
YXJpYW50ICpyZXN1bHQpCit7CisgICAgcmVzdWx0LT50eXBlID0gTlBWYXJpYW50VHlwZV9Wb2lk
OworfQorCit2b2lkIHBsdWdpbkludmFsaWRhdGUgKCkKK3sKKyAgICAvLyBNYWtlIHN1cmUgd2Un
dmUgcmVsZWFzZWQgYW55IHJlbWFpbmdpbmcgcmVmZXJlbmNlcyB0byBKYXZhU2NyaXB0CisgICAg
Ly8gb2JqZWN0cy4KK30KKworTlBPYmplY3QgKnBsdWdpbkFsbG9jYXRlIChOUFAgbnBwLCBOUENs
YXNzICp0aGVDbGFzcykKK3sKKyAgICBQbHVnaW5PYmplY3QgKm5ld0luc3RhbmNlID0gKFBsdWdp
bk9iamVjdCAqKW1hbGxvYyAoc2l6ZW9mKFBsdWdpbk9iamVjdCkpOworICAgIAorICAgIGlmICgh
aWRlbnRpZmllcnNJbml0aWFsaXplZCkgeworICAgICAgICBpZGVudGlmaWVyc0luaXRpYWxpemVk
ID0gdHJ1ZTsKKyAgICAgICAgaW5pdGlhbGl6ZUlkZW50aWZpZXJzKCk7CisgICAgfQorCisgICAg
bmV3SW5zdGFuY2UtPm5wcCA9IG5wcDsKKyAgICAKKyAgICByZXR1cm4gKE5QT2JqZWN0ICopbmV3
SW5zdGFuY2U7Cit9CisKK3ZvaWQgcGx1Z2luRGVhbGxvY2F0ZSAoUGx1Z2luT2JqZWN0ICpvYmop
IAoreworICAgIGZyZWUgKCh2b2lkICopb2JqKTsKK30KKwpJbmRleDogV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0
LmgKZGlmZiAtTiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4u
c3VicHJvai9QbHVnaW5PYmplY3QuaAotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVz
dE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmgJMSBKYW4gMTk3MCAwMDowMDow
MCAtMDAwMAorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0lu
LnN1YnByb2ovUGx1Z2luT2JqZWN0LmgJNCBKYW4gMjAwNiAwMTo0NTowOSAtMDAwMApAQCAtMCww
ICsxLDQ4IEBACisvKgorIElNUE9SVEFOVDogIFRoaXMgQXBwbGUgc29mdHdhcmUgaXMgc3VwcGxp
ZWQgdG8geW91IGJ5IEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBpbgorIGNvbnNpZGVy
YXRpb24gb2YgeW91ciBhZ3JlZW1lbnQgdG8gdGhlIGZvbGxvd2luZyB0ZXJtcywgYW5kIHlvdXIg
dXNlLCBpbnN0YWxsYXRpb24sIAorIG1vZGlmaWNhdGlvbiBvciByZWRpc3RyaWJ1dGlvbiBvZiB0
aGlzIEFwcGxlIHNvZnR3YXJlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlc2UgCisgdGVy
bXMuICBJZiB5b3UgZG8gbm90IGFncmVlIHdpdGggdGhlc2UgdGVybXMsIHBsZWFzZSBkbyBub3Qg
dXNlLCBpbnN0YWxsLCBtb2RpZnkgb3IgCisgcmVkaXN0cmlidXRlIHRoaXMgQXBwbGUgc29mdHdh
cmUuCisgCisgSW4gY29uc2lkZXJhdGlvbiBvZiB5b3VyIGFncmVlbWVudCB0byBhYmlkZSBieSB0
aGUgZm9sbG93aW5nIHRlcm1zLCBhbmQgc3ViamVjdCB0byB0aGVzZSAKKyB0ZXJtcywgQXBwbGUg
Z3JhbnRzIHlvdSBhIHBlcnNvbmFsLCBub24tZXhjbHVzaXZlIGxpY2Vuc2UsIHVuZGVyIEFwcGxl
1XMgY29weXJpZ2h0cyBpbiAKKyB0aGlzIG9yaWdpbmFsIEFwcGxlIHNvZnR3YXJlICh0aGUgIkFw
cGxlIFNvZnR3YXJlIiksIHRvIHVzZSwgcmVwcm9kdWNlLCBtb2RpZnkgYW5kIAorIHJlZGlzdHJp
YnV0ZSB0aGUgQXBwbGUgU29mdHdhcmUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBp
biBzb3VyY2UgYW5kL29yIGJpbmFyeSAKKyBmb3JtczsgcHJvdmlkZWQgdGhhdCBpZiB5b3UgcmVk
aXN0cmlidXRlIHRoZSBBcHBsZSBTb2Z0d2FyZSBpbiBpdHMgZW50aXJldHkgYW5kIHdpdGhvdXQg
CisgbW9kaWZpY2F0aW9ucywgeW91IG11c3QgcmV0YWluIHRoaXMgbm90aWNlIGFuZCB0aGUgZm9s
bG93aW5nIHRleHQgYW5kIGRpc2NsYWltZXJzIGluIGFsbCAKKyBzdWNoIHJlZGlzdHJpYnV0aW9u
cyBvZiB0aGUgQXBwbGUgU29mdHdhcmUuICBOZWl0aGVyIHRoZSBuYW1lLCB0cmFkZW1hcmtzLCBz
ZXJ2aWNlIG1hcmtzIAorIG9yIGxvZ29zIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gCisgdGhlIEFw
cGxlIFNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIGZy
b20gQXBwbGUuIEV4Y2VwdCBhcyBleHByZXNzbHkKKyBzdGF0ZWQgaW4gdGhpcyBub3RpY2UsIG5v
IG90aGVyIHJpZ2h0cyBvciBsaWNlbnNlcywgZXhwcmVzcyBvciBpbXBsaWVkLCBhcmUgZ3JhbnRl
ZCBieSBBcHBsZQorIGhlcmVpbiwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBhbnkgcGF0
ZW50IHJpZ2h0cyB0aGF0IG1heSBiZSBpbmZyaW5nZWQgYnkgeW91ciAKKyBkZXJpdmF0aXZlIHdv
cmtzIG9yIGJ5IG90aGVyIHdvcmtzIGluIHdoaWNoIHRoZSBBcHBsZSBTb2Z0d2FyZSBtYXkgYmUg
aW5jb3Jwb3JhdGVkLgorIAorIFRoZSBBcHBsZSBTb2Z0d2FyZSBpcyBwcm92aWRlZCBieSBBcHBs
ZSBvbiBhbiAiQVMgSVMiIGJhc2lzLiAgQVBQTEUgTUFLRVMgTk8gV0FSUkFOVElFUywgCisgRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTk9OLUlORlJJTkdFTUVOVCwgCisgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgUkVHQVJESU5HIFRIRSBBUFBMRSBTT0ZU
V0FSRSBPUiBJVFMgCisgVVNFIEFORCBPUEVSQVRJT04gQUxPTkUgT1IgSU4gQ09NQklOQVRJT04g
V0lUSCBZT1VSIFBST0RVQ1RTLgorIAorIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIEJFIExJQUJM
RSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNULCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwg
CisgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgCisgICAgICAgICAgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSwgCisgUkVQUk9EVUNUSU9OLCBNT0RJRklDQVRJT04gQU5EL09S
IERJU1RSSUJVVElPTiBPRiBUSEUgQVBQTEUgU09GVFdBUkUsIEhPV0VWRVIgQ0FVU0VEIEFORCAK
KyBXSEVUSEVSIFVOREVSIFRIRU9SWSBPRiBDT05UUkFDVCwgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UpLCBTVFJJQ1QgTElBQklMSVRZIE9SIAorIE9USEVSV0lTRSwgRVZFTiBJRiBBUFBMRSBI
QVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
I2ltcG9ydCA8V2ViS2l0L25wYXBpLmg+CisjaW1wb3J0IDxXZWJLaXQvbnBmdW5jdGlvbnMuaD4K
KyNpbXBvcnQgPFdlYktpdC9ucHJ1bnRpbWUuaD4KKworZXh0ZXJuIE5QTmV0c2NhcGVGdW5jcyog
YnJvd3NlcjsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBOUENsYXNzICpfY2xhc3M7CisgICAg
dWludDMyX3QgcmVmZXJlbmNlQ291bnQ7CisgICAgTlBQIG5wcDsKKyAgICBOUFdpbmRvdyogd2lu
ZG93OworfSBQbHVnaW5PYmplY3Q7CisKK2V4dGVybiBOUENsYXNzICpnZXRQbHVnaW5DbGFzcyh2
b2lkKTsKKwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luLnN1YnByb2ovbWFpbi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IFRlc3ROZXRzY2FwZVBsdWdJ
bi5zdWJwcm9qL21haW4uYwpkaWZmIC1OIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RO
ZXRzY2FwZVBsdWdJbi5zdWJwcm9qL21haW4uYwotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovbWFpbi5jCTEgSmFuIDE5NzAgMDA6MDA6MDAg
LTAwMDAKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5z
dWJwcm9qL21haW4uYwk0IEphbiAyMDA2IDAxOjQ1OjA5IC0wMDAwCkBAIC0wLDAgKzEsMTc1IEBA
CisvKgorIElNUE9SVEFOVDogIFRoaXMgQXBwbGUgc29mdHdhcmUgaXMgc3VwcGxpZWQgdG8geW91
IGJ5IEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBpbgorIGNvbnNpZGVyYXRpb24gb2Yg
eW91ciBhZ3JlZW1lbnQgdG8gdGhlIGZvbGxvd2luZyB0ZXJtcywgYW5kIHlvdXIgdXNlLCBpbnN0
YWxsYXRpb24sIAorIG1vZGlmaWNhdGlvbiBvciByZWRpc3RyaWJ1dGlvbiBvZiB0aGlzIEFwcGxl
IHNvZnR3YXJlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlc2UgCisgdGVybXMuICBJZiB5
b3UgZG8gbm90IGFncmVlIHdpdGggdGhlc2UgdGVybXMsIHBsZWFzZSBkbyBub3QgdXNlLCBpbnN0
YWxsLCBtb2RpZnkgb3IgCisgcmVkaXN0cmlidXRlIHRoaXMgQXBwbGUgc29mdHdhcmUuCisgCisg
SW4gY29uc2lkZXJhdGlvbiBvZiB5b3VyIGFncmVlbWVudCB0byBhYmlkZSBieSB0aGUgZm9sbG93
aW5nIHRlcm1zLCBhbmQgc3ViamVjdCB0byB0aGVzZSAKKyB0ZXJtcywgQXBwbGUgZ3JhbnRzIHlv
dSBhIHBlcnNvbmFsLCBub24tZXhjbHVzaXZlIGxpY2Vuc2UsIHVuZGVyIEFwcGxl1XMgY29weXJp
Z2h0cyBpbiAKKyB0aGlzIG9yaWdpbmFsIEFwcGxlIHNvZnR3YXJlICh0aGUgIkFwcGxlIFNvZnR3
YXJlIiksIHRvIHVzZSwgcmVwcm9kdWNlLCBtb2RpZnkgYW5kIAorIHJlZGlzdHJpYnV0ZSB0aGUg
QXBwbGUgU29mdHdhcmUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBpbiBzb3VyY2Ug
YW5kL29yIGJpbmFyeSAKKyBmb3JtczsgcHJvdmlkZWQgdGhhdCBpZiB5b3UgcmVkaXN0cmlidXRl
IHRoZSBBcHBsZSBTb2Z0d2FyZSBpbiBpdHMgZW50aXJldHkgYW5kIHdpdGhvdXQgCisgbW9kaWZp
Y2F0aW9ucywgeW91IG11c3QgcmV0YWluIHRoaXMgbm90aWNlIGFuZCB0aGUgZm9sbG93aW5nIHRl
eHQgYW5kIGRpc2NsYWltZXJzIGluIGFsbCAKKyBzdWNoIHJlZGlzdHJpYnV0aW9ucyBvZiB0aGUg
QXBwbGUgU29mdHdhcmUuICBOZWl0aGVyIHRoZSBuYW1lLCB0cmFkZW1hcmtzLCBzZXJ2aWNlIG1h
cmtzIAorIG9yIGxvZ29zIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gCisgdGhlIEFwcGxlIFNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIGZyb20gQXBwbGUu
IEV4Y2VwdCBhcyBleHByZXNzbHkKKyBzdGF0ZWQgaW4gdGhpcyBub3RpY2UsIG5vIG90aGVyIHJp
Z2h0cyBvciBsaWNlbnNlcywgZXhwcmVzcyBvciBpbXBsaWVkLCBhcmUgZ3JhbnRlZCBieSBBcHBs
ZQorIGhlcmVpbiwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBhbnkgcGF0ZW50IHJpZ2h0
cyB0aGF0IG1heSBiZSBpbmZyaW5nZWQgYnkgeW91ciAKKyBkZXJpdmF0aXZlIHdvcmtzIG9yIGJ5
IG90aGVyIHdvcmtzIGluIHdoaWNoIHRoZSBBcHBsZSBTb2Z0d2FyZSBtYXkgYmUgaW5jb3Jwb3Jh
dGVkLgorIAorIFRoZSBBcHBsZSBTb2Z0d2FyZSBpcyBwcm92aWRlZCBieSBBcHBsZSBvbiBhbiAi
QVMgSVMiIGJhc2lzLiAgQVBQTEUgTUFLRVMgTk8gV0FSUkFOVElFUywgCisgRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTk9OLUlORlJJTkdFTUVOVCwgCisgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgUkVHQVJESU5HIFRIRSBBUFBMRSBTT0ZUV0FSRSBPUiBJ
VFMgCisgVVNFIEFORCBPUEVSQVRJT04gQUxPTkUgT1IgSU4gQ09NQklOQVRJT04gV0lUSCBZT1VS
IFBST0RVQ1RTLgorIAorIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIEJFIExJQUJMRSBGT1IgQU5Z
IFNQRUNJQUwsIElORElSRUNULCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgCisgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgCisgICAgICAgICAgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSwgCisgUkVQUk9EVUNUSU9OLCBNT0RJRklDQVRJT04gQU5EL09SIERJU1RSSUJV
VElPTiBPRiBUSEUgQVBQTEUgU09GVFdBUkUsIEhPV0VWRVIgQ0FVU0VEIEFORCAKKyBXSEVUSEVS
IFVOREVSIFRIRU9SWSBPRiBDT05UUkFDVCwgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UpLCBT
VFJJQ1QgTElBQklMSVRZIE9SIAorIE9USEVSV0lTRSwgRVZFTiBJRiBBUFBMRSBIQVMgQkVFTiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2ltcG9ydCAi
UGx1Z2luT2JqZWN0LmgiCisKK05QTmV0c2NhcGVGdW5jcyogYnJvd3NlcjsKKworTlBFcnJvciAg
ICAgTlBQX05ldyhOUE1JTUVUeXBlIHBsdWdpblR5cGUsIE5QUCBpbnN0YW5jZSwgdWludDE2IG1v
ZGUsIGludDE2IGFyZ2MsIGNoYXIqIGFyZ25bXSwgY2hhciogYXJndltdLCBOUFNhdmVkRGF0YSog
c2F2ZWQpOworTlBFcnJvciAgICAgTlBQX0Rlc3Ryb3koTlBQIGluc3RhbmNlLCBOUFNhdmVkRGF0
YSoqIHNhdmUpOworTlBFcnJvciAgICAgTlBQX1NldFdpbmRvdyhOUFAgaW5zdGFuY2UsIE5QV2lu
ZG93KiB3aW5kb3cpOworTlBFcnJvciAgICAgTlBQX05ld1N0cmVhbShOUFAgaW5zdGFuY2UsIE5Q
TUlNRVR5cGUgdHlwZSwgTlBTdHJlYW0qIHN0cmVhbSwgTlBCb29sIHNlZWthYmxlLCB1aW50MTYq
IHN0eXBlKTsKK05QRXJyb3IgICAgIE5QUF9EZXN0cm95U3RyZWFtKE5QUCBpbnN0YW5jZSwgTlBT
dHJlYW0qIHN0cmVhbSwgTlBSZWFzb24gcmVhc29uKTsKK2ludDMyICAgICAgIE5QUF9Xcml0ZVJl
YWR5KE5QUCBpbnN0YW5jZSwgTlBTdHJlYW0qIHN0cmVhbSk7CitpbnQzMiAgICAgICBOUFBfV3Jp
dGUoTlBQIGluc3RhbmNlLCBOUFN0cmVhbSogc3RyZWFtLCBpbnQzMiBvZmZzZXQsIGludDMyIGxl
biwgdm9pZCogYnVmZmVyKTsKK3ZvaWQgICAgICAgIE5QUF9TdHJlYW1Bc0ZpbGUoTlBQIGluc3Rh
bmNlLCBOUFN0cmVhbSogc3RyZWFtLCBjb25zdCBjaGFyKiBmbmFtZSk7Cit2b2lkICAgICAgICBO
UFBfUHJpbnQoTlBQIGluc3RhbmNlLCBOUFByaW50KiBwbGF0Zm9ybVByaW50KTsKK2ludDE2ICAg
ICAgIE5QUF9IYW5kbGVFdmVudChOUFAgaW5zdGFuY2UsIHZvaWQqIGV2ZW50KTsKK3ZvaWQgICAg
ICAgIE5QUF9VUkxOb3RpZnkoTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiBVUkwsIE5QUmVhc29u
IHJlYXNvbiwgdm9pZCogbm90aWZ5RGF0YSk7CitOUEVycm9yICAgICBOUFBfR2V0VmFsdWUoTlBQ
IGluc3RhbmNlLCBOUFBWYXJpYWJsZSB2YXJpYWJsZSwgdm9pZCAqdmFsdWUpOworTlBFcnJvciAg
ICAgTlBQX1NldFZhbHVlKE5QUCBpbnN0YW5jZSwgTlBOVmFyaWFibGUgdmFyaWFibGUsIHZvaWQg
KnZhbHVlKTsKKworI3ByYWdtYSBleHBvcnQgb24KKy8vIE1hY2gtbyBlbnRyeSBwb2ludHMKK05Q
RXJyb3IgTlBfSW5pdGlhbGl6ZShOUE5ldHNjYXBlRnVuY3MgKmJyb3dzZXJGdW5jcyk7CitOUEVy
cm9yIE5QX0dldEVudHJ5UG9pbnRzKE5QUGx1Z2luRnVuY3MgKnBsdWdpbkZ1bmNzKTsKK3ZvaWQg
TlBfU2h1dGRvd24odm9pZCk7CisjcHJhZ21hIGV4cG9ydCBvZmYKKworCit0eXBlZGVmIHZvaWQg
KCogRnVuY3Rpb25Qb2ludGVyKSAodm9pZCk7Cit0eXBlZGVmIHZvaWQgKCogVHJhbnNpdGlvblZl
Y3RvcikgKHZvaWQpOworCisvLyBNYWNoLW8gZW50cnkgcG9pbnRzCitOUEVycm9yIE5QX0luaXRp
YWxpemUoTlBOZXRzY2FwZUZ1bmNzKiBicm93c2VyRnVuY3MpCit7CisgICAgYnJvd3NlciA9IGJy
b3dzZXJGdW5jczsKKyAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7Cit9CisKK05QRXJyb3IgTlBf
R2V0RW50cnlQb2ludHMoTlBQbHVnaW5GdW5jcyogcGx1Z2luRnVuY3MpCit7CisgICAgcGx1Z2lu
RnVuY3MtPnZlcnNpb24gPSAxMTsKKyAgICBwbHVnaW5GdW5jcy0+c2l6ZSA9IHNpemVvZihwbHVn
aW5GdW5jcyk7CisgICAgcGx1Z2luRnVuY3MtPm5ld3AgPSBOUFBfTmV3OworICAgIHBsdWdpbkZ1
bmNzLT5kZXN0cm95ID0gTlBQX0Rlc3Ryb3k7CisgICAgcGx1Z2luRnVuY3MtPnNldHdpbmRvdyA9
IE5QUF9TZXRXaW5kb3c7CisgICAgcGx1Z2luRnVuY3MtPm5ld3N0cmVhbSA9IE5QUF9OZXdTdHJl
YW07CisgICAgcGx1Z2luRnVuY3MtPmRlc3Ryb3lzdHJlYW0gPSBOUFBfRGVzdHJveVN0cmVhbTsK
KyAgICBwbHVnaW5GdW5jcy0+YXNmaWxlID0gTlBQX1N0cmVhbUFzRmlsZTsKKyAgICBwbHVnaW5G
dW5jcy0+d3JpdGVyZWFkeSA9IE5QUF9Xcml0ZVJlYWR5OworICAgIHBsdWdpbkZ1bmNzLT53cml0
ZSA9IChOUFBfV3JpdGVQcm9jUHRyKU5QUF9Xcml0ZTsKKyAgICBwbHVnaW5GdW5jcy0+cHJpbnQg
PSBOUFBfUHJpbnQ7CisgICAgcGx1Z2luRnVuY3MtPmV2ZW50ID0gTlBQX0hhbmRsZUV2ZW50Owor
ICAgIHBsdWdpbkZ1bmNzLT51cmxub3RpZnkgPSBOUFBfVVJMTm90aWZ5OworICAgIHBsdWdpbkZ1
bmNzLT5nZXR2YWx1ZSA9IE5QUF9HZXRWYWx1ZTsKKyAgICBwbHVnaW5GdW5jcy0+c2V0dmFsdWUg
PSBOUFBfU2V0VmFsdWU7CisgICAgCisgICAgcmV0dXJuIE5QRVJSX05PX0VSUk9SOworfQorCit2
b2lkIE5QX1NodXRkb3duKHZvaWQpCit7CisgICAgCit9CisKK05QRXJyb3IgTlBQX05ldyhOUE1J
TUVUeXBlIHBsdWdpblR5cGUsIE5QUCBpbnN0YW5jZSwgdWludDE2IG1vZGUsIGludDE2IGFyZ2Ms
IGNoYXIqIGFyZ25bXSwgY2hhciogYXJndltdLCBOUFNhdmVkRGF0YSogc2F2ZWQpCit7CisgICAg
aWYgKGJyb3dzZXItPnZlcnNpb24gPj0gMTQpCisgICAgICAgIGluc3RhbmNlLT5wZGF0YSA9IGJy
b3dzZXItPmNyZWF0ZW9iamVjdCAoaW5zdGFuY2UsIGdldFBsdWdpbkNsYXNzKCkpOworICAgIAor
ICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKK30KKworTlBFcnJvciBOUFBfRGVzdHJveShOUFAg
aW5zdGFuY2UsIE5QU2F2ZWREYXRhKiogc2F2ZSkKK3sKKyAgICByZXR1cm4gTlBFUlJfTk9fRVJS
T1I7Cit9CisKK05QRXJyb3IgTlBQX1NldFdpbmRvdyhOUFAgaW5zdGFuY2UsIE5QV2luZG93KiB3
aW5kb3cpCit7CisgICAgUGx1Z2luT2JqZWN0ICpvYmogPSBpbnN0YW5jZS0+cGRhdGE7CisgICAg
CisgICAgLy8gRG8gbm90aGluZyBpZiBicm93c2VyIGRpZG4ndCBzdXBwb3J0IE5QTl9DcmVhdGVP
YmplY3Qgd2hpY2ggd291bGQgaGF2ZSBjcmVhdGVkIHRoZSBQbHVnaW5PYmplY3QuCisgICAgaWYg
KG9iaiAhPSBOVUxMKQorICAgICAgICBvYmotPndpbmRvdyA9IHdpbmRvdzsKKyAgICAKKyAgICBy
ZXR1cm4gTlBFUlJfTk9fRVJST1I7Cit9CisKKworTlBFcnJvciBOUFBfTmV3U3RyZWFtKE5QUCBp
bnN0YW5jZSwgTlBNSU1FVHlwZSB0eXBlLCBOUFN0cmVhbSogc3RyZWFtLCBOUEJvb2wgc2Vla2Fi
bGUsIHVpbnQxNiogc3R5cGUpCit7CisgICAgKnN0eXBlID0gTlBfQVNGSUxFT05MWTsKKyAgICBy
ZXR1cm4gTlBFUlJfTk9fRVJST1I7Cit9CisKK05QRXJyb3IgTlBQX0Rlc3Ryb3lTdHJlYW0oTlBQ
IGluc3RhbmNlLCBOUFN0cmVhbSogc3RyZWFtLCBOUFJlYXNvbiByZWFzb24pCit7CisgICAgcmV0
dXJuIE5QRVJSX05PX0VSUk9SOworfQorCitpbnQzMiBOUFBfV3JpdGVSZWFkeShOUFAgaW5zdGFu
Y2UsIE5QU3RyZWFtKiBzdHJlYW0pCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludDMyIE5QUF9X
cml0ZShOUFAgaW5zdGFuY2UsIE5QU3RyZWFtKiBzdHJlYW0sIGludDMyIG9mZnNldCwgaW50MzIg
bGVuLCB2b2lkKiBidWZmZXIpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgTlBQX1N0cmVh
bUFzRmlsZShOUFAgaW5zdGFuY2UsIE5QU3RyZWFtKiBzdHJlYW0sIGNvbnN0IGNoYXIqIGZuYW1l
KQoreworICAgIAorfQorCit2b2lkIE5QUF9QcmludChOUFAgaW5zdGFuY2UsIE5QUHJpbnQqIHBs
YXRmb3JtUHJpbnQpCit7CisgICAgCit9CisKK2ludDE2IE5QUF9IYW5kbGVFdmVudChOUFAgaW5z
dGFuY2UsIHZvaWQqIGV2ZW50KQoreworICAgIHJldHVybiAwOworfQorCit2b2lkIE5QUF9VUkxO
b3RpZnkoTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiB1cmwsIE5QUmVhc29uIHJlYXNvbiwgdm9p
ZCogbm90aWZ5RGF0YSkKK3sKKyAgICAKK30KKworTlBFcnJvciBOUFBfR2V0VmFsdWUoTlBQIGlu
c3RhbmNlLCBOUFBWYXJpYWJsZSB2YXJpYWJsZSwgdm9pZCAqdmFsdWUpCit7CisgICAgaWYgKHZh
cmlhYmxlID09IE5QUFZwbHVnaW5TY3JpcHRhYmxlTlBPYmplY3QpIHsKKyAgICAgICAgdm9pZCAq
KnYgPSAodm9pZCAqKil2YWx1ZTsKKyAgICAgICAgUGx1Z2luT2JqZWN0ICpvYmogPSBpbnN0YW5j
ZS0+cGRhdGE7CisgICAgICAgICp2ID0gb2JqOworICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJS
T1I7CisgICAgfQorICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOworfQorCitOUEVycm9y
IE5QUF9TZXRWYWx1ZShOUFAgaW5zdGFuY2UsIE5QTlZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkICp2
YWx1ZSkKK3sKKyAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19FUlJPUjsKK30K
</data>
<flag name="review"
          id="1177"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5498</attachid>
            <date>2006-01-05 09:52:23 -0800</date>
            <delta_ts>2006-01-05 10:16:23 -0800</delta_ts>
            <desc>Fix 2</desc>
            <filename>patch-plugin-layout-testing2.txt</filename>
            <type>text/plain</type>
            <size>44955</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIyMwpkaWZm
IC1wIC11IC1yMS4yMjMgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCi0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJNCBKYW4gMjAwNiAyMTozMjozNyAtMDAwMAkxLjIyMworKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCTUgSmFuIDIwMDYgMTc6Mzg6MjIgLTAwMDAKQEAgLTEsMyArMSwxMiBAQAorMjAwNi0w
MS0wMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIExheW91
dCB0ZXN0IGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lk
PTYzMTgKKyAgICAgICAgUkVHUkVTU0lPTjogUmVwcm8gY3Jhc2ggaW4gSlMgY2FsbGVkIGZyb20g
Rmxhc2ggb24gYmRhc2gubmV0Lm56CisKKyAgICAgICAgKiBmYXN0L3BsdWdpbnMvbmV0c2NhcGUt
YmFjay1mb3J3YXJkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9wbHVnaW5z
L25ldHNjYXBlLWJhY2stZm9yd2FyZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BsdWdp
bnMvcmVzb3VyY2VzL2dvLWJhY2suaHRtbDogQWRkZWQuCisKIDIwMDYtMDEtMDQgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIC0gYWRkZWQgYSBtaXNzaW5nIHRlc3Qg
cmVzdWx0CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3BsdWdpbnMvbmV0c2NhcGUtYmFjay1mb3J3
YXJkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiBuZXRzY2FwZS1iYWNrLWZvcndh
cmQtZXhwZWN0ZWQudHh0CmRpZmYgLU4gTGF5b3V0VGVzdHMvZmFzdC9wbHVnaW5zL25ldHNjYXBl
LWJhY2stZm9yd2FyZC1leHBlY3RlZC50eHQKLS0tIExheW91dFRlc3RzL2Zhc3QvcGx1Z2lucy9u
ZXRzY2FwZS1iYWNrLWZvcndhcmQtZXhwZWN0ZWQudHh0CTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAw
MDAKKysrIExheW91dFRlc3RzL2Zhc3QvcGx1Z2lucy9uZXRzY2FwZS1iYWNrLWZvcndhcmQtZXhw
ZWN0ZWQudHh0CTUgSmFuIDIwMDYgMTc6Mzg6MjQgLTAwMDAKQEAgLTAsMCArMSwxNCBAQAorQnVn
OiBSRUdSRVNTSU9OOiBSZXBybyBjcmFzaCBpbiBKUyBjYWxsZWQgZnJvbSBGbGFzaCBvbiBiZGFz
aC5uZXQubnoKKworSWYgdGhpcyB0ZXN0IHBhc3NlcywgeW91IHdpbGwgc2VlIGEgUEFTUyBtZXNz
Z2UgYmVsb3cuCisKKworLS0tLS0gQUZURVIgYmFjay9mb3J3YXJkIG5hdmlnYXRpb246IC0tLS0t
CisKK3BsdWdpbi5wcm9wZXJ0eSBpcyAncHJvcGVydHknCisKK2NhbGxiYWNrIHJlY2VpdmVkIGZy
b20gcGx1Z2luCisKK1BBU1MKKworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3BsdWdpbnMvbmV0
c2NhcGUtYmFjay1mb3J3YXJkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogbmV0c2NhcGUtYmFj
ay1mb3J3YXJkLmh0bWwKZGlmZiAtTiBMYXlvdXRUZXN0cy9mYXN0L3BsdWdpbnMvbmV0c2NhcGUt
YmFjay1mb3J3YXJkLmh0bWwKLS0tIExheW91dFRlc3RzL2Zhc3QvcGx1Z2lucy9uZXRzY2FwZS1i
YWNrLWZvcndhcmQuaHRtbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3BsdWdpbnMvbmV0c2NhcGUtYmFjay1mb3J3YXJkLmh0bWwJNSBKYW4gMjAwNiAxNzoz
ODoyNCAtMDAwMApAQCAtMCwwICsxLDg5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAg
ICAvKiBIZWxwZXIgZnVuY3Rpb25zICovCisgICAgZnVuY3Rpb24gcHJpbnQobWVzc2FnZSkgewor
ICAgICAgICB2YXIgcGFyYWdyYXBoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICAg
ICAgICBwYXJhZ3JhcGguYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2Fn
ZSkpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENo
aWxkKHBhcmFncmFwaCk7CisgICAgfQorCisgICAgLyogRXZhbHVhdG9yIC0tIHVzZSBmb3IgZXZh
bHVhdGluZyBhbiBleHByZXNzaW9uIGluIGEgZnVubnkgd2F5ICovCisgICAgdmFyIEV2YWx1YXRv
ciA9IG5ldyBPYmplY3QoKTsKKworICAgIEV2YWx1YXRvci5ldmFsdWF0ZUFmdGVyQmFja0Zvcndh
cmROYXZpZ2F0aW9uID0gZnVuY3Rpb24oZXhwcmVzc2lvbikKKyAgICB7CisgICAgICAgIC8qIG9u
bG9hZCBkb2Vzbid0IGZpcmUgYWZ0ZXIgYSBiYWNrL2ZvcndhcmQgbmF2aWdhdGlvbiwgYnV0IHRp
bWVycyBnZXQgcmVzdG9yZWQuCisgICAgICAgICAqIFNvLCB0byBleGVjdXRlIGEgc2NyaXB0IGFm
dGVyIHRoZSBiYWNrL2ZvcndhcmQgbmF2aWdhdGlvbiBoYXMgY29tcGxldGVkLCAKKyAgICAgICAg
ICogd2Ugc2V0IGEgdGltZXIuCisgICAgICAgICAqLworICAgICAgICBFdmFsdWF0b3IuaW50ZXJ2
YWwgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoIkV2YWx1YXRvci5ldmFsdWF0ZSgiICsgZXhwcmVzc2lv
biArICIpIiwgMTAwMCk7CisgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gInJlc291cmNl
cy9nby1iYWNrLmh0bWwiOworICAgIH0KKworICAgIEV2YWx1YXRvci5ldmFsdWF0ZSA9IGZ1bmN0
aW9uKGV4cHJlc3Npb24pCisgICAgeworICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbChFdmFs
dWF0b3IuaW50ZXJ2YWwpOworICAgICAgICBldmFsKGV4cHJlc3Npb24pOworICAgIH0KKworICAg
IC8qIFRlc3QgKi8KKyAgICAKKyAgICB2YXIgVGVzdCA9IG5ldyBPYmplY3QoKTsKKworICAgIFRl
c3QuZGlkUmVjZWl2ZUNhbGxiYWNrID0gZmFsc2U7CisKKyAgICBUZXN0LmNhbGxiYWNrID0gZnVu
Y3Rpb24oKQorICAgIHsKKyAgICAgICAgVGVzdC5kaWRSZWNlaXZlQ2FsbGJhY2sgPSB0cnVlOwor
ICAgICAgICBwcmludCgnY2FsbGJhY2sgcmVjZWl2ZWQgZnJvbSBwbHVnaW4nKTsKKyAgICB9Cisg
ICAgCisgICAgVGVzdC5jb250aW51ZUFmdGVyQmFja0ZvcndhcmROYXZpZ2F0aW9uID0gZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgcHJpbnQoIi0tLS0tIEFGVEVSIGJhY2svZm9yd2FyZCBuYXZp
Z2F0aW9uOiAtLS0tLSIpOworCisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcGx1Z2lu
ID0gZG9jdW1lbnQuZW1iZWRzWyJ0ZXN0UGx1Z2luIl07CisgICAgICAgICAgICBpZiAocGx1Z2lu
LnByb3BlcnR5KQorICAgICAgICAgICAgICAgIHByaW50KCJwbHVnaW4ucHJvcGVydHkgaXMgJyIg
KyBwbHVnaW4ucHJvcGVydHkgKyAiJyIpOworCisgICAgICAgICAgICAvLyBOZXRzY2FwZSBwbHVn
aW5zIHNlZW0gdG8gYmUgYWJsZSB0byBjYWxsIHdpbmRvdy1sZXZlbCBmdW5jdGlvbnMgb25seQor
ICAgICAgICAgICAgd2luZG93LmNhbGxiYWNrID0gVGVzdC5jYWxsYmFjazsKKyAgICAgICAgICAg
IGlmIChwbHVnaW4udGVzdENhbGxiYWNrKQorICAgICAgICAgICAgICAgIHBsdWdpbi50ZXN0Q2Fs
bGJhY2soImNhbGxiYWNrIik7CisgICAgICAgICAgICBkZWxldGUgd2luZG93LmNhbGxiYWNrOwor
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKHBsdWdpbi5wcm9wZXJ0eSAmJiBUZXN0
LmRpZFJlY2VpdmVDYWxsYmFjaykKKyAgICAgICAgICAgICAgICBwcmludCAoIlBBU1MiKTsKKyAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBwcmludCgiRkFJTCIpOworICAgICAgICB9
CisgICAgICAgIGNhdGNoIChlKSB7CisgICAgICAgICAgICBwcmludCgiRkFJTCIpOworICAgICAg
ICB9CisgICAgICAgIAorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAg
IH0KKyAgICB9CisgICAgCisgICAgVGVzdC5ydW4gPSBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIEV2YWx1
YXRvci5ldmFsdWF0ZUFmdGVyQmFja0ZvcndhcmROYXZpZ2F0aW9uKCdUZXN0LmNvbnRpbnVlQWZ0
ZXJCYWNrRm9yd2FyZE5hdmlnYXRpb24oKScpOyAgICAKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0iVGVzdC5ydW4oKSI+Cis8cD5CdWc6IDxhIGhyZWY9Imh0dHA6Ly9i
dWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxOCI+UkVHUkVTU0lPTjog
UmVwcm8gY3Jhc2ggaW4gSlMgY2FsbGVkIGZyb20gRmxhc2ggb24gYmRhc2gubmV0Lm56PC9hPjwv
cD4KKzxwPklmIHRoaXMgdGVzdCBwYXNzZXMsIHlvdSB3aWxsIHNlZSBhIFBBU1MgbWVzc2dlIGJl
bG93LjwvcD4KKzxocj4KKzxlbWJlZCBuYW1lPSJ0ZXN0UGx1Z2luIiB3aWR0aD0iMCIgaGVpZ2h0
PSIwIiBzcmM9IiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9l
bWJlZD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9wbHVnaW5zL3Jlc291cmNlcy9nby1iYWNrLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogcmVzb3VyY2VzL2dvLWJhY2suaHRtbApkaWZmIC1OIExheW91dFRlc3RzL2Zh
c3QvcGx1Z2lucy9yZXNvdXJjZXMvZ28tYmFjay5odG1sCi0tLSBMYXlvdXRUZXN0cy9mYXN0L3Bs
dWdpbnMvcmVzb3VyY2VzL2dvLWJhY2suaHRtbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisr
KyBMYXlvdXRUZXN0cy9mYXN0L3BsdWdpbnMvcmVzb3VyY2VzL2dvLWJhY2suaHRtbAk1IEphbiAy
MDA2IDE3OjM4OjI0IC0wMDAwCkBAIC0wLDAgKzEsMyBAQAorPGh0bWw+Cis8Ym9keSBvbmxvYWQ9
IndpbmRvdy5oaXN0b3J5LmJhY2soKSI+IDwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IFdlYktpdC9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9DaGFuZ2VMb2cs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzQ0MQpkaWZmIC1wIC11IC1yMS4zNDQxIFdlYktpdC9D
aGFuZ2VMb2cKLS0tIFdlYktpdC9DaGFuZ2VMb2cJNCBKYW4gMjAwNiAwMjowMTozNSAtMDAwMAkx
LjM0NDEKKysrIFdlYktpdC9DaGFuZ2VMb2cJNSBKYW4gMjAwNiAxNzozODoyOSAtMDAwMApAQCAt
MSwzICsxLDEzIEBACisyMDA2LTAxLSMjICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBG
aXhlZCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjEK
KyAgICAgICAgQWRkIHBsdWdpbiBzdXBwb3J0IHRvIER1bXBSZW5kZXJUcmVlCisKKyAgICAgICAg
KiBXZWJLaXQuZXhwOiBleHBvcnQgV2ViUGx1Z2luRGF0YWJhc2UgY2xhc3MsIHdoaWNoIER1bXBS
ZW5kZXJUcmVlCisgICAgICAgIG5lZWRzIHRvIGFkZCBwbHVnaW5zIHRvIHRoZSBydW50aW1lLgor
CiAyMDA2LTAxLTAzICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBCZXRoLgpJbmRleDogV2ViS2l0L1dlYktpdC5leHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2N2cy9yb290L1dlYktpdC9XZWJLaXQuZXhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
Ljc3CmRpZmYgLXAgLXUgLXIxLjc3IFdlYktpdC9XZWJLaXQuZXhwCi0tLSBXZWJLaXQvV2ViS2l0
LmV4cAkyIE5vdiAyMDA1IDAxOjU5OjExIC0wMDAwCTEuNzcKKysrIFdlYktpdC9XZWJLaXQuZXhw
CTUgSmFuIDIwMDYgMTc6Mzg6MzMgLTAwMDAKQEAgLTEsMyArMSw0IEBACisub2JqY19jbGFzc19u
YW1lX1dlYlBsdWdpbkRhdGFiYXNlCiAub2JqY19jbGFzc19uYW1lX1dlYkFyY2hpdmUKIC5vYmpj
X2NsYXNzX25hbWVfV2ViQmFja0ZvcndhcmRMaXN0CiAub2JqY19jbGFzc19uYW1lX1dlYkNvcmVT
dGF0aXN0aWNzCkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2N2cy9yb290L1dlYktpdFRvb2xzL0NoYW5nZUxvZyx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS4xMzcKZGlmZiAtcCAtdSAtcjEuMTM3IFdlYktpdFRvb2xzL0NoYW5nZUxvZwotLS0gV2ViS2l0
VG9vbHMvQ2hhbmdlTG9nCTQgSmFuIDIwMDYgMjE6MTA6MzggLTAwMDAJMS4xMzcKKysrIFdlYktp
dFRvb2xzL0NoYW5nZUxvZwk1IEphbiAyMDA2IDE3OjM4OjM0IC0wMDAwCkBAIC0xLDMgKzEsNTgg
QEAKKzIwMDYtMDEtIyMgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIEZpeGVkIGh0dHA6
Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2MQorICAgICAgICBB
ZGQgcGx1Z2luIHN1cHBvcnQgdG8gRHVtcFJlbmRlclRyZWUKKworICAgICAgICBBbHNvIHdyb3Rl
IGZpcnN0IHRlc3QgcGx1Z2luLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRl
clRyZWUubToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAoMSkgUHV0IHRoZSBXZWJWaWV3IGlu
IGFuIGludmlzaWJsZSB3aW5kb3csIGJlY2F1c2UgUGx1Z0lucyBhcmUKKyAgICAgICAgb3B0aW1p
emVkIG5vdCB0byBsb2FkIGlmIHRoZXJlJ3Mgbm8gcGFyZW50IHdpbmRvdy4KKyAgICAgICAgKDIp
IFRlbGwgV2ViS2l0IHRvIGxvYWQgYW55IFBsdWdJbnMgaW4gdGhlIGRpcmVjdG9yeSBmcm9tIHdo
aWNoIHdlIAorICAgICAgICBsb2FkZWQuIFRoaXMgbWVhbnMgd2UgY2FuIGJ1aWxkIG5hc3R5IFBs
dWdJbnMgYWxvbmdzaWRlIER1bXBSZW5kZXJUcmVlIAorICAgICAgICBhbmQgdGhleSdsbCBsb2Fk
IGF1dG9tYWdpY2FsbHkgZHVyaW5nIGxheW91dCB0ZXN0aW5nLCBidXQgdGhleSB3b24ndCBiZQor
ICAgICAgICBhZGRlZCB0byB0aGUgdXNlcidzIHN5c3RlbSwgaG9zaW5nIGFwcHMgbGlrZSBTYWZh
cmkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBBZGRlZCBuZXcKKyAgICAgICAgdGVzdCBQbHVnSW4gdG8gcHJvamVj
dC4KKworICAgICAgICBQbHVnSW4gYWRkZWQgdG8gcHJvamVjdDoKKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL0luZm8ucGxpc3Q6IEFkZGVkLgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdp
bk9iamVjdC5jOiBBZGRlZC4KKyAgICAgICAgKGdldFBsdWdpbkNsYXNzKToKKyAgICAgICAgKGlu
aXRpYWxpemVJZGVudGlmaWVycyk6CisgICAgICAgIChwbHVnaW5IYXNQcm9wZXJ0eSk6CisgICAg
ICAgIChwbHVnaW5IYXNNZXRob2QpOgorICAgICAgICAocGx1Z2luR2V0UHJvcGVydHkpOgorICAg
ICAgICAocGx1Z2luU2V0UHJvcGVydHkpOgorICAgICAgICAocGx1Z2luSW52b2tlKToKKyAgICAg
ICAgKHBsdWdpbkludm9rZURlZmF1bHQpOgorICAgICAgICAocGx1Z2luSW52YWxpZGF0ZSk6Cisg
ICAgICAgIChwbHVnaW5BbGxvY2F0ZSk6CisgICAgICAgIChwbHVnaW5EZWFsbG9jYXRlKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5P
YmplY3QuaDogQWRkZWQuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luLnN1YnByb2ovbWFpbi5jOiBBZGRlZC4KKyAgICAgICAgKE5QX0luaXRpYWxpemUpOgorICAg
ICAgICAoTlBfR2V0RW50cnlQb2ludHMpOgorICAgICAgICAoTlBfU2h1dGRvd24pOgorICAgICAg
ICAoTlBQX05ldyk6CisgICAgICAgIChOUFBfRGVzdHJveSk6CisgICAgICAgIChOUFBfU2V0V2lu
ZG93KToKKyAgICAgICAgKE5QUF9OZXdTdHJlYW0pOgorICAgICAgICAoTlBQX0Rlc3Ryb3lTdHJl
YW0pOgorICAgICAgICAoTlBQX1dyaXRlUmVhZHkpOgorICAgICAgICAoTlBQX1dyaXRlKToKKyAg
ICAgICAgKE5QUF9TdHJlYW1Bc0ZpbGUpOgorICAgICAgICAoTlBQX1ByaW50KToKKyAgICAgICAg
KE5QUF9IYW5kbGVFdmVudCk6CisgICAgICAgIChOUFBfVVJMTm90aWZ5KToKKyAgICAgICAgKE5Q
UF9HZXRWYWx1ZSk6CisgICAgICAgIChOUFBfU2V0VmFsdWUpOgorCiAyMDA2LTAxLTA0ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbi4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLm0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0R1bXBSZW5kZXJUcmVlLm0sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjMKZGlmZiAtcCAtdSAt
cjEuMjMgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUubQotLS0gV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUubQkzMCBEZWMgMjAwNSAwNzow
NDoxMCAtMDAwMAkxLjIzCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVy
VHJlZS5tCTUgSmFuIDIwMDYgMTc6Mzg6MzYgLTAwMDAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBv
cnQgPFdlYktpdC9XZWJGcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJQcmVmZXJlbmNl
cy5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYlZpZXcuaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJQbHVn
aW5EYXRhYmFzZS5oPgogCiAjaW1wb3J0IDxDYXJib24vQ2FyYm9uLmg+ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gZm9yIEdldEN1cnJlbnRFdmVudFRpbWUoKQogI2ltcG9ydCA8QXBwbGlj
YXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+IC8vIGZvciBDTVNldERlZmF1bHRQ
cm9maWxlQnlTcGFjZQpAQCAtMTg1LDYgKzE4NiwxNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29u
c3QgY2hhciAqYXJndltdKQogICAgIGxvY2FsUGFzdGVib2FyZCA9IFtOU1Bhc3RlYm9hcmQgcGFz
dGVib2FyZFdpdGhVbmlxdWVOYW1lXTsKIAogICAgIFdlYlZpZXcgKndlYlZpZXcgPSBbW1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldOworICAg
IE5TV2luZG93ICp3aW5kb3cgPSBbW05TV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0
Ok5TWmVyb1JlY3QgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdHlsZU1hc2s6TlNCb3JkZXJsZXNzV2luZG93TWFzayAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2luZzpOU0JhY2tpbmdT
dG9yZU5vbnJldGFpbmVkIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRlZmVyOllFU107CisgICAgW3dpbmRvdyBzZXRDb250ZW50Vmlldzp3
ZWJWaWV3XTsKKyAgICAKKyAgICBOU1N0cmluZyAqcHdkID0gW1tOU1N0cmluZyBzdHJpbmdXaXRo
Q1N0cmluZzphcmd2WzBdXSBzdHJpbmdCeURlbGV0aW5nTGFzdFBhdGhDb21wb25lbnRdOworICAg
IFtXZWJQbHVnaW5EYXRhYmFzZSBzZXRBZGRpdGlvbmFsV2ViUGx1Z0luUGF0aHM6W05TQXJyYXkg
YXJyYXlXaXRoT2JqZWN0OnB3ZF1dOworICAgIFtbV2ViUGx1Z2luRGF0YWJhc2UgaW5zdGFsbGVk
UGx1Z2luc10gcmVmcmVzaF07ICAgIAorCiAgICAgV2FpdFVudGlsRG9uZURlbGVnYXRlICpkZWxl
Z2F0ZSA9IFtbV2FpdFVudGlsRG9uZURlbGVnYXRlIGFsbG9jXSBpbml0XTsKICAgICBFZGl0aW5n
RGVsZWdhdGUgKmVkaXRpbmdEZWxlZ2F0ZSA9IFtbRWRpdGluZ0RlbGVnYXRlIGFsbG9jXSBpbml0
XTsKICAgICBbd2ViVmlldyBzZXRGcmFtZUxvYWREZWxlZ2F0ZTpkZWxlZ2F0ZV07CkBAIC0yMjMs
NiArMjM0LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKICAgICBb
d2ViVmlldyBzZXRVSURlbGVnYXRlOm5pbF07CiAKICAgICBbd2ViVmlldyByZWxlYXNlXTsKKyAg
ICBbd2luZG93IHJlbGVhc2VdOwogICAgIFtkZWxlZ2F0ZSByZWxlYXNlXTsKICAgICBbZWRpdGlu
Z0RlbGVnYXRlIHJlbGVhc2VdOwogCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9E
dW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvcm9vdC9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcKZGlmZiAt
cCAtdSAtcjEuNyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1w
UmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCTkgT2N0IDIwMDUgMDI6NTc6MjEg
LTAwMDAJMS43CisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCTUgSmFuIDIwMDYgMTc6Mzg6MzYgLTAwMDAKQEAgLTI4
LDYgKzI4LDcgQEAKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQlBODRGNjA5MTA4QjEzNzBFMDBF
OTc0NUYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCQlBODRGNjA4RjA4QjEzNzBFMDBF
OTc0NUYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQkxNDFCRjIzODA5NkE0NTFFMDBF
MDc1M0MgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7CiAJCQluYW1lID0gQWxsOwog
CQkJcHJvZHVjdE5hbWUgPSBBbGw7CkBAIC0zNSw2ICszNiwxNSBAQAogLyogRW5kIFBCWEFnZ3Jl
Z2F0ZVRhcmdldCBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICov
CisJCTE0MUJGNDM1MDk2QTQ1NTkwMEUwNzUzQyAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzNTQzNUYwM0Q3NTUw
MjAwODYzNUNFIC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CisJCTE0MUJGNDM2MDk2QTQ1NTkw
MEUwNzUzQyAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBODRGNjA4OTA4QjEzNkRBMDBFOTc0NUYgLyogQ29jb2EuZnJh
bWV3b3JrICovOyB9OworCQkxNDFCRjQzNzA5NkE0NTU5MDBFMDc1M0MgLyogV2ViQ29yZS5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
ODE3MDkwMTA4QjE2NDM4MDBDQ0I5RkIgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi87IH07CisJCTE0
MUJGNDM4MDk2QTQ1NTkwMEUwNzUzQyAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJh
bWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODE3MDkwMzA4QjE2
NEQzMDBDQ0I5RkIgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovOyB9OworCQkxNDFCRjQz
OTA5NkE0NTU5MDBFMDc1M0MgLyogQ2FyYm9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFFODI1N0VGMDhEMjIzODkwMDA1MDdBQiAv
KiBDYXJib24uZnJhbWV3b3JrICovOyB9OworCQkxNDFCRjQ0QTA5NkE0NUM4MDBFMDc1M0MgLyog
bWFpbi5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQx
QkY0NDUwOTZBNDVDODAwRTA3NTNDIC8qIG1haW4uYyAqLzsgfTsKKwkJMTQxQkY0NEIwOTZBNDVD
ODAwRTA3NTNDIC8qIFBsdWdpbk9iamVjdC5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTQxQkY0NDYwOTZBNDVDODAwRTA3NTNDIC8qIFBsdWdpbk9iamVj
dC5jICovOyB9OworCQkxNDFCRjQ0QzA5NkE0NUM4MDBFMDc1M0MgLyogSW5mby5wbGlzdCBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQxQkY0NDgwOTZB
NDVDODAwRTA3NTNDIC8qIEluZm8ucGxpc3QgKi87IH07CisJCTE0MUJGNDUzMDk2QTQ1RUIwMEUw
NzUzQyAvKiBQbHVnaW5PYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0MUJGNDQ3MDk2QTQ1QzgwMEUwNzUzQyAvKiBQbHVnaW5PYmplY3QuaCAq
LzsgfTsKIAkJOTM0MDk5NEMwODU0MENBRTAwN0YzQkM4IC8qIER1bXBSZW5kZXJUcmVlUHJlZml4
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMkE3MEFB
QjAzNzA1RTFGMDBDOTE3ODMgLyogRHVtcFJlbmRlclRyZWVQcmVmaXguaCAqLzsgfTsKIAkJOTM0
MDk5NEUwODU0MENBRTAwN0YzQkM4IC8qIER1bXBSZW5kZXJUcmVlLm0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEZCNzc5NkZFODQxNTVEQzAyQUFDMDcg
LyogRHVtcFJlbmRlclRyZWUubSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9
OwogCQk5MzQwOTk1MTA4NTQwQ0FFMDA3RjNCQzggLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMzU0MzVGMDNENzU1
MDIwMDg2MzVDRSAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9OwpAQCAtNjgsNiArNzgsMTMgQEAK
IC8qIEVuZCBQQlhCdWlsZFN0eWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVy
SXRlbVByb3h5IHNlY3Rpb24gKi8KKwkJMTQxQkYyMzcwOTZBNDUxRTAwRTA3NTNDIC8qIFBCWENv
bnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsK
KwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4RkI3NzkzRkU4NDE1NURDMDJBQUMwNyAvKiBQcm9qZWN0
IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9
IDE0MUJGMjFFMDk2QTQ0MUQwMEUwNzUzQzsKKwkJCXJlbW90ZUluZm8gPSBUZXN0TmV0c2NhcGVQ
bHVnSW47CisJCX07CiAJCUE4NEY2MDhFMDhCMTM3MEUwMEU5NzQ1RiAvKiBQQlhDb250YWluZXJJ
dGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250
YWluZXJQb3J0YWwgPSAwOEZCNzc5M0ZFODQxNTVEQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3Qg
Ki87CkBAIC04Niw2ICsxMDMsMTEgQEAKIAogLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5jZSBzZWN0
aW9uICovCiAJCTA4RkI3Nzk2RkU4NDE1NURDMDJBQUMwNyAvKiBEdW1wUmVuZGVyVHJlZS5tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBEdW1wUmVuZGVyVHJlZS5tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDFCRjIzMzA5NkE0NENGMDBFMDc1M0MgLyogVGVz
dE5ldHNjYXBlUGx1Z0luLnBsdWdpbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBs
aWNpdEZpbGVUeXBlID0gd3JhcHBlci5jZmJ1bmRsZTsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRo
ID0gVGVzdE5ldHNjYXBlUGx1Z0luLnBsdWdpbjsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RT
X0RJUjsgfTsKKwkJMTQxQkY0NDUwOTZBNDVDODAwRTA3NTNDIC8qIG1haW4uYyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9IG1haW4uYzsgcGF0aCA9IC4uL1Rlc3ROZXRzY2FwZVBs
dWdJbi5zdWJwcm9qL21haW4uYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQxQkY0
NDYwOTZBNDVDODAwRTA3NTNDIC8qIFBsdWdpbk9iamVjdC5jICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5jOyBuYW1lID0gUGx1Z2luT2JqZWN0LmM7IHBhdGggPSAuLi9UZXN0TmV0c2NhcGVQbHVn
SW4uc3VicHJvai9QbHVnaW5PYmplY3QuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MTQxQkY0NDcwOTZBNDVDODAwRTA3NTNDIC8qIFBsdWdpbk9iamVjdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gUGx1Z2luT2JqZWN0Lmg7IHBhdGggPSAuLi9UZXN0TmV0c2Nh
cGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTQxQkY0NDgwOTZBNDVDODAwRTA3NTNDIC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC54bWw7IG5hbWUgPSBJbmZvLnBsaXN0OyBwYXRoID0gLi4vVGVzdE5ldHNjYXBlUGx1Z0lu
LnN1YnByb2ovSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzJBNzBB
QUIwMzcwNUUxRjAwQzkxNzgzIC8qIER1bXBSZW5kZXJUcmVlUHJlZml4LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bXBSZW5kZXJUcmVlUHJlZml4Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzMzU0MzVGMDNENzU1MDIwMDg2MzVDRSAvKiBXZWJLaXQuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IHBhdGggPSBXZWJLaXQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk5MzQwOTk1NDA4NTQwQ0FGMDA3RjNCQzggLyogRHVt
cFJlbmRlclRyZWUgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlw
ZSA9ICJjb21waWxlZC5tYWNoLW8uZXhlY3V0YWJsZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0
aCA9IER1bXBSZW5kZXJUcmVlOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpA
QCAtMTAxLDYgKzEyMywxOCBAQAogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwog
CiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTE0MUJGMjFE
MDk2QTQ0MUQwMEUwNzUzQyAvKiBGcmFtZXdvcmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3
b3Jrc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmls
ZXMgPSAoCisJCQkJMTQxQkY0MzUwOTZBNDU1OTAwRTA3NTNDIC8qIFdlYktpdC5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLywKKwkJCQkxNDFCRjQzNjA5NkE0NTU5MDBFMDc1M0MgLyogQ29jb2Eu
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJMTQxQkY0MzcwOTZBNDU1OTAwRTA3NTND
IC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJMTQxQkY0MzgwOTZB
NDU1OTAwRTA3NTNDIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
LAorCQkJCTE0MUJGNDM5MDk2QTQ1NTkwMEUwNzUzQyAvKiBDYXJib24uZnJhbWV3b3JrIGluIEZy
YW1ld29ya3MgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CisJCX07CiAJCTkzNDA5OTRGMDg1NDBDQUUwMDdGM0JDOCAvKiBGcmFtZXdvcmtzICov
ID0gewogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMTI5LDYgKzE2Myw3IEBACiAJCTA4RkI3Nzk0RkU4NDE1NURD
MDJBQUMwNyAvKiBEdW1wUmVuZGVyVHJlZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJMTQxQkYxRjUwOTZBNDM5ODAwRTA3NTNDIC8qIFRlc3ROZXRzY2Fw
ZVBsdWdJbi5zdWJwcm9qICovLAogCQkJCTA4RkI3Nzk2RkU4NDE1NURDMDJBQUMwNyAvKiBEdW1w
UmVuZGVyVHJlZS5tICovLAogCQkJCTMyQTcwQUFCMDM3MDVFMUYwMEM5MTc4MyAvKiBEdW1wUmVu
ZGVyVHJlZVByZWZpeC5oICovLAogCQkJCTkzNDQyQ0Y0MDhGOEJBNDkwMEJGRThDQSAvKiBUZXh0
SW5wdXRDb250cm9sbGVyLmggKi8sCkBAIC0xNDUsMTEgKzE4MCwyMyBAQAogCQkJbmFtZSA9IER1
bXBSZW5kZXJUcmVlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJMTQxQkYx
RjUwOTZBNDM5ODAwRTA3NTNDIC8qIFRlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkxNDFCRjQ0NTA5NkE0NUM4
MDBFMDc1M0MgLyogbWFpbi5jICovLAorCQkJCTE0MUJGNDQ2MDk2QTQ1QzgwMEUwNzUzQyAvKiBQ
bHVnaW5PYmplY3QuYyAqLywKKwkJCQkxNDFCRjQ0NzA5NkE0NUM4MDBFMDc1M0MgLyogUGx1Z2lu
T2JqZWN0LmggKi8sCisJCQkJMTQxQkY0NDgwOTZBNDVDODAwRTA3NTNDIC8qIEluZm8ucGxpc3Qg
Ki8sCisJCQkpOworCQkJcGF0aCA9IFRlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qOworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJOTM0MDk5NTUwODU0MENBRjAwN0YzQkM4IC8q
IFByb2R1Y3RzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJ
CQk5MzQwOTk1NDA4NTQwQ0FGMDA3RjNCQzggLyogRHVtcFJlbmRlclRyZWUgKi8sCiAJCQkJQjVB
NzUyNjcwOEFGNEE0QTAwMTM4RTQ1IC8qIEltYWdlRGlmZiAqLywKKwkJCQkxNDFCRjIzMzA5NkE0
NENGMDBFMDc1M0MgLyogVGVzdE5ldHNjYXBlUGx1Z0luLnBsdWdpbiAqLywKIAkJCSk7CiAJCQlu
YW1lID0gUHJvZHVjdHM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTU3LDYgKzIw
NCwxNCBAQAogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVy
c0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkxNDFCRjQ0RTA5NkE0NUREMDBFMDc1M0MgLyogSGVh
ZGVycyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rp
b25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTE0MUJGNDUzMDk2QTQ1RUIw
MEUwNzUzQyAvKiBQbHVnaW5PYmplY3QuaCBpbiBIZWFkZXJzICovLAorCQkJKTsKKwkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogCQk5MzQwOTk0QjA4NTQw
Q0FFMDA3RjNCQzggLyogSGVhZGVycyAqLyA9IHsKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBo
YXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAgLTE3Niw2ICsyMzEsNzEg
QEAKIC8qIEVuZCBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBC
WE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCisJCTE0MUJGMjFFMDk2QTQ0MUQwMEUwNzUzQyAvKiBU
ZXN0TmV0c2NhcGVQbHVnSW4gKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQxQkYyMjEwOTZBNDQxRTAwRTA3NTNDIC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJUZXN0TmV0c2NhcGVQbHVn
SW4iICovOworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJMTQxQkYyMUIwOTZBNDQxRDAwRTA3NTND
IC8qIFJlc291cmNlcyAqLywKKwkJCQkxNDFCRjQ0RTA5NkE0NUREMDBFMDc1M0MgLyogSGVhZGVy
cyAqLywKKwkJCQkxNDFCRjIxQzA5NkE0NDFEMDBFMDc1M0MgLyogU291cmNlcyAqLywKKwkJCQkx
NDFCRjIxRDA5NkE0NDFEMDBFMDc1M0MgLyogRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlidWls
ZFJ1bGVzID0gKAorCQkJKTsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJR0NDX0dFTkVSQVRF
X0RFQlVHR0lOR19TWU1CT0xTID0gTk87CisJCQkJR0NDX01PREVMX1RVTklORyA9IEc1OworCQkJ
CUdDQ19QUkVDT01QSUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7CisJCQkJR0NDX1BSRUZJWF9IRUFE
RVIgPSAiJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9I
ZWFkZXJzL0NhcmJvbi5oIjsKKwkJCQlJTkZPUExJU1RfRklMRSA9ICJUZXN0TmV0c2NhcGVQbHVn
SW4ucGx1Z2luLUluZm8ucGxpc3QiOworCQkJCUlOU1RBTExfUEFUSCA9ICIkKFVTRVJfTElCUkFS
WV9ESVIpL0J1bmRsZXMiOworCQkJCUxJQlJBUllfU1RZTEUgPSBCVU5ETEU7CisJCQkJT1BUSU1J
WkFUSU9OX0NGTEFHUyA9ICIiOworCQkJCU9USEVSX0NGTEFHUyA9ICIiOworCQkJCU9USEVSX0xE
RkxBR1MgPSAoCisJCQkJCSItZnJhbWV3b3JrIiwKKwkJCQkJQ2FyYm9uLAorCQkJCSk7CisJCQkJ
T1RIRVJfUkVaRkxBR1MgPSAiIjsKKwkJCQlQUkVCSU5ESU5HID0gTk87CisJCQkJUFJPRFVDVF9O
QU1FID0gVGVzdE5ldHNjYXBlUGx1Z0luLnBsdWdpbjsKKwkJCQlTRUNUT1JERVJfRkxBR1MgPSAi
IjsKKwkJCQlXQVJOSU5HX0NGTEFHUyA9ICgKKwkJCQkJIi1XbW9zdCIsCisJCQkJCSItV25vLWZv
dXItY2hhci1jb25zdGFudHMiLAorCQkJCQkiLVduby11bmtub3duLXByYWdtYXMiLAorCQkJCSk7
CisJCQl9OworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5hbWUgPSBUZXN0TmV0c2Nh
cGVQbHVnSW47CisJCQlwcm9kdWN0TmFtZSA9IFRlc3ROZXRzY2FwZVBsdWdJbi5wbHVnaW47CisJ
CQlwcm9kdWN0UmVmZXJlbmNlID0gMTQxQkYyMzMwOTZBNDRDRjAwRTA3NTNDIC8qIFRlc3ROZXRz
Y2FwZVBsdWdJbi5wbHVnaW4gKi87CisJCQlwcm9kdWN0U2V0dGluZ3NYTUwgPSAiPD94bWwgdmVy
c2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+Cis8IURPQ1RZUEUgcGxpc3QgUFVCTElD
IFwiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElTVCAxLjAvL0VOXCIgXCJodHRwOi8vd3d3LmFw
cGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkXCI+Cis8cGxpc3QgdmVyc2lvbj1cIjEu
MFwiPgorPGRpY3Q+CisJPGtleT5DRkJ1bmRsZURldmVsb3BtZW50UmVnaW9uPC9rZXk+CisJPHN0
cmluZz5FbmdsaXNoPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KKwk8
c3RyaW5nPlRlc3ROZXRzY2FwZVBsdWdJbi5wbHVnaW48L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxl
SWRlbnRpZmllcjwva2V5PgorCTxzdHJpbmc+Y29tLnlvdXJjb21wYW55LlRlc3ROZXRzY2FwZVBs
dWdJbl9wbHVnaW48L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9u
PC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlUGFja2FnZVR5cGU8
L2tleT4KKwk8c3RyaW5nPkFQUEw8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlU2lnbmF0dXJlPC9r
ZXk+CisJPHN0cmluZz4/Pz8/PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4K
Kwk8c3RyaW5nPjEuMDwvc3RyaW5nPgorCTxrZXk+Q1NSZXNvdXJjZXNGaWxlTWFwcGVkPC9rZXk+
CisJPHN0cmluZz55ZXM8L3N0cmluZz4KKzwvZGljdD4KKzwvcGxpc3Q+CisiOworCQkJcHJvZHVj
dFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5idW5kbGUiOworCQl9OwogCQk5MzQwOTk0
QTA4NTQwQ0FFMDA3RjNCQzggLyogRHVtcFJlbmRlclRyZWUgKi8gPSB7CiAJCQlpc2EgPSBQQlhO
YXRpdmVUYXJnZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI5QkYwODkwMkM2
RDAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0
ICJEdW1wUmVuZGVyVHJlZSIgKi87CkBAIC0yNTQsMTEgKzM3NCwzMiBAQAogCQkJCUE4NEY2MDhE
MDhCMTM3MDYwMEU5NzQ1RiAvKiBBbGwgKi8sCiAJCQkJOTM0MDk5NEEwODU0MENBRTAwN0YzQkM4
IC8qIER1bXBSZW5kZXJUcmVlICovLAogCQkJCUI1QTc1MjVBMDhBRjRBNEEwMDEzOEU0NSAvKiBJ
bWFnZURpZmYgKi8sCisJCQkJMTQxQkYyMUUwOTZBNDQxRDAwRTA3NTNDIC8qIFRlc3ROZXRzY2Fw
ZVBsdWdJbiAqLywKIAkJCSk7CiAJCX07CiAvKiBFbmQgUEJYUHJvamVjdCBzZWN0aW9uICovCiAK
Ky8qIEJlZ2luIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkxNDFCRjIxQjA5
NkE0NDFEMDBFMDc1M0MgLyogUmVzb3VyY2VzICovID0geworCQkJaXNhID0gUEJYUmVzb3VyY2Vz
QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9
ICgKKwkJCQkxNDFCRjQ0QzA5NkE0NUM4MDBFMDc1M0MgLyogSW5mby5wbGlzdCBpbiBSZXNvdXJj
ZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CisJCX07CisvKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKIC8qIEJl
Z2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMTQxQkYyMUMwOTZBNDQxRDAw
RTA3NTNDIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsK
KwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQkxNDFC
RjQ0QTA5NkE0NUM4MDBFMDc1M0MgLyogbWFpbi5jIGluIFNvdXJjZXMgKi8sCisJCQkJMTQxQkY0
NEIwOTZBNDVDODAwRTA3NTNDIC8qIFBsdWdpbk9iamVjdC5jIGluIFNvdXJjZXMgKi8sCisJCQkp
OworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTkz
NDA5OTREMDg1NDBDQUUwMDdGM0JDOCAvKiBTb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYU291
cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMjc5
LDYgKzQyMCwxMSBAQAogLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAog
LyogQmVnaW4gUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCisJCTE0MUJGMjM4MDk2QTQ1
MUUwMEUwNzUzQyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFy
Z2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDE0MUJGMjFFMDk2QTQ0MUQwMEUwNzUzQyAvKiBU
ZXN0TmV0c2NhcGVQbHVnSW4gKi87CisJCQl0YXJnZXRQcm94eSA9IDE0MUJGMjM3MDk2QTQ1MUUw
MEUwNzUzQyAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CiAJCUE4NEY2MDhGMDhC
MTM3MEUwMEU5NzQ1RiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJY
VGFyZ2V0RGVwZW5kZW5jeTsKIAkJCXRhcmdldCA9IEI1QTc1MjVBMDhBRjRBNEEwMDEzOEU0NSAv
KiBJbWFnZURpZmYgKi87CkBAIC0yOTIsNiArNDM4LDY2IEBACiAvKiBFbmQgUEJYVGFyZ2V0RGVw
ZW5kZW5jeSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rp
b24gKi8KKwkJMTQxQkYyMjIwOTZBNDQxRTAwRTA3NTNDIC8qIERldmVsb3BtZW50ICovID0gewor
CQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJ
CUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKKwkJCQlHQ0NfR0VORVJBVEVfREVCVUdHSU5HX1NZTUJP
TFMgPSBZRVM7CisJCQkJR0NDX01PREVMX1RVTklORyA9IEc1OworCQkJCUdDQ19QUkVDT01QSUxF
X1BSRUZJWF9IRUFERVIgPSBZRVM7CisJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSAiJChTWVNURU1f
TElCUkFSWV9ESVIpL0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9IZWFkZXJzL0NhcmJvbi5o
IjsKKwkJCQlJTkZPUExJU1RfRklMRSA9IFRlc3ROZXRzY2FwZVBsdWdpbi5zdWJwcm9qL0luZm8u
cGxpc3Q7CisJCQkJSU5TVEFMTF9QQVRIID0gIiQoVVNFUl9MSUJSQVJZX0RJUikvUGx1Z2lucyI7
CisJCQkJTElCUkFSWV9TVFlMRSA9IEJVTkRMRTsKKwkJCQlPUFRJTUlaQVRJT05fQ0ZMQUdTID0g
Ii1PMCI7CisJCQkJT1RIRVJfQ0ZMQUdTID0gIiI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICgKKwkJ
CQkJIi1mcmFtZXdvcmsiLAorCQkJCQlDYXJib24sCisJCQkJKTsKKwkJCQlPVEhFUl9SRVpGTEFH
UyA9ICIiOworCQkJCVBSRUJJTkRJTkcgPSBOTzsKKwkJCQlQUk9EVUNUX05BTUUgPSBUZXN0TmV0
c2NhcGVQbHVnSW47CisJCQkJU0VDVE9SREVSX0ZMQUdTID0gIiI7CisJCQkJV0FSTklOR19DRkxB
R1MgPSAoCisJCQkJCSItV21vc3QiLAorCQkJCQkiLVduby1mb3VyLWNoYXItY29uc3RhbnRzIiwK
KwkJCQkJIi1Xbm8tdW5rbm93bi1wcmFnbWFzIiwKKwkJCQkpOworCQkJCVdSQVBQRVJfRVhURU5T
SU9OID0gcGx1Z2luOworCQkJfTsKKwkJCW5hbWUgPSBEZXZlbG9wbWVudDsKKwkJfTsKKwkJMTQx
QkYyMjMwOTZBNDQxRTAwRTA3NTNDIC8qIERlcGxveW1lbnQgKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9T
VFJJUCA9IFlFUzsKKwkJCQlHQ0NfR0VORVJBVEVfREVCVUdHSU5HX1NZTUJPTFMgPSBOTzsKKwkJ
CQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURF
UiA9IFlFUzsKKwkJCQlHQ0NfUFJFRklYX0hFQURFUiA9ICIkKFNZU1RFTV9MSUJSQVJZX0RJUikv
RnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL0hlYWRlcnMvQ2FyYm9uLmgiOworCQkJCUlORk9Q
TElTVF9GSUxFID0gVGVzdE5ldHNjYXBlUGx1Z2luLnN1YnByb2ovSW5mby5wbGlzdDsKKwkJCQlJ
TlNUQUxMX1BBVEggPSAiJChVU0VSX0xJQlJBUllfRElSKS9QbHVnaW5zIjsKKwkJCQlMSUJSQVJZ
X1NUWUxFID0gQlVORExFOworCQkJCU9QVElNSVpBVElPTl9DRkxBR1MgPSAiLU8wIjsKKwkJCQlP
VEhFUl9DRkxBR1MgPSAiIjsKKwkJCQlPVEhFUl9MREZMQUdTID0gKAorCQkJCQkiLWZyYW1ld29y
ayIsCisJCQkJCUNhcmJvbiwKKwkJCQkpOworCQkJCU9USEVSX1JFWkZMQUdTID0gIiI7CisJCQkJ
UFJFQklORElORyA9IE5POworCQkJCVBST0RVQ1RfTkFNRSA9IFRlc3ROZXRzY2FwZVBsdWdJbjsK
KwkJCQlTRUNUT1JERVJfRkxBR1MgPSAiIjsKKwkJCQlXQVJOSU5HX0NGTEFHUyA9ICgKKwkJCQkJ
Ii1XbW9zdCIsCisJCQkJCSItV25vLWZvdXItY2hhci1jb25zdGFudHMiLAorCQkJCQkiLVduby11
bmtub3duLXByYWdtYXMiLAorCQkJCSk7CisJCQkJV1JBUFBFUl9FWFRFTlNJT04gPSBwbHVnaW47
CisJCQl9OworCQkJbmFtZSA9IERlcGxveW1lbnQ7CisJCX07CiAJCTE0OUMyOUMwMDg5MDJDNkQw
MDhBOUVGQyAvKiBEZXZlbG9wbWVudCAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0
aW9uOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKQEAgLTQwMiw2ICs2MDgsMTQgQEAKIC8qIEVuZCBY
Q0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFhDQ29uZmlndXJhdGlv
bkxpc3Qgc2VjdGlvbiAqLworCQkxNDFCRjIyMTA5NkE0NDFFMDBFMDc1M0MgLyogQnVpbGQgY29u
ZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIlRlc3ROZXRzY2FwZVBsdWdJbiIg
Ki8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0
aW9ucyA9ICgKKwkJCQkxNDFCRjIyMjA5NkE0NDFFMDBFMDc1M0MgLyogRGV2ZWxvcG1lbnQgKi8s
CisJCQkJMTQxQkYyMjMwOTZBNDQxRTAwRTA3NTNDIC8qIERlcGxveW1lbnQgKi8sCisJCQkpOwor
CQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQl9OwogCQkxNDlDMjlCRjA4
OTAyQzZEMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVU
YXJnZXQgIkR1bXBSZW5kZXJUcmVlIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxp
c3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKApJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovSW5mby5wbGlzdAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
ClJDUyBmaWxlOiBUZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9JbmZvLnBsaXN0CmRpZmYgLU4g
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovSW5m
by5wbGlzdAotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0lu
LnN1YnByb2ovSW5mby5wbGlzdAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9JbmZvLnBsaXN0
CTUgSmFuIDIwMDYgMTc6Mzg6MzYgLTAwMDAKQEAgLTAsMCArMSw1OCBAQAorPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0Fw
cGxlIENvbXB1dGVyLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RU
RHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgorPHBsaXN0IHZlcnNpb249IjEuMCI+Cis8ZGljdD4K
Kwk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KKwk8c3RyaW5nPkVuZ2xpc2g8
L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxzdHJpbmc+VGVzdE5l
dHNjYXBlUGx1Z0luPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUljb25GaWxlPC9rZXk+CisJPHN0
cmluZz48L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSWRlbnRpZmllcjwva2V5PgorCTxzdHJpbmc+
Y29tLmFwcGxlLnRlc3RuZXRzY2FwZXBsdWdpbjwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJbmZv
RGljdGlvbmFyeVZlcnNpb248L2tleT4KKwk8c3RyaW5nPjYuMDwvc3RyaW5nPgorCTxrZXk+Q0ZC
dW5kbGVQYWNrYWdlVHlwZTwva2V5PgorCTxzdHJpbmc+QlJQTDwvc3RyaW5nPgorCTxrZXk+Q0ZC
dW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KKwk8c3RyaW5nPjEuMDwvc3RyaW5nPgorCTxr
ZXk+Q0ZCdW5kbGVTaWduYXR1cmU8L2tleT4KKwk8c3RyaW5nPj8/Pz88L3N0cmluZz4KKwk8a2V5
PkNGQnVuZGxlVmVyc2lvbjwva2V5PgorCTxzdHJpbmc+MS4wPC9zdHJpbmc+CisJPGtleT5DRlBs
dWdJbkR5bmFtaWNSZWdpc3RlckZ1bmN0aW9uPC9rZXk+CisJPHN0cmluZz48L3N0cmluZz4KKwk8
a2V5PkNGUGx1Z0luRHluYW1pY1JlZ2lzdHJhdGlvbjwva2V5PgorCTxzdHJpbmc+Tk88L3N0cmlu
Zz4KKwk8a2V5PkNGUGx1Z0luRmFjdG9yaWVzPC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+MDAwMDAw
MDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwPC9rZXk+CisJCTxzdHJpbmc+TXlGYWN0b3J5
RnVuY3Rpb248L3N0cmluZz4KKwk8L2RpY3Q+CisJPGtleT5DRlBsdWdJblR5cGVzPC9rZXk+CisJ
PGRpY3Q+CisJCTxrZXk+MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwPC9rZXk+
CisJCTxhcnJheT4KKwkJCTxzdHJpbmc+MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAw
MDAwPC9zdHJpbmc+CisJCTwvYXJyYXk+CisJPC9kaWN0PgorCTxrZXk+Q0ZQbHVnSW5VbmxvYWRG
dW5jdGlvbjwva2V5PgorCTxzdHJpbmc+PC9zdHJpbmc+CisJPGtleT5XZWJQbHVnaW5EZXNjcmlw
dGlvbjwva2V5PgorCTxzdHJpbmc+U2ltcGxlIE5ldHNjYXBlIHBsdWctaW4gdGhhdCBoYW5kbGVz
IHRlc3QgY29udGVudCBmb3IgV2ViS2l0PC9zdHJpbmc+CisJPGtleT5XZWJQbHVnaW5NSU1FVHlw
ZXM8L2tleT4KKwk8ZGljdD4KKwkJPGtleT5hcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNj
YXBlPC9rZXk+CisJCTxkaWN0PgorCQkJPGtleT5XZWJQbHVnaW5FeHRlbnNpb25zPC9rZXk+CisJ
CQk8YXJyYXk+CisJCQkJPHN0cmluZz50ZXN0bmV0c2NhcGU8L3N0cmluZz4KKwkJCTwvYXJyYXk+
CisJCQk8a2V5PldlYlBsdWdpblR5cGVEZXNjcmlwdGlvbjwva2V5PgorCQkJPHN0cmluZz50ZXN0
IG5ldHNjYXBlIGNvbnRlbnQ8L3N0cmluZz4KKwkJPC9kaWN0PgorCTwvZGljdD4KKwk8a2V5Pldl
YlBsdWdpbk5hbWU8L2tleT4KKwk8c3RyaW5nPldlYktpdCBUZXN0IFBsdWdJbjwvc3RyaW5nPgor
PC9kaWN0PgorPC9wbGlzdD4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RO
ZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5jCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IFRlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5jCmRpZmYgLU4gV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2Jq
ZWN0LmMKLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5z
dWJwcm9qL1BsdWdpbk9iamVjdC5jCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9i
amVjdC5jCTUgSmFuIDIwMDYgMTc6Mzg6MzYgLTAwMDAKQEAgLTAsMCArMSwxNzUgQEAKKy8qCisg
SU1QT1JUQU5UOiAgVGhpcyBBcHBsZSBzb2Z0d2FyZSBpcyBzdXBwbGllZCB0byB5b3UgYnkgQXBw
bGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIGluCisgY29uc2lkZXJhdGlvbiBvZiB5b3VyIGFn
cmVlbWVudCB0byB0aGUgZm9sbG93aW5nIHRlcm1zLCBhbmQgeW91ciB1c2UsIGluc3RhbGxhdGlv
biwgCisgbW9kaWZpY2F0aW9uIG9yIHJlZGlzdHJpYnV0aW9uIG9mIHRoaXMgQXBwbGUgc29mdHdh
cmUgY29uc3RpdHV0ZXMgYWNjZXB0YW5jZSBvZiB0aGVzZSAKKyB0ZXJtcy4gIElmIHlvdSBkbyBu
b3QgYWdyZWUgd2l0aCB0aGVzZSB0ZXJtcywgcGxlYXNlIGRvIG5vdCB1c2UsIGluc3RhbGwsIG1v
ZGlmeSBvciAKKyByZWRpc3RyaWJ1dGUgdGhpcyBBcHBsZSBzb2Z0d2FyZS4KKyAKKyBJbiBjb25z
aWRlcmF0aW9uIG9mIHlvdXIgYWdyZWVtZW50IHRvIGFiaWRlIGJ5IHRoZSBmb2xsb3dpbmcgdGVy
bXMsIGFuZCBzdWJqZWN0IHRvIHRoZXNlIAorIHRlcm1zLCBBcHBsZSBncmFudHMgeW91IGEgcGVy
c29uYWwsIG5vbi1leGNsdXNpdmUgbGljZW5zZSwgdW5kZXIgQXBwbGXVcyBjb3B5cmlnaHRzIGlu
IAorIHRoaXMgb3JpZ2luYWwgQXBwbGUgc29mdHdhcmUgKHRoZSAiQXBwbGUgU29mdHdhcmUiKSwg
dG8gdXNlLCByZXByb2R1Y2UsIG1vZGlmeSBhbmQgCisgcmVkaXN0cmlidXRlIHRoZSBBcHBsZSBT
b2Z0d2FyZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGluIHNvdXJjZSBhbmQvb3Ig
YmluYXJ5IAorIGZvcm1zOyBwcm92aWRlZCB0aGF0IGlmIHlvdSByZWRpc3RyaWJ1dGUgdGhlIEFw
cGxlIFNvZnR3YXJlIGluIGl0cyBlbnRpcmV0eSBhbmQgd2l0aG91dCAKKyBtb2RpZmljYXRpb25z
LCB5b3UgbXVzdCByZXRhaW4gdGhpcyBub3RpY2UgYW5kIHRoZSBmb2xsb3dpbmcgdGV4dCBhbmQg
ZGlzY2xhaW1lcnMgaW4gYWxsIAorIHN1Y2ggcmVkaXN0cmlidXRpb25zIG9mIHRoZSBBcHBsZSBT
b2Z0d2FyZS4gIE5laXRoZXIgdGhlIG5hbWUsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MgCisg
b3IgbG9nb3Mgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSAKKyB0aGUgQXBwbGUgU29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24gZnJvbSBBcHBsZS4gRXhjZXB0
IGFzIGV4cHJlc3NseQorIHN0YXRlZCBpbiB0aGlzIG5vdGljZSwgbm8gb3RoZXIgcmlnaHRzIG9y
IGxpY2Vuc2VzLCBleHByZXNzIG9yIGltcGxpZWQsIGFyZSBncmFudGVkIGJ5IEFwcGxlCisgaGVy
ZWluLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGFueSBwYXRlbnQgcmlnaHRzIHRoYXQg
bWF5IGJlIGluZnJpbmdlZCBieSB5b3VyIAorIGRlcml2YXRpdmUgd29ya3Mgb3IgYnkgb3RoZXIg
d29ya3MgaW4gd2hpY2ggdGhlIEFwcGxlIFNvZnR3YXJlIG1heSBiZSBpbmNvcnBvcmF0ZWQuCisg
CisgVGhlIEFwcGxlIFNvZnR3YXJlIGlzIHByb3ZpZGVkIGJ5IEFwcGxlIG9uIGFuICJBUyBJUyIg
YmFzaXMuICBBUFBMRSBNQUtFUyBOTyBXQVJSQU5USUVTLCAKKyBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBO
T04tSU5GUklOR0VNRU5ULCAKKyBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLCBSRUdBUkRJTkcgVEhFIEFQUExFIFNPRlRXQVJFIE9SIElUUyAKKyBV
U0UgQU5EIE9QRVJBVElPTiBBTE9ORSBPUiBJTiBDT01CSU5BVElPTiBXSVRIIFlPVVIgUFJPRFVD
VFMuCisgCisgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lB
TCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCAKKyBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyAKKyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFLCAKKyBS
RVBST0RVQ1RJT04sIE1PRElGSUNBVElPTiBBTkQvT1IgRElTVFJJQlVUSU9OIE9GIFRIRSBBUFBM
RSBTT0ZUV0FSRSwgSE9XRVZFUiBDQVVTRUQgQU5EIAorIFdIRVRIRVIgVU5ERVIgVEhFT1JZIE9G
IENPTlRSQUNULCBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSksIFNUUklDVCBMSUFCSUxJVFkg
T1IgCisgT1RIRVJXSVNFLCBFVkVOIElGIEFQUExFIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisjaW1wb3J0ICJQbHVnaW5PYmplY3QuaCIK
Kwordm9pZCBwbHVnaW5JbnZhbGlkYXRlICgpOworYm9vbCBwbHVnaW5IYXNQcm9wZXJ0eSAoTlBD
bGFzcyAqdGhlQ2xhc3MsIE5QSWRlbnRpZmllciBuYW1lKTsKK2Jvb2wgcGx1Z2luSGFzTWV0aG9k
IChOUENsYXNzICp0aGVDbGFzcywgTlBJZGVudGlmaWVyIG5hbWUpOwordm9pZCBwbHVnaW5HZXRQ
cm9wZXJ0eSAoUGx1Z2luT2JqZWN0ICpvYmosIE5QSWRlbnRpZmllciBuYW1lLCBOUFZhcmlhbnQg
KnZhcmlhbnQpOwordm9pZCBwbHVnaW5TZXRQcm9wZXJ0eSAoUGx1Z2luT2JqZWN0ICpvYmosIE5Q
SWRlbnRpZmllciBuYW1lLCBjb25zdCBOUFZhcmlhbnQgKnZhcmlhbnQpOwordm9pZCBwbHVnaW5J
bnZva2UgKFBsdWdpbk9iamVjdCAqb2JqLCBOUElkZW50aWZpZXIgbmFtZSwgTlBWYXJpYW50ICph
cmdzLCB1aW50MzJfdCBhcmdDb3VudCwgTlBWYXJpYW50ICpyZXN1bHQpOwordm9pZCBwbHVnaW5J
bnZva2VEZWZhdWx0IChQbHVnaW5PYmplY3QgKm9iaiwgTlBWYXJpYW50ICphcmdzLCB1aW50MzJf
dCBhcmdDb3VudCwgTlBWYXJpYW50ICpyZXN1bHQpOworTlBPYmplY3QgKnBsdWdpbkFsbG9jYXRl
IChOUFAgbnBwLCBOUENsYXNzICp0aGVDbGFzcyk7Cit2b2lkIHBsdWdpbkRlYWxsb2NhdGUgKFBs
dWdpbk9iamVjdCAqb2JqKTsKKworc3RhdGljIE5QQ2xhc3MgX3BsdWdpbkZ1bmN0aW9uUHRycyA9
IHsgCisgICAgTlBfQ0xBU1NfU1RSVUNUX1ZFUlNJT04sCisgICAgKE5QQWxsb2NhdGVGdW5jdGlv
blB0cikgcGx1Z2luQWxsb2NhdGUsIAorICAgIChOUERlYWxsb2NhdGVGdW5jdGlvblB0cikgcGx1
Z2luRGVhbGxvY2F0ZSwgCisgICAgKE5QSW52YWxpZGF0ZUZ1bmN0aW9uUHRyKSBwbHVnaW5JbnZh
bGlkYXRlLAorICAgIChOUEhhc01ldGhvZEZ1bmN0aW9uUHRyKSBwbHVnaW5IYXNNZXRob2QsCisg
ICAgKE5QSW52b2tlRnVuY3Rpb25QdHIpIHBsdWdpbkludm9rZSwKKyAgICAoTlBJbnZva2VEZWZh
dWx0RnVuY3Rpb25QdHIpIHBsdWdpbkludm9rZURlZmF1bHQsCisgICAgKE5QSGFzUHJvcGVydHlG
dW5jdGlvblB0cikgcGx1Z2luSGFzUHJvcGVydHksCisgICAgKE5QR2V0UHJvcGVydHlGdW5jdGlv
blB0cikgcGx1Z2luR2V0UHJvcGVydHksCisgICAgKE5QU2V0UHJvcGVydHlGdW5jdGlvblB0cikg
cGx1Z2luU2V0UHJvcGVydHksCit9OworIAorTlBDbGFzcyAqZ2V0UGx1Z2luQ2xhc3Modm9pZCkK
K3sKKyAgICByZXR1cm4gJl9wbHVnaW5GdW5jdGlvblB0cnM7Cit9CisKK3N0YXRpYyBib29sIGlk
ZW50aWZpZXJzSW5pdGlhbGl6ZWQgPSBmYWxzZTsKKworI2RlZmluZSBJRF9QUk9QRVJUWV9QUk9Q
RVJUWSAgICAgICAgMAorI2RlZmluZSBOVU1fUFJPUEVSVFlfSURFTlRJRklFUlMgICAgMQorCitz
dGF0aWMgTlBJZGVudGlmaWVyIHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbTlVNX1BST1BFUlRZ
X0lERU5USUZJRVJTXTsKK3N0YXRpYyBjb25zdCBOUFVURjggKnBsdWdpblByb3BlcnR5SWRlbnRp
Zmllck5hbWVzW05VTV9QUk9QRVJUWV9JREVOVElGSUVSU10gPSB7CisgICAgInByb3BlcnR5Igor
fTsKKworI2RlZmluZSBJRF9URVNUX0NBTExCQUNLX01FVEhPRCAgICAgMAorI2RlZmluZSBOVU1f
TUVUSE9EX0lERU5USUZJRVJTICAgICAgMQorCitzdGF0aWMgTlBJZGVudGlmaWVyIHBsdWdpbk1l
dGhvZElkZW50aWZpZXJzW05VTV9NRVRIT0RfSURFTlRJRklFUlNdOworc3RhdGljIGNvbnN0IE5Q
VVRGOCAqcGx1Z2luTWV0aG9kSWRlbnRpZmllck5hbWVzW05VTV9NRVRIT0RfSURFTlRJRklFUlNd
ID0geworICAgICJ0ZXN0Q2FsbGJhY2siCit9OworCitzdGF0aWMgdm9pZCBpbml0aWFsaXplSWRl
bnRpZmllcnMoKQoreworICAgIGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXJzIChwbHVnaW5Q
cm9wZXJ0eUlkZW50aWZpZXJOYW1lcywgTlVNX1BST1BFUlRZX0lERU5USUZJRVJTLCBwbHVnaW5Q
cm9wZXJ0eUlkZW50aWZpZXJzKTsKKyAgICBicm93c2VyLT5nZXRzdHJpbmdpZGVudGlmaWVycyAo
cGx1Z2luTWV0aG9kSWRlbnRpZmllck5hbWVzLCBOVU1fTUVUSE9EX0lERU5USUZJRVJTLCBwbHVn
aW5NZXRob2RJZGVudGlmaWVycyk7Cit9OworCitib29sIHBsdWdpbkhhc1Byb3BlcnR5IChOUENs
YXNzICp0aGVDbGFzcywgTlBJZGVudGlmaWVyIG5hbWUpCit7CisgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBOVU1fUFJPUEVSVFlfSURFTlRJRklFUlM7IGkrKykgeworICAgICAgICBpZiAobmFtZSA9
PSBwbHVnaW5Qcm9wZXJ0eUlkZW50aWZpZXJzW2ldKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBwbHVnaW5IYXNNZXRob2QgKE5Q
Q2xhc3MgKnRoZUNsYXNzLCBOUElkZW50aWZpZXIgbmFtZSkKK3sKKyAgICBmb3IgKGludCBpID0g
MDsgaSA8IE5VTV9NRVRIT0RfSURFTlRJRklFUlM7IGkrKykgeworICAgICAgICBpZiAobmFtZSA9
PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tpXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgcGx1Z2luR2V0UHJvcGVydHkgKFBs
dWdpbk9iamVjdCAqb2JqLCBOUElkZW50aWZpZXIgbmFtZSwgTlBWYXJpYW50ICp2YXJpYW50KQor
eworICAgIGlmIChuYW1lID09IHBsdWdpblByb3BlcnR5SWRlbnRpZmllcnNbSURfUFJPUEVSVFlf
UFJPUEVSVFldKSB7CisgICAgICAgIC8vIGp1c3QgcmV0dXJuICJwcm9wZXJ0eSIKKyAgICAgICAg
TlBTdHJpbmcgcHJvcGVydHlOYW1lU3RyaW5nOworICAgICAgICBwcm9wZXJ0eU5hbWVTdHJpbmcu
VVRGOENoYXJhY3RlcnMgPSAicHJvcGVydHkiOworICAgICAgICBwcm9wZXJ0eU5hbWVTdHJpbmcu
VVRGOExlbmd0aCA9IHNpemVvZigicHJvcGVydHkiKSAtIDE7CisgICAgICAgIHZhcmlhbnQtPnR5
cGUgPSBOUFZhcmlhbnRUeXBlX1N0cmluZzsKKyAgICAgICAgdmFyaWFudC0+dmFsdWUuc3RyaW5n
VmFsdWUgPSBwcm9wZXJ0eU5hbWVTdHJpbmc7CisgICAgfSBlbHNlCisgICAgICAgIHZhcmlhbnQt
PnR5cGUgPSBOUFZhcmlhbnRUeXBlX1ZvaWQ7Cit9CisKK3ZvaWQgcGx1Z2luU2V0UHJvcGVydHkg
KFBsdWdpbk9iamVjdCAqb2JqLCBOUElkZW50aWZpZXIgbmFtZSwgY29uc3QgTlBWYXJpYW50ICp2
YXJpYW50KQoreworfQorCit2b2lkIHBsdWdpbkludm9rZSAoUGx1Z2luT2JqZWN0ICpvYmosIE5Q
SWRlbnRpZmllciBuYW1lLCBOUFZhcmlhbnQgKmFyZ3MsIHVuc2lnbmVkIGFyZ0NvdW50LCBOUFZh
cmlhbnQgKnJlc3VsdCkKK3sKKyAgICBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVy
c1tJRF9URVNUX0NBTExCQUNLX01FVEhPRF0pIHsKKyAgICAgICAgLy8gY2FsbCB3aGF0ZXZlciBt
ZXRob2QgbmFtZSB3ZSdyZSBnaXZlbgorICAgICAgICBpZiAoYXJnQ291bnQgPiAwICYmIGFyZ3Mt
PnR5cGUgPT0gTlBWYXJpYW50VHlwZV9TdHJpbmcpIHsKKyAgICAgICAgICAgIE5QVmFyaWFudCBi
cm93c2VyUmVzdWx0OworICAgICAgICAgICAgCisgICAgICAgICAgICBOUE9iamVjdCAqd2luZG93
U2NyaXB0T2JqZWN0OworICAgICAgICAgICAgYnJvd3Nlci0+Z2V0dmFsdWUob2JqLT5ucHAsIE5Q
UFZwbHVnaW5TY3JpcHRhYmxlTlBPYmplY3QsICZ3aW5kb3dTY3JpcHRPYmplY3QpOworCisgICAg
ICAgICAgICBOUFN0cmluZyBhcmdTdHJpbmcgPSBhcmdzWzBdLnZhbHVlLnN0cmluZ1ZhbHVlOwor
ICAgICAgICAgICAgaW50IHNpemUgPSBhcmdTdHJpbmcuVVRGOExlbmd0aCArIDE7CisgICAgICAg
ICAgICBOUFVURjggY2FsbGJhY2tTdHJpbmdbc2l6ZV07CisgICAgICAgICAgICBzdHJuY3B5KGNh
bGxiYWNrU3RyaW5nLCBhcmdTdHJpbmcuVVRGOENoYXJhY3RlcnMsIGFyZ1N0cmluZy5VVEY4TGVu
Z3RoKTsKKyAgICAgICAgICAgIGNhbGxiYWNrU3RyaW5nW3NpemUgLSAxXSA9ICdcMCc7CisKKyAg
ICAgICAgICAgIE5QSWRlbnRpZmllciBjYWxsYmFja01ldGhvZElEID0gYnJvd3Nlci0+Z2V0c3Ry
aW5naWRlbnRpZmllcihjYWxsYmFja1N0cmluZyk7CisgICAgICAgICAgICBicm93c2VyLT5pbnZv
a2Uob2JqLT5ucHAsIHdpbmRvd1NjcmlwdE9iamVjdCwgY2FsbGJhY2tNZXRob2RJRCwgMCwgMCwg
JmJyb3dzZXJSZXN1bHQpOworICAgICAgICB9CisgICAgfQorCisgICAgcmVzdWx0LT50eXBlID0g
TlBWYXJpYW50VHlwZV9Wb2lkOworfQorCit2b2lkIHBsdWdpbkludm9rZURlZmF1bHQgKFBsdWdp
bk9iamVjdCAqb2JqLCBOUFZhcmlhbnQgKmFyZ3MsIHVuc2lnbmVkIGFyZ0NvdW50LCBOUFZhcmlh
bnQgKnJlc3VsdCkKK3sKKyAgICByZXN1bHQtPnR5cGUgPSBOUFZhcmlhbnRUeXBlX1ZvaWQ7Cit9
CisKK3ZvaWQgcGx1Z2luSW52YWxpZGF0ZSAoKQoreworICAgIC8vIE1ha2Ugc3VyZSB3ZSd2ZSBy
ZWxlYXNlZCBhbnkgcmVtYWluZ2luZyByZWZlcmVuY2VzIHRvIEphdmFTY3JpcHQKKyAgICAvLyBv
YmplY3RzLgorfQorCitOUE9iamVjdCAqcGx1Z2luQWxsb2NhdGUgKE5QUCBucHAsIE5QQ2xhc3Mg
KnRoZUNsYXNzKQoreworICAgIFBsdWdpbk9iamVjdCAqbmV3SW5zdGFuY2UgPSAoUGx1Z2luT2Jq
ZWN0ICopbWFsbG9jIChzaXplb2YoUGx1Z2luT2JqZWN0KSk7CisgICAgCisgICAgaWYgKCFpZGVu
dGlmaWVyc0luaXRpYWxpemVkKSB7CisgICAgICAgIGlkZW50aWZpZXJzSW5pdGlhbGl6ZWQgPSB0
cnVlOworICAgICAgICBpbml0aWFsaXplSWRlbnRpZmllcnMoKTsKKyAgICB9CisKKyAgICBuZXdJ
bnN0YW5jZS0+bnBwID0gbnBwOworICAgIAorICAgIHJldHVybiAoTlBPYmplY3QgKiluZXdJbnN0
YW5jZTsKK30KKwordm9pZCBwbHVnaW5EZWFsbG9jYXRlIChQbHVnaW5PYmplY3QgKm9iaikgCit7
CisgICAgZnJlZSAoKHZvaWQgKilvYmopOworfQorCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiBUZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuaApk
aWZmIC1OIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJw
cm9qL1BsdWdpbk9iamVjdC5oCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuaAkxIEphbiAxOTcwIDAwOjAwOjAwIC0w
MDAwCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3Vi
cHJvai9QbHVnaW5PYmplY3QuaAk1IEphbiAyMDA2IDE3OjM4OjM2IC0wMDAwCkBAIC0wLDAgKzEs
NDggQEAKKy8qCisgSU1QT1JUQU5UOiAgVGhpcyBBcHBsZSBzb2Z0d2FyZSBpcyBzdXBwbGllZCB0
byB5b3UgYnkgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIGluCisgY29uc2lkZXJhdGlv
biBvZiB5b3VyIGFncmVlbWVudCB0byB0aGUgZm9sbG93aW5nIHRlcm1zLCBhbmQgeW91ciB1c2Us
IGluc3RhbGxhdGlvbiwgCisgbW9kaWZpY2F0aW9uIG9yIHJlZGlzdHJpYnV0aW9uIG9mIHRoaXMg
QXBwbGUgc29mdHdhcmUgY29uc3RpdHV0ZXMgYWNjZXB0YW5jZSBvZiB0aGVzZSAKKyB0ZXJtcy4g
IElmIHlvdSBkbyBub3QgYWdyZWUgd2l0aCB0aGVzZSB0ZXJtcywgcGxlYXNlIGRvIG5vdCB1c2Us
IGluc3RhbGwsIG1vZGlmeSBvciAKKyByZWRpc3RyaWJ1dGUgdGhpcyBBcHBsZSBzb2Z0d2FyZS4K
KyAKKyBJbiBjb25zaWRlcmF0aW9uIG9mIHlvdXIgYWdyZWVtZW50IHRvIGFiaWRlIGJ5IHRoZSBm
b2xsb3dpbmcgdGVybXMsIGFuZCBzdWJqZWN0IHRvIHRoZXNlIAorIHRlcm1zLCBBcHBsZSBncmFu
dHMgeW91IGEgcGVyc29uYWwsIG5vbi1leGNsdXNpdmUgbGljZW5zZSwgdW5kZXIgQXBwbGXVcyBj
b3B5cmlnaHRzIGluIAorIHRoaXMgb3JpZ2luYWwgQXBwbGUgc29mdHdhcmUgKHRoZSAiQXBwbGUg
U29mdHdhcmUiKSwgdG8gdXNlLCByZXByb2R1Y2UsIG1vZGlmeSBhbmQgCisgcmVkaXN0cmlidXRl
IHRoZSBBcHBsZSBTb2Z0d2FyZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGluIHNv
dXJjZSBhbmQvb3IgYmluYXJ5IAorIGZvcm1zOyBwcm92aWRlZCB0aGF0IGlmIHlvdSByZWRpc3Ry
aWJ1dGUgdGhlIEFwcGxlIFNvZnR3YXJlIGluIGl0cyBlbnRpcmV0eSBhbmQgd2l0aG91dCAKKyBt
b2RpZmljYXRpb25zLCB5b3UgbXVzdCByZXRhaW4gdGhpcyBub3RpY2UgYW5kIHRoZSBmb2xsb3dp
bmcgdGV4dCBhbmQgZGlzY2xhaW1lcnMgaW4gYWxsIAorIHN1Y2ggcmVkaXN0cmlidXRpb25zIG9m
IHRoZSBBcHBsZSBTb2Z0d2FyZS4gIE5laXRoZXIgdGhlIG5hbWUsIHRyYWRlbWFya3MsIHNlcnZp
Y2UgbWFya3MgCisgb3IgbG9nb3Mgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSAKKyB0aGUgQXBwbGUg
U29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24gZnJvbSBB
cHBsZS4gRXhjZXB0IGFzIGV4cHJlc3NseQorIHN0YXRlZCBpbiB0aGlzIG5vdGljZSwgbm8gb3Ro
ZXIgcmlnaHRzIG9yIGxpY2Vuc2VzLCBleHByZXNzIG9yIGltcGxpZWQsIGFyZSBncmFudGVkIGJ5
IEFwcGxlCisgaGVyZWluLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGFueSBwYXRlbnQg
cmlnaHRzIHRoYXQgbWF5IGJlIGluZnJpbmdlZCBieSB5b3VyIAorIGRlcml2YXRpdmUgd29ya3Mg
b3IgYnkgb3RoZXIgd29ya3MgaW4gd2hpY2ggdGhlIEFwcGxlIFNvZnR3YXJlIG1heSBiZSBpbmNv
cnBvcmF0ZWQuCisgCisgVGhlIEFwcGxlIFNvZnR3YXJlIGlzIHByb3ZpZGVkIGJ5IEFwcGxlIG9u
IGFuICJBUyBJUyIgYmFzaXMuICBBUFBMRSBNQUtFUyBOTyBXQVJSQU5USUVTLCAKKyBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBOT04tSU5GUklOR0VNRU5ULCAKKyBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBSRUdBUkRJTkcgVEhFIEFQUExFIFNPRlRXQVJF
IE9SIElUUyAKKyBVU0UgQU5EIE9QRVJBVElPTiBBTE9ORSBPUiBJTiBDT01CSU5BVElPTiBXSVRI
IFlPVVIgUFJPRFVDVFMuCisgCisgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQkUgTElBQkxFIEZP
UiBBTlkgU1BFQ0lBTCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCAKKyBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyAKKyAgICAgICAgICBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFLCAKKyBSRVBST0RVQ1RJT04sIE1PRElGSUNBVElPTiBBTkQvT1IgRElT
VFJJQlVUSU9OIE9GIFRIRSBBUFBMRSBTT0ZUV0FSRSwgSE9XRVZFUiBDQVVTRUQgQU5EIAorIFdI
RVRIRVIgVU5ERVIgVEhFT1JZIE9GIENPTlRSQUNULCBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSksIFNUUklDVCBMSUFCSUxJVFkgT1IgCisgT1RIRVJXSVNFLCBFVkVOIElGIEFQUExFIEhBUyBC
RUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisjaW1w
b3J0IDxXZWJLaXQvbnBhcGkuaD4KKyNpbXBvcnQgPFdlYktpdC9ucGZ1bmN0aW9ucy5oPgorI2lt
cG9ydCA8V2ViS2l0L25wcnVudGltZS5oPgorCitleHRlcm4gTlBOZXRzY2FwZUZ1bmNzKiBicm93
c2VyOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIE5QQ2xhc3MgKl9jbGFzczsKKyAgICB1aW50
MzJfdCByZWZlcmVuY2VDb3VudDsKKyAgICBOUFAgbnBwOworICAgIE5QV2luZG93KiB3aW5kb3c7
Cit9IFBsdWdpbk9iamVjdDsKKworZXh0ZXJuIE5QQ2xhc3MgKmdldFBsdWdpbkNsYXNzKHZvaWQp
OworCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4u
c3VicHJvai9tYWluLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogVGVzdE5ldHNjYXBlUGx1Z0luLnN1
YnByb2ovbWFpbi5jCmRpZmYgLU4gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luLnN1YnByb2ovbWFpbi5jCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9tYWluLmMJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAw
MAorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnBy
b2ovbWFpbi5jCTUgSmFuIDIwMDYgMTc6Mzg6MzYgLTAwMDAKQEAgLTAsMCArMSwxNzUgQEAKKy8q
CisgSU1QT1JUQU5UOiAgVGhpcyBBcHBsZSBzb2Z0d2FyZSBpcyBzdXBwbGllZCB0byB5b3UgYnkg
QXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIGluCisgY29uc2lkZXJhdGlvbiBvZiB5b3Vy
IGFncmVlbWVudCB0byB0aGUgZm9sbG93aW5nIHRlcm1zLCBhbmQgeW91ciB1c2UsIGluc3RhbGxh
dGlvbiwgCisgbW9kaWZpY2F0aW9uIG9yIHJlZGlzdHJpYnV0aW9uIG9mIHRoaXMgQXBwbGUgc29m
dHdhcmUgY29uc3RpdHV0ZXMgYWNjZXB0YW5jZSBvZiB0aGVzZSAKKyB0ZXJtcy4gIElmIHlvdSBk
byBub3QgYWdyZWUgd2l0aCB0aGVzZSB0ZXJtcywgcGxlYXNlIGRvIG5vdCB1c2UsIGluc3RhbGws
IG1vZGlmeSBvciAKKyByZWRpc3RyaWJ1dGUgdGhpcyBBcHBsZSBzb2Z0d2FyZS4KKyAKKyBJbiBj
b25zaWRlcmF0aW9uIG9mIHlvdXIgYWdyZWVtZW50IHRvIGFiaWRlIGJ5IHRoZSBmb2xsb3dpbmcg
dGVybXMsIGFuZCBzdWJqZWN0IHRvIHRoZXNlIAorIHRlcm1zLCBBcHBsZSBncmFudHMgeW91IGEg
cGVyc29uYWwsIG5vbi1leGNsdXNpdmUgbGljZW5zZSwgdW5kZXIgQXBwbGXVcyBjb3B5cmlnaHRz
IGluIAorIHRoaXMgb3JpZ2luYWwgQXBwbGUgc29mdHdhcmUgKHRoZSAiQXBwbGUgU29mdHdhcmUi
KSwgdG8gdXNlLCByZXByb2R1Y2UsIG1vZGlmeSBhbmQgCisgcmVkaXN0cmlidXRlIHRoZSBBcHBs
ZSBTb2Z0d2FyZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGluIHNvdXJjZSBhbmQv
b3IgYmluYXJ5IAorIGZvcm1zOyBwcm92aWRlZCB0aGF0IGlmIHlvdSByZWRpc3RyaWJ1dGUgdGhl
IEFwcGxlIFNvZnR3YXJlIGluIGl0cyBlbnRpcmV0eSBhbmQgd2l0aG91dCAKKyBtb2RpZmljYXRp
b25zLCB5b3UgbXVzdCByZXRhaW4gdGhpcyBub3RpY2UgYW5kIHRoZSBmb2xsb3dpbmcgdGV4dCBh
bmQgZGlzY2xhaW1lcnMgaW4gYWxsIAorIHN1Y2ggcmVkaXN0cmlidXRpb25zIG9mIHRoZSBBcHBs
ZSBTb2Z0d2FyZS4gIE5laXRoZXIgdGhlIG5hbWUsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3Mg
Cisgb3IgbG9nb3Mgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSAKKyB0aGUgQXBwbGUgU29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24gZnJvbSBBcHBsZS4gRXhj
ZXB0IGFzIGV4cHJlc3NseQorIHN0YXRlZCBpbiB0aGlzIG5vdGljZSwgbm8gb3RoZXIgcmlnaHRz
IG9yIGxpY2Vuc2VzLCBleHByZXNzIG9yIGltcGxpZWQsIGFyZSBncmFudGVkIGJ5IEFwcGxlCisg
aGVyZWluLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGFueSBwYXRlbnQgcmlnaHRzIHRo
YXQgbWF5IGJlIGluZnJpbmdlZCBieSB5b3VyIAorIGRlcml2YXRpdmUgd29ya3Mgb3IgYnkgb3Ro
ZXIgd29ya3MgaW4gd2hpY2ggdGhlIEFwcGxlIFNvZnR3YXJlIG1heSBiZSBpbmNvcnBvcmF0ZWQu
CisgCisgVGhlIEFwcGxlIFNvZnR3YXJlIGlzIHByb3ZpZGVkIGJ5IEFwcGxlIG9uIGFuICJBUyBJ
UyIgYmFzaXMuICBBUFBMRSBNQUtFUyBOTyBXQVJSQU5USUVTLCAKKyBFWFBSRVNTIE9SIElNUExJ
RUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBOT04tSU5GUklOR0VNRU5ULCAKKyBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLCBSRUdBUkRJTkcgVEhFIEFQUExFIFNPRlRXQVJFIE9SIElUUyAK
KyBVU0UgQU5EIE9QRVJBVElPTiBBTE9ORSBPUiBJTiBDT01CSU5BVElPTiBXSVRIIFlPVVIgUFJP
RFVDVFMuCisgCisgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQkUgTElBQkxFIEZPUiBBTlkgU1BF
Q0lBTCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCAKKyBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyAKKyAgICAgICAgICBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFLCAKKyBSRVBST0RVQ1RJT04sIE1PRElGSUNBVElPTiBBTkQvT1IgRElTVFJJQlVUSU9O
IE9GIFRIRSBBUFBMRSBTT0ZUV0FSRSwgSE9XRVZFUiBDQVVTRUQgQU5EIAorIFdIRVRIRVIgVU5E
RVIgVEhFT1JZIE9GIENPTlRSQUNULCBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSksIFNUUklD
VCBMSUFCSUxJVFkgT1IgCisgT1RIRVJXSVNFLCBFVkVOIElGIEFQUExFIEhBUyBCRUVOIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisjaW1wb3J0ICJQbHVn
aW5PYmplY3QuaCIKKworTlBOZXRzY2FwZUZ1bmNzICpicm93c2VyOworCitOUEVycm9yICAgICBO
UFBfTmV3KE5QTUlNRVR5cGUgcGx1Z2luVHlwZSwgTlBQIGluc3RhbmNlLCB1aW50MTYgbW9kZSwg
aW50MTYgYXJnYywgY2hhciAqYXJnbltdLCBjaGFyICphcmd2W10sIE5QU2F2ZWREYXRhICpzYXZl
ZCk7CitOUEVycm9yICAgICBOUFBfRGVzdHJveShOUFAgaW5zdGFuY2UsIE5QU2F2ZWREYXRhKiAq
c2F2ZSk7CitOUEVycm9yICAgICBOUFBfU2V0V2luZG93KE5QUCBpbnN0YW5jZSwgTlBXaW5kb3cg
KndpbmRvdyk7CitOUEVycm9yICAgICBOUFBfTmV3U3RyZWFtKE5QUCBpbnN0YW5jZSwgTlBNSU1F
VHlwZSB0eXBlLCBOUFN0cmVhbSAqc3RyZWFtLCBOUEJvb2wgc2Vla2FibGUsIHVpbnQxNiAqc3R5
cGUpOworTlBFcnJvciAgICAgTlBQX0Rlc3Ryb3lTdHJlYW0oTlBQIGluc3RhbmNlLCBOUFN0cmVh
bSAqc3RyZWFtLCBOUFJlYXNvbiByZWFzb24pOworaW50MzIgICAgICAgTlBQX1dyaXRlUmVhZHko
TlBQIGluc3RhbmNlLCBOUFN0cmVhbSAqc3RyZWFtKTsKK2ludDMyICAgICAgIE5QUF9Xcml0ZShO
UFAgaW5zdGFuY2UsIE5QU3RyZWFtICpzdHJlYW0sIGludDMyIG9mZnNldCwgaW50MzIgbGVuLCB2
b2lkICpidWZmZXIpOwordm9pZCAgICAgICAgTlBQX1N0cmVhbUFzRmlsZShOUFAgaW5zdGFuY2Us
IE5QU3RyZWFtICpzdHJlYW0sIGNvbnN0IGNoYXIgKmZuYW1lKTsKK3ZvaWQgICAgICAgIE5QUF9Q
cmludChOUFAgaW5zdGFuY2UsIE5QUHJpbnQgKnBsYXRmb3JtUHJpbnQpOworaW50MTYgICAgICAg
TlBQX0hhbmRsZUV2ZW50KE5QUCBpbnN0YW5jZSwgdm9pZCAqZXZlbnQpOwordm9pZCAgICAgICAg
TlBQX1VSTE5vdGlmeShOUFAgaW5zdGFuY2UsIGNvbnN0IGNoYXIgKlVSTCwgTlBSZWFzb24gcmVh
c29uLCB2b2lkICpub3RpZnlEYXRhKTsKK05QRXJyb3IgICAgIE5QUF9HZXRWYWx1ZShOUFAgaW5z
dGFuY2UsIE5QUFZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkICp2YWx1ZSk7CitOUEVycm9yICAgICBO
UFBfU2V0VmFsdWUoTlBQIGluc3RhbmNlLCBOUE5WYXJpYWJsZSB2YXJpYWJsZSwgdm9pZCAqdmFs
dWUpOworCisjcHJhZ21hIGV4cG9ydCBvbgorLy8gTWFjaC1vIGVudHJ5IHBvaW50cworTlBFcnJv
ciBOUF9Jbml0aWFsaXplKE5QTmV0c2NhcGVGdW5jcyAqYnJvd3NlckZ1bmNzKTsKK05QRXJyb3Ig
TlBfR2V0RW50cnlQb2ludHMoTlBQbHVnaW5GdW5jcyAqcGx1Z2luRnVuY3MpOwordm9pZCBOUF9T
aHV0ZG93bih2b2lkKTsKKyNwcmFnbWEgZXhwb3J0IG9mZgorCisKK3R5cGVkZWYgdm9pZCAoKkZ1
bmN0aW9uUG9pbnRlcikgKHZvaWQpOwordHlwZWRlZiB2b2lkICgqVHJhbnNpdGlvblZlY3Rvcikg
KHZvaWQpOworCisvLyBNYWNoLW8gZW50cnkgcG9pbnRzCitOUEVycm9yIE5QX0luaXRpYWxpemUo
TlBOZXRzY2FwZUZ1bmNzICpicm93c2VyRnVuY3MpCit7CisgICAgYnJvd3NlciA9IGJyb3dzZXJG
dW5jczsKKyAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7Cit9CisKK05QRXJyb3IgTlBfR2V0RW50
cnlQb2ludHMoTlBQbHVnaW5GdW5jcyAqcGx1Z2luRnVuY3MpCit7CisgICAgcGx1Z2luRnVuY3Mt
PnZlcnNpb24gPSAxMTsKKyAgICBwbHVnaW5GdW5jcy0+c2l6ZSA9IHNpemVvZihwbHVnaW5GdW5j
cyk7CisgICAgcGx1Z2luRnVuY3MtPm5ld3AgPSBOUFBfTmV3OworICAgIHBsdWdpbkZ1bmNzLT5k
ZXN0cm95ID0gTlBQX0Rlc3Ryb3k7CisgICAgcGx1Z2luRnVuY3MtPnNldHdpbmRvdyA9IE5QUF9T
ZXRXaW5kb3c7CisgICAgcGx1Z2luRnVuY3MtPm5ld3N0cmVhbSA9IE5QUF9OZXdTdHJlYW07Cisg
ICAgcGx1Z2luRnVuY3MtPmRlc3Ryb3lzdHJlYW0gPSBOUFBfRGVzdHJveVN0cmVhbTsKKyAgICBw
bHVnaW5GdW5jcy0+YXNmaWxlID0gTlBQX1N0cmVhbUFzRmlsZTsKKyAgICBwbHVnaW5GdW5jcy0+
d3JpdGVyZWFkeSA9IE5QUF9Xcml0ZVJlYWR5OworICAgIHBsdWdpbkZ1bmNzLT53cml0ZSA9IChO
UFBfV3JpdGVQcm9jUHRyKU5QUF9Xcml0ZTsKKyAgICBwbHVnaW5GdW5jcy0+cHJpbnQgPSBOUFBf
UHJpbnQ7CisgICAgcGx1Z2luRnVuY3MtPmV2ZW50ID0gTlBQX0hhbmRsZUV2ZW50OworICAgIHBs
dWdpbkZ1bmNzLT51cmxub3RpZnkgPSBOUFBfVVJMTm90aWZ5OworICAgIHBsdWdpbkZ1bmNzLT5n
ZXR2YWx1ZSA9IE5QUF9HZXRWYWx1ZTsKKyAgICBwbHVnaW5GdW5jcy0+c2V0dmFsdWUgPSBOUFBf
U2V0VmFsdWU7CisgICAgCisgICAgcmV0dXJuIE5QRVJSX05PX0VSUk9SOworfQorCit2b2lkIE5Q
X1NodXRkb3duKHZvaWQpCit7CisgICAgCit9CisKK05QRXJyb3IgTlBQX05ldyhOUE1JTUVUeXBl
IHBsdWdpblR5cGUsIE5QUCBpbnN0YW5jZSwgdWludDE2IG1vZGUsIGludDE2IGFyZ2MsIGNoYXIg
KmFyZ25bXSwgY2hhciAqYXJndltdLCBOUFNhdmVkRGF0YSAqc2F2ZWQpCit7CisgICAgaWYgKGJy
b3dzZXItPnZlcnNpb24gPj0gMTQpCisgICAgICAgIGluc3RhbmNlLT5wZGF0YSA9IGJyb3dzZXIt
PmNyZWF0ZW9iamVjdCAoaW5zdGFuY2UsIGdldFBsdWdpbkNsYXNzKCkpOworICAgIAorICAgIHJl
dHVybiBOUEVSUl9OT19FUlJPUjsKK30KKworTlBFcnJvciBOUFBfRGVzdHJveShOUFAgaW5zdGFu
Y2UsIE5QU2F2ZWREYXRhICoqc2F2ZSkKK3sKKyAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7Cit9
CisKK05QRXJyb3IgTlBQX1NldFdpbmRvdyhOUFAgaW5zdGFuY2UsIE5QV2luZG93ICp3aW5kb3cp
Cit7CisgICAgUGx1Z2luT2JqZWN0ICpvYmogPSBpbnN0YW5jZS0+cGRhdGE7CisgICAgCisgICAg
Ly8gRG8gbm90aGluZyBpZiBicm93c2VyIGRpZG4ndCBzdXBwb3J0IE5QTl9DcmVhdGVPYmplY3Qg
d2hpY2ggd291bGQgaGF2ZSBjcmVhdGVkIHRoZSBQbHVnaW5PYmplY3QuCisgICAgaWYgKG9iaiAh
PSBOVUxMKQorICAgICAgICBvYmotPndpbmRvdyA9IHdpbmRvdzsKKyAgICAKKyAgICByZXR1cm4g
TlBFUlJfTk9fRVJST1I7Cit9CisKKworTlBFcnJvciBOUFBfTmV3U3RyZWFtKE5QUCBpbnN0YW5j
ZSwgTlBNSU1FVHlwZSB0eXBlLCBOUFN0cmVhbSAqc3RyZWFtLCBOUEJvb2wgc2Vla2FibGUsIHVp
bnQxNiAqc3R5cGUpCit7CisgICAgKnN0eXBlID0gTlBfQVNGSUxFT05MWTsKKyAgICByZXR1cm4g
TlBFUlJfTk9fRVJST1I7Cit9CisKK05QRXJyb3IgTlBQX0Rlc3Ryb3lTdHJlYW0oTlBQIGluc3Rh
bmNlLCBOUFN0cmVhbSAqc3RyZWFtLCBOUFJlYXNvbiByZWFzb24pCit7CisgICAgcmV0dXJuIE5Q
RVJSX05PX0VSUk9SOworfQorCitpbnQzMiBOUFBfV3JpdGVSZWFkeShOUFAgaW5zdGFuY2UsIE5Q
U3RyZWFtICpzdHJlYW0pCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludDMyIE5QUF9Xcml0ZShO
UFAgaW5zdGFuY2UsIE5QU3RyZWFtICpzdHJlYW0sIGludDMyIG9mZnNldCwgaW50MzIgbGVuLCB2
b2lkICpidWZmZXIpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgTlBQX1N0cmVhbUFzRmls
ZShOUFAgaW5zdGFuY2UsIE5QU3RyZWFtICpzdHJlYW0sIGNvbnN0IGNoYXIgKmZuYW1lKQorewor
ICAgIAorfQorCit2b2lkIE5QUF9QcmludChOUFAgaW5zdGFuY2UsIE5QUHJpbnQgKnBsYXRmb3Jt
UHJpbnQpCit7CisgICAgCit9CisKK2ludDE2IE5QUF9IYW5kbGVFdmVudChOUFAgaW5zdGFuY2Us
IHZvaWQgKmV2ZW50KQoreworICAgIHJldHVybiAwOworfQorCit2b2lkIE5QUF9VUkxOb3RpZnko
TlBQIGluc3RhbmNlLCBjb25zdCBjaGFyICp1cmwsIE5QUmVhc29uIHJlYXNvbiwgdm9pZCAqbm90
aWZ5RGF0YSkKK3sKKyAgICAKK30KKworTlBFcnJvciBOUFBfR2V0VmFsdWUoTlBQIGluc3RhbmNl
LCBOUFBWYXJpYWJsZSB2YXJpYWJsZSwgdm9pZCAqdmFsdWUpCit7CisgICAgaWYgKHZhcmlhYmxl
ID09IE5QUFZwbHVnaW5TY3JpcHRhYmxlTlBPYmplY3QpIHsKKyAgICAgICAgdm9pZCAqKnYgPSAo
dm9pZCAqKil2YWx1ZTsKKyAgICAgICAgUGx1Z2luT2JqZWN0ICpvYmogPSBpbnN0YW5jZS0+cGRh
dGE7CisgICAgICAgICp2ID0gb2JqOworICAgICAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7Cisg
ICAgfQorICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOworfQorCitOUEVycm9yIE5QUF9T
ZXRWYWx1ZShOUFAgaW5zdGFuY2UsIE5QTlZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkICp2YWx1ZSkK
K3sKKyAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19FUlJPUjsKK30K
</data>
<flag name="review"
          id="1190"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>