<?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>11082</bug_id>
          
          <creation_ts>2006-09-29 06:07:19 -0700</creation_ts>
          <short_desc>Simplify Internal methods for the auto-generated Objective-C DOM code</short_desc>
          <delta_ts>2006-09-29 13:31:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>56757</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-29 06:07:19 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56759</commentid>
    <comment_count>1</comment_count>
      <attachid>10835</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-29 06:10:49 -0700</bug_when>
    <thetext>Created attachment 10835
patch

- Lets the Objective-C classes handle the init functionality themselves, rather than relying on the parent classes to handle it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56792</commentid>
    <comment_count>2</comment_count>
      <attachid>10835</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-09-29 09:59:46 -0700</bug_when>
    <thetext>Comment on attachment 10835
patch

This patch is good, but we still need a way for other code in WebCore to make the correct ObjC class when they have a node. Right now this patch would start returning DOMNode for every node returned from JavaScript. We&apos;ll talk about this more on IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56806</commentid>
    <comment_count>3</comment_count>
      <attachid>10839</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-29 12:50:01 -0700</bug_when>
    <thetext>Created attachment 10839
patch 2

Simpler attempt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56807</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-29 13:31:53 -0700</bug_when>
    <thetext>Landed in r16645.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10835</attachid>
            <date>2006-09-29 06:10:49 -0700</date>
            <delta_ts>2006-09-29 12:50:01 -0700</delta_ts>
            <desc>patch</desc>
            <filename>internalCleanUp.diff</filename>
            <type>text/plain</type>
            <size>64107</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTQgQEAKKzIwMDYtMDktMjkgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
