<?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>220675</bug_id>
          
          <creation_ts>2021-01-15 14:42:37 -0800</creation_ts>
          <short_desc>AX: AT-synthesized key events for common user actions (increment/decrement) are detectably different in many ways, potentially causing both web app breakage and AT identification</short_desc>
          <delta_ts>2021-01-22 13:55:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Craig">jcraig</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>avinashkthapa</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kangil.han</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1720037</commentid>
    <comment_count>0</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2021-01-15 14:42:37 -0800</bug_when>
    <thetext>Follow-on from bug 220626.

AT-synthesized key events for common user actions (increment/decrement) are detectably different in many ways, potentially causing both web app breakage and AT identification

https://github.com/WICG/aom/blob/gh-pages/explainer.md#deprecated-keyboardevent-object-properties-optional

The synthetic events should include all the other key event properties listed in that table for two reasons.

1. Someone else is going to write an example that works with the keyboard but doesn&apos;t work with VO because it uses another one of the legacy properties. `event.which` for example. It&apos;s 0 with this patch, but should be 40 for ArrowDown... keyIdentifier also uses a different case between the AT and non-AT path: &quot;up&quot; vs &quot;Up&quot;

2. Any difference in the Event object might be used nefariously to differentiate an AT user from a keyboard user. For example: event.code, event.keyLocation and event.metaKey are also different between the AT and non-AT paths, but should not be. There may be more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720038</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-15 14:42:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/73263977&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720727</commentid>
    <comment_count>2</comment_count>
      <attachid>417921</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-01-19 15:57:59 -0800</bug_when>
    <thetext>Created attachment 417921
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720961</commentid>
    <comment_count>3</comment_count>
      <attachid>417987</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-01-20 12:13:29 -0800</bug_when>
    <thetext>Created attachment 417987
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721196</commentid>
    <comment_count>4</comment_count>
      <attachid>418049</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-01-21 09:26:16 -0800</bug_when>
    <thetext>Created attachment 418049
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721237</commentid>
    <comment_count>5</comment_count>
      <attachid>418049</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2021-01-21 10:38:48 -0800</bug_when>
    <thetext>Comment on attachment 418049
patch

lgtm. thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721243</commentid>
    <comment_count>6</comment_count>
      <attachid>418063</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-01-21 10:44:56 -0800</bug_when>
    <thetext>Created attachment 418063
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721710</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-22 13:55:40 -0800</bug_when>
    <thetext>Committed r271760: &lt;https://trac.webkit.org/changeset/271760&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418063.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417921</attachid>
            <date>2021-01-19 15:57:59 -0800</date>
            <delta_ts>2021-01-20 12:13:29 -0800</delta_ts>
            <desc>patch</desc>
            <filename>file_220675.txt</filename>
            <type>text/plain</type>
            <size>16823</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggMzAwMTE1NDg5MTFhLi4zZmVjMDQxZGQ5OGYgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
