<?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>113247</bug_id>
          
          <creation_ts>2013-03-25 16:04:33 -0700</creation_ts>
          <short_desc>[v8] Binding integrity: add ScriptWrappable::init() and call it.</short_desc>
          <delta_ts>2013-05-02 11:49:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>112191</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thomas Sepez">tsepez</reporter>
          <assigned_to name="Thomas Sepez">tsepez</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>philn</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>863131</commentid>
    <comment_count>0</comment_count>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2013-03-25 16:04:33 -0700</bug_when>
    <thetext>First part of multiple part patch to address bug 112191.

Adds stubs to ScriptWrappable.h and calls them in the appropriate places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863170</commentid>
    <comment_count>1</comment_count>
      <attachid>194948</attachid>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2013-03-25 16:51:12 -0700</bug_when>
    <thetext>Created attachment 194948
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863186</commentid>
    <comment_count>2</comment_count>
      <attachid>194954</attachid>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2013-03-25 17:07:09 -0700</bug_when>
    <thetext>Created attachment 194954
Patch, correct method name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863190</commentid>
    <comment_count>3</comment_count>
      <attachid>194955</attachid>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2013-03-25 17:13:09 -0700</bug_when>
    <thetext>Created attachment 194955
Patch, add missing newline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866648</commentid>
    <comment_count>4</comment_count>
      <attachid>194955</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-30 11:30:56 -0700</bug_when>
    <thetext>Comment on attachment 194955
Patch, add missing newline.

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

This patch does too much.  We should just add the call to init in the first patch.

&gt; Source/WebCore/bindings/v8/ScriptWrappable.h:138
&gt; +    template &lt;typename T&gt;static void init(T* object) { }

In debug, we should set a bool on this object to ensure that init is always called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883866</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-02 11:49:08 -0700</bug_when>
    <thetext>V8 is gone from WebKit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194948</attachid>
            <date>2013-03-25 16:51:12 -0700</date>
            <delta_ts>2013-03-25 17:07:09 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch_113247.txt</filename>
            <type>text/plain</type>
            <size>199594</size>
            <attacher name="Thomas Sepez">tsepez</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NjgyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5NiBAQAorMjAxMy0wMy0yNSAgVG9tIFNl
cGV6ICA8dHNlcGV6QGNocm9taXVtLm9yZz4KKworICAgICAgICBbdjhdIEJpbmRpbmcgaW50ZWdy
aXR5OiBhZGQgU2NyaXB0V3JhcHBhYmxlOjppbml0KCkgYW5kIGNhbGwgaXQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTMyNDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBpcyBjb3JyZWN0IGlm
IFdLIHN0aWxsIGJ1aWxkcy4KKworICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246Okdlb2xvY2F0aW9uKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCQW55OjpJREJBbnkpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OklEQkN1cnNvcik6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yV2l0aFZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQkN1cnNvcldpdGhWYWx1ZTo6SURCQ3Vyc29yV2l0aFZhbHVlKToKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
REJEYXRhYmFzZTo6SURCRGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lE
QkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeTo6SURCRmFjdG9yeSk6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCSW5kZXg6OklEQkluZGV4KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9J
REJLZXlSYW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXlSYW5nZTo6SURCS2V5UmFu
Z2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpJREJPYmplY3RTdG9yZSk6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJPcGVuREJSZXF1ZXN0OjpJREJPcGVuREJSZXF1ZXN0KToKKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3Q6OklEQlJlcXVlc3QpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpJREJUcmFuc2FjdGlv
bik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlZlcnNpb25DaGFuZ2VFdmVudDo6SURCVmVyc2lvbkNo
YW5nZUV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1FdmVudDo6TWVkaWFTdHJlYW1F
dmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0V2ZW50OjpNZWRpYVN0
cmVhbVRyYWNrRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlRv
bmVDaGFuZ2VFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GVG9uZUNoYW5nZUV2
ZW50OjpSVENEVE1GVG9uZUNoYW5nZUV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNo
YW5uZWxFdmVudDo6UlRDRGF0YUNoYW5uZWxFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENJ
Y2VDYW5kaWRhdGVFdmVudDo6UlRDSWNlQ2FuZGlkYXRlRXZlbnQpOgorICAgICAgICAqIE1vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90
aWZpY2F0aW9uOjpOb3RpZmljYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uRXJyb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRp
b25FcnJvcjo6U3BlZWNoUmVjb2duaXRpb25FcnJvcik6CisgICAgICAgICogTW9kdWxlcy9zcGVl
Y2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hS
ZWNvZ25pdGlvbkV2ZW50OjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQ6On5TcGVlY2hSZWNvZ25pdGlvbkV2ZW50KToKKyAg
ICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXNFdmVudDo6U3BlZWNoU3ludGhlc2lzRXZlbnQpOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ6Ok9m
ZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYnNvY2tldHMvQ2xvc2VFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
c2VFdmVudDo6Q2xvc2VFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0V3JhcHBh
YmxlLmg6CisgICAgICAgIChTY3JpcHRXcmFwcGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0V3JhcHBhYmxlOjppbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6
aW5pdEN1c3RvbSk6CisgICAgICAgICogYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpET01EYXRhU3RvcmU6OmdldFdyYXBwZXJGYXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTURhdGFTdG9yZTo6Z2V0V3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpET01E
YXRhU3RvcmU6OmdldFdyYXBwZXJGb3JNYWluV29ybGQpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
RGF0YVN0b3JlOjpzZXRXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6
Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6c2V0KToKKyAgICAgICAgKERP
TURhdGFTdG9yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0V3JhcHBhYmxlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OlNjcmlwdFdyYXBwYWJsZSk6CisgICAg
ICAgIChTY3JpcHRXcmFwcGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxl
Ojp+U2NyaXB0V3JhcHBhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6
d3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OnNldFdyYXBwZXIp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxlOjp0eXBlSW5mbyk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OnNldFR5cGVJbmZvKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdFdyYXBwYWJsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0V3JhcHBhYmxlOjp3cmFwcGVyQ2FuQmVTdG9yZWRJbk9iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OmdldFdyYXBwZXJGcm9tT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6c2V0V3JhcHBlckluT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6Z2V0VHlwZUluZm9Gcm9tT2JqZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6c2V0VHlwZUluZm9Jbk9iamVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OmluaXQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0V3JhcHBhYmxlOjppbml0Q3VzdG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFdyYXBwYWJsZTo6bWFza09yVW5tYXNrVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
V3JhcHBhYmxlOjpjb250YWluc1R5cGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdy
YXBwYWJsZTo6Y29udGFpbnNXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBw
YWJsZTo6ZGlzcG9zZVdyYXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxl
Ojp3ZWFrQ2FsbGJhY2spOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZUxvYWRFdmVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZUxvYWRFdmVudDo6Q1NTRm9udEZhY2VMb2Fk
RXZlbnQpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVJ1bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTRm9udEZhY2VSdWxlOjpDU1NGb250RmFjZVJ1bGUpOgorICAgICAgICAqIGNzcy9D
U1NTdHlsZURlY2xhcmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZURlY2xhcmF0
aW9uOjpDU1NTdHlsZURlY2xhcmF0aW9uKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTTWF0cml4
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU01hdHJpeDo6V2ViS2l0Q1NTTWF0cml4
KToKKyAgICAgICAgKiBkb20vQXR0ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdHRyOjpBdHRy
KToKKyAgICAgICAgKiBkb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6QXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6QXV0b2NvbXBsZXRlRXJyb3JFdmVudCk6Cisg
ICAgICAgICogZG9tL0JlZm9yZUxvYWRFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6QmVmb3Jl
TG9hZEV2ZW50OjpCZWZvcmVMb2FkRXZlbnQpOgorICAgICAgICAqIGRvbS9DREFUQVNlY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0RBVEFTZWN0aW9uOjpDREFUQVNlY3Rpb24pOgorICAg
ICAgICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJE
YXRhOjpDaGFyYWN0ZXJEYXRhKToKKyAgICAgICAgKiBkb20vQ2xpZW50UmVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDbGllbnRSZWN0OjpDbGllbnRSZWN0KToKKyAgICAgICAgKiBkb20vQ29t
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21tZW50OjpDb21tZW50KToKKyAgICAgICAg
KiBkb20vQ29tcG9zaXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGlv
bkV2ZW50OjpDb21wb3NpdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxlbWVudENv
bnN0cnVjdG9yLmlkbDoKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KToKKyAgICAgICAgKiBkb20vRE9NSW1w
bGVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NSW1wbGVtZW50YXRpb246OkRP
TUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBkb20vRE9NU3RyaW5nTWFwLmg6CisgICAgICAg
IChXZWJDb3JlOjpET01TdHJpbmdNYXA6OkRPTVN0cmluZ01hcCk6CisgICAgICAgICogZG9tL0Rl
dmljZU1vdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkV2ZW50
OjpEZXZpY2VNb3Rpb25FdmVudCk6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNl
T3JpZW50YXRpb25FdmVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpOb2RlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRG
cmFnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudEZyYWdtZW50OjpEb2N1bWVu
dEZyYWdtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VHlwZTo6RG9jdW1lbnRUeXBlKToKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6RWxlbWVudCk6CisgICAgICAgICogZG9t
L0VudGl0eS5oOgorICAgICAgICAoV2ViQ29yZTo6RW50aXR5OjpFbnRpdHkpOgorICAgICAgICAq
IGRvbS9FbnRpdHlSZWZlcmVuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW50aXR5UmVmZXJl
bmNlOjpFbnRpdHlSZWZlcmVuY2UpOgorICAgICAgICAqIGRvbS9FcnJvckV2ZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVycm9yRXZlbnQ6OkVycm9yRXZlbnQpOgorICAgICAgICAqIGRvbS9F
dmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6RXZlbnQpOgorICAgICAgICAqIGRv
bS9Gb2N1c0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OkZvY3VzRXZl
bnQpOgorICAgICAgICAqIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
Okhhc2hDaGFuZ2VFdmVudDo6SGFzaENoYW5nZUV2ZW50KToKKyAgICAgICAgKiBkb20vS2V5Ym9h
cmRFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLZXlib2FyZEV2ZW50OjpLZXlib2FyZEV2
ZW50KToKKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lc3NhZ2VFdmVudDo6TWVzc2FnZUV2ZW50KToKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KToKKyAgICAgICAg
KiBkb20vTXV0YXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbkV2ZW50
OjpNdXRhdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmg6CisgICAgICAg
IChXZWJDb3JlOjpOYW1lZE5vZGVNYXA6Ok5hbWVkTm9kZU1hcCk6CisgICAgICAgICogZG9tL05v
ZGVJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlSXRlcmF0b3I6Ok5vZGVJdGVy
YXRvcik6CisgICAgICAgICogZG9tL05vZGVMaXN0Lmg6CisgICAgICAgIChOb2RlTGlzdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdDo6Tm9kZUxpc3QpOgorICAgICAgICAqIGRvbS9Ob3Rh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RhdGlvbjo6Tm90YXRpb24pOgorICAgICAg
ICAqIGRvbS9PdmVyZmxvd0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok92ZXJmbG93RXZl
bnQ6Ok92ZXJmbG93RXZlbnQpOgorICAgICAgICAqIGRvbS9QYWdlVHJhbnNpdGlvbkV2ZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VUcmFuc2l0aW9uRXZlbnQ6OlBhZ2VUcmFuc2l0aW9u
RXZlbnQpOgorICAgICAgICAqIGRvbS9Qb3BTdGF0ZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBvcFN0YXRlRXZlbnQ6OlBvcFN0YXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9Qcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0luc3RydWN0
aW9uOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pOgorICAgICAgICAqIGRvbS9Qcm9ncmVzc0V2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNzRXZlbnQ6OlByb2dyZXNzRXZlbnQpOgor
ICAgICAgICAqIGRvbS9Qcm9wZXJ0eU5vZGVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBy
b3BlcnR5Tm9kZUxpc3Q6OlByb3BlcnR5Tm9kZUxpc3QpOgorICAgICAgICAqIGRvbS9TaGFkb3dS
b290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QpOgorICAg
ICAgICAqIGRvbS9UZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0OjpUZXh0KToKKyAgICAg
ICAgKiBkb20vVGV4dEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6VGV4
dEV2ZW50KToKKyAgICAgICAgKiBkb20vVG91Y2hFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUb3VjaEV2ZW50OjpUb3VjaEV2ZW50KToKKyAgICAgICAgKiBkb20vVHJhbnNpdGlvbkV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zaXRpb25FdmVudDo6VHJhbnNpdGlvbkV2ZW50
KToKKyAgICAgICAgKiBkb20vVHJlZVdhbGtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmVl
V2Fsa2VyOjpUcmVlV2Fsa2VyKToKKyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpVSUV2ZW50OjpVSUV2ZW50KToKKyAgICAgICAgKiBkb20vV2ViS2l0QW5pbWF0
aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0QW5pbWF0aW9uRXZlbnQ6Oldl
YktpdEFuaW1hdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdFRyYW5zaXRpb25FdmVudDo6V2ViS2l0VHJh
bnNpdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vV2hlZWxFdmVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KToKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QmxvYjo6QmxvYik6CisgICAgICAgICogZmlsZWFwaS9G
aWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OkZpbGUpOgorICAgICAgICAqIGZpbGVh
cGkvRmlsZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxpc3Q6OkZpbGVMaXN0KToK
KyAgICAgICAgKiBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxBbGxDb2xsZWN0aW9uOjpIVE1MQWxsQ29sbGVjdGlvbik6CisgICAgICAgICogaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVu
dDo6SFRNTEFuY2hvckVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFwcGxldEVsZW1lbnQ6OkhUTUxBcHBsZXRFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQXJlYUVsZW1lbnQ6OkhUTUxBcmVhRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MQXVkaW9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBdWRpb0VsZW1lbnQ6
OkhUTUxBdWRpb0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEJSRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQlJFbGVtZW50OjpIVE1MQlJFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxCYXNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQmFzZUVs
ZW1lbnQ6OkhUTUxCYXNlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUZvbnRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRm9udEVsZW1lbnQ6OkhUTUxCYXNl
Rm9udEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6SFRNTEJvZHlFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxCdXR0b25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCdXR0
b25FbGVtZW50OjpIVE1MQnV0dG9uRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6SFRNTENh
bnZhc0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTENvbGxlY3Rpb246OkhUTUxDb2xsZWN0aW9uKToKKyAgICAgICAgKiBo
dG1sL0hUTUxETGlzdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERMaXN0RWxl
bWVudDo6SFRNTERMaXN0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRGF0YUxpc3RFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEYXRhTGlzdEVsZW1lbnQ6OkhUTUxEYXRh
TGlzdEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEZXRhaWxzRWxlbWVudDo6SFRNTERldGFpbHNFbGVtZW50KToK
KyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxEaWFsb2dFbGVtZW50OjpIVE1MRGlhbG9nRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MRGlyZWN0b3J5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlyZWN0b3J5
RWxlbWVudDo6SFRNTERpcmVjdG9yeUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTERpdkVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpdkVsZW1lbnQ6OkhUTUxEaXZFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRG9jdW1lbnQ6OkhUTUxEb2N1bWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVt
ZW50OjpIVE1MRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6OkhUTUxFbWJlZEVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRmllbGRTZXRFbGVtZW50OjpIVE1MRmllbGRTZXRFbGVtZW50KToKKyAgICAgICAgKiBo
dG1sL0hUTUxGb250RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9udEVsZW1l
bnQ6OkhUTUxGb250RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29s
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlv
bjo6SFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24pOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6SFRNTEZvcm1F
bGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZyYW1lRWxlbWVudDo6SFRNTEZyYW1lRWxlbWVudCk6CisgICAgICAgICog
aHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFt
ZVNldEVsZW1lbnQ6OkhUTUxGcmFtZVNldEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEhS
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSFJFbGVtZW50OjpIVE1MSFJFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxIZWFkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSGVhZEVsZW1lbnQ6OkhUTUxIZWFkRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MSGVhZGluZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEhlYWRpbmdFbGVt
ZW50OjpIVE1MSGVhZGluZ0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEh0bWxFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxIdG1sRWxlbWVudDo6SFRNTEh0bWxFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxJRnJhbWVFbGVtZW50OjpIVE1MSUZyYW1lRWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OkhUTUxJbWFnZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxLZXlnZW5FbGVtZW50OjpIVE1MS2V5Z2VuRWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MTElFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMSUVsZW1lbnQ6OkhU
TUxMSUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTGFiZWxFbGVtZW50OjpIVE1MTGFiZWxFbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxM
ZWdlbmRFbGVtZW50OjpIVE1MTGVnZW5kRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpIVE1MTGlu
a0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1hcEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1hcEVsZW1lbnQ6OkhUTUxNYXBFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxNYXJxdWVlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWFycXVlZUVs
ZW1lbnQ6OkhUTUxNYXJxdWVlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVs
ZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lbnVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZW51RWxlbWVudDo6SFRNTE1lbnVFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0YUVsZW1lbnQ6
OkhUTUxNZXRhRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvSFRNTE1vZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1vZEVsZW1lbnQ6OkhUTUxNb2RFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxPTGlzdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9MaXN0RWxlbWVudDo6SFRNTE9MaXN0
RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6SFRNTE9iamVjdEVsZW1lbnQpOgorICAgICAg
ICAqIGh0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
T3B0R3JvdXBFbGVtZW50OjpIVE1MT3B0R3JvdXBFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hU
TUxPcHRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50
OjpIVE1MT3B0aW9uRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpIVE1MT3B0
aW9uc0NvbGxlY3Rpb24pOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OkhUTUxPdXRwdXRFbGVtZW50KToK
KyAgICAgICAgKiBodG1sL0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJhZ3JhcGhFbGVtZW50OjpIVE1MUGFyYWdyYXBoRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MUGFyYW1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJh
bUVsZW1lbnQ6OkhUTUxQYXJhbUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFByZUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByZUVsZW1lbnQ6OkhUTUxQcmVFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6SFRNTFByb2dyZXNzRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MUXVvdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxRdW90
ZUVsZW1lbnQ6OkhUTUxRdW90ZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFNjcmlwdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdEVsZW1lbnQ6OkhUTUxTY3Jp
cHRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpIVE1MU2VsZWN0RWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
U291cmNlRWxlbWVudDo6SFRNTFNvdXJjZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFNw
YW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTcGFuRWxlbWVudDo6SFRNTFNw
YW5FbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6SFRNTFN0eWxlRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MVGFibGVDYXB0aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGFibGVDYXB0aW9uRWxlbWVudDo6SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQpOgorICAgICAg
ICAqIGh0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRhYmxlQ2VsbEVsZW1lbnQ6OkhUTUxUYWJsZUNlbGxFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxUYWJsZUNvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlQ29s
RWxlbWVudDo6SFRNTFRhYmxlQ29sRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZUVsZW1lbnQ6OkhUTUxUYWJs
ZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MVGFibGVSb3dFbGVtZW50OjpIVE1MVGFibGVSb3dFbGVtZW50KToK
KyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OjpIVE1MVGFibGVTZWN0aW9uRWxlbWVudCk6
CisgICAgICAgICogaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxUZW1wbGF0ZUVsZW1lbnQ6OkhUTUxUZW1wbGF0ZUVsZW1lbnQpOgorICAgICAgICAq
IGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4
dEFyZWFFbGVtZW50OjpIVE1MVGV4dEFyZWFFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxU
aXRsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRpdGxlRWxlbWVudDo6SFRN
TFRpdGxlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OkhUTUxUcmFja0VsZW1lbnQpOgorICAg
ICAgICAqIGh0bWwvSFRNTFVMaXN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VUxpc3RFbGVtZW50OjpIVE1MVUxpc3RFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxVbmtu
b3duRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFVua25vd25FbGVtZW50OjpIVE1M
VW5rbm93bkVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50OjpIVE1MVmlkZW9FbGVtZW50KToKKyAg
ICAgICAgKiBodG1sL01lZGlhS2V5RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlFdmVudDo6TWVkaWFLZXlFdmVudCk6CisgICAgICAgICogaHRtbC9SYWRpb05vZGVMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJhZGlvTm9kZUxpc3Q6OlJhZGlvTm9kZUxpc3QpOgorICAg
ICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlT
dGF0ZTo6VmFsaWRpdHlTdGF0ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0
OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMQ29udGV4dEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMQ29udGV4
dEV2ZW50OjpXZWJHTENvbnRleHRFdmVudCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNo
YWRvd0VsZW1lbnQ6OkhUTUxTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKiBodG1sL3RyYWNrL1Ry
YWNrRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6VHJhY2tFdmVudCk6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NQXBwbGljYXRpb25DYWNoZTo6RE9NQXBwbGljYXRpb25DYWNoZSk6
CisgICAgICAgICogcGFnZS9CYXJJbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhckluZm86
OkJhckluZm8pOgorICAgICAgICAqIHBhZ2UvQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDb25zb2xlOjpDb25zb2xlKToKKyAgICAgICAgKiBwYWdlL0NyeXB0by5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDcnlwdG86OkNyeXB0byk6CisgICAgICAgICogcGFnZS9IaXN0b3J5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okhpc3Rvcnk6Okhpc3RvcnkpOgorICAgICAgICAqIHBhZ2UvTG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9jYXRpb246OkxvY2F0aW9uKToKKyAgICAg
ICAgKiBwYWdlL05hdmlnYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6Ok5h
dmlnYXRvcik6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6UGVyZm9ybWFuY2UpOgorICAgICAgICAqIHBhZ2UvU2NyZWVuLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmVlbjo6U2NyZWVuKToKKyAgICAgICAgKiBwYWdlL1Nw
ZWVjaElucHV0RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoSW5wdXRFdmVudDo6
U3BlZWNoSW5wdXRFdmVudCk6CisgICAgICAgICogcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU1pbWVUeXBlQXJyYXk6OkRPTU1pbWVUeXBlQXJyYXkp
OgorICAgICAgICAqIHBsdWdpbnMvRE9NUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVBsdWdpbjo6RE9NUGx1Z2luKToKKyAgICAgICAgKiBwbHVnaW5zL0RPTVBsdWdpbkFycmF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBsdWdpbkFycmF5OjpET01QbHVnaW5BcnJheSk6Cisg
ICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2U6
OlN0b3JhZ2UpOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
QUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQUVsZW1lbnQ6OlNWR0FFbGVtZW50
KToKKyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0FsdEdseXBoRGVmRWxlbWVudDo6U1ZHQWx0R2x5cGhEZWZFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FsdEdseXBoRWxlbWVudDo6U1ZHQWx0R2x5cGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
QWx0R2x5cGhJdGVtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbHRHbHlwaEl0
ZW1FbGVtZW50OjpTVkdBbHRHbHlwaEl0ZW1FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5p
bWF0ZUNvbG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlQ29sb3JF
bGVtZW50OjpTVkdBbmltYXRlQ29sb3JFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OlNWR0Fu
aW1hdGVFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQ6OlNWR0FuaW1hdGVN
b3Rpb25FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQ6OlNWR0Fu
aW1hdGVUcmFuc2Zvcm1FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0aW9uRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50OjpTVkdBbmltYXRp
b25FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ2lyY2xlRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdDaXJjbGVFbGVtZW50OjpTVkdDaXJjbGVFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NsaXBQ
YXRoRWxlbWVudDo6U1ZHQ2xpcFBhdGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ29t
cG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQ6OlNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdDdXJzb3JFbGVtZW50OjpTVkdDdXJzb3JFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHRGVmc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRGVmc0VsZW1l
bnQ6OlNWR0RlZnNFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRGVzY0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRGVzY0VsZW1lbnQ6OlNWR0Rlc2NFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnQ6
OlNWR0RvY3VtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbGVtZW50OjpTVkdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxsaXBz
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxsaXBzZUVsZW1lbnQ6OlNWR0Vs
bGlwc2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRkVCbGVuZEVsZW1lbnQ6OlNWR0ZFQmxlbmRFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ6OlNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQ6OlNWR0ZFQ29tcG9uZW50VHJh
bnNmZXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29tcG9zaXRlRWxlbWVudDo6U1ZHRkVDb21wb3NpdGVF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQ6OlNWR0ZFQ29udm9s
dmVNYXRyaXhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6
U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVEaXNwbGFj
ZW1lbnRNYXBFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlzcGxhY2VtZW50
TWFwRWxlbWVudDo6U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlz
dGFudExpZ2h0RWxlbWVudDo6U1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRURy
b3BTaGFkb3dFbGVtZW50OjpTVkdGRURyb3BTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRkVGbG9vZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGbG9vZEVsZW1l
bnQ6OlNWR0ZFRmxvb2RFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVGdW5jQUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jQUVsZW1lbnQ6OlNWR0ZFRnVuY0FFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVGdW5jQkVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRkVGdW5jQkVsZW1lbnQ6OlNWR0ZFRnVuY0JFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHRkVGdW5jR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jR0Vs
ZW1lbnQ6OlNWR0ZFRnVuY0dFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVGdW5jUkVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jUkVsZW1lbnQ6OlNWR0ZFRnVuY1JF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudDo6U1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRkVJbWFnZUVsZW1lbnQ6OlNWR0ZFSW1hZ2VFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRkVNZXJnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVN
ZXJnZUVsZW1lbnQ6OlNWR0ZFTWVyZ2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVNZXJn
ZU5vZGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFTWVyZ2VOb2RlRWxlbWVu
dDo6U1ZHRkVNZXJnZU5vZGVFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRU1vcnBob2xvZ3lFbGVtZW50OjpT
VkdGRU1vcnBob2xvZ3lFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVPZmZzZXRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFT2Zmc2V0RWxlbWVudDo6U1ZHRkVPZmZzZXRF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGRVBvaW50TGlnaHRFbGVtZW50OjpTVkdGRVBvaW50TGlnaHRFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50OjpTVkdGRVNwZWN1
bGFyTGlnaHRpbmdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVTcG90TGlnaHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFU3BvdExpZ2h0RWxlbWVudDo6U1ZHRkVTcG90
TGlnaHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVUaWxlRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGRVRpbGVFbGVtZW50OjpTVkdGRVRpbGVFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpTVkdGRVR1cmJ1bGVuY2VFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJF
bGVtZW50OjpTVkdGaWx0ZXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEVsZW1lbnQ6OlNWR0ZvbnRFbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZvbnRGYWNlRWxlbWVudDo6U1ZHRm9udEZhY2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRG
YWNlRm9ybWF0RWxlbWVudDo6U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250
RmFjZU5hbWVFbGVtZW50OjpTVkdGb250RmFjZU5hbWVFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRm9udEZhY2VTcmNFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNl
U3JjRWxlbWVudDo6U1ZHRm9udEZhY2VTcmNFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRm9u
dEZhY2VVcmlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlVXJpRWxl
bWVudDo6U1ZHRm9udEZhY2VVcmlFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQ6OlNWR0ZvcmVpZ25PYmplY3RFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHR0VsZW1lbnQ6OlNWR0dFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHR2x5cGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBo
RWxlbWVudDo6U1ZHR2x5cGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhSZWZFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBoUmVmRWxlbWVudDo6U1ZHR2x5cGhS
ZWZFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6U1ZHR3JhZGllbnRFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHSEtlcm5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0hL
ZXJuRWxlbWVudDo6U1ZHSEtlcm5FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlRWxlbWVudDo6U1ZHSW1hZ2VFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTGluZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTGluZUVsZW1lbnQ6OlNWR0xpbmVFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xpbmVhckdyYWRp
ZW50RWxlbWVudDo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
TVBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01QYXRoRWxlbWVudDo6U1ZH
TVBhdGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFza0Vs
ZW1lbnQ6OlNWR01hc2tFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWV0YWRhdGFFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01ldGFkYXRhRWxlbWVudDo6U1ZHTWV0YWRhdGFF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdNaXNzaW5nR2x5cGhFbGVtZW50OjpTVkdNaXNzaW5nR2x5cGhFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUGF0aEVsZW1lbnQ6OlNWR1BhdGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUGF0
dGVybkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OlNW
R1BhdHRlcm5FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUG9seWdvbkVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUG9seWdvbkVsZW1lbnQ6OlNWR1BvbHlnb25FbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHUG9seWxpbmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1BvbHlsaW5lRWxlbWVudDo6U1ZHUG9seWxpbmVFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudDo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHUmVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVjdEVsZW1lbnQ6
OlNWR1JlY3RFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpTVkdTVkdFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTY3JpcHRFbGVt
ZW50OjpTVkdTY3JpcHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU2V0RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdTZXRFbGVtZW50OjpTVkdTZXRFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RvcEVs
ZW1lbnQ6OlNWR1N0b3BFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU3R5bGVFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlRWxlbWVudDo6U1ZHU3R5bGVFbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdTdHlsZWRFbGVtZW50OjpTVkdTdHlsZWRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU3dp
dGNoRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTd2l0Y2hFbGVtZW50OjpTVkdT
d2l0Y2hFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdTeW1ib2xFbGVtZW50OjpTVkdTeW1ib2xFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVFJlZkVs
ZW1lbnQ6OlNWR1RSZWZFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVFNwYW5FbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RTcGFuRWxlbWVudDo6U1ZHVFNwYW5FbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1RleHRDb250ZW50RWxlbWVudDo6U1ZHVGV4dENvbnRlbnRFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHVGV4dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dEVs
ZW1lbnQ6OlNWR1RleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRQYXRoRWxlbWVudDo6U1ZHVGV4dFBhdGhF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50OjpTVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGl0bGVFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1RpdGxlRWxlbWVudDo6U1ZHVGl0bGVFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50
OjpTVkdVc2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVktlcm5FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1ZLZXJuRWxlbWVudDo6U1ZHVktlcm5FbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHVmlld0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0Vs
ZW1lbnQ6OlNWR1ZpZXdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHWm9vbUV2ZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21FdmVudDo6U1ZHWm9vbUV2ZW50KToKKyAgICAgICAg
KiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVl
c3Q6OlhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6
OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudCk6CisgICAgICAgIChYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQpOgorCiAyMDEzLTAzLTI1ICBCcmFuZG9uIEpvbmVzICA8YmFqb25lc0Bnb29n
bGUuY29tPgogCiAgICAgICAgIFdFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyBuZWVkcyBp
bXBsZW1lbnRhdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9s
b2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNDQsNiArMjQ0LDcgQEAgR2VvbG9jYXRpb246Okdlb2xvY2F0aW9uKFNjcmlwdEV4ZWN1dGlv
bgogICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQpCiAgICAgLCBtX2FsbG93R2VvbG9jYXRp
b24oVW5rbm93bikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEdl
b2xvY2F0aW9uOjp+R2VvbG9jYXRpb24oKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQW55LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJBbnkuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1
OCw3IEBAIElEQkFueTo6SURCQW55KFR5cGUgdHlwZSkKICAgICAsIG1faW50ZWdlcigwKQogewog
ICAgIEFTU0VSVCh0eXBlID09IFVuZGVmaW5lZFR5cGUgfHwgdHlwZSA9PSBOdWxsVHlwZSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6On5JREJBbnkoKQpA
QCAtMTM1LDYgKzEzNiw3IEBAIElEQkFueTo6SURCQW55KFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlz
dD4KICAgICAsIG1fZG9tU3RyaW5nTGlzdCh2YWx1ZSkKICAgICAsIG1faW50ZWdlcigwKQogewor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURCQW55OjpJREJBbnkoUGFz
c1JlZlB0cjxJREJDdXJzb3JXaXRoVmFsdWU+IHZhbHVlKQpAQCAtMTQyLDYgKzE0NCw3IEBAIElE
QkFueTo6SURCQW55KFBhc3NSZWZQdHI8SURCQ3Vyc29yV2l0aFYKICAgICAsIG1faWRiQ3Vyc29y
V2l0aFZhbHVlKHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShQYXNzUmVmUHRyPElEQkN1cnNv
cj4gdmFsdWUpCkBAIC0xNDksNiArMTUyLDcgQEAgSURCQW55OjpJREJBbnkoUGFzc1JlZlB0cjxJ
REJDdXJzb3I+IHZhbAogICAgICwgbV9pZGJDdXJzb3IodmFsdWUpCiAgICAgLCBtX2ludGVnZXIo
MCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElEQkFueTo6SURC
QW55KFBhc3NSZWZQdHI8SURCRGF0YWJhc2U+IHZhbHVlKQpAQCAtMTU2LDYgKzE2MCw3IEBAIElE
QkFueTo6SURCQW55KFBhc3NSZWZQdHI8SURCRGF0YWJhc2U+IHYKICAgICAsIG1faWRiRGF0YWJh
c2UodmFsdWUpCiAgICAgLCBtX2ludGVnZXIoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIElEQkFueTo6SURCQW55KFBhc3NSZWZQdHI8SURCRmFjdG9yeT4gdmFs
dWUpCkBAIC0xNjMsNiArMTY4LDcgQEAgSURCQW55OjpJREJBbnkoUGFzc1JlZlB0cjxJREJGYWN0
b3J5PiB2YQogICAgICwgbV9pZGJGYWN0b3J5KHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShQ
YXNzUmVmUHRyPElEQkluZGV4PiB2YWx1ZSkKQEAgLTE3MCw2ICsxNzYsNyBAQCBJREJBbnk6OklE
QkFueShQYXNzUmVmUHRyPElEQkluZGV4PiB2YWx1CiAgICAgLCBtX2lkYkluZGV4KHZhbHVlKQog
ICAgICwgbV9pbnRlZ2VyKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBJREJBbnk6OklEQkFueShQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB2YWx1ZSkKQEAg
LTE3Nyw2ICsxODQsNyBAQCBJREJBbnk6OklEQkFueShQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9u
CiAgICAgLCBtX2lkYlRyYW5zYWN0aW9uKHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShQYXNz
UmVmUHRyPElEQk9iamVjdFN0b3JlPiB2YWx1ZSkKQEAgLTE4NCw2ICsxOTIsNyBAQCBJREJBbnk6
OklEQkFueShQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlCiAgICAgLCBtX2lkYk9iamVjdFN0b3Jl
KHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUpCkBA
IC0xOTEsNiArMjAwLDcgQEAgSURCQW55OjpJREJBbnkoY29uc3QgU2NyaXB0VmFsdWUmIHZhbHVl
KQogICAgICwgbV9zY3JpcHRWYWx1ZSh2YWx1ZSkKICAgICAsIG1faW50ZWdlcigwKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURCQW55OjpJREJBbnkoY29uc3Qg
SURCS2V5UGF0aCYgdmFsdWUpCkBAIC0xOTgsNiArMjA4LDcgQEAgSURCQW55OjpJREJBbnkoY29u
c3QgSURCS2V5UGF0aCYgdmFsdWUpCiAgICAgLCBtX2lkYktleVBhdGgodmFsdWUpCiAgICAgLCBt
X2ludGVnZXIoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElE
QkFueTo6SURCQW55KGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC0yMDUsMTIgKzIxNiwxNCBAQCBJ
REJBbnk6OklEQkFueShjb25zdCBTdHJpbmcmIHZhbHVlKQogICAgICwgbV9zdHJpbmcodmFsdWUp
CiAgICAgLCBtX2ludGVnZXIoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiB9CiAKIElEQkFueTo6SURCQW55KGludDY0X3QgdmFsdWUpCiAgICAgOiBtX3R5cGUoSW50ZWdl
clR5cGUpCiAgICAgLCBtX2ludGVnZXIodmFsdWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDcgQEAgSURCQ3Vyc29yOjpJREJDdXJzb3IoUGFzc1Jl
ZlB0cjxJREJDdXJzbwogICAgIEFTU0VSVChtX3JlcXVlc3QpOwogICAgIEFTU0VSVChtX3NvdXJj
ZS0+dHlwZSgpID09IElEQkFueTo6SURCT2JqZWN0U3RvcmVUeXBlIHx8IG1fc291cmNlLT50eXBl
KCkgPT0gSURCQW55OjpJREJJbmRleFR5cGUpOwogICAgIEFTU0VSVChtX3RyYW5zYWN0aW9uKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElEQkN1cnNvcjo6fklEQkN1
cnNvcigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JX
aXRoVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgUGFzc1JlZlB0cjxJREJDdXJzb3JXaXRoVmFsdWU+IElE
QkN1cnNvcgogSURCQ3Vyc29yV2l0aFZhbHVlOjpJREJDdXJzb3JXaXRoVmFsdWUoUGFzc1JlZlB0
cjxJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlPiBiYWNrZW5kLCBJbmRleGVkREI6OkN1cnNvckRp
cmVjdGlvbiBkaXJlY3Rpb24sIElEQlJlcXVlc3QqIHJlcXVlc3QsIElEQkFueSogc291cmNlLCBJ
REJUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24pCiAgICAgOiBJREJDdXJzb3IoYmFja2VuZCwgZGly
ZWN0aW9uLCByZXF1ZXN0LCBzb3VyY2UsIHRyYW5zYWN0aW9uKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURCQ3Vyc29yV2l0aFZhbHVlOjp+SURCQ3Vyc29yV2l0
aFZhbHVlKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFi
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJEYXRhYmFzZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcs
NyBAQCBJREJEYXRhYmFzZTo6SURCRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uCiB7CiAgICAgLy8g
V2UgcGFzcyBhIHJlZmVyZW5jZSBvZiB0aGlzIG9iamVjdCBiZWZvcmUgaXQgY2FuIGJlIGFkb3B0
ZWQuCiAgICAgcmVsYXhBZG9wdGlvblJlcXVpcmVtZW50KCk7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBJREJEYXRhYmFzZTo6fklEQkRhdGFiYXNlKCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0
b3J5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsNyBAQCBJREJGYWN0b3J5OjpJREJG
YWN0b3J5KElEQkZhY3RvcnlCYWNrZW5kCiB7CiAgICAgLy8gV2UgcGFzcyBhIHJlZmVyZW5jZSB0
byB0aGlzIG9iamVjdCBiZWZvcmUgaXQgY2FuIGJlIGFkb3B0ZWQuCiAgICAgcmVsYXhBZG9wdGlv
blJlcXVpcmVtZW50KCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJ
REJGYWN0b3J5Ojp+SURCRmFjdG9yeSgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJJbmRleC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCSW5kZXguY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDYgKzUwLDcgQEAgSURCSW5kZXg6OklEQkluZGV4KGNvbnN0IElEQkluZGV4TWV0YWRhdAogICAg
IEFTU0VSVChtX29iamVjdFN0b3JlKTsKICAgICBBU1NFUlQobV90cmFuc2FjdGlvbik7CiAgICAg
QVNTRVJUKG1fbWV0YWRhdGEuaWQgIT0gSURCSW5kZXhNZXRhZGF0YTo6SW52YWxpZElkKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElEQkluZGV4Ojp+SURCSW5kZXgo
KQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVJh
bmdlLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCS2V5UmFuZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIElE
QktleVJhbmdlOjpJREJLZXlSYW5nZShQYXNzUmVmUHRyPElEQksKICAgICAsIG1fbG93ZXJUeXBl
KGxvd2VyVHlwZSkKICAgICAsIG1fdXBwZXJUeXBlKHVwcGVyVHlwZSkKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFNjcmlwdFZhbHVlIElEQktleVJhbmdlOjpsb3dl
clZhbHVlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIGNvbnN0CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJPYmplY3RTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDcgQEAgSURCT2Jq
ZWN0U3RvcmU6OklEQk9iamVjdFN0b3JlKGNvbnN0IElEQgogICAgIEFTU0VSVChtX3RyYW5zYWN0
aW9uKTsKICAgICAvLyBXZSBwYXNzIGEgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0IGJlZm9yZSBp
dCBjYW4gYmUgYWRvcHRlZC4KICAgICByZWxheEFkb3B0aW9uUmVxdWlyZW1lbnQoKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlz
dD4gSURCT2JqZWN0U3RvcmU6OmluZGV4TmFtZXMoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9w
ZW5EQlJlcXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw3IEBAIElEQk9wZW5E
QlJlcXVlc3Q6OklEQk9wZW5EQlJlcXVlc3QoU2NyaXAKICAgICAsIG1fdmVyc2lvbih2ZXJzaW9u
KQogewogICAgIEFTU0VSVCghbV9yZXN1bHQpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogSURCT3BlbkRCUmVxdWVzdDo6fklEQk9wZW5EQlJlcXVlc3QoKQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJl
cXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4Niw3IEBAIElEQlJlcXVlc3Q6OklE
QlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ28KICAgICAsIG1fcHJldmVudFByb3BhZ2F0aW9uKGZh
bHNlKQogICAgICwgbV9yZXF1ZXN0U3RhdGUoY29udGV4dCkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIElEQlJlcXVlc3Q6On5JREJSZXF1ZXN0KCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDYgKzEwMiw3IEBAIElE
QlRyYW5zYWN0aW9uOjpJREJUcmFuc2FjdGlvbihTY3JpcHRFeGUKICAgICAsIG1fY29udGV4dFN0
b3BwZWQoZmFsc2UpCiAgICAgLCBtX3ByZXZpb3VzTWV0YWRhdGEocHJldmlvdXNNZXRhZGF0YSkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKG1vZGUgPT0gSW5k
ZXhlZERCOjpUcmFuc2FjdGlvblZlcnNpb25DaGFuZ2UpIHsKICAgICAgICAgLy8gTm90IGFjdGl2
ZSB1bnRpbCB0aGUgY2FsbGJhY2suCiAgICAgICAgIG1fc3RhdGUgPSBJbmFjdGl2ZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVmVy
c2lvbkNoYW5nZUV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDMsNiArNDMsNyBAQCBJREJWZXJzaW9uQ2hhbmdlRXZlbnQ6OklEQlZlcnNpb25DaGFu
Z2VFCiAgICAgLCBtX29sZFZlcnNpb24ob2xkVmVyc2lvbikKICAgICAsIG1fbmV3VmVyc2lvbihu
ZXdWZXJzaW9uKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURC
VmVyc2lvbkNoYW5nZUV2ZW50Ojp+SURCVmVyc2lvbkNoYW5nZUV2ZW50KCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1FdmVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUV2
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbUV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0
LDIxIEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1FdmVudD4gTWVkaWFTdHJlYW0KIAogTWVkaWFT
dHJlYW1FdmVudDo6TWVkaWFTdHJlYW1FdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBNZWRpYVN0cmVhbUV2ZW50OjpNZWRpYVN0cmVhbUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtKQogICAgIDogRXZlbnQodHlwZSwgY2FuQnViYmxl
LCBjYW5jZWxhYmxlKQogICAgICwgbV9zdHJlYW0oc3RyZWFtKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogTWVkaWFTdHJlYW1FdmVudDo6TWVkaWFTdHJlYW1FdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlhU3RyZWFtRXZlbnRJbml0JiBp
bml0aWFsaXplcikKICAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQogICAgICwgbV9zdHJl
YW0oaW5pdGlhbGl6ZXIuc3RyZWFtKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKIH0KIAogTWVkaWFTdHJlYW1FdmVudDo6fk1lZGlhU3RyZWFtRXZlbnQoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrRXZlbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFja0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrRXZlbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NSwxMiArNDUsMTQgQEAgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrRXZlbnQ+
IE1lZGlhUwogCiBNZWRpYVN0cmVhbVRyYWNrRXZlbnQ6Ok1lZGlhU3RyZWFtVHJhY2tFdmVudCgp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBNZWRpYVN0cmVhbVRy
YWNrRXZlbnQ6Ok1lZGlhU3RyZWFtVHJhY2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1U
cmFjaz4gdHJhY2spCiAgICAgOiBFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpCiAg
ICAgLCBtX3RyYWNrKHRyYWNrKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogTWVkaWFTdHJlYW1UcmFja0V2ZW50Ojp+TWVkaWFTdHJlYW1UcmFja0V2ZW50KCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlRvbmVDaGFuZ2VF
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GVG9uZUNoYW5nZUV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GVG9uZUNoYW5nZUV2ZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTAsMTggKzUwLDIxIEBAIFBhc3NSZWZQdHI8UlRDRFRNRlRvbmVD
aGFuZ2VFdmVudD4gUlRDRFQKIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6UlRDRFRNRlRvbmVD
aGFuZ2VFdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBS
VENEVE1GVG9uZUNoYW5nZUV2ZW50OjpSVENEVE1GVG9uZUNoYW5nZUV2ZW50KGNvbnN0IFN0cmlu
ZyYgdG9uZSkKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS50b25lY2hhbmdlRXZlbnQsIGZhbHNl
LCBmYWxzZSkKICAgICAsIG1fdG9uZSh0b25lKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKIH0KIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6UlRDRFRNRlRvbmVDaGFuZ2VF
dmVudChjb25zdCBSVENEVE1GVG9uZUNoYW5nZUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAg
OiBFdmVudChldmVudE5hbWVzKCkudG9uZWNoYW5nZUV2ZW50LCBpbml0aWFsaXplcikKICAgICAs
IG1fdG9uZShpbml0aWFsaXplci50b25lKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6flJUQ0RUTUZUb25lQ2hhbmdlRXZl
bnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hh
bm5lbEV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NSwxMiArNDUsMTQgQEAgUGFzc1JlZlB0cjxSVENEYXRhQ2hhbm5l
bEV2ZW50PiBSVENEYXRhQwogCiBSVENEYXRhQ2hhbm5lbEV2ZW50OjpSVENEYXRhQ2hhbm5lbEV2
ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFJUQ0RhdGFD
aGFubmVsRXZlbnQ6OlJUQ0RhdGFDaGFubmVsRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPFJUQ0RhdGFDaGFu
bmVsPiBjaGFubmVsKQogICAgIDogRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKQog
ICAgICwgbV9jaGFubmVsKGNoYW5uZWwpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBSVENEYXRhQ2hhbm5lbEV2ZW50Ojp+UlRDRGF0YUNoYW5uZWxFdmVudCgpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ1LDEyICs0NSwxNCBAQCBQYXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZUV2
ZW50PiBSVENJY2VDCiAKIFJUQ0ljZUNhbmRpZGF0ZUV2ZW50OjpSVENJY2VDYW5kaWRhdGVFdmVu
dCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBSVENJY2VDYW5k
aWRhdGVFdmVudDo6UlRDSWNlQ2FuZGlkYXRlRXZlbnQoYm9vbCBjYW5CdWJibGUsIGJvb2wgY2Fu
Y2VsYWJsZSwgUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGU+IGNhbmRpZGF0ZSkKICAgICA6IEV2
ZW50KGV2ZW50TmFtZXMoKS5pY2VjYW5kaWRhdGVFdmVudCwgY2FuQnViYmxlLCBjYW5jZWxhYmxl
KQogICAgICwgbV9jYW5kaWRhdGUoY2FuZGlkYXRlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUlRDSWNlQ2FuZGlkYXRlRXZlbnQ6On5SVENJY2VDYW5kaWRhdGVF
dmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU2LDYgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiAjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpA
QCAtNjUsNiArNjYsNyBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihjb25zdCBLVVJMJiB1
CiAgICAgLCBtX3N0YXRlKElkbGUpCiAgICAgLCBtX25vdGlmaWNhdGlvbkNlbnRlcihwcm92aWRl
cikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKG1fbm90aWZp
Y2F0aW9uQ2VudGVyLT5jaGVja1Blcm1pc3Npb24oKSAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBl
cm1pc3Npb25BbGxvd2VkKSB7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICBy
ZXR1cm47CkBAIC04OCw2ICs5MCw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0
IFN0cmluZyYKICAgICAsIG1fc3RhdGUoSWRsZSkKICAgICAsIG1fbm90aWZpY2F0aW9uQ2VudGVy
KHByb3ZpZGVyKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBpZiAo
bV9ub3RpZmljYXRpb25DZW50ZXItPmNoZWNrUGVybWlzc2lvbigpICE9IE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CiAg
ICAgICAgIHJldHVybjsKQEAgLTEwOSw4ICsxMTIsOSBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNh
dGlvbihTY3JpcHRFeGVjdXRpCiAgICAgLCBtX3N0YXRlKElkbGUpCiAgICAgLCBtX3Rhc2tUaW1l
cihhZG9wdFB0cihuZXcgVGltZXI8Tm90aWZpY2F0aW9uPih0aGlzLCAmTm90aWZpY2F0aW9uOjp0
YXNrVGltZXJGaXJlZCkpKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKKyAg
ICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihjb250ZXh0LT5pc0RvY3VtZW50KCkp
OwogICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gRE9NV2luZG93Tm90aWZpY2F0aW9uczo6d2Vi
a2l0Tm90aWZpY2F0aW9ucyh0b0RvY3VtZW50KGNvbnRleHQpLT5kb21XaW5kb3coKSk7Ci0gICAg
CiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7CiAgICAgbV90YXNr
VGltZXItPnN0YXJ0T25lU2hvdCgwKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25p
dGlvbkVycm9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsNyBAQCBTcGVlY2hSZWNv
Z25pdGlvbkVycm9yOjpTcGVlY2hSZWNvZ25pdGlvCiAgICAgLCBtX2Vycm9yKGVycm9yKQogICAg
ICwgbV9tZXNzYWdlKG1lc3NhZ2UpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBTcGVlY2hSZWNvZ25pdGlvbkVycm9yOjpTcGVlY2hSZWNvZ25pdGlvbkVycm9yKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lLCBjb25zdCBTcGVlY2hSZWNvZ25pdGlvbkVycm9y
SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC04NSw2ICs4Niw3IEBAIFNwZWVjaFJlY29nbml0aW9uRXJy
b3I6OlNwZWVjaFJlY29nbml0aW8KICAgICAsIG1fZXJyb3IoaW5pdGlhbGl6ZXIuZXJyb3IpCiAg
ICAgLCBtX21lc3NhZ2UoaW5pdGlhbGl6ZXIubWVzc2FnZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgU3BlZWNoUmVjb2duaXRp
b25FcnJvcjo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVj
b2duaXRpb25FdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAgU3BlZWNo
UmVjb2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpbwogICAgICwgbV9yZXN1bHRJbmRleChp
bml0aWFsaXplci5yZXN1bHRJbmRleCkKICAgICAsIG1fcmVzdWx0cyhpbml0aWFsaXplci5yZXN1
bHRzKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3BlZWNoUmVj
b2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50TmFtZSwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hS
ZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdHMpCkBAIC04NCwxMCArODUsMTIgQEAgU3BlZWNo
UmVjb2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpbwogICAgICwgbV9yZXN1bHRJbmRleChy
ZXN1bHRJbmRleCkKICAgICAsIG1fcmVzdWx0cyhyZXN1bHRzKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3BlZWNoUmVjb2duaXRpb25FdmVudDo6flNwZWVjaFJl
Y29nbml0aW9uRXZlbnQoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
cGVlY2gvU3BlZWNoU3ludGhlc2lzRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzRXZl
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIFBhc3NSZWZQdHI8U3BlZWNo
U3ludGhlc2lzRXZlbnQ+IFNwZWVjaFMKIAogU3BlZWNoU3ludGhlc2lzRXZlbnQ6OlNwZWVjaFN5
bnRoZXNpc0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFNwZWVjaFN5bnRoZXNpc0V2ZW50OjpTcGVlY2hTeW50aGVzaXNFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIHVuc2lnbmVkIGxvbmcgY2hhckluZGV4LCBmbG9hdCBlbGFwc2VkVGltZSwg
Y29uc3QgU3RyaW5nJiBuYW1lKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZl
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIFBhc3NSZWZQdHI8QXVkaW9Q
cm9jZXNzaW5nRXZlbnQ+IEF1ZGlvUHIKIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJv
Y2Vzc2luZ0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1
ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVm
ZmVyKQpAQCAtNTIsNiArNTMsNyBAQCBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNz
aW5nRXZlCiAgICAgLCBtX2lucHV0QnVmZmVyKGlucHV0QnVmZmVyKQogICAgICwgbV9vdXRwdXRC
dWZmZXIob3V0cHV0QnVmZmVyKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6On5BdWRpb1Byb2Nlc3NpbmdFdmVudCgpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25F
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9P
ZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDEzICs0NSwxNCBAQCBQYXNzUmVmUHRyPE9mZmxpbmVB
dWRpb0NvbXBsZXRpb25FdmVudD4gCiAKIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudDo6T2Zm
bGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKLQogT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50OjpPZmZsaW5lQXVkaW9D
b21wbGV0aW9uRXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gcmVuZGVyZWRCdWZmZXIpCiAg
ICAgOiBFdmVudChldmVudE5hbWVzKCkuY29tcGxldGVFdmVudCwgdHJ1ZSwgZmFsc2UpCiAgICAg
LCBtX3JlbmRlcmVkQnVmZmVyKHJlbmRlcmVkQnVmZmVyKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Ojp+T2ZmbGlu
ZUF1ZGlvQ29tcGxldGlvbkV2ZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9DbG9zZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NzgsNiArNzgsNyBAQCBwcml2YXRlOgogICAgICAgICAsIG1fd2FzQ2xlYW4oZmFsc2UpCiAgICAg
ICAgICwgbV9jb2RlKDApCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgfQogCiAgICAgQ2xvc2VFdmVudChib29sIHdhc0NsZWFuLCBpbnQgY29kZSwgY29u
c3QgU3RyaW5nJiByZWFzb24pCkBAIC04Niw2ICs4Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgICwg
bV9jb2RlKGNvZGUpCiAgICAgICAgICwgbV9yZWFzb24ocmVhc29uKQogICAgIHsKKyAgICAgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIENsb3NlRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBDbG9zZUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIp
CkBAIC05NCw2ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgICAgICwgbV9jb2RlKGluaXRpYWxpemVy
LmNvZGUpCiAgICAgICAgICwgbV9yZWFzb24oaW5pdGlhbGl6ZXIucmVhc29uKQogICAgIHsKKyAg
ICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIGJvb2wgbV93
YXNDbGVhbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJs
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBw
YWJsZS5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRXcmFwcGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTAgQEAgcHVibGlj
OgogICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3dyYXBwZXIsICJ3cmFwcGVyIik7CiAgICAgfQog
CisgICAgLy8gTm8tb3AgbWV0aG9kcyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFY4IFNjcmlwdFdy
YXBwYWJsZXMuCisgICAgc3RhdGljIHZvaWQgaW5pdCh2b2lkKikgeyB9CisgICAgc3RhdGljIHZv
aWQgaW5pdEN1c3RvbSh2b2lkKikgeyB9CisKIHByaXZhdGU6CiAgICAgSlNDOjpXZWFrPEpTRE9N
V3JhcHBlcj4gbV93cmFwcGVyOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyArNjYsNyBAQCBw
dWJsaWM6CiAgICAgICAgIC8vIHdheSBpcyB0byBjaGVjayB3aGV0aGVyIHRoZSB3cmFwcGFibGUn
cyB3cmFwcGVyIGlzIHRoZSBzYW1lIGFzCiAgICAgICAgIC8vIHRoZSBob2xkZXIuCiAgICAgICAg
IGlmICgoIURPTVdyYXBwZXJXb3JsZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpICYmICFjYW5FeGlz
dEluV29ya2VyKG9iamVjdCkpIHx8IGhvbGRlckNvbnRhaW5zV3JhcHBlcihjb250YWluZXIsIGhv
bGRlcikpIHsKLSAgICAgICAgICAgIGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVj
dChvYmplY3QpKQorICAgICAgICAgICAgaWYgKFNjcmlwdFdyYXBwYWJsZTo6d3JhcHBlckNhbkJl
U3RvcmVkSW5PYmplY3Qob2JqZWN0KSkKICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0V3JhcHBl
ckZyb21PYmplY3Qob2JqZWN0KTsKICAgICAgICAgICAgIHJldHVybiBtYWluV29ybGRTdG9yZSgp
LT5tX3dyYXBwZXJNYXAuZ2V0KG9iamVjdCk7CiAgICAgICAgIH0KQEAgLTc2LDcgKzc2LDcgQEAg
cHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gZ2V0V3JhcHBlcihUKiBvYmplY3QsIHY4OjpJc29sYXRlKiBpc29sYXRlKQog
ICAgIHsKLSAgICAgICAgaWYgKG1haW5Xb3JsZFdyYXBwZXJJc1N0b3JlZEluT2JqZWN0KG9iamVj
dCkgJiYgIWNhbkV4aXN0SW5Xb3JrZXIob2JqZWN0KSkgeworICAgICAgICBpZiAoU2NyaXB0V3Jh
cHBhYmxlOjp3cmFwcGVyQ2FuQmVTdG9yZWRJbk9iamVjdChvYmplY3QpICYmICFjYW5FeGlzdElu
V29ya2VyKG9iamVjdCkpIHsKICAgICAgICAgICAgIGlmIChMSUtFTFkoIURPTVdyYXBwZXJXb3Js
ZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0V3Jh
cHBlckZyb21PYmplY3Qob2JqZWN0KTsKICAgICAgICAgfQpAQCAtODYsNyArODYsNyBAQCBwdWJs
aWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiBnZXRXcmFwcGVyRm9yTWFpbldvcmxkKFQqIG9iamVjdCkKICAgICB7Ci0gICAgICAg
IGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVjdChvYmplY3QpKQorICAgICAgICBp
ZiAoU2NyaXB0V3JhcHBhYmxlOjp3cmFwcGVyQ2FuQmVTdG9yZWRJbk9iamVjdChvYmplY3QpKQog
ICAgICAgICAgICAgcmV0dXJuIGdldFdyYXBwZXJGcm9tT2JqZWN0KG9iamVjdCk7CiAgICAgICAg
IHJldHVybiBtYWluV29ybGRTdG9yZSgpLT5nZXQob2JqZWN0KTsKICAgICB9CkBAIC05NCw3ICs5
NCw3IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIHN0YXRpYyB2b2lk
IHNldFdyYXBwZXIoVCogb2JqZWN0LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIsIHY4
OjpJc29sYXRlKiBpc29sYXRlLCBjb25zdCBXcmFwcGVyQ29uZmlndXJhdGlvbiYgY29uZmlndXJh
dGlvbikKICAgICB7Ci0gICAgICAgIGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVj
dChvYmplY3QpICYmICFjYW5FeGlzdEluV29ya2VyKG9iamVjdCkpIHsKKyAgICAgICAgaWYgKFNj
cmlwdFdyYXBwYWJsZTo6d3JhcHBlckNhbkJlU3RvcmVkSW5PYmplY3Qob2JqZWN0KSAmJiAhY2Fu
RXhpc3RJbldvcmtlcihvYmplY3QpKSB7CiAgICAgICAgICAgICBpZiAoTElLRUxZKCFET01XcmFw
cGVyV29ybGQ6Omlzb2xhdGVkV29ybGRzRXhpc3QoKSkpIHsKICAgICAgICAgICAgICAgICBzZXRX
cmFwcGVySW5PYmplY3Qob2JqZWN0LCB3cmFwcGVyLCBpc29sYXRlLCBjb25maWd1cmF0aW9uKTsK
ICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljOgogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
Z2V0KFQqIG9iamVjdCkKICAgICB7Ci0gICAgICAgIGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9y
ZWRJbk9iamVjdChvYmplY3QpICYmIG1fdHlwZSA9PSBNYWluV29ybGQpCisgICAgICAgIGlmIChT
Y3JpcHRXcmFwcGFibGU6OndyYXBwZXJDYW5CZVN0b3JlZEluT2JqZWN0KG9iamVjdCkgJiYgbV90
eXBlID09IE1haW5Xb3JsZCkKICAgICAgICAgICAgIHJldHVybiBnZXRXcmFwcGVyRnJvbU9iamVj
dChvYmplY3QpOwogICAgICAgICByZXR1cm4gbV93cmFwcGVyTWFwLmdldChvYmplY3QpOwogICAg
IH0KQEAgLTExOSw3ICsxMTksNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgQVNTRVJUKCEh
b2JqZWN0KTsKICAgICAgICAgQVNTRVJUKCF3cmFwcGVyLklzRW1wdHkoKSk7Ci0gICAgICAgIGlm
IChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVjdChvYmplY3QpICYmIG1fdHlwZSA9PSBN
YWluV29ybGQpIHsKKyAgICAgICAgaWYgKFNjcmlwdFdyYXBwYWJsZTo6d3JhcHBlckNhbkJlU3Rv
cmVkSW5PYmplY3Qob2JqZWN0KSAmJiBtX3R5cGUgPT0gTWFpbldvcmxkKSB7CiAgICAgICAgICAg
ICBzZXRXcmFwcGVySW5PYmplY3Qob2JqZWN0LCB3cmFwcGVyLCBpc29sYXRlLCBjb25maWd1cmF0
aW9uKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTI4LDkgKzEyOCw2IEBA
IHByaXZhdGU6CiAKICAgICBzdGF0aWMgRE9NRGF0YVN0b3JlKiBtYWluV29ybGRTdG9yZSgpOwog
Ci0gICAgc3RhdGljIGJvb2wgbWFpbldvcmxkV3JhcHBlcklzU3RvcmVkSW5PYmplY3Qodm9pZCop
IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgc3RhdGljIGJvb2wgbWFpbldvcmxkV3JhcHBlcklzU3Rv
cmVkSW5PYmplY3QoU2NyaXB0V3JhcHBhYmxlKikgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgc3Rh
dGljIGJvb2wgY2FuRXhpc3RJbldvcmtlcih2b2lkKikgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHN0
YXRpYyBib29sIGNhbkV4aXN0SW5Xb3JrZXIoTm9kZSopIHsgcmV0dXJuIGZhbHNlOyB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFdyYXBwYWJsZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFdyYXBwYWJsZS5oCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRXcmFwcGFi
bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTQsNyArMTQsNyBAQAogICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCkBAIC0zOSw0NiArMzksMTIxIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Ny
aXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBTY3JpcHRXcmFwcGFibGUoKSB7IH0KKyAgICBT
Y3JpcHRXcmFwcGFibGUoKSA6IG1fbWFza2VkU3RvcmFnZSgwKSB7IH0KKworICAgIH5TY3JpcHRX
cmFwcGFibGUoKQorICAgIHsKKyAgICAgICAgbV9tYXNrZWRTdG9yYWdlID0gMDsgLy8gQnJlYWsg
VUFGIGF0dGVtcHRzIHRvIHdyYXAuCisgICAgfQogCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3cmFwcGVyKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+KG1hc2tPclVubWFza1BvaW50ZXIoKm1fbWFza2VkV3JhcHBlcikpOworICAgICAgICB2
ODo6T2JqZWN0KiBvYmplY3QgPSBjb250YWluc1dyYXBwZXIoKSA/IHJlaW50ZXJwcmV0X2Nhc3Q8
djg6Ok9iamVjdCo+KG1hc2tPclVubWFza1ZhbHVlKG1fbWFza2VkU3RvcmFnZSkpIDogMDsKKyAg
ICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4ob2JqZWN0KTsKICAgICB9CiAKICAg
ICB2b2lkIHNldFdyYXBwZXIodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSwgY29uc3QgV3JhcHBlckNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
CiAgICAgewotICAgICAgICBBU1NFUlQobV9tYXNrZWRXcmFwcGVyLklzRW1wdHkoKSk7CisgICAg
ICAgIEFTU0VSVCghY29udGFpbnNXcmFwcGVyKCkpOwogICAgICAgICB2ODo6UGVyc2lzdGVudDx2
ODo6T2JqZWN0PiBwZXJzaXN0ZW50ID0gdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhp
c29sYXRlLCB3cmFwcGVyKTsKICAgICAgICAgY29uZmlndXJhdGlvbi5jb25maWd1cmVXcmFwcGVy
KHBlcnNpc3RlbnQsIGlzb2xhdGUpOwogICAgICAgICBwZXJzaXN0ZW50Lk1ha2VXZWFrKGlzb2xh
dGUsIHRoaXMsIHdlYWtDYWxsYmFjayk7Ci0gICAgICAgIG1fbWFza2VkV3JhcHBlciA9IG1hc2tP
clVubWFza1BvaW50ZXIoKnBlcnNpc3RlbnQpOworICAgICAgICBtX21hc2tlZFN0b3JhZ2UgPSBt
YXNrT3JVbm1hc2tWYWx1ZShyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oKnBlcnNpc3RlbnQp
KTsKKyAgICB9CisKKyAgICBjb25zdCBXcmFwcGVyVHlwZUluZm8qIHR5cGVJbmZvKCkKKyAgICB7
CisgICAgICAgIGlmIChjb250YWluc1R5cGVJbmZvKCkpCisgICAgICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBXcmFwcGVyVHlwZUluZm8qPihtX21hc2tlZFN0b3JhZ2UgJiB+
MSk7CisKKyAgICAgICAgaWYgKGNvbnRhaW5zV3JhcHBlcigpKQorICAgICAgICAgICAgcmV0dXJu
IHRvV3JhcHBlclR5cGVJbmZvKHdyYXBwZXIoKSk7CisKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgdm9pZCBzZXRUeXBlSW5mbyhjb25zdCBXcmFwcGVyVHlwZUluZm8qIGluZm8pCisg
ICAgeworICAgICAgICBtX21hc2tlZFN0b3JhZ2UgPSAocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KGluZm8pIHwgMSk7CiAgICAgfQogCiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpET00pOwotICAgICAgICBpbmZvLmlnbm9yZU1lbWJlcihtX21hc2tlZFdyYXBwZXIpOwor
ICAgICAgICBpbmZvLmlnbm9yZU1lbWJlcihtX21hc2tlZFN0b3JhZ2UpOworICAgIH0KKworICAg
IHN0YXRpYyBib29sIHdyYXBwZXJDYW5CZVN0b3JlZEluT2JqZWN0KGNvbnN0IHZvaWQqKSB7IHJl
dHVybiBmYWxzZTsgfQorICAgIHN0YXRpYyBib29sIHdyYXBwZXJDYW5CZVN0b3JlZEluT2JqZWN0
KGNvbnN0IFNjcmlwdFdyYXBwYWJsZSopIHsgcmV0dXJuIHRydWU7IH0KKworICAgIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGdldFdyYXBwZXJGcm9tT2JqZWN0KHZvaWQqKQorICAgIHsK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+KCk7CisgICAgfQorCisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gZ2V0V3JhcHBlckZyb21PYmplY3QoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QpCisgICAgewor
ICAgICAgICByZXR1cm4gb2JqZWN0LT53cmFwcGVyKCk7CisgICAgfQorCisgICAgc3RhdGljIHZv
aWQgc2V0V3JhcHBlckluT2JqZWN0KHZvaWQqLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+LCB2ODo6
SXNvbGF0ZSosIGNvbnN0IFdyYXBwZXJDb25maWd1cmF0aW9uJikKKyAgICB7CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHNldFdyYXBwZXJJ
bk9iamVjdChTY3JpcHRXcmFwcGFibGUqIG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3
cmFwcGVyLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgY29uc3QgV3JhcHBlckNvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCisgICAgeworICAgICAgICBvYmplY3QtPnNldFdyYXBwZXIod3JhcHBl
ciwgaXNvbGF0ZSwgY29uZmlndXJhdGlvbik7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0IFdy
YXBwZXJUeXBlSW5mbyogZ2V0VHlwZUluZm9Gcm9tT2JqZWN0KHZvaWQqIG9iamVjdCkKKyAgICB7
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisKKyAgICBzdGF0aWMgY29uc3QgV3JhcHBlclR5cGVJbmZvKiBnZXRUeXBlSW5mb0Zyb21PYmpl
Y3QoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gb2JqZWN0
LT50eXBlSW5mbygpOwogICAgIH0KIAorICAgIHN0YXRpYyB2b2lkIHNldFR5cGVJbmZvSW5PYmpl
Y3Qodm9pZCogb2JqZWN0LCBjb25zdCBXcmFwcGVyVHlwZUluZm8qIGluZm8pCisgICAgeworICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBzZXRU
eXBlSW5mb0luT2JqZWN0KFNjcmlwdFdyYXBwYWJsZSogb2JqZWN0LCBjb25zdCBXcmFwcGVyVHlw
ZUluZm8qIGluZm8pCisgICAgeworICAgICAgICBvYmplY3QtPnNldFR5cGVJbmZvKGluZm8pOwor
ICAgIH0KKworICAgIC8vIFdyYXBwYWJsZXMgbmVlZCB0byBiZSBpbml0aWFsaXplZCB3aXRoIHRo
ZWlyIG1vc3QgZGVycml2ZWQgd3JhcHBlZCB0eXBlCisgICAgLy8gaW4gbXVjaCB0aGUgc2FtZSB3
YXkgdGhhdCBjZXJ0YWluIG90aGVyIHR5cGVzIG5lZWQgdG8gYmUgYWRvcHRlZCBhbmQKKyAgICAv
LyBzbyBmb3J0aC4gVGhlIHRlbXBsYXRlZCBJbml0KCkgbWV0aG9kcyBhcmUgaW5zdGFudGlhdGVk
IGluIHRoZSBnZW5lcmF0ZWQKKyAgICAvLyBWOCBiaW5kaW5ncyBjb2RlLiBUaGUgY3VzdG9tIGlu
aXQgbWV0aG9kIGlzIHByb3ZpZGVkIGJ5IHRoZSBjdXN0b20gZWxlbWVudAorICAgIC8vIGNvbnN0
cnVjdG9yJ3MgY3VzdG9tIGNvZGUuIFRoZSBKU0MgY29kZSB3aWxsIG1haW50YWluIGNvbXBhdGli
aWxpdHkgdmlhCisgICAgLy8gbm8tb3AgKHZvaWQqKSBtZXRob2RzIGhlcmUuCisgICAgLy8gRklY
TUU6IGltcGxlbWVudCB0aGVzZSBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD5zdGF0aWMgdm9pZCBpbml0KFQqIG9iamVjdCkgeyB9CisgICAgc3RhdGlj
IHZvaWQgaW5pdEN1c3RvbShTY3JpcHRXcmFwcGFibGUqIG9iamVjdCkgeyB9CisKIHByaXZhdGU6
Ci0gICAgaW5saW5lIHZvaWQgZGlzcG9zZVdyYXBwZXIodjg6OlBlcnNpc3RlbnQ8djg6OlZhbHVl
PiB2YWx1ZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCisgICAgc3RhdGljIGlubGluZSB1aW50cHRy
X3QgbWFza09yVW5tYXNrVmFsdWUodWludHB0cl90IHZhbHVlKQogICAgIHsKLSAgICAgICAgQVNT
RVJUKCFtX21hc2tlZFdyYXBwZXIuSXNFbXB0eSgpKTsKLSAgICAgICAgQVNTRVJUKCp2YWx1ZSA9
PSBtYXNrT3JVbm1hc2tQb2ludGVyKCptX21hc2tlZFdyYXBwZXIpKTsKLSAgICAgICAgdmFsdWUu
RGlzcG9zZShpc29sYXRlKTsKLSAgICAgICAgbV9tYXNrZWRXcmFwcGVyLkNsZWFyKCk7CisgICAg
ICAgIGNvbnN0IHVpbnRwdHJfdCByYW5kb21NYXNrID0gfigocmVpbnRlcnByZXRfY2FzdDx1aW50
cHRyX3Q+KCZXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSkgPj4gMTMpIHwgMSk7IC8vIEVudHJvcHkg
dmlhIEFTTFIsIGJvdHRvbSBiaXQgY2xlYXIuCisgICAgICAgIHJldHVybiAodmFsdWUgXiByYW5k
b21NYXNrKSAmICghdmFsdWUgLSAxKTsgLy8gUHJlc2VydmUgbnVsbCB3aXRob3V0IGJyYW5jaGlu
Zy4KICAgICB9CiAKLSAgICAvLyBTdG9yZXMgYSBtYXNrZWQgd3JhcHBlciB0byBwcmV2ZW50IGF0
dGFja2VycyBmcm9tIG92ZXJ3cml0aW5nIHRoaXMgZmllbGQKLSAgICAvLyB3aXRoIGEgcGhvbnkg
d3JhcHBlci4KLSAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX21hc2tlZFdyYXBwZXI7
CisgICAgaW5saW5lIGJvb2wgY29udGFpbnNUeXBlSW5mbygpIGNvbnN0IHsgcmV0dXJuIChtX21h
c2tlZFN0b3JhZ2UgJiAxKSA9PSAxOyB9CisgICAgaW5saW5lIGJvb2wgY29udGFpbnNXcmFwcGVy
KCkgY29uc3QgeyByZXR1cm4gbV9tYXNrZWRTdG9yYWdlICYmICFjb250YWluc1R5cGVJbmZvKCk7
IH0KIAotICAgIHN0YXRpYyBpbmxpbmUgdjg6Ok9iamVjdCogbWFza09yVW5tYXNrUG9pbnRlcihj
b25zdCB2ODo6T2JqZWN0KiBvYmplY3QpCisgICAgaW5saW5lIHZvaWQgZGlzcG9zZVdyYXBwZXIo
djg6OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiB2YWx1ZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUsIGNv
bnN0IFdyYXBwZXJUeXBlSW5mbyogaW5mbykKICAgICB7Ci0gICAgICAgIGNvbnN0IHVpbnRwdHJf
dCBvYmplY3RQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdCk7Ci0g
ICAgICAgIGNvbnN0IHVpbnRwdHJfdCByYW5kb21NYXNrID0gfihyZWludGVycHJldF9jYXN0PHVp
bnRwdHJfdD4oJldlYkNvcmVNZW1vcnlUeXBlczo6RE9NKSA+PiAxMyk7IC8vIEVudHJvcHkgdmlh
IEFTTFIuCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHY4OjpPYmplY3QqPigob2Jq
ZWN0UG9pbnRlciBeIHJhbmRvbU1hc2spICYgKCFvYmplY3RQb2ludGVyIC0gMSkpOyAvLyBQcmVz
ZXJ2ZSBudWxsIHdpdGhvdXQgYnJhbmNoaW5nLgorICAgICAgICBBU1NFUlQoY29udGFpbnNXcmFw
cGVyKCkpOworICAgICAgICBBU1NFUlQocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KCp2YWx1
ZSkgPT0gbWFza09yVW5tYXNrVmFsdWUobV9tYXNrZWRTdG9yYWdlKSk7CisgICAgICAgIHZhbHVl
LkRpc3Bvc2UoaXNvbGF0ZSk7CisgICAgICAgIHNldFR5cGVJbmZvKGluZm8pOwogICAgIH0KIAog
ICAgIHN0YXRpYyB2b2lkIHdlYWtDYWxsYmFjayh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgdjg6OlBl
cnNpc3RlbnQ8djg6OlZhbHVlPiB2YWx1ZSwgdm9pZCogY29udGV4dCkKQEAgLTkzLDEyICsxNjgs
MTkgQEAgcHJpdmF0ZToKICAgICAgICAgV3JhcHBlclR5cGVJbmZvKiBpbmZvID0gdG9XcmFwcGVy
VHlwZUluZm8od3JhcHBlcik7CiAgICAgICAgIEFTU0VSVChpbmZvLT5kZXJlZk9iamVjdEZ1bmN0
aW9uKTsKIAotICAgICAgICBrZXktPmRpc3Bvc2VXcmFwcGVyKHZhbHVlLCBpc29sYXRlKTsKKyAg
ICAgICAga2V5LT5kaXNwb3NlV3JhcHBlcih2YWx1ZSwgaXNvbGF0ZSwgaW5mbyk7CiAgICAgICAg
IC8vIEZJWE1FOiBJIG5vdGljZWQgdGhhdCA1MCV+IG9mIG1pbm9yIEdDIGN5Y2xlIHRpbWVzIGNh
biBiZSBjb25zdW1lZAogICAgICAgICAvLyBpbnNpZGUga2V5LT5kZXJlZigpLCB3aGljaCBjYXVz
ZXMgTm9kZSBkZXN0cnVjdGlvbnMuIFdlIHNob3VsZAogICAgICAgICAvLyBtYWtlIE5vZGUgZGVz
dHJ1Y3Rpb25zIGluY3JlbWVudGFsLgogICAgICAgICBpbmZvLT5kZXJlZk9iamVjdChvYmplY3Qp
OwogICAgIH0KKworICAgIC8vIElmIHplcm8sIHRoZW4gdGhpcyBjb250YWlucyBub3RoaW5nLCBv
dGhlcndpc2U6CisgICAgLy8gICBJZiB0aGUgYm90dG9tIGJpdCBpdCBjbGVhciwgdGhlbiB0aGlz
IGNvbnRhaW5zIGEgbWFza2VkIHBvaW50ZXIgdG8gYSB3cmFwcGVyIG9iamVjdC4KKyAgICAvLyAg
IElmIHRoZSBib3R0b20gYml0IGlzIHNldCwgdGhlbiB0aGlzIGNvbnRhaW5zIGEgcG9pbnRlciB0
byB0aGUgd3JhcHBlciB0eXBlIGluZm8gaW4gdGhlIHJlbWFpbmluZyBiaXRzLgorICAgIC8vIE1h
c2tpbmcgd3JhcHBlcnMgcHJldmVudHMgYXR0YWNrZXJzIGZyb20gb3ZlcndyaXRpbmcgdGhpcyBm
aWVsZCB3aXRoIHBvaW50ZXJzIHRvIHNwcmF5ZWQgZGF0YS4KKyAgICAvLyBQb2ludGVycyBpbnNp
ZGUgV3JhcHBlciBUeXBlIEluZm8gYXJlIGFscmVhZHkgcHJvdGVjdGVkIGJ5IEFTTFIuCisgICAg
dWludHB0cl90IG1fbWFza2VkU3RvcmFnZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZUxvYWRFdmVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlTG9hZEV2ZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlTG9hZEV2ZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIENTU0ZvbnRGYWNlTG9hZEV2ZW50OjpDU1NGb250RmFjZUxvYWRFdmVudCgpCiB7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBDU1NGb250RmFjZUxvYWRFdmVudDo6
Q1NTRm9udEZhY2VMb2FkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBQYXNzUmVmUHRy
PENTU0ZvbnRGYWNlUnVsZT4gZm9udGZhY2UsIFBhc3NSZWZQdHI8RE9NRXJyb3I+IGVycm9yKQpA
QCAtNDQsNiArNDUsNyBAQCBDU1NGb250RmFjZUxvYWRFdmVudDo6Q1NTRm9udEZhY2VMb2FkRXZl
CiAgICAgLCBtX2ZvbnRmYWNlKGZvbnRmYWNlKQogICAgICwgbV9lcnJvcihlcnJvcikKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIENTU0ZvbnRGYWNlTG9hZEV2ZW50
OjpDU1NGb250RmFjZUxvYWRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IENT
U0ZvbnRGYWNlTG9hZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC01MSw2ICs1Myw3IEBAIENT
U0ZvbnRGYWNlTG9hZEV2ZW50OjpDU1NGb250RmFjZUxvYWRFdmUKICAgICAsIG1fZm9udGZhY2Uo
aW5pdGlhbGl6ZXIuZm9udGZhY2UpCiAgICAgLCBtX2Vycm9yKGluaXRpYWxpemVyLmVycm9yKQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ1NTRm9udEZhY2VMb2Fk
RXZlbnQ6On5DU1NGb250RmFjZUxvYWRFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VSdWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2VSdWxlLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAgQ1NT
Rm9udEZhY2VSdWxlOjpDU1NGb250RmFjZVJ1bGUoU3R5bGVSdQogICAgIDogQ1NTUnVsZShwYXJl
bnQpCiAgICAgLCBtX2ZvbnRGYWNlUnVsZShmb250RmFjZVJ1bGUpCiB7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBDU1NGb250RmFjZVJ1bGU6On5DU1NGb250RmFjZVJ1
bGUoKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5oCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCA9IDA7CiAKIHBy
b3RlY3RlZDoKLSAgICBDU1NTdHlsZURlY2xhcmF0aW9uKCkgeyB9CisgICAgQ1NTU3R5bGVEZWNs
YXJhdGlvbigpCisgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7Cisg
ICAgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU01hdHJpeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU01hdHJpeC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NNYXRyaXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMCArMzksMTIg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV2ViS2l0Q1NTTWF0cml4OjpXZWJLaXRDU1NNYXRyaXgo
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG0pCiAgICAgOiBtX21hdHJpeChtKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogV2ViS2l0Q1NTTWF0cml4OjpXZWJL
aXRDU1NNYXRyaXgoY29uc3QgU3RyaW5nJiBzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgc2V0TWF0cml4VmFsdWUocywgZWMpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0F0dHIuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vQXR0ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAgQXR0cjo6
QXR0cihFbGVtZW50KiBlbGVtZW50LCBjb25zdCBRdWFsaQogICAgICwgbV9pbkNoaWxkcmVuQ2hh
bmdlZChmYWxzZSkKICAgICAsIG1fc3BlY2lmaWVkKHRydWUpCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBBdHRyOjpBdHRyKERvY3VtZW50KiBkb2N1bWVudCwgY29u
c3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFsb25lVmFs
dWUpCkBAIC01Nyw2ICs1OCw3IEBAIEF0dHI6OkF0dHIoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25z
dCBRdWEKICAgICAsIG1faW5DaGlsZHJlbkNoYW5nZWQoZmFsc2UpCiAgICAgLCBtX3NwZWNpZmll
ZCh0cnVlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1Jl
ZlB0cjxBdHRyPiBBdHRyOjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVk
TmFtZSYgbmFtZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0ZUVycm9y
RXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21w
bGV0ZUVycm9yRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTggKzYwLDIxIEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgpCiAgICAgeworICAgICAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgfQogCiAgICAgQXV0b2NvbXBsZXRl
RXJyb3JFdmVudChjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICAgICAgOiBFdmVudChldmVudE5h
bWVzKCkuYXV0b2NvbXBsZXRlZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKQogICAgICAgICAsIG1f
cmVhc29uKHJlYXNvbikKICAgICB7CisgICAgICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKICAgICB9CiAKICAgICBBdXRvY29tcGxldGVFcnJvckV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBjb25zdCBBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6
ZXIpCiAgICAgICAgIDogRXZlbnQoZXZlbnRUeXBlLCBpbml0aWFsaXplcikKICAgICAgICAgLCBt
X3JlYXNvbihpbml0aWFsaXplci5yZWFzb24pCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiAgICAgfQogCiAgICAgU3RyaW5nIG1fcmVhc29uOwpJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9CZWZvcmVMb2FkRXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCwxOCAr
NjQsMjEgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBCZWZvcmVMb2FkRXZlbnQoKQogICAgIHsK
KyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIGV4cGxp
Y2l0IEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHVybCkKICAgICAgICAgOiBFdmVudChl
dmVudE5hbWVzKCkuYmVmb3JlbG9hZEV2ZW50LCBmYWxzZSwgdHJ1ZSkKICAgICAgICAgLCBtX3Vy
bCh1cmwpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAg
fQogCiAgICAgQmVmb3JlTG9hZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3Qg
QmVmb3JlTG9hZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgICAgIDogRXZlbnQodHlwZSwg
aW5pdGlhbGl6ZXIpCiAgICAgICAgICwgbV91cmwoaW5pdGlhbGl6ZXIudXJsKQogICAgIHsKKyAg
ICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIFN0cmluZyBt
X3VybDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ0RBVEFTZWN0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjksNiArMjksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBpbmxpbmUgQ0RBVEFTZWN0
aW9uOjpDREFUQVNlY3Rpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGRhdGEp
CiAgICAgOiBUZXh0KGRvY3VtZW50LCBkYXRhLCBDcmVhdGVUZXh0KQogeworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxDREFUQVNlY3Rpb24+IENEQVRB
U2VjdGlvbjo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBkYXRhKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSw2
ICs1NSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgLCBtX2RhdGEoIXRleHQuaXNOdWxsKCkgPyB0
ZXh0IDogZW1wdHlTdHJpbmcoKSkKICAgICB7CiAgICAgICAgIEFTU0VSVCh0eXBlID09IENyZWF0
ZU90aGVyIHx8IHR5cGUgPT0gQ3JlYXRlVGV4dCB8fCB0eXBlID09IENyZWF0ZUVkaXRpbmdUZXh0
KTsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIHZv
aWQgc2V0RGF0YVdpdGhvdXRVcGRhdGUoY29uc3QgU3RyaW5nJiBkYXRhKQpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0NsaWVudFJlY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9DbGllbnRSZWN0LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0NsaWVudFJlY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxNiArMzEsMTkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBDbGllbnRSZWN0OjpDbGllbnRSZWN0KCkKIHsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIENsaWVudFJlY3Q6OkNsaWVudFJlY3QoY29u
c3QgSW50UmVjdCYgcmVjdCkKICAgICA6IG1fcmVjdChyZWN0KQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ2xpZW50UmVjdDo6Q2xpZW50UmVjdChjb25zdCBGbG9h
dFJlY3QmIHJlY3QpCiAgICAgOiBtX3JlY3QocmVjdCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9Db21tZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
Q29tbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db21t
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBpbmxpbmUgQ29tbWVudDo6Q29tbWVudChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgdGV4dCkKICAgICA6IENoYXJhY3RlckRhdGEoZG9jdW1lbnQsIHRleHQsIENyZWF0ZU90
aGVyKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxDb21tZW50PiBDb21tZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJp
bmcmIHRleHQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDE4ICszNywyMSBAQCBDb21wb3NpdGlvbkV2ZW50SW5p
dDo6Q29tcG9zaXRpb25FdmVudEluCiAKIENvbXBvc2l0aW9uRXZlbnQ6OkNvbXBvc2l0aW9uRXZl
bnQoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ29tcG9zaXRp
b25FdmVudDo6Q29tcG9zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFBhc3NS
ZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEpCiAgICAgOiBVSUV2
ZW50KHR5cGUsIHRydWUsIHRydWUsIHZpZXcsIDApCiAgICAgLCBtX2RhdGEoZGF0YSkKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIENvbXBvc2l0aW9uRXZlbnQ6OkNv
bXBvc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBDb21wb3NpdGlv
bkV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgOiBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVy
KQogICAgICwgbV9kYXRhKGluaXRpYWxpemVyLmRhdGEpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBDb21wb3NpdGlvbkV2ZW50Ojp+Q29tcG9zaXRpb25FdmVudCgp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9y
LmlkbAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1l
bnRDb25zdHJ1Y3Rvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICAgICBD
b25kaXRpb25hbD1DVVNUT01fRUxFTUVOVFMsCiAgICAgVjhFbmFibGVkQXRSdW50aW1lPWN1c3Rv
bURPTUVsZW1lbnRzLAogICAgIFY4V3JhcEFzRnVuY3Rpb24sCisgICAgVjhTa2lwVlRhYmxlVmFs
aWRhdGlvbiwKICAgICBDdXN0b21DYWxsCiBdIGludGVyZmFjZSBDdXN0b21FbGVtZW50Q29uc3Ry
dWN0b3IgewogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzYsMTIgKzM2LDE0IEBAIEN1c3RvbUV2ZW50SW5pdDo6Q3VzdG9tRXZlbnRJbml0
KCkKIAogQ3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIEN1c3RvbUV2ZW50OjpDdXN0b21FdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGNvbnN0IEN1c3RvbUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgOiBF
dmVudCh0eXBlLCBpbml0aWFsaXplcikKICAgICAsIG1fZGV0YWlsKGluaXRpYWxpemVyLmRldGFp
bCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEN1c3RvbUV2ZW50
Ojp+Q3VzdG9tRXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRp
b24uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzYsNiArMjM2LDcgQEAgc3RhdGljIGJv
b2wgaXNFdmVudHMzRmVhdHVyZShjb25zdCBTdHJpbgogRE9NSW1wbGVtZW50YXRpb246OkRPTUlt
cGxlbWVudGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1l
bnQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBib29sIERPTUlt
cGxlbWVudGF0aW9uOjpoYXNGZWF0dXJlKGNvbnN0IFN0cmluZyYgZmVhdHVyZSwgY29uc3QgU3Ry
aW5nJiB2ZXJzaW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NSw2ICs1NSw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBET01TdHJpbmdN
YXAoKQogICAgIHsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0K
IH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTIgKzM4LDE0IEBAIERldmljZU1vdGlvbkV2ZW50Ojp+
RGV2aWNlTW90aW9uRXZlbnQoKQogRGV2aWNlTW90aW9uRXZlbnQ6OkRldmljZU1vdGlvbkV2ZW50
KCkKICAgICA6IG1fZGV2aWNlTW90aW9uRGF0YShEZXZpY2VNb3Rpb25EYXRhOjpjcmVhdGUoKSkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIERldmljZU1vdGlvbkV2
ZW50OjpEZXZpY2VNb3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2
aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSkKICAgICA6IEV2ZW50KGV2ZW50VHlwZSwg
ZmFsc2UsIGZhbHNlKSAvLyBDYW4ndCBidWJibGUsIG5vdCBjYW5jZWxhYmxlCiAgICAgLCBtX2Rl
dmljZU1vdGlvbkRhdGEoZGV2aWNlTW90aW9uRGF0YSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIHZvaWQgRGV2aWNlTW90aW9uRXZlbnQ6OmluaXREZXZpY2VNb3Rp
b25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5j
ZWxhYmxlLCBEZXZpY2VNb3Rpb25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKQpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCwxMiArMzgsMTQgQEAgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6
fkRldmljZU9yaWVudGF0aQogRGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNlT3JpZW50YXRp
b25FdmVudCgpCiAgICAgOiBtX29yaWVudGF0aW9uKERldmljZU9yaWVudGF0aW9uRGF0YTo6Y3Jl
YXRlKCkpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBEZXZpY2VP
cmllbnRhdGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBEZXZpY2VPcmllbnRhdGlvbkRhdGEqIG9yaWVudGF0aW9uKQogICAgIDog
RXZlbnQoZXZlbnRUeXBlLCBmYWxzZSwgZmFsc2UpIC8vIENhbid0IGJ1YmJsZSwgbm90IGNhbmNl
bGFibGUKICAgICAsIG1fb3JpZW50YXRpb24ob3JpZW50YXRpb24pCiB7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiB2b2lkIERldmljZU9yaWVudGF0aW9uRXZlbnQ6Omlu
aXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBi
dWJibGVzLCBib29sIGNhbmNlbGFibGUsIERldmljZU9yaWVudGF0aW9uRGF0YSogb3JpZW50YXRp
b24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5OCw2ICs0
OTgsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLCiAjZW5kaWYK
ICAgICAsIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXIodGhpcywgJkRvY3VtZW50Ojpk
aWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lckZpcmVkKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKICAgICBtX3ByaW50aW5nID0gZmFsc2U7CiAgICAgbV9wYWdpbmF0ZWRG
b3JTY3JlZW4gPSBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjYxLDYgKzE2NjEsNyBAQCBpbmxpbmUgTm9kZTo6Tm9kZShEb2N1bWVudCogZG9jdW1lbnQs
IENvCiAgICAgLCBtX3ByZXZpb3VzKDApCiAgICAgLCBtX25leHQoMCkKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKCFtX3RyZWVTY29wZSkKICAgICAgICAgbV90
cmVlU2NvcGUgPSBUcmVlU2NvcGU6Om5vRG9jdW1lbnRJbnN0YW5jZSgpOwogICAgIG1fdHJlZVNj
b3BlLT5ndWFyZFJlZigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJh
Z21lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIERvY3VtZW50RnJhZ21lbnQ6OkRvY3VtZW50RnJhZ21lbnQoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBDb25zdHJ1Y3Rpb25UeXBlIGNvbnN0cnVjdGlvblR5cGUpCiAgICAgOiBDb250YWluZXJO
b2RlKGRvY3VtZW50LCBjb25zdHJ1Y3Rpb25UeXBlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBEb2N1bWVudEZy
YWdtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50VHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50VHlwZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIERvY3VtZW50
VHlwZTo6RG9jdW1lbnRUeXBlKERvY3VtZW50KiBkb2MKICAgICAsIG1fcHVibGljSWQocHVibGlj
SWQpCiAgICAgLCBtX3N5c3RlbUlkKHN5c3RlbUlkKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogS1VSTCBEb2N1bWVudFR5cGU6OmJhc2VVUkkoKSBjb25zdApJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02MjEsNiArNjIxLDcgQEAgcHJvdGVjdGVk
OgogICAgICAgICA6IENvbnRhaW5lck5vZGUoZG9jdW1lbnQsIHR5cGUpCiAgICAgICAgICwgbV90
YWdOYW1lKHRhZ05hbWUpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgfQogCiAgICAgdmlydHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGlu
c2VydGVkSW50byhDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRW50aXR5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VudGl0eS5o
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTM1LDcgKzM1LDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgbm90YXRpb25O
YW1lKCkgY29uc3QgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIFN0cmluZygpOyB9CiAK
IHByaXZhdGU6Ci0gICAgRW50aXR5KCkgOiBDb250YWluZXJOb2RlKDApIHt9CisgICAgRW50aXR5
KCkgOiBDb250YWluZXJOb2RlKDApCisgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CisgICAgfQogfTsKIAogfSAvL25hbWVzcGFjZQpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0VudGl0eVJlZmVyZW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL0VudGl0eVJlZmVyZW5jZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9FbnRpdHlSZWZlcmVuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3
IEBAIGlubGluZSBFbnRpdHlSZWZlcmVuY2U6OkVudGl0eVJlZmVyZW5jZSgKICAgICA6IENvbnRh
aW5lck5vZGUoZG9jdW1lbnQpCiAgICAgLCBtX2VudGl0eU5hbWUoZW50aXR5TmFtZSkKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8RW50aXR5UmVm
ZXJlbmNlPiBFbnRpdHlSZWZlcmVuY2U6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0
IFN0cmluZyYgZW50aXR5TmFtZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBFcnJvckV2ZW50SW5pdDo6RXJyb3JFdmVudElu
aXQoKQogCiBFcnJvckV2ZW50OjpFcnJvckV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIEVycm9yRXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBjb25zdCBFcnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC01Miw2ICs1
Myw3IEBAIEVycm9yRXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgQXRvbWljU3RyaW4KICAgICAsIG1f
ZmlsZU5hbWUoaW5pdGlhbGl6ZXIuZmlsZW5hbWUpCiAgICAgLCBtX2xpbmVOdW1iZXIoaW5pdGlh
bGl6ZXIubGluZW5vKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
RXJyb3JFdmVudDo6RXJyb3JFdmVudChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgZmlsZU5hbWUsIHVuc2lnbmVkIGxpbmVOdW1iZXIpCkBAIC02MCw2ICs2Miw3IEBAIEVycm9y
RXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiBtZXMKICAgICAsIG1fZmlsZU5hbWUoZmls
ZU5hbWUpCiAgICAgLCBtX2xpbmVOdW1iZXIobGluZU51bWJlcikKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEVycm9yRXZlbnQ6On5FcnJvckV2ZW50KCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBFdmVudDo6RXZlbnQo
KQogICAgICwgbV9jdXJyZW50VGFyZ2V0KDApCiAgICAgLCBtX2NyZWF0ZVRpbWUoY29udmVydFNl
Y29uZHNUb0RPTVRpbWVTdGFtcChjdXJyZW50VGltZSgpKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIEV2ZW50OjpFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSwgYm9vbCBjYW5CdWJibGVBcmcsIGJvb2wgY2FuY2VsYWJsZUFyZykKQEAgLTY3LDYg
KzY4LDcgQEAgRXZlbnQ6OkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeQogICAgICwg
bV9jdXJyZW50VGFyZ2V0KDApCiAgICAgLCBtX2NyZWF0ZVRpbWUoY29udmVydFNlY29uZHNUb0RP
TVRpbWVTdGFtcChjdXJyZW50VGltZSgpKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIEV2ZW50OjpFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
Y29uc3QgRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTgyLDYgKzg0LDcgQEAgRXZlbnQ6OkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeQogICAgICwgbV9jdXJyZW50VGFyZ2V0KDAp
CiAgICAgLCBtX2NyZWF0ZVRpbWUoY29udmVydFNlY29uZHNUb0RPTVRpbWVTdGFtcChjdXJyZW50
VGltZSgpKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEV2ZW50
Ojp+RXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MSwxOCArNTEsMjEgQEAgYm9vbCBGb2N1c0V2ZW50Ojppc0ZvY3VzRXZlbnQoKSBjb25z
dAogCiBGb2N1c0V2ZW50OjpGb2N1c0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIEZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3Ry
YWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRl
ZFRhcmdldCkKICAgICA6IFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3
LCBkZXRhaWwpCiAgICAgLCBtX3JlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKIHsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBGb2N1c0V2ZW50SW5pdCYgaW5pdGlhbGl6
ZXIpCiAgICAgOiBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQogICAgICwgbV9yZWxhdGVkVGFy
Z2V0KGluaXRpYWxpemVyLnJlbGF0ZWRUYXJnZXQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBG
b2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4g
Zm9jdXNFdmVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmgJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEhhc2hD
aGFuZ2VFdmVudCgpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAgICAgfQogCiAgICAgSGFzaENoYW5nZUV2ZW50KGNvbnN0IFN0cmluZyYgb2xkVVJMLCBjb25z
dCBTdHJpbmcmIG5ld1VSTCkKQEAgLTc4LDYgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgLCBt
X29sZFVSTChvbGRVUkwpCiAgICAgICAgICwgbV9uZXdVUkwobmV3VVJMKQogICAgIHsKKyAgICAg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIEhhc2hDaGFuZ2VF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEhhc2hDaGFuZ2VFdmVudEluaXQm
IGluaXRpYWxpemVyKQpAQCAtODUsNiArODcsNyBAQCBwcml2YXRlOgogICAgICAgICAsIG1fb2xk
VVJMKGluaXRpYWxpemVyLm9sZFVSTCkKICAgICAgICAgLCBtX25ld1VSTChpbml0aWFsaXplci5u
ZXdVUkwpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAg
fQogCiAgICAgU3RyaW5nIG1fb2xkVVJMOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0tleWJv
YXJkRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJk
RXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNiArMTA1LDcgQEAgS2V5Ym9hcmRFdmVu
dDo6S2V5Ym9hcmRFdmVudCgpCiAgICAgOiBtX2tleUxvY2F0aW9uKERPTUtleUxvY2F0aW9uU3Rh
bmRhcmQpCiAgICAgLCBtX2FsdEdyYXBoS2V5KGZhbHNlKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9hcmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBQ
bGF0Zm9ybUtleWJvYXJkRXZlbnQmIGtleSwgQWJzdHJhY3RWaWV3KiB2aWV3KQpAQCAtMTE1LDYg
KzExNiw3IEBAIEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgUGxhdGYKICAgICAs
IG1fa2V5TG9jYXRpb24oa2V5TG9jYXRpb25Db2RlKGtleSkpCiAgICAgLCBtX2FsdEdyYXBoS2V5
KGZhbHNlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9h
cmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29u
c3QgS2V5Ym9hcmRFdmVudEluaXQmIGluaXRpYWxpemVyKQpAQCAtMTIzLDYgKzEyNSw3IEBAIEtl
eWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgQXRvbWkKICAgICAsIG1fa2V5TG9jYXRp
b24oaW5pdGlhbGl6ZXIua2V5TG9jYXRpb24pCiAgICAgLCBtX2FsdEdyYXBoS2V5KGZhbHNlKQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9hcmRFdmVudDo6
S2V5Ym9hcmRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3ICp2aWV3LApAQCAtMTMzLDYgKzEzNiw3
IEBAIEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgQXRvbWkKICAgICAsIG1fa2V5
TG9jYXRpb24oa2V5TG9jYXRpb24pCiAgICAgLCBtX2FsdEdyYXBoS2V5KGFsdEdyYXBoS2V5KQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9hcmRFdmVudDo6
fktleWJvYXJkRXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIE1lc3NhZ2VFdmVudEluaXQ6Ok1lc3NhZ2VF
dmVudEluaXQoKQogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoKQogICAgIDogbV9kYXRhVHlw
ZShEYXRhVHlwZVNjcmlwdFZhbHVlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKIH0KIAogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBjb25zdCBNZXNzYWdlRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTUxLDYgKzUyLDcg
QEAgTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljUwogICAgICwgbV9zb3Vy
Y2UoaW5pdGlhbGl6ZXIuc291cmNlKQogICAgICwgbV9wb3J0cyhhZG9wdFB0cihuZXcgTWVzc2Fn
ZVBvcnRBcnJheShpbml0aWFsaXplci5wb3J0cykpKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgU2NyaXB0
VmFsdWUmIGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGxhc3RFdmVu
dElkLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gc291cmNlLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0
QXJyYXk+IHBvcnRzKQpAQCAtNjIsNiArNjQsNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVu
dChjb25zdCBTY3JpcHRWCiAgICAgLCBtX3NvdXJjZShzb3VyY2UpCiAgICAgLCBtX3BvcnRzKHBv
cnRzKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogTWVzc2FnZUV2
ZW50OjpNZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEs
IGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGxhc3RFdmVudElkLCBQYXNzUmVm
UHRyPERPTVdpbmRvdz4gc291cmNlLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+IHBvcnRz
KQpAQCAtNzcsNiArODAsNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChQYXNzUmVmUHRy
PFNlCiAgICAgaWYgKG1fZGF0YUFzU2VyaWFsaXplZFNjcmlwdFZhbHVlKQogICAgICAgICBtX2Rh
dGFBc1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS0+cmVnaXN0ZXJNZW1vcnlBbGxvY2F0ZWRXaXRoQ3Vy
cmVudFNjcmlwdENvbnRleHQoKTsKICNlbmRpZgorICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgU3RyaW5nJiBkYXRh
LCBjb25zdCBTdHJpbmcmIG9yaWdpbikKQEAgLTg2LDYgKzkwLDcgQEAgTWVzc2FnZUV2ZW50OjpN
ZXNzYWdlRXZlbnQoY29uc3QgU3RyaW5nJgogICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgICwg
bV9sYXN0RXZlbnRJZCgiIikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE1lc3NhZ2VFdmVudDo6TWVzc2FnZUV2ZW50KFBhc3NSZWZQdHI8QmxvYj4gZGF0YSwgY29u
c3QgU3RyaW5nJiBvcmlnaW4pCkBAIC05NSw2ICsxMDAsNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3Nh
Z2VFdmVudChQYXNzUmVmUHRyPEJsCiAgICAgLCBtX29yaWdpbihvcmlnaW4pCiAgICAgLCBtX2xh
c3RFdmVudElkKCIiKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
TWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gZGF0YSwg
Y29uc3QgU3RyaW5nJiBvcmlnaW4pCkBAIC0xMDQsNiArMTEwLDcgQEAgTWVzc2FnZUV2ZW50OjpN
ZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxBcgogICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgICwg
bV9sYXN0RXZlbnRJZCgiIikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE1lc3NhZ2VFdmVudDo6fk1lc3NhZ2VFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vTW91c2VFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw2ICsxMDUsNyBAQCBNb3VzZUV2ZW50OjpN
b3VzZUV2ZW50KCkKICAgICA6IG1fYnV0dG9uKDApCiAgICAgLCBtX2J1dHRvbkRvd24oZmFsc2Up
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBNb3VzZUV2ZW50OjpN
b3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwg
Ym9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywKQEAgLTEyNiw2
ICsxMjcsNyBAQCBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluCiAgICAg
LCBtX3JlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKICAgICAsIG1fY2xpcGJvYXJkKGNsaXBi
b2FyZCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIE1vdXNlRXZl
bnQ6Ok1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IE1vdXNl
RXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTE0MCw2ICsxNDIsNyBAQCBNb3VzZUV2ZW50OjpN
b3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluCiAgICAgLCBtX3JlbGF0ZWRUYXJnZXQoaW5pdGlh
bGl6ZXIucmVsYXRlZFRhcmdldCkKICAgICAsIG1fY2xpcGJvYXJkKDAgLyogY2xpcGJvYXJkICov
KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBpbml0Q29vcmRpbmF0
ZXMoSW50UG9pbnQoaW5pdGlhbGl6ZXIuY2xpZW50WCwgaW5pdGlhbGl6ZXIuY2xpZW50WSkpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDYgKzMwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTXV0YXRpb25FdmVudDo6
TXV0YXRpb25FdmVudCgpCiAgICAgOiBtX2F0dHJDaGFuZ2UoMCkKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIE11dGF0aW9uRXZlbnQ6Ok11dGF0aW9uRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQ
YXNzUmVmUHRyPE5vZGU+IHJlbGF0ZWROb2RlLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05h
bWVkTm9kZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVN
YXAuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1h
cC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgewogICAg
ICAgICAvLyBPbmx5IHN1cHBvcnRzIE5hbWVkTm9kZU1hcHMgd2l0aCBFbGVtZW50IGFzc29jaWF0
ZWQsIERvY3VtZW50VHlwZS5lbnRpdGllcyBhbmQgRG9jdW1lbnRUeXBlLm5vdGF0aW9ucyBhcmUg
bm90IHN1cHBvcnRlZCB5ZXQuCiAgICAgICAgIEFTU0VSVChtX2VsZW1lbnQpOworICAgICAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgfQogCiAgICAgRWxlbWVudCogbV9lbGVt
ZW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw2ICs3OSw3IEBAIE5vZGVJdGVyYXRvcjo6Tm9kZUl0ZXJhdG9yKFBhc3NSZWZQdHI8
Tm8KIHsKICAgICAvLyBEb2N1bWVudCB0eXBlIG5vZGVzIG1heSBoYXZlIGEgbnVsbCBkb2N1bWVu
dC4gQnV0IHNpbmNlIHRoZXkgY2FuJ3QgaGF2ZSBjaGlsZHJlbiwgdGhlcmUgaXMgbm8gbmVlZCB0
byBsaXN0ZW4gZm9yIG1vZGlmaWNhdGlvbnMgdG8gdGhlc2UuCiAgICAgQVNTRVJUKHJvb3QoKS0+
ZG9jdW1lbnQoKSB8fCByb290KCktPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfVFlQRV9O
T0RFKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKERvY3VtZW50
KiBvd25lckRvY3VtZW50ID0gcm9vdCgpLT5kb2N1bWVudCgpKQogICAgICAgICBvd25lckRvY3Vt
ZW50LT5hdHRhY2hOb2RlSXRlcmF0b3IodGhpcyk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vTm9kZUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxpc3Qu
aAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vZGVMaXN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICAvLyBPdGhlciBtZXRob2RzIChub3QgcGFydCBvZiBET00pCiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0xpdmVOb2RlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBwcm90
ZWN0ZWQ6CisgICAgICAgIE5vZGVMaXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOworICAgICAgICB9CiAgICAgfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vdGF0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm90YXRpb24uY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm90YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MSw2ICszMSw3IEBAIE5vdGF0aW9uOjpOb3RhdGlvbihEb2N1bWVudCogZG9jdW1lbnQsIGMKICAg
ICAsIG1fcHVibGljSWQocHVibGljSWQpCiAgICAgLCBtX3N5c3RlbUlkKHN5c3RlbUlkKQogewor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3RyaW5nIE5vdGF0aW9uOjpu
b2RlTmFtZSgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgT3ZlcmZsb3dFdmVudDo6T3ZlcmZsb3dF
dmVudCgpCiAgICAgLCBtX2hvcml6b250YWxPdmVyZmxvdyhmYWxzZSkKICAgICAsIG1fdmVydGlj
YWxPdmVyZmxvdyhmYWxzZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE92ZXJmbG93RXZlbnQ6Ok92ZXJmbG93RXZlbnQoYm9vbCBob3Jpem9udGFsT3ZlcmZsb3dD
aGFuZ2VkLCBib29sIGhvcml6b250YWxPdmVyZmxvdywgYm9vbCB2ZXJ0aWNhbE92ZXJmbG93Q2hh
bmdlZCwgYm9vbCB2ZXJ0aWNhbE92ZXJmbG93KQpAQCAtNTEsNiArNTIsNyBAQCBPdmVyZmxvd0V2
ZW50OjpPdmVyZmxvd0V2ZW50KGJvb2wgaG9yaXpvCiAgICAgLCBtX3ZlcnRpY2FsT3ZlcmZsb3co
dmVydGljYWxPdmVyZmxvdykKIHsKICAgICBBU1NFUlQoaG9yaXpvbnRhbE92ZXJmbG93Q2hhbmdl
ZCB8fCB2ZXJ0aWNhbE92ZXJmbG93Q2hhbmdlZCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogCiAgICAgaWYgKGhvcml6b250YWxPdmVyZmxvd0NoYW5nZWQgJiYgdmVydGljYWxP
dmVyZmxvd0NoYW5nZWQpCiAgICAgICAgIG1fb3JpZW50ID0gQk9USDsKQEAgLTY2LDYgKzY4LDcg
QEAgT3ZlcmZsb3dFdmVudDo6T3ZlcmZsb3dFdmVudChjb25zdCBBdG9taQogICAgICwgbV9ob3Jp
em9udGFsT3ZlcmZsb3coaW5pdGlhbGl6ZXIuaG9yaXpvbnRhbE92ZXJmbG93KQogICAgICwgbV92
ZXJ0aWNhbE92ZXJmbG93KGluaXRpYWxpemVyLnZlcnRpY2FsT3ZlcmZsb3cpCiB7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBjb25zdCBBdG9taWNTdHJpbmcmIE92ZXJm
bG93RXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9QYWdlVHJhbnNpdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwx
OCArMzgsMjEgQEAgUGFnZVRyYW5zaXRpb25FdmVudEluaXQ6OlBhZ2VUcmFuc2l0aW9uRQogUGFn
ZVRyYW5zaXRpb25FdmVudDo6UGFnZVRyYW5zaXRpb25FdmVudCgpCiAgICAgOiBtX3BlcnNpc3Rl
ZChmYWxzZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhZ2VU
cmFuc2l0aW9uRXZlbnQ6OlBhZ2VUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBib29sIHBlcnNpc3RlZCkKICAgICA6IEV2ZW50KHR5cGUsIHRydWUsIHRydWUpCiAgICAg
LCBtX3BlcnNpc3RlZChwZXJzaXN0ZWQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBQYWdlVHJhbnNpdGlvbkV2ZW50OjpQYWdlVHJhbnNpdGlvbkV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgUGFnZVRyYW5zaXRpb25FdmVudEluaXQmIGluaXRp
YWxpemVyKQogICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpCiAgICAgLCBtX3BlcnNpc3Rl
ZChpbml0aWFsaXplci5wZXJzaXN0ZWQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBQYWdlVHJhbnNpdGlvbkV2ZW50Ojp+UGFnZVRyYW5zaXRpb25FdmVudCgpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDcgQEAgUG9wU3RhdGVFdmVudDo6UG9wU3RhdGVFdmVudCgpCiAgICAgLCBtX3Nl
cmlhbGl6ZWRTdGF0ZSgwKQogICAgICwgbV9oaXN0b3J5KDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgUG9wU3RhdGVFdmVudEluaXQmIGluaXRpYWxpemVy
KQpAQCAtNTAsNiArNTEsNyBAQCBQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50KGNvbnN0IEF0
b21pCiAgICAgLCBtX3NlcmlhbGl6ZWRTdGF0ZSgwKQogICAgICwgbV9oaXN0b3J5KDApCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQb3BTdGF0ZUV2ZW50OjpQb3BT
dGF0ZUV2ZW50KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU3Rh
dGUsIFBhc3NSZWZQdHI8SGlzdG9yeT4gaGlzdG9yeSkKQEAgLTU3LDYgKzU5LDcgQEAgUG9wU3Rh
dGVFdmVudDo6UG9wU3RhdGVFdmVudChQYXNzUmVmUHRyPAogICAgICwgbV9zZXJpYWxpemVkU3Rh
dGUoc2VyaWFsaXplZFN0YXRlKQogICAgICwgbV9oaXN0b3J5KGhpc3RvcnkpCiB7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQb3BTdGF0ZUV2ZW50Ojp+UG9wU3RhdGVF
dmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9u
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAgaW5saW5lIFBy
b2Nlc3NpbmdJbnN0cnVjdGlvbjo6UHJvY2Vzc2luZwogICAgICwgbV9pc1hTTChmYWxzZSkKICNl
bmRpZgogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24+IFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0
YSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KCkKICAgICAs
IG1fbG9hZGVkKDApCiAgICAgLCBtX3RvdGFsKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgY29uc3QgUHJvZ3Jlc3NFdmVudEluaXQmIGluaXRpYWxpemVyKQpAQCAt
NTAsNiArNTEsNyBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pCiAg
ICAgLCBtX2xvYWRlZChpbml0aWFsaXplci5sb2FkZWQpCiAgICAgLCBtX3RvdGFsKGluaXRpYWxp
emVyLnRvdGFsKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUHJv
Z3Jlc3NFdmVudDo6UHJvZ3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wg
bGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQgbG9u
ZyBsb25nIHRvdGFsKQpAQCAtNTgsNiArNjAsNyBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2
ZW50KGNvbnN0IEF0b21pCiAgICAgLCBtX2xvYWRlZChsb2FkZWQpCiAgICAgLCBtX3RvdGFsKHRv
dGFsKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KICAgICAKIGNvbnN0
IEF0b21pY1N0cmluZyYgUHJvZ3Jlc3NFdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vUHJvcGVydHlOb2RlTGlzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1Byb3BlcnR5Tm9kZUxpc3QuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vUHJvcGVydHlOb2RlTGlzdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDYgKzQ3LDcgQEAgUHJvcGVydHlOb2RlTGlzdDo6UHJvcGVydHlOb2RlTGlzdChO
b2RlKgogICAgIDogTGl2ZU5vZGVMaXN0KHJvb3ROb2RlLCBQcm9wZXJ0eU5vZGVMaXN0VHlwZSwg
SW52YWxpZGF0ZU9uSXRlbUF0dHJDaGFuZ2UsIE5vZGVMaXN0SXNSb290ZWRBdERvY3VtZW50SWZP
d25lckhhc0l0ZW1yZWZBdHRyKQogICAgICwgbV9uYW1lKG5hbWUpCiB7CisgICAgaW5pdFdyYXBw
YWJsZSh0aGlzKTsKIH0KIAogUHJvcGVydHlOb2RlTGlzdDo6flByb3BlcnR5Tm9kZUxpc3QoKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2
Myw3IEBAIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QoRG9jdW1lbnQqIGRvY3VtZW4KICAgICAsIG1f
cmVnaXN0ZXJlZFdpdGhQYXJlbnRTaGFkb3dSb290KGZhbHNlKQogewogICAgIEFTU0VSVChkb2N1
bWVudCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogCiAjaWYgUExBVEZPUk0o
Q0hST01JVU0pCiAgICAgaWYgKHR5cGUgPT0gU2hhZG93Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkg
ewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dC5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIHByb3RlY3RlZDoKICAg
ICBUZXh0KERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBkYXRhLCBDb25zdHJ1Y3Rp
b25UeXBlIHR5cGUpCiAgICAgICAgIDogQ2hhcmFjdGVyRGF0YShkb2N1bWVudCwgZGF0YSwgdHlw
ZSkKICAgICB7CisgICAgICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICB9CiAK
IHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY3LDYgKzY3LDcgQEAgVGV4dEV2ZW50OjpUZXh0RXZlbnQoKQogICAgICwgbV9zaG91bGRTbWFy
dFJlcGxhY2UoZmFsc2UpCiAgICAgLCBtX3Nob3VsZE1hdGNoU3R5bGUoZmFsc2UpCiB7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBUZXh0RXZlbnQ6OlRleHRFdmVudChQ
YXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgY29uc3QgU3RyaW5nJiBkYXRhLCBUZXh0RXZl
bnRJbnB1dFR5cGUgaW5wdXRUeXBlKQpAQCAtNzcsNiArNzgsNyBAQCBUZXh0RXZlbnQ6OlRleHRF
dmVudChQYXNzUmVmUHRyPEFic3RyYWN0CiAgICAgLCBtX3Nob3VsZFNtYXJ0UmVwbGFjZShmYWxz
ZSkKICAgICAsIG1fc2hvdWxkTWF0Y2hTdHlsZShmYWxzZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIFRleHRFdmVudDo6VGV4dEV2ZW50KFBhc3NSZWZQdHI8QWJz
dHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEsIFBhc3NSZWZQdHI8RG9jdW1lbnRG
cmFnbWVudD4gcGFzdGluZ0ZyYWdtZW50LApAQCAtODgsNiArOTAsNyBAQCBUZXh0RXZlbnQ6OlRl
eHRFdmVudChQYXNzUmVmUHRyPEFic3RyYWN0CiAgICAgLCBtX3Nob3VsZFNtYXJ0UmVwbGFjZShz
aG91bGRTbWFydFJlcGxhY2UpCiAgICAgLCBtX3Nob3VsZE1hdGNoU3R5bGUoc2hvdWxkTWF0Y2hT
dHlsZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFRleHRFdmVu
dDo6VGV4dEV2ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcm
IGRhdGEsIGNvbnN0IFZlY3RvcjxEaWN0YXRpb25BbHRlcm5hdGl2ZT4mIGRpY3RhdGlvbkFsdGVy
bmF0aXZlcykKQEAgLTk4LDYgKzEwMSw3IEBAIFRleHRFdmVudDo6VGV4dEV2ZW50KFBhc3NSZWZQ
dHI8QWJzdHJhY3QKICAgICAsIG1fc2hvdWxkTWF0Y2hTdHlsZShmYWxzZSkKICAgICAsIG1fZGlj
dGF0aW9uQWx0ZXJuYXRpdmVzKGRpY3RhdGlvbkFsdGVybmF0aXZlcykKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFRleHRFdmVudDo6flRleHRFdmVudCgpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL1RvdWNoRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vVG91Y2hFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBUb3VjaEV2ZW50OjpUb3VjaEV2ZW50KCkKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFRvdWNoRXZlbnQ6OlRvdWNoRXZl
bnQoVG91Y2hMaXN0KiB0b3VjaGVzLCBUb3VjaExpc3QqIHRhcmdldFRvdWNoZXMsCkBAIC01OSw2
ICs2MCw3IEBAIFRvdWNoRXZlbnQ6OlRvdWNoRXZlbnQoVG91Y2hMaXN0KiB0b3VjaGUKICAgICAs
IG1fZG91YmxlVGFwKGZhbHNlKQogI2VuZGlmCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogfQogCiBUb3VjaEV2ZW50Ojp+VG91Y2hFdmVudCgpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vVHJhbnNpdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vVHJhbnNpdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1RyYW5zaXRpb25FdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5
LDcgQEAgVHJhbnNpdGlvbkV2ZW50SW5pdDo6VHJhbnNpdGlvbkV2ZW50SW5pdAogVHJhbnNpdGlv
bkV2ZW50OjpUcmFuc2l0aW9uRXZlbnQoKQogICAgIDogbV9lbGFwc2VkVGltZSgwKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVHJhbnNpdGlvbkV2ZW50OjpUcmFu
c2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHByb3Bl
cnR5TmFtZSwgZG91YmxlIGVsYXBzZWRUaW1lLCBjb25zdCBTdHJpbmcmIHBzZXVkb0VsZW1lbnQp
CkBAIC00Nyw2ICs0OCw3IEBAIFRyYW5zaXRpb25FdmVudDo6VHJhbnNpdGlvbkV2ZW50KGNvbnN0
IEEKICAgICAsIG1fZWxhcHNlZFRpbWUoZWxhcHNlZFRpbWUpCiAgICAgLCBtX3BzZXVkb0VsZW1l
bnQocHNldWRvRWxlbWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIFRyYW5zaXRpb25FdmVudDo6VHJhbnNpdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgY29uc3QgVHJhbnNpdGlvbkV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC01NSw2ICs1
Nyw3IEBAIFRyYW5zaXRpb25FdmVudDo6VHJhbnNpdGlvbkV2ZW50KGNvbnN0IEEKICAgICAsIG1f
ZWxhcHNlZFRpbWUoaW5pdGlhbGl6ZXIuZWxhcHNlZFRpbWUpCiAgICAgLCBtX3BzZXVkb0VsZW1l
bnQoaW5pdGlhbGl6ZXIucHNldWRvRWxlbWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIFRyYW5zaXRpb25FdmVudDo6flRyYW5zaXRpb25FdmVudCgpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVdhbGtlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL1RyZWVXYWxrZXIuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vVHJlZVdhbGtlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcg
QEAgVHJlZVdhbGtlcjo6VHJlZVdhbGtlcihQYXNzUmVmUHRyPE5vZGU+IAogICAgIDogVHJhdmVy
c2FsKHJvb3ROb2RlLCB3aGF0VG9TaG93LCBmaWx0ZXIsIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMp
CiAgICAgLCBtX2N1cnJlbnQocm9vdCgpKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogdm9pZCBUcmVlV2Fsa2VyOjpzZXRDdXJyZW50Tm9kZShQYXNzUmVmUHRyPE5v
ZGU+IG5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1VJ
RXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcAko
cmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIFVJRXZlbnRJbml0OjpVSUV2ZW50SW5pdCgpCiBV
SUV2ZW50OjpVSUV2ZW50KCkKICAgICA6IG1fZGV0YWlsKDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBVSUV2ZW50OjpVSUV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbCBjYW5jZWxhYmxlQXJnLCBQYXNz
UmVmUHRyPEFic3RyYWN0Vmlldz4gdmlld0FyZywgaW50IGRldGFpbEFyZykKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBXZWJLaXRBbmltYXRpb25FdmVudEluaXQ6OldlYktp
dEFuaW1hdGlvCiBXZWJLaXRBbmltYXRpb25FdmVudDo6V2ViS2l0QW5pbWF0aW9uRXZlbnQoKQog
ICAgIDogbV9lbGFwc2VkVGltZSgwLjApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBXZWJLaXRBbmltYXRpb25FdmVudDo6V2ViS2l0QW5pbWF0aW9uRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBXZWJLaXRBbmltYXRpb25FdmVudEluaXQmIGlu
aXRpYWxpemVyKQpAQCAtNDYsNiArNDcsNyBAQCBXZWJLaXRBbmltYXRpb25FdmVudDo6V2ViS2l0
QW5pbWF0aW9uRXZlCiAgICAgLCBtX2FuaW1hdGlvbk5hbWUoaW5pdGlhbGl6ZXIuYW5pbWF0aW9u
TmFtZSkKICAgICAsIG1fZWxhcHNlZFRpbWUoaW5pdGlhbGl6ZXIuZWxhcHNlZFRpbWUpCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBXZWJLaXRBbmltYXRpb25FdmVu
dDo6V2ViS2l0QW5pbWF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBT
dHJpbmcmIGFuaW1hdGlvbk5hbWUsIGRvdWJsZSBlbGFwc2VkVGltZSkKQEAgLTUzLDYgKzU1LDcg
QEAgV2ViS2l0QW5pbWF0aW9uRXZlbnQ6OldlYktpdEFuaW1hdGlvbkV2ZQogICAgICwgbV9hbmlt
YXRpb25OYW1lKGFuaW1hdGlvbk5hbWUpCiAgICAgLCBtX2VsYXBzZWRUaW1lKGVsYXBzZWRUaW1l
KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogV2ViS2l0QW5pbWF0
aW9uRXZlbnQ6On5XZWJLaXRBbmltYXRpb25FdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM4LDYgKzM4LDcgQEAgV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW5pdDo6V2ViS2l0VHJhbnNp
dAogV2ViS2l0VHJhbnNpdGlvbkV2ZW50OjpXZWJLaXRUcmFuc2l0aW9uRXZlbnQoKQogICAgIDog
bV9lbGFwc2VkVGltZSgwKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogV2ViS2l0VHJhbnNpdGlvbkV2ZW50OjpXZWJLaXRUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHByb3BlcnR5TmFtZSwgZG91YmxlIGVsYXBz
ZWRUaW1lLCBjb25zdCBTdHJpbmcmIHBzZXVkb0VsZW1lbnQpCkBAIC00Niw2ICs0Nyw3IEBAIFdl
YktpdFRyYW5zaXRpb25FdmVudDo6V2ViS2l0VHJhbnNpdGlvbkUKICAgICAsIG1fZWxhcHNlZFRp
bWUoZWxhcHNlZFRpbWUpCiAgICAgLCBtX3BzZXVkb0VsZW1lbnQocHNldWRvRWxlbWVudCkKIHsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFdlYktpdFRyYW5zaXRpb25F
dmVudDo6V2ViS2l0VHJhbnNpdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29u
c3QgV2ViS2l0VHJhbnNpdGlvbkV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC01NCw2ICs1Niw3
IEBAIFdlYktpdFRyYW5zaXRpb25FdmVudDo6V2ViS2l0VHJhbnNpdGlvbkUKICAgICAsIG1fZWxh
cHNlZFRpbWUoaW5pdGlhbGl6ZXIuZWxhcHNlZFRpbWUpCiAgICAgLCBtX3BzZXVkb0VsZW1lbnQo
aW5pdGlhbGl6ZXIucHNldWRvRWxlbWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFdlYktpdFRyYW5zaXRpb25FdmVudDo6fldlYktpdFRyYW5zaXRpb25FdmVu
dCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQz
LDYgKzQzLDcgQEAgV2hlZWxFdmVudDo6V2hlZWxFdmVudCgpCiAgICAgOiBtX2RlbHRhTW9kZShE
T01fREVMVEFfUElYRUwpCiAgICAgLCBtX2RpcmVjdGlvbkludmVydGVkRnJvbURldmljZShmYWxz
ZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFdoZWVsRXZlbnQ6
OldoZWVsRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBXaGVlbEV2ZW50SW5p
dCYgaW5pdGlhbGl6ZXIpCkBAIC01MCw3ICs1MSw3IEBAIFdoZWVsRXZlbnQ6OldoZWVsRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW4KICAgICAsIG1fd2hlZWxEZWx0YShJbnRQb2ludChpbml0aWFsaXpl
ci53aGVlbERlbHRhWCwgaW5pdGlhbGl6ZXIud2hlZWxEZWx0YVkpKQogICAgICwgbV9kZWx0YU1v
ZGUoaW5pdGlhbGl6ZXIuZGVsdGFNb2RlKQogewotfQorICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTt9CiAKIFdoZWVsRXZlbnQ6OldoZWVsRXZlbnQoY29uc3QgRmxvYXRQb2ludCYgd2hl
ZWxUaWNrcywgY29uc3QgRmxvYXRQb2ludCYgcmF3RGVsdGEsIHVuc2lnbmVkIGRlbHRhTW9kZSwK
ICAgICBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgY29uc3QgSW50UG9pbnQmIHNjcmVl
bkxvY2F0aW9uLCBjb25zdCBJbnRQb2ludCYgcGFnZUxvY2F0aW9uLApAQCAtNjcsNiArNjgsNyBA
QCBXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KGNvbnN0IEZsb2F0UG9pbnQmCiAgICAgLCBtX2RlbHRh
TW9kZShkZWx0YU1vZGUpCiAgICAgLCBtX2RpcmVjdGlvbkludmVydGVkRnJvbURldmljZShkaXJl
Y3Rpb25JbnZlcnRlZEZyb21EZXZpY2UpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiB2b2lkIFdoZWVsRXZlbnQ6OmluaXRXaGVlbEV2ZW50KGludCByYXdEZWx0YVgs
IGludCByYXdEZWx0YVksIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LApJbmRleDogU291
cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0Jsb2IuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0Jsb2IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1NCw3IEBAIGVudW0gU2xp
Y2VIaXN0b2dyYW1FbnVtIHsKIEJsb2I6OkJsb2IoKQogICAgIDogbV9zaXplKDApCiB7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIE93blB0cjxCbG9iRGF0YT4gYmxvYkRh
dGEgPSBCbG9iRGF0YTo6Y3JlYXRlKCk7CiAKICAgICAvLyBDcmVhdGUgYSBuZXcgaW50ZXJuYWwg
VVJMIGFuZCByZWdpc3RlciBpdCB3aXRoIHRoZSBwcm92aWRlZCBibG9iIGRhdGEuCkBAIC02Niw2
ICs2Nyw3IEBAIEJsb2I6OkJsb2IoUGFzc093blB0cjxCbG9iRGF0YT4gYmxvYkRhdGEKICAgICAs
IG1fc2l6ZShzaXplKQogewogICAgIEFTU0VSVChibG9iRGF0YSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogCiAgICAgLy8gQ3JlYXRlIGEgbmV3IGludGVybmFsIFVSTCBhbmQg
cmVnaXN0ZXIgaXQgd2l0aCB0aGUgcHJvdmlkZWQgYmxvYiBkYXRhLgogICAgIG1faW50ZXJuYWxV
UkwgPSBCbG9iVVJMOjpjcmVhdGVJbnRlcm5hbFVSTCgpOwpAQCAtNzYsNiArNzgsOCBAQCBCbG9i
OjpCbG9iKGNvbnN0IEtVUkwmIHNyY1VSTCwgY29uc3QgU3RyCiAgICAgOiBtX3R5cGUodHlwZSkK
ICAgICAsIG1fc2l6ZShzaXplKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
KwogICAgIC8vIENyZWF0ZSBhIG5ldyBpbnRlcm5hbCBVUkwgYW5kIHJlZ2lzdGVyIGl0IHdpdGgg
dGhlIHNhbWUgYmxvYiBkYXRhIGFzIHRoZSBzb3VyY2UgVVJMLgogICAgIG1faW50ZXJuYWxVUkwg
PSBCbG9iVVJMOjpjcmVhdGVJbnRlcm5hbFVSTCgpOwogICAgIFRocmVhZGFibGVCbG9iUmVnaXN0
cnk6OnJlZ2lzdGVyQmxvYlVSTCgwLCBtX2ludGVybmFsVVJMLCBzcmNVUkwpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0ZpbGUuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0ZpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNiArMTA0LDcgQEAgRmlsZTo6
RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIENvbnRlbnRUeQogICAgICwgbV9zbmFwc2hvdE1vZGlm
aWNhdGlvblRpbWUoaW52YWxpZEZpbGVUaW1lKCkpCiAjZW5kaWYKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEZpbGU6OkZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdHlwZSkKQEAgLTExNCw2ICsxMTUsNyBAQCBG
aWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgS1VSCiAgICAgLCBtX3NuYXBzaG90
TW9kaWZpY2F0aW9uVGltZShpbnZhbGlkRmlsZVRpbWUoKSkKICNlbmRpZgogeworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBtX25hbWUgPSBwYXRoR2V0RmlsZU5hbWUocGF0
aCk7CiAgICAgLy8gRklYTUU6IEZpbGUgb2JqZWN0IHNlcmlhbGl6YXRpb24vZGVzZXJpYWxpemF0
aW9uIGRvZXMgbm90IGluY2x1ZGUKICAgICAvLyBuZXdlciBmaWxlIG9iamVjdCBkYXRhIG1lbWJl
cnM6IG1fbmFtZSBhbmQgbV9yZWxhdGl2ZVBhdGguCkBAIC0xMjksNiArMTMxLDcgQEAgRmlsZTo6
RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFN0cgogICAgICwgbV9zbmFwc2hvdE1vZGlm
aWNhdGlvblRpbWUoaW52YWxpZEZpbGVUaW1lKCkpCiAjZW5kaWYKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCkBAIC0xMzks
NiArMTQyLDcgQEAgRmlsZTo6RmlsZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEZpbAogICAg
ICwgbV9zbmFwc2hvdFNpemUobWV0YWRhdGEubGVuZ3RoKQogICAgICwgbV9zbmFwc2hvdE1vZGlm
aWNhdGlvblRpbWUobWV0YWRhdGEubW9kaWZpY2F0aW9uVGltZSkKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEZpbGU6OkZpbGUoY29uc3QgS1VSTCYgZmlsZVN5c3Rl
bVVSTCwgY29uc3QgRmlsZU1ldGFkYXRhJiBtZXRhZGF0YSkKQEAgLTE0Nyw2ICsxNTEsNyBAQCBG
aWxlOjpGaWxlKGNvbnN0IEtVUkwmIGZpbGVTeXN0ZW1VUkwsIGNvCiAgICAgLCBtX3NuYXBzaG90
U2l6ZShtZXRhZGF0YS5sZW5ndGgpCiAgICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0aW9uVGltZSht
ZXRhZGF0YS5tb2RpZmljYXRpb25UaW1lKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVMaXN0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVMaXN0LmNwcAko
cmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBG
aWxlTGlzdDo6RmlsZUxpc3QoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogRmlsZSogRmlsZUxpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM4LDYgKzM4LDcgQEAgUGFzc1JlZlB0cjxIVE1MQWxsQ29sbGVjdGlvbj4gSFRN
TEFsbENvbAogSFRNTEFsbENvbGxlY3Rpb246OkhUTUxBbGxDb2xsZWN0aW9uKE5vZGUqIG5vZGUs
IENvbGxlY3Rpb25UeXBlIHR5cGUpCiAgICAgOiBIVE1MQ29sbGVjdGlvbihub2RlLCB0eXBlLCBE
b2VzTm90T3ZlcnJpZGVJdGVtQWZ0ZXIpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBIVE1MQWxsQ29sbGVjdGlvbjo6fkhUTUxBbGxDb2xsZWN0aW9uKCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTUsNiArNTUsNyBAQCBIVE1MQW5jaG9yRWxlbWVudDo6SFRNTEFuY2hvckVs
ZW1lbnQoY29uCiAgICAgLCBtX2xpbmtSZWxhdGlvbnMoMCkKICAgICAsIG1fY2FjaGVkVmlzaXRl
ZExpbmtIYXNoKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQ
YXNzUmVmUHRyPEhUTUxBbmNob3JFbGVtZW50PiBIVE1MQW5jaG9yRWxlbWVudDo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
cHBsZXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBIVE1MQXBw
bGV0RWxlbWVudDo6SFRNTEFwcGxldEVsZW1lbnQoY29uCiAgICAgOiBIVE1MUGx1Z0luSW1hZ2VF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBjcmVhdGVkQnlQYXJzZXIsIFNob3VsZE5vdFByZWZl
clBsdWdJbnNGb3JJbWFnZXMpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoYXBwbGV0VGFnKSk7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogCiAgICAgbV9zZXJ2aWNlVHlwZSA9
ICJhcHBsaWNhdGlvbi94LWphdmEtYXBwbGV0IjsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEFyZWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBcmVhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFyZWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBA
QCBpbmxpbmUgSFRNTEFyZWFFbGVtZW50OjpIVE1MQXJlYUVsZW1lbnQoCiAgICAgLCBtX3NoYXBl
KFVua25vd24pCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoYXJlYVRhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MQXJlYUVsZW1lbnQ+
IEhUTUxBcmVhRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVt
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVk
aW9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBIVE1MQXVkaW9F
bGVtZW50OjpIVE1MQXVkaW9FbGVtZW50KGNvbnN0CiAgICAgOiBIVE1MTWVkaWFFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50LCBjcmVhdGVkQnlQYXJzZXIpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05h
bWUoYXVkaW9UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBh
c3NSZWZQdHI8SFRNTEF1ZGlvRWxlbWVudD4gSFRNTEF1ZGlvRWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBjcmVhdGVk
QnlQYXJzZXIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCUkVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJSRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJSRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAgSFRNTEJSRWxlbWVudDo6SFRNTEJSRWxlbWVu
dChjb25zdCBRdWFsaQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAg
ICAgQVNTRVJUKGhhc1RhZ05hbWUoYnJUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEJSRWxlbWVudD4gSFRNTEJSRWxlbWVudDo6Y3Jl
YXRlKERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJh
c2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNl
RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEJhc2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBpbmxpbmUg
SFRNTEJhc2VFbGVtZW50OjpIVE1MQmFzZUVsZW1lbnQoCiAgICAgOiBIVE1MRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShiYXNlVGFnKSk7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxCYXNlRWxl
bWVudD4gSFRNTEJhc2VFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFz
ZUZvbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
YXNlRm9udEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3
IEBAIGlubGluZSBIVE1MQmFzZUZvbnRFbGVtZW50OjpIVE1MQmFzZUZvbnQKICAgICA6IEhUTUxF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGJhc2Vm
b250VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVm
UHRyPEhUTUxCYXNlRm9udEVsZW1lbnQ+IEhUTUxCYXNlRm9udEVsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ2LDYgKzQ2LDcgQEAgSFRNTEJvZHlFbGVtZW50OjpIVE1MQm9keUVsZW1lbnQoY29uc3QgUQog
ICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUoYm9keVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
UGFzc1JlZlB0cjxIVE1MQm9keUVsZW1lbnQ+IEhUTUxCb2R5RWxlbWVudDo6Y3JlYXRlKERvY3Vt
ZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQCBpbmxpbmUgSFRN
TEJ1dHRvbkVsZW1lbnQ6OkhUTUxCdXR0b25FbGVtCiAgICAgLCBtX2lzQWN0aXZhdGVkU3VibWl0
KGZhbHNlKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGJ1dHRvblRhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MQnV0dG9uRWxlbWVu
dD4gSFRNTEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxGb3JtRWxlbWVudCogZm9ybSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtOTEsNiArOTEsNyBAQCBIVE1MQ2FudmFzRWxlbWVudDo6SFRNTENhbnZhc0VsZW1lbnQo
Y29uCiAgICAgLCBtX2RpZENsZWFySW1hZ2VCdWZmZXIoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUoY2FudmFzVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBQYXNzUmVmUHRyPEhUTUxDYW52YXNFbGVtZW50PiBIVE1MQ2FudmFzRWxlbWVudDo6Y3Jl
YXRlKERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENv
bGxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxl
Y3Rpb24uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
b2xsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDYgKzE4NCw3IEBAIEhUTUxDb2xs
ZWN0aW9uOjpIVE1MQ29sbGVjdGlvbihOb2RlKiBvd24KICAgICA6IExpdmVOb2RlTGlzdEJhc2Uo
b3duZXJOb2RlLCByb290VHlwZUZyb21Db2xsZWN0aW9uVHlwZSh0eXBlKSwgaW52YWxpZGF0aW9u
VHlwZUV4Y2x1ZGluZ0lkQW5kTmFtZUF0dHJpYnV0ZXModHlwZSksCiAgICAgICAgIFdlYkNvcmU6
OnNob3VsZE9ubHlJbmNsdWRlRGlyZWN0Q2hpbGRyZW4odHlwZSksIHR5cGUsIGl0ZW1BZnRlck92
ZXJyaWRlVHlwZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBh
c3NSZWZQdHI8SFRNTENvbGxlY3Rpb24+IEhUTUxDb2xsZWN0aW9uOjpjcmVhdGUoTm9kZSogYmFz
ZSwgQ29sbGVjdGlvblR5cGUgdHlwZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERM
aXN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRExp
c3RFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRExpc3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQCBpbmxp
bmUgSFRNTERMaXN0RWxlbWVudDo6SFRNTERMaXN0RWxlbWVuCiAgICAgOiBIVE1MRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShkbFRhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MRExpc3RF
bGVtZW50PiBIVE1MRExpc3RFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RGF0YUxpc3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxEYXRhTGlzdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0
Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGlubGluZSBIVE1MRGF0YUxpc3RFbGVtZW50OjpI
VE1MRGF0YUxpc3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MRGF0YUxp
c3RFbGVtZW50PiBIVE1MRGF0YUxpc3RFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMs
NiArMTAzLDcgQEAgSFRNTERldGFpbHNFbGVtZW50OjpIVE1MRGV0YWlsc0VsZW1lbnQoYwogICAg
ICwgbV9pc09wZW4oZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZGV0YWlsc1RhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUmVuZGVyT2JqZWN0KiBI
VE1MRGV0YWlsc0VsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVu
ZGVyU3R5bGUqKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0Vs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBAIEhUTUxEaWFsb2dFbGVt
ZW50OjpIVE1MRGlhbG9nRWxlbWVudChjb24KICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRv
Y3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGRpYWxvZ1RhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MRGlhbG9nRWxlbWVu
dD4gSFRNTERpYWxvZ0VsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaXJl
Y3RvcnlFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
aXJlY3RvcnlFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRGlyZWN0b3J5RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMz
LDcgQEAgaW5saW5lIEhUTUxEaXJlY3RvcnlFbGVtZW50OjpIVE1MRGlyZWN0bwogICAgIDogSFRN
TEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZGly
VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRy
PEhUTUxEaXJlY3RvcnlFbGVtZW50PiBIVE1MRGlyZWN0b3J5RWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTERpdkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTERpdkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxEaXZFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYs
NiArMzYsNyBAQCBIVE1MRGl2RWxlbWVudDo6SFRNTERpdkVsZW1lbnQoY29uc3QgUXVhCiAgICAg
OiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShkaXZUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NS
ZWZQdHI8SFRNTERpdkVsZW1lbnQ+IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRv
Y3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC04Myw2ICs4Myw3IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBIVE1M
RG9jdW1lbnQ6OkhUTUxEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCkKICAg
ICA6IERvY3VtZW50KGZyYW1lLCB1cmwsIGZhbHNlLCB0cnVlKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKICAgICBjbGVhclhNTFZlcnNpb24oKTsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw4
IEBACiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5
d29yZHMuaCIKICNpbmNsdWRlICJDU1NWYWx1ZVBvb2wuaCIKKyNpbmNsdWRlICJDdXN0b21FbGVt
ZW50Q29uc3RydWN0b3IuaCIKKyNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnkuaCIKICNp
bmNsdWRlICJET01TZXR0YWJsZVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkRvY3VtZW50RnJhZ21l
bnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpAQCAtMzMyLDYgKzMzNCwxMSBAQCB2b2lkIEhUTUxF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRCiAgICAgfSBlbHNlIGlmIChuYW1lID09IG9u
d2Via2l0ZnVsbHNjcmVlbmVycm9yQXR0cikgewogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExp
c3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXRmdWxsc2NyZWVuZXJyb3JFdmVudCwgY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBuYW1lLCB2YWx1ZSkpOwogI2VuZGlmCisjaWYgRU5B
QkxFKENVU1RPTV9FTEVNRU5UUykKKyAgICB9IGVsc2UgaWYgKG5hbWUgPT0gaXNBdHRyKSB7Cisg
ICAgICAgIGlmIChkb2N1bWVudCgpLT5yZWdpc3RyeSgpICYmIGRvY3VtZW50KCktPnJlZ2lzdHJ5
KCktPmZpbmRGb3IodGhpcykpCisgICAgICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXRDdXN0
b20odGhpcyk7CisjZW5kaWYKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmgJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDYgKzE2Nyw3IEBAIGlubGluZSBIVE1MRWxlbWVu
dDo6SFRNTEVsZW1lbnQoY29uc3QgUXUKICAgICA6IFN0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9j
dW1lbnQsIHR5cGUpCiB7CiAgICAgQVNTRVJUKHRhZ05hbWUubG9jYWxOYW1lKCkuaW1wbCgpKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsNyBAQCBpbmxpbmUgSFRNTEVtYmVkRWxlbWVu
dDo6SFRNTEVtYmVkRWxlbWVuCiAgICAgOiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50LCBjcmVhdGVkQnlQYXJzZXIsIFNob3VsZFByZWZlclBsdWdJbnNGb3JJbWFnZXMp
CiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZW1iZWRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEVtYmVkRWxlbWVudD4gSFRNTEVt
YmVkRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDcgQEAgaW5saW5lIEhUTUxGaWVsZFNldEVsZW1lbnQ6OkhUTUxGaWVsZFNldAog
ICAgICwgbV9kb2N1bWVudFZlcnNpb24oMCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShmaWVs
ZHNldFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1Jl
ZlB0cjxIVE1MRmllbGRTZXRFbGVtZW50PiBIVE1MRmllbGRTZXRFbGVtZW50OjpjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MRm9ybUVs
ZW1lbnQqIGZvcm0pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb250RWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9udEVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb250RWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgSFRNTEZvbnRFbGVtZW50OjpI
VE1MRm9udEVsZW1lbnQoY29uc3QgUQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZm9udFRhZykpOworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MRm9udEVsZW1lbnQ+IEhUTUxG
b250RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sc0Nv
bGxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1D
b250cm9sc0NvbGxlY3Rpb24uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDAsNiArNDAsNyBAQCBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbjo6SFRNTEZvcm1Db250CiAg
ICAgOiBIVE1MQ29sbGVjdGlvbihvd25lck5vZGUsIEZvcm1Db250cm9scywgT3ZlcnJpZGVzSXRl
bUFmdGVyKQogewogICAgIEFTU0VSVChvd25lck5vZGUtPmhhc1RhZ05hbWUoZm9ybVRhZykgfHwg
b3duZXJOb2RlLT5oYXNUYWdOYW1lKGZpZWxkc2V0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9u
PiBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbjo6Y3JlYXRlKE5vZGUqIG93bmVyTm9kZSwgQ29s
bGVjdGlvblR5cGUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDYgKzgxLDcgQEAgSFRNTEZvcm1FbGVtZW50OjpI
VE1MRm9ybUVsZW1lbnQoY29uc3QgUQogI2VuZGlmCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUo
Zm9ybVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1Jl
ZlB0cjxIVE1MRm9ybUVsZW1lbnQ+IEhUTUxGb3JtRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50LmNwcAko
cmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQCBpbmxpbmUgSFRNTEZyYW1lRWxl
bWVudDo6SFRNTEZyYW1lRWxlbWVuCiAgICAgLCBtX2ZyYW1lQm9yZGVyU2V0KGZhbHNlKQogewog
ICAgIEFTU0VSVChoYXNUYWdOYW1lKGZyYW1lVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxGcmFtZUVsZW1lbnQ+IEhUTUxGcmFtZUVs
ZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9j
dW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgSFRNTEZyYW1lU2V0
RWxlbWVudDo6SFRNTEZyYW1lU2V0RWxlbWVudAogICAgICwgbV9ub3Jlc2l6ZShmYWxzZSkKIHsK
ICAgICBBU1NFUlQoaGFzVGFnTmFtZShmcmFtZXNldFRhZykpOwotICAgIAorICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBzZXRIYXNDdXN0b21TdHlsZUNhbGxiYWNrcygpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIUkVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEhSRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEhSRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM4LDYgKzM4LDcgQEAgSFRNTEhSRWxlbWVudDo6SFRNTEhSRWxlbWVudChjb25z
dCBRdWFsaQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNT
RVJUKGhhc1RhZ05hbWUoaHJUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEhSRWxlbWVudD4gSFRNTEhSRWxlbWVudDo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEhlYWRFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIZWFkRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEhlYWRF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQCBIVE1MSGVhZEVsZW1l
bnQ6OkhUTUxIZWFkRWxlbWVudChjb25zdCBRCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShoZWFkVGFnKSk7CisgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxIZWFkRWxlbWVudD4g
SFRNTEhlYWRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEhlYWRpbmdFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw2ICsyOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGlubGluZSBIVE1MSGVh
ZGluZ0VsZW1lbnQ6OkhUTUxIZWFkaW5nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQ
dHI8SFRNTEhlYWRpbmdFbGVtZW50PiBIVE1MSGVhZGluZ0VsZW1lbnQ6OmNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxIdG1sRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSHRtbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxIdG1sRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQw
LDYgKzQwLDcgQEAgSFRNTEh0bWxFbGVtZW50OjpIVE1MSHRtbEVsZW1lbnQoY29uc3QgUQogICAg
IDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05h
bWUoaHRtbFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFz
c1JlZlB0cjxIVE1MSHRtbEVsZW1lbnQ+IEhUTUxIdG1sRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBpbmxpbmUgSFRNTElG
cmFtZUVsZW1lbnQ6OkhUTUxJRnJhbWVFbGVtCiAgICAgOiBIVE1MRnJhbWVFbGVtZW50QmFzZSh0
YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShpZnJhbWVUYWcpKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgc2V0SGFzQ3VzdG9tU3R5bGVD
YWxsYmFja3MoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw3IEBAIEhUTUxJbWFnZUVs
ZW1lbnQ6OkhUTUxJbWFnZUVsZW1lbnQoY29uc3QKICAgICAsIG1fY29tcG9zaXRlT3BlcmF0b3Io
Q29tcG9zaXRlU291cmNlT3ZlcikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShpbWdUYWcpKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKGZvcm0pCiAgICAgICAg
IGZvcm0tPnJlZ2lzdGVySW1nRWxlbWVudCh0aGlzKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM5LDYg
KzEzOSw3IEBAIEhUTUxJbnB1dEVsZW1lbnQ6OkhUTUxJbnB1dEVsZW1lbnQoY29uc3QKICNpZiBF
TkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAgIHNldEhhc0N1c3RvbVN0eWxlQ2Fs
bGJhY2tzKCk7CiAjZW5kaWYKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFBhc3NSZWZQdHI8SFRNTElucHV0RWxlbWVudD4gSFRNTElucHV0RWxlbWVudDo6Y3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1F
bGVtZW50KiBmb3JtLCBib29sIGNyZWF0ZWRCeVBhcnNlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjks
NiArNjksNyBAQCBpbmxpbmUgSFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXlnZW5FbGVtCiAgICAg
OiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKHRhZ05hbWUsIGRvY3VtZW50LCBmb3Jt
KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGtleWdlblRhZykpOworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIAogICAgIC8vIENyZWF0ZSBhIHNlbGVjdCBlbGVtZW50IHdpdGgg
b25lIG9wdGlvbiBlbGVtZW50IGZvciBlYWNoIGtleSBzaXplLgogICAgIFZlY3RvcjxTdHJpbmc+
IGtleXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMSUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExJRWxlbWVudC5jcHAJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExJRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAgSFRNTExJRWxlbWVudDo6SFRNTExJRWxlbWVudChj
b25zdCBRdWFsaQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUobGlUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTExJRWxlbWVudD4gSFRNTExJRWxlbWVudDo6Y3JlYXRl
KERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVs
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TGFiZWxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQCBpbmxpbmUg
SFRNTExhYmVsRWxlbWVudDo6SFRNTExhYmVsRWxlbWVuCiAgICAgOiBIVE1MRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShsYWJlbFRhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MTGFiZWxF
bGVtZW50PiBIVE1MTGFiZWxFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TGVnZW5kRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TGVnZW5kRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTExlZ2VuZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBA
IGlubGluZSBIVE1MTGVnZW5kRWxlbWVudDo6SFRNTExlZ2VuZEVsZW0KICAgICA6IEhUTUxFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGxlZ2VuZFRh
ZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxI
VE1MTGVnZW5kRWxlbWVudD4gSFRNTExlZ2VuZEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDYgKzc0
LDcgQEAgaW5saW5lIEhUTUxMaW5rRWxlbWVudDo6SFRNTExpbmtFbGVtZW50KAogICAgICwgbV9w
ZW5kaW5nU2hlZXRUeXBlKE5vbmUpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUobGlua1RhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1M
TGlua0VsZW1lbnQ+IEhUTUxMaW5rRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQzLDYgKzQzLDcgQEAgSFRNTE1hcEVsZW1lbnQ6OkhUTUxNYXBFbGVtZW50KGNvbnN0IFF1
YQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUobWFwVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEhUTUxNYXBFbGVtZW50PiBIVE1MTWFwRWxlbWVudDo6Y3JlYXRlKERvY3Vt
ZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXJxdWVlRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1h
cnF1ZWVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQCBpbmxpbmUg
SFRNTE1hcnF1ZWVFbGVtZW50OjpIVE1MTWFycXVlZUVsCiAgICAgLCBBY3RpdmVET01PYmplY3Qo
ZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUobWFycXVlZVRhZykpOworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MTWFycXVlZUVs
ZW1lbnQ+IEhUTUxNYXJxdWVlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIzLDYgKzMyMyw4IEBA
IEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QKICAgICAgICAgICAgIG1f
ZGlzYWJsZUNhcHRpb25zID0gIWNhcHRpb25QcmVmZXJlbmNlcy0+c2hvdWxkU2hvd0NhcHRpb25z
KCk7CiAgICAgfQogI2VuZGlmCisKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIEhUTUxNZWRpYUVsZW1lbnQ6On5IVE1MTWVkaWFFbGVtZW50KCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZW51RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMs
NiArMzMsNyBAQCBpbmxpbmUgSFRNTE1lbnVFbGVtZW50OjpIVE1MTWVudUVsZW1lbnQoCiAgICAg
OiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShtZW51VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNz
UmVmUHRyPEhUTUxNZW51RWxlbWVudD4gSFRNTE1lbnVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2
ICszNSw3IEBAIGlubGluZSBIVE1MTWV0YUVsZW1lbnQ6OkhUTUxNZXRhRWxlbWVudCgKICAgICA6
IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1l
KG1ldGFUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NS
ZWZQdHI8SFRNTE1ldGFFbGVtZW50PiBIVE1MTWV0YUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1
LDYgKzQ1LDcgQEAgSFRNTE1ldGVyRWxlbWVudDo6SFRNTE1ldGVyRWxlbWVudChjb25zdAogICAg
IDogTGFiZWxhYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShtZXRlclRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogSFRNTE1ldGVyRWxlbWVudDo6fkhUTUxNZXRlckVsZW1lbnQoKQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1vZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICsz
Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBpbmxpbmUgSFRNTE1vZEVsZW1lbnQ6
OkhUTUxNb2RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogeworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MTW9kRWxlbWVu
dD4gSFRNTE1vZEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxl
bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9M
aXN0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAgSFRNTE9MaXN0
RWxlbWVudDo6SFRNTE9MaXN0RWxlbWVudChjb25zdAogICAgICwgbV9zaG91bGRSZWNhbGN1bGF0
ZUl0ZW1Db3VudChmYWxzZSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShvbFRhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MT0xpc3RF
bGVtZW50PiBIVE1MT0xpc3RFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBAIGlubGluZSBIVE1MT2JqZWN0RWxlbWVudDo6SFRN
TE9iamVjdEVsZW0KIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShvYmplY3RUYWcpKTsKICAgICBz
ZXRGb3JtKGZvcm0gPyBmb3JtIDogZmluZEZvcm1BbmNlc3RvcigpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIGlubGluZSBIVE1MT2JqZWN0RWxlbWVudDo6fkhUTUxP
YmplY3RFbGVtZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3B0R3JvdXBFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBpbmxp
bmUgSFRNTE9wdEdyb3VwRWxlbWVudDo6SFRNTE9wdEdyb3VwCiB7CiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUob3B0Z3JvdXBUYWcpKTsKICAgICBzZXRIYXNDdXN0b21TdHlsZUNhbGxiYWNrcygpOwor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MT3B0
R3JvdXBFbGVtZW50PiBIVE1MT3B0R3JvdXBFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2
ICs1Nyw3IEBAIEhUTUxPcHRpb25FbGVtZW50OjpIVE1MT3B0aW9uRWxlbWVudChjb24KIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShvcHRpb25UYWcpKTsKICAgICBzZXRIYXNDdXN0b21TdHlsZUNh
bGxiYWNrcygpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1Jl
ZlB0cjxIVE1MT3B0aW9uRWxlbWVudD4gSFRNTE9wdGlvbkVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVu
dCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVj
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0Nv
bGxlY3Rpb24uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25zQ29sbGVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAg
SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpIVE1MT3B0aW9uc0NvbGxlYwogICAgIDogSFRNTENvbGxl
Y3Rpb24oc2VsZWN0LCBTZWxlY3RPcHRpb25zLCBEb2VzTm90T3ZlcnJpZGVJdGVtQWZ0ZXIpCiB7
CiAgICAgQVNTRVJUKHNlbGVjdC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnNlbGVjdFRhZykpOwor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MT3B0
aW9uc0NvbGxlY3Rpb24+IEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6Y3JlYXRlKE5vZGUqIHNlbGVj
dCwgQ29sbGVjdGlvblR5cGUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3V0cHV0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgaW5saW5l
IEhUTUxPdXRwdXRFbGVtZW50OjpIVE1MT3V0cHV0RWxlbQogICAgICwgbV9kZWZhdWx0VmFsdWUo
IiIpCiAgICAgLCBtX3Rva2VucyhET01TZXR0YWJsZVRva2VuTGlzdDo6Y3JlYXRlKCkpCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxPdXRw
dXRFbGVtZW50PiBIVE1MT3V0cHV0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50KiBmb3JtKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyYWdyYXBoRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyYWdyYXBoRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFncmFwaEVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIGlubGluZSBIVE1MUGFyYWdyYXBo
RWxlbWVudDo6SFRNTFBhcmFncmEKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKHBUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFBhcmFncmFwaEVsZW1lbnQ+IEhUTUxQ
YXJhZ3JhcGhFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGFyYW1FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNSw2ICszNSw3IEBAIGlubGluZSBIVE1MUGFyYW1FbGVtZW50OjpIVE1MUGFyYW1FbGVtZW4K
ICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKHBhcmFtVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEhUTUxQYXJhbUVsZW1lbnQ+IEhUTUxQYXJhbUVsZW1lbnQ6OmNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcmVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQcmVFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM2LDYgKzM2LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIGlubGluZSBIVE1MUHJl
RWxlbWVudDo6SFRNTFByZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvY3VtZW50KQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxQ
cmVFbGVtZW50PiBIVE1MUHJlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFByb2dyZXNzRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUHJvZ3Jlc3NFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiAr
NDYsNyBAQCBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpIVE1MUHJvZ3Jlc3NFbGVtZW50CiAgICAgLCBt
X3ZhbHVlKDApCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUocHJvZ3Jlc3NUYWcpKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEhUTUxQcm9ncmVzc0VsZW1lbnQ6On5I
VE1MUHJvZ3Jlc3NFbGVtZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFF1b3Rl
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUXVvdGVF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UXVvdGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQCBpbmxpbmUg
SFRNTFF1b3RlRWxlbWVudDo6SFRNTFF1b3RlRWxlbWVuCiAgICAgOiBIVE1MRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShxVGFnKSB8fCBoYXNUYWdO
YW1lKGJsb2NrcXVvdGVUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIFBhc3NSZWZQdHI8SFRNTFF1b3RlRWxlbWVudD4gSFRNTFF1b3RlRWxlbWVudDo6Y3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQCBpbmxpbmUgSFRNTFNjcmlwdEVsZW1lbnQ6OkhUTUxT
Y3JpcHRFbGVtCiAgICAgLCBTY3JpcHRFbGVtZW50KHRoaXMsIHdhc0luc2VydGVkQnlQYXJzZXIs
IGFscmVhZHlTdGFydGVkKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKHNjcmlwdFRhZykpOwor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MU2Ny
aXB0RWxlbWVudD4gSFRNTFNjcmlwdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgd2FzSW5zZXJ0ZWRCeVBhcnNlciwg
Ym9vbCBhbHJlYWR5U3RhcnRlZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTZWxlY3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksNyBAQCBIVE1M
U2VsZWN0RWxlbWVudDo6SFRNTFNlbGVjdEVsZW1lbnQoY29uCiAgICAgLCBtX3Nob3VsZFJlY2Fs
Y0xpc3RJdGVtcyhmYWxzZSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShzZWxlY3RUYWcpKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFNl
bGVjdEVsZW1lbnQ+IEhUTUxTZWxlY3RFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZvcm0pCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAgaW5saW5lIEhUTUxTb3VyY2VFbGVtZW50OjpI
VE1MU291cmNlRWxlbQogewogICAgIExPRyhNZWRpYSwgIkhUTUxTb3VyY2VFbGVtZW50OjpIVE1M
U291cmNlRWxlbWVudCAtICVwIiwgdGhpcyk7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoc291cmNl
VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRy
PEhUTUxTb3VyY2VFbGVtZW50PiBIVE1MU291cmNlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNwYW5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTcGFuRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNwYW5FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiAr
MzYsNyBAQCBIVE1MU3BhbkVsZW1lbnQ6OkhUTUxTcGFuRWxlbWVudChjb25zdCBRCiAgICAgOiBI
VE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShz
cGFuVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVm
UHRyPEhUTUxTcGFuRWxlbWVudD4gSFRNTFNwYW5FbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2
ICs1NCw3IEBAIGlubGluZSBIVE1MU3R5bGVFbGVtZW50OjpIVE1MU3R5bGVFbGVtZW4KICAgICAs
IG1fc2NvcGVkU3R5bGVSZWdpc3RyYXRpb25TdGF0ZShOb3RSZWdpc3RlcmVkKQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKHN0eWxlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBIVE1MU3R5bGVFbGVtZW50Ojp+SFRNTFN0eWxlRWxlbWVudCgpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNhcHRpb25FbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNhcHRpb25FbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVDYXB0aW9uRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAgaW5saW5lIEhUTUxUYWJs
ZUNhcHRpb25FbGVtZW50OjpIVE1MVGFibAogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9j
dW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoY2FwdGlvblRhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MVGFibGVDYXB0aW9u
RWxlbWVudD4gSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUYWJsZUNlbGxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUYWJsZUNlbGxFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVDZWxsRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ1LDYgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIGlubGluZSBIVE1M
VGFibGVDZWxsRWxlbWVudDo6SFRNTFRhYmxlQ2VsbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogSFRNTFRhYmxlUGFydEVsZW1l
bnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBQYXNzUmVmUHRyPEhUTUxUYWJsZUNlbGxFbGVtZW50PiBIVE1MVGFibGVDZWxsRWxl
bWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ29sRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVDb2xFbGVtZW50LmNw
cAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVDb2xF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQCBpbmxpbmUgSFRNTFRh
YmxlQ29sRWxlbWVudDo6SFRNTFRhYmxlQ29sCiAgICAgOiBIVE1MVGFibGVQYXJ0RWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIG1fc3BhbigxKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MVGFibGVDb2xFbGVtZW50PiBIVE1M
VGFibGVDb2xFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJs
ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIEhUTUxUYWJsZUVs
ZW1lbnQ6OkhUTUxUYWJsZUVsZW1lbnQoY29uc3QKICAgICAsIG1fcGFkZGluZygxKQogewogICAg
IEFTU0VSVChoYXNUYWdOYW1lKHRhYmxlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxUYWJsZUVsZW1lbnQ+IEhUTUxUYWJsZUVsZW1l
bnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUYWJsZVJvd0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQy
LDYgKzQyLDcgQEAgSFRNTFRhYmxlUm93RWxlbWVudDo6SFRNTFRhYmxlUm93RWxlbWVudAogICAg
IDogSFRNTFRhYmxlUGFydEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJU
KGhhc1RhZ05hbWUodHJUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIFBhc3NSZWZQdHI8SFRNTFRhYmxlUm93RWxlbWVudD4gSFRNTFRhYmxlUm93RWxlbWVudDo6
Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRhYmxlU2VjdGlvbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNiArNDAsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogaW5saW5lIEhU
TUxUYWJsZVNlY3Rpb25FbGVtZW50OjpIVE1MVGFibGVTZWN0aW9uRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBIVE1MVGFibGVQ
YXJ0RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ+IEhUTUxU
YWJsZVNlY3Rpb25FbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxh
dGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBA
IHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBpbmxpbmUgSFRNTFRlbXBsYXRlRWxlbWVudDo6
SFRNTFRlbXBsYXRlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEhUTUxUZW1wbGF0ZUVsZW1lbnQ6
On5IVE1MVGVtcGxhdGVFbGVtZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEFyZWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQsNiArOTQs
NyBAQCBIVE1MVGV4dEFyZWFFbGVtZW50OjpIVE1MVGV4dEFyZWFFbGVtZW50CiB7CiAgICAgQVNT
RVJUKGhhc1RhZ05hbWUodGV4dGFyZWFUYWcpKTsKICAgICBzZXRGb3JtQ29udHJvbFZhbHVlTWF0
Y2hlc1JlbmRlcmVyKHRydWUpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogUGFzc1JlZlB0cjxIVE1MVGV4dEFyZWFFbGVtZW50PiBIVE1MVGV4dEFyZWFFbGVtZW50Ojpj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBI
VE1MRm9ybUVsZW1lbnQqIGZvcm0pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRs
ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxl
RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRpdGxlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAgaW5saW5l
IEhUTUxUaXRsZUVsZW1lbnQ6OkhUTUxUaXRsZUVsZW1lbgogICAgIDogSFRNTEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUodGl0bGVUYWcpKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFRpdGxl
RWxlbWVudD4gSFRNTFRpdGxlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VHJhY2tFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksNyBAQCBp
bmxpbmUgSFRNTFRyYWNrRWxlbWVudDo6SFRNTFRyYWNrRWxlbWVuCiB7CiAgICAgTE9HKE1lZGlh
LCAiSFRNTFRyYWNrRWxlbWVudDo6SFRNTFRyYWNrRWxlbWVudCAtICVwIiwgdGhpcyk7CiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUodHJhY2tUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIEhUTUxUcmFja0VsZW1lbnQ6On5IVE1MVHJhY2tFbGVtZW50KCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFVMaXN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzUsNiArMzUsNyBAQCBIVE1MVUxpc3RFbGVtZW50OjpIVE1MVUxpc3RFbGVtZW50
KGNvbnN0CiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZSh1bFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogUGFzc1JlZlB0cjxIVE1MVUxpc3RFbGVtZW50PiBIVE1MVUxpc3RFbGVtZW50OjpjcmVh
dGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVW5r
bm93bkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxVbmtu
b3duRWxlbWVudC5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxVbmtub3duRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIHByaXZh
dGU6CiAgICAgSFRNTFVua25vd25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKICAgICB7CisgICAgICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICB9
CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAgaW5saW5lIEhUTUxWaWRlb0VsZW1l
bnQ6OkhUTUxWaWRlb0VsZW1lbgogICAgIDogSFRNTE1lZGlhRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCwgY3JlYXRlZEJ5UGFyc2VyKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKHZpZGVvVGFn
KSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIGlmIChkb2N1bWVudC0+
c2V0dGluZ3MoKSkKICAgICAgICAgbV9kZWZhdWx0UG9zdGVyVVJMID0gZG9jdW1lbnQtPnNldHRp
bmdzKCktPmRlZmF1bHRWaWRlb1Bvc3RlclVSTCgpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUtleUV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhS2V5RXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhS2V5RXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBAIE1l
ZGlhS2V5RXZlbnRJbml0OjpNZWRpYUtleUV2ZW50SW5pdCgpCiAKIE1lZGlhS2V5RXZlbnQ6Ok1l
ZGlhS2V5RXZlbnQoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
TWVkaWFLZXlFdmVudDo6TWVkaWFLZXlFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNv
bnN0IE1lZGlhS2V5RXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTUzLDYgKzU0LDcgQEAgTWVk
aWFLZXlFdmVudDo6TWVkaWFLZXlFdmVudChjb25zdCBBdG9taQogICAgICwgbV9lcnJvckNvZGUo
aW5pdGlhbGl6ZXIuZXJyb3JDb2RlKQogICAgICwgbV9zeXN0ZW1Db2RlKGluaXRpYWxpemVyLnN5
c3RlbUNvZGUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBNZWRp
YUtleUV2ZW50Ojp+TWVkaWFLZXlFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL1Jh
ZGlvTm9kZUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9O
b2RlTGlzdC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFk
aW9Ob2RlTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAgUmFkaW9Ob2Rl
TGlzdDo6UmFkaW9Ob2RlTGlzdChOb2RlKiByb290TgogICAgIDogTGl2ZU5vZGVMaXN0KHJvb3RO
b2RlLCBSYWRpb05vZGVMaXN0VHlwZSwgSW52YWxpZGF0ZUZvckZvcm1Db250cm9scywgcm9vdE5v
ZGUtPmhhc1RhZ05hbWUoZm9ybVRhZykgPyBOb2RlTGlzdElzUm9vdGVkQXREb2N1bWVudCA6IE5v
ZGVMaXN0SXNSb290ZWRBdE5vZGUpCiAgICAgLCBtX25hbWUobmFtZSkKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFJhZGlvTm9kZUxpc3Q6On5SYWRpb05vZGVMaXN0
KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNTcsNyArNTcsMTAgQEAgcHVibGljOgogICAgIGJvb2wgdmFsaWQoKSBjb25zdDsKIAogcHJp
dmF0ZToKLSAgICBWYWxpZGl0eVN0YXRlKEZvcm1Bc3NvY2lhdGVkRWxlbWVudCogY29udHJvbCkg
OiBtX2NvbnRyb2woY29udHJvbCkgeyB9CisgICAgVmFsaWRpdHlTdGF0ZShGb3JtQXNzb2NpYXRl
ZEVsZW1lbnQqIGNvbnRyb2wpIDogbV9jb250cm9sKGNvbnRyb2wpCisgICAgeworICAgICAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CisgICAgfQogCiAgICAgRm9ybUFzc29jaWF0ZWRF
bGVtZW50KiBtX2NvbnRyb2w7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsNiArMTM2LDcgQEAgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpDYW52YXNSZW5kZXJpbgogI2lmICFFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQp
CiAgICAgQVNTRVJUX1VOVVNFRCh1c2VzRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUsICF1c2Vz
RGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUpOwogI2VuZGlmCisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dW53aW5k
U3RhdGVTdGFjaygpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCogY2Fu
dmFzKQogICAgIDogbV9jYW52YXMoY2FudmFzKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKIH0KIAogYm9vbCBDYW52YXNSZW5kZXJpbmdDb250ZXh0Ojp3b3VsZFRhaW50T3Jp
Z2luKGNvbnN0IENhbnZhc1BhdHRlcm4qIHBhdHRlcm4pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM4LDE4ICszOCwyMSBAQCBXZWJHTENvbnRleHRFdmVudEluaXQ6Oldl
YkdMQ29udGV4dEV2ZW50CiAKIFdlYkdMQ29udGV4dEV2ZW50OjpXZWJHTENvbnRleHRFdmVudCgp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBXZWJHTENvbnRleHRF
dmVudDo6V2ViR0xDb250ZXh0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNh
bkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBjb25zdCBTdHJpbmcmIHN0YXR1c01lc3NhZ2UpCiAg
ICAgOiBFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpCiAgICAgLCBtX3N0YXR1c01l
c3NhZ2Uoc3RhdHVzTWVzc2FnZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiB9CiAKIFdlYkdMQ29udGV4dEV2ZW50OjpXZWJHTENvbnRleHRFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGNvbnN0IFdlYkdMQ29udGV4dEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAg
ICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplcikKICAgICAsIG1fc3RhdHVzTWVzc2FnZShpbml0
aWFsaXplci5zdGF0dXNNZXNzYWdlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKIH0KIAogV2ViR0xDb250ZXh0RXZlbnQ6On5XZWJHTENvbnRleHRFdmVudCgpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMUmVuZGVyaW5nQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Niw2ICs0NzYsOCBA
QCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdMUmVuZGVyaW5nQ29uCiAgICAgLCBtX251bUdM
RXJyb3JzVG9Db25zb2xlQWxsb3dlZChtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUpCiB7CiAg
ICAgQVNTRVJUKG1fY29udGV4dCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwor
CiAgICAgbV9jb250ZXh0R3JvdXAgPSBXZWJHTENvbnRleHRHcm91cDo6Y3JlYXRlKCk7CiAgICAg
bV9jb250ZXh0R3JvdXAtPmFkZENvbnRleHQodGhpcyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjgsNiArNjgsOCBAQCBIVE1MQ29udGVudEVsZW1lbnQ6OkhU
TUxDb250ZW50RWxlbWVudChjCiAgICAgLCBtX3Nob3VsZFBhcnNlU2VsZWN0b3JMaXN0KGZhbHNl
KQogICAgICwgbV9pc1ZhbGlkU2VsZWN0b3IodHJ1ZSkKIHsKKyAgICBpZiAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhZG93RE9NRW5hYmxlZCgpKQorICAgICAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIEhUTUxDb250ZW50RWxlbWVudDo6fkhUTUxDb250ZW50RWxlbWVu
dCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0Vs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9IVE1MU2hhZG93RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAg
aW5saW5lIEhUTUxTaGFkb3dFbGVtZW50OjpIVE1MU2hhZG93RWxlbQogICAgIDogSW5zZXJ0aW9u
UG9pbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoSFRNTE5h
bWVzOjpzaGFkb3dUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFBhc3NSZWZQdHI8SFRNTFNoYWRvd0VsZW1lbnQ+IEhUTUxTaGFkb3dFbGVtZW50OjpjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MCwxMiArNDAsMTQgQEAgVHJhY2tFdmVudEluaXQ6OlRyYWNrRXZlbnRJbml0KCkK
IAogVHJhY2tFdmVudDo6VHJhY2tFdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogfQogCiBUcmFja0V2ZW50OjpUcmFja0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgY29uc3QgVHJhY2tFdmVudEluaXQmIGluaXRpYWxpemVyKQogICAgIDogRXZlbnQodHlw
ZSwgaW5pdGlhbGl6ZXIpCiAgICAgLCBtX3RyYWNrKGluaXRpYWxpemVyLnRyYWNrKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVHJhY2tFdmVudDo6flRyYWNrRXZl
bnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9u
Q2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9E
T01BcHBsaWNhdGlvbkNhY2hlLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIERPTUFwcGxpY2F0aW9uQ2Fj
aGU6OkRPTUFwcGxpY2F0aW9uQ2FjaGUoRnJhbWUqIGZyYW1lKQogICAgIDogRE9NV2luZG93UHJv
cGVydHkoZnJhbWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIEFw
cGxpY2F0aW9uQ2FjaGVIb3N0KiBjYWNoZUhvc3QgPSBhcHBsaWNhdGlvbkNhY2hlSG9zdCgpOwog
ICAgIGlmIChjYWNoZUhvc3QpCiAgICAgICAgIGNhY2hlSG9zdC0+c2V0RE9NQXBwbGljYXRpb25D
YWNoZSh0aGlzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQmFySW5mby5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9CYXJJbmZvLmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9CYXJJbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzksNiArMzksNyBAQCBCYXJJbmZvOjpCYXJJbmZvKEZyYW1lKiBmcmFtZSwgVHlwZSB0eXBlCiAg
ICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkKICAgICAsIG1fdHlwZSh0eXBlKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQmFySW5mbzo6VHlwZSBCYXJJbmZv
Ojp0eXBlKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjUsNiArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBDb25zb2xlOjpDb25zb2xlKEZy
YW1lKiBmcmFtZSkKICAgICA6IERPTVdpbmRvd1Byb3BlcnR5KGZyYW1lKQogeworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ29uc29sZTo6fkNvbnNvbGUoKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvQ3J5cHRvLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9DcnlwdG8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1NCw3IEBAIGJvb2wgaXNJ
bnRlZ2VyQXJyYXkoQXJyYXlCdWZmZXJWaWV3KiBhcnIKIAogQ3J5cHRvOjpDcnlwdG8oKQogewor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogdm9pZCBDcnlwdG86OmdldFJh
bmRvbVZhbHVlcyhBcnJheUJ1ZmZlclZpZXcqIGFycmF5LCBFeGNlcHRpb25Db2RlJiBlYykKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9IaXN0b3J5LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9IaXN0b3J5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBI
aXN0b3J5OjpIaXN0b3J5KEZyYW1lKiBmcmFtZSkKICAgICA6IERPTVdpbmRvd1Byb3BlcnR5KGZy
YW1lKQogICAgICwgbV9sYXN0U3RhdGVPYmplY3RSZXF1ZXN0ZWQoMCkKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIHVuc2lnbmVkIEhpc3Rvcnk6Omxlbmd0aCgpIGNv
bnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYg
KzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTG9jYXRpb246OkxvY2F0aW9uKEZyYW1lKiBm
cmFtZSkKICAgICA6IERPTVdpbmRvd1Byb3BlcnR5KGZyYW1lKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogaW5saW5lIGNvbnN0IEtVUkwmIExvY2F0aW9uOjp1cmwo
KSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NSw2ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIE5hdmlnYXRvcjo6TmF2aWdhdG9y
KEZyYW1lKiBmcmFtZSkKICAgICA6IERPTVdpbmRvd1Byb3BlcnR5KGZyYW1lKQogeworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogTmF2aWdhdG9yOjp+TmF2aWdhdG9yKCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjIsNiArNjIsNyBAQCBQZXJmb3JtYW5jZTo6UGVyZm9ybWFuY2UoRnJhbWUqIGZyYW1lKQogICAg
ICwgbV91c2VyVGltaW5nKDApCiAjZW5kaWYgLy8gRU5BQkxFKFVTRVJfVElNSU5HKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGVyZm9ybWFuY2U6On5QZXJmb3Jt
YW5jZSgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9TY3JlZW4uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQz
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogU2NyZWVuOjpTY3JlZW4oRnJhbWUqIGZyYW1lKQog
ICAgIDogRE9NV2luZG93UHJvcGVydHkoZnJhbWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiB1bnNpZ25lZCBTY3JlZW46Omhvcml6b250YWxEUEkoKSBjb25zdApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0RXZlbnQuY3BwCShyZXZpc2lvbiAx
NDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0RXZlbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCwxMiArNTAsMTQgQEAgUGFzc1JlZlB0cjxTcGVlY2hJbnB1dEV2ZW50
PiBTcGVlY2hJbnB1dAogCiBTcGVlY2hJbnB1dEV2ZW50OjpTcGVlY2hJbnB1dEV2ZW50KCkKIHsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFNwZWVjaElucHV0RXZlbnQ6
OlNwZWVjaElucHV0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFNw
ZWVjaElucHV0UmVzdWx0QXJyYXkmIHJlc3VsdHMpCiAgICAgOiBFdmVudChldmVudFR5cGUsIHRy
dWUsIGZhbHNlKSAvLyBDYW4gYnViYmxlLCBub3QgY2FuY2VsYWJsZQogICAgICwgbV9yZXN1bHRz
KFNwZWVjaElucHV0UmVzdWx0TGlzdDo6Y3JlYXRlKHJlc3VsdHMpKQogeworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3BlZWNoSW5wdXRFdmVudDo6flNwZWVjaElucHV0
RXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBlQXJyYXku
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVU
eXBlQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIERPTU1pbWVUeXBlQXJyYXk6OkRPTU1pbWVUeXBlQXJyYXkoRnJhbWUqIGZyYW1l
KQogICAgIDogRE9NV2luZG93UHJvcGVydHkoZnJhbWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBET01NaW1lVHlwZUFycmF5Ojp+RE9NTWltZVR5cGVBcnJheSgp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW4uY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDYgKzMwLDcgQEAgRE9NUGx1Z2luOjpET01QbHVnaW4oUGx1Z2luRGF0YSogcGx1Z2lu
RAogICAgICwgbV9wbHVnaW5EYXRhKHBsdWdpbkRhdGEpCiAgICAgLCBtX2luZGV4KGluZGV4KQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogRE9NUGx1Z2luOjp+RE9N
UGx1Z2luKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbkFy
cmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBET01QbHVnaW5BcnJheTo6RE9NUGx1Z2luQXJyYXkoRnJhbWUqIGZyYW1lKQogICAgIDog
RE9NV2luZG93UHJvcGVydHkoZnJhbWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBET01QbHVnaW5BcnJheTo6fkRPTVBsdWdpbkFycmF5KCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TdG9yYWdlLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TdG9yYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBT
dG9yYWdlOjpTdG9yYWdlKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0CiB7CiAgICAgQVNTRVJUKG1f
ZnJhbWUpOwogICAgIEFTU0VSVChtX3N0b3JhZ2VBcmVhKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiAgICAgaWYgKG1fc3RvcmFnZUFyZWEpCiAgICAgICAgIG1fc3RvcmFnZUFy
ZWEtPmluY3JlbWVudEFjY2Vzc0NvdW50KCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2VFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1N0b3JhZ2VFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAg
UGFzc1JlZlB0cjxTdG9yYWdlRXZlbnQ+IFN0b3JhZ2VFdmVudDo6YwogCiBTdG9yYWdlRXZlbnQ6
OlN0b3JhZ2VFdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBTdG9yYWdlRXZlbnQ6On5TdG9yYWdlRXZlbnQoKQpAQCAtNjYsNiArNjcsNyBAQCBTdG9yYWdl
RXZlbnQ6OlN0b3JhZ2VFdmVudChjb25zdCBBdG9taWNTCiAgICAgLCBtX3VybCh1cmwpCiAgICAg
LCBtX3N0b3JhZ2VBcmVhKHN0b3JhZ2VBcmVhKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKIH0KIAogU3RvcmFnZUV2ZW50OjpTdG9yYWdlRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBjb25zdCBTdG9yYWdlRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTc2LDYg
Kzc4LDcgQEAgU3RvcmFnZUV2ZW50OjpTdG9yYWdlRXZlbnQoY29uc3QgQXRvbWljUwogICAgICwg
bV91cmwoaW5pdGlhbGl6ZXIudXJsKQogICAgICwgbV9zdG9yYWdlQXJlYShpbml0aWFsaXplci5z
dG9yYWdlQXJlYSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIHZv
aWQgU3RvcmFnZUV2ZW50Ojppbml0U3RvcmFnZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgY29uc3QgU3RyaW5nJiBrZXksIGNv
bnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBTdG9yYWdlKiBzdG9yYWdlQXJlYSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQCBpbmxpbmUgU1ZHQUVsZW1l
bnQ6OlNWR0FFbGVtZW50KGNvbnN0IFF1CiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxl
bWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1l
czo6YVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3Rl
ckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0FFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQCBpbmxpbmUgU1ZHQWx0R2x5cGhEZWZFbGVtZW50OjpT
VkdBbHRHbHlwCiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjphbHRHbHlwaERlZlRhZykpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdBbHRHbHlwaERlZkVsZW1l
bnQ+IFNWR0FsdEdseXBoRGVmRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bHRHbHlwaEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bHRHbHlwaEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQWx0R2x5cGhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsNyBA
QCBpbmxpbmUgU1ZHQWx0R2x5cGhFbGVtZW50OjpTVkdBbHRHbHlwaEVsCiAgICAgOiBTVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKFNWR05hbWVzOjphbHRHbHlwaFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0FsdEdseXBoRWxl
bWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhJdGVtRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoSXRl
bUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
QWx0R2x5cGhJdGVtRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAg
aW5saW5lIFNWR0FsdEdseXBoSXRlbUVsZW1lbnQ6OlNWR0FsdEdseQogICAgIDogU1ZHRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6
YWx0R2x5cGhJdGVtVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPFNWR0FsdEdseXBoSXRlbUVsZW1lbnQ+IFNWR0FsdEdseXBoSXRlbUVsZW1l
bnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1l
bnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVDb2xvckVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUNv
bG9yRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAgaW5saW5lIFNW
R0FuaW1hdGVDb2xvckVsZW1lbnQ6OlNWR0FuaW1hdAogICAgIDogU1ZHQW5pbWF0ZUVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFu
aW1hdGVDb2xvclRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
UGFzc1JlZlB0cjxTVkdBbmltYXRlQ29sb3JFbGVtZW50PiBTVkdBbmltYXRlQ29sb3JFbGVtZW50
OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50
KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBAIFNWR0FuaW1hdGVFbGVtZW50OjpTVkdBbmlt
YXRlRWxlbWVudChjb24KICAgICAsIG1fYW5pbWF0ZWRQcm9wZXJ0eVR5cGUoQW5pbWF0ZWRTdHJp
bmcpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFuaW1hdGVUYWcpIHx8IGhh
c1RhZ05hbWUoU1ZHTmFtZXM6OnNldFRhZykgfHwgaGFzVGFnTmFtZShTVkdOYW1lczo6YW5pbWF0
ZUNvbG9yVGFnKSB8fCBoYXNUYWdOYW1lKFNWR05hbWVzOjphbmltYXRlVHJhbnNmb3JtVGFnKSk7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0Fu
aW1hdGVFbGVtZW50PiBTVkdBbmltYXRlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDgsNiArNDgsNyBAQCBpbmxpbmUgU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQ6OlNW
R0FuaW1hCiB7CiAgICAgc2V0Q2FsY01vZGUoQ2FsY01vZGVQYWNlZCk7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUoYW5pbWF0ZU1vdGlvblRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdBbmltYXRlTW90aW9uRWxlbWVudD4gU1ZHQW5pbWF0
ZU1vdGlvbkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZVRyYW5z
Zm9ybUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlVHJhbnNmb3JtRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM2LDYgKzM2LDcgQEAgaW5saW5lIFNWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50OjpTVkdBbgog
ICAgICwgbV90eXBlKFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9VTktOT1dOKQogewogICAg
IEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjphbmltYXRlVHJhbnNmb3JtVGFnKSk7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0FuaW1hdGVU
cmFuc2Zvcm1FbGVtZW50PiBTVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikK
KysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjEsNiArNjEsNyBAQCBTVkdBbmltYXRpb25FbGVtZW50OjpTVkdBbmltYXRpb25F
bGVtZW50CiAgICAgLCBtX2NhbGNNb2RlKENhbGNNb2RlTGluZWFyKQogICAgICwgbV9hbmltYXRp
b25Nb2RlKE5vQW5pbWF0aW9uKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
ICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0FuaW1hdGlvbkVsZW1lbnQoKTsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIGlubGluZSBTVkdDaXJjbGVFbGVtZW50OjpT
VkdDaXJjbGVFbGVtZW4KICAgICAsIG1fcihMZW5ndGhNb2RlT3RoZXIpCiB7CiAgICAgQVNTRVJU
KGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmNpcmNsZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0NpcmNsZUVs
ZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDbGlwUGF0
aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIGlubGluZSBTVkdD
bGlwUGF0aEVsZW1lbnQ6OlNWR0NsaXBQYXRoRWwKICAgICAsIG1fY2xpcFBhdGhVbml0cyhTVkdV
bml0VHlwZXM6OlNWR19VTklUX1RZUEVfVVNFUlNQQUNFT05VU0UpCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUoU1ZHTmFtZXM6OmNsaXBQYXRoVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHQ2xpcFBhdGhF
bGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFu
c2ZlckZ1bmN0aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsNyBAQCBTVkdDb21wb25lbnRUcmFu
c2ZlckZ1bmN0aW9uRWxlbWVudDo6U1ZHCiAgICAgLCBtX2FtcGxpdHVkZSgxKQogICAgICwgbV9l
eHBvbmVudCgxKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdp
c3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVt
ZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBpbmxpbmUgU1ZHQ3Vyc29yRWxl
bWVudDo6U1ZHQ3Vyc29yRWxlbWVuCiAgICAgLCBtX3koTGVuZ3RoTW9kZUhlaWdodCkKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6Y3Vyc29yVGFnKSk7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZH
Q3Vyc29yRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVmc0Vs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZWZzRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZWZzRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAgaW5saW5lIFNWR0RlZnNF
bGVtZW50OjpTVkdEZWZzRWxlbWVudChjbwogICAgIDogU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFt
ZXM6OmRlZnNUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVn
aXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdEZWZzRWxlbWVudCgpOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDYgKzI5LDcgQEAgaW5saW5lIFNWR0Rlc2NFbGVtZW50OjpTVkdEZXNjRWxlbWVudChjbwogICAg
IDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShTVkdOYW1lczo6ZGVzY1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdEZXNjRWxlbWVudD4gU1ZHRGVzY0VsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYg
KzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogU1ZHRG9jdW1lbnQ6OlNWR0RvY3VtZW50KEZy
YW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsKQogICAgIDogRG9jdW1lbnQoZnJhbWUsIHVybCwg
ZmFsc2UsIGZhbHNlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
U1ZHU1ZHRWxlbWVudCogU1ZHRG9jdW1lbnQ6OnJvb3RFbGVtZW50KCkgY29uc3QKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBAQCB1
c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogU1ZHRWxlbWVudDo6U1ZHRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIENvbnN0cnVjdGlvblR5
cGUgY29uc3RydWN0aW9uVHlwZSkKICAgICA6IFN0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQsIGNvbnN0cnVjdGlvblR5cGUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogICAgIHNldEhhc0N1c3RvbVN0eWxlQ2FsbGJhY2tzKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTksNiArNTksNyBAQCBpbmxpbmUgU1ZHRWxsaXBzZUVsZW1lbnQ6OlNWR0VsbGlwc2VFbGVtCiAg
ICAgLCBtX3J5KExlbmd0aE1vZGVIZWlnaHQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZH
TmFtZXM6OmVsbGlwc2VUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAg
ICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdFbGxpcHNlRWxlbWVudCgpOwogfSAg
ICAKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIGlubGluZSBTVkdGRUJsZW5kRWxlbWVu
dDo6U1ZHRkVCbGVuZEVsZW0KICAgICAsIG1fbW9kZShGRUJMRU5EX01PREVfTk9STUFMKQogewog
ICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZUJsZW5kVGFnKSk7CisgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9y
U1ZHRkVCbGVuZEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
Q29sb3JNYXRyaXhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00OCw2ICs0OCw3IEBAIGlubGluZSBTVkdGRUNvbG9yTWF0cml4RWxlbWVudDo6U1ZHRkVDb2wK
ICAgICAsIG1fdHlwZShGRUNPTE9STUFUUklYX1RZUEVfTUFUUklYKQogewogICAgIEFTU0VSVCho
YXNUYWdOYW1lKFNWR05hbWVzOjpmZUNvbG9yTWF0cml4VGFnKSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRkVD
b2xvck1hdHJpeEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
Q29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0Niw3IEBAIGlubGluZSBTVkdGRUNvbXBvbmVudFRy
YW5zZmVyRWxlbWVudDo6U1YKICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcyh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1l
czo6ZmVDb21wb25lbnRUcmFuc2ZlclRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0ZFQ29tcG9uZW50VHJh
bnNmZXJFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBv
c2l0ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNv
bXBvc2l0ZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYs
NyBAQCBpbmxpbmUgU1ZHRkVDb21wb3NpdGVFbGVtZW50OjpTVkdGRUNvbXBvCiAgICAgLCBtX19v
cGVyYXRvcihGRUNPTVBPU0lURV9PUEVSQVRPUl9PVkVSKQogewogICAgIEFTU0VSVChoYXNUYWdO
YW1lKFNWR05hbWVzOjpmZUNvbXBvc2l0ZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0ZFQ29tcG9zaXRl
RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1h
dHJpeEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNv
bnZvbHZlTWF0cml4RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY5LDYgKzY5LDcgQEAgaW5saW5lIFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50OjpTVkdGRQog
ICAgICwgbV9lZGdlTW9kZShFREdFTU9ERV9EVVBMSUNBVEUpCiB7CiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OmZlQ29udm9sdmVNYXRyaXhUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRUNv
bnZvbHZlTWF0cml4RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDcgQEAgaW5saW5lIFNWR0ZFRGlmZnVzZUxpZ2h0aW5n
RWxlbWVudDo6U1ZHRgogICAgICwgbV9zdXJmYWNlU2NhbGUoMSkKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShTVkdOYW1lczo6ZmVEaWZmdXNlTGlnaHRpbmdUYWcpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdG
RURpZmZ1c2VMaWdodGluZ0VsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIGlubGluZSBTVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQ6OlNWR0YKICAgICAsIG1feUNoYW5uZWxTZWxlY3RvcihDSEFOTkVMX0EpCiB7
CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlRGlzcGxhY2VtZW50TWFwVGFnKSk7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQ
cm9wZXJ0aWVzRm9yU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3RhbnRMaWdodEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3RhbnRMaWdodEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXN0YW50TGlnaHRFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQCBpbmxpbmUgU1ZHRkVEaXN0
YW50TGlnaHRFbGVtZW50OjpTVkdGRURpCiAgICAgOiBTVkdGRUxpZ2h0RWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVEaXN0YW50
TGlnaHRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NS
ZWZQdHI8U1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50PiBTVkdGRURpc3RhbnRMaWdodEVsZW1lbnQ6
OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hhZG93
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAgaW5saW5lIFNWR0ZF
RHJvcFNoYWRvd0VsZW1lbnQ6OlNWR0ZFRHJvcAogICAgICwgbV9zdGREZXZpYXRpb25ZKDIpCiB7
CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlRHJvcFNoYWRvd1RhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVy
dGllc0ZvclNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2
ICszNCw3IEBAIGlubGluZSBTVkdGRUZsb29kRWxlbWVudDo6U1ZHRkVGbG9vZEVsZW0KICAgICA6
IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdOYW1lLCBkb2N1bWVudCkK
IHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVGbG9vZFRhZykpOworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGRUZsb29kRWxl
bWVudD4gU1ZHRkVGbG9vZEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVG
dW5jQUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZ1
bmNBRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUZ1bmNBRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAgaW5s
aW5lIFNWR0ZFRnVuY0FFbGVtZW50OjpTVkdGRUZ1bmNBRWxlbQogICAgIDogU1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJU
KGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlRnVuY0FUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRkVGdW5jQUVsZW1lbnQ+IFNWR0ZFRnVu
Y0FFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY0JFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGdW5jQkVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGdW5jQkVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBAIGlubGluZSBTVkdGRUZ1bmNC
RWxlbWVudDo6U1ZHRkVGdW5jQkVsZW0KICAgICA6IFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNW
R05hbWVzOjpmZUZ1bmNCVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBQYXNzUmVmUHRyPFNWR0ZFRnVuY0JFbGVtZW50PiBTVkdGRUZ1bmNCRWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNHRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY0dFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY0dFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQCBpbmxpbmUgU1ZHRkVGdW5jR0VsZW1lbnQ6OlNWR0ZF
RnVuY0dFbGVtCiAgICAgOiBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVGdW5j
R1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxTVkdGRUZ1bmNHRWxlbWVudD4gU1ZHRkVGdW5jR0VsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVGdW5jUkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUZ1bmNSRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNSRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDYgKzMwLDcgQEAgaW5saW5lIFNWR0ZFRnVuY1JFbGVtZW50OjpTVkdGRUZ1bmNSRWxlbQogICAg
IDogU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQp
CiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlRnVuY1JUYWcpKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRkVGdW5jUkVs
ZW1lbnQ+IFNWR0ZFRnVuY1JFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00OCw2ICs0OCw3IEBAIGlubGluZSBTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQ6OlNWR0ZF
R2EKICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdOYW1lLCBk
b2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVHYXVzc2lhbkJs
dXJUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJB
bmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQoKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NSw2ICs1NSw3IEBAIGlubGluZSBTVkdGRUltYWdlRWxlbWVudDo6U1ZHRkVJ
bWFnZUVsZW0KICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVJbWFn
ZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFu
aW1hdGVkUHJvcGVydGllc0ZvclNWR0ZFSW1hZ2VFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzQsNiArMzQsNyBAQCBpbmxpbmUgU1ZHRkVNZXJnZUVsZW1lbnQ6OlNWR0ZFTWVyZ2VFbGVt
CiAgICAgOiBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXModGFnTmFtZSwgZG9j
dW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlTWVyZ2VUYWcpKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRkVN
ZXJnZUVsZW1lbnQ+IFNWR0ZFTWVyZ2VFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NCw2ICs0NCw3IEBAIGlubGluZSBTVkdGRU1lcmdlTm9kZUVsZW1lbnQ6OlNWR0ZFTWVyZ2UK
ICAgICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OmZlTWVyZ2VOb2RlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRkVNZXJnZU5v
ZGVFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xv
Z3lFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3Jw
aG9sb2d5RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAs
NyBAQCBpbmxpbmUgU1ZHRkVNb3JwaG9sb2d5RWxlbWVudDo6U1ZHRkVNb3JwCiAgICAgLCBtX19v
cGVyYXRvcihGRU1PUlBIT0xPR1lfT1BFUkFUT1JfRVJPREUpCiB7CiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OmZlTW9ycGhvbG9neVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0ZFTW9ycGhv
bG9neUVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0
RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RU9mZnNldEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIGlubGlu
ZSBTVkdGRU9mZnNldEVsZW1lbnQ6OlNWR0ZFT2Zmc2V0RWwKICAgICA6IFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQo
aGFzVGFnTmFtZShTVkdOYW1lczo6ZmVPZmZzZXRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRU9mZnNl
dEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFUG9pbnRMaWdo
dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVBvaW50
TGlnaHRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFUG9pbnRMaWdodEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3
IEBAIGlubGluZSBTVkdGRVBvaW50TGlnaHRFbGVtZW50OjpTVkdGRVBvaW4KICAgICA6IFNWR0ZF
TGlnaHRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1l
KFNWR05hbWVzOjpmZVBvaW50TGlnaHRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRkVQb2ludExpZ2h0RWxlbWVudD4gU1ZHRkVQb2lu
dExpZ2h0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGln
aHRpbmdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVT
cGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjEsNiArNjEsNyBAQCBpbmxpbmUgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudDo6
U1ZHCiAgICAgLCBtX3N1cmZhY2VTY2FsZSgxKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNW
R05hbWVzOjpmZVNwZWN1bGFyTGlnaHRpbmdUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRVNwZWN1bGFy
TGlnaHRpbmdFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNw
b3RMaWdodEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RVNwb3RMaWdodEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVTcG90TGlnaHRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiAr
MzEsNyBAQCBpbmxpbmUgU1ZHRkVTcG90TGlnaHRFbGVtZW50OjpTVkdGRVNwb3RMCiAgICAgOiBT
VkdGRUxpZ2h0RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFn
TmFtZShTVkdOYW1lczo6ZmVTcG90TGlnaHRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRkVTcG90TGlnaHRFbGVtZW50PiBTVkdGRVNw
b3RMaWdodEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgaW5saW5lIFNWR0ZFVGls
ZUVsZW1lbnQ6OlNWR0ZFVGlsZUVsZW1lbgogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1l
KFNWR05hbWVzOjpmZVRpbGVUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRVRpbGVFbGVtZW50KCk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVu
Y2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsNyBAQCBpbmxpbmUgU1ZH
RkVUdXJidWxlbmNlRWxlbWVudDo6U1ZHRkVUdXJiCiAgICAgLCBtX3R5cGUoRkVUVVJCVUxFTkNF
X1RZUEVfVFVSQlVMRU5DRSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVU
dXJidWxlbmNlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJl
Z2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRkVUdXJidWxlbmNlRWxlbWVudCgpOwogfQog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCShyZXZpc2lvbiAx
NDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTc0LDYgKzc0LDcgQEAgaW5saW5lIFNWR0ZpbHRlckVsZW1lbnQ6OlNWR0Zp
bHRlckVsZW1lbgogICAgIC8vIFNwZWM6IElmIHRoZSB4L3kgYXR0cmlidXRlIGlzIG5vdCBzcGVj
aWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1ZSBvZiAiLTEwJSIgd2VyZSBzcGVjaWZp
ZWQuCiAgICAgLy8gU3BlYzogSWYgdGhlIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGUgaXMgbm90IHNw
ZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBhIHZhbHVlIG9mICIxMjAlIiB3ZXJlIHNwZWNp
ZmllZC4KICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmlsdGVyVGFnKSk7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0
aWVzRm9yU1ZHRmlsdGVyRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRm9udEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgaW5saW5l
IFNWR0ZvbnRFbGVtZW50OjpTVkdGb250RWxlbWVudChjbwogICAgICwgbV9pc0dseXBoQ2FjaGVW
YWxpZChmYWxzZSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6Zm9udFRhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVk
UHJvcGVydGllc0ZvclNWR0ZvbnRFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMs
NiArNTMsNyBAQCBpbmxpbmUgU1ZHRm9udEZhY2VFbGVtZW50OjpTVkdGb250RmFjZUVsCiAgICAg
LCBtX2ZvbnRFbGVtZW50KDApCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZm9udF9mYWNlVGFn
KSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIFJlZlB0cjxTdHlsZVBy
b3BlcnR5U2V0PiBzdHlsZURlY2xhcmF0aW9uID0gU3R5bGVQcm9wZXJ0eVNldDo6Y3JlYXRlKENT
U1N0cmljdE1vZGUpOwogICAgIG1fZm9udEZhY2VSdWxlLT5zZXRQcm9wZXJ0aWVzKHN0eWxlRGVj
bGFyYXRpb24ucmVsZWFzZSgpKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250
RmFjZUZvcm1hdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZUZvcm1hdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzMsNiArMzMsNyBAQCBpbmxpbmUgU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50OjpTVkdGb250
CiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKGZvbnRfZmFjZV9mb3JtYXRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50PiBTVkdGb250
RmFjZUZvcm1hdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VO
YW1lRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlTmFtZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMx
LDcgQEAgaW5saW5lIFNWR0ZvbnRGYWNlTmFtZUVsZW1lbnQ6OlNWR0ZvbnRGYQogICAgIDogU1ZH
RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdO
YW1lczo6Zm9udF9mYWNlX25hbWVUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRm9udEZhY2VOYW1lRWxlbWVudD4gU1ZHRm9udEZhY2VO
YW1lRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVNyY0VsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVNyY0Vs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9u
dEZhY2VTcmNFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBpbmxp
bmUgU1ZHRm9udEZhY2VTcmNFbGVtZW50OjpTVkdGb250RmFjCiAgICAgOiBTVkdFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGZvbnRfZmFjZV9zcmNU
YWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8
U1ZHRm9udEZhY2VTcmNFbGVtZW50PiBTVkdGb250RmFjZVNyY0VsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAgaW5saW5lIFNWR0ZvbnRGYWNlVXJpRWxlbWVu
dDo6U1ZHRm9udEZhYwogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShmb250X2ZhY2VfdXJpVGFnKSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0ZvbnRGYWNlVXJpRWxlbWVudD4g
U1ZHRm9udEZhY2VVcmlFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVp
Z25PYmplY3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Rm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02
Miw2ICs2Miw3IEBAIGlubGluZSBTVkdGb3JlaWduT2JqZWN0RWxlbWVudDo6U1ZHRm9yZWkKICAg
ICAsIG1faGVpZ2h0KExlbmd0aE1vZGVIZWlnaHQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUo
U1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGb3JlaWduT2JqZWN0
RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgU1ZHR0VsZW1lbnQ6OlNWR0dFbGVtZW50KGNvbnN0
IFF1YWxpZmllZAogICAgIDogU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQsIGNvbnN0cnVjdGlvblR5cGUpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZH
TmFtZXM6OmdUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVn
aXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdHRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDYgKzM3LDcgQEAgaW5saW5lIFNWR0dseXBoRWxlbWVudDo6U1ZHR2x5cGhFbGVtZW50KAogICAg
IDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShTVkdOYW1lczo6Z2x5cGhUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHR2x5cGhFbGVtZW50PiBTVkdHbHlwaEVsZW1lbnQ6
OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAgaW5saW5lIFNWR0dseXBoUmVmRWxlbWVu
dDo6U1ZHR2x5cGhSZWZFbAogICAgICwgbV9keSgwKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1l
KFNWR05hbWVzOjpnbHlwaFJlZlRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0dseXBoUmVmRWxlbWVudCgp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAko
cmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAgU1ZHR3JhZGllbnRFbGVtZW50
OjpTVkdHcmFkaWVudEVsZW1lbnQoYwogICAgICwgbV9zcHJlYWRNZXRob2QoU1ZHU3ByZWFkTWV0
aG9kUGFkKQogICAgICwgbV9ncmFkaWVudFVuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQ
RV9PQkpFQ1RCT1VORElOR0JPWCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdHcmFkaWVudEVsZW1lbnQoKTsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0hLZXJuRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0hLZXJuRWxlbWVudC5jcHAJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdIS2VybkVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIGlubGluZSBTVkdIS2VybkVsZW1lbnQ6OlNWR0hL
ZXJuRWxlbWVudCgKICAgICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmhrZXJuVGFnKSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0hLZXJuRWxlbWVudD4gU1ZHSEtl
cm5FbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2Niw3IEBAIGlubGluZSBTVkdJbWFnZUVsZW1lbnQ6
OlNWR0ltYWdlRWxlbWVudCgKICAgICAsIG1faW1hZ2VMb2FkZXIodGhpcykKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShTVkdOYW1lczo6aW1hZ2VUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdJbWFnZUVs
ZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIGlubGluZSBTVkdMaW5lRWxlbWVudDo6
U1ZHTGluZUVsZW1lbnQoY28KICAgICAsIG1feTIoTGVuZ3RoTW9kZUhlaWdodCkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6bGluZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0xpbmVF
bGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVu
dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJH
cmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiAr
NjMsNyBAQCBpbmxpbmUgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpTVkdMaW5lCiB7CiAgICAg
Ly8gU3BlYzogSWYgdGhlIHgyIGF0dHJpYnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZWZmZWN0
IGlzIGFzIGlmIGEgdmFsdWUgb2YgIjEwMCUiIHdlcmUgc3BlY2lmaWVkLgogICAgIEFTU0VSVCho
YXNUYWdOYW1lKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVudFRhZykpOworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0xp
bmVhckdyYWRpZW50RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TVBhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBh
dGhFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R01QYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAgaW5saW5l
IFNWR01QYXRoRWxlbWVudDo6U1ZHTVBhdGhFbGVtZW50KAogICAgIDogU1ZHRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6bXBhdGhU
YWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmlt
YXRlZFByb3BlcnRpZXNGb3JTVkdNUGF0aEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NCw2
ICs4NCw3IEBAIGlubGluZSBTVkdNYXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW4KIHsKICAg
ICAvLyBTcGVjOiBJZiB0aGUgbWFya2VyV2lkdGgvbWFya2VySGVpZ2h0IGF0dHJpYnV0ZSBpcyBu
b3Qgc3BlY2lmaWVkLCB0aGUgZWZmZWN0IGlzIGFzIGlmIGEgdmFsdWUgb2YgIjMiIHdlcmUgc3Bl
Y2lmaWVkLgogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjptYXJrZXJUYWcpKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3Bl
cnRpZXNGb3JTVkdNYXJrZXJFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdNYXNrRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NW
R01hc2tFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01hc2tFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQCBpbmxp
bmUgU1ZHTWFza0VsZW1lbnQ6OlNWR01hc2tFbGVtZW50KGNvCiAgICAgLy8gU3BlYzogSWYgdGhl
IHgveSBhdHRyaWJ1dGUgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBhIHZh
bHVlIG9mICItMTAlIiB3ZXJlIHNwZWNpZmllZC4KICAgICAvLyBTcGVjOiBJZiB0aGUgd2lkdGgv
aGVpZ2h0IGF0dHJpYnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZWZmZWN0IGlzIGFzIGlmIGEg
dmFsdWUgb2YgIjEyMCUiIHdlcmUgc3BlY2lmaWVkLgogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNW
R05hbWVzOjptYXNrVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAg
IHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHTWFza0VsZW1lbnQoKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNZXRhZGF0YUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBAIGlubGluZSBTVkdNZXRhZGF0YUVsZW1lbnQ6OlNW
R01ldGFkYXRhRWwKICAgICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6Om1ldGFkYXRhVGFnKSk7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR01ldGFkYXRhRWxlbWVudD4g
U1ZHTWV0YWRhdGFFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR01pc3NpbmdH
bHlwaEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNaXNz
aW5nR2x5cGhFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
c3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsy
OSw3IEBAIGlubGluZSBTVkdNaXNzaW5nR2x5cGhFbGVtZW50OjpTVkdNaXNzaW4KICAgICA6IFNW
R1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05h
bWUoU1ZHTmFtZXM6Om1pc3NpbmdfZ2x5cGhUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHTWlzc2luZ0dseXBoRWxlbWVudD4gU1ZHTWlz
c2luZ0dseXBoRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNw
cAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsNyBAQCBpbmxpbmUgU1ZHUGF0aEVsZW1l
bnQ6OlNWR1BhdGhFbGVtZW50KGNvCiAgICAgLCBtX2lzQW5pbVZhbE9ic2VydmVkKGZhbHNlKQog
ewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpwYXRoVGFnKSk7CisgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9y
U1ZHUGF0aEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRl
cm5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0dGVybkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4Miw3IEBAIGlubGlu
ZSBTVkdQYXR0ZXJuRWxlbWVudDo6U1ZHUGF0dGVybkVsZW0KICAgICAsIG1fcGF0dGVybkNvbnRl
bnRVbml0cyhTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfVVNFUlNQQUNFT05VU0UpCiB7CiAg
ICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OnBhdHRlcm5UYWcpKTsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JT
VkdQYXR0ZXJuRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9s
eWdvbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5
Z29uRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQb2x5Z29uRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAgaW5s
aW5lIFNWR1BvbHlnb25FbGVtZW50OjpTVkdQb2x5Z29uRWxlbQogICAgIDogU1ZHUG9seUVsZW1l
bnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6
OnBvbHlnb25UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBh
c3NSZWZQdHI8U1ZHUG9seWdvbkVsZW1lbnQ+IFNWR1BvbHlnb25FbGVtZW50OjpjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlsaW5lRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlsaW5lRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikK
KysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5bGluZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw2ICszMCw3IEBAIGlubGluZSBTVkdQb2x5bGluZUVsZW1lbnQ6OlNWR1BvbHls
aW5lRWwKICAgICA6IFNWR1BvbHlFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpwb2x5bGluZVRhZykpOworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdQb2x5bGluZUVsZW1lbnQ+IFNW
R1BvbHlsaW5lRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRp
YWxHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjks
NiArNjksNyBAQCBpbmxpbmUgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpTVkdSYWRpCiB7CiAg
ICAgLy8gU3BlYzogSWYgdGhlIGN4L2N5L3IvZnIgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQs
IHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1ZSBvZiAiNTAlIiB3ZXJlIHNwZWNpZmllZC4KICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6cmFkaWFsR3JhZGllbnRUYWcpKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRp
ZXNGb3JTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUmVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBA
IGlubGluZSBTVkdSZWN0RWxlbWVudDo6U1ZHUmVjdEVsZW1lbnQoY28KICAgICAsIG1fcnkoTGVu
Z3RoTW9kZUhlaWdodCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6cmVjdFRh
ZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1h
dGVkUHJvcGVydGllc0ZvclNWR1JlY3RFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU1ZHRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMsNiArOTMsNyBAQCBp
bmxpbmUgU1ZHU1ZHRWxlbWVudDo6U1ZHU1ZHRWxlbWVudChjb25zCiAgICAgLCBtX3RpbWVDb250
YWluZXIoU01JTFRpbWVDb250YWluZXI6OmNyZWF0ZSh0aGlzKSkKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShTVkdOYW1lczo6c3ZnVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHU1ZHRWxlbWVudCgpOwog
ICAgIGRvYy0+cmVnaXN0ZXJGb3JQYWdlQ2FjaGVTdXNwZW5zaW9uQ2FsbGJhY2tzKHRoaXMpOwog
fQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIGlubGluZSBTVkdTY3JpcHRFbGVtZW50OjpTVkdT
Y3JpcHRFbGVtZW4KICAgICAsIG1fc3ZnTG9hZEV2ZW50VGltZXIodGhpcywgJlNWR0VsZW1lbnQ6
OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFt
ZXM6OnNjcmlwdFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBy
ZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR1NjcmlwdEVsZW1lbnQoKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NldEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTZXRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1NldEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw2ICszMCw3IEBAIGlubGluZSBTVkdTZXRFbGVtZW50OjpTVkdTZXRFbGVtZW50KGNvbnMKIHsK
ICAgICBzZXRBbmltYXRpb25Nb2RlKFRvQW5pbWF0aW9uKTsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShTVkdOYW1lczo6c2V0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBQYXNzUmVmUHRyPFNWR1NldEVsZW1lbnQ+IFNWR1NldEVsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYg
KzQ2LDcgQEAgaW5saW5lIFNWR1N0b3BFbGVtZW50OjpTVkdTdG9wRWxlbWVudChjbwogICAgICwg
bV9vZmZzZXQoMCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6c3RvcFRhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVk
UHJvcGVydGllc0ZvclNWR1N0b3BFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdTdHlsZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTdHlsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU3R5bGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBA
QCBpbmxpbmUgU1ZHU3R5bGVFbGVtZW50OjpTVkdTdHlsZUVsZW1lbnQoCiAgICAgLCBtX3N2Z0xv
YWRFdmVudFRpbWVyKHRoaXMsICZTVkdFbGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVkKQog
ewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpzdHlsZVRhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU1ZHU3R5bGVFbGVtZW50Ojp+U1ZHU3R5bGVF
bGVtZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIsNyBAQCB2b2lkIG1hcEF0dHJpYnV0ZVRvQ1NT
UHJvcGVydHkoSGFzaE1hcDxBCiBTVkdTdHlsZWRFbGVtZW50OjpTVkdTdHlsZWRFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgQ29uc3RydWN0
aW9uVHlwZSBjb25zdHJ1Y3Rpb25UeXBlKQogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCwgY29uc3RydWN0aW9uVHlwZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdTdHlsZWRFbGVtZW50KCk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQCBpbmxpbmUgU1ZHU3dpdGNoRWxlbWVudDo6
U1ZHU3dpdGNoRWxlbWVuCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6c3dpdGNo
VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5p
bWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHU3dpdGNoRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2
LDYgKzQ2LDcgQEAgaW5saW5lIFNWR1N5bWJvbEVsZW1lbnQ6OlNWR1N5bWJvbEVsZW1lbgogICAg
IDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShTVkdOYW1lczo6c3ltYm9sVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHU3ltYm9sRWxlbWVu
dCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEzNiw2ICsxMzYsNyBAQCBpbmxpbmUgU1ZHVFJlZkVsZW1lbnQ6OlNW
R1RSZWZFbGVtZW50KGNvCiAgICAgLCBtX3RhcmdldExpc3RlbmVyKFNWR1RSZWZUYXJnZXRFdmVu
dExpc3RlbmVyOjpjcmVhdGUodGhpcykpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFt
ZXM6OnRyZWZUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVn
aXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdUUmVmRWxlbWVudCgpOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RTcGFuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM0LDYgKzM0LDcgQEAgaW5saW5lIFNWR1RTcGFuRWxlbWVudDo6U1ZHVFNwYW5FbGVtZW50KAog
ICAgIDogU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dHNwYW5UYWcpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHVFNwYW5FbGVtZW50PiBTVkdU
U3BhbkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDYgKzcxLDcgQEAgU1ZH
VGV4dENvbnRlbnRFbGVtZW50OjpTVkdUZXh0Q29udGVudEVsZQogICAgICwgbV9zcGVjaWZpZWRU
ZXh0TGVuZ3RoKExlbmd0aE1vZGVPdGhlcikKICAgICAsIG1fbGVuZ3RoQWRqdXN0KFNWR0xlbmd0
aEFkanVzdFNwYWNpbmcpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAg
IHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHVGV4dENvbnRlbnRFbGVtZW50KCk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDgsNiArNDgsNyBAQCBpbmxpbmUgU1ZHVGV4dEVsZW1lbnQ6OlNWR1RleHRFbGVt
ZW50KGNvCiAgICAgOiBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KHRhZ05hbWUsIGRvYykKIHsK
ICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dGV4dFRhZykpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNW
R1RleHRFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0
aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0
aEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VGV4dFBhdGhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBAQCBpbmxp
bmUgU1ZHVGV4dFBhdGhFbGVtZW50OjpTVkdUZXh0UGF0aEVsCiAgICAgLCBtX3NwYWNpbmcoU1ZH
VGV4dFBhdGhTcGFjaW5nRXhhY3QpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6
OnRleHRQYXRoVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJl
Z2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHVGV4dFBhdGhFbGVtZW50KCk7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBFTkRfUkVH
SVNURVJfQU5JTUFURURfUFJPUEVSVElFUwogU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudDo6U1ZH
VGV4dFBvc2l0aW9uaW5nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdUZXh0Q29udGVudEVsZW1lbnQodGFnTmFtZSwgZG9j
dW1lbnQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVy
QW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCgpOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDYgKzMxLDcgQEAgaW5saW5lIFNWR1RpdGxlRWxlbWVudDo6U1ZHVGl0bGVFbGVt
ZW50KAogICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dGl0bGVUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHVGl0bGVFbGVtZW50PiBTVkdUaXRs
ZUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCog
ZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTk2LDYgKzk2LDcgQEAgaW5saW5lIFNWR1VzZUVsZW1lbnQ6OlNWR1VzZUVs
ZW1lbnQoY29ucwogewogICAgIEFTU0VSVChoYXNDdXN0b21TdHlsZUNhbGxiYWNrcygpKTsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dXNlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHVXNl
RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVktlcm5FbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVktlcm5FbGVtZW50LmNw
cAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZLZXJuRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAgaW5saW5lIFNWR1ZLZXJuRWxl
bWVudDo6U1ZHVktlcm5FbGVtZW50KAogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dmtlcm5UYWcpKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHVktlcm5FbGVt
ZW50PiBTVkdWS2VybkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0Vs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgaW5saW5lIFNWR1ZpZXdF
bGVtZW50OjpTVkdWaWV3RWxlbWVudChjbwogICAgICwgbV92aWV3VGFyZ2V0KFNWR05hbWVzOjp2
aWV3VGFyZ2V0QXR0cikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dmlld1Rh
ZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1h
dGVkUHJvcGVydGllc0ZvclNWR1ZpZXdFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdab29tRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdab29tRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHWm9vbUV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQCBTVkda
b29tRXZlbnQ6OlNWR1pvb21FdmVudCgpCiAgICAgOiBtX25ld1NjYWxlKDAuMGYpCiAgICAgLCBt
X3ByZXZpb3VzU2NhbGUoMC4wZikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiB9CiAKIEZsb2F0UmVjdCBTVkdab29tRXZlbnQ6Onpvb21SZWN0U2NyZWVuKCkgY29uc3QKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjAzLDYgKzIwMyw3IEBAIFhNTEh0dHBSZXF1ZXN0OjpYTUxIdHRwUmVxdWVzdChTY3JpcHRF
eGUKICNpZm5kZWYgTkRFQlVHCiAgICAgeG1sSHR0cFJlcXVlc3RDb3VudGVyLmluY3JlbWVudCgp
OwogI2VuZGlmCisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBYTUxIdHRw
UmVxdWVzdDo6flhNTEh0dHBSZXF1ZXN0KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmgJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNTAsMTAgKzUwLDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRl
cmZhY2VGb3JYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ7IH0KIAogcHJpdmF0ZToKLSAgICBY
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQoKSB7IH0KKyAgICBYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnQoKQorICAgIHsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwor
ICAgIH0KKwogICAgIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIHR5cGUsIGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRl
ZCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsKQogICAgICAgICA6IFByb2dyZXNzRXZlbnQodHlw
ZSwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkKICAgICB7CisgICAgICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICB9CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194954</attachid>
            <date>2013-03-25 17:07:09 -0700</date>
            <delta_ts>2013-03-25 17:13:09 -0700</delta_ts>
            <desc>Patch, correct method name.</desc>
            <filename>patch_113247.txt</filename>
            <type>text/plain</type>
            <size>199602</size>
            <attacher name="Thomas Sepez">tsepez</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NjgyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5NiBAQAorMjAxMy0wMy0yNSAgVG9tIFNl
cGV6ICA8dHNlcGV6QGNocm9taXVtLm9yZz4KKworICAgICAgICBbdjhdIEJpbmRpbmcgaW50ZWdy
aXR5OiBhZGQgU2NyaXB0V3JhcHBhYmxlOjppbml0KCkgYW5kIGNhbGwgaXQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTMyNDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBpcyBjb3JyZWN0IGlm
IFdLIHN0aWxsIGJ1aWxkcy4KKworICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246Okdlb2xvY2F0aW9uKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCQW55OjpJREJBbnkpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OklEQkN1cnNvcik6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yV2l0aFZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQkN1cnNvcldpdGhWYWx1ZTo6SURCQ3Vyc29yV2l0aFZhbHVlKToKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
REJEYXRhYmFzZTo6SURCRGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lE
QkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeTo6SURCRmFjdG9yeSk6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCSW5kZXg6OklEQkluZGV4KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9J
REJLZXlSYW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXlSYW5nZTo6SURCS2V5UmFu
Z2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpJREJPYmplY3RTdG9yZSk6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJPcGVuREJSZXF1ZXN0OjpJREJPcGVuREJSZXF1ZXN0KToKKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3Q6OklEQlJlcXVlc3QpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpJREJUcmFuc2FjdGlv
bik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlZlcnNpb25DaGFuZ2VFdmVudDo6SURCVmVyc2lvbkNo
YW5nZUV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1FdmVudDo6TWVkaWFTdHJlYW1F
dmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0V2ZW50OjpNZWRpYVN0
cmVhbVRyYWNrRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlRv
bmVDaGFuZ2VFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GVG9uZUNoYW5nZUV2
ZW50OjpSVENEVE1GVG9uZUNoYW5nZUV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNo
YW5uZWxFdmVudDo6UlRDRGF0YUNoYW5uZWxFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENJ
Y2VDYW5kaWRhdGVFdmVudDo6UlRDSWNlQ2FuZGlkYXRlRXZlbnQpOgorICAgICAgICAqIE1vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90
aWZpY2F0aW9uOjpOb3RpZmljYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uRXJyb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRp
b25FcnJvcjo6U3BlZWNoUmVjb2duaXRpb25FcnJvcik6CisgICAgICAgICogTW9kdWxlcy9zcGVl
Y2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hS
ZWNvZ25pdGlvbkV2ZW50OjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQ6On5TcGVlY2hSZWNvZ25pdGlvbkV2ZW50KToKKyAg
ICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXNFdmVudDo6U3BlZWNoU3ludGhlc2lzRXZlbnQpOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ6Ok9m
ZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYnNvY2tldHMvQ2xvc2VFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
c2VFdmVudDo6Q2xvc2VFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0V3JhcHBh
YmxlLmg6CisgICAgICAgIChTY3JpcHRXcmFwcGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0V3JhcHBhYmxlOjppbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6
aW5pdEN1c3RvbSk6CisgICAgICAgICogYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpET01EYXRhU3RvcmU6OmdldFdyYXBwZXJGYXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTURhdGFTdG9yZTo6Z2V0V3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpET01E
YXRhU3RvcmU6OmdldFdyYXBwZXJGb3JNYWluV29ybGQpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
RGF0YVN0b3JlOjpzZXRXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6
Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6c2V0KToKKyAgICAgICAgKERP
TURhdGFTdG9yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0V3JhcHBhYmxlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OlNjcmlwdFdyYXBwYWJsZSk6CisgICAg
ICAgIChTY3JpcHRXcmFwcGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxl
Ojp+U2NyaXB0V3JhcHBhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6
d3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OnNldFdyYXBwZXIp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxlOjp0eXBlSW5mbyk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OnNldFR5cGVJbmZvKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdFdyYXBwYWJsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0V3JhcHBhYmxlOjp3cmFwcGVyQ2FuQmVTdG9yZWRJbk9iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OmdldFdyYXBwZXJGcm9tT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6c2V0V3JhcHBlckluT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6Z2V0VHlwZUluZm9Gcm9tT2JqZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6c2V0VHlwZUluZm9Jbk9iamVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OmluaXQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0V3JhcHBhYmxlOjppbml0Q3VzdG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFdyYXBwYWJsZTo6bWFza09yVW5tYXNrVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
V3JhcHBhYmxlOjpjb250YWluc1R5cGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdy
YXBwYWJsZTo6Y29udGFpbnNXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBw
YWJsZTo6ZGlzcG9zZVdyYXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxl
Ojp3ZWFrQ2FsbGJhY2spOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZUxvYWRFdmVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZUxvYWRFdmVudDo6Q1NTRm9udEZhY2VMb2Fk
RXZlbnQpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVJ1bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTRm9udEZhY2VSdWxlOjpDU1NGb250RmFjZVJ1bGUpOgorICAgICAgICAqIGNzcy9D
U1NTdHlsZURlY2xhcmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZURlY2xhcmF0
aW9uOjpDU1NTdHlsZURlY2xhcmF0aW9uKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTTWF0cml4
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU01hdHJpeDo6V2ViS2l0Q1NTTWF0cml4
KToKKyAgICAgICAgKiBkb20vQXR0ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdHRyOjpBdHRy
KToKKyAgICAgICAgKiBkb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6QXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6QXV0b2NvbXBsZXRlRXJyb3JFdmVudCk6Cisg
ICAgICAgICogZG9tL0JlZm9yZUxvYWRFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6QmVmb3Jl
TG9hZEV2ZW50OjpCZWZvcmVMb2FkRXZlbnQpOgorICAgICAgICAqIGRvbS9DREFUQVNlY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0RBVEFTZWN0aW9uOjpDREFUQVNlY3Rpb24pOgorICAg
ICAgICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJE
YXRhOjpDaGFyYWN0ZXJEYXRhKToKKyAgICAgICAgKiBkb20vQ2xpZW50UmVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDbGllbnRSZWN0OjpDbGllbnRSZWN0KToKKyAgICAgICAgKiBkb20vQ29t
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21tZW50OjpDb21tZW50KToKKyAgICAgICAg
KiBkb20vQ29tcG9zaXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGlv
bkV2ZW50OjpDb21wb3NpdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxlbWVudENv
bnN0cnVjdG9yLmlkbDoKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KToKKyAgICAgICAgKiBkb20vRE9NSW1w
bGVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NSW1wbGVtZW50YXRpb246OkRP
TUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBkb20vRE9NU3RyaW5nTWFwLmg6CisgICAgICAg
IChXZWJDb3JlOjpET01TdHJpbmdNYXA6OkRPTVN0cmluZ01hcCk6CisgICAgICAgICogZG9tL0Rl
dmljZU1vdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkV2ZW50
OjpEZXZpY2VNb3Rpb25FdmVudCk6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNl
T3JpZW50YXRpb25FdmVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpOb2RlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRG
cmFnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudEZyYWdtZW50OjpEb2N1bWVu
dEZyYWdtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VHlwZTo6RG9jdW1lbnRUeXBlKToKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6RWxlbWVudCk6CisgICAgICAgICogZG9t
L0VudGl0eS5oOgorICAgICAgICAoV2ViQ29yZTo6RW50aXR5OjpFbnRpdHkpOgorICAgICAgICAq
IGRvbS9FbnRpdHlSZWZlcmVuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW50aXR5UmVmZXJl
bmNlOjpFbnRpdHlSZWZlcmVuY2UpOgorICAgICAgICAqIGRvbS9FcnJvckV2ZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVycm9yRXZlbnQ6OkVycm9yRXZlbnQpOgorICAgICAgICAqIGRvbS9F
dmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6RXZlbnQpOgorICAgICAgICAqIGRv
bS9Gb2N1c0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OkZvY3VzRXZl
bnQpOgorICAgICAgICAqIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
Okhhc2hDaGFuZ2VFdmVudDo6SGFzaENoYW5nZUV2ZW50KToKKyAgICAgICAgKiBkb20vS2V5Ym9h
cmRFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLZXlib2FyZEV2ZW50OjpLZXlib2FyZEV2
ZW50KToKKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lc3NhZ2VFdmVudDo6TWVzc2FnZUV2ZW50KToKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KToKKyAgICAgICAg
KiBkb20vTXV0YXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbkV2ZW50
OjpNdXRhdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmg6CisgICAgICAg
IChXZWJDb3JlOjpOYW1lZE5vZGVNYXA6Ok5hbWVkTm9kZU1hcCk6CisgICAgICAgICogZG9tL05v
ZGVJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlSXRlcmF0b3I6Ok5vZGVJdGVy
YXRvcik6CisgICAgICAgICogZG9tL05vZGVMaXN0Lmg6CisgICAgICAgIChOb2RlTGlzdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdDo6Tm9kZUxpc3QpOgorICAgICAgICAqIGRvbS9Ob3Rh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RhdGlvbjo6Tm90YXRpb24pOgorICAgICAg
ICAqIGRvbS9PdmVyZmxvd0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok92ZXJmbG93RXZl
bnQ6Ok92ZXJmbG93RXZlbnQpOgorICAgICAgICAqIGRvbS9QYWdlVHJhbnNpdGlvbkV2ZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VUcmFuc2l0aW9uRXZlbnQ6OlBhZ2VUcmFuc2l0aW9u
RXZlbnQpOgorICAgICAgICAqIGRvbS9Qb3BTdGF0ZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBvcFN0YXRlRXZlbnQ6OlBvcFN0YXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9Qcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0luc3RydWN0
aW9uOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pOgorICAgICAgICAqIGRvbS9Qcm9ncmVzc0V2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNzRXZlbnQ6OlByb2dyZXNzRXZlbnQpOgor
ICAgICAgICAqIGRvbS9Qcm9wZXJ0eU5vZGVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBy
b3BlcnR5Tm9kZUxpc3Q6OlByb3BlcnR5Tm9kZUxpc3QpOgorICAgICAgICAqIGRvbS9TaGFkb3dS
b290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QpOgorICAg
ICAgICAqIGRvbS9UZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0OjpUZXh0KToKKyAgICAg
ICAgKiBkb20vVGV4dEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6VGV4
dEV2ZW50KToKKyAgICAgICAgKiBkb20vVG91Y2hFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUb3VjaEV2ZW50OjpUb3VjaEV2ZW50KToKKyAgICAgICAgKiBkb20vVHJhbnNpdGlvbkV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zaXRpb25FdmVudDo6VHJhbnNpdGlvbkV2ZW50
KToKKyAgICAgICAgKiBkb20vVHJlZVdhbGtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmVl
V2Fsa2VyOjpUcmVlV2Fsa2VyKToKKyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpVSUV2ZW50OjpVSUV2ZW50KToKKyAgICAgICAgKiBkb20vV2ViS2l0QW5pbWF0
aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0QW5pbWF0aW9uRXZlbnQ6Oldl
YktpdEFuaW1hdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdFRyYW5zaXRpb25FdmVudDo6V2ViS2l0VHJh
bnNpdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vV2hlZWxFdmVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KToKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QmxvYjo6QmxvYik6CisgICAgICAgICogZmlsZWFwaS9G
aWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OkZpbGUpOgorICAgICAgICAqIGZpbGVh
cGkvRmlsZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxpc3Q6OkZpbGVMaXN0KToK
KyAgICAgICAgKiBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxBbGxDb2xsZWN0aW9uOjpIVE1MQWxsQ29sbGVjdGlvbik6CisgICAgICAgICogaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVu
dDo6SFRNTEFuY2hvckVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFwcGxldEVsZW1lbnQ6OkhUTUxBcHBsZXRFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQXJlYUVsZW1lbnQ6OkhUTUxBcmVhRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MQXVkaW9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBdWRpb0VsZW1lbnQ6
OkhUTUxBdWRpb0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEJSRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQlJFbGVtZW50OjpIVE1MQlJFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxCYXNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQmFzZUVs
ZW1lbnQ6OkhUTUxCYXNlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUZvbnRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRm9udEVsZW1lbnQ6OkhUTUxCYXNl
Rm9udEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6SFRNTEJvZHlFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxCdXR0b25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCdXR0
b25FbGVtZW50OjpIVE1MQnV0dG9uRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6SFRNTENh
bnZhc0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTENvbGxlY3Rpb246OkhUTUxDb2xsZWN0aW9uKToKKyAgICAgICAgKiBo
dG1sL0hUTUxETGlzdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERMaXN0RWxl
bWVudDo6SFRNTERMaXN0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRGF0YUxpc3RFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEYXRhTGlzdEVsZW1lbnQ6OkhUTUxEYXRh
TGlzdEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEZXRhaWxzRWxlbWVudDo6SFRNTERldGFpbHNFbGVtZW50KToK
KyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxEaWFsb2dFbGVtZW50OjpIVE1MRGlhbG9nRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MRGlyZWN0b3J5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlyZWN0b3J5
RWxlbWVudDo6SFRNTERpcmVjdG9yeUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTERpdkVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpdkVsZW1lbnQ6OkhUTUxEaXZFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRG9jdW1lbnQ6OkhUTUxEb2N1bWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVt
ZW50OjpIVE1MRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6OkhUTUxFbWJlZEVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRmllbGRTZXRFbGVtZW50OjpIVE1MRmllbGRTZXRFbGVtZW50KToKKyAgICAgICAgKiBo
dG1sL0hUTUxGb250RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9udEVsZW1l
bnQ6OkhUTUxGb250RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29s
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlv
bjo6SFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24pOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6SFRNTEZvcm1F
bGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZyYW1lRWxlbWVudDo6SFRNTEZyYW1lRWxlbWVudCk6CisgICAgICAgICog
aHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFt
ZVNldEVsZW1lbnQ6OkhUTUxGcmFtZVNldEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEhS
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSFJFbGVtZW50OjpIVE1MSFJFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxIZWFkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSGVhZEVsZW1lbnQ6OkhUTUxIZWFkRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MSGVhZGluZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEhlYWRpbmdFbGVt
ZW50OjpIVE1MSGVhZGluZ0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEh0bWxFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxIdG1sRWxlbWVudDo6SFRNTEh0bWxFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxJRnJhbWVFbGVtZW50OjpIVE1MSUZyYW1lRWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OkhUTUxJbWFnZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxLZXlnZW5FbGVtZW50OjpIVE1MS2V5Z2VuRWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MTElFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMSUVsZW1lbnQ6OkhU
TUxMSUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTGFiZWxFbGVtZW50OjpIVE1MTGFiZWxFbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxM
ZWdlbmRFbGVtZW50OjpIVE1MTGVnZW5kRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpIVE1MTGlu
a0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1hcEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1hcEVsZW1lbnQ6OkhUTUxNYXBFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxNYXJxdWVlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWFycXVlZUVs
ZW1lbnQ6OkhUTUxNYXJxdWVlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVs
ZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lbnVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZW51RWxlbWVudDo6SFRNTE1lbnVFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0YUVsZW1lbnQ6
OkhUTUxNZXRhRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvSFRNTE1vZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1vZEVsZW1lbnQ6OkhUTUxNb2RFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxPTGlzdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9MaXN0RWxlbWVudDo6SFRNTE9MaXN0
RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6SFRNTE9iamVjdEVsZW1lbnQpOgorICAgICAg
ICAqIGh0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
T3B0R3JvdXBFbGVtZW50OjpIVE1MT3B0R3JvdXBFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hU
TUxPcHRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50
OjpIVE1MT3B0aW9uRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpIVE1MT3B0
aW9uc0NvbGxlY3Rpb24pOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OkhUTUxPdXRwdXRFbGVtZW50KToK
KyAgICAgICAgKiBodG1sL0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJhZ3JhcGhFbGVtZW50OjpIVE1MUGFyYWdyYXBoRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MUGFyYW1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJh
bUVsZW1lbnQ6OkhUTUxQYXJhbUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFByZUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByZUVsZW1lbnQ6OkhUTUxQcmVFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6SFRNTFByb2dyZXNzRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MUXVvdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxRdW90
ZUVsZW1lbnQ6OkhUTUxRdW90ZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFNjcmlwdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdEVsZW1lbnQ6OkhUTUxTY3Jp
cHRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpIVE1MU2VsZWN0RWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
U291cmNlRWxlbWVudDo6SFRNTFNvdXJjZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFNw
YW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTcGFuRWxlbWVudDo6SFRNTFNw
YW5FbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6SFRNTFN0eWxlRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MVGFibGVDYXB0aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGFibGVDYXB0aW9uRWxlbWVudDo6SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQpOgorICAgICAg
ICAqIGh0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRhYmxlQ2VsbEVsZW1lbnQ6OkhUTUxUYWJsZUNlbGxFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxUYWJsZUNvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlQ29s
RWxlbWVudDo6SFRNTFRhYmxlQ29sRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZUVsZW1lbnQ6OkhUTUxUYWJs
ZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MVGFibGVSb3dFbGVtZW50OjpIVE1MVGFibGVSb3dFbGVtZW50KToK
KyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OjpIVE1MVGFibGVTZWN0aW9uRWxlbWVudCk6
CisgICAgICAgICogaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxUZW1wbGF0ZUVsZW1lbnQ6OkhUTUxUZW1wbGF0ZUVsZW1lbnQpOgorICAgICAgICAq
IGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4
dEFyZWFFbGVtZW50OjpIVE1MVGV4dEFyZWFFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxU
aXRsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRpdGxlRWxlbWVudDo6SFRN
TFRpdGxlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OkhUTUxUcmFja0VsZW1lbnQpOgorICAg
ICAgICAqIGh0bWwvSFRNTFVMaXN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VUxpc3RFbGVtZW50OjpIVE1MVUxpc3RFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxVbmtu
b3duRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFVua25vd25FbGVtZW50OjpIVE1M
VW5rbm93bkVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50OjpIVE1MVmlkZW9FbGVtZW50KToKKyAg
ICAgICAgKiBodG1sL01lZGlhS2V5RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlFdmVudDo6TWVkaWFLZXlFdmVudCk6CisgICAgICAgICogaHRtbC9SYWRpb05vZGVMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJhZGlvTm9kZUxpc3Q6OlJhZGlvTm9kZUxpc3QpOgorICAg
ICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlT
dGF0ZTo6VmFsaWRpdHlTdGF0ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0
OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMQ29udGV4dEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMQ29udGV4
dEV2ZW50OjpXZWJHTENvbnRleHRFdmVudCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNo
YWRvd0VsZW1lbnQ6OkhUTUxTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKiBodG1sL3RyYWNrL1Ry
YWNrRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6VHJhY2tFdmVudCk6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NQXBwbGljYXRpb25DYWNoZTo6RE9NQXBwbGljYXRpb25DYWNoZSk6
CisgICAgICAgICogcGFnZS9CYXJJbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhckluZm86
OkJhckluZm8pOgorICAgICAgICAqIHBhZ2UvQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDb25zb2xlOjpDb25zb2xlKToKKyAgICAgICAgKiBwYWdlL0NyeXB0by5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDcnlwdG86OkNyeXB0byk6CisgICAgICAgICogcGFnZS9IaXN0b3J5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okhpc3Rvcnk6Okhpc3RvcnkpOgorICAgICAgICAqIHBhZ2UvTG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9jYXRpb246OkxvY2F0aW9uKToKKyAgICAg
ICAgKiBwYWdlL05hdmlnYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6Ok5h
dmlnYXRvcik6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6UGVyZm9ybWFuY2UpOgorICAgICAgICAqIHBhZ2UvU2NyZWVuLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmVlbjo6U2NyZWVuKToKKyAgICAgICAgKiBwYWdlL1Nw
ZWVjaElucHV0RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoSW5wdXRFdmVudDo6
U3BlZWNoSW5wdXRFdmVudCk6CisgICAgICAgICogcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU1pbWVUeXBlQXJyYXk6OkRPTU1pbWVUeXBlQXJyYXkp
OgorICAgICAgICAqIHBsdWdpbnMvRE9NUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVBsdWdpbjo6RE9NUGx1Z2luKToKKyAgICAgICAgKiBwbHVnaW5zL0RPTVBsdWdpbkFycmF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBsdWdpbkFycmF5OjpET01QbHVnaW5BcnJheSk6Cisg
ICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2U6
OlN0b3JhZ2UpOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
QUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQUVsZW1lbnQ6OlNWR0FFbGVtZW50
KToKKyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0FsdEdseXBoRGVmRWxlbWVudDo6U1ZHQWx0R2x5cGhEZWZFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FsdEdseXBoRWxlbWVudDo6U1ZHQWx0R2x5cGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
QWx0R2x5cGhJdGVtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbHRHbHlwaEl0
ZW1FbGVtZW50OjpTVkdBbHRHbHlwaEl0ZW1FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5p
bWF0ZUNvbG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlQ29sb3JF
bGVtZW50OjpTVkdBbmltYXRlQ29sb3JFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OlNWR0Fu
aW1hdGVFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQ6OlNWR0FuaW1hdGVN
b3Rpb25FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQ6OlNWR0Fu
aW1hdGVUcmFuc2Zvcm1FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0aW9uRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50OjpTVkdBbmltYXRp
b25FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ2lyY2xlRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdDaXJjbGVFbGVtZW50OjpTVkdDaXJjbGVFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NsaXBQ
YXRoRWxlbWVudDo6U1ZHQ2xpcFBhdGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ29t
cG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQ6OlNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdDdXJzb3JFbGVtZW50OjpTVkdDdXJzb3JFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHRGVmc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRGVmc0VsZW1l
bnQ6OlNWR0RlZnNFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRGVzY0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRGVzY0VsZW1lbnQ6OlNWR0Rlc2NFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnQ6
OlNWR0RvY3VtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbGVtZW50OjpTVkdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxsaXBz
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxsaXBzZUVsZW1lbnQ6OlNWR0Vs
bGlwc2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRkVCbGVuZEVsZW1lbnQ6OlNWR0ZFQmxlbmRFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ6OlNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQ6OlNWR0ZFQ29tcG9uZW50VHJh
bnNmZXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29tcG9zaXRlRWxlbWVudDo6U1ZHRkVDb21wb3NpdGVF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQ6OlNWR0ZFQ29udm9s
dmVNYXRyaXhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6
U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVEaXNwbGFj
ZW1lbnRNYXBFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlzcGxhY2VtZW50
TWFwRWxlbWVudDo6U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlz
dGFudExpZ2h0RWxlbWVudDo6U1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRURy
b3BTaGFkb3dFbGVtZW50OjpTVkdGRURyb3BTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRkVGbG9vZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGbG9vZEVsZW1l
bnQ6OlNWR0ZFRmxvb2RFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVGdW5jQUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jQUVsZW1lbnQ6OlNWR0ZFRnVuY0FFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVGdW5jQkVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRkVGdW5jQkVsZW1lbnQ6OlNWR0ZFRnVuY0JFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHRkVGdW5jR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jR0Vs
ZW1lbnQ6OlNWR0ZFRnVuY0dFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVGdW5jUkVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jUkVsZW1lbnQ6OlNWR0ZFRnVuY1JF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudDo6U1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRkVJbWFnZUVsZW1lbnQ6OlNWR0ZFSW1hZ2VFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRkVNZXJnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVN
ZXJnZUVsZW1lbnQ6OlNWR0ZFTWVyZ2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVNZXJn
ZU5vZGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFTWVyZ2VOb2RlRWxlbWVu
dDo6U1ZHRkVNZXJnZU5vZGVFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRU1vcnBob2xvZ3lFbGVtZW50OjpT
VkdGRU1vcnBob2xvZ3lFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVPZmZzZXRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFT2Zmc2V0RWxlbWVudDo6U1ZHRkVPZmZzZXRF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGRVBvaW50TGlnaHRFbGVtZW50OjpTVkdGRVBvaW50TGlnaHRFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50OjpTVkdGRVNwZWN1
bGFyTGlnaHRpbmdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVTcG90TGlnaHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFU3BvdExpZ2h0RWxlbWVudDo6U1ZHRkVTcG90
TGlnaHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVUaWxlRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGRVRpbGVFbGVtZW50OjpTVkdGRVRpbGVFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpTVkdGRVR1cmJ1bGVuY2VFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJF
bGVtZW50OjpTVkdGaWx0ZXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEVsZW1lbnQ6OlNWR0ZvbnRFbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZvbnRGYWNlRWxlbWVudDo6U1ZHRm9udEZhY2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRG
YWNlRm9ybWF0RWxlbWVudDo6U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250
RmFjZU5hbWVFbGVtZW50OjpTVkdGb250RmFjZU5hbWVFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRm9udEZhY2VTcmNFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNl
U3JjRWxlbWVudDo6U1ZHRm9udEZhY2VTcmNFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRm9u
dEZhY2VVcmlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlVXJpRWxl
bWVudDo6U1ZHRm9udEZhY2VVcmlFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQ6OlNWR0ZvcmVpZ25PYmplY3RFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHR0VsZW1lbnQ6OlNWR0dFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHR2x5cGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBo
RWxlbWVudDo6U1ZHR2x5cGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhSZWZFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBoUmVmRWxlbWVudDo6U1ZHR2x5cGhS
ZWZFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6U1ZHR3JhZGllbnRFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHSEtlcm5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0hL
ZXJuRWxlbWVudDo6U1ZHSEtlcm5FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlRWxlbWVudDo6U1ZHSW1hZ2VFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTGluZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTGluZUVsZW1lbnQ6OlNWR0xpbmVFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xpbmVhckdyYWRp
ZW50RWxlbWVudDo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
TVBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01QYXRoRWxlbWVudDo6U1ZH
TVBhdGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFza0Vs
ZW1lbnQ6OlNWR01hc2tFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWV0YWRhdGFFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01ldGFkYXRhRWxlbWVudDo6U1ZHTWV0YWRhdGFF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdNaXNzaW5nR2x5cGhFbGVtZW50OjpTVkdNaXNzaW5nR2x5cGhFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUGF0aEVsZW1lbnQ6OlNWR1BhdGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUGF0
dGVybkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OlNW
R1BhdHRlcm5FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUG9seWdvbkVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUG9seWdvbkVsZW1lbnQ6OlNWR1BvbHlnb25FbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHUG9seWxpbmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1BvbHlsaW5lRWxlbWVudDo6U1ZHUG9seWxpbmVFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudDo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHUmVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVjdEVsZW1lbnQ6
OlNWR1JlY3RFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpTVkdTVkdFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTY3JpcHRFbGVt
ZW50OjpTVkdTY3JpcHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU2V0RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdTZXRFbGVtZW50OjpTVkdTZXRFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RvcEVs
ZW1lbnQ6OlNWR1N0b3BFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU3R5bGVFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlRWxlbWVudDo6U1ZHU3R5bGVFbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdTdHlsZWRFbGVtZW50OjpTVkdTdHlsZWRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU3dp
dGNoRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTd2l0Y2hFbGVtZW50OjpTVkdT
d2l0Y2hFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdTeW1ib2xFbGVtZW50OjpTVkdTeW1ib2xFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVFJlZkVs
ZW1lbnQ6OlNWR1RSZWZFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVFNwYW5FbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RTcGFuRWxlbWVudDo6U1ZHVFNwYW5FbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1RleHRDb250ZW50RWxlbWVudDo6U1ZHVGV4dENvbnRlbnRFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHVGV4dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dEVs
ZW1lbnQ6OlNWR1RleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRQYXRoRWxlbWVudDo6U1ZHVGV4dFBhdGhF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50OjpTVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGl0bGVFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1RpdGxlRWxlbWVudDo6U1ZHVGl0bGVFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50
OjpTVkdVc2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVktlcm5FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1ZLZXJuRWxlbWVudDo6U1ZHVktlcm5FbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHVmlld0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0Vs
ZW1lbnQ6OlNWR1ZpZXdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHWm9vbUV2ZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21FdmVudDo6U1ZHWm9vbUV2ZW50KToKKyAgICAgICAg
KiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVl
c3Q6OlhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6
OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudCk6CisgICAgICAgIChYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQpOgorCiAyMDEzLTAzLTI1ICBCcmFuZG9uIEpvbmVzICA8YmFqb25lc0Bnb29n
bGUuY29tPgogCiAgICAgICAgIFdFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyBuZWVkcyBp
bXBsZW1lbnRhdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9s
b2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNDQsNiArMjQ0LDcgQEAgR2VvbG9jYXRpb246Okdlb2xvY2F0aW9uKFNjcmlwdEV4ZWN1dGlv
bgogICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQpCiAgICAgLCBtX2FsbG93R2VvbG9jYXRp
b24oVW5rbm93bikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEdl
b2xvY2F0aW9uOjp+R2VvbG9jYXRpb24oKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQW55LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJBbnkuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1
OCw3IEBAIElEQkFueTo6SURCQW55KFR5cGUgdHlwZSkKICAgICAsIG1faW50ZWdlcigwKQogewog
ICAgIEFTU0VSVCh0eXBlID09IFVuZGVmaW5lZFR5cGUgfHwgdHlwZSA9PSBOdWxsVHlwZSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6On5JREJBbnkoKQpA
QCAtMTM1LDYgKzEzNiw3IEBAIElEQkFueTo6SURCQW55KFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlz
dD4KICAgICAsIG1fZG9tU3RyaW5nTGlzdCh2YWx1ZSkKICAgICAsIG1faW50ZWdlcigwKQogewor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURCQW55OjpJREJBbnkoUGFz
c1JlZlB0cjxJREJDdXJzb3JXaXRoVmFsdWU+IHZhbHVlKQpAQCAtMTQyLDYgKzE0NCw3IEBAIElE
QkFueTo6SURCQW55KFBhc3NSZWZQdHI8SURCQ3Vyc29yV2l0aFYKICAgICAsIG1faWRiQ3Vyc29y
V2l0aFZhbHVlKHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShQYXNzUmVmUHRyPElEQkN1cnNv
cj4gdmFsdWUpCkBAIC0xNDksNiArMTUyLDcgQEAgSURCQW55OjpJREJBbnkoUGFzc1JlZlB0cjxJ
REJDdXJzb3I+IHZhbAogICAgICwgbV9pZGJDdXJzb3IodmFsdWUpCiAgICAgLCBtX2ludGVnZXIo
MCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElEQkFueTo6SURC
QW55KFBhc3NSZWZQdHI8SURCRGF0YWJhc2U+IHZhbHVlKQpAQCAtMTU2LDYgKzE2MCw3IEBAIElE
QkFueTo6SURCQW55KFBhc3NSZWZQdHI8SURCRGF0YWJhc2U+IHYKICAgICAsIG1faWRiRGF0YWJh
c2UodmFsdWUpCiAgICAgLCBtX2ludGVnZXIoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIElEQkFueTo6SURCQW55KFBhc3NSZWZQdHI8SURCRmFjdG9yeT4gdmFs
dWUpCkBAIC0xNjMsNiArMTY4LDcgQEAgSURCQW55OjpJREJBbnkoUGFzc1JlZlB0cjxJREJGYWN0
b3J5PiB2YQogICAgICwgbV9pZGJGYWN0b3J5KHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShQ
YXNzUmVmUHRyPElEQkluZGV4PiB2YWx1ZSkKQEAgLTE3MCw2ICsxNzYsNyBAQCBJREJBbnk6OklE
QkFueShQYXNzUmVmUHRyPElEQkluZGV4PiB2YWx1CiAgICAgLCBtX2lkYkluZGV4KHZhbHVlKQog
ICAgICwgbV9pbnRlZ2VyKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBJREJBbnk6OklEQkFueShQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB2YWx1ZSkKQEAg
LTE3Nyw2ICsxODQsNyBAQCBJREJBbnk6OklEQkFueShQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9u
CiAgICAgLCBtX2lkYlRyYW5zYWN0aW9uKHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShQYXNz
UmVmUHRyPElEQk9iamVjdFN0b3JlPiB2YWx1ZSkKQEAgLTE4NCw2ICsxOTIsNyBAQCBJREJBbnk6
OklEQkFueShQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlCiAgICAgLCBtX2lkYk9iamVjdFN0b3Jl
KHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUpCkBA
IC0xOTEsNiArMjAwLDcgQEAgSURCQW55OjpJREJBbnkoY29uc3QgU2NyaXB0VmFsdWUmIHZhbHVl
KQogICAgICwgbV9zY3JpcHRWYWx1ZSh2YWx1ZSkKICAgICAsIG1faW50ZWdlcigwKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURCQW55OjpJREJBbnkoY29uc3Qg
SURCS2V5UGF0aCYgdmFsdWUpCkBAIC0xOTgsNiArMjA4LDcgQEAgSURCQW55OjpJREJBbnkoY29u
c3QgSURCS2V5UGF0aCYgdmFsdWUpCiAgICAgLCBtX2lkYktleVBhdGgodmFsdWUpCiAgICAgLCBt
X2ludGVnZXIoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElE
QkFueTo6SURCQW55KGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC0yMDUsMTIgKzIxNiwxNCBAQCBJ
REJBbnk6OklEQkFueShjb25zdCBTdHJpbmcmIHZhbHVlKQogICAgICwgbV9zdHJpbmcodmFsdWUp
CiAgICAgLCBtX2ludGVnZXIoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiB9CiAKIElEQkFueTo6SURCQW55KGludDY0X3QgdmFsdWUpCiAgICAgOiBtX3R5cGUoSW50ZWdl
clR5cGUpCiAgICAgLCBtX2ludGVnZXIodmFsdWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDcgQEAgSURCQ3Vyc29yOjpJREJDdXJzb3IoUGFzc1Jl
ZlB0cjxJREJDdXJzbwogICAgIEFTU0VSVChtX3JlcXVlc3QpOwogICAgIEFTU0VSVChtX3NvdXJj
ZS0+dHlwZSgpID09IElEQkFueTo6SURCT2JqZWN0U3RvcmVUeXBlIHx8IG1fc291cmNlLT50eXBl
KCkgPT0gSURCQW55OjpJREJJbmRleFR5cGUpOwogICAgIEFTU0VSVChtX3RyYW5zYWN0aW9uKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElEQkN1cnNvcjo6fklEQkN1
cnNvcigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JX
aXRoVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgUGFzc1JlZlB0cjxJREJDdXJzb3JXaXRoVmFsdWU+IElE
QkN1cnNvcgogSURCQ3Vyc29yV2l0aFZhbHVlOjpJREJDdXJzb3JXaXRoVmFsdWUoUGFzc1JlZlB0
cjxJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlPiBiYWNrZW5kLCBJbmRleGVkREI6OkN1cnNvckRp
cmVjdGlvbiBkaXJlY3Rpb24sIElEQlJlcXVlc3QqIHJlcXVlc3QsIElEQkFueSogc291cmNlLCBJ
REJUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24pCiAgICAgOiBJREJDdXJzb3IoYmFja2VuZCwgZGly
ZWN0aW9uLCByZXF1ZXN0LCBzb3VyY2UsIHRyYW5zYWN0aW9uKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURCQ3Vyc29yV2l0aFZhbHVlOjp+SURCQ3Vyc29yV2l0
aFZhbHVlKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFi
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJEYXRhYmFzZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcs
NyBAQCBJREJEYXRhYmFzZTo6SURCRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uCiB7CiAgICAgLy8g
V2UgcGFzcyBhIHJlZmVyZW5jZSBvZiB0aGlzIG9iamVjdCBiZWZvcmUgaXQgY2FuIGJlIGFkb3B0
ZWQuCiAgICAgcmVsYXhBZG9wdGlvblJlcXVpcmVtZW50KCk7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBJREJEYXRhYmFzZTo6fklEQkRhdGFiYXNlKCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0
b3J5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsNyBAQCBJREJGYWN0b3J5OjpJREJG
YWN0b3J5KElEQkZhY3RvcnlCYWNrZW5kCiB7CiAgICAgLy8gV2UgcGFzcyBhIHJlZmVyZW5jZSB0
byB0aGlzIG9iamVjdCBiZWZvcmUgaXQgY2FuIGJlIGFkb3B0ZWQuCiAgICAgcmVsYXhBZG9wdGlv
blJlcXVpcmVtZW50KCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJ
REJGYWN0b3J5Ojp+SURCRmFjdG9yeSgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJJbmRleC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCSW5kZXguY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDYgKzUwLDcgQEAgSURCSW5kZXg6OklEQkluZGV4KGNvbnN0IElEQkluZGV4TWV0YWRhdAogICAg
IEFTU0VSVChtX29iamVjdFN0b3JlKTsKICAgICBBU1NFUlQobV90cmFuc2FjdGlvbik7CiAgICAg
QVNTRVJUKG1fbWV0YWRhdGEuaWQgIT0gSURCSW5kZXhNZXRhZGF0YTo6SW52YWxpZElkKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElEQkluZGV4Ojp+SURCSW5kZXgo
KQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVJh
bmdlLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCS2V5UmFuZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIElE
QktleVJhbmdlOjpJREJLZXlSYW5nZShQYXNzUmVmUHRyPElEQksKICAgICAsIG1fbG93ZXJUeXBl
KGxvd2VyVHlwZSkKICAgICAsIG1fdXBwZXJUeXBlKHVwcGVyVHlwZSkKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFNjcmlwdFZhbHVlIElEQktleVJhbmdlOjpsb3dl
clZhbHVlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIGNvbnN0CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJPYmplY3RTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDcgQEAgSURCT2Jq
ZWN0U3RvcmU6OklEQk9iamVjdFN0b3JlKGNvbnN0IElEQgogICAgIEFTU0VSVChtX3RyYW5zYWN0
aW9uKTsKICAgICAvLyBXZSBwYXNzIGEgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0IGJlZm9yZSBp
dCBjYW4gYmUgYWRvcHRlZC4KICAgICByZWxheEFkb3B0aW9uUmVxdWlyZW1lbnQoKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlz
dD4gSURCT2JqZWN0U3RvcmU6OmluZGV4TmFtZXMoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9w
ZW5EQlJlcXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw3IEBAIElEQk9wZW5E
QlJlcXVlc3Q6OklEQk9wZW5EQlJlcXVlc3QoU2NyaXAKICAgICAsIG1fdmVyc2lvbih2ZXJzaW9u
KQogewogICAgIEFTU0VSVCghbV9yZXN1bHQpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogSURCT3BlbkRCUmVxdWVzdDo6fklEQk9wZW5EQlJlcXVlc3QoKQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJl
cXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4Niw3IEBAIElEQlJlcXVlc3Q6OklE
QlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ28KICAgICAsIG1fcHJldmVudFByb3BhZ2F0aW9uKGZh
bHNlKQogICAgICwgbV9yZXF1ZXN0U3RhdGUoY29udGV4dCkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIElEQlJlcXVlc3Q6On5JREJSZXF1ZXN0KCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDYgKzEwMiw3IEBAIElE
QlRyYW5zYWN0aW9uOjpJREJUcmFuc2FjdGlvbihTY3JpcHRFeGUKICAgICAsIG1fY29udGV4dFN0
b3BwZWQoZmFsc2UpCiAgICAgLCBtX3ByZXZpb3VzTWV0YWRhdGEocHJldmlvdXNNZXRhZGF0YSkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKG1vZGUgPT0gSW5k
ZXhlZERCOjpUcmFuc2FjdGlvblZlcnNpb25DaGFuZ2UpIHsKICAgICAgICAgLy8gTm90IGFjdGl2
ZSB1bnRpbCB0aGUgY2FsbGJhY2suCiAgICAgICAgIG1fc3RhdGUgPSBJbmFjdGl2ZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVmVy
c2lvbkNoYW5nZUV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDMsNiArNDMsNyBAQCBJREJWZXJzaW9uQ2hhbmdlRXZlbnQ6OklEQlZlcnNpb25DaGFu
Z2VFCiAgICAgLCBtX29sZFZlcnNpb24ob2xkVmVyc2lvbikKICAgICAsIG1fbmV3VmVyc2lvbihu
ZXdWZXJzaW9uKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURC
VmVyc2lvbkNoYW5nZUV2ZW50Ojp+SURCVmVyc2lvbkNoYW5nZUV2ZW50KCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1FdmVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUV2
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbUV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0
LDIxIEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1FdmVudD4gTWVkaWFTdHJlYW0KIAogTWVkaWFT
dHJlYW1FdmVudDo6TWVkaWFTdHJlYW1FdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBNZWRpYVN0cmVhbUV2ZW50OjpNZWRpYVN0cmVhbUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtKQogICAgIDogRXZlbnQodHlwZSwgY2FuQnViYmxl
LCBjYW5jZWxhYmxlKQogICAgICwgbV9zdHJlYW0oc3RyZWFtKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogTWVkaWFTdHJlYW1FdmVudDo6TWVkaWFTdHJlYW1FdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlhU3RyZWFtRXZlbnRJbml0JiBp
bml0aWFsaXplcikKICAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQogICAgICwgbV9zdHJl
YW0oaW5pdGlhbGl6ZXIuc3RyZWFtKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKIH0KIAogTWVkaWFTdHJlYW1FdmVudDo6fk1lZGlhU3RyZWFtRXZlbnQoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrRXZlbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFja0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrRXZlbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NSwxMiArNDUsMTQgQEAgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrRXZlbnQ+
IE1lZGlhUwogCiBNZWRpYVN0cmVhbVRyYWNrRXZlbnQ6Ok1lZGlhU3RyZWFtVHJhY2tFdmVudCgp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBNZWRpYVN0cmVhbVRy
YWNrRXZlbnQ6Ok1lZGlhU3RyZWFtVHJhY2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1U
cmFjaz4gdHJhY2spCiAgICAgOiBFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpCiAg
ICAgLCBtX3RyYWNrKHRyYWNrKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogTWVkaWFTdHJlYW1UcmFja0V2ZW50Ojp+TWVkaWFTdHJlYW1UcmFja0V2ZW50KCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlRvbmVDaGFuZ2VF
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GVG9uZUNoYW5nZUV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GVG9uZUNoYW5nZUV2ZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTAsMTggKzUwLDIxIEBAIFBhc3NSZWZQdHI8UlRDRFRNRlRvbmVD
aGFuZ2VFdmVudD4gUlRDRFQKIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6UlRDRFRNRlRvbmVD
aGFuZ2VFdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBS
VENEVE1GVG9uZUNoYW5nZUV2ZW50OjpSVENEVE1GVG9uZUNoYW5nZUV2ZW50KGNvbnN0IFN0cmlu
ZyYgdG9uZSkKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS50b25lY2hhbmdlRXZlbnQsIGZhbHNl
LCBmYWxzZSkKICAgICAsIG1fdG9uZSh0b25lKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKIH0KIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6UlRDRFRNRlRvbmVDaGFuZ2VF
dmVudChjb25zdCBSVENEVE1GVG9uZUNoYW5nZUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAg
OiBFdmVudChldmVudE5hbWVzKCkudG9uZWNoYW5nZUV2ZW50LCBpbml0aWFsaXplcikKICAgICAs
IG1fdG9uZShpbml0aWFsaXplci50b25lKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6flJUQ0RUTUZUb25lQ2hhbmdlRXZl
bnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hh
bm5lbEV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NSwxMiArNDUsMTQgQEAgUGFzc1JlZlB0cjxSVENEYXRhQ2hhbm5l
bEV2ZW50PiBSVENEYXRhQwogCiBSVENEYXRhQ2hhbm5lbEV2ZW50OjpSVENEYXRhQ2hhbm5lbEV2
ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFJUQ0RhdGFD
aGFubmVsRXZlbnQ6OlJUQ0RhdGFDaGFubmVsRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPFJUQ0RhdGFDaGFu
bmVsPiBjaGFubmVsKQogICAgIDogRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKQog
ICAgICwgbV9jaGFubmVsKGNoYW5uZWwpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBSVENEYXRhQ2hhbm5lbEV2ZW50Ojp+UlRDRGF0YUNoYW5uZWxFdmVudCgpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ1LDEyICs0NSwxNCBAQCBQYXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZUV2
ZW50PiBSVENJY2VDCiAKIFJUQ0ljZUNhbmRpZGF0ZUV2ZW50OjpSVENJY2VDYW5kaWRhdGVFdmVu
dCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBSVENJY2VDYW5k
aWRhdGVFdmVudDo6UlRDSWNlQ2FuZGlkYXRlRXZlbnQoYm9vbCBjYW5CdWJibGUsIGJvb2wgY2Fu
Y2VsYWJsZSwgUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGU+IGNhbmRpZGF0ZSkKICAgICA6IEV2
ZW50KGV2ZW50TmFtZXMoKS5pY2VjYW5kaWRhdGVFdmVudCwgY2FuQnViYmxlLCBjYW5jZWxhYmxl
KQogICAgICwgbV9jYW5kaWRhdGUoY2FuZGlkYXRlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUlRDSWNlQ2FuZGlkYXRlRXZlbnQ6On5SVENJY2VDYW5kaWRhdGVF
dmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU2LDYgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiAjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpA
QCAtNjUsNiArNjYsNyBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihjb25zdCBLVVJMJiB1
CiAgICAgLCBtX3N0YXRlKElkbGUpCiAgICAgLCBtX25vdGlmaWNhdGlvbkNlbnRlcihwcm92aWRl
cikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKG1fbm90aWZp
Y2F0aW9uQ2VudGVyLT5jaGVja1Blcm1pc3Npb24oKSAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBl
cm1pc3Npb25BbGxvd2VkKSB7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICBy
ZXR1cm47CkBAIC04OCw2ICs5MCw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0
IFN0cmluZyYKICAgICAsIG1fc3RhdGUoSWRsZSkKICAgICAsIG1fbm90aWZpY2F0aW9uQ2VudGVy
KHByb3ZpZGVyKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBpZiAo
bV9ub3RpZmljYXRpb25DZW50ZXItPmNoZWNrUGVybWlzc2lvbigpICE9IE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CiAg
ICAgICAgIHJldHVybjsKQEAgLTEwOSw4ICsxMTIsOSBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNh
dGlvbihTY3JpcHRFeGVjdXRpCiAgICAgLCBtX3N0YXRlKElkbGUpCiAgICAgLCBtX3Rhc2tUaW1l
cihhZG9wdFB0cihuZXcgVGltZXI8Tm90aWZpY2F0aW9uPih0aGlzLCAmTm90aWZpY2F0aW9uOjp0
YXNrVGltZXJGaXJlZCkpKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKKyAg
ICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihjb250ZXh0LT5pc0RvY3VtZW50KCkp
OwogICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gRE9NV2luZG93Tm90aWZpY2F0aW9uczo6d2Vi
a2l0Tm90aWZpY2F0aW9ucyh0b0RvY3VtZW50KGNvbnRleHQpLT5kb21XaW5kb3coKSk7Ci0gICAg
CiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7CiAgICAgbV90YXNr
VGltZXItPnN0YXJ0T25lU2hvdCgwKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25p
dGlvbkVycm9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsNyBAQCBTcGVlY2hSZWNv
Z25pdGlvbkVycm9yOjpTcGVlY2hSZWNvZ25pdGlvCiAgICAgLCBtX2Vycm9yKGVycm9yKQogICAg
ICwgbV9tZXNzYWdlKG1lc3NhZ2UpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBTcGVlY2hSZWNvZ25pdGlvbkVycm9yOjpTcGVlY2hSZWNvZ25pdGlvbkVycm9yKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lLCBjb25zdCBTcGVlY2hSZWNvZ25pdGlvbkVycm9y
SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC04NSw2ICs4Niw3IEBAIFNwZWVjaFJlY29nbml0aW9uRXJy
b3I6OlNwZWVjaFJlY29nbml0aW8KICAgICAsIG1fZXJyb3IoaW5pdGlhbGl6ZXIuZXJyb3IpCiAg
ICAgLCBtX21lc3NhZ2UoaW5pdGlhbGl6ZXIubWVzc2FnZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgU3BlZWNoUmVjb2duaXRp
b25FcnJvcjo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVj
b2duaXRpb25FdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAgU3BlZWNo
UmVjb2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpbwogICAgICwgbV9yZXN1bHRJbmRleChp
bml0aWFsaXplci5yZXN1bHRJbmRleCkKICAgICAsIG1fcmVzdWx0cyhpbml0aWFsaXplci5yZXN1
bHRzKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3BlZWNoUmVj
b2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50TmFtZSwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hS
ZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdHMpCkBAIC04NCwxMCArODUsMTIgQEAgU3BlZWNo
UmVjb2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpbwogICAgICwgbV9yZXN1bHRJbmRleChy
ZXN1bHRJbmRleCkKICAgICAsIG1fcmVzdWx0cyhyZXN1bHRzKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3BlZWNoUmVjb2duaXRpb25FdmVudDo6flNwZWVjaFJl
Y29nbml0aW9uRXZlbnQoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
cGVlY2gvU3BlZWNoU3ludGhlc2lzRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzRXZl
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIFBhc3NSZWZQdHI8U3BlZWNo
U3ludGhlc2lzRXZlbnQ+IFNwZWVjaFMKIAogU3BlZWNoU3ludGhlc2lzRXZlbnQ6OlNwZWVjaFN5
bnRoZXNpc0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFNwZWVjaFN5bnRoZXNpc0V2ZW50OjpTcGVlY2hTeW50aGVzaXNFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIHVuc2lnbmVkIGxvbmcgY2hhckluZGV4LCBmbG9hdCBlbGFwc2VkVGltZSwg
Y29uc3QgU3RyaW5nJiBuYW1lKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZl
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIFBhc3NSZWZQdHI8QXVkaW9Q
cm9jZXNzaW5nRXZlbnQ+IEF1ZGlvUHIKIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJv
Y2Vzc2luZ0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1
ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVm
ZmVyKQpAQCAtNTIsNiArNTMsNyBAQCBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNz
aW5nRXZlCiAgICAgLCBtX2lucHV0QnVmZmVyKGlucHV0QnVmZmVyKQogICAgICwgbV9vdXRwdXRC
dWZmZXIob3V0cHV0QnVmZmVyKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6On5BdWRpb1Byb2Nlc3NpbmdFdmVudCgpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25F
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9P
ZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDEzICs0NSwxNCBAQCBQYXNzUmVmUHRyPE9mZmxpbmVB
dWRpb0NvbXBsZXRpb25FdmVudD4gCiAKIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudDo6T2Zm
bGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKLQogT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50OjpPZmZsaW5lQXVkaW9D
b21wbGV0aW9uRXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gcmVuZGVyZWRCdWZmZXIpCiAg
ICAgOiBFdmVudChldmVudE5hbWVzKCkuY29tcGxldGVFdmVudCwgdHJ1ZSwgZmFsc2UpCiAgICAg
LCBtX3JlbmRlcmVkQnVmZmVyKHJlbmRlcmVkQnVmZmVyKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Ojp+T2ZmbGlu
ZUF1ZGlvQ29tcGxldGlvbkV2ZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9DbG9zZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NzgsNiArNzgsNyBAQCBwcml2YXRlOgogICAgICAgICAsIG1fd2FzQ2xlYW4oZmFsc2UpCiAgICAg
ICAgICwgbV9jb2RlKDApCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgfQogCiAgICAgQ2xvc2VFdmVudChib29sIHdhc0NsZWFuLCBpbnQgY29kZSwgY29u
c3QgU3RyaW5nJiByZWFzb24pCkBAIC04Niw2ICs4Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgICwg
bV9jb2RlKGNvZGUpCiAgICAgICAgICwgbV9yZWFzb24ocmVhc29uKQogICAgIHsKKyAgICAgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIENsb3NlRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBDbG9zZUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIp
CkBAIC05NCw2ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgICAgICwgbV9jb2RlKGluaXRpYWxpemVy
LmNvZGUpCiAgICAgICAgICwgbV9yZWFzb24oaW5pdGlhbGl6ZXIucmVhc29uKQogICAgIHsKKyAg
ICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIGJvb2wgbV93
YXNDbGVhbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJs
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBw
YWJsZS5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRXcmFwcGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTAgQEAgcHVibGlj
OgogICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3dyYXBwZXIsICJ3cmFwcGVyIik7CiAgICAgfQog
CisgICAgLy8gTm8tb3AgbWV0aG9kcyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFY4IFNjcmlwdFdy
YXBwYWJsZXMuCisgICAgc3RhdGljIHZvaWQgaW5pdCh2b2lkKikgeyB9CisgICAgc3RhdGljIHZv
aWQgaW5pdEN1c3RvbSh2b2lkKikgeyB9CisKIHByaXZhdGU6CiAgICAgSlNDOjpXZWFrPEpTRE9N
V3JhcHBlcj4gbV93cmFwcGVyOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyArNjYsNyBAQCBw
dWJsaWM6CiAgICAgICAgIC8vIHdheSBpcyB0byBjaGVjayB3aGV0aGVyIHRoZSB3cmFwcGFibGUn
cyB3cmFwcGVyIGlzIHRoZSBzYW1lIGFzCiAgICAgICAgIC8vIHRoZSBob2xkZXIuCiAgICAgICAg
IGlmICgoIURPTVdyYXBwZXJXb3JsZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpICYmICFjYW5FeGlz
dEluV29ya2VyKG9iamVjdCkpIHx8IGhvbGRlckNvbnRhaW5zV3JhcHBlcihjb250YWluZXIsIGhv
bGRlcikpIHsKLSAgICAgICAgICAgIGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVj
dChvYmplY3QpKQorICAgICAgICAgICAgaWYgKFNjcmlwdFdyYXBwYWJsZTo6d3JhcHBlckNhbkJl
U3RvcmVkSW5PYmplY3Qob2JqZWN0KSkKICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0V3JhcHBl
ckZyb21PYmplY3Qob2JqZWN0KTsKICAgICAgICAgICAgIHJldHVybiBtYWluV29ybGRTdG9yZSgp
LT5tX3dyYXBwZXJNYXAuZ2V0KG9iamVjdCk7CiAgICAgICAgIH0KQEAgLTc2LDcgKzc2LDcgQEAg
cHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gZ2V0V3JhcHBlcihUKiBvYmplY3QsIHY4OjpJc29sYXRlKiBpc29sYXRlKQog
ICAgIHsKLSAgICAgICAgaWYgKG1haW5Xb3JsZFdyYXBwZXJJc1N0b3JlZEluT2JqZWN0KG9iamVj
dCkgJiYgIWNhbkV4aXN0SW5Xb3JrZXIob2JqZWN0KSkgeworICAgICAgICBpZiAoU2NyaXB0V3Jh
cHBhYmxlOjp3cmFwcGVyQ2FuQmVTdG9yZWRJbk9iamVjdChvYmplY3QpICYmICFjYW5FeGlzdElu
V29ya2VyKG9iamVjdCkpIHsKICAgICAgICAgICAgIGlmIChMSUtFTFkoIURPTVdyYXBwZXJXb3Js
ZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0V3Jh
cHBlckZyb21PYmplY3Qob2JqZWN0KTsKICAgICAgICAgfQpAQCAtODYsNyArODYsNyBAQCBwdWJs
aWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiBnZXRXcmFwcGVyRm9yTWFpbldvcmxkKFQqIG9iamVjdCkKICAgICB7Ci0gICAgICAg
IGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVjdChvYmplY3QpKQorICAgICAgICBp
ZiAoU2NyaXB0V3JhcHBhYmxlOjp3cmFwcGVyQ2FuQmVTdG9yZWRJbk9iamVjdChvYmplY3QpKQog
ICAgICAgICAgICAgcmV0dXJuIGdldFdyYXBwZXJGcm9tT2JqZWN0KG9iamVjdCk7CiAgICAgICAg
IHJldHVybiBtYWluV29ybGRTdG9yZSgpLT5nZXQob2JqZWN0KTsKICAgICB9CkBAIC05NCw3ICs5
NCw3IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIHN0YXRpYyB2b2lk
IHNldFdyYXBwZXIoVCogb2JqZWN0LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIsIHY4
OjpJc29sYXRlKiBpc29sYXRlLCBjb25zdCBXcmFwcGVyQ29uZmlndXJhdGlvbiYgY29uZmlndXJh
dGlvbikKICAgICB7Ci0gICAgICAgIGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVj
dChvYmplY3QpICYmICFjYW5FeGlzdEluV29ya2VyKG9iamVjdCkpIHsKKyAgICAgICAgaWYgKFNj
cmlwdFdyYXBwYWJsZTo6d3JhcHBlckNhbkJlU3RvcmVkSW5PYmplY3Qob2JqZWN0KSAmJiAhY2Fu
RXhpc3RJbldvcmtlcihvYmplY3QpKSB7CiAgICAgICAgICAgICBpZiAoTElLRUxZKCFET01XcmFw
cGVyV29ybGQ6Omlzb2xhdGVkV29ybGRzRXhpc3QoKSkpIHsKICAgICAgICAgICAgICAgICBzZXRX
cmFwcGVySW5PYmplY3Qob2JqZWN0LCB3cmFwcGVyLCBpc29sYXRlLCBjb25maWd1cmF0aW9uKTsK
ICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljOgogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
Z2V0KFQqIG9iamVjdCkKICAgICB7Ci0gICAgICAgIGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9y
ZWRJbk9iamVjdChvYmplY3QpICYmIG1fdHlwZSA9PSBNYWluV29ybGQpCisgICAgICAgIGlmIChT
Y3JpcHRXcmFwcGFibGU6OndyYXBwZXJDYW5CZVN0b3JlZEluT2JqZWN0KG9iamVjdCkgJiYgbV90
eXBlID09IE1haW5Xb3JsZCkKICAgICAgICAgICAgIHJldHVybiBnZXRXcmFwcGVyRnJvbU9iamVj
dChvYmplY3QpOwogICAgICAgICByZXR1cm4gbV93cmFwcGVyTWFwLmdldChvYmplY3QpOwogICAg
IH0KQEAgLTExOSw3ICsxMTksNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgQVNTRVJUKCEh
b2JqZWN0KTsKICAgICAgICAgQVNTRVJUKCF3cmFwcGVyLklzRW1wdHkoKSk7Ci0gICAgICAgIGlm
IChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVjdChvYmplY3QpICYmIG1fdHlwZSA9PSBN
YWluV29ybGQpIHsKKyAgICAgICAgaWYgKFNjcmlwdFdyYXBwYWJsZTo6d3JhcHBlckNhbkJlU3Rv
cmVkSW5PYmplY3Qob2JqZWN0KSAmJiBtX3R5cGUgPT0gTWFpbldvcmxkKSB7CiAgICAgICAgICAg
ICBzZXRXcmFwcGVySW5PYmplY3Qob2JqZWN0LCB3cmFwcGVyLCBpc29sYXRlLCBjb25maWd1cmF0
aW9uKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTI4LDkgKzEyOCw2IEBA
IHByaXZhdGU6CiAKICAgICBzdGF0aWMgRE9NRGF0YVN0b3JlKiBtYWluV29ybGRTdG9yZSgpOwog
Ci0gICAgc3RhdGljIGJvb2wgbWFpbldvcmxkV3JhcHBlcklzU3RvcmVkSW5PYmplY3Qodm9pZCop
IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgc3RhdGljIGJvb2wgbWFpbldvcmxkV3JhcHBlcklzU3Rv
cmVkSW5PYmplY3QoU2NyaXB0V3JhcHBhYmxlKikgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgc3Rh
dGljIGJvb2wgY2FuRXhpc3RJbldvcmtlcih2b2lkKikgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHN0
YXRpYyBib29sIGNhbkV4aXN0SW5Xb3JrZXIoTm9kZSopIHsgcmV0dXJuIGZhbHNlOyB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFdyYXBwYWJsZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFdyYXBwYWJsZS5oCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRXcmFwcGFi
bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTQsNyArMTQsNyBAQAogICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCkBAIC0zOSw0NiArMzksMTIxIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Ny
aXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBTY3JpcHRXcmFwcGFibGUoKSB7IH0KKyAgICBT
Y3JpcHRXcmFwcGFibGUoKSA6IG1fbWFza2VkU3RvcmFnZSgwKSB7IH0KKworICAgIH5TY3JpcHRX
cmFwcGFibGUoKQorICAgIHsKKyAgICAgICAgbV9tYXNrZWRTdG9yYWdlID0gMDsgLy8gQnJlYWsg
VUFGIGF0dGVtcHRzIHRvIHdyYXAuCisgICAgfQogCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3cmFwcGVyKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+KG1hc2tPclVubWFza1BvaW50ZXIoKm1fbWFza2VkV3JhcHBlcikpOworICAgICAgICB2
ODo6T2JqZWN0KiBvYmplY3QgPSBjb250YWluc1dyYXBwZXIoKSA/IHJlaW50ZXJwcmV0X2Nhc3Q8
djg6Ok9iamVjdCo+KG1hc2tPclVubWFza1ZhbHVlKG1fbWFza2VkU3RvcmFnZSkpIDogMDsKKyAg
ICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4ob2JqZWN0KTsKICAgICB9CiAKICAg
ICB2b2lkIHNldFdyYXBwZXIodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSwgY29uc3QgV3JhcHBlckNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
CiAgICAgewotICAgICAgICBBU1NFUlQobV9tYXNrZWRXcmFwcGVyLklzRW1wdHkoKSk7CisgICAg
ICAgIEFTU0VSVCghY29udGFpbnNXcmFwcGVyKCkpOwogICAgICAgICB2ODo6UGVyc2lzdGVudDx2
ODo6T2JqZWN0PiBwZXJzaXN0ZW50ID0gdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhp
c29sYXRlLCB3cmFwcGVyKTsKICAgICAgICAgY29uZmlndXJhdGlvbi5jb25maWd1cmVXcmFwcGVy
KHBlcnNpc3RlbnQsIGlzb2xhdGUpOwogICAgICAgICBwZXJzaXN0ZW50Lk1ha2VXZWFrKGlzb2xh
dGUsIHRoaXMsIHdlYWtDYWxsYmFjayk7Ci0gICAgICAgIG1fbWFza2VkV3JhcHBlciA9IG1hc2tP
clVubWFza1BvaW50ZXIoKnBlcnNpc3RlbnQpOworICAgICAgICBtX21hc2tlZFN0b3JhZ2UgPSBt
YXNrT3JVbm1hc2tWYWx1ZShyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oKnBlcnNpc3RlbnQp
KTsKKyAgICB9CisKKyAgICBjb25zdCBXcmFwcGVyVHlwZUluZm8qIHR5cGVJbmZvKCkKKyAgICB7
CisgICAgICAgIGlmIChjb250YWluc1R5cGVJbmZvKCkpCisgICAgICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBXcmFwcGVyVHlwZUluZm8qPihtX21hc2tlZFN0b3JhZ2UgJiB+
MSk7CisKKyAgICAgICAgaWYgKGNvbnRhaW5zV3JhcHBlcigpKQorICAgICAgICAgICAgcmV0dXJu
IHRvV3JhcHBlclR5cGVJbmZvKHdyYXBwZXIoKSk7CisKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgdm9pZCBzZXRUeXBlSW5mbyhjb25zdCBXcmFwcGVyVHlwZUluZm8qIGluZm8pCisg
ICAgeworICAgICAgICBtX21hc2tlZFN0b3JhZ2UgPSAocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KGluZm8pIHwgMSk7CiAgICAgfQogCiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpET00pOwotICAgICAgICBpbmZvLmlnbm9yZU1lbWJlcihtX21hc2tlZFdyYXBwZXIpOwor
ICAgICAgICBpbmZvLmlnbm9yZU1lbWJlcihtX21hc2tlZFN0b3JhZ2UpOworICAgIH0KKworICAg
IHN0YXRpYyBib29sIHdyYXBwZXJDYW5CZVN0b3JlZEluT2JqZWN0KGNvbnN0IHZvaWQqKSB7IHJl
dHVybiBmYWxzZTsgfQorICAgIHN0YXRpYyBib29sIHdyYXBwZXJDYW5CZVN0b3JlZEluT2JqZWN0
KGNvbnN0IFNjcmlwdFdyYXBwYWJsZSopIHsgcmV0dXJuIHRydWU7IH0KKworICAgIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGdldFdyYXBwZXJGcm9tT2JqZWN0KHZvaWQqKQorICAgIHsK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+KCk7CisgICAgfQorCisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gZ2V0V3JhcHBlckZyb21PYmplY3QoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QpCisgICAgewor
ICAgICAgICByZXR1cm4gb2JqZWN0LT53cmFwcGVyKCk7CisgICAgfQorCisgICAgc3RhdGljIHZv
aWQgc2V0V3JhcHBlckluT2JqZWN0KHZvaWQqLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+LCB2ODo6
SXNvbGF0ZSosIGNvbnN0IFdyYXBwZXJDb25maWd1cmF0aW9uJikKKyAgICB7CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHNldFdyYXBwZXJJ
bk9iamVjdChTY3JpcHRXcmFwcGFibGUqIG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3
cmFwcGVyLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgY29uc3QgV3JhcHBlckNvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCisgICAgeworICAgICAgICBvYmplY3QtPnNldFdyYXBwZXIod3JhcHBl
ciwgaXNvbGF0ZSwgY29uZmlndXJhdGlvbik7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0IFdy
YXBwZXJUeXBlSW5mbyogZ2V0VHlwZUluZm9Gcm9tT2JqZWN0KHZvaWQqIG9iamVjdCkKKyAgICB7
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisKKyAgICBzdGF0aWMgY29uc3QgV3JhcHBlclR5cGVJbmZvKiBnZXRUeXBlSW5mb0Zyb21PYmpl
Y3QoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gb2JqZWN0
LT50eXBlSW5mbygpOwogICAgIH0KIAorICAgIHN0YXRpYyB2b2lkIHNldFR5cGVJbmZvSW5PYmpl
Y3Qodm9pZCogb2JqZWN0LCBjb25zdCBXcmFwcGVyVHlwZUluZm8qIGluZm8pCisgICAgeworICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBzZXRU
eXBlSW5mb0luT2JqZWN0KFNjcmlwdFdyYXBwYWJsZSogb2JqZWN0LCBjb25zdCBXcmFwcGVyVHlw
ZUluZm8qIGluZm8pCisgICAgeworICAgICAgICBvYmplY3QtPnNldFR5cGVJbmZvKGluZm8pOwor
ICAgIH0KKworICAgIC8vIFdyYXBwYWJsZXMgbmVlZCB0byBiZSBpbml0aWFsaXplZCB3aXRoIHRo
ZWlyIG1vc3QgZGVycml2ZWQgd3JhcHBlZCB0eXBlCisgICAgLy8gaW4gbXVjaCB0aGUgc2FtZSB3
YXkgdGhhdCBjZXJ0YWluIG90aGVyIHR5cGVzIG5lZWQgdG8gYmUgYWRvcHRlZCBhbmQKKyAgICAv
LyBzbyBmb3J0aC4gVGhlIHRlbXBsYXRlZCBJbml0KCkgbWV0aG9kcyBhcmUgaW5zdGFudGlhdGVk
IGluIHRoZSBnZW5lcmF0ZWQKKyAgICAvLyBWOCBiaW5kaW5ncyBjb2RlLiBUaGUgY3VzdG9tIGlu
aXQgbWV0aG9kIGlzIHByb3ZpZGVkIGJ5IHRoZSBjdXN0b20gZWxlbWVudAorICAgIC8vIGNvbnN0
cnVjdG9yJ3MgY3VzdG9tIGNvZGUuIFRoZSBKU0MgY29kZSB3aWxsIG1haW50YWluIGNvbXBhdGli
aWxpdHkgdmlhCisgICAgLy8gbm8tb3AgKHZvaWQqKSBtZXRob2RzIGhlcmUuCisgICAgLy8gRklY
TUU6IGltcGxlbWVudCB0aGVzZSBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD5zdGF0aWMgdm9pZCBpbml0KFQqIG9iamVjdCkgeyB9CisgICAgc3RhdGlj
IHZvaWQgaW5pdEN1c3RvbShTY3JpcHRXcmFwcGFibGUqIG9iamVjdCkgeyB9CisKIHByaXZhdGU6
Ci0gICAgaW5saW5lIHZvaWQgZGlzcG9zZVdyYXBwZXIodjg6OlBlcnNpc3RlbnQ8djg6OlZhbHVl
PiB2YWx1ZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCisgICAgc3RhdGljIGlubGluZSB1aW50cHRy
X3QgbWFza09yVW5tYXNrVmFsdWUodWludHB0cl90IHZhbHVlKQogICAgIHsKLSAgICAgICAgQVNT
RVJUKCFtX21hc2tlZFdyYXBwZXIuSXNFbXB0eSgpKTsKLSAgICAgICAgQVNTRVJUKCp2YWx1ZSA9
PSBtYXNrT3JVbm1hc2tQb2ludGVyKCptX21hc2tlZFdyYXBwZXIpKTsKLSAgICAgICAgdmFsdWUu
RGlzcG9zZShpc29sYXRlKTsKLSAgICAgICAgbV9tYXNrZWRXcmFwcGVyLkNsZWFyKCk7CisgICAg
ICAgIGNvbnN0IHVpbnRwdHJfdCByYW5kb21NYXNrID0gfigocmVpbnRlcnByZXRfY2FzdDx1aW50
cHRyX3Q+KCZXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSkgPj4gMTMpIHwgMSk7IC8vIEVudHJvcHkg
dmlhIEFTTFIsIGJvdHRvbSBiaXQgY2xlYXIuCisgICAgICAgIHJldHVybiAodmFsdWUgXiByYW5k
b21NYXNrKSAmICghdmFsdWUgLSAxKTsgLy8gUHJlc2VydmUgbnVsbCB3aXRob3V0IGJyYW5jaGlu
Zy4KICAgICB9CiAKLSAgICAvLyBTdG9yZXMgYSBtYXNrZWQgd3JhcHBlciB0byBwcmV2ZW50IGF0
dGFja2VycyBmcm9tIG92ZXJ3cml0aW5nIHRoaXMgZmllbGQKLSAgICAvLyB3aXRoIGEgcGhvbnkg
d3JhcHBlci4KLSAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX21hc2tlZFdyYXBwZXI7
CisgICAgaW5saW5lIGJvb2wgY29udGFpbnNUeXBlSW5mbygpIGNvbnN0IHsgcmV0dXJuIChtX21h
c2tlZFN0b3JhZ2UgJiAxKSA9PSAxOyB9CisgICAgaW5saW5lIGJvb2wgY29udGFpbnNXcmFwcGVy
KCkgY29uc3QgeyByZXR1cm4gbV9tYXNrZWRTdG9yYWdlICYmICFjb250YWluc1R5cGVJbmZvKCk7
IH0KIAotICAgIHN0YXRpYyBpbmxpbmUgdjg6Ok9iamVjdCogbWFza09yVW5tYXNrUG9pbnRlcihj
b25zdCB2ODo6T2JqZWN0KiBvYmplY3QpCisgICAgaW5saW5lIHZvaWQgZGlzcG9zZVdyYXBwZXIo
djg6OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiB2YWx1ZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUsIGNv
bnN0IFdyYXBwZXJUeXBlSW5mbyogaW5mbykKICAgICB7Ci0gICAgICAgIGNvbnN0IHVpbnRwdHJf
dCBvYmplY3RQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdCk7Ci0g
ICAgICAgIGNvbnN0IHVpbnRwdHJfdCByYW5kb21NYXNrID0gfihyZWludGVycHJldF9jYXN0PHVp
bnRwdHJfdD4oJldlYkNvcmVNZW1vcnlUeXBlczo6RE9NKSA+PiAxMyk7IC8vIEVudHJvcHkgdmlh
IEFTTFIuCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHY4OjpPYmplY3QqPigob2Jq
ZWN0UG9pbnRlciBeIHJhbmRvbU1hc2spICYgKCFvYmplY3RQb2ludGVyIC0gMSkpOyAvLyBQcmVz
ZXJ2ZSBudWxsIHdpdGhvdXQgYnJhbmNoaW5nLgorICAgICAgICBBU1NFUlQoY29udGFpbnNXcmFw
cGVyKCkpOworICAgICAgICBBU1NFUlQocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KCp2YWx1
ZSkgPT0gbWFza09yVW5tYXNrVmFsdWUobV9tYXNrZWRTdG9yYWdlKSk7CisgICAgICAgIHZhbHVl
LkRpc3Bvc2UoaXNvbGF0ZSk7CisgICAgICAgIHNldFR5cGVJbmZvKGluZm8pOwogICAgIH0KIAog
ICAgIHN0YXRpYyB2b2lkIHdlYWtDYWxsYmFjayh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgdjg6OlBl
cnNpc3RlbnQ8djg6OlZhbHVlPiB2YWx1ZSwgdm9pZCogY29udGV4dCkKQEAgLTkzLDEyICsxNjgs
MTkgQEAgcHJpdmF0ZToKICAgICAgICAgV3JhcHBlclR5cGVJbmZvKiBpbmZvID0gdG9XcmFwcGVy
VHlwZUluZm8od3JhcHBlcik7CiAgICAgICAgIEFTU0VSVChpbmZvLT5kZXJlZk9iamVjdEZ1bmN0
aW9uKTsKIAotICAgICAgICBrZXktPmRpc3Bvc2VXcmFwcGVyKHZhbHVlLCBpc29sYXRlKTsKKyAg
ICAgICAga2V5LT5kaXNwb3NlV3JhcHBlcih2YWx1ZSwgaXNvbGF0ZSwgaW5mbyk7CiAgICAgICAg
IC8vIEZJWE1FOiBJIG5vdGljZWQgdGhhdCA1MCV+IG9mIG1pbm9yIEdDIGN5Y2xlIHRpbWVzIGNh
biBiZSBjb25zdW1lZAogICAgICAgICAvLyBpbnNpZGUga2V5LT5kZXJlZigpLCB3aGljaCBjYXVz
ZXMgTm9kZSBkZXN0cnVjdGlvbnMuIFdlIHNob3VsZAogICAgICAgICAvLyBtYWtlIE5vZGUgZGVz
dHJ1Y3Rpb25zIGluY3JlbWVudGFsLgogICAgICAgICBpbmZvLT5kZXJlZk9iamVjdChvYmplY3Qp
OwogICAgIH0KKworICAgIC8vIElmIHplcm8sIHRoZW4gdGhpcyBjb250YWlucyBub3RoaW5nLCBv
dGhlcndpc2U6CisgICAgLy8gICBJZiB0aGUgYm90dG9tIGJpdCBpdCBjbGVhciwgdGhlbiB0aGlz
IGNvbnRhaW5zIGEgbWFza2VkIHBvaW50ZXIgdG8gYSB3cmFwcGVyIG9iamVjdC4KKyAgICAvLyAg
IElmIHRoZSBib3R0b20gYml0IGlzIHNldCwgdGhlbiB0aGlzIGNvbnRhaW5zIGEgcG9pbnRlciB0
byB0aGUgd3JhcHBlciB0eXBlIGluZm8gaW4gdGhlIHJlbWFpbmluZyBiaXRzLgorICAgIC8vIE1h
c2tpbmcgd3JhcHBlcnMgcHJldmVudHMgYXR0YWNrZXJzIGZyb20gb3ZlcndyaXRpbmcgdGhpcyBm
aWVsZCB3aXRoIHBvaW50ZXJzIHRvIHNwcmF5ZWQgZGF0YS4KKyAgICAvLyBQb2ludGVycyBpbnNp
ZGUgV3JhcHBlciBUeXBlIEluZm8gYXJlIGFscmVhZHkgcHJvdGVjdGVkIGJ5IEFTTFIuCisgICAg
dWludHB0cl90IG1fbWFza2VkU3RvcmFnZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZUxvYWRFdmVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlTG9hZEV2ZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlTG9hZEV2ZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIENTU0ZvbnRGYWNlTG9hZEV2ZW50OjpDU1NGb250RmFjZUxvYWRFdmVudCgpCiB7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBDU1NGb250RmFjZUxvYWRFdmVudDo6
Q1NTRm9udEZhY2VMb2FkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBQYXNzUmVmUHRy
PENTU0ZvbnRGYWNlUnVsZT4gZm9udGZhY2UsIFBhc3NSZWZQdHI8RE9NRXJyb3I+IGVycm9yKQpA
QCAtNDQsNiArNDUsNyBAQCBDU1NGb250RmFjZUxvYWRFdmVudDo6Q1NTRm9udEZhY2VMb2FkRXZl
CiAgICAgLCBtX2ZvbnRmYWNlKGZvbnRmYWNlKQogICAgICwgbV9lcnJvcihlcnJvcikKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIENTU0ZvbnRGYWNlTG9hZEV2ZW50
OjpDU1NGb250RmFjZUxvYWRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IENT
U0ZvbnRGYWNlTG9hZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC01MSw2ICs1Myw3IEBAIENT
U0ZvbnRGYWNlTG9hZEV2ZW50OjpDU1NGb250RmFjZUxvYWRFdmUKICAgICAsIG1fZm9udGZhY2Uo
aW5pdGlhbGl6ZXIuZm9udGZhY2UpCiAgICAgLCBtX2Vycm9yKGluaXRpYWxpemVyLmVycm9yKQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ1NTRm9udEZhY2VMb2Fk
RXZlbnQ6On5DU1NGb250RmFjZUxvYWRFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VSdWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2VSdWxlLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAgQ1NT
Rm9udEZhY2VSdWxlOjpDU1NGb250RmFjZVJ1bGUoU3R5bGVSdQogICAgIDogQ1NTUnVsZShwYXJl
bnQpCiAgICAgLCBtX2ZvbnRGYWNlUnVsZShmb250RmFjZVJ1bGUpCiB7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBDU1NGb250RmFjZVJ1bGU6On5DU1NGb250RmFjZVJ1
bGUoKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5oCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCA9IDA7CiAKIHBy
b3RlY3RlZDoKLSAgICBDU1NTdHlsZURlY2xhcmF0aW9uKCkgeyB9CisgICAgQ1NTU3R5bGVEZWNs
YXJhdGlvbigpCisgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7Cisg
ICAgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU01hdHJpeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU01hdHJpeC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NNYXRyaXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMCArMzksMTIg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV2ViS2l0Q1NTTWF0cml4OjpXZWJLaXRDU1NNYXRyaXgo
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG0pCiAgICAgOiBtX21hdHJpeChtKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogV2ViS2l0Q1NTTWF0cml4OjpXZWJL
aXRDU1NNYXRyaXgoY29uc3QgU3RyaW5nJiBzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgc2V0TWF0cml4VmFsdWUocywgZWMpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0F0dHIuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vQXR0ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAgQXR0cjo6
QXR0cihFbGVtZW50KiBlbGVtZW50LCBjb25zdCBRdWFsaQogICAgICwgbV9pbkNoaWxkcmVuQ2hh
bmdlZChmYWxzZSkKICAgICAsIG1fc3BlY2lmaWVkKHRydWUpCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBBdHRyOjpBdHRyKERvY3VtZW50KiBkb2N1bWVudCwgY29u
c3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFsb25lVmFs
dWUpCkBAIC01Nyw2ICs1OCw3IEBAIEF0dHI6OkF0dHIoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25z
dCBRdWEKICAgICAsIG1faW5DaGlsZHJlbkNoYW5nZWQoZmFsc2UpCiAgICAgLCBtX3NwZWNpZmll
ZCh0cnVlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1Jl
ZlB0cjxBdHRyPiBBdHRyOjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVk
TmFtZSYgbmFtZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0ZUVycm9y
RXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21w
bGV0ZUVycm9yRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTggKzYwLDIxIEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgpCiAgICAgeworICAgICAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgfQogCiAgICAgQXV0b2NvbXBsZXRl
RXJyb3JFdmVudChjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICAgICAgOiBFdmVudChldmVudE5h
bWVzKCkuYXV0b2NvbXBsZXRlZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKQogICAgICAgICAsIG1f
cmVhc29uKHJlYXNvbikKICAgICB7CisgICAgICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKICAgICB9CiAKICAgICBBdXRvY29tcGxldGVFcnJvckV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBjb25zdCBBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6
ZXIpCiAgICAgICAgIDogRXZlbnQoZXZlbnRUeXBlLCBpbml0aWFsaXplcikKICAgICAgICAgLCBt
X3JlYXNvbihpbml0aWFsaXplci5yZWFzb24pCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiAgICAgfQogCiAgICAgU3RyaW5nIG1fcmVhc29uOwpJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9CZWZvcmVMb2FkRXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCwxOCAr
NjQsMjEgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBCZWZvcmVMb2FkRXZlbnQoKQogICAgIHsK
KyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIGV4cGxp
Y2l0IEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHVybCkKICAgICAgICAgOiBFdmVudChl
dmVudE5hbWVzKCkuYmVmb3JlbG9hZEV2ZW50LCBmYWxzZSwgdHJ1ZSkKICAgICAgICAgLCBtX3Vy
bCh1cmwpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAg
fQogCiAgICAgQmVmb3JlTG9hZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3Qg
QmVmb3JlTG9hZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgICAgIDogRXZlbnQodHlwZSwg
aW5pdGlhbGl6ZXIpCiAgICAgICAgICwgbV91cmwoaW5pdGlhbGl6ZXIudXJsKQogICAgIHsKKyAg
ICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIFN0cmluZyBt
X3VybDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ0RBVEFTZWN0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjksNiArMjksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBpbmxpbmUgQ0RBVEFTZWN0
aW9uOjpDREFUQVNlY3Rpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGRhdGEp
CiAgICAgOiBUZXh0KGRvY3VtZW50LCBkYXRhLCBDcmVhdGVUZXh0KQogeworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxDREFUQVNlY3Rpb24+IENEQVRB
U2VjdGlvbjo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBkYXRhKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSw2
ICs1NSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgLCBtX2RhdGEoIXRleHQuaXNOdWxsKCkgPyB0
ZXh0IDogZW1wdHlTdHJpbmcoKSkKICAgICB7CiAgICAgICAgIEFTU0VSVCh0eXBlID09IENyZWF0
ZU90aGVyIHx8IHR5cGUgPT0gQ3JlYXRlVGV4dCB8fCB0eXBlID09IENyZWF0ZUVkaXRpbmdUZXh0
KTsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIHZv
aWQgc2V0RGF0YVdpdGhvdXRVcGRhdGUoY29uc3QgU3RyaW5nJiBkYXRhKQpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0NsaWVudFJlY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9DbGllbnRSZWN0LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0NsaWVudFJlY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxNiArMzEsMTkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBDbGllbnRSZWN0OjpDbGllbnRSZWN0KCkKIHsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIENsaWVudFJlY3Q6OkNsaWVudFJlY3QoY29u
c3QgSW50UmVjdCYgcmVjdCkKICAgICA6IG1fcmVjdChyZWN0KQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ2xpZW50UmVjdDo6Q2xpZW50UmVjdChjb25zdCBGbG9h
dFJlY3QmIHJlY3QpCiAgICAgOiBtX3JlY3QocmVjdCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9Db21tZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
Q29tbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db21t
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBpbmxpbmUgQ29tbWVudDo6Q29tbWVudChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgdGV4dCkKICAgICA6IENoYXJhY3RlckRhdGEoZG9jdW1lbnQsIHRleHQsIENyZWF0ZU90
aGVyKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxDb21tZW50PiBDb21tZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJp
bmcmIHRleHQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDE4ICszNywyMSBAQCBDb21wb3NpdGlvbkV2ZW50SW5p
dDo6Q29tcG9zaXRpb25FdmVudEluCiAKIENvbXBvc2l0aW9uRXZlbnQ6OkNvbXBvc2l0aW9uRXZl
bnQoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ29tcG9zaXRp
b25FdmVudDo6Q29tcG9zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFBhc3NS
ZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEpCiAgICAgOiBVSUV2
ZW50KHR5cGUsIHRydWUsIHRydWUsIHZpZXcsIDApCiAgICAgLCBtX2RhdGEoZGF0YSkKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIENvbXBvc2l0aW9uRXZlbnQ6OkNv
bXBvc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBDb21wb3NpdGlv
bkV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgOiBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVy
KQogICAgICwgbV9kYXRhKGluaXRpYWxpemVyLmRhdGEpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBDb21wb3NpdGlvbkV2ZW50Ojp+Q29tcG9zaXRpb25FdmVudCgp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9y
LmlkbAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1l
bnRDb25zdHJ1Y3Rvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICAgICBD
b25kaXRpb25hbD1DVVNUT01fRUxFTUVOVFMsCiAgICAgVjhFbmFibGVkQXRSdW50aW1lPWN1c3Rv
bURPTUVsZW1lbnRzLAogICAgIFY4V3JhcEFzRnVuY3Rpb24sCisgICAgVjhTa2lwVlRhYmxlVmFs
aWRhdGlvbiwKICAgICBDdXN0b21DYWxsCiBdIGludGVyZmFjZSBDdXN0b21FbGVtZW50Q29uc3Ry
dWN0b3IgewogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzYsMTIgKzM2LDE0IEBAIEN1c3RvbUV2ZW50SW5pdDo6Q3VzdG9tRXZlbnRJbml0
KCkKIAogQ3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIEN1c3RvbUV2ZW50OjpDdXN0b21FdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGNvbnN0IEN1c3RvbUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgOiBF
dmVudCh0eXBlLCBpbml0aWFsaXplcikKICAgICAsIG1fZGV0YWlsKGluaXRpYWxpemVyLmRldGFp
bCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEN1c3RvbUV2ZW50
Ojp+Q3VzdG9tRXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRp
b24uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzYsNiArMjM2LDcgQEAgc3RhdGljIGJv
b2wgaXNFdmVudHMzRmVhdHVyZShjb25zdCBTdHJpbgogRE9NSW1wbGVtZW50YXRpb246OkRPTUlt
cGxlbWVudGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1l
bnQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBib29sIERPTUlt
cGxlbWVudGF0aW9uOjpoYXNGZWF0dXJlKGNvbnN0IFN0cmluZyYgZmVhdHVyZSwgY29uc3QgU3Ry
aW5nJiB2ZXJzaW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NSw2ICs1NSw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBET01TdHJpbmdN
YXAoKQogICAgIHsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0K
IH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTIgKzM4LDE0IEBAIERldmljZU1vdGlvbkV2ZW50Ojp+
RGV2aWNlTW90aW9uRXZlbnQoKQogRGV2aWNlTW90aW9uRXZlbnQ6OkRldmljZU1vdGlvbkV2ZW50
KCkKICAgICA6IG1fZGV2aWNlTW90aW9uRGF0YShEZXZpY2VNb3Rpb25EYXRhOjpjcmVhdGUoKSkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIERldmljZU1vdGlvbkV2
ZW50OjpEZXZpY2VNb3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2
aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSkKICAgICA6IEV2ZW50KGV2ZW50VHlwZSwg
ZmFsc2UsIGZhbHNlKSAvLyBDYW4ndCBidWJibGUsIG5vdCBjYW5jZWxhYmxlCiAgICAgLCBtX2Rl
dmljZU1vdGlvbkRhdGEoZGV2aWNlTW90aW9uRGF0YSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIHZvaWQgRGV2aWNlTW90aW9uRXZlbnQ6OmluaXREZXZpY2VNb3Rp
b25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5j
ZWxhYmxlLCBEZXZpY2VNb3Rpb25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKQpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCwxMiArMzgsMTQgQEAgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6
fkRldmljZU9yaWVudGF0aQogRGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNlT3JpZW50YXRp
b25FdmVudCgpCiAgICAgOiBtX29yaWVudGF0aW9uKERldmljZU9yaWVudGF0aW9uRGF0YTo6Y3Jl
YXRlKCkpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBEZXZpY2VP
cmllbnRhdGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBEZXZpY2VPcmllbnRhdGlvbkRhdGEqIG9yaWVudGF0aW9uKQogICAgIDog
RXZlbnQoZXZlbnRUeXBlLCBmYWxzZSwgZmFsc2UpIC8vIENhbid0IGJ1YmJsZSwgbm90IGNhbmNl
bGFibGUKICAgICAsIG1fb3JpZW50YXRpb24ob3JpZW50YXRpb24pCiB7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiB2b2lkIERldmljZU9yaWVudGF0aW9uRXZlbnQ6Omlu
aXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBi
dWJibGVzLCBib29sIGNhbmNlbGFibGUsIERldmljZU9yaWVudGF0aW9uRGF0YSogb3JpZW50YXRp
b24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5OCw2ICs0
OTgsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLCiAjZW5kaWYK
ICAgICAsIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXIodGhpcywgJkRvY3VtZW50Ojpk
aWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lckZpcmVkKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKICAgICBtX3ByaW50aW5nID0gZmFsc2U7CiAgICAgbV9wYWdpbmF0ZWRG
b3JTY3JlZW4gPSBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjYxLDYgKzE2NjEsNyBAQCBpbmxpbmUgTm9kZTo6Tm9kZShEb2N1bWVudCogZG9jdW1lbnQs
IENvCiAgICAgLCBtX3ByZXZpb3VzKDApCiAgICAgLCBtX25leHQoMCkKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKCFtX3RyZWVTY29wZSkKICAgICAgICAgbV90
cmVlU2NvcGUgPSBUcmVlU2NvcGU6Om5vRG9jdW1lbnRJbnN0YW5jZSgpOwogICAgIG1fdHJlZVNj
b3BlLT5ndWFyZFJlZigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJh
Z21lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIERvY3VtZW50RnJhZ21lbnQ6OkRvY3VtZW50RnJhZ21lbnQoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBDb25zdHJ1Y3Rpb25UeXBlIGNvbnN0cnVjdGlvblR5cGUpCiAgICAgOiBDb250YWluZXJO
b2RlKGRvY3VtZW50LCBjb25zdHJ1Y3Rpb25UeXBlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBEb2N1bWVudEZy
YWdtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50VHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50VHlwZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIERvY3VtZW50
VHlwZTo6RG9jdW1lbnRUeXBlKERvY3VtZW50KiBkb2MKICAgICAsIG1fcHVibGljSWQocHVibGlj
SWQpCiAgICAgLCBtX3N5c3RlbUlkKHN5c3RlbUlkKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogS1VSTCBEb2N1bWVudFR5cGU6OmJhc2VVUkkoKSBjb25zdApJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02MjEsNiArNjIxLDcgQEAgcHJvdGVjdGVk
OgogICAgICAgICA6IENvbnRhaW5lck5vZGUoZG9jdW1lbnQsIHR5cGUpCiAgICAgICAgICwgbV90
YWdOYW1lKHRhZ05hbWUpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgfQogCiAgICAgdmlydHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGlu
c2VydGVkSW50byhDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRW50aXR5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VudGl0eS5o
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTM1LDcgKzM1LDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgbm90YXRpb25O
YW1lKCkgY29uc3QgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIFN0cmluZygpOyB9CiAK
IHByaXZhdGU6Ci0gICAgRW50aXR5KCkgOiBDb250YWluZXJOb2RlKDApIHt9CisgICAgRW50aXR5
KCkgOiBDb250YWluZXJOb2RlKDApCisgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CisgICAgfQogfTsKIAogfSAvL25hbWVzcGFjZQpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0VudGl0eVJlZmVyZW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL0VudGl0eVJlZmVyZW5jZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9FbnRpdHlSZWZlcmVuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3
IEBAIGlubGluZSBFbnRpdHlSZWZlcmVuY2U6OkVudGl0eVJlZmVyZW5jZSgKICAgICA6IENvbnRh
aW5lck5vZGUoZG9jdW1lbnQpCiAgICAgLCBtX2VudGl0eU5hbWUoZW50aXR5TmFtZSkKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8RW50aXR5UmVm
ZXJlbmNlPiBFbnRpdHlSZWZlcmVuY2U6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0
IFN0cmluZyYgZW50aXR5TmFtZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBFcnJvckV2ZW50SW5pdDo6RXJyb3JFdmVudElu
aXQoKQogCiBFcnJvckV2ZW50OjpFcnJvckV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIEVycm9yRXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBjb25zdCBFcnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC01Miw2ICs1
Myw3IEBAIEVycm9yRXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgQXRvbWljU3RyaW4KICAgICAsIG1f
ZmlsZU5hbWUoaW5pdGlhbGl6ZXIuZmlsZW5hbWUpCiAgICAgLCBtX2xpbmVOdW1iZXIoaW5pdGlh
bGl6ZXIubGluZW5vKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
RXJyb3JFdmVudDo6RXJyb3JFdmVudChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgZmlsZU5hbWUsIHVuc2lnbmVkIGxpbmVOdW1iZXIpCkBAIC02MCw2ICs2Miw3IEBAIEVycm9y
RXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiBtZXMKICAgICAsIG1fZmlsZU5hbWUoZmls
ZU5hbWUpCiAgICAgLCBtX2xpbmVOdW1iZXIobGluZU51bWJlcikKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEVycm9yRXZlbnQ6On5FcnJvckV2ZW50KCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBFdmVudDo6RXZlbnQo
KQogICAgICwgbV9jdXJyZW50VGFyZ2V0KDApCiAgICAgLCBtX2NyZWF0ZVRpbWUoY29udmVydFNl
Y29uZHNUb0RPTVRpbWVTdGFtcChjdXJyZW50VGltZSgpKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIEV2ZW50OjpFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSwgYm9vbCBjYW5CdWJibGVBcmcsIGJvb2wgY2FuY2VsYWJsZUFyZykKQEAgLTY3LDYg
KzY4LDcgQEAgRXZlbnQ6OkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeQogICAgICwg
bV9jdXJyZW50VGFyZ2V0KDApCiAgICAgLCBtX2NyZWF0ZVRpbWUoY29udmVydFNlY29uZHNUb0RP
TVRpbWVTdGFtcChjdXJyZW50VGltZSgpKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIEV2ZW50OjpFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
Y29uc3QgRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTgyLDYgKzg0LDcgQEAgRXZlbnQ6OkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeQogICAgICwgbV9jdXJyZW50VGFyZ2V0KDAp
CiAgICAgLCBtX2NyZWF0ZVRpbWUoY29udmVydFNlY29uZHNUb0RPTVRpbWVTdGFtcChjdXJyZW50
VGltZSgpKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEV2ZW50
Ojp+RXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MSwxOCArNTEsMjEgQEAgYm9vbCBGb2N1c0V2ZW50Ojppc0ZvY3VzRXZlbnQoKSBjb25z
dAogCiBGb2N1c0V2ZW50OjpGb2N1c0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIEZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3Ry
YWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRl
ZFRhcmdldCkKICAgICA6IFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3
LCBkZXRhaWwpCiAgICAgLCBtX3JlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKIHsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBGb2N1c0V2ZW50SW5pdCYgaW5pdGlhbGl6
ZXIpCiAgICAgOiBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQogICAgICwgbV9yZWxhdGVkVGFy
Z2V0KGluaXRpYWxpemVyLnJlbGF0ZWRUYXJnZXQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBG
b2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4g
Zm9jdXNFdmVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmgJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEhhc2hD
aGFuZ2VFdmVudCgpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAgICAgfQogCiAgICAgSGFzaENoYW5nZUV2ZW50KGNvbnN0IFN0cmluZyYgb2xkVVJMLCBjb25z
dCBTdHJpbmcmIG5ld1VSTCkKQEAgLTc4LDYgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgLCBt
X29sZFVSTChvbGRVUkwpCiAgICAgICAgICwgbV9uZXdVUkwobmV3VVJMKQogICAgIHsKKyAgICAg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIEhhc2hDaGFuZ2VF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEhhc2hDaGFuZ2VFdmVudEluaXQm
IGluaXRpYWxpemVyKQpAQCAtODUsNiArODcsNyBAQCBwcml2YXRlOgogICAgICAgICAsIG1fb2xk
VVJMKGluaXRpYWxpemVyLm9sZFVSTCkKICAgICAgICAgLCBtX25ld1VSTChpbml0aWFsaXplci5u
ZXdVUkwpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAg
fQogCiAgICAgU3RyaW5nIG1fb2xkVVJMOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0tleWJv
YXJkRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJk
RXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNiArMTA1LDcgQEAgS2V5Ym9hcmRFdmVu
dDo6S2V5Ym9hcmRFdmVudCgpCiAgICAgOiBtX2tleUxvY2F0aW9uKERPTUtleUxvY2F0aW9uU3Rh
bmRhcmQpCiAgICAgLCBtX2FsdEdyYXBoS2V5KGZhbHNlKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9hcmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBQ
bGF0Zm9ybUtleWJvYXJkRXZlbnQmIGtleSwgQWJzdHJhY3RWaWV3KiB2aWV3KQpAQCAtMTE1LDYg
KzExNiw3IEBAIEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgUGxhdGYKICAgICAs
IG1fa2V5TG9jYXRpb24oa2V5TG9jYXRpb25Db2RlKGtleSkpCiAgICAgLCBtX2FsdEdyYXBoS2V5
KGZhbHNlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9h
cmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29u
c3QgS2V5Ym9hcmRFdmVudEluaXQmIGluaXRpYWxpemVyKQpAQCAtMTIzLDYgKzEyNSw3IEBAIEtl
eWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgQXRvbWkKICAgICAsIG1fa2V5TG9jYXRp
b24oaW5pdGlhbGl6ZXIua2V5TG9jYXRpb24pCiAgICAgLCBtX2FsdEdyYXBoS2V5KGZhbHNlKQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9hcmRFdmVudDo6
S2V5Ym9hcmRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3ICp2aWV3LApAQCAtMTMzLDYgKzEzNiw3
IEBAIEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgQXRvbWkKICAgICAsIG1fa2V5
TG9jYXRpb24oa2V5TG9jYXRpb24pCiAgICAgLCBtX2FsdEdyYXBoS2V5KGFsdEdyYXBoS2V5KQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9hcmRFdmVudDo6
fktleWJvYXJkRXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIE1lc3NhZ2VFdmVudEluaXQ6Ok1lc3NhZ2VF
dmVudEluaXQoKQogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoKQogICAgIDogbV9kYXRhVHlw
ZShEYXRhVHlwZVNjcmlwdFZhbHVlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKIH0KIAogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBjb25zdCBNZXNzYWdlRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTUxLDYgKzUyLDcg
QEAgTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljUwogICAgICwgbV9zb3Vy
Y2UoaW5pdGlhbGl6ZXIuc291cmNlKQogICAgICwgbV9wb3J0cyhhZG9wdFB0cihuZXcgTWVzc2Fn
ZVBvcnRBcnJheShpbml0aWFsaXplci5wb3J0cykpKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgU2NyaXB0
VmFsdWUmIGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGxhc3RFdmVu
dElkLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gc291cmNlLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0
QXJyYXk+IHBvcnRzKQpAQCAtNjIsNiArNjQsNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVu
dChjb25zdCBTY3JpcHRWCiAgICAgLCBtX3NvdXJjZShzb3VyY2UpCiAgICAgLCBtX3BvcnRzKHBv
cnRzKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogTWVzc2FnZUV2
ZW50OjpNZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEs
IGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGxhc3RFdmVudElkLCBQYXNzUmVm
UHRyPERPTVdpbmRvdz4gc291cmNlLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+IHBvcnRz
KQpAQCAtNzcsNiArODAsNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChQYXNzUmVmUHRy
PFNlCiAgICAgaWYgKG1fZGF0YUFzU2VyaWFsaXplZFNjcmlwdFZhbHVlKQogICAgICAgICBtX2Rh
dGFBc1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS0+cmVnaXN0ZXJNZW1vcnlBbGxvY2F0ZWRXaXRoQ3Vy
cmVudFNjcmlwdENvbnRleHQoKTsKICNlbmRpZgorICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgU3RyaW5nJiBkYXRh
LCBjb25zdCBTdHJpbmcmIG9yaWdpbikKQEAgLTg2LDYgKzkwLDcgQEAgTWVzc2FnZUV2ZW50OjpN
ZXNzYWdlRXZlbnQoY29uc3QgU3RyaW5nJgogICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgICwg
bV9sYXN0RXZlbnRJZCgiIikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE1lc3NhZ2VFdmVudDo6TWVzc2FnZUV2ZW50KFBhc3NSZWZQdHI8QmxvYj4gZGF0YSwgY29u
c3QgU3RyaW5nJiBvcmlnaW4pCkBAIC05NSw2ICsxMDAsNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3Nh
Z2VFdmVudChQYXNzUmVmUHRyPEJsCiAgICAgLCBtX29yaWdpbihvcmlnaW4pCiAgICAgLCBtX2xh
c3RFdmVudElkKCIiKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
TWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gZGF0YSwg
Y29uc3QgU3RyaW5nJiBvcmlnaW4pCkBAIC0xMDQsNiArMTEwLDcgQEAgTWVzc2FnZUV2ZW50OjpN
ZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxBcgogICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgICwg
bV9sYXN0RXZlbnRJZCgiIikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE1lc3NhZ2VFdmVudDo6fk1lc3NhZ2VFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vTW91c2VFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw2ICsxMDUsNyBAQCBNb3VzZUV2ZW50OjpN
b3VzZUV2ZW50KCkKICAgICA6IG1fYnV0dG9uKDApCiAgICAgLCBtX2J1dHRvbkRvd24oZmFsc2Up
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBNb3VzZUV2ZW50OjpN
b3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwg
Ym9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywKQEAgLTEyNiw2
ICsxMjcsNyBAQCBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluCiAgICAg
LCBtX3JlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKICAgICAsIG1fY2xpcGJvYXJkKGNsaXBi
b2FyZCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIE1vdXNlRXZl
bnQ6Ok1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IE1vdXNl
RXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTE0MCw2ICsxNDIsNyBAQCBNb3VzZUV2ZW50OjpN
b3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluCiAgICAgLCBtX3JlbGF0ZWRUYXJnZXQoaW5pdGlh
bGl6ZXIucmVsYXRlZFRhcmdldCkKICAgICAsIG1fY2xpcGJvYXJkKDAgLyogY2xpcGJvYXJkICov
KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBpbml0Q29vcmRpbmF0
ZXMoSW50UG9pbnQoaW5pdGlhbGl6ZXIuY2xpZW50WCwgaW5pdGlhbGl6ZXIuY2xpZW50WSkpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDYgKzMwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTXV0YXRpb25FdmVudDo6
TXV0YXRpb25FdmVudCgpCiAgICAgOiBtX2F0dHJDaGFuZ2UoMCkKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIE11dGF0aW9uRXZlbnQ6Ok11dGF0aW9uRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQ
YXNzUmVmUHRyPE5vZGU+IHJlbGF0ZWROb2RlLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05h
bWVkTm9kZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVN
YXAuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1h
cC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgewogICAg
ICAgICAvLyBPbmx5IHN1cHBvcnRzIE5hbWVkTm9kZU1hcHMgd2l0aCBFbGVtZW50IGFzc29jaWF0
ZWQsIERvY3VtZW50VHlwZS5lbnRpdGllcyBhbmQgRG9jdW1lbnRUeXBlLm5vdGF0aW9ucyBhcmUg
bm90IHN1cHBvcnRlZCB5ZXQuCiAgICAgICAgIEFTU0VSVChtX2VsZW1lbnQpOworICAgICAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgfQogCiAgICAgRWxlbWVudCogbV9lbGVt
ZW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw2ICs3OSw3IEBAIE5vZGVJdGVyYXRvcjo6Tm9kZUl0ZXJhdG9yKFBhc3NSZWZQdHI8
Tm8KIHsKICAgICAvLyBEb2N1bWVudCB0eXBlIG5vZGVzIG1heSBoYXZlIGEgbnVsbCBkb2N1bWVu
dC4gQnV0IHNpbmNlIHRoZXkgY2FuJ3QgaGF2ZSBjaGlsZHJlbiwgdGhlcmUgaXMgbm8gbmVlZCB0
byBsaXN0ZW4gZm9yIG1vZGlmaWNhdGlvbnMgdG8gdGhlc2UuCiAgICAgQVNTRVJUKHJvb3QoKS0+
ZG9jdW1lbnQoKSB8fCByb290KCktPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfVFlQRV9O
T0RFKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKERvY3VtZW50
KiBvd25lckRvY3VtZW50ID0gcm9vdCgpLT5kb2N1bWVudCgpKQogICAgICAgICBvd25lckRvY3Vt
ZW50LT5hdHRhY2hOb2RlSXRlcmF0b3IodGhpcyk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vTm9kZUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxpc3Qu
aAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vZGVMaXN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICAvLyBPdGhlciBtZXRob2RzIChub3QgcGFydCBvZiBET00pCiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0xpdmVOb2RlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBwcm90
ZWN0ZWQ6CisgICAgICAgIE5vZGVMaXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOworICAgICAgICB9CiAgICAgfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vdGF0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm90YXRpb24uY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm90YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MSw2ICszMSw3IEBAIE5vdGF0aW9uOjpOb3RhdGlvbihEb2N1bWVudCogZG9jdW1lbnQsIGMKICAg
ICAsIG1fcHVibGljSWQocHVibGljSWQpCiAgICAgLCBtX3N5c3RlbUlkKHN5c3RlbUlkKQogewor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3RyaW5nIE5vdGF0aW9uOjpu
b2RlTmFtZSgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgT3ZlcmZsb3dFdmVudDo6T3ZlcmZsb3dF
dmVudCgpCiAgICAgLCBtX2hvcml6b250YWxPdmVyZmxvdyhmYWxzZSkKICAgICAsIG1fdmVydGlj
YWxPdmVyZmxvdyhmYWxzZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE92ZXJmbG93RXZlbnQ6Ok92ZXJmbG93RXZlbnQoYm9vbCBob3Jpem9udGFsT3ZlcmZsb3dD
aGFuZ2VkLCBib29sIGhvcml6b250YWxPdmVyZmxvdywgYm9vbCB2ZXJ0aWNhbE92ZXJmbG93Q2hh
bmdlZCwgYm9vbCB2ZXJ0aWNhbE92ZXJmbG93KQpAQCAtNTEsNiArNTIsNyBAQCBPdmVyZmxvd0V2
ZW50OjpPdmVyZmxvd0V2ZW50KGJvb2wgaG9yaXpvCiAgICAgLCBtX3ZlcnRpY2FsT3ZlcmZsb3co
dmVydGljYWxPdmVyZmxvdykKIHsKICAgICBBU1NFUlQoaG9yaXpvbnRhbE92ZXJmbG93Q2hhbmdl
ZCB8fCB2ZXJ0aWNhbE92ZXJmbG93Q2hhbmdlZCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogCiAgICAgaWYgKGhvcml6b250YWxPdmVyZmxvd0NoYW5nZWQgJiYgdmVydGljYWxP
dmVyZmxvd0NoYW5nZWQpCiAgICAgICAgIG1fb3JpZW50ID0gQk9USDsKQEAgLTY2LDYgKzY4LDcg
QEAgT3ZlcmZsb3dFdmVudDo6T3ZlcmZsb3dFdmVudChjb25zdCBBdG9taQogICAgICwgbV9ob3Jp
em9udGFsT3ZlcmZsb3coaW5pdGlhbGl6ZXIuaG9yaXpvbnRhbE92ZXJmbG93KQogICAgICwgbV92
ZXJ0aWNhbE92ZXJmbG93KGluaXRpYWxpemVyLnZlcnRpY2FsT3ZlcmZsb3cpCiB7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBjb25zdCBBdG9taWNTdHJpbmcmIE92ZXJm
bG93RXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9QYWdlVHJhbnNpdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwx
OCArMzgsMjEgQEAgUGFnZVRyYW5zaXRpb25FdmVudEluaXQ6OlBhZ2VUcmFuc2l0aW9uRQogUGFn
ZVRyYW5zaXRpb25FdmVudDo6UGFnZVRyYW5zaXRpb25FdmVudCgpCiAgICAgOiBtX3BlcnNpc3Rl
ZChmYWxzZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhZ2VU
cmFuc2l0aW9uRXZlbnQ6OlBhZ2VUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBib29sIHBlcnNpc3RlZCkKICAgICA6IEV2ZW50KHR5cGUsIHRydWUsIHRydWUpCiAgICAg
LCBtX3BlcnNpc3RlZChwZXJzaXN0ZWQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBQYWdlVHJhbnNpdGlvbkV2ZW50OjpQYWdlVHJhbnNpdGlvbkV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgUGFnZVRyYW5zaXRpb25FdmVudEluaXQmIGluaXRp
YWxpemVyKQogICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpCiAgICAgLCBtX3BlcnNpc3Rl
ZChpbml0aWFsaXplci5wZXJzaXN0ZWQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBQYWdlVHJhbnNpdGlvbkV2ZW50Ojp+UGFnZVRyYW5zaXRpb25FdmVudCgpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDcgQEAgUG9wU3RhdGVFdmVudDo6UG9wU3RhdGVFdmVudCgpCiAgICAgLCBtX3Nl
cmlhbGl6ZWRTdGF0ZSgwKQogICAgICwgbV9oaXN0b3J5KDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgUG9wU3RhdGVFdmVudEluaXQmIGluaXRpYWxpemVy
KQpAQCAtNTAsNiArNTEsNyBAQCBQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50KGNvbnN0IEF0
b21pCiAgICAgLCBtX3NlcmlhbGl6ZWRTdGF0ZSgwKQogICAgICwgbV9oaXN0b3J5KDApCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQb3BTdGF0ZUV2ZW50OjpQb3BT
dGF0ZUV2ZW50KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU3Rh
dGUsIFBhc3NSZWZQdHI8SGlzdG9yeT4gaGlzdG9yeSkKQEAgLTU3LDYgKzU5LDcgQEAgUG9wU3Rh
dGVFdmVudDo6UG9wU3RhdGVFdmVudChQYXNzUmVmUHRyPAogICAgICwgbV9zZXJpYWxpemVkU3Rh
dGUoc2VyaWFsaXplZFN0YXRlKQogICAgICwgbV9oaXN0b3J5KGhpc3RvcnkpCiB7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQb3BTdGF0ZUV2ZW50Ojp+UG9wU3RhdGVF
dmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9u
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAgaW5saW5lIFBy
b2Nlc3NpbmdJbnN0cnVjdGlvbjo6UHJvY2Vzc2luZwogICAgICwgbV9pc1hTTChmYWxzZSkKICNl
bmRpZgogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24+IFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0
YSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KCkKICAgICAs
IG1fbG9hZGVkKDApCiAgICAgLCBtX3RvdGFsKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgY29uc3QgUHJvZ3Jlc3NFdmVudEluaXQmIGluaXRpYWxpemVyKQpAQCAt
NTAsNiArNTEsNyBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pCiAg
ICAgLCBtX2xvYWRlZChpbml0aWFsaXplci5sb2FkZWQpCiAgICAgLCBtX3RvdGFsKGluaXRpYWxp
emVyLnRvdGFsKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUHJv
Z3Jlc3NFdmVudDo6UHJvZ3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wg
bGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQgbG9u
ZyBsb25nIHRvdGFsKQpAQCAtNTgsNiArNjAsNyBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2
ZW50KGNvbnN0IEF0b21pCiAgICAgLCBtX2xvYWRlZChsb2FkZWQpCiAgICAgLCBtX3RvdGFsKHRv
dGFsKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KICAgICAKIGNvbnN0
IEF0b21pY1N0cmluZyYgUHJvZ3Jlc3NFdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vUHJvcGVydHlOb2RlTGlzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1Byb3BlcnR5Tm9kZUxpc3QuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vUHJvcGVydHlOb2RlTGlzdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDYgKzQ3LDcgQEAgUHJvcGVydHlOb2RlTGlzdDo6UHJvcGVydHlOb2RlTGlzdChO
b2RlKgogICAgIDogTGl2ZU5vZGVMaXN0KHJvb3ROb2RlLCBQcm9wZXJ0eU5vZGVMaXN0VHlwZSwg
SW52YWxpZGF0ZU9uSXRlbUF0dHJDaGFuZ2UsIE5vZGVMaXN0SXNSb290ZWRBdERvY3VtZW50SWZP
d25lckhhc0l0ZW1yZWZBdHRyKQogICAgICwgbV9uYW1lKG5hbWUpCiB7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQcm9wZXJ0eU5vZGVMaXN0Ojp+UHJvcGVydHlOb2Rl
TGlzdCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTYzLDYgKzYzLDcgQEAgU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbgog
ICAgICwgbV9yZWdpc3RlcmVkV2l0aFBhcmVudFNoYWRvd1Jvb3QoZmFsc2UpCiB7CiAgICAgQVNT
RVJUKGRvY3VtZW50KTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAKICNpZiBQ
TEFURk9STShDSFJPTUlVTSkKICAgICBpZiAodHlwZSA9PSBTaGFkb3dSb290OjpBdXRob3JTaGFk
b3dSb290KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9UZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgcHJvdGVj
dGVkOgogICAgIFRleHQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGRhdGEsIENv
bnN0cnVjdGlvblR5cGUgdHlwZSkKICAgICAgICAgOiBDaGFyYWN0ZXJEYXRhKGRvY3VtZW50LCBk
YXRhLCB0eXBlKQogICAgIHsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
ICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjcsNiArNjcsNyBAQCBUZXh0RXZlbnQ6OlRleHRFdmVudCgpCiAgICAgLCBtX3No
b3VsZFNtYXJ0UmVwbGFjZShmYWxzZSkKICAgICAsIG1fc2hvdWxkTWF0Y2hTdHlsZShmYWxzZSkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFRleHRFdmVudDo6VGV4
dEV2ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEs
IFRleHRFdmVudElucHV0VHlwZSBpbnB1dFR5cGUpCkBAIC03Nyw2ICs3OCw3IEBAIFRleHRFdmVu
dDo6VGV4dEV2ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3QKICAgICAsIG1fc2hvdWxkU21hcnRSZXBs
YWNlKGZhbHNlKQogICAgICwgbV9zaG91bGRNYXRjaFN0eWxlKGZhbHNlKQogeworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVGV4dEV2ZW50OjpUZXh0RXZlbnQoUGFzc1Jl
ZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSwgUGFzc1JlZlB0cjxE
b2N1bWVudEZyYWdtZW50PiBwYXN0aW5nRnJhZ21lbnQsCkBAIC04OCw2ICs5MCw3IEBAIFRleHRF
dmVudDo6VGV4dEV2ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3QKICAgICAsIG1fc2hvdWxkU21hcnRS
ZXBsYWNlKHNob3VsZFNtYXJ0UmVwbGFjZSkKICAgICAsIG1fc2hvdWxkTWF0Y2hTdHlsZShzaG91
bGRNYXRjaFN0eWxlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
VGV4dEV2ZW50OjpUZXh0RXZlbnQoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0
IFN0cmluZyYgZGF0YSwgY29uc3QgVmVjdG9yPERpY3RhdGlvbkFsdGVybmF0aXZlPiYgZGljdGF0
aW9uQWx0ZXJuYXRpdmVzKQpAQCAtOTgsNiArMTAxLDcgQEAgVGV4dEV2ZW50OjpUZXh0RXZlbnQo
UGFzc1JlZlB0cjxBYnN0cmFjdAogICAgICwgbV9zaG91bGRNYXRjaFN0eWxlKGZhbHNlKQogICAg
ICwgbV9kaWN0YXRpb25BbHRlcm5hdGl2ZXMoZGljdGF0aW9uQWx0ZXJuYXRpdmVzKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVGV4dEV2ZW50Ojp+VGV4dEV2ZW50
KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hFdmVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzks
NiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFRvdWNoRXZlbnQ6OlRvdWNoRXZlbnQo
KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVG91Y2hFdmVudDo6
VG91Y2hFdmVudChUb3VjaExpc3QqIHRvdWNoZXMsIFRvdWNoTGlzdCogdGFyZ2V0VG91Y2hlcywK
QEAgLTU5LDYgKzYwLDcgQEAgVG91Y2hFdmVudDo6VG91Y2hFdmVudChUb3VjaExpc3QqIHRvdWNo
ZQogICAgICwgbV9kb3VibGVUYXAoZmFsc2UpCiAjZW5kaWYKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIFRvdWNoRXZlbnQ6On5Ub3VjaEV2ZW50KCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9UcmFuc2l0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9UcmFuc2l0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vVHJhbnNpdGlvbkV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzksNiArMzksNyBAQCBUcmFuc2l0aW9uRXZlbnRJbml0OjpUcmFuc2l0aW9uRXZlbnRJbml0CiBU
cmFuc2l0aW9uRXZlbnQ6OlRyYW5zaXRpb25FdmVudCgpCiAgICAgOiBtX2VsYXBzZWRUaW1lKDAp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBUcmFuc2l0aW9uRXZl
bnQ6OlRyYW5zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmlu
ZyYgcHJvcGVydHlOYW1lLCBkb3VibGUgZWxhcHNlZFRpbWUsIGNvbnN0IFN0cmluZyYgcHNldWRv
RWxlbWVudCkKQEAgLTQ3LDYgKzQ4LDcgQEAgVHJhbnNpdGlvbkV2ZW50OjpUcmFuc2l0aW9uRXZl
bnQoY29uc3QgQQogICAgICwgbV9lbGFwc2VkVGltZShlbGFwc2VkVGltZSkKICAgICAsIG1fcHNl
dWRvRWxlbWVudChwc2V1ZG9FbGVtZW50KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogVHJhbnNpdGlvbkV2ZW50OjpUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiB0eXBlLCBjb25zdCBUcmFuc2l0aW9uRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAg
LTU1LDYgKzU3LDcgQEAgVHJhbnNpdGlvbkV2ZW50OjpUcmFuc2l0aW9uRXZlbnQoY29uc3QgQQog
ICAgICwgbV9lbGFwc2VkVGltZShpbml0aWFsaXplci5lbGFwc2VkVGltZSkKICAgICAsIG1fcHNl
dWRvRWxlbWVudChpbml0aWFsaXplci5wc2V1ZG9FbGVtZW50KQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVHJhbnNpdGlvbkV2ZW50Ojp+VHJhbnNpdGlvbkV2ZW50
KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVdhbGtlci5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgs
NiArMzgsNyBAQCBUcmVlV2Fsa2VyOjpUcmVlV2Fsa2VyKFBhc3NSZWZQdHI8Tm9kZT4gCiAgICAg
OiBUcmF2ZXJzYWwocm9vdE5vZGUsIHdoYXRUb1Nob3csIGZpbHRlciwgZXhwYW5kRW50aXR5UmVm
ZXJlbmNlcykKICAgICAsIG1fY3VycmVudChyb290KCkpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiB2b2lkIFRyZWVXYWxrZXI6OnNldEN1cnJlbnROb2RlKFBhc3NS
ZWZQdHI8Tm9kZT4gbm9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vVUlFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1VJRXZl
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAgVUlFdmVudEluaXQ6OlVJRXZlbnRJ
bml0KCkKIFVJRXZlbnQ6OlVJRXZlbnQoKQogICAgIDogbV9kZXRhaWwoMCkKIHsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFVJRXZlbnQ6OlVJRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2FuQnViYmxlQXJnLCBib29sIGNhbmNlbGFibGVB
cmcsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3QXJnLCBpbnQgZGV0YWlsQXJnKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIFdlYktpdEFuaW1hdGlvbkV2ZW50SW5p
dDo6V2ViS2l0QW5pbWF0aW8KIFdlYktpdEFuaW1hdGlvbkV2ZW50OjpXZWJLaXRBbmltYXRpb25F
dmVudCgpCiAgICAgOiBtX2VsYXBzZWRUaW1lKDAuMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIFdlYktpdEFuaW1hdGlvbkV2ZW50OjpXZWJLaXRBbmltYXRpb25F
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFdlYktpdEFuaW1hdGlvbkV2ZW50
SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC00Niw2ICs0Nyw3IEBAIFdlYktpdEFuaW1hdGlvbkV2ZW50
OjpXZWJLaXRBbmltYXRpb25FdmUKICAgICAsIG1fYW5pbWF0aW9uTmFtZShpbml0aWFsaXplci5h
bmltYXRpb25OYW1lKQogICAgICwgbV9lbGFwc2VkVGltZShpbml0aWFsaXplci5lbGFwc2VkVGlt
ZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFdlYktpdEFuaW1h
dGlvbkV2ZW50OjpXZWJLaXRBbmltYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgZG91YmxlIGVsYXBzZWRUaW1lKQpAQCAtNTMs
NiArNTUsNyBAQCBXZWJLaXRBbmltYXRpb25FdmVudDo6V2ViS2l0QW5pbWF0aW9uRXZlCiAgICAg
LCBtX2FuaW1hdGlvbk5hbWUoYW5pbWF0aW9uTmFtZSkKICAgICAsIG1fZWxhcHNlZFRpbWUoZWxh
cHNlZFRpbWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBXZWJL
aXRBbmltYXRpb25FdmVudDo6fldlYktpdEFuaW1hdGlvbkV2ZW50KCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBXZWJLaXRUcmFuc2l0aW9uRXZlbnRJbml0OjpXZWJL
aXRUcmFuc2l0CiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQ6OldlYktpdFRyYW5zaXRpb25FdmVudCgp
CiAgICAgOiBtX2VsYXBzZWRUaW1lKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQ6OldlYktpdFRyYW5zaXRpb25FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBkb3Vi
bGUgZWxhcHNlZFRpbWUsIGNvbnN0IFN0cmluZyYgcHNldWRvRWxlbWVudCkKQEAgLTQ2LDYgKzQ3
LDcgQEAgV2ViS2l0VHJhbnNpdGlvbkV2ZW50OjpXZWJLaXRUcmFuc2l0aW9uRQogICAgICwgbV9l
bGFwc2VkVGltZShlbGFwc2VkVGltZSkKICAgICAsIG1fcHNldWRvRWxlbWVudChwc2V1ZG9FbGVt
ZW50KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogV2ViS2l0VHJh
bnNpdGlvbkV2ZW50OjpXZWJLaXRUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBjb25zdCBXZWJLaXRUcmFuc2l0aW9uRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTU0
LDYgKzU2LDcgQEAgV2ViS2l0VHJhbnNpdGlvbkV2ZW50OjpXZWJLaXRUcmFuc2l0aW9uRQogICAg
ICwgbV9lbGFwc2VkVGltZShpbml0aWFsaXplci5lbGFwc2VkVGltZSkKICAgICAsIG1fcHNldWRv
RWxlbWVudChpbml0aWFsaXplci5wc2V1ZG9FbGVtZW50KQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogV2ViS2l0VHJhbnNpdGlvbkV2ZW50Ojp+V2ViS2l0VHJhbnNp
dGlvbkV2ZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDMsNiArNDMsNyBAQCBXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KCkKICAgICA6IG1fZGVs
dGFNb2RlKERPTV9ERUxUQV9QSVhFTCkKICAgICAsIG1fZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2
aWNlKGZhbHNlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogV2hl
ZWxFdmVudDo6V2hlZWxFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFdoZWVs
RXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTUwLDcgKzUxLDcgQEAgV2hlZWxFdmVudDo6V2hl
ZWxFdmVudChjb25zdCBBdG9taWNTdHJpbgogICAgICwgbV93aGVlbERlbHRhKEludFBvaW50KGlu
aXRpYWxpemVyLndoZWVsRGVsdGFYLCBpbml0aWFsaXplci53aGVlbERlbHRhWSkpCiAgICAgLCBt
X2RlbHRhTW9kZShpbml0aWFsaXplci5kZWx0YU1vZGUpCiB7Ci19CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpO30KIAogV2hlZWxFdmVudDo6V2hlZWxFdmVudChjb25zdCBGbG9hdFBv
aW50JiB3aGVlbFRpY2tzLCBjb25zdCBGbG9hdFBvaW50JiByYXdEZWx0YSwgdW5zaWduZWQgZGVs
dGFNb2RlLAogICAgIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBJbnRQb2lu
dCYgc2NyZWVuTG9jYXRpb24sIGNvbnN0IEludFBvaW50JiBwYWdlTG9jYXRpb24sCkBAIC02Nyw2
ICs2OCw3IEBAIFdoZWVsRXZlbnQ6OldoZWVsRXZlbnQoY29uc3QgRmxvYXRQb2ludCYKICAgICAs
IG1fZGVsdGFNb2RlKGRlbHRhTW9kZSkKICAgICAsIG1fZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2
aWNlKGRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudDo6aW5pdFdoZWVsRXZlbnQoaW50IHJh
d0RlbHRhWCwgaW50IHJhd0RlbHRhWSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDcgQEAg
ZW51bSBTbGljZUhpc3RvZ3JhbUVudW0gewogQmxvYjo6QmxvYigpCiAgICAgOiBtX3NpemUoMCkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgT3duUHRyPEJsb2JEYXRh
PiBibG9iRGF0YSA9IEJsb2JEYXRhOjpjcmVhdGUoKTsKIAogICAgIC8vIENyZWF0ZSBhIG5ldyBp
bnRlcm5hbCBVUkwgYW5kIHJlZ2lzdGVyIGl0IHdpdGggdGhlIHByb3ZpZGVkIGJsb2IgZGF0YS4K
QEAgLTY2LDYgKzY3LDcgQEAgQmxvYjo6QmxvYihQYXNzT3duUHRyPEJsb2JEYXRhPiBibG9iRGF0
YQogICAgICwgbV9zaXplKHNpemUpCiB7CiAgICAgQVNTRVJUKGJsb2JEYXRhKTsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAKICAgICAvLyBDcmVhdGUgYSBuZXcgaW50ZXJuYWwg
VVJMIGFuZCByZWdpc3RlciBpdCB3aXRoIHRoZSBwcm92aWRlZCBibG9iIGRhdGEuCiAgICAgbV9p
bnRlcm5hbFVSTCA9IEJsb2JVUkw6OmNyZWF0ZUludGVybmFsVVJMKCk7CkBAIC03Niw2ICs3OCw4
IEBAIEJsb2I6OkJsb2IoY29uc3QgS1VSTCYgc3JjVVJMLCBjb25zdCBTdHIKICAgICA6IG1fdHlw
ZSh0eXBlKQogICAgICwgbV9zaXplKHNpemUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOworCiAgICAgLy8gQ3JlYXRlIGEgbmV3IGludGVybmFsIFVSTCBhbmQgcmVnaXN0ZXIg
aXQgd2l0aCB0aGUgc2FtZSBibG9iIGRhdGEgYXMgdGhlIHNvdXJjZSBVUkwuCiAgICAgbV9pbnRl
cm5hbFVSTCA9IEJsb2JVUkw6OmNyZWF0ZUludGVybmFsVVJMKCk7CiAgICAgVGhyZWFkYWJsZUJs
b2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKDAsIG1faW50ZXJuYWxVUkwsIHNyY1VSTCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw2ICsxMDQsNyBA
QCBGaWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgQ29udGVudFR5CiAgICAgLCBtX3NuYXBz
aG90TW9kaWZpY2F0aW9uVGltZShpbnZhbGlkRmlsZVRpbWUoKSkKICNlbmRpZgogeworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogRmlsZTo6RmlsZShjb25zdCBTdHJpbmcm
IHBhdGgsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0eXBlKQpAQCAtMTE0LDYgKzEx
NSw3IEBAIEZpbGU6OkZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBLVVIKICAgICAsIG1f
c25hcHNob3RNb2RpZmljYXRpb25UaW1lKGludmFsaWRGaWxlVGltZSgpKQogI2VuZGlmCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIG1fbmFtZSA9IHBhdGhHZXRGaWxl
TmFtZShwYXRoKTsKICAgICAvLyBGSVhNRTogRmlsZSBvYmplY3Qgc2VyaWFsaXphdGlvbi9kZXNl
cmlhbGl6YXRpb24gZG9lcyBub3QgaW5jbHVkZQogICAgIC8vIG5ld2VyIGZpbGUgb2JqZWN0IGRh
dGEgbWVtYmVyczogbV9uYW1lIGFuZCBtX3JlbGF0aXZlUGF0aC4KQEAgLTEyOSw2ICsxMzEsNyBA
QCBGaWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgU3RyCiAgICAgLCBtX3NuYXBz
aG90TW9kaWZpY2F0aW9uVGltZShpbnZhbGlkRmlsZVRpbWUoKSkKICNlbmRpZgogeworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkK
QEAgLTEzOSw2ICsxNDIsNyBAQCBGaWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
RmlsCiAgICAgLCBtX3NuYXBzaG90U2l6ZShtZXRhZGF0YS5sZW5ndGgpCiAgICAgLCBtX3NuYXBz
aG90TW9kaWZpY2F0aW9uVGltZShtZXRhZGF0YS5tb2RpZmljYXRpb25UaW1lKQogeworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogRmlsZTo6RmlsZShjb25zdCBLVVJMJiBm
aWxlU3lzdGVtVVJMLCBjb25zdCBGaWxlTWV0YWRhdGEmIG1ldGFkYXRhKQpAQCAtMTQ3LDYgKzE1
MSw3IEBAIEZpbGU6OkZpbGUoY29uc3QgS1VSTCYgZmlsZVN5c3RlbVVSTCwgY28KICAgICAsIG1f
c25hcHNob3RTaXplKG1ldGFkYXRhLmxlbmd0aCkKICAgICAsIG1fc25hcHNob3RNb2RpZmljYXRp
b25UaW1lKG1ldGFkYXRhLm1vZGlmaWNhdGlvblRpbWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUxp
c3QuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVM
aXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIEZpbGVMaXN0OjpGaWxlTGlzdCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogfQogCiBGaWxlKiBGaWxlTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBQYXNzUmVmUHRyPEhUTUxBbGxDb2xsZWN0
aW9uPiBIVE1MQWxsQ29sCiBIVE1MQWxsQ29sbGVjdGlvbjo6SFRNTEFsbENvbGxlY3Rpb24oTm9k
ZSogbm9kZSwgQ29sbGVjdGlvblR5cGUgdHlwZSkKICAgICA6IEhUTUxDb2xsZWN0aW9uKG5vZGUs
IHR5cGUsIERvZXNOb3RPdmVycmlkZUl0ZW1BZnRlcikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIEhUTUxBbGxDb2xsZWN0aW9uOjp+SFRNTEFsbENvbGxlY3Rpb24o
KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01NSw2ICs1NSw3IEBAIEhUTUxBbmNob3JFbGVtZW50OjpIVE1M
QW5jaG9yRWxlbWVudChjb24KICAgICAsIG1fbGlua1JlbGF0aW9ucygwKQogICAgICwgbV9jYWNo
ZWRWaXNpdGVkTGlua0hhc2goMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEFuY2hvckVsZW1lbnQ+IEhUTUxBbmNob3JFbGVtZW50Ojpj
cmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXBwbGV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXBwbGV0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBA
IEhUTUxBcHBsZXRFbGVtZW50OjpIVE1MQXBwbGV0RWxlbWVudChjb24KICAgICA6IEhUTUxQbHVn
SW5JbWFnZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0ZWRCeVBhcnNlciwgU2hvdWxk
Tm90UHJlZmVyUGx1Z0luc0ZvckltYWdlcykKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShhcHBs
ZXRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAKICAgICBtX3NlcnZp
Y2VUeXBlID0gImFwcGxpY2F0aW9uL3gtamF2YS1hcHBsZXQiOwogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2
ICs0Niw3IEBAIGlubGluZSBIVE1MQXJlYUVsZW1lbnQ6OkhUTUxBcmVhRWxlbWVudCgKICAgICAs
IG1fc2hhcGUoVW5rbm93bikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShhcmVhVGFnKSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxBcmVh
RWxlbWVudD4gSFRNTEFyZWFFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXVkaW9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dWRpb0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBdWRpb0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIEhU
TUxBdWRpb0VsZW1lbnQ6OkhUTUxBdWRpb0VsZW1lbnQoY29uc3QKICAgICA6IEhUTUxNZWRpYUVs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0ZWRCeVBhcnNlcikKIHsKICAgICBBU1NFUlQo
aGFzVGFnTmFtZShhdWRpb1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogUGFzc1JlZlB0cjxIVE1MQXVkaW9FbGVtZW50PiBIVE1MQXVkaW9FbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBib29s
IGNyZWF0ZWRCeVBhcnNlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJSRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQlJFbGVtZW50LmNw
cAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQlJFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBIVE1MQlJFbGVtZW50OjpIVE1M
QlJFbGVtZW50KGNvbnN0IFF1YWxpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShiclRhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MQlJFbGVtZW50PiBIVE1MQlJFbGVt
ZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQmFzZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJhc2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBA
IGlubGluZSBIVE1MQmFzZUVsZW1lbnQ6OkhUTUxCYXNlRWxlbWVudCgKICAgICA6IEhUTUxFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGJhc2VUYWcp
KTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRN
TEJhc2VFbGVtZW50PiBIVE1MQmFzZUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEJhc2VGb250RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDYgKzMzLDcgQEAgaW5saW5lIEhUTUxCYXNlRm9udEVsZW1lbnQ6OkhUTUxCYXNlRm9udAogICAg
IDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05h
bWUoYmFzZWZvbnRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFBhc3NSZWZQdHI8SFRNTEJhc2VGb250RWxlbWVudD4gSFRNTEJhc2VGb250RWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDYsNiArNDYsNyBAQCBIVE1MQm9keUVsZW1lbnQ6OkhUTUxCb2R5RWxlbWVudChj
b25zdCBRCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShib2R5VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBQYXNzUmVmUHRyPEhUTUxCb2R5RWxlbWVudD4gSFRNTEJvZHlFbGVtZW50OjpjcmVh
dGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0
dG9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0
dG9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJ1dHRvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0Niw3IEBAIGlu
bGluZSBIVE1MQnV0dG9uRWxlbWVudDo6SFRNTEJ1dHRvbkVsZW0KICAgICAsIG1faXNBY3RpdmF0
ZWRTdWJtaXQoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoYnV0dG9uVGFnKSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxCdXR0
b25FbGVtZW50PiBIVE1MQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50KiBmb3JtKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIEhUTUxDYW52YXNFbGVtZW50OjpIVE1MQ2FudmFz
RWxlbWVudChjb24KICAgICAsIG1fZGlkQ2xlYXJJbWFnZUJ1ZmZlcihmYWxzZSkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShjYW52YXNUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTENhbnZhc0VsZW1lbnQ+IEhUTUxDYW52YXNFbGVt
ZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQ29sbGVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQ29sbGVjdGlvbi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENvbGxlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDcgQEAg
SFRNTENvbGxlY3Rpb246OkhUTUxDb2xsZWN0aW9uKE5vZGUqIG93bgogICAgIDogTGl2ZU5vZGVM
aXN0QmFzZShvd25lck5vZGUsIHJvb3RUeXBlRnJvbUNvbGxlY3Rpb25UeXBlKHR5cGUpLCBpbnZh
bGlkYXRpb25UeXBlRXhjbHVkaW5nSWRBbmROYW1lQXR0cmlidXRlcyh0eXBlKSwKICAgICAgICAg
V2ViQ29yZTo6c2hvdWxkT25seUluY2x1ZGVEaXJlY3RDaGlsZHJlbih0eXBlKSwgdHlwZSwgaXRl
bUFmdGVyT3ZlcnJpZGVUeXBlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogUGFzc1JlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRNTENvbGxlY3Rpb246OmNyZWF0ZShO
b2RlKiBiYXNlLCBDb2xsZWN0aW9uVHlwZSB0eXBlKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRExpc3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxETGlzdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxETGlzdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3
IEBAIGlubGluZSBIVE1MRExpc3RFbGVtZW50OjpIVE1MRExpc3RFbGVtZW4KICAgICA6IEhUTUxF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGRsVGFn
KSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhU
TUxETGlzdEVsZW1lbnQ+IEhUTUxETGlzdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogaW5saW5lIEhUTUxEYXRhTGlzdEVs
ZW1lbnQ6OkhUTUxEYXRhTGlzdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhU
TUxEYXRhTGlzdEVsZW1lbnQ+IEhUTUxEYXRhTGlzdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwMyw2ICsxMDMsNyBAQCBIVE1MRGV0YWlsc0VsZW1lbnQ6OkhUTUxEZXRhaWxzRWxlbWVu
dChjCiAgICAgLCBtX2lzT3BlbihmYWxzZSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShkZXRh
aWxzVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBSZW5kZXJP
YmplY3QqIEhUTUxEZXRhaWxzRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFy
ZW5hLCBSZW5kZXJTdHlsZSopCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RGlhbG9nRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAgSFRNTERp
YWxvZ0VsZW1lbnQ6OkhUTUxEaWFsb2dFbGVtZW50KGNvbgogICAgIDogSFRNTEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZGlhbG9nVGFnKSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxEaWFs
b2dFbGVtZW50PiBIVE1MRGlhbG9nRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTERpcmVjdG9yeUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTERpcmVjdG9yeUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxEaXJlY3RvcnlFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNiArMzMsNyBAQCBpbmxpbmUgSFRNTERpcmVjdG9yeUVsZW1lbnQ6OkhUTUxEaXJlY3RvCiAg
ICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFn
TmFtZShkaXJUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBh
c3NSZWZQdHI8SFRNTERpcmVjdG9yeUVsZW1lbnQ+IEhUTUxEaXJlY3RvcnlFbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGl2RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGl2RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpdkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw2ICszNiw3IEBAIEhUTUxEaXZFbGVtZW50OjpIVE1MRGl2RWxlbWVudChjb25zdCBR
dWEKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVCho
YXNUYWdOYW1lKGRpdlRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogUGFzc1JlZlB0cjxIVE1MRGl2RWxlbWVudD4gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShEb2N1
bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1l
czsKIEhUTUxEb2N1bWVudDo6SFRNTERvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYg
dXJsKQogICAgIDogRG9jdW1lbnQoZnJhbWUsIHVybCwgZmFsc2UsIHRydWUpCiB7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIGNsZWFyWE1MVmVyc2lvbigpOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDYgKzMwLDggQEAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSAiQ1NT
VmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgorI2luY2x1ZGUgIkN1
c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvci5oIgorI2luY2x1ZGUgIkN1c3RvbUVsZW1lbnRSZWdpc3Ry
eS5oIgogI2luY2x1ZGUgIkRPTVNldHRhYmxlVG9rZW5MaXN0LmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCkBAIC0zMzIsNiArMzM0LDExIEBAIHZv
aWQgSFRNTEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFEKICAgICB9IGVsc2UgaWYgKG5h
bWUgPT0gb253ZWJraXRmdWxsc2NyZWVuZXJyb3JBdHRyKSB7CiAgICAgICAgIHNldEF0dHJpYnV0
ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtpdGZ1bGxzY3JlZW5lcnJvckV2ZW50LCBj
cmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIG5hbWUsIHZhbHVlKSk7CiAjZW5kaWYK
KyNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQorICAgIH0gZWxzZSBpZiAobmFtZSA9PSBpc0F0
dHIpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50KCktPnJlZ2lzdHJ5KCkgJiYgZG9jdW1lbnQoKS0+
cmVnaXN0cnkoKS0+ZmluZEZvcih0aGlzKSkKKyAgICAgICAgICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdEN1c3RvbSh0aGlzKTsKKyNlbmRpZgogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEVsZW1lbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjcsNiArMTY3LDcgQEAgaW5saW5lIEhU
TUxFbGVtZW50OjpIVE1MRWxlbWVudChjb25zdCBRdQogICAgIDogU3R5bGVkRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCwgdHlwZSkKIHsKICAgICBBU1NFUlQodGFnTmFtZS5sb2NhbE5hbWUoKS5p
bXBsKCkpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIGlubGluZSBIVE1MRW1i
ZWRFbGVtZW50OjpIVE1MRW1iZWRFbGVtZW4KICAgICA6IEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0ZWRCeVBhcnNlciwgU2hvdWxkUHJlZmVyUGx1Z0luc0Zv
ckltYWdlcykKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShlbWJlZFRhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MRW1iZWRFbGVtZW50
PiBIVE1MRW1iZWRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBhcnNlcikKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNiArNDIsNyBAQCBpbmxpbmUgSFRNTEZpZWxkU2V0RWxlbWVudDo6SFRNTEZp
ZWxkU2V0CiAgICAgLCBtX2RvY3VtZW50VmVyc2lvbigwKQogewogICAgIEFTU0VSVChoYXNUYWdO
YW1lKGZpZWxkc2V0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEhUTUxGaWVsZFNldEVsZW1lbnQ+IEhUTUxGaWVsZFNldEVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhU
TUxGb3JtRWxlbWVudCogZm9ybSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvbnRF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb250RWxl
bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
bnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBIVE1MRm9udEVs
ZW1lbnQ6OkhUTUxGb250RWxlbWVudChjb25zdCBRCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShmb250VGFnKSk7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxGb250RWxlbWVu
dD4gSFRNTEZvbnRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xzQ29sbGVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MCw2ICs0MCw3IEBAIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uOjpIVE1MRm9y
bUNvbnQKICAgICA6IEhUTUxDb2xsZWN0aW9uKG93bmVyTm9kZSwgRm9ybUNvbnRyb2xzLCBPdmVy
cmlkZXNJdGVtQWZ0ZXIpCiB7CiAgICAgQVNTRVJUKG93bmVyTm9kZS0+aGFzVGFnTmFtZShmb3Jt
VGFnKSB8fCBvd25lck5vZGUtPmhhc1RhZ05hbWUoZmllbGRzZXRUYWcpKTsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEZvcm1Db250cm9sc0Nv
bGxlY3Rpb24+IEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uOjpjcmVhdGUoTm9kZSogb3duZXJO
b2RlLCBDb2xsZWN0aW9uVHlwZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsNyBAQCBIVE1MRm9ybUVs
ZW1lbnQ6OkhUTUxGb3JtRWxlbWVudChjb25zdCBRCiAjZW5kaWYKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShmb3JtVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gSFRNTEZvcm1FbGVtZW50OjpjcmVhdGUoRG9j
dW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFt
ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIGlubGluZSBIVE1M
RnJhbWVFbGVtZW50OjpIVE1MRnJhbWVFbGVtZW4KICAgICAsIG1fZnJhbWVCb3JkZXJTZXQoZmFs
c2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZnJhbWVUYWcpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEZyYW1lRWxlbWVudD4gSFRN
TEZyYW1lRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RnJhbWVTZXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBIVE1M
RnJhbWVTZXRFbGVtZW50OjpIVE1MRnJhbWVTZXRFbGVtZW50CiAgICAgLCBtX25vcmVzaXplKGZh
bHNlKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGZyYW1lc2V0VGFnKSk7Ci0gICAgCisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHNldEhhc0N1c3RvbVN0eWxlQ2FsbGJh
Y2tzKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEhSRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSFJFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSFJFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBIVE1MSFJFbGVtZW50OjpIVE1MSFJFbGVt
ZW50KGNvbnN0IFF1YWxpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsK
ICAgICBBU1NFUlQoaGFzVGFnTmFtZShoclRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MSFJFbGVtZW50PiBIVE1MSFJFbGVtZW50Ojpj
cmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SGVhZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEhl
YWRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSGVhZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBAIEhUTUxI
ZWFkRWxlbWVudDo6SFRNTEhlYWRFbGVtZW50KGNvbnN0IFEKICAgICA6IEhUTUxFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGhlYWRUYWcpKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEhlYWRF
bGVtZW50PiBIVE1MSGVhZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIZWFkaW5nRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQuY3BwCShyZXZpc2lvbiAx
NDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIZWFkaW5nRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogaW5saW5l
IEhUTUxIZWFkaW5nRWxlbWVudDo6SFRNTEhlYWRpbmdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IEhUTUxFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
UGFzc1JlZlB0cjxIVE1MSGVhZGluZ0VsZW1lbnQ+IEhUTUxIZWFkaW5nRWxlbWVudDo6Y3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEh0bWxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIdG1sRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEh0bWxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNiArNDAsNyBAQCBIVE1MSHRtbEVsZW1lbnQ6OkhUTUxIdG1sRWxlbWVudChjb25z
dCBRCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQo
aGFzVGFnTmFtZShodG1sVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBQYXNzUmVmUHRyPEhUTUxIdG1sRWxlbWVudD4gSFRNTEh0bWxFbGVtZW50OjpjcmVhdGUo
RG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1l
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1l
RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElGcmFtZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBAIGlubGlu
ZSBIVE1MSUZyYW1lRWxlbWVudDo6SFRNTElGcmFtZUVsZW0KICAgICA6IEhUTUxGcmFtZUVsZW1l
bnRCYXNlKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGlmcmFt
ZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBzZXRIYXNDdXN0
b21TdHlsZUNhbGxiYWNrcygpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgSFRN
TEltYWdlRWxlbWVudDo6SFRNTEltYWdlRWxlbWVudChjb25zdAogICAgICwgbV9jb21wb3NpdGVP
cGVyYXRvcihDb21wb3NpdGVTb3VyY2VPdmVyKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGlt
Z1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBpZiAoZm9ybSkK
ICAgICAgICAgZm9ybS0+cmVnaXN0ZXJJbWdFbGVtZW50KHRoaXMpOwogfQpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzksNiArMTM5LDcgQEAgSFRNTElucHV0RWxlbWVudDo6SFRNTElucHV0RWxlbWVudChjb25z
dAogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgc2V0SGFzQ3VzdG9t
U3R5bGVDYWxsYmFja3MoKTsKICNlbmRpZgorICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBIVE1MSW5wdXRFbGVtZW50Ojpj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBI
VE1MRm9ybUVsZW1lbnQqIGZvcm0sIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKQpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02OSw2ICs2OSw3IEBAIGlubGluZSBIVE1MS2V5Z2VuRWxlbWVudDo6SFRNTEtleWdlbkVs
ZW0KICAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUodGFnTmFtZSwgZG9jdW1l
bnQsIGZvcm0pCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoa2V5Z2VuVGFnKSk7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogCiAgICAgLy8gQ3JlYXRlIGEgc2VsZWN0IGVsZW1l
bnQgd2l0aCBvbmUgb3B0aW9uIGVsZW1lbnQgZm9yIGVhY2gga2V5IHNpemUuCiAgICAgVmVjdG9y
PFN0cmluZz4ga2V5czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExJRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTElFbGVtZW50LmNwcAko
cmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTElFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBIVE1MTElFbGVtZW50OjpIVE1MTElF
bGVtZW50KGNvbnN0IFF1YWxpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkK
IHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShsaVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MTElFbGVtZW50PiBIVE1MTElFbGVtZW50
OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTGFiZWxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxMYWJlbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBA
IGlubGluZSBIVE1MTGFiZWxFbGVtZW50OjpIVE1MTGFiZWxFbGVtZW4KICAgICA6IEhUTUxFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGxhYmVsVGFn
KSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhU
TUxMYWJlbEVsZW1lbnQ+IEhUTUxMYWJlbEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYg
KzQwLDcgQEAgaW5saW5lIEhUTUxMZWdlbmRFbGVtZW50OjpIVE1MTGVnZW5kRWxlbQogICAgIDog
SFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUo
bGVnZW5kVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNz
UmVmUHRyPEhUTUxMZWdlbmRFbGVtZW50PiBIVE1MTGVnZW5kRWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzQsNiArNzQsNyBAQCBpbmxpbmUgSFRNTExpbmtFbGVtZW50OjpIVE1MTGlua0VsZW1lbnQoCiAg
ICAgLCBtX3BlbmRpbmdTaGVldFR5cGUoTm9uZSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShs
aW5rVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVm
UHRyPEhUTUxMaW5rRWxlbWVudD4gSFRNTExpbmtFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBhcnNl
cikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuY3BwCShyZXZpc2lvbiAx
NDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBIVE1MTWFwRWxlbWVudDo6SFRNTE1hcEVsZW1lbnQo
Y29uc3QgUXVhCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShtYXBUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTE1hcEVsZW1lbnQ+IEhUTUxNYXBFbGVtZW50OjpjcmVh
dGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFy
cXVlZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1h
cnF1ZWVFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWFycXVlZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBA
IGlubGluZSBIVE1MTWFycXVlZUVsZW1lbnQ6OkhUTUxNYXJxdWVlRWwKICAgICAsIEFjdGl2ZURP
TU9iamVjdChkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShtYXJxdWVlVGFnKSk7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxN
YXJxdWVlRWxlbWVudD4gSFRNTE1hcnF1ZWVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjMsNiAr
MzIzLDggQEAgSFRNTE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxlbWVudChjb25zdAogICAgICAg
ICAgICAgbV9kaXNhYmxlQ2FwdGlvbnMgPSAhY2FwdGlvblByZWZlcmVuY2VzLT5zaG91bGRTaG93
Q2FwdGlvbnMoKTsKICAgICB9CiAjZW5kaWYKKworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogSFRNTE1lZGlhRWxlbWVudDo6fkhUTUxNZWRpYUVsZW1lbnQoKQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVudUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVudUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMyw2ICszMyw3IEBAIGlubGluZSBIVE1MTWVudUVsZW1lbnQ6OkhUTUxNZW51RWxlbWVu
dCgKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVCho
YXNUYWdOYW1lKG1lbnVUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIFBhc3NSZWZQdHI8SFRNTE1lbnVFbGVtZW50PiBIVE1MTWVudUVsZW1lbnQ6OmNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM1LDYgKzM1LDcgQEAgaW5saW5lIEhUTUxNZXRhRWxlbWVudDo6SFRNTE1ldGFFbGVtZW50
KAogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUobWV0YVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogUGFzc1JlZlB0cjxIVE1MTWV0YUVsZW1lbnQ+IEhUTUxNZXRhRWxlbWVudDo6Y3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDUsNiArNDUsNyBAQCBIVE1MTWV0ZXJFbGVtZW50OjpIVE1MTWV0ZXJFbGVtZW50KGNv
bnN0CiAgICAgOiBMYWJlbGFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKG1ldGVyVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBIVE1MTWV0ZXJFbGVtZW50Ojp+SFRNTE1ldGVyRWxlbWVudCgpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDYgKzMyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIGlubGluZSBIVE1MTW9k
RWxlbWVudDo6SFRNTE1vZEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvY3VtZW50KQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxN
b2RFbGVtZW50PiBIVE1MTW9kRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9MaXN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T0xpc3RFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT0xpc3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQCBI
VE1MT0xpc3RFbGVtZW50OjpIVE1MT0xpc3RFbGVtZW50KGNvbnN0CiAgICAgLCBtX3Nob3VsZFJl
Y2FsY3VsYXRlSXRlbUNvdW50KGZhbHNlKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKG9sVGFn
KSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhU
TUxPTGlzdEVsZW1lbnQ+IEhUTUxPTGlzdEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDcgQEAgaW5saW5lIEhUTUxPYmplY3RFbGVt
ZW50OjpIVE1MT2JqZWN0RWxlbQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKG9iamVjdFRhZykp
OwogICAgIHNldEZvcm0oZm9ybSA/IGZvcm0gOiBmaW5kRm9ybUFuY2VzdG9yKCkpOworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogaW5saW5lIEhUTUxPYmplY3RFbGVtZW50
Ojp+SFRNTE9iamVjdEVsZW1lbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0
R3JvdXBFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
cHRHcm91cEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3
IEBAIGlubGluZSBIVE1MT3B0R3JvdXBFbGVtZW50OjpIVE1MT3B0R3JvdXAKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShvcHRncm91cFRhZykpOwogICAgIHNldEhhc0N1c3RvbVN0eWxlQ2FsbGJh
Y2tzKCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRy
PEhUTUxPcHRHcm91cEVsZW1lbnQ+IEhUTUxPcHRHcm91cEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU3LDYgKzU3LDcgQEAgSFRNTE9wdGlvbkVsZW1lbnQ6OkhUTUxPcHRpb25FbGVtZW50KGNv
bgogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKG9wdGlvblRhZykpOwogICAgIHNldEhhc0N1c3Rv
bVN0eWxlQ2FsbGJhY2tzKCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEhUTUxPcHRpb25FbGVtZW50PiBIVE1MT3B0aW9uRWxlbWVudDo6Y3JlYXRl
KERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bnNDb2xsZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
cHRpb25zQ29sbGVjdGlvbi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiAr
MzEsNyBAQCBIVE1MT3B0aW9uc0NvbGxlY3Rpb246OkhUTUxPcHRpb25zQ29sbGVjCiAgICAgOiBI
VE1MQ29sbGVjdGlvbihzZWxlY3QsIFNlbGVjdE9wdGlvbnMsIERvZXNOb3RPdmVycmlkZUl0ZW1B
ZnRlcikKIHsKICAgICBBU1NFUlQoc2VsZWN0LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c2VsZWN0
VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRy
PEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpjcmVhdGUoTm9k
ZSogc2VsZWN0LCBDb2xsZWN0aW9uVHlwZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE91dHB1dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE91dHB1dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPdXRwdXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBA
QCBpbmxpbmUgSFRNTE91dHB1dEVsZW1lbnQ6OkhUTUxPdXRwdXRFbGVtCiAgICAgLCBtX2RlZmF1
bHRWYWx1ZSgiIikKICAgICAsIG1fdG9rZW5zKERPTVNldHRhYmxlVG9rZW5MaXN0OjpjcmVhdGUo
KSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8
SFRNTE91dHB1dEVsZW1lbnQ+IEhUTUxPdXRwdXRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZv
cm0pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNw
cAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyYWdyYXBo
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAgaW5saW5lIEhUTUxQ
YXJhZ3JhcGhFbGVtZW50OjpIVE1MUGFyYWdyYQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUocFRhZykpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MUGFyYWdyYXBoRWxlbWVu
dD4gSFRNTFBhcmFncmFwaEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM1LDYgKzM1LDcgQEAgaW5saW5lIEhUTUxQYXJhbUVsZW1lbnQ6OkhUTUxQYXJh
bUVsZW1lbgogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNT
RVJUKGhhc1RhZ05hbWUocGFyYW1UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFBhcmFtRWxlbWVudD4gSFRNTFBhcmFtRWxlbWVudDo6
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByZUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcmVFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzYsNiArMzYsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogaW5saW5l
IEhUTUxQcmVFbGVtZW50OjpIVE1MUHJlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQ
dHI8SFRNTFByZUVsZW1lbnQ+IEhUTUxQcmVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00Niw2ICs0Niw3IEBAIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OkhUTUxQcm9ncmVzc0VsZW1lbnQK
ICAgICAsIG1fdmFsdWUoMCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShwcm9ncmVzc1RhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSFRNTFByb2dyZXNzRWxl
bWVudDo6fkhUTUxQcm9ncmVzc0VsZW1lbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUXVvdGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxRdW90ZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxRdW90ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBA
IGlubGluZSBIVE1MUXVvdGVFbGVtZW50OjpIVE1MUXVvdGVFbGVtZW4KICAgICA6IEhUTUxFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKHFUYWcpIHx8
IGhhc1RhZ05hbWUoYmxvY2txdW90ZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MUXVvdGVFbGVtZW50PiBIVE1MUXVvdGVFbGVtZW50
OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50
KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIGlubGluZSBIVE1MU2NyaXB0RWxlbWVu
dDo6SFRNTFNjcmlwdEVsZW0KICAgICAsIFNjcmlwdEVsZW1lbnQodGhpcywgd2FzSW5zZXJ0ZWRC
eVBhcnNlciwgYWxyZWFkeVN0YXJ0ZWQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoc2NyaXB0
VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRy
PEhUTUxTY3JpcHRFbGVtZW50PiBIVE1MU2NyaXB0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCB3YXNJbnNlcnRlZEJ5
UGFyc2VyLCBib29sIGFscmVhZHlTdGFydGVkKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw2ICs3OSw3
IEBAIEhUTUxTZWxlY3RFbGVtZW50OjpIVE1MU2VsZWN0RWxlbWVudChjb24KICAgICAsIG1fc2hv
dWxkUmVjYWxjTGlzdEl0ZW1zKGZhbHNlKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKHNlbGVj
dFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxIVE1MU2VsZWN0RWxlbWVudD4gSFRNTFNlbGVjdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxGb3JtRWxlbWVudCog
Zm9ybSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQCBpbmxpbmUgSFRNTFNvdXJjZUVs
ZW1lbnQ6OkhUTUxTb3VyY2VFbGVtCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRNTFNvdXJjZUVsZW1l
bnQ6OkhUTUxTb3VyY2VFbGVtZW50IC0gJXAiLCB0aGlzKTsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShzb3VyY2VUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBh
c3NSZWZQdHI8SFRNTFNvdXJjZUVsZW1lbnQ+IEhUTUxTb3VyY2VFbGVtZW50OjpjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3BhbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNwYW5FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3BhbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNiw2ICszNiw3IEBAIEhUTUxTcGFuRWxlbWVudDo6SFRNTFNwYW5FbGVtZW50KGNvbnN0IFEK
ICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKHNwYW5UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFBhc3NSZWZQdHI8SFRNTFNwYW5FbGVtZW50PiBIVE1MU3BhbkVsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU0LDYgKzU0LDcgQEAgaW5saW5lIEhUTUxTdHlsZUVsZW1lbnQ6OkhUTUxTdHlsZUVsZW1l
bgogICAgICwgbV9zY29wZWRTdHlsZVJlZ2lzdHJhdGlvblN0YXRlKE5vdFJlZ2lzdGVyZWQpCiB7
CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoc3R5bGVUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIEhUTUxTdHlsZUVsZW1lbnQ6On5IVE1MU3R5bGVFbGVtZW50KCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNh
cHRpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBpbmxpbmUg
SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQ6OkhUTUxUYWJsCiAgICAgOiBIVE1MRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShjYXB0aW9uVGFnKSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxUYWJs
ZUNhcHRpb25FbGVtZW50PiBIVE1MVGFibGVDYXB0aW9uRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNlbGxFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogaW5s
aW5lIEhUTUxUYWJsZUNlbGxFbGVtZW50OjpIVE1MVGFibGVDZWxsRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBIVE1MVGFibGVQ
YXJ0RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFRhYmxlQ2VsbEVsZW1lbnQ+IEhUTUxUYWJs
ZUNlbGxFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVDb2xFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNvbEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
YWJsZUNvbEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIGlubGlu
ZSBIVE1MVGFibGVDb2xFbGVtZW50OjpIVE1MVGFibGVDb2wKICAgICA6IEhUTUxUYWJsZVBhcnRF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9zcGFuKDEpCiB7CisgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxUYWJsZUNvbEVsZW1l
bnQ+IEhUTUxUYWJsZUNvbEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
YWJsZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRh
YmxlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRhYmxlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAgSFRN
TFRhYmxlRWxlbWVudDo6SFRNTFRhYmxlRWxlbWVudChjb25zdAogICAgICwgbV9wYWRkaW5nKDEp
CiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUodGFibGVUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFRhYmxlRWxlbWVudD4gSFRNTFRh
YmxlRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQCBIVE1MVGFibGVSb3dFbGVtZW50OjpIVE1MVGFibGVSb3dFbGVt
ZW50CiAgICAgOiBIVE1MVGFibGVQYXJ0RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZSh0clRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MVGFibGVSb3dFbGVtZW50PiBIVE1MVGFibGVSb3dF
bGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBp
bmxpbmUgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ6OkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IEhU
TUxUYWJsZVBhcnRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MVGFibGVTZWN0aW9uRWxlbWVu
dD4gSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZW1wbGF0ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRlbXBsYXRlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYg
KzQ3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIGlubGluZSBIVE1MVGVtcGxhdGVF
bGVtZW50OjpIVE1MVGVtcGxhdGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSFRNTFRlbXBsYXRl
RWxlbWVudDo6fkhUTUxUZW1wbGF0ZUVsZW1lbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
NCw2ICs5NCw3IEBAIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OkhUTUxUZXh0QXJlYUVsZW1lbnQKIHsK
ICAgICBBU1NFUlQoaGFzVGFnTmFtZSh0ZXh0YXJlYVRhZykpOwogICAgIHNldEZvcm1Db250cm9s
VmFsdWVNYXRjaGVzUmVuZGVyZXIodHJ1ZSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+IEhUTUxUZXh0QXJlYUVs
ZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9j
dW1lbnQsIEhUTUxGb3JtRWxlbWVudCogZm9ybSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRpdGxlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGl0bGVFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBA
QCBpbmxpbmUgSFRNTFRpdGxlRWxlbWVudDo6SFRNTFRpdGxlRWxlbWVuCiAgICAgOiBIVE1MRWxl
bWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZSh0aXRsZVRh
ZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxI
VE1MVGl0bGVFbGVtZW50PiBIVE1MVGl0bGVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1
OSw3IEBAIGlubGluZSBIVE1MVHJhY2tFbGVtZW50OjpIVE1MVHJhY2tFbGVtZW4KIHsKICAgICBM
T0coTWVkaWEsICJIVE1MVHJhY2tFbGVtZW50OjpIVE1MVHJhY2tFbGVtZW50IC0gJXAiLCB0aGlz
KTsKICAgICBBU1NFUlQoaGFzVGFnTmFtZSh0cmFja1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogSFRNTFRyYWNrRWxlbWVudDo6fkhUTUxUcmFja0VsZW1lbnQo
KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxVTGlzdEVsZW1lbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxVTGlzdEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBAIEhUTUxVTGlzdEVsZW1lbnQ6OkhUTUxVTGlz
dEVsZW1lbnQoY29uc3QKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewog
ICAgIEFTU0VSVChoYXNUYWdOYW1lKHVsVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxVTGlzdEVsZW1lbnQ+IEhUTUxVTGlzdEVsZW1l
bnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxVbmtub3duRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFVua25vd25FbGVtZW50LmgJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFVua25vd25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcg
QEAgcHJpdmF0ZToKICAgICBIVE1MVW5rbm93bkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IEhUTUxFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50KQogICAgIHsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogICAgIH0KIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9F
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBAQCBpbmxpbmUgSFRNTFZp
ZGVvRWxlbWVudDo6SFRNTFZpZGVvRWxlbWVuCiAgICAgOiBIVE1MTWVkaWFFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50LCBjcmVhdGVkQnlQYXJzZXIpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUo
dmlkZW9UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKGRv
Y3VtZW50LT5zZXR0aW5ncygpKQogICAgICAgICBtX2RlZmF1bHRQb3N0ZXJVUkwgPSBkb2N1bWVu
dC0+c2V0dGluZ3MoKS0+ZGVmYXVsdFZpZGVvUG9zdGVyVVJMKCk7CiB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhS2V5RXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFLZXlFdmVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQx
LDcgQEAgTWVkaWFLZXlFdmVudEluaXQ6Ok1lZGlhS2V5RXZlbnRJbml0KCkKIAogTWVkaWFLZXlF
dmVudDo6TWVkaWFLZXlFdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBNZWRpYUtleUV2ZW50OjpNZWRpYUtleUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgY29uc3QgTWVkaWFLZXlFdmVudEluaXQmIGluaXRpYWxpemVyKQpAQCAtNTMsNiArNTQs
NyBAQCBNZWRpYUtleUV2ZW50OjpNZWRpYUtleUV2ZW50KGNvbnN0IEF0b21pCiAgICAgLCBtX2Vy
cm9yQ29kZShpbml0aWFsaXplci5lcnJvckNvZGUpCiAgICAgLCBtX3N5c3RlbUNvZGUoaW5pdGlh
bGl6ZXIuc3lzdGVtQ29kZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE1lZGlhS2V5RXZlbnQ6On5NZWRpYUtleUV2ZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvUmFkaW9Ob2RlTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9SYWRpb05vZGVMaXN0LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9SYWRpb05vZGVMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsNyBAQCBS
YWRpb05vZGVMaXN0OjpSYWRpb05vZGVMaXN0KE5vZGUqIHJvb3ROCiAgICAgOiBMaXZlTm9kZUxp
c3Qocm9vdE5vZGUsIFJhZGlvTm9kZUxpc3RUeXBlLCBJbnZhbGlkYXRlRm9yRm9ybUNvbnRyb2xz
LCByb290Tm9kZS0+aGFzVGFnTmFtZShmb3JtVGFnKSA/IE5vZGVMaXN0SXNSb290ZWRBdERvY3Vt
ZW50IDogTm9kZUxpc3RJc1Jvb3RlZEF0Tm9kZSkKICAgICAsIG1fbmFtZShuYW1lKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUmFkaW9Ob2RlTGlzdDo6flJhZGlv
Tm9kZUxpc3QoKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Nyw3ICs1NywxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCB2YWxpZCgpIGNvbnN0
OwogCiBwcml2YXRlOgotICAgIFZhbGlkaXR5U3RhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBj
b250cm9sKSA6IG1fY29udHJvbChjb250cm9sKSB7IH0KKyAgICBWYWxpZGl0eVN0YXRlKEZvcm1B
c3NvY2lhdGVkRWxlbWVudCogY29udHJvbCkgOiBtX2NvbnRyb2woY29udHJvbCkKKyAgICB7Cisg
ICAgICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKKyAgICB9CiAKICAgICBGb3JtQXNz
b2NpYXRlZEVsZW1lbnQqIG1fY29udHJvbDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNiw2ICsxMzYsNyBAQCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1JlbmRlcmluCiAjaWYgIUVOQUJMRShEQVNIQk9BUkRf
U1VQUE9SVCkKICAgICBBU1NFUlRfVU5VU0VEKHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9k
ZSwgIXVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSk7CiAjZW5kaWYKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
Ojp1bndpbmRTdGF0ZVN0YWNrKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBDYW52
YXNSZW5kZXJpbmdDb250ZXh0OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVt
ZW50KiBjYW52YXMpCiAgICAgOiBtX2NhbnZhcyhjYW52YXMpCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBib29sIENhbnZhc1JlbmRlcmluZ0NvbnRleHQ6OndvdWxk
VGFpbnRPcmlnaW4oY29uc3QgQ2FudmFzUGF0dGVybiogcGF0dGVybikKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHAJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTggKzM4LDIxIEBAIFdlYkdMQ29udGV4dEV2ZW50
SW5pdDo6V2ViR0xDb250ZXh0RXZlbnQKIAogV2ViR0xDb250ZXh0RXZlbnQ6OldlYkdMQ29udGV4
dEV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFdlYkdM
Q29udGV4dEV2ZW50OjpXZWJHTENvbnRleHRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGNvbnN0IFN0cmluZyYgc3RhdHVzTWVz
c2FnZSkKICAgICA6IEV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSkKICAgICAsIG1f
c3RhdHVzTWVzc2FnZShzdGF0dXNNZXNzYWdlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKIH0KIAogV2ViR0xDb250ZXh0RXZlbnQ6OldlYkdMQ29udGV4dEV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgV2ViR0xDb250ZXh0RXZlbnRJbml0JiBpbml0aWFs
aXplcikKICAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQogICAgICwgbV9zdGF0dXNNZXNz
YWdlKGluaXRpYWxpemVyLnN0YXR1c01lc3NhZ2UpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBXZWJHTENvbnRleHRFdmVudDo6fldlYkdMQ29udGV4dEV2ZW50KCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDc2LDYg
KzQ3Niw4IEBAIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5kZXJpbmdDb24KICAgICAs
IG1fbnVtR0xFcnJvcnNUb0NvbnNvbGVBbGxvd2VkKG1heEdMRXJyb3JzQWxsb3dlZFRvQ29uc29s
ZSkKIHsKICAgICBBU1NFUlQobV9jb250ZXh0KTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CisKICAgICBtX2NvbnRleHRHcm91cCA9IFdlYkdMQ29udGV4dEdyb3VwOjpjcmVhdGUo
KTsKICAgICBtX2NvbnRleHRHcm91cC0+YWRkQ29udGV4dCh0aGlzKTsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw4IEBAIEhUTUxDb250ZW50RWxl
bWVudDo6SFRNTENvbnRlbnRFbGVtZW50KGMKICAgICAsIG1fc2hvdWxkUGFyc2VTZWxlY3Rvckxp
c3QoZmFsc2UpCiAgICAgLCBtX2lzVmFsaWRTZWxlY3Rvcih0cnVlKQogeworICAgIGlmIChSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFkb3dET01FbmFibGVkKCkpCisgICAgICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSFRNTENvbnRlbnRFbGVtZW50Ojp+SFRNTENvbnRl
bnRFbGVtZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1M
U2hhZG93RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiAr
NDUsNyBAQCBpbmxpbmUgSFRNTFNoYWRvd0VsZW1lbnQ6OkhUTUxTaGFkb3dFbGVtCiAgICAgOiBJ
bnNlcnRpb25Qb2ludCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShIVE1MTmFtZXM6OnNoYWRvd1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MU2hhZG93RWxlbWVudD4gSFRNTFNoYWRvd0VsZW1lbnQ6
OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDEyICs0MCwxNCBAQCBUcmFja0V2ZW50SW5pdDo6VHJhY2tFdmVu
dEluaXQoKQogCiBUcmFja0V2ZW50OjpUcmFja0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIFRyYWNrRXZlbnQ6OlRyYWNrRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiB0eXBlLCBjb25zdCBUcmFja0V2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgOiBF
dmVudCh0eXBlLCBpbml0aWFsaXplcikKICAgICAsIG1fdHJhY2soaW5pdGlhbGl6ZXIudHJhY2sp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBUcmFja0V2ZW50Ojp+
VHJhY2tFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBw
bGljYXRpb25DYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogRE9NQXBwbGlj
YXRpb25DYWNoZTo6RE9NQXBwbGljYXRpb25DYWNoZShGcmFtZSogZnJhbWUpCiAgICAgOiBET01X
aW5kb3dQcm9wZXJ0eShmcmFtZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAgICAgQXBwbGljYXRpb25DYWNoZUhvc3QqIGNhY2hlSG9zdCA9IGFwcGxpY2F0aW9uQ2FjaGVI
b3N0KCk7CiAgICAgaWYgKGNhY2hlSG9zdCkKICAgICAgICAgY2FjaGVIb3N0LT5zZXRET01BcHBs
aWNhdGlvbkNhY2hlKHRoaXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9CYXJJbmZvLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0JhckluZm8uY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0JhckluZm8uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zOSw2ICszOSw3IEBAIEJhckluZm86OkJhckluZm8oRnJhbWUqIGZyYW1lLCBUeXBl
IHR5cGUKICAgICA6IERPTVdpbmRvd1Byb3BlcnR5KGZyYW1lKQogICAgICwgbV90eXBlKHR5cGUp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBCYXJJbmZvOjpUeXBl
IEJhckluZm86OnR5cGUoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02NSw2ICs2NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIENvbnNvbGU6OkNv
bnNvbGUoRnJhbWUqIGZyYW1lKQogICAgIDogRE9NV2luZG93UHJvcGVydHkoZnJhbWUpCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBDb25zb2xlOjp+Q29uc29sZSgp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0NyeXB0by5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDcgQEAg
Ym9vbCBpc0ludGVnZXJBcnJheShBcnJheUJ1ZmZlclZpZXcqIGFycgogCiBDcnlwdG86OkNyeXB0
bygpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiB2b2lkIENyeXB0
bzo6Z2V0UmFuZG9tVmFsdWVzKEFycmF5QnVmZmVyVmlldyogYXJyYXksIEV4Y2VwdGlvbkNvZGUm
IGVjKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0
NCw3IEBAIEhpc3Rvcnk6Okhpc3RvcnkoRnJhbWUqIGZyYW1lKQogICAgIDogRE9NV2luZG93UHJv
cGVydHkoZnJhbWUpCiAgICAgLCBtX2xhc3RTdGF0ZU9iamVjdFJlcXVlc3RlZCgwKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogdW5zaWduZWQgSGlzdG9yeTo6bGVu
Z3RoKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBMb2NhdGlvbjo6TG9jYXRpb24o
RnJhbWUqIGZyYW1lKQogICAgIDogRE9NV2luZG93UHJvcGVydHkoZnJhbWUpCiB7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBpbmxpbmUgY29uc3QgS1VSTCYgTG9jYXRp
b246OnVybCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTmF2aWdhdG9yOjpO
YXZpZ2F0b3IoRnJhbWUqIGZyYW1lKQogICAgIDogRE9NV2luZG93UHJvcGVydHkoZnJhbWUpCiB7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBOYXZpZ2F0b3I6On5OYXZp
Z2F0b3IoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02Miw2ICs2Miw3IEBAIFBlcmZvcm1hbmNlOjpQZXJmb3JtYW5jZShGcmFtZSogZnJh
bWUpCiAgICAgLCBtX3VzZXJUaW1pbmcoMCkKICNlbmRpZiAvLyBFTkFCTEUoVVNFUl9USU1JTkcp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQZXJmb3JtYW5jZTo6
flBlcmZvcm1hbmNlKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBTY3JlZW46OlNjcmVlbihGcmFtZSog
ZnJhbWUpCiAgICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIHVuc2lnbmVkIFNjcmVlbjo6aG9yaXpvbnRhbERQSSgp
IGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0RXZlbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRFdmVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRFdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDEyICs1MCwxNCBAQCBQYXNzUmVmUHRyPFNwZWVjaElu
cHV0RXZlbnQ+IFNwZWVjaElucHV0CiAKIFNwZWVjaElucHV0RXZlbnQ6OlNwZWVjaElucHV0RXZl
bnQoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3BlZWNoSW5w
dXRFdmVudDo6U3BlZWNoSW5wdXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
Y29uc3QgU3BlZWNoSW5wdXRSZXN1bHRBcnJheSYgcmVzdWx0cykKICAgICA6IEV2ZW50KGV2ZW50
VHlwZSwgdHJ1ZSwgZmFsc2UpIC8vIENhbiBidWJibGUsIG5vdCBjYW5jZWxhYmxlCiAgICAgLCBt
X3Jlc3VsdHMoU3BlZWNoSW5wdXRSZXN1bHRMaXN0OjpjcmVhdGUocmVzdWx0cykpCiB7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBTcGVlY2hJbnB1dEV2ZW50Ojp+U3Bl
ZWNoSW5wdXRFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBl
QXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5
cGVBcnJheS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
RE9NTWltZVR5cGVBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogRE9NTWltZVR5cGVBcnJheTo6RE9NTWltZVR5cGVBcnJheShGcmFt
ZSogZnJhbWUpCiAgICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIERPTU1pbWVUeXBlQXJyYXk6On5ET01NaW1lVHlw
ZUFycmF5KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbi5jcHAJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQCBET01QbHVnaW46OkRPTVBsdWdpbihQbHVnaW5EYXRh
KiBwbHVnaW5ECiAgICAgLCBtX3BsdWdpbkRhdGEocGx1Z2luRGF0YSkKICAgICAsIG1faW5kZXgo
aW5kZXgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBET01QbHVn
aW46On5ET01QbHVnaW4oKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW5B
cnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW5B
cnJheS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9N
UGx1Z2luQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIERPTVBsdWdpbkFycmF5OjpET01QbHVnaW5BcnJheShGcmFtZSogZnJhbWUp
CiAgICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIERPTVBsdWdpbkFycmF5Ojp+RE9NUGx1Z2luQXJyYXkoKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0
NSw3IEBAIFN0b3JhZ2U6OlN0b3JhZ2UoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHQKIHsKICAgICBB
U1NFUlQobV9mcmFtZSk7CiAgICAgQVNTRVJUKG1fc3RvcmFnZUFyZWEpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBpZiAobV9zdG9yYWdlQXJlYSkKICAgICAgICAgbV9z
dG9yYWdlQXJlYS0+aW5jcmVtZW50QWNjZXNzQ291bnQoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VFdmVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiAr
NDIsNyBAQCBQYXNzUmVmUHRyPFN0b3JhZ2VFdmVudD4gU3RvcmFnZUV2ZW50OjpjCiAKIFN0b3Jh
Z2VFdmVudDo6U3RvcmFnZUV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiB9CiAKIFN0b3JhZ2VFdmVudDo6flN0b3JhZ2VFdmVudCgpCkBAIC02Niw2ICs2Nyw3IEBA
IFN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KGNvbnN0IEF0b21pY1MKICAgICAsIG1fdXJsKHVy
bCkKICAgICAsIG1fc3RvcmFnZUFyZWEoc3RvcmFnZUFyZWEpCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBTdG9yYWdlRXZlbnQ6OlN0b3JhZ2VFdmVudChjb25zdCBB
dG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0b3JhZ2VFdmVudEluaXQmIGluaXRpYWxpemVyKQpA
QCAtNzYsNiArNzgsNyBAQCBTdG9yYWdlRXZlbnQ6OlN0b3JhZ2VFdmVudChjb25zdCBBdG9taWNT
CiAgICAgLCBtX3VybChpbml0aWFsaXplci51cmwpCiAgICAgLCBtX3N0b3JhZ2VBcmVhKGluaXRp
YWxpemVyLnN0b3JhZ2VBcmVhKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogdm9pZCBTdG9yYWdlRXZlbnQ6OmluaXRTdG9yYWdlRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBjb25zdCBTdHJpbmcm
IGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29u
c3QgU3RyaW5nJiB1cmwsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKQpJbmRleDogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBAIGlubGluZSBT
VkdBRWxlbWVudDo6U1ZHQUVsZW1lbnQoY29uc3QgUXUKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9y
bWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1l
KFNWR05hbWVzOjphVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAg
IHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHQUVsZW1lbnQoKTsKIH0KIApJbmRleDog
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5jcHAJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBAIGlubGluZSBTVkdBbHRHbHlwaERlZkVs
ZW1lbnQ6OlNWR0FsdEdseXAKICAgICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7
CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFsdEdseXBoRGVmVGFnKSk7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0FsdEdseXBo
RGVmRWxlbWVudD4gU1ZHQWx0R2x5cGhEZWZFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsdEdseXBoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsdEdseXBoRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2
ICs0OCw3IEBAIGlubGluZSBTVkdBbHRHbHlwaEVsZW1lbnQ6OlNWR0FsdEdseXBoRWwKICAgICA6
IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNT
RVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFsdEdseXBoVGFnKSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHQWx0
R2x5cGhFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlw
aEl0ZW1FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0
R2x5cGhJdGVtRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiAr
MzEsNyBAQCBpbmxpbmUgU1ZHQWx0R2x5cGhJdGVtRWxlbWVudDo6U1ZHQWx0R2x5CiAgICAgOiBT
VkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNW
R05hbWVzOjphbHRHbHlwaEl0ZW1UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHQWx0R2x5cGhJdGVtRWxlbWVudD4gU1ZHQWx0R2x5cGhJ
dGVtRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlQ29sb3JFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUNvbG9y
RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlQ29sb3JFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQCBp
bmxpbmUgU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudDo6U1ZHQW5pbWF0CiAgICAgOiBTVkdBbmltYXRl
RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdO
YW1lczo6YW5pbWF0ZUNvbG9yVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBQYXNzUmVmUHRyPFNWR0FuaW1hdGVDb2xvckVsZW1lbnQ+IFNWR0FuaW1hdGVDb2xv
ckVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCog
ZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAgU1ZHQW5pbWF0ZUVsZW1lbnQ6
OlNWR0FuaW1hdGVFbGVtZW50KGNvbgogICAgICwgbV9hbmltYXRlZFByb3BlcnR5VHlwZShBbmlt
YXRlZFN0cmluZykKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6YW5pbWF0ZVRh
ZykgfHwgaGFzVGFnTmFtZShTVkdOYW1lczo6c2V0VGFnKSB8fCBoYXNUYWdOYW1lKFNWR05hbWVz
OjphbmltYXRlQ29sb3JUYWcpIHx8IGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFuaW1hdGVUcmFuc2Zv
cm1UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQ
dHI8U1ZHQW5pbWF0ZUVsZW1lbnQ+IFNWR0FuaW1hdGVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIGlubGluZSBTVkdBbmltYXRlTW90aW9uRWxl
bWVudDo6U1ZHQW5pbWEKIHsKICAgICBzZXRDYWxjTW9kZShDYWxjTW9kZVBhY2VkKTsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShhbmltYXRlTW90aW9uVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0FuaW1hdGVNb3Rpb25FbGVtZW50PiBT
VkdBbmltYXRlTW90aW9uRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlVHJhbnNmb3JtRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzYsNiArMzYsNyBAQCBpbmxpbmUgU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQ6
OlNWR0FuCiAgICAgLCBtX3R5cGUoU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1VOS05PV04p
CiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFuaW1hdGVUcmFuc2Zvcm1UYWcp
KTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZH
QW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQ+IFNWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OlNWR0Fu
aW1hdGlvbkVsZW1lbnQKICAgICAsIG1fY2FsY01vZGUoQ2FsY01vZGVMaW5lYXIpCiAgICAgLCBt
X2FuaW1hdGlvbk1vZGUoTm9BbmltYXRpb24pCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHQW5pbWF0aW9uRWxl
bWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgaW5saW5lIFNWR0NpcmNsZUVs
ZW1lbnQ6OlNWR0NpcmNsZUVsZW1lbgogICAgICwgbV9yKExlbmd0aE1vZGVPdGhlcikKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6Y2lyY2xlVGFnKSk7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZH
Q2lyY2xlRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBh
dGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBh
dGhFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0NsaXBQYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgaW5s
aW5lIFNWR0NsaXBQYXRoRWxlbWVudDo6U1ZHQ2xpcFBhdGhFbAogICAgICwgbV9jbGlwUGF0aFVu
aXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6Y2xpcFBhdGhUYWcpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdD
bGlwUGF0aEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5j
dGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw3IEBAIFNWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50OjpTVkcKICAgICAsIG1fYW1wbGl0dWRlKDEpCiAg
ICAgLCBtX2V4cG9uZW50KDEpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
ICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5j
dGlvbkVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNv
ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIGlubGluZSBTVkdD
dXJzb3JFbGVtZW50OjpTVkdDdXJzb3JFbGVtZW4KICAgICAsIG1feShMZW5ndGhNb2RlSGVpZ2h0
KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpjdXJzb3JUYWcpKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRp
ZXNGb3JTVkdDdXJzb3JFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdEZWZzRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rl
ZnNFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0RlZnNFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsNyBAQCBpbmxpbmUg
U1ZHRGVmc0VsZW1lbnQ6OlNWR0RlZnNFbGVtZW50KGNvCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zv
cm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShTVkdOYW1lczo6ZGVmc1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
ICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0RlZnNFbGVtZW50KCk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjksNiArMjksNyBAQCBpbmxpbmUgU1ZHRGVzY0VsZW1lbnQ6OlNWR0Rlc2NFbGVtZW50
KGNvCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpkZXNjVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0Rlc2NFbGVtZW50PiBTVkdEZXNjRWxl
bWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBTVkdEb2N1bWVudDo6U1ZHRG9j
dW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwpCiAgICAgOiBEb2N1bWVudChmcmFt
ZSwgdXJsLCBmYWxzZSwgZmFsc2UpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBTVkdTVkdFbGVtZW50KiBTVkdEb2N1bWVudDo6cm9vdEVsZW1lbnQoKSBjb25zdApJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1
MSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBTVkdFbGVtZW50OjpTVkdFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgQ29uc3Ry
dWN0aW9uVHlwZSBjb25zdHJ1Y3Rpb25UeXBlKQogICAgIDogU3R5bGVkRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCwgY29uc3RydWN0aW9uVHlwZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiAgICAgc2V0SGFzQ3VzdG9tU3R5bGVDYWxsYmFja3MoKTsKIH0KIApJbmRleDog
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01OSw2ICs1OSw3IEBAIGlubGluZSBTVkdFbGxpcHNlRWxlbWVudDo6U1ZHRWxsaXBz
ZUVsZW0KICAgICAsIG1fcnkoTGVuZ3RoTW9kZUhlaWdodCkKIHsKICAgICBBU1NFUlQoaGFzVGFn
TmFtZShTVkdOYW1lczo6ZWxsaXBzZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0VsbGlwc2VFbGVtZW50
KCk7CiB9ICAgIAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAgaW5saW5lIFNWR0ZFQmxl
bmRFbGVtZW50OjpTVkdGRUJsZW5kRWxlbQogICAgICwgbV9tb2RlKEZFQkxFTkRfTU9ERV9OT1JN
QUwpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlQmxlbmRUYWcpKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3Bl
cnRpZXNGb3JTVkdGRUJsZW5kRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAgaW5saW5lIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50OjpT
VkdGRUNvbAogICAgICwgbV90eXBlKEZFQ09MT1JNQVRSSVhfVFlQRV9NQVRSSVgpCiB7CiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlQ29sb3JNYXRyaXhUYWcpKTsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNG
b3JTVkdGRUNvbG9yTWF0cml4RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5jcHAJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAgaW5saW5lIFNWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50OjpTVgogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1l
KFNWR05hbWVzOjpmZUNvbXBvbmVudFRyYW5zZmVyVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRkVDb21w
b25lbnRUcmFuc2ZlckVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
Niw2ICs1Niw3IEBAIGlubGluZSBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ6OlNWR0ZFQ29tcG8KICAg
ICAsIG1fX29wZXJhdG9yKEZFQ09NUE9TSVRFX09QRVJBVE9SX09WRVIpCiB7CiAgICAgQVNTRVJU
KGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlQ29tcG9zaXRlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRkVD
b21wb3NpdGVFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNv
bnZvbHZlTWF0cml4RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjksNiArNjksNyBAQCBpbmxpbmUgU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQ6
OlNWR0ZFCiAgICAgLCBtX2VkZ2VNb2RlKEVER0VNT0RFX0RVUExJQ0FURSkKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVDb252b2x2ZU1hdHJpeFRhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0Zv
clNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCShyZXZpc2lvbiAx
NDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsNyBAQCBpbmxpbmUgU1ZHRkVEaWZmdXNl
TGlnaHRpbmdFbGVtZW50OjpTVkdGCiAgICAgLCBtX3N1cmZhY2VTY2FsZSgxKQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZURpZmZ1c2VMaWdodGluZ1RhZykpOworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGll
c0ZvclNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgaW5saW5lIFNWR0ZFRGlz
cGxhY2VtZW50TWFwRWxlbWVudDo6U1ZHRgogICAgICwgbV95Q2hhbm5lbFNlbGVjdG9yKENIQU5O
RUxfQSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVEaXNwbGFjZW1lbnRN
YXBUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJB
bmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQoKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzdGFudExpZ2h0RWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzdGFudExpZ2h0RWxlbWVudC5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3RhbnRM
aWdodEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBAIGlubGluZSBT
VkdGRURpc3RhbnRMaWdodEVsZW1lbnQ6OlNWR0ZFRGkKICAgICA6IFNWR0ZFTGlnaHRFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpm
ZURpc3RhbnRMaWdodFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogUGFzc1JlZlB0cjxTVkdGRURpc3RhbnRMaWdodEVsZW1lbnQ+IFNWR0ZFRGlzdGFudExpZ2h0
RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hhZG93RWxl
bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURy
b3BTaGFkb3dFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQCBpbmxp
bmUgU1ZHRkVEcm9wU2hhZG93RWxlbWVudDo6U1ZHRkVEcm9wCiAgICAgLCBtX3N0ZERldmlhdGlv
blkoMikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVEcm9wU2hhZG93VGFn
KSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0
ZWRQcm9wZXJ0aWVzRm9yU1ZHRkVEcm9wU2hhZG93RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM0LDYgKzM0LDcgQEAgaW5saW5lIFNWR0ZFRmxvb2RFbGVtZW50OjpTVkdGRUZsb29kRWxl
bQogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRv
Y3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZUZsb29kVGFnKSk7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0ZF
Rmxvb2RFbGVtZW50PiBTVkdGRUZsb29kRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRUZ1bmNBRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFRnVuY0FFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFRnVuY0FFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAs
NyBAQCBpbmxpbmUgU1ZHRkVGdW5jQUVsZW1lbnQ6OlNWR0ZFRnVuY0FFbGVtCiAgICAgOiBTVkdD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVGdW5jQVRhZykpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGRUZ1bmNBRWxlbWVudD4g
U1ZHRkVGdW5jQUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGdW5jQkVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNCRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZ1
bmNCRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAgaW5saW5lIFNW
R0ZFRnVuY0JFbGVtZW50OjpTVkdGRUZ1bmNCRWxlbQogICAgIDogU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OmZlRnVuY0JUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRkVGdW5jQkVsZW1lbnQ+IFNWR0ZFRnVuY0JFbGVt
ZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY0dFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGdW5jR0VsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGdW5jR0VsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBAIGlubGluZSBTVkdGRUZ1bmNHRWxlbWVu
dDo6U1ZHRkVGdW5jR0VsZW0KICAgICA6IFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVz
OjpmZUZ1bmNHVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQ
YXNzUmVmUHRyPFNWR0ZFRnVuY0dFbGVtZW50PiBTVkdGRUZ1bmNHRWxlbWVudDo6Y3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNSRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY1JFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY1JFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNiArMzAsNyBAQCBpbmxpbmUgU1ZHRkVGdW5jUkVsZW1lbnQ6OlNWR0ZFRnVuY1JF
bGVtCiAgICAgOiBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVGdW5jUlRhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdG
RUZ1bmNSRWxlbWVudD4gU1ZHRkVGdW5jUkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAgaW5saW5lIFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVu
dDo6U1ZHRkVHYQogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRh
Z05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZUdh
dXNzaWFuQmx1clRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBy
ZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCgpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDcgQEAgaW5saW5lIFNWR0ZFSW1hZ2VFbGVtZW50
OjpTVkdGRUltYWdlRWxlbQogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVz
OjpmZUltYWdlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJl
Z2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRkVJbWFnZUVsZW1lbnQoKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIGlubGluZSBTVkdGRU1lcmdlRWxlbWVudDo6U1ZHRkVN
ZXJnZUVsZW0KICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVNZXJn
ZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxTVkdGRU1lcmdlRWxlbWVudD4gU1ZHRkVNZXJnZUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgaW5saW5lIFNWR0ZFTWVyZ2VOb2RlRWxlbWVudDo6U1ZH
RkVNZXJnZQogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVNZXJnZU5vZGVUYWcpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdG
RU1lcmdlTm9kZUVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
TW9ycGhvbG9neUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MCw2ICs1MCw3IEBAIGlubGluZSBTVkdGRU1vcnBob2xvZ3lFbGVtZW50OjpTVkdGRU1vcnAKICAg
ICAsIG1fX29wZXJhdG9yKEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERSkKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVNb3JwaG9sb2d5VGFnKSk7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZH
RkVNb3JwaG9sb2d5RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVPZmZzZXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVPZmZzZXRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcg
QEAgaW5saW5lIFNWR0ZFT2Zmc2V0RWxlbWVudDo6U1ZHRkVPZmZzZXRFbAogICAgIDogU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAg
IEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZU9mZnNldFRhZykpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNW
R0ZFT2Zmc2V0RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVQ
b2ludExpZ2h0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFUG9pbnRMaWdodEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDYgKzMxLDcgQEAgaW5saW5lIFNWR0ZFUG9pbnRMaWdodEVsZW1lbnQ6OlNWR0ZFUG9pbgogICAg
IDogU1ZHRkVMaWdodEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUoU1ZHTmFtZXM6OmZlUG9pbnRMaWdodFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGRVBvaW50TGlnaHRFbGVtZW50PiBT
VkdGRVBvaW50TGlnaHRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTVkdGRVNwZWN1bGFyTGlnaHRpbmdF
bGVtZW50OjpTVkcKICAgICAsIG1fc3VyZmFjZVNjYWxlKDEpCiB7CiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OmZlU3BlY3VsYXJMaWdodGluZ1RhZykpOworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0ZF
U3BlY3VsYXJMaWdodGluZ0VsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFU3BvdExpZ2h0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFU3BvdExpZ2h0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRVNwb3RMaWdodEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw2ICszMSw3IEBAIGlubGluZSBTVkdGRVNwb3RMaWdodEVsZW1lbnQ6OlNWR0ZFU3BvdEwK
ICAgICA6IFNWR0ZFTGlnaHRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VS
VChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZVNwb3RMaWdodFRhZykpOworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGRVNwb3RMaWdodEVsZW1lbnQ+
IFNWR0ZFU3BvdExpZ2h0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVRp
bGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxl
RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RVRpbGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBpbmxpbmUg
U1ZHRkVUaWxlRWxlbWVudDo6U1ZHRkVUaWxlRWxlbWVuCiAgICAgOiBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXModGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUoU1ZHTmFtZXM6OmZlVGlsZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0ZFVGlsZUVsZW1l
bnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
VHVyYnVsZW5jZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw2ICs1NSw3IEBAIGlu
bGluZSBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpTVkdGRVR1cmIKICAgICAsIG1fdHlwZShGRVRV
UkJVTEVOQ0VfVFlQRV9UVVJCVUxFTkNFKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05h
bWVzOjpmZVR1cmJ1bGVuY2VUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRVR1cmJ1bGVuY2VFbGVtZW50
KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzQsNiArNzQsNyBAQCBpbmxpbmUgU1ZHRmlsdGVyRWxlbWVu
dDo6U1ZHRmlsdGVyRWxlbWVuCiAgICAgLy8gU3BlYzogSWYgdGhlIHgveSBhdHRyaWJ1dGUgaXMg
bm90IHNwZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBhIHZhbHVlIG9mICItMTAlIiB3ZXJl
IHNwZWNpZmllZC4KICAgICAvLyBTcGVjOiBJZiB0aGUgd2lkdGgvaGVpZ2h0IGF0dHJpYnV0ZSBp
cyBub3Qgc3BlY2lmaWVkLCB0aGUgZWZmZWN0IGlzIGFzIGlmIGEgdmFsdWUgb2YgIjEyMCUiIHdl
cmUgc3BlY2lmaWVkLgogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmaWx0ZXJUYWcp
KTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRl
ZFByb3BlcnRpZXNGb3JTVkdGaWx0ZXJFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGb250RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZvbnRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBA
QCBpbmxpbmUgU1ZHRm9udEVsZW1lbnQ6OlNWR0ZvbnRFbGVtZW50KGNvCiAgICAgLCBtX2lzR2x5
cGhDYWNoZVZhbGlkKGZhbHNlKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpm
b250VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVy
QW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRm9udEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw2ICs1Myw3IEBAIGlubGluZSBTVkdGb250RmFjZUVsZW1lbnQ6OlNWR0ZvbnRGYWNl
RWwKICAgICAsIG1fZm9udEVsZW1lbnQoMCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShmb250
X2ZhY2VUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgUmVmUHRy
PFN0eWxlUHJvcGVydHlTZXQ+IHN0eWxlRGVjbGFyYXRpb24gPSBTdHlsZVByb3BlcnR5U2V0Ojpj
cmVhdGUoQ1NTU3RyaWN0TW9kZSk7CiAgICAgbV9mb250RmFjZVJ1bGUtPnNldFByb3BlcnRpZXMo
c3R5bGVEZWNsYXJhdGlvbi5yZWxlYXNlKCkpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw2ICszMyw3IEBAIGlubGluZSBTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQ6
OlNWR0ZvbnQKICAgICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNT
RVJUKGhhc1RhZ05hbWUoZm9udF9mYWNlX2Zvcm1hdFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQ+
IFNWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250RmFjZU5hbWVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRm9udEZhY2VOYW1lRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNiArMzEsNyBAQCBpbmxpbmUgU1ZHRm9udEZhY2VOYW1lRWxlbWVudDo6U1ZHRm9udEZhCiAg
ICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdO
YW1lKFNWR05hbWVzOjpmb250X2ZhY2VfbmFtZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGb250RmFjZU5hbWVFbGVtZW50PiBTVkdG
b250RmFjZU5hbWVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNl
U3JjRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlU3JjRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3
IEBAIGlubGluZSBTVkdGb250RmFjZVNyY0VsZW1lbnQ6OlNWR0ZvbnRGYWMKICAgICA6IFNWR0Vs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZm9udF9m
YWNlX3NyY1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFz
c1JlZlB0cjxTVkdGb250RmFjZVNyY0VsZW1lbnQ+IFNWR0ZvbnRGYWNlU3JjRWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsNyBAQCBpbmxpbmUgU1ZHRm9udEZhY2VV
cmlFbGVtZW50OjpTVkdGb250RmFjCiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGZvbnRfZmFjZV91cmlUYWcpKTsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRm9udEZhY2VVcmlF
bGVtZW50PiBTVkdGb250RmFjZVVyaUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTYyLDYgKzYyLDcgQEAgaW5saW5lIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50OjpTVkdG
b3JlaQogICAgICwgbV9oZWlnaHQoTGVuZ3RoTW9kZUhlaWdodCkKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShTVkdOYW1lczo6Zm9yZWlnbk9iamVjdFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0ZvcmVp
Z25PYmplY3RFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNw
cAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBTVkdHRWxlbWVudDo6U1ZHR0VsZW1l
bnQoY29uc3QgUXVhbGlmaWVkCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCwgY29uc3RydWN0aW9uVHlwZSkKIHsKICAgICBBU1NFUlQoaGFzVGFn
TmFtZShTVkdOYW1lczo6Z1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
ICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0dFbGVtZW50KCk7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzcsNiArMzcsNyBAQCBpbmxpbmUgU1ZHR2x5cGhFbGVtZW50OjpTVkdHbHlwaEVsZW1l
bnQoCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpnbHlwaFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdHbHlwaEVsZW1lbnQ+IFNWR0dseXBo
RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQCBpbmxpbmUgU1ZHR2x5cGhS
ZWZFbGVtZW50OjpTVkdHbHlwaFJlZkVsCiAgICAgLCBtX2R5KDApCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUoU1ZHTmFtZXM6OmdseXBoUmVmVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHR2x5cGhSZWZF
bGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGll
bnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksNyBAQCBTVkdHcmFkaWVu
dEVsZW1lbnQ6OlNWR0dyYWRpZW50RWxlbWVudChjCiAgICAgLCBtX3NwcmVhZE1ldGhvZChTVkdT
cHJlYWRNZXRob2RQYWQpCiAgICAgLCBtX2dyYWRpZW50VW5pdHMoU1ZHVW5pdFR5cGVzOjpTVkdf
VU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0dyYWRpZW50RWxl
bWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSEtlcm5FbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSEtlcm5FbGVtZW50LmNwcAko
cmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0hLZXJuRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAgaW5saW5lIFNWR0hLZXJuRWxlbWVu
dDo6U1ZHSEtlcm5FbGVtZW50KAogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkK
IHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6aGtlcm5UYWcpKTsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHSEtlcm5FbGVtZW50
PiBTVkdIS2VybkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAgaW5saW5lIFNWR0ltYWdl
RWxlbWVudDo6U1ZHSW1hZ2VFbGVtZW50KAogICAgICwgbV9pbWFnZUxvYWRlcih0aGlzKQogewog
ICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjppbWFnZVRhZykpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNW
R0ltYWdlRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgaW5saW5lIFNWR0xpbmVF
bGVtZW50OjpTVkdMaW5lRWxlbWVudChjbwogICAgICwgbV95MihMZW5ndGhNb2RlSGVpZ2h0KQog
ewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpsaW5lVGFnKSk7CisgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9y
U1ZHTGluZUVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVh
ckdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02Myw2ICs2Myw3IEBAIGlubGluZSBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OlNWR0xpbmUK
IHsKICAgICAvLyBTcGVjOiBJZiB0aGUgeDIgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRo
ZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1ZSBvZiAiMTAwJSIgd2VyZSBzcGVjaWZpZWQuCiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmxpbmVhckdyYWRpZW50VGFnKSk7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVz
Rm9yU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdNUGF0aEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBA
QCBpbmxpbmUgU1ZHTVBhdGhFbGVtZW50OjpTVkdNUGF0aEVsZW1lbnQoCiAgICAgOiBTVkdFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVz
OjptcGF0aFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdp
c3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR01QYXRoRWxlbWVudCgpOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIFNWR01hcmtlckVsZW1lbnQ6OlNWR01hcmtlckVsZW1l
bgogewogICAgIC8vIFNwZWM6IElmIHRoZSBtYXJrZXJXaWR0aC9tYXJrZXJIZWlnaHQgYXR0cmli
dXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1ZSBvZiAiMyIg
d2VyZSBzcGVjaWZpZWQuCiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6Om1hcmtlclRh
ZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1h
dGVkUHJvcGVydGllc0ZvclNWR01hcmtlckVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3
IEBAIGlubGluZSBTVkdNYXNrRWxlbWVudDo6U1ZHTWFza0VsZW1lbnQoY28KICAgICAvLyBTcGVj
OiBJZiB0aGUgeC95IGF0dHJpYnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZWZmZWN0IGlzIGFz
IGlmIGEgdmFsdWUgb2YgIi0xMCUiIHdlcmUgc3BlY2lmaWVkLgogICAgIC8vIFNwZWM6IElmIHRo
ZSB3aWR0aC9oZWlnaHQgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMg
YXMgaWYgYSB2YWx1ZSBvZiAiMTIwJSIgd2VyZSBzcGVjaWZpZWQuCiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUoU1ZHTmFtZXM6Om1hc2tUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdNYXNrRWxlbWVudCgpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAgaW5saW5lIFNWR01ldGFkYXRhRWxl
bWVudDo6U1ZHTWV0YWRhdGFFbAogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkK
IHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6bWV0YWRhdGFUYWcpKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHTWV0YWRhdGFF
bGVtZW50PiBTVkdNZXRhZGF0YUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TWlzc2luZ0dseXBoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDYgKzI5LDcgQEAgaW5saW5lIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQ6OlNWR01pc3Npbgog
ICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQo
aGFzVGFnTmFtZShTVkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZykpOworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdNaXNzaW5nR2x5cGhFbGVtZW50
PiBTVkdNaXNzaW5nR2x5cGhFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4MSw3IEBAIGlubGluZSBTVkdQ
YXRoRWxlbWVudDo6U1ZHUGF0aEVsZW1lbnQoY28KICAgICAsIG1faXNBbmltVmFsT2JzZXJ2ZWQo
ZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OnBhdGhUYWcpKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3Bl
cnRpZXNGb3JTVkdQYXRoRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0dGVybkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXR0ZXJuRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDcg
QEAgaW5saW5lIFNWR1BhdHRlcm5FbGVtZW50OjpTVkdQYXR0ZXJuRWxlbQogICAgICwgbV9wYXR0
ZXJuQ29udGVudFVuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVT
RSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6cGF0dGVyblRhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVy
dGllc0ZvclNWR1BhdHRlcm5FbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQb2x5Z29uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BvbHlnb25FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BvbHlnb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAs
NyBAQCBpbmxpbmUgU1ZHUG9seWdvbkVsZW1lbnQ6OlNWR1BvbHlnb25FbGVtCiAgICAgOiBTVkdQ
b2x5RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShT
VkdOYW1lczo6cG9seWdvblRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogUGFzc1JlZlB0cjxTVkdQb2x5Z29uRWxlbWVudD4gU1ZHUG9seWdvbkVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seWxpbmVFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seWxpbmVFbGVtZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlsaW5lRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAgaW5saW5lIFNWR1BvbHlsaW5lRWxlbWVudDo6
U1ZHUG9seWxpbmVFbAogICAgIDogU1ZHUG9seUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7
CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OnBvbHlsaW5lVGFnKSk7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR1BvbHlsaW5lRWxl
bWVudD4gU1ZHUG9seWxpbmVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Jh
ZGlhbEdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02OSw2ICs2OSw3IEBAIGlubGluZSBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OlNWR1Jh
ZGkKIHsKICAgICAvLyBTcGVjOiBJZiB0aGUgY3gvY3kvci9mciBhdHRyaWJ1dGUgaXMgbm90IHNw
ZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBhIHZhbHVlIG9mICI1MCUiIHdlcmUgc3BlY2lm
aWVkLgogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRpYWxHcmFkaWVudFRhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVk
UHJvcGVydGllc0ZvclNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYg
KzY0LDcgQEAgaW5saW5lIFNWR1JlY3RFbGVtZW50OjpTVkdSZWN0RWxlbWVudChjbwogICAgICwg
bV9yeShMZW5ndGhNb2RlSGVpZ2h0KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVz
OjpyZWN0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lz
dGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHUmVjdEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Myw2ICs5
Myw3IEBAIGlubGluZSBTVkdTVkdFbGVtZW50OjpTVkdTVkdFbGVtZW50KGNvbnMKICAgICAsIG1f
dGltZUNvbnRhaW5lcihTTUlMVGltZUNvbnRhaW5lcjo6Y3JlYXRlKHRoaXMpKQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpzdmdUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdTVkdFbGVt
ZW50KCk7CiAgICAgZG9jLT5yZWdpc3RlckZvclBhZ2VDYWNoZVN1c3BlbnNpb25DYWxsYmFja3Mo
dGhpcyk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgaW5saW5lIFNWR1NjcmlwdEVsZW1l
bnQ6OlNWR1NjcmlwdEVsZW1lbgogICAgICwgbV9zdmdMb2FkRXZlbnRUaW1lcih0aGlzLCAmU1ZH
RWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXJGaXJlZCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShTVkdOYW1lczo6c2NyaXB0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHU2NyaXB0RWxlbWVudCgpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2V0RWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NldEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2V0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDYgKzMwLDcgQEAgaW5saW5lIFNWR1NldEVsZW1lbnQ6OlNWR1NldEVsZW1lbnQo
Y29ucwogewogICAgIHNldEFuaW1hdGlvbk1vZGUoVG9BbmltYXRpb24pOwogICAgIEFTU0VSVCho
YXNUYWdOYW1lKFNWR05hbWVzOjpzZXRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHU2V0RWxlbWVudD4gU1ZHU2V0RWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDYsNiArNDYsNyBAQCBpbmxpbmUgU1ZHU3RvcEVsZW1lbnQ6OlNWR1N0b3BFbGVtZW50KGNv
CiAgICAgLCBtX29mZnNldCgwKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpz
dG9wVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVy
QW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHU3RvcEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2
ICs0MCw3IEBAIGlubGluZSBTVkdTdHlsZUVsZW1lbnQ6OlNWR1N0eWxlRWxlbWVudCgKICAgICAs
IG1fc3ZnTG9hZEV2ZW50VGltZXIodGhpcywgJlNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVy
RmlyZWQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OnN0eWxlVGFnKSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBTVkdTdHlsZUVsZW1lbnQ6On5T
VkdTdHlsZUVsZW1lbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3Miw3IEBAIHZvaWQgbWFwQXR0cmli
dXRlVG9DU1NQcm9wZXJ0eShIYXNoTWFwPEEKIFNWR1N0eWxlZEVsZW1lbnQ6OlNWR1N0eWxlZEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBD
b25zdHJ1Y3Rpb25UeXBlIGNvbnN0cnVjdGlvblR5cGUpCiAgICAgOiBTVkdFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50LCBjb25zdHJ1Y3Rpb25UeXBlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR1N0eWxlZEVs
ZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmNw
cAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIGlubGluZSBTVkdTd2l0Y2hF
bGVtZW50OjpTVkdTd2l0Y2hFbGVtZW4KICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVz
Ojpzd2l0Y2hUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVn
aXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdTd2l0Y2hFbGVtZW50KCk7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikK
KysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDYsNiArNDYsNyBAQCBpbmxpbmUgU1ZHU3ltYm9sRWxlbWVudDo6U1ZHU3ltYm9sRWxl
bWVuCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpzeW1ib2xUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdTeW1i
b2xFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNw
cAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDYgKzEzNiw3IEBAIGlubGluZSBTVkdUUmVmRWxl
bWVudDo6U1ZHVFJlZkVsZW1lbnQoY28KICAgICAsIG1fdGFyZ2V0TGlzdGVuZXIoU1ZHVFJlZlRh
cmdldEV2ZW50TGlzdGVuZXI6OmNyZWF0ZSh0aGlzKSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShTVkdOYW1lczo6dHJlZlRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
ICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR1RSZWZFbGVtZW50KCk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQsNiArMzQsNyBAQCBpbmxpbmUgU1ZHVFNwYW5FbGVtZW50OjpTVkdUU3BhbkVs
ZW1lbnQoCiAgICAgOiBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp0c3BhblRhZykpOworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdUU3BhbkVsZW1l
bnQ+IFNWR1RTcGFuRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29u
dGVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0
Q29udGVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEs
NyBAQCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OlNWR1RleHRDb250ZW50RWxlCiAgICAgLCBtX3Nw
ZWNpZmllZFRleHRMZW5ndGgoTGVuZ3RoTW9kZU90aGVyKQogICAgICwgbV9sZW5ndGhBZGp1c3Qo
U1ZHTGVuZ3RoQWRqdXN0U3BhY2luZykKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdUZXh0Q29udGVudEVsZW1l
bnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIGlubGluZSBTVkdUZXh0RWxlbWVudDo6U1ZH
VGV4dEVsZW1lbnQoY28KICAgICA6IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQodGFnTmFtZSwg
ZG9jKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0VGFnKSk7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0
aWVzRm9yU1ZHVGV4dEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRQYXRoRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw3
IEBAIGlubGluZSBTVkdUZXh0UGF0aEVsZW1lbnQ6OlNWR1RleHRQYXRoRWwKICAgICAsIG1fc3Bh
Y2luZyhTVkdUZXh0UGF0aFNwYWNpbmdFeGFjdCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShT
VkdOYW1lczo6dGV4dFBhdGhUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdUZXh0UGF0aEVsZW1lbnQoKTsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRQb3NpdGlvbmluZ0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBA
IEVORF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTCiBTVkdUZXh0UG9zaXRpb25pbmdFbGVt
ZW50OjpTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1RleHRDb250ZW50RWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAg
cmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KCk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQCBpbmxpbmUgU1ZHVGl0bGVFbGVtZW50OjpTVkdU
aXRsZUVsZW1lbnQoCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQog
ewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp0aXRsZVRhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdUaXRsZUVsZW1lbnQ+
IFNWR1RpdGxlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTYsNiArOTYsNyBAQCBpbmxpbmUgU1ZHVXNlRWxlbWVudDo6
U1ZHVXNlRWxlbWVudChjb25zCiB7CiAgICAgQVNTRVJUKGhhc0N1c3RvbVN0eWxlQ2FsbGJhY2tz
KCkpOwogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp1c2VUYWcpKTsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNG
b3JTVkdVc2VFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWS2Vy
bkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWS2VybkVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVktl
cm5FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQCBpbmxpbmUgU1ZH
Vktlcm5FbGVtZW50OjpTVkdWS2VybkVsZW1lbnQoCiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp2a2VyblRhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdW
S2VybkVsZW1lbnQ+IFNWR1ZLZXJuRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdWaWV3RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Zp
ZXdFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1ZpZXdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksNyBAQCBpbmxpbmUg
U1ZHVmlld0VsZW1lbnQ6OlNWR1ZpZXdFbGVtZW50KGNvCiAgICAgLCBtX3ZpZXdUYXJnZXQoU1ZH
TmFtZXM6OnZpZXdUYXJnZXRBdHRyKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVz
Ojp2aWV3VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lz
dGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHVmlld0VsZW1lbnQoKTsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1pvb21FdmVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3
IEBAIFNWR1pvb21FdmVudDo6U1ZHWm9vbUV2ZW50KCkKICAgICA6IG1fbmV3U2NhbGUoMC4wZikK
ICAgICAsIG1fcHJldmlvdXNTY2FsZSgwLjBmKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKIH0KIAogRmxvYXRSZWN0IFNWR1pvb21FdmVudDo6em9vbVJlY3RTY3JlZW4oKSBj
b25zdApJbmRleDogU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCShyZXZpc2lvbiAx
NDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMDMsNiArMjAzLDcgQEAgWE1MSHR0cFJlcXVlc3Q6OlhNTEh0dHBSZXF1ZXN0
KFNjcmlwdEV4ZQogI2lmbmRlZiBOREVCVUcKICAgICB4bWxIdHRwUmVxdWVzdENvdW50ZXIuaW5j
cmVtZW50KCk7CiAjZW5kaWYKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFhNTEh0dHBSZXF1ZXN0Ojp+WE1MSHR0cFJlcXVlc3QoKQpJbmRleDogU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC01MCwxMCArNTAsMTUgQEAgcHVibGljOgogICAgIHZpcnR1YWwgY29u
c3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgeyByZXR1cm4gZXZlbnROYW1l
cygpLmludGVyZmFjZUZvclhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDsgfQogCiBwcml2YXRl
OgotICAgIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudCgpIHsgfQorICAgIFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudCgpCisgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CisgICAgfQorCiAgICAgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgdHlwZSwgYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1bnNpZ25lZCBsb25nIGxv
bmcgbG9hZGVkLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWwpCiAgICAgICAgIDogUHJvZ3Jlc3NF
dmVudCh0eXBlLCBsZW5ndGhDb21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKQogICAgIHsKKyAgICAg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194955</attachid>
            <date>2013-03-25 17:13:09 -0700</date>
            <delta_ts>2013-03-30 11:30:56 -0700</delta_ts>
            <desc>Patch, add missing newline.</desc>
            <filename>patch_113247.txt</filename>
            <type>text/plain</type>
            <size>199503</size>
            <attacher name="Thomas Sepez">tsepez</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NjgyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5NiBAQAorMjAxMy0wMy0yNSAgVG9tIFNl
cGV6ICA8dHNlcGV6QGNocm9taXVtLm9yZz4KKworICAgICAgICBbdjhdIEJpbmRpbmcgaW50ZWdy
aXR5OiBhZGQgU2NyaXB0V3JhcHBhYmxlOjppbml0KCkgYW5kIGNhbGwgaXQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTMyNDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBpcyBjb3JyZWN0IGlm
IFdLIHN0aWxsIGJ1aWxkcy4KKworICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246Okdlb2xvY2F0aW9uKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCQW55OjpJREJBbnkpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OklEQkN1cnNvcik6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yV2l0aFZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQkN1cnNvcldpdGhWYWx1ZTo6SURCQ3Vyc29yV2l0aFZhbHVlKToKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
REJEYXRhYmFzZTo6SURCRGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lE
QkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeTo6SURCRmFjdG9yeSk6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCSW5kZXg6OklEQkluZGV4KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9J
REJLZXlSYW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXlSYW5nZTo6SURCS2V5UmFu
Z2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpJREJPYmplY3RTdG9yZSk6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJPcGVuREJSZXF1ZXN0OjpJREJPcGVuREJSZXF1ZXN0KToKKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3Q6OklEQlJlcXVlc3QpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpJREJUcmFuc2FjdGlv
bik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlZlcnNpb25DaGFuZ2VFdmVudDo6SURCVmVyc2lvbkNo
YW5nZUV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1FdmVudDo6TWVkaWFTdHJlYW1F
dmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0V2ZW50OjpNZWRpYVN0
cmVhbVRyYWNrRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlRv
bmVDaGFuZ2VFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GVG9uZUNoYW5nZUV2
ZW50OjpSVENEVE1GVG9uZUNoYW5nZUV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNo
YW5uZWxFdmVudDo6UlRDRGF0YUNoYW5uZWxFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENJ
Y2VDYW5kaWRhdGVFdmVudDo6UlRDSWNlQ2FuZGlkYXRlRXZlbnQpOgorICAgICAgICAqIE1vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90
aWZpY2F0aW9uOjpOb3RpZmljYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uRXJyb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRp
b25FcnJvcjo6U3BlZWNoUmVjb2duaXRpb25FcnJvcik6CisgICAgICAgICogTW9kdWxlcy9zcGVl
Y2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hS
ZWNvZ25pdGlvbkV2ZW50OjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQ6On5TcGVlY2hSZWNvZ25pdGlvbkV2ZW50KToKKyAg
ICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXNFdmVudDo6U3BlZWNoU3ludGhlc2lzRXZlbnQpOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ6Ok9m
ZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYnNvY2tldHMvQ2xvc2VFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
c2VFdmVudDo6Q2xvc2VFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0V3JhcHBh
YmxlLmg6CisgICAgICAgIChTY3JpcHRXcmFwcGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0V3JhcHBhYmxlOjppbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6
aW5pdEN1c3RvbSk6CisgICAgICAgICogYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpET01EYXRhU3RvcmU6OmdldFdyYXBwZXJGYXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTURhdGFTdG9yZTo6Z2V0V3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpET01E
YXRhU3RvcmU6OmdldFdyYXBwZXJGb3JNYWluV29ybGQpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
RGF0YVN0b3JlOjpzZXRXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6
Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6c2V0KToKKyAgICAgICAgKERP
TURhdGFTdG9yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0V3JhcHBhYmxlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OlNjcmlwdFdyYXBwYWJsZSk6CisgICAg
ICAgIChTY3JpcHRXcmFwcGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxl
Ojp+U2NyaXB0V3JhcHBhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6
d3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OnNldFdyYXBwZXIp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxlOjp0eXBlSW5mbyk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OnNldFR5cGVJbmZvKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdFdyYXBwYWJsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0V3JhcHBhYmxlOjp3cmFwcGVyQ2FuQmVTdG9yZWRJbk9iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OmdldFdyYXBwZXJGcm9tT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6c2V0V3JhcHBlckluT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6Z2V0VHlwZUluZm9Gcm9tT2JqZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6c2V0VHlwZUluZm9Jbk9iamVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRXcmFwcGFibGU6OmluaXQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0V3JhcHBhYmxlOjppbml0Q3VzdG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFdyYXBwYWJsZTo6bWFza09yVW5tYXNrVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
V3JhcHBhYmxlOjpjb250YWluc1R5cGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdy
YXBwYWJsZTo6Y29udGFpbnNXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFdyYXBw
YWJsZTo6ZGlzcG9zZVdyYXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxl
Ojp3ZWFrQ2FsbGJhY2spOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZUxvYWRFdmVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZUxvYWRFdmVudDo6Q1NTRm9udEZhY2VMb2Fk
RXZlbnQpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVJ1bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTRm9udEZhY2VSdWxlOjpDU1NGb250RmFjZVJ1bGUpOgorICAgICAgICAqIGNzcy9D
U1NTdHlsZURlY2xhcmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZURlY2xhcmF0
aW9uOjpDU1NTdHlsZURlY2xhcmF0aW9uKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTTWF0cml4
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU01hdHJpeDo6V2ViS2l0Q1NTTWF0cml4
KToKKyAgICAgICAgKiBkb20vQXR0ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdHRyOjpBdHRy
KToKKyAgICAgICAgKiBkb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6QXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6QXV0b2NvbXBsZXRlRXJyb3JFdmVudCk6Cisg
ICAgICAgICogZG9tL0JlZm9yZUxvYWRFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6QmVmb3Jl
TG9hZEV2ZW50OjpCZWZvcmVMb2FkRXZlbnQpOgorICAgICAgICAqIGRvbS9DREFUQVNlY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0RBVEFTZWN0aW9uOjpDREFUQVNlY3Rpb24pOgorICAg
ICAgICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJE
YXRhOjpDaGFyYWN0ZXJEYXRhKToKKyAgICAgICAgKiBkb20vQ2xpZW50UmVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDbGllbnRSZWN0OjpDbGllbnRSZWN0KToKKyAgICAgICAgKiBkb20vQ29t
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21tZW50OjpDb21tZW50KToKKyAgICAgICAg
KiBkb20vQ29tcG9zaXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGlv
bkV2ZW50OjpDb21wb3NpdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxlbWVudENv
bnN0cnVjdG9yLmlkbDoKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KToKKyAgICAgICAgKiBkb20vRE9NSW1w
bGVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NSW1wbGVtZW50YXRpb246OkRP
TUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBkb20vRE9NU3RyaW5nTWFwLmg6CisgICAgICAg
IChXZWJDb3JlOjpET01TdHJpbmdNYXA6OkRPTVN0cmluZ01hcCk6CisgICAgICAgICogZG9tL0Rl
dmljZU1vdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkV2ZW50
OjpEZXZpY2VNb3Rpb25FdmVudCk6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNl
T3JpZW50YXRpb25FdmVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpOb2RlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRG
cmFnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudEZyYWdtZW50OjpEb2N1bWVu
dEZyYWdtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50VHlwZTo6RG9jdW1lbnRUeXBlKToKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6RWxlbWVudCk6CisgICAgICAgICogZG9t
L0VudGl0eS5oOgorICAgICAgICAoV2ViQ29yZTo6RW50aXR5OjpFbnRpdHkpOgorICAgICAgICAq
IGRvbS9FbnRpdHlSZWZlcmVuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW50aXR5UmVmZXJl
bmNlOjpFbnRpdHlSZWZlcmVuY2UpOgorICAgICAgICAqIGRvbS9FcnJvckV2ZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVycm9yRXZlbnQ6OkVycm9yRXZlbnQpOgorICAgICAgICAqIGRvbS9F
dmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6RXZlbnQpOgorICAgICAgICAqIGRv
bS9Gb2N1c0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OkZvY3VzRXZl
bnQpOgorICAgICAgICAqIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
Okhhc2hDaGFuZ2VFdmVudDo6SGFzaENoYW5nZUV2ZW50KToKKyAgICAgICAgKiBkb20vS2V5Ym9h
cmRFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLZXlib2FyZEV2ZW50OjpLZXlib2FyZEV2
ZW50KToKKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lc3NhZ2VFdmVudDo6TWVzc2FnZUV2ZW50KToKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KToKKyAgICAgICAg
KiBkb20vTXV0YXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbkV2ZW50
OjpNdXRhdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmg6CisgICAgICAg
IChXZWJDb3JlOjpOYW1lZE5vZGVNYXA6Ok5hbWVkTm9kZU1hcCk6CisgICAgICAgICogZG9tL05v
ZGVJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlSXRlcmF0b3I6Ok5vZGVJdGVy
YXRvcik6CisgICAgICAgICogZG9tL05vZGVMaXN0Lmg6CisgICAgICAgIChOb2RlTGlzdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdDo6Tm9kZUxpc3QpOgorICAgICAgICAqIGRvbS9Ob3Rh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RhdGlvbjo6Tm90YXRpb24pOgorICAgICAg
ICAqIGRvbS9PdmVyZmxvd0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok92ZXJmbG93RXZl
bnQ6Ok92ZXJmbG93RXZlbnQpOgorICAgICAgICAqIGRvbS9QYWdlVHJhbnNpdGlvbkV2ZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VUcmFuc2l0aW9uRXZlbnQ6OlBhZ2VUcmFuc2l0aW9u
RXZlbnQpOgorICAgICAgICAqIGRvbS9Qb3BTdGF0ZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBvcFN0YXRlRXZlbnQ6OlBvcFN0YXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9Qcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0luc3RydWN0
aW9uOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pOgorICAgICAgICAqIGRvbS9Qcm9ncmVzc0V2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNzRXZlbnQ6OlByb2dyZXNzRXZlbnQpOgor
ICAgICAgICAqIGRvbS9Qcm9wZXJ0eU5vZGVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBy
b3BlcnR5Tm9kZUxpc3Q6OlByb3BlcnR5Tm9kZUxpc3QpOgorICAgICAgICAqIGRvbS9TaGFkb3dS
b290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QpOgorICAg
ICAgICAqIGRvbS9UZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0OjpUZXh0KToKKyAgICAg
ICAgKiBkb20vVGV4dEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6VGV4
dEV2ZW50KToKKyAgICAgICAgKiBkb20vVG91Y2hFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUb3VjaEV2ZW50OjpUb3VjaEV2ZW50KToKKyAgICAgICAgKiBkb20vVHJhbnNpdGlvbkV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zaXRpb25FdmVudDo6VHJhbnNpdGlvbkV2ZW50
KToKKyAgICAgICAgKiBkb20vVHJlZVdhbGtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmVl
V2Fsa2VyOjpUcmVlV2Fsa2VyKToKKyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpVSUV2ZW50OjpVSUV2ZW50KToKKyAgICAgICAgKiBkb20vV2ViS2l0QW5pbWF0
aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0QW5pbWF0aW9uRXZlbnQ6Oldl
YktpdEFuaW1hdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdFRyYW5zaXRpb25FdmVudDo6V2ViS2l0VHJh
bnNpdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vV2hlZWxFdmVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KToKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QmxvYjo6QmxvYik6CisgICAgICAgICogZmlsZWFwaS9G
aWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OkZpbGUpOgorICAgICAgICAqIGZpbGVh
cGkvRmlsZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxpc3Q6OkZpbGVMaXN0KToK
KyAgICAgICAgKiBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxBbGxDb2xsZWN0aW9uOjpIVE1MQWxsQ29sbGVjdGlvbik6CisgICAgICAgICogaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVu
dDo6SFRNTEFuY2hvckVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEFwcGxldEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFwcGxldEVsZW1lbnQ6OkhUTUxBcHBsZXRFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQXJlYUVsZW1lbnQ6OkhUTUxBcmVhRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MQXVkaW9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBdWRpb0VsZW1lbnQ6
OkhUTUxBdWRpb0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEJSRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQlJFbGVtZW50OjpIVE1MQlJFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxCYXNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQmFzZUVs
ZW1lbnQ6OkhUTUxCYXNlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUZvbnRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRm9udEVsZW1lbnQ6OkhUTUxCYXNl
Rm9udEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6SFRNTEJvZHlFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxCdXR0b25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCdXR0
b25FbGVtZW50OjpIVE1MQnV0dG9uRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6SFRNTENh
bnZhc0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTENvbGxlY3Rpb246OkhUTUxDb2xsZWN0aW9uKToKKyAgICAgICAgKiBo
dG1sL0hUTUxETGlzdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERMaXN0RWxl
bWVudDo6SFRNTERMaXN0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRGF0YUxpc3RFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEYXRhTGlzdEVsZW1lbnQ6OkhUTUxEYXRh
TGlzdEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEZXRhaWxzRWxlbWVudDo6SFRNTERldGFpbHNFbGVtZW50KToK
KyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxEaWFsb2dFbGVtZW50OjpIVE1MRGlhbG9nRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MRGlyZWN0b3J5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlyZWN0b3J5
RWxlbWVudDo6SFRNTERpcmVjdG9yeUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTERpdkVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpdkVsZW1lbnQ6OkhUTUxEaXZFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRG9jdW1lbnQ6OkhUTUxEb2N1bWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVt
ZW50OjpIVE1MRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6OkhUTUxFbWJlZEVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRmllbGRTZXRFbGVtZW50OjpIVE1MRmllbGRTZXRFbGVtZW50KToKKyAgICAgICAgKiBo
dG1sL0hUTUxGb250RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9udEVsZW1l
bnQ6OkhUTUxGb250RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29s
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlv
bjo6SFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24pOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6SFRNTEZvcm1F
bGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZyYW1lRWxlbWVudDo6SFRNTEZyYW1lRWxlbWVudCk6CisgICAgICAgICog
aHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFt
ZVNldEVsZW1lbnQ6OkhUTUxGcmFtZVNldEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEhS
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSFJFbGVtZW50OjpIVE1MSFJFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxIZWFkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSGVhZEVsZW1lbnQ6OkhUTUxIZWFkRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MSGVhZGluZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEhlYWRpbmdFbGVt
ZW50OjpIVE1MSGVhZGluZ0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEh0bWxFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxIdG1sRWxlbWVudDo6SFRNTEh0bWxFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxJRnJhbWVFbGVtZW50OjpIVE1MSUZyYW1lRWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1l
bnQ6OkhUTUxJbWFnZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxLZXlnZW5FbGVtZW50OjpIVE1MS2V5Z2VuRWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MTElFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMSUVsZW1lbnQ6OkhU
TUxMSUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTGFiZWxFbGVtZW50OjpIVE1MTGFiZWxFbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxM
ZWdlbmRFbGVtZW50OjpIVE1MTGVnZW5kRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpIVE1MTGlu
a0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1hcEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1hcEVsZW1lbnQ6OkhUTUxNYXBFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxNYXJxdWVlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWFycXVlZUVs
ZW1lbnQ6OkhUTUxNYXJxdWVlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVs
ZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lbnVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZW51RWxlbWVudDo6SFRNTE1lbnVFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0YUVsZW1lbnQ6
OkhUTUxNZXRhRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvSFRNTE1vZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1vZEVsZW1lbnQ6OkhUTUxNb2RFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxPTGlzdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9MaXN0RWxlbWVudDo6SFRNTE9MaXN0
RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6SFRNTE9iamVjdEVsZW1lbnQpOgorICAgICAg
ICAqIGh0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
T3B0R3JvdXBFbGVtZW50OjpIVE1MT3B0R3JvdXBFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hU
TUxPcHRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50
OjpIVE1MT3B0aW9uRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpIVE1MT3B0
aW9uc0NvbGxlY3Rpb24pOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OkhUTUxPdXRwdXRFbGVtZW50KToK
KyAgICAgICAgKiBodG1sL0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJhZ3JhcGhFbGVtZW50OjpIVE1MUGFyYWdyYXBoRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MUGFyYW1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJh
bUVsZW1lbnQ6OkhUTUxQYXJhbUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFByZUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByZUVsZW1lbnQ6OkhUTUxQcmVFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6SFRNTFByb2dyZXNzRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MUXVvdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxRdW90
ZUVsZW1lbnQ6OkhUTUxRdW90ZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFNjcmlwdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdEVsZW1lbnQ6OkhUTUxTY3Jp
cHRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpIVE1MU2VsZWN0RWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
U291cmNlRWxlbWVudDo6SFRNTFNvdXJjZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFNw
YW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTcGFuRWxlbWVudDo6SFRNTFNw
YW5FbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6SFRNTFN0eWxlRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MVGFibGVDYXB0aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGFibGVDYXB0aW9uRWxlbWVudDo6SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQpOgorICAgICAg
ICAqIGh0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRhYmxlQ2VsbEVsZW1lbnQ6OkhUTUxUYWJsZUNlbGxFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxUYWJsZUNvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlQ29s
RWxlbWVudDo6SFRNTFRhYmxlQ29sRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZUVsZW1lbnQ6OkhUTUxUYWJs
ZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MVGFibGVSb3dFbGVtZW50OjpIVE1MVGFibGVSb3dFbGVtZW50KToK
KyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OjpIVE1MVGFibGVTZWN0aW9uRWxlbWVudCk6
CisgICAgICAgICogaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxUZW1wbGF0ZUVsZW1lbnQ6OkhUTUxUZW1wbGF0ZUVsZW1lbnQpOgorICAgICAgICAq
IGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4
dEFyZWFFbGVtZW50OjpIVE1MVGV4dEFyZWFFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxU
aXRsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRpdGxlRWxlbWVudDo6SFRN
TFRpdGxlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OkhUTUxUcmFja0VsZW1lbnQpOgorICAg
ICAgICAqIGh0bWwvSFRNTFVMaXN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VUxpc3RFbGVtZW50OjpIVE1MVUxpc3RFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxVbmtu
b3duRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFVua25vd25FbGVtZW50OjpIVE1M
VW5rbm93bkVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50OjpIVE1MVmlkZW9FbGVtZW50KToKKyAg
ICAgICAgKiBodG1sL01lZGlhS2V5RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlFdmVudDo6TWVkaWFLZXlFdmVudCk6CisgICAgICAgICogaHRtbC9SYWRpb05vZGVMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJhZGlvTm9kZUxpc3Q6OlJhZGlvTm9kZUxpc3QpOgorICAg
ICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlT
dGF0ZTo6VmFsaWRpdHlTdGF0ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0
OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMQ29udGV4dEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMQ29udGV4
dEV2ZW50OjpXZWJHTENvbnRleHRFdmVudCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNo
YWRvd0VsZW1lbnQ6OkhUTUxTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKiBodG1sL3RyYWNrL1Ry
YWNrRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6VHJhY2tFdmVudCk6
CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NQXBwbGljYXRpb25DYWNoZTo6RE9NQXBwbGljYXRpb25DYWNoZSk6
CisgICAgICAgICogcGFnZS9CYXJJbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhckluZm86
OkJhckluZm8pOgorICAgICAgICAqIHBhZ2UvQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDb25zb2xlOjpDb25zb2xlKToKKyAgICAgICAgKiBwYWdlL0NyeXB0by5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDcnlwdG86OkNyeXB0byk6CisgICAgICAgICogcGFnZS9IaXN0b3J5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okhpc3Rvcnk6Okhpc3RvcnkpOgorICAgICAgICAqIHBhZ2UvTG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9jYXRpb246OkxvY2F0aW9uKToKKyAgICAg
ICAgKiBwYWdlL05hdmlnYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6Ok5h
dmlnYXRvcik6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6UGVyZm9ybWFuY2UpOgorICAgICAgICAqIHBhZ2UvU2NyZWVuLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmVlbjo6U2NyZWVuKToKKyAgICAgICAgKiBwYWdlL1Nw
ZWVjaElucHV0RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoSW5wdXRFdmVudDo6
U3BlZWNoSW5wdXRFdmVudCk6CisgICAgICAgICogcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU1pbWVUeXBlQXJyYXk6OkRPTU1pbWVUeXBlQXJyYXkp
OgorICAgICAgICAqIHBsdWdpbnMvRE9NUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVBsdWdpbjo6RE9NUGx1Z2luKToKKyAgICAgICAgKiBwbHVnaW5zL0RPTVBsdWdpbkFycmF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBsdWdpbkFycmF5OjpET01QbHVnaW5BcnJheSk6Cisg
ICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2U6
OlN0b3JhZ2UpOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
QUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQUVsZW1lbnQ6OlNWR0FFbGVtZW50
KToKKyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0FsdEdseXBoRGVmRWxlbWVudDo6U1ZHQWx0R2x5cGhEZWZFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FsdEdseXBoRWxlbWVudDo6U1ZHQWx0R2x5cGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
QWx0R2x5cGhJdGVtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbHRHbHlwaEl0
ZW1FbGVtZW50OjpTVkdBbHRHbHlwaEl0ZW1FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5p
bWF0ZUNvbG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlQ29sb3JF
bGVtZW50OjpTVkdBbmltYXRlQ29sb3JFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OlNWR0Fu
aW1hdGVFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQ6OlNWR0FuaW1hdGVN
b3Rpb25FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQ6OlNWR0Fu
aW1hdGVUcmFuc2Zvcm1FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0aW9uRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50OjpTVkdBbmltYXRp
b25FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ2lyY2xlRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdDaXJjbGVFbGVtZW50OjpTVkdDaXJjbGVFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NsaXBQ
YXRoRWxlbWVudDo6U1ZHQ2xpcFBhdGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ29t
cG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQ6OlNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdDdXJzb3JFbGVtZW50OjpTVkdDdXJzb3JFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHRGVmc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRGVmc0VsZW1l
bnQ6OlNWR0RlZnNFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRGVzY0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRGVzY0VsZW1lbnQ6OlNWR0Rlc2NFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnQ6
OlNWR0RvY3VtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbGVtZW50OjpTVkdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxsaXBz
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxsaXBzZUVsZW1lbnQ6OlNWR0Vs
bGlwc2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRkVCbGVuZEVsZW1lbnQ6OlNWR0ZFQmxlbmRFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ6OlNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQ6OlNWR0ZFQ29tcG9uZW50VHJh
bnNmZXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29tcG9zaXRlRWxlbWVudDo6U1ZHRkVDb21wb3NpdGVF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQ6OlNWR0ZFQ29udm9s
dmVNYXRyaXhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6
U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVEaXNwbGFj
ZW1lbnRNYXBFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlzcGxhY2VtZW50
TWFwRWxlbWVudDo6U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlz
dGFudExpZ2h0RWxlbWVudDo6U1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRURy
b3BTaGFkb3dFbGVtZW50OjpTVkdGRURyb3BTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRkVGbG9vZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGbG9vZEVsZW1l
bnQ6OlNWR0ZFRmxvb2RFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVGdW5jQUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jQUVsZW1lbnQ6OlNWR0ZFRnVuY0FFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVGdW5jQkVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRkVGdW5jQkVsZW1lbnQ6OlNWR0ZFRnVuY0JFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHRkVGdW5jR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jR0Vs
ZW1lbnQ6OlNWR0ZFRnVuY0dFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVGdW5jUkVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGdW5jUkVsZW1lbnQ6OlNWR0ZFRnVuY1JF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudDo6U1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRkVJbWFnZUVsZW1lbnQ6OlNWR0ZFSW1hZ2VFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRkVNZXJnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVN
ZXJnZUVsZW1lbnQ6OlNWR0ZFTWVyZ2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVNZXJn
ZU5vZGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFTWVyZ2VOb2RlRWxlbWVu
dDo6U1ZHRkVNZXJnZU5vZGVFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRU1vcnBob2xvZ3lFbGVtZW50OjpT
VkdGRU1vcnBob2xvZ3lFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVPZmZzZXRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFT2Zmc2V0RWxlbWVudDo6U1ZHRkVPZmZzZXRF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGRVBvaW50TGlnaHRFbGVtZW50OjpTVkdGRVBvaW50TGlnaHRFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50OjpTVkdGRVNwZWN1
bGFyTGlnaHRpbmdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVTcG90TGlnaHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFU3BvdExpZ2h0RWxlbWVudDo6U1ZHRkVTcG90
TGlnaHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVUaWxlRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGRVRpbGVFbGVtZW50OjpTVkdGRVRpbGVFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpTVkdGRVR1cmJ1bGVuY2VFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJF
bGVtZW50OjpTVkdGaWx0ZXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEVsZW1lbnQ6OlNWR0ZvbnRFbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZvbnRGYWNlRWxlbWVudDo6U1ZHRm9udEZhY2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRG
YWNlRm9ybWF0RWxlbWVudDo6U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250
RmFjZU5hbWVFbGVtZW50OjpTVkdGb250RmFjZU5hbWVFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRm9udEZhY2VTcmNFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNl
U3JjRWxlbWVudDo6U1ZHRm9udEZhY2VTcmNFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRm9u
dEZhY2VVcmlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlVXJpRWxl
bWVudDo6U1ZHRm9udEZhY2VVcmlFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQ6OlNWR0ZvcmVpZ25PYmplY3RFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHR0VsZW1lbnQ6OlNWR0dFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHR2x5cGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBo
RWxlbWVudDo6U1ZHR2x5cGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhSZWZFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBoUmVmRWxlbWVudDo6U1ZHR2x5cGhS
ZWZFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6U1ZHR3JhZGllbnRFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHSEtlcm5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0hL
ZXJuRWxlbWVudDo6U1ZHSEtlcm5FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlRWxlbWVudDo6U1ZHSW1hZ2VFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTGluZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTGluZUVsZW1lbnQ6OlNWR0xpbmVFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xpbmVhckdyYWRp
ZW50RWxlbWVudDo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
TVBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01QYXRoRWxlbWVudDo6U1ZH
TVBhdGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFza0Vs
ZW1lbnQ6OlNWR01hc2tFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWV0YWRhdGFFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01ldGFkYXRhRWxlbWVudDo6U1ZHTWV0YWRhdGFF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdNaXNzaW5nR2x5cGhFbGVtZW50OjpTVkdNaXNzaW5nR2x5cGhFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUGF0aEVsZW1lbnQ6OlNWR1BhdGhFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUGF0
dGVybkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OlNW
R1BhdHRlcm5FbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUG9seWdvbkVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUG9seWdvbkVsZW1lbnQ6OlNWR1BvbHlnb25FbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHUG9seWxpbmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1BvbHlsaW5lRWxlbWVudDo6U1ZHUG9seWxpbmVFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudDo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHUmVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVjdEVsZW1lbnQ6
OlNWR1JlY3RFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpTVkdTVkdFbGVtZW50KToKKyAgICAgICAgKiBz
dmcvU1ZHU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTY3JpcHRFbGVt
ZW50OjpTVkdTY3JpcHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU2V0RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdTZXRFbGVtZW50OjpTVkdTZXRFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RvcEVs
ZW1lbnQ6OlNWR1N0b3BFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU3R5bGVFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlRWxlbWVudDo6U1ZHU3R5bGVFbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdTdHlsZWRFbGVtZW50OjpTVkdTdHlsZWRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU3dp
dGNoRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTd2l0Y2hFbGVtZW50OjpTVkdT
d2l0Y2hFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdTeW1ib2xFbGVtZW50OjpTVkdTeW1ib2xFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVFJlZkVs
ZW1lbnQ6OlNWR1RSZWZFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVFNwYW5FbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RTcGFuRWxlbWVudDo6U1ZHVFNwYW5FbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1RleHRDb250ZW50RWxlbWVudDo6U1ZHVGV4dENvbnRlbnRFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHVGV4dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dEVs
ZW1lbnQ6OlNWR1RleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRQYXRoRWxlbWVudDo6U1ZHVGV4dFBhdGhF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50OjpTVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGl0bGVFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1RpdGxlRWxlbWVudDo6U1ZHVGl0bGVFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50
OjpTVkdVc2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVktlcm5FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1ZLZXJuRWxlbWVudDo6U1ZHVktlcm5FbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHVmlld0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0Vs
ZW1lbnQ6OlNWR1ZpZXdFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHWm9vbUV2ZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21FdmVudDo6U1ZHWm9vbUV2ZW50KToKKyAgICAgICAg
KiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVl
c3Q6OlhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6
OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudCk6CisgICAgICAgIChYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQpOgorCiAyMDEzLTAzLTI1ICBCcmFuZG9uIEpvbmVzICA8YmFqb25lc0Bnb29n
bGUuY29tPgogCiAgICAgICAgIFdFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyBuZWVkcyBp
bXBsZW1lbnRhdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9s
b2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNDQsNiArMjQ0LDcgQEAgR2VvbG9jYXRpb246Okdlb2xvY2F0aW9uKFNjcmlwdEV4ZWN1dGlv
bgogICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQpCiAgICAgLCBtX2FsbG93R2VvbG9jYXRp
b24oVW5rbm93bikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEdl
b2xvY2F0aW9uOjp+R2VvbG9jYXRpb24oKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQW55LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJBbnkuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1
OCw3IEBAIElEQkFueTo6SURCQW55KFR5cGUgdHlwZSkKICAgICAsIG1faW50ZWdlcigwKQogewog
ICAgIEFTU0VSVCh0eXBlID09IFVuZGVmaW5lZFR5cGUgfHwgdHlwZSA9PSBOdWxsVHlwZSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6On5JREJBbnkoKQpA
QCAtMTM1LDYgKzEzNiw3IEBAIElEQkFueTo6SURCQW55KFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlz
dD4KICAgICAsIG1fZG9tU3RyaW5nTGlzdCh2YWx1ZSkKICAgICAsIG1faW50ZWdlcigwKQogewor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURCQW55OjpJREJBbnkoUGFz
c1JlZlB0cjxJREJDdXJzb3JXaXRoVmFsdWU+IHZhbHVlKQpAQCAtMTQyLDYgKzE0NCw3IEBAIElE
QkFueTo6SURCQW55KFBhc3NSZWZQdHI8SURCQ3Vyc29yV2l0aFYKICAgICAsIG1faWRiQ3Vyc29y
V2l0aFZhbHVlKHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShQYXNzUmVmUHRyPElEQkN1cnNv
cj4gdmFsdWUpCkBAIC0xNDksNiArMTUyLDcgQEAgSURCQW55OjpJREJBbnkoUGFzc1JlZlB0cjxJ
REJDdXJzb3I+IHZhbAogICAgICwgbV9pZGJDdXJzb3IodmFsdWUpCiAgICAgLCBtX2ludGVnZXIo
MCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElEQkFueTo6SURC
QW55KFBhc3NSZWZQdHI8SURCRGF0YWJhc2U+IHZhbHVlKQpAQCAtMTU2LDYgKzE2MCw3IEBAIElE
QkFueTo6SURCQW55KFBhc3NSZWZQdHI8SURCRGF0YWJhc2U+IHYKICAgICAsIG1faWRiRGF0YWJh
c2UodmFsdWUpCiAgICAgLCBtX2ludGVnZXIoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIElEQkFueTo6SURCQW55KFBhc3NSZWZQdHI8SURCRmFjdG9yeT4gdmFs
dWUpCkBAIC0xNjMsNiArMTY4LDcgQEAgSURCQW55OjpJREJBbnkoUGFzc1JlZlB0cjxJREJGYWN0
b3J5PiB2YQogICAgICwgbV9pZGJGYWN0b3J5KHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShQ
YXNzUmVmUHRyPElEQkluZGV4PiB2YWx1ZSkKQEAgLTE3MCw2ICsxNzYsNyBAQCBJREJBbnk6OklE
QkFueShQYXNzUmVmUHRyPElEQkluZGV4PiB2YWx1CiAgICAgLCBtX2lkYkluZGV4KHZhbHVlKQog
ICAgICwgbV9pbnRlZ2VyKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBJREJBbnk6OklEQkFueShQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB2YWx1ZSkKQEAg
LTE3Nyw2ICsxODQsNyBAQCBJREJBbnk6OklEQkFueShQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9u
CiAgICAgLCBtX2lkYlRyYW5zYWN0aW9uKHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShQYXNz
UmVmUHRyPElEQk9iamVjdFN0b3JlPiB2YWx1ZSkKQEAgLTE4NCw2ICsxOTIsNyBAQCBJREJBbnk6
OklEQkFueShQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlCiAgICAgLCBtX2lkYk9iamVjdFN0b3Jl
KHZhbHVlKQogICAgICwgbV9pbnRlZ2VyKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogfQogCiBJREJBbnk6OklEQkFueShjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUpCkBA
IC0xOTEsNiArMjAwLDcgQEAgSURCQW55OjpJREJBbnkoY29uc3QgU2NyaXB0VmFsdWUmIHZhbHVl
KQogICAgICwgbV9zY3JpcHRWYWx1ZSh2YWx1ZSkKICAgICAsIG1faW50ZWdlcigwKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURCQW55OjpJREJBbnkoY29uc3Qg
SURCS2V5UGF0aCYgdmFsdWUpCkBAIC0xOTgsNiArMjA4LDcgQEAgSURCQW55OjpJREJBbnkoY29u
c3QgSURCS2V5UGF0aCYgdmFsdWUpCiAgICAgLCBtX2lkYktleVBhdGgodmFsdWUpCiAgICAgLCBt
X2ludGVnZXIoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElE
QkFueTo6SURCQW55KGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC0yMDUsMTIgKzIxNiwxNCBAQCBJ
REJBbnk6OklEQkFueShjb25zdCBTdHJpbmcmIHZhbHVlKQogICAgICwgbV9zdHJpbmcodmFsdWUp
CiAgICAgLCBtX2ludGVnZXIoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiB9CiAKIElEQkFueTo6SURCQW55KGludDY0X3QgdmFsdWUpCiAgICAgOiBtX3R5cGUoSW50ZWdl
clR5cGUpCiAgICAgLCBtX2ludGVnZXIodmFsdWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDcgQEAgSURCQ3Vyc29yOjpJREJDdXJzb3IoUGFzc1Jl
ZlB0cjxJREJDdXJzbwogICAgIEFTU0VSVChtX3JlcXVlc3QpOwogICAgIEFTU0VSVChtX3NvdXJj
ZS0+dHlwZSgpID09IElEQkFueTo6SURCT2JqZWN0U3RvcmVUeXBlIHx8IG1fc291cmNlLT50eXBl
KCkgPT0gSURCQW55OjpJREJJbmRleFR5cGUpOwogICAgIEFTU0VSVChtX3RyYW5zYWN0aW9uKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElEQkN1cnNvcjo6fklEQkN1
cnNvcigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JX
aXRoVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgUGFzc1JlZlB0cjxJREJDdXJzb3JXaXRoVmFsdWU+IElE
QkN1cnNvcgogSURCQ3Vyc29yV2l0aFZhbHVlOjpJREJDdXJzb3JXaXRoVmFsdWUoUGFzc1JlZlB0
cjxJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlPiBiYWNrZW5kLCBJbmRleGVkREI6OkN1cnNvckRp
cmVjdGlvbiBkaXJlY3Rpb24sIElEQlJlcXVlc3QqIHJlcXVlc3QsIElEQkFueSogc291cmNlLCBJ
REJUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24pCiAgICAgOiBJREJDdXJzb3IoYmFja2VuZCwgZGly
ZWN0aW9uLCByZXF1ZXN0LCBzb3VyY2UsIHRyYW5zYWN0aW9uKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURCQ3Vyc29yV2l0aFZhbHVlOjp+SURCQ3Vyc29yV2l0
aFZhbHVlKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFi
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJEYXRhYmFzZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcs
NyBAQCBJREJEYXRhYmFzZTo6SURCRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uCiB7CiAgICAgLy8g
V2UgcGFzcyBhIHJlZmVyZW5jZSBvZiB0aGlzIG9iamVjdCBiZWZvcmUgaXQgY2FuIGJlIGFkb3B0
ZWQuCiAgICAgcmVsYXhBZG9wdGlvblJlcXVpcmVtZW50KCk7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBJREJEYXRhYmFzZTo6fklEQkRhdGFiYXNlKCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0
b3J5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsNyBAQCBJREJGYWN0b3J5OjpJREJG
YWN0b3J5KElEQkZhY3RvcnlCYWNrZW5kCiB7CiAgICAgLy8gV2UgcGFzcyBhIHJlZmVyZW5jZSB0
byB0aGlzIG9iamVjdCBiZWZvcmUgaXQgY2FuIGJlIGFkb3B0ZWQuCiAgICAgcmVsYXhBZG9wdGlv
blJlcXVpcmVtZW50KCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBJ
REJGYWN0b3J5Ojp+SURCRmFjdG9yeSgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJJbmRleC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCSW5kZXguY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDYgKzUwLDcgQEAgSURCSW5kZXg6OklEQkluZGV4KGNvbnN0IElEQkluZGV4TWV0YWRhdAogICAg
IEFTU0VSVChtX29iamVjdFN0b3JlKTsKICAgICBBU1NFUlQobV90cmFuc2FjdGlvbik7CiAgICAg
QVNTRVJUKG1fbWV0YWRhdGEuaWQgIT0gSURCSW5kZXhNZXRhZGF0YTo6SW52YWxpZElkKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIElEQkluZGV4Ojp+SURCSW5kZXgo
KQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVJh
bmdlLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCS2V5UmFuZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIElE
QktleVJhbmdlOjpJREJLZXlSYW5nZShQYXNzUmVmUHRyPElEQksKICAgICAsIG1fbG93ZXJUeXBl
KGxvd2VyVHlwZSkKICAgICAsIG1fdXBwZXJUeXBlKHVwcGVyVHlwZSkKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFNjcmlwdFZhbHVlIElEQktleVJhbmdlOjpsb3dl
clZhbHVlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIGNvbnN0CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJPYmplY3RTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDcgQEAgSURCT2Jq
ZWN0U3RvcmU6OklEQk9iamVjdFN0b3JlKGNvbnN0IElEQgogICAgIEFTU0VSVChtX3RyYW5zYWN0
aW9uKTsKICAgICAvLyBXZSBwYXNzIGEgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0IGJlZm9yZSBp
dCBjYW4gYmUgYWRvcHRlZC4KICAgICByZWxheEFkb3B0aW9uUmVxdWlyZW1lbnQoKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlz
dD4gSURCT2JqZWN0U3RvcmU6OmluZGV4TmFtZXMoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9w
ZW5EQlJlcXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw3IEBAIElEQk9wZW5E
QlJlcXVlc3Q6OklEQk9wZW5EQlJlcXVlc3QoU2NyaXAKICAgICAsIG1fdmVyc2lvbih2ZXJzaW9u
KQogewogICAgIEFTU0VSVCghbV9yZXN1bHQpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogSURCT3BlbkRCUmVxdWVzdDo6fklEQk9wZW5EQlJlcXVlc3QoKQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJl
cXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4Niw3IEBAIElEQlJlcXVlc3Q6OklE
QlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ28KICAgICAsIG1fcHJldmVudFByb3BhZ2F0aW9uKGZh
bHNlKQogICAgICwgbV9yZXF1ZXN0U3RhdGUoY29udGV4dCkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIElEQlJlcXVlc3Q6On5JREJSZXF1ZXN0KCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDYgKzEwMiw3IEBAIElE
QlRyYW5zYWN0aW9uOjpJREJUcmFuc2FjdGlvbihTY3JpcHRFeGUKICAgICAsIG1fY29udGV4dFN0
b3BwZWQoZmFsc2UpCiAgICAgLCBtX3ByZXZpb3VzTWV0YWRhdGEocHJldmlvdXNNZXRhZGF0YSkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKG1vZGUgPT0gSW5k
ZXhlZERCOjpUcmFuc2FjdGlvblZlcnNpb25DaGFuZ2UpIHsKICAgICAgICAgLy8gTm90IGFjdGl2
ZSB1bnRpbCB0aGUgY2FsbGJhY2suCiAgICAgICAgIG1fc3RhdGUgPSBJbmFjdGl2ZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVmVy
c2lvbkNoYW5nZUV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDMsNiArNDMsNyBAQCBJREJWZXJzaW9uQ2hhbmdlRXZlbnQ6OklEQlZlcnNpb25DaGFu
Z2VFCiAgICAgLCBtX29sZFZlcnNpb24ob2xkVmVyc2lvbikKICAgICAsIG1fbmV3VmVyc2lvbihu
ZXdWZXJzaW9uKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSURC
VmVyc2lvbkNoYW5nZUV2ZW50Ojp+SURCVmVyc2lvbkNoYW5nZUV2ZW50KCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1FdmVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUV2
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbUV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0
LDIxIEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1FdmVudD4gTWVkaWFTdHJlYW0KIAogTWVkaWFT
dHJlYW1FdmVudDo6TWVkaWFTdHJlYW1FdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBNZWRpYVN0cmVhbUV2ZW50OjpNZWRpYVN0cmVhbUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtKQogICAgIDogRXZlbnQodHlwZSwgY2FuQnViYmxl
LCBjYW5jZWxhYmxlKQogICAgICwgbV9zdHJlYW0oc3RyZWFtKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogTWVkaWFTdHJlYW1FdmVudDo6TWVkaWFTdHJlYW1FdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlhU3RyZWFtRXZlbnRJbml0JiBp
bml0aWFsaXplcikKICAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQogICAgICwgbV9zdHJl
YW0oaW5pdGlhbGl6ZXIuc3RyZWFtKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKIH0KIAogTWVkaWFTdHJlYW1FdmVudDo6fk1lZGlhU3RyZWFtRXZlbnQoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrRXZlbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFja0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrRXZlbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NSwxMiArNDUsMTQgQEAgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrRXZlbnQ+
IE1lZGlhUwogCiBNZWRpYVN0cmVhbVRyYWNrRXZlbnQ6Ok1lZGlhU3RyZWFtVHJhY2tFdmVudCgp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBNZWRpYVN0cmVhbVRy
YWNrRXZlbnQ6Ok1lZGlhU3RyZWFtVHJhY2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1U
cmFjaz4gdHJhY2spCiAgICAgOiBFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpCiAg
ICAgLCBtX3RyYWNrKHRyYWNrKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogTWVkaWFTdHJlYW1UcmFja0V2ZW50Ojp+TWVkaWFTdHJlYW1UcmFja0V2ZW50KCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlRvbmVDaGFuZ2VF
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GVG9uZUNoYW5nZUV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GVG9uZUNoYW5nZUV2ZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTAsMTggKzUwLDIxIEBAIFBhc3NSZWZQdHI8UlRDRFRNRlRvbmVD
aGFuZ2VFdmVudD4gUlRDRFQKIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6UlRDRFRNRlRvbmVD
aGFuZ2VFdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBS
VENEVE1GVG9uZUNoYW5nZUV2ZW50OjpSVENEVE1GVG9uZUNoYW5nZUV2ZW50KGNvbnN0IFN0cmlu
ZyYgdG9uZSkKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS50b25lY2hhbmdlRXZlbnQsIGZhbHNl
LCBmYWxzZSkKICAgICAsIG1fdG9uZSh0b25lKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKIH0KIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6UlRDRFRNRlRvbmVDaGFuZ2VF
dmVudChjb25zdCBSVENEVE1GVG9uZUNoYW5nZUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAg
OiBFdmVudChldmVudE5hbWVzKCkudG9uZWNoYW5nZUV2ZW50LCBpbml0aWFsaXplcikKICAgICAs
IG1fdG9uZShpbml0aWFsaXplci50b25lKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogUlRDRFRNRlRvbmVDaGFuZ2VFdmVudDo6flJUQ0RUTUZUb25lQ2hhbmdlRXZl
bnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hh
bm5lbEV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NSwxMiArNDUsMTQgQEAgUGFzc1JlZlB0cjxSVENEYXRhQ2hhbm5l
bEV2ZW50PiBSVENEYXRhQwogCiBSVENEYXRhQ2hhbm5lbEV2ZW50OjpSVENEYXRhQ2hhbm5lbEV2
ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFJUQ0RhdGFD
aGFubmVsRXZlbnQ6OlJUQ0RhdGFDaGFubmVsRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPFJUQ0RhdGFDaGFu
bmVsPiBjaGFubmVsKQogICAgIDogRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKQog
ICAgICwgbV9jaGFubmVsKGNoYW5uZWwpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBSVENEYXRhQ2hhbm5lbEV2ZW50Ojp+UlRDRGF0YUNoYW5uZWxFdmVudCgpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZUV2
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0ljZUNhbmRpZGF0ZUV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVFdmVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ1LDEyICs0NSwxNCBAQCBQYXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZUV2
ZW50PiBSVENJY2VDCiAKIFJUQ0ljZUNhbmRpZGF0ZUV2ZW50OjpSVENJY2VDYW5kaWRhdGVFdmVu
dCgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBSVENJY2VDYW5k
aWRhdGVFdmVudDo6UlRDSWNlQ2FuZGlkYXRlRXZlbnQoYm9vbCBjYW5CdWJibGUsIGJvb2wgY2Fu
Y2VsYWJsZSwgUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGU+IGNhbmRpZGF0ZSkKICAgICA6IEV2
ZW50KGV2ZW50TmFtZXMoKS5pY2VjYW5kaWRhdGVFdmVudCwgY2FuQnViYmxlLCBjYW5jZWxhYmxl
KQogICAgICwgbV9jYW5kaWRhdGUoY2FuZGlkYXRlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUlRDSWNlQ2FuZGlkYXRlRXZlbnQ6On5SVENJY2VDYW5kaWRhdGVF
dmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU2LDYgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiAjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpA
QCAtNjUsNiArNjYsNyBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihjb25zdCBLVVJMJiB1
CiAgICAgLCBtX3N0YXRlKElkbGUpCiAgICAgLCBtX25vdGlmaWNhdGlvbkNlbnRlcihwcm92aWRl
cikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKG1fbm90aWZp
Y2F0aW9uQ2VudGVyLT5jaGVja1Blcm1pc3Npb24oKSAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBl
cm1pc3Npb25BbGxvd2VkKSB7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICBy
ZXR1cm47CkBAIC04OCw2ICs5MCw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0
IFN0cmluZyYKICAgICAsIG1fc3RhdGUoSWRsZSkKICAgICAsIG1fbm90aWZpY2F0aW9uQ2VudGVy
KHByb3ZpZGVyKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBpZiAo
bV9ub3RpZmljYXRpb25DZW50ZXItPmNoZWNrUGVybWlzc2lvbigpICE9IE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CiAg
ICAgICAgIHJldHVybjsKQEAgLTEwOSw4ICsxMTIsOSBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNh
dGlvbihTY3JpcHRFeGVjdXRpCiAgICAgLCBtX3N0YXRlKElkbGUpCiAgICAgLCBtX3Rhc2tUaW1l
cihhZG9wdFB0cihuZXcgVGltZXI8Tm90aWZpY2F0aW9uPih0aGlzLCAmTm90aWZpY2F0aW9uOjp0
YXNrVGltZXJGaXJlZCkpKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKKyAg
ICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihjb250ZXh0LT5pc0RvY3VtZW50KCkp
OwogICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gRE9NV2luZG93Tm90aWZpY2F0aW9uczo6d2Vi
a2l0Tm90aWZpY2F0aW9ucyh0b0RvY3VtZW50KGNvbnRleHQpLT5kb21XaW5kb3coKSk7Ci0gICAg
CiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7CiAgICAgbV90YXNr
VGltZXItPnN0YXJ0T25lU2hvdCgwKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3IuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25p
dGlvbkVycm9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsNyBAQCBTcGVlY2hSZWNv
Z25pdGlvbkVycm9yOjpTcGVlY2hSZWNvZ25pdGlvCiAgICAgLCBtX2Vycm9yKGVycm9yKQogICAg
ICwgbV9tZXNzYWdlKG1lc3NhZ2UpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBTcGVlY2hSZWNvZ25pdGlvbkVycm9yOjpTcGVlY2hSZWNvZ25pdGlvbkVycm9yKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lLCBjb25zdCBTcGVlY2hSZWNvZ25pdGlvbkVycm9y
SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC04NSw2ICs4Niw3IEBAIFNwZWVjaFJlY29nbml0aW9uRXJy
b3I6OlNwZWVjaFJlY29nbml0aW8KICAgICAsIG1fZXJyb3IoaW5pdGlhbGl6ZXIuZXJyb3IpCiAg
ICAgLCBtX21lc3NhZ2UoaW5pdGlhbGl6ZXIubWVzc2FnZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgU3BlZWNoUmVjb2duaXRp
b25FcnJvcjo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVj
b2duaXRpb25FdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAgU3BlZWNo
UmVjb2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpbwogICAgICwgbV9yZXN1bHRJbmRleChp
bml0aWFsaXplci5yZXN1bHRJbmRleCkKICAgICAsIG1fcmVzdWx0cyhpbml0aWFsaXplci5yZXN1
bHRzKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3BlZWNoUmVj
b2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50TmFtZSwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hS
ZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdHMpCkBAIC04NCwxMCArODUsMTIgQEAgU3BlZWNo
UmVjb2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRpbwogICAgICwgbV9yZXN1bHRJbmRleChy
ZXN1bHRJbmRleCkKICAgICAsIG1fcmVzdWx0cyhyZXN1bHRzKQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3BlZWNoUmVjb2duaXRpb25FdmVudDo6flNwZWVjaFJl
Y29nbml0aW9uRXZlbnQoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
cGVlY2gvU3BlZWNoU3ludGhlc2lzRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzRXZl
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIFBhc3NSZWZQdHI8U3BlZWNo
U3ludGhlc2lzRXZlbnQ+IFNwZWVjaFMKIAogU3BlZWNoU3ludGhlc2lzRXZlbnQ6OlNwZWVjaFN5
bnRoZXNpc0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFNwZWVjaFN5bnRoZXNpc0V2ZW50OjpTcGVlY2hTeW50aGVzaXNFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIHVuc2lnbmVkIGxvbmcgY2hhckluZGV4LCBmbG9hdCBlbGFwc2VkVGltZSwg
Y29uc3QgU3RyaW5nJiBuYW1lKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZl
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIFBhc3NSZWZQdHI8QXVkaW9Q
cm9jZXNzaW5nRXZlbnQ+IEF1ZGlvUHIKIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJv
Y2Vzc2luZ0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1
ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVm
ZmVyKQpAQCAtNTIsNiArNTMsNyBAQCBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNz
aW5nRXZlCiAgICAgLCBtX2lucHV0QnVmZmVyKGlucHV0QnVmZmVyKQogICAgICwgbV9vdXRwdXRC
dWZmZXIob3V0cHV0QnVmZmVyKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6On5BdWRpb1Byb2Nlc3NpbmdFdmVudCgpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25F
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9P
ZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDEzICs0NSwxNCBAQCBQYXNzUmVmUHRyPE9mZmxpbmVB
dWRpb0NvbXBsZXRpb25FdmVudD4gCiAKIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudDo6T2Zm
bGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKLQogT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50OjpPZmZsaW5lQXVkaW9D
b21wbGV0aW9uRXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gcmVuZGVyZWRCdWZmZXIpCiAg
ICAgOiBFdmVudChldmVudE5hbWVzKCkuY29tcGxldGVFdmVudCwgdHJ1ZSwgZmFsc2UpCiAgICAg
LCBtX3JlbmRlcmVkQnVmZmVyKHJlbmRlcmVkQnVmZmVyKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Ojp+T2ZmbGlu
ZUF1ZGlvQ29tcGxldGlvbkV2ZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9DbG9zZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NzgsNiArNzgsNyBAQCBwcml2YXRlOgogICAgICAgICAsIG1fd2FzQ2xlYW4oZmFsc2UpCiAgICAg
ICAgICwgbV9jb2RlKDApCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgfQogCiAgICAgQ2xvc2VFdmVudChib29sIHdhc0NsZWFuLCBpbnQgY29kZSwgY29u
c3QgU3RyaW5nJiByZWFzb24pCkBAIC04Niw2ICs4Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgICwg
bV9jb2RlKGNvZGUpCiAgICAgICAgICwgbV9yZWFzb24ocmVhc29uKQogICAgIHsKKyAgICAgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIENsb3NlRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBDbG9zZUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIp
CkBAIC05NCw2ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgICAgICwgbV9jb2RlKGluaXRpYWxpemVy
LmNvZGUpCiAgICAgICAgICwgbV9yZWFzb24oaW5pdGlhbGl6ZXIucmVhc29uKQogICAgIHsKKyAg
ICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIGJvb2wgbV93
YXNDbGVhbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJs
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBw
YWJsZS5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRXcmFwcGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTAgQEAgcHVibGlj
OgogICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3dyYXBwZXIsICJ3cmFwcGVyIik7CiAgICAgfQog
CisgICAgLy8gTm8tb3AgbWV0aG9kcyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFY4IFNjcmlwdFdy
YXBwYWJsZXMuCisgICAgc3RhdGljIHZvaWQgaW5pdCh2b2lkKikgeyB9CisgICAgc3RhdGljIHZv
aWQgaW5pdEN1c3RvbSh2b2lkKikgeyB9CisKIHByaXZhdGU6CiAgICAgSlNDOjpXZWFrPEpTRE9N
V3JhcHBlcj4gbV93cmFwcGVyOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyArNjYsNyBAQCBw
dWJsaWM6CiAgICAgICAgIC8vIHdheSBpcyB0byBjaGVjayB3aGV0aGVyIHRoZSB3cmFwcGFibGUn
cyB3cmFwcGVyIGlzIHRoZSBzYW1lIGFzCiAgICAgICAgIC8vIHRoZSBob2xkZXIuCiAgICAgICAg
IGlmICgoIURPTVdyYXBwZXJXb3JsZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpICYmICFjYW5FeGlz
dEluV29ya2VyKG9iamVjdCkpIHx8IGhvbGRlckNvbnRhaW5zV3JhcHBlcihjb250YWluZXIsIGhv
bGRlcikpIHsKLSAgICAgICAgICAgIGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVj
dChvYmplY3QpKQorICAgICAgICAgICAgaWYgKFNjcmlwdFdyYXBwYWJsZTo6d3JhcHBlckNhbkJl
U3RvcmVkSW5PYmplY3Qob2JqZWN0KSkKICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0V3JhcHBl
ckZyb21PYmplY3Qob2JqZWN0KTsKICAgICAgICAgICAgIHJldHVybiBtYWluV29ybGRTdG9yZSgp
LT5tX3dyYXBwZXJNYXAuZ2V0KG9iamVjdCk7CiAgICAgICAgIH0KQEAgLTc2LDcgKzc2LDcgQEAg
cHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gZ2V0V3JhcHBlcihUKiBvYmplY3QsIHY4OjpJc29sYXRlKiBpc29sYXRlKQog
ICAgIHsKLSAgICAgICAgaWYgKG1haW5Xb3JsZFdyYXBwZXJJc1N0b3JlZEluT2JqZWN0KG9iamVj
dCkgJiYgIWNhbkV4aXN0SW5Xb3JrZXIob2JqZWN0KSkgeworICAgICAgICBpZiAoU2NyaXB0V3Jh
cHBhYmxlOjp3cmFwcGVyQ2FuQmVTdG9yZWRJbk9iamVjdChvYmplY3QpICYmICFjYW5FeGlzdElu
V29ya2VyKG9iamVjdCkpIHsKICAgICAgICAgICAgIGlmIChMSUtFTFkoIURPTVdyYXBwZXJXb3Js
ZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0V3Jh
cHBlckZyb21PYmplY3Qob2JqZWN0KTsKICAgICAgICAgfQpAQCAtODYsNyArODYsNyBAQCBwdWJs
aWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiBnZXRXcmFwcGVyRm9yTWFpbldvcmxkKFQqIG9iamVjdCkKICAgICB7Ci0gICAgICAg
IGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVjdChvYmplY3QpKQorICAgICAgICBp
ZiAoU2NyaXB0V3JhcHBhYmxlOjp3cmFwcGVyQ2FuQmVTdG9yZWRJbk9iamVjdChvYmplY3QpKQog
ICAgICAgICAgICAgcmV0dXJuIGdldFdyYXBwZXJGcm9tT2JqZWN0KG9iamVjdCk7CiAgICAgICAg
IHJldHVybiBtYWluV29ybGRTdG9yZSgpLT5nZXQob2JqZWN0KTsKICAgICB9CkBAIC05NCw3ICs5
NCw3IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIHN0YXRpYyB2b2lk
IHNldFdyYXBwZXIoVCogb2JqZWN0LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIsIHY4
OjpJc29sYXRlKiBpc29sYXRlLCBjb25zdCBXcmFwcGVyQ29uZmlndXJhdGlvbiYgY29uZmlndXJh
dGlvbikKICAgICB7Ci0gICAgICAgIGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVj
dChvYmplY3QpICYmICFjYW5FeGlzdEluV29ya2VyKG9iamVjdCkpIHsKKyAgICAgICAgaWYgKFNj
cmlwdFdyYXBwYWJsZTo6d3JhcHBlckNhbkJlU3RvcmVkSW5PYmplY3Qob2JqZWN0KSAmJiAhY2Fu
RXhpc3RJbldvcmtlcihvYmplY3QpKSB7CiAgICAgICAgICAgICBpZiAoTElLRUxZKCFET01XcmFw
cGVyV29ybGQ6Omlzb2xhdGVkV29ybGRzRXhpc3QoKSkpIHsKICAgICAgICAgICAgICAgICBzZXRX
cmFwcGVySW5PYmplY3Qob2JqZWN0LCB3cmFwcGVyLCBpc29sYXRlLCBjb25maWd1cmF0aW9uKTsK
ICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljOgogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
Z2V0KFQqIG9iamVjdCkKICAgICB7Ci0gICAgICAgIGlmIChtYWluV29ybGRXcmFwcGVySXNTdG9y
ZWRJbk9iamVjdChvYmplY3QpICYmIG1fdHlwZSA9PSBNYWluV29ybGQpCisgICAgICAgIGlmIChT
Y3JpcHRXcmFwcGFibGU6OndyYXBwZXJDYW5CZVN0b3JlZEluT2JqZWN0KG9iamVjdCkgJiYgbV90
eXBlID09IE1haW5Xb3JsZCkKICAgICAgICAgICAgIHJldHVybiBnZXRXcmFwcGVyRnJvbU9iamVj
dChvYmplY3QpOwogICAgICAgICByZXR1cm4gbV93cmFwcGVyTWFwLmdldChvYmplY3QpOwogICAg
IH0KQEAgLTExOSw3ICsxMTksNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgQVNTRVJUKCEh
b2JqZWN0KTsKICAgICAgICAgQVNTRVJUKCF3cmFwcGVyLklzRW1wdHkoKSk7Ci0gICAgICAgIGlm
IChtYWluV29ybGRXcmFwcGVySXNTdG9yZWRJbk9iamVjdChvYmplY3QpICYmIG1fdHlwZSA9PSBN
YWluV29ybGQpIHsKKyAgICAgICAgaWYgKFNjcmlwdFdyYXBwYWJsZTo6d3JhcHBlckNhbkJlU3Rv
cmVkSW5PYmplY3Qob2JqZWN0KSAmJiBtX3R5cGUgPT0gTWFpbldvcmxkKSB7CiAgICAgICAgICAg
ICBzZXRXcmFwcGVySW5PYmplY3Qob2JqZWN0LCB3cmFwcGVyLCBpc29sYXRlLCBjb25maWd1cmF0
aW9uKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTI4LDkgKzEyOCw2IEBA
IHByaXZhdGU6CiAKICAgICBzdGF0aWMgRE9NRGF0YVN0b3JlKiBtYWluV29ybGRTdG9yZSgpOwog
Ci0gICAgc3RhdGljIGJvb2wgbWFpbldvcmxkV3JhcHBlcklzU3RvcmVkSW5PYmplY3Qodm9pZCop
IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgc3RhdGljIGJvb2wgbWFpbldvcmxkV3JhcHBlcklzU3Rv
cmVkSW5PYmplY3QoU2NyaXB0V3JhcHBhYmxlKikgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgc3Rh
dGljIGJvb2wgY2FuRXhpc3RJbldvcmtlcih2b2lkKikgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHN0
YXRpYyBib29sIGNhbkV4aXN0SW5Xb3JrZXIoTm9kZSopIHsgcmV0dXJuIGZhbHNlOyB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFdyYXBwYWJsZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFdyYXBwYWJsZS5oCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRXcmFwcGFi
bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTQsNyArMTQsNyBAQAogICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCkBAIC0zOSw0NiArMzksMTIxIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Ny
aXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBTY3JpcHRXcmFwcGFibGUoKSB7IH0KKyAgICBT
Y3JpcHRXcmFwcGFibGUoKSA6IG1fbWFza2VkU3RvcmFnZSgwKSB7IH0KKworICAgIH5TY3JpcHRX
cmFwcGFibGUoKQorICAgIHsKKyAgICAgICAgbV9tYXNrZWRTdG9yYWdlID0gMDsgLy8gQnJlYWsg
VUFGIGF0dGVtcHRzIHRvIHdyYXAuCisgICAgfQogCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3cmFwcGVyKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+KG1hc2tPclVubWFza1BvaW50ZXIoKm1fbWFza2VkV3JhcHBlcikpOworICAgICAgICB2
ODo6T2JqZWN0KiBvYmplY3QgPSBjb250YWluc1dyYXBwZXIoKSA/IHJlaW50ZXJwcmV0X2Nhc3Q8
djg6Ok9iamVjdCo+KG1hc2tPclVubWFza1ZhbHVlKG1fbWFza2VkU3RvcmFnZSkpIDogMDsKKyAg
ICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4ob2JqZWN0KTsKICAgICB9CiAKICAg
ICB2b2lkIHNldFdyYXBwZXIodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSwgY29uc3QgV3JhcHBlckNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
CiAgICAgewotICAgICAgICBBU1NFUlQobV9tYXNrZWRXcmFwcGVyLklzRW1wdHkoKSk7CisgICAg
ICAgIEFTU0VSVCghY29udGFpbnNXcmFwcGVyKCkpOwogICAgICAgICB2ODo6UGVyc2lzdGVudDx2
ODo6T2JqZWN0PiBwZXJzaXN0ZW50ID0gdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhp
c29sYXRlLCB3cmFwcGVyKTsKICAgICAgICAgY29uZmlndXJhdGlvbi5jb25maWd1cmVXcmFwcGVy
KHBlcnNpc3RlbnQsIGlzb2xhdGUpOwogICAgICAgICBwZXJzaXN0ZW50Lk1ha2VXZWFrKGlzb2xh
dGUsIHRoaXMsIHdlYWtDYWxsYmFjayk7Ci0gICAgICAgIG1fbWFza2VkV3JhcHBlciA9IG1hc2tP
clVubWFza1BvaW50ZXIoKnBlcnNpc3RlbnQpOworICAgICAgICBtX21hc2tlZFN0b3JhZ2UgPSBt
YXNrT3JVbm1hc2tWYWx1ZShyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oKnBlcnNpc3RlbnQp
KTsKKyAgICB9CisKKyAgICBjb25zdCBXcmFwcGVyVHlwZUluZm8qIHR5cGVJbmZvKCkKKyAgICB7
CisgICAgICAgIGlmIChjb250YWluc1R5cGVJbmZvKCkpCisgICAgICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBXcmFwcGVyVHlwZUluZm8qPihtX21hc2tlZFN0b3JhZ2UgJiB+
MSk7CisKKyAgICAgICAgaWYgKGNvbnRhaW5zV3JhcHBlcigpKQorICAgICAgICAgICAgcmV0dXJu
IHRvV3JhcHBlclR5cGVJbmZvKHdyYXBwZXIoKSk7CisKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgdm9pZCBzZXRUeXBlSW5mbyhjb25zdCBXcmFwcGVyVHlwZUluZm8qIGluZm8pCisg
ICAgeworICAgICAgICBtX21hc2tlZFN0b3JhZ2UgPSAocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KGluZm8pIHwgMSk7CiAgICAgfQogCiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpET00pOwotICAgICAgICBpbmZvLmlnbm9yZU1lbWJlcihtX21hc2tlZFdyYXBwZXIpOwor
ICAgICAgICBpbmZvLmlnbm9yZU1lbWJlcihtX21hc2tlZFN0b3JhZ2UpOworICAgIH0KKworICAg
IHN0YXRpYyBib29sIHdyYXBwZXJDYW5CZVN0b3JlZEluT2JqZWN0KGNvbnN0IHZvaWQqKSB7IHJl
dHVybiBmYWxzZTsgfQorICAgIHN0YXRpYyBib29sIHdyYXBwZXJDYW5CZVN0b3JlZEluT2JqZWN0
KGNvbnN0IFNjcmlwdFdyYXBwYWJsZSopIHsgcmV0dXJuIHRydWU7IH0KKworICAgIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGdldFdyYXBwZXJGcm9tT2JqZWN0KHZvaWQqKQorICAgIHsK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+KCk7CisgICAgfQorCisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gZ2V0V3JhcHBlckZyb21PYmplY3QoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QpCisgICAgewor
ICAgICAgICByZXR1cm4gb2JqZWN0LT53cmFwcGVyKCk7CisgICAgfQorCisgICAgc3RhdGljIHZv
aWQgc2V0V3JhcHBlckluT2JqZWN0KHZvaWQqLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+LCB2ODo6
SXNvbGF0ZSosIGNvbnN0IFdyYXBwZXJDb25maWd1cmF0aW9uJikKKyAgICB7CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHNldFdyYXBwZXJJ
bk9iamVjdChTY3JpcHRXcmFwcGFibGUqIG9iamVjdCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3
cmFwcGVyLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgY29uc3QgV3JhcHBlckNvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCisgICAgeworICAgICAgICBvYmplY3QtPnNldFdyYXBwZXIod3JhcHBl
ciwgaXNvbGF0ZSwgY29uZmlndXJhdGlvbik7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0IFdy
YXBwZXJUeXBlSW5mbyogZ2V0VHlwZUluZm9Gcm9tT2JqZWN0KHZvaWQqIG9iamVjdCkKKyAgICB7
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisKKyAgICBzdGF0aWMgY29uc3QgV3JhcHBlclR5cGVJbmZvKiBnZXRUeXBlSW5mb0Zyb21PYmpl
Y3QoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gb2JqZWN0
LT50eXBlSW5mbygpOwogICAgIH0KIAorICAgIHN0YXRpYyB2b2lkIHNldFR5cGVJbmZvSW5PYmpl
Y3Qodm9pZCogb2JqZWN0LCBjb25zdCBXcmFwcGVyVHlwZUluZm8qIGluZm8pCisgICAgeworICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBzZXRU
eXBlSW5mb0luT2JqZWN0KFNjcmlwdFdyYXBwYWJsZSogb2JqZWN0LCBjb25zdCBXcmFwcGVyVHlw
ZUluZm8qIGluZm8pCisgICAgeworICAgICAgICBvYmplY3QtPnNldFR5cGVJbmZvKGluZm8pOwor
ICAgIH0KKworICAgIC8vIFdyYXBwYWJsZXMgbmVlZCB0byBiZSBpbml0aWFsaXplZCB3aXRoIHRo
ZWlyIG1vc3QgZGVycml2ZWQgd3JhcHBlZCB0eXBlCisgICAgLy8gaW4gbXVjaCB0aGUgc2FtZSB3
YXkgdGhhdCBjZXJ0YWluIG90aGVyIHR5cGVzIG5lZWQgdG8gYmUgYWRvcHRlZCBhbmQKKyAgICAv
LyBzbyBmb3J0aC4gVGhlIHRlbXBsYXRlZCBJbml0KCkgbWV0aG9kcyBhcmUgaW5zdGFudGlhdGVk
IGluIHRoZSBnZW5lcmF0ZWQKKyAgICAvLyBWOCBiaW5kaW5ncyBjb2RlLiBUaGUgY3VzdG9tIGlu
aXQgbWV0aG9kIGlzIHByb3ZpZGVkIGJ5IHRoZSBjdXN0b20gZWxlbWVudAorICAgIC8vIGNvbnN0
cnVjdG9yJ3MgY3VzdG9tIGNvZGUuIFRoZSBKU0MgY29kZSB3aWxsIG1haW50YWluIGNvbXBhdGli
aWxpdHkgdmlhCisgICAgLy8gbm8tb3AgKHZvaWQqKSBtZXRob2RzIGhlcmUuCisgICAgLy8gRklY
TUU6IGltcGxlbWVudCB0aGVzZSBpbiB0aGUgc3Vic2VxdWVudCBwYXRjaC4KKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD5zdGF0aWMgdm9pZCBpbml0KFQqIG9iamVjdCkgeyB9CisgICAgc3RhdGlj
IHZvaWQgaW5pdEN1c3RvbShTY3JpcHRXcmFwcGFibGUqIG9iamVjdCkgeyB9CisKIHByaXZhdGU6
Ci0gICAgaW5saW5lIHZvaWQgZGlzcG9zZVdyYXBwZXIodjg6OlBlcnNpc3RlbnQ8djg6OlZhbHVl
PiB2YWx1ZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCisgICAgc3RhdGljIGlubGluZSB1aW50cHRy
X3QgbWFza09yVW5tYXNrVmFsdWUodWludHB0cl90IHZhbHVlKQogICAgIHsKLSAgICAgICAgQVNT
RVJUKCFtX21hc2tlZFdyYXBwZXIuSXNFbXB0eSgpKTsKLSAgICAgICAgQVNTRVJUKCp2YWx1ZSA9
PSBtYXNrT3JVbm1hc2tQb2ludGVyKCptX21hc2tlZFdyYXBwZXIpKTsKLSAgICAgICAgdmFsdWUu
RGlzcG9zZShpc29sYXRlKTsKLSAgICAgICAgbV9tYXNrZWRXcmFwcGVyLkNsZWFyKCk7CisgICAg
ICAgIGNvbnN0IHVpbnRwdHJfdCByYW5kb21NYXNrID0gfigocmVpbnRlcnByZXRfY2FzdDx1aW50
cHRyX3Q+KCZXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSkgPj4gMTMpIHwgMSk7IC8vIEVudHJvcHkg
dmlhIEFTTFIsIGJvdHRvbSBiaXQgY2xlYXIuCisgICAgICAgIHJldHVybiAodmFsdWUgXiByYW5k
b21NYXNrKSAmICghdmFsdWUgLSAxKTsgLy8gUHJlc2VydmUgbnVsbCB3aXRob3V0IGJyYW5jaGlu
Zy4KICAgICB9CiAKLSAgICAvLyBTdG9yZXMgYSBtYXNrZWQgd3JhcHBlciB0byBwcmV2ZW50IGF0
dGFja2VycyBmcm9tIG92ZXJ3cml0aW5nIHRoaXMgZmllbGQKLSAgICAvLyB3aXRoIGEgcGhvbnkg
d3JhcHBlci4KLSAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX21hc2tlZFdyYXBwZXI7
CisgICAgaW5saW5lIGJvb2wgY29udGFpbnNUeXBlSW5mbygpIGNvbnN0IHsgcmV0dXJuIChtX21h
c2tlZFN0b3JhZ2UgJiAxKSA9PSAxOyB9CisgICAgaW5saW5lIGJvb2wgY29udGFpbnNXcmFwcGVy
KCkgY29uc3QgeyByZXR1cm4gbV9tYXNrZWRTdG9yYWdlICYmICFjb250YWluc1R5cGVJbmZvKCk7
IH0KIAotICAgIHN0YXRpYyBpbmxpbmUgdjg6Ok9iamVjdCogbWFza09yVW5tYXNrUG9pbnRlcihj
b25zdCB2ODo6T2JqZWN0KiBvYmplY3QpCisgICAgaW5saW5lIHZvaWQgZGlzcG9zZVdyYXBwZXIo
djg6OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiB2YWx1ZSwgdjg6Oklzb2xhdGUqIGlzb2xhdGUsIGNv
bnN0IFdyYXBwZXJUeXBlSW5mbyogaW5mbykKICAgICB7Ci0gICAgICAgIGNvbnN0IHVpbnRwdHJf
dCBvYmplY3RQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdCk7Ci0g
ICAgICAgIGNvbnN0IHVpbnRwdHJfdCByYW5kb21NYXNrID0gfihyZWludGVycHJldF9jYXN0PHVp
bnRwdHJfdD4oJldlYkNvcmVNZW1vcnlUeXBlczo6RE9NKSA+PiAxMyk7IC8vIEVudHJvcHkgdmlh
IEFTTFIuCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHY4OjpPYmplY3QqPigob2Jq
ZWN0UG9pbnRlciBeIHJhbmRvbU1hc2spICYgKCFvYmplY3RQb2ludGVyIC0gMSkpOyAvLyBQcmVz
ZXJ2ZSBudWxsIHdpdGhvdXQgYnJhbmNoaW5nLgorICAgICAgICBBU1NFUlQoY29udGFpbnNXcmFw
cGVyKCkpOworICAgICAgICBBU1NFUlQocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KCp2YWx1
ZSkgPT0gbWFza09yVW5tYXNrVmFsdWUobV9tYXNrZWRTdG9yYWdlKSk7CisgICAgICAgIHZhbHVl
LkRpc3Bvc2UoaXNvbGF0ZSk7CisgICAgICAgIHNldFR5cGVJbmZvKGluZm8pOwogICAgIH0KIAog
ICAgIHN0YXRpYyB2b2lkIHdlYWtDYWxsYmFjayh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgdjg6OlBl
cnNpc3RlbnQ8djg6OlZhbHVlPiB2YWx1ZSwgdm9pZCogY29udGV4dCkKQEAgLTkzLDEyICsxNjgs
MTkgQEAgcHJpdmF0ZToKICAgICAgICAgV3JhcHBlclR5cGVJbmZvKiBpbmZvID0gdG9XcmFwcGVy
VHlwZUluZm8od3JhcHBlcik7CiAgICAgICAgIEFTU0VSVChpbmZvLT5kZXJlZk9iamVjdEZ1bmN0
aW9uKTsKIAotICAgICAgICBrZXktPmRpc3Bvc2VXcmFwcGVyKHZhbHVlLCBpc29sYXRlKTsKKyAg
ICAgICAga2V5LT5kaXNwb3NlV3JhcHBlcih2YWx1ZSwgaXNvbGF0ZSwgaW5mbyk7CiAgICAgICAg
IC8vIEZJWE1FOiBJIG5vdGljZWQgdGhhdCA1MCV+IG9mIG1pbm9yIEdDIGN5Y2xlIHRpbWVzIGNh
biBiZSBjb25zdW1lZAogICAgICAgICAvLyBpbnNpZGUga2V5LT5kZXJlZigpLCB3aGljaCBjYXVz
ZXMgTm9kZSBkZXN0cnVjdGlvbnMuIFdlIHNob3VsZAogICAgICAgICAvLyBtYWtlIE5vZGUgZGVz
dHJ1Y3Rpb25zIGluY3JlbWVudGFsLgogICAgICAgICBpbmZvLT5kZXJlZk9iamVjdChvYmplY3Qp
OwogICAgIH0KKworICAgIC8vIElmIHplcm8sIHRoZW4gdGhpcyBjb250YWlucyBub3RoaW5nLCBv
dGhlcndpc2U6CisgICAgLy8gICBJZiB0aGUgYm90dG9tIGJpdCBpdCBjbGVhciwgdGhlbiB0aGlz
IGNvbnRhaW5zIGEgbWFza2VkIHBvaW50ZXIgdG8gYSB3cmFwcGVyIG9iamVjdC4KKyAgICAvLyAg
IElmIHRoZSBib3R0b20gYml0IGlzIHNldCwgdGhlbiB0aGlzIGNvbnRhaW5zIGEgcG9pbnRlciB0
byB0aGUgd3JhcHBlciB0eXBlIGluZm8gaW4gdGhlIHJlbWFpbmluZyBiaXRzLgorICAgIC8vIE1h
c2tpbmcgd3JhcHBlcnMgcHJldmVudHMgYXR0YWNrZXJzIGZyb20gb3ZlcndyaXRpbmcgdGhpcyBm
aWVsZCB3aXRoIHBvaW50ZXJzIHRvIHNwcmF5ZWQgZGF0YS4KKyAgICAvLyBQb2ludGVycyBpbnNp
ZGUgV3JhcHBlciBUeXBlIEluZm8gYXJlIGFscmVhZHkgcHJvdGVjdGVkIGJ5IEFTTFIuCisgICAg
dWludHB0cl90IG1fbWFza2VkU3RvcmFnZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZUxvYWRFdmVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlTG9hZEV2ZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlTG9hZEV2ZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIENTU0ZvbnRGYWNlTG9hZEV2ZW50OjpDU1NGb250RmFjZUxvYWRFdmVudCgpCiB7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBDU1NGb250RmFjZUxvYWRFdmVudDo6
Q1NTRm9udEZhY2VMb2FkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBQYXNzUmVmUHRy
PENTU0ZvbnRGYWNlUnVsZT4gZm9udGZhY2UsIFBhc3NSZWZQdHI8RE9NRXJyb3I+IGVycm9yKQpA
QCAtNDQsNiArNDUsNyBAQCBDU1NGb250RmFjZUxvYWRFdmVudDo6Q1NTRm9udEZhY2VMb2FkRXZl
CiAgICAgLCBtX2ZvbnRmYWNlKGZvbnRmYWNlKQogICAgICwgbV9lcnJvcihlcnJvcikKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIENTU0ZvbnRGYWNlTG9hZEV2ZW50
OjpDU1NGb250RmFjZUxvYWRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IENT
U0ZvbnRGYWNlTG9hZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC01MSw2ICs1Myw3IEBAIENT
U0ZvbnRGYWNlTG9hZEV2ZW50OjpDU1NGb250RmFjZUxvYWRFdmUKICAgICAsIG1fZm9udGZhY2Uo
aW5pdGlhbGl6ZXIuZm9udGZhY2UpCiAgICAgLCBtX2Vycm9yKGluaXRpYWxpemVyLmVycm9yKQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ1NTRm9udEZhY2VMb2Fk
RXZlbnQ6On5DU1NGb250RmFjZUxvYWRFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VSdWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2VSdWxlLmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAgQ1NT
Rm9udEZhY2VSdWxlOjpDU1NGb250RmFjZVJ1bGUoU3R5bGVSdQogICAgIDogQ1NTUnVsZShwYXJl
bnQpCiAgICAgLCBtX2ZvbnRGYWNlUnVsZShmb250RmFjZVJ1bGUpCiB7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBDU1NGb250RmFjZVJ1bGU6On5DU1NGb250RmFjZVJ1
bGUoKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5oCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCA9IDA7CiAKIHBy
b3RlY3RlZDoKLSAgICBDU1NTdHlsZURlY2xhcmF0aW9uKCkgeyB9CisgICAgQ1NTU3R5bGVEZWNs
YXJhdGlvbigpCisgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7Cisg
ICAgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU01hdHJpeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU01hdHJpeC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NNYXRyaXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMCArMzksMTIg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV2ViS2l0Q1NTTWF0cml4OjpXZWJLaXRDU1NNYXRyaXgo
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG0pCiAgICAgOiBtX21hdHJpeChtKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogV2ViS2l0Q1NTTWF0cml4OjpXZWJL
aXRDU1NNYXRyaXgoY29uc3QgU3RyaW5nJiBzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgc2V0TWF0cml4VmFsdWUocywgZWMpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0F0dHIuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vQXR0ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAgQXR0cjo6
QXR0cihFbGVtZW50KiBlbGVtZW50LCBjb25zdCBRdWFsaQogICAgICwgbV9pbkNoaWxkcmVuQ2hh
bmdlZChmYWxzZSkKICAgICAsIG1fc3BlY2lmaWVkKHRydWUpCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBBdHRyOjpBdHRyKERvY3VtZW50KiBkb2N1bWVudCwgY29u
c3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFsb25lVmFs
dWUpCkBAIC01Nyw2ICs1OCw3IEBAIEF0dHI6OkF0dHIoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25z
dCBRdWEKICAgICAsIG1faW5DaGlsZHJlbkNoYW5nZWQoZmFsc2UpCiAgICAgLCBtX3NwZWNpZmll
ZCh0cnVlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1Jl
ZlB0cjxBdHRyPiBBdHRyOjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVk
TmFtZSYgbmFtZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0ZUVycm9y
RXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21w
bGV0ZUVycm9yRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTggKzYwLDIxIEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgpCiAgICAgeworICAgICAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgfQogCiAgICAgQXV0b2NvbXBsZXRl
RXJyb3JFdmVudChjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICAgICAgOiBFdmVudChldmVudE5h
bWVzKCkuYXV0b2NvbXBsZXRlZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKQogICAgICAgICAsIG1f
cmVhc29uKHJlYXNvbikKICAgICB7CisgICAgICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKICAgICB9CiAKICAgICBBdXRvY29tcGxldGVFcnJvckV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBjb25zdCBBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6
ZXIpCiAgICAgICAgIDogRXZlbnQoZXZlbnRUeXBlLCBpbml0aWFsaXplcikKICAgICAgICAgLCBt
X3JlYXNvbihpbml0aWFsaXplci5yZWFzb24pCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiAgICAgfQogCiAgICAgU3RyaW5nIG1fcmVhc29uOwpJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9CZWZvcmVMb2FkRXZlbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCwxOCAr
NjQsMjEgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBCZWZvcmVMb2FkRXZlbnQoKQogICAgIHsK
KyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIGV4cGxp
Y2l0IEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHVybCkKICAgICAgICAgOiBFdmVudChl
dmVudE5hbWVzKCkuYmVmb3JlbG9hZEV2ZW50LCBmYWxzZSwgdHJ1ZSkKICAgICAgICAgLCBtX3Vy
bCh1cmwpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAg
fQogCiAgICAgQmVmb3JlTG9hZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3Qg
QmVmb3JlTG9hZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgICAgIDogRXZlbnQodHlwZSwg
aW5pdGlhbGl6ZXIpCiAgICAgICAgICwgbV91cmwoaW5pdGlhbGl6ZXIudXJsKQogICAgIHsKKyAg
ICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIFN0cmluZyBt
X3VybDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ0RBVEFTZWN0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjksNiArMjksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBpbmxpbmUgQ0RBVEFTZWN0
aW9uOjpDREFUQVNlY3Rpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGRhdGEp
CiAgICAgOiBUZXh0KGRvY3VtZW50LCBkYXRhLCBDcmVhdGVUZXh0KQogeworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxDREFUQVNlY3Rpb24+IENEQVRB
U2VjdGlvbjo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBkYXRhKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSw2
ICs1NSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgLCBtX2RhdGEoIXRleHQuaXNOdWxsKCkgPyB0
ZXh0IDogZW1wdHlTdHJpbmcoKSkKICAgICB7CiAgICAgICAgIEFTU0VSVCh0eXBlID09IENyZWF0
ZU90aGVyIHx8IHR5cGUgPT0gQ3JlYXRlVGV4dCB8fCB0eXBlID09IENyZWF0ZUVkaXRpbmdUZXh0
KTsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIHZv
aWQgc2V0RGF0YVdpdGhvdXRVcGRhdGUoY29uc3QgU3RyaW5nJiBkYXRhKQpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0NsaWVudFJlY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9DbGllbnRSZWN0LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0NsaWVudFJlY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxNiArMzEsMTkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBDbGllbnRSZWN0OjpDbGllbnRSZWN0KCkKIHsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIENsaWVudFJlY3Q6OkNsaWVudFJlY3QoY29u
c3QgSW50UmVjdCYgcmVjdCkKICAgICA6IG1fcmVjdChyZWN0KQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ2xpZW50UmVjdDo6Q2xpZW50UmVjdChjb25zdCBGbG9h
dFJlY3QmIHJlY3QpCiAgICAgOiBtX3JlY3QocmVjdCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9Db21tZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
Q29tbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db21t
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBpbmxpbmUgQ29tbWVudDo6Q29tbWVudChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgdGV4dCkKICAgICA6IENoYXJhY3RlckRhdGEoZG9jdW1lbnQsIHRleHQsIENyZWF0ZU90
aGVyKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxDb21tZW50PiBDb21tZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJp
bmcmIHRleHQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbXBvc2l0aW9uRXZlbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDE4ICszNywyMSBAQCBDb21wb3NpdGlvbkV2ZW50SW5p
dDo6Q29tcG9zaXRpb25FdmVudEluCiAKIENvbXBvc2l0aW9uRXZlbnQ6OkNvbXBvc2l0aW9uRXZl
bnQoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogQ29tcG9zaXRp
b25FdmVudDo6Q29tcG9zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIFBhc3NS
ZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEpCiAgICAgOiBVSUV2
ZW50KHR5cGUsIHRydWUsIHRydWUsIHZpZXcsIDApCiAgICAgLCBtX2RhdGEoZGF0YSkKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIENvbXBvc2l0aW9uRXZlbnQ6OkNv
bXBvc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBDb21wb3NpdGlv
bkV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgOiBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVy
KQogICAgICwgbV9kYXRhKGluaXRpYWxpemVyLmRhdGEpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBDb21wb3NpdGlvbkV2ZW50Ojp+Q29tcG9zaXRpb25FdmVudCgp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9y
LmlkbAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1l
bnRDb25zdHJ1Y3Rvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICAgICBD
b25kaXRpb25hbD1DVVNUT01fRUxFTUVOVFMsCiAgICAgVjhFbmFibGVkQXRSdW50aW1lPWN1c3Rv
bURPTUVsZW1lbnRzLAogICAgIFY4V3JhcEFzRnVuY3Rpb24sCisgICAgVjhTa2lwVlRhYmxlVmFs
aWRhdGlvbiwKICAgICBDdXN0b21DYWxsCiBdIGludGVyZmFjZSBDdXN0b21FbGVtZW50Q29uc3Ry
dWN0b3IgewogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzYsMTIgKzM2LDE0IEBAIEN1c3RvbUV2ZW50SW5pdDo6Q3VzdG9tRXZlbnRJbml0
KCkKIAogQ3VzdG9tRXZlbnQ6OkN1c3RvbUV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIEN1c3RvbUV2ZW50OjpDdXN0b21FdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGNvbnN0IEN1c3RvbUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgOiBF
dmVudCh0eXBlLCBpbml0aWFsaXplcikKICAgICAsIG1fZGV0YWlsKGluaXRpYWxpemVyLmRldGFp
bCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEN1c3RvbUV2ZW50
Ojp+Q3VzdG9tRXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRp
b24uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzYsNiArMjM2LDcgQEAgc3RhdGljIGJv
b2wgaXNFdmVudHMzRmVhdHVyZShjb25zdCBTdHJpbgogRE9NSW1wbGVtZW50YXRpb246OkRPTUlt
cGxlbWVudGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1l
bnQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBib29sIERPTUlt
cGxlbWVudGF0aW9uOjpoYXNGZWF0dXJlKGNvbnN0IFN0cmluZyYgZmVhdHVyZSwgY29uc3QgU3Ry
aW5nJiB2ZXJzaW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NSw2ICs1NSw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBET01TdHJpbmdN
YXAoKQogICAgIHsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0K
IH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTIgKzM4LDE0IEBAIERldmljZU1vdGlvbkV2ZW50Ojp+
RGV2aWNlTW90aW9uRXZlbnQoKQogRGV2aWNlTW90aW9uRXZlbnQ6OkRldmljZU1vdGlvbkV2ZW50
KCkKICAgICA6IG1fZGV2aWNlTW90aW9uRGF0YShEZXZpY2VNb3Rpb25EYXRhOjpjcmVhdGUoKSkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIERldmljZU1vdGlvbkV2
ZW50OjpEZXZpY2VNb3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2
aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSkKICAgICA6IEV2ZW50KGV2ZW50VHlwZSwg
ZmFsc2UsIGZhbHNlKSAvLyBDYW4ndCBidWJibGUsIG5vdCBjYW5jZWxhYmxlCiAgICAgLCBtX2Rl
dmljZU1vdGlvbkRhdGEoZGV2aWNlTW90aW9uRGF0YSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIHZvaWQgRGV2aWNlTW90aW9uRXZlbnQ6OmluaXREZXZpY2VNb3Rp
b25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5j
ZWxhYmxlLCBEZXZpY2VNb3Rpb25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKQpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCwxMiArMzgsMTQgQEAgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6
fkRldmljZU9yaWVudGF0aQogRGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNlT3JpZW50YXRp
b25FdmVudCgpCiAgICAgOiBtX29yaWVudGF0aW9uKERldmljZU9yaWVudGF0aW9uRGF0YTo6Y3Jl
YXRlKCkpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBEZXZpY2VP
cmllbnRhdGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBEZXZpY2VPcmllbnRhdGlvbkRhdGEqIG9yaWVudGF0aW9uKQogICAgIDog
RXZlbnQoZXZlbnRUeXBlLCBmYWxzZSwgZmFsc2UpIC8vIENhbid0IGJ1YmJsZSwgbm90IGNhbmNl
bGFibGUKICAgICAsIG1fb3JpZW50YXRpb24ob3JpZW50YXRpb24pCiB7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiB2b2lkIERldmljZU9yaWVudGF0aW9uRXZlbnQ6Omlu
aXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBi
dWJibGVzLCBib29sIGNhbmNlbGFibGUsIERldmljZU9yaWVudGF0aW9uRGF0YSogb3JpZW50YXRp
b24pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5OCw2ICs0
OTgsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLCiAjZW5kaWYK
ICAgICAsIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXIodGhpcywgJkRvY3VtZW50Ojpk
aWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lckZpcmVkKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKICAgICBtX3ByaW50aW5nID0gZmFsc2U7CiAgICAgbV9wYWdpbmF0ZWRG
b3JTY3JlZW4gPSBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjYxLDYgKzE2NjEsNyBAQCBpbmxpbmUgTm9kZTo6Tm9kZShEb2N1bWVudCogZG9jdW1lbnQs
IENvCiAgICAgLCBtX3ByZXZpb3VzKDApCiAgICAgLCBtX25leHQoMCkKIHsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKCFtX3RyZWVTY29wZSkKICAgICAgICAgbV90
cmVlU2NvcGUgPSBUcmVlU2NvcGU6Om5vRG9jdW1lbnRJbnN0YW5jZSgpOwogICAgIG1fdHJlZVNj
b3BlLT5ndWFyZFJlZigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJh
Z21lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIERvY3VtZW50RnJhZ21lbnQ6OkRvY3VtZW50RnJhZ21lbnQoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBDb25zdHJ1Y3Rpb25UeXBlIGNvbnN0cnVjdGlvblR5cGUpCiAgICAgOiBDb250YWluZXJO
b2RlKGRvY3VtZW50LCBjb25zdHJ1Y3Rpb25UeXBlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBEb2N1bWVudEZy
YWdtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50VHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50VHlwZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIERvY3VtZW50
VHlwZTo6RG9jdW1lbnRUeXBlKERvY3VtZW50KiBkb2MKICAgICAsIG1fcHVibGljSWQocHVibGlj
SWQpCiAgICAgLCBtX3N5c3RlbUlkKHN5c3RlbUlkKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogS1VSTCBEb2N1bWVudFR5cGU6OmJhc2VVUkkoKSBjb25zdApJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02MjEsNiArNjIxLDcgQEAgcHJvdGVjdGVk
OgogICAgICAgICA6IENvbnRhaW5lck5vZGUoZG9jdW1lbnQsIHR5cGUpCiAgICAgICAgICwgbV90
YWdOYW1lKHRhZ05hbWUpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgfQogCiAgICAgdmlydHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGlu
c2VydGVkSW50byhDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRW50aXR5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VudGl0eS5o
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTM1LDcgKzM1LDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgbm90YXRpb25O
YW1lKCkgY29uc3QgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIFN0cmluZygpOyB9CiAK
IHByaXZhdGU6Ci0gICAgRW50aXR5KCkgOiBDb250YWluZXJOb2RlKDApIHt9CisgICAgRW50aXR5
KCkgOiBDb250YWluZXJOb2RlKDApCisgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CisgICAgfQogfTsKIAogfSAvL25hbWVzcGFjZQpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0VudGl0eVJlZmVyZW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL0VudGl0eVJlZmVyZW5jZS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9FbnRpdHlSZWZlcmVuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3
IEBAIGlubGluZSBFbnRpdHlSZWZlcmVuY2U6OkVudGl0eVJlZmVyZW5jZSgKICAgICA6IENvbnRh
aW5lck5vZGUoZG9jdW1lbnQpCiAgICAgLCBtX2VudGl0eU5hbWUoZW50aXR5TmFtZSkKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8RW50aXR5UmVm
ZXJlbmNlPiBFbnRpdHlSZWZlcmVuY2U6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0
IFN0cmluZyYgZW50aXR5TmFtZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBFcnJvckV2ZW50SW5pdDo6RXJyb3JFdmVudElu
aXQoKQogCiBFcnJvckV2ZW50OjpFcnJvckV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIEVycm9yRXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBjb25zdCBFcnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC01Miw2ICs1
Myw3IEBAIEVycm9yRXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgQXRvbWljU3RyaW4KICAgICAsIG1f
ZmlsZU5hbWUoaW5pdGlhbGl6ZXIuZmlsZW5hbWUpCiAgICAgLCBtX2xpbmVOdW1iZXIoaW5pdGlh
bGl6ZXIubGluZW5vKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
RXJyb3JFdmVudDo6RXJyb3JFdmVudChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgZmlsZU5hbWUsIHVuc2lnbmVkIGxpbmVOdW1iZXIpCkBAIC02MCw2ICs2Miw3IEBAIEVycm9y
RXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiBtZXMKICAgICAsIG1fZmlsZU5hbWUoZmls
ZU5hbWUpCiAgICAgLCBtX2xpbmVOdW1iZXIobGluZU51bWJlcikKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEVycm9yRXZlbnQ6On5FcnJvckV2ZW50KCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBFdmVudDo6RXZlbnQo
KQogICAgICwgbV9jdXJyZW50VGFyZ2V0KDApCiAgICAgLCBtX2NyZWF0ZVRpbWUoY29udmVydFNl
Y29uZHNUb0RPTVRpbWVTdGFtcChjdXJyZW50VGltZSgpKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIEV2ZW50OjpFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSwgYm9vbCBjYW5CdWJibGVBcmcsIGJvb2wgY2FuY2VsYWJsZUFyZykKQEAgLTY3LDYg
KzY4LDcgQEAgRXZlbnQ6OkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeQogICAgICwg
bV9jdXJyZW50VGFyZ2V0KDApCiAgICAgLCBtX2NyZWF0ZVRpbWUoY29udmVydFNlY29uZHNUb0RP
TVRpbWVTdGFtcChjdXJyZW50VGltZSgpKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIEV2ZW50OjpFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
Y29uc3QgRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTgyLDYgKzg0LDcgQEAgRXZlbnQ6OkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeQogICAgICwgbV9jdXJyZW50VGFyZ2V0KDAp
CiAgICAgLCBtX2NyZWF0ZVRpbWUoY29udmVydFNlY29uZHNUb0RPTVRpbWVTdGFtcChjdXJyZW50
VGltZSgpKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEV2ZW50
Ojp+RXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MSwxOCArNTEsMjEgQEAgYm9vbCBGb2N1c0V2ZW50Ojppc0ZvY3VzRXZlbnQoKSBjb25z
dAogCiBGb2N1c0V2ZW50OjpGb2N1c0V2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIEZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3Ry
YWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRl
ZFRhcmdldCkKICAgICA6IFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3
LCBkZXRhaWwpCiAgICAgLCBtX3JlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKIHsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBGb2N1c0V2ZW50SW5pdCYgaW5pdGlhbGl6
ZXIpCiAgICAgOiBVSUV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQogICAgICwgbV9yZWxhdGVkVGFy
Z2V0KGluaXRpYWxpemVyLnJlbGF0ZWRUYXJnZXQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBG
b2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4g
Zm9jdXNFdmVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmgJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEhhc2hD
aGFuZ2VFdmVudCgpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAgICAgfQogCiAgICAgSGFzaENoYW5nZUV2ZW50KGNvbnN0IFN0cmluZyYgb2xkVVJMLCBjb25z
dCBTdHJpbmcmIG5ld1VSTCkKQEAgLTc4LDYgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgLCBt
X29sZFVSTChvbGRVUkwpCiAgICAgICAgICwgbV9uZXdVUkwobmV3VVJMKQogICAgIHsKKyAgICAg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIAogICAgIEhhc2hDaGFuZ2VF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEhhc2hDaGFuZ2VFdmVudEluaXQm
IGluaXRpYWxpemVyKQpAQCAtODUsNiArODcsNyBAQCBwcml2YXRlOgogICAgICAgICAsIG1fb2xk
VVJMKGluaXRpYWxpemVyLm9sZFVSTCkKICAgICAgICAgLCBtX25ld1VSTChpbml0aWFsaXplci5u
ZXdVUkwpCiAgICAgeworICAgICAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAg
fQogCiAgICAgU3RyaW5nIG1fb2xkVVJMOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0tleWJv
YXJkRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJk
RXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNiArMTA1LDcgQEAgS2V5Ym9hcmRFdmVu
dDo6S2V5Ym9hcmRFdmVudCgpCiAgICAgOiBtX2tleUxvY2F0aW9uKERPTUtleUxvY2F0aW9uU3Rh
bmRhcmQpCiAgICAgLCBtX2FsdEdyYXBoS2V5KGZhbHNlKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9hcmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBQ
bGF0Zm9ybUtleWJvYXJkRXZlbnQmIGtleSwgQWJzdHJhY3RWaWV3KiB2aWV3KQpAQCAtMTE1LDYg
KzExNiw3IEBAIEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgUGxhdGYKICAgICAs
IG1fa2V5TG9jYXRpb24oa2V5TG9jYXRpb25Db2RlKGtleSkpCiAgICAgLCBtX2FsdEdyYXBoS2V5
KGZhbHNlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9h
cmRFdmVudDo6S2V5Ym9hcmRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29u
c3QgS2V5Ym9hcmRFdmVudEluaXQmIGluaXRpYWxpemVyKQpAQCAtMTIzLDYgKzEyNSw3IEBAIEtl
eWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgQXRvbWkKICAgICAsIG1fa2V5TG9jYXRp
b24oaW5pdGlhbGl6ZXIua2V5TG9jYXRpb24pCiAgICAgLCBtX2FsdEdyYXBoS2V5KGZhbHNlKQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9hcmRFdmVudDo6
S2V5Ym9hcmRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wgY2FuY2VsYWJsZSwgQWJzdHJhY3RWaWV3ICp2aWV3LApAQCAtMTMzLDYgKzEzNiw3
IEBAIEtleWJvYXJkRXZlbnQ6OktleWJvYXJkRXZlbnQoY29uc3QgQXRvbWkKICAgICAsIG1fa2V5
TG9jYXRpb24oa2V5TG9jYXRpb24pCiAgICAgLCBtX2FsdEdyYXBoS2V5KGFsdEdyYXBoS2V5KQog
eworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogS2V5Ym9hcmRFdmVudDo6
fktleWJvYXJkRXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIE1lc3NhZ2VFdmVudEluaXQ6Ok1lc3NhZ2VF
dmVudEluaXQoKQogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoKQogICAgIDogbV9kYXRhVHlw
ZShEYXRhVHlwZVNjcmlwdFZhbHVlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlz
KTsKIH0KIAogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBjb25zdCBNZXNzYWdlRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTUxLDYgKzUyLDcg
QEAgTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljUwogICAgICwgbV9zb3Vy
Y2UoaW5pdGlhbGl6ZXIuc291cmNlKQogICAgICwgbV9wb3J0cyhhZG9wdFB0cihuZXcgTWVzc2Fn
ZVBvcnRBcnJheShpbml0aWFsaXplci5wb3J0cykpKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgU2NyaXB0
VmFsdWUmIGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGxhc3RFdmVu
dElkLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gc291cmNlLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0
QXJyYXk+IHBvcnRzKQpAQCAtNjIsNiArNjQsNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVu
dChjb25zdCBTY3JpcHRWCiAgICAgLCBtX3NvdXJjZShzb3VyY2UpCiAgICAgLCBtX3BvcnRzKHBv
cnRzKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogTWVzc2FnZUV2
ZW50OjpNZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEs
IGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGxhc3RFdmVudElkLCBQYXNzUmVm
UHRyPERPTVdpbmRvdz4gc291cmNlLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+IHBvcnRz
KQpAQCAtNzcsNiArODAsNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChQYXNzUmVmUHRy
PFNlCiAgICAgaWYgKG1fZGF0YUFzU2VyaWFsaXplZFNjcmlwdFZhbHVlKQogICAgICAgICBtX2Rh
dGFBc1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS0+cmVnaXN0ZXJNZW1vcnlBbGxvY2F0ZWRXaXRoQ3Vy
cmVudFNjcmlwdENvbnRleHQoKTsKICNlbmRpZgorICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgU3RyaW5nJiBkYXRh
LCBjb25zdCBTdHJpbmcmIG9yaWdpbikKQEAgLTg2LDYgKzkwLDcgQEAgTWVzc2FnZUV2ZW50OjpN
ZXNzYWdlRXZlbnQoY29uc3QgU3RyaW5nJgogICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgICwg
bV9sYXN0RXZlbnRJZCgiIikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE1lc3NhZ2VFdmVudDo6TWVzc2FnZUV2ZW50KFBhc3NSZWZQdHI8QmxvYj4gZGF0YSwgY29u
c3QgU3RyaW5nJiBvcmlnaW4pCkBAIC05NSw2ICsxMDAsNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3Nh
Z2VFdmVudChQYXNzUmVmUHRyPEJsCiAgICAgLCBtX29yaWdpbihvcmlnaW4pCiAgICAgLCBtX2xh
c3RFdmVudElkKCIiKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
TWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gZGF0YSwg
Y29uc3QgU3RyaW5nJiBvcmlnaW4pCkBAIC0xMDQsNiArMTEwLDcgQEAgTWVzc2FnZUV2ZW50OjpN
ZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxBcgogICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgICwg
bV9sYXN0RXZlbnRJZCgiIikKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE1lc3NhZ2VFdmVudDo6fk1lc3NhZ2VFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vTW91c2VFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw2ICsxMDUsNyBAQCBNb3VzZUV2ZW50OjpN
b3VzZUV2ZW50KCkKICAgICA6IG1fYnV0dG9uKDApCiAgICAgLCBtX2J1dHRvbkRvd24oZmFsc2Up
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBNb3VzZUV2ZW50OjpN
b3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwg
Ym9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywKQEAgLTEyNiw2
ICsxMjcsNyBAQCBNb3VzZUV2ZW50OjpNb3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluCiAgICAg
LCBtX3JlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKICAgICAsIG1fY2xpcGJvYXJkKGNsaXBi
b2FyZCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIE1vdXNlRXZl
bnQ6Ok1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IE1vdXNl
RXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTE0MCw2ICsxNDIsNyBAQCBNb3VzZUV2ZW50OjpN
b3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluCiAgICAgLCBtX3JlbGF0ZWRUYXJnZXQoaW5pdGlh
bGl6ZXIucmVsYXRlZFRhcmdldCkKICAgICAsIG1fY2xpcGJvYXJkKDAgLyogY2xpcGJvYXJkICov
KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBpbml0Q29vcmRpbmF0
ZXMoSW50UG9pbnQoaW5pdGlhbGl6ZXIuY2xpZW50WCwgaW5pdGlhbGl6ZXIuY2xpZW50WSkpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDYgKzMwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTXV0YXRpb25FdmVudDo6
TXV0YXRpb25FdmVudCgpCiAgICAgOiBtX2F0dHJDaGFuZ2UoMCkKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIE11dGF0aW9uRXZlbnQ6Ok11dGF0aW9uRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQ
YXNzUmVmUHRyPE5vZGU+IHJlbGF0ZWROb2RlLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05h
bWVkTm9kZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVN
YXAuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1h
cC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSw2ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgewogICAg
ICAgICAvLyBPbmx5IHN1cHBvcnRzIE5hbWVkTm9kZU1hcHMgd2l0aCBFbGVtZW50IGFzc29jaWF0
ZWQsIERvY3VtZW50VHlwZS5lbnRpdGllcyBhbmQgRG9jdW1lbnRUeXBlLm5vdGF0aW9ucyBhcmUg
bm90IHN1cHBvcnRlZCB5ZXQuCiAgICAgICAgIEFTU0VSVChtX2VsZW1lbnQpOworICAgICAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgfQogCiAgICAgRWxlbWVudCogbV9lbGVt
ZW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw2ICs3OSw3IEBAIE5vZGVJdGVyYXRvcjo6Tm9kZUl0ZXJhdG9yKFBhc3NSZWZQdHI8
Tm8KIHsKICAgICAvLyBEb2N1bWVudCB0eXBlIG5vZGVzIG1heSBoYXZlIGEgbnVsbCBkb2N1bWVu
dC4gQnV0IHNpbmNlIHRoZXkgY2FuJ3QgaGF2ZSBjaGlsZHJlbiwgdGhlcmUgaXMgbm8gbmVlZCB0
byBsaXN0ZW4gZm9yIG1vZGlmaWNhdGlvbnMgdG8gdGhlc2UuCiAgICAgQVNTRVJUKHJvb3QoKS0+
ZG9jdW1lbnQoKSB8fCByb290KCktPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfVFlQRV9O
T0RFKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgaWYgKERvY3VtZW50
KiBvd25lckRvY3VtZW50ID0gcm9vdCgpLT5kb2N1bWVudCgpKQogICAgICAgICBvd25lckRvY3Vt
ZW50LT5hdHRhY2hOb2RlSXRlcmF0b3IodGhpcyk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vTm9kZUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxpc3Qu
aAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vZGVMaXN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICAvLyBPdGhlciBtZXRob2RzIChub3QgcGFydCBvZiBET00pCiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0xpdmVOb2RlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBwcm90
ZWN0ZWQ6CisgICAgICAgIE5vZGVMaXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOworICAgICAgICB9CiAgICAgfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vdGF0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm90YXRpb24uY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm90YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MSw2ICszMSw3IEBAIE5vdGF0aW9uOjpOb3RhdGlvbihEb2N1bWVudCogZG9jdW1lbnQsIGMKICAg
ICAsIG1fcHVibGljSWQocHVibGljSWQpCiAgICAgLCBtX3N5c3RlbUlkKHN5c3RlbUlkKQogewor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogU3RyaW5nIE5vdGF0aW9uOjpu
b2RlTmFtZSgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgT3ZlcmZsb3dFdmVudDo6T3ZlcmZsb3dF
dmVudCgpCiAgICAgLCBtX2hvcml6b250YWxPdmVyZmxvdyhmYWxzZSkKICAgICAsIG1fdmVydGlj
YWxPdmVyZmxvdyhmYWxzZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIE92ZXJmbG93RXZlbnQ6Ok92ZXJmbG93RXZlbnQoYm9vbCBob3Jpem9udGFsT3ZlcmZsb3dD
aGFuZ2VkLCBib29sIGhvcml6b250YWxPdmVyZmxvdywgYm9vbCB2ZXJ0aWNhbE92ZXJmbG93Q2hh
bmdlZCwgYm9vbCB2ZXJ0aWNhbE92ZXJmbG93KQpAQCAtNTEsNiArNTIsNyBAQCBPdmVyZmxvd0V2
ZW50OjpPdmVyZmxvd0V2ZW50KGJvb2wgaG9yaXpvCiAgICAgLCBtX3ZlcnRpY2FsT3ZlcmZsb3co
dmVydGljYWxPdmVyZmxvdykKIHsKICAgICBBU1NFUlQoaG9yaXpvbnRhbE92ZXJmbG93Q2hhbmdl
ZCB8fCB2ZXJ0aWNhbE92ZXJmbG93Q2hhbmdlZCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogCiAgICAgaWYgKGhvcml6b250YWxPdmVyZmxvd0NoYW5nZWQgJiYgdmVydGljYWxP
dmVyZmxvd0NoYW5nZWQpCiAgICAgICAgIG1fb3JpZW50ID0gQk9USDsKQEAgLTY2LDYgKzY4LDcg
QEAgT3ZlcmZsb3dFdmVudDo6T3ZlcmZsb3dFdmVudChjb25zdCBBdG9taQogICAgICwgbV9ob3Jp
em9udGFsT3ZlcmZsb3coaW5pdGlhbGl6ZXIuaG9yaXpvbnRhbE92ZXJmbG93KQogICAgICwgbV92
ZXJ0aWNhbE92ZXJmbG93KGluaXRpYWxpemVyLnZlcnRpY2FsT3ZlcmZsb3cpCiB7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBjb25zdCBBdG9taWNTdHJpbmcmIE92ZXJm
bG93RXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9QYWdlVHJhbnNpdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwx
OCArMzgsMjEgQEAgUGFnZVRyYW5zaXRpb25FdmVudEluaXQ6OlBhZ2VUcmFuc2l0aW9uRQogUGFn
ZVRyYW5zaXRpb25FdmVudDo6UGFnZVRyYW5zaXRpb25FdmVudCgpCiAgICAgOiBtX3BlcnNpc3Rl
ZChmYWxzZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhZ2VU
cmFuc2l0aW9uRXZlbnQ6OlBhZ2VUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBib29sIHBlcnNpc3RlZCkKICAgICA6IEV2ZW50KHR5cGUsIHRydWUsIHRydWUpCiAgICAg
LCBtX3BlcnNpc3RlZChwZXJzaXN0ZWQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBQYWdlVHJhbnNpdGlvbkV2ZW50OjpQYWdlVHJhbnNpdGlvbkV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgUGFnZVRyYW5zaXRpb25FdmVudEluaXQmIGluaXRp
YWxpemVyKQogICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpCiAgICAgLCBtX3BlcnNpc3Rl
ZChpbml0aWFsaXplci5wZXJzaXN0ZWQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBQYWdlVHJhbnNpdGlvbkV2ZW50Ojp+UGFnZVRyYW5zaXRpb25FdmVudCgpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDcgQEAgUG9wU3RhdGVFdmVudDo6UG9wU3RhdGVFdmVudCgpCiAgICAgLCBtX3Nl
cmlhbGl6ZWRTdGF0ZSgwKQogICAgICwgbV9oaXN0b3J5KDApCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgUG9wU3RhdGVFdmVudEluaXQmIGluaXRpYWxpemVy
KQpAQCAtNTAsNiArNTEsNyBAQCBQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50KGNvbnN0IEF0
b21pCiAgICAgLCBtX3NlcmlhbGl6ZWRTdGF0ZSgwKQogICAgICwgbV9oaXN0b3J5KDApCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQb3BTdGF0ZUV2ZW50OjpQb3BT
dGF0ZUV2ZW50KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU3Rh
dGUsIFBhc3NSZWZQdHI8SGlzdG9yeT4gaGlzdG9yeSkKQEAgLTU3LDYgKzU5LDcgQEAgUG9wU3Rh
dGVFdmVudDo6UG9wU3RhdGVFdmVudChQYXNzUmVmUHRyPAogICAgICwgbV9zZXJpYWxpemVkU3Rh
dGUoc2VyaWFsaXplZFN0YXRlKQogICAgICwgbV9oaXN0b3J5KGhpc3RvcnkpCiB7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQb3BTdGF0ZUV2ZW50Ojp+UG9wU3RhdGVF
dmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9u
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAgaW5saW5lIFBy
b2Nlc3NpbmdJbnN0cnVjdGlvbjo6UHJvY2Vzc2luZwogICAgICwgbV9pc1hTTChmYWxzZSkKICNl
bmRpZgogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24+IFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0
YSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KCkKICAgICAs
IG1fbG9hZGVkKDApCiAgICAgLCBtX3RvdGFsKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgY29uc3QgUHJvZ3Jlc3NFdmVudEluaXQmIGluaXRpYWxpemVyKQpAQCAt
NTAsNiArNTEsNyBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pCiAg
ICAgLCBtX2xvYWRlZChpbml0aWFsaXplci5sb2FkZWQpCiAgICAgLCBtX3RvdGFsKGluaXRpYWxp
emVyLnRvdGFsKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUHJv
Z3Jlc3NFdmVudDo6UHJvZ3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wg
bGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQgbG9u
ZyBsb25nIHRvdGFsKQpAQCAtNTgsNiArNjAsNyBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2
ZW50KGNvbnN0IEF0b21pCiAgICAgLCBtX2xvYWRlZChsb2FkZWQpCiAgICAgLCBtX3RvdGFsKHRv
dGFsKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KICAgICAKIGNvbnN0
IEF0b21pY1N0cmluZyYgUHJvZ3Jlc3NFdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vUHJvcGVydHlOb2RlTGlzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1Byb3BlcnR5Tm9kZUxpc3QuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vUHJvcGVydHlOb2RlTGlzdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDYgKzQ3LDcgQEAgUHJvcGVydHlOb2RlTGlzdDo6UHJvcGVydHlOb2RlTGlzdChO
b2RlKgogICAgIDogTGl2ZU5vZGVMaXN0KHJvb3ROb2RlLCBQcm9wZXJ0eU5vZGVMaXN0VHlwZSwg
SW52YWxpZGF0ZU9uSXRlbUF0dHJDaGFuZ2UsIE5vZGVMaXN0SXNSb290ZWRBdERvY3VtZW50SWZP
d25lckhhc0l0ZW1yZWZBdHRyKQogICAgICwgbV9uYW1lKG5hbWUpCiB7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQcm9wZXJ0eU5vZGVMaXN0Ojp+UHJvcGVydHlOb2Rl
TGlzdCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTYzLDYgKzYzLDcgQEAgU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbgog
ICAgICwgbV9yZWdpc3RlcmVkV2l0aFBhcmVudFNoYWRvd1Jvb3QoZmFsc2UpCiB7CiAgICAgQVNT
RVJUKGRvY3VtZW50KTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAKICNpZiBQ
TEFURk9STShDSFJPTUlVTSkKICAgICBpZiAodHlwZSA9PSBTaGFkb3dSb290OjpBdXRob3JTaGFk
b3dSb290KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9UZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgcHJvdGVj
dGVkOgogICAgIFRleHQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGRhdGEsIENv
bnN0cnVjdGlvblR5cGUgdHlwZSkKICAgICAgICAgOiBDaGFyYWN0ZXJEYXRhKGRvY3VtZW50LCBk
YXRhLCB0eXBlKQogICAgIHsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
ICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjcsNiArNjcsNyBAQCBUZXh0RXZlbnQ6OlRleHRFdmVudCgpCiAgICAgLCBtX3No
b3VsZFNtYXJ0UmVwbGFjZShmYWxzZSkKICAgICAsIG1fc2hvdWxkTWF0Y2hTdHlsZShmYWxzZSkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFRleHRFdmVudDo6VGV4
dEV2ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEs
IFRleHRFdmVudElucHV0VHlwZSBpbnB1dFR5cGUpCkBAIC03Nyw2ICs3OCw3IEBAIFRleHRFdmVu
dDo6VGV4dEV2ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3QKICAgICAsIG1fc2hvdWxkU21hcnRSZXBs
YWNlKGZhbHNlKQogICAgICwgbV9zaG91bGRNYXRjaFN0eWxlKGZhbHNlKQogeworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVGV4dEV2ZW50OjpUZXh0RXZlbnQoUGFzc1Jl
ZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSwgUGFzc1JlZlB0cjxE
b2N1bWVudEZyYWdtZW50PiBwYXN0aW5nRnJhZ21lbnQsCkBAIC04OCw2ICs5MCw3IEBAIFRleHRF
dmVudDo6VGV4dEV2ZW50KFBhc3NSZWZQdHI8QWJzdHJhY3QKICAgICAsIG1fc2hvdWxkU21hcnRS
ZXBsYWNlKHNob3VsZFNtYXJ0UmVwbGFjZSkKICAgICAsIG1fc2hvdWxkTWF0Y2hTdHlsZShzaG91
bGRNYXRjaFN0eWxlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
VGV4dEV2ZW50OjpUZXh0RXZlbnQoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbnN0
IFN0cmluZyYgZGF0YSwgY29uc3QgVmVjdG9yPERpY3RhdGlvbkFsdGVybmF0aXZlPiYgZGljdGF0
aW9uQWx0ZXJuYXRpdmVzKQpAQCAtOTgsNiArMTAxLDcgQEAgVGV4dEV2ZW50OjpUZXh0RXZlbnQo
UGFzc1JlZlB0cjxBYnN0cmFjdAogICAgICwgbV9zaG91bGRNYXRjaFN0eWxlKGZhbHNlKQogICAg
ICwgbV9kaWN0YXRpb25BbHRlcm5hdGl2ZXMoZGljdGF0aW9uQWx0ZXJuYXRpdmVzKQogeworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVGV4dEV2ZW50Ojp+VGV4dEV2ZW50
KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vVG91Y2hFdmVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzks
NiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFRvdWNoRXZlbnQ6OlRvdWNoRXZlbnQo
KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVG91Y2hFdmVudDo6
VG91Y2hFdmVudChUb3VjaExpc3QqIHRvdWNoZXMsIFRvdWNoTGlzdCogdGFyZ2V0VG91Y2hlcywK
QEAgLTU5LDYgKzYwLDcgQEAgVG91Y2hFdmVudDo6VG91Y2hFdmVudChUb3VjaExpc3QqIHRvdWNo
ZQogICAgICwgbV9kb3VibGVUYXAoZmFsc2UpCiAjZW5kaWYKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIFRvdWNoRXZlbnQ6On5Ub3VjaEV2ZW50KCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9UcmFuc2l0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9UcmFuc2l0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vVHJhbnNpdGlvbkV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzksNiArMzksNyBAQCBUcmFuc2l0aW9uRXZlbnRJbml0OjpUcmFuc2l0aW9uRXZlbnRJbml0CiBU
cmFuc2l0aW9uRXZlbnQ6OlRyYW5zaXRpb25FdmVudCgpCiAgICAgOiBtX2VsYXBzZWRUaW1lKDAp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBUcmFuc2l0aW9uRXZl
bnQ6OlRyYW5zaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmlu
ZyYgcHJvcGVydHlOYW1lLCBkb3VibGUgZWxhcHNlZFRpbWUsIGNvbnN0IFN0cmluZyYgcHNldWRv
RWxlbWVudCkKQEAgLTQ3LDYgKzQ4LDcgQEAgVHJhbnNpdGlvbkV2ZW50OjpUcmFuc2l0aW9uRXZl
bnQoY29uc3QgQQogICAgICwgbV9lbGFwc2VkVGltZShlbGFwc2VkVGltZSkKICAgICAsIG1fcHNl
dWRvRWxlbWVudChwc2V1ZG9FbGVtZW50KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogVHJhbnNpdGlvbkV2ZW50OjpUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiB0eXBlLCBjb25zdCBUcmFuc2l0aW9uRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAg
LTU1LDYgKzU3LDcgQEAgVHJhbnNpdGlvbkV2ZW50OjpUcmFuc2l0aW9uRXZlbnQoY29uc3QgQQog
ICAgICwgbV9lbGFwc2VkVGltZShpbml0aWFsaXplci5lbGFwc2VkVGltZSkKICAgICAsIG1fcHNl
dWRvRWxlbWVudChpbml0aWFsaXplci5wc2V1ZG9FbGVtZW50KQogeworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogVHJhbnNpdGlvbkV2ZW50Ojp+VHJhbnNpdGlvbkV2ZW50
KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVdhbGtlci5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgs
NiArMzgsNyBAQCBUcmVlV2Fsa2VyOjpUcmVlV2Fsa2VyKFBhc3NSZWZQdHI8Tm9kZT4gCiAgICAg
OiBUcmF2ZXJzYWwocm9vdE5vZGUsIHdoYXRUb1Nob3csIGZpbHRlciwgZXhwYW5kRW50aXR5UmVm
ZXJlbmNlcykKICAgICAsIG1fY3VycmVudChyb290KCkpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiB2b2lkIFRyZWVXYWxrZXI6OnNldEN1cnJlbnROb2RlKFBhc3NS
ZWZQdHI8Tm9kZT4gbm9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vVUlFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1VJRXZl
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAgVUlFdmVudEluaXQ6OlVJRXZlbnRJ
bml0KCkKIFVJRXZlbnQ6OlVJRXZlbnQoKQogICAgIDogbV9kZXRhaWwoMCkKIHsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFVJRXZlbnQ6OlVJRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2FuQnViYmxlQXJnLCBib29sIGNhbmNlbGFibGVB
cmcsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3QXJnLCBpbnQgZGV0YWlsQXJnKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIFdlYktpdEFuaW1hdGlvbkV2ZW50SW5p
dDo6V2ViS2l0QW5pbWF0aW8KIFdlYktpdEFuaW1hdGlvbkV2ZW50OjpXZWJLaXRBbmltYXRpb25F
dmVudCgpCiAgICAgOiBtX2VsYXBzZWRUaW1lKDAuMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIFdlYktpdEFuaW1hdGlvbkV2ZW50OjpXZWJLaXRBbmltYXRpb25F
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFdlYktpdEFuaW1hdGlvbkV2ZW50
SW5pdCYgaW5pdGlhbGl6ZXIpCkBAIC00Niw2ICs0Nyw3IEBAIFdlYktpdEFuaW1hdGlvbkV2ZW50
OjpXZWJLaXRBbmltYXRpb25FdmUKICAgICAsIG1fYW5pbWF0aW9uTmFtZShpbml0aWFsaXplci5h
bmltYXRpb25OYW1lKQogICAgICwgbV9lbGFwc2VkVGltZShpbml0aWFsaXplci5lbGFwc2VkVGlt
ZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFdlYktpdEFuaW1h
dGlvbkV2ZW50OjpXZWJLaXRBbmltYXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgZG91YmxlIGVsYXBzZWRUaW1lKQpAQCAtNTMs
NiArNTUsNyBAQCBXZWJLaXRBbmltYXRpb25FdmVudDo6V2ViS2l0QW5pbWF0aW9uRXZlCiAgICAg
LCBtX2FuaW1hdGlvbk5hbWUoYW5pbWF0aW9uTmFtZSkKICAgICAsIG1fZWxhcHNlZFRpbWUoZWxh
cHNlZFRpbWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBXZWJL
aXRBbmltYXRpb25FdmVudDo6fldlYktpdEFuaW1hdGlvbkV2ZW50KCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBXZWJLaXRUcmFuc2l0aW9uRXZlbnRJbml0OjpXZWJL
aXRUcmFuc2l0CiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQ6OldlYktpdFRyYW5zaXRpb25FdmVudCgp
CiAgICAgOiBtX2VsYXBzZWRUaW1lKDApCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQ6OldlYktpdFRyYW5zaXRpb25FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBkb3Vi
bGUgZWxhcHNlZFRpbWUsIGNvbnN0IFN0cmluZyYgcHNldWRvRWxlbWVudCkKQEAgLTQ2LDYgKzQ3
LDcgQEAgV2ViS2l0VHJhbnNpdGlvbkV2ZW50OjpXZWJLaXRUcmFuc2l0aW9uRQogICAgICwgbV9l
bGFwc2VkVGltZShlbGFwc2VkVGltZSkKICAgICAsIG1fcHNldWRvRWxlbWVudChwc2V1ZG9FbGVt
ZW50KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogV2ViS2l0VHJh
bnNpdGlvbkV2ZW50OjpXZWJLaXRUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBjb25zdCBXZWJLaXRUcmFuc2l0aW9uRXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTU0
LDYgKzU2LDcgQEAgV2ViS2l0VHJhbnNpdGlvbkV2ZW50OjpXZWJLaXRUcmFuc2l0aW9uRQogICAg
ICwgbV9lbGFwc2VkVGltZShpbml0aWFsaXplci5lbGFwc2VkVGltZSkKICAgICAsIG1fcHNldWRv
RWxlbWVudChpbml0aWFsaXplci5wc2V1ZG9FbGVtZW50KQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogV2ViS2l0VHJhbnNpdGlvbkV2ZW50Ojp+V2ViS2l0VHJhbnNp
dGlvbkV2ZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDMsNiArNDMsNyBAQCBXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KCkKICAgICA6IG1fZGVs
dGFNb2RlKERPTV9ERUxUQV9QSVhFTCkKICAgICAsIG1fZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2
aWNlKGZhbHNlKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogV2hl
ZWxFdmVudDo6V2hlZWxFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFdoZWVs
RXZlbnRJbml0JiBpbml0aWFsaXplcikKQEAgLTUwLDYgKzUxLDcgQEAgV2hlZWxFdmVudDo6V2hl
ZWxFdmVudChjb25zdCBBdG9taWNTdHJpbgogICAgICwgbV93aGVlbERlbHRhKEludFBvaW50KGlu
aXRpYWxpemVyLndoZWVsRGVsdGFYLCBpbml0aWFsaXplci53aGVlbERlbHRhWSkpCiAgICAgLCBt
X2RlbHRhTW9kZShpbml0aWFsaXplci5kZWx0YU1vZGUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBXaGVlbEV2ZW50OjpXaGVlbEV2ZW50KGNvbnN0IEZsb2F0UG9p
bnQmIHdoZWVsVGlja3MsIGNvbnN0IEZsb2F0UG9pbnQmIHJhd0RlbHRhLCB1bnNpZ25lZCBkZWx0
YU1vZGUsCkBAIC02Nyw2ICs2OSw3IEBAIFdoZWVsRXZlbnQ6OldoZWVsRXZlbnQoY29uc3QgRmxv
YXRQb2ludCYKICAgICAsIG1fZGVsdGFNb2RlKGRlbHRhTW9kZSkKICAgICAsIG1fZGlyZWN0aW9u
SW52ZXJ0ZWRGcm9tRGV2aWNlKGRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSkKIHsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudDo6aW5pdFdo
ZWVsRXZlbnQoaW50IHJhd0RlbHRhWCwgaW50IHJhd0RlbHRhWSwgUGFzc1JlZlB0cjxBYnN0cmFj
dFZpZXc+IHZpZXcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU0LDYgKzU0LDcgQEAgZW51bSBTbGljZUhpc3RvZ3JhbUVudW0gewogQmxvYjo6QmxvYigpCiAg
ICAgOiBtX3NpemUoMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAg
T3duUHRyPEJsb2JEYXRhPiBibG9iRGF0YSA9IEJsb2JEYXRhOjpjcmVhdGUoKTsKIAogICAgIC8v
IENyZWF0ZSBhIG5ldyBpbnRlcm5hbCBVUkwgYW5kIHJlZ2lzdGVyIGl0IHdpdGggdGhlIHByb3Zp
ZGVkIGJsb2IgZGF0YS4KQEAgLTY2LDYgKzY3LDcgQEAgQmxvYjo6QmxvYihQYXNzT3duUHRyPEJs
b2JEYXRhPiBibG9iRGF0YQogICAgICwgbV9zaXplKHNpemUpCiB7CiAgICAgQVNTRVJUKGJsb2JE
YXRhKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAKICAgICAvLyBDcmVhdGUg
YSBuZXcgaW50ZXJuYWwgVVJMIGFuZCByZWdpc3RlciBpdCB3aXRoIHRoZSBwcm92aWRlZCBibG9i
IGRhdGEuCiAgICAgbV9pbnRlcm5hbFVSTCA9IEJsb2JVUkw6OmNyZWF0ZUludGVybmFsVVJMKCk7
CkBAIC03Niw2ICs3OCw4IEBAIEJsb2I6OkJsb2IoY29uc3QgS1VSTCYgc3JjVVJMLCBjb25zdCBT
dHIKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV9zaXplKHNpemUpCiB7CisgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOworCiAgICAgLy8gQ3JlYXRlIGEgbmV3IGludGVybmFsIFVS
TCBhbmQgcmVnaXN0ZXIgaXQgd2l0aCB0aGUgc2FtZSBibG9iIGRhdGEgYXMgdGhlIHNvdXJjZSBV
UkwuCiAgICAgbV9pbnRlcm5hbFVSTCA9IEJsb2JVUkw6OmNyZWF0ZUludGVybmFsVVJMKCk7CiAg
ICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKDAsIG1faW50ZXJuYWxV
UkwsIHNyY1VSTCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEwNCw2ICsxMDQsNyBAQCBGaWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgQ29udGVudFR5
CiAgICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0aW9uVGltZShpbnZhbGlkRmlsZVRpbWUoKSkKICNl
bmRpZgogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogRmlsZTo6Rmls
ZShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0eXBl
KQpAQCAtMTE0LDYgKzExNSw3IEBAIEZpbGU6OkZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBjb25z
dCBLVVIKICAgICAsIG1fc25hcHNob3RNb2RpZmljYXRpb25UaW1lKGludmFsaWRGaWxlVGltZSgp
KQogI2VuZGlmCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIG1fbmFt
ZSA9IHBhdGhHZXRGaWxlTmFtZShwYXRoKTsKICAgICAvLyBGSVhNRTogRmlsZSBvYmplY3Qgc2Vy
aWFsaXphdGlvbi9kZXNlcmlhbGl6YXRpb24gZG9lcyBub3QgaW5jbHVkZQogICAgIC8vIG5ld2Vy
IGZpbGUgb2JqZWN0IGRhdGEgbWVtYmVyczogbV9uYW1lIGFuZCBtX3JlbGF0aXZlUGF0aC4KQEAg
LTEyOSw2ICsxMzEsNyBAQCBGaWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgU3Ry
CiAgICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0aW9uVGltZShpbnZhbGlkRmlsZVRpbWUoKSkKICNl
bmRpZgogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogI2lmIEVOQUJM
RShGSUxFX1NZU1RFTSkKQEAgLTEzOSw2ICsxNDIsNyBAQCBGaWxlOjpGaWxlKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgRmlsCiAgICAgLCBtX3NuYXBzaG90U2l6ZShtZXRhZGF0YS5sZW5ndGgp
CiAgICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0aW9uVGltZShtZXRhZGF0YS5tb2RpZmljYXRpb25U
aW1lKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogRmlsZTo6Rmls
ZShjb25zdCBLVVJMJiBmaWxlU3lzdGVtVVJMLCBjb25zdCBGaWxlTWV0YWRhdGEmIG1ldGFkYXRh
KQpAQCAtMTQ3LDYgKzE1MSw3IEBAIEZpbGU6OkZpbGUoY29uc3QgS1VSTCYgZmlsZVN5c3RlbVVS
TCwgY28KICAgICAsIG1fc25hcHNob3RTaXplKG1ldGFkYXRhLmxlbmd0aCkKICAgICAsIG1fc25h
cHNob3RNb2RpZmljYXRpb25UaW1lKG1ldGFkYXRhLm1vZGlmaWNhdGlvblRpbWUpCiB7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZUxpc3QuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0ZpbGVMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZpbGVMaXN0OjpGaWxlTGlzdCgpCiB7CisgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBGaWxlKiBGaWxlTGlzdDo6aXRlbSh1bnNpZ25l
ZCBpbmRleCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rp
b24uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxD
b2xsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBQYXNzUmVmUHRy
PEhUTUxBbGxDb2xsZWN0aW9uPiBIVE1MQWxsQ29sCiBIVE1MQWxsQ29sbGVjdGlvbjo6SFRNTEFs
bENvbGxlY3Rpb24oTm9kZSogbm9kZSwgQ29sbGVjdGlvblR5cGUgdHlwZSkKICAgICA6IEhUTUxD
b2xsZWN0aW9uKG5vZGUsIHR5cGUsIERvZXNOb3RPdmVycmlkZUl0ZW1BZnRlcikKIHsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEhUTUxBbGxDb2xsZWN0aW9uOjp+SFRN
TEFsbENvbGxlY3Rpb24oKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw2ICs1NSw3IEBAIEhUTUxBbmNo
b3JFbGVtZW50OjpIVE1MQW5jaG9yRWxlbWVudChjb24KICAgICAsIG1fbGlua1JlbGF0aW9ucygw
KQogICAgICwgbV9jYWNoZWRWaXNpdGVkTGlua0hhc2goMCkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEFuY2hvckVsZW1lbnQ+IEhUTUxB
bmNob3JFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00Myw2ICs0Myw3IEBAIEhUTUxBcHBsZXRFbGVtZW50OjpIVE1MQXBwbGV0RWxlbWVudChjb24K
ICAgICA6IEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0ZWRC
eVBhcnNlciwgU2hvdWxkTm90UHJlZmVyUGx1Z0luc0ZvckltYWdlcykKIHsKICAgICBBU1NFUlQo
aGFzVGFnTmFtZShhcHBsZXRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAKICAgICBtX3NlcnZpY2VUeXBlID0gImFwcGxpY2F0aW9uL3gtamF2YS1hcHBsZXQiOwogfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00Niw2ICs0Niw3IEBAIGlubGluZSBIVE1MQXJlYUVsZW1lbnQ6OkhUTUxBcmVh
RWxlbWVudCgKICAgICAsIG1fc2hhcGUoVW5rbm93bikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShhcmVhVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNz
UmVmUHRyPEhUTUxBcmVhRWxlbWVudD4gSFRNTEFyZWFFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
Nyw2ICszNyw3IEBAIEhUTUxBdWRpb0VsZW1lbnQ6OkhUTUxBdWRpb0VsZW1lbnQoY29uc3QKICAg
ICA6IEhUTUxNZWRpYUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0ZWRCeVBhcnNlcikK
IHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShhdWRpb1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MQXVkaW9FbGVtZW50PiBIVE1MQXVk
aW9FbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBhcnNlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEJSRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQlJFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQlJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBIVE1M
QlJFbGVtZW50OjpIVE1MQlJFbGVtZW50KGNvbnN0IFF1YWxpCiAgICAgOiBIVE1MRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShiclRhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MQlJFbGVt
ZW50PiBIVE1MQlJFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw2ICszNyw3IEBAIGlubGluZSBIVE1MQmFzZUVsZW1lbnQ6OkhUTUxCYXNlRWxlbWVudCgK
ICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKGJhc2VUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFBhc3NSZWZQdHI8SFRNTEJhc2VFbGVtZW50PiBIVE1MQmFzZUVsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAgaW5saW5lIEhUTUxCYXNlRm9udEVsZW1lbnQ6OkhU
TUxCYXNlRm9udAogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUoYmFzZWZvbnRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEJhc2VGb250RWxlbWVudD4gSFRNTEJhc2VG
b250RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAJ
KHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQCBIVE1MQm9keUVsZW1lbnQ6OkhU
TUxCb2R5RWxlbWVudChjb25zdCBRCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShib2R5VGFnKSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxCb2R5RWxlbWVudD4gSFRNTEJv
ZHlFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
Niw2ICs0Niw3IEBAIGlubGluZSBIVE1MQnV0dG9uRWxlbWVudDo6SFRNTEJ1dHRvbkVsZW0KICAg
ICAsIG1faXNBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUo
YnV0dG9uVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNz
UmVmUHRyPEhUTUxCdXR0b25FbGVtZW50PiBIVE1MQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVt
ZW50KiBmb3JtKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIEhUTUxDYW52YXNFbGVt
ZW50OjpIVE1MQ2FudmFzRWxlbWVudChjb24KICAgICAsIG1fZGlkQ2xlYXJJbWFnZUJ1ZmZlcihm
YWxzZSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShjYW52YXNUYWcpKTsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTENhbnZhc0VsZW1lbnQ+
IEhUTUxDYW52YXNFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODQsNiArMTg0LDcgQEAgSFRNTENvbGxlY3Rpb246OkhUTUxDb2xsZWN0aW9uKE5vZGUqIG93bgog
ICAgIDogTGl2ZU5vZGVMaXN0QmFzZShvd25lck5vZGUsIHJvb3RUeXBlRnJvbUNvbGxlY3Rpb25U
eXBlKHR5cGUpLCBpbnZhbGlkYXRpb25UeXBlRXhjbHVkaW5nSWRBbmROYW1lQXR0cmlidXRlcyh0
eXBlKSwKICAgICAgICAgV2ViQ29yZTo6c2hvdWxkT25seUluY2x1ZGVEaXJlY3RDaGlsZHJlbih0
eXBlKSwgdHlwZSwgaXRlbUFmdGVyT3ZlcnJpZGVUeXBlKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRNTENvbGxl
Y3Rpb246OmNyZWF0ZShOb2RlKiBiYXNlLCBDb2xsZWN0aW9uVHlwZSB0eXBlKQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRExpc3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxETGlzdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxETGlzdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMyw2ICszMyw3IEBAIGlubGluZSBIVE1MRExpc3RFbGVtZW50OjpIVE1MRExpc3RFbGVt
ZW4KICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVCho
YXNUYWdOYW1lKGRsVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEhUTUxETGlzdEVsZW1lbnQ+IEhUTUxETGlzdEVsZW1lbnQ6OmNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERhdGFMaXN0RWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogaW5saW5l
IEhUTUxEYXRhTGlzdEVsZW1lbnQ6OkhUTUxEYXRhTGlzdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogSFRNTEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEhUTUxEYXRhTGlzdEVsZW1lbnQ+IEhUTUxEYXRhTGlzdEVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMyw2ICsxMDMsNyBAQCBIVE1MRGV0YWlsc0VsZW1lbnQ6OkhU
TUxEZXRhaWxzRWxlbWVudChjCiAgICAgLCBtX2lzT3BlbihmYWxzZSkKIHsKICAgICBBU1NFUlQo
aGFzVGFnTmFtZShkZXRhaWxzVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBSZW5kZXJPYmplY3QqIEhUTUxEZXRhaWxzRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIo
UmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYg
KzM4LDcgQEAgSFRNTERpYWxvZ0VsZW1lbnQ6OkhUTUxEaWFsb2dFbGVtZW50KGNvbgogICAgIDog
SFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUo
ZGlhbG9nVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNz
UmVmUHRyPEhUTUxEaWFsb2dFbGVtZW50PiBIVE1MRGlhbG9nRWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTERpcmVjdG9yeUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpcmVjdG9yeUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaXJlY3RvcnlFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQCBpbmxpbmUgSFRNTERpcmVjdG9yeUVsZW1lbnQ6
OkhUTUxEaXJlY3RvCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShkaXJUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTERpcmVjdG9yeUVsZW1lbnQ+IEhUTUxEaXJlY3Rv
cnlFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGl2RWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGl2RWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpdkVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIEhUTUxEaXZFbGVtZW50OjpIVE1MRGl2
RWxlbWVudChjb25zdCBRdWEKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQog
ewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGRpdlRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MRGl2RWxlbWVudD4gSFRNTERpdkVsZW1l
bnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxEb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKIEhUTUxEb2N1bWVudDo6SFRNTERvY3VtZW50KEZyYW1lKiBmcmFt
ZSwgY29uc3QgS1VSTCYgdXJsKQogICAgIDogRG9jdW1lbnQoZnJhbWUsIHVybCwgZmFsc2UsIHRy
dWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIGNsZWFyWE1MVmVy
c2lvbigpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDYgKzMwLDggQEAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
CiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5o
IgorI2luY2x1ZGUgIkN1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvci5oIgorI2luY2x1ZGUgIkN1c3Rv
bUVsZW1lbnRSZWdpc3RyeS5oIgogI2luY2x1ZGUgIkRPTVNldHRhYmxlVG9rZW5MaXN0LmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCkBAIC0zMzIs
NiArMzM0LDExIEBAIHZvaWQgSFRNTEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFEKICAg
ICB9IGVsc2UgaWYgKG5hbWUgPT0gb253ZWJraXRmdWxsc2NyZWVuZXJyb3JBdHRyKSB7CiAgICAg
ICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtpdGZ1bGxzY3Jl
ZW5lcnJvckV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIG5hbWUsIHZh
bHVlKSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQorICAgIH0gZWxzZSBp
ZiAobmFtZSA9PSBpc0F0dHIpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50KCktPnJlZ2lzdHJ5KCkg
JiYgZG9jdW1lbnQoKS0+cmVnaXN0cnkoKS0+ZmluZEZvcih0aGlzKSkKKyAgICAgICAgICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdEN1c3RvbSh0aGlzKTsKKyNlbmRpZgogICAgIH0KIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjcsNiArMTY3
LDcgQEAgaW5saW5lIEhUTUxFbGVtZW50OjpIVE1MRWxlbWVudChjb25zdCBRdQogICAgIDogU3R5
bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgdHlwZSkKIHsKICAgICBBU1NFUlQodGFnTmFt
ZS5sb2NhbE5hbWUoKS5pbXBsKCkpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRW1iZWRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxFbWJlZEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBA
IGlubGluZSBIVE1MRW1iZWRFbGVtZW50OjpIVE1MRW1iZWRFbGVtZW4KICAgICA6IEhUTUxQbHVn
SW5JbWFnZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0ZWRCeVBhcnNlciwgU2hvdWxk
UHJlZmVyUGx1Z0luc0ZvckltYWdlcykKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShlbWJlZFRh
ZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxI
VE1MRW1iZWRFbGVtZW50PiBIVE1MRW1iZWRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBhcnNlcikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQCBpbmxpbmUgSFRNTEZpZWxkU2V0
RWxlbWVudDo6SFRNTEZpZWxkU2V0CiAgICAgLCBtX2RvY3VtZW50VmVyc2lvbigwKQogewogICAg
IEFTU0VSVChoYXNUYWdOYW1lKGZpZWxkc2V0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxGaWVsZFNldEVsZW1lbnQ+IEhUTUxGaWVs
ZFNldEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jdW1lbnQsIEhUTUxGb3JtRWxlbWVudCogZm9ybSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb250RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQs
NyBAQCBIVE1MRm9udEVsZW1lbnQ6OkhUTUxGb250RWxlbWVudChjb25zdCBRCiAgICAgOiBIVE1M
RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShmb250
VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRy
PEhUTUxGb250RWxlbWVudD4gSFRNTEZvbnRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIEhUTUxGb3JtQ29udHJvbHNDb2xs
ZWN0aW9uOjpIVE1MRm9ybUNvbnQKICAgICA6IEhUTUxDb2xsZWN0aW9uKG93bmVyTm9kZSwgRm9y
bUNvbnRyb2xzLCBPdmVycmlkZXNJdGVtQWZ0ZXIpCiB7CiAgICAgQVNTRVJUKG93bmVyTm9kZS0+
aGFzVGFnTmFtZShmb3JtVGFnKSB8fCBvd25lck5vZGUtPmhhc1RhZ05hbWUoZmllbGRzZXRUYWcp
KTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRN
TEZvcm1Db250cm9sc0NvbGxlY3Rpb24+IEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uOjpjcmVh
dGUoTm9kZSogb3duZXJOb2RlLCBDb2xsZWN0aW9uVHlwZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEs
NyBAQCBIVE1MRm9ybUVsZW1lbnQ6OkhUTUxGb3JtRWxlbWVudChjb25zdCBRCiAjZW5kaWYKIHsK
ICAgICBBU1NFUlQoaGFzVGFnTmFtZShmb3JtVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gSFRNTEZvcm1FbGVt
ZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGcmFtZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGcmFtZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3
IEBAIGlubGluZSBIVE1MRnJhbWVFbGVtZW50OjpIVE1MRnJhbWVFbGVtZW4KICAgICAsIG1fZnJh
bWVCb3JkZXJTZXQoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZnJhbWVUYWcpKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTEZy
YW1lRWxlbWVudD4gSFRNTEZyYW1lRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZyYW1lU2V0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYs
NyArNTYsNyBAQCBIVE1MRnJhbWVTZXRFbGVtZW50OjpIVE1MRnJhbWVTZXRFbGVtZW50CiAgICAg
LCBtX25vcmVzaXplKGZhbHNlKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGZyYW1lc2V0VGFn
KSk7Ci0gICAgCisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHNldEhhc0N1
c3RvbVN0eWxlQ2FsbGJhY2tzKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEhSRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSFJF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SFJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBIVE1MSFJFbGVt
ZW50OjpIVE1MSFJFbGVtZW50KGNvbnN0IFF1YWxpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShoclRhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MSFJFbGVtZW50PiBI
VE1MSFJFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSGVhZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEhlYWRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSGVhZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2
ICszNSw3IEBAIEhUTUxIZWFkRWxlbWVudDo6SFRNTEhlYWRFbGVtZW50KGNvbnN0IFEKICAgICA6
IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1l
KGhlYWRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NS
ZWZQdHI8SFRNTEhlYWRFbGVtZW50PiBIVE1MSGVhZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCog
ZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIZWFkaW5nRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIZWFkaW5n
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogaW5saW5lIEhUTUxIZWFkaW5nRWxlbWVudDo6SFRNTEhlYWRpbmdFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IEhU
TUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MSGVhZGluZ0VsZW1lbnQ+IEhUTUxIZWFkaW5n
RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEh0bWxFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIdG1sRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEh0bWxFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQCBIVE1MSHRtbEVsZW1lbnQ6OkhUTUxI
dG1sRWxlbWVudChjb25zdCBRCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkK
IHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShodG1sVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxIdG1sRWxlbWVudD4gSFRNTEh0bWxF
bGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2
ICs0Myw3IEBAIGlubGluZSBIVE1MSUZyYW1lRWxlbWVudDo6SFRNTElGcmFtZUVsZW0KICAgICA6
IEhUTUxGcmFtZUVsZW1lbnRCYXNlKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVCho
YXNUYWdOYW1lKGlmcmFtZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
ICAgICBzZXRIYXNDdXN0b21TdHlsZUNhbGxiYWNrcygpOwogfQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5
LDYgKzQ5LDcgQEAgSFRNTEltYWdlRWxlbWVudDo6SFRNTEltYWdlRWxlbWVudChjb25zdAogICAg
ICwgbV9jb21wb3NpdGVPcGVyYXRvcihDb21wb3NpdGVTb3VyY2VPdmVyKQogewogICAgIEFTU0VS
VChoYXNUYWdOYW1lKGltZ1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
ICAgICBpZiAoZm9ybSkKICAgICAgICAgZm9ybS0+cmVnaXN0ZXJJbWdFbGVtZW50KHRoaXMpOwog
fQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzksNiArMTM5LDcgQEAgSFRNTElucHV0RWxlbWVudDo6SFRNTElu
cHV0RWxlbWVudChjb25zdAogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAg
ICAgc2V0SGFzQ3VzdG9tU3R5bGVDYWxsYmFja3MoKTsKICNlbmRpZgorICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBIVE1M
SW5wdXRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqIGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZvcm0sIGJvb2wgY3JlYXRlZEJ5UGFyc2Vy
KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBAIGlubGluZSBIVE1MS2V5Z2VuRWxlbWVu
dDo6SFRNTEtleWdlbkVsZW0KICAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUo
dGFnTmFtZSwgZG9jdW1lbnQsIGZvcm0pCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoa2V5Z2Vu
VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogCiAgICAgLy8gQ3JlYXRl
IGEgc2VsZWN0IGVsZW1lbnQgd2l0aCBvbmUgb3B0aW9uIGVsZW1lbnQgZm9yIGVhY2gga2V5IHNp
emUuCiAgICAgVmVjdG9yPFN0cmluZz4ga2V5czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTExJRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TElFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTElFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBIVE1MTElF
bGVtZW50OjpIVE1MTElFbGVtZW50KGNvbnN0IFF1YWxpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShsaVRhZykpOworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MTElFbGVtZW50
PiBIVE1MTElFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01Niw2ICs1Niw3IEBAIGlubGluZSBIVE1MTGFiZWxFbGVtZW50OjpIVE1MTGFiZWxFbGVtZW4K
ICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKGxhYmVsVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEhUTUxMYWJlbEVsZW1lbnQ+IEhUTUxMYWJlbEVsZW1lbnQ6OmNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDYgKzQwLDcgQEAgaW5saW5lIEhUTUxMZWdlbmRFbGVtZW50OjpIVE1MTGVn
ZW5kRWxlbQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNT
RVJUKGhhc1RhZ05hbWUobGVnZW5kVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxMZWdlbmRFbGVtZW50PiBIVE1MTGVnZW5kRWxlbWVu
dDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVu
dCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzQsNiArNzQsNyBAQCBpbmxpbmUgSFRNTExpbmtFbGVtZW50OjpIVE1M
TGlua0VsZW1lbnQoCiAgICAgLCBtX3BlbmRpbmdTaGVldFR5cGUoTm9uZSkKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShsaW5rVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBQYXNzUmVmUHRyPEhUTUxMaW5rRWxlbWVudD4gSFRNTExpbmtFbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBib29s
IGNyZWF0ZWRCeVBhcnNlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBIVE1MTWFwRWxlbWVudDo6
SFRNTE1hcEVsZW1lbnQoY29uc3QgUXVhCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShtYXBUYWcpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTE1hcEVsZW1lbnQ+IEhUTUxN
YXBFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MCw2ICs0MCw3IEBAIGlubGluZSBIVE1MTWFycXVlZUVsZW1lbnQ6OkhUTUxNYXJxdWVlRWwK
ICAgICAsIEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShtYXJxdWVlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQ
YXNzUmVmUHRyPEhUTUxNYXJxdWVlRWxlbWVudD4gSFRNTE1hcnF1ZWVFbGVtZW50OjpjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMjMsNiArMzIzLDggQEAgSFRNTE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxlbWVu
dChjb25zdAogICAgICAgICAgICAgbV9kaXNhYmxlQ2FwdGlvbnMgPSAhY2FwdGlvblByZWZlcmVu
Y2VzLT5zaG91bGRTaG93Q2FwdGlvbnMoKTsKICAgICB9CiAjZW5kaWYKKworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSFRNTE1lZGlhRWxlbWVudDo6fkhUTUxNZWRpYUVs
ZW1lbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVudUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVudUVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBAIGlubGluZSBIVE1MTWVudUVsZW1lbnQ6
OkhUTUxNZW51RWxlbWVudCgKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQog
ewogICAgIEFTU0VSVChoYXNUYWdOYW1lKG1lbnVUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTE1lbnVFbGVtZW50PiBIVE1MTWVudUVs
ZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9j
dW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAgaW5saW5lIEhUTUxNZXRhRWxlbWVudDo6
SFRNTE1ldGFFbGVtZW50KAogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7
CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUobWV0YVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MTWV0YUVsZW1lbnQ+IEhUTUxNZXRhRWxl
bWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBIVE1MTWV0ZXJFbGVtZW50OjpIVE1M
TWV0ZXJFbGVtZW50KGNvbnN0CiAgICAgOiBMYWJlbGFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKG1ldGVyVGFnKSk7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBIVE1MTWV0ZXJFbGVtZW50Ojp+SFRNTE1ldGVyRWxl
bWVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
IGlubGluZSBIVE1MTW9kRWxlbWVudDo6SFRNTE1vZEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQ
YXNzUmVmUHRyPEhUTUxNb2RFbGVtZW50PiBIVE1MTW9kRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT0xpc3RFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT0xpc3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDIsNiArNDIsNyBAQCBIVE1MT0xpc3RFbGVtZW50OjpIVE1MT0xpc3RFbGVtZW50KGNvbnN0CiAg
ICAgLCBtX3Nob3VsZFJlY2FsY3VsYXRlSXRlbUNvdW50KGZhbHNlKQogewogICAgIEFTU0VSVCho
YXNUYWdOYW1lKG9sVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEhUTUxPTGlzdEVsZW1lbnQ+IEhUTUxPTGlzdEVsZW1lbnQ6OmNyZWF0ZShE
b2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T2JqZWN0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDcgQEAgaW5saW5l
IEhUTUxPYmplY3RFbGVtZW50OjpIVE1MT2JqZWN0RWxlbQogewogICAgIEFTU0VSVChoYXNUYWdO
YW1lKG9iamVjdFRhZykpOwogICAgIHNldEZvcm0oZm9ybSA/IGZvcm0gOiBmaW5kRm9ybUFuY2Vz
dG9yKCkpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogaW5saW5lIEhU
TUxPYmplY3RFbGVtZW50Ojp+SFRNTE9iamVjdEVsZW1lbnQoKQpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00Myw2ICs0Myw3IEBAIGlubGluZSBIVE1MT3B0R3JvdXBFbGVtZW50OjpIVE1MT3B0R3Jv
dXAKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShvcHRncm91cFRhZykpOwogICAgIHNldEhhc0N1
c3RvbVN0eWxlQ2FsbGJhY2tzKCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBQYXNzUmVmUHRyPEhUTUxPcHRHcm91cEVsZW1lbnQ+IEhUTUxPcHRHcm91cEVsZW1lbnQ6
OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDcgQEAgSFRNTE9wdGlvbkVsZW1lbnQ6OkhUTUxP
cHRpb25FbGVtZW50KGNvbgogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKG9wdGlvblRhZykpOwog
ICAgIHNldEhhc0N1c3RvbVN0eWxlQ2FsbGJhY2tzKCk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxPcHRpb25FbGVtZW50PiBIVE1MT3B0aW9u
RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzEsNiArMzEsNyBAQCBIVE1MT3B0aW9uc0NvbGxlY3Rpb246OkhUTUxPcHRpb25z
Q29sbGVjCiAgICAgOiBIVE1MQ29sbGVjdGlvbihzZWxlY3QsIFNlbGVjdE9wdGlvbnMsIERvZXNO
b3RPdmVycmlkZUl0ZW1BZnRlcikKIHsKICAgICBBU1NFUlQoc2VsZWN0LT5oYXNUYWdOYW1lKEhU
TUxOYW1lczo6c2VsZWN0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBQYXNzUmVmUHRyPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gSFRNTE9wdGlvbnNDb2xsZWN0
aW9uOjpjcmVhdGUoTm9kZSogc2VsZWN0LCBDb2xsZWN0aW9uVHlwZSkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDQsNiArNDQsNyBAQCBpbmxpbmUgSFRNTE91dHB1dEVsZW1lbnQ6OkhUTUxPdXRwdXRFbGVt
CiAgICAgLCBtX2RlZmF1bHRWYWx1ZSgiIikKICAgICAsIG1fdG9rZW5zKERPTVNldHRhYmxlVG9r
ZW5MaXN0OjpjcmVhdGUoKSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9
CiAKIFBhc3NSZWZQdHI8SFRNTE91dHB1dEVsZW1lbnQ+IEhUTUxPdXRwdXRFbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1M
Rm9ybUVsZW1lbnQqIGZvcm0pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhZ3Jh
cGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJh
Z3JhcGhFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGFyYWdyYXBoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcg
QEAgaW5saW5lIEhUTUxQYXJhZ3JhcGhFbGVtZW50OjpIVE1MUGFyYWdyYQogICAgIDogSFRNTEVs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUocFRhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1M
UGFyYWdyYXBoRWxlbWVudD4gSFRNTFBhcmFncmFwaEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCog
ZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAgaW5saW5lIEhUTUxQYXJhbUVs
ZW1lbnQ6OkhUTUxQYXJhbUVsZW1lbgogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUocGFyYW1UYWcpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFBhcmFtRWxlbWVudD4gSFRN
TFBhcmFtRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByZUVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByZUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcmVFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOwogaW5saW5lIEhUTUxQcmVFbGVtZW50OjpIVE1MUHJlRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBIVE1MRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFByZUVsZW1lbnQ+IEhUTUxQcmVFbGVtZW50OjpjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAx
NDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0Niw3IEBAIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OkhUTUxQ
cm9ncmVzc0VsZW1lbnQKICAgICAsIG1fdmFsdWUoMCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShwcm9ncmVzc1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
SFRNTFByb2dyZXNzRWxlbWVudDo6fkhUTUxQcm9ncmVzc0VsZW1lbnQoKQpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUXVvdGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxRdW90ZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxRdW90ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNSw2ICszNSw3IEBAIGlubGluZSBIVE1MUXVvdGVFbGVtZW50OjpIVE1MUXVvdGVFbGVtZW4K
ICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKHFUYWcpIHx8IGhhc1RhZ05hbWUoYmxvY2txdW90ZVRhZykpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MUXVvdGVFbGVtZW50PiBI
VE1MUXVvdGVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxl
bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNj
cmlwdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIGlubGluZSBI
VE1MU2NyaXB0RWxlbWVudDo6SFRNTFNjcmlwdEVsZW0KICAgICAsIFNjcmlwdEVsZW1lbnQodGhp
cywgd2FzSW5zZXJ0ZWRCeVBhcnNlciwgYWxyZWFkeVN0YXJ0ZWQpCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUoc2NyaXB0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiBQYXNzUmVmUHRyPEhUTUxTY3JpcHRFbGVtZW50PiBIVE1MU2NyaXB0RWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgYm9v
bCB3YXNJbnNlcnRlZEJ5UGFyc2VyLCBib29sIGFscmVhZHlTdGFydGVkKQpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw2ICs3OSw3IEBAIEhUTUxTZWxlY3RFbGVtZW50OjpIVE1MU2VsZWN0RWxlbWVudChj
b24KICAgICAsIG1fc2hvdWxkUmVjYWxjTGlzdEl0ZW1zKGZhbHNlKQogewogICAgIEFTU0VSVCho
YXNUYWdOYW1lKHNlbGVjdFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogUGFzc1JlZlB0cjxIVE1MU2VsZWN0RWxlbWVudD4gSFRNTFNlbGVjdEVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhU
TUxGb3JtRWxlbWVudCogZm9ybSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJj
ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJj
ZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTb3VyY2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQCBpbmxp
bmUgSFRNTFNvdXJjZUVsZW1lbnQ6OkhUTUxTb3VyY2VFbGVtCiB7CiAgICAgTE9HKE1lZGlhLCAi
SFRNTFNvdXJjZUVsZW1lbnQ6OkhUTUxTb3VyY2VFbGVtZW50IC0gJXAiLCB0aGlzKTsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShzb3VyY2VUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFNvdXJjZUVsZW1lbnQ+IEhUTUxTb3VyY2VFbGVt
ZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3BhbkVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNwYW5FbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3BhbkVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIEhUTUxTcGFuRWxlbWVudDo6SFRNTFNwYW5F
bGVtZW50KGNvbnN0IFEKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewog
ICAgIEFTU0VSVChoYXNUYWdOYW1lKHNwYW5UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFNwYW5FbGVtZW50PiBIVE1MU3BhbkVsZW1l
bnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1l
bnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDcgQEAgaW5saW5lIEhUTUxTdHlsZUVsZW1lbnQ6
OkhUTUxTdHlsZUVsZW1lbgogICAgICwgbV9zY29wZWRTdHlsZVJlZ2lzdHJhdGlvblN0YXRlKE5v
dFJlZ2lzdGVyZWQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoc3R5bGVUYWcpKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIEhUTUxTdHlsZUVsZW1lbnQ6On5IVE1M
U3R5bGVFbGVtZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2FwdGlv
bkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxl
Q2FwdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUYWJsZUNhcHRpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiAr
MzcsNyBAQCBpbmxpbmUgSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQ6OkhUTUxUYWJsCiAgICAgOiBI
VE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShj
YXB0aW9uVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNz
UmVmUHRyPEhUTUxUYWJsZUNhcHRpb25FbGVtZW50PiBIVE1MVGFibGVDYXB0aW9uRWxlbWVudDo6
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNlbGxFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwogaW5saW5lIEhUTUxUYWJsZUNlbGxFbGVtZW50OjpIVE1MVGFibGVDZWxsRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAg
ICAgOiBIVE1MVGFibGVQYXJ0RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFRhYmxlQ2VsbEVs
ZW1lbnQ+IEhUTUxUYWJsZUNlbGxFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGFibGVDb2xFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUYWJsZUNvbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWJsZUNvbEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2
ICs0MCw3IEBAIGlubGluZSBIVE1MVGFibGVDb2xFbGVtZW50OjpIVE1MVGFibGVDb2wKICAgICA6
IEhUTUxUYWJsZVBhcnRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9zcGFuKDEp
CiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhU
TUxUYWJsZUNvbEVsZW1lbnQ+IEhUTUxUYWJsZUNvbEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2
LDYgKzU2LDcgQEAgSFRNTFRhYmxlRWxlbWVudDo6SFRNTFRhYmxlRWxlbWVudChjb25zdAogICAg
ICwgbV9wYWRkaW5nKDEpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUodGFibGVUYWcpKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTFRhYmxl
RWxlbWVudD4gSFRNTFRhYmxlRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQCBIVE1MVGFibGVSb3dFbGVtZW50OjpI
VE1MVGFibGVSb3dFbGVtZW50CiAgICAgOiBIVE1MVGFibGVQYXJ0RWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZSh0clRhZykpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MVGFibGVSb3dFbGVtZW50
PiBIVE1MVGFibGVSb3dFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIHVzaW5nIG5hbWVzcGFj
ZSBIVE1MTmFtZXM7CiBpbmxpbmUgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ6OkhUTUxUYWJsZVNl
Y3Rpb25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IEhUTUxUYWJsZVBhcnRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MVGFi
bGVTZWN0aW9uRWxlbWVudD4gSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIGlubGlu
ZSBIVE1MVGVtcGxhdGVFbGVtZW50OjpIVE1MVGVtcGxhdGVFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IEhUTUxFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogSFRNTFRlbXBsYXRlRWxlbWVudDo6fkhUTUxUZW1wbGF0ZUVsZW1lbnQoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NCw2ICs5NCw3IEBAIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OkhUTUxUZXh0
QXJlYUVsZW1lbnQKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZSh0ZXh0YXJlYVRhZykpOwogICAg
IHNldEZvcm1Db250cm9sVmFsdWVNYXRjaGVzUmVuZGVyZXIodHJ1ZSk7CisgICAgU2NyaXB0V3Jh
cHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+
IEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxGb3JtRWxlbWVudCogZm9ybSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzksNiArMzksNyBAQCBpbmxpbmUgSFRNTFRpdGxlRWxlbWVudDo6SFRNTFRpdGxlRWxlbWVu
CiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZSh0aXRsZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0K
IAogUGFzc1JlZlB0cjxIVE1MVGl0bGVFbGVtZW50PiBIVE1MVGl0bGVFbGVtZW50OjpjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01OSw2ICs1OSw3IEBAIGlubGluZSBIVE1MVHJhY2tFbGVtZW50OjpIVE1MVHJhY2tF
bGVtZW4KIHsKICAgICBMT0coTWVkaWEsICJIVE1MVHJhY2tFbGVtZW50OjpIVE1MVHJhY2tFbGVt
ZW50IC0gJXAiLCB0aGlzKTsKICAgICBBU1NFUlQoaGFzVGFnTmFtZSh0cmFja1RhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSFRNTFRyYWNrRWxlbWVudDo6fkhU
TUxUcmFja0VsZW1lbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxVTGlzdEVsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxVTGlz
dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBAIEhUTUxVTGlzdEVs
ZW1lbnQ6OkhUTUxVTGlzdEVsZW1lbnQoY29uc3QKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKHVsVGFnKSk7CisgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPEhUTUxVTGlzdEVsZW1lbnQ+
IEhUTUxVTGlzdEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxVbmtub3duRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFVua25vd25FbGVtZW50LmgJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFVua25vd25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ3LDYgKzQ3LDcgQEAgcHJpdmF0ZToKICAgICBIVE1MVW5rbm93bkVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IEhU
TUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgIHsKKyAgICAgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogICAgIH0KIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFZpZGVvRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBA
QCBpbmxpbmUgSFRNTFZpZGVvRWxlbWVudDo6SFRNTFZpZGVvRWxlbWVuCiAgICAgOiBIVE1MTWVk
aWFFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBjcmVhdGVkQnlQYXJzZXIpCiB7CiAgICAgQVNT
RVJUKGhhc1RhZ05hbWUodmlkZW9UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgaWYgKGRvY3VtZW50LT5zZXR0aW5ncygpKQogICAgICAgICBtX2RlZmF1bHRQb3N0
ZXJVUkwgPSBkb2N1bWVudC0+c2V0dGluZ3MoKS0+ZGVmYXVsdFZpZGVvUG9zdGVyVVJMKCk7CiB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXZlbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQxLDYgKzQxLDcgQEAgTWVkaWFLZXlFdmVudEluaXQ6Ok1lZGlhS2V5RXZlbnRJbml0
KCkKIAogTWVkaWFLZXlFdmVudDo6TWVkaWFLZXlFdmVudCgpCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBNZWRpYUtleUV2ZW50OjpNZWRpYUtleUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFLZXlFdmVudEluaXQmIGluaXRpYWxpemVy
KQpAQCAtNTMsNiArNTQsNyBAQCBNZWRpYUtleUV2ZW50OjpNZWRpYUtleUV2ZW50KGNvbnN0IEF0
b21pCiAgICAgLCBtX2Vycm9yQ29kZShpbml0aWFsaXplci5lcnJvckNvZGUpCiAgICAgLCBtX3N5
c3RlbUNvZGUoaW5pdGlhbGl6ZXIuc3lzdGVtQ29kZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6
OmluaXQodGhpcyk7CiB9CiAKIE1lZGlhS2V5RXZlbnQ6On5NZWRpYUtleUV2ZW50KCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9Ob2RlTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDEsNiArNDEsNyBAQCBSYWRpb05vZGVMaXN0OjpSYWRpb05vZGVMaXN0KE5vZGUqIHJvb3ROCiAg
ICAgOiBMaXZlTm9kZUxpc3Qocm9vdE5vZGUsIFJhZGlvTm9kZUxpc3RUeXBlLCBJbnZhbGlkYXRl
Rm9yRm9ybUNvbnRyb2xzLCByb290Tm9kZS0+aGFzVGFnTmFtZShmb3JtVGFnKSA/IE5vZGVMaXN0
SXNSb290ZWRBdERvY3VtZW50IDogTm9kZUxpc3RJc1Jvb3RlZEF0Tm9kZSkKICAgICAsIG1fbmFt
ZShuYW1lKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUmFkaW9O
b2RlTGlzdDo6flJhZGlvTm9kZUxpc3QoKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9WYWxp
ZGl0eVN0YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0
YXRlLmgJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlT
dGF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1NywxMCBAQCBwdWJsaWM6CiAgICAgYm9v
bCB2YWxpZCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIFZhbGlkaXR5U3RhdGUoRm9ybUFzc29j
aWF0ZWRFbGVtZW50KiBjb250cm9sKSA6IG1fY29udHJvbChjb250cm9sKSB7IH0KKyAgICBWYWxp
ZGl0eVN0YXRlKEZvcm1Bc3NvY2lhdGVkRWxlbWVudCogY29udHJvbCkgOiBtX2NvbnRyb2woY29u
dHJvbCkKKyAgICB7CisgICAgICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKKyAgICB9
CiAKICAgICBGb3JtQXNzb2NpYXRlZEVsZW1lbnQqIG1fY29udHJvbDsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNiw2ICsx
MzYsNyBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1JlbmRlcmluCiAjaWYgIUVO
QUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKICAgICBBU1NFUlRfVU5VU0VEKHVzZXNEYXNoYm9hcmRD
b21wYXRpYmlsaXR5TW9kZSwgIXVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSk7CiAjZW5k
aWYKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIHZvaWQgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjp1bndpbmRTdGF0ZVN0YWNrKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBDYW52YXNSZW5kZXJpbmdDb250ZXh0OjpDYW52YXNSZW5kZXJpbmdDb250ZXh0
KEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMpCiAgICAgOiBtX2NhbnZhcyhjYW52YXMpCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBib29sIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQ6OndvdWxkVGFpbnRPcmlnaW4oY29uc3QgQ2FudmFzUGF0dGVybiogcGF0dGVybikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVu
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29udGV4dEV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTggKzM4LDIxIEBAIFdl
YkdMQ29udGV4dEV2ZW50SW5pdDo6V2ViR0xDb250ZXh0RXZlbnQKIAogV2ViR0xDb250ZXh0RXZl
bnQ6OldlYkdMQ29udGV4dEV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiB9CiAKIFdlYkdMQ29udGV4dEV2ZW50OjpXZWJHTENvbnRleHRFdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGNvbnN0IFN0
cmluZyYgc3RhdHVzTWVzc2FnZSkKICAgICA6IEV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2Vs
YWJsZSkKICAgICAsIG1fc3RhdHVzTWVzc2FnZShzdGF0dXNNZXNzYWdlKQogeworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogV2ViR0xDb250ZXh0RXZlbnQ6OldlYkdMQ29u
dGV4dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgV2ViR0xDb250ZXh0RXZl
bnRJbml0JiBpbml0aWFsaXplcikKICAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQogICAg
ICwgbV9zdGF0dXNNZXNzYWdlKGluaXRpYWxpemVyLnN0YXR1c01lc3NhZ2UpCiB7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBXZWJHTENvbnRleHRFdmVudDo6fldlYkdM
Q29udGV4dEV2ZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDc2LDYgKzQ3Niw4IEBAIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5k
ZXJpbmdDb24KICAgICAsIG1fbnVtR0xFcnJvcnNUb0NvbnNvbGVBbGxvd2VkKG1heEdMRXJyb3Jz
QWxsb3dlZFRvQ29uc29sZSkKIHsKICAgICBBU1NFUlQobV9jb250ZXh0KTsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CisKICAgICBtX2NvbnRleHRHcm91cCA9IFdlYkdMQ29udGV4
dEdyb3VwOjpjcmVhdGUoKTsKICAgICBtX2NvbnRleHRHcm91cC0+YWRkQ29udGV4dCh0aGlzKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw4IEBA
IEhUTUxDb250ZW50RWxlbWVudDo6SFRNTENvbnRlbnRFbGVtZW50KGMKICAgICAsIG1fc2hvdWxk
UGFyc2VTZWxlY3Rvckxpc3QoZmFsc2UpCiAgICAgLCBtX2lzVmFsaWRTZWxlY3Rvcih0cnVlKQog
eworICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFkb3dET01FbmFibGVkKCkpCisg
ICAgICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogSFRNTENvbnRlbnRFbGVt
ZW50Ojp+SFRNTENvbnRlbnRFbGVtZW50KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDUsNiArNDUsNyBAQCBpbmxpbmUgSFRNTFNoYWRvd0VsZW1lbnQ6OkhUTUxTaGFk
b3dFbGVtCiAgICAgOiBJbnNlcnRpb25Qb2ludCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShIVE1MTmFtZXM6OnNoYWRvd1RhZykpOworICAgIFNjcmlwdFdyYXBw
YWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MU2hhZG93RWxlbWVudD4gSFRN
TFNoYWRvd0VsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZl
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVu
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJh
Y2tFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDEyICs0MCwxNCBAQCBUcmFja0V2ZW50
SW5pdDo6VHJhY2tFdmVudEluaXQoKQogCiBUcmFja0V2ZW50OjpUcmFja0V2ZW50KCkKIHsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFRyYWNrRXZlbnQ6OlRyYWNrRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBUcmFja0V2ZW50SW5pdCYgaW5pdGlh
bGl6ZXIpCiAgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplcikKICAgICAsIG1fdHJhY2soaW5p
dGlhbGl6ZXIudHJhY2spCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBUcmFja0V2ZW50Ojp+VHJhY2tFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuY3BwCShyZXZpc2lvbiAx
NDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25D
YWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogRE9NQXBwbGljYXRpb25DYWNoZTo6RE9NQXBwbGljYXRpb25DYWNoZShGcmFtZSogZnJh
bWUpCiAgICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkKIHsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiAgICAgQXBwbGljYXRpb25DYWNoZUhvc3QqIGNhY2hlSG9zdCA9IGFw
cGxpY2F0aW9uQ2FjaGVIb3N0KCk7CiAgICAgaWYgKGNhY2hlSG9zdCkKICAgICAgICAgY2FjaGVI
b3N0LT5zZXRET01BcHBsaWNhdGlvbkNhY2hlKHRoaXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9CYXJJbmZvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0Jhcklu
Zm8uY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0JhckluZm8u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIEJhckluZm86OkJhckluZm8oRnJh
bWUqIGZyYW1lLCBUeXBlIHR5cGUKICAgICA6IERPTVdpbmRvd1Byb3BlcnR5KGZyYW1lKQogICAg
ICwgbV90eXBlKHR5cGUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBCYXJJbmZvOjpUeXBlIEJhckluZm86OnR5cGUoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9Db25zb2xlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnNvbGUuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNv
bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIENvbnNvbGU6OkNvbnNvbGUoRnJhbWUqIGZyYW1lKQogICAgIDogRE9NV2luZG93UHJvcGVy
dHkoZnJhbWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBDb25z
b2xlOjp+Q29uc29sZSgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU0LDYgKzU0LDcgQEAgYm9vbCBpc0ludGVnZXJBcnJheShBcnJheUJ1ZmZlclZpZXcqIGFycgog
CiBDcnlwdG86OkNyeXB0bygpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwog
fQogCiB2b2lkIENyeXB0bzo6Z2V0UmFuZG9tVmFsdWVzKEFycmF5QnVmZmVyVmlldyogYXJyYXks
IEV4Y2VwdGlvbkNvZGUmIGVjKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwCShyZXZpc2lv
biAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NCw2ICs0NCw3IEBAIEhpc3Rvcnk6Okhpc3RvcnkoRnJhbWUqIGZyYW1lKQogICAg
IDogRE9NV2luZG93UHJvcGVydHkoZnJhbWUpCiAgICAgLCBtX2xhc3RTdGF0ZU9iamVjdFJlcXVl
c3RlZCgwKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogdW5zaWdu
ZWQgSGlzdG9yeTo6bGVuZ3RoKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9j
YXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBMb2Nh
dGlvbjo6TG9jYXRpb24oRnJhbWUqIGZyYW1lKQogICAgIDogRE9NV2luZG93UHJvcGVydHkoZnJh
bWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBpbmxpbmUgY29u
c3QgS1VSTCYgTG9jYXRpb246OnVybCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogTmF2aWdhdG9yOjpOYXZpZ2F0b3IoRnJhbWUqIGZyYW1lKQogICAgIDogRE9NV2luZG93UHJv
cGVydHkoZnJhbWUpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBO
YXZpZ2F0b3I6On5OYXZpZ2F0b3IoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5j
cHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBAIFBlcmZvcm1hbmNlOjpQZXJmb3Jt
YW5jZShGcmFtZSogZnJhbWUpCiAgICAgLCBtX3VzZXJUaW1pbmcoMCkKICNlbmRpZiAvLyBFTkFC
TEUoVVNFUl9USU1JTkcpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQog
CiBQZXJmb3JtYW5jZTo6flBlcmZvcm1hbmNlKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2NyZWVuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5jcHAJ
KHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBTY3JlZW46
OlNjcmVlbihGcmFtZSogZnJhbWUpCiAgICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkKIHsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIHVuc2lnbmVkIFNjcmVlbjo6
aG9yaXpvbnRhbERQSSgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElu
cHV0RXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5w
dXRFdmVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU3Bl
ZWNoSW5wdXRFdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDEyICs1MCwxNCBAQCBQYXNz
UmVmUHRyPFNwZWVjaElucHV0RXZlbnQ+IFNwZWVjaElucHV0CiAKIFNwZWVjaElucHV0RXZlbnQ6
OlNwZWVjaElucHV0RXZlbnQoKQogeworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogU3BlZWNoSW5wdXRFdmVudDo6U3BlZWNoSW5wdXRFdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50VHlwZSwgY29uc3QgU3BlZWNoSW5wdXRSZXN1bHRBcnJheSYgcmVzdWx0cykKICAg
ICA6IEV2ZW50KGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UpIC8vIENhbiBidWJibGUsIG5vdCBjYW5j
ZWxhYmxlCiAgICAgLCBtX3Jlc3VsdHMoU3BlZWNoSW5wdXRSZXN1bHRMaXN0OjpjcmVhdGUocmVz
dWx0cykpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBTcGVlY2hJ
bnB1dEV2ZW50Ojp+U3BlZWNoSW5wdXRFdmVudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL0RPTU1pbWVUeXBlQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
dWdpbnMvRE9NTWltZVR5cGVBcnJheS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGVBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogRE9NTWltZVR5cGVBcnJheTo6RE9NTWlt
ZVR5cGVBcnJheShGcmFtZSogZnJhbWUpCiAgICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkK
IHsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIERPTU1pbWVUeXBlQXJy
YXk6On5ET01NaW1lVHlwZUFycmF5KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9N
UGx1Z2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdp
bi5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1
Z2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQCBET01QbHVnaW46OkRPTVBs
dWdpbihQbHVnaW5EYXRhKiBwbHVnaW5ECiAgICAgLCBtX3BsdWdpbkRhdGEocGx1Z2luRGF0YSkK
ICAgICAsIG1faW5kZXgoaW5kZXgpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogfQogCiBET01QbHVnaW46On5ET01QbHVnaW4oKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9ET01QbHVnaW5BcnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9ET01QbHVnaW5BcnJheS5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICsz
MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIERPTVBsdWdpbkFycmF5OjpET01QbHVnaW5BcnJh
eShGcmFtZSogZnJhbWUpCiAgICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkKIHsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIERPTVBsdWdpbkFycmF5Ojp+RE9NUGx1
Z2luQXJyYXkoKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuY3BwCShyZXZpc2lvbiAx
NDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NSw2ICs0NSw3IEBAIFN0b3JhZ2U6OlN0b3JhZ2UoRnJhbWUqIGZyYW1lLCBQYXNz
UmVmUHQKIHsKICAgICBBU1NFUlQobV9mcmFtZSk7CiAgICAgQVNTRVJUKG1fc3RvcmFnZUFyZWEp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBpZiAobV9zdG9yYWdlQXJl
YSkKICAgICAgICAgbV9zdG9yYWdlQXJlYS0+aW5jcmVtZW50QWNjZXNzQ291bnQoKTsKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VFdmVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNiArNDIsNyBAQCBQYXNzUmVmUHRyPFN0b3JhZ2VFdmVudD4gU3RvcmFnZUV2
ZW50OjpjCiAKIFN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KCkKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFN0b3JhZ2VFdmVudDo6flN0b3JhZ2VFdmVudCgpCkBA
IC02Niw2ICs2Nyw3IEBAIFN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KGNvbnN0IEF0b21pY1MK
ICAgICAsIG1fdXJsKHVybCkKICAgICAsIG1fc3RvcmFnZUFyZWEoc3RvcmFnZUFyZWEpCiB7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBTdG9yYWdlRXZlbnQ6OlN0b3Jh
Z2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFN0b3JhZ2VFdmVudEluaXQm
IGluaXRpYWxpemVyKQpAQCAtNzYsNiArNzgsNyBAQCBTdG9yYWdlRXZlbnQ6OlN0b3JhZ2VFdmVu
dChjb25zdCBBdG9taWNTCiAgICAgLCBtX3VybChpbml0aWFsaXplci51cmwpCiAgICAgLCBtX3N0
b3JhZ2VBcmVhKGluaXRpYWxpemVyLnN0b3JhZ2VBcmVhKQogeworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogdm9pZCBTdG9yYWdlRXZlbnQ6OmluaXRTdG9yYWdlRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5n
JiBuZXdWYWx1ZSwgY29uc3QgU3RyaW5nJiB1cmwsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2
OSw3IEBAIGlubGluZSBTVkdBRWxlbWVudDo6U1ZHQUVsZW1lbnQoY29uc3QgUXUKICAgICA6IFNW
R1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjphVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjpp
bml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHQUVsZW1lbnQo
KTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlw
aERlZkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBAIGlubGluZSBT
VkdBbHRHbHlwaERlZkVsZW1lbnQ6OlNWR0FsdEdseXAKICAgICA6IFNWR0VsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFsdEdseXBo
RGVmVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVm
UHRyPFNWR0FsdEdseXBoRGVmRWxlbWVudD4gU1ZHQWx0R2x5cGhEZWZFbGVtZW50OjpjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDog
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIGlubGluZSBTVkdBbHRHbHlwaEVsZW1lbnQ6OlNWR0Fs
dEdseXBoRWwKICAgICA6IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFsdEdseXBoVGFnKSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9w
ZXJ0aWVzRm9yU1ZHQWx0R2x5cGhFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzEsNiArMzEsNyBAQCBpbmxpbmUgU1ZHQWx0R2x5cGhJdGVtRWxlbWVudDo6U1ZH
QWx0R2x5CiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VS
VChoYXNUYWdOYW1lKFNWR05hbWVzOjphbHRHbHlwaEl0ZW1UYWcpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHQWx0R2x5cGhJdGVtRWxlbWVu
dD4gU1ZHQWx0R2x5cGhJdGVtRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlQ29sb3JFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlQ29sb3JFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNiArMzEsNyBAQCBpbmxpbmUgU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudDo6U1ZHQW5pbWF0CiAg
ICAgOiBTVkdBbmltYXRlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQo
aGFzVGFnTmFtZShTVkdOYW1lczo6YW5pbWF0ZUNvbG9yVGFnKSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0FuaW1hdGVDb2xvckVsZW1lbnQ+
IFNWR0FuaW1hdGVDb2xvckVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAgU1ZH
QW5pbWF0ZUVsZW1lbnQ6OlNWR0FuaW1hdGVFbGVtZW50KGNvbgogICAgICwgbV9hbmltYXRlZFBy
b3BlcnR5VHlwZShBbmltYXRlZFN0cmluZykKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdO
YW1lczo6YW5pbWF0ZVRhZykgfHwgaGFzVGFnTmFtZShTVkdOYW1lczo6c2V0VGFnKSB8fCBoYXNU
YWdOYW1lKFNWR05hbWVzOjphbmltYXRlQ29sb3JUYWcpIHx8IGhhc1RhZ05hbWUoU1ZHTmFtZXM6
OmFuaW1hdGVUcmFuc2Zvcm1UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiB9CiAKIFBhc3NSZWZQdHI8U1ZHQW5pbWF0ZUVsZW1lbnQ+IFNWR0FuaW1hdGVFbGVtZW50Ojpj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlv
bkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIGlubGluZSBTVkdB
bmltYXRlTW90aW9uRWxlbWVudDo6U1ZHQW5pbWEKIHsKICAgICBzZXRDYWxjTW9kZShDYWxjTW9k
ZVBhY2VkKTsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShhbmltYXRlTW90aW9uVGFnKSk7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0FuaW1hdGVN
b3Rpb25FbGVtZW50PiBTVkdBbmltYXRlTW90aW9uRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQCBpbmxpbmUgU1ZHQW5pbWF0ZVRy
YW5zZm9ybUVsZW1lbnQ6OlNWR0FuCiAgICAgLCBtX3R5cGUoU1ZHVHJhbnNmb3JtOjpTVkdfVFJB
TlNGT1JNX1VOS05PV04pCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFuaW1h
dGVUcmFuc2Zvcm1UYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAK
IFBhc3NSZWZQdHI8U1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQ+IFNWR0FuaW1hdGVUcmFuc2Zv
cm1FbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlv
bkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIFNWR0FuaW1hdGlv
bkVsZW1lbnQ6OlNWR0FuaW1hdGlvbkVsZW1lbnQKICAgICAsIG1fY2FsY01vZGUoQ2FsY01vZGVM
aW5lYXIpCiAgICAgLCBtX2FuaW1hdGlvbk1vZGUoTm9BbmltYXRpb24pCiB7CisgICAgU2NyaXB0
V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9y
U1ZHQW5pbWF0aW9uRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Q2lyY2xlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Np
cmNsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQ2lyY2xlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgaW5s
aW5lIFNWR0NpcmNsZUVsZW1lbnQ6OlNWR0NpcmNsZUVsZW1lbgogICAgICwgbV9yKExlbmd0aE1v
ZGVPdGhlcikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6Y2lyY2xlVGFnKSk7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQ
cm9wZXJ0aWVzRm9yU1ZHQ2lyY2xlRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDYgKzUwLDcgQEAgaW5saW5lIFNWR0NsaXBQYXRoRWxlbWVudDo6U1ZHQ2xpcFBhdGhFbAogICAg
ICwgbV9jbGlwUGF0aFVuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VP
TlVTRSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6Y2xpcFBhdGhUYWcpKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFBy
b3BlcnRpZXNGb3JTVkdDbGlwUGF0aEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1
Nyw3IEBAIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50OjpTVkcKICAgICAsIG1f
YW1wbGl0dWRlKDEpCiAgICAgLCBtX2V4cG9uZW50KDEpCiB7CisgICAgU2NyaXB0V3JhcHBhYmxl
Ojppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3
IEBAIGlubGluZSBTVkdDdXJzb3JFbGVtZW50OjpTVkdDdXJzb3JFbGVtZW4KICAgICAsIG1feShM
ZW5ndGhNb2RlSGVpZ2h0KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpjdXJz
b3JUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJB
bmltYXRlZFByb3BlcnRpZXNGb3JTVkdDdXJzb3JFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdEZWZzRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiAr
NDEsNyBAQCBpbmxpbmUgU1ZHRGVmc0VsZW1lbnQ6OlNWR0RlZnNFbGVtZW50KGNvCiAgICAgOiBT
VkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZGVmc1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0RlZnNF
bGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmNwcAko
cmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQCBpbmxpbmUgU1ZHRGVzY0VsZW1lbnQ6
OlNWR0Rlc2NFbGVtZW50KGNvCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpkZXNjVGFnKSk7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0Rlc2NFbGVt
ZW50PiBTVkdEZXNjRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50LmNwcAko
cmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBTVkdE
b2N1bWVudDo6U1ZHRG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwpCiAgICAg
OiBEb2N1bWVudChmcmFtZSwgdXJsLCBmYWxzZSwgZmFsc2UpCiB7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogfQogCiBTVkdTVkdFbGVtZW50KiBTVkdEb2N1bWVudDo6cm9vdEVs
ZW1lbnQoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MSw2ICs1MSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBTVkdFbGVt
ZW50OjpTVkdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCwgQ29uc3RydWN0aW9uVHlwZSBjb25zdHJ1Y3Rpb25UeXBlKQogICAgIDogU3R5bGVk
RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgY29uc3RydWN0aW9uVHlwZSkKIHsKKyAgICBTY3Jp
cHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgc2V0SGFzQ3VzdG9tU3R5bGVDYWxsYmFja3Mo
KTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIGlubGluZSBTVkdFbGxpcHNlRWxl
bWVudDo6U1ZHRWxsaXBzZUVsZW0KICAgICAsIG1fcnkoTGVuZ3RoTW9kZUhlaWdodCkKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZWxsaXBzZVRhZykpOworICAgIFNjcmlwdFdy
YXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNW
R0VsbGlwc2VFbGVtZW50KCk7CiB9ICAgIAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVCbGVuZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RUJsZW5kRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRUJsZW5kRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAg
aW5saW5lIFNWR0ZFQmxlbmRFbGVtZW50OjpTVkdGRUJsZW5kRWxlbQogICAgICwgbV9tb2RlKEZF
QkxFTkRfTU9ERV9OT1JNQUwpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZl
QmxlbmRUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0
ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRUJsZW5kRWxlbWVudCgpOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAgaW5saW5lIFNWR0ZFQ29sb3JN
YXRyaXhFbGVtZW50OjpTVkdGRUNvbAogICAgICwgbV90eXBlKEZFQ09MT1JNQVRSSVhfVFlQRV9N
QVRSSVgpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlQ29sb3JNYXRyaXhU
YWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmlt
YXRlZFByb3BlcnRpZXNGb3JTVkdGRUNvbG9yTWF0cml4RWxlbWVudCgpOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBv
bmVudFRyYW5zZmVyRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAg
aW5saW5lIFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50OjpTVgogICAgIDogU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZUNvbXBvbmVudFRyYW5zZmVyVGFnKSk7CisgICAg
U2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0
aWVzRm9yU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIGlubGluZSBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ6
OlNWR0ZFQ29tcG8KICAgICAsIG1fX29wZXJhdG9yKEZFQ09NUE9TSVRFX09QRVJBVE9SX09WRVIp
CiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlQ29tcG9zaXRlVGFnKSk7Cisg
ICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9w
ZXJ0aWVzRm9yU1ZHRkVDb21wb3NpdGVFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcAkocmV2aXNpb24g
MTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQCBpbmxpbmUgU1ZHRkVDb252b2x2
ZU1hdHJpeEVsZW1lbnQ6OlNWR0ZFCiAgICAgLCBtX2VkZ2VNb2RlKEVER0VNT0RFX0RVUExJQ0FU
RSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVDb252b2x2ZU1hdHJpeFRh
ZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1h
dGVkUHJvcGVydGllc0ZvclNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50KCk7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNl
TGlnaHRpbmdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsNyBAQCBpbmxp
bmUgU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50OjpTVkdGCiAgICAgLCBtX3N1cmZhY2VTY2Fs
ZSgxKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZURpZmZ1c2VMaWdodGlu
Z1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFu
aW1hdGVkUHJvcGVydGllc0ZvclNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCgpOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlz
cGxhY2VtZW50TWFwRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAg
aW5saW5lIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudDo6U1ZHRgogICAgICwgbV95Q2hhbm5l
bFNlbGVjdG9yKENIQU5ORUxfQSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6
ZmVEaXNwbGFjZW1lbnRNYXBUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7
CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRURpc3BsYWNlbWVudE1hcEVs
ZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzdGFudExpZ2h0
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzdGFu
dExpZ2h0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRURpc3RhbnRMaWdodEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICsz
MSw3IEBAIGlubGluZSBTVkdGRURpc3RhbnRMaWdodEVsZW1lbnQ6OlNWR0ZFRGkKICAgICA6IFNW
R0ZFTGlnaHRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdO
YW1lKFNWR05hbWVzOjpmZURpc3RhbnRMaWdodFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6
aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGRURpc3RhbnRMaWdodEVsZW1lbnQ+IFNW
R0ZFRGlzdGFudExpZ2h0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURy
b3BTaGFkb3dFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVEcm9wU2hhZG93RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYs
NiArNTYsNyBAQCBpbmxpbmUgU1ZHRkVEcm9wU2hhZG93RWxlbWVudDo6U1ZHRkVEcm9wCiAgICAg
LCBtX3N0ZERldmlhdGlvblkoMikKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6
ZmVEcm9wU2hhZG93VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAg
IHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRkVEcm9wU2hhZG93RWxlbWVudCgpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAgaW5saW5lIFNWR0ZFRmxvb2RFbGVtZW50
OjpTVkdGRUZsb29kRWxlbQogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVz
OjpmZUZsb29kVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQ
YXNzUmVmUHRyPFNWR0ZFRmxvb2RFbGVtZW50PiBTVkdGRUZsb29kRWxlbWVudDo6Y3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNBRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY0FFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY0FFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNiArMzAsNyBAQCBpbmxpbmUgU1ZHRkVGdW5jQUVsZW1lbnQ6OlNWR0ZFRnVuY0FF
bGVtCiAgICAgOiBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVGdW5jQVRhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdG
RUZ1bmNBRWxlbWVudD4gU1ZHRkVGdW5jQUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVGdW5jQkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRUZ1bmNCRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUZ1bmNCRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMw
LDcgQEAgaW5saW5lIFNWR0ZFRnVuY0JFbGVtZW50OjpTVkdGRUZ1bmNCRWxlbQogICAgIDogU1ZH
Q29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAg
ICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlRnVuY0JUYWcpKTsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHRkVGdW5jQkVsZW1lbnQ+
IFNWR0ZFRnVuY0JFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY0dF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGdW5jR0Vs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVG
dW5jR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBAIGlubGluZSBT
VkdGRUZ1bmNHRWxlbWVudDo6U1ZHRkVGdW5jR0VsZW0KICAgICA6IFNWR0NvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb25FbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKFNWR05hbWVzOjpmZUZ1bmNHVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNWR0ZFRnVuY0dFbGVtZW50PiBTVkdGRUZ1bmNHRWxl
bWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNSRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY1JFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRnVuY1JFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQCBpbmxpbmUgU1ZHRkVGdW5jUkVsZW1l
bnQ6OlNWR0ZFRnVuY1JFbGVtCiAgICAgOiBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxl
bWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1l
czo6ZmVGdW5jUlRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
UGFzc1JlZlB0cjxTVkdGRUZ1bmNSRWxlbWVudD4gU1ZHRkVGdW5jUkVsZW1lbnQ6OmNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAgaW5saW5lIFNWR0ZFR2F1
c3NpYW5CbHVyRWxlbWVudDo6U1ZHRkVHYQogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1l
KFNWR05hbWVzOjpmZUdhdXNzaWFuQmx1clRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5p
dCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0ZFR2F1c3NpYW5C
bHVyRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUlt
YWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDcgQEAgaW5saW5lIFNW
R0ZFSW1hZ2VFbGVtZW50OjpTVkdGRUltYWdlRWxlbQogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKFNWR05hbWVzOjpmZUltYWdlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0
KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRkVJbWFnZUVsZW1l
bnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIGlubGluZSBTVkdGRU1lcmdl
RWxlbWVudDo6U1ZHRkVNZXJnZUVsZW0KICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcyh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShT
VkdOYW1lczo6ZmVNZXJnZVRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsK
IH0KIAogUGFzc1JlZlB0cjxTVkdGRU1lcmdlRWxlbWVudD4gU1ZHRkVNZXJnZUVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgaW5saW5lIFNWR0ZFTWVyZ2VO
b2RlRWxlbWVudDo6U1ZHRkVNZXJnZQogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVNZXJnZU5vZGVUYWcpKTsK
KyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFBy
b3BlcnRpZXNGb3JTVkdGRU1lcmdlTm9kZUVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2
KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIGlubGluZSBTVkdGRU1vcnBob2xvZ3lFbGVtZW50
OjpTVkdGRU1vcnAKICAgICAsIG1fX29wZXJhdG9yKEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9E
RSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZmVNb3JwaG9sb2d5VGFnKSk7
CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQ
cm9wZXJ0aWVzRm9yU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ3LDYgKzQ3LDcgQEAgaW5saW5lIFNWR0ZFT2Zmc2V0RWxlbWVudDo6U1ZHRkVPZmZzZXRF
bAogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRv
Y3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZU9mZnNldFRhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVk
UHJvcGVydGllc0ZvclNWR0ZFT2Zmc2V0RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFUG9pbnRMaWdodEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAgaW5saW5lIFNWR0ZFUG9pbnRMaWdodEVsZW1lbnQ6
OlNWR0ZFUG9pbgogICAgIDogU1ZHRkVMaWdodEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7
CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlUG9pbnRMaWdodFRhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGRVBvaW50
TGlnaHRFbGVtZW50PiBTVkdGRVBvaW50TGlnaHRFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAkocmV2aXNp
b24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0Vs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTVkdGRVNw
ZWN1bGFyTGlnaHRpbmdFbGVtZW50OjpTVkcKICAgICAsIG1fc3VyZmFjZVNjYWxlKDEpCiB7CiAg
ICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlU3BlY3VsYXJMaWdodGluZ1RhZykpOwor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJv
cGVydGllc0ZvclNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQoKTsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BvdExpZ2h0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BvdExpZ2h0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwb3RMaWdodEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBAIGlubGluZSBTVkdGRVNwb3RMaWdodEVsZW1l
bnQ6OlNWR0ZFU3BvdEwKICAgICA6IFNWR0ZFTGlnaHRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmZVNwb3RMaWdodFRhZykpOwor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGRVNw
b3RMaWdodEVsZW1lbnQ+IFNWR0ZFU3BvdExpZ2h0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiAr
NDQsNyBAQCBpbmxpbmUgU1ZHRkVUaWxlRWxlbWVudDo6U1ZHRkVUaWxlRWxlbWVuCiAgICAgOiBT
VkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXModGFnTmFtZSwgZG9jdW1lbnQpCiB7
CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlVGlsZVRhZykpOworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0Zv
clNWR0ZFVGlsZUVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
VHVyYnVsZW5jZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
NSw2ICs1NSw3IEBAIGlubGluZSBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpTVkdGRVR1cmIKICAg
ICAsIG1fdHlwZShGRVRVUkJVTEVOQ0VfVFlQRV9UVVJCVUxFTkNFKQogewogICAgIEFTU0VSVCho
YXNUYWdOYW1lKFNWR05hbWVzOjpmZVR1cmJ1bGVuY2VUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGRVR1
cmJ1bGVuY2VFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0
ZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVy
RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzQsNiArNzQsNyBAQCBpbmxpbmUg
U1ZHRmlsdGVyRWxlbWVudDo6U1ZHRmlsdGVyRWxlbWVuCiAgICAgLy8gU3BlYzogSWYgdGhlIHgv
eSBhdHRyaWJ1dGUgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBhIHZhbHVl
IG9mICItMTAlIiB3ZXJlIHNwZWNpZmllZC4KICAgICAvLyBTcGVjOiBJZiB0aGUgd2lkdGgvaGVp
Z2h0IGF0dHJpYnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZWZmZWN0IGlzIGFzIGlmIGEgdmFs
dWUgb2YgIjEyMCUiIHdlcmUgc3BlY2lmaWVkLgogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05h
bWVzOjpmaWx0ZXJUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAg
cmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdGaWx0ZXJFbGVtZW50KCk7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTAsNiArNTAsNyBAQCBpbmxpbmUgU1ZHRm9udEVsZW1lbnQ6OlNWR0ZvbnRFbGVtZW50KGNv
CiAgICAgLCBtX2lzR2x5cGhDYWNoZVZhbGlkKGZhbHNlKQogewogICAgIEFTU0VSVChoYXNUYWdO
YW1lKFNWR05hbWVzOjpmb250VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRm9udEVsZW1lbnQoKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw3IEBAIGlubGluZSBTVkdGb250RmFjZUVsZW1l
bnQ6OlNWR0ZvbnRGYWNlRWwKICAgICAsIG1fZm9udEVsZW1lbnQoMCkKIHsKICAgICBBU1NFUlQo
aGFzVGFnTmFtZShmb250X2ZhY2VUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhp
cyk7CiAgICAgUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IHN0eWxlRGVjbGFyYXRpb24gPSBTdHls
ZVByb3BlcnR5U2V0OjpjcmVhdGUoQ1NTU3RyaWN0TW9kZSk7CiAgICAgbV9mb250RmFjZVJ1bGUt
PnNldFByb3BlcnRpZXMoc3R5bGVEZWNsYXJhdGlvbi5yZWxlYXNlKCkpOwogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5jcHAJKHJldmlz
aW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBAIGlubGluZSBTVkdGb250RmFj
ZUZvcm1hdEVsZW1lbnQ6OlNWR0ZvbnQKICAgICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoZm9udF9mYWNlX2Zvcm1hdFRhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGb250RmFj
ZUZvcm1hdEVsZW1lbnQ+IFNWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQCBpbmxpbmUgU1ZHRm9udEZhY2VOYW1lRWxlbWVu
dDo6U1ZHRm9udEZhCiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAg
IEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpmb250X2ZhY2VfbmFtZVRhZykpOworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGb250RmFjZU5h
bWVFbGVtZW50PiBTVkdGb250RmFjZU5hbWVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNyw2ICszNyw3IEBAIGlubGluZSBTVkdGb250RmFjZVNyY0VsZW1lbnQ6OlNWR0ZvbnRG
YWMKICAgICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhh
c1RhZ05hbWUoZm9udF9mYWNlX3NyY1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdGb250RmFjZVNyY0VsZW1lbnQ+IFNWR0ZvbnRGYWNl
U3JjRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9u
dEZhY2VVcmlFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsNyBAQCBpbmxp
bmUgU1ZHRm9udEZhY2VVcmlFbGVtZW50OjpTVkdGb250RmFjCiAgICAgOiBTVkdFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGZvbnRfZmFjZV91cmlU
YWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8
U1ZHRm9udEZhY2VVcmlFbGVtZW50PiBTVkdGb250RmFjZVVyaUVsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHJldmlzaW9u
IDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDcgQEAgaW5saW5lIFNWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50OjpTVkdGb3JlaQogICAgICwgbV9oZWlnaHQoTGVuZ3RoTW9kZUhlaWdodCkKIHsK
ICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6Zm9yZWlnbk9iamVjdFRhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVy
dGllc0ZvclNWR0ZvcmVpZ25PYmplY3RFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0dFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0dFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBTVkdHRWxl
bWVudDo6U1ZHR0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zv
cm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgY29uc3RydWN0aW9uVHlwZSkKIHsKICAg
ICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6Z1RhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR0dFbGVt
ZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBpbmxpbmUgU1ZHR2x5cGhFbGVtZW50
OjpTVkdHbHlwaEVsZW1lbnQoCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpnbHlwaFRhZykpOworICAg
IFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdHbHlwaEVs
ZW1lbnQ+IFNWR0dseXBoRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlw
aFJlZkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlw
aFJlZkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHR2x5cGhSZWZFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQCBp
bmxpbmUgU1ZHR2x5cGhSZWZFbGVtZW50OjpTVkdHbHlwaFJlZkVsCiAgICAgLCBtX2R5KDApCiB7
CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmdseXBoUmVmVGFnKSk7CisgICAgU2Ny
aXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVz
Rm9yU1ZHR2x5cGhSZWZFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTks
NyBAQCBTVkdHcmFkaWVudEVsZW1lbnQ6OlNWR0dyYWRpZW50RWxlbWVudChjCiAgICAgLCBtX3Nw
cmVhZE1ldGhvZChTVkdTcHJlYWRNZXRob2RQYWQpCiAgICAgLCBtX2dyYWRpZW50VW5pdHMoU1ZH
VW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YKQogeworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0Zv
clNWR0dyYWRpZW50RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
SEtlcm5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSEtl
cm5FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0hLZXJuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAgaW5saW5l
IFNWR0hLZXJuRWxlbWVudDo6U1ZHSEtlcm5FbGVtZW50KAogICAgIDogU1ZHRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6aGtlcm5U
YWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8
U1ZHSEtlcm5FbGVtZW50PiBTVkdIS2VybkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHSW1hZ2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAg
aW5saW5lIFNWR0ltYWdlRWxlbWVudDo6U1ZHSW1hZ2VFbGVtZW50KAogICAgICwgbV9pbWFnZUxv
YWRlcih0aGlzKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjppbWFnZVRhZykp
OworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVk
UHJvcGVydGllc0ZvclNWR0ltYWdlRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdMaW5lRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAg
aW5saW5lIFNWR0xpbmVFbGVtZW50OjpTVkdMaW5lRWxlbWVudChjbwogICAgICwgbV95MihMZW5n
dGhNb2RlSGVpZ2h0KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpsaW5lVGFn
KSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0
ZWRQcm9wZXJ0aWVzRm9yU1ZHTGluZUVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Myw3IEBAIGlubGluZSBTVkdMaW5lYXJHcmFkaWVudEVs
ZW1lbnQ6OlNWR0xpbmUKIHsKICAgICAvLyBTcGVjOiBJZiB0aGUgeDIgYXR0cmlidXRlIGlzIG5v
dCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1ZSBvZiAiMTAwJSIgd2VyZSBz
cGVjaWZpZWQuCiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmxpbmVhckdyYWRpZW50
VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5p
bWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KCk7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDIsNiArNDIsNyBAQCBpbmxpbmUgU1ZHTVBhdGhFbGVtZW50OjpTVkdNUGF0aEVsZW1lbnQo
CiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKFNWR05hbWVzOjptcGF0aFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0
aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR01QYXRoRWxlbWVudCgp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIFNWR01hcmtlckVsZW1lbnQ6
OlNWR01hcmtlckVsZW1lbgogewogICAgIC8vIFNwZWM6IElmIHRoZSBtYXJrZXJXaWR0aC9tYXJr
ZXJIZWlnaHQgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMgaWYg
YSB2YWx1ZSBvZiAiMyIgd2VyZSBzcGVjaWZpZWQuCiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZH
TmFtZXM6Om1hcmtlclRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAg
ICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR01hcmtlckVsZW1lbnQoKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02OSw2ICs2OSw3IEBAIGlubGluZSBTVkdNYXNrRWxlbWVudDo6U1ZHTWFza0VsZW1lbnQo
Y28KICAgICAvLyBTcGVjOiBJZiB0aGUgeC95IGF0dHJpYnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB0
aGUgZWZmZWN0IGlzIGFzIGlmIGEgdmFsdWUgb2YgIi0xMCUiIHdlcmUgc3BlY2lmaWVkLgogICAg
IC8vIFNwZWM6IElmIHRoZSB3aWR0aC9oZWlnaHQgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQs
IHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1ZSBvZiAiMTIwJSIgd2VyZSBzcGVjaWZpZWQuCiAg
ICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6Om1hc2tUYWcpKTsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdN
YXNrRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFF
bGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01l
dGFkYXRhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAgaW5saW5l
IFNWR01ldGFkYXRhRWxlbWVudDo6U1ZHTWV0YWRhdGFFbAogICAgIDogU1ZHRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6bWV0YWRh
dGFUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQ
dHI8U1ZHTWV0YWRhdGFFbGVtZW50PiBTVkdNZXRhZGF0YUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAgaW5saW5lIFNWR01pc3NpbmdHbHlwaEVsZW1l
bnQ6OlNWR01pc3NpbgogICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkK
IHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZykpOwor
ICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdNaXNz
aW5nR2x5cGhFbGVtZW50PiBTVkdNaXNzaW5nR2x5cGhFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4MSw3
IEBAIGlubGluZSBTVkdQYXRoRWxlbWVudDo6U1ZHUGF0aEVsZW1lbnQoY28KICAgICAsIG1faXNB
bmltVmFsT2JzZXJ2ZWQoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6
OnBhdGhUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0
ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdQYXRoRWxlbWVudCgpOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTgyLDYgKzgyLDcgQEAgaW5saW5lIFNWR1BhdHRlcm5FbGVtZW50OjpTVkdQYXR0ZXJuRWxl
bQogICAgICwgbV9wYXR0ZXJuQ29udGVudFVuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQ
RV9VU0VSU1BBQ0VPTlVTRSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6cGF0
dGVyblRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3Rl
ckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR1BhdHRlcm5FbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5Z29uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlnb25FbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlnb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNiArMzAsNyBAQCBpbmxpbmUgU1ZHUG9seWdvbkVsZW1lbnQ6OlNWR1BvbHlnb25F
bGVtCiAgICAgOiBTVkdQb2x5RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShTVkdOYW1lczo6cG9seWdvblRhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxTVkdQb2x5Z29uRWxlbWVudD4gU1ZHUG9s
eWdvbkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jdW1lbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seWxpbmVFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seWxpbmVFbGVtZW50
LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlsaW5l
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAgaW5saW5lIFNWR1Bv
bHlsaW5lRWxlbWVudDo6U1ZHUG9seWxpbmVFbAogICAgIDogU1ZHUG9seUVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OnBvbHlsaW5l
VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBQYXNzUmVmUHRy
PFNWR1BvbHlsaW5lRWxlbWVudD4gU1ZHUG9seWxpbmVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBAIGlubGluZSBTVkdSYWRpYWxHcmFkaWVu
dEVsZW1lbnQ6OlNWR1JhZGkKIHsKICAgICAvLyBTcGVjOiBJZiB0aGUgY3gvY3kvci9mciBhdHRy
aWJ1dGUgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBhIHZhbHVlIG9mICI1
MCUiIHdlcmUgc3BlY2lmaWVkLgogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRp
YWxHcmFkaWVudFRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICBy
ZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCgpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY0LDYgKzY0LDcgQEAgaW5saW5lIFNWR1JlY3RFbGVtZW50OjpTVkdSZWN0RWxl
bWVudChjbwogICAgICwgbV9yeShMZW5ndGhNb2RlSGVpZ2h0KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKFNWR05hbWVzOjpyZWN0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHUmVjdEVsZW1lbnQoKTsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2
ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC05Myw2ICs5Myw3IEBAIGlubGluZSBTVkdTVkdFbGVtZW50OjpTVkdTVkdFbGVtZW50
KGNvbnMKICAgICAsIG1fdGltZUNvbnRhaW5lcihTTUlMVGltZUNvbnRhaW5lcjo6Y3JlYXRlKHRo
aXMpKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpzdmdUYWcpKTsKKyAgICBT
Y3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRp
ZXNGb3JTVkdTVkdFbGVtZW50KCk7CiAgICAgZG9jLT5yZWdpc3RlckZvclBhZ2VDYWNoZVN1c3Bl
bnNpb25DYWxsYmFja3ModGhpcyk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2Ny
aXB0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Njcmlw
dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
U2NyaXB0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgaW5saW5l
IFNWR1NjcmlwdEVsZW1lbnQ6OlNWR1NjcmlwdEVsZW1lbgogICAgICwgbV9zdmdMb2FkRXZlbnRU
aW1lcih0aGlzLCAmU1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXJGaXJlZCkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6c2NyaXB0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBh
YmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHU2Ny
aXB0RWxlbWVudCgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2V0RWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NldEVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2V0RWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAgaW5saW5lIFNWR1NldEVsZW1lbnQ6
OlNWR1NldEVsZW1lbnQoY29ucwogewogICAgIHNldEFuaW1hdGlvbk1vZGUoVG9BbmltYXRpb24p
OwogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpzZXRUYWcpKTsKKyAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CiB9CiAKIFBhc3NSZWZQdHI8U1ZHU2V0RWxlbWVudD4gU1ZH
U2V0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAkocmV2
aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQCBpbmxpbmUgU1ZHU3RvcEVsZW1lbnQ6OlNW
R1N0b3BFbGVtZW50KGNvCiAgICAgLCBtX29mZnNldCgwKQogewogICAgIEFTU0VSVChoYXNUYWdO
YW1lKFNWR05hbWVzOjpzdG9wVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMp
OwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHU3RvcEVsZW1lbnQoKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0
NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIGlubGluZSBTVkdTdHlsZUVsZW1lbnQ6OlNWR1N0eWxl
RWxlbWVudCgKICAgICAsIG1fc3ZnTG9hZEV2ZW50VGltZXIodGhpcywgJlNWR0VsZW1lbnQ6OnN2
Z0xvYWRFdmVudFRpbWVyRmlyZWQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6
OnN0eWxlVGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogfQogCiBTVkdT
dHlsZUVsZW1lbnQ6On5TVkdTdHlsZUVsZW1lbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1N0eWxlZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTdHlsZWRFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3Miw3IEBA
IHZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNoTWFwPEEKIFNWR1N0eWxlZEVsZW1l
bnQ6OlNWR1N0eWxlZEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqIGRvY3VtZW50LCBDb25zdHJ1Y3Rpb25UeXBlIGNvbnN0cnVjdGlvblR5cGUpCiAgICAgOiBT
VkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBjb25zdHJ1Y3Rpb25UeXBlKQogeworICAgIFNj
cmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGll
c0ZvclNWR1N0eWxlZEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1N3aXRjaEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdT
d2l0Y2hFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1N3aXRjaEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIGlu
bGluZSBTVkdTd2l0Y2hFbGVtZW50OjpTVkdTd2l0Y2hFbGVtZW4KICAgICA6IFNWR1N0eWxlZFRy
YW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKFNWR05hbWVzOjpzd2l0Y2hUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQo
dGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdTd2l0Y2hFbGVtZW50
KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQCBpbmxpbmUgU1ZHU3ltYm9sRWxlbWVu
dDo6U1ZHU3ltYm9sRWxlbWVuCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpzeW1ib2xUYWcpKTsKKyAg
ICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3Bl
cnRpZXNGb3JTVkdTeW1ib2xFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUUmVmRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RSZWZFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RSZWZFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDYgKzEzNiw3IEBAIGlu
bGluZSBTVkdUUmVmRWxlbWVudDo6U1ZHVFJlZkVsZW1lbnQoY28KICAgICAsIG1fdGFyZ2V0TGlz
dGVuZXIoU1ZHVFJlZlRhcmdldEV2ZW50TGlzdGVuZXI6OmNyZWF0ZSh0aGlzKSkKIHsKICAgICBB
U1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dHJlZlRhZykpOworICAgIFNjcmlwdFdyYXBwYWJs
ZTo6aW5pdCh0aGlzKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0ZvclNWR1RSZWZF
bGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQCBpbmxpbmUgU1ZHVFNwYW5FbGVt
ZW50OjpTVkdUU3BhbkVsZW1lbnQoCiAgICAgOiBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp0c3Bh
blRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0
cjxTVkdUU3BhbkVsZW1lbnQ+IFNWR1RTcGFuRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzEsNiArNzEsNyBAQCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OlNWR1RleHRDb250ZW50
RWxlCiAgICAgLCBtX3NwZWNpZmllZFRleHRMZW5ndGgoTGVuZ3RoTW9kZU90aGVyKQogICAgICwg
bV9sZW5ndGhBZGp1c3QoU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZykKIHsKKyAgICBTY3JpcHRXcmFw
cGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdU
ZXh0Q29udGVudEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4
dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIGlubGluZSBTVkdU
ZXh0RWxlbWVudDo6U1ZHVGV4dEVsZW1lbnQoY28KICAgICA6IFNWR1RleHRQb3NpdGlvbmluZ0Vs
ZW1lbnQodGFnTmFtZSwgZG9jKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp0
ZXh0VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIHJlZ2lzdGVy
QW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHVGV4dEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw2ICs1Myw3IEBAIGlubGluZSBTVkdUZXh0UGF0aEVsZW1lbnQ6OlNWR1RleHRQYXRo
RWwKICAgICAsIG1fc3BhY2luZyhTVkdUZXh0UGF0aFNwYWNpbmdFeGFjdCkKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShTVkdOYW1lczo6dGV4dFBhdGhUYWcpKTsKKyAgICBTY3JpcHRXcmFwcGFi
bGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdUZXh0
UGF0aEVsZW1lbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQb3Np
dGlvbmluZ0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
ZXh0UG9zaXRpb25pbmdFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01Miw2ICs1Miw3IEBAIEVORF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTCiBTVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50OjpTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1RleHRDb250
ZW50RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1l
bnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQCBpbmxpbmUgU1ZHVGl0
bGVFbGVtZW50OjpTVkdUaXRsZUVsZW1lbnQoCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp0aXRsZVRh
ZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxT
VkdUaXRsZUVsZW1lbnQ+IFNWR1RpdGxlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVc2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VXNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE0NjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdVc2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNiArOTYsNyBAQCBpbmxpbmUg
U1ZHVXNlRWxlbWVudDo6U1ZHVXNlRWxlbWVudChjb25zCiB7CiAgICAgQVNTRVJUKGhhc0N1c3Rv
bVN0eWxlQ2FsbGJhY2tzKCkpOwogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp1c2VU
YWcpKTsKKyAgICBTY3JpcHRXcmFwcGFibGU6OmluaXQodGhpcyk7CiAgICAgcmVnaXN0ZXJBbmlt
YXRlZFByb3BlcnRpZXNGb3JTVkdVc2VFbGVtZW50KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdWS2VybkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdWS2VybkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVktlcm5FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIs
NyBAQCBpbmxpbmUgU1ZHVktlcm5FbGVtZW50OjpTVkdWS2VybkVsZW1lbnQoCiAgICAgOiBTVkdF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05h
bWVzOjp2a2VyblRhZykpOworICAgIFNjcmlwdFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAog
UGFzc1JlZlB0cjxTVkdWS2VybkVsZW1lbnQ+IFNWR1ZLZXJuRWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcAkocmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNiAr
NDksNyBAQCBpbmxpbmUgU1ZHVmlld0VsZW1lbnQ6OlNWR1ZpZXdFbGVtZW50KGNvCiAgICAgLCBt
X3ZpZXdUYXJnZXQoU1ZHTmFtZXM6OnZpZXdUYXJnZXRBdHRyKQogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKFNWR05hbWVzOjp2aWV3VGFnKSk7CisgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRo
aXMpOwogICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHVmlld0VsZW1lbnQoKTsK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5jcHAJKHJldmlzaW9uIDE0Njgx
NikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMiw2ICszMiw3IEBAIFNWR1pvb21FdmVudDo6U1ZHWm9vbUV2ZW50KCkKICAgICA6IG1f
bmV3U2NhbGUoMC4wZikKICAgICAsIG1fcHJldmlvdXNTY2FsZSgwLjBmKQogeworICAgIFNjcmlw
dFdyYXBwYWJsZTo6aW5pdCh0aGlzKTsKIH0KIAogRmxvYXRSZWN0IFNWR1pvb21FdmVudDo6em9v
bVJlY3RTY3JlZW4oKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
Y3BwCShyZXZpc2lvbiAxNDY4MTYpCisrKyBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDMsNiArMjAzLDcgQEAgWE1MSHR0cFJlcXVlc3Q6
OlhNTEh0dHBSZXF1ZXN0KFNjcmlwdEV4ZQogI2lmbmRlZiBOREVCVUcKICAgICB4bWxIdHRwUmVx
dWVzdENvdW50ZXIuaW5jcmVtZW50KCk7CiAjZW5kaWYKKyAgICBTY3JpcHRXcmFwcGFibGU6Omlu
aXQodGhpcyk7CiB9CiAKIFhNTEh0dHBSZXF1ZXN0Ojp+WE1MSHR0cFJlcXVlc3QoKQpJbmRleDog
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaAko
cmV2aXNpb24gMTQ2ODE2KQorKysgU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMCArNTAsMTUgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgeyBy
ZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dDsgfQogCiBwcml2YXRlOgotICAgIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudCgpIHsgfQor
ICAgIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudCgpCisgICAgeworICAgICAgICBTY3JpcHRX
cmFwcGFibGU6OmluaXQodGhpcyk7CisgICAgfQorCiAgICAgWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1
bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWwpCiAgICAg
ICAgIDogUHJvZ3Jlc3NFdmVudCh0eXBlLCBsZW5ndGhDb21wdXRhYmxlLCBsb2FkZWQsIHRvdGFs
KQogICAgIHsKKyAgICAgICAgU2NyaXB0V3JhcHBhYmxlOjppbml0KHRoaXMpOwogICAgIH0KIH07
CiAK
</data>
<flag name="review"
          id="216761"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>