YXRjaCBmb3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTA4MgorICAgICAgICBTaW1wbGlmeSBJbnRlcm5hbCBtZXRob2RzIGZvciB0aGUgYXV0by1nZW5l
cmF0ZWQgT2JqZWN0aXZlLUMgRE9NIGNvZGUKKworICAgICAgICAtIExldHMgdGhlIE9iamVjdGl2
ZS1DIGNsYXNzZXMgaGFuZGxlIHRoZSBpbml0IGZ1bmN0aW9uYWxpdHkgdGhlbXNlbHZlcywKKyAg
ICAgICAgICByYXRoZXIgdGhhbiByZWx5aW5nIG9uIHRoZSBwYXJlbnQgY2xhc3NlcyB0byBoYW5k
bGUgaXQuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYmluZGluZ3Mvb2JqYy9ET00ubW06CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9E
T01DU1MubW06CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01FdmVudHMubW06CisgICAgICAg
ICogYmluZGluZ3Mvb2JqYy9ET01IVE1MQXBwbGV0RWxlbWVudC5tbToKKyAgICAgICAgKC1bRE9N
SFRNTEFwcGxldEVsZW1lbnQgV2ViQ29yZTo6XSk6CisgICAgICAgICgtW0RPTUhUTUxBcHBsZXRF
bGVtZW50IF9pbml0V2l0aEhUTUxBcHBsZXRFbGVtZW50OldlYkNvcmU6Ol0pOgorICAgICAgICAo
K1tET01IVE1MQXBwbGV0RWxlbWVudCBfSFRNTE9wdGlvbkVsZW1lbnRXaXRoOldlYkNvcmU6Ol0p
OgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSFRNTEVtYmVkRWxlbWVudC5tbToKKyAgICAg
ICAgKC1bRE9NSFRNTEVtYmVkRWxlbWVudCBXZWJDb3JlOjpdKToKKyAgICAgICAgKC1bRE9NSFRN
TEVtYmVkRWxlbWVudCBfaW5pdFdpdGhIVE1MRW1iZWRFbGVtZW50OldlYkNvcmU6Ol0pOgorICAg
ICAgICAoK1tET01IVE1MRW1iZWRFbGVtZW50IF9IVE1MRW1iZWRFbGVtZW50V2l0aDpXZWJDb3Jl
OjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUxPcHRpb25FbGVtZW50Lm1tOgor
ICAgICAgICAoLVtET01IVE1MT3B0aW9uRWxlbWVudCBfaW5pdFdpdGhIVE1MT3B0aW9uRWxlbWVu
dDpXZWJDb3JlOjpdKToKKyAgICAgICAgKCtbRE9NSFRNTE9wdGlvbkVsZW1lbnQgX0hUTUxPcHRp
b25FbGVtZW50V2l0aDpXZWJDb3JlOjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUlu
dGVybmFsLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOgorICAgICAgICAqIGNz
cy9DU1NDaGFyc2V0UnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGw6
CisgICAgICAgICogY3NzL0NTU0ltcG9ydFJ1bGUuaWRsOgorICAgICAgICAqIGNzcy9DU1NNZWRp
YVJ1bGUuaWRsOgorICAgICAgICAqIGNzcy9DU1NQYWdlUnVsZS5pZGw6CisgICAgICAgICogY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6CisgICAg
ICAgICogY3NzL0NTU1N0eWxlUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2hlZXQu
aWRsOgorICAgICAgICAqIGNzcy9DU1NVbmtub3duUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NT
U1ZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmlkbDoKKyAgICAgICAgKiBj
c3MvU3R5bGVTaGVldC5pZGw6CisgICAgICAgICogZG9tL0V2ZW50LmlkbDoKKyAgICAgICAgKiBk
b20vS2V5Ym9hcmRFdmVudC5pZGw6CisgICAgICAgICogZG9tL01vdXNlRXZlbnQuaWRsOgorICAg
ICAgICAqIGRvbS9NdXRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vTm9kZS5pZGw6Cisg
ICAgICAgICogZG9tL05vZGVJdGVyYXRvci5pZGw6CisgICAgICAgICogZG9tL092ZXJmbG93RXZl
bnQuaWRsOgorICAgICAgICAqIGRvbS9VSUV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vV2hlZWxF
dmVudC5pZGw6CisKIDIwMDYtMDktMjkgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTAsOCArNTkwLDI4IEBA
CiAJCTg1OEMzOUJCMEFBOTA1RUYwMEIxODdBNCAvKiBET01Db3VudGVyLmggaW4gQ29weUZpbGVz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzOEExMEFBOEYyMDQwMEIx
ODdBNCAvKiBET01Db3VudGVyLmggKi87IH07CiAJCTg1OEMzOUJDMEFBOTA1RUYwMEIxODdBNCAv
KiBET01SZWN0LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1OEMzOEEzMEFBOEYyMDQwMEIxODdBNCAvKiBET01SZWN0LmggKi87IH07CiAJCTg1OEMz
OUJEMEFBOTA1RUYwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0LmggaW4gQ29weUZpbGVzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzOTI2MEFBOEZGOUQwMEIxODdB
NCAvKiBET01DU1NTdHlsZVNoZWV0LmggKi87IH07CisJCTg1OTA5Q0RDMEFDQzdBN0UwMERGMDFG
MSAvKiBET01DU1NDaGFyc2V0UnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkwOUNEMzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NT
Q2hhcnNldFJ1bGVJbnRlcm5hbC5oICovOyB9OworCQk4NTkwOUNERDBBQ0M3QTdFMDBERjAxRjEg
LyogRE9NQ1NTRm9udEZhY2VSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTA5Q0Q0MEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NG
b250RmFjZVJ1bGVJbnRlcm5hbC5oICovOyB9OworCQk4NTkwOUNERTBBQ0M3QTdFMDBERjAxRjEg
LyogRE9NQ1NTSW1wb3J0UnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkwOUNENTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTSW1w
b3J0UnVsZUludGVybmFsLmggKi87IH07CisJCTg1OTA5Q0RGMEFDQzdBN0UwMERGMDFGMSAvKiBE
T01DU1NNZWRpYVJ1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODU5MDlDRDYwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU01lZGlhUnVs
ZUludGVybmFsLmggKi87IH07CisJCTg1OTA5Q0UwMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NQ
YWdlUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NTkwOUNENzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTUGFnZVJ1bGVJbnRlcm5h
bC5oICovOyB9OworCQk4NTkwOUNFMTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTUnVsZUludGVy
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkw
OUNEODBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTUnVsZUludGVybmFsLmggKi87IH07CisJCTg1
OTA5Q0UyMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHlsZVJ1bGVJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5MDlDRDkwQUNDN0E3
RTAwREYwMUYxIC8qIERPTUNTU1N0eWxlUnVsZUludGVybmFsLmggKi87IH07CisJCTg1OTA5Q0Uz
MEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHlsZVNoZWV0SW50ZXJuYWwuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTA5Q0RBMEFDQzdBN0UwMERG
MDFGMSAvKiBET01DU1NTdHlsZVNoZWV0SW50ZXJuYWwuaCAqLzsgfTsKKwkJODU5MDlDRTQwQUND
N0E3RTAwREYwMUYxIC8qIERPTUNTU1Vua25vd25SdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTA5Q0RCMEFDQzdBN0UwMERGMDFG
MSAvKiBET01DU1NVbmtub3duUnVsZUludGVybmFsLmggKi87IH07CisJCTg1OTA5Q0ZGMEFDQzdB
QjkwMERGMDFGMSAvKiBET01TdHlsZVNoZWV0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTA5Q0ZFMEFDQzdBQjkwMERGMDFGMSAvKiBE
T01TdHlsZVNoZWV0SW50ZXJuYWwuaCAqLzsgfTsKKwkJODU5MDlEMjkwQUNDN0Q1NTAwREYwMUYx
IC8qIERPTUNTU1ByaW1pdGl2ZVZhbHVlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTA5RDI2MEFDQzdENTUwMERGMDFGMSAvKiBET01D
U1NQcmltaXRpdmVWYWx1ZUludGVybmFsLmggKi87IH07CisJCTg1OTA5RDJBMEFDQzdENTUwMERG
MDFGMSAvKiBET01DU1NWYWx1ZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkwOUQyNzBBQ0M3RDU1MDBERjAxRjEgLyogRE9NQ1NTVmFs
dWVJbnRlcm5hbC5oICovOyB9OworCQk4NTkwOUQyQjBBQ0M3RDU1MDBERjAxRjEgLyogRE9NQ1NT
VmFsdWVMaXN0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg1OTA5RDI4MEFDQzdENTUwMERGMDFGMSAvKiBET01DU1NWYWx1ZUxpc3RJbnRl
cm5hbC5oICovOyB9OwogCQk4NTkxMjhGMzBBQjI0MzFBMDAyMDIyNjUgLyogRE9NSFRNTEVtYmVk
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODU5MTI4RjEwQUIyNDMxQTAwMjAyMjY1IC8qIERPTUhUTUxFbWJlZEVsZW1lbnQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NTkxMjhGNDBBQjI0
MzFBMDAyMDIyNjUgLyogRE9NSFRNTEVtYmVkRWxlbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTEyOEYyMEFCMjQzMUEwMDIwMjI2NSAvKiBE
T01IVE1MRW1iZWRFbGVtZW50Lm1tICovOyB9OworCQk4NTk4OURDQjBBQ0M4QkJEMDBBMEJDNTEg
LyogRE9NRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODU5ODlEQzQwQUNDOEJCRDAwQTBCQzUxIC8qIERPTUV2ZW50SW50ZXJuYWwu
aCAqLzsgfTsKKwkJODU5ODlEQ0MwQUNDOEJCRDAwQTBCQzUxIC8qIERPTUtleWJvYXJkRXZlbnRJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODU5ODlEQzUwQUNDOEJCRDAwQTBCQzUxIC8qIERPTUtleWJvYXJkRXZlbnRJbnRlcm5hbC5oICov
OyB9OworCQk4NTk4OURDRDBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTW91c2VFdmVudEludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk4OURD
NjBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTW91c2VFdmVudEludGVybmFsLmggKi87IH07CisJCTg1
OTg5RENFMEFDQzhCQkQwMEEwQkM1MSAvKiBET01NdXRhdGlvbkV2ZW50SW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTg5REM3MEFDQzhC
QkQwMEEwQkM1MSAvKiBET01NdXRhdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJODU5ODlE
Q0YwQUNDOEJCRDAwQTBCQzUxIC8qIERPTU92ZXJmbG93RXZlbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5ODlEQzgwQUNDOEJCRDAw
QTBCQzUxIC8qIERPTU92ZXJmbG93RXZlbnRJbnRlcm5hbC5oICovOyB9OworCQk4NTk4OUREMDBB
Q0M4QkJEMDBBMEJDNTEgLyogRE9NVUlFdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk4OURDOTBBQ0M4QkJEMDBBMEJDNTEgLyog
RE9NVUlFdmVudEludGVybmFsLmggKi87IH07CisJCTg1OTg5REQxMEFDQzhCQkQwMEEwQkM1MSAv
KiBET01XaGVlbEV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1OTg5RENBMEFDQzhCQkQwMEEwQkM1MSAvKiBET01XaGVlbEV2ZW50
SW50ZXJuYWwuaCAqLzsgfTsKIAkJODU5OTJFQkEwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxI
ZWFkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODU5OTJFQjIwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxIZWFkRWxlbWVudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCTg1OTkyRUJCMEFBNTA2OTUwMEFD
MDc4NSAvKiBET01IVE1MSGVhZEVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk5MkVCMzBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEhl
YWRFbGVtZW50Lm1tICovOyB9OwogCQk4NTk5MkVCQzBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRN
TEh0bWxFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NTk5MkVCNDBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEh0bWxFbGVtZW50LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKQEAgLTY3Niw2ICs2OTYsNyBAQAog
CQk4NUM3RjVEMTBBQUZCOEQ5MDA0MDE0REQgLyogRE9NT3ZlcmZsb3dFdmVudC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QzdGNUNGMEFBRkI4RDkw
MDQwMTRERCAvKiBET01PdmVyZmxvd0V2ZW50Lm1tICovOyB9OwogCQk4NUM3RjVFNzBBQUZCQUZC
MDA0MDE0REQgLyogRE9NV2hlZWxFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODVDN0Y1RTUwQUFGQkFGQjAwNDAxNEREIC8qIERPTVdoZWVsRXZl
bnQuaCAqLzsgfTsKIAkJODVDN0Y1RTgwQUFGQkFGQjAwNDAxNEREIC8qIERPTVdoZWVsRXZlbnQu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUM3RjVF
NjBBQUZCQUZCMDA0MDE0REQgLyogRE9NV2hlZWxFdmVudC5tbSAqLzsgfTsKKwkJODVDOTg0Qjcw
QUNDNkM4NzAwNzgzRDUwIC8qIERPTU5vZGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDOTg0QjYwQUNDNkM4NzAwNzgzRDUwIC8qIERP
TU5vZGVJbnRlcm5hbC5oICovOyB9OwogCQk4NUNBOTZCODBBOTYyMUE2MDA2OTBDQ0YgLyogRE9N
RW50aXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NUNBOTZCNjBBOTYyMUE2MDA2OTBDQ0YgLyogRE9NRW50aXR5LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJODVDQTk2QjkwQTk2MjFBNjAwNjkwQ0NGIC8qIERPTUVu
dGl0eS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
Q0E5NkI3MEE5NjIxQTYwMDY5MENDRiAvKiBET01FbnRpdHkubW0gKi87IH07CiAJCTg1Q0E5NkVB
MEE5NjI0RTkwMDY5MENDRiAvKiBET01Ob3RhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDQTk2RTgwQTk2MjRFOTAwNjkwQ0NGIC8qIERPTU5v
dGF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKQEAgLTMxMDgs
OSArMzEyOSwyOSBAQAogCQk4NThDMzkyNzBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVT
aGVldC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NT
dHlsZVNoZWV0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NThDMzk1RDBBQTkw
MkE5MDBCMTg3QTQgLyogRE9NUkdCQ29sb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTVJHQkNvbG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OEMz
OTVFMEFBOTAyQTkwMEIxODdBNCAvKiBET01SR0JDb2xvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01SR0JDb2xvci5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODU5MDlDRDMwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0NoYXJzZXRSdWxl
SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU0NoYXJz
ZXRSdWxlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU5MDlDRDQw
QUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0ZvbnRGYWNlUnVsZUludGVybmFsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NGb250RmFjZVJ1bGVJbnRlcm5hbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTkwOUNENTBBQ0M3QTdFMDBERjAxRjEgLyog
RE9NQ1NTSW1wb3J0UnVsZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01DU1NJbXBvcnRSdWxlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODU5MDlDRDYwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU01lZGlhUnVsZUludGVybmFs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NNZWRpYVJ1bGVJbnRl
cm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTkwOUNENzBBQ0M3QTdFMDBE
RjAxRjEgLyogRE9NQ1NTUGFnZVJ1bGVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NQ1NTUGFnZVJ1bGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NTkwOUNEODBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTUnVsZUludGVybmFs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NSdWxlSW50ZXJuYWwu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU5MDlDRDkwQUNDN0E3RTAwREYwMUYx
IC8qIERPTUNTU1N0eWxlUnVsZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01DU1NTdHlsZVJ1bGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NTkwOUNEQTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTU3R5bGVTaGVldEludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NTdHlsZVNoZWV0
SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU5MDlDREIwQUNDN0E3
RTAwREYwMUYxIC8qIERPTUNTU1Vua25vd25SdWxlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU1Vua25vd25SdWxlSW50ZXJuYWwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU5MDlDRkUwQUNDN0FCOTAwREYwMUYxIC8qIERPTVN0eWxl
U2hlZXRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU3R5
bGVTaGVldEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OTA5RDI2
MEFDQzdENTUwMERGMDFGMSAvKiBET01DU1NQcmltaXRpdmVWYWx1ZUludGVybmFsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NQcmltaXRpdmVWYWx1ZUludGVybmFs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OTA5RDI3MEFDQzdENTUwMERGMDFG
MSAvKiBET01DU1NWYWx1ZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01DU1NWYWx1ZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg1OTA5RDI4MEFDQzdENTUwMERGMDFGMSAvKiBET01DU1NWYWx1ZUxpc3RJbnRlcm5hbC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTVmFsdWVMaXN0SW50ZXJuYWwu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODU5MTI4NzkwQUIyMjJFQzAwMjAyMjY1
IC8qIEhUTUxFbWJlZEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MRW1i
ZWRFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODU5MTI4RjEwQUIy
NDMxQTAwMjAyMjY1IC8qIERPTUhUTUxFbWJlZEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTUhUTUxFbWJlZEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODU5MTI4RjIwQUIyNDMxQTAwMjAyMjY1IC8qIERPTUhUTUxFbWJlZEVsZW1l
bnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTEVt
YmVkRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU5ODlEQzQwQUND
OEJCRDAwQTBCQzUxIC8qIERPTUV2ZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTUV2ZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODU5ODlEQzUwQUNDOEJCRDAwQTBCQzUxIC8qIERPTUtleWJvYXJkRXZlbnRJbnRlcm5h
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NS2V5Ym9hcmRFdmVudElu
dGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OTg5REM2MEFDQzhCQkQw
MEEwQkM1MSAvKiBET01Nb3VzZUV2ZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTU1vdXNlRXZlbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NTk4OURDNzBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTXV0YXRpb25FdmVudElu
dGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01NdXRhdGlvbkV2
ZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU5ODlEQzgwQUND
OEJCRDAwQTBCQzUxIC8qIERPTU92ZXJmbG93RXZlbnRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NT3ZlcmZsb3dFdmVudEludGVybmFsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OTg5REM5MEFDQzhCQkQwMEEwQkM1MSAvKiBET01VSUV2
ZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVVJRXZl
bnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTk4OURDQTBBQ0M4
QkJEMDBBMEJDNTEgLyogRE9NV2hlZWxFdmVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01XaGVlbEV2ZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODU5OTJFQjIwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxIZWFkRWxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTEhlYWRFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OTkyRUIzMEFBNTA2OTUwMEFD
MDc4NSAvKiBET01IVE1MSGVhZEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gRE9NSFRNTEhlYWRFbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NTk5MkVCNDBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEh0bWxFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MSHRtbEVsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxOTQsNiArMzIzNSw3IEBACiAJCTg1
QzdGNUNGMEFBRkI4RDkwMDQwMTRERCAvKiBET01PdmVyZmxvd0V2ZW50Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTU92ZXJmbG93RXZlbnQubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1QzdGNUU1MEFBRkJBRkIwMDQwMTRERCAvKiBET01X
aGVlbEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XaGVlbEV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1QzdGNUU2MEFBRkJBRkIwMDQw
MTRERCAvKiBET01XaGVlbEV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IERPTVdoZWVsRXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg1Qzk4NEI2MEFDQzZDODcwMDc4M0Q1MCAvKiBET01Ob2RlSW50ZXJuYWwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTU5vZGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NUNBOTZCNjBBOTYyMUE2MDA2OTBDQ0YgLyogRE9NRW50aXR5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01FbnRpdHkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDQTk2QjcwQTk2MjFBNjAwNjkwQ0NGIC8qIERPTUVudGl0
eS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01FbnRpdHku
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1Q0E5NkU4MEE5NjI0RTkwMDY5MEND
RiAvKiBET01Ob3RhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
Tm90YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYxNDMsOCArNjE4NSwy
MCBAQAogCQkJCTg1RTcxMTQwMEFDNUQ1MzQwMDUzMjcwRiAvKiBET01DaGFyYWN0ZXJEYXRhSW50
ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE0MTBBQzVENTM0MDA1MzI3MEYgLyogRE9NQ29tbWVudElu
dGVybmFsLmggKi8sCiAJCQkJODVFNzExNDIwQUM1RDUzNDAwNTMyNzBGIC8qIERPTUNvdW50ZXJJ
bnRlcm5hbC5oICovLAorCQkJCTg1OTA5Q0QzMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NDaGFy
c2V0UnVsZUludGVybmFsLmggKi8sCisJCQkJODU5MDlDRDQwQUNDN0E3RTAwREYwMUYxIC8qIERP
TUNTU0ZvbnRGYWNlUnVsZUludGVybmFsLmggKi8sCisJCQkJODU5MDlDRDUwQUNDN0E3RTAwREYw
MUYxIC8qIERPTUNTU0ltcG9ydFJ1bGVJbnRlcm5hbC5oICovLAorCQkJCTg1OTA5Q0Q2MEFDQzdB
N0UwMERGMDFGMSAvKiBET01DU1NNZWRpYVJ1bGVJbnRlcm5hbC5oICovLAorCQkJCTg1OTA5Q0Q3
MEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NQYWdlUnVsZUludGVybmFsLmggKi8sCisJCQkJODU5
MDlEMjYwQUNDN0Q1NTAwREYwMUYxIC8qIERPTUNTU1ByaW1pdGl2ZVZhbHVlSW50ZXJuYWwuaCAq
LywKKwkJCQk4NTkwOUNEODBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTUnVsZUludGVybmFsLmgg
Ki8sCiAJCQkJODVFNzExNDMwQUM1RDUzNDAwNTMyNzBGIC8qIERPTUNTU1J1bGVMaXN0SW50ZXJu
YWwuaCAqLywKIAkJCQk4NUU3MTE0NDBBQzVENTM0MDA1MzI3MEYgLyogRE9NQ1NTU3R5bGVEZWNs
YXJhdGlvbkludGVybmFsLmggKi8sCisJCQkJODU5MDlDRDkwQUNDN0E3RTAwREYwMUYxIC8qIERP
TUNTU1N0eWxlUnVsZUludGVybmFsLmggKi8sCisJCQkJODU5MDlDREEwQUNDN0E3RTAwREYwMUYx
IC8qIERPTUNTU1N0eWxlU2hlZXRJbnRlcm5hbC5oICovLAorCQkJCTg1OTA5Q0RCMEFDQzdBN0Uw
MERGMDFGMSAvKiBET01DU1NVbmtub3duUnVsZUludGVybmFsLmggKi8sCisJCQkJODU5MDlEMjcw
QUNDN0Q1NTAwREYwMUYxIC8qIERPTUNTU1ZhbHVlSW50ZXJuYWwuaCAqLywKKwkJCQk4NTkwOUQy
ODBBQ0M3RDU1MDBERjAxRjEgLyogRE9NQ1NTVmFsdWVMaXN0SW50ZXJuYWwuaCAqLywKIAkJCQk4
NUU3MTE0NTBBQzVENTM0MDA1MzI3MEYgLyogRE9NRG9jdW1lbnRGcmFnbWVudEludGVybmFsLmgg
Ki8sCiAJCQkJODVFNzExNDYwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3VtZW50SW50ZXJuYWwu
aCAqLywKIAkJCQk4NUU3MTE0NzBBQzVENTM0MDA1MzI3MEYgLyogRE9NRG9jdW1lbnRUeXBlSW50
ZXJuYWwuaCAqLywKQEAgLTYxNTIsNiArNjIwNiw3IEBACiAJCQkJODVFNzExNDkwQUM1RDUzNDAw
NTMyNzBGIC8qIERPTUVsZW1lbnRJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTRBMEFDNUQ1MzQw
MDUzMjcwRiAvKiBET01FbnRpdHlJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTRCMEFDNUQ1MzQw
MDUzMjcwRiAvKiBET01FbnRpdHlSZWZlcmVuY2VJbnRlcm5hbC5oICovLAorCQkJCTg1OTg5REM0
MEFDQzhCQkQwMEEwQkM1MSAvKiBET01FdmVudEludGVybmFsLmggKi8sCiAJCQkJODVFNzExNEMw
QUM1RDUzNDAwNTMyNzBGIC8qIERPTUhUTUxBbmNob3JFbGVtZW50SW50ZXJuYWwuaCAqLywKIAkJ
CQk4NUU3MTE0RDBBQzVENTM0MDA1MzI3MEYgLyogRE9NSFRNTEFyZWFFbGVtZW50SW50ZXJuYWwu
aCAqLywKIAkJCQk4NUU3MTE0RTBBQzVENTM0MDA1MzI3MEYgLyogRE9NSFRNTEJhc2VFbGVtZW50
SW50ZXJuYWwuaCAqLywKQEAgLTYyMDYsMTIgKzYyNjEsMTggQEAKIAkJCQk4NUU3MTE3RjBBQzVE
NTM1MDA1MzI3MEYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFsLmggKi8sCiAJCQkJ
ODVFNzExODAwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5o
ICovLAogCQkJCTg1RTcxMTgxMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVUxpc3RFbGVtZW50
SW50ZXJuYWwuaCAqLywKKwkJCQk4NTk4OURDNTBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NS2V5Ym9h
cmRFdmVudEludGVybmFsLmggKi8sCiAJCQkJODVFNzExODIwQUM1RDUzNTAwNTMyNzBGIC8qIERP
TU1lZGlhTGlzdEludGVybmFsLmggKi8sCisJCQkJODU5ODlEQzYwQUNDOEJCRDAwQTBCQzUxIC8q
IERPTU1vdXNlRXZlbnRJbnRlcm5hbC5oICovLAorCQkJCTg1OTg5REM3MEFDQzhCQkQwMEEwQkM1
MSAvKiBET01NdXRhdGlvbkV2ZW50SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE4MzBBQzVENTM1
MDA1MzI3MEYgLyogRE9NTmFtZWROb2RlTWFwSW50ZXJuYWwuaCAqLywKKwkJCQk4NUM5ODRCNjBB
Q0M2Qzg3MDA3ODNENTAgLyogRE9NTm9kZUludGVybmFsLmggKi8sCiAJCQkJODVFNzExODQwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTU5vZGVMaXN0SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE4NTBB
QzVENTM1MDA1MzI3MEYgLyogRE9NTm90YXRpb25JbnRlcm5hbC5oICovLAorCQkJCTg1OTg5REM4
MEFDQzhCQkQwMEEwQkM1MSAvKiBET01PdmVyZmxvd0V2ZW50SW50ZXJuYWwuaCAqLywKIAkJCQk4
NUU3MTE4NjBBQzVENTM1MDA1MzI3MEYgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uSW50ZXJu
YWwuaCAqLywKIAkJCQk4NUU3MTE4NzBBQzVENTM1MDA1MzI3MEYgLyogRE9NUmVjdEludGVybmFs
LmggKi8sCisJCQkJODU5MDlDRkUwQUNDN0FCOTAwREYwMUYxIC8qIERPTVN0eWxlU2hlZXRJbnRl
cm5hbC5oICovLAogCQkJCTg1RTcxMTg4MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01TdHlsZVNoZWV0
TGlzdEludGVybmFsLmggKi8sCiAJCQkJODU0MTYzOTYwQUM3MTg2ODAwMDFFMDFCIC8qIERPTVNW
R0FuZ2xlSW50ZXJuYWwuaCAqLywKIAkJCQk4NTBGRDIwQTBBQzlDODZBMDAxMjNEMEQgLyogRE9N
U1ZHQW5pbWF0ZWRBbmdsZUludGVybmFsLmggKi8sCkBAIC02MjM2LDYgKzYyOTcsOCBAQAogCQkJ
CTg1NDE2MzkwMEFDNzE4NjgwMDAxRTAxQiAvKiBET01TVkdUcmFuc2Zvcm1JbnRlcm5hbC5oICov
LAogCQkJCTg1NDE2MzhGMEFDNzE4NjgwMDAxRTAxQiAvKiBET01TVkdUcmFuc2Zvcm1MaXN0SW50
ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE4QTBBQzVENTM1MDA1MzI3MEYgLyogRE9NVGV4dEludGVy
bmFsLmggKi8sCisJCQkJODU5ODlEQzkwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVVJRXZlbnRJbnRl
cm5hbC5oICovLAorCQkJCTg1OTg5RENBMEFDQzhCQkQwMEEwQkM1MSAvKiBET01XaGVlbEV2ZW50
SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE4QjBBQzVENTM1MDA1MzI3MEYgLyogRE9NWFBhdGhF
eHByZXNzaW9uSW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE4QzBBQzVENTM1MDA1MzI3MEYgLyog
RE9NWFBhdGhSZXN1bHRJbnRlcm5hbC5oICovLAogCQkJKTsKQEAgLTkwNzAsNiArOTEzMywyNyBA
QAogCQkJCTg1RDc5QUUwMEFDQTE4ODQwMEYwMkZDNSAvKiBET01TVkdTdHJpbmdMaXN0SW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OUM5QzNGMEFDQUNDQ0MwMDc5MTYxMSAvKiBET01T
VkdSZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU5QzlDNDIwQUNBQ0Q2RDAwNzkx
NjExIC8qIERPTVNWR1JlY3RFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1
Qzk4NEI3MEFDQzZDODcwMDc4M0Q1MCAvKiBET01Ob2RlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg1OTA5Q0RDMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NDaGFyc2V0UnVsZUludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTkwOUNERDBBQ0M3QTdFMDBERjAxRjEgLyogRE9N
Q1NTRm9udEZhY2VSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1OTA5Q0RFMEFD
QzdBN0UwMERGMDFGMSAvKiBET01DU1NJbXBvcnRSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg1OTA5Q0RGMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NNZWRpYVJ1bGVJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5MDlDRTAwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNT
U1BhZ2VSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1OTA5Q0UxMEFDQzdBN0Uw
MERGMDFGMSAvKiBET01DU1NSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1OTA5
Q0UyMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHlsZVJ1bGVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODU5MDlDRTMwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU1N0eWxlU2hlZXRJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5MDlDRTQwQUNDN0E3RTAwREYwMUYxIC8q
IERPTUNTU1Vua25vd25SdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1OTA5Q0ZG
MEFDQzdBQjkwMERGMDFGMSAvKiBET01TdHlsZVNoZWV0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAorCQkJCTg1OTA5RDI5MEFDQzdENTUwMERGMDFGMSAvKiBET01DU1NQcmltaXRpdmVWYWx1ZUlu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTkwOUQyQTBBQ0M3RDU1MDBERjAxRjEgLyog
RE9NQ1NTVmFsdWVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5MDlEMkIwQUNDN0Q1
NTAwREYwMUYxIC8qIERPTUNTU1ZhbHVlTGlzdEludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4NTk4OURDQjBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODU5ODlEQ0MwQUNDOEJCRDAwQTBCQzUxIC8qIERPTUtleWJvYXJkRXZlbnRJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5ODlEQ0QwQUNDOEJCRDAwQTBCQzUxIC8q
IERPTU1vdXNlRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5ODlEQ0UwQUND
OEJCRDAwQTBCQzUxIC8qIERPTU11dGF0aW9uRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJODU5ODlEQ0YwQUNDOEJCRDAwQTBCQzUxIC8qIERPTU92ZXJmbG93RXZlbnRJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5ODlERDAwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVVJ
RXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5ODlERDEwQUNDOEJCRDAwQTBC
QzUxIC8qIERPTVdoZWVsRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEJCREJG
N0UwQUNDOTI5MDAwNUY2RTk3IC8qIENvbW1hbmRCeU5hbWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL0RPTS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NLm1tCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9E
T00ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDI0ICsyOCwxNSBAQAogI2ltcG9ydCAiY29uZmln
LmgiCiAjaW1wb3J0ICJET00uaCIKIAotI2ltcG9ydCAiQ0RBVEFTZWN0aW9uLmgiCi0jaW1wb3J0
ICJDU1NTdHlsZVNoZWV0LmgiCi0jaW1wb3J0ICJDb21tZW50LmgiCi0jaW1wb3J0ICJET01IVE1M
LmgiCi0jaW1wb3J0ICJET01JbXBsZW1lbnRhdGlvbkZyb250LmgiCiAjaW1wb3J0ICJET01JbnRl
cm5hbC5oIgogI2ltcG9ydCAiRE9NUHJpdmF0ZS5oIgotI2ltcG9ydCAiRGVwcmVjYXRlZFZhbHVl
TGlzdC5oIgogI2ltcG9ydCAiRG9jdW1lbnQuaCIKICNpbXBvcnQgIkRvY3VtZW50RnJhZ21lbnQu
aCIKLSNpbXBvcnQgIkRvY3VtZW50VHlwZS5oIgotI2ltcG9ydCAiRW50aXR5UmVmZXJlbmNlLmgi
CiAjaW1wb3J0ICJFdmVudC5oIgogI2ltcG9ydCAiRXZlbnRMaXN0ZW5lci5oIgogI2ltcG9ydCAi
Rm9udERhdGEuaCIKICNpbXBvcnQgIkZvdW5kYXRpb25FeHRyYXMuaCIKICNpbXBvcnQgIkZyYW1l
TWFjLmgiCi0jaW1wb3J0ICJIVE1MRG9jdW1lbnQuaCIKICNpbXBvcnQgIkhUTUxOYW1lcy5oIgog
I2ltcG9ydCAiSFRNTFBsdWdJbkVsZW1lbnQuaCIKICNpbXBvcnQgIkludFJlY3QuaCIKQEAgLTUz
LDEwMCArNDQsMTIgQEAKICNpbXBvcnQgIk5vZGVGaWx0ZXJDb25kaXRpb24uaCIKICNpbXBvcnQg
Ik5vZGVJdGVyYXRvci5oIgogI2ltcG9ydCAiTm9kZUxpc3QuaCIKLSNpbXBvcnQgIlByb2Nlc3Np
bmdJbnN0cnVjdGlvbi5oIgotI2ltcG9ydCAiUXVhbGlmaWVkTmFtZS5oIgogI2ltcG9ydCAiUmFu
Z2UuaCIKICNpbXBvcnQgIlJlbmRlckltYWdlLmgiCi0jaW1wb3J0ICJUZXh0LmgiCiAjaW1wb3J0
ICJUcmVlV2Fsa2VyLmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRPYmplY3RQcml2YXRlLmgiCiAjaW1w
b3J0ICJjc3NoZWxwZXIuaCIKIAotLy8gRnJvbSBvbGQgRE9NQ29yZS5oCi0jaW1wb3J0ICJET01P
YmplY3QuaCIKLSNpbXBvcnQgIkRPTUV4Y2VwdGlvbi5oIgotCi0vLyBHZW5lcmF0ZWQgT2JqZWN0
aXZlLUMgQmluZGluZ3MKLSNpbXBvcnQgIkRPTUF0dHIuaCIKLSNpbXBvcnQgIkRPTUNEQVRBU2Vj
dGlvbi5oIgotI2ltcG9ydCAiRE9NQ2hhcmFjdGVyRGF0YS5oIgotI2ltcG9ydCAiRE9NQ29tbWVu
dC5oIgotI2ltcG9ydCAiRE9NRE9NSW1wbGVtZW50YXRpb24uaCIKLSNpbXBvcnQgIkRPTURvY3Vt
ZW50LmgiCi0jaW1wb3J0ICJET01Eb2N1bWVudEZyYWdtZW50LmgiCi0jaW1wb3J0ICJET01Eb2N1
bWVudFR5cGUuaCIKLSNpbXBvcnQgIkRPTUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUVudGl0eS5o
IgotI2ltcG9ydCAiRE9NRW50aXR5UmVmZXJlbmNlLmgiCi0jaW1wb3J0ICJET01OYW1lZE5vZGVN
YXAuaCIKLSNpbXBvcnQgIkRPTU5vZGUuaCIKLSNpbXBvcnQgIkRPTU5vZGVMaXN0LmgiCi0jaW1w
b3J0ICJET01Ob3RhdGlvbi5oIgotI2ltcG9ydCAiRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgi
Ci0jaW1wb3J0ICJET01UZXh0LmgiCi0KLS8vIEZyb20gb2xkIERPTUhUTUwuaAotI2ltcG9ydCAi
RE9NSFRNTEFwcGxldEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxPcHRpb25FbGVtZW50Lmgi
Ci0KLS8vIEdlbmVyYXRlZCBPYmplY3RpdmUtQyBCaW5kaW5ncwotI2ltcG9ydCAiRE9NSFRNTEFu
Y2hvckVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxBcmVhRWxlbWVudC5oIgotI2ltcG9ydCAi
RE9NSFRNTEJSRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTEJhc2VFbGVtZW50LmgiCi0jaW1w
b3J0ICJET01IVE1MQmFzZUZvbnRFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MQm9keUVsZW1l
bnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxCdXR0b25FbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1M
Q29sbGVjdGlvbi5oIgotI2ltcG9ydCAiRE9NSFRNTERMaXN0RWxlbWVudC5oIgotI2ltcG9ydCAi
RE9NSFRNTERpcmVjdG9yeUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxEaXZFbGVtZW50Lmgi
Ci0jaW1wb3J0ICJET01IVE1MRG9jdW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxFbGVtZW50Lmgi
Ci0jaW1wb3J0ICJET01IVE1MRmllbGRTZXRFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MRm9u
dEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxGb3JtRWxlbWVudC5oIgotI2ltcG9ydCAiRE9N
SFRNTEZyYW1lRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTEZyYW1lU2V0RWxlbWVudC5oIgot
I2ltcG9ydCAiRE9NSFRNTEhSRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTEhlYWRFbGVtZW50
LmgiCi0jaW1wb3J0ICJET01IVE1MSGVhZGluZ0VsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxI
dG1sRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTElGcmFtZUVsZW1lbnQuaCIKLSNpbXBvcnQg
IkRPTUhUTUxJbWFnZUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxJbnB1dEVsZW1lbnQuaCIK
LSNpbXBvcnQgIkRPTUhUTUxJc0luZGV4RWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTExJRWxl
bWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTExhYmVsRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRN
TExlZ2VuZEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxMaW5rRWxlbWVudC5oIgotI2ltcG9y
dCAiRE9NSFRNTE1hcEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxNZW51RWxlbWVudC5oIgot
I2ltcG9ydCAiRE9NSFRNTE1ldGFFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MTW9kRWxlbWVu
dC5oIgotI2ltcG9ydCAiRE9NSFRNTE9MaXN0RWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTE9i
amVjdEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxPcHRHcm91cEVsZW1lbnQuaCIKLSNpbXBv
cnQgIkRPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5oIgotI2ltcG9ydCAiRE9NSFRNTFBhcmFncmFw
aEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxQYXJhbUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRP
TUhUTUxQcmVFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MUXVvdGVFbGVtZW50LmgiCi0jaW1w
b3J0ICJET01IVE1MU2NyaXB0RWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTFNlbGVjdEVsZW1l
bnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxTdHlsZUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxU
YWJsZUNhcHRpb25FbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MVGFibGVDZWxsRWxlbWVudC5o
IgotI2ltcG9ydCAiRE9NSFRNTFRhYmxlQ29sRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTFRh
YmxlRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTFRhYmxlUm93RWxlbWVudC5oIgotI2ltcG9y
dCAiRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxUZXh0QXJl
YUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxUaXRsZUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRP
TUhUTUxVTGlzdEVsZW1lbnQuaCIKLQotI2ltcG9ydCA8b2JqYy9vYmpjLWNsYXNzLmg+Ci0KIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOjpIVE1MTmFtZXM7CiAKIGNsYXNzIE9iakNFdmVudExpc3Rl
bmVyIDogcHVibGljIFdlYkNvcmU6OkV2ZW50TGlzdGVuZXIgewpAQCAtMTY0LDEwMiArNjcsMTMg
QEAgcHJpdmF0ZToKIH07CiAKIHR5cGVkZWYgSGFzaE1hcDxpZCwgT2JqQ0V2ZW50TGlzdGVuZXIq
PiBMaXN0ZW5lck1hcDsKLXR5cGVkZWYgSGFzaE1hcDxXZWJDb3JlOjpBdG9taWNTdHJpbmdJbXBs
KiwgQ2xhc3M+IE9iakNDbGFzc01hcDsKLQotc3RhdGljIE9iakNDbGFzc01hcCogZWxlbWVudENs
YXNzTWFwOwogc3RhdGljIExpc3RlbmVyTWFwKiBsaXN0ZW5lck1hcDsKIAogCiAvLy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gRE9NTm9kZQogCi1zdGF0aWMgdm9pZCBhZGRF
bGVtZW50Q2xhc3MoY29uc3QgV2ViQ29yZTo6UXVhbGlmaWVkTmFtZSYgdGFnLCBDbGFzcyBvYmpD
Q2xhc3MpCi17Ci0gICAgZWxlbWVudENsYXNzTWFwLT5zZXQodGFnLmxvY2FsTmFtZSgpLmltcGwo
KSwgb2JqQ0NsYXNzKTsKLX0KLQotc3RhdGljIHZvaWQgY3JlYXRlSFRNTEVsZW1lbnRDbGFzc01h
cCgpCi17Ci0gICAgLy8gQ3JlYXRlIHRoZSB0YWJsZS4KLSAgICBlbGVtZW50Q2xhc3NNYXAgPSBu
ZXcgT2JqQ0NsYXNzTWFwOwotICAgIAotICAgIC8vIFBvcHVsYXRlIGl0IHdpdGggSFRNTCBlbGVt
ZW50IGNsYXNzZXMuCi0gICAgYWRkRWxlbWVudENsYXNzKGFUYWcsIFtET01IVE1MQW5jaG9yRWxl
bWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhhcHBsZXRUYWcsIFtET01IVE1MQXBw
bGV0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhhcmVhVGFnLCBbRE9NSFRN
TEFyZWFFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGJhc2VUYWcsIFtET01I
VE1MQmFzZUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoYmFzZWZvbnRUYWcs
IFtET01IVE1MQmFzZUZvbnRFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGJv
ZHlUYWcsIFtET01IVE1MQm9keUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mo
YnJUYWcsIFtET01IVE1MQlJFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGJ1
dHRvblRhZywgW0RPTUhUTUxCdXR0b25FbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENs
YXNzKGNhbnZhc1RhZywgW0RPTUhUTUxJbWFnZUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVt
ZW50Q2xhc3MoY2FwdGlvblRhZywgW0RPTUhUTUxUYWJsZUNhcHRpb25FbGVtZW50IGNsYXNzXSk7
Ci0gICAgYWRkRWxlbWVudENsYXNzKGNvbFRhZywgW0RPTUhUTUxUYWJsZUNvbEVsZW1lbnQgY2xh
c3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoY29sZ3JvdXBUYWcsIFtET01IVE1MVGFibGVDb2xF
bGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGRpclRhZywgW0RPTUhUTUxEaXJl
Y3RvcnlFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGRpdlRhZywgW0RPTUhU
TUxEaXZFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGRsVGFnLCBbRE9NSFRN
TERMaXN0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhmaWVsZHNldFRhZywg
W0RPTUhUTUxGaWVsZFNldEVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoZm9u
dFRhZywgW0RPTUhUTUxGb250RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhm
b3JtVGFnLCBbRE9NSFRNTEZvcm1FbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNz
KGZyYW1lVGFnLCBbRE9NSFRNTEZyYW1lRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRD
bGFzcyhmcmFtZXNldFRhZywgW0RPTUhUTUxGcmFtZVNldEVsZW1lbnQgY2xhc3NdKTsKLSAgICBh
ZGRFbGVtZW50Q2xhc3MoaDFUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1lbnQgY2xhc3NdKTsKLSAg
ICBhZGRFbGVtZW50Q2xhc3MoaDJUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1lbnQgY2xhc3NdKTsK
LSAgICBhZGRFbGVtZW50Q2xhc3MoaDNUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1lbnQgY2xhc3Nd
KTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaDRUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1lbnQgY2xh
c3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaDVUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1lbnQg
Y2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaDZUYWcsIFtET01IVE1MSGVhZGluZ0VsZW1l
bnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaGVhZFRhZywgW0RPTUhUTUxIZWFkRWxl
bWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhoclRhZywgW0RPTUhUTUxIUkVsZW1l
bnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MoaHRtbFRhZywgW0RPTUhUTUxIdG1sRWxl
bWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhpZnJhbWVUYWcsIFtET01IVE1MSUZy
YW1lRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhpbWdUYWcsIFtET01IVE1M
SW1hZ2VFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGlucHV0VGFnLCBbRE9N
SFRNTElucHV0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhpc2luZGV4VGFn
LCBbRE9NSFRNTElzSW5kZXhFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKGxh
YmVsVGFnLCBbRE9NSFRNTExhYmVsRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFz
cyhsZWdlbmRUYWcsIFtET01IVE1MTGVnZW5kRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1l
bnRDbGFzcyhsaVRhZywgW0RPTUhUTUxMSUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50
Q2xhc3MobGlua1RhZywgW0RPTUhUTUxMaW5rRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1l
bnRDbGFzcyhsaXN0aW5nVGFnLCBbRE9NSFRNTFByZUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRF
bGVtZW50Q2xhc3MobWFwVGFnLCBbRE9NSFRNTE1hcEVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRF
bGVtZW50Q2xhc3MobWVudVRhZywgW0RPTUhUTUxNZW51RWxlbWVudCBjbGFzc10pOwotICAgIGFk
ZEVsZW1lbnRDbGFzcyhtZXRhVGFnLCBbRE9NSFRNTE1ldGFFbGVtZW50IGNsYXNzXSk7Ci0gICAg
YWRkRWxlbWVudENsYXNzKG9iamVjdFRhZywgW0RPTUhUTUxPYmplY3RFbGVtZW50IGNsYXNzXSk7
Ci0gICAgYWRkRWxlbWVudENsYXNzKG9sVGFnLCBbRE9NSFRNTE9MaXN0RWxlbWVudCBjbGFzc10p
OwotICAgIGFkZEVsZW1lbnRDbGFzcyhvcHRncm91cFRhZywgW0RPTUhUTUxPcHRHcm91cEVsZW1l
bnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3Mob3B0aW9uVGFnLCBbRE9NSFRNTE9wdGlv
bkVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3MocFRhZywgW0RPTUhUTUxQYXJh
Z3JhcGhFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNzKHBhcmFtVGFnLCBbRE9N
SFRNTFBhcmFtRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhwcmVUYWcsIFtE
T01IVE1MUHJlRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhxVGFnLCBbRE9N
SFRNTFF1b3RlRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhzY3JpcHRUYWcs
IFtET01IVE1MU2NyaXB0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyhzZWxl
Y3RUYWcsIFtET01IVE1MU2VsZWN0RWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFz
cyhzdHlsZVRhZywgW0RPTUhUTUxTdHlsZUVsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50
Q2xhc3ModGFibGVUYWcsIFtET01IVE1MVGFibGVFbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxl
bWVudENsYXNzKHRib2R5VGFnLCBbRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgY2xhc3NdKTsK
LSAgICBhZGRFbGVtZW50Q2xhc3ModGRUYWcsIFtET01IVE1MVGFibGVDZWxsRWxlbWVudCBjbGFz
c10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyh0ZXh0YXJlYVRhZywgW0RPTUhUTUxUZXh0QXJlYUVs
ZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVtZW50Q2xhc3ModGZvb3RUYWcsIFtET01IVE1MVGFi
bGVTZWN0aW9uRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRDbGFzcyh0aGVhZFRhZywg
W0RPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50IGNsYXNzXSk7Ci0gICAgYWRkRWxlbWVudENsYXNz
KHRpdGxlVGFnLCBbRE9NSFRNTFRpdGxlRWxlbWVudCBjbGFzc10pOwotICAgIGFkZEVsZW1lbnRD
bGFzcyh0clRhZywgW0RPTUhUTUxUYWJsZVJvd0VsZW1lbnQgY2xhc3NdKTsKLSAgICBhZGRFbGVt
ZW50Q2xhc3ModWxUYWcsIFtET01IVE1MVUxpc3RFbGVtZW50IGNsYXNzXSk7Ci0KLSAgICAvLyBG
SVhNRTogUmVmbGVjdCBtYXJxdWVlIG9uY2UgdGhlIEFQSSBoYXMgYmVlbiBkZXRlcm1pbmVkLgot
fQotCi1zdGF0aWMgQ2xhc3MgZWxlbWVudENsYXNzKGNvbnN0IFdlYkNvcmU6OkF0b21pY1N0cmlu
ZyYgdGFnTmFtZSkKLXsKLSAgICBpZiAoIWVsZW1lbnRDbGFzc01hcCkKLSAgICAgICAgY3JlYXRl
SFRNTEVsZW1lbnRDbGFzc01hcCgpOwotICAgIENsYXNzIG9iamNDbGFzcyA9IGVsZW1lbnRDbGFz
c01hcC0+Z2V0KHRhZ05hbWUuaW1wbCgpKTsKLSAgICBpZiAoIW9iamNDbGFzcykKLSAgICAgICAg
b2JqY0NsYXNzID0gW0RPTUhUTUxFbGVtZW50IGNsYXNzXTsKLSAgICByZXR1cm4gb2JqY0NsYXNz
OwotfQotCi1AaW1wbGVtZW50YXRpb24gRE9NTm9kZSAoV2ViQ29yZUludGVybmFsKQorQGltcGxl
bWVudGF0aW9uIERPTU5vZGUgKERPTU5vZGVFeHRlbnNpb25zKQogCiAvLyBGSVhNRTogc2hvdWxk
IHRoaXMgZ28gaW4gdGhlIG1haW4gaW1wbGVtZW50YXRpb24/CiAtIChOU1N0cmluZyAqKWRlc2Ny
aXB0aW9uCkBAIC0yNzUsODQgKzg5LDcgQEAgc3RhdGljIENsYXNzIGVsZW1lbnRDbGFzcyhjb25z
dCBXZWJDb3JlOgogICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjwlQCBb
JUBdOiAlcD4iLCBbW3NlbGYgY2xhc3NdIGRlc2NyaXB0aW9uXSwgW3NlbGYgbm9kZU5hbWVdLCBf
aW50ZXJuYWxdOwogfQogCi0tIChpZClfaW5pdFdpdGhOb2RlOihXZWJDb3JlOjpOb2RlICopaW1w
bAotewotICAgIEFTU0VSVChpbXBsKTsKLQotICAgIFtzdXBlciBfaW5pdF07Ci0gICAgX2ludGVy
bmFsID0gcmVpbnRlcnByZXRfY2FzdDxET01PYmplY3RJbnRlcm5hbCo+KGltcGwpOwotICAgIGlt
cGwtPnJlZigpOwotICAgIGFkZERPTVdyYXBwZXIoc2VsZiwgaW1wbCk7Ci0gICAgcmV0dXJuIHNl
bGY7Ci19Ci0KLSsgKERPTU5vZGUgKilfbm9kZVdpdGg6KFdlYkNvcmU6Ok5vZGUgKilpbXBsCi17
Ci0gICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gbmlsOwotICAgIAotICAgIGlkIGNhY2hl
ZEluc3RhbmNlOwotICAgIGNhY2hlZEluc3RhbmNlID0gZ2V0RE9NV3JhcHBlcihpbXBsKTsKLSAg
ICBpZiAoY2FjaGVkSW5zdGFuY2UpCi0gICAgICAgIHJldHVybiBbW2NhY2hlZEluc3RhbmNlIHJl
dGFpbl0gYXV0b3JlbGVhc2VdOwotICAgIAotICAgIENsYXNzIHdyYXBwZXJDbGFzcyA9IG5pbDsK
LSAgICBzd2l0Y2ggKGltcGwtPm5vZGVUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpO
b2RlOjpFTEVNRU5UX05PREU6Ci0gICAgICAgICAgICBpZiAoaW1wbC0+aXNIVE1MRWxlbWVudCgp
KQotICAgICAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IGVsZW1lbnRDbGFzcyhzdGF0aWNfY2Fz
dDxXZWJDb3JlOjpIVE1MRWxlbWVudCo+KGltcGwpLT5sb2NhbE5hbWUoKSk7Ci0gICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTUVsZW1lbnQgY2xhc3Nd
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6Tm9kZTo6QVRUUklC
VVRFX05PREU6Ci0gICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NQXR0ciBjbGFzc107Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpOb2RlOjpURVhUX05PREU6
Ci0gICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NVGV4dCBjbGFzc107Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpOb2RlOjpDREFUQV9TRUNUSU9OX05PREU6
Ci0gICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NQ0RBVEFTZWN0aW9uIGNsYXNzXTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFdlYkNvcmU6Ok5vZGU6OkVOVElUWV9SRUZF
UkVOQ0VfTk9ERToKLSAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01FbnRpdHlSZWZlcmVu
Y2UgY2xhc3NdOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6Tm9k
ZTo6RU5USVRZX05PREU6Ci0gICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NRW50aXR5IGNs
YXNzXTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFdlYkNvcmU6Ok5vZGU6OlBS
T0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERToKLSAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtE
T01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gY2xhc3NdOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgV2ViQ29yZTo6Tm9kZTo6Q09NTUVOVF9OT0RFOgotICAgICAgICAgICAgd3JhcHBl
ckNsYXNzID0gW0RPTUNvbW1lbnQgY2xhc3NdOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgV2ViQ29yZTo6Tm9kZTo6RE9DVU1FTlRfTk9ERToKLSAgICAgICAgICAgIGlmIChzdGF0
aWNfY2FzdDxXZWJDb3JlOjpEb2N1bWVudCo+KGltcGwpLT5pc0hUTUxEb2N1bWVudCgpKQotICAg
ICAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01IVE1MRG9jdW1lbnQgY2xhc3NdOwotICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01Eb2N1bWVu
dCBjbGFzc107Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpOb2Rl
OjpET0NVTUVOVF9UWVBFX05PREU6Ci0gICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NRG9j
dW1lbnRUeXBlIGNsYXNzXTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFdlYkNv
cmU6Ok5vZGU6OkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6Ci0gICAgICAgICAgICB3cmFwcGVyQ2xh
c3MgPSBbRE9NRG9jdW1lbnRGcmFnbWVudCBjbGFzc107Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBXZWJDb3JlOjpOb2RlOjpOT1RBVElPTl9OT0RFOgotICAgICAgICAgICAgd3Jh
cHBlckNsYXNzID0gW0RPTU5vdGF0aW9uIGNsYXNzXTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIFdlYkNvcmU6Ok5vZGU6OlhQQVRIX05BTUVTUEFDRV9OT0RFOgotICAgICAgICAg
ICAgLy8gRklYTUU6IENyZWF0ZSBhbiBYUGF0aCBvYmplY3RpdmUgQyB3cmFwcGVyCi0gICAgICAg
ICAgICAvLyBTZWUgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NzU1Ci0gICAgICAgICAgICByZXR1cm4gbmlsOwotICAgIH0KLSAgICByZXR1cm4gW1tbd3Jh
cHBlckNsYXNzIGFsbG9jXSBfaW5pdFdpdGhOb2RlOmltcGxdIGF1dG9yZWxlYXNlXTsKLX0KLQot
LSAoV2ViQ29yZTo6Tm9kZSAqKV9ub2RlCi17Ci0gICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
V2ViQ29yZTo6Tm9kZSo+KF9pbnRlcm5hbCk7Ci19Ci0KKy8vIEZJWE1FOiB0aGlzIHNob3VsZCBi
ZSBpbXBsZW1lbnRlZCBpbiB0aGUgaW1wbGVtZW50YXRpb24KIC0gKGNvbnN0IEtKUzo6QmluZGlu
Z3M6OlJvb3RPYmplY3QgKilfZXhlY3V0aW9uQ29udGV4dAogewogICAgIGlmIChXZWJDb3JlOjpO
b2RlICpuID0gW3NlbGYgX25vZGVdKSB7CkBAIC0zNjIsMTAgKzk5LDYgQEAgc3RhdGljIENsYXNz
IGVsZW1lbnRDbGFzcyhjb25zdCBXZWJDb3JlOgogICAgIHJldHVybiAwOwogfQogCi1AZW5kCi0K
LUBpbXBsZW1lbnRhdGlvbiBET01Ob2RlIChET01Ob2RlRXh0ZW5zaW9ucykKLQogLy8gRklYTUU6
IHRoaXMgc2hvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSBpbXBsZW1lbnRhdGlvbgogLSAoTlNS
ZWN0KWJvdW5kaW5nQm94CiB7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0JKHJldmlzaW9u
IDE2NjM0KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjgsMjQgKzI4LDEzIEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkRPTUNT
Uy5oIgogCi0jaW1wb3J0ICJDU1NDaGFyc2V0UnVsZS5oIgotI2ltcG9ydCAiQ1NTRm9udEZhY2VS
dWxlLmgiCi0jaW1wb3J0ICJDU1NJbXBvcnRSdWxlLmgiCi0jaW1wb3J0ICJDU1NNZWRpYVJ1bGUu
aCIKLSNpbXBvcnQgIkNTU1BhZ2VSdWxlLmgiCi0jaW1wb3J0ICJDU1NQcmltaXRpdmVWYWx1ZS5o
IgotI2ltcG9ydCAiQ1NTUnVsZS5oIgogI2ltcG9ydCAiQ1NTUnVsZUxpc3QuaCIKICNpbXBvcnQg
IkNTU1N0eWxlRGVjbGFyYXRpb24uaCIKLSNpbXBvcnQgIkNTU1N0eWxlUnVsZS5oIgotI2ltcG9y
dCAiQ1NTU3R5bGVTaGVldC5oIgotI2ltcG9ydCAiQ1NTVmFsdWVMaXN0LmgiCiAjaW1wb3J0ICJE
T01JbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NUHJpdmF0ZS5oIgogI2ltcG9ydCAiRE9NV2luZG93
LmgiCiAjaW1wb3J0ICJEb2N1bWVudC5oIgogI2ltcG9ydCAiU3R5bGVTaGVldC5oIgotCiAjaW1w
b3J0IDxvYmpjL29iamMtY2xhc3MuaD4KICNpbXBvcnQgPHd0Zi9HZXRQdHIuaD4KIApAQCAtNTQs
MTcxICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIH0KIAogLy8tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLS8vIERPTVN0eWxlU2hlZXQKLQotQGltcGxlbWVudGF0aW9uIERP
TVN0eWxlU2hlZXQgKFdlYkNvcmVJbnRlcm5hbCkKLQotLSAoaWQpX2luaXRXaXRoU3R5bGVTaGVl
dDooV2ViQ29yZTo6U3R5bGVTaGVldCAqKWltcGwKLXsKLSAgICBbc3VwZXIgX2luaXRdOwotICAg
IF9pbnRlcm5hbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8RE9NT2JqZWN0SW50ZXJuYWwqPihpbXBsKTsK
LSAgICBpbXBsLT5yZWYoKTsKLSAgICBhZGRET01XcmFwcGVyKHNlbGYsIGltcGwpOwotICAgIHJl
dHVybiBzZWxmOwotfQotCi0rIChET01TdHlsZVNoZWV0ICopX3N0eWxlU2hlZXRXaXRoOihXZWJD
b3JlOjpTdHlsZVNoZWV0ICopaW1wbAotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJu
IG5pbDsKLSAgICAKLSAgICBpZCBjYWNoZWRJbnN0YW5jZTsKLSAgICBjYWNoZWRJbnN0YW5jZSA9
IGdldERPTVdyYXBwZXIoaW1wbCk7Ci0gICAgaWYgKGNhY2hlZEluc3RhbmNlKQotICAgICAgICBy
ZXR1cm4gW1tjYWNoZWRJbnN0YW5jZSByZXRhaW5dIGF1dG9yZWxlYXNlXTsKLSAgICAKLSAgICBD
bGFzcyB3cmFwcGVyQ2xhc3M7Ci0gICAgaWYgKGltcGwtPmlzQ1NTU3R5bGVTaGVldCgpKQotICAg
ICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NQ1NTU3R5bGVTaGVldCBjbGFzc107Ci0gICAgZWxzZQot
ICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NU3R5bGVTaGVldCBjbGFzc107Ci0gICAgcmV0dXJu
IFtbW3dyYXBwZXJDbGFzcyBhbGxvY10gX2luaXRXaXRoU3R5bGVTaGVldDppbXBsXSBhdXRvcmVs
ZWFzZV07Ci19Ci0KLUBlbmQKLQotCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotLy8gRE9NQ1NTU3R5bGVTaGVldAotCi1AaW1wbGVtZW50YXRpb24gRE9NQ1NTU3R5bGVTaGVl
dCAoV2ViQ29yZUludGVybmFsKQotCi0rIChET01DU1NTdHlsZVNoZWV0ICopX0NTU1N0eWxlU2hl
ZXRXaXRoOihXZWJDb3JlOjpDU1NTdHlsZVNoZWV0ICopaW1wbAotewotICAgIHJldHVybiBzdGF0
aWNfY2FzdDxET01DU1NTdHlsZVNoZWV0Kj4oW0RPTVN0eWxlU2hlZXQgX3N0eWxlU2hlZXRXaXRo
OmltcGxdKTsKLX0KLQotQGVuZAotCi0KLS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0vLyBET01DU1NSdWxlCi0KLUBpbXBsZW1lbnRhdGlvbiBET01DU1NSdWxlIChXZWJDb3Jl
SW50ZXJuYWwpCi0KLS0gKGlkKV9pbml0V2l0aFJ1bGU6KFdlYkNvcmU6OkNTU1J1bGUgKilpbXBs
Ci17Ci0gICAgW3N1cGVyIF9pbml0XTsKLSAgICBfaW50ZXJuYWwgPSByZWludGVycHJldF9jYXN0
PERPTU9iamVjdEludGVybmFsKj4oaW1wbCk7Ci0gICAgaW1wbC0+cmVmKCk7Ci0gICAgYWRkRE9N
V3JhcHBlcihzZWxmLCBpbXBsKTsKLSAgICByZXR1cm4gc2VsZjsKLX0KLQotKyAoRE9NQ1NTUnVs
ZSAqKV9DU1NSdWxlV2l0aDooV2ViQ29yZTo6Q1NTUnVsZSAqKWltcGwKLXsKLSAgICBpZiAoIWlt
cGwpCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgaWQgY2FjaGVkSW5zdGFuY2U7Ci0g
ICAgY2FjaGVkSW5zdGFuY2UgPSBnZXRET01XcmFwcGVyKGltcGwpOwotICAgIGlmIChjYWNoZWRJ
bnN0YW5jZSkKLSAgICAgICAgcmV0dXJuIFtbY2FjaGVkSW5zdGFuY2UgcmV0YWluXSBhdXRvcmVs
ZWFzZV07Ci0KLSAgICBDbGFzcyB3cmFwcGVyQ2xhc3MgPSBuaWw7Ci0gICAgc3dpdGNoIChpbXBs
LT50eXBlKCkpIHsKLSAgICAgICAgY2FzZSBET01fVU5LTk9XTl9SVUxFOgotICAgICAgICAgICAg
d3JhcHBlckNsYXNzID0gW0RPTUNTU1J1bGUgY2xhc3NdOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgRE9NX1NUWUxFX1JVTEU6Ci0gICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBb
RE9NQ1NTU3R5bGVSdWxlIGNsYXNzXTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IERPTV9DSEFSU0VUX1JVTEU6Ci0gICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NQ1NTQ2hh
cnNldFJ1bGUgY2xhc3NdOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRE9NX0lN
UE9SVF9SVUxFOgotICAgICAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTUNTU0ltcG9ydFJ1bGUg
Y2xhc3NdOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRE9NX01FRElBX1JVTEU6
Ci0gICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NQ1NTTWVkaWFSdWxlIGNsYXNzXTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERPTV9GT05UX0ZBQ0VfUlVMRToKLSAgICAg
ICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01DU1NGb250RmFjZVJ1bGUgY2xhc3NdOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRE9NX1BBR0VfUlVMRToKLSAgICAgICAgICAgIHdy
YXBwZXJDbGFzcyA9IFtET01DU1NQYWdlUnVsZSBjbGFzc107Ci0gICAgICAgICAgICBicmVhazsK
LSAgICB9Ci0gICAgcmV0dXJuIFtbW3dyYXBwZXJDbGFzcyBhbGxvY10gX2luaXRXaXRoUnVsZTpp
bXBsXSBhdXRvcmVsZWFzZV07Ci19Ci0KLUBlbmQKLQotCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotLy8gRE9NQ1NTVmFsdWUKLQotQGltcGxlbWVudGF0aW9uIERPTUNTU1Zh
bHVlIChXZWJDb3JlSW50ZXJuYWwpCi0KLS0gKGlkKV9pbml0V2l0aFZhbHVlOihXZWJDb3JlOjpD
U1NWYWx1ZSAqKWltcGwKLXsKLSAgICBbc3VwZXIgX2luaXRdOwotICAgIF9pbnRlcm5hbCA9IHJl
aW50ZXJwcmV0X2Nhc3Q8RE9NT2JqZWN0SW50ZXJuYWwqPihpbXBsKTsKLSAgICBpbXBsLT5yZWYo
KTsKLSAgICBhZGRET01XcmFwcGVyKHNlbGYsIGltcGwpOwotICAgIHJldHVybiBzZWxmOwotfQot
Ci0rIChET01DU1NWYWx1ZSAqKV9DU1NWYWx1ZVdpdGg6KFdlYkNvcmU6OkNTU1ZhbHVlICopaW1w
bAotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICBpZCBj
YWNoZWRJbnN0YW5jZTsKLSAgICBjYWNoZWRJbnN0YW5jZSA9IGdldERPTVdyYXBwZXIoaW1wbCk7
Ci0gICAgaWYgKGNhY2hlZEluc3RhbmNlKQotICAgICAgICByZXR1cm4gW1tjYWNoZWRJbnN0YW5j
ZSByZXRhaW5dIGF1dG9yZWxlYXNlXTsKLSAgICAKLSAgICBDbGFzcyB3cmFwcGVyQ2xhc3MgPSBu
aWw7Ci0gICAgc3dpdGNoIChpbXBsLT5jc3NWYWx1ZVR5cGUoKSkgewotICAgICAgICBjYXNlIERP
TV9DU1NfSU5IRVJJVDoKLSAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01DU1NWYWx1ZSBj
bGFzc107Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBET01fQ1NTX1BSSU1JVElW
RV9WQUxVRToKLSAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01DU1NQcmltaXRpdmVWYWx1
ZSBjbGFzc107Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBET01fQ1NTX1ZBTFVF
X0xJU1Q6Ci0gICAgICAgICAgICB3cmFwcGVyQ2xhc3MgPSBbRE9NQ1NTVmFsdWVMaXN0IGNsYXNz
XTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERPTV9DU1NfQ1VTVE9NOgotICAg
ICAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTUNTU1ZhbHVlIGNsYXNzXTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgIH0KLSAgICByZXR1cm4gW1tbd3JhcHBlckNsYXNzIGFsbG9jXSBfaW5pdFdp
dGhWYWx1ZTppbXBsXSBhdXRvcmVsZWFzZV07Ci19Ci0KLUBlbmQKLQotCi0vLy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gRE9NQ1NTUHJpbWl0aXZlVmFsdWUKLQotQGltcGxl
bWVudGF0aW9uIERPTUNTU1ByaW1pdGl2ZVZhbHVlIChXZWJDb3JlSW50ZXJuYWwpCi0KLS0gKFdl
YkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlICopX0NTU1ByaW1pdGl2ZVZhbHVlCi17Ci0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlKj4ocmVpbnRlcnByZXRf
Y2FzdDxXZWJDb3JlOjpDU1NWYWx1ZSo+KF9pbnRlcm5hbCkpOwotfQotCi0rIChET01DU1NQcmlt
aXRpdmVWYWx1ZSAqKV9DU1NQcmltaXRpdmVWYWx1ZVdpdGg6KFdlYkNvcmU6OkNTU1ZhbHVlICop
aW1wbAotewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxET01DU1NQcmltaXRpdmVWYWx1ZSo+KFtE
T01DU1NWYWx1ZSBfQ1NTVmFsdWVXaXRoOmltcGxdKTsKLX0KLQotQGVuZAotCi0KLS8vLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBET01DU1NTdHlsZURlY2xhcmF0aW9uIENT
UzIgUHJvcGVydGllcwogCiBAaW1wbGVtZW50YXRpb24gRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAo
RE9NQ1NTMlByb3BlcnRpZXMpCiAKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FdmVu
dHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV2ZW50cy5tbQko
cmV2aXNpb24gMTY2MzQpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRzLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zMCw2NSArMzAsNyBAQAogCiAjaW1wb3J0ICJET01JbnRlcm5hbC5o
IgogI2ltcG9ydCAiRE9NUHJpdmF0ZS5oIgotI2ltcG9ydCAiRG9jdW1lbnQuaCIKLSNpbXBvcnQg
IkV2ZW50LmgiCi0jaW1wb3J0ICJNb3VzZUV2ZW50LmgiCiAjaW1wb3J0ICJLZXlib2FyZEV2ZW50
LmgiCi0jaW1wb3J0ICJNdXRhdGlvbkV2ZW50LmgiCi0jaW1wb3J0ICJPdmVyZmxvd0V2ZW50Lmgi
Ci0jaW1wb3J0ICJVSUV2ZW50LmgiCi0KLS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0vLyBET01FdmVudAotCi1AaW1wbGVtZW50YXRpb24gRE9NRXZlbnQgKFdlYkNvcmVJbnRl
cm5hbCkKLQotLSAoV2ViQ29yZTo6RXZlbnQgKilfZXZlbnQKLXsKLSAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXZWJDb3JlOjpFdmVudCo+KF9pbnRlcm5hbCk7Ci19Ci0KLS0gKGlkKV9pbml0
V2l0aEV2ZW50OihXZWJDb3JlOjpFdmVudCAqKWltcGwKLXsKLSAgICBBU1NFUlQoaW1wbCk7Ci0K
LSAgICBbc3VwZXIgX2luaXRdOwotICAgIF9pbnRlcm5hbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8RE9N
T2JqZWN0SW50ZXJuYWwgKj4oaW1wbCk7Ci0gICAgaW1wbC0+cmVmKCk7Ci0gICAgYWRkRE9NV3Jh
cHBlcihzZWxmLCBpbXBsKTsKLSAgICByZXR1cm4gc2VsZjsKLX0KLQotKyAoRE9NRXZlbnQgKilf
ZXZlbnRXaXRoOihXZWJDb3JlOjpFdmVudCAqKWltcGwKLXsKLSAgICBpZiAoIWltcGwpCi0gICAg
ICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgaWQgY2FjaGVkSW5zdGFuY2U7Ci0gICAgY2FjaGVk
SW5zdGFuY2UgPSBnZXRET01XcmFwcGVyKGltcGwpOwotICAgIGlmIChjYWNoZWRJbnN0YW5jZSkK
LSAgICAgICAgcmV0dXJuIFtbY2FjaGVkSW5zdGFuY2UgcmV0YWluXSBhdXRvcmVsZWFzZV07Ci0g
ICAgCi0gICAgQ2xhc3Mgd3JhcHBlckNsYXNzID0gbmlsOwotICAgIGlmIChpbXBsLT5pc1doZWVs
RXZlbnQoKSkKLSAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTVdoZWVsRXZlbnQgY2xhc3NdOyAg
ICAgICAgCi0gICAgZWxzZSBpZiAoaW1wbC0+aXNNb3VzZUV2ZW50KCkpCi0gICAgICAgIHdyYXBw
ZXJDbGFzcyA9IFtET01Nb3VzZUV2ZW50IGNsYXNzXTsKLSAgICBlbHNlIGlmIChpbXBsLT5pc011
dGF0aW9uRXZlbnQoKSkKLSAgICAgICAgd3JhcHBlckNsYXNzID0gW0RPTU11dGF0aW9uRXZlbnQg
Y2xhc3NdOwotICAgIGVsc2UgaWYgKGltcGwtPmlzS2V5Ym9hcmRFdmVudCgpKQotICAgICAgICB3
cmFwcGVyQ2xhc3MgPSBbRE9NS2V5Ym9hcmRFdmVudCBjbGFzc107Ci0gICAgZWxzZSBpZiAoaW1w
bC0+aXNVSUV2ZW50KCkpCi0gICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01VSUV2ZW50IGNsYXNz
XTsKLSAgICBlbHNlIGlmIChpbXBsLT5pc092ZXJmbG93RXZlbnQoKSkKLSAgICAgICAgd3JhcHBl
ckNsYXNzID0gW0RPTU92ZXJmbG93RXZlbnQgY2xhc3NdOwotICAgIGVsc2UKLSAgICAgICAgd3Jh
cHBlckNsYXNzID0gW0RPTUV2ZW50IGNsYXNzXTsKLQotICAgIHJldHVybiBbW1t3cmFwcGVyQ2xh
c3MgYWxsb2NdIF9pbml0V2l0aEV2ZW50OmltcGxdIGF1dG9yZWxlYXNlXTsKLX0KLQotQGVuZAog
CiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkluZGV4OiBXZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NSFRNTEFwcGxldEVsZW1lbnQubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxBcHBsZXRFbGVtZW50Lm1tCShyZXZpc2lvbiAxNjYzNCkK
KysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQXBwbGV0RWxlbWVudC5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTQ4LDMgKzE0OCwzNCBAQAogfQogCiBAZW5kCisKK0BpbXBsZW1lbnRhdGlv
biBET01IVE1MQXBwbGV0RWxlbWVudCAoV2ViQ29yZUludGVybmFsKQorCistIChXZWJDb3JlOjpI
VE1MQXBwbGV0RWxlbWVudCAqKV9IVE1MQXBwbGV0RWxlbWVudAoreworICAgIHJldHVybiBJTVBM
OworfQorCistIChpZClfaW5pdFdpdGhIVE1MQXBwbGV0RWxlbWVudDooV2ViQ29yZTo6SFRNTEFw
cGxldEVsZW1lbnQgKilpbXBsCit7CisgICAgQVNTRVJUKGltcGwpOworCisgICAgW3N1cGVyIF9p
bml0XTsKKyAgICBfaW50ZXJuYWwgPSByZWludGVycHJldF9jYXN0PERPTU9iamVjdEludGVybmFs
Kj4oaW1wbCk7CisgICAgaW1wbC0+cmVmKCk7CisgICAgYWRkRE9NV3JhcHBlcihzZWxmLCBpbXBs
KTsKKyAgICByZXR1cm4gc2VsZjsKK30KKworKyAoRE9NSFRNTEFwcGxldEVsZW1lbnQgKilfSFRN
TE9wdGlvbkVsZW1lbnRXaXRoOihXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudCAqKWltcGwKK3sK
KyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgaWQgY2FjaGVkSW5zdGFu
Y2U7CisgICAgY2FjaGVkSW5zdGFuY2UgPSBnZXRET01XcmFwcGVyKGltcGwpOworICAgIGlmIChj
YWNoZWRJbnN0YW5jZSkKKyAgICAgICAgcmV0dXJuIFtbY2FjaGVkSW5zdGFuY2UgcmV0YWluXSBh
dXRvcmVsZWFzZV07CisgICAgcmV0dXJuIFtbW3NlbGYgYWxsb2NdIF9pbml0V2l0aEhUTUxBcHBs
ZXRFbGVtZW50OmltcGxdIGF1dG9yZWxlYXNlXTsKK30KKworQGVuZApJbmRleDogV2ViQ29yZS9i
aW5kaW5ncy9vYmpjL0RPTUhUTUxFbWJlZEVsZW1lbnQubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxFbWJlZEVsZW1lbnQubW0JKHJldmlzaW9uIDE2NjM0KQor
KysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxFbWJlZEVsZW1lbnQubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTk4LDMgKzk4LDM1IEBACiB9CiAKIEBlbmQKKworQGltcGxlbWVudGF0aW9uIERP
TUhUTUxFbWJlZEVsZW1lbnQgKFdlYkNvcmVJbnRlcm5hbCkKKworLSAoV2ViQ29yZTo6SFRNTEVt
YmVkRWxlbWVudCAqKV9IVE1MRW1iZWRFbGVtZW50Cit7CisgICAgcmV0dXJuIElNUEw7Cit9CisK
Ky0gKGlkKV9pbml0V2l0aEhUTUxFbWJlZEVsZW1lbnQ6KFdlYkNvcmU6OkhUTUxFbWJlZEVsZW1l
bnQgKilpbXBsCit7CisgICAgQVNTRVJUKGltcGwpOworCisgICAgW3N1cGVyIF9pbml0XTsKKyAg
ICBfaW50ZXJuYWwgPSByZWludGVycHJldF9jYXN0PERPTU9iamVjdEludGVybmFsKj4oaW1wbCk7
CisgICAgaW1wbC0+cmVmKCk7CisgICAgYWRkRE9NV3JhcHBlcihzZWxmLCBpbXBsKTsKKyAgICBy
ZXR1cm4gc2VsZjsKK30KKworKyAoRE9NSFRNTEVtYmVkRWxlbWVudCAqKV9IVE1MRW1iZWRFbGVt
ZW50V2l0aDooV2ViQ29yZTo6SFRNTEVtYmVkRWxlbWVudCAqKWltcGwKK3sKKyAgICBpZiAoIWlt
cGwpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgaWQgY2FjaGVkSW5zdGFuY2U7CisgICAgY2Fj
aGVkSW5zdGFuY2UgPSBnZXRET01XcmFwcGVyKGltcGwpOworICAgIGlmIChjYWNoZWRJbnN0YW5j
ZSkKKyAgICAgICAgcmV0dXJuIFtbY2FjaGVkSW5zdGFuY2UgcmV0YWluXSBhdXRvcmVsZWFzZV07
CisgICAgcmV0dXJuIFtbW3NlbGYgYWxsb2NdIF9pbml0V2l0aEhUTUxFbWJlZEVsZW1lbnQ6aW1w
bF0gYXV0b3JlbGVhc2VdOworfQorCisKK0BlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01IVE1MT3B0aW9uRWxlbWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NSFRNTE9wdGlvbkVsZW1lbnQubW0JKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxPcHRpb25FbGVtZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTMsOSArMTEzLDI3IEBACiAgICAgcmV0dXJuIElNUEw7CiB9CiAKKy0gKGlkKV9pbml0V2l0
aEhUTUxPcHRpb25FbGVtZW50OihXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudCAqKWltcGwKK3sK
KyAgICBBU1NFUlQoaW1wbCk7CisKKyAgICBbc3VwZXIgX2luaXRdOworICAgIF9pbnRlcm5hbCA9
IHJlaW50ZXJwcmV0X2Nhc3Q8RE9NT2JqZWN0SW50ZXJuYWwqPihpbXBsKTsKKyAgICBpbXBsLT5y
ZWYoKTsKKyAgICBhZGRET01XcmFwcGVyKHNlbGYsIGltcGwpOworICAgIHJldHVybiBzZWxmOwor
fQorCiArIChET01IVE1MT3B0aW9uRWxlbWVudCAqKV9IVE1MT3B0aW9uRWxlbWVudFdpdGg6KFdl
YkNvcmU6OkhUTUxPcHRpb25FbGVtZW50ICopaW1wbAogewotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxET01IVE1MT3B0aW9uRWxlbWVudCo+KFtET01Ob2RlIF9ub2RlV2l0aDppbXBsXSk7CisgICAg
aWYgKCFpbXBsKQorICAgICAgICByZXR1cm4gbmlsOworICAgIGlkIGNhY2hlZEluc3RhbmNlOwor
ICAgIGNhY2hlZEluc3RhbmNlID0gZ2V0RE9NV3JhcHBlcihpbXBsKTsKKyAgICBpZiAoY2FjaGVk
SW5zdGFuY2UpCisgICAgICAgIHJldHVybiBbW2NhY2hlZEluc3RhbmNlIHJldGFpbl0gYXV0b3Jl
bGVhc2VdOworICAgIHJldHVybiBbW1tzZWxmIGFsbG9jXSBfaW5pdFdpdGhIVE1MT3B0aW9uRWxl
bWVudDppbXBsXSBhdXRvcmVsZWFzZV07CiB9CiAKKwogQGVuZApJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUludGVybmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTUludGVybmFsLmgJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTUludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDE2ICsyOSw5IEBACiAKICNp
bXBvcnQgIkNvbG9yLmgiCiAjaW1wb3J0ICJET01BYnN0cmFjdFZpZXcuaCIKLSNpbXBvcnQgIkRP
TUNTU1ByaW1pdGl2ZVZhbHVlLmgiCi0jaW1wb3J0ICJET01DU1NSdWxlLmgiCi0jaW1wb3J0ICJE
T01DU1NTdHlsZVNoZWV0LmgiCi0jaW1wb3J0ICJET01DU1NWYWx1ZS5oIgotI2ltcG9ydCAiRE9N
RXZlbnRzLmgiCiAjaW1wb3J0ICJET01IVE1MT3B0aW9uRWxlbWVudC5oIgotI2ltcG9ydCAiRE9N
Tm9kZS5oIgogI2ltcG9ydCAiRE9NT2JqZWN0LmgiCiAjaW1wb3J0ICJET01SR0JDb2xvci5oIgot
I2ltcG9ydCAiRE9NU3R5bGVTaGVldC5oIgogCiAjaWZkZWYgWFBBVEhfU1VQUE9SVAogI2ltcG9y
dCAiRE9NWFBhdGhOU1Jlc29sdmVyLmgiCkBAIC00Nyw4ICs0MCwyMCBAQAogLy8gQXV0by1nZW5l
cmF0ZWQgaW50ZXJuYWwgaW50ZXJmYWNlcwogI2ltcG9ydCAiRE9NQXR0ckludGVybmFsLmgiCiAj
aW1wb3J0ICJET01DREFUQVNlY3Rpb25JbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NQ1NTQ2hhcnNl
dFJ1bGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NQ1NTRm9udEZhY2VSdWxlSW50ZXJuYWwuaCIK
KyNpbXBvcnQgIkRPTUNTU0ltcG9ydFJ1bGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NQ1NTTWVk
aWFSdWxlSW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTUNTU1BhZ2VSdWxlSW50ZXJuYWwuaCIKKyNp
bXBvcnQgIkRPTUNTU1ByaW1pdGl2ZVZhbHVlSW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTUNTU1J1
bGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NQ1NTUnVsZUxpc3RJbnRlcm5hbC5oIgogI2ltcG9y
dCAiRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbkludGVybmFsLmgiCisjaW1wb3J0ICJET01DU1NTdHls
ZVJ1bGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NQ1NTU3R5bGVTaGVldEludGVybmFsLmgiCisj
aW1wb3J0ICJET01DU1NVbmtub3duUnVsZUludGVybmFsLmgiCisjaW1wb3J0ICJET01DU1NWYWx1
ZUludGVybmFsLmgiCisjaW1wb3J0ICJET01DU1NWYWx1ZUxpc3RJbnRlcm5hbC5oIgogI2ltcG9y
dCAiRE9NQ2hhcmFjdGVyRGF0YUludGVybmFsLmgiCiAjaW1wb3J0ICJET01Db21tZW50SW50ZXJu
YWwuaCIKICNpbXBvcnQgIkRPTUNvdW50ZXJJbnRlcm5hbC5oIgpAQCAtNTksNiArNjQsNyBAQAog
I2ltcG9ydCAiRE9NRWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01FbnRpdHlJbnRlcm5h
bC5oIgogI2ltcG9ydCAiRE9NRW50aXR5UmVmZXJlbmNlSW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRP
TUV2ZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUhUTUxBbmNob3JFbGVtZW50SW50ZXJuYWwu
aCIKICNpbXBvcnQgIkRPTUhUTUxBcmVhRWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01I
VE1MQlJFbGVtZW50SW50ZXJuYWwuaCIKQEAgLTExMywxNCArMTE5LDIyIEBACiAjaW1wb3J0ICJE
T01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUhUTUxUaXRsZUVs
ZW1lbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NSFRNTFVMaXN0RWxlbWVudEludGVybmFsLmgi
CisjaW1wb3J0ICJET01LZXlib2FyZEV2ZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTU1lZGlh
TGlzdEludGVybmFsLmgiCisjaW1wb3J0ICJET01Nb3VzZUV2ZW50SW50ZXJuYWwuaCIKKyNpbXBv
cnQgIkRPTU11dGF0aW9uRXZlbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NTmFtZWROb2RlTWFw
SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTU5vZGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NTm9k
ZUxpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NTm90YXRpb25JbnRlcm5hbC5oIgorI2ltcG9y
dCAiRE9NT3ZlcmZsb3dFdmVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01Qcm9jZXNzaW5nSW5z
dHJ1Y3Rpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NUmVjdEludGVybmFsLmgiCisjaW1wb3J0
ICJET01TdHlsZVNoZWV0SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVN0eWxlU2hlZXRMaXN0SW50
ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVRleHRJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NVUlFdmVu
dEludGVybmFsLmgiCisjaW1wb3J0ICJET01XaGVlbEV2ZW50SW50ZXJuYWwuaCIKIAogI2lmZGVm
IFNWR19TVVBQT1JUCiAjaW1wb3J0ICJET01TVkdBbmdsZUludGVybmFsLmgiCkBAIC0xNTMsMTgg
KzE2NywxMSBAQAogI2VuZGlmIC8vIFhQQVRIX1NVUFBPUlQKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewotICAgIGNsYXNzIENTU1ByaW1pdGl2ZVZhbHVlOwotICAgIGNsYXNzIENTU1J1bGU7Ci0gICAg
Y2xhc3MgQ1NTU3R5bGVTaGVldDsKLSAgICBjbGFzcyBDU1NWYWx1ZTsKICAgICBjbGFzcyBET01X
aW5kb3c7Ci0gICAgY2xhc3MgRXZlbnQ7CiAgICAgY2xhc3MgSFRNTE9wdGlvbkVsZW1lbnQ7Ci0g
ICAgY2xhc3MgTm9kZTsKICAgICBjbGFzcyBOb2RlRmlsdGVyOwogICAgIGNsYXNzIE5vZGVJdGVy
YXRvcjsKICAgICBjbGFzcyBSYW5nZTsKLSAgICBjbGFzcyBTdHlsZVNoZWV0OwogICAgIGNsYXNz
IFRyZWVXYWxrZXI7CiAKICNpZmRlZiBYUEFUSF9TVVBQT1JUCkBAIC0xODEsMTEgKzE4OCw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIC0gKGlkKV9pbml0OwogQGVuZAogCi1AaW50ZXJmYWNlIERP
TU5vZGUgKFdlYkNvcmVJbnRlcm5hbCkKLSsgKERPTU5vZGUgKilfbm9kZVdpdGg6KFdlYkNvcmU6
Ok5vZGUgKilpbXBsOwotLSAoV2ViQ29yZTo6Tm9kZSAqKV9ub2RlOwotQGVuZAotCiAvLyBIVE1M
IEludGVybmFsIEludGVyZmFjZXMKIAogQGludGVyZmFjZSBET01IVE1MT3B0aW9uRWxlbWVudCAo
V2ViQ29yZUludGVybmFsKQpAQCAtMTk1LDQwICsxOTcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAvLyBDU1MgSW50ZXJuYWwgSW50ZXJmYWNlcwogCi1AaW50ZXJmYWNlIERPTUNTU1J1bGUg
KFdlYkNvcmVJbnRlcm5hbCkKLSsgKERPTUNTU1J1bGUgKilfQ1NTUnVsZVdpdGg6KFdlYkNvcmU6
OkNTU1J1bGUgKilpbXBsOwotQGVuZAotCi1AaW50ZXJmYWNlIERPTUNTU1ZhbHVlIChXZWJDb3Jl
SW50ZXJuYWwpCi0rIChET01DU1NWYWx1ZSAqKV9DU1NWYWx1ZVdpdGg6KFdlYkNvcmU6OkNTU1Zh
bHVlICopaW1wbDsKLUBlbmQKLQotQGludGVyZmFjZSBET01DU1NQcmltaXRpdmVWYWx1ZSAoV2Vi
Q29yZUludGVybmFsKQotLSAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWUgKilfQ1NTUHJpbWl0
aXZlVmFsdWU7Ci0rIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKV9DU1NQcmltaXRpdmVWYWx1ZVdp
dGg6KFdlYkNvcmU6OkNTU1ZhbHVlICopaW1wbDsKLUBlbmQKLQogQGludGVyZmFjZSBET01SR0JD
b2xvciAoV2ViQ29yZUludGVybmFsKQogKyAoRE9NUkdCQ29sb3IgKilfUkdCQ29sb3JXaXRoUkdC
OihXZWJDb3JlOjpSR0JBMzIpdmFsdWU7CiBAZW5kCiAKLUBpbnRlcmZhY2UgRE9NQ1NTU3R5bGVT
aGVldCAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NQ1NTU3R5bGVTaGVldCAqKV9DU1NTdHlsZVNo
ZWV0V2l0aDooV2ViQ29yZTo6Q1NTU3R5bGVTaGVldCAqKWltcGw7Ci1AZW5kCi0KLS8vIFN0eWxl
U2hlZXRzIEludGVybmFsIEludGVyZmFjZXMKLQotQGludGVyZmFjZSBET01TdHlsZVNoZWV0IChX
ZWJDb3JlSW50ZXJuYWwpCi0rIChET01TdHlsZVNoZWV0ICopX3N0eWxlU2hlZXRXaXRoOihXZWJD
b3JlOjpTdHlsZVNoZWV0ICopaW1wbDsKLUBlbmQKLQotLy8gRXZlbnRzIEludGVybmFsIEludGVy
ZmFjZXMKLQotQGludGVyZmFjZSBET01FdmVudCAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NRXZl
bnQgKilfZXZlbnRXaXRoOihXZWJDb3JlOjpFdmVudCAqKWltcGw7Ci0tIChXZWJDb3JlOjpFdmVu
dCAqKV9ldmVudDsKLUBlbmQKLQogLy8gUmFuZ2UgSW50ZXJuYWwgSW50ZXJmYWNlcwogCiBAaW50
ZXJmYWNlIERPTVJhbmdlIChXZWJDb3JlSW50ZXJuYWwpCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NSW50ZXJuYWwubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpj
L0RPTUludGVybmFsLm1tCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01JbnRlcm5hbC5tbQkod29ya2luZyBjb3B5KQpAQCAtNDIsMTEgKzQyLDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgS0pTOjpFeGVjU3RhdGU7CiB1c2luZyBLSlM6Oklu
dGVycHJldGVyOwogdXNpbmcgS0pTOjpKU09iamVjdDsKLQogdXNpbmcgS0pTOjpCaW5kaW5nczo6
Um9vdE9iamVjdDsKIAogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIFdy
YXBwaW5nIGtodG1sIGltcGxlbWVudGF0aW9uIG9iamVjdHMKKy8vIFdyYXBwaW5nIFdlYkNvcmUg
aW1wbGVtZW50YXRpb24gb2JqZWN0cwogCiBzdGF0aWMgSGFzaE1hcDxET01PYmplY3RJbnRlcm5h
bCosIE5TT2JqZWN0Kj4qIHdyYXBwZXJDYWNoZTsKIApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkocmV2aXNpb24gMTY2MzQpCisrKyBXZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHdvcmtpbmcgY29weSkK
QEAgLTc2MiwxMSArNzYyLDExIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAj
IGFkZCBpbXBsZW1lbnRhdGlvbiBhY2Nlc3NvcgogICAgICMgRklYTUU6IENTU1N0eWxlU2hlZXQg
c2hvdWxkIG5vdCBuZWVkIHNwZWNpYWwgY2FzaW5nIGxpa2UgdGhpcy4KLSAgICBpZiAoJHBhcmVu
dEltcGxDbGFzc05hbWUgZXEgIk9iamVjdCIgb3IgJGludGVyZmFjZU5hbWUgZXEgIkNTU1N0eWxl
U2hlZXQiKSB7CisgICAgaWYgKCRwYXJlbnRJbXBsQ2xhc3NOYW1lIGVxICJPYmplY3QiKSB7CiAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2RlZmluZSBJTVBMIHJlaW50ZXJwcmV0X2Nhc3Q8
JGltcGxDbGFzc05hbWVXaXRoTmFtZXNwYWNlKj4oX2ludGVybmFsKVxuXG4iKTsKICAgICB9IGVs
c2UgewogICAgICAgICBteSAkaW50ZXJuYWxCYXNlVHlwZSA9ICJXZWJDb3JlOjoiOwotICAgICAg
ICBpZiAoJHBhcmVudEltcGxDbGFzc05hbWUgZXEgIkNTU1ZhbHVlIiBvciAkcGFyZW50SW1wbENs
YXNzTmFtZSBlcSAiQ1NTUnVsZSIpIHsKKyAgICAgICAgaWYgKCRwYXJlbnRJbXBsQ2xhc3NOYW1l
IGVxICJDU1NWYWx1ZSIgb3IgJHBhcmVudEltcGxDbGFzc05hbWUgZXEgIkNTU1J1bGUiIG9yICRw
YXJlbnRJbXBsQ2xhc3NOYW1lIGVxICJTdHlsZVNoZWV0IikgewogICAgICAgICAgICAgJGludGVy
bmFsQmFzZVR5cGUgLj0gJHBhcmVudEltcGxDbGFzc05hbWU7CiAgICAgICAgIH0gZWxzaWYgKCRw
YXJlbnRJbXBsQ2xhc3NOYW1lIGVxICJFdmVudCIgb3IgJHBhcmVudEltcGxDbGFzc05hbWUgZXEg
IlVJRXZlbnQiKSB7CiAgICAgICAgICAgICAkaW50ZXJuYWxCYXNlVHlwZSAuPSAiRXZlbnQiOwpA
QCAtMTE0NCwzNiArMTE0NCwyOSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAg
ICAjIC0gVHlwZS1NYWtlcgogICAgICAgICBteSAkdHlwZU1ha2VyTmFtZSA9IEdldE9iakNUeXBl
TWFrZXIoJGludGVyZmFjZU5hbWUpOwogICAgICAgICBteSAkdHlwZU1ha2VyU2lnID0gIisgKCRj
bGFzc05hbWUgKikkdHlwZU1ha2VyTmFtZTooJGltcGxDbGFzc05hbWVXaXRoTmFtZXNwYWNlICop
aW1wbCI7Ci0gICAgICAgIGlmICgkcGFyZW50SW1wbENsYXNzTmFtZSBlcSAiT2JqZWN0IikgeyAg
ICAgICAgCi0gICAgICAgICAgICAjIC0gKGlkKV9pbml0V2l0aEZvb0JhcjooV2ViQ29yZTo6Rm9v
QmFyICopaW1wbCBmb3IgaW1wbGVtZW50YXRpb24gY2xhc3MgRm9vQmFyCi0gICAgICAgICAgICBt
eSAkaW5pdFdpdGhJbXBsTmFtZSA9ICJfaW5pdFdpdGgiIC4gJGltcGxDbGFzc05hbWU7Ci0gICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIi0gKGlkKSRpbml0V2l0aEltcGxOYW1lOigkaW1w
bENsYXNzTmFtZVdpdGhOYW1lc3BhY2UgKilpbXBsXG4iKTsKLSAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAie1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBb
c3VwZXIgX2luaXRdO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBf
aW50ZXJuYWwgPSByZWludGVycHJldF9jYXN0PERPTU9iamVjdEludGVybmFsKj4oaW1wbCk7XG4i
KTsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGltcGwtPnJlZigpO1xuIik7
Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBhZGRET01XcmFwcGVyKHNlbGYs
IGltcGwpO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4g
c2VsZjtcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwogCi0g
ICAgICAgICAgICAjIC0gKERPTUZvb0JhcilfRm9vQmFyV2l0aDooV2ViQ29yZTo6Rm9vQmFyICop
aW1wbCBmb3IgaW1wbGVtZW50YXRpb24gY2xhc3MgRm9vQmFyCi0gICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiR0eXBlTWFrZXJTaWdcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICgh
aW1wbClcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVy
biBuaWw7XG4iKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlkIGNhY2hl
ZEluc3RhbmNlO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBjYWNo
ZWRJbnN0YW5jZSA9IGdldERPTVdyYXBwZXIoaW1wbCk7XG4iKTsKLSAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIGlmIChjYWNoZWRJbnN0YW5jZSlcbiIpOwotICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBbW2NhY2hlZEluc3RhbmNlIHJldGFp
bl0gYXV0b3JlbGVhc2VdO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICByZXR1cm4gW1tbc2VsZiBhbGxvY10gJGluaXRXaXRoSW1wbE5hbWU6aW1wbF0gYXV0b3JlbGVh
c2VdO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAjIC0gKERPTUZvb0JhcilfRm9vQmFyV2l0aDooV2Vi
Q29yZTo6Rm9vQmFyICopaW1wbCBmb3IgaW1wbGVtZW50YXRpb24gY2xhc3MgRm9vQmFyCi0gICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiR0eXBlTWFrZXJTaWdcbiIpOwotICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIHJldHVybiBzdGF0aWNfY2FzdDwkY2xhc3NOYW1lKj4oW0RPTU5vZGUgX25vZGVX
aXRoOmltcGxdKTtcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIp
OwotICAgICAgICB9CisgICAgICAgICMgLSAoaWQpX2luaXRXaXRoRm9vQmFyOihXZWJDb3JlOjpG
b29CYXIgKilpbXBsIGZvciBpbXBsZW1lbnRhdGlvbiBjbGFzcyBGb29CYXIKKyAgICAgICAgbXkg
JGluaXRXaXRoSW1wbE5hbWUgPSAiX2luaXRXaXRoIiAuICRpbXBsQ2xhc3NOYW1lOworICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIi0gKGlkKSRpbml0V2l0aEltcGxOYW1lOigkaW1wbENsYXNz
TmFtZVdpdGhOYW1lc3BhY2UgKilpbXBsXG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJ7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgW3N1cGVyIF9pbml0XTtc
biIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBfaW50ZXJuYWwgPSByZWludGVy
cHJldF9jYXN0PERPTU9iamVjdEludGVybmFsKj4oaW1wbCk7XG4iKTsKKyAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgaW1wbC0+cmVmKCk7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgYWRkRE9NV3JhcHBlcihzZWxmLCBpbXBsKTtcbiIpOworICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gc2VsZjtcbiIpOworICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIn1cblxuIik7CisKKyAgICAgICAgIyAtIChET01Gb29CYXIpX0Zvb0JhcldpdGg6
KFdlYkNvcmU6OkZvb0JhciAqKWltcGwgZm9yIGltcGxlbWVudGF0aW9uIGNsYXNzIEZvb0Jhcgor
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiR0eXBlTWFrZXJTaWdcbiIpOworICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIntcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBpZiAoIWltcGwpXG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJl
dHVybiBuaWw7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWQgY2FjaGVk
SW5zdGFuY2U7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgY2FjaGVkSW5z
dGFuY2UgPSBnZXRET01XcmFwcGVyKGltcGwpO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIGlmIChjYWNoZWRJbnN0YW5jZSlcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAgICAgcmV0dXJuIFtbY2FjaGVkSW5zdGFuY2UgcmV0YWluXSBhdXRvcmVsZWFz
ZV07XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIFtbW3NlbGYg
YWxsb2NdICRpbml0V2l0aEltcGxOYW1lOmltcGxdIGF1dG9yZWxlYXNlXTtcbiIpOworICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAKICAgICAgICAgIyBFTkQgV2ViQ29yZUlu
dGVybmFsIGNhdGVnb3J5CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXEBlbmRcbiIpOwpJ
bmRleDogV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbAkocmV2aXNpb24gMTY2MzQpCisrKyBXZWJDb3JlL2Nz
cy9DU1NDaGFyc2V0UnVsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKIG1v
ZHVsZSBjc3MgewogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKLSAgICBpbnRl
cmZhY2UgW09iakNOb0ludGVybmFsXSBDU1NDaGFyc2V0UnVsZSA6IENTU1J1bGUgeworICAgIGlu
dGVyZmFjZSBDU1NDaGFyc2V0UnVsZSA6IENTU1J1bGUgewogCiAgICAgICAgIC8vIEZJWE1FOiB0
aGUgRE9NIHNwZWMgc2F5cyB0aGF0IHRoaXMgYXR0cmlidXRlCiAgICAgICAgIC8vIHNob3VsZCBu
b3QgYmUgcmVhZG9ubHkuICBUaGUgY29ycmVjdCBkZWNsYXJhdGlvbgpJbmRleDogV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VSdWxlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVJ1bGUuaWRsCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
UnVsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKIG1vZHVsZSBjc3Mgewog
CiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKLSAgICBpbnRlcmZhY2UgW09iakNO
b0ludGVybmFsXSBDU1NGb250RmFjZVJ1bGUgOiBDU1NSdWxlIHsKKyAgICBpbnRlcmZhY2UgQ1NT
Rm9udEZhY2VSdWxlIDogQ1NTUnVsZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NT
dHlsZURlY2xhcmF0aW9uICBzdHlsZTsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NJ
bXBvcnRSdWxlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmlk
bAkocmV2aXNpb24gMTY2MzQpCisrKyBXZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBAQAogbW9kdWxlIGNzcyB7CiAKICAgICAvLyBJbnRy
b2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAgIGludGVyZmFjZSBbT2JqQ05vSW50ZXJuYWxdIENT
U0ltcG9ydFJ1bGUgOiBDU1NSdWxlIHsKKyAgICBpbnRlcmZhY2UgQ1NTSW1wb3J0UnVsZSA6IENT
U1J1bGUgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgICBocmVm
OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgc3R5bGVzaGVldHM6Ok1lZGlhTGlzdCAgbWVk
aWE7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0ICAgIHN0eWxlU2hl
ZXQ7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvY3NzL0NTU01lZGlhUnVsZS5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9j
c3MvQ1NTTWVkaWFSdWxlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBAQAogbW9k
dWxlIGNzcyB7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAgIGludGVy
ZmFjZSBbT2JqQ05vSW50ZXJuYWxdIENTU01lZGlhUnVsZSA6IENTU1J1bGUgeworICAgIGludGVy
ZmFjZSBDU1NNZWRpYVJ1bGUgOiBDU1NSdWxlIHsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgc3R5bGVzaGVldHM6Ok1lZGlhTGlzdCAgbWVkaWE7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBDU1NSdWxlTGlzdCAgICAgIGNzc1J1bGVzOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFn
ZVJ1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmlkbAkocmV2
aXNpb24gMTY2MzQpCisrKyBXZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTIxLDcgKzIxLDcgQEAKIG1vZHVsZSBjc3MgewogCiAgICAgLy8gSW50cm9kdWNlZCBp
biBET00gTGV2ZWwgMjoKLSAgICBpbnRlcmZhY2UgW09iakNOb0ludGVybmFsXSBDU1NQYWdlUnVs
ZSA6IENTU1J1bGUgeworICAgIGludGVyZmFjZSBDU1NQYWdlUnVsZSA6IENTU1J1bGUgewogCiAg
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBET00gc3BlYyBzYXlzIHRoYXQgdGhpcyBjYW4gcmFp
c2UgYW4KICAgICAgICAgICAgICAgICAgLy8gZXhjZXB0aW9uIG9uIHNldHRpbmcuCkluZGV4OiBX
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuaWRsCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQAog
CiBtb2R1bGUgY3NzIHsKIAotICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3RvciwgT2Jq
Q05vSW50ZXJuYWxdIENTU1ByaW1pdGl2ZVZhbHVlIDogQ1NTVmFsdWUgeworICAgIGludGVyZmFj
ZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gQ1NTUHJpbWl0aXZlVmFsdWUgOiBDU1NWYWx1ZSB7CiAK
ICAgICAgICAgLy8gVW5pdFR5cGVzCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENTU19V
TktOT1dOICAgID0gMDsKQEAgLTUyLDEyICs1MiwxMiBAQCBtb2R1bGUgY3NzIHsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHByaW1pdGl2ZVR5cGU7CiAKICAgICAg
ICAgW09sZFN0eWxlT2JqQ10gdm9pZCBzZXRGbG9hdFZhbHVlKGluIHVuc2lnbmVkIHNob3J0IHVu
aXRUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgZmxvYXRWYWx1ZSkK
LSAgICAgICAgICAgIHJhaXNlcyhkb206OkRPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBmbG9hdCBmbG9hdFZhbHVlKQorICAgICAgICAg
ICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGZsb2F0IGdldEZsb2F0VmFsdWUoaW4g
dW5zaWduZWQgc2hvcnQgdW5pdFR5cGUpOwogICAgICAgICBbT2xkU3R5bGVPYmpDXSB2b2lkIHNl
dFN0cmluZ1ZhbHVlKGluIHVuc2lnbmVkIHNob3J0IHN0cmluZ1R5cGUsIAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIERPTVN0cmluZyBzdHJpbmdWYWx1ZSkKLSAgICAgICAgICAgIHJh
aXNlcyhkb206OkRPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gRE9NU3RyaW5nIHN0cmluZ1ZhbHVlKQorICAgICAgICAgICAgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAgICAgICAgIERPTVN0cmluZyBnZXRTdHJpbmdWYWx1ZSgpOwogICAg
ICAgICBDb3VudGVyIGdldENvdW50ZXJWYWx1ZSgpOwogICAgICAgICBSZWN0IGdldFJlY3RWYWx1
ZSgpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKIG1vZHVsZSBjc3MgewogCiAg
ICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBh
cmVudD1LSlM6OkRPTUNTU1J1bGUsIEdlbmVyYXRlQ29uc3RydWN0b3IsIE9iakNOb0ludGVybmFs
XSBDU1NSdWxlIHsKKyAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkRPTUNTU1J1bGUs
IEdlbmVyYXRlQ29uc3RydWN0b3JdIENTU1J1bGUgewogCiAgICAgICAgIC8vIFJ1bGVUeXBlCiAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFVOS05PV05fUlVMRSA9IDA7CkluZGV4OiBXZWJD
b3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0
eWxlUnVsZS5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBAQAogbW9kdWxlIGNzcyB7CiAKICAg
ICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAgIGludGVyZmFjZSBbT2JqQ05vSW50
ZXJuYWxdIENTU1N0eWxlUnVsZSA6IENTU1J1bGUgeworICAgIGludGVyZmFjZSBDU1NTdHlsZVJ1
bGUgOiBDU1NSdWxlIHsKIAogICAgICAgICAgICAgICAgICAvLyBGSVhNRTogRE9NIHNwZWMgc2F5
cyB0aGF0IHRoaXMgY2FuIHJhaXNlIGFuCiAgICAgICAgICAgICAgICAgIC8vIGV4Y2VwdGlvbiBv
biBzZXR0aW5nLgpJbmRleDogV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysg
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE2ICsy
MSwxNSBAQAogbW9kdWxlIGNzcyB7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAy
OgotICAgIGludGVyZmFjZSBbT2JqQ05vSW50ZXJuYWxdIENTU1N0eWxlU2hlZXQgOiBzdHlsZXNo
ZWV0czo6U3R5bGVTaGVldCB7Ci0KKyAgICBpbnRlcmZhY2UgQ1NTU3R5bGVTaGVldCA6IHN0eWxl
c2hlZXRzOjpTdHlsZVNoZWV0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGUg
ICAgICAgICAgb3duZXJSdWxlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxp
c3QgICAgICBjc3NSdWxlczsKKwogICAgICAgICBbT2xkU3R5bGVPYmpDXSB1bnNpZ25lZCBsb25n
IGluc2VydFJ1bGUoaW4gRE9NU3RyaW5nIHJ1bGUsIAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiB1bnNpZ25lZCBsb25nIGluZGV4KQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdW5zaWduZWQgbG9uZyBpbmRleCkKICAg
ICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkICAgICAgICAgICAg
ICAgZGVsZXRlUnVsZShpbiB1bnNpZ25lZCBsb25nIGluZGV4KQogICAgICAgICAgICAgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7Ci0KICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NVbmtu
b3duUnVsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaWRs
CShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvY3NzL0NTU1Vua25vd25SdWxlLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBAQAogbW9kdWxlIGNzcyB7CiAKICAgICAvLyBJbnRy
b2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAgIGludGVyZmFjZSBbT2JqQ05vSW50ZXJuYWxdIENT
U1Vua25vd25SdWxlIDogQ1NTUnVsZSB7CisgICAgaW50ZXJmYWNlIENTU1Vua25vd25SdWxlIDog
Q1NTUnVsZSB7CiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ZhbHVlLmlkbAkocmV2aXNpb24gMTY2MzQpCisr
KyBXZWJDb3JlL2Nzcy9DU1NWYWx1ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcg
QEAKIAogbW9kdWxlIGNzcyB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkRP
TUNTU1ZhbHVlLCBHZW5lcmF0ZUNvbnN0cnVjdG9yLCBPYmpDTm9JbnRlcm5hbF0gQ1NTVmFsdWUg
eworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6RE9NQ1NTVmFsdWUsIEdlbmVyYXRl
Q29uc3RydWN0b3JdIENTU1ZhbHVlIHsKIAogICAgICAgICAvLyBVbml0VHlwZXMKICAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0lOSEVSSVQgICAgICAgICA9IDA7CkluZGV4OiBXZWJD
b3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1Zh
bHVlTGlzdC5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsOCArMjYsOSBAQAogbW9kdWxlIGNzcyB7CiAKICAg
ICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAgIGludGVyZmFjZSBbSGFzSW5kZXhH
ZXR0ZXIsIE9iakNOb0ludGVybmFsXSBDU1NWYWx1ZUxpc3QgOiBDU1NWYWx1ZSB7CisgICAgaW50
ZXJmYWNlIFtIYXNJbmRleEdldHRlcl0gQ1NTVmFsdWVMaXN0IDogQ1NTVmFsdWUgewogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyAgICBsZW5ndGg7CiAgICAgICAgIENT
U1ZhbHVlICAgICAgICAgICBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIH07CisK
IH0KSW5kZXg6IFdlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvY3NzL1N0eWxlU2hlZXQuaWRsCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvY3NzL1N0
eWxlU2hlZXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiBtb2R1bGUgc3R5
bGVzaGVldHMgewogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKLSAgICBpbnRl
cmZhY2UgW09iakNOb0ludGVybmFsXSBTdHlsZVNoZWV0IHsKKyAgICBpbnRlcmZhY2UgU3R5bGVT
aGVldCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgIHR5cGU7
CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgIGRpc2FibGVkOwog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSAgICAgICAgICAgICBvd25lck5vZGU7Cklu
ZGV4OiBXZWJDb3JlL2RvbS9FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZl
bnQuaWRsCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvZG9tL0V2ZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBAQAogbW9kdWxlIGV2ZW50cyB7CiAKICAgICAvLyBJbnRy
b2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6
RE9NRXZlbnQsIEdlbmVyYXRlQ29uc3RydWN0b3IsIE9iakNOb0ludGVybmFsXSBFdmVudCB7Cisg
ICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpET01FdmVudCwgR2VuZXJhdGVDb25zdHJ1
Y3Rvcl0gRXZlbnQgewogCiAgICAgICAgIC8vIERPTSBQaGFzZVR5cGUKICAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgQ0FQVFVSSU5HX1BIQVNFICAgICA9IDE7CkluZGV4OiBXZWJDb3JlL2Rv
bS9LZXlib2FyZEV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9LZXlib2FyZEV2
ZW50LmlkbAkocmV2aXNpb24gMTY2MzQpCisrKyBXZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBAQAogbW9kdWxlIGV2ZW50cyB7CiAKICAg
ICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAzOgotICAgIGludGVyZmFjZSBbT2JqQ05vSW50
ZXJuYWxdIEtleWJvYXJkRXZlbnQgOiBVSUV2ZW50IHsKKyAgICBpbnRlcmZhY2UgS2V5Ym9hcmRF
dmVudCA6IFVJRXZlbnQgewogCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKICAg
ICAgICAgLy8gS2V5TG9jYXRpb25Db2RlCkluZGV4OiBXZWJDb3JlL2RvbS9Nb3VzZUV2ZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmlkbAkocmV2aXNpb24gMTY2
MzQpCisrKyBXZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjAs
NyArMjAsNyBAQAogbW9kdWxlIGV2ZW50cyB7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBM
ZXZlbCAyOgotICAgIGludGVyZmFjZSBbT2JqQ05vSW50ZXJuYWxdIE1vdXNlRXZlbnQgOiBVSUV2
ZW50IHsKKyAgICBpbnRlcmZhY2UgTW91c2VFdmVudCA6IFVJRXZlbnQgewogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgICBzY3JlZW5YOwogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgICBzY3JlZW5ZOwogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgbG9uZyAgICAgICAgICAgICBjbGllbnRYOwpJbmRleDogV2ViQ29yZS9kb20vTXV0
YXRpb25FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5p
ZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIG1vZHVsZSBldmVudHMgewogCiAgICAgLy8g
SW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKLSAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3Ry
dWN0b3IsIE9iakNOb0ludGVybmFsXSBNdXRhdGlvbkV2ZW50IDogRXZlbnQgeworICAgIGludGVy
ZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gTXV0YXRpb25FdmVudCA6IEV2ZW50IHsKIAogICAg
ICAgICAvLyBhdHRyQ2hhbmdlVHlwZQogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNT0RJ
RklDQVRJT04gPSAxOwpJbmRleDogV2ViQ29yZS9kb20vTm9kZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9kb20vTm9kZS5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9kb20vTm9k
ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogbW9kdWxlIGNvcmUgewog
Ci0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpET01Ob2RlLCBHZW5lcmF0ZUNvbnN0
cnVjdG9yLCBPYmpDTm9JbnRlcm5hbF0gTm9kZSB7ICAgICAgICAKKyAgICBpbnRlcmZhY2UgW0xl
Z2FjeVBhcmVudD1LSlM6OkRPTU5vZGUsIEdlbmVyYXRlQ29uc3RydWN0b3JdIE5vZGUgeyAgICAg
ICAgCiAgICAgICAgIC8vIE5vZGVUeXBlCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICAg
ICAgRUxFTUVOVF9OT0RFICAgICAgICAgICAgICAgICAgID0gMTsKICAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgICAgICBBVFRSSUJVVEVfTk9ERSAgICAgICAgICAgICAgICAgPSAyOwpJbmRl
eDogV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Rv
bS9Ob2RlSXRlcmF0b3IuaWRsCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvZG9tL05vZGVJ
dGVyYXRvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAgbW9kdWxlIHRyYXZl
cnNhbCB7CiAgICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQg
ZGV0YWNoKCk7CiAgICAgfTsKKwogfQogCiAgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vT3ZlcmZsb3dFdmVudC5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9kb20v
T3ZlcmZsb3dFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE4LDcgKzE4LDcgQEAKICAqLwog
bW9kdWxlIGV2ZW50cyB7CiAKLSAgICBpbnRlcmZhY2UgW09iakNOb0ludGVybmFsXSBPdmVyZmxv
d0V2ZW50IDogRXZlbnQgeworICAgIGludGVyZmFjZSBPdmVyZmxvd0V2ZW50IDogRXZlbnQgewog
ICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBIT1JJWk9OVEFMID0gMDsKICAgICAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgVkVSVElDQUwgICA9IDE7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IEJPVEggICAgICAgPSAyOwpJbmRleDogV2ViQ29yZS9kb20vVUlFdmVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9kb20vVUlFdmVudC5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysg
V2ViQ29yZS9kb20vVUlFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAK
IG1vZHVsZSBldmVudHMgewogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKLSAg
ICBpbnRlcmZhY2UgW09iakNOb0ludGVybmFsXSBVSUV2ZW50IDogRXZlbnQgeworICAgIGludGVy
ZmFjZSBVSUV2ZW50IDogRXZlbnQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NV2lu
ZG93ICAgICAgICAgICAgdmlldzsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgICAg
ICAgICAgICAgICAgIGRldGFpbDsKICAgICAgICAgCkluZGV4OiBXZWJDb3JlL2RvbS9XaGVlbEV2
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmlkbAkocmV2aXNp
b24gMTY2MzQpCisrKyBXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjEsNyArMjEsNyBAQAogbW9kdWxlIGV2ZW50cyB7CiAKICAgICAvLyBCYXNlZCBvZmYgb2Yg
cHJvcG9zZWQgSURMIGludGVyZmFjZSBmb3IgV2hlZWxFdmVudDoKLSAgICBpbnRlcmZhY2UgW09i
akNOb0ludGVybmFsXSBXaGVlbEV2ZW50IDogVUlFdmVudCB7CisgICAgaW50ZXJmYWNlIFdoZWVs
RXZlbnQgOiBVSUV2ZW50IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgICAgc2Ny
ZWVuWDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgICAgc2NyZWVuWTsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgICAgY2xpZW50WDsK
</data>
<flag name="review"
          id="3587"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10839</attachid>
            <date>2006-09-29 12:50:01 -0700</date>
            <delta_ts>2006-09-29 13:21:50 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>internalCleanUp2.diff</filename>
            <type>text/plain</type>
            <size>41059</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTQgQEAKKzIwMDYtMDktMjkgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