NCBAQA0KKzIwMjEtMDEtMTkgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBBVC1zeW50aGVzaXplZCBrZXkgZXZlbnRzIGZvciBjb21tb24gdXNl
ciBhY3Rpb25zIChpbmNyZW1lbnQvZGVjcmVtZW50KSBhcmUgZGV0ZWN0YWJseSBkaWZmZXJlbnQg
aW4gbWFueSB3YXlzLCBwb3RlbnRpYWxseSBjYXVzaW5nIGJvdGggd2ViIGFwcCBicmVha2FnZSBh
bmQgQVQgaWRlbnRpZmljYXRpb24NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA2NzUNCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzI2Mzk3Nz4N
CisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4NCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9rZXlldmVudHMt
Zm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWw6IEFkZGVkLg0KKw0KIDIwMjEt
MDEtMTUgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4NCiANCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAyMjQNCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtl
eS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVu
dHMtZm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLWV4cGVjdGVkLnR4dA0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uYjg4MGRmMzBkOGVlDQotLS0gL2Rl
di9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0
aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMtZXhwZWN0ZWQudHh0DQpAQCAtMCwwICsxLDQyIEBA
DQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIGluY3JlbWVudC9kZWNyZW1lbnQgYWN0aW9u
cyBwb3N0IGtleWJvYXJkIGV2ZW50cyB0aGF0IGFwcGVhciBpZGVudGljYWwgdG8gcmVhbCBrZXli
b2FyZCBldmVudHMuDQorDQorT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLg0KKw0KKw0KK1NlbmRp
bmcgQVQgZXZlbnQNCitSZWNlaXZlZCBBVCBldmVudA0KK1NlbmRpbmcgcmVhbCBldmVudA0KK1Jl
Y2VpdmVkIHJlYWwgZXZlbnQNCitQQVNTIHJlYWxLZXlFdmVudC5hbHRHcmFwaEtleSBpcyBhdEtl
eUV2ZW50LmFsdEdyYXBoS2V5DQorUEFTUyByZWFsS2V5RXZlbnQuYWx0S2V5IGlzIGF0S2V5RXZl
bnQuYWx0S2V5DQorUEFTUyByZWFsS2V5RXZlbnQuYnViYmxlcyBpcyBhdEtleUV2ZW50LmJ1YmJs
ZXMNCitQQVNTIHJlYWxLZXlFdmVudC5jYW5jZWxCdWJibGUgaXMgYXRLZXlFdmVudC5jYW5jZWxC
dWJibGUNCitQQVNTIHJlYWxLZXlFdmVudC5jYW5jZWxhYmxlIGlzIGF0S2V5RXZlbnQuY2FuY2Vs
YWJsZQ0KK1BBU1MgcmVhbEtleUV2ZW50LmNoYXJDb2RlIGlzIGF0S2V5RXZlbnQuY2hhckNvZGUN
CitQQVNTIHJlYWxLZXlFdmVudC5jb2RlIGlzIGF0S2V5RXZlbnQuY29kZQ0KK1BBU1MgcmVhbEtl
eUV2ZW50LmNvbXBvc2VkIGlzIGF0S2V5RXZlbnQuY29tcG9zZWQNCitQQVNTIHJlYWxLZXlFdmVu
dC5jdHJsS2V5IGlzIGF0S2V5RXZlbnQuY3RybEtleQ0KK1BBU1MgcmVhbEtleUV2ZW50LmRldGFp
bCBpcyBhdEtleUV2ZW50LmRldGFpbA0KK1BBU1MgcmVhbEtleUV2ZW50LmlzQ29tcG9zaW5nIGlz
IGF0S2V5RXZlbnQuaXNDb21wb3NpbmcNCitQQVNTIHJlYWxLZXlFdmVudC5pc1RydXN0ZWQgaXMg
YXRLZXlFdmVudC5pc1RydXN0ZWQNCitQQVNTIHJlYWxLZXlFdmVudC5rZXkgaXMgYXRLZXlFdmVu
dC5rZXkNCitQQVNTIHJlYWxLZXlFdmVudC5rZXlDb2RlIGlzIGF0S2V5RXZlbnQua2V5Q29kZQ0K
K1BBU1MgcmVhbEtleUV2ZW50LmtleUlkZW50aWZpZXIgaXMgYXRLZXlFdmVudC5rZXlJZGVudGlm
aWVyDQorUEFTUyByZWFsS2V5RXZlbnQubGF5ZXJYIGlzIGF0S2V5RXZlbnQubGF5ZXJYDQorUEFT
UyByZWFsS2V5RXZlbnQubGF5ZXJZIGlzIGF0S2V5RXZlbnQubGF5ZXJZDQorUEFTUyByZWFsS2V5
RXZlbnQubG9jYXRpb24gaXMgYXRLZXlFdmVudC5sb2NhdGlvbg0KK1BBU1MgcmVhbEtleUV2ZW50
Lm1ldGFLZXkgaXMgYXRLZXlFdmVudC5tZXRhS2V5DQorUEFTUyByZWFsS2V5RXZlbnQucGFnZVgg
aXMgYXRLZXlFdmVudC5wYWdlWA0KK1BBU1MgcmVhbEtleUV2ZW50LnBhZ2VZIGlzIGF0S2V5RXZl
bnQucGFnZVkNCitQQVNTIHJlYWxLZXlFdmVudC5yZXBlYXQgaXMgYXRLZXlFdmVudC5yZXBlYXQN
CitQQVNTIHJlYWxLZXlFdmVudC5yZXR1cm5WYWx1ZSBpcyBhdEtleUV2ZW50LnJldHVyblZhbHVl
DQorUEFTUyByZWFsS2V5RXZlbnQuc2hpZnRLZXkgaXMgYXRLZXlFdmVudC5zaGlmdEtleQ0KK1BB
U1MgcmVhbEtleUV2ZW50LnNyY0VsZW1lbnQgaXMgYXRLZXlFdmVudC5zcmNFbGVtZW50DQorUEFT
UyByZWFsS2V5RXZlbnQudGFyZ2V0IGlzIGF0S2V5RXZlbnQudGFyZ2V0DQorUEFTUyByZWFsS2V5
RXZlbnQudHlwZSBpcyBhdEtleUV2ZW50LnR5cGUNCitQQVNTIHJlYWxLZXlFdmVudC53aGljaCBp
cyBhdEtleUV2ZW50LndoaWNoDQorUEFTUyByZWFsS2V5RXZlbnQud2luZG93UHJveHkgaXMgYXRL
ZXlFdmVudC53aW5kb3dQcm94eQ0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUNCisN
CitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9rZXlldmVudHMtZm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtl
eS1ldmVudHMuaHRtbA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4u
ODlmY2JlZTg4OWYwDQotLS0gL2Rldi9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMuaHRtbA0KQEAg
LTAsMCArMSw4NyBAQA0KKzxodG1sPg0KKzxoZWFkPg0KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pg0KKzwvaGVhZD4NCis8Ym9keSBpZD0iYm9keSI+
DQorDQorPGRpdiBpZD0ic2xpZGVyIg0KKyAgICAgICAgICAgcm9sZT0ic2xpZGVyIg0KKyAgICAg
ICAgICAgdGFiaW5kZXg9IjAiDQorICAgICAgICAgICBhcmlhLXZhbHVlbWluPSIwIg0KKyAgICAg
ICAgICAgYXJpYS12YWx1ZW5vdz0iMCINCisgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9IjI1NSIN
CisgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0iaWRSZWQiPjwvZGl2Pg0KKw0KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPg0KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pg0KKw0KKzxzY3JpcHQ+
DQorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgaW5jcmVtZW50
L2RlY3JlbWVudCBhY3Rpb25zIHBvc3Qga2V5Ym9hcmQgZXZlbnRzIHRoYXQgYXBwZWFyIGlkZW50
aWNhbCB0byByZWFsIGtleWJvYXJkIGV2ZW50cy4iKTsNCisNCisgICAgdmFyIGF0S2V5RXZlbnQg
PSAwOw0KKyAgICB2YXIgcmVhbEtleUV2ZW50ID0gMDsNCisgICAgZnVuY3Rpb24gaGFuZGxlS2V5
RG93bihldmVudCkgew0KKyAgICAgICAgaWYgKCFhdEtleUV2ZW50KSB7DQorICAgICAgICAgICAg
YXRLZXlFdmVudCA9IGV2ZW50Ow0KKyAgICAgICAgICAgIGRlYnVnKCJSZWNlaXZlZCBBVCBldmVu
dCIpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgZWxzZSBpZiAoIXJlYWxLZXlFdmVudCkgew0KKyAg
ICAgICAgICAgIHJlYWxLZXlFdmVudCA9IGV2ZW50Ow0KKyAgICAgICAgICAgIGRlYnVnKCJSZWNl
aXZlZCByZWFsIGV2ZW50Iik7DQorICAgICAgICB9DQorDQorICAgICAgICBpZiAocmVhbEtleUV2
ZW50ICYmIGF0S2V5RXZlbnQpIHsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50
LmFsdEdyYXBoS2V5IiwgImF0S2V5RXZlbnQuYWx0R3JhcGhLZXkiKTsNCisgICAgICAgICAgICBz
aG91bGRCZSgicmVhbEtleUV2ZW50LmFsdEtleSIsICJhdEtleUV2ZW50LmFsdEtleSIpOw0KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuYnViYmxlcyIsICJhdEtleUV2ZW50LmJ1
YmJsZXMiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNhbmNlbEJ1YmJs
ZSIsICJhdEtleUV2ZW50LmNhbmNlbEJ1YmJsZSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJy
ZWFsS2V5RXZlbnQuY2FuY2VsYWJsZSIsICJhdEtleUV2ZW50LmNhbmNlbGFibGUiKTsNCisgICAg
ICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNoYXJDb2RlIiwgImF0S2V5RXZlbnQuY2hh
ckNvZGUiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNvZGUiLCAiYXRL
ZXlFdmVudC5jb2RlIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5jb21w
b3NlZCIsICJhdEtleUV2ZW50LmNvbXBvc2VkIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJl
YWxLZXlFdmVudC5jdHJsS2V5IiwgImF0S2V5RXZlbnQuY3RybEtleSIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuZGV0YWlsIiwgImF0S2V5RXZlbnQuZGV0YWlsIik7DQor
ICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5pc0NvbXBvc2luZyIsICJhdEtleUV2
ZW50LmlzQ29tcG9zaW5nIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5p
c1RydXN0ZWQiLCAiYXRLZXlFdmVudC5pc1RydXN0ZWQiKTsNCisgICAgICAgICAgICBzaG91bGRC
ZSgicmVhbEtleUV2ZW50LmtleSIsICJhdEtleUV2ZW50LmtleSIpOw0KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJyZWFsS2V5RXZlbnQua2V5Q29kZSIsICJhdEtleUV2ZW50LmtleUNvZGUiKTsNCisg
ICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmtleUlkZW50aWZpZXIiLCAiYXRLZXlF
dmVudC5rZXlJZGVudGlmaWVyIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVu
dC5sYXllclgiLCAiYXRLZXlFdmVudC5sYXllclgiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgi
cmVhbEtleUV2ZW50LmxheWVyWSIsICJhdEtleUV2ZW50LmxheWVyWSIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQubG9jYXRpb24iLCAiYXRLZXlFdmVudC5sb2NhdGlvbiIp
Ow0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQubWV0YUtleSIsICJhdEtleUV2
ZW50Lm1ldGFLZXkiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LnBhZ2VY
IiwgImF0S2V5RXZlbnQucGFnZVgiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2
ZW50LnBhZ2VZIiwgImF0S2V5RXZlbnQucGFnZVkiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgi
cmVhbEtleUV2ZW50LnJlcGVhdCIsICJhdEtleUV2ZW50LnJlcGVhdCIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQucmV0dXJuVmFsdWUiLCAiYXRLZXlFdmVudC5yZXR1cm5W
YWx1ZSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuc2hpZnRLZXkiLCAi
YXRLZXlFdmVudC5zaGlmdEtleSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZl
bnQuc3JjRWxlbWVudCIsICJhdEtleUV2ZW50LnNyY0VsZW1lbnQiKTsNCisgICAgICAgICAgICBz
aG91bGRCZSgicmVhbEtleUV2ZW50LnRhcmdldCIsICJhdEtleUV2ZW50LnRhcmdldCIpOw0KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQudHlwZSIsICJhdEtleUV2ZW50LnR5cGUi
KTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LndoaWNoIiwgImF0S2V5RXZl
bnQud2hpY2giKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LndpbmRvd1By
b3h5IiwgImF0S2V5RXZlbnQud2luZG93UHJveHkiKTsNCisgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7DQorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7DQor
DQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2xpZGVyIikuYWRkRXZlbnRMaXN0
ZW5lcigna2V5ZG93bicsIGhhbmRsZUtleURvd24pOw0KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInNsaWRlciIpLmZvY3VzKCk7DQorICAgICAgICANCisgICAgICAgIC8vIEdldCB0
aGUgcGFyZW50IGVsZW1lbnQuDQorICAgICAgICB2YXIgYXhTbGlkZXIgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInNsaWRlciIpOw0KKw0KKyAgICAgICAg
Ly8gR2VuZXJhdGUgYSBBVCBiYXNlZCBrZXkgZXZlbnQuDQorICAgICAgICBkZWJ1ZygiU2VuZGlu
ZyBBVCBldmVudCIpOw0KKyAgICAgICAgYXhTbGlkZXIuaW5jcmVtZW50KCk7DQorDQorICAgICAg
ICAvLyBHZW5lcmF0ZSBhIHJlYWwga2V5IGV2ZW50Lg0KKyAgICAgICAgZGVidWcoIlNlbmRpbmcg
cmVhbCBldmVudCIpOw0KKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigicmlnaHRBcnJvdyIp
Ow0KKyAgICB9DQorPC9zY3JpcHQ+DQorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nDQppbmRleCBj
M2FjNmE2NzAwNmEuLjVhOGUyMWRmZTFlMiAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZw0KKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDM0IEBA
DQorMjAyMS0wMS0xOSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0K
KyAgICAgICAgQVg6IEFULXN5bnRoZXNpemVkIGtleSBldmVudHMgZm9yIGNvbW1vbiB1c2VyIGFj
dGlvbnMgKGluY3JlbWVudC9kZWNyZW1lbnQpIGFyZSBkZXRlY3RhYmx5IGRpZmZlcmVudCBpbiBt
YW55IHdheXMsIHBvdGVudGlhbGx5IGNhdXNpbmcgYm90aCB3ZWIgYXBwIGJyZWFrYWdlIGFuZCBB
VCBpZGVudGlmaWNhdGlvbg0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDY3NQ0KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczMjYzOTc3Pg0KKw0K
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICBUZXN0OiBh
Y2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMu
aHRtbA0KKw0KKyAgICAgICAgV2hlbiBhY2Nlc3NpYmlsaXR5IHBvc3RzIGtleWJvYXJkIGV2ZW50
cyBpbiByZXNwb25zZSB0byBheCBhY3Rpb25zLCB0aGV5IHNob3VsZCBtaW1pYw0KKyAgICAgICAg
cmVhbCBrZXkgZXZlbnRzIHNvIGFzIHRvIGJlIGluZGlzdGluZ3Vpc2hhYmxlLg0KKw0KKyAgICAg
ICAgaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvYW9tL2Jsb2IvZ2gtcGFnZXMvZXhwbGFpbmVyLm1k
I2RlcHJlY2F0ZWQta2V5Ym9hcmRldmVudC1vYmplY3QtcHJvcGVydGllcy1vcHRpb25hbA0KKw0K
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcDoNCisg
ICAgICAgIChXZWJDb3JlOjpkaXNwYXRjaFNpbXVsYXRlZEtleWJvYXJkVXBEb3duRXZlbnQpOg0K
KyAgICAgICAgKFdlYkNvcmU6OkluaXRpYWxpemVMZWdhY3lLZXlJbml0UHJvcGVydGllcyk6DQor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnBlcmZvcm1EaXNtaXNz
QWN0aW9uKToNCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6cG9z
dEtleWJvYXJkS2V5c0ZvclZhbHVlQ2hhbmdlKToNCisgICAgICAgICogZG9tL0tleWJvYXJkRXZl
bnQuY3BwOg0KKyAgICAgICAgKFdlYkNvcmU6OktleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQp
Og0KKyAgICAgICAgKFdlYkNvcmU6OktleWJvYXJkRXZlbnQ6OmNyZWF0ZSk6DQorICAgICAgICAq
IGRvbS9LZXlib2FyZEV2ZW50Lmg6DQorICAgICAgICAqIGRvbS9VSUV2ZW50LmNwcDoNCisgICAg
ICAgIChXZWJDb3JlOjpVSUV2ZW50OjpVSUV2ZW50KToNCisgICAgICAgICogZG9tL1VJRXZlbnQu
aDoNCisgICAgICAgIChXZWJDb3JlOjpVSUV2ZW50OjpjcmVhdGUpOg0KKyAgICAgICAgKiBkb20v
VUlFdmVudFdpdGhLZXlTdGF0ZS5oOg0KKyAgICAgICAgKFdlYkNvcmU6OlVJRXZlbnRXaXRoS2V5
U3RhdGU6OlVJRXZlbnRXaXRoS2V5U3RhdGUpOg0KKw0KIDIwMjEtMDEtMTYgIE5pa29sYXMgWmlt
bWVybWFubiAgPG56aW1tZXJtYW5uQGlnYWxpYS5jb20+DQogDQogICAgICAgICBTZXBhcmF0ZSBz
Y3JvbGxpbmcgY29kZSBvdXQgb2YgUmVuZGVyTGF5ZXINCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwDQppbmRleCAw
ZmYwZDQ0YTk2ZmQuLmRiMzYzNDAxNzJlNyAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwDQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcA0KQEAgLTM4LDYg
KzM4LDcgQEANCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiDQogI2luY2x1ZGUgIkVk
aXRpbmcuaCINCiAjaW5jbHVkZSAiRWxlbWVudEl0ZXJhdG9yLmgiDQorI2luY2x1ZGUgIkV2ZW50
LmgiDQogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCINCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiDQog
I2luY2x1ZGUgIkZyYW1lLmgiDQpAQCAtMTEwNCwyNiArMTEwNSwzOSBAQCBzdGF0aWMgYm9vbCBk
aXNwYXRjaFNpbXVsYXRlZEtleWJvYXJkVXBEb3duRXZlbnQoQWNjZXNzaWJpbGl0eU9iamVjdCog
b2JqZWN0LCBjbw0KICAgICANCiAgICAgYm9vbCBoYW5kbGVkID0gZmFsc2U7DQogICAgIGlmIChh
dXRvKiBub2RlID0gb2JqZWN0LT5ub2RlKCkpIHsNCi0gICAgICAgIGF1dG8gZXZlbnQgPSBLZXli
b2FyZEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmtleWRvd25FdmVudCwga2V5SW5pdCk7DQor
ICAgICAgICBhdXRvIGV2ZW50ID0gS2V5Ym9hcmRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5r
ZXlkb3duRXZlbnQsIGtleUluaXQsIEV2ZW50OjpJc1RydXN0ZWQ6Olllcyk7DQogICAgICAgICBu
b2RlLT5kaXNwYXRjaEV2ZW50KGV2ZW50KTsNCiAgICAgICAgIGhhbmRsZWQgfD0gZXZlbnQtPmRl
ZmF1bHRIYW5kbGVkKCk7DQogICAgIH0NCiAgICAgDQogICAgIC8vIEVuc3VyZSBub2RlIGlzIHN0
aWxsIHZhbGlkIGFuZCB3YXNuJ3QgcmVtb3ZlZCBhZnRlciB0aGUga2V5ZG93bi4NCiAgICAgaWYg
KGF1dG8qIG5vZGUgPSBvYmplY3QtPm5vZGUoKSkgew0KLSAgICAgICAgYXV0byBldmVudCA9IEtl
eWJvYXJkRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkua2V5dXBFdmVudCwga2V5SW5pdCk7DQor
ICAgICAgICBhdXRvIGV2ZW50ID0gS2V5Ym9hcmRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5r
ZXl1cEV2ZW50LCBrZXlJbml0LCBFdmVudDo6SXNUcnVzdGVkOjpZZXMpOw0KICAgICAgICAgbm9k
ZS0+ZGlzcGF0Y2hFdmVudChldmVudCk7DQogICAgICAgICBoYW5kbGVkIHw9IGV2ZW50LT5kZWZh
dWx0SGFuZGxlZCgpOw0KICAgICB9DQogICAgIHJldHVybiBoYW5kbGVkOw0KIH0NCiANCitzdGF0
aWMgdm9pZCBJbml0aWFsaXplTGVnYWN5S2V5SW5pdFByb3BlcnRpZXMoS2V5Ym9hcmRFdmVudDo6
SW5pdCAma2V5SW5pdCwgY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQ0KK3sNCisg
ICAga2V5SW5pdC53aGljaCA9IGtleUluaXQua2V5Q29kZTsNCisgICAga2V5SW5pdC5jb2RlID0g
a2V5SW5pdC5rZXk7DQorDQorICAgIGtleUluaXQudmlldyA9IG9iamVjdC5kb2N1bWVudCgpLT53
aW5kb3dQcm94eSgpOw0KKyAgICBrZXlJbml0LmNhbmNlbGFibGUgPSB0cnVlOw0KKyAgICBrZXlJ
bml0LmNvbXBvc2VkID0gdHJ1ZTsNCisgICAga2V5SW5pdC5idWJibGVzID0gdHJ1ZTsNCit9DQor
DQogYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6cGVyZm9ybURpc21pc3NBY3Rpb24oKQ0K
IHsNCiAgICAgYXV0byBrZXlJbml0ID0gS2V5Ym9hcmRFdmVudDo6SW5pdCgpOw0KICAgICBrZXlJ
bml0LmtleSA9ICJFc2NhcGUiX3M7DQogICAgIGtleUluaXQua2V5Q29kZSA9IDB4MWI7DQotICAg
IA0KKyAgICBrZXlJbml0LmtleUlkZW50aWZpZXIgPSAiVSswMDFCIl9zOw0KKyAgICBJbml0aWFs
aXplTGVnYWN5S2V5SW5pdFByb3BlcnRpZXMoa2V5SW5pdCwgKnRoaXMpOw0KKw0KICAgICByZXR1
cm4gZGlzcGF0Y2hTaW11bGF0ZWRLZXlib2FyZFVwRG93bkV2ZW50KHRoaXMsIGtleUluaXQpOw0K
IH0NCiANCkBAIC0xMTM0LDEwICsxMTQ4LDEzIEBAIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3Q6OnBvc3RLZXlib2FyZEtleXNGb3JWYWx1ZUNoYW5nZShib29sIGluY3JlYXNlKQ0KICAgICBi
b29sIHZlcnRpY2FsID0gb3JpZW50YXRpb24oKSA9PSBBY2Nlc3NpYmlsaXR5T3JpZW50YXRpb246
OlZlcnRpY2FsOw0KICAgICBib29sIGlzTFRSID0gcGFnZSgpLT51c2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uKCkgPT0gVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjo6TFRSOw0KICAgICAN
CisgICAgLy8gVGhlIGdvYWwgaXMgdG8gbWltaWMgZXhpc3Rpbmcga2V5Ym9hcmQgZGlzcGF0Y2gg
Y29tcGxldGVseSwgc28gdGhhdCB0aGlzIGlzIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gYSByZWFs
IGtleSBwcmVzcy4NCiAgICAgdHlwZWRlZiBlbnVtIHsgbGVmdCA9IDM3LCB1cCA9IDM4LCByaWdo
dCA9IDM5LCBkb3duID0gNDAgfSBrZXlDb2RlOw0KICAgICBrZXlJbml0LmtleSA9IGluY3JlYXNl
ID8gKHZlcnRpY2FsID8gIkFycm93VXAiX3MgOiAoaXNMVFIgPyAiQXJyb3dSaWdodCJfcyA6ICJB
cnJvd0xlZnQiX3MpKSA6ICh2ZXJ0aWNhbCA/ICJBcnJvd0Rvd24iX3MgOiAoaXNMVFIgPyAiQXJy
b3dMZWZ0Il9zIDogIkFycm93UmlnaHQiX3MpKTsNCiAgICAga2V5SW5pdC5rZXlDb2RlID0gaW5j
cmVhc2UgPyAodmVydGljYWwgPyBrZXlDb2RlOjp1cCA6IChpc0xUUiA/IGtleUNvZGU6OnJpZ2h0
IDoga2V5Q29kZTo6bGVmdCkpIDogKHZlcnRpY2FsID8ga2V5Q29kZTo6ZG93biA6IChpc0xUUiA/
IGtleUNvZGU6OmxlZnQgOiBrZXlDb2RlOjpyaWdodCkpOw0KLSAgICBrZXlJbml0LmtleUlkZW50
aWZpZXIgPSBpbmNyZWFzZSA/ICh2ZXJ0aWNhbCA/ICJ1cCJfcyA6IChpc0xUUiA/ICJyaWdodCJf
cyA6ICJsZWZ0Il9zKSkgOiAodmVydGljYWwgPyAiZG93biJfcyA6IChpc0xUUiA/ICJsZWZ0Il9z
IDogInJpZ2h0Il9zKSk7DQorICAgIGtleUluaXQua2V5SWRlbnRpZmllciA9IGluY3JlYXNlID8g
KHZlcnRpY2FsID8gIlVwIl9zIDogKGlzTFRSID8gIlJpZ2h0Il9zIDogIkxlZnQiX3MpKSA6ICh2
ZXJ0aWNhbCA/ICJEb3duIl9zIDogKGlzTFRSID8gIkxlZnQiX3MgOiAiUmlnaHQiX3MpKTsNCisN
CisgICAgSW5pdGlhbGl6ZUxlZ2FjeUtleUluaXRQcm9wZXJ0aWVzKGtleUluaXQsICp0aGlzKTsN
CiANCiAgICAgcmV0dXJuIGRpc3BhdGNoU2ltdWxhdGVkS2V5Ym9hcmRVcERvd25FdmVudCh0aGlz
LCBrZXlJbml0KTsNCiB9DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJk
RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuY3BwDQppbmRleCA3
ZDU2ZWI2ZjRjZmIuLmI4N2ZmM2ViYmJjNyAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9LZXlib2FyZEV2ZW50LmNwcA0KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZl
bnQuY3BwDQpAQCAtMTIxLDggKzEyMSw4IEBAIGlubGluZSBLZXlib2FyZEV2ZW50OjpLZXlib2Fy
ZEV2ZW50KGNvbnN0IFBsYXRmb3JtS2V5Ym9hcmRFdmVudCYga2V5LCBSZWZQdHI8V2luDQogew0K
IH0NCiANCi1pbmxpbmUgS2V5Ym9hcmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBBdG9tU3Ry
aW5nJiBldmVudFR5cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyKQ0KLSAgICA6IFVJRXZlbnRX
aXRoS2V5U3RhdGUoZXZlbnRUeXBlLCBpbml0aWFsaXplcikNCitpbmxpbmUgS2V5Ym9hcmRFdmVu
dDo6S2V5Ym9hcmRFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IEluaXQm
IGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQ0KKyAgICA6IFVJRXZlbnRXaXRoS2V5
U3RhdGUoZXZlbnRUeXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQ0KICAgICAsIG1fa2V5KGlu
aXRpYWxpemVyLmtleSkNCiAgICAgLCBtX2NvZGUoaW5pdGlhbGl6ZXIuY29kZSkNCiAgICAgLCBt
X2tleUlkZW50aWZpZXIoaW5pdGlhbGl6ZXIua2V5SWRlbnRpZmllcikNCkBAIC0xNDcsOSArMTQ3
LDkgQEAgUmVmPEtleWJvYXJkRXZlbnQ+IEtleWJvYXJkRXZlbnQ6OmNyZWF0ZUZvckJpbmRpbmdz
KCkNCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5Ym9hcmRFdmVudCk7DQogfQ0KIA0KLVJl
ZjxLZXlib2FyZEV2ZW50PiBLZXlib2FyZEV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYg
dHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6ZXIpDQorUmVmPEtleWJvYXJkRXZlbnQ+IEtleWJv
YXJkRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0
aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkNCiB7DQotICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEtleWJvYXJkRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsNCisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgS2V5Ym9hcmRFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7DQog
fQ0KIA0KIHZvaWQgS2V5Ym9hcmRFdmVudDo6aW5pdEtleWJvYXJkRXZlbnQoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUmVmUHRyPFdpbmRv
d1Byb3h5PiYmIHZpZXcsDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJk
RXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmgNCmluZGV4IDhkNWQ5
ZjM4YzQ1MS4uN2I2NWVlYjhhYTY1IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0tl
eWJvYXJkRXZlbnQuaA0KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaA0K
QEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOg0KICAgICAgICAgdW5zaWduZWQgd2hpY2g7DQogICAg
IH07DQogDQotICAgIHN0YXRpYyBSZWY8S2V5Ym9hcmRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21T
dHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmKTsNCisgICAgc3RhdGljIFJlZjxLZXlib2FyZEV2ZW50
PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYsIElzVHJ1c3RlZCA9
IElzVHJ1c3RlZDo6Tm8pOw0KIA0KICAgICB2aXJ0dWFsIH5LZXlib2FyZEV2ZW50KCk7DQogICAg
IA0KQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljOg0KIHByaXZhdGU6DQogICAgIEtleWJvYXJkRXZl
bnQoKTsNCiAgICAgS2V5Ym9hcmRFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmLCBS
ZWZQdHI8V2luZG93UHJveHk+JiYpOw0KLSAgICBLZXlib2FyZEV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmLCBjb25zdCBJbml0Jik7DQorICAgIEtleWJvYXJkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYs
IGNvbnN0IEluaXQmLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5vKTsNCiANCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFBsYXRmb3JtS2V5Ym9hcmRFdmVudD4gbV91bmRlcmx5aW5nUGxhdGZvcm1FdmVu
dDsNCiAgICAgU3RyaW5nIG1fa2V5Ow0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9V
SUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcA0KaW5kZXggYjk5ZTRj
YjI0NjcyLi44NGJlMDU0MDk3YTQgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlF
dmVudC5jcHANCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcA0KQEAgLTQ5LDgg
KzQ5LDggQEAgVUlFdmVudDo6VUlFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIENh
bkJ1YmJsZSBjYW5CdWJibGUsIElzQ2FuY2VsYWJsZQ0KIHsNCiB9DQogDQotVUlFdmVudDo6VUlF
dmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFVJRXZlbnRJbml0JiBpbml0
aWFsaXplcikNCi0gICAgOiBFdmVudChldmVudFR5cGUsIGluaXRpYWxpemVyLCBJc1RydXN0ZWQ6
Ok5vKQ0KK1VJRXZlbnQ6OlVJRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBjb25z
dCBVSUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpDQorICAgIDog
RXZlbnQoZXZlbnRUeXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQ0KICAgICAsIG1fdmlldyhp
bml0aWFsaXplci52aWV3LmdldCgpKQ0KICAgICAsIG1fZGV0YWlsKGluaXRpYWxpemVyLmRldGFp
bCkNCiB7DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmgNCmluZGV4IDlmN2I5NjliM2NmYy4uNGQ3MjEwNTllZTRl
IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaA0KKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1VJRXZlbnQuaA0KQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOg0KICAgICB7
DQogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBVSUV2ZW50KTsNCiAgICAgfQ0KLSAgICBz
dGF0aWMgUmVmPFVJRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBV
SUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpDQorICAgIHN0YXRpYyBSZWY8VUlFdmVudD4gY3JlYXRl
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFVJRXZlbnRJbml0JiBpbml0aWFsaXplciwg
SXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObykNCiAgICAgew0KICAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgVUlFdmVudCh0eXBlLCBpbml0aWFsaXplcikpOw0KICAgICB9DQpAQCAtNjksNyAr
NjksNyBAQCBwcm90ZWN0ZWQ6DQogDQogICAgIFVJRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlw
ZSwgQ2FuQnViYmxlLCBJc0NhbmNlbGFibGUsIElzQ29tcG9zZWQsIFJlZlB0cjxXaW5kb3dQcm94
eT4mJiwgaW50IGRldGFpbCk7DQogICAgIFVJRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwg
Q2FuQnViYmxlLCBJc0NhbmNlbGFibGUsIElzQ29tcG9zZWQsIE1vbm90b25pY1RpbWUgdGltZXN0
YW1wLCBSZWZQdHI8V2luZG93UHJveHk+JiYsIGludCBkZXRhaWwsIElzVHJ1c3RlZCA9IElzVHJ1
c3RlZDo6WWVzKTsNCi0gICAgVUlFdmVudChjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgVUlFdmVu
dEluaXQmKTsNCisgICAgVUlFdmVudChjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgVUlFdmVudElu
aXQmLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5vKTsNCiANCiBwcml2YXRlOg0KICAgICBib29s
IGlzVUlFdmVudCgpIGNvbnN0IGZpbmFsOw0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9VSUV2ZW50V2l0aEtleVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudFdpdGhL
ZXlTdGF0ZS5oDQppbmRleCBkODJlOWFhZjU1YzkuLmU4ODc1ZGMwNDBmZiAxMDA2NDQNCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50V2l0aEtleVN0YXRlLmgNCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9VSUV2ZW50V2l0aEtleVN0YXRlLmgNCkBAIC02Miw4ICs2Miw4IEBAIHByb3Rl
Y3RlZDoNCiAgICAgew0KICAgICB9DQogDQotICAgIFVJRXZlbnRXaXRoS2V5U3RhdGUoY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgY29uc3QgRXZlbnRNb2RpZmllckluaXQmIGluaXRpYWxpemVyKQ0K
LSAgICAgICAgOiBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQ0KKyAgICBVSUV2ZW50V2l0aEtl
eVN0YXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEV2ZW50TW9kaWZpZXJJbml0JiBp
bml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pDQorICAgICAg
ICA6IFVJRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkNCiAgICAgICAgICwgbV9t
b2RpZmllcnMobW9kaWZpZXJzRnJvbUluaXRpYWxpemVyKGluaXRpYWxpemVyKSkNCiAgICAgew0K
ICAgICB9DQo=
</data>
<flag name="commit-queue"
          id="435806"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417987</attachid>
            <date>2021-01-20 12:13:29 -0800</date>
            <delta_ts>2021-01-21 09:26:16 -0800</delta_ts>
            <desc>patch</desc>
            <filename>file_220675.txt</filename>
            <type>text/plain</type>
            <size>19413</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggMzAwMTE1NDg5MTFhLi4zZmVjMDQxZGQ5OGYgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