YXRjaCBmb3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTA4MgorICAgICAgICBTaW1wbGlmeSBJbnRlcm5hbCBtZXRob2RzIGZvciB0aGUgYXV0by1nZW5l
cmF0ZWQgT2JqZWN0aXZlLUMgRE9NIGNvZGUKKworICAgICAgICAtIExldHMgdGhlIE9iamVjdGl2
ZS1DIGNsYXNzZXMgaGFuZGxlIHRoZSBpbml0IGZ1bmN0aW9uYWxpdHkgdGhlbXNlbHZlcywKKyAg
ICAgICAgICByYXRoZXIgdGhhbiByZWx5aW5nIG9uIHRoZSBwYXJlbnQgY2xhc3NlcyB0byBoYW5k
bGUgaXQuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYmluZGluZ3Mvb2JqYy9ET00ubW06CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9E
T01DU1MubW06CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01FdmVudHMubW06CisgICAgICAg
ICogYmluZGluZ3Mvb2JqYy9ET01IVE1MQXBwbGV0RWxlbWVudC5tbToKKyAgICAgICAgKC1bRE9N
SFRNTEFwcGxldEVsZW1lbnQgV2ViQ29yZTo6XSk6CisgICAgICAgICgtW0RPTUhUTUxBcHBsZXRF
bGVtZW50IF9pbml0V2l0aEhUTUxBcHBsZXRFbGVtZW50OldlYkNvcmU6Ol0pOgorICAgICAgICAo
K1tET01IVE1MQXBwbGV0RWxlbWVudCBfSFRNTE9wdGlvbkVsZW1lbnRXaXRoOldlYkNvcmU6Ol0p
OgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSFRNTEVtYmVkRWxlbWVudC5tbToKKyAgICAg
ICAgKC1bRE9NSFRNTEVtYmVkRWxlbWVudCBXZWJDb3JlOjpdKToKKyAgICAgICAgKC1bRE9NSFRN
TEVtYmVkRWxlbWVudCBfaW5pdFdpdGhIVE1MRW1iZWRFbGVtZW50OldlYkNvcmU6Ol0pOgorICAg
ICAgICAoK1tET01IVE1MRW1iZWRFbGVtZW50IF9IVE1MRW1iZWRFbGVtZW50V2l0aDpXZWJDb3Jl
OjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUxPcHRpb25FbGVtZW50Lm1tOgor
ICAgICAgICAoLVtET01IVE1MT3B0aW9uRWxlbWVudCBfaW5pdFdpdGhIVE1MT3B0aW9uRWxlbWVu
dDpXZWJDb3JlOjpdKToKKyAgICAgICAgKCtbRE9NSFRNTE9wdGlvbkVsZW1lbnQgX0hUTUxPcHRp
b25FbGVtZW50V2l0aDpXZWJDb3JlOjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUlu
dGVybmFsLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOgorICAgICAgICAqIGNz
cy9DU1NDaGFyc2V0UnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGw6
CisgICAgICAgICogY3NzL0NTU0ltcG9ydFJ1bGUuaWRsOgorICAgICAgICAqIGNzcy9DU1NNZWRp
YVJ1bGUuaWRsOgorICAgICAgICAqIGNzcy9DU1NQYWdlUnVsZS5pZGw6CisgICAgICAgICogY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6CisgICAg
ICAgICogY3NzL0NTU1N0eWxlUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2hlZXQu
aWRsOgorICAgICAgICAqIGNzcy9DU1NVbmtub3duUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NT
U1ZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmlkbDoKKyAgICAgICAgKiBj
c3MvU3R5bGVTaGVldC5pZGw6CisgICAgICAgICogZG9tL0V2ZW50LmlkbDoKKyAgICAgICAgKiBk
b20vS2V5Ym9hcmRFdmVudC5pZGw6CisgICAgICAgICogZG9tL01vdXNlRXZlbnQuaWRsOgorICAg
ICAgICAqIGRvbS9NdXRhdGlvbkV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vTm9kZS5pZGw6Cisg
ICAgICAgICogZG9tL05vZGVJdGVyYXRvci5pZGw6CisgICAgICAgICogZG9tL092ZXJmbG93RXZl
bnQuaWRsOgorICAgICAgICAqIGRvbS9VSUV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vV2hlZWxF
dmVudC5pZGw6CisKIDIwMDYtMDktMjkgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTAsOCArNTkwLDI0IEBA
CiAJCTg1OEMzOUJCMEFBOTA1RUYwMEIxODdBNCAvKiBET01Db3VudGVyLmggaW4gQ29weUZpbGVz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzOEExMEFBOEYyMDQwMEIx
ODdBNCAvKiBET01Db3VudGVyLmggKi87IH07CiAJCTg1OEMzOUJDMEFBOTA1RUYwMEIxODdBNCAv
KiBET01SZWN0LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1OEMzOEEzMEFBOEYyMDQwMEIxODdBNCAvKiBET01SZWN0LmggKi87IH07CiAJCTg1OEMz
OUJEMEFBOTA1RUYwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0LmggaW4gQ29weUZpbGVzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OEMzOTI2MEFBOEZGOUQwMEIxODdB
NCAvKiBET01DU1NTdHlsZVNoZWV0LmggKi87IH07CisJCTg1OTA5Q0RDMEFDQzdBN0UwMERGMDFG
MSAvKiBET01DU1NDaGFyc2V0UnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkwOUNEMzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NT
Q2hhcnNldFJ1bGVJbnRlcm5hbC5oICovOyB9OworCQk4NTkwOUNERDBBQ0M3QTdFMDBERjAxRjEg
LyogRE9NQ1NTRm9udEZhY2VSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTA5Q0Q0MEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NG
b250RmFjZVJ1bGVJbnRlcm5hbC5oICovOyB9OworCQk4NTkwOUNERTBBQ0M3QTdFMDBERjAxRjEg
LyogRE9NQ1NTSW1wb3J0UnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkwOUNENTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTSW1w
b3J0UnVsZUludGVybmFsLmggKi87IH07CisJCTg1OTA5Q0RGMEFDQzdBN0UwMERGMDFGMSAvKiBE
T01DU1NNZWRpYVJ1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODU5MDlDRDYwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU01lZGlhUnVs
ZUludGVybmFsLmggKi87IH07CisJCTg1OTA5Q0UwMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NQ
YWdlUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NTkwOUNENzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTUGFnZVJ1bGVJbnRlcm5h
bC5oICovOyB9OworCQk4NTkwOUNFMjBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTU3R5bGVSdWxl
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1OTA5Q0Q5MEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHlsZVJ1bGVJbnRlcm5hbC5oICov
OyB9OworCQk4NTkwOUNFMzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTU3R5bGVTaGVldEludGVy
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkw
OUNEQTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTU3R5bGVTaGVldEludGVybmFsLmggKi87IH07
CisJCTg1OTA5Q0U0MEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NVbmtub3duUnVsZUludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkwOUNE
QjBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTVW5rbm93blJ1bGVJbnRlcm5hbC5oICovOyB9Owor
CQk4NTkwOUQyOTBBQ0M3RDU1MDBERjAxRjEgLyogRE9NQ1NTUHJpbWl0aXZlVmFsdWVJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5MDlE
MjYwQUNDN0Q1NTAwREYwMUYxIC8qIERPTUNTU1ByaW1pdGl2ZVZhbHVlSW50ZXJuYWwuaCAqLzsg
fTsKKwkJODU5MDlEMkIwQUNDN0Q1NTAwREYwMUYxIC8qIERPTUNTU1ZhbHVlTGlzdEludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkwOUQy
ODBBQ0M3RDU1MDBERjAxRjEgLyogRE9NQ1NTVmFsdWVMaXN0SW50ZXJuYWwuaCAqLzsgfTsKIAkJ
ODU5MTI4RjMwQUIyNDMxQTAwMjAyMjY1IC8qIERPTUhUTUxFbWJlZEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTEyOEYxMEFCMjQzMUEw
MDIwMjI2NSAvKiBET01IVE1MRW1iZWRFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODU5MTI4RjQwQUIyNDMxQTAwMjAyMjY1IC8qIERP
TUhUTUxFbWJlZEVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NTkxMjhGMjBBQjI0MzFBMDAyMDIyNjUgLyogRE9NSFRNTEVtYmVkRWxlbWVu
dC5tbSAqLzsgfTsKKwkJODU5ODlEQ0MwQUNDOEJCRDAwQTBCQzUxIC8qIERPTUtleWJvYXJkRXZl
bnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODU5ODlEQzUwQUNDOEJCRDAwQTBCQzUxIC8qIERPTUtleWJvYXJkRXZlbnRJbnRlcm5hbC5o
ICovOyB9OworCQk4NTk4OURDRDBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTW91c2VFdmVudEludGVy
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk4
OURDNjBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTW91c2VFdmVudEludGVybmFsLmggKi87IH07CisJ
CTg1OTg5RENFMEFDQzhCQkQwMEEwQkM1MSAvKiBET01NdXRhdGlvbkV2ZW50SW50ZXJuYWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTg5REM3MEFD
QzhCQkQwMEEwQkM1MSAvKiBET01NdXRhdGlvbkV2ZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJODU5
ODlEQ0YwQUNDOEJCRDAwQTBCQzUxIC8qIERPTU92ZXJmbG93RXZlbnRJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5ODlEQzgwQUNDOEJC
RDAwQTBCQzUxIC8qIERPTU92ZXJmbG93RXZlbnRJbnRlcm5hbC5oICovOyB9OworCQk4NTk4OURE
MDBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NVUlFdmVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk4OURDOTBBQ0M4QkJEMDBBMEJDNTEg
LyogRE9NVUlFdmVudEludGVybmFsLmggKi87IH07CisJCTg1OTg5REQxMEFDQzhCQkQwMEEwQkM1
MSAvKiBET01XaGVlbEV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg1OTg5RENBMEFDQzhCQkQwMEEwQkM1MSAvKiBET01XaGVlbEV2
ZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJODU5OTJFQkEwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhU
TUxIZWFkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODU5OTJFQjIwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhUTUxIZWFkRWxlbWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCTg1OTkyRUJCMEFBNTA2OTUw
MEFDMDc4NSAvKiBET01IVE1MSGVhZEVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk5MkVCMzBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRN
TEhlYWRFbGVtZW50Lm1tICovOyB9OwogCQk4NTk5MkVCQzBBQTUwNjk1MDBBQzA3ODUgLyogRE9N
SFRNTEh0bWxFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NTk5MkVCNDBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEh0bWxFbGVtZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKQEAgLTMxMDgsOSArMzEyNCwy
NSBAQAogCQk4NThDMzkyNzBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVTaGVldC5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DU1NTdHlsZVNoZWV0
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NThDMzk1RDBBQTkwMkE5MDBCMTg3
QTQgLyogRE9NUkdCQ29sb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TVJHQkNvbG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OEMzOTVFMEFBOTAy
QTkwMEIxODdBNCAvKiBET01SR0JDb2xvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBET01SR0JDb2xvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODU5MDlDRDMwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0NoYXJzZXRSdWxlSW50ZXJuYWwu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU0NoYXJzZXRSdWxlSW50
ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU5MDlDRDQwQUNDN0E3RTAw
REYwMUYxIC8qIERPTUNTU0ZvbnRGYWNlUnVsZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01DU1NGb250RmFjZVJ1bGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4NTkwOUNENTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTSW1w
b3J0UnVsZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01D
U1NJbXBvcnRSdWxlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU5
MDlDRDYwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU01lZGlhUnVsZUludGVybmFsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NNZWRpYVJ1bGVJbnRlcm5hbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTkwOUNENzBBQ0M3QTdFMDBERjAxRjEgLyog
RE9NQ1NTUGFnZVJ1bGVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NQ1NTUGFnZVJ1bGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4NTkwOUNEOTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTU3R5bGVSdWxlSW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU1N0eWxlUnVsZUludGVybmFs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1OTA5Q0RBMEFDQzdBN0UwMERGMDFG
MSAvKiBET01DU1NTdHlsZVNoZWV0SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTUNTU1N0eWxlU2hlZXRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NTkwOUNEQjBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTVW5rbm93blJ1bGVJ
bnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTVW5rbm93
blJ1bGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTkwOUQyNjBB
Q0M3RDU1MDBERjAxRjEgLyogRE9NQ1NTUHJpbWl0aXZlVmFsdWVJbnRlcm5hbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTUHJpbWl0aXZlVmFsdWVJbnRlcm5hbC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTkwOUQyODBBQ0M3RDU1MDBERjAxRjEg
LyogRE9NQ1NTVmFsdWVMaXN0SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTUNTU1ZhbHVlTGlzdEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg1OTEyODc5MEFCMjIyRUMwMDIwMjI2NSAvKiBIVE1MRW1iZWRFbGVtZW50LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEVtYmVkRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTg1OTEyOEYxMEFCMjQzMUEwMDIwMjI2NSAvKiBET01IVE1MRW1i
ZWRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MRW1i
ZWRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OTEyOEYyMEFCMjQz
MUEwMDIwMjI2NSAvKiBET01IVE1MRW1iZWRFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxFbWJlZEVsZW1lbnQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg1OTg5REM1MEFDQzhCQkQwMEEwQkM1MSAvKiBET01LZXlib2Fy
ZEV2ZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUtl
eWJvYXJkRXZlbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTk4
OURDNjBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTW91c2VFdmVudEludGVybmFsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Nb3VzZUV2ZW50SW50ZXJuYWwuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU5ODlEQzcwQUNDOEJCRDAwQTBCQzUxIC8qIERPTU11
dGF0aW9uRXZlbnRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NTXV0YXRpb25FdmVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg1OTg5REM4MEFDQzhCQkQwMEEwQkM1MSAvKiBET01PdmVyZmxvd0V2ZW50SW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTU92ZXJmbG93RXZlbnRJbnRlcm5h
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTk4OURDOTBBQ0M4QkJEMDBBMEJD
NTEgLyogRE9NVUlFdmVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01VSUV2ZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODU5ODlEQ0EwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVdoZWVsRXZlbnRJbnRlcm5hbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2hlZWxFdmVudEludGVybmFsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OTkyRUIyMEFBNTA2OTUwMEFDMDc4NSAvKiBE
T01IVE1MSGVhZEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TUhUTUxIZWFkRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTk5MkVC
MzBBQTUwNjk1MDBBQzA3ODUgLyogRE9NSFRNTEhlYWRFbGVtZW50Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxIZWFkRWxlbWVudC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODU5OTJFQjQwQUE1MDY5NTAwQUMwNzg1IC8qIERPTUhU
TUxIdG1sRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRN
TEh0bWxFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MTQzLDggKzYx
NzUsMTggQEAKIAkJCQk4NUU3MTE0MDBBQzVENTM0MDA1MzI3MEYgLyogRE9NQ2hhcmFjdGVyRGF0
YUludGVybmFsLmggKi8sCiAJCQkJODVFNzExNDEwQUM1RDUzNDAwNTMyNzBGIC8qIERPTUNvbW1l
bnRJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTQyMEFDNUQ1MzQwMDUzMjcwRiAvKiBET01Db3Vu
dGVySW50ZXJuYWwuaCAqLywKKwkJCQk4NTkwOUNEMzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NT
Q2hhcnNldFJ1bGVJbnRlcm5hbC5oICovLAorCQkJCTg1OTA5Q0Q0MEFDQzdBN0UwMERGMDFGMSAv
KiBET01DU1NGb250RmFjZVJ1bGVJbnRlcm5hbC5oICovLAorCQkJCTg1OTA5Q0Q1MEFDQzdBN0Uw
MERGMDFGMSAvKiBET01DU1NJbXBvcnRSdWxlSW50ZXJuYWwuaCAqLywKKwkJCQk4NTkwOUNENjBB
Q0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTTWVkaWFSdWxlSW50ZXJuYWwuaCAqLywKKwkJCQk4NTkw
OUNENzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTUGFnZVJ1bGVJbnRlcm5hbC5oICovLAorCQkJ
CTg1OTA5RDI2MEFDQzdENTUwMERGMDFGMSAvKiBET01DU1NQcmltaXRpdmVWYWx1ZUludGVybmFs
LmggKi8sCiAJCQkJODVFNzExNDMwQUM1RDUzNDAwNTMyNzBGIC8qIERPTUNTU1J1bGVMaXN0SW50
ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE0NDBBQzVENTM0MDA1MzI3MEYgLyogRE9NQ1NTU3R5bGVE
ZWNsYXJhdGlvbkludGVybmFsLmggKi8sCisJCQkJODU5MDlDRDkwQUNDN0E3RTAwREYwMUYxIC8q
IERPTUNTU1N0eWxlUnVsZUludGVybmFsLmggKi8sCisJCQkJODU5MDlDREEwQUNDN0E3RTAwREYw
MUYxIC8qIERPTUNTU1N0eWxlU2hlZXRJbnRlcm5hbC5oICovLAorCQkJCTg1OTA5Q0RCMEFDQzdB
N0UwMERGMDFGMSAvKiBET01DU1NVbmtub3duUnVsZUludGVybmFsLmggKi8sCisJCQkJODU5MDlE
MjgwQUNDN0Q1NTAwREYwMUYxIC8qIERPTUNTU1ZhbHVlTGlzdEludGVybmFsLmggKi8sCiAJCQkJ
ODVFNzExNDUwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5o
ICovLAogCQkJCTg1RTcxMTQ2MEFDNUQ1MzQwMDUzMjcwRiAvKiBET01Eb2N1bWVudEludGVybmFs
LmggKi8sCiAJCQkJODVFNzExNDcwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3VtZW50VHlwZUlu
dGVybmFsLmggKi8sCkBAIC02MjA2LDEwICs2MjQ4LDE0IEBACiAJCQkJODVFNzExN0YwQUM1RDUz
NTAwNTMyNzBGIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1lbnRJbnRlcm5hbC5oICovLAogCQkJCTg1
RTcxMTgwMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MVGl0bGVFbGVtZW50SW50ZXJuYWwuaCAq
LywKIAkJCQk4NUU3MTE4MTBBQzVENTM1MDA1MzI3MEYgLyogRE9NSFRNTFVMaXN0RWxlbWVudElu
dGVybmFsLmggKi8sCisJCQkJODU5ODlEQzUwQUNDOEJCRDAwQTBCQzUxIC8qIERPTUtleWJvYXJk
RXZlbnRJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTgyMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01N
ZWRpYUxpc3RJbnRlcm5hbC5oICovLAorCQkJCTg1OTg5REM2MEFDQzhCQkQwMEEwQkM1MSAvKiBE
T01Nb3VzZUV2ZW50SW50ZXJuYWwuaCAqLywKKwkJCQk4NTk4OURDNzBBQ0M4QkJEMDBBMEJDNTEg
LyogRE9NTXV0YXRpb25FdmVudEludGVybmFsLmggKi8sCiAJCQkJODVFNzExODMwQUM1RDUzNTAw
NTMyNzBGIC8qIERPTU5hbWVkTm9kZU1hcEludGVybmFsLmggKi8sCiAJCQkJODVFNzExODQwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTU5vZGVMaXN0SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTE4NTBB
QzVENTM1MDA1MzI3MEYgLyogRE9NTm90YXRpb25JbnRlcm5hbC5oICovLAorCQkJCTg1OTg5REM4
MEFDQzhCQkQwMEEwQkM1MSAvKiBET01PdmVyZmxvd0V2ZW50SW50ZXJuYWwuaCAqLywKIAkJCQk4
NUU3MTE4NjBBQzVENTM1MDA1MzI3MEYgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uSW50ZXJu
YWwuaCAqLywKIAkJCQk4NUU3MTE4NzBBQzVENTM1MDA1MzI3MEYgLyogRE9NUmVjdEludGVybmFs
LmggKi8sCiAJCQkJODVFNzExODgwQUM1RDUzNTAwNTMyNzBGIC8qIERPTVN0eWxlU2hlZXRMaXN0
SW50ZXJuYWwuaCAqLywKQEAgLTYyMzYsNiArNjI4Miw4IEBACiAJCQkJODU0MTYzOTAwQUM3MTg2
ODAwMDFFMDFCIC8qIERPTVNWR1RyYW5zZm9ybUludGVybmFsLmggKi8sCiAJCQkJODU0MTYzOEYw
QUM3MTg2ODAwMDFFMDFCIC8qIERPTVNWR1RyYW5zZm9ybUxpc3RJbnRlcm5hbC5oICovLAogCQkJ
CTg1RTcxMThBMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01UZXh0SW50ZXJuYWwuaCAqLywKKwkJCQk4
NTk4OURDOTBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NVUlFdmVudEludGVybmFsLmggKi8sCisJCQkJ
ODU5ODlEQ0EwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVdoZWVsRXZlbnRJbnRlcm5hbC5oICovLAog
CQkJCTg1RTcxMThCMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01YUGF0aEV4cHJlc3Npb25JbnRlcm5h
bC5oICovLAogCQkJCTg1RTcxMThDMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01YUGF0aFJlc3VsdElu
dGVybmFsLmggKi8sCiAJCQkpOwpAQCAtOTA3MCw2ICs5MTE4LDIyIEBACiAJCQkJODVENzlBRTAw
QUNBMTg4NDAwRjAyRkM1IC8qIERPTVNWR1N0cmluZ0xpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODU5QzlDM0YwQUNBQ0NDQzAwNzkxNjExIC8qIERPTVNWR1JlY3RFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NTlDOUM0MjBBQ0FDRDZEMDA3OTE2MTEgLyogRE9NU1ZHUmVj
dEVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5MDlDREMwQUNDN0E3RTAw
REYwMUYxIC8qIERPTUNTU0NoYXJzZXRSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTg1OTA5Q0REMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NGb250RmFjZVJ1bGVJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODU5MDlDREUwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0lt
cG9ydFJ1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5MDlDREYwQUNDN0E3RTAw
REYwMUYxIC8qIERPTUNTU01lZGlhUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4
NTkwOUNFMDBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTUGFnZVJ1bGVJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODU5MDlDRTIwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU1N0eWxlUnVs
ZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTkwOUNFMzBBQ0M3QTdFMDBERjAxRjEg
LyogRE9NQ1NTU3R5bGVTaGVldEludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTkwOUNF
NDBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTVW5rbm93blJ1bGVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODU5MDlEMjkwQUNDN0Q1NTAwREYwMUYxIC8qIERPTUNTU1ByaW1pdGl2ZVZh
bHVlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1OTA5RDJCMEFDQzdENTUwMERGMDFG
MSAvKiBET01DU1NWYWx1ZUxpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5ODlE
Q0MwQUNDOEJCRDAwQTBCQzUxIC8qIERPTUtleWJvYXJkRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJODU5ODlEQ0QwQUNDOEJCRDAwQTBCQzUxIC8qIERPTU1vdXNlRXZlbnRJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5ODlEQ0UwQUNDOEJCRDAwQTBCQzUxIC8qIERP
TU11dGF0aW9uRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODU5ODlEQ0YwQUND
OEJCRDAwQTBCQzUxIC8qIERPTU92ZXJmbG93RXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJODU5ODlERDAwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVVJRXZlbnRJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODU5ODlERDEwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVdoZWVsRXZl
bnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEJCREJGN0UwQUNDOTI5MDAwNUY2RTk3
IC8qIENvbW1hbmRCeU5hbWUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtOTEwNSw3ICs5MTY5LDYgQEAKIAkJMDg2
N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0g
UEJYUHJvamVjdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDlDMjg0MzA4OTAyQjEx
MDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJD
b3JlIiAqLzsKLQkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7CiAJCQloYXNT
Y2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9ucyA9ICgKIAkJCQlFbmdsaXNo
LApAQCAtOTEyMCw3ICs5MTgzLDYgQEAKIAkJCXByb2R1Y3RSZWZHcm91cCA9IDAzNDc2OERGRkYz
OEE1MDQxMURCOUM4QiAvKiBQcm9kdWN0cyAqLzsKIAkJCXByb2plY3REaXJQYXRoID0gIiI7CiAJ
CQlwcm9qZWN0Um9vdCA9ICIiOwotCQkJc2hvdWxkQ2hlY2tDb21wYXRpYmlsaXR5ID0gMTsKIAkJ
CXRhcmdldHMgPSAoCiAJCQkJOTNGMTk4QTUwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmUgKi8s
CiAJCQkJREQwNDFGQkUwOUQ5RERCRTAwMTBBRjJBIC8qIERlcml2ZWQgU291cmNlcyAqLywKSW5k
ZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
aW5kaW5ncy9vYmpjL0RPTS5tbQkocmV2aXNpb24gMTY2MzQpCisrKyBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAjaW1wb3J0ICJD
REFUQVNlY3Rpb24uaCIKICNpbXBvcnQgIkNTU1N0eWxlU2hlZXQuaCIKICNpbXBvcnQgIkNvbW1l
bnQuaCIKLSNpbXBvcnQgIkRPTUhUTUwuaCIKICNpbXBvcnQgIkRPTUltcGxlbWVudGF0aW9uRnJv
bnQuaCIKICNpbXBvcnQgIkRPTUludGVybmFsLmgiCiAjaW1wb3J0ICJET01Qcml2YXRlLmgiCkBA
IC02MSw5MSArNjAsOSBAQAogI2ltcG9ydCAiVHJlZVdhbGtlci5oIgogI2ltcG9ydCAiV2ViU2Ny
aXB0T2JqZWN0UHJpdmF0ZS5oIgogI2ltcG9ydCAiY3NzaGVscGVyLmgiCi0KLS8vIEZyb20gb2xk
IERPTUNvcmUuaAotI2ltcG9ydCAiRE9NT2JqZWN0LmgiCi0jaW1wb3J0ICJET01FeGNlcHRpb24u
aCIKLQotLy8gR2VuZXJhdGVkIE9iamVjdGl2ZS1DIEJpbmRpbmdzCi0jaW1wb3J0ICJET01BdHRy
LmgiCi0jaW1wb3J0ICJET01DREFUQVNlY3Rpb24uaCIKLSNpbXBvcnQgIkRPTUNoYXJhY3RlckRh
dGEuaCIKLSNpbXBvcnQgIkRPTUNvbW1lbnQuaCIKLSNpbXBvcnQgIkRPTURPTUltcGxlbWVudGF0
aW9uLmgiCi0jaW1wb3J0ICJET01Eb2N1bWVudC5oIgotI2ltcG9ydCAiRE9NRG9jdW1lbnRGcmFn
bWVudC5oIgotI2ltcG9ydCAiRE9NRG9jdW1lbnRUeXBlLmgiCi0jaW1wb3J0ICJET01FbGVtZW50
LmgiCi0jaW1wb3J0ICJET01FbnRpdHkuaCIKLSNpbXBvcnQgIkRPTUVudGl0eVJlZmVyZW5jZS5o
IgotI2ltcG9ydCAiRE9NTmFtZWROb2RlTWFwLmgiCi0jaW1wb3J0ICJET01Ob2RlLmgiCi0jaW1w
b3J0ICJET01Ob2RlTGlzdC5oIgotI2ltcG9ydCAiRE9NTm90YXRpb24uaCIKLSNpbXBvcnQgIkRP
TVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIgotI2ltcG9ydCAiRE9NVGV4dC5oIgotCi0vLyBGcm9t
IG9sZCBET01IVE1MLmgKLSNpbXBvcnQgIkRPTUhUTUxBcHBsZXRFbGVtZW50LmgiCi0jaW1wb3J0
ICJET01IVE1MT3B0aW9uRWxlbWVudC5oIgotCi0vLyBHZW5lcmF0ZWQgT2JqZWN0aXZlLUMgQmlu
ZGluZ3MKLSNpbXBvcnQgIkRPTUhUTUxBbmNob3JFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1M
QXJlYUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxCUkVsZW1lbnQuaCIKLSNpbXBvcnQgIkRP
TUhUTUxCYXNlRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTEJhc2VGb250RWxlbWVudC5oIgot
I2ltcG9ydCAiRE9NSFRNTEJvZHlFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MQnV0dG9uRWxl
bWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTENvbGxlY3Rpb24uaCIKLSNpbXBvcnQgIkRPTUhUTUxE
TGlzdEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxEaXJlY3RvcnlFbGVtZW50LmgiCi0jaW1w
b3J0ICJET01IVE1MRGl2RWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTERvY3VtZW50LmgiCi0j
aW1wb3J0ICJET01IVE1MRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTEZpZWxkU2V0RWxlbWVu
dC5oIgotI2ltcG9ydCAiRE9NSFRNTEZvbnRFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MRm9y
bUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxGcmFtZUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRP
TUhUTUxGcmFtZVNldEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxIUkVsZW1lbnQuaCIKLSNp
bXBvcnQgIkRPTUhUTUxIZWFkRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTEhlYWRpbmdFbGVt
ZW50LmgiCi0jaW1wb3J0ICJET01IVE1MSHRtbEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxJ
RnJhbWVFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MSW1hZ2VFbGVtZW50LmgiCi0jaW1wb3J0
ICJET01IVE1MSW5wdXRFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MSXNJbmRleEVsZW1lbnQu
aCIKLSNpbXBvcnQgIkRPTUhUTUxMSUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxMYWJlbEVs
ZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxMZWdlbmRFbGVtZW50LmgiCi0jaW1wb3J0ICJET01I
VE1MTGlua0VsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxNYXBFbGVtZW50LmgiCi0jaW1wb3J0
ICJET01IVE1MTWVudUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxNZXRhRWxlbWVudC5oIgot
I2ltcG9ydCAiRE9NSFRNTE1vZEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxPTGlzdEVsZW1l
bnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxPYmplY3RFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1M
T3B0R3JvdXBFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIK
LSNpbXBvcnQgIkRPTUhUTUxQYXJhZ3JhcGhFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MUGFy
YW1FbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MUHJlRWxlbWVudC5oIgotI2ltcG9ydCAiRE9N
SFRNTFF1b3RlRWxlbWVudC5oIgotI2ltcG9ydCAiRE9NSFRNTFNjcmlwdEVsZW1lbnQuaCIKLSNp
bXBvcnQgIkRPTUhUTUxTZWxlY3RFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MU3R5bGVFbGVt
ZW50LmgiCi0jaW1wb3J0ICJET01IVE1MVGFibGVDYXB0aW9uRWxlbWVudC5oIgotI2ltcG9ydCAi
RE9NSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxUYWJsZUNvbEVsZW1l
bnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxUYWJsZUVsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxU
YWJsZVJvd0VsZW1lbnQuaCIKLSNpbXBvcnQgIkRPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Lmgi
Ci0jaW1wb3J0ICJET01IVE1MVGV4dEFyZWFFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MVGl0
bGVFbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MVUxpc3RFbGVtZW50LmgiCi0KKyNpbXBvcnQg
IlNWR0VsZW1lbnQuaCIKICNpbXBvcnQgPG9iamMvb2JqYy1jbGFzcy5oPgorI2ltcG9ydCA8d3Rm
L0hhc2hNYXAuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkhUTUxOYW1lczsKIApAQCAt
MzAxLDYgKzIxOCwxMCBAQCBzdGF0aWMgQ2xhc3MgZWxlbWVudENsYXNzKGNvbnN0IFdlYkNvcmU6
CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6Tm9kZTo6RUxFTUVOVF9OT0RFOgogICAgICAgICAgICAg
aWYgKGltcGwtPmlzSFRNTEVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICB3cmFwcGVyQ2xhc3Mg
PSBlbGVtZW50Q2xhc3Moc3RhdGljX2Nhc3Q8V2ViQ29yZTo6SFRNTEVsZW1lbnQqPihpbXBsKS0+
bG9jYWxOYW1lKCkpOworI2lmZGVmIFNWR19TVVBQT1JUCisvLyAgICAgICAgICAgIGVsc2UgaWYg
KGltcGwtPmlzU1ZHRWxlbWVudCgpKQorLy8gICAgICAgICAgICAgICAgd3JhcHBlckNsYXNzID0g
ZWxlbWVudENsYXNzKHN0YXRpY19jYXN0PFdlYkNvcmU6OlNWR0VsZW1lbnQqPihpbXBsKS0+bG9j
YWxOYW1lKCkpOworI2VuZGlmCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgd3Jh
cHBlckNsYXNzID0gW0RPTUVsZW1lbnQgY2xhc3NdOwogICAgICAgICAgICAgYnJlYWs7CkluZGV4
OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YmluZGluZ3Mvb2JqYy9ET01DU1MubW0JKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUNTUy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsMTEgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBAaW1wbGVtZW50YXRpb24gRE9NU3R5bGVTaGVldCAoV2ViQ29y
ZUludGVybmFsKQogCistIChXZWJDb3JlOjpTdHlsZVNoZWV0ICopX3N0eWxlU2hlZXQKK3sKKyAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWJDb3JlOjpTdHlsZVNoZWV0Kj4oX2ludGVybmFs
KTsKK30KKwogLSAoaWQpX2luaXRXaXRoU3R5bGVTaGVldDooV2ViQ29yZTo6U3R5bGVTaGVldCAq
KWltcGwKIHsKICAgICBbc3VwZXIgX2luaXRdOwpAQCAtNzEsNyArNzYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gbmlsOwotICAgIAor
CiAgICAgaWQgY2FjaGVkSW5zdGFuY2U7CiAgICAgY2FjaGVkSW5zdGFuY2UgPSBnZXRET01XcmFw
cGVyKGltcGwpOwogICAgIGlmIChjYWNoZWRJbnN0YW5jZSkKQEAgLTg3LDI2ICs5MiwxNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIEBlbmQKIAotCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotLy8gRE9NQ1NTU3R5bGVTaGVldAorLy8gRE9NQ1NTUnVsZQogCi1AaW1wbGVt
ZW50YXRpb24gRE9NQ1NTU3R5bGVTaGVldCAoV2ViQ29yZUludGVybmFsKQorQGltcGxlbWVudGF0
aW9uIERPTUNTU1J1bGUgKFdlYkNvcmVJbnRlcm5hbCkKIAotKyAoRE9NQ1NTU3R5bGVTaGVldCAq
KV9DU1NTdHlsZVNoZWV0V2l0aDooV2ViQ29yZTo6Q1NTU3R5bGVTaGVldCAqKWltcGwKKy0gKFdl
YkNvcmU6OkNTU1J1bGUgKilfQ1NTUnVsZQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxET01D
U1NTdHlsZVNoZWV0Kj4oW0RPTVN0eWxlU2hlZXQgX3N0eWxlU2hlZXRXaXRoOmltcGxdKTsKKyAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWJDb3JlOjpDU1NSdWxlKj4oX2ludGVybmFsKTsK
IH0KIAotQGVuZAotCi0KLS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBE
T01DU1NSdWxlCi0KLUBpbXBsZW1lbnRhdGlvbiBET01DU1NSdWxlIChXZWJDb3JlSW50ZXJuYWwp
Ci0KLS0gKGlkKV9pbml0V2l0aFJ1bGU6KFdlYkNvcmU6OkNTU1J1bGUgKilpbXBsCistIChpZClf
aW5pdFdpdGhDU1NSdWxlOihXZWJDb3JlOjpDU1NSdWxlICopaW1wbAogewogICAgIFtzdXBlciBf
aW5pdF07CiAgICAgX2ludGVybmFsID0gcmVpbnRlcnByZXRfY2FzdDxET01PYmplY3RJbnRlcm5h
bCo+KGltcGwpOwpAQCAtMTE5LDcgKzExNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHsKICAg
ICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgCisKICAgICBpZCBjYWNoZWRJ
bnN0YW5jZTsKICAgICBjYWNoZWRJbnN0YW5jZSA9IGdldERPTVdyYXBwZXIoaW1wbCk7CiAgICAg
aWYgKGNhY2hlZEluc3RhbmNlKQpAQCAtMTQ5LDcgKzE0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgICAgIHdyYXBwZXJDbGFzcyA9IFtET01DU1NQYWdlUnVsZSBjbGFzc107CiAg
ICAgICAgICAgICBicmVhazsKICAgICB9Ci0gICAgcmV0dXJuIFtbW3dyYXBwZXJDbGFzcyBhbGxv
Y10gX2luaXRXaXRoUnVsZTppbXBsXSBhdXRvcmVsZWFzZV07CisgICAgcmV0dXJuIFtbW3dyYXBw
ZXJDbGFzcyBhbGxvY10gX2luaXRXaXRoQ1NTUnVsZTppbXBsXSBhdXRvcmVsZWFzZV07CiB9CiAK
IEBlbmQKQEAgLTE2MCw3ICsxNTYsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBAaW1wbGVt
ZW50YXRpb24gRE9NQ1NTVmFsdWUgKFdlYkNvcmVJbnRlcm5hbCkKIAotLSAoaWQpX2luaXRXaXRo
VmFsdWU6KFdlYkNvcmU6OkNTU1ZhbHVlICopaW1wbAorLSAoV2ViQ29yZTo6Q1NTVmFsdWUgKilf
Q1NTVmFsdWUKK3sKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWJDb3JlOjpDU1NWYWx1
ZSo+KF9pbnRlcm5hbCk7Cit9CisKKy0gKGlkKV9pbml0V2l0aENTU1ZhbHVlOihXZWJDb3JlOjpD
U1NWYWx1ZSAqKWltcGwKIHsKICAgICBbc3VwZXIgX2luaXRdOwogICAgIF9pbnRlcm5hbCA9IHJl
aW50ZXJwcmV0X2Nhc3Q8RE9NT2JqZWN0SW50ZXJuYWwqPihpbXBsKTsKQEAgLTE3MywxMiArMTc0
LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJl
dHVybiBuaWw7Ci0gICAgCisKICAgICBpZCBjYWNoZWRJbnN0YW5jZTsKICAgICBjYWNoZWRJbnN0
YW5jZSA9IGdldERPTVdyYXBwZXIoaW1wbCk7CiAgICAgaWYgKGNhY2hlZEluc3RhbmNlKQogICAg
ICAgICByZXR1cm4gW1tjYWNoZWRJbnN0YW5jZSByZXRhaW5dIGF1dG9yZWxlYXNlXTsKLSAgICAK
KwogICAgIENsYXNzIHdyYXBwZXJDbGFzcyA9IG5pbDsKICAgICBzd2l0Y2ggKGltcGwtPmNzc1Zh
bHVlVHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRE9NX0NTU19JTkhFUklUOgpAQCAtMTk0LDMxICsx
OTUsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgd3JhcHBlckNsYXNzID0g
W0RPTUNTU1ZhbHVlIGNsYXNzXTsKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICByZXR1
cm4gW1tbd3JhcHBlckNsYXNzIGFsbG9jXSBfaW5pdFdpdGhWYWx1ZTppbXBsXSBhdXRvcmVsZWFz
ZV07Ci19Ci0KLUBlbmQKLQotCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
Ly8gRE9NQ1NTUHJpbWl0aXZlVmFsdWUKLQotQGltcGxlbWVudGF0aW9uIERPTUNTU1ByaW1pdGl2
ZVZhbHVlIChXZWJDb3JlSW50ZXJuYWwpCi0KLS0gKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVl
ICopX0NTU1ByaW1pdGl2ZVZhbHVlCi17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlKj4ocmVpbnRlcnByZXRfY2FzdDxXZWJDb3JlOjpDU1NWYWx1ZSo+
KF9pbnRlcm5hbCkpOwotfQotCi0rIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKV9DU1NQcmltaXRp
dmVWYWx1ZVdpdGg6KFdlYkNvcmU6OkNTU1ZhbHVlICopaW1wbAotewotICAgIHJldHVybiBzdGF0
aWNfY2FzdDxET01DU1NQcmltaXRpdmVWYWx1ZSo+KFtET01DU1NWYWx1ZSBfQ1NTVmFsdWVXaXRo
OmltcGxdKTsKKyAgICByZXR1cm4gW1tbd3JhcHBlckNsYXNzIGFsbG9jXSBfaW5pdFdpdGhDU1NW
YWx1ZTppbXBsXSBhdXRvcmVsZWFzZV07CiB9CiAKIEBlbmQKIAogCiAvLy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiBDU1MyIFByb3Bl
cnRpZXMKIAogQGltcGxlbWVudGF0aW9uIERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKERPTUNTUzJQ
cm9wZXJ0aWVzKQogCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTEFwcGxldEVs
ZW1lbnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxBcHBs
ZXRFbGVtZW50Lm1tCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9E
T01IVE1MQXBwbGV0RWxlbWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDMgKzE0OCwxNyBA
QAogfQogCiBAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBET01IVE1MQXBwbGV0RWxlbWVudCAoV2Vi
Q29yZUludGVybmFsKQorCistIChXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudCAqKV9IVE1MQXBw
bGV0RWxlbWVudAoreworICAgIHJldHVybiBJTVBMOworfQorCisrIChET01IVE1MQXBwbGV0RWxl
bWVudCAqKV9IVE1MT3B0aW9uRWxlbWVudFdpdGg6KFdlYkNvcmU6OkhUTUxBcHBsZXRFbGVtZW50
ICopaW1wbAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxET01IVE1MQXBwbGV0RWxlbWVudCo+
KFtET01Ob2RlIF9ub2RlV2l0aDppbXBsXSk7Cit9CisKK0BlbmQKSW5kZXg6IFdlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01IVE1MRW1iZWRFbGVtZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YmluZGluZ3Mvb2JqYy9ET01IVE1MRW1iZWRFbGVtZW50Lm1tCShyZXZpc2lvbiAxNjYzNCkKKysr
IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MRW1iZWRFbGVtZW50Lm1tCSh3b3JraW5nIGNv
cHkpCkBAIC05OCwzICs5OCwxOCBAQAogfQogCiBAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBET01I
VE1MRW1iZWRFbGVtZW50IChXZWJDb3JlSW50ZXJuYWwpCisKKy0gKFdlYkNvcmU6OkhUTUxFbWJl
ZEVsZW1lbnQgKilfSFRNTEVtYmVkRWxlbWVudAoreworICAgIHJldHVybiBJTVBMOworfQorCisr
IChET01IVE1MRW1iZWRFbGVtZW50ICopX0hUTUxFbWJlZEVsZW1lbnRXaXRoOihXZWJDb3JlOjpI
VE1MRW1iZWRFbGVtZW50ICopaW1wbAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxET01IVE1M
RW1iZWRFbGVtZW50Kj4oW0RPTU5vZGUgX25vZGVXaXRoOmltcGxdKTsKK30KKworCitAZW5kCklu
ZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAkocmV2aXNpb24gMTY2MzQpCisrKyBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjks
OSArMjksNyBAQAogCiAjaW1wb3J0ICJDb2xvci5oIgogI2ltcG9ydCAiRE9NQWJzdHJhY3RWaWV3
LmgiCi0jaW1wb3J0ICJET01DU1NQcmltaXRpdmVWYWx1ZS5oIgogI2ltcG9ydCAiRE9NQ1NTUnVs
ZS5oIgotI2ltcG9ydCAiRE9NQ1NTU3R5bGVTaGVldC5oIgogI2ltcG9ydCAiRE9NQ1NTVmFsdWUu
aCIKICNpbXBvcnQgIkRPTUV2ZW50cy5oIgogI2ltcG9ydCAiRE9NSFRNTE9wdGlvbkVsZW1lbnQu
aCIKQEAgLTQ3LDggKzQ1LDE4IEBACiAvLyBBdXRvLWdlbmVyYXRlZCBpbnRlcm5hbCBpbnRlcmZh
Y2VzCiAjaW1wb3J0ICJET01BdHRySW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNEQVRBU2VjdGlv
bkludGVybmFsLmgiCisjaW1wb3J0ICJET01DU1NDaGFyc2V0UnVsZUludGVybmFsLmgiCisjaW1w
b3J0ICJET01DU1NGb250RmFjZVJ1bGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NQ1NTSW1wb3J0
UnVsZUludGVybmFsLmgiCisjaW1wb3J0ICJET01DU1NNZWRpYVJ1bGVJbnRlcm5hbC5oIgorI2lt
cG9ydCAiRE9NQ1NTUGFnZVJ1bGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NQ1NTUHJpbWl0aXZl
VmFsdWVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NQ1NTUnVsZUxpc3RJbnRlcm5hbC5oIgogI2lt
cG9ydCAiRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbkludGVybmFsLmgiCisjaW1wb3J0ICJET01DU1NT
dHlsZVJ1bGVJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NQ1NTU3R5bGVTaGVldEludGVybmFsLmgi
CisjaW1wb3J0ICJET01DU1NVbmtub3duUnVsZUludGVybmFsLmgiCisjaW1wb3J0ICJET01DU1NW
YWx1ZUxpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NQ2hhcmFjdGVyRGF0YUludGVybmFsLmgi
CiAjaW1wb3J0ICJET01Db21tZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNvdW50ZXJJbnRl
cm5hbC5oIgpAQCAtMTEzLDE0ICsxMjEsMjAgQEAKICNpbXBvcnQgIkRPTUhUTUxUZXh0QXJlYUVs
ZW1lbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NSFRNTFRpdGxlRWxlbWVudEludGVybmFsLmgi
CiAjaW1wb3J0ICJET01IVE1MVUxpc3RFbGVtZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTUtl
eWJvYXJkRXZlbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NTWVkaWFMaXN0SW50ZXJuYWwuaCIK
KyNpbXBvcnQgIkRPTU1vdXNlRXZlbnRJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NTXV0YXRpb25F
dmVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01OYW1lZE5vZGVNYXBJbnRlcm5hbC5oIgogI2lt
cG9ydCAiRE9NTm9kZUxpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NTm90YXRpb25JbnRlcm5h
bC5oIgorI2ltcG9ydCAiRE9NT3ZlcmZsb3dFdmVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NUmVjdEludGVybmFs
LmgiCiAjaW1wb3J0ICJET01TdHlsZVNoZWV0TGlzdEludGVybmFsLmgiCiAjaW1wb3J0ICJET01U
ZXh0SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTVVJRXZlbnRJbnRlcm5hbC5oIgorI2ltcG9ydCAi
RE9NV2hlZWxFdmVudEludGVybmFsLmgiCiAKICNpZmRlZiBTVkdfU1VQUE9SVAogI2ltcG9ydCAi
RE9NU1ZHQW5nbGVJbnRlcm5hbC5oIgpAQCAtMTUzLDkgKzE2Nyw3IEBACiAjZW5kaWYgLy8gWFBB
VEhfU1VQUE9SVAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQ1NTUHJpbWl0aXZl
VmFsdWU7CiAgICAgY2xhc3MgQ1NTUnVsZTsKLSAgICBjbGFzcyBDU1NTdHlsZVNoZWV0OwogICAg
IGNsYXNzIENTU1ZhbHVlOwogICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFzcyBFdmVudDsK
QEAgLTE5NywyOSArMjA5LDIzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQGludGVyZmFjZSBE
T01DU1NSdWxlIChXZWJDb3JlSW50ZXJuYWwpCiArIChET01DU1NSdWxlICopX0NTU1J1bGVXaXRo
OihXZWJDb3JlOjpDU1NSdWxlICopaW1wbDsKKy0gKFdlYkNvcmU6OkNTU1J1bGUgKilfQ1NTUnVs
ZTsKIEBlbmQKIAogQGludGVyZmFjZSBET01DU1NWYWx1ZSAoV2ViQ29yZUludGVybmFsKQogKyAo
RE9NQ1NTVmFsdWUgKilfQ1NTVmFsdWVXaXRoOihXZWJDb3JlOjpDU1NWYWx1ZSAqKWltcGw7Ci1A
ZW5kCi0KLUBpbnRlcmZhY2UgRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKFdlYkNvcmVJbnRlcm5hbCkK
LS0gKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlICopX0NTU1ByaW1pdGl2ZVZhbHVlOwotKyAo
RE9NQ1NTUHJpbWl0aXZlVmFsdWUgKilfQ1NTUHJpbWl0aXZlVmFsdWVXaXRoOihXZWJDb3JlOjpD
U1NWYWx1ZSAqKWltcGw7CistIChXZWJDb3JlOjpDU1NWYWx1ZSAqKV9DU1NWYWx1ZTsKIEBlbmQK
IAogQGludGVyZmFjZSBET01SR0JDb2xvciAoV2ViQ29yZUludGVybmFsKQogKyAoRE9NUkdCQ29s
b3IgKilfUkdCQ29sb3JXaXRoUkdCOihXZWJDb3JlOjpSR0JBMzIpdmFsdWU7CiBAZW5kCiAKLUBp
bnRlcmZhY2UgRE9NQ1NTU3R5bGVTaGVldCAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NQ1NTU3R5
bGVTaGVldCAqKV9DU1NTdHlsZVNoZWV0V2l0aDooV2ViQ29yZTo6Q1NTU3R5bGVTaGVldCAqKWlt
cGw7Ci1AZW5kCi0KIC8vIFN0eWxlU2hlZXRzIEludGVybmFsIEludGVyZmFjZXMKIAogQGludGVy
ZmFjZSBET01TdHlsZVNoZWV0IChXZWJDb3JlSW50ZXJuYWwpCiArIChET01TdHlsZVNoZWV0ICop
X3N0eWxlU2hlZXRXaXRoOihXZWJDb3JlOjpTdHlsZVNoZWV0ICopaW1wbDsKKy0gKFdlYkNvcmU6
OlN0eWxlU2hlZXQgKilfc3R5bGVTaGVldDsKIEBlbmQKIAogLy8gRXZlbnRzIEludGVybmFsIElu
dGVyZmFjZXMKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW0JKHJldmlzaW9u
IDE2NjM0KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUludGVybmFsLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC00MiwxMSArNDIsMTAgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2lu
ZyBLSlM6OkV4ZWNTdGF0ZTsKIHVzaW5nIEtKUzo6SW50ZXJwcmV0ZXI7CiB1c2luZyBLSlM6OkpT
T2JqZWN0OwotCiB1c2luZyBLSlM6OkJpbmRpbmdzOjpSb290T2JqZWN0OwogCiAvLy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gV3JhcHBpbmcga2h0bWwgaW1wbGVtZW50YXRp
b24gb2JqZWN0cworLy8gV3JhcHBpbmcgV2ViQ29yZSBpbXBsZW1lbnRhdGlvbiBvYmplY3RzCiAK
IHN0YXRpYyBIYXNoTWFwPERPTU9iamVjdEludGVybmFsKiwgTlNPYmplY3QqPiogd3JhcHBlckNh
Y2hlOwogCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMu
cG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JP
YmpDLnBtCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yT2JqQy5wbQkod29ya2luZyBjb3B5KQpAQCAtMzEyLDYgKzMxMiwxNSBAQCBzdWIg
R2V0UGFyZW50QW5kUHJvdG9jb2xzCiAgICAgcmV0dXJuICgkcGFyZW50LCBAcHJvdG9jb2xzKTsK
IH0KIAorc3ViIEdldEJhc2VDbGFzcworeworICAgICRwYXJlbnQgPSBzaGlmdDsKKworICAgIHJl
dHVybiAkcGFyZW50IGlmICRwYXJlbnQgZXEgIk9iamVjdCIgb3IgJHBhcmVudCBlcSAiQ1NTVmFs
dWUiIG9yICRwYXJlbnQgZXEgIkNTU1J1bGUiIG9yICRwYXJlbnQgZXEgIlN0eWxlU2hlZXQiOwor
ICAgIHJldHVybiAiRXZlbnQiIGlmICRwYXJlbnQgZXEgIkV2ZW50IiBvciAkcGFyZW50IGVxICJV
SUV2ZW50IjsKKyAgICByZXR1cm4gIk5vZGUiOworfQorCiBzdWIgSXNQcm90b2NvbFR5cGUKIHsK
ICAgICAkdHlwZSA9IHNoaWZ0OwpAQCAtNzM1LDYgKzc0NCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxl
bWVudGF0aW9uCiAgICAgbXkgJGltcGxDbGFzc05hbWUgPSBHZXRJbXBsQ2xhc3NOYW1lKCRpbnRl
cmZhY2VOYW1lKTsKICAgICBteSAkcGFyZW50SW1wbENsYXNzTmFtZSA9IEdldFBhcmVudEltcGxD
bGFzc05hbWUoJGRhdGFOb2RlKTsKICAgICBteSAkaW1wbENsYXNzTmFtZVdpdGhOYW1lc3BhY2Ug
PSAiV2ViQ29yZTo6IiAuICRpbXBsQ2xhc3NOYW1lOworICAgIG15ICRiYXNlQ2xhc3MgPSBHZXRC
YXNlQ2xhc3MoJHBhcmVudEltcGxDbGFzc05hbWUpOwogICAgIG15ICRjbGFzc0hlYWRlck5hbWUg
PSBHZXRDbGFzc0hlYWRlck5hbWUoJGNsYXNzTmFtZSk7CiAgICAgbXkgJGNvbmRpdGlvbmFsID0g
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uZGl0aW9uYWwifTsKIApAQCAtNzYx
LDIwICs3NzEsMTEgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBAaW1wbENvbnRl
bnQgPSAoKTsKIAogICAgICMgYWRkIGltcGxlbWVudGF0aW9uIGFjY2Vzc29yCi0gICAgIyBGSVhN
RTogQ1NTU3R5bGVTaGVldCBzaG91bGQgbm90IG5lZWQgc3BlY2lhbCBjYXNpbmcgbGlrZSB0aGlz
LgotICAgIGlmICgkcGFyZW50SW1wbENsYXNzTmFtZSBlcSAiT2JqZWN0IiBvciAkaW50ZXJmYWNl
TmFtZSBlcSAiQ1NTU3R5bGVTaGVldCIpIHsKKyAgICBpZiAoJHBhcmVudEltcGxDbGFzc05hbWUg
ZXEgIk9iamVjdCIpIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZGVmaW5lIElNUEwg
cmVpbnRlcnByZXRfY2FzdDwkaW1wbENsYXNzTmFtZVdpdGhOYW1lc3BhY2UqPihfaW50ZXJuYWwp
XG5cbiIpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIG15ICRpbnRlcm5hbEJhc2VUeXBlID0gIldl
YkNvcmU6OiI7Ci0gICAgICAgIGlmICgkcGFyZW50SW1wbENsYXNzTmFtZSBlcSAiQ1NTVmFsdWUi
IG9yICRwYXJlbnRJbXBsQ2xhc3NOYW1lIGVxICJDU1NSdWxlIikgewotICAgICAgICAgICAgJGlu
dGVybmFsQmFzZVR5cGUgLj0gJHBhcmVudEltcGxDbGFzc05hbWU7Ci0gICAgICAgIH0gZWxzaWYg
KCRwYXJlbnRJbXBsQ2xhc3NOYW1lIGVxICJFdmVudCIgb3IgJHBhcmVudEltcGxDbGFzc05hbWUg
ZXEgIlVJRXZlbnQiKSB7Ci0gICAgICAgICAgICAkaW50ZXJuYWxCYXNlVHlwZSAuPSAiRXZlbnQi
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgJGludGVybmFsQmFzZVR5cGUgLj0gIk5v
ZGUiOwotICAgICAgICB9Ci0KLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZGVmaW5lIElN
UEwgc3RhdGljX2Nhc3Q8JGltcGxDbGFzc05hbWVXaXRoTmFtZXNwYWNlKj4ocmVpbnRlcnByZXRf
Y2FzdDwkaW50ZXJuYWxCYXNlVHlwZSo+KF9pbnRlcm5hbCkpXG5cbiIpOworICAgICAgICBteSAk
YmFzZUNsYXNzV2l0aE5hbWVzcGFjZSA9ICJXZWJDb3JlOjokYmFzZUNsYXNzIjsKKyAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIjZGVmaW5lIElNUEwgc3RhdGljX2Nhc3Q8JGltcGxDbGFzc05h
bWVXaXRoTmFtZXNwYWNlKj4ocmVpbnRlcnByZXRfY2FzdDwkYmFzZUNsYXNzV2l0aE5hbWVzcGFj
ZSo+KF9pbnRlcm5hbCkpXG5cbiIpOwogICAgIH0KIAogICAgICMgU1RBUlQgaW1wbGVtZW50YXRp
b24KQEAgLTExNjgsMTAgKzExNjksMTMgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBbW1tzZWxmIGFsbG9jXSAk
aW5pdFdpdGhJbXBsTmFtZTppbXBsXSBhdXRvcmVsZWFzZV07XG4iKTsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IG15ICRpbnRlcm5hbEJhc2VUeXBlID0gIkRPTSRiYXNlQ2xhc3MiOworICAgICAgICAgICAgbXkg
JGludGVybmFsQmFzZVR5cGVNYWtlciA9IEdldE9iakNUeXBlTWFrZXIoJGJhc2VDbGFzcyk7CisK
ICAgICAgICAgICAgICMgLSAoRE9NRm9vQmFyKV9Gb29CYXJXaXRoOihXZWJDb3JlOjpGb29CYXIg
KilpbXBsIGZvciBpbXBsZW1lbnRhdGlvbiBjbGFzcyBGb29CYXIKICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiJHR5cGVNYWtlclNpZ1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIntcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0
dXJuIHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPihbRE9NTm9kZSBfbm9kZVdpdGg6aW1wbF0pO1xu
Iik7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8JGNsYXNzTmFtZSo+KFskaW50ZXJuYWxCYXNlVHlwZSAkaW50ZXJuYWxCYXNlVHlwZU1ha2Vy
OmltcGxdKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwog
ICAgICAgICB9CiAKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwJKHJldmlzaW9uIDE2NjM0KQor
KysgV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3
ICsyMSw3IEBACiBtb2R1bGUgY3NzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVs
IDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDTm9JbnRlcm5hbF0gQ1NTQ2hhcnNldFJ1bGUgOiBDU1NS
dWxlIHsKKyAgICBpbnRlcmZhY2UgQ1NTQ2hhcnNldFJ1bGUgOiBDU1NSdWxlIHsKIAogICAgICAg
ICAvLyBGSVhNRTogdGhlIERPTSBzcGVjIHNheXMgdGhhdCB0aGlzIGF0dHJpYnV0ZQogICAgICAg
ICAvLyBzaG91bGQgbm90IGJlIHJlYWRvbmx5LiAgVGhlIGNvcnJlY3QgZGVjbGFyYXRpb24KSW5k
ZXg6IFdlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbAkocmV2aXNpb24gMTY2MzQpCisrKyBXZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVJ1bGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiBt
b2R1bGUgY3NzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgaW50
ZXJmYWNlIFtPYmpDTm9JbnRlcm5hbF0gQ1NTRm9udEZhY2VSdWxlIDogQ1NTUnVsZSB7CisgICAg
aW50ZXJmYWNlIENTU0ZvbnRGYWNlUnVsZSA6IENTU1J1bGUgewogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiAgc3R5bGU7CiAgICAgfTsKIApJbmRleDogV2Vi
Q29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NT
SW1wb3J0UnVsZS5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9jc3MvQ1NTSW1wb3J0
UnVsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKIG1vZHVsZSBjc3Mgewog
CiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKLSAgICBpbnRlcmZhY2UgW09iakNO
b0ludGVybmFsXSBDU1NJbXBvcnRSdWxlIDogQ1NTUnVsZSB7CisgICAgaW50ZXJmYWNlIENTU0lt
cG9ydFJ1bGUgOiBDU1NSdWxlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyAgICAgICAgaHJlZjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHN0eWxlc2hlZXRzOjpN
ZWRpYUxpc3QgIG1lZGlhOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVTaGVl
dCAgICBzdHlsZVNoZWV0OwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsCShyZXZpc2lvbiAxNjYzNCkK
KysrIFdlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcg
KzIxLDcgQEAKIG1vZHVsZSBjc3MgewogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwg
MjoKLSAgICBpbnRlcmZhY2UgW09iakNOb0ludGVybmFsXSBDU1NNZWRpYVJ1bGUgOiBDU1NSdWxl
IHsKKyAgICBpbnRlcmZhY2UgQ1NTTWVkaWFSdWxlIDogQ1NTUnVsZSB7CiAKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHN0eWxlc2hlZXRzOjpNZWRpYUxpc3QgIG1lZGlhOwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgICAgICBjc3NSdWxlczsKSW5kZXg6IFdlYkNv
cmUvY3NzL0NTU1BhZ2VSdWxlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQYWdl
UnVsZS5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiBtb2R1bGUgY3NzIHsKIAogICAgIC8v
IEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDTm9JbnRlcm5h
bF0gQ1NTUGFnZVJ1bGUgOiBDU1NSdWxlIHsKKyAgICBpbnRlcmZhY2UgQ1NTUGFnZVJ1bGUgOiBD
U1NSdWxlIHsKIAogICAgICAgICAgICAgICAgICAvLyBGSVhNRTogRE9NIHNwZWMgc2F5cyB0aGF0
IHRoaXMgY2FuIHJhaXNlIGFuCiAgICAgICAgICAgICAgICAgIC8vIGV4Y2VwdGlvbiBvbiBzZXR0
aW5nLgpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmlkbAkocmV2aXNpb24gMTY2MzQpCisr
KyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5
LDcgKzE5LDcgQEAKIAogbW9kdWxlIGNzcyB7CiAKLSAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29u
c3RydWN0b3IsIE9iakNOb0ludGVybmFsXSBDU1NQcmltaXRpdmVWYWx1ZSA6IENTU1ZhbHVlIHsK
KyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3JdIENTU1ByaW1pdGl2ZVZhbHVlIDog
Q1NTVmFsdWUgewogCiAgICAgICAgIC8vIFVuaXRUeXBlcwogICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBDU1NfVU5LTk9XTiAgICA9IDA7CkBAIC01MiwxMiArNTIsMTIgQEAgbW9kdWxlIGNz
cyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBwcmltaXRpdmVU
eXBlOwogCiAgICAgICAgIFtPbGRTdHlsZU9iakNdIHZvaWQgc2V0RmxvYXRWYWx1ZShpbiB1bnNp
Z25lZCBzaG9ydCB1bml0VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0
IGZsb2F0VmFsdWUpCi0gICAgICAgICAgICByYWlzZXMoZG9tOjpET01FeGNlcHRpb24pOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZmxvYXQgZmxvYXRWYWx1
ZSkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICBmbG9hdCBnZXRG
bG9hdFZhbHVlKGluIHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKTsKICAgICAgICAgW09sZFN0eWxl
T2JqQ10gdm9pZCBzZXRTdHJpbmdWYWx1ZShpbiB1bnNpZ25lZCBzaG9ydCBzdHJpbmdUeXBlLCAK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBET01TdHJpbmcgc3RyaW5nVmFsdWUpCi0g
ICAgICAgICAgICByYWlzZXMoZG9tOjpET01FeGNlcHRpb24pOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVN0cmluZyBzdHJpbmdWYWx1ZSkKKyAgICAg
ICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICBET01TdHJpbmcgZ2V0U3RyaW5n
VmFsdWUoKTsKICAgICAgICAgQ291bnRlciBnZXRDb3VudGVyVmFsdWUoKTsKICAgICAgICAgUmVj
dCBnZXRSZWN0VmFsdWUoKTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbAkocmV2aXNpb24gMTY2MzQp
CisrKyBXZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3
ICsyMSw3IEBACiBtb2R1bGUgY3NzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVs
IDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDTm9JbnRlcm5hbF0gQ1NTU3R5bGVSdWxlIDogQ1NTUnVs
ZSB7CisgICAgaW50ZXJmYWNlIENTU1N0eWxlUnVsZSA6IENTU1J1bGUgewogCiAgICAgICAgICAg
ICAgICAgIC8vIEZJWE1FOiBET00gc3BlYyBzYXlzIHRoYXQgdGhpcyBjYW4gcmFpc2UgYW4KICAg
ICAgICAgICAgICAgICAgLy8gZXhjZXB0aW9uIG9uIHNldHRpbmcuCkluZGV4OiBXZWJDb3JlL2Nz
cy9DU1NTdHlsZVNoZWV0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNo
ZWV0LmlkbAkocmV2aXNpb24gMTY2MzQpCisrKyBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjEsMTYgKzIxLDE1IEBACiBtb2R1bGUgY3NzIHsKIAogICAg
IC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDTm9JbnRl
cm5hbF0gQ1NTU3R5bGVTaGVldCA6IHN0eWxlc2hlZXRzOjpTdHlsZVNoZWV0IHsKLQorICAgIGlu
dGVyZmFjZSBDU1NTdHlsZVNoZWV0IDogc3R5bGVzaGVldHM6OlN0eWxlU2hlZXQgewogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZSAgICAgICAgICBvd25lclJ1bGU7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlTGlzdCAgICAgIGNzc1J1bGVzOworCiAgICAgICAg
IFtPbGRTdHlsZU9iakNdIHVuc2lnbmVkIGxvbmcgaW5zZXJ0UnVsZShpbiBET01TdHJpbmcgcnVs
ZSwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHVuc2lnbmVkIGxv
bmcgaW5kZXgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiB1bnNpZ25lZCBsb25nIGluZGV4KQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAgICAgICAgIHZvaWQgICAgICAgICAgICAgICBkZWxldGVSdWxlKGluIHVuc2lnbmVkIGxv
bmcgaW5kZXgpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLQogICAgIH07CiAK
IH0KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1Vua25vd25SdWxlLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29y
ZS9jc3MvQ1NTVW5rbm93blJ1bGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBA
CiBtb2R1bGUgY3NzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAg
aW50ZXJmYWNlIFtPYmpDTm9JbnRlcm5hbF0gQ1NTVW5rbm93blJ1bGUgOiBDU1NSdWxlIHsKKyAg
ICBpbnRlcmZhY2UgQ1NTVW5rbm93blJ1bGUgOiBDU1NSdWxlIHsKICAgICB9OwogCiB9CkluZGV4
OiBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3Nz
L0NTU1ZhbHVlTGlzdC5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9jc3MvQ1NTVmFs
dWVMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsOCArMjYsOSBAQAogbW9kdWxlIGNzcyB7
CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAgIGludGVyZmFjZSBbSGFz
SW5kZXhHZXR0ZXIsIE9iakNOb0ludGVybmFsXSBDU1NWYWx1ZUxpc3QgOiBDU1NWYWx1ZSB7Cisg
ICAgaW50ZXJmYWNlIFtIYXNJbmRleEdldHRlcl0gQ1NTVmFsdWVMaXN0IDogQ1NTVmFsdWUgewog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyAgICBsZW5ndGg7CiAgICAg
ICAgIENTU1ZhbHVlICAgICAgICAgICBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAg
IH07CisKIH0KSW5kZXg6IFdlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsCShyZXZpc2lvbiAxNjYzNCkKKysrIFdl
YkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3
IEBACiBtb2R1bGUgZXZlbnRzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDM6
Ci0gICAgaW50ZXJmYWNlIFtPYmpDTm9JbnRlcm5hbF0gS2V5Ym9hcmRFdmVudCA6IFVJRXZlbnQg
eworICAgIGludGVyZmFjZSBLZXlib2FyZEV2ZW50IDogVUlFdmVudCB7CiAKICNpZiAhZGVmaW5l
ZChMQU5HVUFHRV9KQVZBU0NSSVBUKQogICAgICAgICAvLyBLZXlMb2NhdGlvbkNvZGUKSW5kZXg6
IFdlYkNvcmUvZG9tL01vdXNlRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL01v
dXNlRXZlbnQuaWRsCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvZG9tL01vdXNlRXZlbnQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiBtb2R1bGUgZXZlbnRzIHsKIAog
ICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDTm9J
bnRlcm5hbF0gTW91c2VFdmVudCA6IFVJRXZlbnQgeworICAgIGludGVyZmFjZSBNb3VzZUV2ZW50
IDogVUlFdmVudCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAg
IHNjcmVlblg7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAgIHNj
cmVlblk7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAgIGNsaWVu
dFg7CkluZGV4OiBXZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2RvbS9NdXRhdGlvbkV2ZW50LmlkbAkocmV2aXNpb24gMTY2MzQpCisrKyBXZWJDb3Jl
L2RvbS9NdXRhdGlvbkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQAog
bW9kdWxlIGV2ZW50cyB7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAg
IGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3RvciwgT2JqQ05vSW50ZXJuYWxdIE11dGF0aW9u
RXZlbnQgOiBFdmVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBNdXRh
dGlvbkV2ZW50IDogRXZlbnQgewogCiAgICAgICAgIC8vIGF0dHJDaGFuZ2VUeXBlCiAgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IE1PRElGSUNBVElPTiA9IDE7CkluZGV4OiBXZWJDb3JlL2Rv
bS9Ob2RlSXRlcmF0b3IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGVJdGVyYXRv
ci5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjgsMTMgKzI4LDEyIEBAIG1vZHVsZSB0cmF2ZXJzYWwgewogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBleHBhbmRFbnRpdHlSZWZlcmVuY2VzOwog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSByZWZlcmVuY2VOb2RlOwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBwb2ludGVyQmVmb3JlUmVmZXJlbmNlTm9kZTsKLSAg
ICAgICAgCisKICAgICAgICAgTm9kZSBuZXh0Tm9kZSgpIAogICAgICAgICAgICAgcmFpc2VzIChE
T01FeGNlcHRpb24pOwogICAgICAgICBOb2RlIHByZXZpb3VzTm9kZSgpCiAgICAgICAgICAgICBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgZGV0YWNoKCk7CiAgICAgfTsKLX0K
IAotIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30KSW5kZXg6IFdlYkNvcmUvZG9tL092
ZXJmbG93RXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQu
aWRsCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBACiAgKi8KIG1vZHVsZSBldmVudHMgewogCi0g
ICAgaW50ZXJmYWNlIFtPYmpDTm9JbnRlcm5hbF0gT3ZlcmZsb3dFdmVudCA6IEV2ZW50IHsKKyAg
ICBpbnRlcmZhY2UgT3ZlcmZsb3dFdmVudCA6IEV2ZW50IHsKICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgSE9SSVpPTlRBTCA9IDA7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFZF
UlRJQ0FMICAgPSAxOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBCT1RIICAgICAgID0g
MjsKSW5kZXg6IFdlYkNvcmUvZG9tL1VJRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
ZG9tL1VJRXZlbnQuaWRsCShyZXZpc2lvbiAxNjYzNCkKKysrIFdlYkNvcmUvZG9tL1VJRXZlbnQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiBtb2R1bGUgZXZlbnRzIHsKIAog
ICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDTm9J
bnRlcm5hbF0gVUlFdmVudCA6IEV2ZW50IHsKKyAgICBpbnRlcmZhY2UgVUlFdmVudCA6IEV2ZW50
IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVdpbmRvdyAgICAgICAgICAgIHZpZXc7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAgICAgICBkZXRhaWw7
CiAgICAgICAgIApJbmRleDogV2ViQ29yZS9kb20vV2hlZWxFdmVudC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9kb20vV2hlZWxFdmVudC5pZGwJKHJldmlzaW9uIDE2NjM0KQorKysgV2ViQ29y
ZS9kb20vV2hlZWxFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKIG1v
ZHVsZSBldmVudHMgewogCiAgICAgLy8gQmFzZWQgb2ZmIG9mIHByb3Bvc2VkIElETCBpbnRlcmZh
Y2UgZm9yIFdoZWVsRXZlbnQ6Ci0gICAgaW50ZXJmYWNlIFtPYmpDTm9JbnRlcm5hbF0gV2hlZWxF
dmVudCA6IFVJRXZlbnQgeworICAgIGludGVyZmFjZSBXaGVlbEV2ZW50IDogVUlFdmVudCB7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgIHNjcmVlblg7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBsb25nICAgIHNjcmVlblk7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nICAgIGNsaWVudFg7Cg==
</data>
<flag name="review"
          id="3590"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>