NCBAQA0KKzIwMjEtMDEtMTkgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBBVC1zeW50aGVzaXplZCBrZXkgZXZlbnRzIGZvciBjb21tb24gdXNl
ciBhY3Rpb25zIChpbmNyZW1lbnQvZGVjcmVtZW50KSBhcmUgZGV0ZWN0YWJseSBkaWZmZXJlbnQg
aW4gbWFueSB3YXlzLCBwb3RlbnRpYWxseSBjYXVzaW5nIGJvdGggd2ViIGFwcCBicmVha2FnZSBh
bmQgQVQgaWRlbnRpZmljYXRpb24NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA2NzUNCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzI2Mzk3Nz4N
CisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4NCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9rZXlldmVudHMt
Zm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWw6IEFkZGVkLg0KKw0KIDIwMjEt
MDEtMTUgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4NCiANCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAyMjQNCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtl
eS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVu
dHMtZm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLWV4cGVjdGVkLnR4dA0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uYjg4MGRmMzBkOGVlDQotLS0gL2Rl
di9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0
aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMtZXhwZWN0ZWQudHh0DQpAQCAtMCwwICsxLDQyIEBA
DQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIGluY3JlbWVudC9kZWNyZW1lbnQgYWN0aW9u
cyBwb3N0IGtleWJvYXJkIGV2ZW50cyB0aGF0IGFwcGVhciBpZGVudGljYWwgdG8gcmVhbCBrZXli
b2FyZCBldmVudHMuDQorDQorT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLg0KKw0KKw0KK1NlbmRp
bmcgQVQgZXZlbnQNCitSZWNlaXZlZCBBVCBldmVudA0KK1NlbmRpbmcgcmVhbCBldmVudA0KK1Jl
Y2VpdmVkIHJlYWwgZXZlbnQNCitQQVNTIHJlYWxLZXlFdmVudC5hbHRHcmFwaEtleSBpcyBhdEtl
eUV2ZW50LmFsdEdyYXBoS2V5DQorUEFTUyByZWFsS2V5RXZlbnQuYWx0S2V5IGlzIGF0S2V5RXZl
bnQuYWx0S2V5DQorUEFTUyByZWFsS2V5RXZlbnQuYnViYmxlcyBpcyBhdEtleUV2ZW50LmJ1YmJs
ZXMNCitQQVNTIHJlYWxLZXlFdmVudC5jYW5jZWxCdWJibGUgaXMgYXRLZXlFdmVudC5jYW5jZWxC
dWJibGUNCitQQVNTIHJlYWxLZXlFdmVudC5jYW5jZWxhYmxlIGlzIGF0S2V5RXZlbnQuY2FuY2Vs
YWJsZQ0KK1BBU1MgcmVhbEtleUV2ZW50LmNoYXJDb2RlIGlzIGF0S2V5RXZlbnQuY2hhckNvZGUN
CitQQVNTIHJlYWxLZXlFdmVudC5jb2RlIGlzIGF0S2V5RXZlbnQuY29kZQ0KK1BBU1MgcmVhbEtl
eUV2ZW50LmNvbXBvc2VkIGlzIGF0S2V5RXZlbnQuY29tcG9zZWQNCitQQVNTIHJlYWxLZXlFdmVu
dC5jdHJsS2V5IGlzIGF0S2V5RXZlbnQuY3RybEtleQ0KK1BBU1MgcmVhbEtleUV2ZW50LmRldGFp
bCBpcyBhdEtleUV2ZW50LmRldGFpbA0KK1BBU1MgcmVhbEtleUV2ZW50LmlzQ29tcG9zaW5nIGlz
IGF0S2V5RXZlbnQuaXNDb21wb3NpbmcNCitQQVNTIHJlYWxLZXlFdmVudC5pc1RydXN0ZWQgaXMg
YXRLZXlFdmVudC5pc1RydXN0ZWQNCitQQVNTIHJlYWxLZXlFdmVudC5rZXkgaXMgYXRLZXlFdmVu
dC5rZXkNCitQQVNTIHJlYWxLZXlFdmVudC5rZXlDb2RlIGlzIGF0S2V5RXZlbnQua2V5Q29kZQ0K
K1BBU1MgcmVhbEtleUV2ZW50LmtleUlkZW50aWZpZXIgaXMgYXRLZXlFdmVudC5rZXlJZGVudGlm
aWVyDQorUEFTUyByZWFsS2V5RXZlbnQubGF5ZXJYIGlzIGF0S2V5RXZlbnQubGF5ZXJYDQorUEFT
UyByZWFsS2V5RXZlbnQubGF5ZXJZIGlzIGF0S2V5RXZlbnQubGF5ZXJZDQorUEFTUyByZWFsS2V5
RXZlbnQubG9jYXRpb24gaXMgYXRLZXlFdmVudC5sb2NhdGlvbg0KK1BBU1MgcmVhbEtleUV2ZW50
Lm1ldGFLZXkgaXMgYXRLZXlFdmVudC5tZXRhS2V5DQorUEFTUyByZWFsS2V5RXZlbnQucGFnZVgg
aXMgYXRLZXlFdmVudC5wYWdlWA0KK1BBU1MgcmVhbEtleUV2ZW50LnBhZ2VZIGlzIGF0S2V5RXZl
bnQucGFnZVkNCitQQVNTIHJlYWxLZXlFdmVudC5yZXBlYXQgaXMgYXRLZXlFdmVudC5yZXBlYXQN
CitQQVNTIHJlYWxLZXlFdmVudC5yZXR1cm5WYWx1ZSBpcyBhdEtleUV2ZW50LnJldHVyblZhbHVl
DQorUEFTUyByZWFsS2V5RXZlbnQuc2hpZnRLZXkgaXMgYXRLZXlFdmVudC5zaGlmdEtleQ0KK1BB
U1MgcmVhbEtleUV2ZW50LnNyY0VsZW1lbnQgaXMgYXRLZXlFdmVudC5zcmNFbGVtZW50DQorUEFT
UyByZWFsS2V5RXZlbnQudGFyZ2V0IGlzIGF0S2V5RXZlbnQudGFyZ2V0DQorUEFTUyByZWFsS2V5
RXZlbnQudHlwZSBpcyBhdEtleUV2ZW50LnR5cGUNCitQQVNTIHJlYWxLZXlFdmVudC53aGljaCBp
cyBhdEtleUV2ZW50LndoaWNoDQorUEFTUyByZWFsS2V5RXZlbnQud2luZG93UHJveHkgaXMgYXRL
ZXlFdmVudC53aW5kb3dQcm94eQ0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUNCisN
CitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9rZXlldmVudHMtZm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtl
eS1ldmVudHMuaHRtbA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4u
ODlmY2JlZTg4OWYwDQotLS0gL2Rldi9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMuaHRtbA0KQEAg
LTAsMCArMSw4NyBAQA0KKzxodG1sPg0KKzxoZWFkPg0KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pg0KKzwvaGVhZD4NCis8Ym9keSBpZD0iYm9keSI+
DQorDQorPGRpdiBpZD0ic2xpZGVyIg0KKyAgICAgICAgICAgcm9sZT0ic2xpZGVyIg0KKyAgICAg
ICAgICAgdGFiaW5kZXg9IjAiDQorICAgICAgICAgICBhcmlhLXZhbHVlbWluPSIwIg0KKyAgICAg
ICAgICAgYXJpYS12YWx1ZW5vdz0iMCINCisgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9IjI1NSIN
CisgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0iaWRSZWQiPjwvZGl2Pg0KKw0KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPg0KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pg0KKw0KKzxzY3JpcHQ+
DQorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgaW5jcmVtZW50
L2RlY3JlbWVudCBhY3Rpb25zIHBvc3Qga2V5Ym9hcmQgZXZlbnRzIHRoYXQgYXBwZWFyIGlkZW50
aWNhbCB0byByZWFsIGtleWJvYXJkIGV2ZW50cy4iKTsNCisNCisgICAgdmFyIGF0S2V5RXZlbnQg
PSAwOw0KKyAgICB2YXIgcmVhbEtleUV2ZW50ID0gMDsNCisgICAgZnVuY3Rpb24gaGFuZGxlS2V5
RG93bihldmVudCkgew0KKyAgICAgICAgaWYgKCFhdEtleUV2ZW50KSB7DQorICAgICAgICAgICAg
YXRLZXlFdmVudCA9IGV2ZW50Ow0KKyAgICAgICAgICAgIGRlYnVnKCJSZWNlaXZlZCBBVCBldmVu
dCIpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgZWxzZSBpZiAoIXJlYWxLZXlFdmVudCkgew0KKyAg
ICAgICAgICAgIHJlYWxLZXlFdmVudCA9IGV2ZW50Ow0KKyAgICAgICAgICAgIGRlYnVnKCJSZWNl
aXZlZCByZWFsIGV2ZW50Iik7DQorICAgICAgICB9DQorDQorICAgICAgICBpZiAocmVhbEtleUV2
ZW50ICYmIGF0S2V5RXZlbnQpIHsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50
LmFsdEdyYXBoS2V5IiwgImF0S2V5RXZlbnQuYWx0R3JhcGhLZXkiKTsNCisgICAgICAgICAgICBz
aG91bGRCZSgicmVhbEtleUV2ZW50LmFsdEtleSIsICJhdEtleUV2ZW50LmFsdEtleSIpOw0KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuYnViYmxlcyIsICJhdEtleUV2ZW50LmJ1
YmJsZXMiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNhbmNlbEJ1YmJs
ZSIsICJhdEtleUV2ZW50LmNhbmNlbEJ1YmJsZSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJy
ZWFsS2V5RXZlbnQuY2FuY2VsYWJsZSIsICJhdEtleUV2ZW50LmNhbmNlbGFibGUiKTsNCisgICAg
ICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNoYXJDb2RlIiwgImF0S2V5RXZlbnQuY2hh
ckNvZGUiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNvZGUiLCAiYXRL
ZXlFdmVudC5jb2RlIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5jb21w
b3NlZCIsICJhdEtleUV2ZW50LmNvbXBvc2VkIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJl
YWxLZXlFdmVudC5jdHJsS2V5IiwgImF0S2V5RXZlbnQuY3RybEtleSIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuZGV0YWlsIiwgImF0S2V5RXZlbnQuZGV0YWlsIik7DQor
ICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5pc0NvbXBvc2luZyIsICJhdEtleUV2
ZW50LmlzQ29tcG9zaW5nIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5p
c1RydXN0ZWQiLCAiYXRLZXlFdmVudC5pc1RydXN0ZWQiKTsNCisgICAgICAgICAgICBzaG91bGRC
ZSgicmVhbEtleUV2ZW50LmtleSIsICJhdEtleUV2ZW50LmtleSIpOw0KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJyZWFsS2V5RXZlbnQua2V5Q29kZSIsICJhdEtleUV2ZW50LmtleUNvZGUiKTsNCisg
ICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmtleUlkZW50aWZpZXIiLCAiYXRLZXlF
dmVudC5rZXlJZGVudGlmaWVyIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVu
dC5sYXllclgiLCAiYXRLZXlFdmVudC5sYXllclgiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgi
cmVhbEtleUV2ZW50LmxheWVyWSIsICJhdEtleUV2ZW50LmxheWVyWSIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQubG9jYXRpb24iLCAiYXRLZXlFdmVudC5sb2NhdGlvbiIp
Ow0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQubWV0YUtleSIsICJhdEtleUV2
ZW50Lm1ldGFLZXkiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LnBhZ2VY
IiwgImF0S2V5RXZlbnQucGFnZVgiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2
ZW50LnBhZ2VZIiwgImF0S2V5RXZlbnQucGFnZVkiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgi
cmVhbEtleUV2ZW50LnJlcGVhdCIsICJhdEtleUV2ZW50LnJlcGVhdCIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQucmV0dXJuVmFsdWUiLCAiYXRLZXlFdmVudC5yZXR1cm5W
YWx1ZSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuc2hpZnRLZXkiLCAi
YXRLZXlFdmVudC5zaGlmdEtleSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZl
bnQuc3JjRWxlbWVudCIsICJhdEtleUV2ZW50LnNyY0VsZW1lbnQiKTsNCisgICAgICAgICAgICBz
aG91bGRCZSgicmVhbEtleUV2ZW50LnRhcmdldCIsICJhdEtleUV2ZW50LnRhcmdldCIpOw0KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQudHlwZSIsICJhdEtleUV2ZW50LnR5cGUi
KTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LndoaWNoIiwgImF0S2V5RXZl
bnQud2hpY2giKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LndpbmRvd1By
b3h5IiwgImF0S2V5RXZlbnQud2luZG93UHJveHkiKTsNCisgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7DQorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7DQor
DQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2xpZGVyIikuYWRkRXZlbnRMaXN0
ZW5lcigna2V5ZG93bicsIGhhbmRsZUtleURvd24pOw0KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInNsaWRlciIpLmZvY3VzKCk7DQorICAgICAgICANCisgICAgICAgIC8vIEdldCB0
aGUgcGFyZW50IGVsZW1lbnQuDQorICAgICAgICB2YXIgYXhTbGlkZXIgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInNsaWRlciIpOw0KKw0KKyAgICAgICAg
Ly8gR2VuZXJhdGUgYSBBVCBiYXNlZCBrZXkgZXZlbnQuDQorICAgICAgICBkZWJ1ZygiU2VuZGlu
ZyBBVCBldmVudCIpOw0KKyAgICAgICAgYXhTbGlkZXIuaW5jcmVtZW50KCk7DQorDQorICAgICAg
ICAvLyBHZW5lcmF0ZSBhIHJlYWwga2V5IGV2ZW50Lg0KKyAgICAgICAgZGVidWcoIlNlbmRpbmcg
cmVhbCBldmVudCIpOw0KKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigicmlnaHRBcnJvdyIp
Ow0KKyAgICB9DQorPC9zY3JpcHQ+DQorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdp
dGgtbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
a2V5ZXZlbnRzLWZvci1pbmNyZW1lbnQtYWN0aW9ucy13aXRoLW5vZGUtcmVtb3ZhbC1leHBlY3Rl
ZC50eHQNCmluZGV4IGRiM2M5NGY5NjhmMi4uYzZhYzRlNTliZWRkIDEwMDY0NA0KLS0tIGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdp
dGgtbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdpdGgtbm9kZS1yZW1vdmFsLWV4
cGVjdGVkLnR4dA0KQEAgLTMsNyArMyw3IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIGlmIGEga2V5
ZG93biBldmVudCByZW1vdmVzIHRoZSBub2RlLCBiYWQgdGhpbmdzIGRvbid0IGhhcHBlDQogT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLg0KIA0KIA0KLUtleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZp
ZXI6IHJpZ2h0IGtleSBuYW1lOiBBcnJvd1JpZ2h0DQorS2V5Y29kZSByZWNlaXZlZDogaWRlbnRp
ZmllcjogUmlnaHQga2V5IG5hbWU6IEFycm93UmlnaHQNCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlDQogDQogVEVTVCBDT01QTEVURQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkva2V5ZXZlbnRzLXBvc3RlZC1mb3ItaW5jcmVtZW50LWFjdGlvbnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtcG9zdGVkLWZvci1p
bmNyZW1lbnQtYWN0aW9ucy1leHBlY3RlZC50eHQNCmluZGV4IGRmMjJjOTIzZDMwMC4uZDQwYzI5
ZDcwNzg1IDEwMDY0NA0KLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMt
cG9zdGVkLWZvci1pbmNyZW1lbnQtYWN0aW9ucy1leHBlY3RlZC50eHQNCisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkva2V5ZXZlbnRzLXBvc3RlZC1mb3ItaW5jcmVtZW50LWFjdGlvbnMt
ZXhwZWN0ZWQudHh0DQpAQCAtNSwxOCArNSwxOCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQ0K
IA0KIEluY3JlbWVudC9EZWNyZW1lbnQgLSBMVFINCiBIb3Jpem9udGFsIG9yaWVudGF0aW9uDQot
S2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjogcmlnaHQga2V5IG5hbWU6IEFycm93UmlnaHQg
a2V5IGNvZGU6IDM5DQotS2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjogbGVmdCBrZXkgbmFt
ZTogQXJyb3dMZWZ0IGtleSBjb2RlOiAzNw0KK0tleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZpZXI6
IFJpZ2h0IGtleSBuYW1lOiBBcnJvd1JpZ2h0IGtleSBjb2RlOiAzOQ0KK0tleWNvZGUgcmVjZWl2
ZWQ6IGlkZW50aWZpZXI6IExlZnQga2V5IG5hbWU6IEFycm93TGVmdCBrZXkgY29kZTogMzcNCiBW
ZXJ0aWNhbCBvcmllbnRhdGlvbg0KLUtleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZpZXI6IHVwIGtl
eSBuYW1lOiBBcnJvd1VwIGtleSBjb2RlOiAzOA0KLUtleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZp
ZXI6IGRvd24ga2V5IG5hbWU6IEFycm93RG93biBrZXkgY29kZTogNDANCitLZXljb2RlIHJlY2Vp
dmVkOiBpZGVudGlmaWVyOiBVcCBrZXkgbmFtZTogQXJyb3dVcCBrZXkgY29kZTogMzgNCitLZXlj
b2RlIHJlY2VpdmVkOiBpZGVudGlmaWVyOiBEb3duIGtleSBuYW1lOiBBcnJvd0Rvd24ga2V5IGNv
ZGU6IDQwDQogSW5jcmVtZW50L0RlY3JlbWVudCAtIFJUTA0KIEhvcml6b250YWwgb3JpZW50YXRp
b24NCi1LZXljb2RlIHJlY2VpdmVkOiBpZGVudGlmaWVyOiBsZWZ0IGtleSBuYW1lOiBBcnJvd0xl
ZnQga2V5IGNvZGU6IDM3DQotS2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjogcmlnaHQga2V5
IG5hbWU6IEFycm93UmlnaHQga2V5IGNvZGU6IDM5DQorS2V5Y29kZSByZWNlaXZlZDogaWRlbnRp
ZmllcjogTGVmdCBrZXkgbmFtZTogQXJyb3dMZWZ0IGtleSBjb2RlOiAzNw0KK0tleWNvZGUgcmVj
ZWl2ZWQ6IGlkZW50aWZpZXI6IFJpZ2h0IGtleSBuYW1lOiBBcnJvd1JpZ2h0IGtleSBjb2RlOiAz
OQ0KIFZlcnRpY2FsIG9yaWVudGF0aW9uDQotS2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjog
dXAga2V5IG5hbWU6IEFycm93VXAga2V5IGNvZGU6IDM4DQotS2V5Y29kZSByZWNlaXZlZDogaWRl
bnRpZmllcjogZG93biBrZXkgbmFtZTogQXJyb3dEb3duIGtleSBjb2RlOiA0MA0KK0tleWNvZGUg
cmVjZWl2ZWQ6IGlkZW50aWZpZXI6IFVwIGtleSBuYW1lOiBBcnJvd1VwIGtleSBjb2RlOiAzOA0K
K0tleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZpZXI6IERvd24ga2V5IG5hbWU6IEFycm93RG93biBr
ZXkgY29kZTogNDANCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlDQogDQogVEVTVCBD
T01QTEVURQ0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZw0KaW5kZXggYzNhYzZhNjcwMDZhLi41YThlMjFkZmUxZTIgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZw0KQEAgLTEsMyArMSwzNCBAQA0KKzIwMjEtMDEtMTkgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBBVC1zeW50aGVzaXplZCBrZXkg
ZXZlbnRzIGZvciBjb21tb24gdXNlciBhY3Rpb25zIChpbmNyZW1lbnQvZGVjcmVtZW50KSBhcmUg
ZGV0ZWN0YWJseSBkaWZmZXJlbnQgaW4gbWFueSB3YXlzLCBwb3RlbnRpYWxseSBjYXVzaW5nIGJv
dGggd2ViIGFwcCBicmVha2FnZSBhbmQgQVQgaWRlbnRpZmljYXRpb24NCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA2NzUNCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MzI2Mzk3Nz4NCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLg0KKw0KKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtZm9yLWFjdGlv
bnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWwNCisNCisgICAgICAgIFdoZW4gYWNjZXNzaWJp
bGl0eSBwb3N0cyBrZXlib2FyZCBldmVudHMgaW4gcmVzcG9uc2UgdG8gYXggYWN0aW9ucywgdGhl
eSBzaG91bGQgbWltaWMNCisgICAgICAgIHJlYWwga2V5IGV2ZW50cyBzbyBhcyB0byBiZSBpbmRp
c3Rpbmd1aXNoYWJsZS4NCisNCisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2FvbS9i
bG9iL2doLXBhZ2VzL2V4cGxhaW5lci5tZCNkZXByZWNhdGVkLWtleWJvYXJkZXZlbnQtb2JqZWN0
LXByb3BlcnRpZXMtb3B0aW9uYWwNCisNCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHA6DQorICAgICAgICAoV2ViQ29yZTo6ZGlzcGF0Y2hTaW11bGF0
ZWRLZXlib2FyZFVwRG93bkV2ZW50KToNCisgICAgICAgIChXZWJDb3JlOjpJbml0aWFsaXplTGVn
YWN5S2V5SW5pdFByb3BlcnRpZXMpOg0KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0OjpwZXJmb3JtRGlzbWlzc0FjdGlvbik6DQorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnBvc3RLZXlib2FyZEtleXNGb3JWYWx1ZUNoYW5nZSk6DQor
ICAgICAgICAqIGRvbS9LZXlib2FyZEV2ZW50LmNwcDoNCisgICAgICAgIChXZWJDb3JlOjpLZXli
b2FyZEV2ZW50OjpLZXlib2FyZEV2ZW50KToNCisgICAgICAgIChXZWJDb3JlOjpLZXlib2FyZEV2
ZW50OjpjcmVhdGUpOg0KKyAgICAgICAgKiBkb20vS2V5Ym9hcmRFdmVudC5oOg0KKyAgICAgICAg
KiBkb20vVUlFdmVudC5jcHA6DQorICAgICAgICAoV2ViQ29yZTo6VUlFdmVudDo6VUlFdmVudCk6
DQorICAgICAgICAqIGRvbS9VSUV2ZW50Lmg6DQorICAgICAgICAoV2ViQ29yZTo6VUlFdmVudDo6
Y3JlYXRlKToNCisgICAgICAgICogZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaDoNCisgICAgICAg
IChXZWJDb3JlOjpVSUV2ZW50V2l0aEtleVN0YXRlOjpVSUV2ZW50V2l0aEtleVN0YXRlKToNCisN
CiAyMDIxLTAxLTE2ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29t
Pg0KIA0KICAgICAgICAgU2VwYXJhdGUgc2Nyb2xsaW5nIGNvZGUgb3V0IG9mIFJlbmRlckxheWVy
DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlOb2RlT2JqZWN0LmNwcA0KaW5kZXggMGZmMGQ0NGE5NmZkLi5kYjM2MzQwMTcyZTcgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcA0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHANCkBAIC0zOCw2ICszOCw3IEBADQogI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlUYWJsZS5oIg0KICNpbmNsdWRlICJFZGl0aW5nLmgiDQogI2luY2x1ZGUgIkVsZW1lbnRJdGVy
YXRvci5oIg0KKyNpbmNsdWRlICJFdmVudC5oIg0KICNpbmNsdWRlICJFdmVudE5hbWVzLmgiDQog
I2luY2x1ZGUgIkZsb2F0UmVjdC5oIg0KICNpbmNsdWRlICJGcmFtZS5oIg0KQEAgLTExMDQsMjYg
KzExMDUsMzkgQEAgc3RhdGljIGJvb2wgZGlzcGF0Y2hTaW11bGF0ZWRLZXlib2FyZFVwRG93bkV2
ZW50KEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCwgY28NCiAgICAgDQogICAgIGJvb2wgaGFu
ZGxlZCA9IGZhbHNlOw0KICAgICBpZiAoYXV0byogbm9kZSA9IG9iamVjdC0+bm9kZSgpKSB7DQot
ICAgICAgICBhdXRvIGV2ZW50ID0gS2V5Ym9hcmRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5r
ZXlkb3duRXZlbnQsIGtleUluaXQpOw0KKyAgICAgICAgYXV0byBldmVudCA9IEtleWJvYXJkRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50LCBrZXlJbml0LCBFdmVudDo6SXNU
cnVzdGVkOjpZZXMpOw0KICAgICAgICAgbm9kZS0+ZGlzcGF0Y2hFdmVudChldmVudCk7DQogICAg
ICAgICBoYW5kbGVkIHw9IGV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpOw0KICAgICB9DQogICAgIA0K
ICAgICAvLyBFbnN1cmUgbm9kZSBpcyBzdGlsbCB2YWxpZCBhbmQgd2Fzbid0IHJlbW92ZWQgYWZ0
ZXIgdGhlIGtleWRvd24uDQogICAgIGlmIChhdXRvKiBub2RlID0gb2JqZWN0LT5ub2RlKCkpIHsN
Ci0gICAgICAgIGF1dG8gZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LmtleXVwRXZlbnQsIGtleUluaXQpOw0KKyAgICAgICAgYXV0byBldmVudCA9IEtleWJvYXJkRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkua2V5dXBFdmVudCwga2V5SW5pdCwgRXZlbnQ6OklzVHJ1
c3RlZDo6WWVzKTsNCiAgICAgICAgIG5vZGUtPmRpc3BhdGNoRXZlbnQoZXZlbnQpOw0KICAgICAg
ICAgaGFuZGxlZCB8PSBldmVudC0+ZGVmYXVsdEhhbmRsZWQoKTsNCiAgICAgfQ0KICAgICByZXR1
cm4gaGFuZGxlZDsNCiB9DQogDQorc3RhdGljIHZvaWQgSW5pdGlhbGl6ZUxlZ2FjeUtleUluaXRQ
cm9wZXJ0aWVzKEtleWJvYXJkRXZlbnQ6OkluaXQgJmtleUluaXQsIGNvbnN0IEFjY2Vzc2liaWxp
dHlPYmplY3QmIG9iamVjdCkNCit7DQorICAgIGtleUluaXQud2hpY2ggPSBrZXlJbml0LmtleUNv
ZGU7DQorICAgIGtleUluaXQuY29kZSA9IGtleUluaXQua2V5Ow0KKw0KKyAgICBrZXlJbml0LnZp
ZXcgPSBvYmplY3QuZG9jdW1lbnQoKS0+d2luZG93UHJveHkoKTsNCisgICAga2V5SW5pdC5jYW5j
ZWxhYmxlID0gdHJ1ZTsNCisgICAga2V5SW5pdC5jb21wb3NlZCA9IHRydWU7DQorICAgIGtleUlu
aXQuYnViYmxlcyA9IHRydWU7DQorfQ0KKw0KIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OnBlcmZvcm1EaXNtaXNzQWN0aW9uKCkNCiB7DQogICAgIGF1dG8ga2V5SW5pdCA9IEtleWJvYXJk
RXZlbnQ6OkluaXQoKTsNCiAgICAga2V5SW5pdC5rZXkgPSAiRXNjYXBlIl9zOw0KICAgICBrZXlJ
bml0LmtleUNvZGUgPSAweDFiOw0KLSAgICANCisgICAga2V5SW5pdC5rZXlJZGVudGlmaWVyID0g
IlUrMDAxQiJfczsNCisgICAgSW5pdGlhbGl6ZUxlZ2FjeUtleUluaXRQcm9wZXJ0aWVzKGtleUlu
aXQsICp0aGlzKTsNCisNCiAgICAgcmV0dXJuIGRpc3BhdGNoU2ltdWxhdGVkS2V5Ym9hcmRVcERv
d25FdmVudCh0aGlzLCBrZXlJbml0KTsNCiB9DQogDQpAQCAtMTEzNCwxMCArMTE0OCwxMyBAQCBi
b29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpwb3N0S2V5Ym9hcmRLZXlzRm9yVmFsdWVDaGFu
Z2UoYm9vbCBpbmNyZWFzZSkNCiAgICAgYm9vbCB2ZXJ0aWNhbCA9IG9yaWVudGF0aW9uKCkgPT0g
QWNjZXNzaWJpbGl0eU9yaWVudGF0aW9uOjpWZXJ0aWNhbDsNCiAgICAgYm9vbCBpc0xUUiA9IHBh
Z2UoKS0+dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpID09IFVzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb246OkxUUjsNCiAgICAgDQorICAgIC8vIFRoZSBnb2FsIGlzIHRvIG1pbWljIGV4
aXN0aW5nIGtleWJvYXJkIGRpc3BhdGNoIGNvbXBsZXRlbHksIHNvIHRoYXQgdGhpcyBpcyBpbmRp
c3Rpbmd1aXNoYWJsZSBmcm9tIGEgcmVhbCBrZXkgcHJlc3MuDQogICAgIHR5cGVkZWYgZW51bSB7
IGxlZnQgPSAzNywgdXAgPSAzOCwgcmlnaHQgPSAzOSwgZG93biA9IDQwIH0ga2V5Q29kZTsNCiAg
ICAga2V5SW5pdC5rZXkgPSBpbmNyZWFzZSA/ICh2ZXJ0aWNhbCA/ICJBcnJvd1VwIl9zIDogKGlz
TFRSID8gIkFycm93UmlnaHQiX3MgOiAiQXJyb3dMZWZ0Il9zKSkgOiAodmVydGljYWwgPyAiQXJy
b3dEb3duIl9zIDogKGlzTFRSID8gIkFycm93TGVmdCJfcyA6ICJBcnJvd1JpZ2h0Il9zKSk7DQog
ICAgIGtleUluaXQua2V5Q29kZSA9IGluY3JlYXNlID8gKHZlcnRpY2FsID8ga2V5Q29kZTo6dXAg
OiAoaXNMVFIgPyBrZXlDb2RlOjpyaWdodCA6IGtleUNvZGU6OmxlZnQpKSA6ICh2ZXJ0aWNhbCA/
IGtleUNvZGU6OmRvd24gOiAoaXNMVFIgPyBrZXlDb2RlOjpsZWZ0IDoga2V5Q29kZTo6cmlnaHQp
KTsNCi0gICAga2V5SW5pdC5rZXlJZGVudGlmaWVyID0gaW5jcmVhc2UgPyAodmVydGljYWwgPyAi
dXAiX3MgOiAoaXNMVFIgPyAicmlnaHQiX3MgOiAibGVmdCJfcykpIDogKHZlcnRpY2FsID8gImRv
d24iX3MgOiAoaXNMVFIgPyAibGVmdCJfcyA6ICJyaWdodCJfcykpOw0KKyAgICBrZXlJbml0Lmtl
eUlkZW50aWZpZXIgPSBpbmNyZWFzZSA/ICh2ZXJ0aWNhbCA/ICJVcCJfcyA6IChpc0xUUiA/ICJS
aWdodCJfcyA6ICJMZWZ0Il9zKSkgOiAodmVydGljYWwgPyAiRG93biJfcyA6IChpc0xUUiA/ICJM
ZWZ0Il9zIDogIlJpZ2h0Il9zKSk7DQorDQorICAgIEluaXRpYWxpemVMZWdhY3lLZXlJbml0UHJv
cGVydGllcyhrZXlJbml0LCAqdGhpcyk7DQogDQogICAgIHJldHVybiBkaXNwYXRjaFNpbXVsYXRl
ZEtleWJvYXJkVXBEb3duRXZlbnQodGhpcywga2V5SW5pdCk7DQogfQ0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9L
ZXlib2FyZEV2ZW50LmNwcA0KaW5kZXggN2Q1NmViNmY0Y2ZiLi5iODdmZjNlYmJiYzcgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5jcHANCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmNwcA0KQEAgLTEyMSw4ICsxMjEsOCBAQCBpbmxp
bmUgS2V5Ym9hcmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZl
bnQmIGtleSwgUmVmUHRyPFdpbg0KIHsNCiB9DQogDQotaW5saW5lIEtleWJvYXJkRXZlbnQ6Oktl
eWJvYXJkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBJbml0JiBpbml0
aWFsaXplcikNCi0gICAgOiBVSUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50VHlwZSwgaW5pdGlhbGl6
ZXIpDQoraW5saW5lIEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3Rl
ZCkNCisgICAgOiBVSUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIsIGlz
VHJ1c3RlZCkNCiAgICAgLCBtX2tleShpbml0aWFsaXplci5rZXkpDQogICAgICwgbV9jb2RlKGlu
aXRpYWxpemVyLmNvZGUpDQogICAgICwgbV9rZXlJZGVudGlmaWVyKGluaXRpYWxpemVyLmtleUlk
ZW50aWZpZXIpDQpAQCAtMTQ3LDkgKzE0Nyw5IEBAIFJlZjxLZXlib2FyZEV2ZW50PiBLZXlib2Fy
ZEV2ZW50OjpjcmVhdGVGb3JCaW5kaW5ncygpDQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEtl
eWJvYXJkRXZlbnQpOw0KIH0NCiANCi1SZWY8S2V5Ym9hcmRFdmVudD4gS2V5Ym9hcmRFdmVudDo6
Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyKQ0K
K1JlZjxLZXlib2FyZEV2ZW50PiBLZXlib2FyZEV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmlu
ZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpDQog
ew0KLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBLZXlib2FyZEV2ZW50KHR5cGUsIGluaXRpYWxp
emVyKSk7DQorICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEtleWJvYXJkRXZlbnQodHlwZSwgaW5p
dGlhbGl6ZXIsIGlzVHJ1c3RlZCkpOw0KIH0NCiANCiB2b2lkIEtleWJvYXJkRXZlbnQ6OmluaXRL
ZXlib2FyZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29s
IGNhbmNlbGFibGUsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LA0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5
Ym9hcmRFdmVudC5oDQppbmRleCA4ZDVkOWYzOGM0NTEuLjdiNjVlZWI4YWE2NSAxMDA2NDQNCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmgNCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9LZXlib2FyZEV2ZW50LmgNCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoNCiAgICAg
ICAgIHVuc2lnbmVkIHdoaWNoOw0KICAgICB9Ow0KIA0KLSAgICBzdGF0aWMgUmVmPEtleWJvYXJk
RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0Jik7DQorICAg
IHN0YXRpYyBSZWY8S2V5Ym9hcmRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IGNvbnN0IEluaXQmLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5vKTsNCiANCiAgICAgdmlydHVh
bCB+S2V5Ym9hcmRFdmVudCgpOw0KICAgICANCkBAIC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoNCiBw
cml2YXRlOg0KICAgICBLZXlib2FyZEV2ZW50KCk7DQogICAgIEtleWJvYXJkRXZlbnQoY29uc3Qg
UGxhdGZvcm1LZXlib2FyZEV2ZW50JiwgUmVmUHRyPFdpbmRvd1Byb3h5PiYmKTsNCi0gICAgS2V5
Ym9hcmRFdmVudChjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgSW5pdCYpOw0KKyAgICBLZXlib2Fy
ZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBJbml0JiwgSXNUcnVzdGVkID0gSXNUcnVz
dGVkOjpObyk7DQogDQogICAgIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybUtleWJvYXJkRXZlbnQ+
IG1fdW5kZXJseWluZ1BsYXRmb3JtRXZlbnQ7DQogICAgIFN0cmluZyBtX2tleTsNCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
VUlFdmVudC5jcHANCmluZGV4IGI5OWU0Y2IyNDY3Mi4uODRiZTA1NDA5N2E0IDEwMDY0NA0KLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVUlFdmVudC5jcHANCkBAIC00OSw4ICs0OSw4IEBAIFVJRXZlbnQ6OlVJRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUN
CiB7DQogfQ0KIA0KLVVJRXZlbnQ6OlVJRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBjb25zdCBVSUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpDQotICAgIDogRXZlbnQoZXZlbnRUeXBl
LCBpbml0aWFsaXplciwgSXNUcnVzdGVkOjpObykNCitVSUV2ZW50OjpVSUV2ZW50KGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgVUlFdmVudEluaXQmIGluaXRpYWxpemVyLCBJc1Ry
dXN0ZWQgaXNUcnVzdGVkKQ0KKyAgICA6IEV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIsIGlz
VHJ1c3RlZCkNCiAgICAgLCBtX3ZpZXcoaW5pdGlhbGl6ZXIudmlldy5nZXQoKSkNCiAgICAgLCBt
X2RldGFpbChpbml0aWFsaXplci5kZXRhaWwpDQogew0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9VSUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oDQppbmRleCA5
ZjdiOTY5YjNjZmMuLjRkNzIxMDU5ZWU0ZSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9VSUV2ZW50LmgNCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmgNCkBAIC00Myw3
ICs0Myw3IEBAIHB1YmxpYzoNCiAgICAgew0KICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
VUlFdmVudCk7DQogICAgIH0NCi0gICAgc3RhdGljIFJlZjxVSUV2ZW50PiBjcmVhdGUoY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgY29uc3QgVUlFdmVudEluaXQmIGluaXRpYWxpemVyKQ0KKyAgICBz
dGF0aWMgUmVmPFVJRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBV
SUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pDQogICAg
IHsNCiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVJRXZlbnQodHlwZSwgaW5pdGlhbGl6
ZXIpKTsNCiAgICAgfQ0KQEAgLTY5LDcgKzY5LDcgQEAgcHJvdGVjdGVkOg0KIA0KICAgICBVSUV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0Nv
bXBvc2VkLCBSZWZQdHI8V2luZG93UHJveHk+JiYsIGludCBkZXRhaWwpOw0KICAgICBVSUV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0NvbXBv
c2VkLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgUmVmUHRyPFdpbmRvd1Byb3h5PiYmLCBpbnQg
ZGV0YWlsLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Olllcyk7DQotICAgIFVJRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYsIGNvbnN0IFVJRXZlbnRJbml0Jik7DQorICAgIFVJRXZlbnQoY29uc3QgQXRv
bVN0cmluZyYsIGNvbnN0IFVJRXZlbnRJbml0JiwgSXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObyk7
DQogDQogcHJpdmF0ZToNCiAgICAgYm9vbCBpc1VJRXZlbnQoKSBjb25zdCBmaW5hbDsNCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudFdpdGhLZXlTdGF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaA0KaW5kZXggZDgyZTlhYWY1NWM5Li5l
ODg3NWRjMDQwZmYgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudFdpdGhL
ZXlTdGF0ZS5oDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudFdpdGhLZXlTdGF0ZS5o
DQpAQCAtNjIsOCArNjIsOCBAQCBwcm90ZWN0ZWQ6DQogICAgIHsNCiAgICAgfQ0KIA0KLSAgICBV
SUV2ZW50V2l0aEtleVN0YXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEV2ZW50TW9k
aWZpZXJJbml0JiBpbml0aWFsaXplcikNCi0gICAgICAgIDogVUlFdmVudCh0eXBlLCBpbml0aWFs
aXplcikNCisgICAgVUlFdmVudFdpdGhLZXlTdGF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBj
b25zdCBFdmVudE1vZGlmaWVySW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQg
PSBJc1RydXN0ZWQ6Ok5vKQ0KKyAgICAgICAgOiBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBp
c1RydXN0ZWQpDQogICAgICAgICAsIG1fbW9kaWZpZXJzKG1vZGlmaWVyc0Zyb21Jbml0aWFsaXpl
cihpbml0aWFsaXplcikpDQogICAgIHsNCiAgICAgfQ0K
</data>
<flag name="commit-queue"
          id="435842"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418049</attachid>
            <date>2021-01-21 09:26:16 -0800</date>
            <delta_ts>2021-01-21 10:44:56 -0800</delta_ts>
            <desc>patch</desc>
            <filename>file_220675.txt</filename>
            <type>text/plain</type>
            <size>19413</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggMzAwMTE1NDg5MTFhLi4zZmVjMDQxZGQ5OGYgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
NCBAQA0KKzIwMjEtMDEtMTkgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBBVC1zeW50aGVzaXplZCBrZXkgZXZlbnRzIGZvciBjb21tb24gdXNl
ciBhY3Rpb25zIChpbmNyZW1lbnQvZGVjcmVtZW50KSBhcmUgZGV0ZWN0YWJseSBkaWZmZXJlbnQg
aW4gbWFueSB3YXlzLCBwb3RlbnRpYWxseSBjYXVzaW5nIGJvdGggd2ViIGFwcCBicmVha2FnZSBh
bmQgQVQgaWRlbnRpZmljYXRpb24NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA2NzUNCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzI2Mzk3Nz4N
CisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4NCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9rZXlldmVudHMt
Zm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWw6IEFkZGVkLg0KKw0KIDIwMjEt
MDEtMTUgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4NCiANCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAyMjQNCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtl
eS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVu
dHMtZm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLWV4cGVjdGVkLnR4dA0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uYjg4MGRmMzBkOGVlDQotLS0gL2Rl
di9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0
aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMtZXhwZWN0ZWQudHh0DQpAQCAtMCwwICsxLDQyIEBA
DQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIGluY3JlbWVudC9kZWNyZW1lbnQgYWN0aW9u
cyBwb3N0IGtleWJvYXJkIGV2ZW50cyB0aGF0IGFwcGVhciBpZGVudGljYWwgdG8gcmVhbCBrZXli
b2FyZCBldmVudHMuDQorDQorT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLg0KKw0KKw0KK1NlbmRp
bmcgQVQgZXZlbnQNCitSZWNlaXZlZCBBVCBldmVudA0KK1NlbmRpbmcgcmVhbCBldmVudA0KK1Jl
Y2VpdmVkIHJlYWwgZXZlbnQNCitQQVNTIHJlYWxLZXlFdmVudC5hbHRHcmFwaEtleSBpcyBhdEtl
eUV2ZW50LmFsdEdyYXBoS2V5DQorUEFTUyByZWFsS2V5RXZlbnQuYWx0S2V5IGlzIGF0S2V5RXZl
bnQuYWx0S2V5DQorUEFTUyByZWFsS2V5RXZlbnQuYnViYmxlcyBpcyBhdEtleUV2ZW50LmJ1YmJs
ZXMNCitQQVNTIHJlYWxLZXlFdmVudC5jYW5jZWxCdWJibGUgaXMgYXRLZXlFdmVudC5jYW5jZWxC
dWJibGUNCitQQVNTIHJlYWxLZXlFdmVudC5jYW5jZWxhYmxlIGlzIGF0S2V5RXZlbnQuY2FuY2Vs
YWJsZQ0KK1BBU1MgcmVhbEtleUV2ZW50LmNoYXJDb2RlIGlzIGF0S2V5RXZlbnQuY2hhckNvZGUN
CitQQVNTIHJlYWxLZXlFdmVudC5jb2RlIGlzIGF0S2V5RXZlbnQuY29kZQ0KK1BBU1MgcmVhbEtl
eUV2ZW50LmNvbXBvc2VkIGlzIGF0S2V5RXZlbnQuY29tcG9zZWQNCitQQVNTIHJlYWxLZXlFdmVu
dC5jdHJsS2V5IGlzIGF0S2V5RXZlbnQuY3RybEtleQ0KK1BBU1MgcmVhbEtleUV2ZW50LmRldGFp
bCBpcyBhdEtleUV2ZW50LmRldGFpbA0KK1BBU1MgcmVhbEtleUV2ZW50LmlzQ29tcG9zaW5nIGlz
IGF0S2V5RXZlbnQuaXNDb21wb3NpbmcNCitQQVNTIHJlYWxLZXlFdmVudC5pc1RydXN0ZWQgaXMg
YXRLZXlFdmVudC5pc1RydXN0ZWQNCitQQVNTIHJlYWxLZXlFdmVudC5rZXkgaXMgYXRLZXlFdmVu
dC5rZXkNCitQQVNTIHJlYWxLZXlFdmVudC5rZXlDb2RlIGlzIGF0S2V5RXZlbnQua2V5Q29kZQ0K
K1BBU1MgcmVhbEtleUV2ZW50LmtleUlkZW50aWZpZXIgaXMgYXRLZXlFdmVudC5rZXlJZGVudGlm
aWVyDQorUEFTUyByZWFsS2V5RXZlbnQubGF5ZXJYIGlzIGF0S2V5RXZlbnQubGF5ZXJYDQorUEFT
UyByZWFsS2V5RXZlbnQubGF5ZXJZIGlzIGF0S2V5RXZlbnQubGF5ZXJZDQorUEFTUyByZWFsS2V5
RXZlbnQubG9jYXRpb24gaXMgYXRLZXlFdmVudC5sb2NhdGlvbg0KK1BBU1MgcmVhbEtleUV2ZW50
Lm1ldGFLZXkgaXMgYXRLZXlFdmVudC5tZXRhS2V5DQorUEFTUyByZWFsS2V5RXZlbnQucGFnZVgg
aXMgYXRLZXlFdmVudC5wYWdlWA0KK1BBU1MgcmVhbEtleUV2ZW50LnBhZ2VZIGlzIGF0S2V5RXZl
bnQucGFnZVkNCitQQVNTIHJlYWxLZXlFdmVudC5yZXBlYXQgaXMgYXRLZXlFdmVudC5yZXBlYXQN
CitQQVNTIHJlYWxLZXlFdmVudC5yZXR1cm5WYWx1ZSBpcyBhdEtleUV2ZW50LnJldHVyblZhbHVl
DQorUEFTUyByZWFsS2V5RXZlbnQuc2hpZnRLZXkgaXMgYXRLZXlFdmVudC5zaGlmdEtleQ0KK1BB
U1MgcmVhbEtleUV2ZW50LnNyY0VsZW1lbnQgaXMgYXRLZXlFdmVudC5zcmNFbGVtZW50DQorUEFT
UyByZWFsS2V5RXZlbnQudGFyZ2V0IGlzIGF0S2V5RXZlbnQudGFyZ2V0DQorUEFTUyByZWFsS2V5
RXZlbnQudHlwZSBpcyBhdEtleUV2ZW50LnR5cGUNCitQQVNTIHJlYWxLZXlFdmVudC53aGljaCBp
cyBhdEtleUV2ZW50LndoaWNoDQorUEFTUyByZWFsS2V5RXZlbnQud2luZG93UHJveHkgaXMgYXRL
ZXlFdmVudC53aW5kb3dQcm94eQ0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUNCisN
CitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9rZXlldmVudHMtZm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtl
eS1ldmVudHMuaHRtbA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4u
ODlmY2JlZTg4OWYwDQotLS0gL2Rldi9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMuaHRtbA0KQEAg
LTAsMCArMSw4NyBAQA0KKzxodG1sPg0KKzxoZWFkPg0KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pg0KKzwvaGVhZD4NCis8Ym9keSBpZD0iYm9keSI+
DQorDQorPGRpdiBpZD0ic2xpZGVyIg0KKyAgICAgICAgICAgcm9sZT0ic2xpZGVyIg0KKyAgICAg
ICAgICAgdGFiaW5kZXg9IjAiDQorICAgICAgICAgICBhcmlhLXZhbHVlbWluPSIwIg0KKyAgICAg
ICAgICAgYXJpYS12YWx1ZW5vdz0iMCINCisgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9IjI1NSIN
CisgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0iaWRSZWQiPjwvZGl2Pg0KKw0KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPg0KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pg0KKw0KKzxzY3JpcHQ+
DQorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgaW5jcmVtZW50
L2RlY3JlbWVudCBhY3Rpb25zIHBvc3Qga2V5Ym9hcmQgZXZlbnRzIHRoYXQgYXBwZWFyIGlkZW50
aWNhbCB0byByZWFsIGtleWJvYXJkIGV2ZW50cy4iKTsNCisNCisgICAgdmFyIGF0S2V5RXZlbnQg
PSAwOw0KKyAgICB2YXIgcmVhbEtleUV2ZW50ID0gMDsNCisgICAgZnVuY3Rpb24gaGFuZGxlS2V5
RG93bihldmVudCkgew0KKyAgICAgICAgaWYgKCFhdEtleUV2ZW50KSB7DQorICAgICAgICAgICAg
YXRLZXlFdmVudCA9IGV2ZW50Ow0KKyAgICAgICAgICAgIGRlYnVnKCJSZWNlaXZlZCBBVCBldmVu
dCIpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgZWxzZSBpZiAoIXJlYWxLZXlFdmVudCkgew0KKyAg
ICAgICAgICAgIHJlYWxLZXlFdmVudCA9IGV2ZW50Ow0KKyAgICAgICAgICAgIGRlYnVnKCJSZWNl
aXZlZCByZWFsIGV2ZW50Iik7DQorICAgICAgICB9DQorDQorICAgICAgICBpZiAocmVhbEtleUV2
ZW50ICYmIGF0S2V5RXZlbnQpIHsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50
LmFsdEdyYXBoS2V5IiwgImF0S2V5RXZlbnQuYWx0R3JhcGhLZXkiKTsNCisgICAgICAgICAgICBz
aG91bGRCZSgicmVhbEtleUV2ZW50LmFsdEtleSIsICJhdEtleUV2ZW50LmFsdEtleSIpOw0KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuYnViYmxlcyIsICJhdEtleUV2ZW50LmJ1
YmJsZXMiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNhbmNlbEJ1YmJs
ZSIsICJhdEtleUV2ZW50LmNhbmNlbEJ1YmJsZSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJy
ZWFsS2V5RXZlbnQuY2FuY2VsYWJsZSIsICJhdEtleUV2ZW50LmNhbmNlbGFibGUiKTsNCisgICAg
ICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNoYXJDb2RlIiwgImF0S2V5RXZlbnQuY2hh
ckNvZGUiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNvZGUiLCAiYXRL
ZXlFdmVudC5jb2RlIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5jb21w
b3NlZCIsICJhdEtleUV2ZW50LmNvbXBvc2VkIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJl
YWxLZXlFdmVudC5jdHJsS2V5IiwgImF0S2V5RXZlbnQuY3RybEtleSIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuZGV0YWlsIiwgImF0S2V5RXZlbnQuZGV0YWlsIik7DQor
ICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5pc0NvbXBvc2luZyIsICJhdEtleUV2
ZW50LmlzQ29tcG9zaW5nIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5p
c1RydXN0ZWQiLCAiYXRLZXlFdmVudC5pc1RydXN0ZWQiKTsNCisgICAgICAgICAgICBzaG91bGRC
ZSgicmVhbEtleUV2ZW50LmtleSIsICJhdEtleUV2ZW50LmtleSIpOw0KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJyZWFsS2V5RXZlbnQua2V5Q29kZSIsICJhdEtleUV2ZW50LmtleUNvZGUiKTsNCisg
ICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmtleUlkZW50aWZpZXIiLCAiYXRLZXlF
dmVudC5rZXlJZGVudGlmaWVyIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVu
dC5sYXllclgiLCAiYXRLZXlFdmVudC5sYXllclgiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgi
cmVhbEtleUV2ZW50LmxheWVyWSIsICJhdEtleUV2ZW50LmxheWVyWSIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQubG9jYXRpb24iLCAiYXRLZXlFdmVudC5sb2NhdGlvbiIp
Ow0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQubWV0YUtleSIsICJhdEtleUV2
ZW50Lm1ldGFLZXkiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LnBhZ2VY
IiwgImF0S2V5RXZlbnQucGFnZVgiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2
ZW50LnBhZ2VZIiwgImF0S2V5RXZlbnQucGFnZVkiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgi
cmVhbEtleUV2ZW50LnJlcGVhdCIsICJhdEtleUV2ZW50LnJlcGVhdCIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQucmV0dXJuVmFsdWUiLCAiYXRLZXlFdmVudC5yZXR1cm5W
YWx1ZSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuc2hpZnRLZXkiLCAi
YXRLZXlFdmVudC5zaGlmdEtleSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZl
bnQuc3JjRWxlbWVudCIsICJhdEtleUV2ZW50LnNyY0VsZW1lbnQiKTsNCisgICAgICAgICAgICBz
aG91bGRCZSgicmVhbEtleUV2ZW50LnRhcmdldCIsICJhdEtleUV2ZW50LnRhcmdldCIpOw0KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQudHlwZSIsICJhdEtleUV2ZW50LnR5cGUi
KTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LndoaWNoIiwgImF0S2V5RXZl
bnQud2hpY2giKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LndpbmRvd1By
b3h5IiwgImF0S2V5RXZlbnQud2luZG93UHJveHkiKTsNCisgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7DQorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7DQor
DQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2xpZGVyIikuYWRkRXZlbnRMaXN0
ZW5lcigna2V5ZG93bicsIGhhbmRsZUtleURvd24pOw0KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInNsaWRlciIpLmZvY3VzKCk7DQorICAgICAgICANCisgICAgICAgIC8vIEdldCB0
aGUgcGFyZW50IGVsZW1lbnQuDQorICAgICAgICB2YXIgYXhTbGlkZXIgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInNsaWRlciIpOw0KKw0KKyAgICAgICAg
Ly8gR2VuZXJhdGUgYSBBVCBiYXNlZCBrZXkgZXZlbnQuDQorICAgICAgICBkZWJ1ZygiU2VuZGlu
ZyBBVCBldmVudCIpOw0KKyAgICAgICAgYXhTbGlkZXIuaW5jcmVtZW50KCk7DQorDQorICAgICAg
ICAvLyBHZW5lcmF0ZSBhIHJlYWwga2V5IGV2ZW50Lg0KKyAgICAgICAgZGVidWcoIlNlbmRpbmcg
cmVhbCBldmVudCIpOw0KKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigicmlnaHRBcnJvdyIp
Ow0KKyAgICB9DQorPC9zY3JpcHQ+DQorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdp
dGgtbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
a2V5ZXZlbnRzLWZvci1pbmNyZW1lbnQtYWN0aW9ucy13aXRoLW5vZGUtcmVtb3ZhbC1leHBlY3Rl
ZC50eHQNCmluZGV4IGRiM2M5NGY5NjhmMi4uYzZhYzRlNTliZWRkIDEwMDY0NA0KLS0tIGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdp
dGgtbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdpdGgtbm9kZS1yZW1vdmFsLWV4
cGVjdGVkLnR4dA0KQEAgLTMsNyArMyw3IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIGlmIGEga2V5
ZG93biBldmVudCByZW1vdmVzIHRoZSBub2RlLCBiYWQgdGhpbmdzIGRvbid0IGhhcHBlDQogT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLg0KIA0KIA0KLUtleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZp
ZXI6IHJpZ2h0IGtleSBuYW1lOiBBcnJvd1JpZ2h0DQorS2V5Y29kZSByZWNlaXZlZDogaWRlbnRp
ZmllcjogUmlnaHQga2V5IG5hbWU6IEFycm93UmlnaHQNCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlDQogDQogVEVTVCBDT01QTEVURQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkva2V5ZXZlbnRzLXBvc3RlZC1mb3ItaW5jcmVtZW50LWFjdGlvbnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtcG9zdGVkLWZvci1p
bmNyZW1lbnQtYWN0aW9ucy1leHBlY3RlZC50eHQNCmluZGV4IGRmMjJjOTIzZDMwMC4uZDQwYzI5
ZDcwNzg1IDEwMDY0NA0KLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMt
cG9zdGVkLWZvci1pbmNyZW1lbnQtYWN0aW9ucy1leHBlY3RlZC50eHQNCisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkva2V5ZXZlbnRzLXBvc3RlZC1mb3ItaW5jcmVtZW50LWFjdGlvbnMt
ZXhwZWN0ZWQudHh0DQpAQCAtNSwxOCArNSwxOCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQ0K
IA0KIEluY3JlbWVudC9EZWNyZW1lbnQgLSBMVFINCiBIb3Jpem9udGFsIG9yaWVudGF0aW9uDQot
S2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjogcmlnaHQga2V5IG5hbWU6IEFycm93UmlnaHQg
a2V5IGNvZGU6IDM5DQotS2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjogbGVmdCBrZXkgbmFt
ZTogQXJyb3dMZWZ0IGtleSBjb2RlOiAzNw0KK0tleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZpZXI6
IFJpZ2h0IGtleSBuYW1lOiBBcnJvd1JpZ2h0IGtleSBjb2RlOiAzOQ0KK0tleWNvZGUgcmVjZWl2
ZWQ6IGlkZW50aWZpZXI6IExlZnQga2V5IG5hbWU6IEFycm93TGVmdCBrZXkgY29kZTogMzcNCiBW
ZXJ0aWNhbCBvcmllbnRhdGlvbg0KLUtleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZpZXI6IHVwIGtl
eSBuYW1lOiBBcnJvd1VwIGtleSBjb2RlOiAzOA0KLUtleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZp
ZXI6IGRvd24ga2V5IG5hbWU6IEFycm93RG93biBrZXkgY29kZTogNDANCitLZXljb2RlIHJlY2Vp
dmVkOiBpZGVudGlmaWVyOiBVcCBrZXkgbmFtZTogQXJyb3dVcCBrZXkgY29kZTogMzgNCitLZXlj
b2RlIHJlY2VpdmVkOiBpZGVudGlmaWVyOiBEb3duIGtleSBuYW1lOiBBcnJvd0Rvd24ga2V5IGNv
ZGU6IDQwDQogSW5jcmVtZW50L0RlY3JlbWVudCAtIFJUTA0KIEhvcml6b250YWwgb3JpZW50YXRp
b24NCi1LZXljb2RlIHJlY2VpdmVkOiBpZGVudGlmaWVyOiBsZWZ0IGtleSBuYW1lOiBBcnJvd0xl
ZnQga2V5IGNvZGU6IDM3DQotS2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjogcmlnaHQga2V5
IG5hbWU6IEFycm93UmlnaHQga2V5IGNvZGU6IDM5DQorS2V5Y29kZSByZWNlaXZlZDogaWRlbnRp
ZmllcjogTGVmdCBrZXkgbmFtZTogQXJyb3dMZWZ0IGtleSBjb2RlOiAzNw0KK0tleWNvZGUgcmVj
ZWl2ZWQ6IGlkZW50aWZpZXI6IFJpZ2h0IGtleSBuYW1lOiBBcnJvd1JpZ2h0IGtleSBjb2RlOiAz
OQ0KIFZlcnRpY2FsIG9yaWVudGF0aW9uDQotS2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjog
dXAga2V5IG5hbWU6IEFycm93VXAga2V5IGNvZGU6IDM4DQotS2V5Y29kZSByZWNlaXZlZDogaWRl
bnRpZmllcjogZG93biBrZXkgbmFtZTogQXJyb3dEb3duIGtleSBjb2RlOiA0MA0KK0tleWNvZGUg
cmVjZWl2ZWQ6IGlkZW50aWZpZXI6IFVwIGtleSBuYW1lOiBBcnJvd1VwIGtleSBjb2RlOiAzOA0K
K0tleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZpZXI6IERvd24ga2V5IG5hbWU6IEFycm93RG93biBr
ZXkgY29kZTogNDANCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlDQogDQogVEVTVCBD
T01QTEVURQ0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZw0KaW5kZXggYzNhYzZhNjcwMDZhLi41YThlMjFkZmUxZTIgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZw0KQEAgLTEsMyArMSwzNCBAQA0KKzIwMjEtMDEtMTkgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBBVC1zeW50aGVzaXplZCBrZXkg
ZXZlbnRzIGZvciBjb21tb24gdXNlciBhY3Rpb25zIChpbmNyZW1lbnQvZGVjcmVtZW50KSBhcmUg
ZGV0ZWN0YWJseSBkaWZmZXJlbnQgaW4gbWFueSB3YXlzLCBwb3RlbnRpYWxseSBjYXVzaW5nIGJv
dGggd2ViIGFwcCBicmVha2FnZSBhbmQgQVQgaWRlbnRpZmljYXRpb24NCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA2NzUNCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MzI2Mzk3Nz4NCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLg0KKw0KKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtZm9yLWFjdGlv
bnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWwNCisNCisgICAgICAgIFdoZW4gYWNjZXNzaWJp
bGl0eSBwb3N0cyBrZXlib2FyZCBldmVudHMgaW4gcmVzcG9uc2UgdG8gYXggYWN0aW9ucywgdGhl
eSBzaG91bGQgbWltaWMNCisgICAgICAgIHJlYWwga2V5IGV2ZW50cyBzbyBhcyB0byBiZSBpbmRp
c3Rpbmd1aXNoYWJsZS4NCisNCisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2FvbS9i
bG9iL2doLXBhZ2VzL2V4cGxhaW5lci5tZCNkZXByZWNhdGVkLWtleWJvYXJkZXZlbnQtb2JqZWN0
LXByb3BlcnRpZXMtb3B0aW9uYWwNCisNCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHA6DQorICAgICAgICAoV2ViQ29yZTo6ZGlzcGF0Y2hTaW11bGF0
ZWRLZXlib2FyZFVwRG93bkV2ZW50KToNCisgICAgICAgIChXZWJDb3JlOjpJbml0aWFsaXplTGVn
YWN5S2V5SW5pdFByb3BlcnRpZXMpOg0KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0OjpwZXJmb3JtRGlzbWlzc0FjdGlvbik6DQorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnBvc3RLZXlib2FyZEtleXNGb3JWYWx1ZUNoYW5nZSk6DQor
ICAgICAgICAqIGRvbS9LZXlib2FyZEV2ZW50LmNwcDoNCisgICAgICAgIChXZWJDb3JlOjpLZXli
b2FyZEV2ZW50OjpLZXlib2FyZEV2ZW50KToNCisgICAgICAgIChXZWJDb3JlOjpLZXlib2FyZEV2
ZW50OjpjcmVhdGUpOg0KKyAgICAgICAgKiBkb20vS2V5Ym9hcmRFdmVudC5oOg0KKyAgICAgICAg
KiBkb20vVUlFdmVudC5jcHA6DQorICAgICAgICAoV2ViQ29yZTo6VUlFdmVudDo6VUlFdmVudCk6
DQorICAgICAgICAqIGRvbS9VSUV2ZW50Lmg6DQorICAgICAgICAoV2ViQ29yZTo6VUlFdmVudDo6
Y3JlYXRlKToNCisgICAgICAgICogZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaDoNCisgICAgICAg
IChXZWJDb3JlOjpVSUV2ZW50V2l0aEtleVN0YXRlOjpVSUV2ZW50V2l0aEtleVN0YXRlKToNCisN
CiAyMDIxLTAxLTE2ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29t
Pg0KIA0KICAgICAgICAgU2VwYXJhdGUgc2Nyb2xsaW5nIGNvZGUgb3V0IG9mIFJlbmRlckxheWVy
DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlOb2RlT2JqZWN0LmNwcA0KaW5kZXggMGZmMGQ0NGE5NmZkLi5kYjM2MzQwMTcyZTcgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcA0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHANCkBAIC0zOCw2ICszOCw3IEBADQogI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlUYWJsZS5oIg0KICNpbmNsdWRlICJFZGl0aW5nLmgiDQogI2luY2x1ZGUgIkVsZW1lbnRJdGVy
YXRvci5oIg0KKyNpbmNsdWRlICJFdmVudC5oIg0KICNpbmNsdWRlICJFdmVudE5hbWVzLmgiDQog
I2luY2x1ZGUgIkZsb2F0UmVjdC5oIg0KICNpbmNsdWRlICJGcmFtZS5oIg0KQEAgLTExMDQsMjYg
KzExMDUsMzkgQEAgc3RhdGljIGJvb2wgZGlzcGF0Y2hTaW11bGF0ZWRLZXlib2FyZFVwRG93bkV2
ZW50KEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCwgY28NCiAgICAgDQogICAgIGJvb2wgaGFu
ZGxlZCA9IGZhbHNlOw0KICAgICBpZiAoYXV0byogbm9kZSA9IG9iamVjdC0+bm9kZSgpKSB7DQot
ICAgICAgICBhdXRvIGV2ZW50ID0gS2V5Ym9hcmRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5r
ZXlkb3duRXZlbnQsIGtleUluaXQpOw0KKyAgICAgICAgYXV0byBldmVudCA9IEtleWJvYXJkRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50LCBrZXlJbml0LCBFdmVudDo6SXNU
cnVzdGVkOjpZZXMpOw0KICAgICAgICAgbm9kZS0+ZGlzcGF0Y2hFdmVudChldmVudCk7DQogICAg
ICAgICBoYW5kbGVkIHw9IGV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpOw0KICAgICB9DQogICAgIA0K
ICAgICAvLyBFbnN1cmUgbm9kZSBpcyBzdGlsbCB2YWxpZCBhbmQgd2Fzbid0IHJlbW92ZWQgYWZ0
ZXIgdGhlIGtleWRvd24uDQogICAgIGlmIChhdXRvKiBub2RlID0gb2JqZWN0LT5ub2RlKCkpIHsN
Ci0gICAgICAgIGF1dG8gZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LmtleXVwRXZlbnQsIGtleUluaXQpOw0KKyAgICAgICAgYXV0byBldmVudCA9IEtleWJvYXJkRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkua2V5dXBFdmVudCwga2V5SW5pdCwgRXZlbnQ6OklzVHJ1
c3RlZDo6WWVzKTsNCiAgICAgICAgIG5vZGUtPmRpc3BhdGNoRXZlbnQoZXZlbnQpOw0KICAgICAg
ICAgaGFuZGxlZCB8PSBldmVudC0+ZGVmYXVsdEhhbmRsZWQoKTsNCiAgICAgfQ0KICAgICByZXR1
cm4gaGFuZGxlZDsNCiB9DQogDQorc3RhdGljIHZvaWQgSW5pdGlhbGl6ZUxlZ2FjeUtleUluaXRQ
cm9wZXJ0aWVzKEtleWJvYXJkRXZlbnQ6OkluaXQgJmtleUluaXQsIGNvbnN0IEFjY2Vzc2liaWxp
dHlPYmplY3QmIG9iamVjdCkNCit7DQorICAgIGtleUluaXQud2hpY2ggPSBrZXlJbml0LmtleUNv
ZGU7DQorICAgIGtleUluaXQuY29kZSA9IGtleUluaXQua2V5Ow0KKw0KKyAgICBrZXlJbml0LnZp
ZXcgPSBvYmplY3QuZG9jdW1lbnQoKS0+d2luZG93UHJveHkoKTsNCisgICAga2V5SW5pdC5jYW5j
ZWxhYmxlID0gdHJ1ZTsNCisgICAga2V5SW5pdC5jb21wb3NlZCA9IHRydWU7DQorICAgIGtleUlu
aXQuYnViYmxlcyA9IHRydWU7DQorfQ0KKw0KIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OnBlcmZvcm1EaXNtaXNzQWN0aW9uKCkNCiB7DQogICAgIGF1dG8ga2V5SW5pdCA9IEtleWJvYXJk
RXZlbnQ6OkluaXQoKTsNCiAgICAga2V5SW5pdC5rZXkgPSAiRXNjYXBlIl9zOw0KICAgICBrZXlJ
bml0LmtleUNvZGUgPSAweDFiOw0KLSAgICANCisgICAga2V5SW5pdC5rZXlJZGVudGlmaWVyID0g
IlUrMDAxQiJfczsNCisgICAgSW5pdGlhbGl6ZUxlZ2FjeUtleUluaXRQcm9wZXJ0aWVzKGtleUlu
aXQsICp0aGlzKTsNCisNCiAgICAgcmV0dXJuIGRpc3BhdGNoU2ltdWxhdGVkS2V5Ym9hcmRVcERv
d25FdmVudCh0aGlzLCBrZXlJbml0KTsNCiB9DQogDQpAQCAtMTEzNCwxMCArMTE0OCwxMyBAQCBi
b29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpwb3N0S2V5Ym9hcmRLZXlzRm9yVmFsdWVDaGFu
Z2UoYm9vbCBpbmNyZWFzZSkNCiAgICAgYm9vbCB2ZXJ0aWNhbCA9IG9yaWVudGF0aW9uKCkgPT0g
QWNjZXNzaWJpbGl0eU9yaWVudGF0aW9uOjpWZXJ0aWNhbDsNCiAgICAgYm9vbCBpc0xUUiA9IHBh
Z2UoKS0+dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpID09IFVzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb246OkxUUjsNCiAgICAgDQorICAgIC8vIFRoZSBnb2FsIGlzIHRvIG1pbWljIGV4
aXN0aW5nIGtleWJvYXJkIGRpc3BhdGNoIGNvbXBsZXRlbHksIHNvIHRoYXQgdGhpcyBpcyBpbmRp
c3Rpbmd1aXNoYWJsZSBmcm9tIGEgcmVhbCBrZXkgcHJlc3MuDQogICAgIHR5cGVkZWYgZW51bSB7
IGxlZnQgPSAzNywgdXAgPSAzOCwgcmlnaHQgPSAzOSwgZG93biA9IDQwIH0ga2V5Q29kZTsNCiAg
ICAga2V5SW5pdC5rZXkgPSBpbmNyZWFzZSA/ICh2ZXJ0aWNhbCA/ICJBcnJvd1VwIl9zIDogKGlz
TFRSID8gIkFycm93UmlnaHQiX3MgOiAiQXJyb3dMZWZ0Il9zKSkgOiAodmVydGljYWwgPyAiQXJy
b3dEb3duIl9zIDogKGlzTFRSID8gIkFycm93TGVmdCJfcyA6ICJBcnJvd1JpZ2h0Il9zKSk7DQog
ICAgIGtleUluaXQua2V5Q29kZSA9IGluY3JlYXNlID8gKHZlcnRpY2FsID8ga2V5Q29kZTo6dXAg
OiAoaXNMVFIgPyBrZXlDb2RlOjpyaWdodCA6IGtleUNvZGU6OmxlZnQpKSA6ICh2ZXJ0aWNhbCA/
IGtleUNvZGU6OmRvd24gOiAoaXNMVFIgPyBrZXlDb2RlOjpsZWZ0IDoga2V5Q29kZTo6cmlnaHQp
KTsNCi0gICAga2V5SW5pdC5rZXlJZGVudGlmaWVyID0gaW5jcmVhc2UgPyAodmVydGljYWwgPyAi
dXAiX3MgOiAoaXNMVFIgPyAicmlnaHQiX3MgOiAibGVmdCJfcykpIDogKHZlcnRpY2FsID8gImRv
d24iX3MgOiAoaXNMVFIgPyAibGVmdCJfcyA6ICJyaWdodCJfcykpOw0KKyAgICBrZXlJbml0Lmtl
eUlkZW50aWZpZXIgPSBpbmNyZWFzZSA/ICh2ZXJ0aWNhbCA/ICJVcCJfcyA6IChpc0xUUiA/ICJS
aWdodCJfcyA6ICJMZWZ0Il9zKSkgOiAodmVydGljYWwgPyAiRG93biJfcyA6IChpc0xUUiA/ICJM
ZWZ0Il9zIDogIlJpZ2h0Il9zKSk7DQorDQorICAgIEluaXRpYWxpemVMZWdhY3lLZXlJbml0UHJv
cGVydGllcyhrZXlJbml0LCAqdGhpcyk7DQogDQogICAgIHJldHVybiBkaXNwYXRjaFNpbXVsYXRl
ZEtleWJvYXJkVXBEb3duRXZlbnQodGhpcywga2V5SW5pdCk7DQogfQ0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9L
ZXlib2FyZEV2ZW50LmNwcA0KaW5kZXggN2Q1NmViNmY0Y2ZiLi5iODdmZjNlYmJiYzcgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5jcHANCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmNwcA0KQEAgLTEyMSw4ICsxMjEsOCBAQCBpbmxp
bmUgS2V5Ym9hcmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZl
bnQmIGtleSwgUmVmUHRyPFdpbg0KIHsNCiB9DQogDQotaW5saW5lIEtleWJvYXJkRXZlbnQ6Oktl
eWJvYXJkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBJbml0JiBpbml0
aWFsaXplcikNCi0gICAgOiBVSUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50VHlwZSwgaW5pdGlhbGl6
ZXIpDQoraW5saW5lIEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3Rl
ZCkNCisgICAgOiBVSUV2ZW50V2l0aEtleVN0YXRlKGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIsIGlz
VHJ1c3RlZCkNCiAgICAgLCBtX2tleShpbml0aWFsaXplci5rZXkpDQogICAgICwgbV9jb2RlKGlu
aXRpYWxpemVyLmNvZGUpDQogICAgICwgbV9rZXlJZGVudGlmaWVyKGluaXRpYWxpemVyLmtleUlk
ZW50aWZpZXIpDQpAQCAtMTQ3LDkgKzE0Nyw5IEBAIFJlZjxLZXlib2FyZEV2ZW50PiBLZXlib2Fy
ZEV2ZW50OjpjcmVhdGVGb3JCaW5kaW5ncygpDQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEtl
eWJvYXJkRXZlbnQpOw0KIH0NCiANCi1SZWY8S2V5Ym9hcmRFdmVudD4gS2V5Ym9hcmRFdmVudDo6
Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXRpYWxpemVyKQ0K
K1JlZjxLZXlib2FyZEV2ZW50PiBLZXlib2FyZEV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmlu
ZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpDQog
ew0KLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBLZXlib2FyZEV2ZW50KHR5cGUsIGluaXRpYWxp
emVyKSk7DQorICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEtleWJvYXJkRXZlbnQodHlwZSwgaW5p
dGlhbGl6ZXIsIGlzVHJ1c3RlZCkpOw0KIH0NCiANCiB2b2lkIEtleWJvYXJkRXZlbnQ6OmluaXRL
ZXlib2FyZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29s
IGNhbmNlbGFibGUsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LA0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5
Ym9hcmRFdmVudC5oDQppbmRleCA4ZDVkOWYzOGM0NTEuLjdiNjVlZWI4YWE2NSAxMDA2NDQNCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmgNCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9LZXlib2FyZEV2ZW50LmgNCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoNCiAgICAg
ICAgIHVuc2lnbmVkIHdoaWNoOw0KICAgICB9Ow0KIA0KLSAgICBzdGF0aWMgUmVmPEtleWJvYXJk
RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0Jik7DQorICAg
IHN0YXRpYyBSZWY8S2V5Ym9hcmRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IGNvbnN0IEluaXQmLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5vKTsNCiANCiAgICAgdmlydHVh
bCB+S2V5Ym9hcmRFdmVudCgpOw0KICAgICANCkBAIC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoNCiBw
cml2YXRlOg0KICAgICBLZXlib2FyZEV2ZW50KCk7DQogICAgIEtleWJvYXJkRXZlbnQoY29uc3Qg
UGxhdGZvcm1LZXlib2FyZEV2ZW50JiwgUmVmUHRyPFdpbmRvd1Byb3h5PiYmKTsNCi0gICAgS2V5
Ym9hcmRFdmVudChjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgSW5pdCYpOw0KKyAgICBLZXlib2Fy
ZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBJbml0JiwgSXNUcnVzdGVkID0gSXNUcnVz
dGVkOjpObyk7DQogDQogICAgIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybUtleWJvYXJkRXZlbnQ+
IG1fdW5kZXJseWluZ1BsYXRmb3JtRXZlbnQ7DQogICAgIFN0cmluZyBtX2tleTsNCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
VUlFdmVudC5jcHANCmluZGV4IGI5OWU0Y2IyNDY3Mi4uODRiZTA1NDA5N2E0IDEwMDY0NA0KLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVUlFdmVudC5jcHANCkBAIC00OSw4ICs0OSw4IEBAIFVJRXZlbnQ6OlVJRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBDYW5CdWJibGUgY2FuQnViYmxlLCBJc0NhbmNlbGFibGUN
CiB7DQogfQ0KIA0KLVVJRXZlbnQ6OlVJRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBjb25zdCBVSUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpDQotICAgIDogRXZlbnQoZXZlbnRUeXBl
LCBpbml0aWFsaXplciwgSXNUcnVzdGVkOjpObykNCitVSUV2ZW50OjpVSUV2ZW50KGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgVUlFdmVudEluaXQmIGluaXRpYWxpemVyLCBJc1Ry
dXN0ZWQgaXNUcnVzdGVkKQ0KKyAgICA6IEV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIsIGlz
VHJ1c3RlZCkNCiAgICAgLCBtX3ZpZXcoaW5pdGlhbGl6ZXIudmlldy5nZXQoKSkNCiAgICAgLCBt
X2RldGFpbChpbml0aWFsaXplci5kZXRhaWwpDQogew0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9VSUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oDQppbmRleCA5
ZjdiOTY5YjNjZmMuLjRkNzIxMDU5ZWU0ZSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9VSUV2ZW50LmgNCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmgNCkBAIC00Myw3
ICs0Myw3IEBAIHB1YmxpYzoNCiAgICAgew0KICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
VUlFdmVudCk7DQogICAgIH0NCi0gICAgc3RhdGljIFJlZjxVSUV2ZW50PiBjcmVhdGUoY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgY29uc3QgVUlFdmVudEluaXQmIGluaXRpYWxpemVyKQ0KKyAgICBz
dGF0aWMgUmVmPFVJRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBV
SUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pDQogICAg
IHsNCiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVJRXZlbnQodHlwZSwgaW5pdGlhbGl6
ZXIpKTsNCiAgICAgfQ0KQEAgLTY5LDcgKzY5LDcgQEAgcHJvdGVjdGVkOg0KIA0KICAgICBVSUV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0Nv
bXBvc2VkLCBSZWZQdHI8V2luZG93UHJveHk+JiYsIGludCBkZXRhaWwpOw0KICAgICBVSUV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIENhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlLCBJc0NvbXBv
c2VkLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgUmVmUHRyPFdpbmRvd1Byb3h5PiYmLCBpbnQg
ZGV0YWlsLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Olllcyk7DQotICAgIFVJRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYsIGNvbnN0IFVJRXZlbnRJbml0Jik7DQorICAgIFVJRXZlbnQoY29uc3QgQXRv
bVN0cmluZyYsIGNvbnN0IFVJRXZlbnRJbml0JiwgSXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObyk7
DQogDQogcHJpdmF0ZToNCiAgICAgYm9vbCBpc1VJRXZlbnQoKSBjb25zdCBmaW5hbDsNCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudFdpdGhLZXlTdGF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaA0KaW5kZXggZDgyZTlhYWY1NWM5Li5l
ODg3NWRjMDQwZmYgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudFdpdGhL
ZXlTdGF0ZS5oDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudFdpdGhLZXlTdGF0ZS5o
DQpAQCAtNjIsOCArNjIsOCBAQCBwcm90ZWN0ZWQ6DQogICAgIHsNCiAgICAgfQ0KIA0KLSAgICBV
SUV2ZW50V2l0aEtleVN0YXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEV2ZW50TW9k
aWZpZXJJbml0JiBpbml0aWFsaXplcikNCi0gICAgICAgIDogVUlFdmVudCh0eXBlLCBpbml0aWFs
aXplcikNCisgICAgVUlFdmVudFdpdGhLZXlTdGF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBj
b25zdCBFdmVudE1vZGlmaWVySW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQg
PSBJc1RydXN0ZWQ6Ok5vKQ0KKyAgICAgICAgOiBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBp
c1RydXN0ZWQpDQogICAgICAgICAsIG1fbW9kaWZpZXJzKG1vZGlmaWVyc0Zyb21Jbml0aWFsaXpl
cihpbml0aWFsaXplcikpDQogICAgIHsNCiAgICAgfQ0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418063</attachid>
            <date>2021-01-21 10:44:56 -0800</date>
            <delta_ts>2021-01-22 13:55:41 -0800</delta_ts>
            <desc>patch</desc>
            <filename>file_220675.txt</filename>
            <type>text/plain</type>
            <size>20194</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggMzAwMTE1NDg5MTFhLi4zZmVjMDQxZGQ5OGYgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
NCBAQA0KKzIwMjEtMDEtMTkgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBBVC1zeW50aGVzaXplZCBrZXkgZXZlbnRzIGZvciBjb21tb24gdXNl
ciBhY3Rpb25zIChpbmNyZW1lbnQvZGVjcmVtZW50KSBhcmUgZGV0ZWN0YWJseSBkaWZmZXJlbnQg
aW4gbWFueSB3YXlzLCBwb3RlbnRpYWxseSBjYXVzaW5nIGJvdGggd2ViIGFwcCBicmVha2FnZSBh
bmQgQVQgaWRlbnRpZmljYXRpb24NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA2NzUNCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzI2Mzk3Nz4N
CisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4NCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9rZXlldmVudHMt
Zm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWw6IEFkZGVkLg0KKw0KIDIwMjEt
MDEtMTUgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4NCiANCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAyMjQNCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtl
eS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVu
dHMtZm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLWV4cGVjdGVkLnR4dA0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uYjg4MGRmMzBkOGVlDQotLS0gL2Rl
di9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0
aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMtZXhwZWN0ZWQudHh0DQpAQCAtMCwwICsxLDQyIEBA
DQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIGluY3JlbWVudC9kZWNyZW1lbnQgYWN0aW9u
cyBwb3N0IGtleWJvYXJkIGV2ZW50cyB0aGF0IGFwcGVhciBpZGVudGljYWwgdG8gcmVhbCBrZXli
b2FyZCBldmVudHMuDQorDQorT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLg0KKw0KKw0KK1NlbmRp
bmcgQVQgZXZlbnQNCitSZWNlaXZlZCBBVCBldmVudA0KK1NlbmRpbmcgcmVhbCBldmVudA0KK1Jl
Y2VpdmVkIHJlYWwgZXZlbnQNCitQQVNTIHJlYWxLZXlFdmVudC5hbHRHcmFwaEtleSBpcyBhdEtl
eUV2ZW50LmFsdEdyYXBoS2V5DQorUEFTUyByZWFsS2V5RXZlbnQuYWx0S2V5IGlzIGF0S2V5RXZl
bnQuYWx0S2V5DQorUEFTUyByZWFsS2V5RXZlbnQuYnViYmxlcyBpcyBhdEtleUV2ZW50LmJ1YmJs
ZXMNCitQQVNTIHJlYWxLZXlFdmVudC5jYW5jZWxCdWJibGUgaXMgYXRLZXlFdmVudC5jYW5jZWxC
dWJibGUNCitQQVNTIHJlYWxLZXlFdmVudC5jYW5jZWxhYmxlIGlzIGF0S2V5RXZlbnQuY2FuY2Vs
YWJsZQ0KK1BBU1MgcmVhbEtleUV2ZW50LmNoYXJDb2RlIGlzIGF0S2V5RXZlbnQuY2hhckNvZGUN
CitQQVNTIHJlYWxLZXlFdmVudC5jb2RlIGlzIGF0S2V5RXZlbnQuY29kZQ0KK1BBU1MgcmVhbEtl
eUV2ZW50LmNvbXBvc2VkIGlzIGF0S2V5RXZlbnQuY29tcG9zZWQNCitQQVNTIHJlYWxLZXlFdmVu
dC5jdHJsS2V5IGlzIGF0S2V5RXZlbnQuY3RybEtleQ0KK1BBU1MgcmVhbEtleUV2ZW50LmRldGFp
bCBpcyBhdEtleUV2ZW50LmRldGFpbA0KK1BBU1MgcmVhbEtleUV2ZW50LmlzQ29tcG9zaW5nIGlz
IGF0S2V5RXZlbnQuaXNDb21wb3NpbmcNCitQQVNTIHJlYWxLZXlFdmVudC5pc1RydXN0ZWQgaXMg
YXRLZXlFdmVudC5pc1RydXN0ZWQNCitQQVNTIHJlYWxLZXlFdmVudC5rZXkgaXMgYXRLZXlFdmVu
dC5rZXkNCitQQVNTIHJlYWxLZXlFdmVudC5rZXlDb2RlIGlzIGF0S2V5RXZlbnQua2V5Q29kZQ0K
K1BBU1MgcmVhbEtleUV2ZW50LmtleUlkZW50aWZpZXIgaXMgYXRLZXlFdmVudC5rZXlJZGVudGlm
aWVyDQorUEFTUyByZWFsS2V5RXZlbnQubGF5ZXJYIGlzIGF0S2V5RXZlbnQubGF5ZXJYDQorUEFT
UyByZWFsS2V5RXZlbnQubGF5ZXJZIGlzIGF0S2V5RXZlbnQubGF5ZXJZDQorUEFTUyByZWFsS2V5
RXZlbnQubG9jYXRpb24gaXMgYXRLZXlFdmVudC5sb2NhdGlvbg0KK1BBU1MgcmVhbEtleUV2ZW50
Lm1ldGFLZXkgaXMgYXRLZXlFdmVudC5tZXRhS2V5DQorUEFTUyByZWFsS2V5RXZlbnQucGFnZVgg
aXMgYXRLZXlFdmVudC5wYWdlWA0KK1BBU1MgcmVhbEtleUV2ZW50LnBhZ2VZIGlzIGF0S2V5RXZl
bnQucGFnZVkNCitQQVNTIHJlYWxLZXlFdmVudC5yZXBlYXQgaXMgYXRLZXlFdmVudC5yZXBlYXQN
CitQQVNTIHJlYWxLZXlFdmVudC5yZXR1cm5WYWx1ZSBpcyBhdEtleUV2ZW50LnJldHVyblZhbHVl
DQorUEFTUyByZWFsS2V5RXZlbnQuc2hpZnRLZXkgaXMgYXRLZXlFdmVudC5zaGlmdEtleQ0KK1BB
U1MgcmVhbEtleUV2ZW50LnNyY0VsZW1lbnQgaXMgYXRLZXlFdmVudC5zcmNFbGVtZW50DQorUEFT
UyByZWFsS2V5RXZlbnQudGFyZ2V0IGlzIGF0S2V5RXZlbnQudGFyZ2V0DQorUEFTUyByZWFsS2V5
RXZlbnQudHlwZSBpcyBhdEtleUV2ZW50LnR5cGUNCitQQVNTIHJlYWxLZXlFdmVudC53aGljaCBp
cyBhdEtleUV2ZW50LndoaWNoDQorUEFTUyByZWFsS2V5RXZlbnQud2luZG93UHJveHkgaXMgYXRL
ZXlFdmVudC53aW5kb3dQcm94eQ0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUNCisN
CitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9rZXlldmVudHMtZm9yLWFjdGlvbnMtbWltaWMtcmVhbC1rZXktZXZlbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtl
eS1ldmVudHMuaHRtbA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4u
ODlmY2JlZTg4OWYwDQotLS0gL2Rldi9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2tleWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMuaHRtbA0KQEAg
LTAsMCArMSw4NyBAQA0KKzxodG1sPg0KKzxoZWFkPg0KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pg0KKzwvaGVhZD4NCis8Ym9keSBpZD0iYm9keSI+
DQorDQorPGRpdiBpZD0ic2xpZGVyIg0KKyAgICAgICAgICAgcm9sZT0ic2xpZGVyIg0KKyAgICAg
ICAgICAgdGFiaW5kZXg9IjAiDQorICAgICAgICAgICBhcmlhLXZhbHVlbWluPSIwIg0KKyAgICAg
ICAgICAgYXJpYS12YWx1ZW5vdz0iMCINCisgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9IjI1NSIN
CisgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0iaWRSZWQiPjwvZGl2Pg0KKw0KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPg0KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pg0KKw0KKzxzY3JpcHQ+
DQorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgaW5jcmVtZW50
L2RlY3JlbWVudCBhY3Rpb25zIHBvc3Qga2V5Ym9hcmQgZXZlbnRzIHRoYXQgYXBwZWFyIGlkZW50
aWNhbCB0byByZWFsIGtleWJvYXJkIGV2ZW50cy4iKTsNCisNCisgICAgdmFyIGF0S2V5RXZlbnQg
PSAwOw0KKyAgICB2YXIgcmVhbEtleUV2ZW50ID0gMDsNCisgICAgZnVuY3Rpb24gaGFuZGxlS2V5
RG93bihldmVudCkgew0KKyAgICAgICAgaWYgKCFhdEtleUV2ZW50KSB7DQorICAgICAgICAgICAg
YXRLZXlFdmVudCA9IGV2ZW50Ow0KKyAgICAgICAgICAgIGRlYnVnKCJSZWNlaXZlZCBBVCBldmVu
dCIpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgZWxzZSBpZiAoIXJlYWxLZXlFdmVudCkgew0KKyAg
ICAgICAgICAgIHJlYWxLZXlFdmVudCA9IGV2ZW50Ow0KKyAgICAgICAgICAgIGRlYnVnKCJSZWNl
aXZlZCByZWFsIGV2ZW50Iik7DQorICAgICAgICB9DQorDQorICAgICAgICBpZiAocmVhbEtleUV2
ZW50ICYmIGF0S2V5RXZlbnQpIHsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50
LmFsdEdyYXBoS2V5IiwgImF0S2V5RXZlbnQuYWx0R3JhcGhLZXkiKTsNCisgICAgICAgICAgICBz
aG91bGRCZSgicmVhbEtleUV2ZW50LmFsdEtleSIsICJhdEtleUV2ZW50LmFsdEtleSIpOw0KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuYnViYmxlcyIsICJhdEtleUV2ZW50LmJ1
YmJsZXMiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNhbmNlbEJ1YmJs
ZSIsICJhdEtleUV2ZW50LmNhbmNlbEJ1YmJsZSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJy
ZWFsS2V5RXZlbnQuY2FuY2VsYWJsZSIsICJhdEtleUV2ZW50LmNhbmNlbGFibGUiKTsNCisgICAg
ICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNoYXJDb2RlIiwgImF0S2V5RXZlbnQuY2hh
ckNvZGUiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmNvZGUiLCAiYXRL
ZXlFdmVudC5jb2RlIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5jb21w
b3NlZCIsICJhdEtleUV2ZW50LmNvbXBvc2VkIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJl
YWxLZXlFdmVudC5jdHJsS2V5IiwgImF0S2V5RXZlbnQuY3RybEtleSIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuZGV0YWlsIiwgImF0S2V5RXZlbnQuZGV0YWlsIik7DQor
ICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5pc0NvbXBvc2luZyIsICJhdEtleUV2
ZW50LmlzQ29tcG9zaW5nIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVudC5p
c1RydXN0ZWQiLCAiYXRLZXlFdmVudC5pc1RydXN0ZWQiKTsNCisgICAgICAgICAgICBzaG91bGRC
ZSgicmVhbEtleUV2ZW50LmtleSIsICJhdEtleUV2ZW50LmtleSIpOw0KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJyZWFsS2V5RXZlbnQua2V5Q29kZSIsICJhdEtleUV2ZW50LmtleUNvZGUiKTsNCisg
ICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LmtleUlkZW50aWZpZXIiLCAiYXRLZXlF
dmVudC5rZXlJZGVudGlmaWVyIik7DQorICAgICAgICAgICAgc2hvdWxkQmUoInJlYWxLZXlFdmVu
dC5sYXllclgiLCAiYXRLZXlFdmVudC5sYXllclgiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgi
cmVhbEtleUV2ZW50LmxheWVyWSIsICJhdEtleUV2ZW50LmxheWVyWSIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQubG9jYXRpb24iLCAiYXRLZXlFdmVudC5sb2NhdGlvbiIp
Ow0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQubWV0YUtleSIsICJhdEtleUV2
ZW50Lm1ldGFLZXkiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LnBhZ2VY
IiwgImF0S2V5RXZlbnQucGFnZVgiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2
ZW50LnBhZ2VZIiwgImF0S2V5RXZlbnQucGFnZVkiKTsNCisgICAgICAgICAgICBzaG91bGRCZSgi
cmVhbEtleUV2ZW50LnJlcGVhdCIsICJhdEtleUV2ZW50LnJlcGVhdCIpOw0KKyAgICAgICAgICAg
IHNob3VsZEJlKCJyZWFsS2V5RXZlbnQucmV0dXJuVmFsdWUiLCAiYXRLZXlFdmVudC5yZXR1cm5W
YWx1ZSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQuc2hpZnRLZXkiLCAi
YXRLZXlFdmVudC5zaGlmdEtleSIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZl
bnQuc3JjRWxlbWVudCIsICJhdEtleUV2ZW50LnNyY0VsZW1lbnQiKTsNCisgICAgICAgICAgICBz
aG91bGRCZSgicmVhbEtleUV2ZW50LnRhcmdldCIsICJhdEtleUV2ZW50LnRhcmdldCIpOw0KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJyZWFsS2V5RXZlbnQudHlwZSIsICJhdEtleUV2ZW50LnR5cGUi
KTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LndoaWNoIiwgImF0S2V5RXZl
bnQud2hpY2giKTsNCisgICAgICAgICAgICBzaG91bGRCZSgicmVhbEtleUV2ZW50LndpbmRvd1By
b3h5IiwgImF0S2V5RXZlbnQud2luZG93UHJveHkiKTsNCisgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7DQorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7DQor
DQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2xpZGVyIikuYWRkRXZlbnRMaXN0
ZW5lcigna2V5ZG93bicsIGhhbmRsZUtleURvd24pOw0KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInNsaWRlciIpLmZvY3VzKCk7DQorICAgICAgICANCisgICAgICAgIC8vIEdldCB0
aGUgcGFyZW50IGVsZW1lbnQuDQorICAgICAgICB2YXIgYXhTbGlkZXIgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInNsaWRlciIpOw0KKw0KKyAgICAgICAg
Ly8gR2VuZXJhdGUgYSBBVCBiYXNlZCBrZXkgZXZlbnQuDQorICAgICAgICBkZWJ1ZygiU2VuZGlu
ZyBBVCBldmVudCIpOw0KKyAgICAgICAgYXhTbGlkZXIuaW5jcmVtZW50KCk7DQorDQorICAgICAg
ICAvLyBHZW5lcmF0ZSBhIHJlYWwga2V5IGV2ZW50Lg0KKyAgICAgICAgZGVidWcoIlNlbmRpbmcg
cmVhbCBldmVudCIpOw0KKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigicmlnaHRBcnJvdyIp
Ow0KKyAgICB9DQorPC9zY3JpcHQ+DQorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdp
dGgtbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
a2V5ZXZlbnRzLWZvci1pbmNyZW1lbnQtYWN0aW9ucy13aXRoLW5vZGUtcmVtb3ZhbC1leHBlY3Rl
ZC50eHQNCmluZGV4IGRiM2M5NGY5NjhmMi4uYzZhYzRlNTliZWRkIDEwMDY0NA0KLS0tIGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdp
dGgtbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdpdGgtbm9kZS1yZW1vdmFsLWV4
cGVjdGVkLnR4dA0KQEAgLTMsNyArMyw3IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIGlmIGEga2V5
ZG93biBldmVudCByZW1vdmVzIHRoZSBub2RlLCBiYWQgdGhpbmdzIGRvbid0IGhhcHBlDQogT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLg0KIA0KIA0KLUtleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZp
ZXI6IHJpZ2h0IGtleSBuYW1lOiBBcnJvd1JpZ2h0DQorS2V5Y29kZSByZWNlaXZlZDogaWRlbnRp
ZmllcjogUmlnaHQga2V5IG5hbWU6IEFycm93UmlnaHQNCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlDQogDQogVEVTVCBDT01QTEVURQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkva2V5ZXZlbnRzLXBvc3RlZC1mb3ItaW5jcmVtZW50LWFjdGlvbnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtcG9zdGVkLWZvci1p
bmNyZW1lbnQtYWN0aW9ucy1leHBlY3RlZC50eHQNCmluZGV4IGRmMjJjOTIzZDMwMC4uZDQwYzI5
ZDcwNzg1IDEwMDY0NA0KLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9rZXlldmVudHMt
cG9zdGVkLWZvci1pbmNyZW1lbnQtYWN0aW9ucy1leHBlY3RlZC50eHQNCisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkva2V5ZXZlbnRzLXBvc3RlZC1mb3ItaW5jcmVtZW50LWFjdGlvbnMt
ZXhwZWN0ZWQudHh0DQpAQCAtNSwxOCArNSwxOCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQ0K
IA0KIEluY3JlbWVudC9EZWNyZW1lbnQgLSBMVFINCiBIb3Jpem9udGFsIG9yaWVudGF0aW9uDQot
S2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjogcmlnaHQga2V5IG5hbWU6IEFycm93UmlnaHQg
a2V5IGNvZGU6IDM5DQotS2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjogbGVmdCBrZXkgbmFt
ZTogQXJyb3dMZWZ0IGtleSBjb2RlOiAzNw0KK0tleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZpZXI6
IFJpZ2h0IGtleSBuYW1lOiBBcnJvd1JpZ2h0IGtleSBjb2RlOiAzOQ0KK0tleWNvZGUgcmVjZWl2
ZWQ6IGlkZW50aWZpZXI6IExlZnQga2V5IG5hbWU6IEFycm93TGVmdCBrZXkgY29kZTogMzcNCiBW
ZXJ0aWNhbCBvcmllbnRhdGlvbg0KLUtleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZpZXI6IHVwIGtl
eSBuYW1lOiBBcnJvd1VwIGtleSBjb2RlOiAzOA0KLUtleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZp
ZXI6IGRvd24ga2V5IG5hbWU6IEFycm93RG93biBrZXkgY29kZTogNDANCitLZXljb2RlIHJlY2Vp
dmVkOiBpZGVudGlmaWVyOiBVcCBrZXkgbmFtZTogQXJyb3dVcCBrZXkgY29kZTogMzgNCitLZXlj
b2RlIHJlY2VpdmVkOiBpZGVudGlmaWVyOiBEb3duIGtleSBuYW1lOiBBcnJvd0Rvd24ga2V5IGNv
ZGU6IDQwDQogSW5jcmVtZW50L0RlY3JlbWVudCAtIFJUTA0KIEhvcml6b250YWwgb3JpZW50YXRp
b24NCi1LZXljb2RlIHJlY2VpdmVkOiBpZGVudGlmaWVyOiBsZWZ0IGtleSBuYW1lOiBBcnJvd0xl
ZnQga2V5IGNvZGU6IDM3DQotS2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjogcmlnaHQga2V5
IG5hbWU6IEFycm93UmlnaHQga2V5IGNvZGU6IDM5DQorS2V5Y29kZSByZWNlaXZlZDogaWRlbnRp
ZmllcjogTGVmdCBrZXkgbmFtZTogQXJyb3dMZWZ0IGtleSBjb2RlOiAzNw0KK0tleWNvZGUgcmVj
ZWl2ZWQ6IGlkZW50aWZpZXI6IFJpZ2h0IGtleSBuYW1lOiBBcnJvd1JpZ2h0IGtleSBjb2RlOiAz
OQ0KIFZlcnRpY2FsIG9yaWVudGF0aW9uDQotS2V5Y29kZSByZWNlaXZlZDogaWRlbnRpZmllcjog
dXAga2V5IG5hbWU6IEFycm93VXAga2V5IGNvZGU6IDM4DQotS2V5Y29kZSByZWNlaXZlZDogaWRl
bnRpZmllcjogZG93biBrZXkgbmFtZTogQXJyb3dEb3duIGtleSBjb2RlOiA0MA0KK0tleWNvZGUg
cmVjZWl2ZWQ6IGlkZW50aWZpZXI6IFVwIGtleSBuYW1lOiBBcnJvd1VwIGtleSBjb2RlOiAzOA0K
K0tleWNvZGUgcmVjZWl2ZWQ6IGlkZW50aWZpZXI6IERvd24ga2V5IG5hbWU6IEFycm93RG93biBr
ZXkgY29kZTogNDANCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlDQogDQogVEVTVCBD
T01QTEVURQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMNCmluZGV4
IGRjMjlhM2M5ZjcwMC4uYTVkYjdlMDFmYmU0IDEwMDY0NA0KLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMNCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zDQpAQCAtMTM5NSw2ICsxMzk1LDcgQEAgYWNjZXNzaWJpbGl0eS9t
dWx0aXNlbGVjdC1saXN0LXJlcG9ydHMtYWN0aXZlLW9wdGlvbi5odG1sIFsgU2tpcCBdDQogYWNj
ZXNzaWJpbGl0eS9rZXlldmVudHMtZm9yLWluY3JlbWVudC1hY3Rpb25zLXdpdGgtbm9kZS1yZW1v
dmFsLmh0bWwgWyBTa2lwIF0NCiBhY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1wb3N0ZWQtZm9yLWlu
Y3JlbWVudC1hY3Rpb25zLmh0bWwgWyBTa2lwIF0NCiBhY2Nlc3NpYmlsaXR5L2tleWV2ZW50cy1w
b3N0ZWQtZm9yLWRpc21pc3MtYWN0aW9uLmh0bWwgWyBTa2lwIF0NCithY2Nlc3NpYmlsaXR5L2tl
eWV2ZW50cy1mb3ItYWN0aW9ucy1taW1pYy1yZWFsLWtleS1ldmVudHMuaHRtbCBbIFNraXAgXQ0K
IA0KIHdlYmtpdC5vcmcvYi8xNDA3OTYgYWNjZXNzaWJpbGl0eS9hbHQtdGFnLW9uLWltYWdlLXdp
dGgtbm9uaW1hZ2Utcm9sZS5odG1sIFsgU2tpcCBdDQogd2Via2l0Lm9yZy9iLzE0MDc5OCBhY2Nl
c3NpYmlsaXR5L2FyaWEtY29udHJvbHMtd2l0aC10YWJzLmh0bWwgWyBTa2lwIF0NCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cN
CmluZGV4IGMzYWM2YTY3MDA2YS4uNWE4ZTIxZGZlMWUyIDEwMDY0NA0KLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cNCkBAIC0xLDMg
KzEsMzQgQEANCisyMDIxLTAxLTE5ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5j
b20+DQorDQorICAgICAgICBBWDogQVQtc3ludGhlc2l6ZWQga2V5IGV2ZW50cyBmb3IgY29tbW9u
IHVzZXIgYWN0aW9ucyAoaW5jcmVtZW50L2RlY3JlbWVudCkgYXJlIGRldGVjdGFibHkgZGlmZmVy
ZW50IGluIG1hbnkgd2F5cywgcG90ZW50aWFsbHkgY2F1c2luZyBib3RoIHdlYiBhcHAgYnJlYWth
Z2UgYW5kIEFUIGlkZW50aWZpY2F0aW9uDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjc1DQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzMyNjM5
Nzc+DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAg
IFRlc3Q6IGFjY2Vzc2liaWxpdHkva2V5ZXZlbnRzLWZvci1hY3Rpb25zLW1pbWljLXJlYWwta2V5
LWV2ZW50cy5odG1sDQorDQorICAgICAgICBXaGVuIGFjY2Vzc2liaWxpdHkgcG9zdHMga2V5Ym9h
cmQgZXZlbnRzIGluIHJlc3BvbnNlIHRvIGF4IGFjdGlvbnMsIHRoZXkgc2hvdWxkIG1pbWljDQor
ICAgICAgICByZWFsIGtleSBldmVudHMgc28gYXMgdG8gYmUgaW5kaXN0aW5ndWlzaGFibGUuDQor
DQorICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9hb20vYmxvYi9naC1wYWdlcy9leHBs
YWluZXIubWQjZGVwcmVjYXRlZC1rZXlib2FyZGV2ZW50LW9iamVjdC1wcm9wZXJ0aWVzLW9wdGlv
bmFsDQorDQorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Qu
Y3BwOg0KKyAgICAgICAgKFdlYkNvcmU6OmRpc3BhdGNoU2ltdWxhdGVkS2V5Ym9hcmRVcERvd25F
dmVudCk6DQorICAgICAgICAoV2ViQ29yZTo6SW5pdGlhbGl6ZUxlZ2FjeUtleUluaXRQcm9wZXJ0
aWVzKToNCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6cGVyZm9y
bURpc21pc3NBY3Rpb24pOg0KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0Ojpwb3N0S2V5Ym9hcmRLZXlzRm9yVmFsdWVDaGFuZ2UpOg0KKyAgICAgICAgKiBkb20vS2V5
Ym9hcmRFdmVudC5jcHA6DQorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRFdmVudDo6S2V5Ym9h
cmRFdmVudCk6DQorICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRFdmVudDo6Y3JlYXRlKToNCisg
ICAgICAgICogZG9tL0tleWJvYXJkRXZlbnQuaDoNCisgICAgICAgICogZG9tL1VJRXZlbnQuY3Bw
Og0KKyAgICAgICAgKFdlYkNvcmU6OlVJRXZlbnQ6OlVJRXZlbnQpOg0KKyAgICAgICAgKiBkb20v
VUlFdmVudC5oOg0KKyAgICAgICAgKFdlYkNvcmU6OlVJRXZlbnQ6OmNyZWF0ZSk6DQorICAgICAg
ICAqIGRvbS9VSUV2ZW50V2l0aEtleVN0YXRlLmg6DQorICAgICAgICAoV2ViQ29yZTo6VUlFdmVu
dFdpdGhLZXlTdGF0ZTo6VUlFdmVudFdpdGhLZXlTdGF0ZSk6DQorDQogMjAyMS0wMS0xNiAgTmlr
b2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AaWdhbGlhLmNvbT4NCiANCiAgICAgICAgIFNl
cGFyYXRlIHNjcm9sbGluZyBjb2RlIG91dCBvZiBSZW5kZXJMYXllcg0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAN
CmluZGV4IDBmZjBkNDRhOTZmZC4uZGIzNjM0MDE3MmU3IDEwMDY0NA0KLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHANCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwDQpA
QCAtMzgsNiArMzgsNyBAQA0KICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VGFibGUuaCINCiAjaW5j
bHVkZSAiRWRpdGluZy5oIg0KICNpbmNsdWRlICJFbGVtZW50SXRlcmF0b3IuaCINCisjaW5jbHVk
ZSAiRXZlbnQuaCINCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIg0KICNpbmNsdWRlICJGbG9hdFJl
Y3QuaCINCiAjaW5jbHVkZSAiRnJhbWUuaCINCkBAIC0xMTA0LDI2ICsxMTA1LDM5IEBAIHN0YXRp
YyBib29sIGRpc3BhdGNoU2ltdWxhdGVkS2V5Ym9hcmRVcERvd25FdmVudChBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBvYmplY3QsIGNvDQogICAgIA0KICAgICBib29sIGhhbmRsZWQgPSBmYWxzZTsNCiAg
ICAgaWYgKGF1dG8qIG5vZGUgPSBvYmplY3QtPm5vZGUoKSkgew0KLSAgICAgICAgYXV0byBldmVu
dCA9IEtleWJvYXJkRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50LCBrZXlJ
bml0KTsNCisgICAgICAgIGF1dG8gZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLmtleWRvd25FdmVudCwga2V5SW5pdCwgRXZlbnQ6OklzVHJ1c3RlZDo6WWVzKTsNCiAg
ICAgICAgIG5vZGUtPmRpc3BhdGNoRXZlbnQoZXZlbnQpOw0KICAgICAgICAgaGFuZGxlZCB8PSBl
dmVudC0+ZGVmYXVsdEhhbmRsZWQoKTsNCiAgICAgfQ0KICAgICANCiAgICAgLy8gRW5zdXJlIG5v
ZGUgaXMgc3RpbGwgdmFsaWQgYW5kIHdhc24ndCByZW1vdmVkIGFmdGVyIHRoZSBrZXlkb3duLg0K
ICAgICBpZiAoYXV0byogbm9kZSA9IG9iamVjdC0+bm9kZSgpKSB7DQotICAgICAgICBhdXRvIGV2
ZW50ID0gS2V5Ym9hcmRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5rZXl1cEV2ZW50LCBrZXlJ
bml0KTsNCisgICAgICAgIGF1dG8gZXZlbnQgPSBLZXlib2FyZEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLmtleXVwRXZlbnQsIGtleUluaXQsIEV2ZW50OjpJc1RydXN0ZWQ6Olllcyk7DQogICAg
ICAgICBub2RlLT5kaXNwYXRjaEV2ZW50KGV2ZW50KTsNCiAgICAgICAgIGhhbmRsZWQgfD0gZXZl
bnQtPmRlZmF1bHRIYW5kbGVkKCk7DQogICAgIH0NCiAgICAgcmV0dXJuIGhhbmRsZWQ7DQogfQ0K
IA0KK3N0YXRpYyB2b2lkIEluaXRpYWxpemVMZWdhY3lLZXlJbml0UHJvcGVydGllcyhLZXlib2Fy
ZEV2ZW50OjpJbml0ICZrZXlJbml0LCBjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3Qp
DQorew0KKyAgICBrZXlJbml0LndoaWNoID0ga2V5SW5pdC5rZXlDb2RlOw0KKyAgICBrZXlJbml0
LmNvZGUgPSBrZXlJbml0LmtleTsNCisNCisgICAga2V5SW5pdC52aWV3ID0gb2JqZWN0LmRvY3Vt
ZW50KCktPndpbmRvd1Byb3h5KCk7DQorICAgIGtleUluaXQuY2FuY2VsYWJsZSA9IHRydWU7DQor
ICAgIGtleUluaXQuY29tcG9zZWQgPSB0cnVlOw0KKyAgICBrZXlJbml0LmJ1YmJsZXMgPSB0cnVl
Ow0KK30NCisNCiBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpwZXJmb3JtRGlzbWlzc0Fj
dGlvbigpDQogew0KICAgICBhdXRvIGtleUluaXQgPSBLZXlib2FyZEV2ZW50OjpJbml0KCk7DQog
ICAgIGtleUluaXQua2V5ID0gIkVzY2FwZSJfczsNCiAgICAga2V5SW5pdC5rZXlDb2RlID0gMHgx
YjsNCi0gICAgDQorICAgIGtleUluaXQua2V5SWRlbnRpZmllciA9ICJVKzAwMUIiX3M7DQorICAg
IEluaXRpYWxpemVMZWdhY3lLZXlJbml0UHJvcGVydGllcyhrZXlJbml0LCAqdGhpcyk7DQorDQog
ICAgIHJldHVybiBkaXNwYXRjaFNpbXVsYXRlZEtleWJvYXJkVXBEb3duRXZlbnQodGhpcywga2V5
SW5pdCk7DQogfQ0KIA0KQEAgLTExMzQsMTAgKzExNDgsMTMgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdDo6cG9zdEtleWJvYXJkS2V5c0ZvclZhbHVlQ2hhbmdlKGJvb2wgaW5jcmVhc2Up
DQogICAgIGJvb2wgdmVydGljYWwgPSBvcmllbnRhdGlvbigpID09IEFjY2Vzc2liaWxpdHlPcmll
bnRhdGlvbjo6VmVydGljYWw7DQogICAgIGJvb2wgaXNMVFIgPSBwYWdlKCktPnVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb24oKSA9PSBVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpMVFI7
DQogICAgIA0KKyAgICAvLyBUaGUgZ29hbCBpcyB0byBtaW1pYyBleGlzdGluZyBrZXlib2FyZCBk
aXNwYXRjaCBjb21wbGV0ZWx5LCBzbyB0aGF0IHRoaXMgaXMgaW5kaXN0aW5ndWlzaGFibGUgZnJv
bSBhIHJlYWwga2V5IHByZXNzLg0KICAgICB0eXBlZGVmIGVudW0geyBsZWZ0ID0gMzcsIHVwID0g
MzgsIHJpZ2h0ID0gMzksIGRvd24gPSA0MCB9IGtleUNvZGU7DQogICAgIGtleUluaXQua2V5ID0g
aW5jcmVhc2UgPyAodmVydGljYWwgPyAiQXJyb3dVcCJfcyA6IChpc0xUUiA/ICJBcnJvd1JpZ2h0
Il9zIDogIkFycm93TGVmdCJfcykpIDogKHZlcnRpY2FsID8gIkFycm93RG93biJfcyA6IChpc0xU
UiA/ICJBcnJvd0xlZnQiX3MgOiAiQXJyb3dSaWdodCJfcykpOw0KICAgICBrZXlJbml0LmtleUNv
ZGUgPSBpbmNyZWFzZSA/ICh2ZXJ0aWNhbCA/IGtleUNvZGU6OnVwIDogKGlzTFRSID8ga2V5Q29k
ZTo6cmlnaHQgOiBrZXlDb2RlOjpsZWZ0KSkgOiAodmVydGljYWwgPyBrZXlDb2RlOjpkb3duIDog
KGlzTFRSID8ga2V5Q29kZTo6bGVmdCA6IGtleUNvZGU6OnJpZ2h0KSk7DQotICAgIGtleUluaXQu
a2V5SWRlbnRpZmllciA9IGluY3JlYXNlID8gKHZlcnRpY2FsID8gInVwIl9zIDogKGlzTFRSID8g
InJpZ2h0Il9zIDogImxlZnQiX3MpKSA6ICh2ZXJ0aWNhbCA/ICJkb3duIl9zIDogKGlzTFRSID8g
ImxlZnQiX3MgOiAicmlnaHQiX3MpKTsNCisgICAga2V5SW5pdC5rZXlJZGVudGlmaWVyID0gaW5j
cmVhc2UgPyAodmVydGljYWwgPyAiVXAiX3MgOiAoaXNMVFIgPyAiUmlnaHQiX3MgOiAiTGVmdCJf
cykpIDogKHZlcnRpY2FsID8gIkRvd24iX3MgOiAoaXNMVFIgPyAiTGVmdCJfcyA6ICJSaWdodCJf
cykpOw0KKw0KKyAgICBJbml0aWFsaXplTGVnYWN5S2V5SW5pdFByb3BlcnRpZXMoa2V5SW5pdCwg
KnRoaXMpOw0KIA0KICAgICByZXR1cm4gZGlzcGF0Y2hTaW11bGF0ZWRLZXlib2FyZFVwRG93bkV2
ZW50KHRoaXMsIGtleUluaXQpOw0KIH0NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
S2V5Ym9hcmRFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5jcHAN
CmluZGV4IDdkNTZlYjZmNGNmYi4uYjg3ZmYzZWJiYmM3IDEwMDY0NA0KLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuY3BwDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5
Ym9hcmRFdmVudC5jcHANCkBAIC0xMjEsOCArMTIxLDggQEAgaW5saW5lIEtleWJvYXJkRXZlbnQ6
OktleWJvYXJkRXZlbnQoY29uc3QgUGxhdGZvcm1LZXlib2FyZEV2ZW50JiBrZXksIFJlZlB0cjxX
aW4NCiB7DQogfQ0KIA0KLWlubGluZSBLZXlib2FyZEV2ZW50OjpLZXlib2FyZEV2ZW50KGNvbnN0
IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgSW5pdCYgaW5pdGlhbGl6ZXIpDQotICAgIDog
VUlFdmVudFdpdGhLZXlTdGF0ZShldmVudFR5cGUsIGluaXRpYWxpemVyKQ0KK2lubGluZSBLZXli
b2FyZEV2ZW50OjpLZXlib2FyZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgY29u
c3QgSW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpDQorICAgIDogVUlFdmVu
dFdpdGhLZXlTdGF0ZShldmVudFR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpDQogICAgICwg
bV9rZXkoaW5pdGlhbGl6ZXIua2V5KQ0KICAgICAsIG1fY29kZShpbml0aWFsaXplci5jb2RlKQ0K
ICAgICAsIG1fa2V5SWRlbnRpZmllcihpbml0aWFsaXplci5rZXlJZGVudGlmaWVyKQ0KQEAgLTE0
Nyw5ICsxNDcsOSBAQCBSZWY8S2V5Ym9hcmRFdmVudD4gS2V5Ym9hcmRFdmVudDo6Y3JlYXRlRm9y
QmluZGluZ3MoKQ0KICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBLZXlib2FyZEV2ZW50KTsNCiB9
DQogDQotUmVmPEtleWJvYXJkRXZlbnQ+IEtleWJvYXJkRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9t
U3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplcikNCitSZWY8S2V5Ym9hcmRFdmVu
dD4gS2V5Ym9hcmRFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IElu
aXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQ0KIHsNCi0gICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgS2V5Ym9hcmRFdmVudCh0eXBlLCBpbml0aWFsaXplcikpOw0KKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBLZXlib2FyZEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0
ZWQpKTsNCiB9DQogDQogdm9pZCBLZXlib2FyZEV2ZW50Ojppbml0S2V5Ym9hcmRFdmVudChjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBSZWZQ
dHI8V2luZG93UHJveHk+JiYgdmlldywNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
S2V5Ym9hcmRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaA0KaW5k
ZXggOGQ1ZDlmMzhjNDUxLi43YjY1ZWViOGFhNjUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vS2V5Ym9hcmRFdmVudC5oDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRF
dmVudC5oDQpAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6DQogICAgICAgICB1bnNpZ25lZCB3aGlj
aDsNCiAgICAgfTsNCiANCi0gICAgc3RhdGljIFJlZjxLZXlib2FyZEV2ZW50PiBjcmVhdGUoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYpOw0KKyAgICBzdGF0aWMgUmVmPEtleWJv
YXJkRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiwgSXNU
cnVzdGVkID0gSXNUcnVzdGVkOjpObyk7DQogDQogICAgIHZpcnR1YWwgfktleWJvYXJkRXZlbnQo
KTsNCiAgICAgDQpAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWM6DQogcHJpdmF0ZToNCiAgICAgS2V5
Ym9hcmRFdmVudCgpOw0KICAgICBLZXlib2FyZEV2ZW50KGNvbnN0IFBsYXRmb3JtS2V5Ym9hcmRF
dmVudCYsIFJlZlB0cjxXaW5kb3dQcm94eT4mJik7DQotICAgIEtleWJvYXJkRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYsIGNvbnN0IEluaXQmKTsNCisgICAgS2V5Ym9hcmRFdmVudChjb25zdCBBdG9t
U3RyaW5nJiwgY29uc3QgSW5pdCYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOw0KIA0KICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1LZXlib2FyZEV2ZW50PiBtX3VuZGVybHlpbmdQbGF0
Zm9ybUV2ZW50Ow0KICAgICBTdHJpbmcgbV9rZXk7DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1VJRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwDQppbmRl
eCBiOTllNGNiMjQ2NzIuLjg0YmUwNTQwOTdhNCAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9VSUV2ZW50LmNwcA0KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwDQpA
QCAtNDksOCArNDksOCBAQCBVSUV2ZW50OjpVSUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50
VHlwZSwgQ2FuQnViYmxlIGNhbkJ1YmJsZSwgSXNDYW5jZWxhYmxlDQogew0KIH0NCiANCi1VSUV2
ZW50OjpVSUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgVUlFdmVudElu
aXQmIGluaXRpYWxpemVyKQ0KLSAgICA6IEV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIsIElz
VHJ1c3RlZDo6Tm8pDQorVUlFdmVudDo6VUlFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIGNvbnN0IFVJRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkN
CisgICAgOiBFdmVudChldmVudFR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpDQogICAgICwg
bV92aWV3KGluaXRpYWxpemVyLnZpZXcuZ2V0KCkpDQogICAgICwgbV9kZXRhaWwoaW5pdGlhbGl6
ZXIuZGV0YWlsKQ0KIHsNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaA0KaW5kZXggOWY3Yjk2OWIzY2ZjLi40ZDcy
MTA1OWVlNGUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oDQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oDQpAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6
DQogICAgIHsNCiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVJRXZlbnQpOw0KICAgICB9
DQotICAgIHN0YXRpYyBSZWY8VUlFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IGNvbnN0IFVJRXZlbnRJbml0JiBpbml0aWFsaXplcikNCisgICAgc3RhdGljIFJlZjxVSUV2ZW50
PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgVUlFdmVudEluaXQmIGluaXRp
YWxpemVyLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5vKQ0KICAgICB7DQogICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVyKSk7DQogICAgIH0NCkBA
IC02OSw3ICs2OSw3IEBAIHByb3RlY3RlZDoNCiANCiAgICAgVUlFdmVudChjb25zdCBBdG9tU3Ry
aW5nJiB0eXBlLCBDYW5CdWJibGUsIElzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZCwgUmVmUHRyPFdp
bmRvd1Byb3h5PiYmLCBpbnQgZGV0YWlsKTsNCiAgICAgVUlFdmVudChjb25zdCBBdG9tU3RyaW5n
JiB0eXBlLCBDYW5CdWJibGUsIElzQ2FuY2VsYWJsZSwgSXNDb21wb3NlZCwgTW9ub3RvbmljVGlt
ZSB0aW1lc3RhbXAsIFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgaW50IGRldGFpbCwgSXNUcnVzdGVk
ID0gSXNUcnVzdGVkOjpZZXMpOw0KLSAgICBVSUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBjb25z
dCBVSUV2ZW50SW5pdCYpOw0KKyAgICBVSUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBV
SUV2ZW50SW5pdCYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOw0KIA0KIHByaXZhdGU6DQog
ICAgIGJvb2wgaXNVSUV2ZW50KCkgY29uc3QgZmluYWw7DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2
ZW50V2l0aEtleVN0YXRlLmgNCmluZGV4IGQ4MmU5YWFmNTVjOS4uZTg4NzVkYzA0MGZmIDEwMDY0
NA0KLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaA0KKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaA0KQEAgLTYyLDggKzYyLDgg
QEAgcHJvdGVjdGVkOg0KICAgICB7DQogICAgIH0NCiANCi0gICAgVUlFdmVudFdpdGhLZXlTdGF0
ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBFdmVudE1vZGlmaWVySW5pdCYgaW5pdGlh
bGl6ZXIpDQotICAgICAgICA6IFVJRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpDQorICAgIFVJRXZl
bnRXaXRoS2V5U3RhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgRXZlbnRNb2RpZmll
ckluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObykN
CisgICAgICAgIDogVUlFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQ0KICAgICAg
ICAgLCBtX21vZGlmaWVycyhtb2RpZmllcnNGcm9tSW5pdGlhbGl6ZXIoaW5pdGlhbGl6ZXIpKQ0K
ICAgICB7DQogICAgIH0NCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>