<?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>79650</bug_id>
          
          <creation_ts>2012-02-27 02:10:14 -0800</creation_ts>
          <short_desc>[BlackBerry] Credential backing store implementation</short_desc>
          <delta_ts>2013-01-04 09:29:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>80107</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jonathan Dong">jonathan.dong.webkit</reporter>
          <assigned_to name="Jonathan Dong">jonathan.dong.webkit</assigned_to>
          <cc>charles.wei</cc>
    
    <cc>eric</cc>
    
    <cc>leo.yang</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>565491</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-02-27 02:10:14 -0800</bug_when>
    <thetext>add never_remember table to store the never remember sites; change login update statement to deal with some special case like www.bing.com which would use different url when user changed credential informations; and fix some implementing bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565506</commentid>
    <comment_count>1</comment_count>
      <attachid>128994</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-02-27 02:28:53 -0800</bug_when>
    <thetext>Created attachment 128994
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565509</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 02:31:48 -0800</bug_when>
    <thetext>Attachment 128994 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:12:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 3 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565518</commentid>
    <comment_count>3</comment_count>
      <attachid>128999</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-02-27 02:37:43 -0800</bug_when>
    <thetext>Created attachment 128999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565523</commentid>
    <comment_count>4</comment_count>
      <attachid>129000</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-02-27 02:45:16 -0800</bug_when>
    <thetext>Created attachment 129000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568415</commentid>
    <comment_count>5</comment_count>
      <attachid>129649</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-01 00:07:19 -0800</bug_when>
    <thetext>Created attachment 129649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568418</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-01 00:10:47 -0800</bug_when>
    <thetext>Attachment 129649 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;La...&quot; exit_code: 1
Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 115 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569362</commentid>
    <comment_count>7</comment_count>
      <attachid>129831</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-02 00:13:04 -0800</bug_when>
    <thetext>Created attachment 129831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570259</commentid>
    <comment_count>8</comment_count>
      <attachid>129831</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-03-04 10:11:56 -0800</bug_when>
    <thetext>Comment on attachment 129831
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        Added never_remember table to store the never remember
&gt; +        sites; changed login update and has statement to support
&gt; +        autofill feature of multiple credential forms in the
&gt; +        same page.
&gt; +
&gt; +        No new tests.

Patch does much more than what you are stating here. Please update before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570315</commentid>
    <comment_count>9</comment_count>
      <attachid>130036</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-03-04 17:35:20 -0800</bug_when>
    <thetext>Created attachment 130036
patch for cq</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570360</commentid>
    <comment_count>10</comment_count>
      <attachid>130036</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-04 19:24:14 -0800</bug_when>
    <thetext>Comment on attachment 130036
patch for cq

Clearing flags on attachment: 130036

Committed r109697: &lt;http://trac.webkit.org/changeset/109697&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800006</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-04 00:50:54 -0800</bug_when>
    <thetext>Attachment 129831 was posted by a committer and has review+, assigning to Jonathan Dong for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800272</commentid>
    <comment_count>12</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-01-04 09:29:05 -0800</bug_when>
    <thetext>This was landed in r109697, closing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128994</attachid>
            <date>2012-02-27 02:28:53 -0800</date>
            <delta_ts>2012-02-27 02:37:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79650-20120227182851.patch</filename>
            <type>text/plain</type>
            <size>26223</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI4ZTgxMGYyNjIxY2M5
M2ZlYWU0ODM5ZjY4YjRiNGNiNTVjYzY2OC4uZDk0ZGJmNmQ4ZTg2Y2Y5YzA4M2IyOWNiMjE3OGU5
ZWU0NzY2NzM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAyLTI3ICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIENyZWRlbnRpYWwgYmFja2luZyBzdG9yZSBpbXBsZW1lbnRhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXZlcl9y
ZW1lbWJlciB0YWJsZSB0byBzdG9yZSB0aGUgbmV2ZXIgcmVtZW1iZXIKKyAgICAgICAgc2l0ZXM7
IGNoYW5nZWQgbG9naW4gdXBkYXRlIHN0YXRlbWVudCB0byByZW1vdmUgdXJsIGZyb20KKwkJdGhl
IHVwZGF0ZSBzdGF0ZW1lbnQgYXMgc29tZSBzaXRlcyB3b3VsZCBwb3N0IGRpZmZlcmVudAorCQl1
cmwgd2hlbiB1c2VyIGNoYW5nZWQgY3JlZGVudGlhbCBpbmZvOyBhbHNvIGZpeGVkIHNvbWUKKwkJ
aW1wbGVtZW50YXRpb24gaXNzdWUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6aW5zdGFuY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Q3JlZGVudGlhbEJhY2tp
bmdTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpvcGVu
KToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmNsb3NlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZExvZ2luKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnVwZGF0ZUxvZ2luKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omhhc0xvZ2luKToKKyAgICAgICAg
KFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmdldExvZ2luKToKKyAgICAgICAgKFdl
YkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92ZUxvZ2luKToKKyAgICAgICAgKFdl
YkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZE5ldmVyUmVtZW1iZXIpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpo
YXNOZXZlclJlbWVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3Rv
cmU6OmdldE5ldmVyUmVtZW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tp
bmdTdG9yZTo6cmVtb3ZlTmV2ZXJSZW1lbWJlcik6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50
aWFsQmFja2luZ1N0b3JlOjpjbGVhckxvZ2lucyk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50
aWFsQmFja2luZ1N0b3JlOjpjbGVhck5ldmVyUmVtZW1iZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChD
cmVkZW50aWFsQmFja2luZ1N0b3JlKToKKwogMjAxMi0wMi0yNiAgSHlvd29uIEtpbSAgPGh3MTAw
OC5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gSW1wbGVtZW50YXRpb24gb2YgR3Jh
cGhpY3NDb250ZXh0M0QgZm9yIEVGTCBwb3J0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tp
bmdTdG9yZS5jcHAKaW5kZXggYWNhY2MzNzg5MjJjN2ZiZThiOTAwMDlmYTcwNTUxZTcxODU1YmFi
Mi4uNDJmOTIwYWI0NGJiNTZjM2Q0NGIxNjMxMzhiYjg2MTQ2NzNmN2E5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNr
aW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2ti
ZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcApAQCAtMjIsMTUgKzIyLDE2IEBACiAjaW5j
bHVkZSAiQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oIgogCiAjaW5jbHVkZSAiQ3JlZGVudGlhbFN0
b3JhZ2UuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUHJvdGVjdGlvblNwYWNlSGFzaC5o
IgogI2luY2x1ZGUgIlNRTGl0ZVN0YXRlbWVudC5oIgotI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJh
bS5oPgorI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybUNsaWVudC5oPgogCiAjZGVmaW5lIEhB
TkRMRV9TUUxfRVhFQ19GQUlMVVJFKHN0YXRlbWVudCwgcmV0dXJuVmFsdWUsIC4uLikgXAogICAg
IGlmIChzdGF0ZW1lbnQpIHsgXAotICAgICAgICBMT0dfRVJST1IoX19WQVJfQVJHU19fKTsgXAor
ICAgICAgICBMT0dfRVJST1IoX19WQV9BUkdTX18pOyBcCiAgICAgICAgIHJldHVybiByZXR1cm5W
YWx1ZTsgXAogICAgIH0KIApAQCAtMzksMTcgKzQwLDIzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IENyZWRlbnRpYWxCYWNraW5nU3RvcmUqIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omluc3RhbmNl
KCkKIHsKICAgICBzdGF0aWMgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlID0g
MDsKLSAgICBpZiAoIWJhY2tpbmdTdG9yZSkKKyAgICBpZiAoIWJhY2tpbmdTdG9yZSkgewogICAg
ICAgICBiYWNraW5nU3RvcmUgPSBuZXcgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTsKKyAgICAgICAg
YmFja2luZ1N0b3JlLT5vcGVuKHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0QXBwbGljYXRpb25EYXRhRGlyZWN0b3J5KCkuY19z
dHIoKSwgIi9jcmVkZW50aWFscy5kYiIpKTsKKyAgICB9CiAgICAgcmV0dXJuIGJhY2tpbmdTdG9y
ZTsKIH0KIAogQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZSgp
Ci0gICAgOiBtX2FkZFN0YXRlbWVudCgwKQotICAgICwgbV91cGRhdGVTdGF0ZW1lbnQoMCkKLSAg
ICAsIG1faGFzU3RhdGVtZW50KDApCi0gICAgLCBtX2dldFN0YXRlbWVudCgwKQotICAgICwgbV9y
ZW1vdmVTdGF0ZW1lbnQoMCkKKyAgICA6IG1fYWRkTG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1f
dXBkYXRlTG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1faGFzTG9naW5TdGF0ZW1lbnQoMCkKKyAg
ICAsIG1fZ2V0TG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQo
MCkKKyAgICAsIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudCgwKQorICAgICwgbV9oYXNOZXZl
clJlbWVtYmVyU3RhdGVtZW50KDApCisgICAgLCBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQo
MCkKKyAgICAsIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudCgwKQogewogfQogCkBAIC03
MSw2OSArNzgsNzkgQEAgYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpvcGVuKGNvbnN0IFN0
cmluZyYgZGJQYXRoKQogICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gY3JlYXRlIHRhYmxl
IGxvZ2lucyBmb3IgbG9naW4gZGF0YWJhc2UiKTsKIAogICAgICAgICAvLyBDcmVhdGUgaW5kZXgg
Zm9yIHRhYmxlIGxvZ2lucy4KLSAgICAgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUoIW1fZGF0
YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBsb2dpbnNfc2lnbm9uIE9OIGxvZ2lu
cyAoaG9zdCkiKSwKKyAgICAgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUoIW1fZGF0YWJhc2Uu
ZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBsb2dpbnNfaW5kZXggT04gbG9naW5zIChob3N0
KSIpLAogICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gY3JlYXRlIGluZGV4IGZvciB0YWJs
ZSBsb2dpbnMiKTsKLSAgICB9IGVsc2UgeyAvLyBJbml0aWF0ZSBDcmVkZW50aWFsU3RvcmFnZS4K
LSAgICAgICAgU1FMaXRlU3RhdGVtZW50IHF1ZXJ5KG1fZGF0YWJhc2UsICJTRUxFQ1Qgb3JpZ2lu
X3VybCwgaG9zdCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFsbSwgYXV0aF9zY2hlbWUsIHVzZXJu
YW1lLCBwYXNzd29yZCBGUk9NIGxvZ2lucyIpOwotICAgICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJ
TFVSRShxdWVyeS5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCi0gICAgICAgICAgICBmYWxzZSwg
IkZhaWxlZCB0byBwcmVwYXJlIHF1ZXJ5IHN0YXRlbWVudCB0byBpbml0aWF0ZSBDcmVkZW50aWFs
U3RvcmFnZSIpOwotCi0gICAgICAgIGludCByZXN1bHQgPSBxdWVyeS5zdGVwKCk7Ci0gICAgICAg
IHdoaWxlIChyZXN1bHQgPT0gU1FMUmVzdWx0Um93KSB7Ci0gICAgICAgICAgICBTdHJpbmcgc3Ry
VXJsID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgxKTsKLSAgICAgICAgICAgIFN0cmluZyBzdHJIb3N0
ID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgyKTsKLSAgICAgICAgICAgIGludCBpbnRQb3J0ID0gcXVl
cnkuZ2V0Q29sdW1uSW50KDMpOwotICAgICAgICAgICAgUHJvdGVjdGlvblNwYWNlU2VydmVyVHlw
ZSBzZXJ2aWNlVHlwZSA9IHN0YXRpY19jYXN0PFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGU+KHF1
ZXJ5LmdldENvbHVtbkludCg0KSk7Ci0gICAgICAgICAgICBTdHJpbmcgc3RyUmVhbG0gPSBxdWVy
eS5nZXRDb2x1bW5UZXh0KDUpOwotICAgICAgICAgICAgUHJvdGVjdGlvblNwYWNlQXV0aGVudGlj
YXRpb25TY2hlbWUgYXV0aFNjaGVtZSA9IHN0YXRpY19jYXN0PFByb3RlY3Rpb25TcGFjZUF1dGhl
bnRpY2F0aW9uU2NoZW1lPihxdWVyeS5nZXRDb2x1bW5JbnQoNikpOwotICAgICAgICAgICAgU3Ry
aW5nIHN0clVzZXJOYW1lID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCg3KTsKLSAgICAgICAgICAgIFN0
cmluZyBzdHJQYXNzd29yZCA9IGRlY3J5cHRlZFN0cmluZyhxdWVyeS5nZXRDb2x1bW5UZXh0KDgp
KTsKLQotICAgICAgICAgICAgS1VSTCB1cmwoUGFyc2VkVVJMU3RyaW5nLCBzdHJVcmwpOwotICAg
ICAgICAgICAgUHJvdGVjdGlvblNwYWNlIHByb3RlY3Rpb25TcGFjZShzdHJIb3N0LCBpbnRQb3J0
LCBzZXJ2aWNlVHlwZSwgc3RyUmVhbG0sIGF1dGhTY2hlbWUpOwotICAgICAgICAgICAgQ3JlZGVu
dGlhbCBjcmVkZW50aWFsKHN0clVzZXJOYW1lLCBzdHJQYXNzd29yZCwgQ3JlZGVudGlhbFBlcnNp
c3RlbmNlUGVybWFuZW50KTsKLSAgICAgICAgICAgIENyZWRlbnRpYWxTdG9yYWdlOjpzZXQoY3Jl
ZGVudGlhbCwgcHJvdGVjdGlvblNwYWNlLCB1cmwpOwotCi0gICAgICAgICAgICByZXN1bHQgPSBx
dWVyeS5zdGVwKCk7Ci0gICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIW1fZGF0YWJhc2UudGFi
bGVFeGlzdHMoIm5ldmVyX3JlbWVtYmVyIikpIHsKKyAgICAgICAgSEFORExFX1NRTF9FWEVDX0ZB
SUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBUQUJMRSBuZXZlcl9yZW1l
bWJlciAob3JpZ2luX3VybCBWQVJDSEFSIE5PVCBOVUxMLCBob3N0IFZBUkNIQVIgTk9UIE5VTEws
IHBvcnQgSU5URUdFUiwgc2VydmljZV90eXBlIElOVEVHRVIgTk9UIE5VTEwsIHJlYWxtIFZBUkNI
QVIsIGF1dGhfc2NoZW1lIElOVEVHRVIgTk9UIE5VTEwpICIpLAorICAgICAgICAgICAgZmFsc2Us
ICJGYWlsZWQgdG8gY3JlYXRlIHRhYmxlIG5ldmVyX3JlbWVtYmVyIGZvciBsb2dpbiBkYXRhYmFz
ZSIpOworCisgICAgICAgIC8vIENyZWF0ZSBpbmRleCBmb3IgdGFibGUgbmV2ZXJfcmVtZW1iZXIu
CisgICAgICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKCFtX2RhdGFiYXNlLmV4ZWN1dGVDb21t
YW5kKCJDUkVBVEUgSU5ERVggbmV2ZXJfcmVtZW1iZXJfaW5kZXggT04gbmV2ZXJfcmVtZW1iZXIg
KGhvc3QpIiksCisgICAgICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBjcmVhdGUgaW5kZXggZm9y
IHRhYmxlIG5ldmVyX3JlbWVtYmVyIik7CiAgICAgfQogCiAgICAgLy8gUHJlcGFyZSB0aGUgc3Rh
dGVtZW50cy4KLSAgICBtX2FkZFN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQobV9kYXRh
YmFzZSwgIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gbG9naW5zIChvcmlnaW5fdXJsLCBob3N0LCBw
b3J0LCBzZXJ2aWNlX3R5cGUsIHJlYWxtLCBhdXRoX3NjaGVtZSwgdXNlcm5hbWUsIHBhc3N3b3Jk
KSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8pIik7Ci0gICAgSEFORExFX1NRTF9FWEVD
X0ZBSUxVUkUobV9hZGRTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICBt
X2FkZExvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiSU5T
RVJUIE9SIFJFUExBQ0UgSU5UTyBsb2dpbnMgKG9yaWdpbl91cmwsIGhvc3QsIHBvcnQsIHNlcnZp
Y2VfdHlwZSwgcmVhbG0sIGF1dGhfc2NoZW1lLCB1c2VybmFtZSwgcGFzc3dvcmQpIFZBTFVFUyAo
PywgPywgPywgPywgPywgPywgPywgPykiKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRSht
X2FkZExvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCiAgICAgICAgIGZh
bHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgYWRkTG9naW4gc3RhdGVtZW50Iik7CiAKLSAgICBtX3Vw
ZGF0ZVN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQobV9kYXRhYmFzZSwgIlVQREFURSBs
b2dpbnMgU0VUIHVzZXJuYW1lID0gPywgcGFzc3dvcmQgPSA/IFdIRVJFIG9yaWdpbl91cmwgPSA/
IEFORCBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxt
ID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUo
bV91cGRhdGVTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICBtX3VwZGF0
ZUxvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiVVBEQVRF
IGxvZ2lucyBTRVQgdXNlcm5hbWUgPSA/LCBwYXNzd29yZCA9ID8gV0hFUkUgaG9zdCA9ID8gQU5E
IHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhfc2No
ZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1fdXBkYXRlTG9naW5TdGF0
ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKICAgICAgICAgZmFsc2UsICJGYWlsZWQg
dG8gcHJlcGFyZSB1cGRhdGVMb2dpbiBzdGF0ZW1lbnQiKTsKIAotICAgIG1faGFzU3RhdGVtZW50
ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIENPVU5UKCopIEZST00g
bG9naW5zIFdIRVJFIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQgc2VydmljZV90eXBlID0gPyBB
TkQgcmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKLSAgICBIQU5ETEVfU1FMX0VYRUNf
RkFJTFVSRShtX2hhc1N0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAgIG1f
aGFzTG9naW5TdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJhc2UsICJTRUxF
Q1QgQ09VTlQoKikgRlJPTSBsb2dpbnMgV0hFUkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBz
ZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAg
IEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1faGFzTG9naW5TdGF0ZW1lbnQtPnByZXBhcmUoKSAh
PSBTUUxSZXN1bHRPaywKICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gcHJlcGFyZSBoYXNMb2dp
biBzdGF0ZW1lbnQiKTsKIAotICAgIG1fZ2V0U3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVu
dChtX2RhdGFiYXNlLCAiU0VMRUNUIHVzZXJuYW1lLCBwYXNzd29yZCBGUk9NIGxvZ2lucyBXSEVS
RSBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0g
PyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9n
ZXRTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICBtX2dldExvZ2luU3Rh
dGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIHVzZXJuYW1l
LCBwYXNzd29yZCBGUk9NIGxvZ2lucyBXSEVSRSBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNl
cnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7CisgICAg
SEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9nZXRMb2dpblN0YXRlbWVudC0+cHJlcGFyZSgpICE9
IFNRTFJlc3VsdE9rLAogICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGdldExvZ2lu
IHN0YXRlbWVudCIpOwogCi0gICAgbV9yZW1vdmVTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVt
ZW50KG1fZGF0YWJhc2UsICJERUxFVEUgRlJPTSBsb2dpbnMgV0hFUkUgaG9zdCA9ID8gQU5EIHBv
cnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1l
ID0gPyIpOwotICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1fcmVtb3ZlU3RhdGVtZW50LT5w
cmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCisgICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudCA9IG5l
dyBTUUxpdGVTdGF0ZW1lbnQobV9kYXRhYmFzZSwgIkRFTEVURSBGUk9NIGxvZ2lucyBXSEVSRSBo
b3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBB
TkQgYXV0aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9yZW1v
dmVMb2dpblN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAogICAgICAgICBmYWxz
ZSwgIkZhaWxlZCB0byBwcmVwYXJlIHJlbW92ZUxvZ2luIHN0YXRlbWVudCIpOwogCisgICAgbV9h
ZGROZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNl
LCAiSU5TRVJUIE9SIFJFUExBQ0UgSU5UTyBuZXZlcl9yZW1lbWJlciAob3JpZ2luX3VybCwgaG9z
dCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFsbSwgYXV0aF9zY2hlbWUpIFZBTFVFUyAoPywgPywg
PywgPywgPywgPykiKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX2FkZE5ldmVyUmVt
ZW1iZXJTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICAgICAgZmFsc2Us
ICJGYWlsZWQgdG8gcHJlcGFyZSBhZGROZXZlclJlbWVtYmVyIHN0YXRlbWVudCIpOworCisgICAg
bV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFi
YXNlLCAiU0VMRUNUIENPVU5UKCopIEZST00gbmV2ZXJfcmVtZW1iZXIgV0hFUkUgaG9zdCA9ID8g
QU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhf
c2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1faGFzTmV2ZXJSZW1l
bWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAgICAgICBmYWxzZSwg
IkZhaWxlZCB0byBwcmVwYXJlIGhhc05ldmVyUmVtZW1iZXIgc3RhdGVtZW50Iik7CisKKyAgICBt
X2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJh
c2UsICJTRUxFQ1Qgb3JpZ2luX3VybCBGUk9NIG5ldmVyX3JlbWVtYmVyIFdIRVJFIGhvc3QgPSA/
IEFORCBwb3J0ID0gPyBBTkQgc2VydmljZV90eXBlID0gPyBBTkQgcmVhbG0gPSA/IEFORCBhdXRo
X3NjaGVtZSA9ID8iKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX2dldE5ldmVyUmVt
ZW1iZXJTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICAgICAgZmFsc2Us
ICJGYWlsZWQgdG8gcHJlcGFyZSBnZXROZXZlclJlbWVtYmVyIHN0YXRlbWVudCIpOworCisgICAg
bV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2Rh
dGFiYXNlLCAiREVMRVRFIEZST00gbmV2ZXJfcmVtZW1iZXIgV0hFUkUgaG9zdCA9ID8gQU5EIHBv
cnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1l
ID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1fcmVtb3ZlTmV2ZXJSZW1lbWJl
clN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAgICAgICBmYWxzZSwgIkZh
aWxlZCB0byBwcmVwYXJlIHJlbW92ZU5ldmVyUmVtZW1iZXIgc3RhdGVtZW50Iik7CisKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbG9zZSgpCiB7
Ci0gICAgZGVsZXRlIG1fYWRkU3RhdGVtZW50OwotICAgIG1fYWRkU3RhdGVtZW50ID0gMDsKLSAg
ICBkZWxldGUgbV91cGRhdGVTdGF0ZW1lbnQ7Ci0gICAgbV91cGRhdGVTdGF0ZW1lbnQgPSAwOwot
ICAgIGRlbGV0ZSBtX2hhc1N0YXRlbWVudDsKLSAgICBtX2hhc1N0YXRlbWVudCA9IDA7Ci0gICAg
ZGVsZXRlIG1fZ2V0U3RhdGVtZW50OwotICAgIG1fZ2V0U3RhdGVtZW50ID0gMDsKLSAgICBkZWxl
dGUgbV9yZW1vdmVTdGF0ZW1lbnQ7Ci0gICAgbV9yZW1vdmVTdGF0ZW1lbnQgPSAwOworICAgIGRl
bGV0ZSBtX2FkZExvZ2luU3RhdGVtZW50OworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQgPSAwOwor
ICAgIGRlbGV0ZSBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50OworICAgIG1fdXBkYXRlTG9naW5TdGF0
ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2hhc0xvZ2luU3RhdGVtZW50OworICAgIG1faGFzTG9n
aW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2dldExvZ2luU3RhdGVtZW50OworICAgIG1f
Z2V0TG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX3JlbW92ZUxvZ2luU3RhdGVtZW50
OworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2FkZE5ldmVy
UmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gMDsK
KyAgICBkZWxldGUgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50OworICAgIG1faGFzTmV2ZXJS
ZW1lbWJlclN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRl
bWVudDsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBt
X3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVy
U3RhdGVtZW50ID0gMDsKIAogICAgIGlmIChtX2RhdGFiYXNlLmlzT3BlbigpKQogICAgICAgICBt
X2RhdGFiYXNlLmNsb3NlKCk7CkBAIC0xNDQsNDMgKzE2MSw0NCBAQCBib29sIENyZWRlbnRpYWxC
YWNraW5nU3RvcmU6OmFkZExvZ2luKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNw
YWNlJiBwcgogICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9k
YXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikpOwogCi0gICAgaWYgKCFtX2FkZFN0YXRlbWVu
dCkKKyAgICBpZiAoIW1fYWRkTG9naW5TdGF0ZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kVGV4dCgxLCB1cmwuc3RyaW5nKCkpOwotICAgIG1f
YWRkU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKLSAgICBt
X2FkZFN0YXRlbWVudC0+YmluZEludCgzLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKLSAgICBt
X2FkZFN0YXRlbWVudC0+YmluZEludCg0LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFj
ZS5zZXJ2ZXJUeXBlKCkpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZFRleHQoNSwgcHJvdGVj
dGlvblNwYWNlLnJlYWxtKCkpOwotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kSW50KDYsIHN0YXRp
Y19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKLSAg
ICBtX2FkZFN0YXRlbWVudC0+YmluZFRleHQoNywgY3JlZGVudGlhbC51c2VyKCkpOwotICAgIG1f
YWRkU3RhdGVtZW50LT5iaW5kQmxvYig4LCBlbmNyeXB0ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNz
d29yZCgpKSk7Ci0KLSAgICBpbnQgcmVzdWx0ID0gbV9hZGRTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAg
ICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgxLCB1cmwuc3RyaW5nKCkpOworICAgIG1f
YWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDIsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwor
ICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoMywgcHJvdGVjdGlvblNwYWNlLnBvcnQo
KSk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+YmluZEludCg0LCBzdGF0aWNfY2FzdDxpbnQ+
KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50
LT5iaW5kVGV4dCg1LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7CisgICAgbV9hZGRMb2dpblN0
YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRo
ZW50aWNhdGlvblNjaGVtZSgpKSk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+YmluZFRleHQo
NywgY3JlZGVudGlhbC51c2VyKCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRCbG9i
KDgsIGVuY3J5cHRlZFN0cmluZyhjcmVkZW50aWFsLnBhc3N3b3JkKCkpKTsKKworICAgIGludCBy
ZXN1bHQgPSBtX2FkZExvZ2luU3RhdGVtZW50LT5zdGVwKCk7CisgICAgbV9hZGRMb2dpblN0YXRl
bWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FM
UmVzdWx0RG9uZSwgZmFsc2UsCiAgICAgICAgICJGYWlsZWQgdG8gYWRkIGxvZ2luIGluZm8gaW50
byB0YWJsZSBsb2dpbnMgLSAlaSIsIHJlc3VsdCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
Ym9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjp1cGRhdGVMb2dpbihjb25zdCBLVVJMJiB1cmws
IGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlLCBjb25zdCBDcmVkZW50aWFs
JiBjcmVkZW50aWFsKQorYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjp1cGRhdGVMb2dpbihj
b25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSwgY29uc3QgQ3JlZGVudGlhbCYg
Y3JlZGVudGlhbCkKIHsKICAgICBBU1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CiAgICAgQVNT
RVJUKG1fZGF0YWJhc2UudGFibGVFeGlzdHMoImxvZ2lucyIpKTsKIAotICAgIGlmICghbV91cGRh
dGVTdGF0ZW1lbnQpCisgICAgaWYgKCFtX3VwZGF0ZUxvZ2luU3RhdGVtZW50KQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+YmluZFRleHQoMSwgdXJsLnN0
cmluZygpKTsKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+YmluZFRleHQoMiwgY3JlZGVudGlhbC51
c2VyKCkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kQmxvYigzLCBlbmNyeXB0ZWRTdHJp
bmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7Ci0gICAgbV91cGRhdGVTdGF0ZW1lbnQtPmJpbmRU
ZXh0KDQsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5i
aW5kSW50KDUsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50
LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUo
KSkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kVGV4dCg3LCBwcm90ZWN0aW9uU3BhY2Uu
cmVhbG0oKSk7Ci0gICAgbV91cGRhdGVTdGF0ZW1lbnQtPmJpbmRJbnQoOCwgc3RhdGljX2Nhc3Q8
aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkpOworICAgIG1fdXBk
YXRlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIGNyZWRlbnRpYWwudXNlcigpKTsKKyAgICBt
X3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kQmxvYigyLCBlbmNyeXB0ZWRTdHJpbmcoY3JlZGVu
dGlhbC5wYXNzd29yZCgpKSk7CisgICAgbV91cGRhdGVMb2dpblN0YXRlbWVudC0+YmluZFRleHQo
MywgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7CisgICAgbV91cGRhdGVMb2dpblN0YXRlbWVudC0+
YmluZEludCg0LCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBtX3VwZGF0ZUxvZ2luU3Rh
dGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZl
clR5cGUoKSkpOworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDYsIHByb3Rl
Y3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kSW50
KDcsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1l
KCkpKTsKIAotICAgIGludCByZXN1bHQgPSBtX3VwZGF0ZVN0YXRlbWVudC0+c3RlcCgpOworICAg
IGludCByZXN1bHQgPSBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5zdGVwKCk7CisgICAgbV91cGRh
dGVMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShy
ZXN1bHQgIT0gU1FMUmVzdWx0RG9uZSwgZmFsc2UsCiAgICAgICAgICJGYWlsZWQgdG8gdXBkYXRl
IGxvZ2luIGluZm8gaW4gdGFibGUgbG9naW5zIC0gJWkiLCByZXN1bHQpOwogCkBAIC0xOTIsMjAg
KzIxMCwyMiBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omhhc0xvZ2luKGNvbnN0IFBy
b3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQogICAgIEFTU0VSVChtX2RhdGFiYXNlLmlz
T3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikpOwog
Ci0gICAgaWYgKCFtX2hhc1N0YXRlbWVudCkKKyAgICBpZiAoIW1faGFzTG9naW5TdGF0ZW1lbnQp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1faGFzU3RhdGVtZW50LT5iaW5kVGV4dCgx
LCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKLSAgICBtX2hhc1N0YXRlbWVudC0+YmluZEludCgy
LCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKLSAgICBtX2hhc1N0YXRlbWVudC0+YmluZEludCgz
LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKLSAgICBt
X2hhc1N0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwotICAg
IG1faGFzU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNw
YWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKyAgICBtX2hhc0xvZ2luU3RhdGVtZW50LT5i
aW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX2hhc0xvZ2luU3RhdGVt
ZW50LT5iaW5kSW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOworICAgIG1faGFzTG9naW5T
dGF0ZW1lbnQtPmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2Vy
dmVyVHlwZSgpKSk7CisgICAgbV9oYXNMb2dpblN0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVj
dGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1faGFzTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoNSwg
c3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkp
OwogCi0gICAgaW50IHJlc3VsdCA9IG1faGFzU3RhdGVtZW50LT5zdGVwKCk7CisgICAgaW50IHJl
c3VsdCA9IG1faGFzTG9naW5TdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBpbnQgbnVtT2ZSb3cgPSBt
X2hhc0xvZ2luU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCk7CisgICAgbV9oYXNMb2dpblN0YXRl
bWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FM
UmVzdWx0Um93LCBmYWxzZSwKICAgICAgICAgIkZhaWxlZCB0byBleGVjdXRlIHNlbGVjdCBsb2dp
biBpbmZvIGZyb20gdGFibGUgbG9naW5zIGluIGhhc0xvZ2luIC0gJWkiLCByZXN1bHQpOwogCi0g
ICAgaWYgKG1faGFzU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCkpCisgICAgaWYgKG51bU9mUm93
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0yMTUsMjAg
KzIzNSwyMyBAQCBDcmVkZW50aWFsIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmdldExvZ2luKGNv
bnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYQogICAgIEFTU0VSVChtX2RhdGFiYXNl
LmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikp
OwogCi0gICAgaWYgKCFtX2dldFN0YXRlbWVudCkKKyAgICBpZiAoIW1fZ2V0TG9naW5TdGF0ZW1l
bnQpCiAgICAgICAgIHJldHVybiBDcmVkZW50aWFsKCk7CiAKLSAgICBtX2dldFN0YXRlbWVudC0+
YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7Ci0gICAgbV9nZXRTdGF0ZW1lbnQt
PmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7Ci0gICAgbV9nZXRTdGF0ZW1lbnQt
PmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgp
KSk7Ci0gICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRUZXh0KDQsIHByb3RlY3Rpb25TcGFjZS5yZWFs
bSgpKTsKLSAgICBtX2dldFN0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHBy
b3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisgICAgbV9nZXRMb2dpblN0
YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7CisgICAgbV9nZXRM
b2dpblN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBt
X2dldExvZ2luU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlv
blNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fZ2V0TG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0
KDQsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX2dldExvZ2luU3RhdGVtZW50LT5i
aW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9u
U2NoZW1lKCkpKTsKIAotICAgIGludCByZXN1bHQgPSBtX2dldFN0YXRlbWVudC0+c3RlcCgpOwor
ICAgIGludCByZXN1bHQgPSBtX2dldExvZ2luU3RhdGVtZW50LT5zdGVwKCk7CisgICAgU3RyaW5n
IHVzZXJuYW1lID0gbV9nZXRMb2dpblN0YXRlbWVudC0+Z2V0Q29sdW1uVGV4dCgwKTsKKyAgICBT
dHJpbmcgcGFzc3dvcmQgPSBtX2dldExvZ2luU3RhdGVtZW50LT5nZXRDb2x1bW5CbG9iQXNTdHJp
bmcoMSk7CisgICAgbV9nZXRMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FM
X0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBDcmVkZW50aWFsKCksCiAgICAg
ICAgICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxlY3QgbG9naW4gaW5mbyBmcm9tIHRhYmxlIGxvZ2lu
cyBpbiBnZXRMb2dpbiAtICVpIiwgcmVzdWx0KTsKIAotICAgIHJldHVybiBDcmVkZW50aWFsKG1f
Z2V0U3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDApLCBkZWNyeXB0ZWRTdHJpbmcobV9nZXRTdGF0
ZW1lbnQtPmdldENvbHVtblRleHQoMSkpLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VQZXJtYW5lbnQp
OworICAgIHJldHVybiBDcmVkZW50aWFsKHVzZXJuYW1lLCBkZWNyeXB0ZWRTdHJpbmcocGFzc3dv
cmQpLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VQZXJtYW5lbnQpOwogfQogCiBib29sIENyZWRlbnRp
YWxCYWNraW5nU3RvcmU6OnJlbW92ZUxvZ2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVj
dGlvblNwYWNlKQpAQCAtMjM2LDIzICsyNTksMTE3IEBAIGJvb2wgQ3JlZGVudGlhbEJhY2tpbmdT
dG9yZTo6cmVtb3ZlTG9naW4oY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2Up
CiAgICAgQVNTRVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOwogICAgIEFTU0VSVChtX2RhdGFiYXNl
LnRhYmxlRXhpc3RzKCJsb2dpbnMiKSk7CiAKLSAgICBpZiAoIW1fcmVtb3ZlU3RhdGVtZW50KQor
ICAgIGlmICghbV9yZW1vdmVMb2dpblN0YXRlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgbV9yZW1vdmVTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0
KCkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kSW50KDIsIHByb3RlY3Rpb25TcGFjZS5w
b3J0KCkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGlu
dD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50
LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7Ci0gICAgbV9yZW1vdmVTdGF0
ZW1lbnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVu
dGljYXRpb25TY2hlbWUoKSkpOworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0
KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQt
PmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9yZW1vdmVMb2dpblN0
YXRlbWVudC0+YmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2
ZXJUeXBlKCkpKTsKKyAgICBtX3JlbW92ZUxvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90
ZWN0aW9uU3BhY2UucmVhbG0oKSk7CisgICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+YmluZElu
dCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVt
ZSgpKSk7CiAKLSAgICBpbnQgcmVzdWx0ID0gbV9yZW1vdmVTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAg
ICBpbnQgcmVzdWx0ID0gbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+c3RlcCgpOworICAgIG1fcmVt
b3ZlTG9naW5TdGF0ZW1lbnQtPnJlc2V0KCk7CiAgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUo
cmVzdWx0ICE9IFNRTFJlc3VsdERvbmUsIGZhbHNlLAogICAgICAgICAiRmFpbGVkIHRvIHJlbW92
ZSBsb2dpbiBpbmZvIGZyb20gdGFibGUgbG9naW5zIC0gJWkiLCByZXN1bHQpOwogCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLWJvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Y2xlYXIoKQorYm9v
bCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjphZGROZXZlclJlbWVtYmVyKGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCit7CisgICAgQVNTRVJU
KG1fZGF0YWJhc2UuaXNPcGVuKCkpOworICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3Rz
KCJuZXZlcl9yZW1lbWJlciIpKTsKKworICAgIGlmICghbV9hZGROZXZlclJlbWVtYmVyU3RhdGVt
ZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0
ZW1lbnQtPmJpbmRUZXh0KDEsIHVybC5zdHJpbmcoKSk7CisgICAgbV9hZGROZXZlclJlbWVtYmVy
U3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX2Fk
ZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMywgcHJvdGVjdGlvblNwYWNlLnBvcnQo
KSk7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDQsIHN0YXRpY19j
YXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fYWRkTmV2ZXJS
ZW1lbWJlclN0YXRlbWVudC0+YmluZFRleHQoNSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwor
ICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2FzdDxp
bnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisKKyAgICBpbnQg
cmVzdWx0ID0gbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5zdGVwKCk7CisgICAgbV9hZGRO
ZXZlclJlbWVtYmVyU3RhdGVtZW50LT5yZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlM
VVJFKHJlc3VsdCAhPSBTUUxSZXN1bHREb25lLCBmYWxzZSwKKyAgICAgICAgIkZhaWxlZCB0byBh
ZGQgbmF2ZXIgc2F2ZWQgaXRlbSBpbmZvIGludG8gdGFibGUgbmV2ZXJfcmVtZW1iZXIgLSAlaSIs
IHJlc3VsdCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBDcmVkZW50aWFsQmFja2lu
Z1N0b3JlOjpoYXNOZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlv
blNwYWNlKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKKyAgICBBU1NFUlQo
bV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIiKSk7CisKKyAgICBpZiAoIW1f
aGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
bV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2Uu
aG9zdCgpKTsKKyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJv
dGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5i
aW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkp
OworICAgIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlv
blNwYWNlLnJlYWxtKCkpOworICAgIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZElu
dCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVt
ZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0ID0gbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5z
dGVwKCk7CisgICAgaW50IG51bU9mUm93ID0gbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5n
ZXRDb2x1bW5JbnQoMCk7CisgICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5yZXNldCgp
OworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1bHRSb3csIGZh
bHNlLAorICAgICAgICAiRmFpbGVkIHRvIGV4ZWN1dGUgc2VsZWN0IHRvIGZpbmQgbmF2ZXIgc2F2
ZWQgc2l0ZSBmcm9tIHRhYmxlIG5ldmVyX3JlbWVtYmVyIC0gJWkiLCByZXN1bHQpOworCisgICAg
aWYgKG51bU9mUm93KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK0tVUkwgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Z2V0TmV2ZXJSZW1lbWJlcihjb25zdCBQ
cm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkKK3sKKyAgICBBU1NFUlQobV9kYXRhYmFz
ZS5pc09wZW4oKSk7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFibGVFeGlzdHMoIm5ldmVyX3Jl
bWVtYmVyIikpOworCisgICAgaWYgKCFtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQpCisgICAg
ICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJp
bmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1fZ2V0TmV2ZXJSZW1lbWJl
clN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBtX2dl
dE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50Pihwcm90
ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVt
ZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7CisgICAgbV9nZXROZXZl
clJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlv
blNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2dl
dE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBTdHJpbmcgdXJsID0gbV9nZXRO
ZXZlclJlbWVtYmVyU3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDApOworICAgIG1fZ2V0TmV2ZXJS
ZW1lbWJlclN0YXRlbWVudC0+cmVzZXQoKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShy
ZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBLVVJMKCksCisgICAgICAgICJGYWlsZWQgdG8gZXhlY3V0
ZSBzZWxlY3QgbmV2ZXIgc2F2ZWQgc2l0ZSBpbmZvIGZyb20gdGFibGUgbmV2ZXJfcmVtZW1iZXIg
aW4gZ2V0TmV2ZXJSZW1lbWJlciAtICVpIiwgcmVzdWx0KTsKKworICAgIHJldHVybiBLVVJMKFBh
cnNlZFVSTFN0cmluZywgdXJsKTsKK30KKworYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpy
ZW1vdmVOZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNl
KQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKKyAgICBBU1NFUlQobV9kYXRh
YmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIiKSk7CisKKyAgICBpZiAoIW1fcmVtb3Zl
TmV2ZXJSZW1lbWJlclN0YXRlbWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbV9y
ZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2Uu
aG9zdCgpKTsKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMiwg
cHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVt
ZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5
cGUoKSkpOworICAgIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRleHQoNCwg
cHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRl
bWVudC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50
aWNhdGlvblNjaGVtZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0ID0gbV9yZW1vdmVOZXZlclJlbWVt
YmVyU3RhdGVtZW50LT5zdGVwKCk7CisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50
LT5yZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1
bHREb25lLCBmYWxzZSwKKyAgICAgICAgIkZhaWxlZCB0byByZW1vdmUgbmV2ZXIgc2F2ZWQgc2l0
ZSBmcm9tIHRhYmxlIG5ldmVyX3JlbWVtYmVyIC0gJWkiLCByZXN1bHQpOworCisgICAgcmV0dXJu
IHRydWU7Cit9CisKK2Jvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Y2xlYXJMb2dpbnMoKQog
ewogICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFz
ZS50YWJsZUV4aXN0cygibG9naW5zIikpOwpAQCAtMjYzLDYgKzM4MCwxNyBAQCBib29sIENyZWRl
bnRpYWxCYWNraW5nU3RvcmU6OmNsZWFyKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBD
cmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhck5ldmVyUmVtZW1iZXIoKQoreworICAgIEFTU0VS
VChtX2RhdGFiYXNlLmlzT3BlbigpKTsKKyAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0
cygibmV2ZXJfcmVtZW1iZXIiKSk7CisKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRSghbV9k
YXRhYmFzZS5leGVjdXRlQ29tbWFuZCgiREVMRVRFICogRlJPTSBuZXZlcl9yZW1lbWJlciIpLAor
ICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBjbGVhciB0YWJsZSBuZXZlcl9yZW1lbWJlciIpOwor
CisgICAgcmV0dXJuIHRydWU7Cit9CisKIFN0cmluZyBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpl
bmNyeXB0ZWRTdHJpbmcoY29uc3QgU3RyaW5nJiBwbGFpblRleHQpIGNvbnN0CiB7CiAgICAgLy8g
RklYTUU6IE5lZWQgZW5jcnlwdCBwbGFpblRleHQgaGVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFs
QmFja2luZ1N0b3JlLmgKaW5kZXggZDEyNjMxMDY1ZDVmNjM1NjVkMWQ3YjIwMmMzY2Y0Y2FmYzNm
ZjQwOS4uYTE1NWRlZTc3NTk1NWZmZjYzZGUwZjBiMTVkZWRhOTAxMjU3ZGRlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxC
YWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNr
YmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oCkBAIC0zNiwxMSArMzYsMTYgQEAgcHVibGlj
OgogICAgIGJvb2wgb3Blbihjb25zdCBTdHJpbmcmIGRiUGF0aCk7CiAgICAgdm9pZCBjbG9zZSgp
OwogICAgIGJvb2wgYWRkTG9naW4oY29uc3QgS1VSTCYsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYs
IGNvbnN0IENyZWRlbnRpYWwmKTsKLSAgICBib29sIHVwZGF0ZUxvZ2luKGNvbnN0IEtVUkwmLCBj
b25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBDcmVkZW50aWFsJik7CisgICAgYm9vbCB1cGRh
dGVMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBDcmVkZW50aWFsJik7CiAgICAg
Ym9vbCBoYXNMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKICAgICBDcmVkZW50aWFsIGdl
dExvZ2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYpOwogICAgIGJvb2wgcmVtb3ZlTG9naW4oY29u
c3QgUHJvdGVjdGlvblNwYWNlJik7Ci0gICAgYm9vbCBjbGVhcigpOworICAgIGJvb2wgYWRkTmV2
ZXJSZW1lbWJlcihjb25zdCBLVVJMJiwgY29uc3QgUHJvdGVjdGlvblNwYWNlJik7CisgICAgYm9v
bCBoYXNOZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYpOworICAgIEtVUkwgZ2V0
TmV2ZXJSZW1lbWJlcihjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKKyAgICBib29sIHJlbW92ZU5l
dmVyUmVtZW1iZXIoY29uc3QgUHJvdGVjdGlvblNwYWNlJik7CisgICAgYm9vbCBjbGVhckxvZ2lu
cygpOworICAgIGJvb2wgY2xlYXJOZXZlclJlbWVtYmVyKCk7CiAKIHByaXZhdGU6CiAgICAgQ3Jl
ZGVudGlhbEJhY2tpbmdTdG9yZSgpOwpAQCAtNDgsMTEgKzUzLDE1IEBAIHByaXZhdGU6CiAgICAg
U3RyaW5nIGRlY3J5cHRlZFN0cmluZyhjb25zdCBTdHJpbmcmIGNpcGhlclRleHQpIGNvbnN0Owog
CiAgICAgU1FMaXRlRGF0YWJhc2UgbV9kYXRhYmFzZTsKLSAgICBTUUxpdGVTdGF0ZW1lbnQqIG1f
YWRkU3RhdGVtZW50OwotICAgIFNRTGl0ZVN0YXRlbWVudCogbV91cGRhdGVTdGF0ZW1lbnQ7Ci0g
ICAgU1FMaXRlU3RhdGVtZW50KiBtX2hhc1N0YXRlbWVudDsKLSAgICBTUUxpdGVTdGF0ZW1lbnQq
IG1fZ2V0U3RhdGVtZW50OwotICAgIFNRTGl0ZVN0YXRlbWVudCogbV9yZW1vdmVTdGF0ZW1lbnQ7
CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2FkZExvZ2luU3RhdGVtZW50OworICAgIFNRTGl0ZVN0
YXRlbWVudCogbV91cGRhdGVMb2dpblN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1f
aGFzTG9naW5TdGF0ZW1lbnQ7CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2dldExvZ2luU3RhdGVt
ZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV9yZW1vdmVMb2dpblN0YXRlbWVudDsKKyAgICBT
UUxpdGVTdGF0ZW1lbnQqIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAgICBTUUxpdGVT
dGF0ZW1lbnQqIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1l
bnQqIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1f
cmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128999</attachid>
            <date>2012-02-27 02:37:43 -0800</date>
            <delta_ts>2012-02-27 02:45:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79650-20120227183741.patch</filename>
            <type>text/plain</type>
            <size>217536</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI4ZTgxMGYyNjIxY2M5
M2ZlYWU0ODM5ZjY4YjRiNGNiNTVjYzY2OC4uNjQ3ODA2MzcxNjQ4MmMyMmM5OGY1MTA1MjUwMzJh
NjFhNDI1OGNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAyLTI3ICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIENyZWRlbnRpYWwgYmFja2luZyBzdG9yZSBpbXBsZW1lbnRhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXZlcl9y
ZW1lbWJlciB0YWJsZSB0byBzdG9yZSB0aGUgbmV2ZXIgcmVtZW1iZXIKKyAgICAgICAgc2l0ZXM7
IGNoYW5nZWQgbG9naW4gdXBkYXRlIHN0YXRlbWVudCB0byByZW1vdmUgdXJsIGZyb20KKyAgICAg
ICAgdGhlIHVwZGF0ZSBzdGF0ZW1lbnQgYXMgc29tZSBzaXRlcyB3b3VsZCBwb3N0IGRpZmZlcmVu
dAorICAgICAgICB1cmwgd2hlbiB1c2VyIGNoYW5nZWQgY3JlZGVudGlhbCBpbmZvOyBhbHNvIGZp
eGVkIHNvbWUKKyAgICAgICAgaW1wbGVtZW50YXRpb24gaXNzdWUuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRp
YWxCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdT
dG9yZTo6aW5zdGFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9y
ZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFs
QmFja2luZ1N0b3JlOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5n
U3RvcmU6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6
OmFkZExvZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnVw
ZGF0ZUxvZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omhh
c0xvZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmdldExv
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92ZUxv
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZE5ldmVy
UmVtZW1iZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50
aWFsQmFja2luZ1N0b3JlOjpoYXNOZXZlclJlbWVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNy
ZWRlbnRpYWxCYWNraW5nU3RvcmU6OmdldE5ldmVyUmVtZW1iZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6cmVtb3ZlTmV2ZXJSZW1lbWJlcik6CisgICAgICAg
IChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhckxvZ2lucyk6CisgICAgICAg
IChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhck5ldmVyUmVtZW1iZXIpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0
b3JlLmg6CisgICAgICAgIChDcmVkZW50aWFsQmFja2luZ1N0b3JlKToKKwogMjAxMi0wMi0yNiAg
SHlvd29uIEtpbSAgPGh3MTAwOC5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gSW1w
bGVtZW50YXRpb24gb2YgR3JhcGhpY3NDb250ZXh0M0QgZm9yIEVGTCBwb3J0CkBAIC01MTYsNyAr
NTUxLDcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgogCi0gICAgICAgIENo
YW5nZSB0aGUgc3RkOjptb3ZlIGltcGxlbWVudGF0aW9uIHRvIHRha2UgYSBXZWJDb3JlOjpUaW1l
ckhlYXBSZWZlcmVuY2UgZGlyZWN0bHkgc28gCisgICAgICAgIENoYW5nZSB0aGUgc3RkOjptb3Zl
IGltcGxlbWVudGF0aW9uIHRvIHRha2UgYSBXZWJDb3JlOjpUaW1lckhlYXBSZWZlcmVuY2UgZGly
ZWN0bHkgc28KICAgICAgICAgV2ViQ29yZSBzdGlsbCBidWlsZHMgd2l0aCBhIHZlcnNpb24gb2Yg
bGliYysrIHRoYXQgaGFzIHRoZSByaWdodCBzdGQ6Om1vdmUgZnVuY3Rpb24gdGVtcGxhdGUuCiAK
ICAgICAgICAgKiBXZWJDb3JlUHJlZml4Lmg6CkBAIC03MzksNyArNzc0LDcgQEAKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTQ1CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTm9hbSBSb3NlbnRoYWwuCi0gICAgICAgIAorCiAgICAgICAgIEFkZCBjb25z
dCB0byBuZXcgbWV0aG9kcy4KICAgICAgICAgTm8gbmV3IHRlc3RzLgogCkBAIC05MTQsNyArOTQ5
LDcgQEAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5
MzY4CiAKICAgICAgICAgQ2hhbmdlIFRleHRUcmFja0N1ZS5hbGlnbm1lbnQgdG8gLmFsaWduLCBU
ZXh0VHJhY2tDdWUubGluZVBvc2l0aW9uIGFuZCAudGV4dFBvc2l0aW9uIHRvIC5saW5lCi0gICAg
ICAgIGFuZCAucG9zaXRpb24sIGFuZCBUZXh0VHJhY2tDdWUuZGlyZWN0aW9uIHRvIC52ZXJ0aWNh
bC4gQ2hhbmdlIGRpcmVjdGlvbiB2YWx1ZXMgImhvcml6b250YWwiIAorICAgICAgICBhbmQgLnBv
c2l0aW9uLCBhbmQgVGV4dFRyYWNrQ3VlLmRpcmVjdGlvbiB0byAudmVydGljYWwuIENoYW5nZSBk
aXJlY3Rpb24gdmFsdWVzICJob3Jpem9udGFsIgogICAgICAgICB0byAiIiwidmVydGljYWwiIHRv
ICJybCIsIGFuZCAidmVydGljYWwtbHIiIHRvICJsciIuCiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCkBAIC0xMDAxLDcgKzEwMzYsNyBAQAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzODcKIAogICAgICAgICBSZXZpZXdlZCBieSBL
ZW5uZXRoIFJ1c3NlbGwuCi0gICAgICAgIAorCiAgICAgICAgIFNvbWUgYXBwcyBnZW5lcmF0ZWQg
ZW5vdWdoIGVycm9ycyB0byBvdmVybG9hZAogICAgICAgICB0aGUgRGV2IFRvb2xzIHNvIGxpbWl0
IHRoZSBudW1iZXIgb2YgZXJyb3JzLgogICAgICAgICBGb3IgYSBjb3JyZWN0IGFwcCB0aGVyZSBz
aG91bGQgbmV2ZXIgYmUgYW55CkBAIC0xMzc5LDcgKzE0MTQsNyBAQAogICAgICAgICA8aHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTA4ODA5PiAoaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM4OTk1KQogCiAgICAgICAgIFN1YnN0aXR1dGUgc3R5bGVMb2Fk
RXZlbnRTZW5kZXIoKSBmb3IgbG9hZEV2ZW50U2VuZGVyKCkgaW4gSFRNTFN0eWxlRWxlbWVudC5j
cHAKLSAgICAgICAgYW5kIHN1YnN0aXR1dGUgbGlua0xvYWRFdmVudFNlbmRlcigpIGZvciBsb2Fk
RXZlbnRTZW5kZXIoKSBpbiBIVE1MTGlua0VsZW1lbnQuY3BwLiAKKyAgICAgICAgYW5kIHN1YnN0
aXR1dGUgbGlua0xvYWRFdmVudFNlbmRlcigpIGZvciBsb2FkRXZlbnRTZW5kZXIoKSBpbiBIVE1M
TGlua0VsZW1lbnQuY3BwLgogCiAgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgog
ICAgICAgICAoV2ViQ29yZTo6bGlua0xvYWRFdmVudFNlbmRlcik6CkBAIC0yNzUzLDcgKzI3ODgs
NyBAQAogICAgICAgICBObyBuZXcgdGVzdHMuIEV4aXN0aW5nIHRlc3RzIGNvdmVyIHRoaXMgY2hh
bmdlLgogCiAgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9VdGlsaXRpZXMuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9VdGlsaXRpZXM6OnRpbWVUb1NhbXBsZUZyYW1lKTogVXNlIHJv
dW5kKCkuIAorICAgICAgICAoV2ViQ29yZTo6QXVkaW9VdGlsaXRpZXM6OnRpbWVUb1NhbXBsZUZy
YW1lKTogVXNlIHJvdW5kKCkuCiAKIDIwMTItMDItMjMgIEdyZWcgQmlsbG9jayAgPGdiaWxsb2Nr
QGdvb2dsZS5jb20+CiAKQEAgLTI4MTIsNyArMjg0Nyw3IEBACiAgICAgICAgIGRyYXdMaW5lRm9y
Qm94U2lkZSBoYW5kbGVzIHBhaW50aW5nIGxpbmVzIGZvciBib3hlcyB3aGljaCBtdXN0IGJlIGRv
bmUgb24gcGl4ZWwgYm91bmRhcmllcy4KICAgICAgICAgSXRzIGludGVyZmFjZSBkb2Vzbid0IG1h
a2UgaXQgcG9zc2libGUgdG8gcGl4ZWwgc25hcCBwcm9wZXJseSB3aXRoaW4gdGhlIGZ1bmN0aW9u
IGl0c2VsZiAtLQogICAgICAgICBpdCBkcmF3cyBvbmUgc2lkZSBvZiB0aGUgYm94IGF0IGEgdGlt
ZSwgYW5kIHRoZSBsb2dpY2FsIHJpZ2h0IGFuZCBib3R0b20gbGluZXMgY2FuIG9ubHkgYmUKLSAg
ICAgICAgcHJvcGVybHkgZGV0ZXJtaW5lZCB1c2luZyB0aGUgbG9naWNhbCB0b3AgYW5kIGxlZnQg
cG9zaXRpb25zIC0tIHNvIGl0IG5lZWRzIHRvIGJlIHRyZWF0ZWQgCisgICAgICAgIHByb3Blcmx5
IGRldGVybWluZWQgdXNpbmcgdGhlIGxvZ2ljYWwgdG9wIGFuZCBsZWZ0IHBvc2l0aW9ucyAtLSBz
byBpdCBuZWVkcyB0byBiZSB0cmVhdGVkCiAgICAgICAgIGxpa2UgYSBncmFwaGljcyBjb250ZXh0
IGZ1bmN0aW9uLCB3aGVyZWJ5IHRoZSBjYWxsZXIgaGFuZGxlcyB0aGUgcHJvcGVyIHBpeGVsIHNu
YXBwaW5nIGJlZm9yZQogICAgICAgICBwYXNzaW5nIHRoZSB2YWx1ZXMgaW4uCiAKQEAgLTMyNDUs
NyArMzI4MCw3IEBACiAgICAgICAgIEkgYWRkZWQgTk9fUkVUVVJOIGF0dHJpYnV0ZSB0byAyIGZ1
bmN0aW9ucyBvZiBQTkcgYW5kIEpQRUcgZGVjb2RlcnMgdG8gYXZvaWQgY29tcGlsZXIgd2Fybmlu
Z3MKICAgICAgICAgYmVjYXVzZSBpbiBRdC1wb3J0IHdlIHRyZWF0IHdhcm5pbmcgYXMgZXJyb3Jz
ICgtV2Vycm9yKS4KIAotICAgICAgICBJJ20gY29udGludWluZyB0aGUgcmVmYWN0b3Jpbmcgb2Yg
dGhpcyBhcmVhIGFuZCB0cnkgdG8gdXNlIFF0IGltYWdlZGVjb2RlcnMgb25seSBpbiAKKyAgICAg
ICAgSSdtIGNvbnRpbnVpbmcgdGhlIHJlZmFjdG9yaW5nIG9mIHRoaXMgYXJlYSBhbmQgdHJ5IHRv
IHVzZSBRdCBpbWFnZWRlY29kZXJzIG9ubHkgaW4KICAgICAgICAgY2FzZXMgd2hlbiBXZWJDb3Jl
IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgaW1hZ2UgZm9ybWF0LgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEhhdXNtYW5uLgpAQCAtMzQ3MywxMyArMzUwOCwxMyBAQAogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NjQKIAogICAgICAgICBSZXZpZXdl
ZCBieSBKYW1lcyBSb2JpbnNvbi4KLSAgICAgICAgCisKICAgICAgICAgVGhlIGFzc2VydGlvbiBp
cyBjYXVzZWQgd2l0aCB0aGUgZm9sbG93aW5nIGNhbGxzdGFjazoKICAgICAgICAgV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OmNvbnZlcnRUb0xheWVyQ29vcmRzCiAgICAgICAgIFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJXaWxsQmVSZW1vdmVkCiAgICAgICAgIFdlYkNvcmU6OlJl
bmRlckxheWVyOjpyZW1vdmVDaGlsZAogICAgICAgICBXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVt
b3ZlT25seVRoaXNMYXllcgotICAgICAgICAKKwogICAgICAgICBXZWJDb3JlOjpSZW5kZXJMYXll
cjo6cmVtb3ZlT25seVRoaXNMYXllciByZW1vdmVzIGl0c2VsZiBmcm9tIHRoZSBwYXJlbnQKICAg
ICAgICAgYmVmb3JlIG1vdmluZyBpdHMgY2hpbGRyZW4gdG8gaXRzIHBhcmVudC4gV2hlbiBXZWJD
b3JlOjpSZW5kZXJMYXllcjo6Y29udmVydFRvTGF5ZXJDb29yZHMKICAgICAgICAgaXMgY2FsbGVk
IGZvciBvbmUgb2YgdGhlIGNoaWxkcmVuLCBpdCB0cmllcyB0byB3YWxrIHRvIHJvb3Qgb25seSB0
byBzdG9wIGF0IHRoZSBpbW1lZGlhdGUKQEAgLTQ0NjEsMTQgKzQ0OTYsMTQgQEAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KIAogICAgICAgICBUZXN0OiBmYXN0L2Nzcy9mb250
LWZhY2UtaW5zZXJ0LWxpbmsuaHRtbAotICAgICAgICAKKwogICAgICAgICBJZiBhIGR5bmFtaWNh
bGx5IGluc2VydGVkIHN0eWxlc2hlZXQgY29udGFpbnMgQGZvbnQtZmFjZSBydWxlcywgd2UgbWF5
IGZhaWwgdG8gdXBkYXRlIHRoZSByZW5kZXJpbmcuCi0gICAgICAgIAorCiAgICAgICAgIEJlZm9y
ZSByMTA0MDYwIHRoZSBzdHlsZSBzZWxlY3RvciB3YXMgZGVzdHJveWVkIG9uIGV2ZXJ5IHN0eWxl
IGNoYW5nZSwgYW5kIHRoZSBmb250IHNlbGVjdG9yIGFsb25nIHdpdGggaXQuCiAgICAgICAgIFRo
aXMgaXMgbm8gbG9uZ2VyIHRoZSBjYXNlIGFuZCB3ZSBjYW4ndCByZWx5IG9uIGNvbXBhcmluZyBm
b250IHNlbGVjdG9yIHBvaW50ZXJzIHdoZW4gY29tcGFyaW5nIEZvbnRzCiAgICAgICAgIGZvciBl
cXVhbGl0eS4gVGhpcyBwYXRjaCBhZGRzIHZlcnNpb24gbnVtYmVyIHRvIHRoZSBmb250IHNlbGVj
dG9yIGFuZCBjaGVja3MgaXQgaW4gRm9udDo6b3BlcmF0b3I9PS4KICAgICAgICAgVGhlIHZlcnNp
b24gbnVtYmVyIGlzIGluY3JlbWVudGVkIHdoZW4gbmV3IGZvbnQtZmFjZSBydWxlcyBhcmUgYWRk
ZWQgdG8gdGhlIGZvbnQgc2VsZWN0b3IuCi0gICAgICAgIAorCiAgICAgICAgIEZvbnRGYWxsYmFj
a0xpc3QgaXMgYW4gb2JqZWN0IHNoYXJlZCBiZXR3ZWVuIEZvbnRzIHNvIHRoZSBleHRyYSBmaWVs
ZCBzaG91bGRuJ3QgbWF0dGVyIG11Y2ggaW4gdGVybXMKICAgICAgICAgb2YgbWVtb3J5LgogCkBA
IC00ODAwLDcgKzQ4MzUsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KIAog
ICAgICAgICBXaGVuIG91ciBibG9jayBuZWVkZWQgYSBmdWxsIGxheW91dCwgd2Ugd2VyZSBkZWxl
dGluZyBvdXIgb3duIGxpbmVib3hlcwotICAgICAgICBhbmQgbGV0dGluZyBkZXNjZW5kYW50IGNo
aWxkcmVuIChhdCBhbnkgbGV2ZWwgaW4gaGllcmFyY2h5IGFuZCBub3QganVzdCAKKyAgICAgICAg
YW5kIGxldHRpbmcgZGVzY2VuZGFudCBjaGlsZHJlbiAoYXQgYW55IGxldmVsIGluIGhpZXJhcmNo
eSBhbmQgbm90IGp1c3QKICAgICAgICAgaW1tZWRpYXRlIGNoaWxkcmVuKSBjbGVhciB0aGVpciBv
d24gbGluZWJveGVzIGFzIHdlIGtlZXAgbGF5aW5nIHRoZW0gb3V0LgogICAgICAgICBUaGlzIHdh
cyBwcm9ibGVtYXRpYyBiZWNhdXNlIHRob3NlIGRlc2NlbmRhbnQgY2hpbGRyZW4gbGluZWJveGVz
IHdlcmUKICAgICAgICAgcG9pbnRpbmcgdG8gcmVtb3ZlZCBwYXJlbnQgbGluZWJveGVzIGluIHRo
ZSBtZWFudGltZS4gQW4gZXhhbXBsZSBzY2VuYXJpbwpAQCAtNDgwOSw3ICs0ODQ0LDcgQEAKICAg
ICAgICAgbW9kaWZpZXMgY2xlYXJpbmcgdGhlIGVudGlyZSBsaW5lYm94IHRyZWUgdXBmcm9udC4g
SXQgc2hvdWxkbid0IGludHJvZHVjZQogICAgICAgICBwZXJmb3JtYW5jZSBpc3N1ZXMgc2luY2Ug
aXQgd2lsbCBldmVudHVhbGx5IGhhcHBlbiBhcyB3ZSBhcmUgbGF5aW5nIG91dAogICAgICAgICB0
aG9zZSBjaGlsZHJlbi4KLSAKKwogICAgICAgICBUZXN0OiBmYXN0L2Nzcy1nZW5lcmF0ZWQtY29u
dGVudC9maXJzdC1sZXR0ZXItdGV4dGJveC1wYXJlbnQtY3Jhc2guaHRtbAogCiAgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CkBAIC00OTAzLDcgKzQ5MzgsNyBA
QAogICAgICAgICBSZWxhdGl2ZWx5IHBvc2l0aW9uZWQgdGV4dCBpcyBub3QgY29ycmVjdGx5IHVw
ZGF0aW5nIGl0cyBwb3NpdGlvbiB3aGVuIHRoZQogICAgICAgICBzaXplIG9mIGl0cyBuZWFyZXN0
IHZpZXdwb3J0IGNoYW5nZXMuIFVwZGF0aW5nIHRvIG1hcmsgdGV4dCBmb3IgbGF5b3V0IHdoZW4K
ICAgICAgICAgdmlld1BvcnQgc2l6ZSBjaGFuZ2VzLgotICAgICAgICAKKwogICAgICAgICBUZXN0
OiBzdmcvcmVwYWludC9pbm5lci1zdmctY2hhbmdlLXZpZXdQb3J0LXJlbGF0aXZlLnN2ZwogCiAg
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoKQEAgLTU2OTMsNyAr
NTcyOCw3IEBACiAgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoK
ICAgICAgICAgKFdlYkNvcmU6OmlzUmVuZGVyaW5nTWFza0ltYWdlKTogRXh0cmFjZWQgYXMgc2hh
cmFibGUgaGVscGVyIGZ1bmN0aW9uLgogICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9y
dDo6cHJlcGFyZVRvUmVuZGVyU1ZHQ29udGVudCk6IEZhY3RvciBvdXQgaXNSZW5kZXJpbmdNYXNr
SW1hZ2UoKSBmdW5jdGlvbi4KLSAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmZp
bmlzaFJlbmRlclNWR0NvbnRlbnQpOiBPbmx5IGNhbGwgZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKSwg
aWYgd2UgYWN0dWFsbHkgY2FsbGVkIGJlZ2luVEwoKSBmaXJzdC4gCisgICAgICAgIChXZWJDb3Jl
OjpTVkdSZW5kZXJTdXBwb3J0OjpmaW5pc2hSZW5kZXJTVkdDb250ZW50KTogT25seSBjYWxsIGVu
ZFRyYW5zcGFyZW5jeUxheWVyKCksIGlmIHdlIGFjdHVhbGx5IGNhbGxlZCBiZWdpblRMKCkgZmly
c3QuCiAKIDIwMTItMDItMjIgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3
ZWJraXQub3JnPgogCkBAIC02MzM4LDcgKzYzNzMsNyBAQAogICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTAwNzk2OTQ+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCi0g
ICAgICAgIAorCiAgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSB0aGVyZSBpcyBubyBjaGFu
Z2UgaW4gYmVoYXZpb3IuCiAKICAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKQEAgLTY0MzksNyAr
NjQ3NCw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KIAogICAgICAg
ICBNb3ZlIFRleHR1cmVNYW9vZXJHTCBhbmQgVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIgZmls
ZXMgdG8gZ3JhcGhpY3MvdGV4bWFwLgotICAgICAgICBObyBuZXcgdGVzdHMuIAorICAgICAgICBO
byBuZXcgdGVzdHMuCiAKICAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgogICAgICAgICAq
IFRhcmdldC5wcmk6CkBAIC02NTg1LDcgKzY2MjAsNyBAQAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTAKIAogICAgICAgICBDaGFuZ2UgdG8gY2hl
Y2sgZWxldmF0aW9uIGFzIGludGVuZGVkIGluc3RlYWQgb2YgYXppbXV0aC4KLSAgICAgICAgCisK
ICAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgUm9nZXJzLgogCiAgICAgICAgIE5vIG5ldyB0ZXN0
cyBmb3IgY29ycmVjdGlvbiBvZiB0eXBvLgpAQCAtNjk0MSwxNSArNjk3NiwxNSBAQAogCiAgICAg
ICAgIFtUZXhtYXBdIEJldHRlciBtYW5hZ2VtZW50IG9mIHNoYWRlcnMgaW4gVGV4dHVyZU1hcHBl
ckdMCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODY3
NAotIAorCiAgICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgotIAorCiAgICAgICAg
IFNwbGl0IFRleHR1cmVNYXBwZXJHTC5jcHAgaW50byB0d28gZmlsZXMuCiAgICAgICAgIEdldCBy
aWQgb2YgdGhlIGVudW1zIHRoYXQgd2Ugd2VyZSB1c2luZyB0byBpZGVudGlmeSBzaGFkZXJzIGFu
ZCB0byBpZGVudGlmeSB2YXJpYWJsZXMuCiAgICAgICAgIFN3aXRjaCBmbGlwIGFuZCBvcGFxdWUg
ZnJvbSB1c2luZyBib29sIHRvIHVzaW5nIGVudW1zLgotIAorCiAgICAgICAgIE5vIG5ldyB0ZXN0
cy4gVGhpcyBpcyByZWZhY3RvcmluZyBvbmx5LgotIAorCiAgICAgICAgICogR05VbWFrZWZpbGUu
bGlzdC5hbToKICAgICAgICAgKiBUYXJnZXQucHJpOgogICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
QEAgLTcxNDEsNyArNzE3Niw3IEBACiAKICAgICAgICAgQmVmb3JlIHNldCBNZWRpYVN0cmVhbVRy
YWNrIGRpc2FibGUvZW5hYmxlIG9wZXJhdGlvbiwKICAgICAgICAgY2hlY2tpbmcgdGhlIHN0YXR1
cyBvZiBNZWRpYVN0cmVhbSB0aGF0IGNvbnRhaW5zIHRoaXMgTWVkaWFTdHJlYW1UcmFjay4KLSAg
ICAgICAgaWYgTWVkaWFTdHJlYW0gaXMgZmluaXNoZWQsIHRoZW4gc2tpcHBpbmcgb3BlcmF0aW9u
IG9mIAorICAgICAgICBpZiBNZWRpYVN0cmVhbSBpcyBmaW5pc2hlZCwgdGhlbiBza2lwcGluZyBv
cGVyYXRpb24gb2YKICAgICAgICAgZGlkU2V0TWVkaWFTdHJlYW1UcmFja0VuYWJsZWQoKS4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpAQCAtNzM2NSwxMSArNzQwMCwxMSBAQAog
MjAxMi0wMi0yMCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDQ2Ci0gICAgICAgIAorCiAg
ICAgICAgIHdpZHRoIG9mIG92ZXJmbG93OmhpZGRlbiBibG9ja3MgaXMgd3Jvbmcgd2hlbiB0aGVp
ciBtYXJnaW5zIG92ZXJsYXAgZmxvYXRzLgotICAgICAgICAKKwogICAgICAgICBSZWxldmFudCBk
aXNjdXNzaW9uIGlzIGhlcmU6IGh0dHA6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVibGljL3d3
dy1zdHlsZS8yMDEyRmViLzA5NTQuaHRtbAotICAgICAgICAKKwogICAgICAgICBUaGlzIHBhdGNo
IG1ha2VzIHRoZSBmb2xsb3dpbmcgY2hhbmdlcyB0byBob3cgb2JqZWN0cyBzaHJpbmsgd2hlbiBh
dm9pZGluZyBmbG9hdHM6CiAgICAgICAgICgxKSBUaGUgY29udGFpbmluZyBibG9jayB3aWR0aCB1
c2VkIGZvciBwZXJjZW50YWdlIGNhbGN1bGF0aW9ucyBpcyBub3cgY29uc3RhbnQuIFRoaXMgbWVh
bnMgdGhhdAogICAgICAgICBhbiBvdmVyZmxvdzpoaWRkZW4gYmxvY2sgd2l0aCBhIG1hcmdpbi1s
ZWZ0IG9mIDEwJSB3aWxsIG5vIGxvbmdlciBjaGFuZ2Ugd2hhdCAxMCUgbWVhbnMgZGVwZW5kaW5n
CkBAIC03Mzg0LDcgKzc0MTksNyBAQAogICAgICAgICBjb250ZW50IGVkZ2UuIE90aGVyd2lzZSBp
ZiB0aGUgZmxvYXQgZG9lc24ndCBmaXQsIHRoZW4gd2UgZXhwYW5kIG9ubHkgdG8gdGhlIGZsb2F0
IGVkZ2UsIG1ha2luZyBzdXJlIG91cgogICAgICAgICBtYXJnaW4gb3ZlcmxhcHMgd2l0aCB0aGUg
ZmxvYXQuIFRoaXMgZXhwYW5zaW9uIGlzIG5vdCBwZXJmb3JtZWQgZm9yIG5lZ2F0aXZlIG1hcmdp
bnMsIHNpbmNlIG91ciByZXN1bHQgaXMgYWxyZWFkeQogICAgICAgICBjb3JyZWN0IGluIHRoYXQg
Y2FzZS4KLSAgICAgICAgCisKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KIAog
ICAgICAgICBBZGRlZCB0aGUgbmV3IHRlc3RzIGZyb20gdGhlIHRocmVhZCBvbiB3d3ctc3R5bGUg
YWJvdXQgdGhpcyBpc3N1ZSAoZnJvbSBBbGFuIEdyZXNsZXkgYW5kIEdlb3JnZSBUYWxib3QpCkBA
IC03NTY5LDcgKzc2MDQsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgog
CiAgICAgICAgIFRoZSBjb250ZXh0IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgZm9y
IENTUyBwYXJzZXIgaW52b2tpbmcgc2V0dGVycyB0aGF0IGFjdHVhbGx5IG5lZWQgaXQuCi0gICAg
ICAgIAorCiAgICAgICAgIC0gUmVtb3ZlIHRoZSBjb250ZXh0IHN0eWxlc2hlZXQgcG9pbnRlci4K
ICAgICAgICAgLSBBZGQgY29udGV4dCBzdHlsZXNoZWV0IGFyZ3VtZW50IHRvIHNldHRlcnMuCiAg
ICAgICAgIC0gRHJvcCBhbiB1bm5lY2Vzc2FyeSBTdHlsZVByb3BlcnR5U2V0IGNvbnN0cnVjdG9y
LCBwYXNzIHN0cmljdCBwYXJzaW5nIGZsYWcgZGlyZWN0bHkuCkBAIC04MDU5LDcgKzgwOTQsNyBA
QAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAwNzk2OTQ+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgR2F2aW4gQmFycmFjbG91Z2guCi0gICAgICAgIAorCiAgICAgICAgIE5vIG5ldyB0ZXN0cywg
YmVjYXVzZSB0aGVyZSBpcyBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCiAKICAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKQEAgLTgzOTgsNyArODQzMyw3IEBACiAgICAgICAgIHNjZW5lZ3JhcGguCiAK
ICAgICAgICAgQWxzbywgaXQncyB1bm5lY2Vzc2FyeSB0byBjbGlwIGJlZm9yZSB3ZSBwYWludCB0
aGUgbGF5ZXIncyBjb250ZW50LCB3ZSBzaG91bGQKLSAgICAgICAgb25seSBjbGlwIGFmdGVyd2Fy
ZHMsIGJlZm9yZSBwYWludGluZyB0aGUgY2hpbGRyZW4uIAorICAgICAgICBvbmx5IGNsaXAgYWZ0
ZXJ3YXJkcywgYmVmb3JlIHBhaW50aW5nIHRoZSBjaGlsZHJlbi4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KIApAQCAtOTM2NSwzNCArOTQwMCwzNCBA
QAogCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKICAgICAg
ICAgKCk6IGFkZCBhbiBlbnVtIFJlbFBvc0F4aXMKLSAgICAgICAgKFdlYkNvcmU6OmFjY3VtdWxh
dGVSZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0cyk6IAotICAgICAgICBUb3RhbCB1cCB0aGUgb2Zmc2V0
cyBvZiBhbGwgcmVsYXRpdmVseSBwb3NpdGlvbmVkIGlubGluZXMgdGhhdCBhcmUgZGUtZmFjdG8g
cGFyZW50cyBvZiB0aGUgcmVsYXRpdmVseSAKKyAgICAgICAgKFdlYkNvcmU6OmFjY3VtdWxhdGVS
ZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0cyk6CisgICAgICAgIFRvdGFsIHVwIHRoZSBvZmZzZXRzIG9m
IGFsbCByZWxhdGl2ZWx5IHBvc2l0aW9uZWQgaW5saW5lcyB0aGF0IGFyZSBkZS1mYWN0byBwYXJl
bnRzIG9mIHRoZSByZWxhdGl2ZWx5CiAgICAgICAgIHBvc2l0aW9uZWQgYW5vbnltb3VzIGJsb2Nr
J3MgY2hpbGQgYmxvY2suCiAKICAgICAgICAgKFdlYkNvcmUpOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKTogCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cmVsYXRpdmVQb3NpdGlvbk9mZnNldFgp
OgogICAgICAgICBVc2UgYWNjdW11bGF0ZVJlbGF0aXZlUG9zaXRpb25PZmZzZXRzIHdoZW4gY2Fs
Y3VsYXRpbmcgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mZnNldCBvZiBhIHJlbGF0aXZlbHkgcG9z
aXRpb25lZCBhbm9ueW1vdXMgYmxvY2suCiAKICAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1v
ZGVsT2JqZWN0OjpyZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSk6IGRpdHRvCiAKICAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Omhhc1JlbFBvc2l0
aW9uZWRJbmxpbmVBbmNlc3Rvcik6IAorICAgICAgICAoV2ViQ29yZTo6aGFzUmVsUG9zaXRpb25l
ZElubGluZUFuY2VzdG9yKToKICAgICAgICAgRGV0ZWN0cyBpZiB0aGUgYW5vbnltb3VzIGJsb2Nr
IGNvbnRhaW5zIGEgYmxvY2sgdGhhdCBpcyB0aGUgZGUtZmFjdG8gZGVzY2VuZGFudCBvZiBhIHJl
bGF0aXZlbHkgcG9zaXRpb25lZCBpbmxpbmUuCiAKLSAgICAgICAgKFdlYkNvcmU6OnVwZGF0ZVN0
eWxlT2ZBbm9ueW1vdXNCbG9ja0NvbnRpbnVhdGlvbnMpOiAKKyAgICAgICAgKFdlYkNvcmU6OnVw
ZGF0ZVN0eWxlT2ZBbm9ueW1vdXNCbG9ja0NvbnRpbnVhdGlvbnMpOgogICAgICAgICBVcGRhdGUg
dGhlIHN0eWxlJ3MgcG9zaXRpb25pbmcgZm9yIGVhY2ggYW5vbnltb3VzIGJsb2NrIGNvbnRhaW5p
bmcgYSBibG9jayB0aGF0IGlzIGRlc2NlbmRhbnQgZnJvbSB0aGUgaW5saW5lIHdob3NlIHN0eWxl
IGhhcyBjaGFuZ2VkLgogCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnN0eWxlRGlk
Q2hhbmdlKTogCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnN0eWxlRGlkQ2hhbmdl
KToKICAgICAgICAgSWYgYW4gaW5saW5lIGNoYW5nZXMgdG8gb3IgZnJvbSByZWxhdGl2ZSBwb3Np
dGlvbmluZyBlbnN1cmUgdGhhdCBhbnkgZGVzY2VuZGFudCBibG9ja3MgY2hhbmdlIHRvIG9yIGZy
b20gcmVsYXRpdmUgcG9zaXRpb25pbmcKICAgICAgICAgYXMgd2VsbCwgdW5sZXNzIHRoZXkgc3Rp
bGwgaGF2ZSBhIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBhbmNlc3RvciBhZnRlciB0aGUgY3VycmVu
dCBhbmNlc3RvciBsb3NlcyBpdHMgcmVsYXRpdmUgcG9zaXRpb25pbmcuCiAKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlcklubGluZTo6YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbik6IAorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9u
KToKICAgICAgICAgSWYgdGhlIGFub255bW91cyBibG9jayBjb250YWlucyBhIGJsb2NrIHRoYXQg
aXMgZWZmZWN0aXZlbHkgZGVzY2VuZGVkIGZyb20gYSByZWxhdGl2ZWx5IHBvc2l0aW9uZWQgaW5s
aW5lLCBtYWtlIGl0IHJlbGF0aXZlbHkKICAgICAgICAgcG9zaXRpb25lZCBzbyB0aGUgYmxvY2sg
d2lsbCByZXNwZWN0IGl0cyBpbmxpbmUgYW5jZXN0b3IncyByZWxhdGl2ZSBwb3NpdGlvbmluZy4K
IAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0Ojpwcm9wYWdhdGVTdHlsZVRvQW5vbnltb3VzQ2hpbGRyZW4pOiAKLSAg
ICAgICAgUHJlc2VydmUgc3R5bGUgcG9zaXRpb24gaW4gYW5vbnltb3VzIGJsb2NrIGNvbnRpbnVh
dGlvbnMgd2hlbiB0aGUgcGFyZW50IGJsb2NrIHByb3BhZ2F0ZXMgYSBzdHlsZSBjaGFuZ2UuIAor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpwcm9wYWdhdGVTdHlsZVRvQW5vbnltb3Vz
Q2hpbGRyZW4pOgorICAgICAgICBQcmVzZXJ2ZSBzdHlsZSBwb3NpdGlvbiBpbiBhbm9ueW1vdXMg
YmxvY2sgY29udGludWF0aW9ucyB3aGVuIHRoZSBwYXJlbnQgYmxvY2sgcHJvcGFnYXRlcyBhIHN0
eWxlIGNoYW5nZS4KIAogMjAxMi0wMi0xOCAgcmFtYW4gVGVubmV0aSAgPHJ0ZW5uZXRpQGNocm9t
aXVtLm9yZz4KIApAQCAtOTQwMiw3ICs5NDM3LDcgQEAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gRmlzaGVyLi4KIAogICAgICAgICBbY2hyb21pdW1dIEFkZGVkIEV4dHJhRGF0YSB0byBXZWJV
UkxSZXNwb25zZS4KLSAgICAgICAgCisKICAgICAgICAgTm8gaW50ZW5kZWQgZnVuY3Rpb25hbGl0
eSBjaGFuZ2UuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNl
UmVzcG9uc2UuaDoKQEAgLTk0NTYsNyArOTQ5MSw3IEBACiAyMDEyLTAyLTE4ICBLZXZpbiBPbGxp
dmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgogCiAgICAgICAgIFt3eF0gQnVpbGQgZml4
ZXMgZm9yIEMrKyBiaW5kaW5ncyBhZnRlciByZWNlbnQgY2hhbmdlcy4KLSAgICAgICAgCisKICAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAucG06CiAgICAgICAgIChT
aG91bGRTa2lwVHlwZSk6CiAgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CkBAIC05OTQ3LDcgKzk5
ODIsNyBAQAogMjAxMi0wMi0xNyAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTM0Ci0gICAg
ICAgIAorCiAgICAgICAgIEFkZCB0aGUgLXdlYmtpdC1saW5lLWFsaWduIHByb3BlcnR5IHRvIHN1
cHBvcnQgdGhlIGFsaWdubWVudCBvZiBsaW5lcyBpbiB0aGUgaW5saW5lIGRpcmVjdGlvbgogICAg
ICAgICB0byB0aGUgbGluZSBncmlkLgogCkBAIC0xMDAxOCwxMSArMTAwNTMsMTEgQEAKICAgICAg
ICAgZGF0YSB0byB0aGUgcGFzdGVib2FyZC4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc4OTMzCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDg3NDU1
Mz4KLSAgICAgICAgCisKICAgICAgICAgRm9yIHRoaXMgZm9ybWF0LCB0aGUgZGF0YSBuZWVkcyB0
byBiZSBwbGFjZWQgaW4gdGhlIHBhc3RlYm9hcmQgYXMgYXJyYXkgb2YgYXJyYXlzCiAgICAgICAg
IG9mIHN0cmluZ3MuIEN1cnJlbnRseSBpcyBpdCBzdG9yZWQgYXMgYXJyYXkgb2Ygc3RyaW5ncywg
d2hpY2ggY2F1c2VzIHRoZSBjb2RlCiAgICAgICAgIHRoYXQgdXNlcyB0aGlzIGZvcm1hdCB0byBi
cmVhay4KLSAgICAgICAgCisKICAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgogCiAg
ICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1hYy5tbToKQEAgLTEwMTkx
LDcgKzEwMjI2LDcgQEAKIAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlv
dXQuY3BwOgogICAgICAgICAoV2ViQ29yZTo6YWx3YXlzUmVxdWlyZXNMaW5lQm94KTogUmVtb3Zl
IGxpbmVJbmZvCi0gICAgICAgIChXZWJDb3JlOjpyZXF1aXJlc0xpbmVCb3gpOiAKKyAgICAgICAg
KFdlYkNvcmU6OnJlcXVpcmVzTGluZUJveCk6CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6TGluZUJyZWFrZXI6Om5leHRMaW5lQnJlYWspOgogCiAyMDEyLTAyLTE3ICBNaWNoYWwgTW9j
bnkgIDxtbW9jbnlAZ29vZ2xlLmNvbT4KQEAgLTEwMjIwLDcgKzEwMjU1LDcgQEAKICAgICAgICAg
b3RoZXIgY29udGVudCBpbiB0aGUgbGluZS4gU28gb25seSBjcmVhdGUgbGluZSBib3hlcyBmb3Ig
c3VjaCBlbGVtZW50cyBvbiBsaW5lcyB0aGF0IGFyZSBub3QgZW1wdHkuCiAKICAgICAgICAgVGhp
cyBwYXRjaCBmaXhlcyBhIHJlZ3Jlc3Npb24gd2hlcmUgYW4gZW1wdHkgaW5saW5lIHdpdGggbGlu
ZS1oZWlnaHQgd2FzIHByb3BhZ2F0aW5nIGl0cyBoZWlnaHQgdG8gYW4gZW1wdHkgbGluZS4KLSAg
ICAgICAgSXQgYWxzbyBmaXhlcyBjYXNlcyB3aGVyZSBsaW5lcyB3aXRoIGNvbnRlbnQgdGhhdCBo
YWQgYSBsZWFkaW5nIGVtcHR5IGlubGluZSBlbGVtZW50IHdlcmVuJ3QgcmVzcGVjdGluZyB0aGUg
CisgICAgICAgIEl0IGFsc28gZml4ZXMgY2FzZXMgd2hlcmUgbGluZXMgd2l0aCBjb250ZW50IHRo
YXQgaGFkIGEgbGVhZGluZyBlbXB0eSBpbmxpbmUgZWxlbWVudCB3ZXJlbid0IHJlc3BlY3Rpbmcg
dGhlCiAgICAgICAgIHZlcnRpY2FsIGFsaWdubWVudCBvciBmb250LWhlaWdodCBvZiB0aGUgZW1w
dHkgaW5saW5lLgogCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5j
cHA6CkBAIC0xMDI0MSw3ICsxMDI3Niw3IEBACiAgICAgICAgIE1ha2UgdXNlIG9mIG1fbWluRGVj
aWJlbCBjb25zaXN0ZW50LiAgQ2xlYW4gdXAgc29tZSBzdHlsZSBpc3N1ZXMKICAgICAgICAgd2l0
aCBuYW1lcyBvZiBsb2NhbCB2YXJpYWJsZXMgYW5kIHN0eWxlIGlzc3VlcyB3aXRoIGZsb2F0CiAg
ICAgICAgIGNvbnN0YW50cy4KLSAgICAgICAgCisKICAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMg
Um9nZXJzLgogCiAgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZSBjaGFuZ2VzIGFyZSBj
b3NtZXRpYyBmb3Igc3R5bGUgaXNzdWVzLgpAQCAtMTA2MjEsNyArMTA2NTYsNyBAQAogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxNzYKIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgotICAgICAgICAKKwogICAgICAgICBUaGUgbm9u
LXJhZGl1c2VkIGJvcmRlciBkcmF3aW5nIGNvZGUgd291bGQgdXNlIGEgdHJhbnNwYXJlbmN5IGxh
eWVyCiAgICAgICAgIHdoZW4gZHJhd2luZyBhbnkgb25lIG9yIG1vcmUgYm9yZGVycyB3aXRoIGFs
cGhhIGNvbG9ycy4gSG93ZXZlciwKICAgICAgICAgd2Ugb25seSBuZWVkIHRvIHVzZSBhIHRyYW5z
cGFyZW5jeSBsYXllciB3aGVuIHRoZXJlIGlzIGEgY29ybmVyCkBAIC0xMDk3MSw3ICsxMTAwNiw3
IEBACiAKIDIwMTItMDItMTYgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgogCi0g
ICAgICAgIEFkZCBFTkFCTEUoU1RZTEVfU0NPUEVEKSBhcm91bmQgSFRNTFN0eWxlRWxlbWVudDo6
bV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUgCisgICAgICAgIEFkZCBFTkFCTEUoU1RZTEVf
U0NPUEVEKSBhcm91bmQgSFRNTFN0eWxlRWxlbWVudDo6bV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGlu
Z05vZGUKIAogICAgICAgICBUaGUgaW5zdGFuY2UgdmFyaWFibGUgSFRNTFN0eWxlRWxlbWVudDo6
bV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUgaXMgb25seQogICAgICAgICByZWZlcmVuY2Vk
IGZyb20gd2l0aGluIEVOQUJMRShTVFlMRV9TQ09QRUQpLWd1YXJkZWQgY29kZS4gV2Ugc2hvdWxk
IGFkZCB0aGlzCkBAIC0xMTA1MSw4ICsxMTA4Niw4IEBACiAgICAgICAgIE5vIG5ldyB0ZXN0cy4K
IAogICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpudW1lcmljUHJlZml4KTogV2hlbiB3ZSBkb24ndCBwYXJzZSBhIG51bWJlciwgd2UgY291bGQg
ZWl0aGVyIGJlIAotICAgICAgICB0cnlpbmcgdG8gcGFyc2UganVuaywgd2hpY2ggcmV0dXJucyBO
YU4sIG9yIHdlIGNvdWxkIGdldCBhbiBlbXB0eSBzdHJpbmcsIAorICAgICAgICAoV2ViQ29yZTo6
bnVtZXJpY1ByZWZpeCk6IFdoZW4gd2UgZG9uJ3QgcGFyc2UgYSBudW1iZXIsIHdlIGNvdWxkIGVp
dGhlciBiZQorICAgICAgICB0cnlpbmcgdG8gcGFyc2UganVuaywgd2hpY2ggcmV0dXJucyBOYU4s
IG9yIHdlIGNvdWxkIGdldCBhbiBlbXB0eSBzdHJpbmcsCiAgICAgICAgIHdoaWNoIHJldHVybnMg
MCwgc28gd2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGF0IGluIHRoZSBhc3NlcnQuCiAKIDIwMTIt
MDItMTYgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KQEAgLTExMDYy
LDggKzExMDk3LDggQEAKICAgICAgICAgTm8gbmV3IHRlc3RzLgogCiAgICAgICAgICogZG9tL1Zp
ZXdwb3J0QXJndW1lbnRzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Om51bWVyaWNQcmVmaXgpOiBX
ZSBub3cgcmV0dXJuIE5hTiBpbnN0ZWFkIG9mIDAgd2hlbiB3ZSBmYWlsIHRvIAotICAgICAgICBw
YXJzZSBhIG51bWJlciB1c2luZyBjaGFyYWN0ZXJzVG9GbG9hdElnbm9yaW5nSnVuaywgc28gd2Ug
bmVlZCB0byBhc3NlcnQgdGhhdCAKKyAgICAgICAgKFdlYkNvcmU6Om51bWVyaWNQcmVmaXgpOiBX
ZSBub3cgcmV0dXJuIE5hTiBpbnN0ZWFkIG9mIDAgd2hlbiB3ZSBmYWlsIHRvCisgICAgICAgIHBh
cnNlIGEgbnVtYmVyIHVzaW5nIGNoYXJhY3RlcnNUb0Zsb2F0SWdub3JpbmdKdW5rLCBzbyB3ZSBu
ZWVkIHRvIGFzc2VydCB0aGF0CiAgICAgICAgIHdlIGhhdmUgTmFOIHJhdGhlciB0aGFuIDAuCiAK
IDIwMTItMDItMTYgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29nbGUuY29tPgpAQCAtMTEx
ODUsOCArMTEyMjAsOCBAQAogICAgICAgICBObyBuZXcgdGVzdHMuCiAKICAgICAgICAgKiBkb20v
Vmlld3BvcnRBcmd1bWVudHMuY3BwOgotICAgICAgICAoV2ViQ29yZTo6bnVtZXJpY1ByZWZpeCk6
IFdlIG5vdyByZXR1cm4gTmFOIGluc3RlYWQgb2YgMCB3aGVuIHdlIGZhaWwgdG8gCi0gICAgICAg
IHBhcnNlIGEgbnVtYmVyIHVzaW5nIGNoYXJhY3RlcnNUb0Zsb2F0SWdub3JpbmdKdW5rLCBzbyB3
ZSBuZWVkIHRvIGFzc2VydCB0aGF0IAorICAgICAgICAoV2ViQ29yZTo6bnVtZXJpY1ByZWZpeCk6
IFdlIG5vdyByZXR1cm4gTmFOIGluc3RlYWQgb2YgMCB3aGVuIHdlIGZhaWwgdG8KKyAgICAgICAg
cGFyc2UgYSBudW1iZXIgdXNpbmcgY2hhcmFjdGVyc1RvRmxvYXRJZ25vcmluZ0p1bmssIHNvIHdl
IG5lZWQgdG8gYXNzZXJ0IHRoYXQKICAgICAgICAgd2UgaGF2ZSBOYU4gcmF0aGVyIHRoYW4gMC4K
IAogMjAxMi0wMi0xNSAgTWljaGFlbCBOb3JkbWFuICA8bWljaGFlbG5AZ29vZ2xlLmNvbT4KQEAg
LTExMjA3LDcgKzExMjQyLDcgQEAKIAogICAgICAgICBUcmFuc2FjdGlvbnMgaW5pdGlhdGVkIG9u
IGEgZGF0YWJhc2UgaW5zdGFuY2UgdGhhdCBoYXMgYmVlbiBmb3JjaWJseQogICAgICAgICBjbG9z
ZWQgY29tcGxldGUgd2l0aCBhIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrLgotICAgICAgICAK
KwogICAgICAgICBUaGlzIGlzIHBhcnQgb2YgcmVzb2x2aW5nIGh0dHA6Ly9jcmJ1Zy5jb20vOTg5
MzkKIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KQEAgLTExMjQ1LDcgKzExMjgw
LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6Q2xvc2VPbmVEYXRhYmFz
ZUltbWVkaWF0ZWx5VGFzazo6Y3JlYXRlKToKICAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJh
Y2tlcjo6Q2xvc2VPbmVEYXRhYmFzZUltbWVkaWF0ZWx5VGFzazo6cGVyZm9ybVRhc2spOgogICAg
ICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpDbG9zZU9uZURhdGFiYXNlSW1tZWRpYXRl
bHlUYXNrOjpDbG9zZU9uZURhdGFiYXNlSW1tZWRpYXRlbHlUYXNrKToKLSAgICAgICAgKFdlYkNv
cmU6OkRhdGFiYXNlVHJhY2tlcjo6Y2xvc2VEYXRhYmFzZXNJbW1lZGlhdGVseSk6IAorICAgICAg
ICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpjbG9zZURhdGFiYXNlc0ltbWVkaWF0ZWx5KToK
ICAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6Y2xvc2VPbmVEYXRhYmFzZUltbWVk
aWF0ZWx5KToKIAogMjAxMi0wMi0xNiAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9y
Zz4KQEAgLTExMzkyLDcgKzExNDI3LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZm
ZXI6OnNldENhY2hlZEluc2V0U2hhZG93VmFsdWVzKTogRGl0dG8uCiAKICAgICAgICAgUmVzdHJ1
Y3R1cmUgdG8gdXNlIG5ldyBtZXRob2QgZGVzY3JpYmVkIGFib3ZlLgotICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93Qmx1cjo6ZHJhd1JlY3RTaGFkb3dXaXRob3V0VGlsaW5nKTogCisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dCbHVyOjpkcmF3UmVjdFNoYWRvd1dpdGhvdXRUaWxpbmcpOgogICAgICAg
ICAoV2ViQ29yZTo6U2hhZG93Qmx1cjo6ZHJhd0luc2V0U2hhZG93V2l0aG91dFRpbGluZyk6CiAg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dCbHVyOjpkcmF3SW5zZXRTaGFkb3dXaXRoVGlsaW5nKToK
ICAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0JsdXI6OmRyYXdSZWN0U2hhZG93V2l0aFRpbGluZyk6
CkBAIC0xMTQyNiwxMyArMTE0NjEsMTMgQEAKICAgICAgICAgKiBwbGF0Zm9ybS9GcmFjdGlvbmFs
TGF5b3V0VW5pdC5oOgogICAgICAgICAoV2ViQ29yZTo6RnJhY3Rpb25hbExheW91dFVuaXQ6OnNl
dFJhd1ZhbHVlKToKICAgICAgICAgQ29tcGFyZSBhZ2FpbnN0IGludCBtaW4vbWF4IGluc3RlYWQg
b2YganVzdCBtYXggd2l0aCBhYnMuCi0gICAgICAgIAorCiAgICAgICAgIChXZWJDb3JlOjpGcmFj
dGlvbmFsTGF5b3V0VW5pdDo6aXNJbkJvdW5kcyk6CiAgICAgICAgIEZpeCB0eXBlIG1pc21hdGNo
IHdhcm5pbmcuCi0gICAgICAgIAorCiAgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcj09KToKICAg
ICAgICAgRml4IHR5cG8uCi0gICAgICAgIAorCiAgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvciop
OgogICAgICAgICBVc2UgbG9uZyBsb25nIHZlcnNpb24gb2Ygc2V0UmF3VmFsdWUuCiAKQEAgLTEy
NDg3LDEzICsxMjUyMiwxMyBAQAogCiAgICAgICAgIFN0eWxlUHJvcGVydHlTZXQgc2hvdWxkIGJl
IGluZGVwZW5kZW50IG9mIGl0cyBjb250ZXh0IHNvIHRoYXQgdGhleSBjYW4gaW4gdGhlIGZ1dHVy
ZQogICAgICAgICBiZSBzaGFyZWQgYmV0d2VlbiBkb2N1bWVudHMuIFRoZSBjb250ZXh0IGludmFs
aWRhdGlvbiBjb2RlIHNob3VsZCBtb3ZlIHRvIHRoZSBDU1NPTSB3cmFwcGVyLgotICAgICAgICAK
LSAgICAgICAgUGFyZW50IHJ1bGUgYW5kIHBhcmVudCBlbGVtZW50IHBvaW50ZXJzIG1vdmUgdG8g
dGhlIENTU09NIHdyYXBwZXIgY2xhc3Nlcy4gCi0gICAgICAgIAorCisgICAgICAgIFBhcmVudCBy
dWxlIGFuZCBwYXJlbnQgZWxlbWVudCBwb2ludGVycyBtb3ZlIHRvIHRoZSBDU1NPTSB3cmFwcGVy
IGNsYXNzZXMuCisKICAgICAgICAgVGhlIHdyYXBwZXIgaXMgcmVzcG9uc2libGUgb2YgaW52YWxp
ZGF0aW5nIHRoZSBlbGVtZW50IG9yIGRvY3VtZW50IHN0eWxlIG9uIG11dGF0aW9uLgotICAgICAg
ICBJbiBjYXNlIG9mIGludGVybmFsIG11dGF0aW9uIG9mIHN0eWxlIGF0dHJpYnV0ZSwgU3R5bGVk
RWxlbWVudCB0YWtlcyBjYXJlIG9mIHRoZSAKKyAgICAgICAgSW4gY2FzZSBvZiBpbnRlcm5hbCBt
dXRhdGlvbiBvZiBzdHlsZSBhdHRyaWJ1dGUsIFN0eWxlZEVsZW1lbnQgdGFrZXMgY2FyZSBvZiB0
aGUKICAgICAgICAgaW52YWxpZGF0aW9uLgotICAgICAgICAKKwogICAgICAgICBUaGUgU3R5bGVQ
cm9wZXJ0eVNldCB3aWxsIHN0aWxsIGhhdmUgYSBwb2ludGVyIHRvIHRoZSBjb250ZXh0IHN0eWxl
c2hlZXQgc28gdGhlIHBhdGNoCiAgICAgICAgIGRvZXNuJ3QgYWN0dWFsbHkgcmVkdWNlIG1lbW9y
eSB1c2FnZS4gVGhhdCBwb2ludGVyIHdpbGwgYmUgZmFjdG9yZWQgb3V0IGxhdGVyLgogCkBAIC0x
MjcwOCw3ICsxMjc0Myw3IEBACiAgICAgICAgIERvIG5vdCB1cGRhdGUgdGhlIGNoaWxkIHZpZXdi
b3gvdmlld3BvcnQgdHJhbnNmb3JtIHRvIGl0cyBwYXJlbnQKICAgICAgICAgY29vcmRpbmF0ZSBz
eXN0ZW0gdW50aWwgYWZ0ZXIgbGF5b3V0IGhhcyBzdG9yZWQgdGhlIG9sZCBib3VuZHMgZm9yCiAg
ICAgICAgIHJlcGFpbnRpbmcgcHVycG9zZXMuCi0gICAgICAgIAorCiAgICAgICAgIFRlc3Q6IHN2
Zy9yZXBhaW50L2lubmVyLXN2Zy1jaGFuZ2Utdmlld0JveC1jb250cmFjdC5zdmcKIAogICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwOgpAQCAtMTI3
MzMsNyArMTI3NjgsNyBAQAogICAgICAgICBEbyBub3QgdXBkYXRlIHRoZSBjaGlsZCB2aWV3Ym94
L3ZpZXdwb3J0IHRyYW5zZm9ybSB0byBpdHMgcGFyZW50CiAgICAgICAgIGNvb3JkaW5hdGUgc3lz
dGVtIHVudGlsIGFmdGVyIGxheW91dCBoYXMgc3RvcmVkIHRoZSBvbGQgYm91bmRzIGZvcgogICAg
ICAgICByZXBhaW50aW5nIHB1cnBvc2VzLgotICAgICAgICAKKwogICAgICAgICBUZXN0OiBzdmcv
cmVwYWludC9pbm5lci1zdmctY2hhbmdlLXZpZXdCb3gtY29udHJhY3Quc3ZnCiAKICAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcDoKQEAgLTEyODI3
LDcgKzEyODYyLDcgQEAKICAgICAgICAgRG8gbm90IHVwZGF0ZSB0aGUgY2hpbGQgdmlld2JveC92
aWV3cG9ydCB0cmFuc2Zvcm0gdG8gaXRzIHBhcmVudAogICAgICAgICBjb29yZGluYXRlIHN5c3Rl
bSB1bnRpbCBhZnRlciBsYXlvdXQgaGFzIHN0b3JlZCB0aGUgb2xkIGJvdW5kcyBmb3IKICAgICAg
ICAgcmVwYWludGluZyBwdXJwb3Nlcy4KLSAgICAgICAgCisKICAgICAgICAgVGVzdDogc3ZnL3Jl
cGFpbnQvaW5uZXItc3ZnLWNoYW5nZS12aWV3Qm94LWNvbnRyYWN0LnN2ZwogCiAgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5jcHA6CkBAIC0xMjg5Nywx
MCArMTI5MzIsMTAgQEAKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNw
cDoKICAgICAgICAgKFdlYkNvcmU6OkZsb2F0UG9pbnQ6OkZsb2F0UG9pbnQpOgogICAgICAgICBB
ZGQgZXhwbGljaXQgRmxvYXRQb2ludChGcmFjdGlvbmFsTGF5b3V0UG9pbnQpIGNvbnN0cnVjdG9y
LgotICAgICAgICAKKwogICAgICAgICAoV2ViQ29yZTo6RmxvYXRQb2ludDo6bW92ZSk6CiAgICAg
ICAgIEFkZCBtb3ZlKEZyYWN0aW9uYWxMYXlvdXRTaXplKSBpbXBsZW1lbnRhdGlvbi4KLSAgICAg
ICAgCisKICAgICAgICAgKFdlYkNvcmU6OkZsb2F0UG9pbnQ6Om1vdmVCeSk6CiAgICAgICAgIEFk
ZCBtb3ZlQnkoRnJhY3Rpb25hbExheW91dFBvaW50KSBpbXBsZW1lbnRhdGlvbi4KIApAQCAtMTI5
MDgsNyArMTI5NDMsNyBAQAogICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5j
cHA6CiAgICAgICAgIChXZWJDb3JlOjpGbG9hdFJlY3Q6OkZsb2F0UmVjdCk6CiAgICAgICAgIEFk
ZCBleHBsaWNpdCBGbG9hdFJlY3RGcmFjdGlvbmFsTGF5b3V0UmVjdCkgY29uc3RydWN0b3IuCi0g
ICAgICAgIAorCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0Lmg6CiAgICAg
ICAgIChXZWJDb3JlKToKICAgICAgICAgKEZsb2F0UmVjdCk6CkBAIC0xMzI0NCw3ICsxMzI3OSw3
IEBACiAgICAgICAgIER1cmluZyB0aGUgcmVmYWN0b3Jpbmcgb2YgdGhlIFBhc3RlYm9hcmQgY2xh
c3Mgc29tZSBjb2RlIHdhcyBsb3N0LgogICAgICAgICBXaGVuIHBsYWNpbmcgYW4gTlNJbWFnZSBp
biB0aGUgTlNQYXN0ZWJvYXJkIGFzIE5TVElGRlBib2FyZFR5cGUsIHdlIG5lZWQKICAgICAgICAg
dG8gdXNlIHRoZSBpdHMgVElGRiByZXByZXNlbnRhdGlvbi4KLSAgICAgICAgCisKICAgICAgICAg
UmV2aWV3ZWQgYnkgQW5keSBFc3Rlcy4KIAogICAgICAgICAqIHBsYXRmb3JtL21hYy9QYXN0ZWJv
YXJkTWFjLm1tOgpAQCAtMTM0MzQsNyArMTM0NjksNyBAQAogICAgICAgICAoV2ViQ29yZTo6VGls
ZUNhY2hlOjpzZXRDb250ZW50c1NjYWxlKToKICAgICAgICAgVXBkYXRlIHRoZSBjb250ZW50cyBz
Y2FsZSBvZiBhbGwgdGhlIHRpbGVzIGFuZCB0aGVuIHJldmFsaWRhdGUgdGhlIHRpbGUgY2FjaGUg
c2luY2UgdGlsZXMKICAgICAgICAgbWlnaHQgaGF2ZSBjb21lIGFuZCBnb25lIGFzIGEgcmVzdWx0
IG9mIHNldHRpbmcgdGhlIGNvbnRlbnRzIHNjYWxlLgotICAgICAgICAKKwogICAgICAgICAoV2Vi
Q29yZTo6VGlsZUNhY2hlOjpjcmVhdGVUaWxlTGF5ZXIpOgogICAgICAgICBTZXQgdGhlIGNvbnRl
bnRzIHNjYWxlIG9mIHRoZSB0aWxlIGxheWVyLgogCkBAIC0xMzQ3MCw3ICsxMzUwNSw3IEBACiAg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6
CiAgICAgICAgIERpc3BhdGNoIHRoZSBldmVudCB0byB0aGUgc2Nyb2xsaW5nIHRocmVhZCwgdW5s
ZXNzIGl0IHdpbGwgc3RhcnQgYSBnZXN0dXJlLiBJbiB0aGF0IGNhc2Ugd2UnbGwgcmV0dXJuIGZh
bHNlCiAgICAgICAgIHNvIHRoYXQgaW5mb3JtYXRpb24gd2lsbCBiZSBwYXNzZWQgYmFjayB0byB0
aGUgVUkgcHJvY2Vzcy4KLSAgICAgICAgCisKICAgICAgICAgKFNjcm9sbGluZ0Nvb3JkaW5hdG9y
KToKICAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKICAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxWaWV3Lmg6CkBAIC0xMzU4NCw3ICsxMzYxOSw3IEBACiAgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCk6IENvbmZpZ3VyZSBuZXcgdGV4dCB0
cmFja3MgYmVmb3JlIHByZXBhcmluZyB0byBsb2FkCiAgICAgICAgICAgICBzbyB3ZSBrbm93IGFi
b3V0IGFsbCB0cmFja3Mgd2hlbiByZXNvdXJjZSBzZWxlY3Rpb24gYmVnaW5zLgogICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cHJlcGFyZUZvckxvYWQpOiBDYWxsIHVwZGF0ZUFj
dGl2ZVRleHRUcmFja0N1ZXMgYWZ0ZXIgc2V0dGluZwotICAgICAgICAgICAgdG8gbV9yZWFkeVN0
YXRlIGlzIEhBVkVfTk9USElORyBzbyBhbGwgY3VlcyBnZXQgZGVhY3RpdmF0ZWQuIERvbid0IGJ1
aWxkIGxpc3Qgb2YgCisgICAgICAgICAgICB0byBtX3JlYWR5U3RhdGUgaXMgSEFWRV9OT1RISU5H
IHNvIGFsbCBjdWVzIGdldCBkZWFjdGl2YXRlZC4gRG9uJ3QgYnVpbGQgbGlzdCBvZgogICAgICAg
ICAgICAgYXZhaWxhYmxlIHRleHQgdHJhY2tzIGJlY2F1c2UgcmVzb3VyY2Ugc2VsZWN0aW9uIHdv
bid0IGFjdHVhbGx5IHN0YXJ0IHVudGlsIGFmdGVyIHRoZSBsb2FkIHRpbWVyIGZpcmVzLgogICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bG9hZEludGVybmFsKTogQnVpbGQgbGlz
dCBvZiBub24tZGlzYWJsZWQgdHJhY2tzLgogICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6dXBkYXRlQWN0aXZlVGV4dFRyYWNrQ3Vlcyk6ICBDbGVhciB0aGUgYWN0aXZlIGZsYWcg
b24gYWxsIGN1ZXMKQEAgLTEzNTkyLDcgKzEzNjI3LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OnNldFJlYWR5U3RhdGUpOiBEb24ndCB1cGRhdGUgbV9yZWFkeVN0YXRl
IHdoZW4gdHJhY2tzIHdoaWNoIGhhdmVuJ3QKICAgICAgICAgICAgIGxvYWRlZCB5ZXQgd2lsbCBw
cmV2ZW50IGV2ZW50cyBmcm9tIGZpcmluZy4gQ2FsbCB1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVz
IHRvIGVuc3VyZSB0aGF0IHRoZQogICAgICAgICAgICAgZmlyc3QgY3VlKHMpIGFyZSBzaG93biBh
cyBzb29uIGFzIHBvc3NpYmxlLgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
dXNlckNhbmNlbGxlZExvYWQpOiBDYWxsIHVwZGF0ZUFjdGl2ZVRleHRUcmFja0N1ZXMgd2hlbiB3
aGVuIG1fcmVhZHlTdGF0ZSAKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnVz
ZXJDYW5jZWxsZWRMb2FkKTogQ2FsbCB1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzIHdoZW4gd2hl
biBtX3JlYWR5U3RhdGUKICAgICAgICAgICAgIGlzIEhBVkVfTk9USElORyBzbyBhbGwgY3VlcyBn
ZXQgZGVhY3RpdmF0ZWQuCiAKIDIwMTItMDItMTUgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFw
cGxlLmNvbT4KQEAgLTEzNzc4LDcgKzEzODEzLDcgQEAKICAgICAgICAgaW1wbGVtZW50YXRpb24g
dG8gd3JhcCB0aGUgcGl4ZWxzIGludG8gYSBRSW1hZ2UgYW5kIHJlbmRlciBpdAogICAgICAgICBp
bnRvIHRoZSBncmFwaGljcyBjb250ZXh0LCBqdXN0IGxpa2UgaXQncyBkb25lIGZvciB0aGUgb3Ro
ZXIgcG9ydHMuCiAKLSAgICAgICAgVGhpcyByZW1vdmVzIHRoZSBRR3JhcGhpY3NPYmplY3QgYmFz
ZWQgcGFpbnQsIHdoaWNoIGlzIGFuIG5vdyAKKyAgICAgICAgVGhpcyByZW1vdmVzIHRoZSBRR3Jh
cGhpY3NPYmplY3QgYmFzZWQgcGFpbnQsIHdoaWNoIGlzIGFuIG5vdwogICAgICAgICBvYnNvbGV0
ZSBtZXRob2Qgb2YgcmVuZGVyaW5nLgogCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0M0QuaDoKQEAgLTE0MDc3LDcgKzE0MTEyLDcgQEAKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjgzCiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgS2VudGFybyBIYXJhLgotICAgICAgICAKKwogICAgICAgICBBIGNvcHktbi1wYXN0ZSBk
aXNhc3Rlci4gVGhpcyBjaGFuZ2UgZml4ZWQgaXQgYnkgY2FsbGluZyBjb3JyZWN0IG1ldGhvZHMu
CiAKICAgICAgICAgTm8gbmV3IHRlc3RzLiBOZWVkcyBicm93c2VyIHNpZGUgbW9ja2luZyBmb3Ig
dGVzdGluZyB0aGlzLgpAQCAtMTQ0MDksOSArMTQ0NDQsOSBAQAogCiAgICAgICAgIFRvIG1ha2Ug
dGhpcyBlYXNpZXIgdGhlIHBhdGNoIGFsc28gcmVmYWN0b3JzIHRoZSBtYXRjaGVkIHByb3BlcnRp
ZXMgdmVjdG9yIHRvCiAgICAgICAgIGJlIHBhcnQgb2YgTWF0Y2hSZXN1bHQgb2JqZWN0IGluc3Rl
YWQgb2YgYSBtZW1iZXIgb2YgQ1NTU3R5bGVTZWxlY3Rvci4KLSAgICAgICAgCisKICAgICAgICAg
UmVuYW1lIERlY2xhcmF0aW9uIC0+IFByb3BlcnRpZXMuCi0gICAgICAgIAorCiAgICAgICAgICog
Y3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0
b3I6OmRpc3BhdGNoSW52YWxpZGF0aW9uQ2FsbGJhY2tzKToKICAgICAgICAgKiBjc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHA6CkBAIC0xNDUzMiw3ICsxNDU2Nyw3IEBACiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2FtIFdlaW5pZy4KIAotICAgICAgICBTY3JvbGxhYmxlQXJlYTo6aGFuZGxlR2VzdHVy
ZUV2ZW50IGVuZHMgdXAgYmVpbmcgYSBuby1vcCBzbyByZW1vdmUgaXQgYW5kIHRoZSByZWxhdGVk
IGNvZGUuIAorICAgICAgICBTY3JvbGxhYmxlQXJlYTo6aGFuZGxlR2VzdHVyZUV2ZW50IGVuZHMg
dXAgYmVpbmcgYSBuby1vcCBzbyByZW1vdmUgaXQgYW5kIHRoZSByZWxhdGVkIGNvZGUuCiAKICAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVudCk6CkBAIC0xNDc5Nyw3ICsxNDgzMiw3IEBACiAgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xheWVyKTogVXNlcyBh
IHBpeGVsIHNuYXBwZWQgcmVjdCBmb3IgdGhlIGRpcnR5IHJlY3QuCiAgICAgICAgIChXZWJDb3Jl
OjpwYWludFNjcm9sbGJhcik6IFNjcm9sbGJhcnMgYXJlIFdpZGdldHMgJiBwYWludGVkIG5hdGl2
ZWx5LCBzbyB0aGV5IHNob3VsZCB1c2UgaW50ZWdlcnMuCiAgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMpOiBXZSBub3cgcHJvcGVybHkgdGFrZSBpbiBh
biBpbnRlZ2VyIGNsaXAgcmVjdCwgYXMgaXQncwotICAgICAgICB1c2VkIGZvciB0aGUgc2Nyb2xs
YmFycy4gCisgICAgICAgIHVzZWQgZm9yIHRoZSBzY3JvbGxiYXJzLgogICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzdGFydEFuaW1hdGlvbik6IFVzaW5nIHBpeGVsIHNuYXBw
ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIGFuZCB0cmFuc2l0aW9ucy4KICAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6c3RhcnRUcmFuc2l0aW9uKTogRGl0dG8uCiAgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNvbXBvc2l0ZWRCb3VuZHMpOiBDb21wb3Np
dGVkIGJvdW5kcyBhcmUgbm93IHByb3Blcmx5IHN0b3JlZCBhcyBpbnRlZ2Vycy4KQEAgLTE1NjA4
LDcgKzE1NjQzLDcgQEAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc4NDQ2CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KLSAgICAgICAg
CisKICAgICAgICAgQWRkcyBjYWxjIGV4cHJlc3Npb25zIHRvIENTU1ByaW1pdGl2ZVZhbHVlLiBU
aGlzIGVuYWJsZXMgc2ltcGxlIChpZSBubyBtaXhpbmcgb2YKICAgICAgICAgcGVyY2VudHMgd2l0
aCBudW1iZXJzL2xlbmd0aHMpIGV4cHJlc3Npb25zIHRvIGJlIGV2YWx1YXRlZCBvbiBtb3N0IHBy
b3BlcnRpZXMuCiAKQEAgLTE1Nzg0LDcgKzE1ODE5LDcgQEAKIAogICAgICAgICAqIFdlYkNvcmUu
ZXhwLmluOiBSZW1vdmUgc2FtcGxlQW5pbWF0aW9uQXRUaW1lKCkgc3ltYm9scy4KICAgICAgICAg
KiBXZWJDb3JlLm9yZGVyOiBEaXR0by4KLSAgICAgICAgKiBzdmcvU1ZHQW5pbWF0aW9uRWxlbWVu
dC5jcHA6IEFkZCBhIGZsYWcgdG8gYmVnaW4vZW5kRWxlbWVudCwgU01JTFRpbWVXaXRoT3JpZ2lu
OjpTY3JpcHRPcmlnaW4sIHRvIGluZGljYXRlIHRoYXQgdGhlc2UgYXJlIGR5bmFtaWMgU01JTFRp
bWVzLCBhZGRlZCBieSBhIHNjcmlwdC4gCisgICAgICAgICogc3ZnL1NWR0FuaW1hdGlvbkVsZW1l
bnQuY3BwOiBBZGQgYSBmbGFnIHRvIGJlZ2luL2VuZEVsZW1lbnQsIFNNSUxUaW1lV2l0aE9yaWdp
bjo6U2NyaXB0T3JpZ2luLCB0byBpbmRpY2F0ZSB0aGF0IHRoZXNlIGFyZSBkeW5hbWljIFNNSUxU
aW1lcywgYWRkZWQgYnkgYSBzY3JpcHQuCiAgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25F
bGVtZW50OjpiZWdpbkVsZW1lbnRBdCk6CiAgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25F
bGVtZW50OjplbmRFbGVtZW50QXQpOgogICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lv
bnMuY3BwOiBSZW1vdmUgc2FtcGxlQW5pbWF0aW9uQXRUaW1lLgpAQCAtMTU4MTEsNyArMTU4NDYs
NyBAQAogICAgICAgICAoV2ViQ29yZTo6U1ZHU01JTEVsZW1lbnQ6OmFkZEVuZFRpbWUpOiBEaXR0
by4KICAgICAgICAgKFdlYkNvcmU6OmV4dHJhY3RUaW1lRnJvbVZlY3Rvcik6IERpdHRvLgogICAg
ICAgICAoV2ViQ29yZTo6U1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUpOiBEaXR0by4K
LSAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50Lmg6IAorICAgICAgICAqIHN2
Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuaDoKICAgICAgICAgKiBzdmcvc3ZndGFncy5pbjog
RW5hYmxlIGFuaW1hdGVNb3Rpb24vaGtlcm4vbXBhdGggSlMgaW50ZXJmYWNlcywgd2hpY2ggd2Vy
ZSBub3QgZW5hYmxlZCwgZGVzcGl0ZSB0aGVpciBJRExzIGV4aXN0ZWQuCiAKIDIwMTItMDItMTQg
IFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CkBAIC0xNjQ4MSw3ICsxNjUx
Niw3IEBACiAgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXM6OnBhc3RlYm9hcmRT
dHJhdGVneSk6IEFkZGVkLgogICAgICAgICAqIHBsYXRmb3JtL21hYy9EcmFnRGF0YU1hYy5tbToK
ICAgICAgICAgKFdlYkNvcmU6OkRyYWdEYXRhOjpjYW5TbWFydFJlcGxhY2UpOgotICAgICAgICAo
V2ViQ29yZTo6aW5zZXJ0YWJsZVBhc3RlYm9hcmRUeXBlcyk6IAorICAgICAgICAoV2ViQ29yZTo6
aW5zZXJ0YWJsZVBhc3RlYm9hcmRUeXBlcyk6CiAgICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6
YXNVUkwpOgogICAgICAgICAqIHBsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tOgogICAgICAg
ICAoV2ViQ29yZTo6c2VsZWN0aW9uUGFzdGVib2FyZFR5cGVzKTogQ2hhbmdlZCB0byB1c2UgVmVj
dG9yPFN0cmluZz4gaW5zdGVhZCBvZiBOU0FycmF5LgpAQCAtMTgxNTEsNyArMTgxODYsNyBAQAog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MTgKIAog
ICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgotICAgICAgICAKKwogICAgICAgICBJbnRy
b2R1Y2VkIHd0Zi9EYXRhTG9nLCB3aGljaCBkZWZpbmVzIFdURjo6ZGF0YUZpbGUsIFdURjo6ZGF0
YUxvZywKICAgICAgICAgYW5kIFdURjo6ZGF0YUxvZ1YuIENoYW5nZWQgYWxsIGRlYnVnZ2luZy0g
YW5kIHByb2ZpbGluZy1yZWxhdGVkIHByaW50ZnMKICAgICAgICAgdG8gdXNlIFdURjo6ZGF0YUxv
ZygpIG9yIG9uZSBvZiBpdHMgZnJpZW5kcy4gQnkgZGVmYXVsdCwgZGVidWcgbG9nZ2luZwpAQCAt
MTg3NTksMTMgKzE4Nzk0LDEzIEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03ODQwNgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcu
Ci0gICAgICAgIAorCiAgICAgICAgIE1vc3QgU3R5bGVQcm9wZXJ0eVNldCBpbnN0YW5jZXMgbmV2
ZXIgaGF2ZSBDU1NPTSB3cmFwcGVycyBzbyBoYXZpbmcgYSBwb2ludGVyIHRvIG9uZSBpbgogICAg
ICAgICBlYWNoIGFuZCBhbmQgZXZlcnkgb2JqZWN0IG1ha2VzIG5vIHNlbnNlLgogCiAgICAgICAg
IE1vdmUgdGhlIFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbiBpbnN0YW5jZXMgdG8gYSBn
bG9iYWwgSGFzaE1hcC4gVGhpcyBzaHJpbmtzCiAgICAgICAgIFN0eWxlUHJvcGVydHlTZXQgYnkg
YSBwb2ludGVyLgotICAgICAgICAKKwogICAgICAgICBBZGRlZCBDT01QSUxFX0FTU0VSVCBmb3Ig
U3R5bGVQcm9wZXJ0eVNldCBzaXplLgogCiAgICAgICAgICogY3NzL1N0eWxlUHJvcGVydHlTZXQu
Y3BwOgpAQCAtMTg4NjMsNyArMTg4OTgsNyBAQAogCiAgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZSk6Ci0gICAgICAgIElmIGl0J3Mg
YSBmcmFtZSB2aWV3IHdlJ3JlIGNvb3JkaW5hdGluZyBzY3JvbGxpbmcgZm9yLCB0ZWxsIHRoZSBz
Y3JvbGxpbmcgdHJlZSB0byB1cGRhdGUgCisgICAgICAgIElmIGl0J3MgYSBmcmFtZSB2aWV3IHdl
J3JlIGNvb3JkaW5hdGluZyBzY3JvbGxpbmcgZm9yLCB0ZWxsIHRoZSBzY3JvbGxpbmcgdHJlZSB0
byB1cGRhdGUKICAgICAgICAgdGhlIHNjcm9sbCBwb3NpdGlvbi4KIAogICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwOgpAQCAtMTg5MjgsNyArMTg5NjMsNyBAQAogCiAg
ICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIHBpeGVsU25hcHBlZEludFJlY3QgbWV0aG9k
IHRoYXQgd2lsbCBzbmFwIGEgc3ViLXBpeGVsIExheW91dFJlY3QgdG8KICAgICAgICAgcGl4ZWwg
Ym91bmRhcmllcy4gVGhlc2UgcGl4ZWwgc25hcHBlZCBmb3JtcyBhcmUgd2hhdCBpcyB1c2VkIHRv
IGNvbW11bmljYXRlIHdpdGggdGhlIGdyYXBoaWNzCi0gICAgICAgIGVuZ2luZSAodG8gcGFpbnQg
YXQgd2hvbGUgcGl4ZWwgYm91bmRhcmllcykgYW5kIHRoZSBlbWJlZGRpbmcgYXBwIChzbyB0aGV5
IGRvbid0IG5lZWQgdG8gCisgICAgICAgIGVuZ2luZSAodG8gcGFpbnQgYXQgd2hvbGUgcGl4ZWwg
Ym91bmRhcmllcykgYW5kIHRoZSBlbWJlZGRpbmcgYXBwIChzbyB0aGV5IGRvbid0IG5lZWQgdG8K
ICAgICAgICAgdW5kZXJzdGFuZCB3ZSdyZSB1c2luZyBzdWItcGl4ZWwgdW5pdHMpLgogCiAgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgpAQCAtMTkwMDYsNyArMTkw
NDEsNyBAQAogCiAgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIHBpeGVsU25hcHBlZElu
dFJlY3QgbWV0aG9kIHRoYXQgd2lsbCBzbmFwIGEgc3ViLXBpeGVsIExheW91dFJlY3QgdG8KICAg
ICAgICAgcGl4ZWwgYm91bmRhcmllcy4gVGhlc2UgcGl4ZWwgc25hcHBlZCBmb3JtcyBhcmUgd2hh
dCBpcyB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGdyYXBoaWNzCi0gICAgICAgIGVuZ2lu
ZSAodG8gcGFpbnQgYXQgd2hvbGUgcGl4ZWwgYm91bmRhcmllcykgYW5kIHRoZSBlbWJlZGRpbmcg
YXBwIChzbyB0aGV5IGRvbid0IG5lZWQgdG8gCisgICAgICAgIGVuZ2luZSAodG8gcGFpbnQgYXQg
d2hvbGUgcGl4ZWwgYm91bmRhcmllcykgYW5kIHRoZSBlbWJlZGRpbmcgYXBwIChzbyB0aGV5IGRv
bid0IG5lZWQgdG8KICAgICAgICAgdW5kZXJzdGFuZCB3ZSdyZSB1c2luZyBzdWItcGl4ZWwgdW5p
dHMpLgogCiAgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgpAQCAt
MTkxMDAsNyArMTkxMzUsNyBAQAogMjAxMi0wMi0xMCAgVmluZWV0IENoYXVkaGFyeSAgPHJnZjc0
OEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcyNzU2Ci0gICAgICAgIERPTUhUTUxFbGVtZW504oCZcyBhY2Nlc3NLZXkgcHJv
cGVydHkgaXMgZGVjbGFyZWQgYXMgYXZhaWxhYmxlIGluIFdlYktpdCB2ZXJzaW9uIHRoYXQgZGlk
buKAmXQgaGF2ZSBpdC4gCisgICAgICAgIERPTUhUTUxFbGVtZW504oCZcyBhY2Nlc3NLZXkgcHJv
cGVydHkgaXMgZGVjbGFyZWQgYXMgYXZhaWxhYmxlIGluIFdlYktpdCB2ZXJzaW9uIHRoYXQgZGlk
buKAmXQgaGF2ZSBpdC4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCiAK
QEAgLTE5MjExLDEwICsxOTI0NiwxMCBAQAogICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dT
aGVsbDo6Y3JlYXRlKToKICAgICAgICAgKEpTRE9NV2luZG93U2hlbGwpOgogICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOiBBZGRlZCBkZXN0cnVjdG9yIGJhY2sg
dG8gcm9vdCBKUyBET00gbm9kZXMgKGUuZy4gSlNOb2RlLCBldGMpCi0gICAgICAgIGJlY2F1c2Ug
dGhlaXIgZGVzdHJveSBmdW5jdGlvbnMgbmVlZCB0byBiZSBjYWxsZWQsIHNvIHdlIGRvbid0IHdh
bnQgdGhlIE5lZWRzRGVzdHJ1Y3RvciBzdHJ1Y3QgdG8gCisgICAgICAgIGJlY2F1c2UgdGhlaXIg
ZGVzdHJveSBmdW5jdGlvbnMgbmVlZCB0byBiZSBjYWxsZWQsIHNvIHdlIGRvbid0IHdhbnQgdGhl
IE5lZWRzRGVzdHJ1Y3RvciBzdHJ1Y3QgdG8KICAgICAgICAgdGhpbmsgdGhleSBkb24ndCBuZWVk
IGRlc3RydWN0aW9uIGR1ZSB0byBoYXZpbmcgZW1wdHkvdHJpdmlhbCBkZXN0cnVjdG9ycy4KLSAg
ICAgICAgUmVtb3ZlZCBBU1NFUlRfSEFTX1RSSVZJQUxfREVTVFJVQ1RPUiBmcm9tIGFsbCBKUyBE
T00gd3JhcHBlciBhdXRvLWdlbmVyYXRlZCBvYmplY3RzIGJlY2F1c2UgdGhlaXIgCi0gICAgICAg
IGFuY2VzdG9ycyBub3cgaGF2ZSBub24tdHJpdmlhbCBkZXN0cnVjdG9ycy4gCisgICAgICAgIFJl
bW92ZWQgQVNTRVJUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IgZnJvbSBhbGwgSlMgRE9NIHdyYXBw
ZXIgYXV0by1nZW5lcmF0ZWQgb2JqZWN0cyBiZWNhdXNlIHRoZWlyCisgICAgICAgIGFuY2VzdG9y
cyBub3cgaGF2ZSBub24tdHJpdmlhbCBkZXN0cnVjdG9ycy4KICAgICAgICAgKEdlbmVyYXRlSGVh
ZGVyKToKICAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgogICAgICAgICAoR2VuZXJh
dGVDb25zdHJ1Y3RvckRlZmluaXRpb24pOgpAQCAtMTkzMDMsNyArMTkzMzgsNyBAQAogICAgICAg
ICBpbnRlcmZhY2UgYnV0IHRoaXMgb25lIG1vcmUgc3RlcCBpbiB0aGUgZGlyZWN0aW9uIG9mIHJl
bW92aW5nIGFjY2VzcyB0byBOU1Bhc3RlYm9hcmQgZnJvbQogICAgICAgICB0aGUgV2ViUHJvY2Vz
cy4KICAgICAgICAgQXMgcGFydCBvZiB0aGUgcmVmYWN0b3JpbmcgdGhlIEkndmUgcmVkdWNlZCB0
byBhIG1pbmltdW0gdGhlIHVzZSBvZiBPQkotQyBjbGFzc2VzLgotICAgICAgICAKKwogICAgICAg
ICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCiAKICAgICAgICAgTm8gbmV3IHRlc3RzLiBO
byBjaGFuZ2UgaW4gYmVoYXZpb3IsIGp1c3QgY29kZSByZWZhY3RvcmluZy4KQEAgLTE5MzIwLDcg
KzE5MzU1LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llczo6cGFzdGVi
b2FyZFN0cmF0ZWd5KTogQWRkZWQuCiAgICAgICAgICogcGxhdGZvcm0vbWFjL0RyYWdEYXRhTWFj
Lm1tOgogICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OmNhblNtYXJ0UmVwbGFjZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjppbnNlcnRhYmxlUGFzdGVib2FyZFR5cGVzKTogCisgICAgICAgIChXZWJD
b3JlOjppbnNlcnRhYmxlUGFzdGVib2FyZFR5cGVzKToKICAgICAgICAgKFdlYkNvcmU6OkRyYWdE
YXRhOjphc1VSTCk6CiAgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW06CiAg
ICAgICAgIChXZWJDb3JlOjpzZWxlY3Rpb25QYXN0ZWJvYXJkVHlwZXMpOiBDaGFuZ2VkIHRvIHVz
ZSBWZWN0b3I8U3RyaW5nPiBpbnN0ZWFkIG9mIE5TQXJyYXkuCkBAIC0xOTQ1Miw3ICsxOTQ4Nyw3
IEBACiAgICAgICAgIHRvIEdyYXBoaWNzTGF5ZXJDQSB0byBiZSBhYmxlIHRvIGNvbnN0cnVjdCBh
IGtleVBhdGggYW5pbWF0aW9uCiAgICAgICAgIGZvciBlYWNoIGZpbHRlciBwcm9wZXJ0eS4gU29t
ZSBmaWx0ZXJzIG5lZWQgdG8gYW5pbWF0ZSBtdWx0aXBsZQogICAgICAgICBwcm9wZXJ0aWVzIHBl
ciBmaWx0ZXIsIHNvIFBsYXRmb3JtQ0FBbmltYXRpb24gYWxzbyByZXR1cm5zIHRoZSBudW1iZXIK
LSAgICAgICAgb2YgcHJvcGVydGllcyBwZXIgZmlsdGVyIGFuZCB0aGVuIGFuIGFuaW1hdGlvbiBp
cyBjb25zdHJ1Y3RlZCBmb3IgCisgICAgICAgIG9mIHByb3BlcnRpZXMgcGVyIGZpbHRlciBhbmQg
dGhlbiBhbiBhbmltYXRpb24gaXMgY29uc3RydWN0ZWQgZm9yCiAgICAgICAgIGVhY2ggb25lLiBB
bHNvIGFkZGVkIGFsbCB0aGUgc3VwcG9ydCBsb2dpYyB0byBoYW5kbGUgaGFyZHdhcmUgZmlsdGVy
CiAgICAgICAgIGFuaW1hdGlvbiBpbiB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljLCBqdXN0IGxpa2Ug
d2UgZG8gZm9yIHRyYW5zZm9ybXMgYW5kCiAgICAgICAgIG9wYWNpdHkuCkBAIC0xOTgzNSw3ICsx
OTg3MCw3IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03ODMzNgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnRhcm8gSGFyYS4KLSAgICAgICAgCisK
ICAgICAgICAgSW4gYW4gSURMIGZvciBhbiBpbnRlcmZhY2UgdGhhdCBkZWNsYXJlcyBubyBmdW5j
dGlvbnMsIGJ1dCBoYXMKICAgICAgICAgYXR0cmlidXRlcyB3aXRoIFtDYWNoZWRBdHRyaWJ1dGVd
LCB0aGUgaW1wbGVtZW50YXRpb24gb2YgdmlzaXRDaGlsZHJlbigpCiAgICAgICAgIGlzIG5vdCBn
ZW5lcmF0ZWQgYnkgdGhlIEpTQyBjb2RlIGdlbmVyYXRvci4KQEAgLTIwMzI5LDcgKzIwMzY0LDcg
QEAKIAogICAgICAgICBXaGVuIHdlIGhhdmUgc2xvdyByZXBhaW50IG9iamVjdHMgKGJhY2tncm91
bmQtYXR0YWNobWVudDogZml4ZWQpLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUKICAgICAgICAgc2Ny
b2xsIGxheWVyIHBvc2l0aW9uIG9uIHRoZSBtYWluIHRocmVhZCwgb3RoZXJ3aXNlIHRoZSB3ZWIg
cGFnZSB3aWxsIGFwcGVhciB0byBqaWdnbGUuCi0gICAgCisKICAgICAgICAgKiBwYWdlL0ZyYW1l
Vmlldy5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkZFNsb3dSZXBhaW50T2Jq
ZWN0KToKICAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVtb3ZlU2xvd1JlcGFpbnRPYmpl
Y3QpOgpAQCAtMjAzNjksNyArMjA0MDQsNyBAQAogICAgICAgICBBc3NlcnQgdGhhdCB3ZSdyZSBu
b3Qgc3VwcG9zZWQgdG8gdXBkYXRlIHRoZSBzY3JvbGwgbGF5ZXIgcG9zaXRpb24gb24gdGhlIG1h
aW4gdGhyZWFkLgogCiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZU1hYzo6c2Ny
b2xsQnkpOgotICAgICAgICBJZiB3ZSdyZSBzdXBwb3NlZCB0byB1cGRhdGUgdGhlIHNjcm9sbCBs
YXllciBwb3NpdGlvbiBvbiB0aGUgbWFpbiB0aHJlYWQsIAorICAgICAgICBJZiB3ZSdyZSBzdXBw
b3NlZCB0byB1cGRhdGUgdGhlIHNjcm9sbCBsYXllciBwb3NpdGlvbiBvbiB0aGUgbWFpbiB0aHJl
YWQsCiAgICAgICAgIGNhbGwgU2Nyb2xsaW5nVHJlZTo6dXBkYXRlTWFpbkZyYW1lU2Nyb2xsUG9z
aXRpb25BbmRTY3JvbGxMYXllclBvc2l0aW9uLgogCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHA6CkBAIC0yMDM5OSw3ICsyMDQzNCw3IEBACiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KIAotICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgaXMg
cHVyZWx5IGEgcmVmYWN0b3IuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4gCisgICAgICAgIE5vIG5l
dyB0ZXN0cy4gVGhpcyBpcyBwdXJlbHkgYSByZWZhY3Rvci4gTm8gY2hhbmdlIGluIGJlaGF2aW9y
LgogCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKICAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRGbGV4SXRlbXMpOgpAQCAtMjA5MDAs
NyArMjA5MzUsNyBAQAogMjAxMi0wMi0wOSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+
CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjU2
Ci0gICAgICAgIAorCiAgICAgICAgIFJlbmFtZSBsaW5lLWdyaWQtc25hcCB0byBsaW5lLXNuYXAg
c28gdGhhdCBpdCBtYXRjaGVzIHRoZSBkcmFmdCBwcm9wb3NhbCBmb3IgdGhlCiAgICAgICAgIHBy
b3BlcnR5LgogCkBAIC0yMTA5Niw3ICsyMTEzMSw3IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE4MAogCiAgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgU2VpZGVsLgotICAgICAgICAKKwogICAgICAgICBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9k
ZSgpKSBpcyBkb25lIGluIG1ldGhvZHMgaW4gUmVuZGVyTWF0aE1MRmVuY2VkLmNwcCBhbmQgYSBm
ZXcKICAgICAgICAgb3RoZXIgZmlsZXMuIEl0IGlzIG1vcmUgdHlwZS1zYWZlIGlmIHRoZSBSZW5k
ZXJNYXRoTUxGZW5jZWQoKSBvciBvdGhlciBjb25zdHJ1Y3RvciBvbmx5CiAgICAgICAgIGFjY2Vw
dHMgYW4gRWxlbWVudCosIG5vdCBhIE5vZGUqLiBBbHNvIGEgY291cGxlIGZ1bmN0aW9ucyB3ZXJl
IGNoYW5nZWQgdG8gcmV0dXJuIGEKQEAgLTIyOTAzLDcgKzIyOTM4LDcgQEAKIDIwMTItMDItMDgg
IERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE1NwotICAgICAgICAKKwogICAgICAgICBNYWtl
IG11bHRpLWNvbHVtbiBsYXlvdXQgd29yayB3aXRoIGxpbmUgZ3JpZHMgdGhhdCBhcmUgb3V0c2lk
ZSBvZiB0aGUgbXVsdGktY29sdW1uCiAgICAgICAgIGJsb2NrLgogCkBAIC0yMzQ1Niw3ICsyMzQ5
MSw3IEBACiAyMDEyLTAyLTA4ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMjIKLSAgICAg
ICAgCisKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHRoZSAiY29udGFpbnMiIHZhbHVlIGZvciBs
aW5lLWdyaWQtc25hcC4gVGhpcyB2YWx1ZSBjZW50ZXJzIHRoZSBsaW5lIGJveCBpbiBiZXR3ZWVu
IHRoZQogICAgICAgICB0ZXh0LXRvcCBhbmQgdGV4dC1ib3R0b20gb2YgdGhlIG1pbmltdW0gbnVt
YmVyIG9mIGdyaWQgbGluZXMgdGhhdCBlbmNsb3NlIHRoZSBsaW5lIGJveC4gVGhpcyBpcyB1c2Vm
dWwgZm9yCiAgICAgICAgIGNlbnRlcmluZyBoZWFkZXJzIGluIGEgbGluZSBncmlkLgpAQCAtMjQ1
NTEsNyArMjQ1ODYsNyBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzgwMzQKIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KLSAgICAg
ICAgCisKICAgICAgICAgUGVyIERhcmluIEFkbGVyLCBJIGFtIGJyZWFraW5nIHVwIHRoZSBwYXRj
aCBmaXhpbmcgYnVnIDUyNDQ0IGludG8gc21hbGxlciBwaWVjZXMuCiAgICAgICAgIFRoaXMgcGF0
Y2ggcmVtb3ZlcyBhIGNvdXBsZSB1bnVzZWQgZnVuY3Rpb25zLCBzb21lIGV4dHJhIGJsYW5rIGxp
bmVzLCB1bnVzZWQgI2luY2x1ZGUKICAgICAgICAgZGlyZWN0aXZlcywgZXRjLiwgYW5kIGFkZHMg
YSB2ZXJ5IGZldyBXZWJLaXQtc3RhbmRhcmQgY2hhbmdlcyB0byB0aGVzZSBmaWxlcy4KQEAgLTI0
ODk5LDcgKzI0OTM0LDcgQEAKIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzc5MTIKICAgICAgICAgUmVtb3Zpbmcgb2xkIENHIHNoYWRvdyBjb2RlLgot
ICAgICAgICAKKwogICAgICAgICBBIENHLXNwZWNpZmljIHNoYWRvdyBvZmZzZXQgaGFjayB3YXMg
YWRkZWQgaW4gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMzQzMTcKICAgICAgICAg
Zm9yIHRoaXMgcGFydGljdWxhciBzZXRTaGFkb3cgbWV0aG9kLiBIb3dldmVyLCB0aGlzIHNoYWRv
dyBvZmZzZXQgYWRqdXN0bWVudCBmb3IgQ0cKICAgICAgICAgaGFzIHNpbmNlIG1vdmVkIGRvd24g
aW50byBwbGF0Zm9ybSBzcGVjaWZpYyBjb2RlLiBUaHVzLCB0aGlzIG9mZnNldCBhZGp1c3RtZW50
IGhlcmUKQEAgLTI0OTUxLDcgKzI0OTg2LDcgQEAKIAogICAgICAgICBBc3NvY2lhdGUgdGhlIGNy
ZWRlbnRpYWwgd2l0aCB0aGUgVVJMIG9mIHRoZSBjaGFsbGVuZ2UgaXRzZWxmLCBub3QgdGhlIG9y
aWdpbmFsIHJlcXVlc3Q6CiAgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhh
bmRsZUNGTmV0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkaWRSZWNl
aXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOiAKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
SGFuZGxlOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOgogICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VIYW5kbGU6OnJlY2VpdmVkQ3JlZGVudGlhbCk6CiAgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW06CiAgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUhhbmRsZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKQEAg
LTI1NTk3LDcgKzI1NjMyLDcgQEAKICAgICAgICAgMS4gcmVuYW1lIGNsaWVudElzT2sgdG8gaXND
bGllbnRBdmFpbGFibGUuCiAgICAgICAgIDIuIG1faXNSdW5uaW5nIGlzIG9ubHkgZm9yIGFuIEFT
U0VSVCBpbiBOZXRXb3JrTWFuYWdlciwgU28gbW92ZSBvdXQgZnJvbQogICAgICAgICByZWxlYXNl
IGJ1aWxkIGJ1dCBrZWVwIGF2YWlsYWJsZSBpbiBkZWJ1ZyBidWlsZC4KLSAgICAgICAgCisKICAg
ICAgICAgTm8gY2hhbmdlcyBpbiBiZWhhdmlvciwgc28gbm8gbmV3IHRlc3RzLgogCiAgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwOgpAQCAtMjYyMjMs
NyArMjYyNTgsNyBAQAogCiAyMDEyLTAyLTA2ICBZb25nc2hlbmcgWmh1ICA8eW9uZ3NoZW5nLnpo
dUBpbnRlbC5jb20+CiAKLSAgICAgICAgV2ViR0wgbXVzdCBhbGxvY2F0ZSBzbWFsbGVyIGRyYXdp
bmcgYnVmZmVyIHdoZW4gdGhlIGFsbG9jYXRpb24gZmFpbHMuIAorICAgICAgICBXZWJHTCBtdXN0
IGFsbG9jYXRlIHNtYWxsZXIgZHJhd2luZyBidWZmZXIgd2hlbiB0aGUgYWxsb2NhdGlvbiBmYWls
cy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjU0
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpAQCAtMjY1MTUsNyArMjY1
NTAsNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCiAKLSAgICAgICAgQ2hh
bmdlZCBmcm9tIFBhc3NSZWZQdHIoKS5sZWFrUmVmKCkgdG8gUmVmUHRyLmdldCgpIHdoZW4gCisg
ICAgICAgIENoYW5nZWQgZnJvbSBQYXNzUmVmUHRyKCkubGVha1JlZigpIHRvIFJlZlB0ci5nZXQo
KSB3aGVuCiAgICAgICAgIGNhbGxpbmcgaW50byBGcmFtZUxvYWRlckNsaWVudCB0byBzdG9wICsx
IGV4dHJhIHJlZi4KIAogICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKQEAgLTI2NTQ2LDcg
KzI2NTgxLDcgQEAKIAogICAgICAgICBSZWZhY3RvciBNYWMgcGxhdGZvcm0gaW1wbGVtZW50YXRp
b24gb2YgdGhlIFBhc3RlYm9hcmQgY2xhc3MuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzU2NwotICAgICAgICAKKwogICAgICAgICBUaGUgZ29hbCBv
ZiB0aGlzIGNoYW5nZSBpcyB0byByZW1vdmUgdGhlIG1ham9yaXR5IG9mIHRoZSBtZXRob2RzIGlu
CiAgICAgICAgIHRoZSBjbGFzcyBpbnRlcmZhY2UgdGhhdCBhcmUgTWFjIHNwZWNpZmljLgogICAg
ICAgICB3cml0ZVNlbGVjdGlvbkZvclR5cGVzIGhhcyBiZWVuIGxlZnQgdG8gc3VwcG9ydCBPUyBY
IHNlcnZpY2VzLgpAQCAtMjY4NTMsNyArMjY4ODgsNyBAQAogICAgICAgICBVc2luZyBuZXcgbWV0
aG9kIG5hbWUuCiAgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmNwcDoKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHA6Ci0gICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHA6ICAgICAgICAKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKICAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3BwOgogICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVEcm9wU2hhZG93LmNwcDoKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHA6CkBAIC0yNzIyNSw3ICsyNzI2MCw3IEBACiAg
ICAgICAgIFJldmlld2VkIGJ5IFJvYiBCdWlzLgogCiAgICAgICAgIElmIHVzZXIgdHlwZWQgYSBu
b24tc3VwcG9ydGVkICJhYm91dDoiIHNjaGVtZSBzdWNoIGFzICJhYm91dDpub25zdXBwb3J0IiwK
LSAgICAgICAgdGhlIGxvYWRBYm91dFVSTCgpIGZ1bmN0aW9uIGluIE5ldHdvcmtNYW5nZXIgc2hv
dWxkIHJlY29nbml6ZSBhbmQgaGFuZGxlIGl0IGFzIAorICAgICAgICB0aGUgbG9hZEFib3V0VVJM
KCkgZnVuY3Rpb24gaW4gTmV0d29ya01hbmdlciBzaG91bGQgcmVjb2duaXplIGFuZCBoYW5kbGUg
aXQgYXMKICAgICAgICAgYW4gZXJyb3Igb2YgaW52YWxpZCB1cmwuCiAKICAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CkBAIC0yNzM0MSw3ICsyNzM3
Niw3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KIAotICAgICAgICBO
byBuZXcgdGVzdHMuIAorICAgICAgICBObyBuZXcgdGVzdHMuCiAKICAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpO
ZXR3b3JrSm9iOjpzZW5kUmVzcG9uc2VJZk5lZWRlZCk6CkBAIC0yODY5OSwxNCArMjg3MzQsMTQg
QEAKIDIwMTItMDItMDQgIFN3YXBuYSBQICA8c3BvdHRhYmF0aGluaUBpbm5vbWluZHMuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCi0gICAgICAgIAorCiAgICAgICAg
IEJ1ZzogaWZyYW1lIHdpdGggc2Nyb2xsaW5nPW5vIGluY29ycmVjdGx5IGF1dG9zY3JvbGxhYmxl
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU1OAot
ICAgICAgICAKKwogICAgICAgICBBZGRlZCBjaGVjayBmb3IgZnJhbWUgc2Nyb2xsaW5nIG1vZGUg
anVzdCBiZWZvcmUgYXBwbHlpbmcgc2Nyb2xsIG9uIGZyYW1lIGNvbnRlbnQgaW4gZnVuY3Rpb24g
UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3QKLSAgICAgICAgCisKICAgICAgICAgVGVzdGNhc2U6IExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2F1dG9zY3JvbGwtd2l0aC1ub24tc2Nyb2xsYWJsZS1wYXJl
bnQuaHRtbAotICAgICAgICAKKwogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6
CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6CiAK
QEAgLTI4NzM0LDE2ICsyODc2OSwxNiBAQAogMjAxMi0wMi0wMyAgQmV0aCBEYWtpbiAgPGJkYWtp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc3NzgyCi0gICAgICAgIFdlYlBhZ2VQcm94eTo6ZGlkTmV3Rmlyc3RWaXN1YWxseU5v
bkVtcHR5TGF5b3V0IHNob3VsZCBpcyBjYWxsZWQgbW9yZSB0aGFuIAorICAgICAgICBXZWJQYWdl
UHJveHk6OmRpZE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dCBzaG91bGQgaXMgY2FsbGVk
IG1vcmUgdGhhbgogICAgICAgICBvbmNlIG9uIHNvbWUgcGFnZXMgd2l0aCBmcmFtZXMKICAgICAg
ICAgLWFuZCBjb3JyZXNwb25kaW5nLQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA3OTg0NzQ+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KIAotICAgICAgICBzdGFydENvdW50
aW5nUmVsZXZhbnRSZXBhaW50ZWRPYmplY3RzKCkgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGZvciB0
aGUgbWFpbiAKLSAgICAgICAgZnJhbWUuIE90aGVyd2lzZSwgdGhlIGNvdW50ZXIgd2lsbCBiZSBy
ZS1zZXQgaW5hcHByb3ByaWF0ZWx5LCBhbmQgCi0gICAgICAgIGRpZE5ld0ZpcnN0VmlzdWFsbHlO
b25FbXB0eUxheW91dCBtYXkgZXZlbiBlbmQgdXAgZmlyaW5nIG1vcmUgdGhhbiBvbmNlLiAKKyAg
ICAgICAgc3RhcnRDb3VudGluZ1JlbGV2YW50UmVwYWludGVkT2JqZWN0cygpIHNob3VsZCBvbmx5
IGJlIGNhbGxlZCBmb3IgdGhlIG1haW4KKyAgICAgICAgZnJhbWUuIE90aGVyd2lzZSwgdGhlIGNv
dW50ZXIgd2lsbCBiZSByZS1zZXQgaW5hcHByb3ByaWF0ZWx5LCBhbmQKKyAgICAgICAgZGlkTmV3
Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0IG1heSBldmVuIGVuZCB1cCBmaXJpbmcgbW9yZSB0
aGFuIG9uY2UuCiAgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgogICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKToKIApAQCAtMjkwNzQsNyArMjkx
MDksNyBAQAogCiAyMDEyLTAyLTAzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAotICAgICAgICBSZW5hbWUgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaC8uY3BwIHRvIFN0
eWxlUHJvcGVydHlTZXQuaC8uY3BwIAorICAgICAgICBSZW5hbWUgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb24uaC8uY3BwIHRvIFN0eWxlUHJvcGVydHlTZXQuaC8uY3BwCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc3OQogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgpAQCAtMjkyMzksMTIgKzI5Mjc0LDEyIEBACiAyMDEyLTAyLTAz
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NDAKLSAgICAgICAgU3BsaXQgQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24gaW50byBzZXBhcmF0ZSBpbnRlcm5hbCBhbmQgQ1NTT00gdHlw
ZXMgCisgICAgICAgIFNwbGl0IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uIGludG8gc2VwYXJh
dGUgaW50ZXJuYWwgYW5kIENTU09NIHR5cGVzCiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVh
cyBLbGluZyBhbmQgRGFyaW4gQWRsZXIuCiAKICAgICAgICAgU3BsaXQgdGhlIENTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uIGludG8gYW4gaW50ZXJuYWwgdHlwZSAoU3R5bGVQcm9wZXJ0eVNldCkg
YW5kIGEgQ1NTT00gaW1wbGVtZW50YXRpb24gdHlwZSAoUHJvcGVydHlTZXRDU1NTdHlsZURlY2xh
cmF0aW9uKS4KLSAgICAgICAgCisKICAgICAgICAgVG8ga2VlcCB0aGluZ3Mgc29tZXdoYXQgbWFu
YWdlYWJsZSwgdGhpcyBwYXRjaCBkb2VzIE5PVAogCiAgICAgICAgIC0gcmVuYW1lIG9yIGFkZCBh
bnkgZmlsZXMgKHNvIGZpbGVzIG5hbWVzIHdvbid0IG1hdGNoIHR5cGVzKQpAQCAtMjk1OTAsMTIg
KzI5NjI1LDEyIEBACiAyMDEyLTAyLTAzICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4K
IAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTEK
LSAgICAgICAgRml4IFBsYXRmb3JtU2NyZWVuIGxheWVyaW5nIHZpb2xhdGlvbiBhbmQgUGxhdGZv
cm1TY3JlZW5NYWMncyBpbmNvcnJlY3QgdXNlIAorICAgICAgICBGaXggUGxhdGZvcm1TY3JlZW4g
bGF5ZXJpbmcgdmlvbGF0aW9uIGFuZCBQbGF0Zm9ybVNjcmVlbk1hYydzIGluY29ycmVjdCB1c2UK
ICAgICAgICAgb2YgZGV2aWNlIHNjYWxlCiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5keSBFc3Rl
cy4KIAotICAgICAgICBNYWtlIHNjcmVlbkF2YWlsYWJsZVJlY3QoKSBhbmQgc2NyZWVuUmVjdCgp
IHRha2UgYSBXaWRnZXQgYWdhaW4gaW5zdGVhZCBvZiBhIAorICAgICAgICBNYWtlIHNjcmVlbkF2
YWlsYWJsZVJlY3QoKSBhbmQgc2NyZWVuUmVjdCgpIHRha2UgYSBXaWRnZXQgYWdhaW4gaW5zdGVh
ZCBvZiBhCiAgICAgICAgIEZyYW1lVmlldyBzaW5jZSB0YWtpbmcgYSBGcmFtZVZpZXcgaXMgYSBs
YXllcmluZyB2aW9sYXRpb24uCiAgICAgICAgICogV2ViQ29yZS5leHAuaW46CiAgICAgICAgICog
cGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaDoKQEAgLTI5NjI1LDcgKzI5NjYwLDcgQEAKICAgICAg
ICAgKFdlYkNvcmU6OnNjcmVlblJlY3QpOgogICAgICAgICAoV2ViQ29yZTo6c2NyZWVuQXZhaWxh
YmxlUmVjdCk6CiAKLSAgICAgICAgSXQncyB3cm9uZyBmb3IgdGhlIGRldmljZVNjYWxlRmFjdG9y
IHRvIGJlIHRha2VuIGludG8gY29uc2lkZXJhdGlvbiBoZXJlIGF0IAorICAgICAgICBJdCdzIHdy
b25nIGZvciB0aGUgZGV2aWNlU2NhbGVGYWN0b3IgdG8gYmUgdGFrZW4gaW50byBjb25zaWRlcmF0
aW9uIGhlcmUgYXQKICAgICAgICAgYWxsLgogICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF0Zm9y
bVNjcmVlbk1hYy5tbToKICAgICAgICAgKFdlYkNvcmU6OnNjcmVlblJlY3QpOgpAQCAtMzA5NTMs
NyArMzA5ODgsNyBAQAogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6aW52YWxpZGF0
ZSk6CiAgICAgICAgIE51bGwgb3V0IHRoZSBzY3JvbGxpbmcgY29vcmRpbmF0b3IsIGJyZWFraW5n
IHRoZSByZWZlcmVuY2UgY3ljbGUgYmV0d2VlbiB0aGUgc2Nyb2xsaW5nCiAgICAgICAgIGNvb3Jk
aW5hdG9yIGFuZCB0aGUgc2Nyb2xsaW5nIHRyZWUuCi0gICAgCisKICAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmg6IEFkZGVkLgogCiAyMDEyLTAyLTAyICBUaW0gRHJlc3Nl
ciAgPHRkcmVzc2VyQGNocm9taXVtLm9yZz4KQEAgLTMxMjY4LDcgKzMxMzAzLDcgQEAKICAgICAg
ICAgKiB3ZWJhdWRpby9BdWRpb1Bhbm5lck5vZGUuaDoKICAgICAgICAgKEF1ZGlvUGFubmVyTm9k
ZSk6IFVwZGF0ZSBkZWNsYXJhdGlvbgogICAgICAgICAqIHdlYmF1ZGlvL0F1ZGlvUGFubmVyTm9k
ZS5pZGw6IFNldHRpbmcgcGFubmVyIG1vZGVsIGNhbiB0aHJvdwotICAgICAgICBleGNlcHRpb24u
IAorICAgICAgICBleGNlcHRpb24uCiAKIDIwMTItMDItMDIgIEtlbnRhcm8gSGFyYSAgPGhhcmFr
ZW5AY2hyb21pdW0ub3JnPgogCkBAIC0zMTMyNSw3ICszMTM2MCw3IEBACiAKIDIwMTItMDItMDIg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCi0gICAgICAgIE1vdmUgcmVtYWlu
aW5nIGltcGxlbWVudGF0aW9uIGZyb20gQ1NTU3R5bGVEZWNsYXJhdGlvbiB0byBzdWJjbGFzc2Vz
IAorICAgICAgICBNb3ZlIHJlbWFpbmluZyBpbXBsZW1lbnRhdGlvbiBmcm9tIENTU1N0eWxlRGVj
bGFyYXRpb24gdG8gc3ViY2xhc3NlcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Nzc2MjEKIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5n
LgpAQCAtMzEzNjYsNyArMzE0MDEsNyBAQAogICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNs
YXJhdGlvbjo6Q1NTU3R5bGVEZWNsYXJhdGlvbik6CiAgICAgICAgICogY3NzL0NTU1N0eWxlUnVs
ZS5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVJ1bGU6OnNldFNlbGVjdG9yVGV4dCk6
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgIEVsaW1pbmF0ZSB1
bm5lY2Vzc2FyeSBjYWxsIHRvIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpwYXJlbnRTdHls
ZVNoZWV0KCkKIAogICAgICAgICAqIGNzcy9DU1NTdHlsZVJ1bGUuaDoKQEAgLTMxMzgyLDkgKzMx
NDE3LDkgQEAKICAgICAgICAgKFdlYkNvcmU6OlBhZ2VTZXJpYWxpemVyOjpyZXRyaWV2ZVJlc291
cmNlc0ZvckNTU1J1bGUpOgogICAgICAgICAoV2ViQ29yZTo6UGFnZVNlcmlhbGl6ZXI6OnJldHJp
ZXZlUmVzb3VyY2VzRm9yQ1NTRGVjbGFyYXRpb24pOgogICAgICAgICAqIHBhZ2UvUGFnZVNlcmlh
bGl6ZXIuaDoKLSAgICAgICAgCisKICAgICAgICAgICAgIEVsaW1pbmF0ZSB1bm5lY2Vzc2FyeSBj
YWxsIHRvIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpwYXJlbnRTdHlsZVNoZWV0KCkKLSAg
ICAgICAgCisKICAgICAgICAgKFdlYkNvcmUpOgogICAgICAgICAoUGFnZVNlcmlhbGl6ZXIpOgog
CkBAIC0zMTg3MCw3ICszMTkwNSw3IEBACiAgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpzaG93aW5nVHJhY2tXaXRoU2FtZUtpbmQpOiBNaW5vciByZXN0cnVjdHVyaW5nLgogICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXNlcklzSW50ZXJlc3RlZEluVGhpc1Ry
YWNrS2luZCk6IFJlbmFtZWQgZnJvbSB1c2VySXNJbnRlcmVzdGVkSW5UaGlzVHJhY2ssCiAgICAg
ICAgICAgICBkb24ndCBjb25zaWRlciB1c2VyJ3MgbGFuZ3VhZ2UgcHJlZmVyZW5jZS4KLSAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0dyb3VwKTog
TmV3LCBjb25maWd1cmUgYWxsIHRyYWNrcyBpbiBhIGdyb3VwLCAKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0dyb3VwKTogTmV3LCBjb25maWd1
cmUgYWxsIHRyYWNrcyBpbiBhIGdyb3VwLAogICAgICAgICAgICAgY29uc2lkZXJpbmcgdXNlcidz
IGtpbmQgYW5kIGxhbmd1YWdlIHByZWZlcmVuY2VzLgogICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6Y29uZmlndXJlTmV3VGV4dFRyYWNrcyk6IE5ldywgY29uZmlndXJlIGFsbCBu
ZXdseSBhZGRlZCB0cmFja3MuCiAgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CkBA
IC0zMTg3OSw3ICszMTkxNCw3IEBACiAKICAgICAgICAgKiBwbGF0Zm9ybS9MYW5ndWFnZS5jcHA6
CiAgICAgICAgIChXZWJDb3JlOjpjYW5vbmljYWxMYW5ndWFnZUlkZW50aWZpZXIpOiBOZXcsIGNy
ZWF0ZSBhIGNhbm9uaWNhbGl6ZWQgdmVyc2lvbiBvZiBhIGxhbmd1YWdlIHN0cmluZy4KLSAgICAg
ICAgKFdlYkNvcmU6OmJlc3RNYXRjaGluZ0xhbmd1YWdlKTogTmV3LCByZXR1cm4gdGhlIGxhbmd1
YWdlIGZyb20gdGhlIGxpc3QgdGhhdCBiZXN0IG1hdGNoZXMgdGhlIAorICAgICAgICAoV2ViQ29y
ZTo6YmVzdE1hdGNoaW5nTGFuZ3VhZ2UpOiBOZXcsIHJldHVybiB0aGUgbGFuZ3VhZ2UgZnJvbSB0
aGUgbGlzdCB0aGF0IGJlc3QgbWF0Y2hlcyB0aGUKICAgICAgICAgICAgIHNwZWNpZmllZCBsYW5n
dWFnZS4KICAgICAgICAgKFdlYkNvcmU6OnByZWZlcnJlZExhbmd1YWdlRnJvbUxpc3QpOiBOZXcs
IHJldHVybiB0aGUgbGFuZ3VhZ2UgaW4gdGhlIHNwZWNpZmllZCBsaXN0IHRoYXQgYmVzdAogICAg
ICAgICAgICAgbWF0Y2hlcyB0aGUgdXNlcidzIGxhbmd1YWdlIHByZWZlcmVuY2UuCkBAIC0zMjQ3
MCwxMSArMzI1MDUsMTEgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgogCi0g
ICAgICAgIFRoZSBnb2FsIGlzIHRvIHJlLXZhbXAgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5
b3V0IHRvIGJlIG1vcmUgYWNjdXJhdGUuIAotICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSBuZXcg
aGV1cmlzdGljIGNhbGxlZCBkaWROZXdGaXJzdFZpc3VhbGxOb25FbXB0eUxheW91dCBhbmQgCisg
ICAgICAgIFRoZSBnb2FsIGlzIHRvIHJlLXZhbXAgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5
b3V0IHRvIGJlIG1vcmUgYWNjdXJhdGUuCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBo
ZXVyaXN0aWMgY2FsbGVkIGRpZE5ld0ZpcnN0VmlzdWFsbE5vbkVtcHR5TGF5b3V0IGFuZAogICAg
ICAgICBsZWF2ZXMgdGhlIG9sZCBvbmUgZm9yIHRoZSB0aW1lIGJlaW5nLiBUaGF0IGlzIHRlbXBv
cmFyeS4KIAotICAgICAgICBUaGUgaGV1cmlzdGljIGZvciBkaWROZXdGaXJzdFZpc3VhbGxOb25F
bXB0eUxheW91dCBpcyB0byBjb3VudCByZWxldmFudCAKKyAgICAgICAgVGhlIGhldXJpc3RpYyBm
b3IgZGlkTmV3Rmlyc3RWaXN1YWxsTm9uRW1wdHlMYXlvdXQgaXMgdG8gY291bnQgcmVsZXZhbnQK
ICAgICAgICAgcGFpbnRlZCBSZW5kZXJPYmplY3RzIG9uIFBhZ2UuCiAgICAgICAgICogcGFnZS9Q
YWdlLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgpAQCAtMzI0ODYsNyArMzI1
MjEsNyBAQAogICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3RhcnRDb3VudGluZ1JlcGFpbnRlZE9i
amVjdHMpOgogICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgogCi0gICAgICAgIFN0YXJ0IGNvdW50
aW5nIHJlbGV2YW50IHBhaW50ZWQgUmVuZGVyT2JqZWN0cyBvbiB0aGUgcGFnZSBvbmNlIHRoZSBm
aXJzdCAKKyAgICAgICAgU3RhcnQgY291bnRpbmcgcmVsZXZhbnQgcGFpbnRlZCBSZW5kZXJPYmpl
Y3RzIG9uIHRoZSBwYWdlIG9uY2UgdGhlIGZpcnN0CiAgICAgICAgIGxheW91dCBpcyBjb21wbGV0
ZS4KICAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MpOgpAQCAtMzI1MDIsOCArMzI1MzcsOCBAQAog
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgogICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5
b3V0KToKIAotICAgICAgICBUaGVzZSBSZW5kZXJPYmplY3RzIGFyZSB0aGUgb25lcyB0aGF0IHRo
aXMgYXBpIGN1cnJlbnRseSBjb25zaWRlciB0byBiZSAKLSAgICAgICAgcmVsZXZhbnQuIElmIHRo
ZWlyIHJlcGFpbnQgcmVjdHMgaW50ZXJzZWN0IHdpdGggdGhlIHZpZXdSZWN0LCB0aGVuIHRoZXkg
YXJlIAorICAgICAgICBUaGVzZSBSZW5kZXJPYmplY3RzIGFyZSB0aGUgb25lcyB0aGF0IHRoaXMg
YXBpIGN1cnJlbnRseSBjb25zaWRlciB0byBiZQorICAgICAgICByZWxldmFudC4gSWYgdGhlaXIg
cmVwYWludCByZWN0cyBpbnRlcnNlY3Qgd2l0aCB0aGUgdmlld1JlY3QsIHRoZW4gdGhleSBhcmUK
ICAgICAgICAgYWRkZWQgdG8gdGhlIHJlbGV2YW50IG9iamVjdHMgc2V0IG9uIHRoZSBQYWdlLgog
ICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guY3BwOgogICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lQm94OjpwYWludCk6CkBAIC0zMjc1MiwxMCArMzI3ODcsMTAgQEAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQW5kcmVhcyBLbGluZy4KIAogICAgICAgICBUaGlzIGlzIHRoZSBlYXNpZXN0IHBhdGgg
Zm9yIGVsaW1pbmF0aW5nIHRoZSBsYXN0IHJlbWFpbmluZyBzdWJjbGFzcyBvZiBDU1NNdXRhYmxl
U3R5bGVEZWNsYXJhdGlvbi4KLSAgICAgICAgCisKICAgICAgICAgT24gbmVnYXRpdmUgc2lkZSB0
aGlzIGluY3JlYXNlcyBtZW1vcnkgdXNlIG9mIENTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9u
IGJ5IG9uZSBwdHIgYW5kIHJlZmNvdW50CiAgICAgICAgIChpdCBsb3NlcyB0aGUgdnB0cikgaW4g
dG90YWwuCi0gICAgICAgIAorCiAgICAgICAgIFRoaXMgaXMgbm90IG1lYW50IHRvIGJlIHRoZSBl
bmQgc3RhdGUsIGp1c3QgYW4gaW50ZXJtZWRpYXRlIHJlZmFjdG9yaW5nIHN0ZXAuIENTU01hcHBl
ZEF0dHJpYnV0ZURlY2xhcmF0aW9uCiAgICAgICAgIHNob3VsZCBjbGVhcmx5IGJlIHJlbmFtZWQg
dG9vIGJ1dCB0aGlzIHBhdGNoIGRvZXNuJ3QgZG8gdGhhdC4gSXQgbWlnaHQgbm90IGV4aXN0IGlu
IGl0cyBjdXJyZW50IGZvcm0KICAgICAgICAgbXVjaCBsb25nZXIuCkBAIC0zMjc2NSw5ICszMjgw
MCw5IEBACiAgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6bWVy
Z2UpOgogICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oOgogCi0gICAg
ICAgICAgICBSZW1vdmUgcHJvdGVjdGVkIHNlY3Rpb24uIE5vIHN1YmNsYXNzZXMgcmVtYWluLiAg
ICAgICAgCisgICAgICAgICAgICBSZW1vdmUgcHJvdGVjdGVkIHNlY3Rpb24uIE5vIHN1YmNsYXNz
ZXMgcmVtYWluLgogICAgICAgICAgICAgUmVuYW1lIHNldFByb3BlcnR5SW50ZXJuYWwoKSB0byBz
ZXRQcm9wZXJ0eSgpLiBBbGwgcHVibGljIG1ldGhvZHMgaGVyZSBhcmUgaW50ZXJuYWwuCi0gICAg
ICAgIAorCiAgICAgICAgIChDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbik6CiAgICAgICAgICog
Y3NzL0NTU1BhcnNlci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlTWFw
cGVkQXR0cmlidXRlVmFsdWUpOgpAQCAtMzI3ODcsOSArMzI4MjIsOSBAQAogICAgICAgICAoQ1NT
TWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24pOgogICAgICAgICAoV2ViQ29yZTo6Q1NTTWFwcGVk
QXR0cmlidXRlRGVjbGFyYXRpb246OmRlY2xhcmF0aW9uKToKICAgICAgICAgKFdlYkNvcmU6OkNT
U01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uOjpDU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlv
bik6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBNYWtlIENTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uIGEgbWVtYmVyIGluc3RlYWQgb2YgdGhlIGJhc2UgY2xhc3MuCi0gICAgICAgIAorCiAgICAg
ICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgogICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxl
bWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CiAgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50
OjpyZW1vdmVDU1NQcm9wZXJ0eSk6CkBAIC0zMzUxOCw5ICszMzU1Myw5IEBACiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uCiAKLSAgICAgICAgQ1NTU3R5bGVSdWxlOjpzdHls
ZSgpIGFuZCBzb21lIG90aGVyIHBsYWNlcyByZXR1cm4gQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b24uIAorICAgICAgICBDU1NTdHlsZVJ1bGU6OnN0eWxlKCkgYW5kIHNvbWUgb3RoZXIgcGxhY2Vz
IHJldHVybiBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi4KICAgICAgICAgVGhleSBzaG91bGQg
cmV0dXJuIHRoZSBwbGFpbiBDU1NPTSB0eXBlIGluc3RlYWQuCi0gICAgICAgIAorCiAgICAgICAg
IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBzaG91bGQgYmUgYXZhaWxhYmxlIHRocm91Z2gg
bm9uLUNTU09NIGZ1bmN0aW9uLgogCiAgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlUnVsZS5oOgpA
QCAtMzM3ODAsNyArMzM4MTUsNyBAQAogCiAyMDEyLTAxLTMxICBZb25nc2hlbmcgWmh1ICA8eW9u
Z3NoZW5nLnpodUBpbnRlbC5jb20+CiAKLSAgICAgICAgV2ViR0wgbXVzdCBhbGxvY2F0ZSBzbWFs
bGVyIGRyYXdpbmcgYnVmZmVyIHdoZW4gdGhlIGFsbG9jYXRpb24gZmFpbHMuIAorICAgICAgICBX
ZWJHTCBtdXN0IGFsbG9jYXRlIHNtYWxsZXIgZHJhd2luZyBidWZmZXIgd2hlbiB0aGUgYWxsb2Nh
dGlvbiBmYWlscy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc2NjU0CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpAQCAtMzM5
NDAsNyArMzM5NzUsNyBAQAogICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50Ojpm
b250RmFtaWx5KToKICAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlRWxlbWVudDo6cmVidWls
ZEZvbnRGYWNlKToKICAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VFbGVtZW50Lmg6Ci0gICAgICAg
IAorCiAgICAgICAgICAgICBSZW1vdmUgdGhlIHVubmVjZXNzYXJ5IG1fc3R5bGVEZWNsYXJhdGlv
biBmaWVsZCwgYWNjZXNzIHRocm91Z2ggbV9mb250RmFjZVJ1bGUgaW5zdGVhZC4KIAogMjAxMi0w
MS0zMSAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CkBA
IC0zNDUwOSwxMSArMzQ1NDQsMTEgQEAKICAgICAgICAgVGVzdDogcGx1Z2lucy9jcmFzaC1yZXN0
b3JpbmctcGx1Z2luZy1wYWdlLWZyb20tcGFnZS1jYWNoZS5odG1sCiAKICAgICAgICAgKiBodG1s
L0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJ
bkltYWdlRWxlbWVudDo6ZG9jdW1lbnRXaWxsU3VzcGVuZEZvclBhZ2VDYWNoZSk6IE9ubHkgc2V0
SGFzQ3VzdG9tU3R5bGVGb3JSZW5kZXJlciBhbmQgCisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1
Z0luSW1hZ2VFbGVtZW50Ojpkb2N1bWVudFdpbGxTdXNwZW5kRm9yUGFnZUNhY2hlKTogT25seSBz
ZXRIYXNDdXN0b21TdHlsZUZvclJlbmRlcmVyIGFuZAogICAgICAgICAgIGZvcmNlUmVjYWxjIGlm
IHRoZXJlIGFjdHVhbGx5IGlzIGEgY3VzdG9tIHN0eWxlIHRvIGJlIHVzZWQuCiAgICAgICAgIChX
ZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Ojpkb2N1bWVudERpZFJlc3VtZUZyb21QYWdl
Q2FjaGUpOiBPbmx5IGNsZWFySGFzQ3VzdG9tU3R5bGVGb3JSZW5kZXJlciBpZiB0aGVyZQogICAg
ICAgICAgIGFjdHVhbGx5IHdhcyBhIGN1c3RvbSBzdHlsZSB0byBiZSBjbGVhcmVkLgotICAgICAg
ICAoV2ViQ29yZTo6SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6Y3VzdG9tU3R5bGVGb3JSZW5kZXJl
cik6IFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGlmIHRoZXJlIGFjdHVhbGx5IGlzIGEgCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpjdXN0b21TdHlsZUZvclJl
bmRlcmVyKTogVGhpcyBzaG91bGQgb25seSBiZSBjYWxsZWQgaWYgdGhlcmUgYWN0dWFsbHkgaXMg
YQogICAgICAgICAgIGN1c3RvbSBzdHlsZSB0byBiZSB1c2VkLiBPdGhlcndpc2UgdGhlIGVsZW1l
bnQgd291bGQgaGF2ZSB0byBmYWxsYmFjayB0byB0aGUgIm5vcm1hbCIgUmVuZGVyU3R5bGUgd2hp
Y2ggbWlnaHQKICAgICAgICAgICBub3QgZXhpc3QuCiAKQEAgLTM0ODE2LDEyICszNDg1MSwxMiBA
QAogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgogCi0gICAgICAgIFRoZSBtYWlu
IHByb2JsZW0gaXMgdGhhdCB3ZSBjYW5ub3QgcmVseSBvbiB0aGUgTlNXaW5kb3cgZm9yIGluZm9y
bWF0aW9uIGFib3V0IAotICAgICAgICB0aGUgZGV2aWNlU2NhbGVGYWN0b3IgYmVjYXVzZSB3ZSBj
YW5ub3QgYWNjZXNzIGFuIE5TV2luZG93IGZyb20gd2l0aGluIAotICAgICAgICBXZWJDb3JlIGZv
ciBXZWJLaXQyIHdpbmRvd3MuIEluc3RlYWQsIHdlIGNhbiBmZXRjaCBpdCBmcm9tIAotICAgICAg
ICBXZWJDb3JlOjpkZXZpY2VTY2FsZUZhY3RvcigpLCBidXQgd2UgbmVlZCBhIEZyYW1lIHRvIGNh
bGwgdGhhdC4gU28gCi0gICAgICAgIHNjcmVlbkF2YWlsYWJsZVJlY3QgYW5kIHNjcmVlblJlY3Qg
Ym90aCBub3cgdGFrZSBhIEZyYW1lVmlldyogaW5zdGVhZCBvZiBhIAotICAgICAgICBXaWRnZXQq
LiBBbGwgZXhpc3RpbmcgY2FsbCBzaXRlcyBhY3R1YWxseSBzZW50IGEgRnJhbWVWaWV3IGluIGFu
eXdheSwgc28gdGhpcyAKKyAgICAgICAgVGhlIG1haW4gcHJvYmxlbSBpcyB0aGF0IHdlIGNhbm5v
dCByZWx5IG9uIHRoZSBOU1dpbmRvdyBmb3IgaW5mb3JtYXRpb24gYWJvdXQKKyAgICAgICAgdGhl
IGRldmljZVNjYWxlRmFjdG9yIGJlY2F1c2Ugd2UgY2Fubm90IGFjY2VzcyBhbiBOU1dpbmRvdyBm
cm9tIHdpdGhpbgorICAgICAgICBXZWJDb3JlIGZvciBXZWJLaXQyIHdpbmRvd3MuIEluc3RlYWQs
IHdlIGNhbiBmZXRjaCBpdCBmcm9tCisgICAgICAgIFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9y
KCksIGJ1dCB3ZSBuZWVkIGEgRnJhbWUgdG8gY2FsbCB0aGF0LiBTbworICAgICAgICBzY3JlZW5B
dmFpbGFibGVSZWN0IGFuZCBzY3JlZW5SZWN0IGJvdGggbm93IHRha2UgYSBGcmFtZVZpZXcqIGlu
c3RlYWQgb2YgYQorICAgICAgICBXaWRnZXQqLiBBbGwgZXhpc3RpbmcgY2FsbCBzaXRlcyBhY3R1
YWxseSBzZW50IGEgRnJhbWVWaWV3IGluIGFueXdheSwgc28gdGhpcwogICAgICAgICBpcyBub3Qg
YSBiaWcgY2hhbmdlLCBidXQgaXQgZG9lcyByZXF1aXJlIHRvdWNoaW5nIGEgbG90IG9mIHBsYXRm
b3Jtcy4KICAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKICAgICAgICAgKiBwbGF0Zm9ybS9QbGF0
Zm9ybVNjcmVlbi5oOgpAQCAtMzQ4NTIsNyArMzQ4ODcsNyBAQAogICAgICAgICAoV2ViQ29yZTo6
c2NyZWVuUmVjdCk6CiAgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KToKIAot
ICAgICAgICBUaGUgTWFjLW9ubHkgZnVuY3Rpb25zIHRvVXNlclNwYWNlKCkgYW5kIHRvRGV2aWNl
U3BhY2UoKSB3ZXJlIGFsc28gdXBkYXRlZCB0byAKKyAgICAgICAgVGhlIE1hYy1vbmx5IGZ1bmN0
aW9ucyB0b1VzZXJTcGFjZSgpIGFuZCB0b0RldmljZVNwYWNlKCkgd2VyZSBhbHNvIHVwZGF0ZWQg
dG8KICAgICAgICAgdGFrZSBhIHBhcmFtZXRlciBmb3IgdGhlIGRldmljZVNjYWxlRmFjdG9yLgog
ICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF0Zm9ybVNjcmVlbk1hYy5tbToKICAgICAgICAgKFdl
YkNvcmU6OnNjcmVlblJlY3QpOgpAQCAtMzQ5MzcsNyArMzQ5NzIsNyBAQAogICAgICAgICBSZXZp
ZXdlZCBieSBTaW1vbiBGcmFzZXIuCiAKICAgICAgICAgQWNjb3JkaW5nIHRvIGNzczMgc3BlY3Mg
d2hlbiBmb250LXNpemUgaXMgc3BlY2lmaWVkIGluICdyZW1zJyBmb3IgYW4gZWxlbWVudCBpbXBs
aWVzIHRoZSBmb250LXNpemUKLSAgICAgICAgb2YgdGhlIHJvb3QgZWxlbWVudC4gSW4gdGhpcyBj
YXNlIGFzIEhUTUwgZWxlbWVudCBoYXMgYSBwcm9wZXJ0eSAnZGlzcGxheTpub25lJyBhbmQgaGVu
Y2UgcmVuZGVyZXIgCisgICAgICAgIG9mIHRoZSByb290IGVsZW1lbnQuIEluIHRoaXMgY2FzZSBh
cyBIVE1MIGVsZW1lbnQgaGFzIGEgcHJvcGVydHkgJ2Rpc3BsYXk6bm9uZScgYW5kIGhlbmNlIHJl
bmRlcmVyCiAgICAgICAgIGlzIE5VTEwgY2F1c2VzIHRoaXMgY3Jhc2guCiAKICAgICAgICAgVGVz
dDogZmFzdC9jc3MvZm9udHNpemUtdW5pdC1yZW1zLWNyYXNoLmh0bWwKQEAgLTM0OTY0LDcgKzM0
OTk5LDcgQEAKICAgICAgICAgUmVtb3ZlIGFsbCByZWZlcmVuY2VzIHRvIE5TUGFzdGVib2FyZCBv
YmplY3RzIGZyb20gdGhlIFBhc3RlYm9hcmQKICAgICAgICAgY2xhc3MgaW50ZXJmYWNlIG9uIE1h
Yy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjYx
Ci0gICAgICAgIAorCiAgICAgICAgIFRoaXMgaXMgY2xlYW51cCB3b3JrIG5lZWRlZCBhcyBmaXJz
dCBzdGVwIGluIHRoZSBkaXJlY3Rpb24gb2YKICAgICAgICAgcmVtb3ZpbmcgYWNjZXNzIHRvIE5T
UGFzdGVib2FyZCBmcm9tIHRoZSBXZWJQcm9jZXNzLgogICAgICAgICBUaGlzIHdheSBhbGwgYWNj
ZXNzIHRvIHRoZSBOU1Bhc3RlYm9hcmQgb2JqZWN0IGFyZSBpbnRlcm5hbCB0bwpAQCAtMzUwMTIs
OSArMzUwNDcsOSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCiAKLSAg
ICAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiBzaG91bGQgZXhwb3NlIHRoZSBDU1NPTSBBUEkgb25s
eS4gU3ViY2xhc3NlcyBzaG91bGQgZXhwb3NlIHRoZSBpbnRlcm5hbCBBUEkgb25seS4gCisgICAg
ICAgIENTU1N0eWxlRGVjbGFyYXRpb24gc2hvdWxkIGV4cG9zZSB0aGUgQ1NTT00gQVBJIG9ubHku
IFN1YmNsYXNzZXMgc2hvdWxkIGV4cG9zZSB0aGUgaW50ZXJuYWwgQVBJIG9ubHkuCiAgICAgICAg
IFRoaXMgd2lsbCBtb3ZlIHVzIGNsb3NlciB0byBiZWluZyBhYmxlIHRvIHNwbGl0IHRoZSBDU1NP
TSBBUEkgZnJvbSB0aGUgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24uCi0gICAgICAgIAorCiAgICAg
ICAgIC0gTWFrZSBDU1NTdHlsZURlY2xhcmF0aW9uIENTU09NIGZ1bmN0aW9ucyB2aXJ0dWFsLCBp
bnRlcm5hbCBmdW5jdGlvbnMgbm9uLXZpcnR1YWwuCiAgICAgICAgIC0gTW92ZSBpbXBsZW1lbnRh
dGlvbnMgdG8gc3ViY2xhc3NlcyAoQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLCBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbikuCiAgICAgICAgIC0gTWFrZSBDU1NPTSBmdW5jdGlvbnMgaW4g
dGhlIHN1YmNsYXNzZXMgcHJpdmF0ZSAobWFraW5nIGl0IGhhcmRlciB0byBpbnZva2UgdGhlbSBp
bnRlcm5hbGx5KS4KQEAgLTM1MDIzLDE3ICszNTA1OCwxNyBAQAogICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwOgogICAgICAgICAoV2Vi
Q29yZTo6VjhDU1NTdHlsZURlY2xhcmF0aW9uOjpuYW1lZFByb3BlcnR5R2V0dGVyKToKICAgICAg
ICAgKFdlYkNvcmU6OlY4Q1NTU3R5bGVEZWNsYXJhdGlvbjo6bmFtZWRQcm9wZXJ0eVNldHRlcik6
Ci0gICAgICAgIAorCiAgICAgICAgICAgICBTd2l0Y2ggdG8gKkludGVybmFsIHZlcnNpb25zIG9m
IHRoZSBDU1NPTSBmdW5jdGlvbnMuCi0gICAgICAgIAorCiAgICAgICAgICogY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CiAgICAgICAgIChXZWJDb3JlKToKICAgICAgICAgKFdl
YkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6bGVuZ3RoKToKICAgICAgICAgKFdl
YkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Y3NzUHJvcGVydHlNYXRjaGVzKToK
ICAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Y29weVByb3Bl
cnRpZXNJblNldCk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBNb3ZlIGNvcHlQcm9wZXJ0aWVz
SW5TZXQgdG8gc3ViY2xhc3NlcywgZGV2aXJ0dWFsaXplLgotICAgICAgICAgICAgCisKICAgICAg
ICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NW
YWx1ZSk6CiAgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246Omdl
dFByb3BlcnR5VmFsdWUpOgogICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uOjpnZXRQcm9wZXJ0eVByaW9yaXR5KToKQEAgLTM1MDU4LDIzICszNTA5MywyMyBAQAog
ICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OnNldFByb3BlcnR5
KToKICAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpyZW1vdmVQ
cm9wZXJ0eSk6CiAgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6
Y29weVByb3BlcnRpZXNJblNldCk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBNb3ZlIGNvcHlQ
cm9wZXJ0aWVzSW5TZXQgdG8gc3ViY2xhc3NlcywgZGV2aXJ0dWFsaXplLgotICAgICAgICAKKwog
ICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmNzc1Byb3BlcnR5
TWF0Y2hlcyk6CiAgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6
cmVtb3ZlRXF1aXZhbGVudFByb3BlcnRpZXMpOgotICAgICAgICAKKwogICAgICAgICAgICAgTW92
ZSBkaWZmKCkgdG8gQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24sIHJlbmFtZSB0byByZW1vdmVF
cXVpdmFsZW50UHJvcGVydGllcywgc3dpdGNoIHRvIG11dGF0ZQogICAgICAgICAgICAgdGhpcyBv
YmplY3QgaW5zdGVhZCBvZiB0aGUgYXJndW1lbnQgb2JqZWN0LgotICAgIAorCiAgICAgICAgICog
Y3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmg6CiAgICAgICAgIChDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbik6CiAgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbjo6cHJvcGVydHlDb3VudCk6CiAgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6aXNFbXB0eSk6CiAgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6cHJvcGVydHlBdCk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBFeHBvc2Ug
cHJvcGVydGllcyBhbmQgcHJvcGVydHkgY291bnQgaW50ZXJuYWxseSAoaXRlcmF0b3Igc2hvdWxk
IGJlIHJlbW92ZWQgaW4gZmF2b3Igb2YgdGhlc2UpLgotICAgICAgICAKKwogICAgICAgICAqIGNz
cy9DU1NTdHlsZURlY2xhcmF0aW9uLmNwcDoKICAgICAgICAgKFdlYkNvcmUpOgogICAgICAgICAq
IGNzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmg6CkBAIC0zNTA4Miw3ICszNTExNyw3IEBACiAgICAg
ICAgIChXZWJDb3JlOjpDU1NTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlSW50
ZXJuYWwpOgogICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVy
dHlWYWx1ZUludGVybmFsKToKICAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb246
OnNldFByb3BlcnR5SW50ZXJuYWwpOgotICAgICAgICAKKwogICAgICAgICAgICAgQWRkICpJbnRl
cm5hbCB2ZXJzaW9ucyBvZiBzb21lIENTU09NIEFQSXMgdG8gc3VwcG9ydCBzb21lIGVkaXRpbmcg
YW5kIGJpbmRpbmdzIHVzZXMuCiAgICAgICAgICAgICBUaGVzZSB0YWtlIHByb3BlcnR5SURzIGlu
c3RlYWQgb2Ygc3RyaW5ncyBuYW1lcy4KIApAQCAtMzUxMjUsOSArMzUxNjAsOSBAQAogICAgICAg
ICAoV2ViQ29yZTo6Z2V0SWRlbnRpZmllclZhbHVlKToKICAgICAgICAgKFdlYkNvcmU6Omhhc1Ry
YW5zcGFyZW50QmFja2dyb3VuZENvbG9yKToKICAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHls
ZS5oOgotICAgICAgICAKKwogICAgICAgICAgICAgQWRhcHQgdG8gY2hhbmdlcy4KLSAgICAKKwog
ICAgICAgICAoV2ViQ29yZSk6CiAgICAgICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVt
b3ZlUmVkdW5kYW50U3R5bGVzQW5kS2VlcFN0eWxlU3BhbklubGluZSk6CkBAIC0zNTY2OSw3ICsz
NTcwNCw3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgogCi0gICAg
ICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBtYW55IGV4aXN0aW5nIHRlc3RzOiBpbiBwYXJ0
aWN1bGFyIAorICAgICAgICBObyBuZXcgdGVzdHMuIENvdmVyZWQgYnkgbWFueSBleGlzdGluZyB0
ZXN0czogaW4gcGFydGljdWxhcgogICAgICAgICAgICAgZmFzdC9pbWFnZXMvKiwgZmFzdC9jYW52
YXMvKiwKICAgICAgICAgICAgIHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMjkzMTQuaHRtbAogICAg
ICAgICAgICAgdGFibGVzL21vemlsbGEvYnVncy9idWcxMzE2OS5odG1sCkBAIC0zNTgxNiw5ICsz
NTg1MSw5IEBACiAgICAgICAgIENTUyBjYWxjIHBhcnNpbmcgc3RhZ2UKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3MDgyCiAKLSAgICAgICAgVGhpcyBp
cyB0aGUgcGFyc2luZyBzdGFnZSBvZiBjYWxjLiBUaGUgZXhwcmVzc2lvbnMgYXJlIGV2YWx1YXRl
ZCBhbmQgCisgICAgICAgIFRoaXMgaXMgdGhlIHBhcnNpbmcgc3RhZ2Ugb2YgY2FsYy4gVGhlIGV4
cHJlc3Npb25zIGFyZSBldmFsdWF0ZWQgYW5kCiAgICAgICAgIGV4cHJlc3Npb24gdHJlZXMgYXJl
IGdlbmVyYXRlZC4gQ1NTIHZhbHVlcyBhcmUgbm90IGNyZWF0ZWQgeWV0IC0gdGhhdAotICAgICAg
ICB3aWxsIGhhcHBlbiBpbiBhIHN1YnNlcXVlbnQgY29tbWl0LiAKKyAgICAgICAgd2lsbCBoYXBw
ZW4gaW4gYSBzdWJzZXF1ZW50IGNvbW1pdC4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBI
eWF0dC4KIApAQCAtMzYxNjMsOSArMzYxOTgsOSBAQAogICAgICAgICBUaGlzIHNob3VsZCBiZSBh
IHNldHRpbmcgYmVjYXVzZSBpdCBpcyBpbmRlcGVuZGVudCBvZiBhIHBhcnRpY3VsYXIgZnJhbWUg
YW5kCiAgICAgICAgIHNob3VsZCBiZSBwcmVzZXJ2ZWQgZXZlbiBpZiB0aGUgbWFpbmZyYW1lIGNo
YW5nZXMuCiAKLSAgICAgICAgUmVuYW1lZCAoc2V0KVNob3VsZExheW91dEZpeGVkRWxlbWVudHNS
ZWxhdGl2ZVRvRnJhbWUgdG8gCisgICAgICAgIFJlbmFtZWQgKHNldClTaG91bGRMYXlvdXRGaXhl
ZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lIHRvCiAgICAgICAgIChzZXQpRml4ZWRFbGVtZW50c0xh
eW91dFJlbGF0aXZlVG9GcmFtZSBkdWUgdG8gdGhlIGNvbm5vdGF0aW9uCi0gICAgICAgIHRoZSB3
b3JkICJzaG91bGQiIG1heSBoYXZlIGluIHRoaXMgY29udGV4dDogSWYgc2V0LCAKKyAgICAgICAg
dGhlIHdvcmQgInNob3VsZCIgbWF5IGhhdmUgaW4gdGhpcyBjb250ZXh0OiBJZiBzZXQsCiAgICAg
ICAgIHBvc2l0aW9uOmZpeGVkIGVsZW1lbnRzIHdpbGwgQUxXQVlTIGJlIGxhaWQgb3V0IHJlbGF0
aXZlIHRvIHRoZSBmcmFtZS4KIAogCkBAIC0zNjU2NCwxMiArMzY1OTksMTIgQEAKIAogICAgICAg
ICBGaXhlcyBTVkcgaW1hZ2UgYnVmZmVyIGNyZWF0aW9uIHRvIHVzZSB0aGUgZW5jbG9zaW5nIGlu
dGVnZXIgcmVjdAogICAgICAgICBpbnN0ZWFkIG9mIHVuc3RhYmxlIHJvdW5kZWQgY29vcmRpbmF0
ZXMgd2l0aCBzY2FsaW5nIHdoaWNoIHdhcyBjYXVzaW5nCi0gICAgICAgIGFuaW1hdGVkIGltYWdl
cyB0byBqdW1wIGFyb3VuZCB1bmRlciBmaWx0ZXJzLiBUaGUgaW1hZ2UgYnVmZmVyIHdhcyBub3Qg
CisgICAgICAgIGFuaW1hdGVkIGltYWdlcyB0byBqdW1wIGFyb3VuZCB1bmRlciBmaWx0ZXJzLiBU
aGUgaW1hZ2UgYnVmZmVyIHdhcyBub3QKICAgICAgICAgYWxpZ25lZCBvbiBhIHBpeGVsIGJvdW5k
YXJ5LCBhbmQgdGh1cyB0aGUgcG9zaXRpb25zIGFuZCBzaXplcyBvZiBhbnl0aGluZwogICAgICAg
ICBkcmF3biB1bmRlciB0aGF0IGZpbHRlciBjaGFuZ2VkIGJ5IDEtMiBwaXhlbHMgY29tcGFyZWQg
dG8gdGhlIHNhbWUKICAgICAgICAgZWxlbWVudHMgZHJhd24gd2l0aG91dCBhbiBpbnRlcm1lZGlh
dGUgYnVmZmVyLCBvciBkcmF3biB3aXRoIGEgYnVmZmVyCi0gICAgICAgIHdpdGggYSBkaWZmZXJl
bnQgdGFyZ2V0IHJlY3RhbmdsZS4gCi0gICAgICAgIAorICAgICAgICB3aXRoIGEgZGlmZmVyZW50
IHRhcmdldCByZWN0YW5nbGUuCisKICAgICAgICAgVGhlIGNoYW5nZSBpbXByb3ZlcyB0aGUgcG9z
aXRpb25pbmcgb2YgY2xpcCBwYXRocywgbWFza3MgYW5kIGZpbHRlcnMuCiAKICAgICAgICAgVGVz
dHM6IHN2Zy9jbGlwLXBhdGgvY2xpcC1pbi1jbGlwLnN2ZwpAQCAtMzY2NDgsNyArMzY2ODMsNyBA
QAogCiAyMDEyLTAxLTI2ICBOb2VsIEdvcmRvbiAgPG5vZWwuZ29yZG9uQGdtYWlsLmNvbT4KIAot
ICAgICAgICBSZW1vdmUgRklYTUU6IENvbG9yUHJvZmlsZSBlbmNhcHN1bGF0aW9uIGFzIGEgVmVj
dG9yPGNoYXI+IHdvcmtzIHdlbGwgCisgICAgICAgIFJlbW92ZSBGSVhNRTogQ29sb3JQcm9maWxl
IGVuY2Fwc3VsYXRpb24gYXMgYSBWZWN0b3I8Y2hhcj4gd29ya3Mgd2VsbAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNzYKIAogICAgICAgICBSZXZp
ZXdlZCBieSBBZGFtIEJhcnRoLgpAQCAtMzY4NTAsNyArMzY4ODUsNyBAQAogCiAyMDEyLTAxLTI2
ICBDcmlzIE5lY2thciAgPGNkbkBjaHJvbWl1bS5vcmc+CiAKLSAgICAgICAgVGhlIHJlZ2lzdHJh
dGlvbiBvZiBzY2hlbWVzIGlzIGN1cnJlbnRseSByYWNleSBhcyB0aGV5IGFyZSBub3QgcmVnaXN0
ZXJlZCBmcm9tIHRoZSBtYWluIHRocmVhZC4gCisgICAgICAgIFRoZSByZWdpc3RyYXRpb24gb2Yg
c2NoZW1lcyBpcyBjdXJyZW50bHkgcmFjZXkgYXMgdGhleSBhcmUgbm90IHJlZ2lzdGVyZWQgZnJv
bSB0aGUgbWFpbiB0aHJlYWQuCiAgICAgICAgIEdldHRpbmcgcmlkIG9mIHRoZSBhc3NlcnQgdGhh
dCBlbnN1cmVzIHRoYXQgd2UgYXJlIHJlZ2lzdGVyaW5nIGZyb20gdGhlIG1haW4gdGhyZWFkIHVu
dGlsIHdlIGNhbiBmaXggdGhpcy4KIAogICAgICAgICBUaGFuayB5b3UgYXBAd2Via2l0IGZvciBo
ZWxwaW5nIHVzIGlkZW50aWZ5IHRoaXMuCkBAIC0zNjg3Miw3ICszNjkwNyw3IEBACiAgICAgICAg
IElmIGEgc2Nyb2xsYWJsZSBhcmVhIGhhcyBvdmVybGF5IHNjcm9sbGJhcnMgd2UnbGwgYWx3YXlz
IGludmFsaWRhdGUgYm90aCBzY3JvbGxiYXJzLCByZWdhcmRsZXNzIG9mCiAgICAgICAgIHdoZXRo
ZXIgYm90aCBzY3JvbGwgb2Zmc2V0cyBhY3R1YWxseSBjaGFuZ2Ugc2luY2UgdGhleSdyZSB0cmFu
c2x1Y2VudCBhbmQgd2Ugd2FudCB0byBkcmF3IHRoZSBuZXcgcGFnZQogICAgICAgICBjb250ZW50
cyB1bmRlcm5lYXRoLgotICAgICAgICAKKwogICAgICAgICBIb3dldmVyLCBpZiB0aGUgc2Nyb2xs
YmFycyBhcmUgcGFpbnRlZCBpbnRvIEdyYXBoaWNzTGF5ZXJzIHRoZXknbGwgYmUgY29tcG9zaXRl
ZCBieSB0aGUgR1BVLCBhbmQgc28gd2UgZG9uJ3QKICAgICAgICAgbmVlZCB0byByZXBhaW50IHRo
ZW0gdW5sZXNzIHRoZSBjb3JyZXNwb25kaW5nIHNjcm9sbCBvZmZzZXQgYWN0dWFsbHkgY2hhbmdl
cyAod2hpY2ggaXMgaGFuZGxlZCBpbiBTY3JvbGxiYXI6OnVwZGF0ZVRodW1iKS4KIApAQCAtMzc2
MjUsNyArMzc2NjAsNyBAQAogMjAxMi0wMS0yNSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlYXBwbHkgRGFuaWVsIEJhdGVzJ3MgYnVpbGQgZml4IGZyb20gcjEwNTg0
NyBhZnRlciB0aGUgZXhhY3Qgc2FtZSBpc3N1ZSB3YXMgcmVpbnRyb2R1Y2VkIGluIHIxMDU5MzAu
Ci0gICAgICAgIAorCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IE1hYyBidWlsZCBhZnRlciBjaGFu
Z2VzZXQgPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEwNTkzMD4uCiAgICAgICAg
IChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDkpCiAKQEAgLTM4
NzI1LDcgKzM4NzYwLDcgQEAKIAogICAgICAgICBKUEVHRGVjb2RlciBzaG91bGQgdXNlIGltYWdl
RGVjb2RlciBjb2xvclByb2ZpbGUgaGVscGVycwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NjgKLSAgICAgICAgCisKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KIAogICAgICAgICBObyBuZXcgdGVzdHMuIENvdmVyIGJ5IGV4aXN0aW5n
IHRlc3RzLCBpbiBwYXJ0aWN1bGFyOgpAQCAtMzkzNDcsNyArMzkzODIsNyBAQAogICAgICAgICAg
ICAgICAgZmFzdC9jc3MvbWluLXdpZHRoLXdpdGgtc3Bhbm5lZC1jZWxsLmh0bWwKIAogICAgICAg
ICBBIGNlbGwgd2l0aCB1bndyYXBwYWJsZSB0ZXh0IG11c3QgYmUgYXMgd2lkZSBhcyB0aGUgdGV4
dCBpcyBsb25nLiBJZiBpdCBpcyBhIGNvbHNwYW4gaW4gYSB0YWJsZSB3aG9zZQotICAgICAgICBj
b2x1bW5zIGFyZSBhbGwgcGVyY2VudCBhbmQgdGhlIHdpZHRoIG9mIHRoZSBzcGFuIGNlbGwgaXMg
d2lkZXIgdGhhbiB0aGUgY2VsbHMgaXQgc3BhbnMgaW4gYW55IG90aGVyIAorICAgICAgICBjb2x1
bW5zIGFyZSBhbGwgcGVyY2VudCBhbmQgdGhlIHdpZHRoIG9mIHRoZSBzcGFuIGNlbGwgaXMgd2lk
ZXIgdGhhbiB0aGUgY2VsbHMgaXQgc3BhbnMgaW4gYW55IG90aGVyCiAgICAgICAgIHJvdyB0aGVu
IGl0IHdpbGwgc3F1ZWV6ZSB0aG9zZSBjZWxscyBiZXlvbmQgdGhlIHdpZHRoIHJlcXVpcmVkIHRv
IGRpc3BsYXkgdGhlaXIgY29udGVudHMuCiAKICAgICAgICAgVG8gZml4IHRoaXMgZW5zdXJlIHRo
YXQgdGhlIHNxdWVlemluZyBvZiBjZWxscyB3aXRoaW4gYSBzcGFuIHJlc3BlY3RzIHRoZSBtaW5p
bXVtIHdpZHRoIGRldGVybWluZWQgYnkKQEAgLTM5NDQxLDEyICszOTQ3NiwxMiBAQAogCiAgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6Ci0gICAgICAgIFdlIG5lZWQo
c3R5bGUoKS0+bWFycXVlZUJlaGF2aW9yKCkgIT0gTUFMVEVSTkFURSkgY2hlY2sgYXMgd2UgYWx3
YXlzIG5lZWQgdGhlIG1hcnF1ZWUncyAKKyAgICAgICAgV2UgbmVlZChzdHlsZSgpLT5tYXJxdWVl
QmVoYXZpb3IoKSAhPSBNQUxURVJOQVRFKSBjaGVjayBhcyB3ZSBhbHdheXMgbmVlZCB0aGUgbWFy
cXVlZSdzCiAgICAgICAgIGFjdHVhbCBjb250ZW50IHdpZHRoIHRvIGNvbXB1dGUgdGhlIGluaXRp
YWwvZW5kIHBvc2l0aW9uIGluIGNhc2Ugb2YgJ01BTFRFUk5BVEUnLgogICAgICAgICBTbyB3ZSBu
ZWVkIHRvIGNhbGN1bGF0ZSB0aGUgbG9naWNhbCB3aWR0aCBpbiBBbHRlcm5hdGUgY2FzZSBldmVu
IGlmIGZpeGVkIHdpZHRoIGlzIHNwZWNpZmllZAotICAgICAgICBhcyBjb250ZW50IGhhcyB0byBh
bmltYXRlIGJldHdlZW4gcmVuZGVyQm94KCkucmlnaHQoKS54KCkgLSBjb250ZW50V2lkdGgoKSBh
bmQgCisgICAgICAgIGFzIGNvbnRlbnQgaGFzIHRvIGFuaW1hdGUgYmV0d2VlbiByZW5kZXJCb3go
KS5yaWdodCgpLngoKSAtIGNvbnRlbnRXaWR0aCgpIGFuZAogICAgICAgICByZW5kZXJCb3goKS5s
ZWZ0KCkueCgpICsgY29udGVudFdpZHRoKCkuCi0gICAgICAgIAorCiAgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck1hcnF1ZWUuY3BwOgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6
Y29tcHV0ZVBvc2l0aW9uKToKICAgICAgICAgVXNpbmcgUHJlZmVycmVkTG9naWNhbFdpZHRoIGlu
IHBsYWNlIG9mIExheW91dE92ZXJmbG93IGZvciBjYWxjdWxhdGluZyBjb3JyZWN0IGNvbnRlbnQg
d2lkdGguCkBAIC0zOTU4MywxMSArMzk2MTgsMTEgQEAKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODg4CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmV0
aCBEYWtpbi4KLSAgICAgICAgCisKICAgICAgICAgV2hlbiBjb21wb3NpdGluZyBsYXllciBib3Jk
ZXJzIGFyZSBzaG93aW5nLCBzaG93IHRoZSBib3JkZXJzCiAgICAgICAgIGZvciBzY3JvbGxiYXJz
IGxheWVycy4gVGhpcyByZWR1Y2VzIGNvbmZ1c2lvbiBhYm91dCB3aGV0aGVyIHNjcm9sbGJhcnMK
ICAgICAgICAgYXJlIHJlbmRlcmluZyBpbnRvIHRoZWlyIG93biBsYXllcnMuCi0gICAgICAgIAor
CiAgICAgICAgIFJlcXVpcmVzIGEgbmV3IHBhcmFtZXRlciB0byB0d28gR3JhcGhpY3NMYXllckNs
aWVudCBtZXRob2RzLgogCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oOgpAQCAtMzk4ODIsOSArMzk5MTcsOSBAQAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFz
IEtsaW5nLgogCiAgICAgICAgIEludGVybmFsbHkgV2ViQ29yZSBzaG91bGQgdXNlIHRoZSBtb3Jl
IHNwZWNpZmljIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uIGFuZCBDU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24gdHlwZXMuCi0gICAgICAgIFRoZSBDU1NTdHlsZURlY2xhcmF0aW9uIGJhc2Ug
c2hvdWxkIGJlIHVzZWQgaW4gdGhlIERPTSBBUEkgZnVuY3Rpb25zIG9ubHkuIFRoaXMgd2lsbCBt
YWtlIGl0IGVhc2llciB0byBzZXBhcmF0ZSAKKyAgICAgICAgVGhlIENTU1N0eWxlRGVjbGFyYXRp
b24gYmFzZSBzaG91bGQgYmUgdXNlZCBpbiB0aGUgRE9NIEFQSSBmdW5jdGlvbnMgb25seS4gVGhp
cyB3aWxsIG1ha2UgaXQgZWFzaWVyIHRvIHNlcGFyYXRlCiAgICAgICAgIGludGVybmFsIHN0eWxl
IHNoZWV0IGltcGxlbWVudGF0aW9uIGZyb20gdGhlIERPTSBpbiB0aGUgZnV0dXJlLgotICAgICAg
ICAKKwogICAgICAgICAtIFN3aXRjaCBDU1NTdHlsZURlY2xhcmF0aW9uIC0+IENTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uIHdoZXJlIGZlYXNpYmxlCiAgICAgICAgIC0gVXNlIFN0eWxlZEVsZW1l
bnQ6OmVuc3VyZUlubGluZVN0eWxlRGVjbCgpIGluc3RlYWQgb2YgRWxlbWVudDo6c3R5bGUoKSAo
d2hpY2ggaXMgYSBET00gQVBJIGZ1bmN0aW9uKQogICAgICAgICAtIFJlbW92ZSBBdHRyaWJ1dGU6
OnN0eWxlKCkgd2hpY2ggbG9va3MgbGlrZSBhIERPTSBBUEkgZnVuY3Rpb24gYnV0IGlzIG5vdCBl
eHBvc2VkLgpAQCAtNDA2NTUsNyArNDA2OTAsNyBAQAogCiAgICAgICAgIFBhc3MgdHJhaWxpbmcg
dW5lc2NhcGVkIGJ5dGVzIGludG8gdGhlIGNoYXJhY3RlciBzZXQgZGVjb2RlciB0byBnZXQgY29y
cmVjdAogICAgICAgICByZXN1bHRzIGluIHRoZSBwcmVzZW5jZSBvZiBlbmNvZGluZ3Mgd2hpY2gg
cmUtdXNlIEFTQ0lJIHZhbHVlcyBpbiBzZXF1ZW5jZXMuCi0gICAgICAgIAorCiAgICAgICAgIFRl
c3RzOiBodHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWZyYW1lcy1nYmsuaHRtbAogICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2lmcmFtZS1vbmxvYWQtR0JL
LWNoYXIuaHRtbAogICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9y
L2ltZy1vbmVycm9yLUdCSy1jaGFyLmh0bWwKQEAgLTQxMTE2LDcgKzQxMTUxLDcgQEAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KIAogICAgICAgICBDU1NFbGVtZW50U3R5bGVE
ZWNsYXJhdGlvbiBoYXMgbGl0dGxlIGZ1bmN0aW9uYWxpdHkuIEl0IGNhbiBtZXJnZSB3aXRoIENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uIHNpbXBsaWZ5aW5nIHRoZSBjb2RlLgotICAgICAgICAK
KwogICAgICAgICBIYXZpbmcgYW4gZWxlbWVudCBwYXJlbnQgaXMgbXV0dWFsbHkgZXhjbHVzaXZl
IHdpdGggaGF2aW5nIGEgY3NzIHJ1bGUgcGFyZW50LiBXZSBjYW4ga2VlcCB0aGVtIGluIGEgdW5p
b24uIFRoaXMgYWxzbwogICAgICAgICBzaHJpbmtzIGFsbCBpbmxpbmUgc3R5bGUgZGVjbGFyYXRp
b25zIGJ5IG9uZSBwb2ludGVyLgogCkBAIC00MTE0MCw5ICs0MTE3NSw5IEBACiAgICAgICAgICog
Y3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uY3BwOgogICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVE
ZWNsYXJhdGlvbjo6Q1NTU3R5bGVEZWNsYXJhdGlvbik6CiAgICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZURlY2xhcmF0aW9uOjpwYXJlbnRTdHlsZVNoZWV0KToKLSAgICAgICAgCisKICAgICAgICAg
ICAgIE1lcmdlIHRoZSBDU1NFbGVtZW50U3R5bGVEZWNsYXJhdGlvbjo6c3R5bGVTaGVldCgpIGxv
Z2ljIGhlcmUuCi0gICAgICAgIAorCiAgICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24u
aDoKICAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb246OnBhcmVudFJ1bGUpOgog
ICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbjo6Y2xlYXJQYXJlbnRSdWxlKToK
QEAgLTQxMTUwLDEwICs0MTE4NSwxMCBAQAogICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNs
YXJhdGlvbjo6Y2xlYXJQYXJlbnRFbGVtZW50KToKICAgICAgICAgKiBjc3MvQ1NTU3R5bGVSdWxl
LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlUnVsZTo6c2V0U2VsZWN0b3JUZXh0KToK
LSAgICAgICAgCisKICAgICAgICAgICAgIENTU1N0eWxlUnVsZSdzIHN0eWxlIGRlY2xhcmF0aW9u
IGNhbid0IGhhdmUgaXNFbGVtZW50U3R5bGVEZWNsYXJhdGlvbiBzZXQsIHRoZSBkZWFkIGNvZGUg
Y2FuIGJlIHJlbW92ZWQuCiAgICAgICAgICAgICBUaGlzIGlzIGFzc2VydGVkIGluIHNldERlY2xh
cmF0aW9uKCkgYW5kIGFnYWluIGltcGxpY2l0bHkgaW4gdGhlIGRlc3RydWN0b3IgKGJ5IGNsZWFy
UGFyZW50UnVsZSgpKS4KLSAgICAgICAgCisKICAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5j
cHA6CiAgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpjcmVhdGVJbmxpbmVTdHlsZURl
Y2wpOgogICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6ZGVzdHJveUlubGluZVN0eWxl
RGVjbCk6CkBAIC00MTIzNyw3ICs0MTI3Miw3IEBACiAyMDEyLTAxLTIzICBBbnR0aSBLb2l2aXN0
byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCBRdCBidWlsZC4K
LSAgICAKKwogICAgICAgICBOb3QgcmV2aWV3ZWQuCiAKICAgICAgICAgKiBjc3MvQ1NTRWxlbWVu
dFN0eWxlRGVjbGFyYXRpb24uY3BwOgpAQCAtNDE5ODYsOCArNDIwMjEsOCBAQAogCiAgICAgICAg
IEltcGxlbWVudGVkIGhhcmR3YXJlIGFjY2VsZXJhdGVkIGJyaWdodG5lc3MgYW5kIGNvbnRyYXN0
IGZpbHRlcnMuIFRoaXMgYWxzbyBmaXhlcwogICAgICAgICB0aGUgYnVnIHdoZXJlIGdyYXlzY2Fs
ZSBmaWx0ZXIgd2FzIGFjY2lkZW50YWxseSBuZXZlciBnZXR0aW5nIGhhcmR3YXJlIGFjY2VsZXJh
dGVkLgotICAgICAgICBJdCBhbHNvIGNvbXBsaWVzIHdpdGggcHJvcG9zZWQgc3BlYyBjaGFuZ2Vz
IGZvciB0aGUgYnJpZ2h0bmVzcyBmaWx0ZXIgdG8gYmUgYWRkaXRpdmUgCi0gICAgICAgIHJhdGhl
ciB0aGFuIG11bHRpcGxpY2F0aXZlLCBhY2NvcmRpbmcgdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc2NzE5LiAKKyAgICAgICAgSXQgYWxzbyBjb21wbGllcyB3aXRo
IHByb3Bvc2VkIHNwZWMgY2hhbmdlcyBmb3IgdGhlIGJyaWdodG5lc3MgZmlsdGVyIHRvIGJlIGFk
ZGl0aXZlCisgICAgICAgIHJhdGhlciB0aGFuIG11bHRpcGxpY2F0aXZlLCBhY2NvcmRpbmcgdG8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE5LgogICAgICAgICBI
YWQgdG8gbWFrZSBib3RoIGZpeGVzIGluIHRoZSBzYW1lIHBhdGNoIGJlY2F1c2UgSSBoYWQgdG8g
Y2hhbmdlIHRoZSBhbGxvd2VkIGJyaWdodG5lc3MKICAgICAgICAgdmFsdWVzIGZvciB0aGUgaGFy
ZHdhcmUgdmVyc2lvbiwgc28gSSBoYWQgdG8gY2hhbmdlIHRoZSBzb2Z0d2FyZSB2ZXJzaW9uIGFz
IHdlbGwuCiAKQEAgLTQyMjQ4LDcgKzQyMjgzLDcgQEAKIAogICAgICAgICAqIHBsYXRmb3JtL1J1
bkxvb3AuY3BwOgogICAgICAgICBTcGVjaWFsaXplIFJ1bkxvb3AgaW5pdGlhbGl6YXRpb24gZm9y
IE1hYywgd2hlcmUgaXQgY2FuIGhhcHBlbiBvbiBhbnkgdGhyZWFkLgotICAgICAgICAKKwogICAg
ICAgICAqIHBsYXRmb3JtL1J1bkxvb3AuaDoKICAgICAgICAgQWRkIFJ1bkxvb3AgY29uc3RydWN0
b3IgdGhhdCB0YWtlcyBhIENGUnVuTG9vcFJlZiBvbiB0aGUgbWFjIGZvciBpbml0aWFsaXppbmcK
ICAgICAgICAgdGhlIG1haW4gdGhyZWFkLgpAQCAtNDI1MjAsNyArNDI1NTUsNyBAQAogICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXI6OnZpZXdwb3J0KTogRXhwb3J0
IHZpZXdwb3J0KCkgZm9yIGVhc2llciBsZW5ndGggcmVzb2x1dGlvbi4KICAgICAgICAgKiBzdmcv
U1ZHTGVuZ3RoQ29udGV4dC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhDb250ZXh0
OjpkZXRlcm1pbmVWaWV3cG9ydCk6IEZpbmFsbHkgY2xlYW4gdXAgdGhpcyBoZWxsLCBhbmQgbWFr
ZSBpdCBlYXN5IHRvIHVuZGVyc3RhbmQuIE9ubHkgbmVlZCB0byByZXNvbHZlIGxlbmd0aHMgYWdh
aW5zdCBlaXRoZXIgUmVuZGVyU1ZHUm9vdCBvciBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciBu
b3cuCi0gICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOiAKKyAgICAgICAgKiBzdmcvU1ZH
U1ZHRWxlbWVudC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojp2aWV3cG9y
dCk6IFJlbW92ZSB3cm9uZyBjb2RlIGFuZCBkaXNhYmxlIHRoaXMuIEl0cyBub3QgdXNlZCwgYW5k
IHdlIGhhdmUgbm8gdGVzdCBjb3ZlcmFnZSBmb3IgaXQuIEl0cyBjdXJyZW50IGltcGxlbWVudGF0
aW9uIGRpZG4ndCBtYWtlIGFueSBzZW5zZS4KICAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKTogUmVtb3ZlIGhhY2tzIG1hcHBpbmcgU1ZHIHdpZHRo
L2hlaWdodCBhdHRyaWJ1dGVzIHRvIENTUyBwcm9wZXJ0aWVzLgogICAgICAgICAoV2ViQ29yZTo6
U1ZHU1ZHRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6IERpdHRvLgpAQCAtNDI4MDYsNyAr
NDI4NDEsNyBAQAogCiAgICAgICAgIENTUyBTaGFkZXJzOiBBZGQgYSBTZXR0aW5ncyBmbGFnIHRv
IGVuYWJsZS9kaXNhYmxlIENTUyBTaGFkZXJzIGF0IHJ1bnRpbWUKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDQ0Ci0gICAgICAgIAorCiAgICAgICAg
IEFkZGVkIHNldENTU0N1c3RvbUZpbHRlckVuYWJsZWQvaXNDU1NDdXN0b21GaWx0ZXJFbmFibGVk
IHRoYXQgaXMgZmFsc2UgYnkgZGVmYXVsdC4KICAgICAgICAgSSd2ZSBlbmFibGVkIGl0IGJ5IGRl
ZmF1bHQgb24gQXBwbGUgTWFjLCB0byBtYWtlIHN1cmUgdGhlcmUncyBubyBiZWhhdmlvciBjaGFu
Z2UuIEFueXdheSwgQ1NTIHNoYWRlcnMgbmVlZAogICAgICAgICBXZWJHTCBlbmFibGVkLCBzbyBp
dCBlbmRzIHVwIGJlaW5nIGRpc2FibGVkIGJ5IGRlZmF1bHQuCkBAIC00MjgxOCwxNCArNDI4NTMs
MTQgQEAKICAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6cGFyc2VGaWx0ZXIpOgogICAgICAgICAgICAgRG8gbm90IHBhcnNlIHRoZSBjdXN0
b20oKSBmdW5jdGlvbiB3aGVuIHNoYWRlcnMgYXJlIGRpc2FibGVkLgotICAgICAgICAgICAgCisK
ICAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpD
U1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKICAgICAgICAgICAgIERvIG5vdCBvdmVy
d3JpdGUgdGhlIG9sZCBzdHlsZS0+ZmlsdGVyKCkgaWYgcGFyc2luZyBmYWlscy4KLSAgICAgICAg
ICAgIAorCiAgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjcmVhdGVGaWx0ZXJP
cGVyYXRpb25zKToKICAgICAgICAgICAgIERvIG5vdCBjb250aW51ZSBpZiBvbmUgY3VzdG9tKCkg
ZmlsdGVyIGZhaWxzIHRvIHBhcnNlLgotICAgICAgICAgICAgCisKICAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CiAgICAg
ICAgICogcGFnZS9TZXR0aW5ncy5oOgpAQCAtNDI4MzUsNyArNDI4NzAsNyBAQAogICAgICAgICAo
V2ViQ29yZTo6aXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKToKICAgICAgICAgKFdlYkNvcmU6OkZp
bHRlckVmZmVjdFJlbmRlcmVyOjpidWlsZCk6CiAgICAgICAgICAgICBBdm9pZCBjcmVhdGluZyB0
aGUgZmlsdGVyIHdoZW4gc2hhZGVycyBhcmUgZGlzYWJsZWQuIEl0IG1heSBoYXBwZW4gdG8gZ2V0
IGhlcmUgaWYgc2hhZGVycyB3ZXJlIGRpc2FibGVkIGJldHdlZW4gcGFyc2luZyBhbmQgcmVuZGVy
aW5nLgotICAgICAgICAKKwogMjAxMi0wMS0xOSAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0Bn
b29nbGUuY29tPgogCiAgICAgICAgIE5vZGU6OmNhbkhhdmVMaWdodENoaWxkUmVuZGVyZXJXaXRo
U2hhZG93IGlzIG5vdCB1c2VkIGFueXdoZXJlLgpAQCAtNDI5MjQsMTcgKzQyOTU5LDE3IEBACiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4MgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgotICAgICAgICAKKwogICAgICAgICBS
ZW5kZXJMYXllckJhY2tpbmc6OmlzU2ltcGxlQ29udGFpbmVyQ29tcG9zaXRpbmdMYXllcigpIGdh
dmUgaW5jb3JyZXQKICAgICAgICAgcmVzdWx0cyBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgbGF5ZXIg
aXRzZWxmIHdhcyB2aXNpYmlsaXR5OmhpZGRlbiwgYnV0CiAgICAgICAgIHdoZXJlIGl0IGhhZCB2
aXNpYmxlLCBub24tY29tcG9zaXRlZCBkZXNjZW5kYW50IGxheWVycy4KLSAgICAgICAgCisKICAg
ICAgICAgRml4IGJ5IGJyZWFraW5nIFJlbmRlckxheWVyQmFja2luZzo6aGFzVmlzaWJsZU5vbkNv
bXBvc2l0aW5nRGVzY2VuZGFudHMoKQogICAgICAgICBpbnRvIHR3byBtZXRob2RzLCBvbmUgdGhh
dCB0ZXN0cyBmb3IgcmVuZGVyZXJzIGluIHRoaXMgbGF5ZXIgd2hpY2gKICAgICAgICAgcmVuZGVy
IHN0dWZmIChhbmQgYXJlIHRodXMgYWZmZWN0ZWQgYnkgdmlzaWJpbGl0eSBvbiB0aGlzIGxheWVy
KSwgYW5kCiAgICAgICAgIGFub3RoZXIgd2hpY2ggd2Fsa3MgZGVzY2VuZGFudCwgbm9uLWNvbXBv
c2l0ZWQgbGF5ZXJzIGxvb2tpbmcgZm9yIHRob3NlCiAgICAgICAgIHdoaWNoIGFyZSB2aXNpYmxl
LgotICAgICAgICAKKwogICAgICAgICBSZW1vdmVkIGFuIGVhcmx5IHJldHVybiBpbiB0aGUgInJl
bmRlck9iamVjdC0+bm9kZSgpLT5pc0RvY3VtZW50Tm9kZSgpIgogICAgICAgICBjbGF1c2UsIGJl
Y2F1c2Ugd2Ugd2FudCB0byBydW4gdGhlIHNhbWUgY29kZSB0aGF0IHdlIHJ1biBmb3Igbm9uLWRv
Y3VtZW50CiAgICAgICAgIG5vZGVzLgpAQCAtNDMxMzgsNyArNDMxNzMsNyBAQAogCiAgICAgICAg
IFdlIGhhZCBzZXRUaW1lb3V0IG9uIG9sZCB0ZXN0cyBiZWNhdXNlIHRoZSBzbmFwc2hvdCBwaWN0
dXJlIHdhcyB0YWtlbiB0b28gZWFybHksIGJlZm9yZSB0aGUgc2hhZGVycyB3ZXJlIGxvYWRlZC4K
ICAgICAgICAgVGhlIHByb2JsZW0gd2FzIHRoYXQgdGhlIFJlbmRlckxheWVyIHdhcyBub3RpZmll
ZCB0aGF0IHRoZSBzaGFkZXIgd2FzIGxvYWRlZCBvbmx5IGFmdGVyIHRoZSBvbmxvYWQgZXZlbnQg
d2FzIHRyaWdnZXJlZCwKLSAgICAgICAgc28gYSBzaW1wbGUgc2V0VGltZW91dCgwKSB3b3VsZCBo
YXZlIGZpeGVkIHRoZSBpc3N1ZSwgYnV0IGJldHRlciB0aGFuIHRoYXQgd291bGQgYmUgdG8gdG8g
YWx3YXlzIGNhbGwgQ2FjaGVkUmVzb3VyY2U6OmRhdGEgCisgICAgICAgIHNvIGEgc2ltcGxlIHNl
dFRpbWVvdXQoMCkgd291bGQgaGF2ZSBmaXhlZCB0aGUgaXNzdWUsIGJ1dCBiZXR0ZXIgdGhhbiB0
aGF0IHdvdWxkIGJlIHRvIHRvIGFsd2F5cyBjYWxsIENhY2hlZFJlc291cmNlOjpkYXRhCiAgICAg
ICAgIGluIENhY2hlZFNoYWRlcjo6ZGF0YSwgd2hpY2ggbm90aWZpZXMgdGhlIGxvYWQgZWFybGll
ciAoYmVmb3JlIG9ubG9hZCkuCiAKICAgICAgICAgTm8gbmV3IHRlc3RzLCBqdXN0IHJlbW92ZWQg
dGhlIHNldFRpbWVvdXQgZnJvbSBvbGQgb25lcy4KQEAgLTQzNDk4LDcgKzQzNTMzLDcgQEAKIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KIAotICAgICAgICBUaGlzIHBhdGNoIGVu
YWJsZXMgcmVnaW9uIHN0eWxpbmcgYWdhaW4uIFRoZSByZWdpb24gc3R5bGluZyB0ZXN0cyB3ZXJl
IGFsc28gYWRkZWQgYmFjay4gCisgICAgICAgIFRoaXMgcGF0Y2ggZW5hYmxlcyByZWdpb24gc3R5
bGluZyBhZ2Fpbi4gVGhlIHJlZ2lvbiBzdHlsaW5nIHRlc3RzIHdlcmUgYWxzbyBhZGRlZCBiYWNr
LgogICAgICAgICBXaXRoIHRoZSBpbXByb3ZlbWVudHMgZnJvbSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNjUsIGhvcGVmdWxseSB3ZSB3aWxsIG5vdCBzZWUgdGhl
IHNhbWUgMyUgcmVncmVzc2lvbnMKICAgICAgICAgaW4gcGVyZm9ybWFuY2UuCiAKQEAgLTQzNTU0
LDcgKzQzNTg5LDcgQEAKIDIwMTItMDEtMTkgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU3
NwotICAgICAgICAKKwogICAgICAgICBGaXggY3Jhc2ggd2hlbiBuZXN0ZWQgbGluZSBncmlkcyBh
cmUgdXNlZC4gTWFrZSBzdXJlIHRvIGJhaWwgb3V0IGlmIG5vIGxpbmUgZ3JpZAogICAgICAgICBp
cyBmb3VuZCByYXRoZXIgdGhhbiBjcmFzaGluZy4KIApAQCAtNDM3ODksOCArNDM4MjQsOCBAQAog
CiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCiAKLSAgICAgICAgQm9yZGVyVmFsdWUg
c3RvcmVzIGl0cyB3aWR0aCBvbiBhIDEyIGJpdHMgdW5zaWduZWQuIFRoaXMgcGF0Y2ggCi0gICAg
ICAgIGluY3JlYXNlIGl0IHRvIDI3LiBUaGUgcGF0Y2ggYWxzbyBtb2RpZnkgdGhlIHdheSB0byBz
ZXQgdGhlIAorICAgICAgICBCb3JkZXJWYWx1ZSBzdG9yZXMgaXRzIHdpZHRoIG9uIGEgMTIgYml0
cyB1bnNpZ25lZC4gVGhpcyBwYXRjaAorICAgICAgICBpbmNyZWFzZSBpdCB0byAyNy4gVGhlIHBh
dGNoIGFsc28gbW9kaWZ5IHRoZSB3YXkgdG8gc2V0IHRoZQogICAgICAgICB3aWR0aCBvciB0byBn
ZXQgaXQsIHdlIG5vdyB1c2UgYSB1bnNpZ25lZCByYXRoZXIgdGhhbiBhIHNob3J0LgogCiAgICAg
ICAgIFRlc3Q6IGZhc3QvY3NzL2JvcmRlci13aWR0aC1sYXJnZS5odG1sCkBAIC00Mzg2Nyw3ICs0
MzkwMiw3IEBACiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcjo6
dmlld3BvcnQpOiBFeHBvcnQgdmlld3BvcnQoKSBmb3IgZWFzaWVyIGxlbmd0aCByZXNvbHV0aW9u
LgogICAgICAgICAqIHN2Zy9TVkdMZW5ndGhDb250ZXh0LmNwcDoKICAgICAgICAgKFdlYkNvcmU6
OlNWR0xlbmd0aENvbnRleHQ6OmRldGVybWluZVZpZXdwb3J0KTogRmluYWxseSBjbGVhbiB1cCB0
aGlzIGhlbGwsIGFuZCBtYWtlIGl0IGVhc3kgdG8gdW5kZXJzdGFuZC4gT25seSBuZWVkIHRvIHJl
c29sdmUgbGVuZ3RocyBhZ2FpbnN0IGVpdGhlciBSZW5kZXJTVkdSb290IG9yIFJlbmRlclNWR1Zp
ZXdwb3J0Q29udGFpbmVyIG5vdy4KLSAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5jcHA6IAor
ICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlNWR1NW
R0VsZW1lbnQ6OnZpZXdwb3J0KTogUmVtb3ZlIHdyb25nIGNvZGUgYW5kIGRpc2FibGUgdGhpcy4g
SXRzIG5vdCB1c2VkLCBhbmQgd2UgaGF2ZSBubyB0ZXN0IGNvdmVyYWdlIGZvciBpdC4gSXRzIGN1
cnJlbnQgaW1wbGVtZW50YXRpb24gZGlkbid0IG1ha2UgYW55IHNlbnNlLgogICAgICAgICAoV2Vi
Q29yZTo6U1ZHU1ZHRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOiBSZW1vdmUgaGFja3Mg
bWFwcGluZyBTVkcgd2lkdGgvaGVpZ2h0IGF0dHJpYnV0ZXMgdG8gQ1NTIHByb3BlcnRpZXMuCiAg
ICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKTogRGl0
dG8uCkBAIC00NDQzNiw3ICs0NDQ3MSw3IEBACiAgICAgICAgIE5vIG5ldyB0ZXN0cywgdGVzdGVk
IGJ5IGZhc3QvaGFybmVzcy91c2VyLXByZWZlcnJlZC1sYW5ndWFnZS5odG1sLgogCiAgICAgICAg
ICogcGxhdGZvcm0vbWFjL0xhbmd1YWdlLm1tOgotICAgICAgICAoV2ViQ29yZTo6cGxhdGZvcm1V
c2VyUHJlZmVycmVkTGFuZ3VhZ2VzKTogRG9uJ3Qgb3Zlci1yZWxlYXNlIGEgdGhlIENGU3RyaW5n
cyByZXR1cm5lZCBieSAKKyAgICAgICAgKFdlYkNvcmU6OnBsYXRmb3JtVXNlclByZWZlcnJlZExh
bmd1YWdlcyk6IERvbid0IG92ZXItcmVsZWFzZSBhIHRoZSBDRlN0cmluZ3MgcmV0dXJuZWQgYnkK
ICAgICAgICAgICAgIENGTG9jYWxlQ29weVByZWZlcnJlZExhbmd1YWdlcy4KIAogMjAxMi0wMS0x
OCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgpAQCAtNDQ5MTgsNyArNDQ5NTMs
NyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KIAotICAgICAgICBObyBu
ZXcgdGVzdHM7IGZpeGVzIGNvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLXdpdGgtaW52YWxpZC1zb3Vy
Y2UuaHRtbC4gTW9kaWZpZWQgCisgICAgICAgIE5vIG5ldyB0ZXN0czsgZml4ZXMgY29tcG9zaXRp
bmcvdmlkZW8vdmlkZW8td2l0aC1pbnZhbGlkLXNvdXJjZS5odG1sLiBNb2RpZmllZAogICAgICAg
ICBtZWRpYS92aWRlby1zb3VyY2UtZXJyb3Itbm8tY2FuZGlkYXRlLmh0bWwgdG8gY2hlY2sgZXJy
b3IgY29uZGl0aW9uLgogCiAgICAgICAgIFdoZW4gd2UgcnVuIG91dCBvZiBtZWRpYSBlbmdpbmVz
IGZvciBhIGdpdmVuIHJlc291cmNlLCBpbmZvcm0gdGhlIG1lZGlhIHBsYXllciBjbGllbnQKQEAg
LTQ1MDA5LDcgKzQ1MDQ0LDcgQEAKIAogICAgICAgICAqIHJlbmRlcmluZy9GaWx0ZXJFZmZlY3RS
ZW5kZXJlci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6YnVp
bGQpOgotICAgICAgICAgICAgRml4ZWQgYSBjYXNlIHdoZW4gdGhlIGZpbHRlciB3YXMgbm90IGNy
ZWF0ZWQsIGxldHRpbmcgdGhlIGZpbHRlciBhZGQgaXRzZWxmIGFzIGEgc291cmNlIG9mIGl0cyBv
d24uIAorICAgICAgICAgICAgRml4ZWQgYSBjYXNlIHdoZW4gdGhlIGZpbHRlciB3YXMgbm90IGNy
ZWF0ZWQsIGxldHRpbmcgdGhlIGZpbHRlciBhZGQgaXRzZWxmIGFzIGEgc291cmNlIG9mIGl0cyBv
d24uCiAgICAgICAgICAgICBBbHNvIGFkZGVkIGEgdGVzdCBjYXNlIGZvciB0aGlzIHBhcnRpY3Vs
YXIgY2FzZTogY3NzMy9maWx0ZXJzL2VmZmVjdC1jdXN0b20tY29tYmluZWQtbWlzc2luZy5odG1s
LgogCiAyMDEyLTAxLTE4ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CkBA
IC00NTE0Miw3ICs0NTE3Nyw3IEBACiAKIDIwMTItMDEtMTggIEFiaGlzaGVrIEFyeWEgIDxpbmZl
cm5vQGNocm9taXVtLm9yZz4KIAotICAgICAgICBDcmFzaCBpbiBGcmFtZVZpZXc6OmZvcmNlTGF5
b3V0UGFyZW50Vmlld0lmTmVlZGVkLiAgICAgICAgCisgICAgICAgIENyYXNoIGluIEZyYW1lVmll
dzo6Zm9yY2VMYXlvdXRQYXJlbnRWaWV3SWZOZWVkZWQuCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwOQogCiAgICAgICAgIFJldmlld2VkIGJ5IE5p
a29sYXMgWmltbWVybWFubi4KQEAgLTQ1NDM2LDcgKzQ1NDcxLDcgQEAKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjM5CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgotICAgICAgICAKKwogICAgICAgICBDbGVhciB0aGUgcmVz
b3VyY2VzIG9mIERyYXdpbmdCdWZmZXIgYnV0IGRvbid0IGNsZWFyICdtX3NpemUnLiBUaGlzIG1h
a2VzCiAgICAgICAgICdzX2N1cnJlbnRSZXNvdXJjZVVzZVBpeGVscycgaXMgbm90IGNhbGN1bGF0
ZWQgY29ycmVjdGx5LgogCkBAIC00NTU1Miw3ICs0NTU4Nyw3IEBACiAKICAgICAgICAgaGFuZGxl
TW91c2VNb3ZlRXZlbnQgY2FsbCBpbiBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQgY2FuCiAgICAg
ICAgIGJsb3cgYXdheSB0aGUgZnJhbWUgZnJvbSB1bmRlcm5lYXRoLiBQcm90ZWN0IGl0IHdpdGgg
YSBmcmFtZXZpZXcKLSAgICAgICAgcmVmcHRyLiAgICAgICAgCisgICAgICAgIHJlZnB0ci4KIAog
ICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1tb3ZlZC1yZW1vdmUtZnJhbWUtY3Jhc2gu
aHRtbAogCkBAIC00NTY3MCw3ICs0NTcwNSw3IEBACiAyMDEyLTAxLTEyICBEYXZpZCBIeWF0dCAg
PGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzYxOTcKLSAgICAgICAgCisKICAgICAgICAgSW1wbGVtZW50YXRpb24gb2Yg
YmFzZWxpbmUgZ3JpZCBhbGlnbm1lbnQuIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBsaW5lIGdyaWQg
dHJhY2tpbmcgaW4gdGhlIGxheW91dCBzdGF0ZSwKICAgICAgICAgYW5kIGFsc28gaW1wbGVtZW50
cyB0aGUgc25hcHBpbmcgb2YgbGluZXMgdG8gYmFzZWxpbmVzLiBJdCB3b3JrcyB3aXRoIG5vcm1h
bCBmbG93LCBwb3NpdGlvbmluZyBhbmQgZmxvYXRzIGFuZAogICAgICAgICB3aXRoIHBhZ2luYXRp
b24sIGFzIGxvbmcgYXMgdGhlIGdyaWQgaXMgaW5zaWRlIHRoZSBwYWdpbmF0aW9uIGNvbnRleHQg
YW5kIG5vdCBvdXRzaWRlLgpAQCAtNDYyNTMsNyArNDYyODgsNyBAQAogICAgICAgICAgICAgICBm
YXN0L3RhYmxlL211bHRpcGxlLWNhcHRpb25zLWNyYXNoNS5odG1sCiAKICAgICAgICAgV2hlbiBh
IGNoaWxkIGZsb2F0IGlzIHJlbW92ZWQsIHRoZSBwYXJlbnQgbmVlZHMgdG8gZW5zdXJlIGFueSBy
ZWZlcmVuY2UgdG8gdGhlCi0gICAgICAgIGNoaWxkIGlzIGFsc28gcmVtb3ZlZCBmcm9tIHRoZSBm
bG9hdGluZyBvYmplY3RzIGxpc3QgaW4gYW55IHNpYmxpbmcgYmxvY2sgdGhhdCAKKyAgICAgICAg
Y2hpbGQgaXMgYWxzbyByZW1vdmVkIGZyb20gdGhlIGZsb2F0aW5nIG9iamVjdHMgbGlzdCBpbiBh
bnkgc2libGluZyBibG9jayB0aGF0CiAgICAgICAgIGl0IGludHJ1ZGVkIGludG8uCiAKICAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgpAQCAtNDYyNzAsNyArNDYzMDUsNyBAQAog
ICAgICAgICBQcmlvciB0byByMTAyNTUzIEVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJh
ZEdyYW1tYXJJblJhbmdlcygpIHVzZWQgdG8gcGFzcyBpdHMKICAgICAgICAgdGV4dENoZWNraW5n
T3B0aW9ucyBkaXJlY3RseSB0byBtYXJrQW5kUmVwbGFjZUZvcigpLiBOb3cgYSByZXF1ZXN0IG9i
amVjdCBpcyB1c2VkLAogICAgICAgICBidXQsIHdoZW4gdGhlIG9iamVjdCBpcyBjcmVhdGVkLCB0
aGUgVGV4dENoZWNraW5nVHlwZVNob3dDb3JyZWN0aW9uUGFuZWwgZmxhZyBpcyBkcm9wcGVkLgot
ICAgICAgICAKKwogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAogICAgICAgICAq
IGVkaXRpbmcvRWRpdG9yLmNwcDoKQEAgLTQ2MzExLDI3ICs0NjM0NiwyNyBAQAogICAgICAgICBj
b2xsZWN0IHRoZSB1c2VkIGZlYXR1cmVzIGFnYWluLiBXZSBzaG91bGQga2VlcCB0aGUgZmVhdHVy
ZXMgYXJvdW5kIGFzIHBhcnQgb2YgdGhlIFJ1bGVTZXRzCiAgICAgICAgIGFuZCB1cGRhdGUgdGhl
bSBpbmNyZW1lbnRhbGx5LiBDb2xsZWN0aW5nIHRoZSBmZWF0dXJlcyB3aWxsIHRoZW4gYmUganVz
dCBhIG1hdHRlciBvZiB0YWtpbmcKICAgICAgICAgdGhlIHVuaW9uIG9mIGFsbCBmZWF0dXJlcyB1
c2VkIGJ5IHRoZSBSdWxlU2V0cy4KLSAgICAgICAgCisKICAgICAgICAgVGhpcyBpcyAxLTIlIENQ
VSB0aW1lIHJlZHVjdGlvbiAoZW5nYWRnZXQsIG55dGltZXMpIGR1ZSBsZXNzIHRpbWUgc3BlbnQg
aW4gZmVhdHVyZSBjb2xsZWN0aW9uLgotICAgICAgICAKKwogICAgICAgICBUaGlzIGFsc28gc2lt
cGxpZmllcyB0aGUgY29kZSBieSByZW1vdmluZyB0aGUgbmVlZCB0byBjYWNoZSB0aGUgZGVmYXVs
dCBzdHlsZSBzaGVldCBmZWF0dXJlcwotICAgICAgICBzZXBhcmF0ZWx5LiAKKyAgICAgICAgc2Vw
YXJhdGVseS4KIAogICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKLSAgICAgICAg
CisKICAgICAgICAgICAgIFJlbW92ZSB0aGUgZ2xvYmFsIHNpYmxpbmdSdWxlc0luRGVmYXVsdFN0
eWxlIGFuZCB1bmNvbW1vbkF0dHJpYnV0ZVJ1bGVzSW5EZWZhdWx0U3R5bGUgUnVsZVNldHMuCiAg
ICAgICAgICAgICBUaGVzZSBhcmUgbm93IHBhcnQgb2YgdGhlIGNhY2hlZCBmZWF0dXJlcyBvZiB0
aGUgZGVmYXVsdFN0eWxlLgotICAgICAgICAKKwogICAgICAgICAoV2ViQ29yZTo6UnVsZVNldDo6
ZmVhdHVyZXMpOgotICAgICAgICAKKwogICAgICAgICAgICAgQWRkIGEgZmllbGQgZm9yIGNhY2hp
bmcgdGhlIGZlYXR1cmVzLgotICAgICAgICAKKwogICAgICAgICAoV2ViQ29yZTo6bWFrZVJ1bGVT
ZXQpOgogICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y29sbGVjdEZlYXR1cmVz
KToKLSAgICAgICAgCisKICAgICAgICAgICAgIFVuaWZ5IHRoZSBmZWF0dXJlcyBvZiBhbGwgUnVs
ZVNldHMuCiAgICAgICAgICAgICBDcmVhdGUgUnVsZVNldHMgZm9yIHNpYmxpbmcgYW5kIHVuY29t
bW9uIGF0dHJpYnV0ZSBsb29rdXBzIGF0IHRoZSBlbmQuCi0gICAgICAgIAorCiAgICAgICAgIChX
ZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBlbmRBdXRob3JTdHlsZXNoZWV0cyk6CiAgICAg
ICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpGZWF0dXJlczo6YWRkKToKICAgICAgICAg
KFdlYkNvcmU6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQpOgpAQCAtNDYzNDAs
MTMgKzQ2Mzc1LDEzIEBACiAgICAgICAgIChXZWJDb3JlOjpjb2xsZWN0RmVhdHVyZXNGcm9tUnVs
ZURhdGEpOgogICAgICAgICAoV2ViQ29yZTo6UnVsZVNldDo6YWRkVG9SdWxlU2V0KToKICAgICAg
ICAgKFdlYkNvcmU6OlJ1bGVTZXQ6OmFkZFJ1bGUpOgotICAgICAgICAKKwogICAgICAgICAgICAg
Q29sbGVjdCB0aGUgZmVhdHVyZXMgd2hlbiBhZGRpbmcgdGhlIHJ1bGVzIHJhdGhlciB0aGFuIGFz
IGEgc2VwYXJhdGUgcGFzcyB0aHJvdWdoIGFsbCB0aGUgcnVsZXMuCi0gICAgICAgIAorCiAgICAg
ICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKICAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxl
U2VsZWN0b3I6OnVzZXNTaWJsaW5nUnVsZXMpOgogICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVT
ZWxlY3Rvcjo6UnVsZVNlbGVjdG9yUGFpcjo6UnVsZVNlbGVjdG9yUGFpcik6Ci0gICAgICAgIAor
CiAgICAgICAgICAgICBVc2UgVmVjdG9yIGluc3RlYWQgb2YgYSBSdWxlU2V0IGZvciBzaWJsaW5n
IGFuZCB1bmNvbW1vbiBhdHRyaWJ1dGUgc2VsZWN0b3JzIHNvIHVuaWZ5aW5nCiAgICAgICAgICAg
ICBGZWF0dXJlcyBpcyBzaW1wbGVyLgogCkBAIC00NjM1NiwxMCArNDYzOTEsMTAgQEAKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzExCiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgotICAgICAgICAKKwogICAgICAgICBGaWx0ZXJp
bmcgYW4gZWxlbWVudCB3aXRoIGEgY2hpbGQgdGhhdCBoYWQgYSBodWdlIG5lZ2F0aXZlIHRleHQt
aW5kZW50CiAgICAgICAgIHdhcyBleHRyZW1lbHkgc2xvdywgYmVjYXVzZSB0cmFuc3BhcmVuY3lD
bGlwQm94KCkgcmV0dXJuZWQgYSBodWdlIHJlY3QuCi0gICAgICAgIAorCiAgICAgICAgIEFkZCBh
IG1ldGhvZCwgcGFpbnRpbmdFeHRlbnQoKSwgdGhhdCB3cmFwcyB0cmFuc3BhcmVuY3lDbGlwQm94
KCkKICAgICAgICAgYW5kIGludGVyc2VjdHMgaXQgd2l0aCB0aGUgcGFpbnREaXJ0eVJlY3QgdG8g
Y29uc3RyYWluIHRoZSBzaXplCiAgICAgICAgIG9mIHRoZSByZWN0IHVzZWQgZm9yIGZpbHRlcnMg
YW5kIHRyYW5zcGFyZW5jeSBsYXllcnMuCkBAIC00NjM4MCw3ICs0NjQxNSw3IEBACiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEzNwogCiAgICAgICAg
IFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KLSAgICAgICAgCisKICAgICAgICAgVGhlcmUgYXJl
IHNvbWUgY29ycmVjdCBiZWhhdmlvcnMgZm9yIC13ZWJraXQtbWFzay1ib3gtaW1hZ2Ugd2hlcmUK
ICAgICAgICAgcGFydHMgb2YgdGhlIG1hc2sgYXJlIG1pc3NpbmcgKHdoZW4gdGhlIHN1bSBvZiB0
aGUgc2xpY2Ugc2l6ZXMgaXMKICAgICAgICAgZ3JlYXRlciB0aGFuIG9uZSBkaW1lbnNpb24gb2Yg
dGhlIGltYWdlKS4gVG8gcmVuZGVyIGNvcnJlY3RseQpAQCAtNDYzOTgsNyArNDY0MzMsNyBAQAog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMjIKIAog
ICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCi0gICAgICAgIAorCiAgICAgICAgIElm
IGEgUmVuZGVyTGF5ZXIgaGFzIGEgZmlsdGVyIGVmZmVjdCwgYW5kIGEgY29tcG9zaXRlZCBkZXNj
ZW5kYW50LCB0aGVuCiAgICAgICAgIHRoYXQgbGF5ZXIgbXVzdCBhbHNvIGJlIGNvbXBvc2l0ZWQg
c28gdGhhdCB0aGUgZmlsdGVyIGlzIGFwcGxpZWQgdmlhCiAgICAgICAgIHRoZSBjb21wb3NpdGlu
ZyBzeXN0ZW0sIHJhdGhlciB0aGFuIHZpYSBwYWludGluZyAob3RoZXJ3aXNlIHRoZSBmaWx0ZXIK
QEAgLTQ2NTI2LDcgKzQ2NTYxLDcgQEAKICAgICAgICAgTm8gbmV3IHRlc3RzOyBvcHRpbWl6YXRp
b24gb2YgZXhpc3RpbmcgY29kZSwgc28gY292ZXJlZCBieSBleGlzdGluZyB0ZXN0IGNhc2VzLgog
CiAgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvQ2hhbm5lbDo6bWF4QWJzVmFsdWUpOiBSZXBsYWNlIGltcGxlbWVudGF0aW9u
IHdpdGggb3B0aW1pemVkIHZlY3RvciBtYXRoIAorICAgICAgICAoV2ViQ29yZTo6QXVkaW9DaGFu
bmVsOjptYXhBYnNWYWx1ZSk6IFJlcGxhY2UgaW1wbGVtZW50YXRpb24gd2l0aCBvcHRpbWl6ZWQg
dmVjdG9yIG1hdGgKICAgICAgICAgICAgIG9wZXJhdGlvbi4KICAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9WZWN0b3JNYXRoLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlZlY3Rvck1hdGg6OnZtYXht
Z3YpOiBWZWN0b3IgbWF0aCBvcGVyYXRpb24gZm9yIGRldGVybWluaW5nIG1heGltdW0KQEAgLTQ3
MDc5LDcgKzQ3MTE0LDcgQEAKICAgICAgICAgb2YgYSB0YWJsZSBpcyBvbmx5IGluY3JlYXNlZCB3
aGVuIGl0IGhhcyBjb2xsYXBzaW5nIGJvcmRlcnMuCiAKICAgICAgICAgVGhlIGdhaW4gaW4gcGVy
Zm9ybWFuY2UgaGVyZSBjb25zaXN0cyBvZiBza2lwcGluZyBjb2xsYXBzZWQgYm9yZGVyIGNvbXB1
dGF0aW9uCi0gICAgICAgIGR1cmluZyBwYWludGluZy4gVGhlIG9ubHkgcGF0aCB0aGF0IGluY3Vy
cyBhIHNtYWxsIHBlcmZvcm1hbmNlIHBlbmFsdHkgaXMgdGhlIAorICAgICAgICBkdXJpbmcgcGFp
bnRpbmcuIFRoZSBvbmx5IHBhdGggdGhhdCBpbmN1cnMgYSBzbWFsbCBwZXJmb3JtYW5jZSBwZW5h
bHR5IGlzIHRoZQogICAgICAgICBhZGRpdGlvbmFsIGdldC9zZXQgb24gdGhlIGNhY2hlIHdoZW4g
YSBjb2xsYXBzZWQgYm9yZGVyIGlzIGNvbXB1dGVkLiBUaGlzIHBlbmFsdHkgb25seSBhcHBsaWVz
CiAgICAgICAgIGR1cmluZyBzdHlsZSBjaGFuZ2UsIGxheW91dCwgb3Igd2hlbiB0aGUgd2lkdGgg
b2YgdGhlIHRhYmxlIGlzIGNhbGN1bGF0ZWQuIFRoZSBjb21wdXRlZAogICAgICAgICBib3JkZXIg
dmFsdWUgaXMgbm90IHN0b3JlZCBpbiB0aGUgY2FjaGUgd2hlbiBpdCBoYXMgYmVlbiBjYWxjdWxh
dGVkIHdpdGhvdXQgaXRzIGNvbG9yCkBAIC00NzA5MCw3ICs0NzEyNSw3IEBACiAgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
YWJsZUNlbGw6OndpbGxCZURlc3Ryb3llZCk6IHJlbW92ZSBlbnRyaWVzIGZyb20gY29sbGFwc2Vk
IGJvcmRlciBjYWNoZQogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpjb2xsYXBz
ZWRTdGFydEJvcmRlcik6Ci0gICAgICAgICBDb21wdXRlLCBhbmQgYWxzbyBjYWNoZSBpZiB0aGUg
ZnVsbCBib3JkZXIgaW5jbHVkaW5nIGNvbG9yIHdhcyBjb21wdXRlZC4gCisgICAgICAgICBDb21w
dXRlLCBhbmQgYWxzbyBjYWNoZSBpZiB0aGUgZnVsbCBib3JkZXIgaW5jbHVkaW5nIGNvbG9yIHdh
cyBjb21wdXRlZC4KICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6Y29tcHV0ZUNv
bGxhcHNlZFN0YXJ0Qm9yZGVyKToKICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6
Y29sbGFwc2VkRW5kQm9yZGVyKTogZGl0dG8KICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxl
Q2VsbDo6Y29tcHV0ZUNvbGxhcHNlZEVuZEJvcmRlcik6CkBAIC00NzExNCw3ICs0NzE0OSw3IEBA
CiAgICAgICAgICBzaW5jZSBpdCBpcyB0aGUgb25seSBvd25lciBvZiB0aGUgY2FjaGVkIGl0ZW0u
CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnNldENhY2hlZENvbGxhcHNl
ZEJvcmRlcik6CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhY2hlZENv
bGxhcHNlZEJvcmRlcik6Ci0gICAgICAgICBUaGlzIHdpbGwgYXNzZXJ0IGlmIHRoZXJlIGlzIG5v
IGNhY2hlZCBjb2xsYXBzZWQgYm9yZGVyIGZvciB0aGUgc2lkZSBvZiB0aGUgCisgICAgICAgICBU
aGlzIHdpbGwgYXNzZXJ0IGlmIHRoZXJlIGlzIG5vIGNhY2hlZCBjb2xsYXBzZWQgYm9yZGVyIGZv
ciB0aGUgc2lkZSBvZiB0aGUKICAgICAgICAgIGNlbGwgcmVxdWVzdGVkIGJ5IHRoZSBjYWxsZXIu
CiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgogICAgICAgICAgSGFz
aE1hcCB3b3VsZG4ndCBsZXQgbWUgdXNlIENvbGxhcHNlZEJvcmRlclNpZGUgaW4gdGhlIGtleSB2
YWx1ZSBmb3IgdGhlIGNhY2hlCkBAIC00NzE5Nyw3ICs0NzIzMiw3IEBACiAgICAgICAgIGZvciB1
cGRhdGluZyBjb250cm9sIHRpbnRzLCBvciBjb21wdXRpbmcgdGV4dCByZWN0YW5nbGVzIG9uIEZp
bmQsIGRvIG5vdAogICAgICAgICBhcHBseSBmaWx0ZXIgZWZmZWN0cy4gVGhpcyBpcyBib3RoIGEg
cGVyZm9ybWFuY2UgZ2FpbiwgYW5kIGZpeGVzIGFuIGlzc3VlCiAgICAgICAgIHdpdGggbWlzbWF0
Y2hlZCBiZWdpbi9lbmQgdHJhbnNwYXJlbmN5IGxheWVycy4KLSAgICAgICAgCisKICAgICAgICAg
TWFudWFsIHRlc3Q6CiAgICAgICAgICAgICBNYW51YWxUZXN0cy9maWx0ZXJzL29wYWNpdHktYWJv
dmUtZmlsdGVyLmh0bWwKIApAQCAtNDcyODMsOSArNDczMTgsOSBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCiAKLSAgICAgICAgVGhlc2UgbmV3IGZ1bmN0aW9u
cyBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBzY3JvbGxiYXIgc2hvdWxkIHBhcnRpY2lwYXRlIGluIGhp
dCAKLSAgICAgICAgdGVzdGluZy4gTm9uLW92ZXJsYXkgc2Nyb2xsYmFycyBhbHdheXMgc2hvdWxk
LCBzbyB0aGV5IHJldHVybiB0cnVlLiBPdmVybGF5IAotICAgICAgICBzY3JvbGxiYXJzIGNvbnN1
bHQgdGhlIGFuaW1hdG9yLCB3aGljaCBjaGVja3MgdGhlIGN1cnJlbnQgYWxwaGEuIAorICAgICAg
ICBUaGVzZSBuZXcgZnVuY3Rpb25zIGluZGljYXRlIHdoZXRoZXIgdGhlIHNjcm9sbGJhciBzaG91
bGQgcGFydGljaXBhdGUgaW4gaGl0CisgICAgICAgIHRlc3RpbmcuIE5vbi1vdmVybGF5IHNjcm9s
bGJhcnMgYWx3YXlzIHNob3VsZCwgc28gdGhleSByZXR1cm4gdHJ1ZS4gT3ZlcmxheQorICAgICAg
ICBzY3JvbGxiYXJzIGNvbnN1bHQgdGhlIGFuaW1hdG9yLCB3aGljaCBjaGVja3MgdGhlIGN1cnJl
bnQgYWxwaGEuCiAgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaDoKICAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpzaG91bGRTY3JvbGxiYXJQYXJ0aWNpcGF0ZUluSGl0
VGVzdGluZyk6CiAgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKQEAgLTQ3Mjk1LDcg
KzQ3MzMwLDcgQEAKICAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06
CiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6IHNob3VsZFNjcm9sbGJhclBh
cnRpY2lwYXRlSW5IaXRUZXN0aW5nKToKIAotICAgICAgICBJbiB0aGVzZSBoaXQtdGVzdGluZyBm
dW5jdGlvbnMsIG9ubHkgaGl0LXRlc3Qgd2hlbiB0aGUgc2Nyb2xsYmFyIHNob3VsZCAKKyAgICAg
ICAgSW4gdGhlc2UgaGl0LXRlc3RpbmcgZnVuY3Rpb25zLCBvbmx5IGhpdC10ZXN0IHdoZW4gdGhl
IHNjcm9sbGJhciBzaG91bGQKICAgICAgICAgcGFydGljaXBhdGUuCiAgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsVmlldy5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzY3JvbGxi
YXJBdFBvaW50KToKQEAgLTQ3MzE2LDcgKzQ3MzUxLDcgQEAKICAgICAgICAgKiBjc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5M
b2FkVGltZXJGaXJlZCk6IEFkZGVkIGEgY2FsbCB0bwogICAgICAgICBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6bG9hZERvbmUoKSBhZnRlciBkZWNyZW1lbnRpbmcgdGhlIHJlcXVlc3QgY291bnQuIFRo
aXMgYWxsb3dzIHRoZQotICAgICAgICBmcmFtZSBsb2FkZXIgdG8gc2VlIHRoYXQgdGhlIHJlcXVl
c3QgY291bnQgaXMgemVybyBhbmQgZGlzcGF0Y2ggZGlkRmluaXNoTG9hZC4gCisgICAgICAgIGZy
YW1lIGxvYWRlciB0byBzZWUgdGhhdCB0aGUgcmVxdWVzdCBjb3VudCBpcyB6ZXJvIGFuZCBkaXNw
YXRjaCBkaWRGaW5pc2hMb2FkLgogCiAyMDEyLTAxLTEzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgogCkBAIC00ODQ1Miw3ICs0ODQ4Nyw3IEBACiAKICAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZGVzdHJveVJvb3RMYXllcik6CiAgICAgICAgIFJlbW92
ZSBQTEFURk9STShDSFJPTUlVTSkgI2lmZGVmcy4KLSAgICAgICAgCisKICAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CiAgICAgICAgIERpdHRvLgogCkBAIC00ODY4
Niw3ICs0ODcyMSw3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KIAotICAg
ICAgICBBbGwgdGhpcyByZWFsbHkgcmVxdWlyZXMgaXMgbGVhdmluZyB0aGUgcHJvcGVyIGFtb3Vu
dCBvZiBzcGFjZSBmb3IgdGhlIAorICAgICAgICBBbGwgdGhpcyByZWFsbHkgcmVxdWlyZXMgaXMg
bGVhdmluZyB0aGUgcHJvcGVyIGFtb3VudCBvZiBzcGFjZSBmb3IgdGhlCiAgICAgICAgIGV4cGFu
ZGVkIHdpZHRoLgogICAgICAgICAqIHBsYXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5o
OgogICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKQEAgLTQ4NzMy
LDcgKzQ4NzY3LDcgQEAKIAogICAgICAgICBObyBuZXcgdGVzdHM7IG5vIG5ldCBjaGFuZ2UgaW4g
ZnVuY3Rpb25hbGl0eS4KIAotICAgICAgICBBZGQgYSBuZXcgV2ViQ29yZUxvZ0xldmVsIGZvciBX
ZWJBdWRpbywgYW5kIHVzZSB0aGlzIG5ldyBsb2cgbGV2ZWwgaW5zdGVhZCBvZiAKKyAgICAgICAg
QWRkIGEgbmV3IFdlYkNvcmVMb2dMZXZlbCBmb3IgV2ViQXVkaW8sIGFuZCB1c2UgdGhpcyBuZXcg
bG9nIGxldmVsIGluc3RlYWQgb2YKICAgICAgICAgcHJpbnRmIHN0YXRlbWVudHMgaW4gd2ViYXVk
aW8gY2xhc3Nlcy4KIAogICAgICAgICAqIHBsYXRmb3JtL0xvZ2dpbmcuY3BwOgpAQCAtNDg3OTMs
MTAgKzQ4ODI4LDEwIEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NjEzNwogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmUgSHlhdHQuCi0gICAgICAg
IAorCiAgICAgICAgIFdoZW4gYm9yZGVyLWltYWdlLXNsaWNlIHNpemVzIGFkZCB1cCB0byBtb3Jl
IHRoYW4gdGhlIGhlaWdodCBvciB3aWR0aAogICAgICAgICBvZiB0aGUgYm9yZGVyLWltYWdlLCB0
aGUgbWlkZGxlIHNlY3Rpb25zIHNob3VsZCBub3QgYmUgcmVuZGVyZWQsIHBlciBzcGVjLgotICAg
ICAgICAKKwogICAgICAgICBUZXN0OiBmYXN0L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNsaWNlLWNv
bnN0cmFpbmVkLmh0bWwKIAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHA6CkBAIC00ODg2MSwxNiArNDg4OTYsMTYgQEAKIAogMjAxMi0wMS0xMiAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKLSAgICAgICAgUkVHUkVTU0lPTihyMTA0MDYwKTog
U2V0dGluZyB1c2VyIHN0eWxlc2hlZXQgbWF5IGxlYXZlIENTU1N0eWxlU2VsZWN0b3Igd2l0aCBz
dGFsZSBydWxlIHBvaW50ZXJzIAorICAgICAgICBSRUdSRVNTSU9OKHIxMDQwNjApOiBTZXR0aW5n
IHVzZXIgc3R5bGVzaGVldCBtYXkgbGVhdmUgQ1NTU3R5bGVTZWxlY3RvciB3aXRoIHN0YWxlIHJ1
bGUgcG9pbnRlcnMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc2MTkxCiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KLSAgICAgICAg
CisKICAgICAgICAgU2V0dGluZyB0aGUgdXNlciBzdHlsZSBzaGVldCBmcmVlcyB0aGUgZXhpc3Rp
bmcgdXNlciBzdHlsZSBzaGVldCBkYXRhIHN0cnVjdHVyZXMuIFRoZSBjb2RlCiAgICAgICAgIGlu
IERvY3VtZW50Ojp1cGRhdGVQYWdlR3JvdXBVc2VyU2hlZXRzIHRoZW4gcmVsaWVzIG9uIHN0eWxl
U2VsZWN0b3JDaGFuZ2VkIHRvIGNsZWFyIHRoZQogICAgICAgICBzdHlsZSBzZWxlY3RvciBzbyBp
dCBpcyBub3QgbGVmdCB3aXRoIHN0YWxlIHBvaW50ZXJzLiBIb3dldmVyIHVuZGVyIGNlcnRhaW4g
Y29uZGl0aW9ucwogICAgICAgICBpbnZvbHZpbmcgcGVuZGluZyBzdHlsZXNoZWV0cyBpdCBtYXkg
YmFpbCBvdXQgcXVpY2tseSB3aXRob3V0IGNsZWFyaW5nLgotICAgICAgICAKKwogICAgICAgICBE
b2N1bWVudDo6c3R5bGVTZWxlY3RvckNoYW5nZWQgaGFzIHRvIHRha2UgY2FyZSB0aGF0IGl0IG5l
dmVyIGxlYXZlcyB0aGUgc3R5bGUgc2VsZWN0b3Igc3RhbGUKICAgICAgICAgZXZlbiB3aGVuIGJh
aWxpbmcgb3V0IGVhcmx5LgogCkBAIC00ODk1Myw3ICs0ODk4OCw3IEBACiAgICAgICAgIFRlc3Rz
OiBmdWxsc2NyZWVuL2Z1bGwtc2NyZWVuLXJlcXVlc3QtcmVqZWN0ZWQuaHRtbAogICAgICAgICAg
ICAgICAgZnVsbHNjcmVlbi9mdWxsLXNjcmVlbi1yZXF1ZXN0LXJlbW92ZWQuaHRtbAogCi0gICAg
ICAgIFdoZW4gYSByZXF1ZXN0IHRvIGVudGVyIGZ1bGwtc2NyZWVuIGlzIHJlamVjdGVkLCBlbWl0
IGFuIGV2ZW50IAorICAgICAgICBXaGVuIGEgcmVxdWVzdCB0byBlbnRlciBmdWxsLXNjcmVlbiBp
cyByZWplY3RlZCwgZW1pdCBhbiBldmVudAogICAgICAgICAod2Via2l0ZnVsbHNjcmVlbmVycm9y
KSBpbiByZXNwb25zZS4gIEJ1dCBlbWl0IHRoZSBldmVudCBkdXJpbmcgdGhlIG5leHQKICAgICAg
ICAgdHJpcCB0aHJvdWdoIHRoZSBydW4tbG9vcCwgbGlrZSB0aGUgd2Via2l0ZnVsbHNjcmVlbmNo
YW5nZSBldmVudCwgYW5kIHNvIGEgbmV3CiAgICAgICAgIHRpbWVyIGFuZCBxdWV1ZSBhcmUgbmVj
ZXNzYXJ5LgpAQCAtNDg5NzAsNyArNDkwMDUsNyBAQAogMjAxMi0wMS0xMiAgQmV0aCBEYWtpbiAg
PGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc2MTMzCi0gICAgICAgIFNjcm9sbEFuaW1hdG9yTWFjOjptb3VzZUVudGVy
ZWRTY3JvbGxiYXIoKSBhbmQgbW91c2VFeGl0ZWRTY3JvbGxiYXIoKSBzaG91bGQgCisgICAgICAg
IFNjcm9sbEFuaW1hdG9yTWFjOjptb3VzZUVudGVyZWRTY3JvbGxiYXIoKSBhbmQgbW91c2VFeGl0
ZWRTY3JvbGxiYXIoKSBzaG91bGQKICAgICAgICAgb25seSBkbyBzdHVmZiBmb3IgbGVnYWN5IHNj
cm9sbGJhcnMKICAgICAgICAgLWFuZCBjb3JyZXNwb25kaW5nLQogICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTA2MDMyOTA+CkBAIC00OTQwNyw5ICs0OTQ0Miw5IEBACiAgICAgICAgIFJldmlld2Vk
IGJ5IFRvbnkgQ2hhbmcuCiAKICAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoaXMgaXMgcmVm
YWN0b3Jpbmcgb2YgZXhpc3RpbmcgY29kZS4KLSAgICAgICAgUmVwbGFjZSAoc3R5bGUoKS0+cG9z
aXRpb24oKSA9PSBBYnNvbHV0ZVBvc2l0aW9uIHx8IHN0eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4
ZWRQb3NpdGlvbikgCisgICAgICAgIFJlcGxhY2UgKHN0eWxlKCktPnBvc2l0aW9uKCkgPT0gQWJz
b2x1dGVQb3NpdGlvbiB8fCBzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24pCiAg
ICAgICAgIHdpdGggKHN0eWxlKCktPmlzUG9zaXRpb25lZCgpKS4KLSAgICAgICAgUmVwbGFjZSAo
c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBBYnNvbHV0ZVBvc2l0aW9uICYmIHN0eWxlKCktPnBvc2l0
aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikgCisgICAgICAgIFJlcGxhY2UgKHN0eWxlKCktPnBvc2l0
aW9uKCkgIT0gQWJzb2x1dGVQb3NpdGlvbiAmJiBzdHlsZSgpLT5wb3NpdGlvbigpICE9IEZpeGVk
UG9zaXRpb24pCiAgICAgICAgIHdpdGggKCFzdHlsZSgpLT5pc1Bvc2l0aW9uZWQoKSkuCiAKICAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKQEAgLTQ5NjA5LDE1ICs0OTY0NCwxNSBA
QAogMjAxMi0wMS0xMSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTA0Ci0gICAgICAgIFdl
YktpdCAxOiBTY3JvbGxiYXIgdWlTdGF0ZVRyYW5zaXRpb25Qcm9ncmVzcyByZXF1aXJlcyB0cmFj
a2luZyB0aGUgbW91c2UgYWxsIAorICAgICAgICBXZWJLaXQgMTogU2Nyb2xsYmFyIHVpU3RhdGVU
cmFuc2l0aW9uUHJvZ3Jlc3MgcmVxdWlyZXMgdHJhY2tpbmcgdGhlIG1vdXNlIGFsbAogICAgICAg
ICB0aGUgdGltZQogICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCiAgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xMDQ5ODgxNj4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAot
ICAgICAgICBUaGlzIHBhdGNoIGdldHMgcmlkIG9mIHRoZSBvcHRpb25hbCBwYXJhbWV0ZXIgY2Fs
bGVkIG9ubHlVcGRhdGVTY3JvbGxiYXJzIGZvciAKLSAgICAgICAgbW91c2VNb3ZlZCgpIGFuZCBp
bnN0ZWFkIG1vdmVzIHRoYXQgZnVuY3Rpb25hbGl0eSBpbnRvIGl0cyBvd24gZnVuY3Rpb24gCisg
ICAgICAgIFRoaXMgcGF0Y2ggZ2V0cyByaWQgb2YgdGhlIG9wdGlvbmFsIHBhcmFtZXRlciBjYWxs
ZWQgb25seVVwZGF0ZVNjcm9sbGJhcnMgZm9yCisgICAgICAgIG1vdXNlTW92ZWQoKSBhbmQgaW5z
dGVhZCBtb3ZlcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaW50byBpdHMgb3duIGZ1bmN0aW9uCiAgICAg
ICAgIGNhbGxlZCBwYXNzTW91c2VNb3ZlZEV2ZW50VG9TY3JvbGxiYXJzKCkuCiAgICAgICAgICog
V2ViQ29yZS5leHAuaW46CiAgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgpAQCAtNDk2
MzMsNyArNDk2NjgsNyBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzYxMDgKIAogICAgICAgICBVcGRhdGVkIElEQkRhdGFiYXNlRXhjZXB0aW9uIGVy
cm9yIGNvZGVzIHRvIG1hdGNoIHNwZWMgKHRoZSBwcmUtRE9NNCB2ZXJzaW9uKSwKLSAgICAgICAg
aW5jbHVkaW5nIHVwZGF0ZWQgZGVzY3JpcHRpb24gc3RyaW5ncywgYW5kIGNoYW5nZWQgcmVsZXZh
bnQgc3RvcmUgYW5kIGluZGV4IAorICAgICAgICBpbmNsdWRpbmcgdXBkYXRlZCBkZXNjcmlwdGlv
biBzdHJpbmdzLCBhbmQgY2hhbmdlZCByZWxldmFudCBzdG9yZSBhbmQgaW5kZXgKICAgICAgICAg
bWV0aG9kcyB0byByYWlzZSB0aGUgZXhwZWN0ZWQgZXhjZXB0aW9uIHR5cGUgbm93IHRoYXQgaXQg
aXMgZGV0YWlsZWQgaW4gdGhlIHNwZWMuCiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFu
Zy4KQEAgLTUwMTQ1LDEyICs1MDE4MCwxMiBAQAogCiAgICAgICAgIEZpbHRlck9wZXJhdGlvbnMg
YXJlIG5vdyBwYXJ0IG9mIHRoZSBwbGF0Zm9ybSBjb2RlIGFuZCBjYW5ub3QgcmVmZXJlbmNlIHN0
eWxlIGNsYXNzZXMgZGlyZWN0bHksIGJ1dAogICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb24g
cmVxdWlyZXMgdG8gbGluayB0byB0aGUgQ2FjaGVkU2hhZGVyIGZvciB0aGUgdmVydGV4IGFuZCB0
aGUgZnJhZ21lbnQgc2hhZGVyLgotICAgICAgICAKLSAgICAgICAgVGhlIGZpeCBpcyB0byBpbnRy
b2R1Y2UgYW5vdGhlciBvYmplY3QgdGhhdCB3aWxsIGFjdHVhbGx5IGtlZXAgYSBsaW5rIHRvIHRo
ZSBjYWNoZWQgcmVzb3VyY2VzLCBzbyBpbiB0aGlzIHBhdGNoIAorCisgICAgICAgIFRoZSBmaXgg
aXMgdG8gaW50cm9kdWNlIGFub3RoZXIgb2JqZWN0IHRoYXQgd2lsbCBhY3R1YWxseSBrZWVwIGEg
bGluayB0byB0aGUgY2FjaGVkIHJlc291cmNlcywgc28gaW4gdGhpcyBwYXRjaAogICAgICAgICBJ
J20gYWRkaW5nIGEgbmV3IGNsYXNzIGNhbGxlZCBDdXN0b21GaWx0ZXJQcm9ncmFtIHRoYXQgd2ls
bCBzaXQgaW4gdGhlCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMgZGlyZWN0b3J5
IGFuZCB3aWxsIGJlIHJlZmVyZW5jZWQgZnJvbSBDdXN0b21GaWx0ZXJPcGVyYXRpb24uCiAKLSAg
ICAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbSBpcyB0aGUgYmFzZSBjbGFzcyBvZiBTdHlsZUN1c3Rv
bUZpbHRlclByb2dyYW0gdGhhdCBpcyBjcmVhdGVkIGZyb20gCisgICAgICAgIEN1c3RvbUZpbHRl
clByb2dyYW0gaXMgdGhlIGJhc2UgY2xhc3Mgb2YgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtIHRo
YXQgaXMgY3JlYXRlZCBmcm9tCiAgICAgICAgIENTU1N0eWxlU2VsZWN0b3Igd2hlbiBhIG5ldyBD
dXN0b21GaWx0ZXJPcGVyYXRpb24gaXMgY3JlYXRlZC4gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFt
IGlzIHJlc3BvbnNpYmxlCiAgICAgICAgIHdpdGggbG9hZGluZyBhbmQga2VlcGluZyByZWZlcmVu
Y2VzIHRvIHRoZSBTdHlsZUNhY2hlZFNoYWRlcnMgYW5kIHRoZSBDYWNoZWRTaGFkZXJzLgogCkBA
IC01MDE3MSwxNiArNTAyMDYsMTYgQEAKICAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0
b3I6OmxvYWRQZW5kaW5nU2hhZGVycyk6CiAgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVj
dG9yOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24pOgogICAgICAgICAgICAgVXBkYXRlZCB0
byB1c2UgdGhlIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSBpbnN0ZWFkIG9mIHRoZSBDdXN0b21G
aWx0ZXJPcGVyYXRpb24uCi0gICAgICAgIAorCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaC4KICAgICAgICAgKFdl
YkNvcmU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlKToKICAgICAgICAgICAgIEFjY2Vw
dHMgYSBDdXN0b21GaWx0ZXJQcm9ncmFtIGluc3RlYWQgb2YgdmVydGV4IGFuZCBmcmFnbWVudCBD
YWNoZWRTaGFkZXJzLgotICAgICAgICAgICAgCisKICAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZp
bHRlck9wZXJhdGlvbjo6cHJvZ3JhbSk6IFJldHVybnMgdGhlIEN1c3RvbUZpbHRlclByb2dyYW0u
Ci0gICAgICAgIAorCiAgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJPcGVyYXRpb246OkN1
c3RvbUZpbHRlck9wZXJhdGlvbik6CiAgICAgICAgICAgICBBY2NlcHRzIGEgQ3VzdG9tRmlsdGVy
UHJvZ3JhbSBpbnN0ZWFkIG9mIHZlcnRleCBhbmQgZnJhZ21lbnQgQ2FjaGVkU2hhZGVycy4KLSAg
ICAgICAgICAgIAorCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJQcm9ncmFtLmNwcDogQWRkZWQuCiAgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQ
cm9ncmFtOjpDdXN0b21GaWx0ZXJQcm9ncmFtKToKICAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZp
bHRlclByb2dyYW06On5DdXN0b21GaWx0ZXJQcm9ncmFtKToKQEAgLTUwMTkxLDE2ICs1MDIyNiwx
NiBAQAogICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJv
Z3JhbS5oOiBBZGRlZC4KICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlclByb2dyYW1DbGllbnQuaDogQWRkZWQuCiAgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJQcm9ncmFtQ2xpZW50Ojp+Q3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudCk6Ci0gICAgICAg
IAorCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5j
cHA6CiAgICAgICAgICAgICBGRUN1c3RvbUZpbHRlciB3aWxsIG5vdCB1c2Ugc3RyaW5ncyBhbnlt
b3JlLiBJdCB3aWxsIGp1c3QgZ2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBDdXN0b21GaWx0ZXJQcm9n
cmFtLgotICAgICAgICAKKwogICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OkZFQ3Vz
dG9tRmlsdGVyKToKICAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpjcmVhdGUpOgog
ICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OmluaXRpYWxpemVDb250ZXh0KToKICAg
ICAgICAgICAgIFVzaW5nIHRoZSBDdXN0b21GaWx0ZXJQcm9ncmFtIHRvIGdlbmVyYXRlIHRoZSBD
dXN0b21GaWx0ZXJTaGFkZXIgaW5zdGFuY2UuIEEgYmV0dGVyIG5hbWUgZm9yIEN1c3RvbUZpbHRl
clNoYWRlcgogICAgICAgICAgICAgd291bGQgYmUgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFt
LCBidXQgSSB3b3VsZCBwcmVmZXIgdG8gbWFrZSB0aGF0IGNoYW5nZSBpbiBhIGRpZmZlcmVudCBw
YXRjaC4KLSAgICAgICAgCisKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
Q3VzdG9tRmlsdGVyLmg6CiAgICAgICAgICogcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRlcmVy
LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyOjp+RmlsdGVyRWZm
ZWN0UmVuZGVyZXIpOgpAQCAtNTAyMzEsNyArNTAyNjYsNyBAQAogCiAgICAgICAgIFJlbmRlckxh
eWVycyBoYXZlIHR3byBwb3NzaWJsZSBzdGF0ZXM6IGNvbXBvc2l0ZWQgb3Igbm90LiBXaGVuIGNv
bXBvc2l0ZWQgdGhlIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJbnRvTGF5ZXIgaXMgdXNlZAog
ICAgICAgICB0byByZW5kZXIgdGhlIHJlc3VsdCBpbnNpZGUgdGhlIGdyYXBoaWNzIGNvbnRleHQg
b2YgdGhlIEdyYXBoaWNzTGF5ZXIuIFdoZW4gbm90IGNvbXBvc2l0ZWQgdGhlIFJlbmRlckxheWVy
OjpwYWludExheWVyIG1ldGhvZCB3aWxsIGRyYXcKLSAgICAgICAgdGhlIHJlc3VsdCBpbiB0aGUg
Z3JhcGhpY3MgY29udGV4dCBvZiB0aGUgcGFyZW50IGxheWVyLiAKKyAgICAgICAgdGhlIHJlc3Vs
dCBpbiB0aGUgZ3JhcGhpY3MgY29udGV4dCBvZiB0aGUgcGFyZW50IGxheWVyLgogCiAgICAgICAg
IEJlY2F1c2UgYSByZWNlbnQgcGF0Y2ggZm9yY2VkIGNyZWF0aW9uIG9mIGNvbXBvc2l0ZWQgbGF5
ZXJzIGZvciBmaWx0ZXJzLCB0aGlzIHBhdGNoIG1ha2VzIFJlbmRlckxheWVyQmFja2luZzo6cGFp
bnRJbnRvTGF5ZXIgYXdhcmUKICAgICAgICAgdGhhdCBpdCBtaWdodCBuZWVkIHRvIGFwcGx5IHRo
ZSBmaWx0ZXJzIHdoZW4gdGhlIGNvbXBvc2l0aW9uIGVuZ2luZSBmYWlsZWQgdG8gYXBwbHkgdGhl
bSBpbiBwbGF0Zm9ybSBjb2RlLgpAQCAtNTA3MzksNyArNTA3NzQsNyBAQAogCiAgICAgICAgIFJl
cGxhY2VzIHN0YXRpYyBnbG9iYWwgR0wgcmVzb3VyY2UgaG9sZGVyIHdpdGggaG9sZGVyIHNoYXJl
ZCBiZXR3ZWVuCiAgICAgICAgIFRleHR1cmVNYXBwZXJHTCBpbnN0YW5jZXMgY3JlYXRlZCBvbiB0
aGUgc2FtZSBHTCBjb250ZXh0LiBBbHNvIGFkZHMKLSAgICAgICAgZGVhbGxvY2F0aW9uIG9mIEdM
IHJlc291cmNlcyB3aGVuIGxhc3QgVGV4dHVyZU1hcHBlckdMIGluc3RhbmNlIG9uIHRoZSAKKyAg
ICAgICAgZGVhbGxvY2F0aW9uIG9mIEdMIHJlc291cmNlcyB3aGVuIGxhc3QgVGV4dHVyZU1hcHBl
ckdMIGluc3RhbmNlIG9uIHRoZQogICAgICAgICBjdXJyZW50IEdMIGNvbnRleHQgZ2V0cyBkZWxl
dGVkLgogCiAgICAgICAgIFRlc3RlZCBieSBtdWx0aXBsZVdlYlZpZXdXaW5kb3dzIGFuZCBtdWx0
aXBsZVdlYlZpZXdzIFF0IFdLMiBBUEkgdGVzdHMuCkBAIC01MDc3MCw3ICs1MDgwNSw3IEBACiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk5NQogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgotICAgICAgICAKKwogICAgICAgICBX
aGVuIHRoZSBzY3JvbGxiYXIgaXMgZGlzYWJsZWQsIHBhaW50IHRoZSBlbnRpcmUgdHJhY2sgb2YK
ICAgICAgICAgbW9jayBzY3JvbGxiYXJzIHdpdGggYSBsaWdodGVyIGdyYXksIGFuZCBoaWRlIHRo
ZSB0aHVtYi4KIApAQCAtNTA5NTksMTMgKzUwOTk0LDEzIEBACiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTUwMgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhdmUgSHlhdHQuCi0gICAgICAgIAorCiAgICAgICAgIENvbnNvbGlkYXRlIGNvZGUgdGhhdCBw
cm9wYWdhdGVzIHRoZSA8Ym9keT4gYmFja2dyb3VuZCB0byB0aGUKICAgICAgICAgcm9vdCwgYWRk
aW5nIGEgdXRpbGl0eSBtZXRob2Qgb24gUmVuZGVyT2JqZWN0IHRoYXQgaXMgY2FsbGVkCiAgICAg
ICAgIGJ5IFJlbmRlckJveCBhbmQgUmVuZGVyTGF5ZXJCYWNraW5nLgotICAgICAgICAKKwogICAg
ICAgICBSZW1vdmVkIGFuIHVudXNlZCBtZXRob2QgaW4gUmVuZGVyTGF5ZXJCYWNraW5nLgotICAg
ICAgICAKKwogICAgICAgICBUaGUgY29tcG9zaXRpb25nIGNoYW5nZXMgYXJlIG5vdCB0ZXN0YWJs
ZSwgc2luY2UgcmVuZGVyZXJCYWNrZ3JvdW5kQ29sb3IoKQogICAgICAgICBpcyBvbmx5IHVzZWQg
YnkgZnVsbHNjcmVlbiBhdCBwcmVzZW50LgogCkBAIC01MTIyMiwxNiArNTEyNTcsMTYgQEAKIAog
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTMyODY4ND4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02Mjc2NAogICAgICAgICBGcmVxdWVudCBjcmFzaGVzIGR1ZSB0
byBudWxsIGZyYW1lIGJlbG93IEFwcGxpY2F0aW9uQ2FjaGVIb3N0OjpzY2hlZHVsZUxvYWRGYWxs
YmFja1Jlc291cmNlRnJvbUFwcGxpY2F0aW9uQ2FjaGUKLSAKKwogICAgICAgICBSZXZpZXdlZCBi
eSBNYWNpZWogU3RhY2hvd2lhay4KIAotICAgICAgICBUaGlzIGlzIGEgbm9uLXJlcHJvZHVjaWJs
ZSBoaWdoIHZvbHVtZSBjcmFzaCwgc28gbm8gdGVzdCA6KC4gCisgICAgICAgIFRoaXMgaXMgYSBu
b24tcmVwcm9kdWNpYmxlIGhpZ2ggdm9sdW1lIGNyYXNoLCBzbyBubyB0ZXN0IDooLgogCiAgICAg
ICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyOjpzdG9wTG9hZGluZyk6IERvbid0IHJlLXJ1biBhY3R1YWwgInN0b3AgbG9hZGlu
ZyIgbG9naWMgaWYgdGhlIGRvY3VtZW50IGxvYWRlciBpcyBhbHJlYWR5CiAgICAgICAgICAgc3Rv
cHBpbmcgbG9hZGluZy4gQWxzbyBhZGQgYW4gQVNTRVJUIHRoYXQgbWlnaHQgY2F0Y2ggY2FzZXMg
d2hlcmUgbmV3IGxvYWRzIG1heSBoYXZlIGJlZW4gc3RhcnRlZCB3aGlsZSBvbGQgbG9hZHMKICAg
ICAgICAgICB3ZXJlIGJlaW5nIHN0b3BwZWQuCi0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExv
YWRlcjo6ZGV0YWNoRnJvbUZyYW1lKTogQmUgY29uc2VydmF0aXZlIGFuZCBzdG9wIGxvYWRpbmcg
d2hlbiB3ZSBkZXRhY2ggYSBkb2N1bWVudCBsb2FkZXIgZnJvbSBhIGZyYW1lLiAKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpkZXRhY2hGcm9tRnJhbWUpOiBCZSBjb25zZXJ2YXRp
dmUgYW5kIHN0b3AgbG9hZGluZyB3aGVuIHdlIGRldGFjaCBhIGRvY3VtZW50IGxvYWRlciBmcm9t
IGEgZnJhbWUuCiAKIDIwMTItMDEtMTAgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUu
Y29tPgogCkBAIC01MTk1OSw3ICs1MTk5NCw3IEBACiAKIDIwMTItMDEtMDkgIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKLSAgICAgICAgUkVHUkVTU0lPTihyMTA0MzI3
Pyk6IG1lZGlhL3RyYWNrL3RyYWNrLWN1ZXMtY3VlY2hhbmdlLmh0bWwgYW5kIHRyYWNrLWN1ZXMt
ZW50ZXItZXhpdC5odG1sIAorICAgICAgICBSRUdSRVNTSU9OKHIxMDQzMjc/KTogbWVkaWEvdHJh
Y2svdHJhY2stY3Vlcy1jdWVjaGFuZ2UuaHRtbCBhbmQgdHJhY2stY3Vlcy1lbnRlci1leGl0Lmh0
bWwKICAgICAgICAgaW50ZXJtaXR0ZW50bHkgdGltZSBvdXQsIG1lZGlhL3RyYWNrL3RyYWNrLWN1
ZXMtc2Vla2luZyBhbmQgIGZhaWxzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NTgxNwogCkBAIC01MTk5MCw5ICs1MjAyNSw5IEBACiAgICAgICAgIG5v
cm1hbGl6YXRpb24gYXJndW1lbnQuCiAgICAgICAgICogd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5o
OgogICAgICAgICAoV2ViQ29yZTo6Q29udm9sdmVyTm9kZTo6bm9ybWFsaXplKTogTmV3IG1ldGhv
ZCB0byByZXR1cm4KLSAgICAgICAgbm9ybWFsaXphdGlvbi4gCisgICAgICAgIG5vcm1hbGl6YXRp
b24uCiAgICAgICAgIChXZWJDb3JlOjpDb252b2x2ZXJOb2RlOjpzZXROb3JtYWxpemUpOiAgTmV3
IG1ldGhvZCB0byBzZXQKLSAgICAgICAgbm9ybWFsaXphdGlvbi4gCisgICAgICAgIG5vcm1hbGl6
YXRpb24uCiAgICAgICAgICogd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5pZGw6IEFkZCBub3JtYWxp
emUgYXR0cmlidXRlLgogICAgICAgICAqIExheW91dFRlc3RzL3dlYmF1ZGlvL2NvbnZvbHV0aW9u
LW1vbm8tbW9uby5odG1sOgogICAgICAgICAqIExheW91dFRlc3RzL3dlYmF1ZGlvL2NvbnZvbHV0
aW9uLW1vbm8tbW9uby1leHBlY3RlZC50eHQ6CkBAIC01MjExMSw3ICs1MjE0Niw3IEBACiAgICAg
ICAgIEJhc2VkIG9uIHRoZSBzdGFja3MsIENTU1N0eWxlU2VsZWN0b3IgbWF5IGJlIGdldHRpbmcg
ZGVsZXRlZCBmcm9tIHVuZGVyIHRoZQogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yOjphcHBlbmRB
dXRob3JTdHlsZXNoZWV0cyBjYWxsLiBQcm90ZWN0IGJ5IHRlbXBvcmFyaWx5IGRldGFjaGluZwog
ICAgICAgICBmcm9tIHRoZSBkb2N1bWVudC4gQWxzbyBhZGQgYXNzZXJ0aW9ucyB0byBjYXRjaCB0
aGUgY2FzZS4KLSAgICAgICAgCisKICAgICAgICAgTm8gdGVzdCwgdGhlcmUgaXMgbm8ga25vd24g
cmVwcm8gYW5kIHRoZSBmaXggaXMgc3BlY3VsYXRpdmUuCiAKICAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgpAQCAtNTIyNDAsMTQgKzUyMjc1LDE0IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzNAogCiAgICAgICAgIFJldmlld2VkIGJ5IEFu
ZHJlYXMgS2xpbmcuCi0gICAgICAgIAorCiAgICAgICAgIEN1cnJlbnRseSBpZiB3ZSBhZGQgYSBz
dHlsZXNoZWV0IHdpdGggc2NvcGVkIHNlbGVjdG9ycyBhbmQgbWF0Y2hpbmcgc2NvcGUgZWxlbWVu
dHMgZXhpc3QsCi0gICAgICAgIHdlIHJlY2FsY3VsYXRlIHRoZSBlbnRpcmUgZG9jdW1lbnQgc3R5
bGUuIEl0IGlzIHN1ZmZpY2llbnQgdG8gaW52YWxpZGF0ZSB0aGUgc3VidHJlZXMgCisgICAgICAg
IHdlIHJlY2FsY3VsYXRlIHRoZSBlbnRpcmUgZG9jdW1lbnQgc3R5bGUuIEl0IGlzIHN1ZmZpY2ll
bnQgdG8gaW52YWxpZGF0ZSB0aGUgc3VidHJlZXMKICAgICAgICAgbWF0Y2hpbmcgdGhlIHNjb3Bl
IG9ubHkuCi0gICAgICAgIAorCiAgICAgICAgIFRoaXMgYWxsb3dzIHVzIHRvIGRvIGxlc3MgZnVs
bCBzdHlsZSByZWNhbGNzIG9uIG1hbnkgcG9wdWxhciB3ZWIgc2l0ZXMgKG55dGltZXMuY29tIGZv
ciBleGFtcGxlKS4KICAgICAgICAgU3VidHJlZSByZWNhbGNzIGFyZSB0eXBpY2FsbHkgbXVjaCBj
aGVhcGVyLgotICAgICAgICAKKwogICAgICAgICBUZXN0OiBmYXN0L2Nzcy9pZC1vci1jbGFzcy1i
ZWZvcmUtc3R5bGVzaGVldC5odG1sCiAKICAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgpAQCAt
NTI2MTgsNyArNTI2NTMsNyBAQAogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEFuZHJlYXMg
S2xpbmcuCiAKLSAgICAgICAgRWxlbWVudDo6cmVjYWxjU3R5bGVJZk5lZWRlZEFmdGVyQXR0cmli
dXRlQ2hhbmdlZCBzaG91bGRuJ3QgY3JlYXRlIHN0eWxlIHNlbGVjdG9yIGZvciBhdHRyaWJ1dGUg
CisgICAgICAgIEVsZW1lbnQ6OnJlY2FsY1N0eWxlSWZOZWVkZWRBZnRlckF0dHJpYnV0ZUNoYW5n
ZWQgc2hvdWxkbid0IGNyZWF0ZSBzdHlsZSBzZWxlY3RvciBmb3IgYXR0cmlidXRlCiAgICAgICAg
IGNoZWNrIGlmIGl0IGRvZXNuJ3QgYWxyZWFkeSBleGlzdC4gV2UgYXJlIGdvaW5nIHRvIG5lZWQg
YSBmdWxsIHN0eWxlIHJlY2FsYyBhbnl3YXkgaW4gdGhhdCBjYXNlCiAgICAgICAgIGFuZCB0aGUg
Y29uc3RydWN0ZWQgc3R5bGUgc2VsZWN0b3IgbWF5IGdldCB0aHJvdyBvdXQgYWdhaW4uCiAKQEAg
LTUyNjQ0LDEzICs1MjY3OSwxMyBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzU2MzMKIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5n
LgotICAgICAgICAKKwogICAgICAgICBJZiBzb21ldGhpbmcgdHJpZ2dlcnMgQ1NTU3R5bGVTZWxl
Y3RvciBjb25zdHJ1Y3Rpb24gdmVyeSBlYXJseSwgYmVmb3JlIGRvY3VtZW50RWxlbWVudCBpcyBr
bm93biwKICAgICAgICAgaXQgd29uJ3QgYmUgYWJsZSB0byByZXNvbHZlIHZpZXdwb3J0LXJlbGF0
ZWQgbWVkaWEgcXVlcmllcy4gSW4gdGhlIGluY2x1ZGVkIHRlc3QgY2FzZQogICAgICAgICB0aGUg
YXR0cmlidXRlIG9uIDxodG1sPiBlbGVtZW50IHRyaWdnZXJzIHRoZSBzdHlsZSBzZWxlY3RvciBj
cmVhdGlvbi4gSSBjYW4ndCByZXBybwogICAgICAgICB0aGUgZmFzdC9tZWRpYS92aWV3cG9ydC1t
ZWRpYS1xdWVyeS5odG1sIGZhaWx1cmUgYnV0IEkgc3VzcGVjdCBpdCBpcyB0aGUgc2FtZSBpc3N1
ZSB3aXRoCiAgICAgICAgIGEgZGlmZmVyZW50IG1lY2hhbmlzbSBmb3IgZWFybHkgQ1NTU3R5bGVT
ZWxlY3RvciBjb25zdHJ1Y3Rpb24uCi0gICAgICAgIAorCiAgICAgICAgIC0gUmVzZXQgc3R5bGUg
c2VsZWN0b3Igb24gZG9jdW1lbnRFbGVtZW50IGNoYW5nZS4KICAgICAgICAgLSBSZW1vdmUgdGhl
IGNvZGUgZm9yIGxhenkgZG9jdW1lbnRFbGVtZW50IGluaXRpYWxpemF0aW9uLiBJdCBpcyBub3Qg
YW4gdXNlZnVsIG9wdGltaXphdGlvbiwKICAgICAgICAgICB0aGUgY2hpbGRyZW4gb2YgRG9jdW1l
bnQgcmFyZWx5IGNoYW5nZS4KQEAgLTUzNDE1LDcgKzUzNDUwLDcgQEAKICAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEwNTg4NzI1PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvaG4gU3VsbGl2YW4u
Ci0gICAgICAgIAorCiAgICAgICAgIFN0b3AgdGFraW5nIHRoZSBkZXZpY2Ugc2NhbGUgZmFjdG9y
IGludG8gYWNjb3VudCB3aGVuIGRlY2lkaW5nIHRvIG1ha2UKICAgICAgICAgdGlsZWQgbGF5ZXJz
LgogCkBAIC01MzgxMSw5ICs1Mzg0Niw5IEBACiAKICAgICAgICAgVGVzdDogZnVsbHNjcmVlbi92
aWRlby1jb250cm9scy1kcmFnLmh0bWwKIAotICAgICAgICBUaGUgIWltcG9ydGFudCBydWxlcyBp
biBmdWxsc2NyZWVuUXVpY2tUaW1lLmNzcyBhcmUgb3ZlcnJpZGluZyB0aGUgc3R5bGVzIGFkZGVk
IGJ5IHRoZSAKKyAgICAgICAgVGhlICFpbXBvcnRhbnQgcnVsZXMgaW4gZnVsbHNjcmVlblF1aWNr
VGltZS5jc3MgYXJlIG92ZXJyaWRpbmcgdGhlIHN0eWxlcyBhZGRlZCBieSB0aGUKICAgICAgICAg
ZHJhZyBvcGVyYXRpb24gaW4gTWVkaWFDb250cm9sRWxlbWVudHMuY3BwLiAgR2l2ZSB0aGUgcGFu
ZWwgYSAiZHJhZ2dlZCIgY2xhc3MgaW4gc2V0UG9zaXRpb24KLSAgICAgICAgKGNsZWFyaW5nIGl0
IGluIHJlc2V0UG9zaXRpb24pIHRoYXQgYWxsb3dzIHRoZSAhaW1wb3J0YW50IHJ1bGVzIHRvIGFw
cGx5IG9ubHkgd2hlbiB0aGUgCisgICAgICAgIChjbGVhcmluZyBpdCBpbiByZXNldFBvc2l0aW9u
KSB0aGF0IGFsbG93cyB0aGUgIWltcG9ydGFudCBydWxlcyB0byBhcHBseSBvbmx5IHdoZW4gdGhl
CiAgICAgICAgIHBhbmVsIGlzIG5vdCBkcmFnZ2VkLgogCiAgICAgICAgICogY3NzL2Z1bGxzY3Jl
ZW5RdWlja1RpbWUuY3NzOgpAQCAtNTQzNTAsNyArNTQzODUsNyBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IEpvaG4gU3VsbGl2YW4uCiAKLSAgICAgICAgVGhpcyBjaGFuZ2Ugc2hvdWxkIG5vdCBo
YXZlIGFueSBhZmZlY3Qgb24gdGVzdHMgb3IgcmVhbCB3ZWIgc2l0ZXMuIEl0IGp1c3QgY2hhbmdl
ZCAKKyAgICAgICAgVGhpcyBjaGFuZ2Ugc2hvdWxkIG5vdCBoYXZlIGFueSBhZmZlY3Qgb24gdGVz
dHMgb3IgcmVhbCB3ZWIgc2l0ZXMuIEl0IGp1c3QgY2hhbmdlZAogICAgICAgICB0aGUgaW1wbGVt
ZW50YXRpb24gdW5kZXIgdGhlIGhvb2QgdG8gdGhlIG1vcmUgbW9kZXJuIE5TQ2VsbCBhcHByb2Fj
aC4KICAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKICAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMubW06CkBAIC01NDU4Miw3ICs1NDYxNyw3IEBACiAgICAgICAg
IFJlbG9jYXRlZCBzb21lIGhlYWRlcnMgYWNjb3JkaW5nIHRvIGFscGhhYmV0aWNhbCBvcmRlciAm
IG1vZGlmaWVkIGluZGVudGF0aW9uLgogICAgICAgICBBbmQgdXNlZCBPd25BcnJheVB0ciB0byBk
ZWFsIHdpdGggY2hhcmFjdGVyIGFycmF5LgogCi0gICAgICAgIE5vIG5ldyB0ZXN0cyByZXF1aXJl
ZC4gCisgICAgICAgIE5vIG5ldyB0ZXN0cyByZXF1aXJlZC4KIAogICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA6CiAgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Z2V0U3RyaW5nKToKQEAgLTU0NzQyLDEyICs1NDc3
NywxMiBAQAogICAgICAgICBTZWxlY3RvckNoZWNrZXI6OmRldGVybWluZVNlbGVjdG9yU2NvcGVz
IGN1cnJlbnRseSBzZWFyY2hlcyB0byB0aGUgZW5kIG9mIHRoZSBzZWxlY3RvciBjaGFpbiBhbmQK
ICAgICAgICAgdGhlbiBzZWVzIGlmIHRoZSBsYXN0IG9uZSBpcyBzdWl0YWJsZSB0byBiZSBhIHNj
b3BlLiBBIGJldHRlciBhbGdvcml0aG0gd2lsbCBmaW5kIGEgc2NvcGUgZnJvbQogICAgICAgICBh
bnl3aGVyZSBpbiB0aGUgY2hhaW4uCi0gICAgICAgIAorCiAgICAgICAgIFdpdGggdGhpcyBwYXRj
aCB3ZSBzZWFyY2ggdGhlIHdob2xlIGNoYWluIGZvciBwb3RlbnRpYWwgc2NvcGVzLiBXZSBub3cg
cHJlZmVyIGlkIHNjb3BlcwogICAgICAgICBvdmVyIGNsYXNzIHNjb3Blcy4gU2NvcGVzIGNhbiBi
ZSBmb3VuZCBmb3IgcnVsZXMgdXNpbmcgc2libGluZyBzZWxlY3RvcnMgdG9vLgotICAgICAgICAK
LSAgICAgICAgT24gYm90aCBlbmdhZGdldC5jb20gYW5kIG55dGltZXMuY29tLCB3ZSBjYW4gbm93
IHNraXAgb25lIG1vcmUgZnVsbCBzdHlsZSByZWNhbGMgZHVlIHRvIAotICAgICAgICB0aGUgaW1w
cm92ZWQgc3R5bGVzaGVldCBhbmFseXNpcy4gCisKKyAgICAgICAgT24gYm90aCBlbmdhZGdldC5j
b20gYW5kIG55dGltZXMuY29tLCB3ZSBjYW4gbm93IHNraXAgb25lIG1vcmUgZnVsbCBzdHlsZSBy
ZWNhbGMgZHVlIHRvCisgICAgICAgIHRoZSBpbXByb3ZlZCBzdHlsZXNoZWV0IGFuYWx5c2lzLgog
CiAgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpT
ZWxlY3RvckNoZWNrZXI6OmRldGVybWluZVNlbGVjdG9yU2NvcGVzKToKQEAgLTU1MjYwLDcgKzU1
Mjk1LDcgQEAKIAogICAgICAgICBBbmFseXplIHN0eWxlc2hlZXQgc2NvcGUgdG8gbWluaW1pemUg
c3R5bGUgcmVjYWxjcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzU1MDgKLSAgICAgICAgCisKICAgICAgICAgSXQgaXMgYSByZWxhdGl2ZWx5IGNvbW1v
biBwYXR0ZXJuIHRvIHVzZSBpbmxpbmUgc3R5bGVzaGVldHMgaW4gZG9jdW1lbnQgYm9keSB3aGVy
ZSBhbGwgcnVsZXMgYXJlIHNjb3BlZCB1c2luZyBkZXNjZW5kYW50IHNlbGVjdG9yCiAKICAgICAg
ICAgPHN0eWxlPgpAQCAtNTUyNjksNjIgKzU1MzA0LDYyIEBACiAgICAgICAgICNmb28gLmJhciB7
Li4ufQogICAgICAgICA8L3N0eWxlPgogCi0gICAgICAgIFdoZW4gdGhpcyBwYXR0ZXJuIGlzIHVz
ZWQgaXQgaXMgYWxzbyBjb21tb24gdGhhdCB0aGUgcnVsZXMgb25seSBhcHBseSB0byBlbGVtZW50
cyB0aGF0IGNvbWUgYWZ0ZXIgdGhlIHN0eWxlIGVsZW1lbnQuIAorICAgICAgICBXaGVuIHRoaXMg
cGF0dGVybiBpcyB1c2VkIGl0IGlzIGFsc28gY29tbW9uIHRoYXQgdGhlIHJ1bGVzIG9ubHkgYXBw
bHkgdG8gZWxlbWVudHMgdGhhdCBjb21lIGFmdGVyIHRoZSBzdHlsZSBlbGVtZW50LgogCi0gICAg
ICAgIFdoZW4gdGhlIHNldCBvZiBhY3RpdmUgc3R5bGVzaGVldHMgY2hhbmdlcyB3ZSBpbnZhbGlk
YXRlIGFuZCByZWNvbXB1dGUgdGhlIGVudGlyZSBkb2N1bWVudCBzdHlsZS4gVGhpcyBpcyB2ZXJ5
IGV4cGVuc2l2ZS4gV2UgY2FuIAorICAgICAgICBXaGVuIHRoZSBzZXQgb2YgYWN0aXZlIHN0eWxl
c2hlZXRzIGNoYW5nZXMgd2UgaW52YWxpZGF0ZSBhbmQgcmVjb21wdXRlIHRoZSBlbnRpcmUgZG9j
dW1lbnQgc3R5bGUuIFRoaXMgaXMgdmVyeSBleHBlbnNpdmUuIFdlIGNhbgogICAgICAgICBkZXRl
Y3QgdGhlIGNhc2UgYWJvdmUgYW5kIGF2b2lkIHRoZSBzdHlsZSByZWNhbGMuCi0gICAgICAgIAot
ICAgICAgICBPbiBlbmdhZGdldC5jb20sIHRoaXMgcGF0Y2ggY3V0cyB0aGUgdGltZSBzcGVudCBp
biBzdHlsZSByZWNhbGNzIHRvIHJvdWdobHkgaGFsZi4gVGhlcmUgYXJlIGZ1cnRoZXIgc2F2aW5n
cyBmcm9tIHJlZHVjZWQgCisKKyAgICAgICAgT24gZW5nYWRnZXQuY29tLCB0aGlzIHBhdGNoIGN1
dHMgdGhlIHRpbWUgc3BlbnQgaW4gc3R5bGUgcmVjYWxjcyB0byByb3VnaGx5IGhhbGYuIFRoZXJl
IGFyZSBmdXJ0aGVyIHNhdmluZ3MgZnJvbSByZWR1Y2VkCiAgICAgICAgIHJlbGF5b3V0cy4gSW4g
dG90YWwgdGhlIGVuZ2luZSBDUFUgdGltZSB1c2VkIG92ZXIgdGhlIHBhZ2UgbG9hZCBpcyByZWR1
Y2VkIGJ5IH4xMCUuCiAKICAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CiAgICAg
ICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpDU1NTdHlsZVNlbGVjdG9yKToKICAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNvbGxlY3RGZWF0dXJlcyk6Ci0gICAgICAg
IAorCiAgICAgICAgICAgICBSZWZhY3RvciBmZWF0dXJlIGNvbGxlY3Rpb24gZnJvbSBjb25zdHJ1
Y3RvciB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uLgotICAgICAgICAKKwogICAgICAgICAoV2ViQ29y
ZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwZW5kQXV0aG9yU3R5bGVzaGVldHMpOgotICAgICAgICAK
KwogICAgICAgICAgICAgTmV3IGZ1bmN0aW9uIGZvciBub24tZGVzdHJ1Y3RpdmVseSB1cGRhdGlu
ZyB0aGUgc3R5bGUgc2VsZWN0b3IuCi0gICAgICAgIAorCiAgICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZVNlbGVjdG9yOjpGZWF0dXJlczo6Y2xlYXIpOgotICAgICAgICAKKwogICAgICAgICAgICAg
Q2xlYXIgdGhlIGZlYXR1cmVzIGZvciBhbm90aGVyIGNvbGxlY3Rpb24uCi0gICAgICAgICAgICAK
KwogICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6ZGV0ZXJtaW5lU3R5bGVzaGVl
dFNlbGVjdG9yU2NvcGVzKToKLSAgICAgICAgCisKICAgICAgICAgICAgIEZpbmQgaWYgYWxsIHJ1
bGVzIG9uIGEgc3R5bGVzaGVldGFyZSBzY29wZWQgdG8gc29tZSBzZXQgb2YgaWRzIGFuZCBjbGFz
c2VzLgotICAgICAgICAKKwogICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6c3R5
bGVGb3JEb2N1bWVudCk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBBZGQgb3B0aW9uYWwgZm9u
dCBzZWxlY3RvciBhcmd1bWVudC4gV2UgdXBkYXRlZCB0aGUgY29ycmVjdCBiYXNlIHN0eWxlIGZv
bnQgb24gc3R5bGUgc2VsZWN0b3IgY29uc3RydWN0aW9uIGJ1dCB0aGF0IGlzIG5vIGxvbmdlciBz
dWZmaWNpZW50CiAgICAgICAgICAgICBhcyBmb250IHNlbGVjdG9yIG1heSBiZSB1cGRhdGVkIHdp
dGhvdXQgcmVjb25zdHJ1Y3RpbmcgdGhlIHN0eWxlIHNlbGVjdG9yLgotICAgICAgICAKKwogICAg
ICAgICAoV2ViQ29yZTo6UnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQpOgotICAgICAgICAKKwog
ICAgICAgICAgICAgSW52YWxpZGF0ZSB0aGUgbWF0Y2hlZCBkZWNsYXJhdGlvbiBjYWNoZSBpbiBj
YXNlIG9mIG5ldyBmb250LWZhY2UgcnVsZXMuCi0gICAgICAgIAorCiAgICAgICAgICogY3NzL0NT
U1N0eWxlU2VsZWN0b3IuaDoKICAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKICAg
ICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6ZGV0ZXJtaW5lU2VsZWN0b3JTY29wZXMp
OgotICAgICAgICAKKwogICAgICAgICAgICAgRmluZCBpZiBhbGwgcnVsZXMgb24gYSBzZWxlY3Rv
ciBsaXN0IGFyZSBzY29wZWQgdG8gc29tZSBzZXQgb2YgaWRzIGFuZCBjbGFzc2VzLgotICAgICAg
ICAKKwogICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuaDoKICAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgogICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKICAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWNhbGNTdHlsZSk6Ci0gICAgICAgIAorCiAgICAgICAg
ICAgICBQYXNzIHRoZSBmb250IHNlbGVjdG9yLCBpZiBleGlzdHMsIHRvIHN0eWxlRm9yRG9jdW1l
bnQgc28gd2UgYWx3YXlzIGhhdmUgdGhlIGJhc2UgZm9udCB1cCB0byBkYXRlLgotICAgICAgICAK
KwogICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbWJpbmVDU1NGZWF0dXJlRmxhZ3MpOgog
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc2V0Q1NTRmVhdHVyZUZsYWdzKToKICAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVTdHlsZVNlbGVjdG9yKToKIAogICAgICAgICAg
ICAgUmVmYWN0b3IgY3NzIGZlYXR1cmUgZmxhZyByZXNldHRpbmcgdG8gZnVuY3Rpb25zLgotICAg
ICAgICAKKwogICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZVBlbmRpbmdTaGVldCk6
Ci0gICAgICAgIAorCiAgICAgICAgICAgICBVc2UgbmV3IFBlbmRpbmdTdHlsZXNoZWV0Q29tcGxl
dGVkIGZsYWcgd2hlbiBuZXcgc3R5bGVzaGVldHMgYXJyaXZlLgogCiAgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6c3R5bGVTZWxlY3RvckNoYW5nZWQpOgpAQCAtNTUzMzIsMjIgKzU1MzY3LDIy
IEBACiAgICAgICAgICAgICBTa2lwIHN0eWxlIHJlY2FsYyBpZiBpdCBpcyBub3QgbmVlZGVkLgog
CiAgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y29sbGVjdEFjdGl2ZVN0eWxlc2hlZXRzKToK
LSAgICAgICAgCisKICAgICAgICAgICAgIFJlZmFjdG9yIGNvbGxlY3Rpbmcgc3R5bGVzaGVldHMg
dG8gYSBzZXBhcmF0ZSBmdW5jdGlvbi4KLSAgICAgICAgCisKICAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojp0ZXN0QWRkZWRTdHlsZXNoZWV0UmVxdWlyZXNTdHlsZVJlY2FsYyk6Ci0gICAgICAg
IAorCiAgICAgICAgICAgICBEZXRlcm1pbmUgdGhlIHNjb3BlcyBhbmQgdXNlIGhhc0VsZW1lbnRX
aXRoSWQvZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSB0byBmaWd1cmUgb3V0IGlmIGFueSBzY29wZWQg
ZWxlbWVudHMgY3VycmVudGx5IGV4aXN0IGluIHRoZSB0cmVlLgotICAgICAgICAKKwogICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFuYWx5emVTdHlsZXNoZWV0Q2hhbmdlKToKLSAgICAgICAg
CisKICAgICAgICAgICAgIEZpZ3VyZSBvdXQgaWYgd2UgY2FuIHVwZGF0ZSB0aGUgc3R5bGUgc2Vs
ZWN0b3IgaW5jcmVtZW50YWxseSBhbmQgaWYgd2UgY2FuIHNraXAgdGhlIHN0eWxlIHJlY2FsYy4K
LSAgICAgICAgCisKICAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVBY3RpdmVTdHls
ZXNoZWV0cyk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBSZW5hbWVkIGZyb20gcmVjYWxjU3R5
bGVTZWxlY3Rvci4KICAgICAgICAgICAgIEludm9rZSB0aGUgbmV3IGFuYWx5c2lzIGZ1bmN0aW9u
cy4KLSAgICAgICAgCisKICAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKIAogMjAxMi0wMS0wNCAg
SWdvciBPbGl2ZWlyYSAgPGlnb3Iub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KQEAgLTU1NjA2LDcg
KzU1NjQxLDcgQEAKICAgICAgICAgR2l2ZSBlbWJlZGRlcnMgYSBjaGFuY2UgdG8gaGFuZGxlIHBv
c3RNZXNzYWdlIGNhbGxzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03Mzg4MwogCi0gICAgICAgIFRvIHN1cHBvcnQgY3Jvc3MtcHJvY2VzcyBwb3N0TWVz
c2FnZSBjYWxscyBpbiBDaHJvbWl1bSAoYnVnIDczMzM3KSwgd2UgbmVlZCB0byBpbnRlcmNlcHQg
CisgICAgICAgIFRvIHN1cHBvcnQgY3Jvc3MtcHJvY2VzcyBwb3N0TWVzc2FnZSBjYWxscyBpbiBD
aHJvbWl1bSAoYnVnIDczMzM3KSwgd2UgbmVlZCB0byBpbnRlcmNlcHQKICAgICAgICAgcG9zdE1l
c3NhZ2UgY2FsbHMgdG8gcHJveHkgd2luZG93cy4gT3JpZ2luYWxseSB3ZSB3ZXJlIGp1c3QgZ29p
bmcgdG8gYWRkIGEgbmF0aXZlIGV2ZW50CiAgICAgICAgIGxpc3RlbmVyIG9uIHRoZSBDaHJvbWl1
bSBzaWRlLCBidXQgdGhhdCByZXF1aXJlZCBtb3JlIGNoYW5nZXMgdG8gV2ViS2l0IGFuZCB3YXMg
YSBiaXQgb2YKICAgICAgICAgYSBoYWNrLiBTZWUgYnVnIDczMzU5IGZvciBhIGRpc2N1c3MgYWJv
dXQgbW92aW5nIHRvIHRoaXMgYXBwcm9hY2guCkBAIC01NzAwNyw3ICs1NzA0Miw3IEBACiAgICAg
ICAgIFRlc3RzOiBmYXN0L2Nzcy9hYnNvbHV0ZS1pbmxpbmUtYWxpZ25tZW50LTIuaHRtbAogICAg
ICAgICAgICAgICAgZmFzdC9jc3MvYWJzb2x1dGUtaW5saW5lLWFsaWdubWVudC5odG1sCiAKLSAg
ICAgICAgSW5saW5lIHBvc2l0aW9uZWQgZWxlbWVudHMgaW4gdGhlIGxlYWRpbmcgc3BhY2VzIG9m
IGFuIGlubGluZSBydW4gbmVlZCB0byBhbGlnbiB0byAKKyAgICAgICAgSW5saW5lIHBvc2l0aW9u
ZWQgZWxlbWVudHMgaW4gdGhlIGxlYWRpbmcgc3BhY2VzIG9mIGFuIGlubGluZSBydW4gbmVlZCB0
byBhbGlnbiB0bwogICAgICAgICBhZGphY2VudCB0ZXh0LCBzbyBhZGQgdGhlbSB0byB0aGUgcnVu
IGFzIHRoZXkncmUgZW5jb3VudGVyZWQuCiAKICAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxv
Y2tMaW5lTGF5b3V0LmNwcDoKQEAgLTU3MDE3LDE2ICs1NzA1MiwxNiBAQAogICAgICAgICAoV2Vi
Q29yZTo6TGluZUluZm86OnJlc2V0UnVuc0Zyb21MZWFkaW5nV2hpdGVzcGFjZSk6CiAgICAgICAg
IChXZWJDb3JlOjpMaW5lSW5mbzo6aW5jcmVtZW50UnVuc0Zyb21MZWFkaW5nV2hpdGVzcGFjZSk6
CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29uc3RydWN0TGluZSk6IExlYWRpbmcg
cG9zaXRpb25lZCBvYmplY3RzIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZAotICAgICAgICAgd2hl
biBkZWNpZGluZyB0aGUgbnVtYmVyIG9mIHJ1bnMgaW4gYSBsaW5lLiBPdGhlcndpc2UgdGhleSB3
b3VsZCBjb250cmlidXRlIHRvd2FyZHMgbGluZSAKLSAgICAgICAgIGhlaWdodCB0aGVtc2VsdmVz
IGFuZCBwcmV2ZW50IGEgZnJlZS1zdGFuZGluZyBCUiBmb2xsb3dpbmcgdGhlIHBvc2l0aW9uZWQg
b2JqZWN0IGZyb20gcHJvdmlkaW5nIGEgZnVsbCAKKyAgICAgICAgIHdoZW4gZGVjaWRpbmcgdGhl
IG51bWJlciBvZiBydW5zIGluIGEgbGluZS4gT3RoZXJ3aXNlIHRoZXkgd291bGQgY29udHJpYnV0
ZSB0b3dhcmRzIGxpbmUKKyAgICAgICAgIGhlaWdodCB0aGVtc2VsdmVzIGFuZCBwcmV2ZW50IGEg
ZnJlZS1zdGFuZGluZyBCUiBmb2xsb3dpbmcgdGhlIHBvc2l0aW9uZWQgb2JqZWN0IGZyb20gcHJv
dmlkaW5nIGEgZnVsbAogICAgICAgICAgMjBweCBvZiBoZWlnaHQuCiAgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6bGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UpOiBTaW5jZSBhIHJ1biBj
b250YWluaW5nIGxpbmUtYnJlYWtzIHdpbGwgZW50ZXIKICAgICAgICAgIHNraXBMZWFkaW5nV2hp
dGVzcGFjZSBmb3IgZWFjaCBuZXcgbGluZSB3ZSByZXNldCB0aGUgY291bnQgZXZlcnkgdGltZSBz
byB0aGF0IHRoZSBjb3VudCBvZiBwb3NpdGlvbmVkCi0gICAgICAgICBvYmplY3RzIHdlIGVuY291
bnRlciBvbmx5IGFmZmVjdHMgdGhlIGxpbmUgdGhleSBhcHBlYXIgb24uIFRoaXMgY2FzZSBpcyBj
b3ZlcmVkIGJ5IAorICAgICAgICAgb2JqZWN0cyB3ZSBlbmNvdW50ZXIgb25seSBhZmZlY3RzIHRo
ZSBsaW5lIHRoZXkgYXBwZWFyIG9uLiBUaGlzIGNhc2UgaXMgY292ZXJlZCBieQogICAgICAgICAg
ZmFzdC9pbmxpbmUvc3R5bGVkRW1wdHlJbmxpbmVzV2l0aEJScy5odG1sCiAgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6TGluZUJyZWFrZXI6OnNraXBMZWFkaW5nV2hpdGVzcGFjZSk6IEFk
ZCBhIHJ1biBmb3IgZWFjaCBpbmxpbmUgcG9zaXRpb25lZCBvYmplY3QKICAgICAgICAgIGVuY291
bnRlcmVkIGluIGxlYWRpbmcgd2hpdGUgc3BhY2UuIEtlZXAgYSBjb3VudCBvZiB0aGVtIHNvIHRo
YXQgdGhleSBjYW4gYmUgZXhjbHVkZWQgZnJvbQotICAgICAgICAgdGhlIHRvdGFsIG51bWJlciBv
ZiBydW5zIGluIGNvbnN0cnVjdExpbmUuIAorICAgICAgICAgdGhlIHRvdGFsIG51bWJlciBvZiBy
dW5zIGluIGNvbnN0cnVjdExpbmUuCiAKIDIwMTEtMTItMzAgIFJheW1vbmQgTGl1ICA8cmF5bW9u
ZC5saXVAaW50ZWwuY29tPgogCkBAIC01NzY1Niw3ICs1NzY5MSw3IEBACiAKICAgICAgICAgUmVm
YWN0b3JpbmcgY292ZXJlZCB1bmRlciB0aGUgbmV3IHRlc3RzLgogCi0gICAgICAgIE5vdyBtb3N0
IG9mIHRoZSBmdW5jdGlvbnMgdXNlIHRoZSBoZWFkZXIsIGZpcnN0IGJvZHkgYW5kIGZvb3Rlcidz
IAorICAgICAgICBOb3cgbW9zdCBvZiB0aGUgZnVuY3Rpb25zIHVzZSB0aGUgaGVhZGVyLCBmaXJz
dCBib2R5IGFuZCBmb290ZXIncwogICAgICAgICBnZXR0ZXJzIHRoYXQgY2hlY2tzIGlmIHdlIG5l
ZWQgYSBzZWN0aW9uIHJlY2FsY3VsYXRpb24uIFRoZSBvbmx5CiAgICAgICAgIGV4Y2VwdGlvbnMg
YXJlIGFkZENoaWxkIGFuZCByZWNhbGNTZWN0aW9ucyBhcyB0aGV5IGNhbiBiZSBjYWxsZWQKICAg
ICAgICAgd2l0aCB0aGUgYml0IHNldC4KQEAgLTU3OTM5LDcgKzU3OTc0LDcgQEAKICAgICAgICAg
ICAgICAgIGZhc3QvaW5saW5lL25lc3RlZC10ZXh0LWRlc2NlbmRhbnRzLmh0bWwKIAogICAgICAg
ICBUaGUgcm9vdCBpbmxpbmUgYm94IHdvdWxkIG9ubHkgbGVhcm4gaXQgaGFkIHRleHQgZGVzY2Vu
ZGFudHMgaWYgaXRzIGZpcnN0IGdyYW5kY2hpbGQKLSAgICAgICAgd2FzIHRleHQuIEl0IHdhc24n
dCBpbmZvcm1lZCBvZiBzdWJzZXF1ZW50IHRleHQgZ3JhbmRjaGlsZHJlbiBzbyBjb3VsZCBub3Qg
ZmFjdG9yIHRoZW0gCisgICAgICAgIHdhcyB0ZXh0LiBJdCB3YXNuJ3QgaW5mb3JtZWQgb2Ygc3Vi
c2VxdWVudCB0ZXh0IGdyYW5kY2hpbGRyZW4gc28gY291bGQgbm90IGZhY3RvciB0aGVtCiAgICAg
ICAgIGludG8gaXRzIGNhbGN1bGF0aW9uIG9mIHRoZSBsaW5lIGhlaWdodC4KICAgICAgICAgVG8g
Zml4IHRoaXMsIHByb3BhZ2F0ZSB0aGUgZXhpc3RlbmNlIG9mIGEgdGV4dCBkZXNjZW5kYW50IHRv
IHRoZSByb290IGlubGluZSBib3gKICAgICAgICAgYnkgd2Fsa2luZyB1cCB0aHJvdWdoIHRoZSB0
ZXh0IGNoaWxkJ3MgYW5jZXN0b3JzLgpAQCAtNTg1ODYsNyArNTg2MjEsNyBAQAogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDYKIAogICAgICAgICBU
aGUgdGV4dHVyZSBjb3B5IGZhaWxzIG9uIFdpbmRvd3MgYXMgZ2xDb3B5VGV4SW1hZ2UyRCgpIGRv
ZXNuJ3QKLSAgICAgICAgc3VwcG9ydCBCR1JBIHNvdXJjZSB0ZXh0dXJlcy4gCisgICAgICAgIHN1
cHBvcnQgQkdSQSBzb3VyY2UgdGV4dHVyZXMuCiAgICAgICAgIFRoaXMgY2hhbmdlIGFsc28gbW9k
aWZpZWQgQ2FudmFzMkRMYXllckNocm9taXVtOjp1cGRhdGVDb21wb3NpdG9yUmVzb3VyY2VzCiAg
ICAgICAgIHRvIGNhbGwgZ2xDb3B5VGV4U3ViSW1hZ2UyRCgpIGluc3RlYWQgb2YgZ2xDb3B5VGV4
SW1hZ2UyRCgpIHNvIHRoYXQKICAgICAgICAgdGhlIGNvcHkgY2FuIHdvcmsgd2l0aCB0ZXh0dXJl
IGFsbG9jYXRlZCB2aWEgdGhlIGdsVGV4U3RvcmFnZTJECkBAIC01OTExNiw3ICs1OTE1MSw3IEBA
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KIAotICAgICAgICBTd2l0Y2gg
YWNjaWRlbnRhbCBzd2l0Y2ggb2YgZGVmYXVsdCBzY3JvbGwgZ3JhbnVsYXJpdHkgZnJvbSAKKyAg
ICAgICAgU3dpdGNoIGFjY2lkZW50YWwgc3dpdGNoIG9mIGRlZmF1bHQgc2Nyb2xsIGdyYW51bGFy
aXR5IGZyb20KICAgICAgICAgU2Nyb2xsQnlQYWdlV2hlZWxFdmVudCBiYWNrIHRvIFNjcm9sbEJ5
UGl4ZWxXaGVlbEV2ZW50LgogCiAgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRG
YWN0b3J5Lm1tOgpAQCAtNTk1ODAsMTAgKzU5NjE1LDEwIEBACiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg5MQogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgotICAgICAgICAKKwogICAgICAgICBUYWtlIHRoZSBlZmZlY3RzIG9mIGZp
bHRlcnMgaW50byBhY2NvdW50IGZvciByZXBhaW50aW5nOyB3ZSBuZWVkCiAgICAgICAgIHRvIGlu
ZmxhdGUgdGhlIHJlcGFpbnQgcmVjdCBieSB0aGUgb3V0c2V0cyBwcm92aWRlZCBieSB0aGUgZmls
dGVyLgotICAgICAgICAKKwogICAgICAgICBUZXN0OiBjc3MzL2ZpbHRlcnMvZmlsdGVyLXJlcGFp
bnQuaHRtbAogCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CkBAIC01OTU5Nyw3
ICs1OTYzMiw3IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NTE1MgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotICAgICAgICAK
KwogICAgICAgICBGaWx0ZXJzIG5lZWQgdG8gY2F1c2UgY3JlYXRpb24gb2YgUmVuZGVyTGF5ZXJz
IGZvciBpbmxpbmVzLCBqdXN0IGxpa2UKICAgICAgICAgb3BhY2l0eSBhbmQgbWFza3MgZG8uCiAK
QEAgLTU5NzY3LDcgKzU5ODAyLDcgQEAKICAgICAgICAgR2l2ZSBlbWJlZGRlcnMgYSBjaGFuY2Ug
dG8gaGFuZGxlIHBvc3RNZXNzYWdlIGNhbGxzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4MwogCi0gICAgICAgIFRvIHN1cHBvcnQgY3Jvc3MtcHJv
Y2VzcyBwb3N0TWVzc2FnZSBjYWxscyBpbiBDaHJvbWl1bSAoYnVnIDczMzM3KSwgd2UgbmVlZCB0
byBpbnRlcmNlcHQgCisgICAgICAgIFRvIHN1cHBvcnQgY3Jvc3MtcHJvY2VzcyBwb3N0TWVzc2Fn
ZSBjYWxscyBpbiBDaHJvbWl1bSAoYnVnIDczMzM3KSwgd2UgbmVlZCB0byBpbnRlcmNlcHQKICAg
ICAgICAgcG9zdE1lc3NhZ2UgY2FsbHMgdG8gcHJveHkgd2luZG93cy4gT3JpZ2luYWxseSB3ZSB3
ZXJlIGp1c3QgZ29pbmcgdG8gYWRkIGEgbmF0aXZlIGV2ZW50CiAgICAgICAgIGxpc3RlbmVyIG9u
IHRoZSBDaHJvbWl1bSBzaWRlLCBidXQgdGhhdCByZXF1aXJlZCBtb3JlIGNoYW5nZXMgdG8gV2Vi
S2l0IGFuZCB3YXMgYSBiaXQgb2YKICAgICAgICAgYSBoYWNrLiBTZWUgYnVnIDczMzU5IGZvciBh
IGRpc2N1c3MgYWJvdXQgbW92aW5nIHRvIHRoaXMgYXBwcm9hY2guCkBAIC01OTk5Myw3ICs2MDAy
OCw3IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
NTEyMgogCiAgICAgICAgIFJldmlld2VkIGJ5IENocmlzIE1hcnJpbi4KLSAgICAgICAgCisKICAg
ICAgICAgRml4IHNvbWUgcmV2ZXJzZWQgZmlsdGVyIGFuaW1hdGlvbiBiZWhhdmlvciBmb3IgYnJp
Z2h0bmVzcywKICAgICAgICAgY29udHJhc3QgYW5kIGRyb3Atc2hhZG93IGZpbHRlcnMuCiAKQEAg
LTYwMTA3LDcgKzYwMTQyLDcgQEAKIAogICAgICAgICBNZXJnZSBpbW1lZGlhdGVTY3JvbGxCeURl
bHRhWCBhbmQgaW1tZWRpYXRlU2Nyb2xsQnlEZWx0YVkgdG8gYSBzaW5nbGUgZnVuY3Rpb24gYW5k
IHJlbmFtZSBpdAogICAgICAgICB0byBpbW1lZGlhdGVTY3JvbGxCeS4gQWxzbywgcmVuYW1lIGlt
bWVkaWF0ZVNjcm9sbFRvUG9pbnQgdG8gaW1tZWRpYXRlU2Nyb2xsVG8uCi0gICAgICAgIAorCiAg
ICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmg6CiAgICAgICAgICogcGxh
dGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
QW5pbWF0b3JNYWM6OnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbik6CkBAIC02MDQ4MCwz
NCArNjA1MTUsMzQgQEAKIAogICAgICAgICBbQ1NTIFNoYWRlcnNdIEZvbGxvdyB1cCBidWcgdG8g
Zml4IGlzc3VlcyBtZW50aW9uZWQgaW4gY29tbWVudCAyMyBmcm9tIGJ1ZyA3MzMxNwogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDAKLSAgICAgICAg
CisKICAgICAgICAgU29tZSBjb21tZW50cyB3ZXJlIGFkZGVkIG9uIGJ1ZyA3MzMxNyBhZnRlciB0
aGUgcGF0Y2ggd2FzIHJldmlld2VkIGFuZCBjb21taXR0ZWQuCiAgICAgICAgIFRoaXMgcGF0Y2gg
aXMgZml4aW5nIHRob3NlIGlzc3VlcywgbW9zdGx5IGFib3V0IGNvZGluZyBzdHlsZSBhbmQgc29t
ZSBtaXNzaW5nIGNvbW1lbnRzLgotICAgICAgICAKKwogICAgICAgICBUaGUgaW5pdGlhbCBwYXRj
aCBoYWQgbm8gZXhwbGFuYXRpb24gYWJvdXQgdGhlIGZlYXR1cmUgaW4gdGhlIENoYW5nZUxvZywg
c28gSSdtIGluY2x1ZGluZyB0aGUgZGVzY3JpcHRpb24KICAgICAgICAgaW4gdGhpcyBwYXRjaDoK
LSAgICAgICAgCisKICAgICAgICAgQ1NTIFNoYWRlcnMgYWxsb3cgYSBkZXNpZ25lciB0byB1c2Ug
YSBwYWlyIG9mIFdlYkdMIHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycyB0byBhbHRlciB0aGUg
ZmluYWwKICAgICAgICAgcmVuZGVyaW5nIG9mIGEgc3BlY2lmaWMgZWxlbWVudC4gVGhlIG5hdmln
YXRvciB3aWxsIHJlbmRlciB0aGUgZWxlbWVudCBpbnNpZGUgYSB0ZXh0dXJlIGFuZCBtYXAgaXQK
ICAgICAgICAgdG8gYSBtZXNoLiBUaGUgbWVzaCBpcyBmb3JtZWQgYnkgZXF1YWwgc2l6ZWQgcXVh
ZHMsIHRoYXQgZGVwZW5kaW5nIG9uIHRoZSBtZXNoIHN0eWxlLCBhdHRhY2hlZCBvciBkZXRhY2hl
ZCwKICAgICAgICAgY2FuIGJlIHN0aXRjaGVkIG9yIHNlcGFyYXRlZC4gVGhlIG51bWJlciBvZiBx
dWFkcyBjYW4gYmUgY2hhbmdlZCBmcm9tIENTUy4KLSAgICAgICAgCisKICAgICAgICAgVXN1YWxs
eSB0aGUgdmVydGV4IHNoYWRlciBpcyBjaGFuZ2luZyB0aGUgdmVydGljZXMgb2YgdGhlIG1lc2gs
IHdoaWxlIHRoZSBmcmFnbWVudCBzaGFkZXIgYWZmZWN0cyBvbmx5IHRoZSBjb2xvcgogICAgICAg
ICB0aGF0IGlzIHJlbmRlcmVkIHRvIHNjcmVlbiAoZm9yIGV4YW1wbGUgbGlnaHRpbmcgZWZmZWN0
cykuCi0gICAgICAgIAorCiAgICAgICAgIE1vcmUgaW5mbyBhYm91dCBDU1MgU2hhZGVycyBjYW4g
YmUgZm91bmQgaW4gdGhlIHNwZWNpZmljYXRpb24KICAgICAgICAgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9GWFRGL3Jhdy1maWxlL3RpcC9jdXN0b20vaW5kZXguaHRtbAotICAgICAgICAKKwogICAg
ICAgICBBbHNvIGEgZ29vZCB0dXRvcmlhbCBpcyBwdWJsaXNoZWQgaGVyZQogICAgICAgICBodHRw
Oi8vd3d3LmFkb2JlLmNvbS9kZXZuZXQvaHRtbDUvYXJ0aWNsZXMvY3NzLXNoYWRlcnMuaHRtbAot
ICAgICAgICAKKwogICAgICAgICBJbml0aWFsbHkgd2UgYXJlIHVzaW5nIHRoZSBzb2Z0d2FyZSBm
aWx0ZXIgZWZmZWN0cyBwaXBlbGluZS4gSXQgdXBsb2FkcyB0aGUgaW1hZ2UgdG8gdGhlIEdQVSwg
YXBwbGllcwogICAgICAgICB0aGUgc2hhZGVycywgcmVhZHMgaXQgYmFjayB0byBDUFUgYW5kIGNv
bnRpbnVlcyB0aGUgcmVuZGVyaW5nLiBUaGUgYWR2YW50YWdlIG9mIHVzaW5nIHRoZSBzb2Z0d2Fy
ZSBwaXBlbGluZSBpcyB0aGF0CiAgICAgICAgIGl0IGNhbiBiZSBlbmFibGVkIG9uIGFsbCB0aGUg
cGxhdGZvcm1zIHRoYXQgaGF2ZSBXZWJHTCBzdXBwb3J0LiBUaGUgb2J2aW91cyBkaXNhZHZhbnRh
Z2UgaXMgcGVyZm9ybWFuY2U6IGNvcGllcyBmcm9tIENQVQotICAgICAgICBtZW1vcnkgdG8gR1BV
IG1lbW9yeSBhbmQgdGhlIENQVSB3aWxsIG5lZWQgdG8gd2FpdCB0aGUgR1BVIHRvIGZpbmlzaCBi
ZWZvcmUgaXQgY291bGQgY29udGludWUuIEluIGZvbGxvd2luZyAKLSAgICAgICAgcGF0Y2hlcyB0
aGUgc2hhZGVycyB3aWxsIGJlIGludGVncmF0ZWQgaW4gdGhlIGhhcmR3YXJlIGFjY2VsZXJhdGVk
IHBpcGVsaW5lLCBzbyB0aGF0IG5vIGNvcGllcyBhbmQsIG1vc3QgCisgICAgICAgIG1lbW9yeSB0
byBHUFUgbWVtb3J5IGFuZCB0aGUgQ1BVIHdpbGwgbmVlZCB0byB3YWl0IHRoZSBHUFUgdG8gZmlu
aXNoIGJlZm9yZSBpdCBjb3VsZCBjb250aW51ZS4gSW4gZm9sbG93aW5nCisgICAgICAgIHBhdGNo
ZXMgdGhlIHNoYWRlcnMgd2lsbCBiZSBpbnRlZ3JhdGVkIGluIHRoZSBoYXJkd2FyZSBhY2NlbGVy
YXRlZCBwaXBlbGluZSwgc28gdGhhdCBubyBjb3BpZXMgYW5kLCBtb3N0CiAgICAgICAgIGltcG9y
dGFudCwgbm8gd2FpdHMgd2lsbCBiZSByZXF1aXJlZC4KLSAgICAgICAgCisKICAgICAgICAgQWxz
bywgdGhlIG5ldyBzeW50YXggY291bnRzIHRvdGFsIG51bWJlciBvZiB0aGUgbGluZXMgYW5kIHRo
ZSBjb2x1bW5zLCBub3QganVzdCB0aGUKICAgICAgICAgYWRkaXRpb25hbCBsaW5lcyBhbmQgY29s
dW1ucywgc28gdGhlIG1pbmltdW0gYWNjZXB0ZWQgYW5kIHRoZSBkZWZhdWx0IHZhbHVlIGlzIG5v
dyAxIGJ5IDEuCiAKQEAgLTYwNTE3LDE4ICs2MDU1MiwxOCBAQAogCiAgICAgICAgICogY3NzL0NT
U1BhcnNlci5jcHA6CiAgICAgICAgICAgICBPbmx5IGFjY2VwdCBub24temVybyBwb3NpdGl2ZSBp
bnQgdmFsdWVzIGZvciBtZXNoIHNpemVzLgotICAgICAgICAgICAgCisKICAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VDdXN0b21GaWx0ZXIpOgogICAgICAgICAqIGNzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcDoKICAgICAgICAgICAgIFVwZGF0ZWQgdGhlIGRlZmF1bHQgbWVzaCBzaXpl
IHRvIGJlIDEgY29sdW1uIHdpdGggMSBsaW5lLgotICAgICAgICAgICAgCisKICAgICAgICAgKFdl
YkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbik6CiAg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFNoYWRlci5jcHA6CiAgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRTaGFkZXI6OnNoYWRlclN0cmluZyk6Ci0gICAgICAgICAgICBDb3JyZWN0ZWQgdGhl
IENhY2hlZFNoYWRlciB0byB1c2UgYSBTdHJpbmdCdWlsZGVyLiBBbHNvIHRoZXJlIHdhcyBhbiBp
bmNvcnJlY3QgCisgICAgICAgICAgICBDb3JyZWN0ZWQgdGhlIENhY2hlZFNoYWRlciB0byB1c2Ug
YSBTdHJpbmdCdWlsZGVyLiBBbHNvIHRoZXJlIHdhcyBhbiBpbmNvcnJlY3QKICAgICAgICAgICAg
IGNhc3QgdG8gYm9vbCwgd2hpY2ggcmVzdWx0ZWQgZnJvbSBhIGNvcHkvcGFzdGUgZnJvbSBDYWNo
ZWRTY3JpcHQgd2hpY2ggc3RpbGwgaGFzCiAgICAgICAgICAgICBib3RoIHNhbWUgaXNzdWVzLgot
ICAgICAgICAgICAgCisKICAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFNoYWRlcjo6ZGF0YSk6CiAg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFNoYWRlci5oOgogICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHA6CkBAIC02MDU0Miw3ICs2MDU3
Nyw3IEBACiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJT
aGFkZXIuY3BwOgogICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyU2hhZGVyOjpDdXN0b21G
aWx0ZXJTaGFkZXIpOgogICAgICAgICAgICAgRXhwbG9kZWQgdGhlIGJvZHkgb2YgdGhlIGNvbnN0
cnVjdG9yIGludG8gc21hbGxlciBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAgICAgICAgCisKICAg
ICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclNoYWRlcjo6Y29tcGlsZVNoYWRlcik6CiAgICAg
ICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJTaGFkZXI6OmxpbmtQcm9ncmFtKToKICAgICAgICAg
KFdlYkNvcmU6OkN1c3RvbUZpbHRlclNoYWRlcjo6aW5pdGlhbGl6ZVBhcmFtZXRlckxvY2F0aW9u
cyk6CkBAIC02MDU1MSwxMSArNjA1ODYsMTEgQEAKICAgICAgICAgKFdlYkNvcmU6Om9ydGhvZ29u
YWxQcm9qZWN0aW9uTWF0cml4KToKICAgICAgICAgICAgIFBhc3NpbmcgYSBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCBieSByZWZlcmVuY2UgdG8gYmUgZmlsbGVkIHdpdGggdGhlIHJlc3VsdCBtYXRyaXgs
IGluc3RlYWQKICAgICAgICAgICAgIG9mIHJldHVybmluZyBpdCBieSB2YWx1ZS4gQWxzbyBjaGFu
Z2VkIHRoZSBuYW1lIG9mIHRoZSBtZXRob2QuCi0gICAgICAgICAgICAKKwogICAgICAgICAoV2Vi
Q29yZTo6RkVDdXN0b21GaWx0ZXI6OkZFQ3VzdG9tRmlsdGVyKToKICAgICAgICAgKFdlYkNvcmU6
OkZFQ3VzdG9tRmlsdGVyOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUpOgogICAgICAgICAgICAgQ3Jl
YXRlZCBzb21lIGhlbHBlciBmdW5jdGlvbnMgdG8gbWFrZSB0aGlzIG1ldGhvZCBzaG9ydGVyLgot
ICAgICAgICAgICAgCisKICAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjppbml0aWFs
aXplQ29udGV4dCk6CiAgICAgICAgIChXZWJDb3JlOjpGRUN1c3RvbUZpbHRlcjo6cmVzaXplQ29u
dGV4dCk6CiAgICAgICAgIChXZWJDb3JlOjpGRUN1c3RvbUZpbHRlcjo6YmluZFZlcnRleEF0dHJp
YnV0ZSk6CkBAIC02MDY4Myw3ICs2MDcxOCw3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUnlv
c3VrZSBOaXdhLgogCi0gICAgICAgIEhhbmRsZSBub24tUkdCIGNvbG9yc3BhY2UgY29sb3JzIGlu
IHRoZSBNYWMgcGxhdGZvcm0gZHJhZyBtYW5hZ2VyLiBGaXhlcyBOU0V4Y2VwdGlvbiB0aHJvd24g
CisgICAgICAgIEhhbmRsZSBub24tUkdCIGNvbG9yc3BhY2UgY29sb3JzIGluIHRoZSBNYWMgcGxh
dGZvcm0gZHJhZyBtYW5hZ2VyLiBGaXhlcyBOU0V4Y2VwdGlvbiB0aHJvd24KICAgICAgICAgd2hl
biBkcmFnZ2luZyBtb25vY2hyb21lIGNvbG9ycyB0byBjb250ZW50RWRpdGFibGUgcmVnaW9ucy4K
IAogICAgICAgICBNYW51YWwgdGVzdCBhZGRlZCB0byB0cnVuay9NYW51YWxUZXN0cy9kcmFnLWNv
bG9yLXRvLWNvbnRlbnRlZGl0YWJsZS5odG1sCkBAIC02MDg4OCw3ICs2MDkyMyw3IEBACiAgICAg
ICAgIFRoaXMgcGF0Y2ggY2hhbmdlcyB3aGVuIG9uY2hhbmdlIGV2ZW50IGZpcmVkIGluIHNlbGVj
dCBlbGVtZW50IGZvcjoKICAgICAgICAgMSBGaXJlIG9uY2hhbmdlIGV2ZW50IGZvciB0eXBlIGFo
ZWFkIHNlbGVjdGlvbi4KICAgICAgICAgMiBEb24ndCBmaXJlIG9uY2hhbmdlIGV2ZW50IGZvciBF
bnRlciBrZXkuIFdlJ3ZlIGFscmVhZHkgZmlyZWQgb25jaGFuZ2UgZXZlbnQgZm9yIGN1cnNvciBr
ZXkKLSAgICAgICAgICBhbmQgdHlwZSBhaGVhZCBzZWxlY3Rpb24uIFNvLCBvbmNoYW5nZSBmb3Ig
RW50ZXIga2V5IGlzIHJlZHVuZGFudC4gVGhpcyBiZWhhdmlvciBpcyAKKyAgICAgICAgICBhbmQg
dHlwZSBhaGVhZCBzZWxlY3Rpb24uIFNvLCBvbmNoYW5nZSBmb3IgRW50ZXIga2V5IGlzIHJlZHVu
ZGFudC4gVGhpcyBiZWhhdmlvciBpcwogICAgICAgICAgIGNvbXBhdGlibGUgdG8gSUUoOS4wLjgx
MTIuMTY0MjEpIGFuZCBPcGVyYSg5LjgwKSBvbiBXaW5kb3dzLiBGRig4LjAxKSBkb2Vzbid0IGZp
cmUgb25jaGFuZ2UKICAgICAgICAgICBieSBjdXJzb3Iga2V5IHNlbGVjdGlvbiBjaGFuZ2UgYW5k
IHR5cGUgYWhlYWQuIEZGIHJlcXVpcmVzIEVudGVyIGtleSBwcmVzcyB0byBmaXJlIG9uY2hhbmdl
CiAgICAgICAgICAgZXZlbnQuCkBAIC02MTA5NCwxMSArNjExMjksMTEgQEAKIAogICAgICAgICBD
bGVhbiB1cCBSZW5kZXJMYXllciBjb2RlIHRoYXQgYXBwbGllcyBmaWx0ZXJzIGFuZCB0cmFuc2Zv
cm1zCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAz
MgotICAgICAgICAKKwogICAgICAgICBUaGlzIGFsc28gZml4ZXM6CiAgICAgICAgICAgICBOZXN0
ZWQgZmlsdGVycyBub3Qgd29ya2luZyBhcyBleHBlY3RlZAogICAgICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDI5Ci0gICAgICAgICAgICAKKwogICAg
ICAgICAgICAgRmlsdGVyIHJlZ2lvbiBpcyBjb21wdXRlZCBpbmNvcnJlY3RseQogICAgICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODg5CiAKQEAgLTYx
MTA5LDIwICs2MTE0NCwyMCBAQAogICAgICAgICB0aGUgbWV0aG9kIHdpdGggYSBiaXQgc2V0LiBU
aGlzIHdhcyBwYXJ0aWFsbHksIGJ1dCBpbmNvcnJlY3RseQogICAgICAgICBjb3BpZWQgZm9yIGZp
bHRlcnMsIHNvIHRoaW5ncyBsaWtlIG5lc3RlZCBmaWx0ZXJzIGRpZG4ndCB3b3JrLAogICAgICAg
ICBhbmQgdGhlIGNhc2Ugb2YgYSBmaWx0ZXIgKyB0cmFuc2Zvcm0gd2FzIGNvbmZ1c2VkLgotICAg
ICAgICAKKwogICAgICAgICBDbGVhbiB1cCBieSBtYWtpbmcgUmVuZGVyTGF5ZXI6OnBhaW50TGF5
ZXIoKSBiZSBhIGZhaXJseSBzaW1wbGUKICAgICAgICAgbWV0aG9kIHRoYXQgaGFuZGxlcyB0aGUg
cmUtZW50ZXJpbmcgd2l0aCBiaXQgc2V0LCBmb3IgYm90aAogICAgICAgICB0cmFuc2Zvcm1zIGFu
ZCBmaWx0ZXJzLiBUaGUgYnVsayBvZiB0aGUgY29kZSBpbiBSZW5kZXJMYXllcjo6cGFpbnRMYXll
cigpCiAgICAgICAgIGlzIG5vdyBpbiBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKCku
IFRoZXJlIGlzIG5vCiAgICAgICAgIGJlaGF2aW9yIGNoYW5nZSBmb3IgdHJhbnNmb3Jtcy4KLSAg
ICAgICAgCisKICAgICAgICAgVGhlcmUgYXJlIHR3byBmaXhlcyBmb3IgZmlsdGVycy4gRmlyc3Qs
IGluc3RlYWQgb2YganVzdCB1c2luZwogICAgICAgICB0aGUgbGF5ZXIgc2l6ZSB0byBjb21wdXRl
IHRoZSBib3VuZHMgb2YgdGhlIGZpbHRlcmVkIHJlZ2lvbiwKICAgICAgICAgdXNlIHRyYW5zcGFy
ZW5jeUNsaXBCb3goKSB3aGljaCBhbHJlYWR5IHRha2VzIGRlc2NlbmRlbnRzLCBib3gKICAgICAg
ICAgZGVjb3JhdGlvbnMgZXRjIGludG8gYWNjb3VudCAoaXQncyB3aGF0IHdlIHVzZSBmb3Igb3Bh
Y2l0eSkuCiAgICAgICAgIFNvbWUgY2xlYW51cCBvZiB0aGUgY29vcmRpbmF0ZSBtYXRoLCBhbmQg
c2VwYXJhdGlvbiBmcm9tIHRyYW5zZm9ybXMKICAgICAgICAgY29kZSB3YXMgYWxzbyBhY2hpZXZl
ZC4KLSAgICAgICAgCisKICAgICAgICAgU2Vjb25kLCBtYWtlIHN1cmUgd2UgdG9nZ2xlIG9mZiB0
aGUgUGFpbnRMYXllckFwcGxpZWRGaWx0ZXJzIGJpdAogICAgICAgICAod2hpY2ggd2FzIHJlbmFt
ZWQgZm9yIGNsYXJpdHkpIGZvciBzdWJsYXllcnMsIHNvIHRoYXQgc3VibGF5ZXJzCiAgICAgICAg
IHBhaW50IHRoZWlyIGZpbHRlcnMgY29ycmVjdGx5LgpAQCAtNjE0MTQsNyArNjE0NDksNyBAQAog
CiAyMDExLTEyLTIwICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+CiAKLSAgICAg
ICAgW0Nocm9taXVtXSBEYXRhYmFzZVRyYWNrZXJDaHJvbWl1bTogaXRlcmF0aW5nIERhdGFiYXNl
U2V0IHJhY2VzIHdpdGggRGF0YWJhc2UgZGlzcG9zYWwgb24gd29ya2VyIHRocmVhZCAKKyAgICAg
ICAgW0Nocm9taXVtXSBEYXRhYmFzZVRyYWNrZXJDaHJvbWl1bTogaXRlcmF0aW5nIERhdGFiYXNl
U2V0IHJhY2VzIHdpdGggRGF0YWJhc2UgZGlzcG9zYWwgb24gd29ya2VyIHRocmVhZAogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTQKIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KQEAgLTYxNDM1LDcgKzYxNDcwLDcgQEAKIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAotICAgICAgICBOb3RoaW5nIHRvIHRlc3Qs
IGp1c3QgcmVtb3ZpbmcgcmVkdW5kYW50IGNvZGUuIENvcnJlY3QgYmVoYXZpb3IgdGVzdGVkIGJ5
IAorICAgICAgICBOb3RoaW5nIHRvIHRlc3QsIGp1c3QgcmVtb3ZpbmcgcmVkdW5kYW50IGNvZGUu
IENvcnJlY3QgYmVoYXZpb3IgdGVzdGVkIGJ5CiAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNrLWN1
ZS1yZW5kZXJpbmcuaHRtbCBhbmQgbWVkaWEvdHJhY2svdHJhY2stY3VlLW5vdGhpbmctdG8tcmVu
ZGVyLmh0bWwuCiAKICAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgpAQCAtNjE3
MTQsMTIgKzYxNzQ5LDEyIEBACiAgICAgICAgIEFyYWJpYy4KIAogICAgICAgICBObyBuZXcgdGVz
dHMsIHRoZXJlIGlzIG5vIHZpc2libGUgZWZmZWN0IHVudGlsIGRlZmF1bHQgcGVyLXNjcmlwdCBm
b250cwotICAgICAgICBhcmUgYWRkZWQgdG8gbm9uLUlDVSBwb3J0cyAoYWx0ZXJuYXRpdmVseSwg
d2UgY291bGQgZXh0ZW5kIER1bXBSZW5kZXJUcmVlIAorICAgICAgICBhcmUgYWRkZWQgdG8gbm9u
LUlDVSBwb3J0cyAoYWx0ZXJuYXRpdmVseSwgd2UgY291bGQgZXh0ZW5kIER1bXBSZW5kZXJUcmVl
CiAgICAgICAgIHRvIHN1cHBvcnQgb3ZlcnJpZGVQcmVmZXJlbmNlIGZvciBwZXItc2NyaXB0IGZv
bnRzIGFzIGluIGJ1ZyA3MTExMCkuCiAKICAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZVRv
U2NyaXB0TWFwcGluZ0RlZmF1bHQuY3BwOgogICAgICAgICAoV2ViQ29yZTo6Z2V0U2NyaXB0Q29k
ZSk6IGFkZCBzY3JpcHQgbmFtZSB0byBzY3JpcHQgY29kZSBtYXBwaW5nCi0gICAgICAgIChXZWJD
b3JlOjpsb2NhbGVUb1NjcmlwdENvZGVGb3JGb250U2VsZWN0aW9uKTogYWRkIElDVSBsYW5ndWFn
ZXMgdG8gbWFwIAorICAgICAgICAoV2ViQ29yZTo6bG9jYWxlVG9TY3JpcHRDb2RlRm9yRm9udFNl
bGVjdGlvbik6IGFkZCBJQ1UgbGFuZ3VhZ2VzIHRvIG1hcAogCiAyMDExLTEyLTIwICBNYXJ5IFd1
ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CiAKQEAgLTYxNzQxLDcgKzYxNzc2LDcgQEAK
IAogICAgICAgICBPdGhlciBNYWluIENvbnRyaWJ1dG9yczoKICAgICAgICAgUm9iIEJ1aXMgPHJi
dWlzQHJpbS5jb20+Ci0gICAgICAgIE1pa2UgRmVudG9uIDxtaWZlbnRvbkByaW0uY29tPiAKKyAg
ICAgICAgTWlrZSBGZW50b24gPG1pZmVudG9uQHJpbS5jb20+CiAKICAgICAgICAgSW5pdGlhbCB1
cHN0cmVhbSwgbm8gbmV3IHRlc3RzLgogCkBAIC02MjA3OSwxNiArNjIxMTQsMTYgQEAKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY0CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQ2hyaXMgTWFycmluLgotICAgICAgICAKKwogICAgICAgICBPbiBNYWMg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lIHVzZXMgYSBDVkRpc3BsYXlMaW5rLCBzZW5kaW5nIG5vdGlm
aWNhdGlvbnMKICAgICAgICAgZnJvbSB0aGUgZGlzcGxheSBsaW5rIHRocmVhZCB0byB0aGUgbWFp
biB0aHJlYWQgdGhhdCB0aGUgZGlzcGxheSBsaW5rIGZpcmVkLgogICAgICAgICBIb3dldmVyLCB0
aGVyZSB3YXMgbm8gdGhyb3R0bGluZyBvbiB0aGVzZSBub3RpZmljYXRpb25zOyBpZiBwcm9jZXNz
aW5nIGFuIGV2ZW50CiAgICAgICAgIHRvb2sgYSBsb25nIHRpbWUsIG5vdGlmaWNhdGlvbnMgd291
bGQgcGlsZSB1cCwgYW5kIHRoZW4gZ2V0IGhhbmRsZWQgYWZ0ZXIKICAgICAgICAgdGhlIHNsb3cg
ZXZlbnQgY29tcGxldGVkLgotICAgICAgICAKKwogICAgICAgICBUaGlzIHdvdWxkIGNhdXNlIEpT
IGFuaW1hdGlvbnMgd2hpY2ggYW5pbWF0ZSBieSBjaGFuZ2luZyBzdHlsZSB0byByZXBvcnQKICAg
ICAgICAgNjBmcHMgd2hlbiB0aGVpciBkaXNwbGF5IGZyYW1lcmF0ZSB3YXMgbXVjaCBsb3dlci4K
LSAgICAgICAgCisKICAgICAgICAgRml4IGJ5IHRocm90dGxpbmcgbm90aWZpY2F0aW9ucyBmcm9t
IHRoZSBkaXNwbGF5IGxpbmsgdGhyZWFkIHRvIHRoZSB3ZWIKICAgICAgICAgdGhyZWFkOyBpZiB0
aGUgcHJldmlvdXMgZXZlbnQgaGFzbid0IGNvbXBsZXRlZCB5ZXQsIGRvbid0IHNlbmQgYW55IG5l
dyBvbmVzLgogCkBAIC02MjgwMSw3ICs2MjgzNiw3IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg3MQogCiAgICAgICAgIFJldmlld2VkIGJ5IEph
bWVzIFJvYmluc29uLgotICAgICAgICAKKwogICAgICAgICBTd2l0Y2hlZCBvdmVyIHRvIG5ldyBB
UEkgZm9yIGNyZWF0aW5nIGFjY2VsZXJhdGVkIGNhbnZhcyBHckNvbnRleHQ6OmNyZWF0ZVBsYXRm
b3JtVGV4dHVyZS4KICAgICAgICAgSXQgY29ycmVjdGx5IGJpbmRzIHRoZSBzdGVuY2lsIGJ1ZmZl
ciB0byB0aGUgRkJPLgogCkBAIC02MzEyMiw3ICs2MzE1Nyw3IEBACiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgVG9ueSBDaGFuZy4KIAotICAgICAgICBVcGRhdGUgc3VwcG9ydCBmb3IgZHJvcHpvbmUg
YXR0cmlidXRlIHRvIHVzZSBmaWxlOiBhbmQgc3RyaW5nOiBpbnN0ZWFkIG9mIGY6IGFuZCBzOi4g
CisgICAgICAgIFVwZGF0ZSBzdXBwb3J0IGZvciBkcm9wem9uZSBhdHRyaWJ1dGUgdG8gdXNlIGZp
bGU6IGFuZCBzdHJpbmc6IGluc3RlYWQgb2YgZjogYW5kIHM6LgogICAgICAgICBodHRwOi8vd3d3
LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyN0aGUtZHJvcHpvbmUtYXR0
cmlidXRlCiAKICAgICAgICAgTm8gbmV3IHRlc3RzLiBFeGlzdGluZyB0ZXN0cyBjb3ZlciB0aGlz
IGFuZCB3ZXJlIHVwZGF0ZWQuCkBAIC02MzE3Miw3ICs2MzIwNyw3IEBACiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MwogCiAgICAgICAgIFJldmll
d2VkIGJ5IEphbWVzIFJvYmluc29uLgotICAgICAgICAKKwogICAgICAgICBGaXggdGhlIGxpZmUt
Y3ljbGUgb2YgdmlkZW8gZnJhbWVzIGhhbmRsZWQgYnkgVmlkZW9MYXllckNocm9taXVtL0NDVmlk
ZW9MYXllckltcGwuCiAgICAgICAgIFZpZGVvRnJhbWVQcm92aWRlcjo6e2dldCxwdXR9Q3VycmVu
dEZyYW1lIHByb3ZpZGUgbGVhc2Ugc2VtYW50aWNzLiAgUHJldmlvdXNseQogICAgICAgICBWaWRl
b0xheWVyQ2hyb21pdW0gd291bGQgYWNxdWlyZSB0aGUgbGVhc2UgZm9yIHRoZSBkdXJhdGlvbiBv
ZiBjb3B5aW5nIHRoZSBmcmFtZSwKQEAgLTYzNjY4LDIwICs2MzcwMywyMCBAQAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAogICAgICAgICBGcm9tIGh0dHA6Ly93d3cudzMub3Jn
L1RSL0NTUzIxL3RhYmxlcy5odG1sI2JvcmRlci1jb25mbGljdC1yZXNvbHV0aW9uIDoKLSAgICAg
ICAgICJXaGVuIHR3byBhZGphY2VudCBjZWxscyBoYXZlIHRoZSBzYW1lIGJvcmRlci13aWR0aCBh
bmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxlIGluIGEgCisgICAgICAgICAiV2hlbiB0d28gYWRqYWNl
bnQgY2VsbHMgaGF2ZSB0aGUgc2FtZSBib3JkZXItd2lkdGggYW5kIHRoZSBzYW1lIGJvcmRlci1z
dHlsZSBpbiBhCiAgICAgICAgICAgJ2JvcmRlci1jb2xsYXBzZTogY29sbGFwc2UnIHRhYmxlLCB0
aGVuIHRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGZyb20gdGhlIGxlZnRtb3N0IGNlbGwgd2lucwog
ICAgICAgICAgIChpZiB0aGUgdGFibGUncyAnZGlyZWN0aW9uJyBpcyAnbHRyJzsgcmlnaHQsIGlm
IGl0IGlzICdydGwnKSBhbmQgdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIKICAgICAgICAgICBmcm9t
IHRoZSB0b3Btb3N0IGNlbGwgd2lucy4iCiAKICAgICAgICAgUmVuZGVyVGFibGUgbWFuYWdlcyBj
b2xsYXBzZWQgYm9yZGVycyBieSBmaXJzdCBjcmVhdGluZyBhIGxpc3Qgb2YgdW5pcXVlIGJvcmRl
ciB2YWx1ZXMgc29ydGVkIGluIGFzY2VuZGluZwotICAgICAgICBwcmlvcml0eS4gQSB1bmlxdWUg
Ym9yZGVyIHZhbHVlIGlzIGRldGVybWluZWQgYnkgc3R5bGUsIHdpZHRoIGFuZCBjb2xvciBhbmQg
Y2VsbC10eXBlIHByZWNlZGVuY2UuIEZvciBlYWNoIAotICAgICAgICBlbnRyeSBpbiB0aGlzIGxp
c3QgUmVuZGVyVGFibGVTZWN0aW9uIHBhaW50cyBlYWNoIGNlbGwgaW4gaXRzIHNlY3Rpb24gc3Rh
cnRpbmcgYXQgdGhlIHRvcC1sZWZ0LiBJZiBhIGNlbGwgCi0gICAgICAgIGlzIHVzaW5nIHRoZSBi
b3JkZXIgUmVuZGVyVGFibGUgaXMgY3VycmVudGx5IGl0ZXJhdGluZyBmb3IsIHRoZSBjZWxsIHdp
bGwgcGFpbnQgdGhhdCBib3JkZXIuIAorICAgICAgICBwcmlvcml0eS4gQSB1bmlxdWUgYm9yZGVy
IHZhbHVlIGlzIGRldGVybWluZWQgYnkgc3R5bGUsIHdpZHRoIGFuZCBjb2xvciBhbmQgY2VsbC10
eXBlIHByZWNlZGVuY2UuIEZvciBlYWNoCisgICAgICAgIGVudHJ5IGluIHRoaXMgbGlzdCBSZW5k
ZXJUYWJsZVNlY3Rpb24gcGFpbnRzIGVhY2ggY2VsbCBpbiBpdHMgc2VjdGlvbiBzdGFydGluZyBh
dCB0aGUgdG9wLWxlZnQuIElmIGEgY2VsbAorICAgICAgICBpcyB1c2luZyB0aGUgYm9yZGVyIFJl
bmRlclRhYmxlIGlzIGN1cnJlbnRseSBpdGVyYXRpbmcgZm9yLCB0aGUgY2VsbCB3aWxsIHBhaW50
IHRoYXQgYm9yZGVyLgogCiAgICAgICAgIFRoZSBwcm9ibGVtcyB3aXRoIHRoaXMgYXBwcm9hY2gg
YXJlOgogICAgICAgICAgIDEuIFBhaW50aW5nIGNlbGxzIGZyb20gdGhlIHRvcC1sZWZ0IHRvIHRo
ZSBib3R0b20tcmlnaHQgbWVhbnMgdGhhdCBib3JkZXJzIGZ1cnRoZXIgdG8gdGhlIHJpZ2h0IGFu
ZCB0byB0aGUgYm90dG9tCiAgICAgICAgICAgICAgb2YgdGhlIHRhYmxlIHdpbGwgcGFpbnQgb3Zl
ciB0aG9zZSBmdXJ0aGVyIHRvIHRoZSBsZWZ0IGFuZCB0aGUgdG9wLCBicmVha2luZyB0aGUgcHJl
Y2VkZW5jZSBkdWUgdG8gY2VsbCBwb3NpdGlvbi4KLSAgICAgICAgICAyLiBJdCBjcmVhdGVzIG1v
cmUgdW5pcXVlIGJvcmRlcnMgaW4gdGhlIGxpc3QgdGhhbiBuZWNlc3NhcnkuIEJvcmRlcnMgdGhh
dCBkaWZmZXIgb25seSBvbiBjb2xvciBkbyBub3QgbmVlZCB0byBiZSBwYWludGVkIGluIAorICAg
ICAgICAgIDIuIEl0IGNyZWF0ZXMgbW9yZSB1bmlxdWUgYm9yZGVycyBpbiB0aGUgbGlzdCB0aGFu
IG5lY2Vzc2FyeS4gQm9yZGVycyB0aGF0IGRpZmZlciBvbmx5IG9uIGNvbG9yIGRvIG5vdCBuZWVk
IHRvIGJlIHBhaW50ZWQgaW4KICAgICAgICAgICAgICBhIHNlcGFyYXRlIGl0ZXJhdGlvbi4gUHJl
Y2VkZW5jZSBpbiBzdWNoIGNhc2VzIGlzIGRldGVybWluZWQgYnkgY2VsbCBwb3NpdGlvbi4KIAog
ICAgICAgICBTbyBpbiBvcmRlciB0byByZXNwZWN0IGNlbGwgcG9zaXRpb24gd2hlbiBwYWludGlu
ZyBjb2xsYXBzZWQgYm9yZGVyczoKQEAgLTYzNjg5LDcgKzYzNzI0LDcgQEAKICAgICAgICAgICAg
ICBpbXByb3ZlbWVudCBvbiB0YWJsZXMgd2hlcmUgY29sbGFwc2VkIGJvcmRlcnMgZGlmZmVyIG9u
bHkgaW4gY29sb3IsIHNpbmNlIFJlbmRlclRhYmxlIGlzIG5vIGxvbmdlciBwYWludGluZyBldmVy
eSBjZWxsIGluIHRoZSB0YWJsZQogICAgICAgICAgICAgIGZvciBlYWNoIHVuaXF1ZSBjb2xsYXBz
ZWQgYm9yZGVyIGNvbG9yLiBJdCBhbHNvIGFsbG93cyBjb2xvciB0byBiZSBhIGZ1bmN0aW9uIG9m
IGNlbGwgcG9zaXRpb24gcmF0aGVyIHRoYW4gYm9yZGVyIHR5cGUuCiAgICAgICAgICAgMi4gUmVu
ZGVyVGFibGVTZWN0aW9uIG5vdyBwYWludHMgY29sbGFwc2VkIGJvcmRlcnMgc2VwYXJhdGVseSBm
cm9tIGNlbGxzIGFuZCBmcm9tIHRoZSBib3R0b20tcmlnaHQgdG8gdGhlIHRvcC1sZWZ0IGluc3Rl
YWQgb2YgdG9wLWxlZnQKLSAgICAgICAgICAgICB0byBib3R0b20tcmlnaHQuIElmIGEgY29sbGFw
c2VkIGJvcmRlciBoYXMgcHJlY2VkZW5jZSBkdWUgdG8gc3R5bGUsIHdpZHRoIG9yIGNlbGwtZ3Jv
dXAtdHlwZSBpdCB3aWxsIHN0aWxsIGJlIHJlc3BlY3RlZCBidXQgcHJlY2VkZW5jZSAKKyAgICAg
ICAgICAgICB0byBib3R0b20tcmlnaHQuIElmIGEgY29sbGFwc2VkIGJvcmRlciBoYXMgcHJlY2Vk
ZW5jZSBkdWUgdG8gc3R5bGUsIHdpZHRoIG9yIGNlbGwtZ3JvdXAtdHlwZSBpdCB3aWxsIHN0aWxs
IGJlIHJlc3BlY3RlZCBidXQgcHJlY2VkZW5jZQogICAgICAgICAgICAgIGR1ZSB0byBjb2xvciBp
cyBlbmZvcmNlZCBieSBwYWludGluZyBjZWxscyBuZWFyZXIgdG8gdGhlIHRvcCBhbmQgbGVmdCAq
YWZ0ZXIqIGNlbGxzIG5lYXJlciB0byB0aGUgYm90dG9tIGFuZCByaWdodC4KIAogICAgICAgICBU
aGUgb3JkZXIgaW4gd2hpY2ggY29sbGFwc2VkIGJvcmRlcnMgcGFpbnQgb3ZlciBlYWNoIG90aGVy
IGluIHRoZSBzYW1lIGNlbGwgaGFzIG5vdCBjaGFuZ2VkLiBVbmxpa2UgRmlyZWZveCwKQEAgLTYz
NzAyLDcgKzYzNzM3LDcgQEAKICAgICAgICAgICBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMDM3
Lmh0bQogICAgICAgICAgIGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAwMzguaHRtCiAKLSAgICAg
ICAgT25lIHRlc3QgaW4gdGhlIHN1aXRlIGlzIGtub3duIHRvIGJlIHdyb25nLCBzbyBhIGNvcnJl
Y3RlZCB2ZXJzaW9uIGhhcyBiZWVuIGxhbmRlZCBvdXRzaWRlIHRoZSAKKyAgICAgICAgT25lIHRl
c3QgaW4gdGhlIHN1aXRlIGlzIGtub3duIHRvIGJlIHdyb25nLCBzbyBhIGNvcnJlY3RlZCB2ZXJz
aW9uIGhhcyBiZWVuIGxhbmRlZCBvdXRzaWRlIHRoZQogICAgICAgICBjc3MyLjEgZm9sZGVyOgog
ICAgICAgICAgIGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAwMi5odG0KIApAQCAtNjM4NTEsMTAg
KzYzODg2LDEwIEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgogCi0gICAg
ICAgIEFmdGVyIHJlZmFjdG9yZWQgbXVsdGlwYXJ0LCB0aGUgY29kZSBvZiBNdWx0aXBhcnRSZXNw
b25zZURlbGVnYXRlIGhhdmUgYmVlbiBtb3ZlZCAKLSAgICAgICAgb3V0IG9mIFdlYkNvcmUsIHdl
IGRvIG5vdCBuZWVkIHRvIHVwc3RyZWFtIE11bHRpcGFydFJlc3BvbnNlRGVsZWdhdGUgYW55IG1v
cmUuIAotICAgICAgICBTbyByZW1vdmUgaXQgZnJvbSBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2Ug
dG8gdXBkYXRlIGJ1aWxkIHN5c3RlbS4gCi0gICAgICAgIAorICAgICAgICBBZnRlciByZWZhY3Rv
cmVkIG11bHRpcGFydCwgdGhlIGNvZGUgb2YgTXVsdGlwYXJ0UmVzcG9uc2VEZWxlZ2F0ZSBoYXZl
IGJlZW4gbW92ZWQKKyAgICAgICAgb3V0IG9mIFdlYkNvcmUsIHdlIGRvIG5vdCBuZWVkIHRvIHVw
c3RyZWFtIE11bHRpcGFydFJlc3BvbnNlRGVsZWdhdGUgYW55IG1vcmUuCisgICAgICAgIFNvIHJl
bW92ZSBpdCBmcm9tIFBsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZSB0byB1cGRhdGUgYnVpbGQgc3lz
dGVtLgorCiAgICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlOgogCiAyMDExLTEyLTE1
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CkBAIC02MzkyMiw3ICs2Mzk1Nyw3
IEBACiAgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50
KTogSW5pdGlhbGl6ZSBtX2hhdmVWaXNpYmxlVGV4dFRyYWNrLgogICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlQWN0aXZlVGV4dFRyYWNrQ3Vlcyk6IFRyaWdnZXIgYW4g
dXBkYXRlIG9mIHRoZSB0ZXh0CiAgICAgICAgICAgICB0cmFjayBkaXNwbGF5LgotICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrTW9kZUNoYW5nZWQpOiBjYWxsIGNv
bmZpZ3VyZVRleHRUcmFja0Rpc3BsYXkoKSBzbyAKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnRleHRUcmFja01vZGVDaGFuZ2VkKTogY2FsbCBjb25maWd1cmVUZXh0VHJhY2tE
aXNwbGF5KCkgc28KICAgICAgICAgICAgIHRoZSB0ZXh0IHRyYWNrIGRpc3BsYXkgaXMgaGlkZGVu
IG9yIHNob3duIHdoZW4gbmVjZXNzYXJ5LgogICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6dXNlcklzSW50ZXJlc3RlZEluVGhpc1RyYWNrKTogTWlub3IgY2xlYW51cC4KICAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNyZWF0ZU1lZGlhQ29udHJvbHMpOiBjb25m
aWd1cmVNZWRpYUNvbnRyb2xzKCkgYWx3YXlzIGNhbGxlZApAQCAtNjQ2MDcsNyArNjQ2NDIsNyBA
QAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgogCiAgICAgICAgIFRlc3Q6IHRy
YW5zaXRpb25zL3Zpc2l0ZWQtbGluay1jb2xvci5odG1sCi0gICAgICAgIAorCiAgICAgICAgIFNp
bmNlIHZpc2l0ZWQgbGluayBjb2xvcnMgYXJlIG5vdyBwYXJ0IG9mIHRoZSBSZW5kZXJTdHlsZSwg
dGhleSBuZWVkIHRvIGJlIHRyYW5zaXRpb25lZAogICAgICAgICBhbG9uZyB3aXRoIHRoZSBjb3Jy
ZXNwb25kaW5nIHJlZ3VsYXIgY29sb3JzLgogCkBAIC02NDYxNiw5ICs2NDY1MSw5IEBACiAgICAg
ICAgIChXZWJDb3JlOjpQcm9wZXJ0eVdyYXBwZXJWaXNpdGVkQWZmZWN0ZWRDb2xvcjo6ZXF1YWxz
KToKICAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3JhcHBlclZpc2l0ZWRBZmZlY3RlZENvbG9y
OjpibGVuZCk6CiAgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25CYXNlOjplbnN1cmVQcm9wZXJ0
eU1hcCk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBBZGQgbmV3IHdyYXBwZXIgY2xhc3MgdGhh
dCBhcHBsaWVzIGJvdGggcmVndWxhciBhbmQgdmlzaXRlZCBjb2xvci4KLSAgICAgICAgCisKICAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKICAgICAgICAgKFdlYkNvcmU6
OkluaGVyaXRlZEZsYWdzOjp2aXNpdGVkTGlua0NvbG9yKToKICAgICAgICAgKFdlYkNvcmU6Oklu
aGVyaXRlZEZsYWdzOjp2aXNpdGVkTGlua0JhY2tncm91bmRDb2xvcik6CkBAIC02NDYzMSwxMiAr
NjQ2NjYsMTIgQEAKICAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjp2aXNpdGVkTGlu
a1RleHRFbXBoYXNpc0NvbG9yKToKICAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjp2
aXNpdGVkTGlua1RleHRGaWxsQ29sb3IpOgogICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxh
Z3M6OnZpc2l0ZWRMaW5rVGV4dFN0cm9rZUNvbG9yKToKLSAgICAgICAgCisKICAgICAgICAgICAg
IEFkZCBhY2Nlc3NvcnMuCi0gICAgICAgIAorCiAgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgogICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSk6Ci0gICAgICAgIAor
CiAgICAgICAgICAgICBPcHBvcnR1bmlzdGljIGZpeC4gRG9uJ3Qga25vdyBob3cgdG8gdGVzdC4K
IAogMjAxMS0xMi0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgpAQCAt
NjQ2OTAsNyArNjQ3MjUsNyBAQAogICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudERpc3BhdGNo
TWVkaWF0b3I6OldoZWVsRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKICAgICAgICAgKiBwbGF0Zm9y
bS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKICAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxF
dmVudDo6ZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKToKLSAgICAgICAgUmVtb3ZlIHgveSBn
ZXR0ZXJzIGluIGZhdm9yIG9mIGRpcmVjdCBhY2Nlc3MgdG8gdGhlIEludFBvaW50cywgYW5kIHJl
bmFtZSAKKyAgICAgICAgUmVtb3ZlIHgveSBnZXR0ZXJzIGluIGZhdm9yIG9mIGRpcmVjdCBhY2Nl
c3MgdG8gdGhlIEludFBvaW50cywgYW5kIHJlbmFtZQogICAgICAgICB3ZWJraXREaXJlY3Rpb25J
bnZlcnRlZEZyb21EZXZpY2UoKSB0byBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoKSBzaW5j
ZQogICAgICAgICBpdCBpcyBub3QgYW4gZXhwb3NlZCBBUEkuCiAKQEAgLTY1NzA2LDcgKzY1NzQx
LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OlRpbGVkTGF5ZXJDaHJvbWl1bTo6cHJlcGFyZVRvVXBk
YXRlVGlsZXMpOiByZWZhY3RvcmVkIGNvbW1vbiBjb2RlIGFuZCBtYWRlIGlkbGUvdmlzaWJsZSB2
ZXJzaW9ucwogICAgICAgICAoV2ViQ29yZTo6VGlsZWRMYXllckNocm9taXVtOjpwcmVwYXJlVG9V
cGRhdGUpOiBkaXR0bwogICAgICAgICAoV2ViQ29yZTo6VGlsZWRMYXllckNocm9taXVtOjpwcmVw
YXJlVG9VcGRhdGVJZGxlKTogZGl0dG8KLSAgICAgICAgKFdlYkNvcmU6OlRpbGVkTGF5ZXJDaHJv
bWl1bTo6bmVlZHNJZGxlUGFpbnQpOiAKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkTGF5ZXJDaHJv
bWl1bTo6bmVlZHNJZGxlUGFpbnQpOgogICAgICAgICAoV2ViQ29yZTo6VGlsZWRMYXllckNocm9t
aXVtOjppZGxlUGFpbnRSZWN0KToKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9UaWxlZExheWVyQ2hyb21pdW0uaDoKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwOgpAQCAtNjU3OTMsNyArNjU4MjgsNyBAQAogCiAg
ICAgICAgIE5vIG5ldyB0ZXN0cy4KIAotICAgICAgICBVbnJldmlld2VkIHRlc3QgZml4LiBBbGwg
V2luZG93cyB0ZXN0cyB3ZXJlIGNyYXNoaW5nIHdoZW4gb2JqZWN0cyB3aG8gd2VyZSBwb2ludGlu
ZyB0byAKKyAgICAgICAgVW5yZXZpZXdlZCB0ZXN0IGZpeC4gQWxsIFdpbmRvd3MgdGVzdHMgd2Vy
ZSBjcmFzaGluZyB3aGVuIG9iamVjdHMgd2hvIHdlcmUgcG9pbnRpbmcgdG8KICAgICAgICAgc3Rh
dGljIGRhdGEgbWVtYmVycyBhY3Jvc3MgRExMIGJvdW5kYXJpZXMgd2VyZSBnZXR0aW5nIGdhcmJh
Z2UgaW4gdGhlaXIgcG9pbnRlcnMuCiAKICAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKQEAgLTY2
MjcxLDExICs2NjMwNiwxMSBAQAogICAgICAgICBHcmFwaGljc0xheWVyQ0EgcmVidWlsZHMgdGhl
IHN1YmxheWVyIGxpc3Qgb2YgQ0FMYXllcnMsIHdoaWNoIHdvdWxkCiAgICAgICAgIGJsb3cgYXdh
eSBhbnkgY3VzdG9tIGxheWVycyB0aGF0IGEgUGxhdGZvcm1DQUxheWVyIHdhbnRzIHRvIG1haW50
YWluCiAgICAgICAgIGFzIGNoaWxkcmVuLgotICAgICAgICAKKwogICAgICAgICBNYWtlIGl0IHBv
c3NpYmxlIGZvciBhIFBsYXRmb3JtTGF5ZXJDQSB0byBpbmRpY2F0ZSB0aGF0IGl0IHdhbnRzCiAg
ICAgICAgIGEgc3BlY2lmaWMgbGlzdCBvZiBzdWJsYXllcnMgdG8gYmUgbWFpbnRhaW5lZCBhcyB0
aGUgZmlyc3QgbGF5ZXJzCiAgICAgICAgIGluIHRoZSBjaGlsZCBsaXN0LgotICAgICAgICAKKwog
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6CiAgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZVN1YmxheWVyTGlzdCk6CiAgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CkBAIC02NjM5NCwx
MSArNjY0MjksMTEgQEAKICAgICAgICAgYW5kL29yIG1hc2tzKSB0byBmYWlsLgogCiAgICAgICAg
IFRoZSBtZXRob2QgYmVnaW5MYXllckNsaXBwZWRUb0ltYWdlIHdhcyB0YWtpbmcgcmVjdGFuZ2xl
IGNvb3JkaW5hdGVzCi0gICAgICAgIGluIG9uZSBsb2NhbCBjb29yZGluYXRlIHNwYWNlLCBidXQg
aXQgd2FzIGFwcGx5aW5nIHRoZW0gaW4gYSBkaWZmZXJlbnQgIAotICAgICAgICBvbmUgYmVjYXVz
ZSBvZiB0aGUgZGVsYXkgYmV0d2VlbiB0aGUgdGltZSBpdCBpcyBjYWxsZWQgYW5kIHRoZSBhY3R1
YWwgCi0gICAgICAgIGFwcGxpY2F0aW9uIG9jY3VycyBpbiBhcHBseUNsaXBGcm9tSW1hZ2UuIFRo
ZSBmaXggdHJhbnNsYXRlcyB0aGUgCi0gICAgICAgIGNvb3JkaW5hdGVzIHBhc3NlZCB0byBiZWdp
bkxheWVyQ2xpcHBlZFRvSW1hZ2UgdG8gYWJzb2x1dGUgb25lcywgc28gCi0gICAgICAgIHRoYXQg
dGhleSBhcmUgbm90IGFmZmVjdGVkIGJ5IGFueSBjaGFuZ2UgaW4gdGhlIHRyYW5zZm9ybSBtYXRy
aXgsIGFuZCAKKyAgICAgICAgaW4gb25lIGxvY2FsIGNvb3JkaW5hdGUgc3BhY2UsIGJ1dCBpdCB3
YXMgYXBwbHlpbmcgdGhlbSBpbiBhIGRpZmZlcmVudAorICAgICAgICBvbmUgYmVjYXVzZSBvZiB0
aGUgZGVsYXkgYmV0d2VlbiB0aGUgdGltZSBpdCBpcyBjYWxsZWQgYW5kIHRoZSBhY3R1YWwKKyAg
ICAgICAgYXBwbGljYXRpb24gb2NjdXJzIGluIGFwcGx5Q2xpcEZyb21JbWFnZS4gVGhlIGZpeCB0
cmFuc2xhdGVzIHRoZQorICAgICAgICBjb29yZGluYXRlcyBwYXNzZWQgdG8gYmVnaW5MYXllckNs
aXBwZWRUb0ltYWdlIHRvIGFic29sdXRlIG9uZXMsIHNvCisgICAgICAgIHRoYXQgdGhleSBhcmUg
bm90IGFmZmVjdGVkIGJ5IGFueSBjaGFuZ2UgaW4gdGhlIHRyYW5zZm9ybSBtYXRyaXgsIGFuZAog
ICAgICAgICBtYWtlcyBzdXJlIHRoYXQgYXBwbHlDbGlwRnJvbUltYWdlIGNsZWFycyB0aGUgbWF0
cml4IGJlZm9yZSBkcmF3aW5nCiAgICAgICAgIHRoZSBjbGlwIGxheWVyIHRvIGNvcnJlY3RseSBh
cHBseSB0aGUgYWJzb2x1dGUgY29vcmRpbmF0ZXMuCiAKQEAgLTY2NDE2LDE4ICs2NjQ1MSwxOCBA
QAogCiAgICAgICAgIE5vIG5ldyB0ZXN0cy4KIAotICAgICAgICBEb2luZyBldmVyeXRoaW5nIGhl
cmUgdGhhdCB3YXMgZG9uZSB0byB0aGUgSlNDZWxsIGhpZXJhcmNoeSBpbiBKYXZhU2NyaXB0Q29y
ZS4gCisgICAgICAgIERvaW5nIGV2ZXJ5dGhpbmcgaGVyZSB0aGF0IHdhcyBkb25lIHRvIHRoZSBK
U0NlbGwgaGllcmFyY2h5IGluIEphdmFTY3JpcHRDb3JlLgogICAgICAgICBTZWUgdGhlIENoYW5n
ZUxvZyBmb3IgdGhpcyBjb21taXQgZm9yIGEgbW9yZSBpbi1kZXB0aCBkZXNjcmlwdGlvbi4KIAog
ICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBBZGQvcmVtb3ZlIHN5bWJvbHMuCiAgICAgICAgICog
YmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwOiBSZW1vdmUg
Zmlyc3QgYXJnIGZyb20gaXNKU0FycmF5IGNhbGwuCiAgICAgICAgIChXZWJDb3JlOjpKU0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0V2Via2l0TGluZURhc2gpOgotICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5jcHA6IEFkZCB0cml2YWwgZGVzdHJ1Y3RvciBhc3NlcnQgZm9y
IERPTUNvbnN0cnVjdG9yT2JqZWN0IAorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5jcHA6IEFkZCB0cml2YWwgZGVzdHJ1Y3RvciBhc3NlcnQgZm9yIERPTUNvbnN0cnVjdG9yT2Jq
ZWN0CiAgICAgICAgIGFuZCBET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudC4KLSAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHA6IEFkZCBzdGF0aWMgZGVzdHJveS4gIEFk
ZCBpbXBsZW1lbnRhdGlvbiBmb3IgCi0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgdGhh
dCBkaXNwYXRjaGVzIHRvIGRpZmZlcmVudCBmdW5jdGlvbnMgaW4gc3ViY2xhc3NlcyAKLSAgICAg
ICAgZGVwZW5kaW5nIG9uIG91ciBjdXJyZW50IENsYXNzSW5mby4gIFdlIGRvIHRoaXMgc28gdGhh
dCB3ZSBjYW4gZ2V0IHJpZCBvZiB0aGUgCi0gICAgICAgIHZpcnR1YWwtbmVzcyBvZiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBiZWNhdXNlIGFueSB2aXJ0dWFsIGZ1bmN0aW9ucyB3aWxsIHRocm93
IAorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDogQWRkIHN0YXRp
YyBkZXN0cm95LiAgQWRkIGltcGxlbWVudGF0aW9uIGZvcgorICAgICAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0IHRoYXQgZGlzcGF0Y2hlcyB0byBkaWZmZXJlbnQgZnVuY3Rpb25zIGluIHN1YmNs
YXNzZXMKKyAgICAgICAgZGVwZW5kaW5nIG9uIG91ciBjdXJyZW50IENsYXNzSW5mby4gIFdlIGRv
IHRoaXMgc28gdGhhdCB3ZSBjYW4gZ2V0IHJpZCBvZiB0aGUKKyAgICAgICAgdmlydHVhbC1uZXNz
IG9mIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGJlY2F1c2UgYW55IHZpcnR1YWwgZnVuY3Rpb25z
IHdpbGwgdGhyb3cKICAgICAgICAgb2ZmIHRoZSBsYXlvdXQgb2YgdGhlIG9iamVjdCBhbmQgd2Un
bGwgY3Jhc2ggYXQgcnVudGltZS4KICAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0
OjpkZXN0cm95KToKICAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0OjpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KToKQEAgLTY2NDM5LDQxICs2NjQ3NCw0MSBAQAogICAgICAgICAoV2Vi
Q29yZTo6SlNET01XaW5kb3dTaGVsbDo6ZGVzdHJveSk6CiAgICAgICAgICogYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5oOgogICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5j
cHA6IEFkZCB0cml2aWFsIGRlc3RydWN0b3IgYXNzZXJ0LgotICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NV3JhcHBlci5oOiBBZGQgYSBDbGFzc0luZm8gdG8gSlNET01XcmFwcGVyIHNpbmNlIGl0
IG5vdyBvdmVycmlkZXMgCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmg6IEFk
ZCBhIENsYXNzSW5mbyB0byBKU0RPTVdyYXBwZXIgc2luY2UgaXQgbm93IG92ZXJyaWRlcwogICAg
ICAgICBhIE1ldGhvZFRhYmxlIGZ1bmN0aW9uLiBSZW1vdmUgdnRhYmxlQW5jaG9yIHZpcnR1YWwg
ZnVuY3Rpb24uCiAgICAgICAgICogYmluZGluZ3MvanMvSlNJbWFnZUNvbnN0cnVjdG9yLmNwcDog
QWRkIHRyaXZpYWwgZGVzdHJ1Y3RvciBhc3NlcnQuCi0gICAgICAgICogYmluZGluZ3MvanMvSlNO
b2RlQ3VzdG9tLmNwcDogQ2hhbmdlIGltcGxlbWVudGF0aW9uIG9mIHB1c2hFdmVudEhhbmRsZXJT
Y29wZSBzbyB0aGF0IAotICAgICAgICBpdCBkaXNwYXRjaGVzIHRvIHRoZSBjb3JyZWN0IGZ1bmN0
aW9uIGRlcGVuZGluZyBvbiB0aGUgCi0gICAgICAgIGlkZW50aXR5IG9mIHRoZSBjbGFzcyBhcyBz
cGVjaWZpZWQgYnkgdGhlIENsYXNzSW5mby4gIAorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTm9k
ZUN1c3RvbS5jcHA6IENoYW5nZSBpbXBsZW1lbnRhdGlvbiBvZiBwdXNoRXZlbnRIYW5kbGVyU2Nv
cGUgc28gdGhhdAorICAgICAgICBpdCBkaXNwYXRjaGVzIHRvIHRoZSBjb3JyZWN0IGZ1bmN0aW9u
IGRlcGVuZGluZyBvbiB0aGUKKyAgICAgICAgaWRlbnRpdHkgb2YgdGhlIGNsYXNzIGFzIHNwZWNp
ZmllZCBieSB0aGUgQ2xhc3NJbmZvLgogICAgICAgICBTZWUgSlNET01HbG9iYWxPYmplY3Q6OnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQgZm9yIGV4cGxhbmF0aW9uLgogICAgICAgICAoV2ViQ29yZTo6
SlNOb2RlOjpwdXNoRXZlbnRIYW5kbGVyU2NvcGUpOgogICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
V2ViU29ja2V0Q3VzdG9tLmNwcDogUmVtb3ZlIGZpcnN0IGFyZyB0byBpc0pTQXJyYXkgY2FsbC4K
ICAgICAgICAgKFdlYkNvcmU6OkpTV2ViU29ja2V0Q29uc3RydWN0b3I6OmNvbnN0cnVjdEpTV2Vi
U29ja2V0KToKICAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcDog
QWRkIHN0YXRpYyBkZXN0cm95LgogICAgICAgICAoV2ViQ29yZTo6SlNXb3JrZXJDb250ZXh0QmFz
ZTo6ZGVzdHJveSk6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5o
OiAKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmg6CiAgICAgICAg
ICogYmluZGluZ3MvanMvU2NyaXB0VmFsdWUuY3BwOiBSZW1vdmUgZmlyc3QgYXJnIHRvIGlzSlNB
cnJheSBjYWxsLgotICAgICAgICAoV2ViQ29yZTo6anNUb0luc3BlY3RvclZhbHVlKTogCisgICAg
ICAgIChXZWJDb3JlOjpqc1RvSW5zcGVjdG9yVmFsdWUpOgogICAgICAgICAqIGJpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6IERpdHRvLgogICAgICAgICAoV2ViQ29yZTo6Q2xv
bmVTZXJpYWxpemVyOjppc0FycmF5KToKICAgICAgICAgKFdlYkNvcmU6OkNsb25lU2VyaWFsaXpl
cjo6Z2V0U3BhcnNlSW5kZXgpOgogICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtOgotICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOiBSZW1vdmUgdmlydHVhbC1uZXNz
IG9mIGFueSBjdXN0b20gcHVzaEV2ZW50SGFuZGxlclNjb3BlIChzZWUgCi0gICAgICAgIEpTTm9k
ZUN1c3RvbTo6cHVzaEV2ZW50SGFuZGxlclNjb3BlIGZvciBleHBsYW5hdGlvbikuICBSZW1vdmUg
dmlydHVhbCB0b0Jvb2xlYW4gCi0gICAgICAgIGZvciBhbnlib2R5IHdobyBtYXNxdWVyYWRlcyBh
cyB1bmRlZmluZWQsIHNpbmNlIG91ciBKU09iamVjdCBpbXBsZW1lbnRhdGlvbiBoYW5kbGVzIAot
ICAgICAgICB0aGlzIGJhc2VkIG9uIHRoZSBUeXBlSW5mbyBpbiB0aGUgU3RydWN0dXJlLiBBZGQg
dHJpdmlhbCBkZXN0cnVjdG9yIGFzc2VydCBmb3IgYW55IAorICAgICAgICAoR2VuZXJhdGVIZWFk
ZXIpOiBSZW1vdmUgdmlydHVhbC1uZXNzIG9mIGFueSBjdXN0b20gcHVzaEV2ZW50SGFuZGxlclNj
b3BlIChzZWUKKyAgICAgICAgSlNOb2RlQ3VzdG9tOjpwdXNoRXZlbnRIYW5kbGVyU2NvcGUgZm9y
IGV4cGxhbmF0aW9uKS4gIFJlbW92ZSB2aXJ0dWFsIHRvQm9vbGVhbgorICAgICAgICBmb3IgYW55
Ym9keSB3aG8gbWFzcXVlcmFkZXMgYXMgdW5kZWZpbmVkLCBzaW5jZSBvdXIgSlNPYmplY3QgaW1w
bGVtZW50YXRpb24gaGFuZGxlcworICAgICAgICB0aGlzIGJhc2VkIG9uIHRoZSBUeXBlSW5mbyBp
biB0aGUgU3RydWN0dXJlLiBBZGQgdHJpdmlhbCBkZXN0cnVjdG9yIGFzc2VydCBmb3IgYW55CiAg
ICAgICAgIGNsYXNzIG90aGVyIHRoYW4gRE9NV2luZG93IG9yIFdvcmtlckNvbnRleHRzLgotICAg
ICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6IENoYW5nZSBDbGFzc0luZm8gZGVmaW5pdGlv
bnMgdG8gdXNlIEJhc2U6OnNfaW5mbywgc2luY2UgCi0gICAgICAgIHR5cGluZyB0aGUgcGFyZW50
IGNsYXNzIG1vcmUgdGhhbiBvbmNlIGlzIGR1cGxpY2F0aW9uIG9mIGluZm9ybWF0aW9uIGFuZCBp
bmNyZWFzZXMgCi0gICAgICAgIHRoZSBsaWtlbGlob29kIG9mIG1pc3Rha2VzLiAgUGFzcyBDbGFz
c0luZm8gdG8gVHlwZUFycmF5RGVzY3JpcHRvcnMgaW5zdGVhZCBvZiB2cHRyLiAKKyAgICAgICAg
KEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOiBDaGFuZ2UgQ2xhc3NJbmZvIGRlZmluaXRpb25zIHRv
IHVzZSBCYXNlOjpzX2luZm8sIHNpbmNlCisgICAgICAgIHR5cGluZyB0aGUgcGFyZW50IGNsYXNz
IG1vcmUgdGhhbiBvbmNlIGlzIGR1cGxpY2F0aW9uIG9mIGluZm9ybWF0aW9uIGFuZCBpbmNyZWFz
ZXMKKyAgICAgICAgdGhlIGxpa2VsaWhvb2Qgb2YgbWlzdGFrZXMuICBQYXNzIENsYXNzSW5mbyB0
byBUeXBlQXJyYXlEZXNjcmlwdG9ycyBpbnN0ZWFkIG9mIHZwdHIuCiAgICAgICAgIChHZW5lcmF0
ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbik6IEFkZCB0cml2aWFsIGRlc3RydWN0b3IgYXNzZXJ0IGZv
ciBhbGwgZ2VuZXJhdGVkIGNvbnN0cnVjdG9ycy4KICAgICAgICAgKiBicmlkZ2UvYy9DUnVudGlt
ZU9iamVjdC5jcHA6IFJlbW92ZSBlbXB0eSB2aXJ0dWFsIGRlc3RydWN0b3IuCi0gICAgICAgICog
YnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaDogCisgICAgICAgICogYnJpZGdlL2MvQ1J1bnRpbWVP
YmplY3QuaDoKICAgICAgICAgKiBicmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5jcHA6
IERpdHRvLgotICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0Lmg6IAor
ICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0Lmg6CiAgICAgICAgICog
YnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaDogRGl0dG8uCiAgICAgICAgICogYnJpZGdl
L29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW06Ci0gICAgICAgICogYnJpZGdlL29iamMvb2JqY19y
dW50aW1lLmg6IEFkZCBzdGF0aWMgZGVzdHJveSBmb3IgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wLiBE
ZS12aXJ0dWFsaXplIAorICAgICAgICAqIGJyaWRnZS9vYmpjL29iamNfcnVudGltZS5oOiBBZGQg
c3RhdGljIGRlc3Ryb3kgZm9yIE9iamNGYWxsYmFja09iamVjdEltcC4gRGUtdmlydHVhbGl6ZQog
ICAgICAgICB0b0Jvb2xlYW4gaW4gdGhlIHNob3J0IHRlcm0uICBOZWVkIGxvbmdlciB0ZXJtIGZp
eC4KICAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW06CiAgICAgICAgIChKU0M6
OkJpbmRpbmdzOjpPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmRlc3Ryb3kpOgpAQCAtNjY1MjIsNyAr
NjY1NTcsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgogCiAgICAgICAg
IFVzaW5nIGJvb2xlYW4gaXMgbm90IHJvYnVzdCB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBjbGll
bnRzIGNhbGxpbmcgc3VzcGVuZFBlbmRpbmdSZXF1ZXN0cy9yZXN1bWVQZW5kaW5nUmVxdWVzdHMu
Ci0gICAgICAgIAorCiAgICAgICAgIEluY3JlbWVudCBhbmQgZGVjcmVtZW50IHN1c3BlbmQgY291
bnQgaW5zdGVhZCBvZiBqdXN0IHNldHRpbmcvdW5zZXR0aW5nIGEgYm9vbGVhbi4KIAogICAgICAg
ICAqIGxvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwOgpAQCAtNjY5NzEsNyArNjcwMDYs
NyBAQAogICAgICAgICAoV2ViQ29yZTo6UE9EQXJlbmE6On5QT0RBcmVuYSk6IGNoYW5nZSBkdG9y
IHRvIHZpcnR1YWwuCiAgICAgICAgIChXZWJDb3JlOjpQT0RBcmVuYTo6Q2h1bms6On5DaHVuayk6
IGRpdHRvLgogICAgICAgICAqIHBsYXRmb3JtL1BPREZyZWVMaXN0QXJlbmEuaDogQWRkZWQuCi0g
ICAgICAgIChXZWJDb3JlOjpQT0RGcmVlTGlzdEFyZW5hOjpjcmVhdGUpOiAKKyAgICAgICAgKFdl
YkNvcmU6OlBPREZyZWVMaXN0QXJlbmE6OmNyZWF0ZSk6CiAgICAgICAgIChXZWJDb3JlOjpQT0RG
cmVlTGlzdEFyZW5hOjphbGxvY2F0ZU9iamVjdCk6IGFsbG9jYXRlIGFuIG9iamVjdC4KICAgICAg
ICAgKFdlYkNvcmU6OlBPREZyZWVMaXN0QXJlbmE6OmZyZWVPYmplY3QpOiBmcmVlIGFuIG9iamVj
dCwgZmluZCB0aGUgcmlnaHQgY2h1bmsgYW5kIHVwZGF0ZSBpdHMgZnJlZSBsaXN0LgogICAgICAg
ICAoV2ViQ29yZTo6UE9ERnJlZUxpc3RBcmVuYTo6YWxsb2NhdGUpOiBhbGxvY2F0ZSBtZW1vcnkg
ZnJvbSB0aGUgZnJlZSBsaXN0IG9yIGN1cnJlbnQgY2h1bmsuCkBAIC02NzE2Myw3ICs2NzE5OCw3
IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCiAKLSAgICAgICAgV2UgYXJlIHVz
aW5nIFBPU0lYIHBvcnRpbmcgb2YgRmlsZVN5c3RlbSwgc28gaGVyZSBvbmx5IGltcGxlbWVudCBv
dGhlciAKKyAgICAgICAgV2UgYXJlIHVzaW5nIFBPU0lYIHBvcnRpbmcgb2YgRmlsZVN5c3RlbSwg
c28gaGVyZSBvbmx5IGltcGxlbWVudCBvdGhlcgogICAgICAgICBuZWNlc3NhcnkgZnVuY3Rpb25z
LgogCiAgICAgICAgIEluaXRpYWwgdXBzdHJlYW0sIG5vIG5ldyB0ZXN0cy4KQEAgLTY3NzE3LDcg
KzY3NzUyLDcgQEAKICAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRp
YUVsZW1lbnQpOiBBZGQgImNyZWF0ZWRCeVBhcnNlciIgcGFyYW1ldGVyLiBJbml0aWFsaXplIG1f
cGFyc2luZ0luUHJvZ3Jlc3MuCiAgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpm
aW5pc2hQYXJzaW5nQ2hpbGRyZW4pOiBDbGVhciBtX3BhcnNpbmdJblByb2dyZXNzLiBTY2hlZHVs
ZSB0cmFjawogICAgICAgICAgICAgbG9hZGluZyBpZiBuZWNlc3NhcnkuCi0gICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCk6IENhbGwgY29uZmlndXJlVGV4
dFRyYWNrcyBub3QgY2FsbCBzY2hlZHVsZUxvYWQsIAorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6bG9hZFRpbWVyRmlyZWQpOiBDYWxsIGNvbmZpZ3VyZVRleHRUcmFja3Mgbm90
IGNhbGwgc2NoZWR1bGVMb2FkLAogICAgICAgICAgICAgaXQganVzdCBzY2hlZHVsZXMgdGhlIGxv
YWQgdGltZXIgYWdhaW4uCiAgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwcmVw
YXJlRm9yTG9hZCk6IEFkZCBhbGwgbm9uLWRpc2FibGVkIHRyYWNrIGVsZW1lbnRzIHRvIGEgdmVj
dG9yCiAgICAgICAgICAgICBzbyB3ZSBjYW4gcHJldmVudCB0aGUgbWVkaWEgZWxlbWVudCdzIHJl
YWR5U3RhdGUgZnJvbSByZWFjaGluZyBIQVZFX01FVEFEQVRBIHVudGlsIHRoZQpAQCAtNjc5NzMs
NyArNjgwMDgsNyBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzQ1NzUKIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLSAgICAgICAg
CisKICAgICAgICAgVGV4dDo6cmVjYWxjVGV4dFN0eWxlIG5ldmVyIGVudGVycyB0aGUgc3R5bGUg
c2VsZWN0b3Igc28gcHVzaGluZyB0aGUgc3RhdGUgaXMgbm90IG5lY2Vzc2FyeQogCiAgICAgICAg
ICogZG9tL0VsZW1lbnQuY3BwOgpAQCAtNjgwMTAsNyArNjgwNDUsNyBAQAogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KIAotICAgICAgICBNb3ZlIEZpbHRlck9wZXJhdGlvbihz
KSB0byBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzIHNvIGl0IGNhbiBiZSB1c2VkIHRvIHBhc3Mg
ZmlsdGVyIGluZm9ybWF0aW9uIAorICAgICAgICBNb3ZlIEZpbHRlck9wZXJhdGlvbihzKSB0byBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzIHNvIGl0IGNhbiBiZSB1c2VkIHRvIHBhc3MgZmlsdGVy
IGluZm9ybWF0aW9uCiAgICAgICAgIGRvd24gdG8gR3JhcGhpY3NMYXllciBmb3IgaGFyZHdhcmUg
YWNjZWxlcmF0aW9uLiBUaGlzIGxlYXZlcyB0aGUgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uIHN1YmNs
YXNzIGluCiAgICAgICAgIHJlbmRlcmluZy9zdHlsZSBzaW5jZSBpdCBoYXMgZGVwZW5kZW5jaWVz
IG91dHNpZGUgcGxhdGZvcm0uIFNvbWUgcGFydCBvZiB0aGF0IGNsYXNzIHdpbGwKICAgICAgICAg
ZXZlbnR1YWxseSBuZWVkIHRvIGJlIGRvd24gaW4gcGxhdGZvcm0uCkBAIC02ODQ3OCw3ICs2ODUx
Myw3IEBACiAgICAgICAgIFJlc2V0IG1fdXBEb3duU3RhdGUgdG8gSW5kZXRlcm1pbmF0ZSB3aGVu
IHRoZSBlbGVtZW50IGJlY29tZXMgdW5ob3ZlcmVkLgogCiAyMDExLTEyLTE0ICBMdWNhcyBGb3Jz
Y2hsZXIgIDxsZm9yc2NobGVyQGFwcGxlLmNvbT4KLSAgICAKKwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDMKICAgICAgICAgQWRkIENTUyouY3Bw
IHRvIGEgbmV3IENTU0FsbEluT25lLmNwcCBmaWxlIHdpdGggdHdvIGV4Y2VwdGlvbnM6CiAgICAg
ICAgICAgICBDU1NQcm9wZXJ0eS5jcHAKQEAgLTY4NTIzLDcgKzY4NTU4LDcgQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCiAKLSAgICAgICAgQXZvaWQgZGUtemlwcGVy
aW5nIHdoZW4gdGhlIGdhaW4gaGFzIGNvbnZlcmdlZCBvbiB0aGUgdGFyZ2V0R2Fpbi4gCisgICAg
ICAgIEF2b2lkIGRlLXppcHBlcmluZyB3aGVuIHRoZSBnYWluIGhhcyBjb252ZXJnZWQgb24gdGhl
IHRhcmdldEdhaW4uCiAgICAgICAgIEl0IGNhbiBnZXQgYWJvdXQgNzUlIHBlcmZvcm1hbmNlIGdh
aW4gYXQgbW9zdCB3aGVuIGFsbCBmcmFtZXMgZG9uJ3QgbmVlZAogICAgICAgICBkZS16aXBwZXJp
bmcuCiAKQEAgLTY4NzM3LDExICs2ODc3MiwxMSBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MzEKIAogICAgICAgICBSZXZpZXdlZCBieSBDaHJp
cyBNYXJyaW4uCi0gICAgICAgIAorCiAgICAgICAgIFN1cHBvcnQgcGVyY2VudGFnZSBhcmd1bWVu
dHMgZm9yIHNvbWUgZmlsdGVyIGZ1bmN0aW9ucywgdXNpbmcgdGhlIEZQZXJjZW50IGZsYWcKICAg
ICAgICAgdG8gdmFsaWRVbml0KCkuIEZpeCBDU1NTdHlsZVNlbGVjdG9yOjpjcmVhdGVGaWx0ZXJP
cGVyYXRpb25zKCkgdG8gZG8gdGhlIGRpdmlkZSBieSAxMDAKICAgICAgICAgZm9yIHBlcmNlbnRh
Z2VzLgotICAgICAgICAKKwogICAgICAgICBSZXBsYWNlZCBpc1ZhbGlkRmlsdGVyQXJndW1lbnQo
KSwgd2hpY2gganVzdCB0ZXN0ZWQgYXJndW1lbnRzIG9uZSBieSBvbmUgZm9yIHZhbGlkaXR5LCB3
aXRoCiAgICAgICAgIHBhcnNlQnVpbHRpbkZpbHRlckFyZ3VtZW50cygpIHdoaWNoIHRlc3RzIGFu
ZCBjcmVhdGVzIHRoZSBDU1NWYWx1ZXMgYXQgdGhlIHNhbWUgdGltZSwgd2hpY2gKICAgICAgICAg
aXMgYSBsaXR0bGUgbW9yZSBlZmZpY2llbnQuIEl0IGFsc28gYWxsb3dzIGZpbHRlci1zcGVjaWZp
YyBiZWhhdmlvciB0byBiZSBtb3JlIGxvY2FsaXplZCBpbiB0aGlzCkBAIC02ODc5OCw3ICs2ODgz
Myw3IEBACiAgICAgICAgIHJlbmRlciBzdHlsZXMuIEFzIHBhcnQgb2YgdGhlIGNsZWFudXAsIHVu
c3R5bGVkIGRpdnMgd2l0aCBzaW5nbGUgY2hpbGQgZWxlbWVudCBhcmUKICAgICAgICAgcmVtb3Zl
ZC4gVGhlIGxvZ2ljIHRvIGRldGVybWluZSB0aGUgYmxvY2tzIHRoYXQgY2FuIGJlIHJlbW92ZWQg
aXMgdGhlIHNhbWUgdXNlZCBpbgogICAgICAgICBEZWxldGVTZWxlY3Rpb25Db21tYW5kIGFuZCBo
YXMgYmVlbiBtb3ZlZCBpbiBDb21wb3NpdGVFZGl0Q29tbWFuZC4KLSAgICAgICAgCisKICAgICAg
ICAgVGVzdDogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sCiAKICAg
ICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcDoKQEAgLTY5Mjk2LDcgKzY5
MzMxLDcgQEAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY4NDc2CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgTWFycmluLgotICAgICAgICAKKwog
ICAgICAgICBBZGQgLXdlYmtpdC1maWx0ZXIgdG8gdGhlIGxpc3Qgb2YgQ1NTIHByb3BlcnRpZXMg
dGhhdCBhcmUgYW5pbWF0YWJsZS4gQW5pbWF0ZQogICAgICAgICBpdCBsaWtlIHdlIGRvIHRyYW5z
Zm9ybXMsIGJ5IGxvb2tpbmcgZm9yIG1hdGNoaW5nIGxpc3RzIG9mIGZpbHRlciBmdW5jdGlvbnMu
CiAgICAgICAgIEVhY2gga2luZCBvZiBmaWx0ZXIgb3BlcmF0aW9uIGhhcyBhIGJsZW5kKCkgbWV0
aG9kIHRoYXQgaGFuZGxlcyBibGVuZGluZwpAQCAtNjkzNzYsNyArNjk0MTEsNyBAQAogCiAyMDEx
LTEyLTE0ICBSYXltb25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNvbT4KIAotICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0Rpc3RhbmNlLmggKFdlYkNvcmUpOiAKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9EaXN0YW5jZS5oIChXZWJDb3JlKToKIAogICAgICAgICBJbmNvcnJlY3QgY2FsY3VsYXRpb24g
Zm9yIERpc3RhbmNlRWZmZWN0IGxpbmVhckdhaW4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODcxCkBAIC02OTM4NCwxMyArNjk0MTksMTMgQEAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgogCiAgICAgICAgIFRlc3RzIHN0aWxs
IG5lZWQgdG8gYmUgd3JpdHRlbiBmb3IgYWxsIGRpc3RhbmNlIG1vZGVscy4gIFRoaXMKLSAgICAg
ICAgZG9lcyBub3QgYWRkIGEgbmV3IEFQSSBhbmQganVzdCBjb3JyZWN0cyBhbiBpbXBsZW1lbnRh
dGlvbiBlcnJvci4gCisgICAgICAgIGRvZXMgbm90IGFkZCBhIG5ldyBBUEkgYW5kIGp1c3QgY29y
cmVjdHMgYW4gaW1wbGVtZW50YXRpb24gZXJyb3IuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9EaXN0YW5jZS5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpEaXN0YW5jZUVmZmVjdDo6bGluZWFy
R2Fpbik6IEltcGxlbWVudCBjb3JyZWN0CiAgICAgICAgIGxpbmVhckdhaW4gZnVuY3Rpb24uICAo
Rml4IHByb3Bvc2VkIGJ5IGRhdmlkZ2FsZWFub0Bob3RtYWlsLmNvbS4pCi0gICAgICAgICogcGxh
dGZvcm0vYXVkaW8vRGlzdGFuY2UuaDogQWRkIGxpbmsgdG8gT3BlbiBBTCBzcGVjaWZpY2F0aW9u
LiAKLSAgICAgICAgCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRGlzdGFuY2UuaDogQWRkIGxp
bmsgdG8gT3BlbiBBTCBzcGVjaWZpY2F0aW9uLgorCiAKIDIwMTEtMTItMTQgIElseWEgVGlraG9u
b3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCkBAIC02OTQ0NSw3ICs2OTQ4MCw3IEBACiAg
ICAgICAgICAgICBTdHJpbmcgd2hlbiBpdCBuZWVkcyBpdC4KIAogICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
Ojpsb2FkKTogVGFrZSBhIEtVUkwsIG5vdCBhIFN0cmluZy4gTG9vayBmb3IgdGhlIGZpbGUgZXh0
ZW5zaW9uIGluIHRoZSAKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpsb2FkKTogVGFr
ZSBhIEtVUkwsIG5vdCBhIFN0cmluZy4gTG9vayBmb3IgdGhlIGZpbGUgZXh0ZW5zaW9uIGluIHRo
ZQogICAgICAgICAgICAgbGFzdCBwYXRoIGNvbXBvbmVudCBzbyB3ZSBkb24ndCBleGFtaW5lIGZy
YWdtZW50cyBhbmQvb3IgcXVlcmllcy4KICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5oOgogCkBAIC02OTgxNSwxMCArNjk4NTAsMTAgQEAKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDY0CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGVhbiBKYWNrc29uLgotICAgICAgICAKKwogICAgICAgICBMb3RzIG9mIHBsYWNlcyBpbiB0
aGUgY29kZSBoYWQgY29waWVzIG9mIHRoZSBhbmltYXRpb24gaW50ZXJwb2xhdGlvbgogICAgICAg
ICBsb2dpYyAiZnJvbSArICh0byAtIGZyb20pICogcHJvZ3Jlc3MiLCBpbiB2YXJpb3VzIGZvcm1z
LgotICAgICAgICAKKwogICAgICAgICBDb2FsZXNjZSBhbGwgdGhlc2UgaW50byBjYWxscyB0byBh
IGZldyBuZXcgaW5saW5lIGZ1bmN0aW9ucyBpbiBhIG5ldwogICAgICAgICBBbmltYXRpb25VdGls
aXRpZXMuaCBoZWFkZXIuIENvbG9yIGFuZCBMZW5ndGggZ2V0IHRoZWlyIG93biBibGVuZCBmdWN0
aW9ucwogICAgICAgICBpbiB0aGVpciByZXNwZWN0aXZlIGhlYWRlcnMuCkBAIC02OTkxOCw3ICs2
OTk1Myw3IEBACiAgICAgICAgIChXZWJDb3JlOjppc0NsaWNrYWJsZUNvbnRyb2wpOgogICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN1bW1hcnlFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKIAot
MjAxMS0xMi0xMyAgSmFtZXMgV2VpIDxqYW1lcy53ZWlAaW50ZWwuY29tPiAKKzIwMTEtMTItMTMg
IEphbWVzIFdlaSA8amFtZXMud2VpQGludGVsLmNvbT4KIAogICAgICAgICBPcHRpbWl6ZSB0byBu
b3QgdXNlIHBvdygpIGluIHRoZSBpbm5lciBsb29wIGluIEF1ZGlvUGFyYW1UaW1lbGluZQogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MzAKQEAgLTcw
MDkwLDggKzcwMTI1LDggQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBCZW5qYW1pbiBQb3VsYWlu
LgogCi0gICAgICAgIFRoZSB2bXVsIGlzIGEgZnVuY3Rpb24gZm9yIGFuIGVsZW1lbnQtYnktZWxl
bWVudCBtdWx0aXBseSBvZiB0d28gZmxvYXQgdmVjdG9ycyBhbmQgd2UgCi0gICAgICAgIGdldCBh
Ym91dCAzLjR4IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IHdpdGggU1NFMiBvcHRpbWl6YXRpb24g
Y29tcGFyZWQgd2l0aCB0aGUgY29tbW9uIAorICAgICAgICBUaGUgdm11bCBpcyBhIGZ1bmN0aW9u
IGZvciBhbiBlbGVtZW50LWJ5LWVsZW1lbnQgbXVsdGlwbHkgb2YgdHdvIGZsb2F0IHZlY3RvcnMg
YW5kIHdlCisgICAgICAgIGdldCBhYm91dCAzLjR4IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IHdp
dGggU1NFMiBvcHRpbWl6YXRpb24gY29tcGFyZWQgd2l0aCB0aGUgY29tbW9uCiAgICAgICAgIG11
bHRpcGx5LgogCiAgICAgICAgIFVzZSB2bXVsIGluIEF1ZGlvQnVzOjpjb3B5V2l0aFNhbXBsZUFj
Y3VyYXRlR2FpblZhbHVlc0Zyb20oKS4KQEAgLTcwMjkyLDcgKzcwMzI3LDcgQEAKIAogMjAxMS0x
Mi0xMyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKLSAgICAgICAgPGh0dHA6
Ly93ZWJraXQub3JnL2IvNzQ0MjA+IERpc2FibGUgZGVwcmVjYXRpb24gd2FybmluZ3MgYXJvdW5k
IG1vcmUgY29kZSB3aGVyZSB3ZSAKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzQ0MjA+
IERpc2FibGUgZGVwcmVjYXRpb24gd2FybmluZ3MgYXJvdW5kIG1vcmUgY29kZSB3aGVyZSB3ZQog
ICAgICAgICBjYW5ub3QgZWFzaWx5IHN3aXRjaCBhd2F5IGZyb20gdGhlIGRlcHJlY2F0ZWQgQVBJ
cy4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2UuCkBAIC03MDU5MCw3ICs3MDYyNSw3
IEBACiAgICAgICAgIE5vIG5ldyB0ZXN0cyAvIGV4aXN0aW5nIHRlc3RzIGNvdmVyIHRoaXMgY2hh
bmdlLgogCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjphZGp1c3RJbm5lclRleHRTdHlsZSk6IFVz
ZSBSZW5kZXJUaGVtZTo6ZGlzYWJsZWRUZXh0Q29sb3IgaW5zdGVhZCBvZiBQTEFURk9STSB3cmFw
ZWQgc3RhdGljIGZ1bmN0aW9uLiAKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9s
OjphZGp1c3RJbm5lclRleHRTdHlsZSk6IFVzZSBSZW5kZXJUaGVtZTo6ZGlzYWJsZWRUZXh0Q29s
b3IgaW5zdGVhZCBvZiBQTEFURk9STSB3cmFwZWQgc3RhdGljIGZ1bmN0aW9uLgogICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZTo6ZGlzYWJsZWRUZXh0Q29sb3IpOiBNb3ZlZCBmcm9tIFJlbmRlclRleHRDb250cm9sLmNwcC4g
VGhpcyBtZXRob2QgaW1wbGVtZW50cyBmb3Igbm9uLUNocm9taXVtIGNvbG9yLgogICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOiBBZGQgbmV3IHZpcnR1YWwgbWV0aG9kIGRpc2FibGVk
VGV4dENvbG9yLgpAQCAtNzA2NjgsNyArNzA3MDMsNyBAQAogICAgICAgICBJbXBsZW1lbnQgdGhl
IEphdmFTY3JpcHRDb3JlIGJpbmRpbmdzIGZvciBldmVudExpc3RlbmVySGFuZGxlckxvY2F0aW9u
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMxMwog
Ci0gICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLiAKKyAgICAgICAgUmV2aWV3ZWQg
YnkgR2VvZmZyZXkgR2FyZW4uCiAKICAgICAgICAgT3BlbiBhbnkgcGFnZSBpbiBXZWIgSW5zcGVj
dG9yIGFuZCBsb29rIGF0IHRoZSBldmVudCBsaXN0ZW5lcnMuIFRoZXkgc2hvdWxkIG5vdwogICAg
ICAgICBsaW5rIHRvIHRoZSBzY3JpcHQgd2hpY2ggY3JlYXRlZCB0aGVtLgpAQCAtNzA3MDYsMTQg
KzcwNzQxLDE0IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NDM2OQogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KLSAgICAg
ICAgCisKICAgICAgICAgU29tZSBwbGF0Zm9ybXMgbWF5IHdpc2ggdG8gaGF2ZSB0aGUgbWFpbiBy
b290IGxheWVyICh3aGljaCBjb3JyZXNwb25kcyB3aXRoCiAgICAgICAgIHRoZSBtYWluIGZyYW1l
J3MgUmVuZGVyVmlldydzIGxheWVyKSBpbXBsZW1lbnRlZCBieSBhIGN1c3RvbSBwbGF0Zm9ybSBs
YXllciwKICAgICAgICAgZm9yIGV4YW1wbGUgdG8gY29udGFpbiBhIGNhY2hlIG9mIHRpbGVzLgot
ICAgICAgICAKKwogICAgICAgICBNYWtlIHRoaXMgcG9zc2libGUgb24gTWFjIGJ5IGFkZGluZyBh
IG5ldyBtZXRob2QgdG8gR3JhcGhpY3NMYXllckNsaWVudCgpLAogICAgICAgICBhbmQgaW1wbGVt
ZW50aW5nIGl0IGluIFJlbmRlckxheWVyQmFja2luZy4gVGhpcyBuZXcgYmVoYXZpb3IgaXMgbm90
IHlldCBlbmFibGVkLgotICAgICAgICAKKwogICAgICAgICBBbHNvIGNsZWFuIHVwIHNvbWUgV2Vi
TGF5ZXIvV2ViVGlsZWRMYXllciBjb2RlLgogCiAgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgpAQCAtNzA5MjcsNyArNzA5NjIsNyBAQAogCiAgICAgICAgICogZG9t
L05vZGUuaDoKICAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNldEhhc0N1c3RvbVN0eWxlRm9yUmVu
ZGVyZXIpOgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6Y2xlYXJIYXNDdXN0b21TdHlsZUZvclJl
bmRlcmVyKTogRXhwb3NlIHRoZSBhYmlsaXR5IHRvIHN0b3AgdXNpbmcgYSAKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OmNsZWFySGFzQ3VzdG9tU3R5bGVGb3JSZW5kZXJlcik6IEV4cG9zZSB0aGUg
YWJpbGl0eSB0byBzdG9wIHVzaW5nIGEKICAgICAgICAgICBjdXN0b20gcmVuZGVyZXIgYW5kIGdv
IGJhY2sgdG8gdGhlIGRlZmF1bHQgcmVuZGVyZXIuCiAKICAgICAgICAgKiBoaXN0b3J5L0NhY2hl
ZEZyYW1lLmNwcDoKQEAgLTcwOTQ5LDcgKzcwOTg0LDcgQEAKICAgICAgICAgICBjYWxsYmFja3Mu
CiAgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpjcmVhdGVSZW5kZXJl
cik6IE9uY2UgYSByZW5kZXJlciAoaWUuIHBsdWdpbiBpbnN0YW5jZSkgaXMKICAgICAgICAgICBj
cmVhdGVkLCB0aGlzIGVsZW1lbnQgbmVlZHMgRG9jdW1lbnQgKGluKWFjdGl2YXRpb24gY2FsbGJh
Y2tzLgotICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6d2lsbE1vdmVU
b05ld093bmVyRG9jdW1lbnQpOiBNYW5hZ2UgRG9jdW1lbnQgYWN0aXZhdGlvbiAKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OndpbGxNb3ZlVG9OZXdPd25lckRvY3Vt
ZW50KTogTWFuYWdlIERvY3VtZW50IGFjdGl2YXRpb24KICAgICAgICAgICBjYWxsYmFjayByZWdp
c3RyYXRpb24uCiAgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpkaWRN
b3ZlVG9OZXdPd25lckRvY3VtZW50KTogRGl0dG8uCiAgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1
Z0luSW1hZ2VFbGVtZW50Ojpkb2N1bWVudFdpbGxCZWNvbWVJbmFjdGl2ZSk6IENsb25lIHRoZSBl
bGVtZW50J3MgY3VycmVudCBzdHlsZQpAQCAtNzEwMjksMTAgKzcxMDY0LDEwIEBACiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2NQogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCi0gICAgICAgIAorCiAgICAgICAgIEFkZCBUcmFu
c2Zvcm1PcGVyYXRpb25zOjpvcGVyYXRpb25zTWF0Y2goKSBhbmQgY2FsbCBpdCBmcm9tIHRoZQog
ICAgICAgICB0aHJlZSBwbGFjZXMgdGhhdCB1c2VkIHRoaXMgc2FtZSBjb2RlLgotICAgICAgICAK
KwogICAgICAgICBUZXN0ZWQgYnkgZXhpc3RpbmcgdGVzdHMuCiAKICAgICAgICAgKiBwYWdlL2Fu
aW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHA6CkBAIC03MTA1NCwxNCArNzEwODksMTQgQEAK
IAogICAgICAgICBWaXNpdGVkIGxpbmsgaGFzaCBpcyByZWxhdGl2ZWx5IGV4cGVuc2l2ZSB0byBj
b21wdXRlLiBXZSBjYW4gY2FjaGUgaXQgZm9yIGFuY2hvciBlbGVtZW50cwogICAgICAgICB3aXRo
IG1pbmltYWwgcmVsYXRpdmUgbWVtb3J5IGNvc3QgZm9yIGZhc3RlciBzdHlsZSByZXNvbHZlLgot
ICAgICAgICAKKwogICAgICAgICBPbiBteSBtYWNoaW5lIHRoaXMgc3BlZWRzIHVwIHN0eWxlIG1h
dGNoaW5nIG9uIGZ1bGwgSFRNTCBzcGVjIGJ5IH4xMDBtcyBvciB+MSUgb2YgdGhlIHRvdGFsCiAg
ICAgICAgIENQVSB1c2FnZS4gSXQgbWFrZXMgbGluayBlbGVtZW50cyA4IGJ5dGVzIGxhcmdlciwg
YSByZWxhdGl2ZWx5IG1pbm9yIGluY3JlYXNlIHRvIHRoZWlyIG92ZXJhbGwgc2l6ZS4KLSAgICAg
ICAgCisKICAgICAgICAgSW52YWxpZGF0ZSB0aGUgaGFzaGVzIG9uIGJhc2UgVVJMIGZvciBjb21w
bGV0ZW5lc3Mgc2FrZSAobGFjayBvZiBzdHlsZSBpbnZhbGlkYXRpb24gbWVhbnMKICAgICAgICAg
dGhhdCB0aGlzIHNjZW5hcmlvIGlzIG5vdCBwcm9wZXJseSBzdXBwb3J0ZWQgY3VycmVudGx5KS4K
IAotICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLiBObyBzcGVjaWZpYyB0ZXN0IGZv
ciB2aXNpdGVkIGhhc2ggaW52YWxpZGF0aW9uIG9uIGR5bmFtaWMgYmFzZSBVUkwgCisgICAgICAg
IENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuIE5vIHNwZWNpZmljIHRlc3QgZm9yIHZpc2l0ZWQg
aGFzaCBpbnZhbGlkYXRpb24gb24gZHluYW1pYyBiYXNlIFVSTAogICAgICAgICBjaGFuZ2UgYXMg
dGhlIGVmZmVjdCBpcyBub3QgdGVzdGFibGUgZHVlIHRvIGxhY2sgb2Ygc3R5bGUgaW52YWxpZGF0
aW9uLgogCiAgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CkBAIC03MTE0OCw3ICs3
MTE4Myw3IEBACiAgICAgICAgIE1haW4gY29udHJpYnV0b3JzOgogICAgICAgICBHZW5ldmlldmUg
TWFrIDxnbWFrQHJpbS5jb20+CiAgICAgICAgIE1pa2UgTGF0dGFuemlvICA8bWxhdHRhbnppb0By
aW0uY29tPgotICAgICAgICBHZW9yZ2UgU3RhaWtvcyA8Z3N0YWlrb3NAcmltLmNvbT4gCisgICAg
ICAgIEdlb3JnZSBTdGFpa29zIDxnc3RhaWtvc0ByaW0uY29tPgogCiAgICAgICAgIEluaXRpYWwg
dXBzdHJlYW0sIG5vIG5ldyB0ZXN0cy4KIApAQCAtNzE2MTMsNyArNzE2NDgsNyBAQAogICAgICAg
ICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgogCiAgICAgICAgIENTU0VsZW1lbnRTdHlsZURlY2xh
cmF0aW9uIGlzIG9sZCBlbm91Z2ggdG8gbW92ZSBvdXQgb2YgQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24ncwotICAgICAgICBhdHRpYyBhbmQgaW50byBoZXIgb3duIGFwYXJ0bWVudC4gCisgICAg
ICAgIGF0dGljIGFuZCBpbnRvIGhlciBvd24gYXBhcnRtZW50LgogCiAgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CiAgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKQEAgLTcxNzQzLDcgKzcx
Nzc4LDcgQEAKIAogICAgICAgICBbd3hdIFVucmV2aWV3ZWQgYnVpbGQgZml4ZXMuIEFkZCBtaXNz
aW5nIGhlYWRlciBmb3IgQ1BQCiAgICAgICAgIERPTSBiaW5kaW5ncyBhbmQgYWRkIHN0dWJzIGZv
ciBuZXcgRFBJIG1ldGhvZHMuCi0gICAgICAgIAorCiAgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yQ1BQLnBtOgogICAgICAgICAoQWRkSW5jbHVkZXNGb3JUeXBlKToKICAg
ICAgICAgKiBwbGF0Zm9ybS93eC9TY3JlZW5XeC5jcHA6CkBAIC03MTgzOSw3ICs3MTg3NCw3IEBA
CiAKICAgICAgICAgV2ViS2l0IGRpZG4ndCBwYWludCB0aGUgdG9wIGJsb2NrIGluIHRoaXMgc2Vy
aWVzIG9mIHRlc3RzIGJlY2F1c2UgaXQgaWdub3JlZCB0aGUgb3V0bGluZQogICAgICAgICBvZiBv
YmplY3RzIHdpdGggYSB6ZXJvIHNpemUuIEZpeCB0aGlzIGJ5IHRha2luZyBhY2NvdW50IG9mIGJv
dGggb2Zmc2V0IGFuZCB3aWR0aCBvZiB0aGUKLSAgICAgICAgb3V0bGluZSB3aGVuIGRlY2lkaW5n
IHdoZXRoZXIgdG8gcGFpbnQgaXQuIAorICAgICAgICBvdXRsaW5lIHdoZW4gZGVjaWRpbmcgd2hl
dGhlciB0byBwYWludCBpdC4KIAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
OgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpwYWludE91dGxpbmUpOiBwYWludCB0
aGUgb3V0bGluZSBldmVuIHdoZW4gdGhlIGJsb2NrIGhhcyB6ZXJvIHNpemUKQEAgLTcyMzY3LDE0
ICs3MjQwMiwxNCBAQAogICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpz
OgogICAgICAgICAoKToKIAotMjAxMS0xMi0wOSAgSm9vbmUgSHVyICA8am9vbmUuaHVyQGNvbGxh
Ym9yYS5jby51az4sIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xs
YWJvcmEuY28udWs+IAorMjAxMS0xMi0wOSAgSm9vbmUgSHVyICA8am9vbmUuaHVyQGNvbGxhYm9y
YS5jby51az4sIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJv
cmEuY28udWs+CiAKICAgICAgICAgW0dUS10gSW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBBY2Nl
bGVyYXRlZCBDb21wb3NpdGluZyB1c2luZyBDbHV0dGVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxOQogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1
c3Rhdm8gTm9yb25oYSBTaWx2YS4KIAotICAgICAgICBObyBuZXcgdGVzdHMgYWRkZWQgYXMgdGhp
cyBmZWF0dXJlIHdpbGwgYmUgYWJsZSB0byByZXVzZSB0aGUgZXhpc3RpbmcgCisgICAgICAgIE5v
IG5ldyB0ZXN0cyBhZGRlZCBhcyB0aGlzIGZlYXR1cmUgd2lsbCBiZSBhYmxlIHRvIHJldXNlIHRo
ZSBleGlzdGluZwogICAgICAgICBDU1MzIHRyYW5zZm9ybXMgbGF5b3V0IHRlc3RzLgogCiAgICAg
ICAgICogR05VbWFrZWZpbGUuYW06IEluY2x1ZGUgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
bHV0dGVyIHBhdGguCkBAIC03MjU3MSw3ICs3MjYwNiw3IEBACiAgICAgICAgIEpvZSBNYXNvbiA8
am1hc29uQHJpbS5jb20+CiAgICAgICAgIE1heCBGZWlsIDxtZmVpbEBxbnguY29tPgogICAgICAg
ICBMdWthcyBTeWRvcm93c2tpIDxsc3lkb3Jvd3NraUByaW0uY29tPgotICAgICAgICBDcnlzdGFs
IFpoYW5nIDxoYWl6aGFuZ0ByaW0uY29tPiAKKyAgICAgICAgQ3J5c3RhbCBaaGFuZyA8aGFpemhh
bmdAcmltLmNvbT4KIAogICAgICAgICBJbml0aWFsIHVwc3RyZWFtLCBubyBuZXcgdGVzdHMuCiAK
QEAgLTcyODcxLDcgKzcyOTA2LDcgQEAKICAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6
CiAgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmtleUV2ZW50KToKICAgICAgICAgUmVt
b3ZlZCB0aGUgY2hlY2sgZm9yIGF1dG9zY3JvbGwgc28gdGhhdCBhdXRvc2Nyb2xsIGlzIG5vdCBz
dG9wcGVkIG9uCi0gICAgICAgIGtleSBwcmVzcyBhbmQga2V5IGV2ZW50IGlzIHByb2Nlc3NlZC4g
CisgICAgICAgIGtleSBwcmVzcyBhbmQga2V5IGV2ZW50IGlzIHByb2Nlc3NlZC4KIAogMjAxMS0x
Mi0wOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCkBAIC03MzA4Niwx
MyArNzMxMjEsMTMgQEAKICAgICAgICAgICAgIC0gbGlzdC1zdHlsZSgtaW1hZ2UpCiAgICAgICAg
ICAgICAtIC13ZWJraXQtbWFzay1ib3gtaW1hZ2UoLXNvdXJjZSkKICAgICAgICAgICAgIC0gLXdl
YmtpdC1tYXNrLWltYWdlKC1zb3VyY2UpCi0gICAgICAgIAorCiAgICAgICAgIFRoaXMgcGF0Y2gg
b25seSBhZGRzIHN1cHBvcnQgZm9yIHRyYW5zaXRpb25pbmcgYmV0d2VlbiBOaW5lUGllY2VJbWFn
ZXMKICAgICAgICAgd2hlcmUgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIGV4Y2VwdCB0aGUgaW1hZ2Ug
aXRzZWxmIGFyZSBlcXVhbCwgYW5kIHRoZQogICAgICAgICBzaXplIG9mIHRoZSBpbWFnZXMgYXJl
IGVxdWFsLiBPdGhlciBjYXNlcyB3aWxsIG5vdCBhbmltYXRlLgotICAgICAgICAKKwogICAgICAg
ICBBZGQgYW5pbWF0aW9uIGJsZW5kIGZ1bmN0aW9ucyBmb3IgU3R5bGVJbWFnZSBhbmQgTmluZVBp
ZWNlSW1hZ2UuCi0gICAgICAgIAorCiAgICAgICAgIEFwcGx5IHRoZSBwcm9wZXIgY29tcG9zaXRp
bmcgb3BlcmF0aW9uIHRvIC13ZWJraXQtY3Jvc3MtZmFkZSwgYW5kCiAgICAgICAgIGZpeCBoYW5k
bGluZyBvZiB0aGUgZGVzdGluYXRpb24gYW5kIHNvdXJjZSBhcmVhcyB0byBzdXBwb3J0IHNjYWxp
bmcuCiAKQEAgLTczMzUyLDcgKzczMzg3LDcgQEAKICAgICAgICAgZnJvbSBTaW1wbGVFZGl0Q29t
bWFuZC4gVXNlIGlzRWRpdENvbW1hbmRDb21wb3NpdGlvbigpIGluc3RlYWQuCiAgICAgICAgIChX
ZWJDb3JlOjpFZGl0Q29tbWFuZDo6cmVhcHBseSk6IERpdHRvLgogICAgICAgICAoV2ViQ29yZTo6
Y29tcG9zaXRpb25JZlBvc3NpYmxlKToKLSAgICAgICAgKFdlYkNvcmU6OkVkaXRDb21tYW5kOjpz
ZXRTdGFydGluZ1NlbGVjdGlvbik6IFVwZGF0ZSB0aGUgc3RhcnRpbmcgc2VsZWN0aW9uIG9mIEVk
aXRDb21tYW5kQ29tcG9zaXRpb24uIAorICAgICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmQ6OnNl
dFN0YXJ0aW5nU2VsZWN0aW9uKTogVXBkYXRlIHRoZSBzdGFydGluZyBzZWxlY3Rpb24gb2YgRWRp
dENvbW1hbmRDb21wb3NpdGlvbi4KICAgICAgICAgKFdlYkNvcmU6OkVkaXRDb21tYW5kOjpzZXRF
bmRpbmdTZWxlY3Rpb24pOiBEaXR0by4KICAgICAgICAgKFdlYkNvcmU6OkVkaXRDb21tYW5kOjpz
ZXRQYXJlbnQpOiBBY2NlcHRzIGEgbnVsbCBwb2ludGVyIGluIG9yZGVyIHRvIGF2b2lkIGtlZXBp
bmcgYSBzdGFsZSBwb2ludGVyIGluCiAgICAgICAgIG1fcGFyZW50IGluc2lkZSBTaW1wbGVFZGl0
Q29tbWFuZCB3aGVuIENvbXBvc2l0ZUVkaXRDb21tYW5kIGdvZXMgYXdheS4KQEAgLTczMzg2LDMy
ICs3MzQyMSwzMiBAQAogMjAxMS0xMi0wOCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQ4
Ci0gICAgICAgIFJFR1JFU1NJT046IEFzc2VydGlvbiB3aGVuIGxvYWRpbmcgYSBwYWdlIHdpdGgg
YSBzY3JvbGxhYmxlIFJlbmRlckxheWVyIAorICAgICAgICBSRUdSRVNTSU9OOiBBc3NlcnRpb24g
d2hlbiBsb2FkaW5nIGEgcGFnZSB3aXRoIGEgc2Nyb2xsYWJsZSBSZW5kZXJMYXllcgogICAgICAg
ICAtYW5kIGNvcnJlc3BvbmRpbmctCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDUxODkxOD4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAotICAgICAgICBUaGUgbWFpbiBw
cm9ibGVtIGhlcmUgaXMgdGhhdCBjZXJ0YWluIGRlbGVnYXRlIGNhbGxzIGludG8gQXBwS2l0IGZv
ciBvdmVybGF5IAotICAgICAgICBzY3JvbGxiYXJzIGNhbiBjYXVzZSBBcHBLaXQgdG8gY2FsbCBi
YWNrIGludG8gV2ViS2l0IGxvb2tpbmcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIAotICAgICAgICBU
aGUgYXNzZXJ0aW9uIGhhcHBlbnMgd2hlbiBXZWJLaXQgdGVsbHMgQXBwS2l0IHRoYXQgdGhlIHNj
cm9sbCBwb3NpdGlvbiBoYXMgCi0gICAgICAgIGNoYW5nZWQgZHVyaW5nIGEgbGF5b3V0LCBhbmQg
QXBwS2l0IGltbWVkaWF0ZWx5IGFza3MgV2ViS2l0IHRvIGNvbnZlcnQgc29tZSAKLSAgICAgICAg
Y29vcmRpbmF0ZXMsIGFuZCBXZWJLaXQgYXNzZXJ0cyB0aGF0IHlvdSBzaG91bGRuJ3QgZG8gdGhh
dCB3aGlsZSBhIGxheW91dCBpcyBzdGlsbCAKLSAgICAgICAgaGFwcGVuaW5nLiBJdCdzIHN0aWxs
IHBvc3NpYmxlIGZvciBBcHBLaXQgdG8gY2FsbCB0aGlzIGRlbGVnYXRlIG1ldGhvZCB3aGlsZSBh
IAotICAgICAgICBsYXlvdXQgaXMgaGFwcGVuaW5nLCBhbmQgd2Ugc2hvdWxkIGd1YXJkIGFnYWlu
c3QgdGhhdC4gVGhpcyBwYXRjaCwgaG93ZXZlciwgZG9lcyAKKyAgICAgICAgVGhlIG1haW4gcHJv
YmxlbSBoZXJlIGlzIHRoYXQgY2VydGFpbiBkZWxlZ2F0ZSBjYWxscyBpbnRvIEFwcEtpdCBmb3Ig
b3ZlcmxheQorICAgICAgICBzY3JvbGxiYXJzIGNhbiBjYXVzZSBBcHBLaXQgdG8gY2FsbCBiYWNr
IGludG8gV2ViS2l0IGxvb2tpbmcgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgICAgICAgIFRoZSBh
c3NlcnRpb24gaGFwcGVucyB3aGVuIFdlYktpdCB0ZWxscyBBcHBLaXQgdGhhdCB0aGUgc2Nyb2xs
IHBvc2l0aW9uIGhhcworICAgICAgICBjaGFuZ2VkIGR1cmluZyBhIGxheW91dCwgYW5kIEFwcEtp
dCBpbW1lZGlhdGVseSBhc2tzIFdlYktpdCB0byBjb252ZXJ0IHNvbWUKKyAgICAgICAgY29vcmRp
bmF0ZXMsIGFuZCBXZWJLaXQgYXNzZXJ0cyB0aGF0IHlvdSBzaG91bGRuJ3QgZG8gdGhhdCB3aGls
ZSBhIGxheW91dCBpcyBzdGlsbAorICAgICAgICBoYXBwZW5pbmcuIEl0J3Mgc3RpbGwgcG9zc2li
bGUgZm9yIEFwcEtpdCB0byBjYWxsIHRoaXMgZGVsZWdhdGUgbWV0aG9kIHdoaWxlIGEKKyAgICAg
ICAgbGF5b3V0IGlzIGhhcHBlbmluZywgYW5kIHdlIHNob3VsZCBndWFyZCBhZ2FpbnN0IHRoYXQu
IFRoaXMgcGF0Y2gsIGhvd2V2ZXIsIGRvZXMKICAgICAgICAgbm90IGRvIHRoYXQuCiAKLSAgICAg
ICAgVGhpcyBjaGFuZ2UgaW5zdGVhZCBhZGRyZXNzZXMgdGhlIHJlYXNvbiB0aGlzIGFzc2VydGlv
biBzdGFydGVkIGhhcHBlbmluZyBtdWNoIAotICAgICAgICBtb3JlIGZyZXF1ZW50bHkgcmVjZW50
bHksIHdoaWNoIGlzIHRoYXQgaXQgcmVjZW50bHkgYmVjYW1lIHRydWUgdGhhdCAKLSAgICAgICAg
bm90aWZ5UG9zaXRpb25DaGFuZ2VkKCkgY2FuIGJlIGNhbGxlZCB3aGVuIHRoZSBwb3NpdGlvbiBo
YXMgbm90IGNoYW5nZWQuIFRvIGZpeCAKLSAgICAgICAgdGhlIGFzc2VydGlvbiBBTkQgdGhlIGJ1
ZyB0aGF0IHRoYXQgY2hhbmdlIHdhcyBpbnRlbmRlZCB0byBmaXgsIHdlIGNhbiBqdXN0IG1ha2Ug
Ci0gICAgICAgIHN1cmUgdGhhdCBlaXRoZXIgdGhlIHBvc2l0aW9uIE9SIHRoZSBzY3JvbGwgb3Jp
Z2luIGhhcyBjaGFuZ2VkIGJlZm9yZSBjYWxsaW5nIAotICAgICAgICBub3RpZnlQb3NpdGlvbkNo
YW5nZWQoKS4gCisgICAgICAgIFRoaXMgY2hhbmdlIGluc3RlYWQgYWRkcmVzc2VzIHRoZSByZWFz
b24gdGhpcyBhc3NlcnRpb24gc3RhcnRlZCBoYXBwZW5pbmcgbXVjaAorICAgICAgICBtb3JlIGZy
ZXF1ZW50bHkgcmVjZW50bHksIHdoaWNoIGlzIHRoYXQgaXQgcmVjZW50bHkgYmVjYW1lIHRydWUg
dGhhdAorICAgICAgICBub3RpZnlQb3NpdGlvbkNoYW5nZWQoKSBjYW4gYmUgY2FsbGVkIHdoZW4g
dGhlIHBvc2l0aW9uIGhhcyBub3QgY2hhbmdlZC4gVG8gZml4CisgICAgICAgIHRoZSBhc3NlcnRp
b24gQU5EIHRoZSBidWcgdGhhdCB0aGF0IGNoYW5nZSB3YXMgaW50ZW5kZWQgdG8gZml4LCB3ZSBj
YW4ganVzdCBtYWtlCisgICAgICAgIHN1cmUgdGhhdCBlaXRoZXIgdGhlIHBvc2l0aW9uIE9SIHRo
ZSBzY3JvbGwgb3JpZ2luIGhhcyBjaGFuZ2VkIGJlZm9yZSBjYWxsaW5nCisgICAgICAgIG5vdGlm
eVBvc2l0aW9uQ2hhbmdlZCgpLgogCiAgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1h
dG9yTWFjLm1tOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OmltbWVkaWF0
ZVNjcm9sbFRvUG9pbnQpOgogCi0gICAgICAgIENhbGwgcmVzZXRTY3JvbGxPcmlnaW5DaGFuZ2Vk
KCkgYWZ0ZXIgdGhlIHNjcm9sbCBpbnN0ZWFkIG9mIGJlZm9yZSBzbyB0aGF0IHdlIGtub3cgCisg
ICAgICAgIENhbGwgcmVzZXRTY3JvbGxPcmlnaW5DaGFuZ2VkKCkgYWZ0ZXIgdGhlIHNjcm9sbCBp
bnN0ZWFkIG9mIGJlZm9yZSBzbyB0aGF0IHdlIGtub3cKICAgICAgICAgd2hldGhlciBvciBub3Qg
dG8gY2FsbCBub3RpZnlQb3NpdGlvbkNoYW5nZWQoKS4KICAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxWaWV3LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJh
cnMpOgpAQCAtNzM5NDEsNyArNzM5NzYsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBG
aXNoZXIuCiAKICAgICAgICAgTWFrZSBEUEkgaW5mb3JtYXRpb24gYWNjZXNzaWJsZSBmcm9tIFdl
YktpdCB0aHJvdWdoCi0gICAgICAgIFBsYXRmb3JtU2NyZWVuLiBUaGlzIGlzIHVzZWZ1bCB3aGVu
IG1ha2luZyBzY2FsaW5nIAorICAgICAgICBQbGF0Zm9ybVNjcmVlbi4gVGhpcyBpcyB1c2VmdWwg
d2hlbiBtYWtpbmcgc2NhbGluZwogICAgICAgICBjb21wdXRhdGlvbnMgb24gdmFyaW91cyBkZXZp
Y2VzIChlLmcuIFZpZXdwb3J0IG1ldGEgdGFnKS4KIAogICAgICAgICBUaGlzIHBhdGNoIGFkZHMg
RFBJIHBsdW1iaW5nIG9uIENocm9taXVtIFdpbi9NYWMvTGludXgKQEAgLTc0MTA3LDExICs3NDE0
MiwxMSBAQAogICAgICAgICBpbiB0aGUgb3JpZ2luYWwgb3JkZXIuIFRoaXMgZml4ZXMgdGhlIHBy
b2JsZW0gdGhhdCBkYXRhYmFzZSBjYWxsYmFja3MgY291bGQgYmUgbWlzc2VkCiAgICAgICAgIHdo
ZW4gcGFnZSBsb2FkaW5nIHdhcyBkZWZlcnJlZC4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NDAxCi0gCisKIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KIAotICAgICAgICBNYW51YWwgdGVzdCBhZGRlZDogTWFudWFsVGVzdHMvZGF0
YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4gCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVk
OiBNYW51YWxUZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sLgogCiAgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVu
dCk6CkBAIC03NDI4MCw3ICs3NDMxNSw3IEBACiAgICAgICAgIEl0IG1hdGNoZXMgRmlyZWZveCdz
IGRlZmF1bHQgYmVoYXZpb3IuCiAKICAgICAgICAgV2l0aG91dCB0aGlzIHBhdGNoLCBjdHJsKGFs
dCBmb3IgbWFjKS1hcnJvdyBrZXkgb3IKLSAgICAgICAgc2VsZWN0aW9uLm1vZGlmeSgibW92ZSIs
ICJsZWZ0Ii8icmlnaHQiLCAid29yZCIpIG1vdmVzIGN1cnNvciBieSB3b3JkIGluIGxvZ2ljYWwg
b3JkZXIuIAorICAgICAgICBzZWxlY3Rpb24ubW9kaWZ5KCJtb3ZlIiwgImxlZnQiLyJyaWdodCIs
ICJ3b3JkIikgbW92ZXMgY3Vyc29yIGJ5IHdvcmQgaW4gbG9naWNhbCBvcmRlci4KIAogICAgICAg
ICBJRSBpbXBsZW1lbnRzIG1vdmluZyBjdXJzb3IgYnkgbG9naWNhbCBvcmRlciBmb3IgYm90aCBh
cnJvdyBrZXkgYW5kIGN0cmwtYXJyb3cga2V5LgogICAgICAgICBGaXJlZm94IGltcGxlbWVudHMg
bW92aW5nIGN1cnNvciBieSB2aXN1YWwgb3JkZXIgZm9yIGJvdGggb3BlcmF0aW9ucy4KQEAgLTc1
MzkxLDEwICs3NTQyNiwxMCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29u
LgogCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNo
cm9taXVtLmNwcDogCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJv
bWl1bTo6ZHJhd0xheWVycyk6IGFkZGVkIHZpZXdwb3J0IHBhcmFtCi0gICAgICAgIChXZWJDb3Jl
OjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmluaXRpYWxpemVTaGFyZWRPYmplY3RzKTogZGl0dG8g
Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuY3Bw
OiAKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6aW5pdGlhbGl6ZVNo
YXJlZE9iamVjdHMpOiBkaXR0bworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RleHR1cmVNYW5hZ2VyLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYW5hZ2VyOjpo
aWdoTGltaXRCeXRlcyk6IGNhbGN1bGF0ZWQgYmFzZWQgb24gdmlld3BvcnQKICAgICAgICAgKFdl
YkNvcmU6OlRleHR1cmVNYW5hZ2VyOjpyZWNsYWltTGltaXRCeXRlcyk6IGRpdHRvCiAgICAgICAg
IChXZWJDb3JlOjpUZXh0dXJlTWFuYWdlcjo6bG93TGltaXRCeXRlcyk6IGRpdHRvCkBAIC03NTcx
MSw3ICs3NTc0Niw3IEBACiAKICAgICAgICAgTm8gbmV3IHRlc3RzIGFzIG5vIGZ1bmN0aW9uYWwg
Y2hhbmdlLgogCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oOiAK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CiAgICAgICAgIChX
ZWJDb3JlOjpLZXlmcmFtZVZhbHVlTGlzdDo6b3BlcmF0b3I9KTogQWRkZWQKICAgICAgICAgKFdl
YkNvcmU6OktleWZyYW1lVmFsdWVMaXN0Ojpzd2FwKTogQWRkZWQKIApAQCAtNzYyMzksNyArNzYy
NzQsNyBAQAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA1MjE4Nzk+CiAKICAgICAgICAgTm8g
dGVzdCBzaW5jZSByZXBybyBjYXNlIGludm9sdmVzIGRyb3BwaW5nIGEgZmlsZSBvbnRvIHRoZSBX
ZWJWaWV3LgotICAgICAgICAKKwogICAgICAgICBDYWxsaW5nIGNoYXJhY3RlcnMoKSBleHBsaWNp
dGx5IGNhdXNlcyBhIG5vbi10ZXJtaW5hdGVkIHN0cmluZyBidWZmZXIgdG8gZ2V0IHBhc3NlZCBi
YWNrCiAgICAgICAgIHRvIHRoZSBTdHJpbmcoKSBjb25zdHJ1Y3RvciB0aGF0IGV4cGVjdHMgYSB0
ZXJtaW5hdGVkIGJ1ZmZlci4gVGhlIGNoYXJhY3RlcnMoKSBjYWxsIGlzbid0CiAgICAgICAgIG5l
Y2Vzc2FyeSBhdCBhbGwsIHNpbmNlIHdlIGhhdmUgYSBTdHJpbmcgYW5kIHRoZSBtZXRob2Qgd2Un
cmUgY2FsbGluZyBleHBlY3RzIGEgU3RyaW5nLgpAQCAtNzYzNDYsMTMgKzc2MzgxLDEzIEBACiAg
ICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVXJsKTogRG9uJ3QgYXNr
IEhUTUxNZWRpYUVsZW1lbnQgdG8gdmFsaWRhdGUgdGhlIHVybCwgdGhlCiAgICAgICAgICAgICBy
ZXF1aXJlbWVudHMgZm9yIDx0cmFjaz4gYXJlIGRpZmZlcmVudCBmcm9tIDx2aWRlbz4uCiAgICAg
ICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpkaWRDb21wbGV0ZUxvYWQpOiBDaGFuZ2Ug
Ym9vbCBwYXJhbSB0byBlbnVtLgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6
bWVkaWFFbGVtZW50Q3Jvc3NPcmlnaW5BdHRyaWJ1dGUpOiBOZXcsIHJldHVybiBwYXJlbnQgJ2Ny
b3Nzb3JpZ2luJyAKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6Om1lZGlhRWxl
bWVudENyb3NzT3JpZ2luQXR0cmlidXRlKTogTmV3LCByZXR1cm4gcGFyZW50ICdjcm9zc29yaWdp
bicKICAgICAgICAgICAgIGF0dHJpYnV0ZSB2YWx1ZS4KICAgICAgICAgKiBodG1sL0hUTUxUcmFj
a0VsZW1lbnQuaDoKIAogICAgICAgICAqIGh0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwOgogICAg
ICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxlTG9hZCk6IEFkZCBjb21t
ZW50cyBmcm9tIHRoZSBzcGVjLgotICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6
OmxvYWRUaW1lckZpcmVkKTogQWx3YXlzIGNhbmNlbCBwZW5kaW5nIGxvYWRzLiBMZXQgdGhlIGNh
bGxlciBrbm93IAorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OmxvYWRUaW1l
ckZpcmVkKTogQWx3YXlzIGNhbmNlbCBwZW5kaW5nIGxvYWRzLiBMZXQgdGhlIGNhbGxlciBrbm93
CiAgICAgICAgICAgICBpZiB0aGUgbG9hZGVyIHJlZnVzZXMgdGhlIHVybCBpbW1lZGlhdGVseS4K
ICAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5nU3RhcnRlZCk6
IFRoZSA8dHJhY2s+IGRlYWxzIHdpdGggcmVhZHlTdGF0ZS4KICAgICAgICAgKFdlYkNvcmU6Okxv
YWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5nQ29tcGxldGVkKTogSFRNTFRyYWNrRWxlbWVudDo6
ZGlkQ29tcGxldGVMb2FkIHRha2VzCkBAIC03NzA3OCw3ICs3NzExMyw3IEBACiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCiAKLSAgICAgICAgQ2hhbmdlZCBBU1NFUlQgaW4g
Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmUgdG8gaW5jbHVkZSAoIHx8ICFtX3Zpc2libGUpIGFzIGRp
c2N1c3NlZCBpbiBidWcgCisgICAgICAgIENoYW5nZWQgQVNTRVJUIGluIENDU2NoZWR1bGVyU3Rh
dGVNYWNoaW5lIHRvIGluY2x1ZGUgKCB8fCAhbV92aXNpYmxlKSBhcyBkaXNjdXNzZWQgaW4gYnVn
CiAgICAgICAgIHJlcG9ydC4gbV9jb21taXRTdGF0ZSBpcyBzZXQgdG8gQ09NTUlUX1NUQVRFX1dB
SVRJTkdfRk9SX0ZJUlNUX0RSQVcgaWYgbV9uZWVkc0NvbW1pdCBvcgogICAgICAgICAhbV92aXNp
YmxlLCBzbyBpbiBBQ1RJT05fRFJBVyB0aGUgYXNzZXJ0IHNob3VsZCBoYXZlIGJvdGggY29uZGl0
aW9ucy4KIApAQCAtNzcyNzQsNyArNzczMDksNyBAQAogMjAxMS0xMi0wMiAgQWFyb24gQ29sd2Vs
bCAgPGFjb2x3ZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggbWl4ZWQgY29udGVudCBo
YW5kbGluZyBmb3IgdmlkZW8gaW4gQ2hyb21pdW0gYnkgaGF2aW5nCi0gICAgICAgIENhY2hlZFJl
c291cmNlTG9hZGVyICYgU3VicmVzb3VyY2VMb2FkZXIgdXNlIHRoZSAKKyAgICAgICAgQ2FjaGVk
UmVzb3VyY2VMb2FkZXIgJiBTdWJyZXNvdXJjZUxvYWRlciB1c2UgdGhlCiAgICAgICAgIFJlc291
cmNlUmVxdWVzdDo6VGFyZ2V0VHlwZSB3aGVuIGRldGVybWluaW5nIGlmIGEgUmF3UmVzb3VyY2Ug
Y2FuCiAgICAgICAgIGJlIHJlcXVlc3RlZC4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcyMTc4CkBAIC03NzM1MSw3ICs3NzM4Niw3IEBACiAgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0
aW9uZWQpOgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb250YWluaW5nQmxvY2tMb2dp
Y2FsSGVpZ2h0Rm9yUG9zaXRpb25lZCk6CiAgICAgICAgICAgSWYgcG9zaXRpb246Zml4ZWQgZWxl
bWVudHMgYXJlIHJlbGF0aXZlIHRvIHRoZSBmcmFtZSwgdGhlaXIgY29udGFpbmVyCi0gICAgICAg
ICAgaXMgdGhlIGZyYW1lIGluc3RlYWQgb2YgdGhlIGxheW91dCByZWN0IG9mIHRoZSBkb2N1bWVu
dC4gCisgICAgICAgICAgaXMgdGhlIGZyYW1lIGluc3RlYWQgb2YgdGhlIGxheW91dCByZWN0IG9m
IHRoZSBkb2N1bWVudC4KICAgICAgICAgICBUaGlzIGFsbG93cyBwcm9wZXIgcG9zaXRpb25pbmcg
b2YgdGhlc2UgZWxlbWVudHMgdG8gdGhlIHJpZ2h0IGFuZAogICAgICAgICAgIGJvdHRvbS4KICAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CkBAIC03NzU1Miw3ICs3NzU4Nyw3IEBACiAg
ICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgogCiAgICAgICAgIFJldHVybmVkIHRo
ZSBGbG9hdFF1YWQgY29vcmRpbmF0ZXMgaW4gY29ycmVjdCBvcmRlci4KLSAgICAgICAgCisKICAg
ICAgICAgQ292ZXJlZCBieSBuZXcgdW5pdCB0ZXN0cyBpbiBDQ0xheWVyUXVhZFRlc3QuY3BwLgog
CiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclF1YWQuY3Bw
OgpAQCAtNzc1NzksNyArNzc2MTQsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2Jp
bnNvbi4KIAogICAgICAgICBSZXR1cm5lZCB0aGUgRmxvYXRRdWFkIGNvb3JkaW5hdGVzIGluIGNv
cnJlY3Qgb3JkZXIuCi0gICAgICAgIAorCiAgICAgICAgIENvdmVyZWQgYnkgbmV3IHVuaXQgdGVz
dHMgaW4gQ0NMYXllclF1YWRUZXN0LmNwcC4KIAogICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJRdWFkLmNwcDoKQEAgLTc3NjI0LDcgKzc3NjU5LDcgQEAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KIAogICAgICAgICBBZGQgYSBDU1AgY2hlY2sg
aW4gQWJzdHJhY3RXb3JrZXIuY3BwIGFzIHBhcnQgb2YgcmVzb2x2aW5nIFVSTC4KLSAgICAgICAg
CisKICAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvd29ya2VyLXNjcmlwdC1zcmMuaHRtbAogCiAgICAgICAgICogd29ya2Vycy9BYnN0cmFjdFdv
cmtlci5jcHA6CkBAIC03NzY1Niw3ICs3NzY5MSw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IEFu
ZGVycyBDYXJsc3Nvbi4KIAogICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0Zvcm1EYXRh
U3RyZWFtTWFjLm1tOgotICAgICAgICAoV2ViQ29yZTo6c3RyZWFtRmllbGRzTWFwTXV0ZXgpOiBB
ZGRlZC4gCisgICAgICAgIChXZWJDb3JlOjpzdHJlYW1GaWVsZHNNYXBNdXRleCk6IEFkZGVkLgog
ICAgICAgICAoV2ViQ29yZTo6YXNzb2NpYXRlU3RyZWFtV2l0aFJlc291cmNlSGFuZGxlKTogVXNl
IHN0cmVhbUZpZWxkc01hcE11dGV4LgogICAgICAgICAoV2ViQ29yZTo6Zm9ybUNyZWF0ZSk6IERp
dHRvLgogICAgICAgICAoV2ViQ29yZTo6Zm9ybUZpbmFsaXplKTogRGl0dG8uCkBAIC03Nzc0MSwx
MiArNzc3NzYsMTIgQEAKICAgICAgICAgUkVHUkVTU0lPTihyMTAxNTI0KTogQXJ0aWNsZSB0aXRs
ZXMgaW52aXNpYmxlIHVudGlsIGhvdmVyIG9uIGJsYXplLmNvbQogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgotICAgICAgICAKKwogICAgICAgICBXZSBuZWVkIHRvIGludmFsaWRh
dGUgdGhlIG1hdGNoZWQgZGVjbGFyYXRpb24gY2FjaGUgd2hlbiBuZXcgd2ViIGZvbnRzIGFyZSBs
b2FkZWQuCiAgICAgICAgIEZvbnRzIGluIHRoZSBjYWNoZWQgUmVuZGVyU3R5bGVzIG1heSBub3Qg
YmUgdmFsaWQgYW55bW9yZS4KLSAgICAgICAgCisKICAgICAgICAgQWxzbyByZW5hbWVkIG1fbWF0
Y2hTdHlsZURlY2xhcmF0aW9uQ2FjaGUgLT4gbV9tYXRjaGVkU3R5bGVEZWNsYXJhdGlvbkNhY2hl
LgotICAgICAgICAKKwogICAgICAgICBUZXN0IHJlZHVjdGlvbiBieSB0aGUgUmVkdWN0aW9uIEZh
aXJ5IChha2Ega2xpbmcpLgogCiAgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ZvbnQtZmFjZS1jYWNo
ZS1idWcuaHRtbApAQCAtNzc3NzEsOCArNzc4MDYsOCBAQAogICAgICAgICBBZGQgc3VwcG9ydCBm
b3IgaW5kaXZpZHVhbCBtZWRpYSBjb250cm9scyB0byBjb250cm9sIHRoZSBNZWRpYUNvbnRyb2xs
ZXIgb2YgdGhlaXIgYXNzb2NpYXRlZAogICAgICAgICBIVE1MTWVkaWFFbGVtZW50LCBpZiBwcmVz
ZW50LgogCi0gICAgICAgIFRoZSB2aWRlbyBzcGVjIHJlcXVpcmVzIHRoYXQgVUEgcHJvdmlkZWQg
bWVkaWEgY29udHJvbHMgYmUgaW1wbGVtZW50ZWQgaW4gdGVybXMgb2YgdGhlaXIgCi0gICAgICAg
IEhUTUxNZWRpYUVsZW1lbnQncyBNZWRpYUNvbnRyb2xsZXIsIGlmIHByZXNlbnQuICBTbyBmb3Ig
ZWFjaCBvZiB0aGUgbWVkaWEgY29udHJvbHMsIG1vZGlmeSAKKyAgICAgICAgVGhlIHZpZGVvIHNw
ZWMgcmVxdWlyZXMgdGhhdCBVQSBwcm92aWRlZCBtZWRpYSBjb250cm9scyBiZSBpbXBsZW1lbnRl
ZCBpbiB0ZXJtcyBvZiB0aGVpcgorICAgICAgICBIVE1MTWVkaWFFbGVtZW50J3MgTWVkaWFDb250
cm9sbGVyLCBpZiBwcmVzZW50LiAgU28gZm9yIGVhY2ggb2YgdGhlIG1lZGlhIGNvbnRyb2xzLCBt
b2RpZnkKICAgICAgICAgdGhlaXIgY29uc3RydWN0b3IgdG8gdGFrZSBhIERvY3VtZW50KiBpbnN0
ZWFkIG9mIGFuIEhUTUxNZWRpYUVsZW1lbnQsIGFuZCBhZGQgYW4gc2V0dGVyCiAgICAgICAgIHRh
a2luZyBhIE1lZGlhQ29udHJvbGxlckludGVyZmFjZS4KIApAQCAtNzg1MjAsNyArNzg1NTUsNyBA
QAogCiAgICAgICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuY3BwOgogICAgICAgICAoV2ViQ29y
ZTo6SFRNTEFyZWFFbGVtZW50Ojpjb21wdXRlUGF0aCk6Ci0gICAgICAgIFRoZSBjb21wdXRlUGF0
aCBtZXRob2Qgbm93IHVzZXMgdGhlIFJlbmRlck9iamVjdCdzIGVmZmVjdGl2ZVpvb20gCisgICAg
ICAgIFRoZSBjb21wdXRlUGF0aCBtZXRob2Qgbm93IHVzZXMgdGhlIFJlbmRlck9iamVjdCdzIGVm
ZmVjdGl2ZVpvb20KICAgICAgICAgaW5zdGVhZCBvZiB0aGUgRnJhbWUncyBwYWdlIHpvb20gdG8g
Y29tcHV0ZSB0aGUgcGF0aCBmb3IgdGhlIGFyZWEKICAgICAgICAgZWxlbWVudCdzIGZvY3VzIHJp
bmcuCiAKQEAgLTgwNDg1LDEyICs4MDUyMCwxMiBAQAogICAgICAgICBDb3B5L3Bhc3RlIG9mIHRo
ZSBzYW1lIGNvbnRlbnQgcHJvZHVjZXMgaW5jcmVhc2luZ2x5IG5lc3RlZCBtYXJrdXAKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNDk3CiAgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8xMDIwODYwNT4KLSAgICAgICAgCisKICAgICAgICAgV2hlbiBwYXN0
aW5nIGEgZnJhZ21lbnQgb3ZlciBhIHNlbGVjdGlvbiwgd2UgcGVyZm9tIGEgRGVsZXRlU2VsZWN0
aW9uIGNvbW1hbmQKICAgICAgICAgZm9sbG93ZWQgYnkgYSBSZXBsYWNlU2VsZWN0aW9uIGNvbW1h
bmQuIERlbGV0ZSBzZWxlY3Rpb24gcHJlc2VydmVzIHRoZSBzdHlsZQogICAgICAgICBvZiB0aGUg
c2VsZWN0aW9uIHN0YXJ0LCBsZWF2aW5nIGFsbCB0aGUgYmxvY2tzIGNvbnRhaW5pbmcgdGhlIGlu
c2VydGlvbiBwb2ludC4KICAgICAgICAgVGhpcyBwYXRjaCBlbGltaW5hdGVzIGFsbCB0aGUgbmVz
dGVkIGRpdnMgdGhhdCBkb24ndCBwcm92aWRlIGFkZGl0aW9uYWwgc3R5bGUsCi0gICAgICAgIGF2
b2lkaW5nIHRoZSBwcm9saWZlcmF0aW9uIG9mIG5lc3RlZCBkaXZzLiAKKyAgICAgICAgYXZvaWRp
bmcgdGhlIHByb2xpZmVyYXRpb24gb2YgbmVzdGVkIGRpdnMuCiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCiAKQEAgLTgwNTYxLDExICs4MDU5NiwxMSBAQAogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEJldGggRGFraW4uCiAKLSAgICAgICAgVGhpcyBtYWtlcyB0aGUgZWxlbWVudCBz
ZWFyY2hpbmcgbWVjaGFuaXNtIG11Y2ggZmFzdGVyLiBQcmV2aW91c2x5LCBzZWFyY2hpbmcgbGl0
ZXJhbGx5IHdlbnQgCisgICAgICAgIFRoaXMgbWFrZXMgdGhlIGVsZW1lbnQgc2VhcmNoaW5nIG1l
Y2hhbmlzbSBtdWNoIGZhc3Rlci4gUHJldmlvdXNseSwgc2VhcmNoaW5nIGxpdGVyYWxseSB3ZW50
CiAgICAgICAgIHRocm91Z2ggZXZlcnkgZWxlbWVudCwgbG9va2luZyBmb3IgdGhlIHN0YXJ0IGVs
ZW1lbnQgYmVmb3JlICJzdGFydGluZyIgdGhlIHNlYXJjaC4KIAotICAgICAgICBOb3cgd2Ugb25s
eSBnbyB0aHJvdWdoIHRoZSBlbGVtZW50cyB0aGF0IG5lZWQgdG8gYmUgc2VhcmNoZWQuIFRoaXMg
aXMgZG9uZSBieSBnb2luZyB1cCB0aGUgCi0gICAgICAgIHN0YXJ0IG9iamVjdCBwYXJlbnQgY2hh
aW4uIEF0IGVhY2ggbGV2ZWwsIGEgREZTIGlzIGRvbmUuIEFzIHdlIGdvIHVwIHRoZSBwYXJlbnQg
Y2hhaW4sIAorICAgICAgICBOb3cgd2Ugb25seSBnbyB0aHJvdWdoIHRoZSBlbGVtZW50cyB0aGF0
IG5lZWQgdG8gYmUgc2VhcmNoZWQuIFRoaXMgaXMgZG9uZSBieSBnb2luZyB1cCB0aGUKKyAgICAg
ICAgc3RhcnQgb2JqZWN0IHBhcmVudCBjaGFpbi4gQXQgZWFjaCBsZXZlbCwgYSBERlMgaXMgZG9u
ZS4gQXMgd2UgZ28gdXAgdGhlIHBhcmVudCBjaGFpbiwKICAgICAgICAgb25seSB0aGUgZWxlbWVu
dHMgYmVmb3JlL2FmdGVyIHRoZSBjdXJyZW50IGVsZW1lbnQgYXJlIGV4YW1pbmVkLgogCiAgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKQEAgLTgwODQxLDcg
KzgwODc2LDcgQEAKICAgICAgICAgW3d4XSBFbnN1cmUgd2UgYWx3YXlzIG5vdGlmeSB0aGUgcG9w
dXAgY2xpZW50IHRoYXQgdGhlIHBvcHVwCiAgICAgICAgIHdhcyBoaWRkZW4sIGFuZCBmaXggaGFu
ZGxpbmcgb2YgZW1wdHkgbWVudSBpdGVtcy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTczNDY0Ci0gICAgICAgIAorCiAgICAgICAgIFJldmlld2VkIGJ5
IEtldmluIE9sbGl2aWVyLgogCiAgICAgICAgICogcGxhdGZvcm0vd3gvUG9wdXBNZW51V3guY3Bw
OgpAQCAtODA4NjksNyArODA5MDQsNyBAQAogICAgICAgICBbd3hdIEFkZCBhIHNjb3BlIGZvciB0
aGUgcmF3IGJpdG1hcCBhY2Nlc3Mgc28gdGhhdCB3eAogICAgICAgICB3aWxsIG5vdCBtYWtlIGEg
Y29weSB3aGVuIGNyZWF0aW5nIHRoZSB3eE1lbW9yeURDLgogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NjEKLSAgICAgICAgCisKICAgICAgICAgUmV2
aWV3ZWQgQnkgS2V2aW4gT2xsaXZpZXIuCiAKICAgICAgICAgKiBwbGF0Zm9ybS93eC9Mb2NhbERD
Lmg6CkBAIC04MDkxOCw3ICs4MDk1Myw3IEBACiAKIDIwMTEtMTEtMzAgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgogCi0gICAgICAgIFJldXNlIGNhY2hlZCBzdHlsZSBmdWxseSBp
ZiB0aGUgcGFyZW50IGluaGVyaXRlZCBzdHlsZXMgYXJlIGVxdWFsIAorICAgICAgICBSZXVzZSBj
YWNoZWQgc3R5bGUgZnVsbHkgaWYgdGhlIHBhcmVudCBpbmhlcml0ZWQgc3R5bGVzIGFyZSBlcXVh
bAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjEK
IAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KQEAgLTgwOTI4LDQxICs4MDk2Myw0
MSBAQAogICAgICAgICBpbmhlcml0ZWQgc3R5bGUgaXMgZXF1aXZhbGVudCB0byB0aGUgY2FjaGUg
ZW50cnkncywgYWxzbyB0aGUgaW5oZXJpdGVkIHN0eWxlIGNhbiBiZSByZXVzZWQKICAgICAgICAg
YW5kIG5vIHByb3BlcnRpZXMgbmVlZCB0byBiZSBhcHBsaWVkLiBUaGlzIGlzIGZhc3RlciBhbmQg
c2F2ZXMgbWVtb3J5IChieSBzaGFyaW5nIHRoZQogICAgICAgICBzdHlsZSBzdWJzdHJ1Y3R1cmVz
IGJldHRlcikuCi0gICAgICAgIAorCiAgICAgICAgIFRoZSBuZXcgb3B0aW1pemVkIGNvZGUgcGF0
aCBoYXMgYSBwcmV0dHkgZ29vZCBoaXQgcmF0ZSwgPjUwJSBvZiBhbGwgY2FzZXMgb24gbWFueSBw
YWdlcy4KLSAgICAgICAgCi0gICAgICAgIExvYWRpbmcgdGhlIEhUTUw1IHNwZWMgdGhpcyByZWR1
Y2VzIHN0eWxlIG1lbW9yeSBjb25zdW1wdGlvbiBieSB+MjAlICg1TUIsIH4yLjUlIG9mIHRvdGFs
KSBhbmQgCisKKyAgICAgICAgTG9hZGluZyB0aGUgSFRNTDUgc3BlYyB0aGlzIHJlZHVjZXMgc3R5
bGUgbWVtb3J5IGNvbnN1bXB0aW9uIGJ5IH4yMCUgKDVNQiwgfjIuNSUgb2YgdG90YWwpIGFuZAog
ICAgICAgICBzcGVlZHMgdXAgc3R5bGUgYXBwbHlpbmcgYnkgfjI1JSBmb3IgfjAuNHMgKDItMyUp
IGdhaW4gaW4gdGhlIHNwZWMgbG9hZGluZyBiZW5jaG1hcmsuCi0gICAgICAgIAorCiAgICAgICAg
ICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgogICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVT
ZWxlY3Rvcjo6YXBwbHlEZWNsYXJhdGlvbik6CiAgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjphcHBseURlY2xhcmF0aW9ucyk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBSZW1v
dmUgdGhlIGNvZGUgdGhhdCBkeW5hbWljYWxseSBkaXNhYmxlcyBpbmhlcml0ZWQgb25seSBhcHBs
eWluZy4gV2Ugbm93IGRvbid0IGFsbG93CiAgICAgICAgICAgICBzdHlsZXMgd2l0aCBleHBsaWNp
dGx5IGluaGVyaXRlZCBwcm9wZXJ0aWVzIHRvIGJlIGNhY2hlZCBpbiB0aGUgZmlyc3QgcGxhY2Uu
Ci0gICAgICAgIAorCiAgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpmaW5kRnJv
bU1hdGNoZWREZWNsYXJhdGlvbkNhY2hlKToKLSAgICAgICAgCisKICAgICAgICAgICAgIFJldHVy
biB0aGUgZnVsbCBjYWNoZSBpdGVtLgotICAgICAgICAKKwogICAgICAgICAoV2ViQ29yZTo6Q1NT
U3R5bGVTZWxlY3Rvcjo6YWRkVG9NYXRjaGVkRGVjbGFyYXRpb25DYWNoZSk6Ci0gICAgICAgIAor
CiAgICAgICAgICAgICBBbHNvIHRoZSBwYXJlbnQgc3R5bGUgaXMgbm93IG5lZWRlZCBmb3IgdGhl
IGNoZWNrIGZvciBmdWxsIHNoYXJpbmcuCi0gICAgICAgIAorCiAgICAgICAgIChXZWJDb3JlOjpp
c0NhY2hlYWJsZUluTWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGUpOgogCiAgICAgICAgICAgICBEb24n
dCBhbGxvdyBzdHlsZXMgd2l0aCBleHBsaWNpdGx5IGluaGVyaXRlZCBwcm9wZXJ0aWVzIHRvIGJl
IGNhY2hlZCBhdCBhbGwuCi0gICAgICAgIAorCiAgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjphcHBseU1hdGNoZWREZWNsYXJhdGlvbnMpOgotICAgICAgICAKKwogICAgICAgICAg
ICAgSWYgdGhlIHBhcmVudCBpbmhlcml0ZWQgc3R5bGVzIGFyZSBlcXVhbCByZXVzZSB0aGUgY2Fj
aGUgZW50cnkgZnVsbHkgYW5kIHJldHVybiB3aXRob3V0CiAgICAgICAgICAgICBkb2luZyBhbnl0
aGluZyBlbHNlLgotICAgICAgICAKKwogICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmg6
CiAgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKICAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjppbmhlcml0ZWREYXRhU2hhcmVkKToKICAgICAgICAgKiByZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKLSAgICAgICAgCisKICAgICAgICAgICAgIEFkZCBm
YXN0IGNoZWNrIGZvciBlcXVhbCBpbmhlcml0ZWQgcHJvcGVydGllcy4KIAogMjAxMS0xMS0zMCAg
UmVuYXRhIEhvZG92YW4gIDxyZW5pQHdlYmtpdC5vcmc+CkBAIC04MjAzOCw3ICs4MjA3Myw3IEBA
CiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCiAKICAgICAgICAgSWYgYSBtZXRob2Qg
aXMgYW5ub3RhdGVkIHdpdGggW0NsYXNzTWV0aG9kXSBpdCB3aWxsIGJlY29tZSBhIG1ldGhvZCBv
biB0aGUgSlMgY29uc3RydWN0b3Igb2JqZWN0IGFuZCBpdCB3aWxsCi0gICAgICAgIGNhbGwgYSBz
dGF0aWMgZnVuY3Rpb24gb24gdGhlIEMrKyBjbGFzcy4gCisgICAgICAgIGNhbGwgYSBzdGF0aWMg
ZnVuY3Rpb24gb24gdGhlIEMrKyBjbGFzcy4KIAogICAgICAgICBUaGlzIHdhcyBwcmV2aW91c2x5
IG9ubHkgaW1wbGVtZW50ZWQgaW4gQ29kZUdlbmVyYXRvclY4LnBtIHNvIHRoaXMgYnJpbmdzIEpT
QyB1cCB0byBwYXIuCiAKQEAgLTgyMDQ4LDcgKzgyMDgzLDcgQEAKICAgICAgICAgKEdldEZ1bmN0
aW9uTmFtZSk6IFJlZmFjdG9yIHRvIHJlZHVjZSBjb2RlIGR1cGxpY2F0aW9uLgogICAgICAgICAo
R2VuZXJhdGVIZWFkZXIpOiBEaXR0by4KICAgICAgICAgKEdlbmVyYXRlT3ZlcmxvYWRlZEZ1bmN0
aW9uKTogVGhpcyBub3cgaGFuZGxlcyBib3RoIHByb3RvdHlwZSBmdW5jdGlvbnMgYW5kIGNvbnN0
cnVjdG9yIGZ1bmN0aW9ucy4KLSAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOiBEZWZp
bmUgY2xhc3MgbWV0aG9kcyB0b28uIAorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6
IERlZmluZSBjbGFzcyBtZXRob2RzIHRvby4KICAgICAgICAgKEdlbmVyYXRlUGFyYW1ldGVyc0No
ZWNrKTogR2VuZXJhdGUgdGhlIHJpZ2h0IGZ1bmN0aW9uIGFjY2VzcyBzdHJpbmcuCiAgICAgICAg
IChHZW5lcmF0ZUltcGxlbWVudGF0aW9uRnVuY3Rpb25DYWxsKTogU1ZHIHByb3BlcnRpZXMgYXJl
IG5vdCBzdGF0aWMgbWV0aG9kcy4KICAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0
aW9uKTogRm9yIGNsYXNzZXMgdGhhdCBoYXZlIHN0YXRpYyBtZXRob2RzIHdlIG1heSBub3cgcmV0
dXJuIGZ1bmN0aW9uIHByb3BlcnRpZXMuCkBAIC04MjEyMCw3ICs4MjE1NSw3IEBACiAgICAgICAg
IChXZWJDb3JlOjpTcGVsbGluZ0NvcnJlY3Rpb25Db250cm9sbGVyOjpjb3JyZWN0aW9uUGFuZWxU
aW1lckZpcmVkKToKICAgICAgICAgKFdlYkNvcmU6OlNwZWxsaW5nQ29ycmVjdGlvbkNvbnRyb2xs
ZXI6OnJvb3RWaWV3UmVjdEZvclJhbmdlKToKICAgICAgICAgKiBlZGl0aW5nL1NwZWxsaW5nQ29y
cmVjdGlvbkNvbnRyb2xsZXIuaDoKLSAgICAgICAgCisKIDIwMTEtMTEtMjkgIE9qYW4gVmFmYWkg
IDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBpbnZhbGlkIGNhc3QgaW4gV2ViQ29yZTo6
dG9SZW5kZXJCb3ggLyBXZWJDb3JlOjpSZW5kZXJCb3g6OmZpcnN0Q2hpbGRCb3gKQEAgLTgyMjM0
LDcgKzgyMjY5LDcgQEAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KIAogICAgICAg
ICBNYWtlIEpTRE9NV3JhcHBlckNhY2hlIHVzZSBKU09iamVjdCByYXRoZXIgdGhhbiBKU0RPTVdy
YXBwZXIKLSAgICAgICAgYW5kIHByb3BhZ2F0ZSB0aGUgdHlwZSBjaGFuZ2Ugb3V0LiAKKyAgICAg
ICAgYW5kIHByb3BhZ2F0ZSB0aGUgdHlwZSBjaGFuZ2Ugb3V0LgogCiAgICAgICAgICogYmluZGlu
Z3MvanMvRE9NV3JhcHBlcldvcmxkLmg6CiAgICAgICAgICogYmluZGluZ3MvanMvSlNBcnJheUJ1
ZmZlclZpZXdIZWxwZXIuaDoKQEAgLTgyMzQ3LDcgKzgyMzgyLDcgQEAKICAgICAgICAgKiBiaW5k
aW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmg6IFY4IE5QQVBJIGJpbmRpbmdzIGRvbid0IHJlYWxs
eSBzdXBwb3J0CiAgICAgICAgIGJ1aWxkaW5nIHdpdGggRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9B
UEk9MC4gVGhlc2UgZnVuY3Rpb25zIGFyZSBhbHdheXMKICAgICAgICAgZGVmaW5lZCwgc28gdGhl
eSBhbHNvIG5lZWQgdG8gYmUgZGVjbGFyZWQuCi0gICAgICAgICogcGxhdGZvcm0vcXQvUGxhdGZv
cm1TdXBwb3J0UXQuY3BwOiAKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9QbGF0Zm9ybVN1cHBvcnRR
dC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVN1cHBvcnQ6OnBsdWdpblNjcmlwdGFi
bGVPYmplY3QpOiBEb24ndCByZXR1cm4gYQogICAgICAgICBzY3JpcHRhYmxlIG9iamVjdCB3aGVu
IGNvbXBpbGluZyB3aXRob3V0IG5wYXBpLgogICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWFJ
bXBsLmNwcDogQWRkIG1pc3NpbmcgRG9jdW1lbnQuaCBpbmNsdWRlIHRoYXQgaXMKQEAgLTgzMDYz
LDcgKzgzMDk4LDcgQEAKICAgICAgICAgZGVmZXJyZWQuCiAgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwOgogICAgICAgICAoV2ViQ29yZTo6ZHJhd05l
ZWRzQ29weSk6Ci0gICAgICAgIFdoZW4gZG9pbmcgYSBjcm9zcy1jb250ZXh0IGRyYXcsIGlmIHRo
ZSBkZXN0aW5hdGlvbiBjb250ZXh0IGlzIAorICAgICAgICBXaGVuIGRvaW5nIGEgY3Jvc3MtY29u
dGV4dCBkcmF3LCBpZiB0aGUgZGVzdGluYXRpb24gY29udGV4dCBpcwogICAgICAgICBkZWZlcnJl
ZCwgY29weSB0aGUgaW1hZ2UuICBBbHNvIHJlZmFjdG9yIGNvbmRpdGlvbnMgdW5kZXIgd2hpY2gg
dGhlCiAgICAgICAgIGltYWdlIGlzIGNvcGllZCBpbnRvIGEgbmV3IGZ1bmN0aW9uLgogICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OmRyYXcpOgpAQCAtODM1NDEsMjYgKzgzNTc2LDI2IEBA
CiAyMDExLTExLTI4ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NTEKLSAgICAgICAgV2hl
biB0aGUgcmVjb21tZW5kZWQgc2Nyb2xsYmFyIHN0eWxlIGNoYW5nZXMsIFdLVmlldydzIHRyYWNr
aW5nIG9wdGlvbnMgc2hvdWxkIAorICAgICAgICBXaGVuIHRoZSByZWNvbW1lbmRlZCBzY3JvbGxi
YXIgc3R5bGUgY2hhbmdlcywgV0tWaWV3J3MgdHJhY2tpbmcgb3B0aW9ucyBzaG91bGQKICAgICAg
ICAgYWRqdXN0IGFjY29yZGluZ2x5CiAgICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0KICAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEwNDA5MzI4PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgogCi0gICAgICAgIFRoaXMgbmV3IENocm9tZUNsaWVudCBmdW5jdGlvbiBpcyBjYWxs
ZWQgd2hlbiB0aGUgcmVjb21tZW5kZWQgc2Nyb2xsYmFyIHN0eWxlIAotICAgICAgICBjaGFuZ2Vz
LiBUaGlzIHdheSwgV2ViS2l0IGNhbiByZXNwb25kIHRvIHRoZSBjaGFuZ2UgYnkgYWRqdXN0aW5n
IGl0cyBtb3VzZSAKKyAgICAgICAgVGhpcyBuZXcgQ2hyb21lQ2xpZW50IGZ1bmN0aW9uIGlzIGNh
bGxlZCB3aGVuIHRoZSByZWNvbW1lbmRlZCBzY3JvbGxiYXIgc3R5bGUKKyAgICAgICAgY2hhbmdl
cy4gVGhpcyB3YXksIFdlYktpdCBjYW4gcmVzcG9uZCB0byB0aGUgY2hhbmdlIGJ5IGFkanVzdGlu
ZyBpdHMgbW91c2UKICAgICAgICAgdHJhY2tpbmcuCiAgICAgICAgICogcGFnZS9DaHJvbWVDbGll
bnQuaDoKICAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cmVjb21tZW5kZWRTY3JvbGxi
YXJTdHlsZURpZENoYW5nZSk6CiAKLSAgICAgICAgRXhpc3RpbmcgU2Nyb2xsYWJsZUFyZWEgZnVu
Y3Rpb24gc2Nyb2xsYmFyU3R5bGVDaGFuZ2VkKCkgbm93IHRha2VzIGFuIGludCAKLSAgICAgICAg
aW5kaWNhdGluZyB0aGUgbmV3IHNjcm9sbGJhciBzdHlsZSBhbmQgYSBib29sIGluZGljYXRpbmcg
d2hldGhlciBpdCBpcyBuZWNlc3NhcnkgCi0gICAgICAgIHRvIGZvcmNlIGFuIHVwZGF0ZS4gSXQg
dXNlZCB0byBiZSB0aGUgY2FzZSB0aGF0IHRoaXMgZnVuY3Rpb24gd2FzIE9OTFkgdXNlZCB0byAK
LSAgICAgICAgZm9yY2UgYW4gdXBkYXRlIChhbmQgb25seSBjYWxsZWQgd2hlbiBhbiB1cGRhdGVk
IHdhcyBuZWVkZWQpLCBidXQgbm93IHRoYXQgaXQgbXVzdCAKLSAgICAgICAgYWxzbyBjYWxsIGlu
dG8gdGhlIENocm9tZUNsaWVudCwgaXQgaXMgbmVjZXNzYXJ5IHRvIGluY2x1ZGUgYSBib29sIHRy
YWNraW5nIAotICAgICAgICB3aGV0aGVyIHdlIG5lZWQgdG8gZm9yY2UgYW4gdXBkYXRlLiBOZXcg
aW1wbGVtZW50YXRpb24gb24gRnJhbWVWaWV3IGlzIHJlc3BvbnNpYmxlIAotICAgICAgICBmb3Ig
Y2FsbGluZyBDaHJvbWVDbGllbnQsIGFuZCB0aGVuIHRoYXQgY2FsbHMgaW50byB0aGUgcHJlLWV4
aXN0aW5nIFNjcm9sbFZpZXcgCisgICAgICAgIEV4aXN0aW5nIFNjcm9sbGFibGVBcmVhIGZ1bmN0
aW9uIHNjcm9sbGJhclN0eWxlQ2hhbmdlZCgpIG5vdyB0YWtlcyBhbiBpbnQKKyAgICAgICAgaW5k
aWNhdGluZyB0aGUgbmV3IHNjcm9sbGJhciBzdHlsZSBhbmQgYSBib29sIGluZGljYXRpbmcgd2hl
dGhlciBpdCBpcyBuZWNlc3NhcnkKKyAgICAgICAgdG8gZm9yY2UgYW4gdXBkYXRlLiBJdCB1c2Vk
IHRvIGJlIHRoZSBjYXNlIHRoYXQgdGhpcyBmdW5jdGlvbiB3YXMgT05MWSB1c2VkIHRvCisgICAg
ICAgIGZvcmNlIGFuIHVwZGF0ZSAoYW5kIG9ubHkgY2FsbGVkIHdoZW4gYW4gdXBkYXRlZCB3YXMg
bmVlZGVkKSwgYnV0IG5vdyB0aGF0IGl0IG11c3QKKyAgICAgICAgYWxzbyBjYWxsIGludG8gdGhl
IENocm9tZUNsaWVudCwgaXQgaXMgbmVjZXNzYXJ5IHRvIGluY2x1ZGUgYSBib29sIHRyYWNraW5n
CisgICAgICAgIHdoZXRoZXIgd2UgbmVlZCB0byBmb3JjZSBhbiB1cGRhdGUuIE5ldyBpbXBsZW1l
bnRhdGlvbiBvbiBGcmFtZVZpZXcgaXMgcmVzcG9uc2libGUKKyAgICAgICAgZm9yIGNhbGxpbmcg
Q2hyb21lQ2xpZW50LCBhbmQgdGhlbiB0aGF0IGNhbGxzIGludG8gdGhlIHByZS1leGlzdGluZyBT
Y3JvbGxWaWV3CiAgICAgICAgIGZ1bmN0aW9uIGZvciB0aGUgZm9yY2VVcGRhdGUgcGFydC4KICAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnNjcm9sbGJhclN0eWxlQ2hhbmdlZCk6CkBAIC04Mzc1Nyw3ICs4Mzc5Miw3IEBACiAKICAgICAg
ICAgTm8gbmV3IHRlc3RzLgogCi0gICAgICAgIFByb3RlY3QgQXVkaW9Db250ZXh0IGZyb20gYmVp
bmcgZGVsZXRlZCBiZWZvcmUgdW5pbml0aWFsaXplKCkgcmV0dXJucy4gRml4ZXMgYW4gYXNzZXJ0
aW9uIGluIH5BdWRpb0NvbnRleHQoKSBhbmQgCisgICAgICAgIFByb3RlY3QgQXVkaW9Db250ZXh0
IGZyb20gYmVpbmcgZGVsZXRlZCBiZWZvcmUgdW5pbml0aWFsaXplKCkgcmV0dXJucy4gRml4ZXMg
YW4gYXNzZXJ0aW9uIGluIH5BdWRpb0NvbnRleHQoKSBhbmQKICAgICAgICAgYSBwb3RlbnRpYWwg
c291cmNlIG9mIGxlYWtzLgogCiAgICAgICAgICogd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoK
QEAgLTg0MzM0LDE1ICs4NDM2OSwxNSBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNDQKIAogICAgICAgICBSZXZpZXdlZCBieSBKdWxpZW4gQ2hh
ZmZyYWl4LgotICAgICAgICAKKwogICAgICAgICBGcm9tIGh0dHA6Ly93d3cudzMub3JnL1RSL0NT
UzIxL3RhYmxlcy5odG1sI2JvcmRlci1jb25mbGljdC1yZXNvbHV0aW9uIDoKLSAgICAgICAgICAi
V2hlbiB0d28gYWRqYWNlbnQgY2VsbHMgaGF2ZSB0aGUgc2FtZSBib3JkZXItd2lkdGggYW5kIHRo
ZSBzYW1lIGJvcmRlci1zdHlsZSBpbiBhIAorICAgICAgICAgICJXaGVuIHR3byBhZGphY2VudCBj
ZWxscyBoYXZlIHRoZSBzYW1lIGJvcmRlci13aWR0aCBhbmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxl
IGluIGEKICAgICAgICAgICAnYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUsIHRoZW4g
dGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgZnJvbSB0aGUgbGVmdG1vc3QgY2VsbCB3aW5zCiAgICAg
ICAgICAgKGlmIHRoZSB0YWJsZSdzICdkaXJlY3Rpb24nIGlzICdsdHInOyByaWdodCwgaWYgaXQg
aXMgJ3J0bCcpIGFuZCB0aGUgY29sb3Igb2YgdGhlIGJvcmRlcgogICAgICAgICAgIGZyb20gdGhl
IHRvcG1vc3QgY2VsbCB3aW5zLiIKIAotICAgICAgICBTbyBXZWJDb3JlOjpjb21wYXJlQm9yZGVy
cyBuZWVkcyB0byBhY2NvdW50IGZvciB0aGUgcG9zaXRpb24gb2YgdGhlIGNlbGwgd2hlbiAKLSAg
ICAgICAgZGVjaWRpbmcgd2hpY2ggYm9yZGVyIHdpbnMgdGhlIGNvbXBhcmlzb24uIFRoaXMgd2ls
bCBlbnN1cmUgdGhhdCB0aGUgd2lubmluZyBib3JkZXIgaXMgCisgICAgICAgIFNvIFdlYkNvcmU6
OmNvbXBhcmVCb3JkZXJzIG5lZWRzIHRvIGFjY291bnQgZm9yIHRoZSBwb3NpdGlvbiBvZiB0aGUg
Y2VsbCB3aGVuCisgICAgICAgIGRlY2lkaW5nIHdoaWNoIGJvcmRlciB3aW5zIHRoZSBjb21wYXJp
c29uLiBUaGlzIHdpbGwgZW5zdXJlIHRoYXQgdGhlIHdpbm5pbmcgYm9yZGVyIGlzCiAgICAgICAg
IHNvcnRlZCB0byB0aGUgYXBwcm9wcmlhdGUgcG9zaXRpb24gaW4gdGhlIHNvcnRlZCBsaXN0IG9m
IGJvcmRlcnMgZm9yIHBhaW50aW5nLgogCiAgICAgICAgIFdoZW4gY29uZmxpY3RpbmcgY29sbGFw
c2VkIGJvcmRlcnMgYXJlIGluIHRoZSBzYW1lIGNlbGwsIHRoZSBmb2xsb3dpbmcgb3JkZXIgb2YK
QEAgLTg0MzU5LDcgKzg0Mzk0LDcgQEAKICAgICAgICAgICBib3JkZXItY29uZmxpY3QtZWxlbWVu
dC0wMDFkLmh0bQogICAgICAgICAgIGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAwMzcuaHRtCiAK
LSAgICAgICAgT25lIHRlc3QgaW4gdGhlIHN1aXRlIGlzIGtub3duIHRvIGJlIHdyb25nLCBzbyBh
IGNvcnJlY3RlZCB2ZXJzaW9uIGhhcyBiZWVuIGxhbmRlZCBvdXRzaWRlIHRoZSAKKyAgICAgICAg
T25lIHRlc3QgaW4gdGhlIHN1aXRlIGlzIGtub3duIHRvIGJlIHdyb25nLCBzbyBhIGNvcnJlY3Rl
ZCB2ZXJzaW9uIGhhcyBiZWVuIGxhbmRlZCBvdXRzaWRlIHRoZQogICAgICAgICBjc3MyLjEgZm9s
ZGVyOgogICAgICAgICAgIGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAwMi5odG0KIApAQCAtODQ1
MzUsMTMgKzg0NTcwLDEzIEBACiAgICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLWFkZC1y
ZW1vdmUtY3VlLmh0bWwKIAogICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjplbnN1cmVUcmFjayk6IEdvIGFoZWFk
IGFuZCBhbGxvY2F0ZSBhIFRyYWNrIGV2ZW4gaWYgdGhlIGZlYXR1cmUgCisgICAgICAgIChXZWJD
b3JlOjpIVE1MVHJhY2tFbGVtZW50OjplbnN1cmVUcmFjayk6IEdvIGFoZWFkIGFuZCBhbGxvY2F0
ZSBhIFRyYWNrIGV2ZW4gaWYgdGhlIGZlYXR1cmUKICAgICAgICAgICAgIGlzIGRpc2FibGVkLCBp
dCBqdXN0IHdvbid0IGxvYWQgYW55dGhpbmcuCiAgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tF
bGVtZW50OjpzY2hlZHVsZUxvYWQpOiBFYXJseSByZXR1cm4gaWYgdGhlIGZlYXR1ZSBpcyBkaXNh
YmxlZC4KICAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OmNhbkxvYWRVcmwpOiBE
aXR0by4KIAogICAgICAgICAqIGh0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwOgotICAgICAgICAo
V2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6Om5ld0N1ZXNBdmFpbGFibGUpOiBBZGQgbmV3IGN1
ZXMgb25lIGF0IGEgdGltZSBiZWNhdXNlIAorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0
VHJhY2s6Om5ld0N1ZXNBdmFpbGFibGUpOiBBZGQgbmV3IGN1ZXMgb25lIGF0IGEgdGltZSBiZWNh
dXNlCiAgICAgICAgICAgICBjdWVzLT5hZGQoVmVjdG9yPFRleHRUcmFja0N1ZSo+JikgaXMgZ29u
ZS4KIAogICAgICAgICAqIGh0bWwvVGV4dFRyYWNrLmNwcDoKQEAgLTg0NTU1LDcgKzg0NTkwLDcg
QEAKICAgICAgICAgKiBodG1sL1RleHRUcmFja0N1ZS5oOgogCiAgICAgICAgICogaHRtbC9UZXh0
VHJhY2tDdWVMaXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZUxpc3Q6OmFk
ZCk6IERvbid0IGlnbm9yZSBvdXQgb2Ygb3JkZXIgY3VlcywgdGhlIHNwZWMgdGV4dCBpcyBub3Qg
CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVMaXN0OjphZGQpOiBEb24ndCBpZ25vcmUg
b3V0IG9mIG9yZGVyIGN1ZXMsIHRoZSBzcGVjIHRleHQgaXMgbm90CiAgICAgICAgICAgICBhIGNv
bmZvcm1hbmNlIHJlcXVpcmVtZW50LiBSZXR1cm4gYm9vbCB0byBpbmRpY2F0ZSBzdWNjZXNzIG9y
IGZhaWx1cmUuCiAgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVMaXN0OjpyZW1vdmUpOiBS
ZXR1cm4gYm9vbCB0byBpbmRpY2F0ZSBzdWNjZXNzIG9yIGZhaWx1cmUuCiAgICAgICAgICogaHRt
bC9UZXh0VHJhY2tDdWVMaXN0Lmg6CkBAIC04NDYzMyw3ICs4NDY2OCw3IEBACiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3NAogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcgYW5kIE5pa29sYXMgWmltbWVybWFubi4KLSAgICAgICAg
CisKICAgICAgICAgUmVuZGVyU3R5bGUgb3ducyBhIGJ1bmNoIG9mIFN0eWxlSW1hZ2Ugb2JqZWN0
cy4gSG93ZXZlciBTdHlsZUdlbmVyYXRlZEltYWdlIGRvZXMgbm90IHJlZiB0aGUKICAgICAgICAg
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSBpdCBob2xkcyBzbyB3ZSBjdXJyZW50bHkgcmVseSBvbiB0
aGUgc3R5bGVzaGVldCB0byBrZWVwIHRoZSBDU1NJbWFnZUdlbmVyYXRvclZhbHVlcwogICAgICAg
ICBhbGl2ZSBhcyBsb25nIGFzIFJlbmRlclN0eWxlIHN0YXlzIGFsaXZlLiBXaGlsZSB0aGlzIHdv
cmtzIChSZW5kZXJTdHlsZXMgYXJlIHRocm93biBhd2F5IGlmIHN0eWxlc2hlZXRzCkBAIC04NTY1
Niw3ICs4NTY5MSw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCiAKICAg
ICAgICAgVGVzdDogZmFzdC9jc3MvZmlsbC1sYXllci1jcmFzaC5odG1sCi0gICAgICAgIAorCiAg
ICAgICAgIFdlIHNob3VsZCBjbGVhciB0aGUgaW1hZ2UgcG9pbnRlciB0b28sIG5vdCBqdXN0IHRo
ZSBtX2ltYWdlU2V0IGJpdC4KIAogICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIu
aDoKQEAgLTg1ODQzLDcgKzg1ODc4LDcgQEAKICAgICAgICAgd2FzIGNhbGxlZCBtX2dyYXBoaWNz
QnVmZmVyQXR0YWNoZWQgd2FzIHNldCB0byBmYWxzZSwgYnV0IHRoZSBtX3NvdXJjZUdyYXBoaWNC
dWZmZXIgd2FzCiAgICAgICAgIG5vdCByZWdlbmVyYXRlZCwgYmVjYXVzZSB0aGUgc2l6ZSB3YXMg
bm90IGludmFsaWRhdGVkLgogICAgICAgICAzLiBtYXhFZmZlY3RSZWN0cyB3ZXJlIG5vdCB1cGRh
dGVkIHdoZW4gYSBuZXcgbGlzdCBvZiBlZmZlY3RzIHdhcyBidWlsdC4KLSAgICAgICAgIAorCiAg
ICAgICAgIFRlc3Q6IGNzczMvZmlsdGVycy9jcmFzaC1maWx0ZXItY2hhbmdlLmh0bWwKIAogICAg
ICAgICAqIHJlbmRlcmluZy9GaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHA6CkBAIC04NjcyMiw3ICs4
Njc1Nyw3IEBACiAgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptYXRjaFVBUnVs
ZXMpOgogCiAyMDExLTExLTIxICBSb2IgQnJhY2tldHQgIDxyb2JAcm9iYnJhY2tldHQuY29tPgot
ICAgICAgICAKKwogICAgICAgICBJZiBhbiBldmVudCBsaXN0ZW5lciBpcyBhIGZ1bmN0aW9uLCBp
dCBzaG91bGQgYmUgY2FsbGVkIGFuZCBub3QgY2hlY2tlZCBmb3IgaGFuZGxlRXZlbnQuCiAgICAg
ICAgIFRoaXMgYWxzbyBjb3ZlcnMgY2FsbGJhY2tzLCB3aGljaCBmb2xsb3cgdGhlIHNhbWUgc3Bl
YyBidXQgYXJlIGltcGxlbWVudGVkIHNlcGFyYXRlbHkuCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjUxOApAQCAtODY5NzQsNyArODcwMDksNyBAQAog
CiAgICAgICAgIFtXSzJdW1F0XSBNb3ZlIEFjY2VsZXJhdGVkIENvbXBvc2l0ZSBhbmltYXRpb25z
IHRvIFVJUHJvY2VzcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzI3NTMKLSAgICAgICAgCisKICAgICAgICAgQWRkIGhlbHBlciBtZXRob2QgdG8gc3lu
Y2hyb25pemUgYW5pbWF0aW9ucyBpbiBUZXh0dXJlTWFwcGVyLgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE5vYW0gUm9zZW50aGFsLgpAQCAtODc0NjcsNyArODc1MDIsNyBAQAogMjAxMS0xMS0xOSAg
S2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbT4KIAogICAgICAgICBbd3hd
IEMrKyBiaW5kaW5ncyBidWlsZCBmaXggZm9yIG1vdmUgb2YgYXJyYXkgY2xhc3NlcyB0byBXVEYu
Ci0gICAgICAgIAorCiAgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yQ1BQ
LnBtOgogICAgICAgICAoR2V0Q1BQVHlwZUdldHRlcik6CiAgICAgICAgIChHZXROYW1lc3BhY2VG
b3JDbGFzcyk6CkBAIC04NzU1Niw3ICs4NzU5MSw3IEBACiAKICAgICAgICAgV2hlbiBsb2FkaW5n
IGEgTUhUTUwgZG9jdW1lbnQsIG1ha2Ugc3VyZSB3ZSBzZXQgdGhlIGJhc2UgVVJMIGJlZm9yZQog
ICAgICAgICB3ZSBub3RpZnkgdGhlIGZyYW1lIHdhcyBjb21taXR0ZWQgKHNvIHRoZSBkb2N1bWVu
dCBoYXMgdGhlIHJpZ2h0IGJhc2UKLSAgICAgICAgVVJMIHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBo
YXBwZW5zKS4gCisgICAgICAgIFVSTCB3aGVuIHRoZSBub3RpZmljYXRpb24gaGFwcGVucykuCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4OAogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkBAIC04Nzc2NSw3ICs4NzgwMCw3IEBACiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc3NAogCiAg
ICAgICAgIFJldmlld2VkIGJ5IENocmlzIE1hcnJpbi4KLSAgICAgICAgCisKICAgICAgICAgV2hl
biBhIHN0eWxlIGNoYW5nZSByZXN1bHRzIGluIGEgcmVmbGVjdGVkIGVsZW1lbnQgbG9zaW5nIGl0
cyBiYWNraW5nIHN0b3JlLAogICAgICAgICB3ZSBuZWVkIHRvIGNsZWFyIHRoZSBiYWNraW5nIHN0
b3JlcyBvbiB0aGUgbGF5ZXIgY2xvbmVzIGFzIHdlbGwuCiAKQEAgLTg3ODE0LDI2ICs4Nzg0OSwy
NiBAQAogMjAxMS0xMS0xOCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTUxCi0gICAgICAg
IFdoZW4gdGhlIHJlY29tbWVuZGVkIHNjcm9sbGJhciBzdHlsZSBjaGFuZ2VzLCBXS1ZpZXcncyB0
cmFja2luZyBvcHRpb25zIHNob3VsZCAKKyAgICAgICAgV2hlbiB0aGUgcmVjb21tZW5kZWQgc2Ny
b2xsYmFyIHN0eWxlIGNoYW5nZXMsIFdLVmlldydzIHRyYWNraW5nIG9wdGlvbnMgc2hvdWxkCiAg
ICAgICAgIGFkanVzdCBhY2NvcmRpbmdseQogICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCiAg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDQwOTMyOD4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KIAotICAgICAgICBUaGlzIG5ldyBDaHJvbWVDbGllbnQgZnVuY3Rpb24gaXMg
Y2FsbGVkIHdoZW4gdGhlIHJlY29tbWVuZGVkIHNjcm9sbGJhciBzdHlsZSAKLSAgICAgICAgY2hh
bmdlcy4gVGhpcyB3YXksIFdlYktpdCBjYW4gcmVzcG9uZCB0byB0aGUgY2hhbmdlIGJ5IGFkanVz
dGluZyBpdHMgbW91c2UgCisgICAgICAgIFRoaXMgbmV3IENocm9tZUNsaWVudCBmdW5jdGlvbiBp
cyBjYWxsZWQgd2hlbiB0aGUgcmVjb21tZW5kZWQgc2Nyb2xsYmFyIHN0eWxlCisgICAgICAgIGNo
YW5nZXMuIFRoaXMgd2F5LCBXZWJLaXQgY2FuIHJlc3BvbmQgdG8gdGhlIGNoYW5nZSBieSBhZGp1
c3RpbmcgaXRzIG1vdXNlCiAgICAgICAgIHRyYWNraW5nLgogICAgICAgICAqIHBhZ2UvQ2hyb21l
Q2xpZW50Lmg6CiAgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnJlY29tbWVuZGVkU2Ny
b2xsYmFyU3R5bGVEaWRDaGFuZ2UpOgogCi0gICAgICAgIEV4aXN0aW5nIFNjcm9sbGFibGVBcmVh
IGZ1bmN0aW9uIHNjcm9sbGJhclN0eWxlQ2hhbmdlZCgpIG5vdyB0YWtlcyBhbiBpbnQgCi0gICAg
ICAgIGluZGljYXRpbmcgdGhlIG5ldyBzY3JvbGxiYXIgc3R5bGUgYW5kIGEgYm9vbCBpbmRpY2F0
aW5nIHdoZXRoZXIgaXQgaXMgbmVjZXNzYXJ5IAotICAgICAgICB0byBmb3JjZSBhbiB1cGRhdGUu
IEl0IHVzZWQgdG8gYmUgdGhlIGNhc2UgdGhhdCB0aGlzIGZ1bmN0aW9uIHdhcyBPTkxZIHVzZWQg
dG8gCi0gICAgICAgIGZvcmNlIGFuIHVwZGF0ZSAoYW5kIG9ubHkgY2FsbGVkIHdoZW4gYW4gdXBk
YXRlZCB3YXMgbmVlZGVkKSwgYnV0IG5vdyB0aGF0IGl0IG11c3QgCi0gICAgICAgIGFsc28gY2Fs
bCBpbnRvIHRoZSBDaHJvbWVDbGllbnQsIGl0IGlzIG5lY2Vzc2FyeSB0byBpbmNsdWRlIGEgYm9v
bCB0cmFja2luZyAKLSAgICAgICAgd2hldGhlciB3ZSBuZWVkIHRvIGZvcmNlIGFuIHVwZGF0ZS4g
TmV3IGltcGxlbWVudGF0aW9uIG9uIEZyYW1lVmlldyBpcyByZXNwb25zaWJsZSAKLSAgICAgICAg
Zm9yIGNhbGxpbmcgQ2hyb21lQ2xpZW50LCBhbmQgdGhlbiB0aGF0IGNhbGxzIGludG8gdGhlIHBy
ZS1leGlzdGluZyBTY3JvbGxWaWV3IAorICAgICAgICBFeGlzdGluZyBTY3JvbGxhYmxlQXJlYSBm
dW5jdGlvbiBzY3JvbGxiYXJTdHlsZUNoYW5nZWQoKSBub3cgdGFrZXMgYW4gaW50CisgICAgICAg
IGluZGljYXRpbmcgdGhlIG5ldyBzY3JvbGxiYXIgc3R5bGUgYW5kIGEgYm9vbCBpbmRpY2F0aW5n
IHdoZXRoZXIgaXQgaXMgbmVjZXNzYXJ5CisgICAgICAgIHRvIGZvcmNlIGFuIHVwZGF0ZS4gSXQg
dXNlZCB0byBiZSB0aGUgY2FzZSB0aGF0IHRoaXMgZnVuY3Rpb24gd2FzIE9OTFkgdXNlZCB0bwor
ICAgICAgICBmb3JjZSBhbiB1cGRhdGUgKGFuZCBvbmx5IGNhbGxlZCB3aGVuIGFuIHVwZGF0ZWQg
d2FzIG5lZWRlZCksIGJ1dCBub3cgdGhhdCBpdCBtdXN0CisgICAgICAgIGFsc28gY2FsbCBpbnRv
IHRoZSBDaHJvbWVDbGllbnQsIGl0IGlzIG5lY2Vzc2FyeSB0byBpbmNsdWRlIGEgYm9vbCB0cmFj
a2luZworICAgICAgICB3aGV0aGVyIHdlIG5lZWQgdG8gZm9yY2UgYW4gdXBkYXRlLiBOZXcgaW1w
bGVtZW50YXRpb24gb24gRnJhbWVWaWV3IGlzIHJlc3BvbnNpYmxlCisgICAgICAgIGZvciBjYWxs
aW5nIENocm9tZUNsaWVudCwgYW5kIHRoZW4gdGhhdCBjYWxscyBpbnRvIHRoZSBwcmUtZXhpc3Rp
bmcgU2Nyb2xsVmlldwogICAgICAgICBmdW5jdGlvbiBmb3IgdGhlIGZvcmNlVXBkYXRlIHBhcnQu
CiAgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgogICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjpzY3JvbGxiYXJTdHlsZUNoYW5nZWQpOgpAQCAtODc4ODIsNyArODc5MTcsNyBAQAogICAg
ICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgogCiAgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMg
dGhlIHByb2JsZW0gaW4gTWFjIGFuZCBDaHJvbWl1bSBNYWMuCi0gICAKKwogICAgICAgICBUaGUg
ZXhpc3RpbmcgdGVzdCBmYXN0L2RvbS9ydGwtc2Nyb2xsLXRvLWxlZnRtb3N0LWFuZC1yZXNpemUu
aHRtbCBzZWVtcyBkb2VzIG5vdCByZWFsbHkgd29yayBpbiBNYWMgRFJUCiAgICAgICAgICh0aGUg
YnJvd3N3ZXIgd2luZG93IGlzIG5vdCByZXNpemVkKS4gSXQgd29ya3MgaW4gQ2hyb21pdW0tTWFj
LiBBbmQgQ2hyb21pdW0tTWFjJ3MgY29kZQogICAgICAgICBpcyBmb3JrZWQgZnJvbSBNYWMuCkBA
IC04NzkyOCw3ICs4Nzk2Myw3IEBACiAgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvYWNjZXNzLWtl
eS1mb3ItYWxsLWVsZW1lbnRzLmh0bWwKIAogICAgICAgICAqIGJpbmRpbmdzL29iamMvUHVibGlj
RE9NSW50ZXJmYWNlcy5oOiBNb3ZlZCBwcm9wZXJ0aWVzIGZvcm0gc3ViY2xhc3MgdG8gYmFzZSBj
bGFzcy4KLSAgICAgICAgKiBodG1sL0Jhc2VCdXR0b25JbnB1dFR5cGUuY3BwOiAKKyAgICAgICAg
KiBodG1sL0Jhc2VCdXR0b25JbnB1dFR5cGUuY3BwOgogICAgICAgICAoV2ViQ29yZTo6QmFzZUJ1
dHRvbklucHV0VHlwZTo6YWNjZXNzS2V5QWN0aW9uKTogUmVuYW1lZCB2YXJpYWJsZSBzZW5kVG9B
bnlFbGVtZW50IHRvIHNlbmRNb3VzZUV2ZW50cy4KICAgICAgICAgKiBodG1sL0Jhc2VCdXR0b25J
bnB1dFR5cGUuaDogRGl0dG8KICAgICAgICAgKiBodG1sL0Jhc2VDaGVja2FibGVJbnB1dFR5cGUu
Y3BwOgpAQCAtODc5ODQsMTIgKzg4MDE5LDEyIEBACiAgICAgICAgIEdyYXBoaWNzTGF5ZXJDQSBj
b250YWlucyBhICJsaW5rZWQgb24gb3IgYWZ0ZXIiIGNoZWNrIHRvIGFjY291bnQgZm9yIGEgYnVn
IGluCiAgICAgICAgIENvcmUgQW5pbWF0aW9uIG9uIFNub3dMZW9wYXJkIGFuZCBlYXJsaWVyLCB3
aGljaCBpcyB0aGF0IENBIHdvdWxkIGFwcGx5IHRoZSBsaXN0CiAgICAgICAgIG9mIGFuaW1hdGlv
bnMgaW4gcmV2ZXJzZSBvcmRlci4KLSAgICAgICAgCisKICAgICAgICAgT3VyIHByZXZpb3VzIGZp
eCB3YXMgaW5jb3JyZWN0LCBiZWNhdXNlIGl0IG9ubHkgYWRqdXN0ZWQgdGhlICdhZGRpdGl2ZScg
cHJvcGVydHkKICAgICAgICAgb2YgdGhlIGFuaW1hdGlvbiBsaXN0IGJhc2VkIG9uIG9yZGVyaW5n
LCByYXRoZXIgdGhhbiBmbGlwcGluZyB0aGUgZW50aXJlIGxpc3QuCiAgICAgICAgIFRoaXMgY2hh
bmdlIHJldmVyc2VzIHRoZSBsaXN0IG9mIGFuaW1hdGlvbnMgYmVmb3JlIGdpdmluZyB0aGVtIHRv
IENBLCB3aGljaCBmaXhlcwogICAgICAgICB0aGUgYnVnLgotICAgICAgICAgICAgICAgIAorCiAg
ICAgICAgIFRlc3Q6IGFuaW1hdGlvbnMvYWRkaXRpdmUtdHJhbnNmb3JtLWFuaW1hdGlvbnMuaHRt
bAogCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoK
QEAgLTg4MTEzLDkgKzg4MTQ4LDkgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tz
b24uCiAKLSAgICAgICAgQWRkZWQgcGFyc2luZyBhbmQgY29tcHV0ZWQgc3R5bGUgZm9yIHRoZSBt
ZXNoIHJvd3MsIGNvbHVtbnMsIG1lc2ggYm94IHR5cGUgCisgICAgICAgIEFkZGVkIHBhcnNpbmcg
YW5kIGNvbXB1dGVkIHN0eWxlIGZvciB0aGUgbWVzaCByb3dzLCBjb2x1bW5zLCBtZXNoIGJveCB0
eXBlCiAgICAgICAgIChmaWx0ZXItYm94LCBib3JkZXItYm94LCBjb250ZW50LWJveCBhbmQgcGFk
ZGluZy1ib3gpIGFuZCB0aGUgZGV0YWNoZWQgbW9kZS4KLSAgICAgICAgCisKICAgICAgICAgQWxz
byBmaXhlZCBhIGNhc2Ugd2hlcmUgImN1c3RvbShub25lLCAxMCwgMTAgZmlsdGVyLWJveCkiIHdh
cyBpbmNvcnJlY3RseQogICAgICAgICB0cmVhdGVkIGFzICJjdXN0b20obm9uZSwgMTApIi4KIApA
QCAtODg5NDcsNyArODg5ODIsNyBAQAogICAgICAgICBjYW4gY3JlYXRlIGNvbmZ1c2lvbiBhYm91
dCB3aG8gdGhlIGNvbnRlbnQgYmVsb25ncyB0by4KIAogICAgICAgICBUaGlzIHBhdGNoIGFsc28g
c2ltcGxpZmllcyBzb21lIGV4aXN0aW5nIGNvZGUgZm9yIGZpbmRpbmcgcHNldWRvZWxlbWVudAot
ICAgICAgICByZW5kZXJlcnMuIAorICAgICAgICByZW5kZXJlcnMuCiAKICAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwOgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFk
ZENoaWxkSWdub3JpbmdBbm9ueW1vdXNDb2x1bW5CbG9ja3MpOgpAQCAtODg5ODYsNyArODkwMjEs
NyBAQAogCiAgICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLXRleHR0cmFja3MuaHRtbAog
Ci0gICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgVGV4dFRy
YWNrLmggdG8gV2ViQ29yZSBwcml2YXRlIGhlYWRlcnMgYmVjYXVzZSAKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBUZXh0VHJhY2suaCB0byBXZWJDb3Jl
IHByaXZhdGUgaGVhZGVycyBiZWNhdXNlCiAgICAgICAgICAgICBpdCBpcyBpbmNsdWRlZCBieSBI
VE1MTWVkaWFFbGVtZW50LmguCiAgICAgICAgICogaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5jcHA6
CiAgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6TG9hZGFibGVUZXh0VHJhY2sp
OiBQYXNzIHRyYWNrIHR5cGUgdG8gYmFzZSBjbGFzcyBjb25zdHJ1Y3Rvci4KQEAgLTg5NjcwLDcg
Kzg5NzA1LDcgQEAKICAgICAgICAgQWRkIGEgcGVuZGluZyBzdGF0ZSB0byBDU1NJbWFnZUdlbmVy
YXRvclZhbHVlLCB3aGljaCBpcyB1c2VkIHRvIGVuYWJsZSB0aGUgcGVuZGluZy1pbWFnZXMgbG9h
ZGluZwogICAgICAgICBtZWNoYW5pc20gZm9yIC13ZWJraXQtY3Jvc3MtZmFkZSdzIHN1Yi1pbWFn
ZXMuIFJld29yayB0aGUgbG9naWMgaW4gQ1NTU3R5bGVTZWxlY3RvciB0byBzdXBwb3J0IHBlbmRp
bmcKICAgICAgICAgZ2VuZXJhdGVkIGltYWdlcy4KLSAgICAgICAgCisKICAgICAgICAgU3VwcG9y
dCBwYXJzaW5nIGZyYWN0aW9uYWwgdmFsdWVzIGZvciB0aGUgY3Jvc3MtZmFkZSBhbW91bnQgKGZv
ciBleGFtcGxlLCAwLjUgPSA1MCUpLiBDbGFtcCBjcm9zcy1mYWRlCiAgICAgICAgIGFtb3VudCB0
byAwLTEgcmFuZ2UuCiAKQEAgLTg5ODEzLDcgKzg5ODQ4LDcgQEAKICAgICAgICAgd3JhcHBlcnMg
YW5kIGluc3RlYWQgdXNlIGEgcmF3IHBvaW50ZXIuIFdlIHdlcmUgYWxyZWFkeSByZWxlYXNpbmcK
ICAgICAgICAgdGhlIHVuZGVybHlpbmcgb2JqZWN0IGJlZm9yZSB0aGUgZGVzdHJ1Y3RvciByYW4g
KHZpYSB0aGUgZmluYWxpemVyKQogICAgICAgICBzbyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBk
ZXN0cm95aW5nIHRoZSBSZWZQdHIgaXMgYWx3YXlzIHVubmVjZXNzYXJ5Ci0gICAgICAgIGJ1c3kg
d29yay4gCisgICAgICAgIGJ1c3kgd29yay4KIAogICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NT
VmFsdWVDdXN0b20uY3BwOgogICAgICAgICAoV2ViQ29yZTo6SlNDU1NWYWx1ZU93bmVyOjpmaW5h
bGl6ZSk6CkBAIC05MDA5NCwzMSArOTAxMjksMzEgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KIAotICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGl0IHNvIHdlIHRyYWNrIHRo
ZSBtb3VzZSBhbGwgdGhlIHRpbWUgd2hlbiB3ZSBoYXZlIGxlZ2FjeSAKLSAgICAgICAgc2Nyb2xs
YmFycyAocmF0aGVyIHRoYW4gb25seSB0cmFja2luZyB0aGUgbW91c2Ugd2hlbiB0aGUgd2luZG93
IGlzIGtleSkuIFdoZW4gCi0gICAgICAgIHdlJ3JlIGluIHRoYXQgbW9kZSwgd2Ugd2FudCB0byBk
byBhcyBsaXR0bGUgd29yayBhcyBwb3NzaWJsZSB3aGVuIGhhbmRsaW5nIHRoZSAKLSAgICAgICAg
bW91c2VNb3ZlZCBldmVudCBzbyB0aGF0IHRoaXMgZXh0cmEgdHJhY2tpbmcgaGFzIGxpdHRsZSB0
byBubyBwZXJmb3JtYW5jZSBpbXBhY3QuIAotICAgICAgICBBbHNvLCB3ZSBkb24ndCB3YW50IHRv
IGNoYW5nZSBiYXNpYyBiZWhhdmlvcnMgYnkgaGF2aW5nIG5vcm1hbCB3ZWIgY29udGVudCBob3Zl
ciAKLSAgICAgICAgZWZmZWN0cyBzdGFydCBoYXBwZW5pbmcgd2hlbiBhIHdpbmRvdyBpcyBpbiB0
aGUgYmFja2dyb3VuZC4gU28gdGhpcyBwYXRjaCBhbHNvIAorICAgICAgICBUaGlzIHBhdGNoIG1h
a2VzIGl0IHNvIHdlIHRyYWNrIHRoZSBtb3VzZSBhbGwgdGhlIHRpbWUgd2hlbiB3ZSBoYXZlIGxl
Z2FjeQorICAgICAgICBzY3JvbGxiYXJzIChyYXRoZXIgdGhhbiBvbmx5IHRyYWNraW5nIHRoZSBt
b3VzZSB3aGVuIHRoZSB3aW5kb3cgaXMga2V5KS4gV2hlbgorICAgICAgICB3ZSdyZSBpbiB0aGF0
IG1vZGUsIHdlIHdhbnQgdG8gZG8gYXMgbGl0dGxlIHdvcmsgYXMgcG9zc2libGUgd2hlbiBoYW5k
bGluZyB0aGUKKyAgICAgICAgbW91c2VNb3ZlZCBldmVudCBzbyB0aGF0IHRoaXMgZXh0cmEgdHJh
Y2tpbmcgaGFzIGxpdHRsZSB0byBubyBwZXJmb3JtYW5jZSBpbXBhY3QuCisgICAgICAgIEFsc28s
IHdlIGRvbid0IHdhbnQgdG8gY2hhbmdlIGJhc2ljIGJlaGF2aW9ycyBieSBoYXZpbmcgbm9ybWFs
IHdlYiBjb250ZW50IGhvdmVyCisgICAgICAgIGVmZmVjdHMgc3RhcnQgaGFwcGVuaW5nIHdoZW4g
YSB3aW5kb3cgaXMgaW4gdGhlIGJhY2tncm91bmQuIFNvIHRoaXMgcGF0Y2ggYWxzbwogICAgICAg
ICBpbnRyb2R1Y2VzIGEgd2F5IHRvIGhhbmRsZSBhIG1vdXNlTW92ZWQgZXZlbnQgdGhhdCB3aWxs
IG9ubHkgYWZmZWN0IHNjcm9sbGJhcnMuCiAKLSAgICAgICAgRXZlbnRIYW5kbGVyOjptb3VzZU1v
dmVkKCkgYW5kIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VFdmVudCgpIGJvdGggbm93IHRha2Ug
YSAKLSAgICAgICAgYm9vbGVhbiBwYXJhbWV0ZXIgdGhhdCBpbmRpY2F0ZXMgaWYgd2UgYXJlIG9u
bHkgdXBkYXRpbmcgc2Nyb2xsYmFycy4gSWYgdGhhdCBpcyAKLSAgICAgICAgdGhlIGNhc2UsIHRo
ZW4gd2UgbWFrZSBvdXIgSGl0VGVzdFJlcXVlc3QgUmVhZE9ubHksIGFuZCB3ZSByZXR1cm4gZWFy
bHkgb25jZSAKKyAgICAgICAgRXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKCkgYW5kIEV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VFdmVudCgpIGJvdGggbm93IHRha2UgYQorICAgICAgICBib29sZWFu
IHBhcmFtZXRlciB0aGF0IGluZGljYXRlcyBpZiB3ZSBhcmUgb25seSB1cGRhdGluZyBzY3JvbGxi
YXJzLiBJZiB0aGF0IGlzCisgICAgICAgIHRoZSBjYXNlLCB0aGVuIHdlIG1ha2Ugb3VyIEhpdFRl
c3RSZXF1ZXN0IFJlYWRPbmx5LCBhbmQgd2UgcmV0dXJuIGVhcmx5IG9uY2UKICAgICAgICAgdXBk
YXRlTGFzdFNjcm9sbGJhclVuZGVyTW91c2UoKSBpcyBjYWxsZWQuCiAgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CiAgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgogICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKToKICAgICAgICAgKFdlYkNvcmU6OkV2ZW50
SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOgogCi0gICAgICAgIEluIGFkZGl0aW9uIHRv
IGNhbGxpbmcgU2Nyb2xsYmFyOjptb3VzZUV4aXRlZCgpIHdoZW4gYXBwcm9wcmlhdGUsIHRoaXMg
ZnVuY3Rpb24gCi0gICAgICAgIG5vdyBjYWxscyBhIG5ldyBmdW5jdGlvbiwgU2Nyb2xsYmFyOjpt
b3VzZUVudGVyZWQoKSB3aGVuIGFwcHJvcHJpYXRlLiAKKyAgICAgICAgSW4gYWRkaXRpb24gdG8g
Y2FsbGluZyBTY3JvbGxiYXI6Om1vdXNlRXhpdGVkKCkgd2hlbiBhcHByb3ByaWF0ZSwgdGhpcyBm
dW5jdGlvbgorICAgICAgICBub3cgY2FsbHMgYSBuZXcgZnVuY3Rpb24sIFNjcm9sbGJhcjo6bW91
c2VFbnRlcmVkKCkgd2hlbiBhcHByb3ByaWF0ZS4KICAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6dXBkYXRlTGFzdFNjcm9sbGJhclVuZGVyTW91c2UpOgogICAgICAgICAqIHBhZ2UvRXZl
bnRIYW5kbGVyLmg6CiAKLSAgICAgICAgU2Nyb2xsYmFyOjptb3VzZU1vdmVkKCkgdXNlZCB0byBi
ZSByZXNwb25zaWJsZSBmb3IgY2FsbGluZyAKLSAgICAgICAgU2Nyb2xsQW5pbWF0b3I6Om1vdXNl
RW50ZXJlZFNjcm9sbGJhcigpLCBidXQgbm93IFNjcm9sbGJhcjo6bW91c2VFbnRlcmVkKCkgdGFr
ZXMgCi0gICAgICAgIGNhcmUgb2YgdGhhdCBpbnN0ZWFkLCBtdWNoIGxpa2UgaG93IFNjcm9sbGJh
cjo6bW91c2VFeGl0ZWQoKSB0YWtlcyBjYXJlIG9mIGNhbGxpbmcgCisgICAgICAgIFNjcm9sbGJh
cjo6bW91c2VNb3ZlZCgpIHVzZWQgdG8gYmUgcmVzcG9uc2libGUgZm9yIGNhbGxpbmcKKyAgICAg
ICAgU2Nyb2xsQW5pbWF0b3I6Om1vdXNlRW50ZXJlZFNjcm9sbGJhcigpLCBidXQgbm93IFNjcm9s
bGJhcjo6bW91c2VFbnRlcmVkKCkgdGFrZXMKKyAgICAgICAgY2FyZSBvZiB0aGF0IGluc3RlYWQs
IG11Y2ggbGlrZSBob3cgU2Nyb2xsYmFyOjptb3VzZUV4aXRlZCgpIHRha2VzIGNhcmUgb2YgY2Fs
bGluZwogICAgICAgICB0aGUgYW5pbWF0b3IncyBleGl0IGZ1bmN0aW9uLgogICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbGJhci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6Om1vdXNl
TW92ZWQpOgpAQCAtOTA2NDYsNyArOTA2ODEsNyBAQAogCiAgICAgICAgIE5vIG5ldyB0ZXN0cy4K
IAotICAgICAgICBBZGRlZCBjbGVhcmluZyBvZiBpbXBsIFJlZlB0cnMgdG8gSlMgRE9NIHdyYXBw
ZXIgbm9kZXMgYW5kIHJlbW92ZWQgdGhlIGRlZmF1bHQgCisgICAgICAgIEFkZGVkIGNsZWFyaW5n
IG9mIGltcGwgUmVmUHRycyB0byBKUyBET00gd3JhcHBlciBub2RlcyBhbmQgcmVtb3ZlZCB0aGUg
ZGVmYXVsdAogICAgICAgICB3cmFwcGVyT3duZXIgZnVuY3Rpb24gaW4gZmF2b3Igb2YgZ2VuZXJh
dGluZyBhbGwgV2Vha0hhbmRsZU93bmVycyBhbmQgd3JhcHBlck93bmVyIGZ1bmN0aW9ucy4KIAog
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NTVmFsdWVDdXN0b20uY3BwOgpAQCAtOTEyOTUsNyAr
OTEzMzAsNyBAQAogMjAxMS0xMS0xNSAgRXVnZW5lIE5hbGltb3YgIDxlbmFsQGdvb2dsZS5jb20+
CiAKICAgICAgICAgRXZlbnQgbGlzdGVuZXIgZm9yIGFjdGl2ZSBET00gb2JqZWN0IHRoYXQgaXMg
YWxzbyBET00gbm9kZSBjYW4gYmUgZ2FyYmFnZSBjb2xsZWN0ZWQgcHJlbWF0dXJlbHkuCi0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyMSAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDIxCiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KIApAQCAtOTEzNjgsNyArOTE0MDMsNyBAQAogICAg
ICAgICBSZW5hbWUgaW52YWxpZGF0ZVdpbmRvdyB0byBpbnZhbGlkYXRlUm9vdFZpZXcsIGFuZCBp
bnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3cKICAgICAgICAgdG8gaW52YWxpZGF0ZUNvbnRlbnRz
QW5kUm9vdFZpZXcuIE1ha2Ugc3VyZSB0aGF0IHRoZSByZWN0cyBwYXNzZWQgdG8gdGhlIHJlbmFt
ZWQgZnVuY3Rpb25zCiAgICAgICAgIGFyZSBpbiByb290IHZpZXcgY29vcmRpbmF0ZXMgYnkgY2hh
bmdpbmcgY29udGVudHNUb1dpbmRvdyBjYWxscyB0byBjb250ZW50c1RvUm9vdFZpZXcuCi0gICAg
ICAgIAorCiAgICAgICAgIEluIHByYWN0aWNlIHRoaXMgZG9lc24ndCBtYXR0ZXIgYmVjYXVzZSBm
b3IgYWxsIHBsYXRmb3JtcyBleGNlcHQgTWFjIFdlYktpdDEsIHJvb3QgdmlldyBjb29yZGluYXRl
cwogICAgICAgICBhbmQgd2luZG93IGNvb3JkaW5hdGVzIGFyZSBlcXVpdmFsZW50LCBhbmQgTWFj
IFdlYktpdDEgZG9lc24ndCB1c2UgdGhlc2UgaW52YWxpZGF0aW9uIGZ1bmN0aW9ucy4KIApAQCAt
OTE0NDAsNyArOTE0NzUsNyBAQAogICAgICAgICBUaGlzIGdlbmVyYXRlcyBjb3JyZWN0IG91dHB1
dCAob3IsIGF0IGxlYXN0LAogICAgICAgICBjb25zaXN0ZW50IHdpdGggQ2hyb21pdW0gQ0cgb24g
TWFjKSBmb3IgYWxsIHZlcnRpY2FsCiAgICAgICAgIHRleHQgdGVzdHMsIG9uZSBvZiB3aGljaCBp
cyBtZW50aW9uZWQgYmVsb3cuCi0gICAgICAgIAorCiAgICAgICAgIFJldmlld2VkIGJ5IFN0ZXBo
ZW4gV2hpdGUuCiAKICAgICAgICAgVGVzdDogZmFzdC93cml0aW5nLW1vZGUvdGV4dC1vcmllbnRh
dGlvbi1iYXNpYy5odG1sCkBAIC05MTcwMCw3ICs5MTczNSw3IEBACiAgICAgICAgICogQ2hhbmdl
TG9nLTIwMTAtMDUtMjQ6CiAKIDIwMTEtMTEtMTQgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29v
Z2xlLmNvbT4KLSAgICAgICAgCisKICAgICAgICAgW1Y4XVtDaHJvbWl1bV1TZXJpYWxpemUgZGVu
c2UgYXJyYXlzIGRlbnNseQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzIxOTgKICAgICAgICAgVGhpcyBwYXRjaCBlbnN1cmVzIHRoYXQ6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlh
bEJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNr
YmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggYWNhY2MzNzg5MjJjN2ZiZThi
OTAwMDlmYTcwNTUxZTcxODU1YmFiMi4uNDJmOTIwYWI0NGJiNTZjM2Q0NGIxNjMxMzhiYjg2MTQ2
NzNmN2E5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFj
a2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcApAQCAt
MjIsMTUgKzIyLDE2IEBACiAjaW5jbHVkZSAiQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oIgogCiAj
aW5jbHVkZSAiQ3JlZGVudGlhbFN0b3JhZ2UuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAj
aW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAi
UHJvdGVjdGlvblNwYWNlSGFzaC5oIgogI2luY2x1ZGUgIlNRTGl0ZVN0YXRlbWVudC5oIgotI2lu
Y2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgorI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybUNs
aWVudC5oPgogCiAjZGVmaW5lIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHN0YXRlbWVudCwgcmV0
dXJuVmFsdWUsIC4uLikgXAogICAgIGlmIChzdGF0ZW1lbnQpIHsgXAotICAgICAgICBMT0dfRVJS
T1IoX19WQVJfQVJHU19fKTsgXAorICAgICAgICBMT0dfRVJST1IoX19WQV9BUkdTX18pOyBcCiAg
ICAgICAgIHJldHVybiByZXR1cm5WYWx1ZTsgXAogICAgIH0KIApAQCAtMzksMTcgKzQwLDIzIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIENyZWRlbnRpYWxCYWNraW5nU3RvcmUqIENyZWRlbnRpYWxC
YWNraW5nU3RvcmU6Omluc3RhbmNlKCkKIHsKICAgICBzdGF0aWMgQ3JlZGVudGlhbEJhY2tpbmdT
dG9yZSogYmFja2luZ1N0b3JlID0gMDsKLSAgICBpZiAoIWJhY2tpbmdTdG9yZSkKKyAgICBpZiAo
IWJhY2tpbmdTdG9yZSkgewogICAgICAgICBiYWNraW5nU3RvcmUgPSBuZXcgQ3JlZGVudGlhbEJh
Y2tpbmdTdG9yZTsKKyAgICAgICAgYmFja2luZ1N0b3JlLT5vcGVuKHBhdGhCeUFwcGVuZGluZ0Nv
bXBvbmVudChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0QXBwbGljYXRp
b25EYXRhRGlyZWN0b3J5KCkuY19zdHIoKSwgIi9jcmVkZW50aWFscy5kYiIpKTsKKyAgICB9CiAg
ICAgcmV0dXJuIGJhY2tpbmdTdG9yZTsKIH0KIAogQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Q3Jl
ZGVudGlhbEJhY2tpbmdTdG9yZSgpCi0gICAgOiBtX2FkZFN0YXRlbWVudCgwKQotICAgICwgbV91
cGRhdGVTdGF0ZW1lbnQoMCkKLSAgICAsIG1faGFzU3RhdGVtZW50KDApCi0gICAgLCBtX2dldFN0
YXRlbWVudCgwKQotICAgICwgbV9yZW1vdmVTdGF0ZW1lbnQoMCkKKyAgICA6IG1fYWRkTG9naW5T
dGF0ZW1lbnQoMCkKKyAgICAsIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1faGFz
TG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1fZ2V0TG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1f
cmVtb3ZlTG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVu
dCgwKQorICAgICwgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50KDApCisgICAgLCBtX2dldE5l
dmVyUmVtZW1iZXJTdGF0ZW1lbnQoMCkKKyAgICAsIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRl
bWVudCgwKQogewogfQogCkBAIC03MSw2OSArNzgsNzkgQEAgYm9vbCBDcmVkZW50aWFsQmFja2lu
Z1N0b3JlOjpvcGVuKGNvbnN0IFN0cmluZyYgZGJQYXRoKQogICAgICAgICAgICAgZmFsc2UsICJG
YWlsZWQgdG8gY3JlYXRlIHRhYmxlIGxvZ2lucyBmb3IgbG9naW4gZGF0YWJhc2UiKTsKIAogICAg
ICAgICAvLyBDcmVhdGUgaW5kZXggZm9yIHRhYmxlIGxvZ2lucy4KLSAgICAgICAgSEFORExFX1NR
TF9FWEVDX0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBs
b2dpbnNfc2lnbm9uIE9OIGxvZ2lucyAoaG9zdCkiKSwKKyAgICAgICAgSEFORExFX1NRTF9FWEVD
X0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBsb2dpbnNf
aW5kZXggT04gbG9naW5zIChob3N0KSIpLAogICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8g
Y3JlYXRlIGluZGV4IGZvciB0YWJsZSBsb2dpbnMiKTsKLSAgICB9IGVsc2UgeyAvLyBJbml0aWF0
ZSBDcmVkZW50aWFsU3RvcmFnZS4KLSAgICAgICAgU1FMaXRlU3RhdGVtZW50IHF1ZXJ5KG1fZGF0
YWJhc2UsICJTRUxFQ1Qgb3JpZ2luX3VybCwgaG9zdCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFs
bSwgYXV0aF9zY2hlbWUsIHVzZXJuYW1lLCBwYXNzd29yZCBGUk9NIGxvZ2lucyIpOwotICAgICAg
ICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShxdWVyeS5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ss
Ci0gICAgICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIHF1ZXJ5IHN0YXRlbWVudCB0
byBpbml0aWF0ZSBDcmVkZW50aWFsU3RvcmFnZSIpOwotCi0gICAgICAgIGludCByZXN1bHQgPSBx
dWVyeS5zdGVwKCk7Ci0gICAgICAgIHdoaWxlIChyZXN1bHQgPT0gU1FMUmVzdWx0Um93KSB7Ci0g
ICAgICAgICAgICBTdHJpbmcgc3RyVXJsID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgxKTsKLSAgICAg
ICAgICAgIFN0cmluZyBzdHJIb3N0ID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgyKTsKLSAgICAgICAg
ICAgIGludCBpbnRQb3J0ID0gcXVlcnkuZ2V0Q29sdW1uSW50KDMpOwotICAgICAgICAgICAgUHJv
dGVjdGlvblNwYWNlU2VydmVyVHlwZSBzZXJ2aWNlVHlwZSA9IHN0YXRpY19jYXN0PFByb3RlY3Rp
b25TcGFjZVNlcnZlclR5cGU+KHF1ZXJ5LmdldENvbHVtbkludCg0KSk7Ci0gICAgICAgICAgICBT
dHJpbmcgc3RyUmVhbG0gPSBxdWVyeS5nZXRDb2x1bW5UZXh0KDUpOwotICAgICAgICAgICAgUHJv
dGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aFNjaGVtZSA9IHN0YXRpY19jYXN0
PFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lPihxdWVyeS5nZXRDb2x1bW5JbnQo
NikpOwotICAgICAgICAgICAgU3RyaW5nIHN0clVzZXJOYW1lID0gcXVlcnkuZ2V0Q29sdW1uVGV4
dCg3KTsKLSAgICAgICAgICAgIFN0cmluZyBzdHJQYXNzd29yZCA9IGRlY3J5cHRlZFN0cmluZyhx
dWVyeS5nZXRDb2x1bW5UZXh0KDgpKTsKLQotICAgICAgICAgICAgS1VSTCB1cmwoUGFyc2VkVVJM
U3RyaW5nLCBzdHJVcmwpOwotICAgICAgICAgICAgUHJvdGVjdGlvblNwYWNlIHByb3RlY3Rpb25T
cGFjZShzdHJIb3N0LCBpbnRQb3J0LCBzZXJ2aWNlVHlwZSwgc3RyUmVhbG0sIGF1dGhTY2hlbWUp
OwotICAgICAgICAgICAgQ3JlZGVudGlhbCBjcmVkZW50aWFsKHN0clVzZXJOYW1lLCBzdHJQYXNz
d29yZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50KTsKLSAgICAgICAgICAgIENyZWRl
bnRpYWxTdG9yYWdlOjpzZXQoY3JlZGVudGlhbCwgcHJvdGVjdGlvblNwYWNlLCB1cmwpOwotCi0g
ICAgICAgICAgICByZXN1bHQgPSBxdWVyeS5zdGVwKCk7Ci0gICAgICAgIH0KKyAgICB9CisKKyAg
ICBpZiAoIW1fZGF0YWJhc2UudGFibGVFeGlzdHMoIm5ldmVyX3JlbWVtYmVyIikpIHsKKyAgICAg
ICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNS
RUFURSBUQUJMRSBuZXZlcl9yZW1lbWJlciAob3JpZ2luX3VybCBWQVJDSEFSIE5PVCBOVUxMLCBo
b3N0IFZBUkNIQVIgTk9UIE5VTEwsIHBvcnQgSU5URUdFUiwgc2VydmljZV90eXBlIElOVEVHRVIg
Tk9UIE5VTEwsIHJlYWxtIFZBUkNIQVIsIGF1dGhfc2NoZW1lIElOVEVHRVIgTk9UIE5VTEwpICIp
LAorICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gY3JlYXRlIHRhYmxlIG5ldmVyX3JlbWVt
YmVyIGZvciBsb2dpbiBkYXRhYmFzZSIpOworCisgICAgICAgIC8vIENyZWF0ZSBpbmRleCBmb3Ig
dGFibGUgbmV2ZXJfcmVtZW1iZXIuCisgICAgICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKCFt
X2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKCJDUkVBVEUgSU5ERVggbmV2ZXJfcmVtZW1iZXJfaW5k
ZXggT04gbmV2ZXJfcmVtZW1iZXIgKGhvc3QpIiksCisgICAgICAgICAgICBmYWxzZSwgIkZhaWxl
ZCB0byBjcmVhdGUgaW5kZXggZm9yIHRhYmxlIG5ldmVyX3JlbWVtYmVyIik7CiAgICAgfQogCiAg
ICAgLy8gUHJlcGFyZSB0aGUgc3RhdGVtZW50cy4KLSAgICBtX2FkZFN0YXRlbWVudCA9IG5ldyBT
UUxpdGVTdGF0ZW1lbnQobV9kYXRhYmFzZSwgIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gbG9naW5z
IChvcmlnaW5fdXJsLCBob3N0LCBwb3J0LCBzZXJ2aWNlX3R5cGUsIHJlYWxtLCBhdXRoX3NjaGVt
ZSwgdXNlcm5hbWUsIHBhc3N3b3JkKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8pIik7
Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9hZGRTdGF0ZW1lbnQtPnByZXBhcmUoKSAh
PSBTUUxSZXN1bHRPaywKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRl
bWVudChtX2RhdGFiYXNlLCAiSU5TRVJUIE9SIFJFUExBQ0UgSU5UTyBsb2dpbnMgKG9yaWdpbl91
cmwsIGhvc3QsIHBvcnQsIHNlcnZpY2VfdHlwZSwgcmVhbG0sIGF1dGhfc2NoZW1lLCB1c2VybmFt
ZSwgcGFzc3dvcmQpIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPykiKTsKKyAgICBIQU5E
TEVfU1FMX0VYRUNfRkFJTFVSRShtX2FkZExvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FM
UmVzdWx0T2ssCiAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgYWRkTG9naW4gc3Rh
dGVtZW50Iik7CiAKLSAgICBtX3VwZGF0ZVN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQo
bV9kYXRhYmFzZSwgIlVQREFURSBsb2dpbnMgU0VUIHVzZXJuYW1lID0gPywgcGFzc3dvcmQgPSA/
IFdIRVJFIG9yaWdpbl91cmwgPSA/IEFORCBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZp
Y2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFO
RExFX1NRTF9FWEVDX0ZBSUxVUkUobV91cGRhdGVTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxS
ZXN1bHRPaywKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVu
dChtX2RhdGFiYXNlLCAiVVBEQVRFIGxvZ2lucyBTRVQgdXNlcm5hbWUgPSA/LCBwYXNzd29yZCA9
ID8gV0hFUkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCBy
ZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlM
VVJFKG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKICAg
ICAgICAgZmFsc2UsICJGYWlsZWQgdG8gcHJlcGFyZSB1cGRhdGVMb2dpbiBzdGF0ZW1lbnQiKTsK
IAotICAgIG1faGFzU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAi
U0VMRUNUIENPVU5UKCopIEZST00gbG9naW5zIFdIRVJFIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBB
TkQgc2VydmljZV90eXBlID0gPyBBTkQgcmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsK
LSAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX2hhc1N0YXRlbWVudC0+cHJlcGFyZSgpICE9
IFNRTFJlc3VsdE9rLAorICAgIG1faGFzTG9naW5TdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVt
ZW50KG1fZGF0YWJhc2UsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBsb2dpbnMgV0hFUkUgaG9zdCA9
ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1
dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1faGFzTG9naW5T
dGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKICAgICAgICAgZmFsc2UsICJGYWls
ZWQgdG8gcHJlcGFyZSBoYXNMb2dpbiBzdGF0ZW1lbnQiKTsKIAotICAgIG1fZ2V0U3RhdGVtZW50
ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIHVzZXJuYW1lLCBwYXNz
d29yZCBGUk9NIGxvZ2lucyBXSEVSRSBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2Vf
dHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFORExF
X1NRTF9FWEVDX0ZBSUxVUkUobV9nZXRTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRP
aywKKyAgICBtX2dldExvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFi
YXNlLCAiU0VMRUNUIHVzZXJuYW1lLCBwYXNzd29yZCBGUk9NIGxvZ2lucyBXSEVSRSBob3N0ID0g
PyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0
aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9nZXRMb2dpblN0
YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAogICAgICAgICBmYWxzZSwgIkZhaWxl
ZCB0byBwcmVwYXJlIGdldExvZ2luIHN0YXRlbWVudCIpOwogCi0gICAgbV9yZW1vdmVTdGF0ZW1l
bnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJhc2UsICJERUxFVEUgRlJPTSBsb2dpbnMg
V0hFUkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFs
bSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOwotICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJF
KG1fcmVtb3ZlU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCisgICAgbV9yZW1v
dmVMb2dpblN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQobV9kYXRhYmFzZSwgIkRFTEVU
RSBGUk9NIGxvZ2lucyBXSEVSRSBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlw
ZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NR
TF9FWEVDX0ZBSUxVUkUobV9yZW1vdmVMb2dpblN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJl
c3VsdE9rLAogICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIHJlbW92ZUxvZ2luIHN0
YXRlbWVudCIpOwogCisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNRTGl0
ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiSU5TRVJUIE9SIFJFUExBQ0UgSU5UTyBuZXZlcl9yZW1l
bWJlciAob3JpZ2luX3VybCwgaG9zdCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFsbSwgYXV0aF9z
Y2hlbWUpIFZBTFVFUyAoPywgPywgPywgPywgPywgPykiKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNf
RkFJTFVSRShtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1
bHRPaywKKyAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gcHJlcGFyZSBhZGROZXZlclJlbWVtYmVy
IHN0YXRlbWVudCIpOworCisgICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNR
TGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIENPVU5UKCopIEZST00gbmV2ZXJfcmVt
ZW1iZXIgV0hFUkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFO
RCByZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19G
QUlMVVJFKG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3Vs
dE9rLAorICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGhhc05ldmVyUmVtZW1iZXIg
c3RhdGVtZW50Iik7CisKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FM
aXRlU3RhdGVtZW50KG1fZGF0YWJhc2UsICJTRUxFQ1Qgb3JpZ2luX3VybCBGUk9NIG5ldmVyX3Jl
bWVtYmVyIFdIRVJFIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQgc2VydmljZV90eXBlID0gPyBB
TkQgcmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNf
RkFJTFVSRShtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1
bHRPaywKKyAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gcHJlcGFyZSBnZXROZXZlclJlbWVtYmVy
IHN0YXRlbWVudCIpOworCisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3
IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiREVMRVRFIEZST00gbmV2ZXJfcmVtZW1iZXIg
V0hFUkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFs
bSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJF
KG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9r
LAorICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIHJlbW92ZU5ldmVyUmVtZW1iZXIg
c3RhdGVtZW50Iik7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBDcmVkZW50aWFsQmFj
a2luZ1N0b3JlOjpjbG9zZSgpCiB7Ci0gICAgZGVsZXRlIG1fYWRkU3RhdGVtZW50OwotICAgIG1f
YWRkU3RhdGVtZW50ID0gMDsKLSAgICBkZWxldGUgbV91cGRhdGVTdGF0ZW1lbnQ7Ci0gICAgbV91
cGRhdGVTdGF0ZW1lbnQgPSAwOwotICAgIGRlbGV0ZSBtX2hhc1N0YXRlbWVudDsKLSAgICBtX2hh
c1N0YXRlbWVudCA9IDA7Ci0gICAgZGVsZXRlIG1fZ2V0U3RhdGVtZW50OwotICAgIG1fZ2V0U3Rh
dGVtZW50ID0gMDsKLSAgICBkZWxldGUgbV9yZW1vdmVTdGF0ZW1lbnQ7Ci0gICAgbV9yZW1vdmVT
dGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2FkZExvZ2luU3RhdGVtZW50OworICAgIG1fYWRk
TG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50Owor
ICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2hhc0xvZ2luU3Rh
dGVtZW50OworICAgIG1faGFzTG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2dldExv
Z2luU3RhdGVtZW50OworICAgIG1fZ2V0TG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBt
X3JlbW92ZUxvZ2luU3RhdGVtZW50OworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQgPSAwOwor
ICAgIGRlbGV0ZSBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAgbV9hZGROZXZlclJl
bWVtYmVyU3RhdGVtZW50ID0gMDsKKyAgICBkZWxldGUgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVt
ZW50OworICAgIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1f
Z2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1l
bnQgPSAwOworICAgIGRlbGV0ZSBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAg
bV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gMDsKIAogICAgIGlmIChtX2RhdGFiYXNl
LmlzT3BlbigpKQogICAgICAgICBtX2RhdGFiYXNlLmNsb3NlKCk7CkBAIC0xNDQsNDMgKzE2MSw0
NCBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZExvZ2luKGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcgogICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3Bl
bigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikpOwogCi0g
ICAgaWYgKCFtX2FkZFN0YXRlbWVudCkKKyAgICBpZiAoIW1fYWRkTG9naW5TdGF0ZW1lbnQpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kVGV4dCgxLCB1
cmwuc3RyaW5nKCkpOwotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0aW9u
U3BhY2UuaG9zdCgpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZEludCgzLCBwcm90ZWN0aW9u
U3BhY2UucG9ydCgpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZEludCg0LCBzdGF0aWNfY2Fz
dDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKLSAgICBtX2FkZFN0YXRlbWVu
dC0+YmluZFRleHQoNSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwotICAgIG1fYWRkU3RhdGVt
ZW50LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRp
Y2F0aW9uU2NoZW1lKCkpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZFRleHQoNywgY3JlZGVu
dGlhbC51c2VyKCkpOwotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kQmxvYig4LCBlbmNyeXB0ZWRT
dHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7Ci0KLSAgICBpbnQgcmVzdWx0ID0gbV9hZGRT
dGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgxLCB1
cmwuc3RyaW5nKCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDIsIHByb3Rl
Y3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoMywg
cHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+YmluZElu
dCg0LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKKyAg
ICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCg1LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0o
KSk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2FzdDxpbnQ+
KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisgICAgbV9hZGRMb2dp
blN0YXRlbWVudC0+YmluZFRleHQoNywgY3JlZGVudGlhbC51c2VyKCkpOworICAgIG1fYWRkTG9n
aW5TdGF0ZW1lbnQtPmJpbmRCbG9iKDgsIGVuY3J5cHRlZFN0cmluZyhjcmVkZW50aWFsLnBhc3N3
b3JkKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2FkZExvZ2luU3RhdGVtZW50LT5zdGVwKCk7
CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNf
RkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0RG9uZSwgZmFsc2UsCiAgICAgICAgICJGYWlsZWQg
dG8gYWRkIGxvZ2luIGluZm8gaW50byB0YWJsZSBsb2dpbnMgLSAlaSIsIHJlc3VsdCk7CiAKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjp1cGRhdGVM
b2dpbihjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNw
YWNlLCBjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsKQorYm9vbCBDcmVkZW50aWFsQmFja2lu
Z1N0b3JlOjp1cGRhdGVMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFj
ZSwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCkKIHsKICAgICBBU1NFUlQobV9kYXRhYmFz
ZS5pc09wZW4oKSk7CiAgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFibGVFeGlzdHMoImxvZ2lucyIp
KTsKIAotICAgIGlmICghbV91cGRhdGVTdGF0ZW1lbnQpCisgICAgaWYgKCFtX3VwZGF0ZUxvZ2lu
U3RhdGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX3VwZGF0ZVN0YXRlbWVu
dC0+YmluZFRleHQoMSwgdXJsLnN0cmluZygpKTsKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+Ymlu
ZFRleHQoMiwgY3JlZGVudGlhbC51c2VyKCkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5iaW5k
QmxvYigzLCBlbmNyeXB0ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7Ci0gICAgbV91
cGRhdGVTdGF0ZW1lbnQtPmJpbmRUZXh0KDQsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAg
IG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kSW50KDUsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwot
ICAgIG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVj
dGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kVGV4
dCg3LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7Ci0gICAgbV91cGRhdGVTdGF0ZW1lbnQtPmJp
bmRJbnQoOCwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25T
Y2hlbWUoKSkpOworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIGNyZWRl
bnRpYWwudXNlcigpKTsKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kQmxvYigyLCBl
bmNyeXB0ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7CisgICAgbV91cGRhdGVMb2dp
blN0YXRlbWVudC0+YmluZFRleHQoMywgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7CisgICAgbV91
cGRhdGVMb2dpblN0YXRlbWVudC0+YmluZEludCg0LCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsK
KyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4o
cHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1l
bnQtPmJpbmRUZXh0KDYsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX3VwZGF0ZUxv
Z2luU3RhdGVtZW50LT5iaW5kSW50KDcsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNl
LmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKIAotICAgIGludCByZXN1bHQgPSBtX3VwZGF0ZVN0
YXRlbWVudC0+c3RlcCgpOworICAgIGludCByZXN1bHQgPSBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50
LT5zdGVwKCk7CisgICAgbV91cGRhdGVMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5E
TEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0RG9uZSwgZmFsc2UsCiAgICAg
ICAgICJGYWlsZWQgdG8gdXBkYXRlIGxvZ2luIGluZm8gaW4gdGFibGUgbG9naW5zIC0gJWkiLCBy
ZXN1bHQpOwogCkBAIC0xOTIsMjAgKzIxMCwyMiBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3Rv
cmU6Omhhc0xvZ2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQogICAg
IEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJs
ZUV4aXN0cygibG9naW5zIikpOwogCi0gICAgaWYgKCFtX2hhc1N0YXRlbWVudCkKKyAgICBpZiAo
IW1faGFzTG9naW5TdGF0ZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1faGFz
U3RhdGVtZW50LT5iaW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKLSAgICBtX2hh
c1N0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKLSAgICBtX2hh
c1N0YXRlbWVudC0+YmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5z
ZXJ2ZXJUeXBlKCkpKTsKLSAgICBtX2hhc1N0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlv
blNwYWNlLnJlYWxtKCkpOwotICAgIG1faGFzU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19j
YXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKyAgICBt
X2hhc0xvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsK
KyAgICBtX2hhc0xvZ2luU3RhdGVtZW50LT5iaW5kSW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0
KCkpOworICAgIG1faGFzTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50
Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9oYXNMb2dpblN0YXRlbWVu
dC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1faGFzTG9naW5T
dGF0ZW1lbnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0
aGVudGljYXRpb25TY2hlbWUoKSkpOwogCi0gICAgaW50IHJlc3VsdCA9IG1faGFzU3RhdGVtZW50
LT5zdGVwKCk7CisgICAgaW50IHJlc3VsdCA9IG1faGFzTG9naW5TdGF0ZW1lbnQtPnN0ZXAoKTsK
KyAgICBpbnQgbnVtT2ZSb3cgPSBtX2hhc0xvZ2luU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCk7
CisgICAgbV9oYXNMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNf
RkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBmYWxzZSwKICAgICAgICAgIkZhaWxlZCB0
byBleGVjdXRlIHNlbGVjdCBsb2dpbiBpbmZvIGZyb20gdGFibGUgbG9naW5zIGluIGhhc0xvZ2lu
IC0gJWkiLCByZXN1bHQpOwogCi0gICAgaWYgKG1faGFzU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQo
MCkpCisgICAgaWYgKG51bU9mUm93KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4g
ZmFsc2U7CiB9CkBAIC0yMTUsMjAgKzIzNSwyMyBAQCBDcmVkZW50aWFsIENyZWRlbnRpYWxCYWNr
aW5nU3RvcmU6OmdldExvZ2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYQog
ICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50
YWJsZUV4aXN0cygibG9naW5zIikpOwogCi0gICAgaWYgKCFtX2dldFN0YXRlbWVudCkKKyAgICBp
ZiAoIW1fZ2V0TG9naW5TdGF0ZW1lbnQpCiAgICAgICAgIHJldHVybiBDcmVkZW50aWFsKCk7CiAK
LSAgICBtX2dldFN0YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7
Ci0gICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7
Ci0gICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0
aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7Ci0gICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRUZXh0KDQs
IHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKLSAgICBtX2dldFN0YXRlbWVudC0+YmluZEludCg1
LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgp
KSk7CisgICAgbV9nZXRMb2dpblN0YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNl
Lmhvc3QoKSk7CisgICAgbV9nZXRMb2dpblN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9u
U3BhY2UucG9ydCgpKTsKKyAgICBtX2dldExvZ2luU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRp
Y19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fZ2V0TG9n
aW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDQsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBt
X2dldExvZ2luU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlv
blNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKIAotICAgIGludCByZXN1bHQgPSBtX2dl
dFN0YXRlbWVudC0+c3RlcCgpOworICAgIGludCByZXN1bHQgPSBtX2dldExvZ2luU3RhdGVtZW50
LT5zdGVwKCk7CisgICAgU3RyaW5nIHVzZXJuYW1lID0gbV9nZXRMb2dpblN0YXRlbWVudC0+Z2V0
Q29sdW1uVGV4dCgwKTsKKyAgICBTdHJpbmcgcGFzc3dvcmQgPSBtX2dldExvZ2luU3RhdGVtZW50
LT5nZXRDb2x1bW5CbG9iQXNTdHJpbmcoMSk7CisgICAgbV9nZXRMb2dpblN0YXRlbWVudC0+cmVz
ZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0Um93
LCBDcmVkZW50aWFsKCksCiAgICAgICAgICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxlY3QgbG9naW4g
aW5mbyBmcm9tIHRhYmxlIGxvZ2lucyBpbiBnZXRMb2dpbiAtICVpIiwgcmVzdWx0KTsKIAotICAg
IHJldHVybiBDcmVkZW50aWFsKG1fZ2V0U3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDApLCBkZWNy
eXB0ZWRTdHJpbmcobV9nZXRTdGF0ZW1lbnQtPmdldENvbHVtblRleHQoMSkpLCBDcmVkZW50aWFs
UGVyc2lzdGVuY2VQZXJtYW5lbnQpOworICAgIHJldHVybiBDcmVkZW50aWFsKHVzZXJuYW1lLCBk
ZWNyeXB0ZWRTdHJpbmcocGFzc3dvcmQpLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VQZXJtYW5lbnQp
OwogfQogCiBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92ZUxvZ2luKGNvbnN0IFBy
b3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQpAQCAtMjM2LDIzICsyNTksMTE3IEBAIGJv
b2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6cmVtb3ZlTG9naW4oY29uc3QgUHJvdGVjdGlvblNw
YWNlJiBwcm90ZWN0aW9uU3BhY2UpCiAgICAgQVNTRVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOwog
ICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJsb2dpbnMiKSk7CiAKLSAgICBpZiAo
IW1fcmVtb3ZlU3RhdGVtZW50KQorICAgIGlmICghbV9yZW1vdmVMb2dpblN0YXRlbWVudCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV9yZW1vdmVTdGF0ZW1lbnQtPmJpbmRUZXh0KDEs
IHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kSW50
KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5k
SW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOwot
ICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0o
KSk7Ci0gICAgbV9yZW1vdmVTdGF0ZW1lbnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihw
cm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkpOworICAgIG1fcmVtb3ZlTG9n
aW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1f
cmVtb3ZlTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7
CisgICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+YmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+
KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKKyAgICBtX3JlbW92ZUxvZ2luU3RhdGVt
ZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7CisgICAgbV9yZW1vdmVM
b2dpblN0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFj
ZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CiAKLSAgICBpbnQgcmVzdWx0ID0gbV9yZW1vdmVT
dGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBpbnQgcmVzdWx0ID0gbV9yZW1vdmVMb2dpblN0YXRlbWVu
dC0+c3RlcCgpOworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPnJlc2V0KCk7CiAgICAgSEFO
RExFX1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9IFNRTFJlc3VsdERvbmUsIGZhbHNlLAogICAg
ICAgICAiRmFpbGVkIHRvIHJlbW92ZSBsb2dpbiBpbmZvIGZyb20gdGFibGUgbG9naW5zIC0gJWki
LCByZXN1bHQpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgQ3JlZGVudGlhbEJhY2tp
bmdTdG9yZTo6Y2xlYXIoKQorYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjphZGROZXZlclJl
bWVtYmVyKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9u
U3BhY2UpCit7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOworICAgIEFTU0VSVCht
X2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJuZXZlcl9yZW1lbWJlciIpKTsKKworICAgIGlmICghbV9h
ZGROZXZlclJlbWVtYmVyU3RhdGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBt
X2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHVybC5zdHJpbmcoKSk7Cisg
ICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0aW9uU3Bh
Y2UuaG9zdCgpKTsKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMywg
cHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50
LT5iaW5kSW50KDQsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUo
KSkpOworICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRleHQoNSwgcHJvdGVj
dGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+Ymlu
ZEludCg2LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNj
aGVtZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0ID0gbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50
LT5zdGVwKCk7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5yZXNldCgpOworICAg
IEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1bHREb25lLCBmYWxzZSwK
KyAgICAgICAgIkZhaWxlZCB0byBhZGQgbmF2ZXIgc2F2ZWQgaXRlbSBpbmZvIGludG8gdGFibGUg
bmV2ZXJfcmVtZW1iZXIgLSAlaSIsIHJlc3VsdCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
Ym9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpoYXNOZXZlclJlbWVtYmVyKGNvbnN0IFByb3Rl
Y3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlz
T3BlbigpKTsKKyAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1i
ZXIiKSk7CisKKyAgICBpZiAoIW1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudCkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4
dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0
ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9oYXNOZXZl
clJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlv
blNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+
YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1faGFzTmV2ZXJSZW1l
bWJlclN0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFj
ZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0ID0gbV9oYXNOZXZl
clJlbWVtYmVyU3RhdGVtZW50LT5zdGVwKCk7CisgICAgaW50IG51bU9mUm93ID0gbV9oYXNOZXZl
clJlbWVtYmVyU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCk7CisgICAgbV9oYXNOZXZlclJlbWVt
YmVyU3RhdGVtZW50LT5yZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3Vs
dCAhPSBTUUxSZXN1bHRSb3csIGZhbHNlLAorICAgICAgICAiRmFpbGVkIHRvIGV4ZWN1dGUgc2Vs
ZWN0IHRvIGZpbmQgbmF2ZXIgc2F2ZWQgc2l0ZSBmcm9tIHRhYmxlIG5ldmVyX3JlbWVtYmVyIC0g
JWkiLCByZXN1bHQpOworCisgICAgaWYgKG51bU9mUm93KQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0tVUkwgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Z2V0
TmV2ZXJSZW1lbWJlcihjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkKK3sK
KyAgICBBU1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CisgICAgQVNTRVJUKG1fZGF0YWJhc2Uu
dGFibGVFeGlzdHMoIm5ldmVyX3JlbWVtYmVyIikpOworCisgICAgaWYgKCFtX2dldE5ldmVyUmVt
ZW1iZXJTdGF0ZW1lbnQpCisgICAgICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBtX2dldE5ldmVy
UmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwor
ICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3Bh
Y2UucG9ydCgpKTsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMywg
c3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9n
ZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVh
bG0oKSk7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRp
Y19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKwor
ICAgIGludCByZXN1bHQgPSBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAg
ICBTdHJpbmcgdXJsID0gbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0
KDApOworICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cmVzZXQoKTsKKyAgICBIQU5E
TEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBLVVJMKCksCisgICAg
ICAgICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxlY3QgbmV2ZXIgc2F2ZWQgc2l0ZSBpbmZvIGZyb20g
dGFibGUgbmV2ZXJfcmVtZW1iZXIgaW4gZ2V0TmV2ZXJSZW1lbWJlciAtICVpIiwgcmVzdWx0KTsK
KworICAgIHJldHVybiBLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKTsKK30KKworYm9vbCBDcmVk
ZW50aWFsQmFja2luZ1N0b3JlOjpyZW1vdmVOZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25T
cGFjZSYgcHJvdGVjdGlvblNwYWNlKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3Blbigp
KTsKKyAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIiKSk7
CisKKyAgICBpZiAoIW1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudCkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4
dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1iZXJT
dGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9yZW1v
dmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJv
dGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0
YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1fcmVt
b3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHBy
b3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0
ID0gbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5zdGVwKCk7CisgICAgbV9yZW1vdmVO
ZXZlclJlbWVtYmVyU3RhdGVtZW50LT5yZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlM
VVJFKHJlc3VsdCAhPSBTUUxSZXN1bHREb25lLCBmYWxzZSwKKyAgICAgICAgIkZhaWxlZCB0byBy
ZW1vdmUgbmV2ZXIgc2F2ZWQgc2l0ZSBmcm9tIHRhYmxlIG5ldmVyX3JlbWVtYmVyIC0gJWkiLCBy
ZXN1bHQpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgQ3JlZGVudGlhbEJhY2tpbmdT
dG9yZTo6Y2xlYXJMb2dpbnMoKQogewogICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsK
ICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikpOwpAQCAtMjYzLDYg
KzM4MCwxNyBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmNsZWFyKCkKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAorYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhck5ldmVyUmVt
ZW1iZXIoKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKKyAgICBBU1NFUlQo
bV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIiKSk7CisKKyAgICBIQU5ETEVf
U1FMX0VYRUNfRkFJTFVSRSghbV9kYXRhYmFzZS5leGVjdXRlQ29tbWFuZCgiREVMRVRFICogRlJP
TSBuZXZlcl9yZW1lbWJlciIpLAorICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBjbGVhciB0YWJs
ZSBuZXZlcl9yZW1lbWJlciIpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIFN0cmluZyBDcmVk
ZW50aWFsQmFja2luZ1N0b3JlOjplbmNyeXB0ZWRTdHJpbmcoY29uc3QgU3RyaW5nJiBwbGFpblRl
eHQpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IE5lZWQgZW5jcnlwdCBwbGFpblRleHQgaGVyZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0Ny
ZWRlbnRpYWxCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmgKaW5kZXggZDEyNjMxMDY1ZDVmNjM1
NjVkMWQ3YjIwMmMzY2Y0Y2FmYzNmZjQwOS4uYTE1NWRlZTc3NTk1NWZmZjYzZGUwZjBiMTVkZWRh
OTAxMjU3ZGRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9i
bGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oCkBAIC0z
NiwxMSArMzYsMTYgQEAgcHVibGljOgogICAgIGJvb2wgb3Blbihjb25zdCBTdHJpbmcmIGRiUGF0
aCk7CiAgICAgdm9pZCBjbG9zZSgpOwogICAgIGJvb2wgYWRkTG9naW4oY29uc3QgS1VSTCYsIGNv
bnN0IFByb3RlY3Rpb25TcGFjZSYsIGNvbnN0IENyZWRlbnRpYWwmKTsKLSAgICBib29sIHVwZGF0
ZUxvZ2luKGNvbnN0IEtVUkwmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBDcmVkZW50
aWFsJik7CisgICAgYm9vbCB1cGRhdGVMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25z
dCBDcmVkZW50aWFsJik7CiAgICAgYm9vbCBoYXNMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2Um
KTsKICAgICBDcmVkZW50aWFsIGdldExvZ2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYpOwogICAg
IGJvb2wgcmVtb3ZlTG9naW4oY29uc3QgUHJvdGVjdGlvblNwYWNlJik7Ci0gICAgYm9vbCBjbGVh
cigpOworICAgIGJvb2wgYWRkTmV2ZXJSZW1lbWJlcihjb25zdCBLVVJMJiwgY29uc3QgUHJvdGVj
dGlvblNwYWNlJik7CisgICAgYm9vbCBoYXNOZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25T
cGFjZSYpOworICAgIEtVUkwgZ2V0TmV2ZXJSZW1lbWJlcihjb25zdCBQcm90ZWN0aW9uU3BhY2Um
KTsKKyAgICBib29sIHJlbW92ZU5ldmVyUmVtZW1iZXIoY29uc3QgUHJvdGVjdGlvblNwYWNlJik7
CisgICAgYm9vbCBjbGVhckxvZ2lucygpOworICAgIGJvb2wgY2xlYXJOZXZlclJlbWVtYmVyKCk7
CiAKIHByaXZhdGU6CiAgICAgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZSgpOwpAQCAtNDgsMTEgKzUz
LDE1IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGRlY3J5cHRlZFN0cmluZyhjb25zdCBTdHJpbmcm
IGNpcGhlclRleHQpIGNvbnN0OwogCiAgICAgU1FMaXRlRGF0YWJhc2UgbV9kYXRhYmFzZTsKLSAg
ICBTUUxpdGVTdGF0ZW1lbnQqIG1fYWRkU3RhdGVtZW50OwotICAgIFNRTGl0ZVN0YXRlbWVudCog
bV91cGRhdGVTdGF0ZW1lbnQ7Ci0gICAgU1FMaXRlU3RhdGVtZW50KiBtX2hhc1N0YXRlbWVudDsK
LSAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fZ2V0U3RhdGVtZW50OwotICAgIFNRTGl0ZVN0YXRlbWVu
dCogbV9yZW1vdmVTdGF0ZW1lbnQ7CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2FkZExvZ2luU3Rh
dGVtZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV91cGRhdGVMb2dpblN0YXRlbWVudDsKKyAg
ICBTUUxpdGVTdGF0ZW1lbnQqIG1faGFzTG9naW5TdGF0ZW1lbnQ7CisgICAgU1FMaXRlU3RhdGVt
ZW50KiBtX2dldExvZ2luU3RhdGVtZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV9yZW1vdmVM
b2dpblN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fYWRkTmV2ZXJSZW1lbWJlclN0
YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVu
dDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAg
ICBTUUxpdGVTdGF0ZW1lbnQqIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129000</attachid>
            <date>2012-02-27 02:45:16 -0800</date>
            <delta_ts>2012-03-01 00:07:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79650-20120227184514.patch</filename>
            <type>text/plain</type>
            <size>26241</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI4ZTgxMGYyNjIxY2M5
M2ZlYWU0ODM5ZjY4YjRiNGNiNTVjYzY2OC4uMGExYTE0NGNhZjA0ZDhhY2E4ZWU5NDFiNTQwNzAz
ODMwMmQyMjgxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAyLTI3ICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIENyZWRlbnRpYWwgYmFja2luZyBzdG9yZSBpbXBsZW1lbnRhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXZlcl9y
ZW1lbWJlciB0YWJsZSB0byBzdG9yZSB0aGUgbmV2ZXIgcmVtZW1iZXIKKyAgICAgICAgc2l0ZXM7
IGNoYW5nZWQgbG9naW4gdXBkYXRlIHN0YXRlbWVudCB0byByZW1vdmUgdXJsIGZyb20KKyAgICAg
ICAgdGhlIHVwZGF0ZSBzdGF0ZW1lbnQgYXMgc29tZSBzaXRlcyB3b3VsZCBwb3N0IGRpZmZlcmVu
dAorICAgICAgICB1cmwgd2hlbiB1c2VyIGNoYW5nZWQgY3JlZGVudGlhbCBpbmZvOyBhbHNvIGZp
eGVkIHNvbWUKKyAgICAgICAgaW1wbGVtZW50YXRpb24gaXNzdWUuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRp
YWxCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdT
dG9yZTo6aW5zdGFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9y
ZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFs
QmFja2luZ1N0b3JlOjpvcGVuKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5n
U3RvcmU6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6
OmFkZExvZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnVw
ZGF0ZUxvZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omhh
c0xvZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmdldExv
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92ZUxv
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZE5ldmVy
UmVtZW1iZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50
aWFsQmFja2luZ1N0b3JlOjpoYXNOZXZlclJlbWVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNy
ZWRlbnRpYWxCYWNraW5nU3RvcmU6OmdldE5ldmVyUmVtZW1iZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6cmVtb3ZlTmV2ZXJSZW1lbWJlcik6CisgICAgICAg
IChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhckxvZ2lucyk6CisgICAgICAg
IChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhck5ldmVyUmVtZW1iZXIpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0
b3JlLmg6CisgICAgICAgIChDcmVkZW50aWFsQmFja2luZ1N0b3JlKToKKwogMjAxMi0wMi0yNiAg
SHlvd29uIEtpbSAgPGh3MTAwOC5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gSW1w
bGVtZW50YXRpb24gb2YgR3JhcGhpY3NDb250ZXh0M0QgZm9yIEVGTCBwb3J0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJh
Y2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggYWNhY2MzNzg5MjJjN2ZiZThiOTAw
MDlmYTcwNTUxZTcxODU1YmFiMi4uNDJmOTIwYWI0NGJiNTZjM2Q0NGIxNjMxMzhiYjg2MTQ2NzNm
N2E5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2Jl
cnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcApAQCAtMjIs
MTUgKzIyLDE2IEBACiAjaW5jbHVkZSAiQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oIgogCiAjaW5j
bHVkZSAiQ3JlZGVudGlhbFN0b3JhZ2UuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5j
bHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUHJv
dGVjdGlvblNwYWNlSGFzaC5oIgogI2luY2x1ZGUgIlNRTGl0ZVN0YXRlbWVudC5oIgotI2luY2x1
ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgorI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybUNsaWVu
dC5oPgogCiAjZGVmaW5lIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHN0YXRlbWVudCwgcmV0dXJu
VmFsdWUsIC4uLikgXAogICAgIGlmIChzdGF0ZW1lbnQpIHsgXAotICAgICAgICBMT0dfRVJST1Io
X19WQVJfQVJHU19fKTsgXAorICAgICAgICBMT0dfRVJST1IoX19WQV9BUkdTX18pOyBcCiAgICAg
ICAgIHJldHVybiByZXR1cm5WYWx1ZTsgXAogICAgIH0KIApAQCAtMzksMTcgKzQwLDIzIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIENyZWRlbnRpYWxCYWNraW5nU3RvcmUqIENyZWRlbnRpYWxCYWNr
aW5nU3RvcmU6Omluc3RhbmNlKCkKIHsKICAgICBzdGF0aWMgQ3JlZGVudGlhbEJhY2tpbmdTdG9y
ZSogYmFja2luZ1N0b3JlID0gMDsKLSAgICBpZiAoIWJhY2tpbmdTdG9yZSkKKyAgICBpZiAoIWJh
Y2tpbmdTdG9yZSkgewogICAgICAgICBiYWNraW5nU3RvcmUgPSBuZXcgQ3JlZGVudGlhbEJhY2tp
bmdTdG9yZTsKKyAgICAgICAgYmFja2luZ1N0b3JlLT5vcGVuKHBhdGhCeUFwcGVuZGluZ0NvbXBv
bmVudChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpZW50OjpnZXQoKS0+Z2V0QXBwbGljYXRpb25E
YXRhRGlyZWN0b3J5KCkuY19zdHIoKSwgIi9jcmVkZW50aWFscy5kYiIpKTsKKyAgICB9CiAgICAg
cmV0dXJuIGJhY2tpbmdTdG9yZTsKIH0KIAogQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Q3JlZGVu
dGlhbEJhY2tpbmdTdG9yZSgpCi0gICAgOiBtX2FkZFN0YXRlbWVudCgwKQotICAgICwgbV91cGRh
dGVTdGF0ZW1lbnQoMCkKLSAgICAsIG1faGFzU3RhdGVtZW50KDApCi0gICAgLCBtX2dldFN0YXRl
bWVudCgwKQotICAgICwgbV9yZW1vdmVTdGF0ZW1lbnQoMCkKKyAgICA6IG1fYWRkTG9naW5TdGF0
ZW1lbnQoMCkKKyAgICAsIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1faGFzTG9n
aW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1fZ2V0TG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1fcmVt
b3ZlTG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudCgw
KQorICAgICwgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50KDApCisgICAgLCBtX2dldE5ldmVy
UmVtZW1iZXJTdGF0ZW1lbnQoMCkKKyAgICAsIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVu
dCgwKQogewogfQogCkBAIC03MSw2OSArNzgsNzkgQEAgYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0
b3JlOjpvcGVuKGNvbnN0IFN0cmluZyYgZGJQYXRoKQogICAgICAgICAgICAgZmFsc2UsICJGYWls
ZWQgdG8gY3JlYXRlIHRhYmxlIGxvZ2lucyBmb3IgbG9naW4gZGF0YWJhc2UiKTsKIAogICAgICAg
ICAvLyBDcmVhdGUgaW5kZXggZm9yIHRhYmxlIGxvZ2lucy4KLSAgICAgICAgSEFORExFX1NRTF9F
WEVDX0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBsb2dp
bnNfc2lnbm9uIE9OIGxvZ2lucyAoaG9zdCkiKSwKKyAgICAgICAgSEFORExFX1NRTF9FWEVDX0ZB
SUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBsb2dpbnNfaW5k
ZXggT04gbG9naW5zIChob3N0KSIpLAogICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gY3Jl
YXRlIGluZGV4IGZvciB0YWJsZSBsb2dpbnMiKTsKLSAgICB9IGVsc2UgeyAvLyBJbml0aWF0ZSBD
cmVkZW50aWFsU3RvcmFnZS4KLSAgICAgICAgU1FMaXRlU3RhdGVtZW50IHF1ZXJ5KG1fZGF0YWJh
c2UsICJTRUxFQ1Qgb3JpZ2luX3VybCwgaG9zdCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFsbSwg
YXV0aF9zY2hlbWUsIHVzZXJuYW1lLCBwYXNzd29yZCBGUk9NIGxvZ2lucyIpOwotICAgICAgICBI
QU5ETEVfU1FMX0VYRUNfRkFJTFVSRShxdWVyeS5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCi0g
ICAgICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIHF1ZXJ5IHN0YXRlbWVudCB0byBp
bml0aWF0ZSBDcmVkZW50aWFsU3RvcmFnZSIpOwotCi0gICAgICAgIGludCByZXN1bHQgPSBxdWVy
eS5zdGVwKCk7Ci0gICAgICAgIHdoaWxlIChyZXN1bHQgPT0gU1FMUmVzdWx0Um93KSB7Ci0gICAg
ICAgICAgICBTdHJpbmcgc3RyVXJsID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgxKTsKLSAgICAgICAg
ICAgIFN0cmluZyBzdHJIb3N0ID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgyKTsKLSAgICAgICAgICAg
IGludCBpbnRQb3J0ID0gcXVlcnkuZ2V0Q29sdW1uSW50KDMpOwotICAgICAgICAgICAgUHJvdGVj
dGlvblNwYWNlU2VydmVyVHlwZSBzZXJ2aWNlVHlwZSA9IHN0YXRpY19jYXN0PFByb3RlY3Rpb25T
cGFjZVNlcnZlclR5cGU+KHF1ZXJ5LmdldENvbHVtbkludCg0KSk7Ci0gICAgICAgICAgICBTdHJp
bmcgc3RyUmVhbG0gPSBxdWVyeS5nZXRDb2x1bW5UZXh0KDUpOwotICAgICAgICAgICAgUHJvdGVj
dGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aFNjaGVtZSA9IHN0YXRpY19jYXN0PFBy
b3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lPihxdWVyeS5nZXRDb2x1bW5JbnQoNikp
OwotICAgICAgICAgICAgU3RyaW5nIHN0clVzZXJOYW1lID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCg3
KTsKLSAgICAgICAgICAgIFN0cmluZyBzdHJQYXNzd29yZCA9IGRlY3J5cHRlZFN0cmluZyhxdWVy
eS5nZXRDb2x1bW5UZXh0KDgpKTsKLQotICAgICAgICAgICAgS1VSTCB1cmwoUGFyc2VkVVJMU3Ry
aW5nLCBzdHJVcmwpOwotICAgICAgICAgICAgUHJvdGVjdGlvblNwYWNlIHByb3RlY3Rpb25TcGFj
ZShzdHJIb3N0LCBpbnRQb3J0LCBzZXJ2aWNlVHlwZSwgc3RyUmVhbG0sIGF1dGhTY2hlbWUpOwot
ICAgICAgICAgICAgQ3JlZGVudGlhbCBjcmVkZW50aWFsKHN0clVzZXJOYW1lLCBzdHJQYXNzd29y
ZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50KTsKLSAgICAgICAgICAgIENyZWRlbnRp
YWxTdG9yYWdlOjpzZXQoY3JlZGVudGlhbCwgcHJvdGVjdGlvblNwYWNlLCB1cmwpOwotCi0gICAg
ICAgICAgICByZXN1bHQgPSBxdWVyeS5zdGVwKCk7Ci0gICAgICAgIH0KKyAgICB9CisKKyAgICBp
ZiAoIW1fZGF0YWJhc2UudGFibGVFeGlzdHMoIm5ldmVyX3JlbWVtYmVyIikpIHsKKyAgICAgICAg
SEFORExFX1NRTF9FWEVDX0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFU
RSBUQUJMRSBuZXZlcl9yZW1lbWJlciAob3JpZ2luX3VybCBWQVJDSEFSIE5PVCBOVUxMLCBob3N0
IFZBUkNIQVIgTk9UIE5VTEwsIHBvcnQgSU5URUdFUiwgc2VydmljZV90eXBlIElOVEVHRVIgTk9U
IE5VTEwsIHJlYWxtIFZBUkNIQVIsIGF1dGhfc2NoZW1lIElOVEVHRVIgTk9UIE5VTEwpICIpLAor
ICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gY3JlYXRlIHRhYmxlIG5ldmVyX3JlbWVtYmVy
IGZvciBsb2dpbiBkYXRhYmFzZSIpOworCisgICAgICAgIC8vIENyZWF0ZSBpbmRleCBmb3IgdGFi
bGUgbmV2ZXJfcmVtZW1iZXIuCisgICAgICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKCFtX2Rh
dGFiYXNlLmV4ZWN1dGVDb21tYW5kKCJDUkVBVEUgSU5ERVggbmV2ZXJfcmVtZW1iZXJfaW5kZXgg
T04gbmV2ZXJfcmVtZW1iZXIgKGhvc3QpIiksCisgICAgICAgICAgICBmYWxzZSwgIkZhaWxlZCB0
byBjcmVhdGUgaW5kZXggZm9yIHRhYmxlIG5ldmVyX3JlbWVtYmVyIik7CiAgICAgfQogCiAgICAg
Ly8gUHJlcGFyZSB0aGUgc3RhdGVtZW50cy4KLSAgICBtX2FkZFN0YXRlbWVudCA9IG5ldyBTUUxp
dGVTdGF0ZW1lbnQobV9kYXRhYmFzZSwgIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gbG9naW5zIChv
cmlnaW5fdXJsLCBob3N0LCBwb3J0LCBzZXJ2aWNlX3R5cGUsIHJlYWxtLCBhdXRoX3NjaGVtZSwg
dXNlcm5hbWUsIHBhc3N3b3JkKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8pIik7Ci0g
ICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9hZGRTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBT
UUxSZXN1bHRPaywKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVu
dChtX2RhdGFiYXNlLCAiSU5TRVJUIE9SIFJFUExBQ0UgSU5UTyBsb2dpbnMgKG9yaWdpbl91cmws
IGhvc3QsIHBvcnQsIHNlcnZpY2VfdHlwZSwgcmVhbG0sIGF1dGhfc2NoZW1lLCB1c2VybmFtZSwg
cGFzc3dvcmQpIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPykiKTsKKyAgICBIQU5ETEVf
U1FMX0VYRUNfRkFJTFVSRShtX2FkZExvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVz
dWx0T2ssCiAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgYWRkTG9naW4gc3RhdGVt
ZW50Iik7CiAKLSAgICBtX3VwZGF0ZVN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQobV9k
YXRhYmFzZSwgIlVQREFURSBsb2dpbnMgU0VUIHVzZXJuYW1lID0gPywgcGFzc3dvcmQgPSA/IFdI
RVJFIG9yaWdpbl91cmwgPSA/IEFORCBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2Vf
dHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFORExF
X1NRTF9FWEVDX0ZBSUxVUkUobV91cGRhdGVTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1
bHRPaywKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudCht
X2RhdGFiYXNlLCAiVVBEQVRFIGxvZ2lucyBTRVQgdXNlcm5hbWUgPSA/LCBwYXNzd29yZCA9ID8g
V0hFUkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFs
bSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJF
KG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKICAgICAg
ICAgZmFsc2UsICJGYWlsZWQgdG8gcHJlcGFyZSB1cGRhdGVMb2dpbiBzdGF0ZW1lbnQiKTsKIAot
ICAgIG1faGFzU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VM
RUNUIENPVU5UKCopIEZST00gbG9naW5zIFdIRVJFIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQg
c2VydmljZV90eXBlID0gPyBBTkQgcmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKLSAg
ICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX2hhc1N0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNR
TFJlc3VsdE9rLAorICAgIG1faGFzTG9naW5TdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50
KG1fZGF0YWJhc2UsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBsb2dpbnMgV0hFUkUgaG9zdCA9ID8g
QU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhf
c2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1faGFzTG9naW5TdGF0
ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKICAgICAgICAgZmFsc2UsICJGYWlsZWQg
dG8gcHJlcGFyZSBoYXNMb2dpbiBzdGF0ZW1lbnQiKTsKIAotICAgIG1fZ2V0U3RhdGVtZW50ID0g
bmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIHVzZXJuYW1lLCBwYXNzd29y
ZCBGUk9NIGxvZ2lucyBXSEVSRSBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlw
ZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFORExFX1NR
TF9FWEVDX0ZBSUxVUkUobV9nZXRTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywK
KyAgICBtX2dldExvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNl
LCAiU0VMRUNUIHVzZXJuYW1lLCBwYXNzd29yZCBGUk9NIGxvZ2lucyBXSEVSRSBob3N0ID0gPyBB
TkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9z
Y2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9nZXRMb2dpblN0YXRl
bWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAogICAgICAgICBmYWxzZSwgIkZhaWxlZCB0
byBwcmVwYXJlIGdldExvZ2luIHN0YXRlbWVudCIpOwogCi0gICAgbV9yZW1vdmVTdGF0ZW1lbnQg
PSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJhc2UsICJERUxFVEUgRlJPTSBsb2dpbnMgV0hF
UkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9
ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOwotICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1f
cmVtb3ZlU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCisgICAgbV9yZW1vdmVM
b2dpblN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQobV9kYXRhYmFzZSwgIkRFTEVURSBG
Uk9NIGxvZ2lucyBXSEVSRSBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9
ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NRTF9F
WEVDX0ZBSUxVUkUobV9yZW1vdmVMb2dpblN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3Vs
dE9rLAogICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIHJlbW92ZUxvZ2luIHN0YXRl
bWVudCIpOwogCisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0
YXRlbWVudChtX2RhdGFiYXNlLCAiSU5TRVJUIE9SIFJFUExBQ0UgSU5UTyBuZXZlcl9yZW1lbWJl
ciAob3JpZ2luX3VybCwgaG9zdCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFsbSwgYXV0aF9zY2hl
bWUpIFZBTFVFUyAoPywgPywgPywgPywgPywgPykiKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJ
TFVSRShtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRP
aywKKyAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gcHJlcGFyZSBhZGROZXZlclJlbWVtYmVyIHN0
YXRlbWVudCIpOworCisgICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNRTGl0
ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIENPVU5UKCopIEZST00gbmV2ZXJfcmVtZW1i
ZXIgV0hFUkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCBy
ZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlM
VVJFKG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9r
LAorICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGhhc05ldmVyUmVtZW1iZXIgc3Rh
dGVtZW50Iik7CisKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FMaXRl
U3RhdGVtZW50KG1fZGF0YWJhc2UsICJTRUxFQ1Qgb3JpZ2luX3VybCBGUk9NIG5ldmVyX3JlbWVt
YmVyIFdIRVJFIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQgc2VydmljZV90eXBlID0gPyBBTkQg
cmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJ
TFVSRShtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRP
aywKKyAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gcHJlcGFyZSBnZXROZXZlclJlbWVtYmVyIHN0
YXRlbWVudCIpOworCisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNR
TGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiREVMRVRFIEZST00gbmV2ZXJfcmVtZW1iZXIgV0hF
UkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9
ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1f
cmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAor
ICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIHJlbW92ZU5ldmVyUmVtZW1iZXIgc3Rh
dGVtZW50Iik7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBDcmVkZW50aWFsQmFja2lu
Z1N0b3JlOjpjbG9zZSgpCiB7Ci0gICAgZGVsZXRlIG1fYWRkU3RhdGVtZW50OwotICAgIG1fYWRk
U3RhdGVtZW50ID0gMDsKLSAgICBkZWxldGUgbV91cGRhdGVTdGF0ZW1lbnQ7Ci0gICAgbV91cGRh
dGVTdGF0ZW1lbnQgPSAwOwotICAgIGRlbGV0ZSBtX2hhc1N0YXRlbWVudDsKLSAgICBtX2hhc1N0
YXRlbWVudCA9IDA7Ci0gICAgZGVsZXRlIG1fZ2V0U3RhdGVtZW50OwotICAgIG1fZ2V0U3RhdGVt
ZW50ID0gMDsKLSAgICBkZWxldGUgbV9yZW1vdmVTdGF0ZW1lbnQ7Ci0gICAgbV9yZW1vdmVTdGF0
ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2FkZExvZ2luU3RhdGVtZW50OworICAgIG1fYWRkTG9n
aW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50OworICAg
IG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2hhc0xvZ2luU3RhdGVt
ZW50OworICAgIG1faGFzTG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2dldExvZ2lu
U3RhdGVtZW50OworICAgIG1fZ2V0TG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX3Jl
bW92ZUxvZ2luU3RhdGVtZW50OworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQgPSAwOworICAg
IGRlbGV0ZSBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAgbV9hZGROZXZlclJlbWVt
YmVyU3RhdGVtZW50ID0gMDsKKyAgICBkZWxldGUgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50
OworICAgIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1fZ2V0
TmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQg
PSAwOworICAgIGRlbGV0ZSBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAgbV9y
ZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gMDsKIAogICAgIGlmIChtX2RhdGFiYXNlLmlz
T3BlbigpKQogICAgICAgICBtX2RhdGFiYXNlLmNsb3NlKCk7CkBAIC0xNDQsNDMgKzE2MSw0NCBA
QCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZExvZ2luKGNvbnN0IEtVUkwmIHVybCwg
Y29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcgogICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3Blbigp
KTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikpOwogCi0gICAg
aWYgKCFtX2FkZFN0YXRlbWVudCkKKyAgICBpZiAoIW1fYWRkTG9naW5TdGF0ZW1lbnQpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kVGV4dCgxLCB1cmwu
c3RyaW5nKCkpOwotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0aW9uU3Bh
Y2UuaG9zdCgpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZEludCgzLCBwcm90ZWN0aW9uU3Bh
Y2UucG9ydCgpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZEludCg0LCBzdGF0aWNfY2FzdDxp
bnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+
YmluZFRleHQoNSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwotICAgIG1fYWRkU3RhdGVtZW50
LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0
aW9uU2NoZW1lKCkpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZFRleHQoNywgY3JlZGVudGlh
bC51c2VyKCkpOwotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kQmxvYig4LCBlbmNyeXB0ZWRTdHJp
bmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7Ci0KLSAgICBpbnQgcmVzdWx0ID0gbV9hZGRTdGF0
ZW1lbnQtPnN0ZXAoKTsKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgxLCB1cmwu
c3RyaW5nKCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDIsIHByb3RlY3Rp
b25TcGFjZS5ob3N0KCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoMywgcHJv
dGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+YmluZEludCg0
LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKKyAgICBt
X2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCg1LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7
CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2FzdDxpbnQ+KHBy
b3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisgICAgbV9hZGRMb2dpblN0
YXRlbWVudC0+YmluZFRleHQoNywgY3JlZGVudGlhbC51c2VyKCkpOworICAgIG1fYWRkTG9naW5T
dGF0ZW1lbnQtPmJpbmRCbG9iKDgsIGVuY3J5cHRlZFN0cmluZyhjcmVkZW50aWFsLnBhc3N3b3Jk
KCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2FkZExvZ2luU3RhdGVtZW50LT5zdGVwKCk7Cisg
ICAgbV9hZGRMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJ
TFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0RG9uZSwgZmFsc2UsCiAgICAgICAgICJGYWlsZWQgdG8g
YWRkIGxvZ2luIGluZm8gaW50byB0YWJsZSBsb2dpbnMgLSAlaSIsIHJlc3VsdCk7CiAKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjp1cGRhdGVMb2dp
bihjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNl
LCBjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsKQorYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0
b3JlOjp1cGRhdGVMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSwg
Y29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCkKIHsKICAgICBBU1NFUlQobV9kYXRhYmFzZS5p
c09wZW4oKSk7CiAgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFibGVFeGlzdHMoImxvZ2lucyIpKTsK
IAotICAgIGlmICghbV91cGRhdGVTdGF0ZW1lbnQpCisgICAgaWYgKCFtX3VwZGF0ZUxvZ2luU3Rh
dGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+
YmluZFRleHQoMSwgdXJsLnN0cmluZygpKTsKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+YmluZFRl
eHQoMiwgY3JlZGVudGlhbC51c2VyKCkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kQmxv
YigzLCBlbmNyeXB0ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7Ci0gICAgbV91cGRh
dGVTdGF0ZW1lbnQtPmJpbmRUZXh0KDQsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAgIG1f
dXBkYXRlU3RhdGVtZW50LT5iaW5kSW50KDUsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwotICAg
IG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlv
blNwYWNlLnNlcnZlclR5cGUoKSkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kVGV4dCg3
LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7Ci0gICAgbV91cGRhdGVTdGF0ZW1lbnQtPmJpbmRJ
bnQoOCwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hl
bWUoKSkpOworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIGNyZWRlbnRp
YWwudXNlcigpKTsKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kQmxvYigyLCBlbmNy
eXB0ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7CisgICAgbV91cGRhdGVMb2dpblN0
YXRlbWVudC0+YmluZFRleHQoMywgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7CisgICAgbV91cGRh
dGVMb2dpblN0YXRlbWVudC0+YmluZEludCg0LCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAg
ICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJv
dGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQt
PmJpbmRUZXh0KDYsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX3VwZGF0ZUxvZ2lu
U3RhdGVtZW50LT5iaW5kSW50KDcsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1
dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKIAotICAgIGludCByZXN1bHQgPSBtX3VwZGF0ZVN0YXRl
bWVudC0+c3RlcCgpOworICAgIGludCByZXN1bHQgPSBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5z
dGVwKCk7CisgICAgbV91cGRhdGVMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVf
U1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0RG9uZSwgZmFsc2UsCiAgICAgICAg
ICJGYWlsZWQgdG8gdXBkYXRlIGxvZ2luIGluZm8gaW4gdGFibGUgbG9naW5zIC0gJWkiLCByZXN1
bHQpOwogCkBAIC0xOTIsMjAgKzIxMCwyMiBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6
Omhhc0xvZ2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQogICAgIEFT
U0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4
aXN0cygibG9naW5zIikpOwogCi0gICAgaWYgKCFtX2hhc1N0YXRlbWVudCkKKyAgICBpZiAoIW1f
aGFzTG9naW5TdGF0ZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1faGFzU3Rh
dGVtZW50LT5iaW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKLSAgICBtX2hhc1N0
YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKLSAgICBtX2hhc1N0
YXRlbWVudC0+YmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2
ZXJUeXBlKCkpKTsKLSAgICBtX2hhc1N0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNw
YWNlLnJlYWxtKCkpOwotICAgIG1faGFzU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0
PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKyAgICBtX2hh
c0xvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAg
ICBtX2hhc0xvZ2luU3RhdGVtZW50LT5iaW5kSW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkp
OworICAgIG1faGFzTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50Pihw
cm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9oYXNMb2dpblN0YXRlbWVudC0+
YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1faGFzTG9naW5TdGF0
ZW1lbnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVu
dGljYXRpb25TY2hlbWUoKSkpOwogCi0gICAgaW50IHJlc3VsdCA9IG1faGFzU3RhdGVtZW50LT5z
dGVwKCk7CisgICAgaW50IHJlc3VsdCA9IG1faGFzTG9naW5TdGF0ZW1lbnQtPnN0ZXAoKTsKKyAg
ICBpbnQgbnVtT2ZSb3cgPSBtX2hhc0xvZ2luU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCk7Cisg
ICAgbV9oYXNMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJ
TFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBmYWxzZSwKICAgICAgICAgIkZhaWxlZCB0byBl
eGVjdXRlIHNlbGVjdCBsb2dpbiBpbmZvIGZyb20gdGFibGUgbG9naW5zIGluIGhhc0xvZ2luIC0g
JWkiLCByZXN1bHQpOwogCi0gICAgaWYgKG1faGFzU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCkp
CisgICAgaWYgKG51bU9mUm93KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gZmFs
c2U7CiB9CkBAIC0yMTUsMjAgKzIzNSwyMyBAQCBDcmVkZW50aWFsIENyZWRlbnRpYWxCYWNraW5n
U3RvcmU6OmdldExvZ2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYQogICAg
IEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJs
ZUV4aXN0cygibG9naW5zIikpOwogCi0gICAgaWYgKCFtX2dldFN0YXRlbWVudCkKKyAgICBpZiAo
IW1fZ2V0TG9naW5TdGF0ZW1lbnQpCiAgICAgICAgIHJldHVybiBDcmVkZW50aWFsKCk7CiAKLSAg
ICBtX2dldFN0YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7Ci0g
ICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7Ci0g
ICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9u
U3BhY2Uuc2VydmVyVHlwZSgpKSk7Ci0gICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRUZXh0KDQsIHBy
b3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKLSAgICBtX2dldFN0YXRlbWVudC0+YmluZEludCg1LCBz
dGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7
CisgICAgbV9nZXRMb2dpblN0YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNlLmhv
c3QoKSk7CisgICAgbV9nZXRMb2dpblN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3Bh
Y2UucG9ydCgpKTsKKyAgICBtX2dldExvZ2luU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19j
YXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fZ2V0TG9naW5T
dGF0ZW1lbnQtPmJpbmRUZXh0KDQsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX2dl
dExvZ2luU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNw
YWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKIAotICAgIGludCByZXN1bHQgPSBtX2dldFN0
YXRlbWVudC0+c3RlcCgpOworICAgIGludCByZXN1bHQgPSBtX2dldExvZ2luU3RhdGVtZW50LT5z
dGVwKCk7CisgICAgU3RyaW5nIHVzZXJuYW1lID0gbV9nZXRMb2dpblN0YXRlbWVudC0+Z2V0Q29s
dW1uVGV4dCgwKTsKKyAgICBTdHJpbmcgcGFzc3dvcmQgPSBtX2dldExvZ2luU3RhdGVtZW50LT5n
ZXRDb2x1bW5CbG9iQXNTdHJpbmcoMSk7CisgICAgbV9nZXRMb2dpblN0YXRlbWVudC0+cmVzZXQo
KTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBD
cmVkZW50aWFsKCksCiAgICAgICAgICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxlY3QgbG9naW4gaW5m
byBmcm9tIHRhYmxlIGxvZ2lucyBpbiBnZXRMb2dpbiAtICVpIiwgcmVzdWx0KTsKIAotICAgIHJl
dHVybiBDcmVkZW50aWFsKG1fZ2V0U3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDApLCBkZWNyeXB0
ZWRTdHJpbmcobV9nZXRTdGF0ZW1lbnQtPmdldENvbHVtblRleHQoMSkpLCBDcmVkZW50aWFsUGVy
c2lzdGVuY2VQZXJtYW5lbnQpOworICAgIHJldHVybiBDcmVkZW50aWFsKHVzZXJuYW1lLCBkZWNy
eXB0ZWRTdHJpbmcocGFzc3dvcmQpLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VQZXJtYW5lbnQpOwog
fQogCiBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92ZUxvZ2luKGNvbnN0IFByb3Rl
Y3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQpAQCAtMjM2LDIzICsyNTksMTE3IEBAIGJvb2wg
Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6cmVtb3ZlTG9naW4oY29uc3QgUHJvdGVjdGlvblNwYWNl
JiBwcm90ZWN0aW9uU3BhY2UpCiAgICAgQVNTRVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOwogICAg
IEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJsb2dpbnMiKSk7CiAKLSAgICBpZiAoIW1f
cmVtb3ZlU3RhdGVtZW50KQorICAgIGlmICghbV9yZW1vdmVMb2dpblN0YXRlbWVudCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV9yZW1vdmVTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHBy
b3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kSW50KDIs
IHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kSW50
KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOwotICAg
IG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7
Ci0gICAgbV9yZW1vdmVTdGF0ZW1lbnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90
ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkpOworICAgIG1fcmVtb3ZlTG9naW5T
dGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1fcmVt
b3ZlTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7Cisg
ICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+YmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+KHBy
b3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKKyAgICBtX3JlbW92ZUxvZ2luU3RhdGVtZW50
LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7CisgICAgbV9yZW1vdmVMb2dp
blN0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5h
dXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CiAKLSAgICBpbnQgcmVzdWx0ID0gbV9yZW1vdmVTdGF0
ZW1lbnQtPnN0ZXAoKTsKKyAgICBpbnQgcmVzdWx0ID0gbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+
c3RlcCgpOworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPnJlc2V0KCk7CiAgICAgSEFORExF
X1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9IFNRTFJlc3VsdERvbmUsIGZhbHNlLAogICAgICAg
ICAiRmFpbGVkIHRvIHJlbW92ZSBsb2dpbiBpbmZvIGZyb20gdGFibGUgbG9naW5zIC0gJWkiLCBy
ZXN1bHQpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgQ3JlZGVudGlhbEJhY2tpbmdT
dG9yZTo6Y2xlYXIoKQorYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjphZGROZXZlclJlbWVt
YmVyKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3Bh
Y2UpCit7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOworICAgIEFTU0VSVChtX2Rh
dGFiYXNlLnRhYmxlRXhpc3RzKCJuZXZlcl9yZW1lbWJlciIpKTsKKworICAgIGlmICghbV9hZGRO
ZXZlclJlbWVtYmVyU3RhdGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2Fk
ZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHVybC5zdHJpbmcoKSk7CisgICAg
bV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0aW9uU3BhY2Uu
aG9zdCgpKTsKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMywgcHJv
dGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5i
aW5kSW50KDQsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkp
OworICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRleHQoNSwgcHJvdGVjdGlv
blNwYWNlLnJlYWxtKCkpOworICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZElu
dCg2LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVt
ZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0ID0gbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5z
dGVwKCk7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5yZXNldCgpOworICAgIEhB
TkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1bHREb25lLCBmYWxzZSwKKyAg
ICAgICAgIkZhaWxlZCB0byBhZGQgbmF2ZXIgc2F2ZWQgaXRlbSBpbmZvIGludG8gdGFibGUgbmV2
ZXJfcmVtZW1iZXIgLSAlaSIsIHJlc3VsdCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9v
bCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpoYXNOZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rp
b25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3Bl
bigpKTsKKyAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIi
KSk7CisKKyAgICBpZiAoIW1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudCkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCgx
LCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1l
bnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9oYXNOZXZlclJl
bWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNw
YWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+Ymlu
ZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1faGFzTmV2ZXJSZW1lbWJl
clN0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5h
dXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0ID0gbV9oYXNOZXZlclJl
bWVtYmVyU3RhdGVtZW50LT5zdGVwKCk7CisgICAgaW50IG51bU9mUm93ID0gbV9oYXNOZXZlclJl
bWVtYmVyU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCk7CisgICAgbV9oYXNOZXZlclJlbWVtYmVy
U3RhdGVtZW50LT5yZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAh
PSBTUUxSZXN1bHRSb3csIGZhbHNlLAorICAgICAgICAiRmFpbGVkIHRvIGV4ZWN1dGUgc2VsZWN0
IHRvIGZpbmQgbmF2ZXIgc2F2ZWQgc2l0ZSBmcm9tIHRhYmxlIG5ldmVyX3JlbWVtYmVyIC0gJWki
LCByZXN1bHQpOworCisgICAgaWYgKG51bU9mUm93KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK0tVUkwgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Z2V0TmV2
ZXJSZW1lbWJlcihjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkKK3sKKyAg
ICBBU1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFi
bGVFeGlzdHMoIm5ldmVyX3JlbWVtYmVyIikpOworCisgICAgaWYgKCFtX2dldE5ldmVyUmVtZW1i
ZXJTdGF0ZW1lbnQpCisgICAgICAgIHJldHVybiBLVVJMKCk7CisKKyAgICBtX2dldE5ldmVyUmVt
ZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAg
IG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2Uu
cG9ydCgpKTsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMywgc3Rh
dGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9nZXRO
ZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0o
KSk7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19j
YXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKworICAg
IGludCByZXN1bHQgPSBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBT
dHJpbmcgdXJsID0gbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5nZXRDb2x1bW5UZXh0KDAp
OworICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cmVzZXQoKTsKKyAgICBIQU5ETEVf
U1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBLVVJMKCksCisgICAgICAg
ICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxlY3QgbmV2ZXIgc2F2ZWQgc2l0ZSBpbmZvIGZyb20gdGFi
bGUgbmV2ZXJfcmVtZW1iZXIgaW4gZ2V0TmV2ZXJSZW1lbWJlciAtICVpIiwgcmVzdWx0KTsKKwor
ICAgIHJldHVybiBLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKTsKK30KKworYm9vbCBDcmVkZW50
aWFsQmFja2luZ1N0b3JlOjpyZW1vdmVOZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25TcGFj
ZSYgcHJvdGVjdGlvblNwYWNlKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsK
KyAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIiKSk7CisK
KyAgICBpZiAoIW1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudCkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCgx
LCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0
ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9yZW1vdmVO
ZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVj
dGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRl
bWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1fcmVtb3Zl
TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3Rl
Y3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0ID0g
bV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5zdGVwKCk7CisgICAgbV9yZW1vdmVOZXZl
clJlbWVtYmVyU3RhdGVtZW50LT5yZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJF
KHJlc3VsdCAhPSBTUUxSZXN1bHREb25lLCBmYWxzZSwKKyAgICAgICAgIkZhaWxlZCB0byByZW1v
dmUgbmV2ZXIgc2F2ZWQgc2l0ZSBmcm9tIHRhYmxlIG5ldmVyX3JlbWVtYmVyIC0gJWkiLCByZXN1
bHQpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9y
ZTo6Y2xlYXJMb2dpbnMoKQogewogICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKICAg
ICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikpOwpAQCAtMjYzLDYgKzM4
MCwxNyBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmNsZWFyKCkKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAorYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhck5ldmVyUmVtZW1i
ZXIoKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKKyAgICBBU1NFUlQobV9k
YXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIiKSk7CisKKyAgICBIQU5ETEVfU1FM
X0VYRUNfRkFJTFVSRSghbV9kYXRhYmFzZS5leGVjdXRlQ29tbWFuZCgiREVMRVRFICogRlJPTSBu
ZXZlcl9yZW1lbWJlciIpLAorICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBjbGVhciB0YWJsZSBu
ZXZlcl9yZW1lbWJlciIpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIFN0cmluZyBDcmVkZW50
aWFsQmFja2luZ1N0b3JlOjplbmNyeXB0ZWRTdHJpbmcoY29uc3QgU3RyaW5nJiBwbGFpblRleHQp
IGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IE5lZWQgZW5jcnlwdCBwbGFpblRleHQgaGVyZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRl
bnRpYWxCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxh
Y2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmgKaW5kZXggZDEyNjMxMDY1ZDVmNjM1NjVk
MWQ3YjIwMmMzY2Y0Y2FmYzNmZjQwOS4uYTE1NWRlZTc3NTk1NWZmZjYzZGUwZjBiMTVkZWRhOTAx
MjU3ZGRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFj
a2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oCkBAIC0zNiwx
MSArMzYsMTYgQEAgcHVibGljOgogICAgIGJvb2wgb3Blbihjb25zdCBTdHJpbmcmIGRiUGF0aCk7
CiAgICAgdm9pZCBjbG9zZSgpOwogICAgIGJvb2wgYWRkTG9naW4oY29uc3QgS1VSTCYsIGNvbnN0
IFByb3RlY3Rpb25TcGFjZSYsIGNvbnN0IENyZWRlbnRpYWwmKTsKLSAgICBib29sIHVwZGF0ZUxv
Z2luKGNvbnN0IEtVUkwmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBDcmVkZW50aWFs
Jik7CisgICAgYm9vbCB1cGRhdGVMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBD
cmVkZW50aWFsJik7CiAgICAgYm9vbCBoYXNMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsK
ICAgICBDcmVkZW50aWFsIGdldExvZ2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYpOwogICAgIGJv
b2wgcmVtb3ZlTG9naW4oY29uc3QgUHJvdGVjdGlvblNwYWNlJik7Ci0gICAgYm9vbCBjbGVhcigp
OworICAgIGJvb2wgYWRkTmV2ZXJSZW1lbWJlcihjb25zdCBLVVJMJiwgY29uc3QgUHJvdGVjdGlv
blNwYWNlJik7CisgICAgYm9vbCBoYXNOZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25TcGFj
ZSYpOworICAgIEtVUkwgZ2V0TmV2ZXJSZW1lbWJlcihjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsK
KyAgICBib29sIHJlbW92ZU5ldmVyUmVtZW1iZXIoY29uc3QgUHJvdGVjdGlvblNwYWNlJik7Cisg
ICAgYm9vbCBjbGVhckxvZ2lucygpOworICAgIGJvb2wgY2xlYXJOZXZlclJlbWVtYmVyKCk7CiAK
IHByaXZhdGU6CiAgICAgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZSgpOwpAQCAtNDgsMTEgKzUzLDE1
IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGRlY3J5cHRlZFN0cmluZyhjb25zdCBTdHJpbmcmIGNp
cGhlclRleHQpIGNvbnN0OwogCiAgICAgU1FMaXRlRGF0YWJhc2UgbV9kYXRhYmFzZTsKLSAgICBT
UUxpdGVTdGF0ZW1lbnQqIG1fYWRkU3RhdGVtZW50OwotICAgIFNRTGl0ZVN0YXRlbWVudCogbV91
cGRhdGVTdGF0ZW1lbnQ7Ci0gICAgU1FMaXRlU3RhdGVtZW50KiBtX2hhc1N0YXRlbWVudDsKLSAg
ICBTUUxpdGVTdGF0ZW1lbnQqIG1fZ2V0U3RhdGVtZW50OwotICAgIFNRTGl0ZVN0YXRlbWVudCog
bV9yZW1vdmVTdGF0ZW1lbnQ7CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2FkZExvZ2luU3RhdGVt
ZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV91cGRhdGVMb2dpblN0YXRlbWVudDsKKyAgICBT
UUxpdGVTdGF0ZW1lbnQqIG1faGFzTG9naW5TdGF0ZW1lbnQ7CisgICAgU1FMaXRlU3RhdGVtZW50
KiBtX2dldExvZ2luU3RhdGVtZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV9yZW1vdmVMb2dp
blN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRl
bWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudDsK
KyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAgICBT
UUxpdGVTdGF0ZW1lbnQqIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129649</attachid>
            <date>2012-03-01 00:07:19 -0800</date>
            <delta_ts>2012-03-02 00:12:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79650-20120301160717.patch</filename>
            <type>text/plain</type>
            <size>27564</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzdlMDEwNTIzYjZlZjUx
YTIxYjFlYThkOTA0N2FhNWY4NDI0NTViOS4uZGMxOTA1YjljODc4MGViMGVjZWU2MTUxYTgzOWNk
ZjhmNDU5MjIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAzLTAxICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIENyZWRlbnRpYWwgYmFja2luZyBzdG9yZSBpbXBsZW1lbnRhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXZlcl9y
ZW1lbWJlciB0YWJsZSB0byBzdG9yZSB0aGUgbmV2ZXIgcmVtZW1iZXIKKyAgICAgICAgc2l0ZXM7
IGNoYW5nZWQgbG9naW4gdXBkYXRlIGFuZCBoYXMgc3RhdGVtZW50IHRvIHN1cHBvcnQKKyAgICAg
ICAgdGhlIGF1dG9maWxsIGZlYXR1cmUgb2YgbXVsdGlwbGUgY3JlZGVudGlhbCBmb3JtcyBpbiB0
aGUKKyAgICAgICAgc2FtZSBwYWdlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omluc3RhbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OkNyZWRlbnRpYWxCYWNr
aW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6b3Bl
bik6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbG9zZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjphZGRMb2dpbik6CisgICAg
ICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjp1cGRhdGVMb2dpbik6CisgICAg
ICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpoYXNMb2dpbik6CisgICAgICAg
IChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpnZXRMb2dpbik6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92
ZUxvZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZE5l
dmVyUmVtZW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6
aGFzTmV2ZXJSZW1lbWJlcik6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0
b3JlOjpnZXROZXZlclJlbWVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNr
aW5nU3RvcmU6OnJlbW92ZU5ldmVyUmVtZW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVu
dGlhbEJhY2tpbmdTdG9yZTo6Y2xlYXJMb2dpbnMpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVu
dGlhbEJhY2tpbmdTdG9yZTo6Y2xlYXJOZXZlclJlbWVtYmVyKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oOgorICAgICAgICAo
Q3JlZGVudGlhbEJhY2tpbmdTdG9yZSk6CisKIDIwMTItMDItMjkgIERhdmlkIEh5YXR0ICA8aHlh
dHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03OTk0MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwCmlu
ZGV4IGFjYWNjMzc4OTIyYzdmYmU4YjkwMDA5ZmE3MDU1MWU3MTg1NWJhYjIuLjc5MmUwNjFmNWNj
NjVlNDdhZmRlYTg5YzU5MDcwOWVkNjllNTMwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlh
bEJhY2tpbmdTdG9yZS5jcHAKQEAgLTIyLDE1ICsyMiwxNiBAQAogI2luY2x1ZGUgIkNyZWRlbnRp
YWxCYWNraW5nU3RvcmUuaCIKIAogI2luY2x1ZGUgIkNyZWRlbnRpYWxTdG9yYWdlLmgiCisjaW5j
bHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogI2luY2x1ZGUgIlByb3RlY3Rpb25TcGFjZUhhc2guaCIKICNpbmNsdWRlICJT
UUxpdGVTdGF0ZW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KKyNpbmNsdWRl
IDxCbGFja0JlcnJ5UGxhdGZvcm1DbGllbnQuaD4KIAogI2RlZmluZSBIQU5ETEVfU1FMX0VYRUNf
RkFJTFVSRShzdGF0ZW1lbnQsIHJldHVyblZhbHVlLCAuLi4pIFwKICAgICBpZiAoc3RhdGVtZW50
KSB7IFwKLSAgICAgICAgTE9HX0VSUk9SKF9fVkFSX0FSR1NfXyk7IFwKKyAgICAgICAgTE9HX0VS
Uk9SKF9fVkFfQVJHU19fKTsgXAogICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7IFwKICAgICB9
CiAKQEAgLTM5LDE3ICs0MCwyNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBDcmVkZW50aWFsQmFj
a2luZ1N0b3JlKiBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjppbnN0YW5jZSgpCiB7CiAgICAgc3Rh
dGljIENyZWRlbnRpYWxCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSA9IDA7Ci0gICAgaWYgKCFi
YWNraW5nU3RvcmUpCisgICAgaWYgKCFiYWNraW5nU3RvcmUpIHsKICAgICAgICAgYmFja2luZ1N0
b3JlID0gbmV3IENyZWRlbnRpYWxCYWNraW5nU3RvcmU7CisgICAgICAgIGJhY2tpbmdTdG9yZS0+
b3BlbihwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaWVu
dDo6Z2V0KCktPmdldEFwcGxpY2F0aW9uRGF0YURpcmVjdG9yeSgpLmNfc3RyKCksICIvY3JlZGVu
dGlhbHMuZGIiKSk7CisgICAgfQogICAgIHJldHVybiBiYWNraW5nU3RvcmU7CiB9CiAKIENyZWRl
bnRpYWxCYWNraW5nU3RvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmUoKQotICAgIDogbV9hZGRT
dGF0ZW1lbnQoMCkKLSAgICAsIG1fdXBkYXRlU3RhdGVtZW50KDApCi0gICAgLCBtX2hhc1N0YXRl
bWVudCgwKQotICAgICwgbV9nZXRTdGF0ZW1lbnQoMCkKLSAgICAsIG1fcmVtb3ZlU3RhdGVtZW50
KDApCisgICAgOiBtX2FkZExvZ2luU3RhdGVtZW50KDApCisgICAgLCBtX3VwZGF0ZUxvZ2luU3Rh
dGVtZW50KDApCisgICAgLCBtX2hhc0xvZ2luU3RhdGVtZW50KDApCisgICAgLCBtX2dldExvZ2lu
U3RhdGVtZW50KDApCisgICAgLCBtX2dldExvZ2luQnlVUkxTdGF0ZW1lbnQoMCkKKyAgICAsIG1f
cmVtb3ZlTG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVu
dCgwKQorICAgICwgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50KDApCisgICAgLCBtX2dldE5l
dmVyUmVtZW1iZXJTdGF0ZW1lbnQoMCkKKyAgICAsIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRl
bWVudCgwKQogewogfQogCkBAIC03MSw2OSArNzksODUgQEAgYm9vbCBDcmVkZW50aWFsQmFja2lu
Z1N0b3JlOjpvcGVuKGNvbnN0IFN0cmluZyYgZGJQYXRoKQogICAgICAgICAgICAgZmFsc2UsICJG
YWlsZWQgdG8gY3JlYXRlIHRhYmxlIGxvZ2lucyBmb3IgbG9naW4gZGF0YWJhc2UiKTsKIAogICAg
ICAgICAvLyBDcmVhdGUgaW5kZXggZm9yIHRhYmxlIGxvZ2lucy4KLSAgICAgICAgSEFORExFX1NR
TF9FWEVDX0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBs
b2dpbnNfc2lnbm9uIE9OIGxvZ2lucyAoaG9zdCkiKSwKKyAgICAgICAgSEFORExFX1NRTF9FWEVD
X0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBsb2dpbnNf
aW5kZXggT04gbG9naW5zIChob3N0KSIpLAogICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8g
Y3JlYXRlIGluZGV4IGZvciB0YWJsZSBsb2dpbnMiKTsKLSAgICB9IGVsc2UgeyAvLyBJbml0aWF0
ZSBDcmVkZW50aWFsU3RvcmFnZS4KLSAgICAgICAgU1FMaXRlU3RhdGVtZW50IHF1ZXJ5KG1fZGF0
YWJhc2UsICJTRUxFQ1Qgb3JpZ2luX3VybCwgaG9zdCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFs
bSwgYXV0aF9zY2hlbWUsIHVzZXJuYW1lLCBwYXNzd29yZCBGUk9NIGxvZ2lucyIpOwotICAgICAg
ICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShxdWVyeS5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ss
Ci0gICAgICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIHF1ZXJ5IHN0YXRlbWVudCB0
byBpbml0aWF0ZSBDcmVkZW50aWFsU3RvcmFnZSIpOwotCi0gICAgICAgIGludCByZXN1bHQgPSBx
dWVyeS5zdGVwKCk7Ci0gICAgICAgIHdoaWxlIChyZXN1bHQgPT0gU1FMUmVzdWx0Um93KSB7Ci0g
ICAgICAgICAgICBTdHJpbmcgc3RyVXJsID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgxKTsKLSAgICAg
ICAgICAgIFN0cmluZyBzdHJIb3N0ID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgyKTsKLSAgICAgICAg
ICAgIGludCBpbnRQb3J0ID0gcXVlcnkuZ2V0Q29sdW1uSW50KDMpOwotICAgICAgICAgICAgUHJv
dGVjdGlvblNwYWNlU2VydmVyVHlwZSBzZXJ2aWNlVHlwZSA9IHN0YXRpY19jYXN0PFByb3RlY3Rp
b25TcGFjZVNlcnZlclR5cGU+KHF1ZXJ5LmdldENvbHVtbkludCg0KSk7Ci0gICAgICAgICAgICBT
dHJpbmcgc3RyUmVhbG0gPSBxdWVyeS5nZXRDb2x1bW5UZXh0KDUpOwotICAgICAgICAgICAgUHJv
dGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aFNjaGVtZSA9IHN0YXRpY19jYXN0
PFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lPihxdWVyeS5nZXRDb2x1bW5JbnQo
NikpOwotICAgICAgICAgICAgU3RyaW5nIHN0clVzZXJOYW1lID0gcXVlcnkuZ2V0Q29sdW1uVGV4
dCg3KTsKLSAgICAgICAgICAgIFN0cmluZyBzdHJQYXNzd29yZCA9IGRlY3J5cHRlZFN0cmluZyhx
dWVyeS5nZXRDb2x1bW5UZXh0KDgpKTsKLQotICAgICAgICAgICAgS1VSTCB1cmwoUGFyc2VkVVJM
U3RyaW5nLCBzdHJVcmwpOwotICAgICAgICAgICAgUHJvdGVjdGlvblNwYWNlIHByb3RlY3Rpb25T
cGFjZShzdHJIb3N0LCBpbnRQb3J0LCBzZXJ2aWNlVHlwZSwgc3RyUmVhbG0sIGF1dGhTY2hlbWUp
OwotICAgICAgICAgICAgQ3JlZGVudGlhbCBjcmVkZW50aWFsKHN0clVzZXJOYW1lLCBzdHJQYXNz
d29yZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50KTsKLSAgICAgICAgICAgIENyZWRl
bnRpYWxTdG9yYWdlOjpzZXQoY3JlZGVudGlhbCwgcHJvdGVjdGlvblNwYWNlLCB1cmwpOwotCi0g
ICAgICAgICAgICByZXN1bHQgPSBxdWVyeS5zdGVwKCk7Ci0gICAgICAgIH0KKyAgICB9CisKKyAg
ICBpZiAoIW1fZGF0YWJhc2UudGFibGVFeGlzdHMoIm5ldmVyX3JlbWVtYmVyIikpIHsKKyAgICAg
ICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNS
RUFURSBUQUJMRSBuZXZlcl9yZW1lbWJlciAob3JpZ2luX3VybCBWQVJDSEFSIE5PVCBOVUxMLCBo
b3N0IFZBUkNIQVIgTk9UIE5VTEwsIHBvcnQgSU5URUdFUiwgc2VydmljZV90eXBlIElOVEVHRVIg
Tk9UIE5VTEwsIHJlYWxtIFZBUkNIQVIsIGF1dGhfc2NoZW1lIElOVEVHRVIgTk9UIE5VTEwpICIp
LAorICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gY3JlYXRlIHRhYmxlIG5ldmVyX3JlbWVt
YmVyIGZvciBsb2dpbiBkYXRhYmFzZSIpOworCisgICAgICAgIC8vIENyZWF0ZSBpbmRleCBmb3Ig
dGFibGUgbmV2ZXJfcmVtZW1iZXIuCisgICAgICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKCFt
X2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKCJDUkVBVEUgSU5ERVggbmV2ZXJfcmVtZW1iZXJfaW5k
ZXggT04gbmV2ZXJfcmVtZW1iZXIgKGhvc3QpIiksCisgICAgICAgICAgICBmYWxzZSwgIkZhaWxl
ZCB0byBjcmVhdGUgaW5kZXggZm9yIHRhYmxlIG5ldmVyX3JlbWVtYmVyIik7CiAgICAgfQogCiAg
ICAgLy8gUHJlcGFyZSB0aGUgc3RhdGVtZW50cy4KLSAgICBtX2FkZFN0YXRlbWVudCA9IG5ldyBT
UUxpdGVTdGF0ZW1lbnQobV9kYXRhYmFzZSwgIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gbG9naW5z
IChvcmlnaW5fdXJsLCBob3N0LCBwb3J0LCBzZXJ2aWNlX3R5cGUsIHJlYWxtLCBhdXRoX3NjaGVt
ZSwgdXNlcm5hbWUsIHBhc3N3b3JkKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8pIik7
Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9hZGRTdGF0ZW1lbnQtPnByZXBhcmUoKSAh
PSBTUUxSZXN1bHRPaywKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRl
bWVudChtX2RhdGFiYXNlLCAiSU5TRVJUIE9SIFJFUExBQ0UgSU5UTyBsb2dpbnMgKG9yaWdpbl91
cmwsIGhvc3QsIHBvcnQsIHNlcnZpY2VfdHlwZSwgcmVhbG0sIGF1dGhfc2NoZW1lLCB1c2VybmFt
ZSwgcGFzc3dvcmQpIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPykiKTsKKyAgICBIQU5E
TEVfU1FMX0VYRUNfRkFJTFVSRShtX2FkZExvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FM
UmVzdWx0T2ssCiAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgYWRkTG9naW4gc3Rh
dGVtZW50Iik7CiAKLSAgICBtX3VwZGF0ZVN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQo
bV9kYXRhYmFzZSwgIlVQREFURSBsb2dpbnMgU0VUIHVzZXJuYW1lID0gPywgcGFzc3dvcmQgPSA/
IFdIRVJFIG9yaWdpbl91cmwgPSA/IEFORCBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZp
Y2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFO
RExFX1NRTF9FWEVDX0ZBSUxVUkUobV91cGRhdGVTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxS
ZXN1bHRPaywKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVu
dChtX2RhdGFiYXNlLCAiVVBEQVRFIGxvZ2lucyBTRVQgdXNlcm5hbWUgPSA/LCBwYXNzd29yZCA9
ID8gV0hFUkUgb3JpZ2luX3VybCA9ID8gQU5EIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQgc2Vy
dmljZV90eXBlID0gPyBBTkQgcmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKKyAgICBI
QU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkg
IT0gU1FMUmVzdWx0T2ssCiAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgdXBkYXRl
TG9naW4gc3RhdGVtZW50Iik7CiAKLSAgICBtX2hhc1N0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0
ZW1lbnQobV9kYXRhYmFzZSwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIGxvZ2lucyBXSEVSRSBob3N0
ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQg
YXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9oYXNTdGF0
ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICBtX2hhc0xvZ2luU3RhdGVtZW50
ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIENPVU5UKCopIEZST00g
bG9naW5zIFdIRVJFIChvcmlnaW5fdXJsID0gPykgT1IgKGhvc3QgPSA/IEFORCBwb3J0ID0gPyBB
TkQgc2VydmljZV90eXBlID0gPyBBTkQgcmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8pIik7
CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9oYXNMb2dpblN0YXRlbWVudC0+cHJlcGFy
ZSgpICE9IFNRTFJlc3VsdE9rLAogICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGhh
c0xvZ2luIHN0YXRlbWVudCIpOwogCi0gICAgbV9nZXRTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3Rh
dGVtZW50KG1fZGF0YWJhc2UsICJTRUxFQ1QgdXNlcm5hbWUsIHBhc3N3b3JkIEZST00gbG9naW5z
IFdIRVJFIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQgc2VydmljZV90eXBlID0gPyBBTkQgcmVh
bG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKLSAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVS
RShtX2dldFN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAgIG1fZ2V0TG9n
aW5TdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJhc2UsICJTRUxFQ1QgdXNl
cm5hbWUsIHBhc3N3b3JkIEZST00gbG9naW5zIFdIRVJFIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBB
TkQgc2VydmljZV90eXBlID0gPyBBTkQgcmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsK
KyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX2dldExvZ2luU3RhdGVtZW50LT5wcmVwYXJl
KCkgIT0gU1FMUmVzdWx0T2ssCiAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgZ2V0
TG9naW4gc3RhdGVtZW50Iik7CiAKLSAgICBtX3JlbW92ZVN0YXRlbWVudCA9IG5ldyBTUUxpdGVT
dGF0ZW1lbnQobV9kYXRhYmFzZSwgIkRFTEVURSBGUk9NIGxvZ2lucyBXSEVSRSBob3N0ID0gPyBB
TkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9z
Y2hlbWUgPSA/Iik7Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9yZW1vdmVTdGF0ZW1l
bnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICBtX2dldExvZ2luQnlVUkxTdGF0ZW1l
bnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJhc2UsICJTRUxFQ1QgdXNlcm5hbWUsIHBh
c3N3b3JkIEZST00gbG9naW5zIFdIRVJFIG9yaWdpbl91cmwgPSA/Iik7CisgICAgSEFORExFX1NR
TF9FWEVDX0ZBSUxVUkUobV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FM
UmVzdWx0T2ssCisgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgZ2V0TG9naW5CeVVS
TCBzdGF0ZW1lbnQiKTsKKworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQgPSBuZXcgU1FMaXRl
U3RhdGVtZW50KG1fZGF0YWJhc2UsICJERUxFVEUgRlJPTSBsb2dpbnMgV0hFUkUgb3JpZ2luX3Vy
bCA9ID8gQU5EIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQgc2VydmljZV90eXBlID0gPyBBTkQg
cmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJ
TFVSRShtX3JlbW92ZUxvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCiAg
ICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgcmVtb3ZlTG9naW4gc3RhdGVtZW50Iik7
CiAKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50
KG1fZGF0YWJhc2UsICJJTlNFUlQgT1IgUkVQTEFDRSBJTlRPIG5ldmVyX3JlbWVtYmVyIChvcmln
aW5fdXJsLCBob3N0LCBwb3J0LCBzZXJ2aWNlX3R5cGUsIHJlYWxtLCBhdXRoX3NjaGVtZSkgVkFM
VUVTICg/LCA/LCA/LCA/LCA/LCA/KSIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1f
YWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAg
ICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGFkZE5ldmVyUmVtZW1iZXIgc3RhdGVtZW50
Iik7CisKKyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVt
ZW50KG1fZGF0YWJhc2UsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBuZXZlcl9yZW1lbWJlciBXSEVS
RSBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0g
PyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9o
YXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCisgICAg
ICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgaGFzTmV2ZXJSZW1lbWJlciBzdGF0ZW1lbnQi
KTsKKworICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1l
bnQobV9kYXRhYmFzZSwgIlNFTEVDVCBvcmlnaW5fdXJsIEZST00gbmV2ZXJfcmVtZW1iZXIgV0hF
UkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9
ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1f
Z2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAg
ICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGdldE5ldmVyUmVtZW1iZXIgc3RhdGVtZW50
Iik7CisKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3Rh
dGVtZW50KG1fZGF0YWJhc2UsICJERUxFVEUgRlJPTSBuZXZlcl9yZW1lbWJlciBXSEVSRSBob3N0
ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQg
YXV0aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9yZW1vdmVO
ZXZlclJlbWVtYmVyU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCisgICAgICAg
IGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgcmVtb3ZlTmV2ZXJSZW1lbWJlciBzdGF0ZW1lbnQi
KTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6
OmNsb3NlKCkKIHsKLSAgICBkZWxldGUgbV9hZGRTdGF0ZW1lbnQ7Ci0gICAgbV9hZGRTdGF0ZW1l
bnQgPSAwOwotICAgIGRlbGV0ZSBtX3VwZGF0ZVN0YXRlbWVudDsKLSAgICBtX3VwZGF0ZVN0YXRl
bWVudCA9IDA7Ci0gICAgZGVsZXRlIG1faGFzU3RhdGVtZW50OwotICAgIG1faGFzU3RhdGVtZW50
ID0gMDsKLSAgICBkZWxldGUgbV9nZXRTdGF0ZW1lbnQ7Ci0gICAgbV9nZXRTdGF0ZW1lbnQgPSAw
OwotICAgIGRlbGV0ZSBtX3JlbW92ZVN0YXRlbWVudDsKLSAgICBtX3JlbW92ZVN0YXRlbWVudCA9
IDA7CisgICAgZGVsZXRlIG1fYWRkTG9naW5TdGF0ZW1lbnQ7CisgICAgbV9hZGRMb2dpblN0YXRl
bWVudCA9IDA7CisgICAgZGVsZXRlIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQ7CisgICAgbV91cGRh
dGVMb2dpblN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1faGFzTG9naW5TdGF0ZW1lbnQ7Cisg
ICAgbV9oYXNMb2dpblN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1fZ2V0TG9naW5TdGF0ZW1l
bnQ7CisgICAgbV9nZXRMb2dpblN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1fZ2V0TG9naW5C
eVVSTFN0YXRlbWVudDsKKyAgICBtX2dldExvZ2luQnlVUkxTdGF0ZW1lbnQgPSAwOworICAgIGRl
bGV0ZSBtX3JlbW92ZUxvZ2luU3RhdGVtZW50OworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQg
PSAwOworICAgIGRlbGV0ZSBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAgbV9hZGRO
ZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gMDsKKyAgICBkZWxldGUgbV9oYXNOZXZlclJlbWVtYmVy
U3RhdGVtZW50OworICAgIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudCA9IDA7CisgICAgZGVs
ZXRlIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJT
dGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7
CisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gMDsKIAogICAgIGlmIChtX2Rh
dGFiYXNlLmlzT3BlbigpKQogICAgICAgICBtX2RhdGFiYXNlLmNsb3NlKCk7CkBAIC0xNDQsMTkg
KzE2OCwyMCBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZExvZ2luKGNvbnN0IEtV
UkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcgogICAgIEFTU0VSVChtX2RhdGFiYXNl
LmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikp
OwogCi0gICAgaWYgKCFtX2FkZFN0YXRlbWVudCkKKyAgICBpZiAoIW1fYWRkTG9naW5TdGF0ZW1l
bnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kVGV4
dCgxLCB1cmwuc3RyaW5nKCkpOwotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90
ZWN0aW9uU3BhY2UuaG9zdCgpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZEludCgzLCBwcm90
ZWN0aW9uU3BhY2UucG9ydCgpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZEludCg0LCBzdGF0
aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKLSAgICBtX2FkZFN0
YXRlbWVudC0+YmluZFRleHQoNSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwotICAgIG1fYWRk
U3RhdGVtZW50LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1
dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZFRleHQoNywg
Y3JlZGVudGlhbC51c2VyKCkpOwotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kQmxvYig4LCBlbmNy
eXB0ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7Ci0KLSAgICBpbnQgcmVzdWx0ID0g
bV9hZGRTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4
dCgxLCB1cmwuc3RyaW5nKCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDIs
IHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRJ
bnQoMywgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+
YmluZEludCg0LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkp
KTsKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCg1LCBwcm90ZWN0aW9uU3BhY2Uu
cmVhbG0oKSk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2Fz
dDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisgICAgbV9h
ZGRMb2dpblN0YXRlbWVudC0+YmluZFRleHQoNywgY3JlZGVudGlhbC51c2VyKCkpOworICAgIG1f
YWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRCbG9iKDgsIGVuY3J5cHRlZFN0cmluZyhjcmVkZW50aWFs
LnBhc3N3b3JkKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2FkZExvZ2luU3RhdGVtZW50LT5z
dGVwKCk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FM
X0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0RG9uZSwgZmFsc2UsCiAgICAgICAgICJG
YWlsZWQgdG8gYWRkIGxvZ2luIGluZm8gaW50byB0YWJsZSBsb2dpbnMgLSAlaSIsIHJlc3VsdCk7
CiAKQEAgLTE2OCw0NCArMTkzLDQ4IEBAIGJvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6dXBk
YXRlTG9naW4oY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmCiAgICAgQVNT
RVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOwogICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhp
c3RzKCJsb2dpbnMiKSk7CiAKLSAgICBpZiAoIW1fdXBkYXRlU3RhdGVtZW50KQorICAgIGlmICgh
bV91cGRhdGVMb2dpblN0YXRlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV91
cGRhdGVTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHVybC5zdHJpbmcoKSk7Ci0gICAgbV91cGRhdGVT
dGF0ZW1lbnQtPmJpbmRUZXh0KDIsIGNyZWRlbnRpYWwudXNlcigpKTsKLSAgICBtX3VwZGF0ZVN0
YXRlbWVudC0+YmluZEJsb2IoMywgZW5jcnlwdGVkU3RyaW5nKGNyZWRlbnRpYWwucGFzc3dvcmQo
KSkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2Uu
aG9zdCgpKTsKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+YmluZEludCg1LCBwcm90ZWN0aW9uU3Bh
Y2UucG9ydCgpKTsKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2Fz
dDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKLSAgICBtX3VwZGF0ZVN0YXRl
bWVudC0+YmluZFRleHQoNywgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwotICAgIG1fdXBkYXRl
U3RhdGVtZW50LT5iaW5kSW50KDgsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1
dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKLQotICAgIGludCByZXN1bHQgPSBtX3VwZGF0ZVN0YXRl
bWVudC0+c3RlcCgpOworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIGNy
ZWRlbnRpYWwudXNlcigpKTsKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kQmxvYigy
LCBlbmNyeXB0ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7CisgICAgbV91cGRhdGVM
b2dpblN0YXRlbWVudC0+YmluZFRleHQoMywgdXJsLnN0cmluZygpKTsKKyAgICBtX3VwZGF0ZUxv
Z2luU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBt
X3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kSW50KDUsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkp
OworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoNiwgc3RhdGljX2Nhc3Q8aW50
Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV91cGRhdGVMb2dpblN0YXRl
bWVudC0+YmluZFRleHQoNywgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1fdXBkYXRl
TG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoOCwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3Bh
Y2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkpOworCisgICAgaW50IHJlc3VsdCA9IG1fdXBkYXRl
TG9naW5TdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5yZXNl
dCgpOwogICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1bHREb25l
LCBmYWxzZSwKICAgICAgICAgIkZhaWxlZCB0byB1cGRhdGUgbG9naW4gaW5mbyBpbiB0YWJsZSBs
b2dpbnMgLSAlaSIsIHJlc3VsdCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDcmVk
ZW50aWFsQmFja2luZ1N0b3JlOjpoYXNMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3Rl
Y3Rpb25TcGFjZSkKK2Jvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6aGFzTG9naW4oY29uc3Qg
S1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkKIHsKICAg
ICBBU1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CiAgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFi
bGVFeGlzdHMoImxvZ2lucyIpKTsKIAotICAgIGlmICghbV9oYXNTdGF0ZW1lbnQpCisgICAgaWYg
KCFtX2hhc0xvZ2luU3RhdGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX2hh
c1N0YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7Ci0gICAgbV9o
YXNTdGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7Ci0gICAgbV9o
YXNTdGF0ZW1lbnQtPmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uu
c2VydmVyVHlwZSgpKSk7Ci0gICAgbV9oYXNTdGF0ZW1lbnQtPmJpbmRUZXh0KDQsIHByb3RlY3Rp
b25TcGFjZS5yZWFsbSgpKTsKLSAgICBtX2hhc1N0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNf
Y2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisgICAg
bV9oYXNMb2dpblN0YXRlbWVudC0+YmluZFRleHQoMSwgdXJsLnN0cmluZygpKTsKKyAgICBtX2hh
c0xvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAg
ICBtX2hhc0xvZ2luU3RhdGVtZW50LT5iaW5kSW50KDMsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkp
OworICAgIG1faGFzTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoNCwgc3RhdGljX2Nhc3Q8aW50Pihw
cm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9oYXNMb2dpblN0YXRlbWVudC0+
YmluZFRleHQoNSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1faGFzTG9naW5TdGF0
ZW1lbnQtPmJpbmRJbnQoNiwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVu
dGljYXRpb25TY2hlbWUoKSkpOwogCi0gICAgaW50IHJlc3VsdCA9IG1faGFzU3RhdGVtZW50LT5z
dGVwKCk7CisgICAgaW50IHJlc3VsdCA9IG1faGFzTG9naW5TdGF0ZW1lbnQtPnN0ZXAoKTsKKyAg
ICBpbnQgbnVtT2ZSb3cgPSBtX2hhc0xvZ2luU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCk7Cisg
ICAgbV9oYXNMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJ
TFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBmYWxzZSwKICAgICAgICAgIkZhaWxlZCB0byBl
eGVjdXRlIHNlbGVjdCBsb2dpbiBpbmZvIGZyb20gdGFibGUgbG9naW5zIGluIGhhc0xvZ2luIC0g
JWkiLCByZXN1bHQpOwogCi0gICAgaWYgKG1faGFzU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCkp
CisgICAgaWYgKG51bU9mUm93KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gZmFs
c2U7CiB9CkBAIC0yMTUsNDQgKzI0NCwxNjIgQEAgQ3JlZGVudGlhbCBDcmVkZW50aWFsQmFja2lu
Z1N0b3JlOjpnZXRMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGEKICAg
ICBBU1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CiAgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFi
bGVFeGlzdHMoImxvZ2lucyIpKTsKIAotICAgIGlmICghbV9nZXRTdGF0ZW1lbnQpCisgICAgaWYg
KCFtX2dldExvZ2luU3RhdGVtZW50KQorICAgICAgICByZXR1cm4gQ3JlZGVudGlhbCgpOworCisg
ICAgbV9nZXRMb2dpblN0YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNlLmhvc3Qo
KSk7CisgICAgbV9nZXRMb2dpblN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2Uu
cG9ydCgpKTsKKyAgICBtX2dldExvZ2luU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0
PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fZ2V0TG9naW5TdGF0
ZW1lbnQtPmJpbmRUZXh0KDQsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX2dldExv
Z2luU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNl
LmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2dldExvZ2lu
U3RhdGVtZW50LT5zdGVwKCk7CisgICAgU3RyaW5nIHVzZXJuYW1lID0gbV9nZXRMb2dpblN0YXRl
bWVudC0+Z2V0Q29sdW1uVGV4dCgwKTsKKyAgICBTdHJpbmcgcGFzc3dvcmQgPSBtX2dldExvZ2lu
U3RhdGVtZW50LT5nZXRDb2x1bW5CbG9iQXNTdHJpbmcoMSk7CisgICAgbV9nZXRMb2dpblN0YXRl
bWVudC0+cmVzZXQoKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FM
UmVzdWx0Um93LCBDcmVkZW50aWFsKCksCisgICAgICAgICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxl
Y3QgbG9naW4gaW5mbyBmcm9tIHRhYmxlIGxvZ2lucyBpbiBnZXRMb2dpbiAtICVpIiwgcmVzdWx0
KTsKKworICAgIHJldHVybiBDcmVkZW50aWFsKHVzZXJuYW1lLCBkZWNyeXB0ZWRTdHJpbmcocGFz
c3dvcmQpLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VQZXJtYW5lbnQpOworfQorCitDcmVkZW50aWFs
IENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmdldExvZ2luKGNvbnN0IEtVUkwmIHVybCkKK3sKKyAg
ICBBU1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFi
bGVFeGlzdHMoImxvZ2lucyIpKTsKKworICAgIGlmICghbV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50
KQogICAgICAgICByZXR1cm4gQ3JlZGVudGlhbCgpOwogCi0gICAgbV9nZXRTdGF0ZW1lbnQtPmJp
bmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAgIG1fZ2V0U3RhdGVtZW50LT5i
aW5kSW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwotICAgIG1fZ2V0U3RhdGVtZW50LT5i
aW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkp
OwotICAgIG1fZ2V0U3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0o
KSk7Ci0gICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90
ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkpOworICAgIG1fZ2V0TG9naW5CeVVS
TFN0YXRlbWVudC0+YmluZFRleHQoMSwgdXJsLnN0cmluZygpKTsKIAotICAgIGludCByZXN1bHQg
PSBtX2dldFN0YXRlbWVudC0+c3RlcCgpOworICAgIGludCByZXN1bHQgPSBtX2dldExvZ2luQnlV
UkxTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBTdHJpbmcgdXNlcm5hbWUgPSBtX2dldExvZ2luQnlV
UkxTdGF0ZW1lbnQtPmdldENvbHVtblRleHQoMCk7CisgICAgU3RyaW5nIHBhc3N3b3JkID0gbV9n
ZXRMb2dpbkJ5VVJMU3RhdGVtZW50LT5nZXRDb2x1bW5CbG9iQXNTdHJpbmcoMSk7CisgICAgbV9n
ZXRMb2dpbkJ5VVJMU3RhdGVtZW50LT5yZXNldCgpOwogICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlM
VVJFKHJlc3VsdCAhPSBTUUxSZXN1bHRSb3csIENyZWRlbnRpYWwoKSwKICAgICAgICAgIkZhaWxl
ZCB0byBleGVjdXRlIHNlbGVjdCBsb2dpbiBpbmZvIGZyb20gdGFibGUgbG9naW5zIGluIGdldExv
Z2luIC0gJWkiLCByZXN1bHQpOwogCi0gICAgcmV0dXJuIENyZWRlbnRpYWwobV9nZXRTdGF0ZW1l
bnQtPmdldENvbHVtblRleHQoMCksIGRlY3J5cHRlZFN0cmluZyhtX2dldFN0YXRlbWVudC0+Z2V0
Q29sdW1uVGV4dCgxKSksIENyZWRlbnRpYWxQZXJzaXN0ZW5jZVBlcm1hbmVudCk7CisgICAgcmV0
dXJuIENyZWRlbnRpYWwodXNlcm5hbWUsIGRlY3J5cHRlZFN0cmluZyhwYXNzd29yZCksIENyZWRl
bnRpYWxQZXJzaXN0ZW5jZVBlcm1hbmVudCk7CiB9CiAKLWJvb2wgQ3JlZGVudGlhbEJhY2tpbmdT
dG9yZTo6cmVtb3ZlTG9naW4oY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2Up
Citib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92ZUxvZ2luKGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCiB7CiAgICAgQVNTRVJU
KG1fZGF0YWJhc2UuaXNPcGVuKCkpOwogICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3Rz
KCJsb2dpbnMiKSk7CiAKLSAgICBpZiAoIW1fcmVtb3ZlU3RhdGVtZW50KQorICAgIGlmICghbV9y
ZW1vdmVMb2dpblN0YXRlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV9yZW1v
dmVTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAgIG1f
cmVtb3ZlU3RhdGVtZW50LT5iaW5kSW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwotICAg
IG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlv
blNwYWNlLnNlcnZlclR5cGUoKSkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kVGV4dCg0
LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7Ci0gICAgbV9yZW1vdmVTdGF0ZW1lbnQtPmJpbmRJ
bnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hl
bWUoKSkpOworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHVybC5zdHJp
bmcoKSk7CisgICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+YmluZFRleHQoMiwgcHJvdGVjdGlv
blNwYWNlLmhvc3QoKSk7CisgICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+YmluZEludCgzLCBw
cm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBtX3JlbW92ZUxvZ2luU3RhdGVtZW50LT5iaW5k
SW50KDQsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOwor
ICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDUsIHByb3RlY3Rpb25TcGFjZS5y
ZWFsbSgpKTsKKyAgICBtX3JlbW92ZUxvZ2luU3RhdGVtZW50LT5iaW5kSW50KDYsIHN0YXRpY19j
YXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKIAotICAg
IGludCByZXN1bHQgPSBtX3JlbW92ZVN0YXRlbWVudC0+c3RlcCgpOworICAgIGludCByZXN1bHQg
PSBtX3JlbW92ZUxvZ2luU3RhdGVtZW50LT5zdGVwKCk7CisgICAgbV9yZW1vdmVMb2dpblN0YXRl
bWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FM
UmVzdWx0RG9uZSwgZmFsc2UsCiAgICAgICAgICJGYWlsZWQgdG8gcmVtb3ZlIGxvZ2luIGluZm8g
ZnJvbSB0YWJsZSBsb2dpbnMgLSAlaSIsIHJlc3VsdCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhcigpCitib29sIENyZWRlbnRpYWxC
YWNraW5nU3RvcmU6OmFkZE5ldmVyUmVtZW1iZXIoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90
ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkKK3sKKyAgICBBU1NFUlQobV9kYXRhYmFzZS5p
c09wZW4oKSk7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFibGVFeGlzdHMoIm5ldmVyX3JlbWVt
YmVyIikpOworCisgICAgaWYgKCFtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRl
eHQoMSwgdXJsLnN0cmluZygpKTsKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJp
bmRUZXh0KDIsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1fYWRkTmV2ZXJSZW1lbWJl
clN0YXRlbWVudC0+YmluZEludCgzLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBtX2Fk
ZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoNCwgc3RhdGljX2Nhc3Q8aW50Pihwcm90
ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVt
ZW50LT5iaW5kVGV4dCg1LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7CisgICAgbV9hZGROZXZl
clJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlv
blNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2Fk
ZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJT
dGF0ZW1lbnQtPnJlc2V0KCk7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9
IFNRTFJlc3VsdERvbmUsIGZhbHNlLAorICAgICAgICAiRmFpbGVkIHRvIGFkZCBuYXZlciBzYXZl
ZCBpdGVtIGluZm8gaW50byB0YWJsZSBuZXZlcl9yZW1lbWJlciAtICVpIiwgcmVzdWx0KTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCitib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omhhc05l
dmVyUmVtZW1iZXIoY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCit7Cisg
ICAgQVNTRVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOworICAgIEFTU0VSVChtX2RhdGFiYXNlLnRh
YmxlRXhpc3RzKCJuZXZlcl9yZW1lbWJlciIpKTsKKworICAgIGlmICghbV9oYXNOZXZlclJlbWVt
YmVyU3RhdGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2hhc05ldmVyUmVt
ZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAg
IG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2Uu
cG9ydCgpKTsKKyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMywgc3Rh
dGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9oYXNO
ZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0o
KSk7CisgICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19j
YXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKworICAg
IGludCByZXN1bHQgPSBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBp
bnQgbnVtT2ZSb3cgPSBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmdldENvbHVtbkludCgw
KTsKKyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnJlc2V0KCk7CisgICAgSEFORExF
X1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9IFNRTFJlc3VsdFJvdywgZmFsc2UsCisgICAgICAg
ICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxlY3QgdG8gZmluZCBuYXZlciBzYXZlZCBzaXRlIGZyb20g
dGFibGUgbmV2ZXJfcmVtZW1iZXIgLSAlaSIsIHJlc3VsdCk7CisKKyAgICBpZiAobnVtT2ZSb3cp
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KKworS1VSTCBDcmVk
ZW50aWFsQmFja2luZ1N0b3JlOjpnZXROZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25TcGFj
ZSYgcHJvdGVjdGlvblNwYWNlKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsK
KyAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIiKSk7CisK
KyAgICBpZiAoIW1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudCkKKyAgICAgICAgcmV0dXJuIEtV
UkwoKTsKKworICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRleHQoMSwgcHJv
dGVjdGlvblNwYWNlLmhvc3QoKSk7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5i
aW5kSW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOworICAgIG1fZ2V0TmV2ZXJSZW1lbWJl
clN0YXRlbWVudC0+YmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5z
ZXJ2ZXJUeXBlKCkpKTsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0
KDQsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0
ZW1lbnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVu
dGljYXRpb25TY2hlbWUoKSkpOworCisgICAgaW50IHJlc3VsdCA9IG1fZ2V0TmV2ZXJSZW1lbWJl
clN0YXRlbWVudC0+c3RlcCgpOworICAgIFN0cmluZyB1cmwgPSBtX2dldE5ldmVyUmVtZW1iZXJT
dGF0ZW1lbnQtPmdldENvbHVtblRleHQoMCk7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVt
ZW50LT5yZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxS
ZXN1bHRSb3csIEtVUkwoKSwKKyAgICAgICAgIkZhaWxlZCB0byBleGVjdXRlIHNlbGVjdCBuZXZl
ciBzYXZlZCBzaXRlIGluZm8gZnJvbSB0YWJsZSBuZXZlcl9yZW1lbWJlciBpbiBnZXROZXZlclJl
bWVtYmVyIC0gJWkiLCByZXN1bHQpOworCisgICAgcmV0dXJuIEtVUkwoUGFyc2VkVVJMU3RyaW5n
LCB1cmwpOworfQorCitib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92ZU5ldmVyUmVt
ZW1iZXIoY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCit7CisgICAgQVNT
RVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOworICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhp
c3RzKCJuZXZlcl9yZW1lbWJlciIpKTsKKworICAgIGlmICghbV9yZW1vdmVOZXZlclJlbWVtYmVy
U3RhdGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX3JlbW92ZU5ldmVyUmVt
ZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAg
IG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3Bh
Y2UucG9ydCgpKTsKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQo
Mywgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAg
bV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3Bh
Y2UucmVhbG0oKSk7CisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50
KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1l
KCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQt
PnN0ZXAoKTsKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnJlc2V0KCk7Cisg
ICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9IFNRTFJlc3VsdERvbmUsIGZhbHNl
LAorICAgICAgICAiRmFpbGVkIHRvIHJlbW92ZSBuZXZlciBzYXZlZCBzaXRlIGZyb20gdGFibGUg
bmV2ZXJfcmVtZW1iZXIgLSAlaSIsIHJlc3VsdCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
Ym9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhckxvZ2lucygpCiB7CiAgICAgQVNTRVJU
KG1fZGF0YWJhc2UuaXNPcGVuKCkpOwogICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3Rz
KCJsb2dpbnMiKSk7CkBAIC0yNjMsNiArNDEwLDE3IEBAIGJvb2wgQ3JlZGVudGlhbEJhY2tpbmdT
dG9yZTo6Y2xlYXIoKQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIENyZWRlbnRpYWxCYWNr
aW5nU3RvcmU6OmNsZWFyTmV2ZXJSZW1lbWJlcigpCit7CisgICAgQVNTRVJUKG1fZGF0YWJhc2Uu
aXNPcGVuKCkpOworICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJuZXZlcl9yZW1l
bWJlciIpKTsKKworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKCFtX2RhdGFiYXNlLmV4ZWN1
dGVDb21tYW5kKCJERUxFVEUgKiBGUk9NIG5ldmVyX3JlbWVtYmVyIiksCisgICAgICAgIGZhbHNl
LCAiRmFpbGVkIHRvIGNsZWFyIHRhYmxlIG5ldmVyX3JlbWVtYmVyIik7CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKwogU3RyaW5nIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmVuY3J5cHRlZFN0cmlu
Zyhjb25zdCBTdHJpbmcmIHBsYWluVGV4dCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogTmVlZCBl
bmNyeXB0IHBsYWluVGV4dCBoZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUu
aAppbmRleCBkMTI2MzEwNjVkNWY2MzU2NWQxZDdiMjAyYzNjZjRjYWZjM2ZmNDA5Li5mYzEyYzZi
NjYwZmRkMWY5OTQ1OTJjZDY3NDhiMjY1NjI3YjllMDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50
aWFsQmFja2luZ1N0b3JlLmgKQEAgLTM3LDEwICszNywxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
bG9zZSgpOwogICAgIGJvb2wgYWRkTG9naW4oY29uc3QgS1VSTCYsIGNvbnN0IFByb3RlY3Rpb25T
cGFjZSYsIGNvbnN0IENyZWRlbnRpYWwmKTsKICAgICBib29sIHVwZGF0ZUxvZ2luKGNvbnN0IEtV
UkwmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBDcmVkZW50aWFsJik7Ci0gICAgYm9v
bCBoYXNMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKKyAgICBib29sIGhhc0xvZ2luKGNv
bnN0IEtVUkwmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKICAgICBDcmVkZW50aWFsIGdldExv
Z2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYpOwotICAgIGJvb2wgcmVtb3ZlTG9naW4oY29uc3Qg
UHJvdGVjdGlvblNwYWNlJik7Ci0gICAgYm9vbCBjbGVhcigpOworICAgIENyZWRlbnRpYWwgZ2V0
TG9naW4oY29uc3QgS1VSTCYpOworICAgIGJvb2wgcmVtb3ZlTG9naW4oY29uc3QgS1VSTCYsIGNv
bnN0IFByb3RlY3Rpb25TcGFjZSYpOworICAgIGJvb2wgYWRkTmV2ZXJSZW1lbWJlcihjb25zdCBL
VVJMJiwgY29uc3QgUHJvdGVjdGlvblNwYWNlJik7CisgICAgYm9vbCBoYXNOZXZlclJlbWVtYmVy
KGNvbnN0IFByb3RlY3Rpb25TcGFjZSYpOworICAgIEtVUkwgZ2V0TmV2ZXJSZW1lbWJlcihjb25z
dCBQcm90ZWN0aW9uU3BhY2UmKTsKKyAgICBib29sIHJlbW92ZU5ldmVyUmVtZW1iZXIoY29uc3Qg
UHJvdGVjdGlvblNwYWNlJik7CisgICAgYm9vbCBjbGVhckxvZ2lucygpOworICAgIGJvb2wgY2xl
YXJOZXZlclJlbWVtYmVyKCk7CiAKIHByaXZhdGU6CiAgICAgQ3JlZGVudGlhbEJhY2tpbmdTdG9y
ZSgpOwpAQCAtNDgsMTEgKzU0LDE2IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGRlY3J5cHRlZFN0
cmluZyhjb25zdCBTdHJpbmcmIGNpcGhlclRleHQpIGNvbnN0OwogCiAgICAgU1FMaXRlRGF0YWJh
c2UgbV9kYXRhYmFzZTsKLSAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fYWRkU3RhdGVtZW50OwotICAg
IFNRTGl0ZVN0YXRlbWVudCogbV91cGRhdGVTdGF0ZW1lbnQ7Ci0gICAgU1FMaXRlU3RhdGVtZW50
KiBtX2hhc1N0YXRlbWVudDsKLSAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fZ2V0U3RhdGVtZW50Owot
ICAgIFNRTGl0ZVN0YXRlbWVudCogbV9yZW1vdmVTdGF0ZW1lbnQ7CisgICAgU1FMaXRlU3RhdGVt
ZW50KiBtX2FkZExvZ2luU3RhdGVtZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV91cGRhdGVM
b2dpblN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1faGFzTG9naW5TdGF0ZW1lbnQ7
CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2dldExvZ2luU3RhdGVtZW50OworICAgIFNRTGl0ZVN0
YXRlbWVudCogbV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCog
bV9yZW1vdmVMb2dpblN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fYWRkTmV2ZXJS
ZW1lbWJlclN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1faGFzTmV2ZXJSZW1lbWJl
clN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRl
bWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVu
dDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129831</attachid>
            <date>2012-03-02 00:13:04 -0800</date>
            <delta_ts>2012-03-04 10:11:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79650-20120302161302.patch</filename>
            <type>text/plain</type>
            <size>27553</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWM3YWUyY2E3MzQwZGIw
MmJjN2RiY2M3NDU0ZTg5Nzk1ZjI2MjhlYS4uZWFiYzY1ZmFlYjg4NTgyMTA1M2MzNTFlZTBjZWNh
NWE5NmIyYzM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAzLTAyICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIENyZWRlbnRpYWwgYmFja2luZyBzdG9yZSBpbXBsZW1lbnRhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXZlcl9y
ZW1lbWJlciB0YWJsZSB0byBzdG9yZSB0aGUgbmV2ZXIgcmVtZW1iZXIKKyAgICAgICAgc2l0ZXM7
IGNoYW5nZWQgbG9naW4gdXBkYXRlIGFuZCBoYXMgc3RhdGVtZW50IHRvIHN1cHBvcnQKKyAgICAg
ICAgYXV0b2ZpbGwgZmVhdHVyZSBvZiBtdWx0aXBsZSBjcmVkZW50aWFsIGZvcm1zIGluIHRoZQor
ICAgICAgICBzYW1lIHBhZ2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6aW5zdGFuY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Q3JlZGVudGlhbEJhY2tpbmdT
dG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpvcGVuKToK
KyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmNsb3NlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZExvZ2luKToKKyAgICAgICAg
KFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnVwZGF0ZUxvZ2luKToKKyAgICAgICAg
KFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omhhc0xvZ2luKToKKyAgICAgICAgKFdl
YkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmdldExvZ2luKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6cmVtb3ZlTG9n
aW4pOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6YWRkTmV2ZXJS
ZW1lbWJlcik6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpoYXNO
ZXZlclJlbWVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6
OmdldE5ldmVyUmVtZW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdT
dG9yZTo6cmVtb3ZlTmV2ZXJSZW1lbWJlcik6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFs
QmFja2luZ1N0b3JlOjpjbGVhckxvZ2lucyk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFs
QmFja2luZ1N0b3JlOjpjbGVhck5ldmVyUmVtZW1iZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChDcmVk
ZW50aWFsQmFja2luZ1N0b3JlKToKKwogMjAxMi0wMy0wMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAg
PGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBGaWxlUmVhZGVyIHJlYWQgc3BlZWQgaXMgd2F5IHRv
byBsb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2ti
ZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcAppbmRleCBhY2Fj
YzM3ODkyMmM3ZmJlOGI5MDAwOWZhNzA1NTFlNzE4NTViYWIyLi5lMDI0YzI3NzUwMTA5MjNlYWYw
ODI4ZTlhOTYzYjJmZTQ0NjE4MGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5n
U3RvcmUuY3BwCkBAIC0yMiwxNSArMjIsMTYgQEAKICNpbmNsdWRlICJDcmVkZW50aWFsQmFja2lu
Z1N0b3JlLmgiCiAKICNpbmNsdWRlICJDcmVkZW50aWFsU3RvcmFnZS5oIgorI2luY2x1ZGUgIkZp
bGVTeXN0ZW0uaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKICNpbmNsdWRlICJQcm90ZWN0aW9uU3BhY2VIYXNoLmgiCiAjaW5jbHVkZSAiU1FMaXRlU3Rh
dGVtZW50LmgiCi0jaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CisjaW5jbHVkZSA8QmxhY2tC
ZXJyeVBsYXRmb3JtQ2xpZW50Lmg+CiAKICNkZWZpbmUgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUo
c3RhdGVtZW50LCByZXR1cm5WYWx1ZSwgLi4uKSBcCiAgICAgaWYgKHN0YXRlbWVudCkgeyBcCi0g
ICAgICAgIExPR19FUlJPUihfX1ZBUl9BUkdTX18pOyBcCisgICAgICAgIExPR19FUlJPUihfX1ZB
X0FSR1NfXyk7IFwKICAgICAgICAgcmV0dXJuIHJldHVyblZhbHVlOyBcCiAgICAgfQogCkBAIC0z
OSwxNyArNDAsMjQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogQ3JlZGVudGlhbEJhY2tpbmdTdG9y
ZSogQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6aW5zdGFuY2UoKQogewogICAgIHN0YXRpYyBDcmVk
ZW50aWFsQmFja2luZ1N0b3JlKiBiYWNraW5nU3RvcmUgPSAwOwotICAgIGlmICghYmFja2luZ1N0
b3JlKQorICAgIGlmICghYmFja2luZ1N0b3JlKSB7CiAgICAgICAgIGJhY2tpbmdTdG9yZSA9IG5l
dyBDcmVkZW50aWFsQmFja2luZ1N0b3JlOworICAgICAgICBiYWNraW5nU3RvcmUtPm9wZW4ocGF0
aEJ5QXBwZW5kaW5nQ29tcG9uZW50KEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGllbnQ6OmdldCgp
LT5nZXRBcHBsaWNhdGlvbkRhdGFEaXJlY3RvcnkoKS5jX3N0cigpLCAiL2NyZWRlbnRpYWxzLmRi
IikpOworICAgIH0KICAgICByZXR1cm4gYmFja2luZ1N0b3JlOwogfQogCiBDcmVkZW50aWFsQmFj
a2luZ1N0b3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlKCkKLSAgICA6IG1fYWRkU3RhdGVtZW50
KDApCi0gICAgLCBtX3VwZGF0ZVN0YXRlbWVudCgwKQotICAgICwgbV9oYXNTdGF0ZW1lbnQoMCkK
LSAgICAsIG1fZ2V0U3RhdGVtZW50KDApCi0gICAgLCBtX3JlbW92ZVN0YXRlbWVudCgwKQorICAg
IDogbV9hZGRMb2dpblN0YXRlbWVudCgwKQorICAgICwgbV91cGRhdGVMb2dpblN0YXRlbWVudCgw
KQorICAgICwgbV9oYXNMb2dpblN0YXRlbWVudCgwKQorICAgICwgbV9nZXRMb2dpblN0YXRlbWVu
dCgwKQorICAgICwgbV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50KDApCisgICAgLCBtX3JlbW92ZUxv
Z2luU3RhdGVtZW50KDApCisgICAgLCBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQoMCkKKyAg
ICAsIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudCgwKQorICAgICwgbV9nZXROZXZlclJlbWVt
YmVyU3RhdGVtZW50KDApCisgICAgLCBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQoMCkK
IHsKIH0KIApAQCAtNzEsNjkgKzc5LDg1IEBAIGJvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6
b3Blbihjb25zdCBTdHJpbmcmIGRiUGF0aCkKICAgICAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRv
IGNyZWF0ZSB0YWJsZSBsb2dpbnMgZm9yIGxvZ2luIGRhdGFiYXNlIik7CiAKICAgICAgICAgLy8g
Q3JlYXRlIGluZGV4IGZvciB0YWJsZSBsb2dpbnMuCi0gICAgICAgIEhBTkRMRV9TUUxfRVhFQ19G
QUlMVVJFKCFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKCJDUkVBVEUgSU5ERVggbG9naW5zX3Np
Z25vbiBPTiBsb2dpbnMgKGhvc3QpIiksCisgICAgICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJF
KCFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKCJDUkVBVEUgSU5ERVggbG9naW5zX2luZGV4IE9O
IGxvZ2lucyAoaG9zdCkiKSwKICAgICAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIGNyZWF0ZSBp
bmRleCBmb3IgdGFibGUgbG9naW5zIik7Ci0gICAgfSBlbHNlIHsgLy8gSW5pdGlhdGUgQ3JlZGVu
dGlhbFN0b3JhZ2UuCi0gICAgICAgIFNRTGl0ZVN0YXRlbWVudCBxdWVyeShtX2RhdGFiYXNlLCAi
U0VMRUNUIG9yaWdpbl91cmwsIGhvc3QsIHBvcnQsIHNlcnZpY2VfdHlwZSwgcmVhbG0sIGF1dGhf
c2NoZW1lLCB1c2VybmFtZSwgcGFzc3dvcmQgRlJPTSBsb2dpbnMiKTsKLSAgICAgICAgSEFORExF
X1NRTF9FWEVDX0ZBSUxVUkUocXVlcnkucHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAotICAgICAg
ICAgICAgZmFsc2UsICJGYWlsZWQgdG8gcHJlcGFyZSBxdWVyeSBzdGF0ZW1lbnQgdG8gaW5pdGlh
dGUgQ3JlZGVudGlhbFN0b3JhZ2UiKTsKLQotICAgICAgICBpbnQgcmVzdWx0ID0gcXVlcnkuc3Rl
cCgpOwotICAgICAgICB3aGlsZSAocmVzdWx0ID09IFNRTFJlc3VsdFJvdykgewotICAgICAgICAg
ICAgU3RyaW5nIHN0clVybCA9IHF1ZXJ5LmdldENvbHVtblRleHQoMSk7Ci0gICAgICAgICAgICBT
dHJpbmcgc3RySG9zdCA9IHF1ZXJ5LmdldENvbHVtblRleHQoMik7Ci0gICAgICAgICAgICBpbnQg
aW50UG9ydCA9IHF1ZXJ5LmdldENvbHVtbkludCgzKTsKLSAgICAgICAgICAgIFByb3RlY3Rpb25T
cGFjZVNlcnZlclR5cGUgc2VydmljZVR5cGUgPSBzdGF0aWNfY2FzdDxQcm90ZWN0aW9uU3BhY2VT
ZXJ2ZXJUeXBlPihxdWVyeS5nZXRDb2x1bW5JbnQoNCkpOwotICAgICAgICAgICAgU3RyaW5nIHN0
clJlYWxtID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCg1KTsKLSAgICAgICAgICAgIFByb3RlY3Rpb25T
cGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lIGF1dGhTY2hlbWUgPSBzdGF0aWNfY2FzdDxQcm90ZWN0
aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZT4ocXVlcnkuZ2V0Q29sdW1uSW50KDYpKTsKLSAg
ICAgICAgICAgIFN0cmluZyBzdHJVc2VyTmFtZSA9IHF1ZXJ5LmdldENvbHVtblRleHQoNyk7Ci0g
ICAgICAgICAgICBTdHJpbmcgc3RyUGFzc3dvcmQgPSBkZWNyeXB0ZWRTdHJpbmcocXVlcnkuZ2V0
Q29sdW1uVGV4dCg4KSk7Ci0KLSAgICAgICAgICAgIEtVUkwgdXJsKFBhcnNlZFVSTFN0cmluZywg
c3RyVXJsKTsKLSAgICAgICAgICAgIFByb3RlY3Rpb25TcGFjZSBwcm90ZWN0aW9uU3BhY2Uoc3Ry
SG9zdCwgaW50UG9ydCwgc2VydmljZVR5cGUsIHN0clJlYWxtLCBhdXRoU2NoZW1lKTsKLSAgICAg
ICAgICAgIENyZWRlbnRpYWwgY3JlZGVudGlhbChzdHJVc2VyTmFtZSwgc3RyUGFzc3dvcmQsIENy
ZWRlbnRpYWxQZXJzaXN0ZW5jZVBlcm1hbmVudCk7Ci0gICAgICAgICAgICBDcmVkZW50aWFsU3Rv
cmFnZTo6c2V0KGNyZWRlbnRpYWwsIHByb3RlY3Rpb25TcGFjZSwgdXJsKTsKLQotICAgICAgICAg
ICAgcmVzdWx0ID0gcXVlcnkuc3RlcCgpOwotICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFt
X2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJuZXZlcl9yZW1lbWJlciIpKSB7CisgICAgICAgIEhBTkRM
RV9TUUxfRVhFQ19GQUlMVVJFKCFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKCJDUkVBVEUgVEFC
TEUgbmV2ZXJfcmVtZW1iZXIgKG9yaWdpbl91cmwgVkFSQ0hBUiBOT1QgTlVMTCwgaG9zdCBWQVJD
SEFSIE5PVCBOVUxMLCBwb3J0IElOVEVHRVIsIHNlcnZpY2VfdHlwZSBJTlRFR0VSIE5PVCBOVUxM
LCByZWFsbSBWQVJDSEFSLCBhdXRoX3NjaGVtZSBJTlRFR0VSIE5PVCBOVUxMKSAiKSwKKyAgICAg
ICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIGNyZWF0ZSB0YWJsZSBuZXZlcl9yZW1lbWJlciBmb3Ig
bG9naW4gZGF0YWJhc2UiKTsKKworICAgICAgICAvLyBDcmVhdGUgaW5kZXggZm9yIHRhYmxlIG5l
dmVyX3JlbWVtYmVyLgorICAgICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRSghbV9kYXRhYmFz
ZS5leGVjdXRlQ29tbWFuZCgiQ1JFQVRFIElOREVYIG5ldmVyX3JlbWVtYmVyX2luZGV4IE9OIG5l
dmVyX3JlbWVtYmVyIChob3N0KSIpLAorICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gY3Jl
YXRlIGluZGV4IGZvciB0YWJsZSBuZXZlcl9yZW1lbWJlciIpOwogICAgIH0KIAogICAgIC8vIFBy
ZXBhcmUgdGhlIHN0YXRlbWVudHMuCi0gICAgbV9hZGRTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3Rh
dGVtZW50KG1fZGF0YWJhc2UsICJJTlNFUlQgT1IgUkVQTEFDRSBJTlRPIGxvZ2lucyAob3JpZ2lu
X3VybCwgaG9zdCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFsbSwgYXV0aF9zY2hlbWUsIHVzZXJu
YW1lLCBwYXNzd29yZCkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/LCA/KSIpOwotICAgIEhB
TkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1fYWRkU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVz
dWx0T2ssCisgICAgbV9hZGRMb2dpblN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQobV9k
YXRhYmFzZSwgIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gbG9naW5zIChvcmlnaW5fdXJsLCBob3N0
LCBwb3J0LCBzZXJ2aWNlX3R5cGUsIHJlYWxtLCBhdXRoX3NjaGVtZSwgdXNlcm5hbWUsIHBhc3N3
b3JkKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8pIik7CisgICAgSEFORExFX1NRTF9F
WEVDX0ZBSUxVUkUobV9hZGRMb2dpblN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9r
LAogICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGFkZExvZ2luIHN0YXRlbWVudCIp
OwogCi0gICAgbV91cGRhdGVTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJh
c2UsICJVUERBVEUgbG9naW5zIFNFVCB1c2VybmFtZSA9ID8sIHBhc3N3b3JkID0gPyBXSEVSRSBv
cmlnaW5fdXJsID0gPyBBTkQgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUg
PSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOwotICAgIEhBTkRMRV9TUUxf
RVhFQ19GQUlMVVJFKG1fdXBkYXRlU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ss
CisgICAgbV91cGRhdGVMb2dpblN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQobV9kYXRh
YmFzZSwgIlVQREFURSBsb2dpbnMgU0VUIHVzZXJuYW1lID0gPywgcGFzc3dvcmQgPSA/IFdIRVJF
IG9yaWdpbl91cmwgPSA/IEFORCBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlw
ZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NR
TF9FWEVDX0ZBSUxVUkUobV91cGRhdGVMb2dpblN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJl
c3VsdE9rLAogICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIHVwZGF0ZUxvZ2luIHN0
YXRlbWVudCIpOwogCi0gICAgbV9oYXNTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1f
ZGF0YWJhc2UsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBsb2dpbnMgV0hFUkUgaG9zdCA9ID8gQU5E
IHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhfc2No
ZW1lID0gPyIpOwotICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1faGFzU3RhdGVtZW50LT5w
cmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCisgICAgbV9oYXNMb2dpblN0YXRlbWVudCA9IG5ldyBT
UUxpdGVTdGF0ZW1lbnQobV9kYXRhYmFzZSwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIGxvZ2lucyBX
SEVSRSBvcmlnaW5fdXJsID0gPyBBTkQgaG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNl
X3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRM
RV9TUUxfRVhFQ19GQUlMVVJFKG1faGFzTG9naW5TdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxS
ZXN1bHRPaywKICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gcHJlcGFyZSBoYXNMb2dpbiBzdGF0
ZW1lbnQiKTsKIAotICAgIG1fZ2V0U3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2Rh
dGFiYXNlLCAiU0VMRUNUIHVzZXJuYW1lLCBwYXNzd29yZCBGUk9NIGxvZ2lucyBXSEVSRSBob3N0
ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQg
YXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9nZXRTdGF0
ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICBtX2dldExvZ2luU3RhdGVtZW50
ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIHVzZXJuYW1lLCBwYXNz
d29yZCBGUk9NIGxvZ2lucyBXSEVSRSBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2Vf
dHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExF
X1NRTF9FWEVDX0ZBSUxVUkUobV9nZXRMb2dpblN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJl
c3VsdE9rLAogICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGdldExvZ2luIHN0YXRl
bWVudCIpOwogCi0gICAgbV9yZW1vdmVTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1f
ZGF0YWJhc2UsICJERUxFVEUgRlJPTSBsb2dpbnMgV0hFUkUgaG9zdCA9ID8gQU5EIHBvcnQgPSA/
IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1lID0gPyIp
OwotICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1fcmVtb3ZlU3RhdGVtZW50LT5wcmVwYXJl
KCkgIT0gU1FMUmVzdWx0T2ssCisgICAgbV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50ID0gbmV3IFNR
TGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIHVzZXJuYW1lLCBwYXNzd29yZCBGUk9N
IGxvZ2lucyBXSEVSRSBvcmlnaW5fdXJsID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlM
VVJFKG1fZ2V0TG9naW5CeVVSTFN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAor
ICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGdldExvZ2luQnlVUkwgc3RhdGVtZW50
Iik7CisKKyAgICBtX3JlbW92ZUxvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudCht
X2RhdGFiYXNlLCAiREVMRVRFIEZST00gbG9naW5zIFdIRVJFIG9yaWdpbl91cmwgPSA/IEFORCBo
b3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBB
TkQgYXV0aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9yZW1v
dmVMb2dpblN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAogICAgICAgICBmYWxz
ZSwgIkZhaWxlZCB0byBwcmVwYXJlIHJlbW92ZUxvZ2luIHN0YXRlbWVudCIpOwogCisgICAgbV9h
ZGROZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNl
LCAiSU5TRVJUIE9SIFJFUExBQ0UgSU5UTyBuZXZlcl9yZW1lbWJlciAob3JpZ2luX3VybCwgaG9z
dCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFsbSwgYXV0aF9zY2hlbWUpIFZBTFVFUyAoPywgPywg
PywgPywgPywgPykiKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX2FkZE5ldmVyUmVt
ZW1iZXJTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICAgICAgZmFsc2Us
ICJGYWlsZWQgdG8gcHJlcGFyZSBhZGROZXZlclJlbWVtYmVyIHN0YXRlbWVudCIpOworCisgICAg
bV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFi
YXNlLCAiU0VMRUNUIENPVU5UKCopIEZST00gbmV2ZXJfcmVtZW1iZXIgV0hFUkUgaG9zdCA9ID8g
QU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhf
c2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1faGFzTmV2ZXJSZW1l
bWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAgICAgICBmYWxzZSwg
IkZhaWxlZCB0byBwcmVwYXJlIGhhc05ldmVyUmVtZW1iZXIgc3RhdGVtZW50Iik7CisKKyAgICBt
X2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJh
c2UsICJTRUxFQ1Qgb3JpZ2luX3VybCBGUk9NIG5ldmVyX3JlbWVtYmVyIFdIRVJFIGhvc3QgPSA/
IEFORCBwb3J0ID0gPyBBTkQgc2VydmljZV90eXBlID0gPyBBTkQgcmVhbG0gPSA/IEFORCBhdXRo
X3NjaGVtZSA9ID8iKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX2dldE5ldmVyUmVt
ZW1iZXJTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICAgICAgZmFsc2Us
ICJGYWlsZWQgdG8gcHJlcGFyZSBnZXROZXZlclJlbWVtYmVyIHN0YXRlbWVudCIpOworCisgICAg
bV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2Rh
dGFiYXNlLCAiREVMRVRFIEZST00gbmV2ZXJfcmVtZW1iZXIgV0hFUkUgaG9zdCA9ID8gQU5EIHBv
cnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8gQU5EIGF1dGhfc2NoZW1l
ID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1fcmVtb3ZlTmV2ZXJSZW1lbWJl
clN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAgICAgICBmYWxzZSwgIkZh
aWxlZCB0byBwcmVwYXJlIHJlbW92ZU5ldmVyUmVtZW1iZXIgc3RhdGVtZW50Iik7CisKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbG9zZSgpCiB7
Ci0gICAgZGVsZXRlIG1fYWRkU3RhdGVtZW50OwotICAgIG1fYWRkU3RhdGVtZW50ID0gMDsKLSAg
ICBkZWxldGUgbV91cGRhdGVTdGF0ZW1lbnQ7Ci0gICAgbV91cGRhdGVTdGF0ZW1lbnQgPSAwOwot
ICAgIGRlbGV0ZSBtX2hhc1N0YXRlbWVudDsKLSAgICBtX2hhc1N0YXRlbWVudCA9IDA7Ci0gICAg
ZGVsZXRlIG1fZ2V0U3RhdGVtZW50OwotICAgIG1fZ2V0U3RhdGVtZW50ID0gMDsKLSAgICBkZWxl
dGUgbV9yZW1vdmVTdGF0ZW1lbnQ7Ci0gICAgbV9yZW1vdmVTdGF0ZW1lbnQgPSAwOworICAgIGRl
bGV0ZSBtX2FkZExvZ2luU3RhdGVtZW50OworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQgPSAwOwor
ICAgIGRlbGV0ZSBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50OworICAgIG1fdXBkYXRlTG9naW5TdGF0
ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2hhc0xvZ2luU3RhdGVtZW50OworICAgIG1faGFzTG9n
aW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2dldExvZ2luU3RhdGVtZW50OworICAgIG1f
Z2V0TG9naW5TdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2dldExvZ2luQnlVUkxTdGF0ZW1l
bnQ7CisgICAgbV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50ID0gMDsKKyAgICBkZWxldGUgbV9yZW1v
dmVMb2dpblN0YXRlbWVudDsKKyAgICBtX3JlbW92ZUxvZ2luU3RhdGVtZW50ID0gMDsKKyAgICBk
ZWxldGUgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50OworICAgIG1fYWRkTmV2ZXJSZW1lbWJl
clN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudDsK
KyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX2dldE5l
dmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50ID0g
MDsKKyAgICBkZWxldGUgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50OworICAgIG1fcmVt
b3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudCA9IDA7CiAKICAgICBpZiAobV9kYXRhYmFzZS5pc09w
ZW4oKSkKICAgICAgICAgbV9kYXRhYmFzZS5jbG9zZSgpOwpAQCAtMTQ0LDE5ICsxNjgsMjAgQEAg
Ym9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjphZGRMb2dpbihjb25zdCBLVVJMJiB1cmwsIGNv
bnN0IFByb3RlY3Rpb25TcGFjZSYgcHIKICAgICBBU1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7
CiAgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFibGVFeGlzdHMoImxvZ2lucyIpKTsKIAotICAgIGlm
ICghbV9hZGRTdGF0ZW1lbnQpCisgICAgaWYgKCFtX2FkZExvZ2luU3RhdGVtZW50KQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZFRleHQoMSwgdXJsLnN0
cmluZygpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZFRleHQoMiwgcHJvdGVjdGlvblNwYWNl
Lmhvc3QoKSk7Ci0gICAgbV9hZGRTdGF0ZW1lbnQtPmJpbmRJbnQoMywgcHJvdGVjdGlvblNwYWNl
LnBvcnQoKSk7Ci0gICAgbV9hZGRTdGF0ZW1lbnQtPmJpbmRJbnQoNCwgc3RhdGljX2Nhc3Q8aW50
Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7Ci0gICAgbV9hZGRTdGF0ZW1lbnQtPmJp
bmRUZXh0KDUsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+
YmluZEludCg2LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlv
blNjaGVtZSgpKSk7Ci0gICAgbV9hZGRTdGF0ZW1lbnQtPmJpbmRUZXh0KDcsIGNyZWRlbnRpYWwu
dXNlcigpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZEJsb2IoOCwgZW5jcnlwdGVkU3RyaW5n
KGNyZWRlbnRpYWwucGFzc3dvcmQoKSkpOwotCi0gICAgaW50IHJlc3VsdCA9IG1fYWRkU3RhdGVt
ZW50LT5zdGVwKCk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+YmluZFRleHQoMSwgdXJsLnN0
cmluZygpKTsKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0aW9u
U3BhY2UuaG9zdCgpKTsKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kSW50KDMsIHByb3Rl
Y3Rpb25TcGFjZS5wb3J0KCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoNCwg
c3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9h
ZGRMb2dpblN0YXRlbWVudC0+YmluZFRleHQoNSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwor
ICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoNiwgc3RhdGljX2Nhc3Q8aW50Pihwcm90
ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkpOworICAgIG1fYWRkTG9naW5TdGF0
ZW1lbnQtPmJpbmRUZXh0KDcsIGNyZWRlbnRpYWwudXNlcigpKTsKKyAgICBtX2FkZExvZ2luU3Rh
dGVtZW50LT5iaW5kQmxvYig4LCBlbmNyeXB0ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgp
KSk7CisKKyAgICBpbnQgcmVzdWx0ID0gbV9hZGRMb2dpblN0YXRlbWVudC0+c3RlcCgpOworICAg
IG1fYWRkTG9naW5TdGF0ZW1lbnQtPnJlc2V0KCk7CiAgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxV
UkUocmVzdWx0ICE9IFNRTFJlc3VsdERvbmUsIGZhbHNlLAogICAgICAgICAiRmFpbGVkIHRvIGFk
ZCBsb2dpbiBpbmZvIGludG8gdGFibGUgbG9naW5zIC0gJWkiLCByZXN1bHQpOwogCkBAIC0xNjgs
NDQgKzE5Myw0OCBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnVwZGF0ZUxvZ2luKGNv
bnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJgogICAgIEFTU0VSVChtX2RhdGFi
YXNlLmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5z
IikpOwogCi0gICAgaWYgKCFtX3VwZGF0ZVN0YXRlbWVudCkKKyAgICBpZiAoIW1fdXBkYXRlTG9n
aW5TdGF0ZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fdXBkYXRlU3RhdGVt
ZW50LT5iaW5kVGV4dCgxLCB1cmwuc3RyaW5nKCkpOwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5i
aW5kVGV4dCgyLCBjcmVkZW50aWFsLnVzZXIoKSk7Ci0gICAgbV91cGRhdGVTdGF0ZW1lbnQtPmJp
bmRCbG9iKDMsIGVuY3J5cHRlZFN0cmluZyhjcmVkZW50aWFsLnBhc3N3b3JkKCkpKTsKLSAgICBt
X3VwZGF0ZVN0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7Ci0g
ICAgbV91cGRhdGVTdGF0ZW1lbnQtPmJpbmRJbnQoNSwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7
Ci0gICAgbV91cGRhdGVTdGF0ZW1lbnQtPmJpbmRJbnQoNiwgc3RhdGljX2Nhc3Q8aW50Pihwcm90
ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7Ci0gICAgbV91cGRhdGVTdGF0ZW1lbnQtPmJpbmRU
ZXh0KDcsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+
YmluZEludCg4LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlv
blNjaGVtZSgpKSk7Ci0KLSAgICBpbnQgcmVzdWx0ID0gbV91cGRhdGVTdGF0ZW1lbnQtPnN0ZXAo
KTsKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgxLCBjcmVkZW50aWFsLnVz
ZXIoKSk7CisgICAgbV91cGRhdGVMb2dpblN0YXRlbWVudC0+YmluZEJsb2IoMiwgZW5jcnlwdGVk
U3RyaW5nKGNyZWRlbnRpYWwucGFzc3dvcmQoKSkpOworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1l
bnQtPmJpbmRUZXh0KDMsIHVybC5zdHJpbmcoKSk7CisgICAgbV91cGRhdGVMb2dpblN0YXRlbWVu
dC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7CisgICAgbV91cGRhdGVMb2dp
blN0YXRlbWVudC0+YmluZEludCg1LCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBtX3Vw
ZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlv
blNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPmJpbmRU
ZXh0KDcsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVt
ZW50LT5iaW5kSW50KDgsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRp
Y2F0aW9uU2NoZW1lKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX3VwZGF0ZUxvZ2luU3RhdGVt
ZW50LT5zdGVwKCk7CisgICAgbV91cGRhdGVMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBI
QU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0RG9uZSwgZmFsc2UsCiAg
ICAgICAgICJGYWlsZWQgdG8gdXBkYXRlIGxvZ2luIGluZm8gaW4gdGFibGUgbG9naW5zIC0gJWki
LCByZXN1bHQpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgQ3JlZGVudGlhbEJhY2tp
bmdTdG9yZTo6aGFzTG9naW4oY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2Up
Citib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omhhc0xvZ2luKGNvbnN0IEtVUkwmIHVybCwg
Y29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCiB7CiAgICAgQVNTRVJUKG1f
ZGF0YWJhc2UuaXNPcGVuKCkpOwogICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJs
b2dpbnMiKSk7CiAKLSAgICBpZiAoIW1faGFzU3RhdGVtZW50KQorICAgIGlmICghbV9oYXNMb2dp
blN0YXRlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV9oYXNTdGF0ZW1lbnQt
PmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAgIG1faGFzU3RhdGVtZW50
LT5iaW5kSW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwotICAgIG1faGFzU3RhdGVtZW50
LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUo
KSkpOwotICAgIG1faGFzU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVh
bG0oKSk7Ci0gICAgbV9oYXNTdGF0ZW1lbnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihw
cm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkpOworICAgIG1faGFzTG9naW5T
dGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHVybC5zdHJpbmcoKSk7CisgICAgbV9oYXNMb2dpblN0YXRl
bWVudC0+YmluZFRleHQoMiwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7CisgICAgbV9oYXNMb2dp
blN0YXRlbWVudC0+YmluZEludCgzLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBtX2hh
c0xvZ2luU3RhdGVtZW50LT5iaW5kSW50KDQsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNw
YWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1faGFzTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDUs
IHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX2hhc0xvZ2luU3RhdGVtZW50LT5iaW5k
SW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2No
ZW1lKCkpKTsKIAotICAgIGludCByZXN1bHQgPSBtX2hhc1N0YXRlbWVudC0+c3RlcCgpOworICAg
IGludCByZXN1bHQgPSBtX2hhc0xvZ2luU3RhdGVtZW50LT5zdGVwKCk7CisgICAgaW50IG51bU9m
Um93ID0gbV9oYXNMb2dpblN0YXRlbWVudC0+Z2V0Q29sdW1uSW50KDApOworICAgIG1faGFzTG9n
aW5TdGF0ZW1lbnQtPnJlc2V0KCk7CiAgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0
ICE9IFNRTFJlc3VsdFJvdywgZmFsc2UsCiAgICAgICAgICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxl
Y3QgbG9naW4gaW5mbyBmcm9tIHRhYmxlIGxvZ2lucyBpbiBoYXNMb2dpbiAtICVpIiwgcmVzdWx0
KTsKIAotICAgIGlmIChtX2hhc1N0YXRlbWVudC0+Z2V0Q29sdW1uSW50KDApKQorICAgIGlmIChu
dW1PZlJvdykKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAt
MjE1LDQ0ICsyNDQsMTYyIEBAIENyZWRlbnRpYWwgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Z2V0
TG9naW4oY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhCiAgICAgQVNTRVJUKG1f
ZGF0YWJhc2UuaXNPcGVuKCkpOwogICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJs
b2dpbnMiKSk7CiAKLSAgICBpZiAoIW1fZ2V0U3RhdGVtZW50KQorICAgIGlmICghbV9nZXRMb2dp
blN0YXRlbWVudCkKKyAgICAgICAgcmV0dXJuIENyZWRlbnRpYWwoKTsKKworICAgIG1fZ2V0TG9n
aW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1f
Z2V0TG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7Cisg
ICAgbV9nZXRMb2dpblN0YXRlbWVudC0+YmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+KHByb3Rl
Y3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKKyAgICBtX2dldExvZ2luU3RhdGVtZW50LT5iaW5k
VGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7CisgICAgbV9nZXRMb2dpblN0YXRlbWVu
dC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNh
dGlvblNjaGVtZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0ID0gbV9nZXRMb2dpblN0YXRlbWVudC0+
c3RlcCgpOworICAgIFN0cmluZyB1c2VybmFtZSA9IG1fZ2V0TG9naW5TdGF0ZW1lbnQtPmdldENv
bHVtblRleHQoMCk7CisgICAgU3RyaW5nIHBhc3N3b3JkID0gbV9nZXRMb2dpblN0YXRlbWVudC0+
Z2V0Q29sdW1uQmxvYkFzU3RyaW5nKDEpOworICAgIG1fZ2V0TG9naW5TdGF0ZW1lbnQtPnJlc2V0
KCk7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9IFNRTFJlc3VsdFJvdywg
Q3JlZGVudGlhbCgpLAorICAgICAgICAiRmFpbGVkIHRvIGV4ZWN1dGUgc2VsZWN0IGxvZ2luIGlu
Zm8gZnJvbSB0YWJsZSBsb2dpbnMgaW4gZ2V0TG9naW4gLSAlaSIsIHJlc3VsdCk7CisKKyAgICBy
ZXR1cm4gQ3JlZGVudGlhbCh1c2VybmFtZSwgZGVjcnlwdGVkU3RyaW5nKHBhc3N3b3JkKSwgQ3Jl
ZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50KTsKK30KKworQ3JlZGVudGlhbCBDcmVkZW50aWFs
QmFja2luZ1N0b3JlOjpnZXRMb2dpbihjb25zdCBLVVJMJiB1cmwpCit7CisgICAgQVNTRVJUKG1f
ZGF0YWJhc2UuaXNPcGVuKCkpOworICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJs
b2dpbnMiKSk7CisKKyAgICBpZiAoIW1fZ2V0TG9naW5CeVVSTFN0YXRlbWVudCkKICAgICAgICAg
cmV0dXJuIENyZWRlbnRpYWwoKTsKIAotICAgIG1fZ2V0U3RhdGVtZW50LT5iaW5kVGV4dCgxLCBw
cm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKLSAgICBtX2dldFN0YXRlbWVudC0+YmluZEludCgyLCBw
cm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKLSAgICBtX2dldFN0YXRlbWVudC0+YmluZEludCgzLCBz
dGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKLSAgICBtX2dl
dFN0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwotICAgIG1f
Z2V0U3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNl
LmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKyAgICBtX2dldExvZ2luQnlVUkxTdGF0ZW1lbnQt
PmJpbmRUZXh0KDEsIHVybC5zdHJpbmcoKSk7CiAKLSAgICBpbnQgcmVzdWx0ID0gbV9nZXRTdGF0
ZW1lbnQtPnN0ZXAoKTsKKyAgICBpbnQgcmVzdWx0ID0gbV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50
LT5zdGVwKCk7CisgICAgU3RyaW5nIHVzZXJuYW1lID0gbV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50
LT5nZXRDb2x1bW5UZXh0KDApOworICAgIFN0cmluZyBwYXNzd29yZCA9IG1fZ2V0TG9naW5CeVVS
TFN0YXRlbWVudC0+Z2V0Q29sdW1uQmxvYkFzU3RyaW5nKDEpOworICAgIG1fZ2V0TG9naW5CeVVS
TFN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQg
IT0gU1FMUmVzdWx0Um93LCBDcmVkZW50aWFsKCksCiAgICAgICAgICJGYWlsZWQgdG8gZXhlY3V0
ZSBzZWxlY3QgbG9naW4gaW5mbyBmcm9tIHRhYmxlIGxvZ2lucyBpbiBnZXRMb2dpbiAtICVpIiwg
cmVzdWx0KTsKIAotICAgIHJldHVybiBDcmVkZW50aWFsKG1fZ2V0U3RhdGVtZW50LT5nZXRDb2x1
bW5UZXh0KDApLCBkZWNyeXB0ZWRTdHJpbmcobV9nZXRTdGF0ZW1lbnQtPmdldENvbHVtblRleHQo
MSkpLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VQZXJtYW5lbnQpOworICAgIHJldHVybiBDcmVkZW50
aWFsKHVzZXJuYW1lLCBkZWNyeXB0ZWRTdHJpbmcocGFzc3dvcmQpLCBDcmVkZW50aWFsUGVyc2lz
dGVuY2VQZXJtYW5lbnQpOwogfQogCi1ib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92
ZUxvZ2luKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQorYm9vbCBDcmVk
ZW50aWFsQmFja2luZ1N0b3JlOjpyZW1vdmVMb2dpbihjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFBy
b3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQogewogICAgIEFTU0VSVChtX2RhdGFiYXNl
LmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikp
OwogCi0gICAgaWYgKCFtX3JlbW92ZVN0YXRlbWVudCkKKyAgICBpZiAoIW1fcmVtb3ZlTG9naW5T
dGF0ZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fcmVtb3ZlU3RhdGVtZW50
LT5iaW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKLSAgICBtX3JlbW92ZVN0YXRl
bWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKLSAgICBtX3JlbW92ZVN0
YXRlbWVudC0+YmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2
ZXJUeXBlKCkpKTsKLSAgICBtX3JlbW92ZVN0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlv
blNwYWNlLnJlYWxtKCkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRp
Y19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKyAg
ICBtX3JlbW92ZUxvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgxLCB1cmwuc3RyaW5nKCkpOworICAg
IG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDIsIHByb3RlY3Rpb25TcGFjZS5ob3N0
KCkpOworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoMywgcHJvdGVjdGlvblNw
YWNlLnBvcnQoKSk7CisgICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+YmluZEludCg0LCBzdGF0
aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKKyAgICBtX3JlbW92
ZUxvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCg1LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7Cisg
ICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2FzdDxpbnQ+KHBy
b3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CiAKLSAgICBpbnQgcmVzdWx0
ID0gbV9yZW1vdmVTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBpbnQgcmVzdWx0ID0gbV9yZW1vdmVM
b2dpblN0YXRlbWVudC0+c3RlcCgpOworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPnJlc2V0
KCk7CiAgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9IFNRTFJlc3VsdERvbmUs
IGZhbHNlLAogICAgICAgICAiRmFpbGVkIHRvIHJlbW92ZSBsb2dpbiBpbmZvIGZyb20gdGFibGUg
bG9naW5zIC0gJWkiLCByZXN1bHQpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgQ3Jl
ZGVudGlhbEJhY2tpbmdTdG9yZTo6Y2xlYXIoKQorYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3Jl
OjphZGROZXZlclJlbWVtYmVyKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNl
JiBwcm90ZWN0aW9uU3BhY2UpCit7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOwor
ICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJuZXZlcl9yZW1lbWJlciIpKTsKKwor
ICAgIGlmICghbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50KQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHVybC5z
dHJpbmcoKSk7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBw
cm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQt
PmJpbmRJbnQoMywgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9hZGROZXZlclJlbWVt
YmVyU3RhdGVtZW50LT5iaW5kSW50KDQsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNl
LnNlcnZlclR5cGUoKSkpOworICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRl
eHQoNSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0
YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRo
ZW50aWNhdGlvblNjaGVtZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0ID0gbV9hZGROZXZlclJlbWVt
YmVyU3RhdGVtZW50LT5zdGVwKCk7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5y
ZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1bHRE
b25lLCBmYWxzZSwKKyAgICAgICAgIkZhaWxlZCB0byBhZGQgbmF2ZXIgc2F2ZWQgaXRlbSBpbmZv
IGludG8gdGFibGUgbmV2ZXJfcmVtZW1iZXIgLSAlaSIsIHJlc3VsdCk7CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpoYXNOZXZlclJlbWVtYmVy
KGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQoreworICAgIEFTU0VSVCht
X2RhdGFiYXNlLmlzT3BlbigpKTsKKyAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygi
bmV2ZXJfcmVtZW1iZXIiKSk7CisKKyAgICBpZiAoIW1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVu
dCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVt
ZW50LT5iaW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX2hhc05ldmVy
UmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7Cisg
ICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGlu
dD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1faGFzTmV2ZXJSZW1lbWJl
clN0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1f
aGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNfY2FzdDxpbnQ+KHBy
b3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisKKyAgICBpbnQgcmVzdWx0
ID0gbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5zdGVwKCk7CisgICAgaW50IG51bU9mUm93
ID0gbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCk7CisgICAgbV9o
YXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5yZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19G
QUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1bHRSb3csIGZhbHNlLAorICAgICAgICAiRmFpbGVkIHRv
IGV4ZWN1dGUgc2VsZWN0IHRvIGZpbmQgbmF2ZXIgc2F2ZWQgc2l0ZSBmcm9tIHRhYmxlIG5ldmVy
X3JlbWVtYmVyIC0gJWkiLCByZXN1bHQpOworCisgICAgaWYgKG51bU9mUm93KQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0tVUkwgQ3JlZGVudGlhbEJhY2tp
bmdTdG9yZTo6Z2V0TmV2ZXJSZW1lbWJlcihjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rp
b25TcGFjZSkKK3sKKyAgICBBU1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CisgICAgQVNTRVJU
KG1fZGF0YWJhc2UudGFibGVFeGlzdHMoIm5ldmVyX3JlbWVtYmVyIikpOworCisgICAgaWYgKCFt
X2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQpCisgICAgICAgIHJldHVybiBLVVJMKCk7CisKKyAg
ICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFj
ZS5ob3N0KCkpOworICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCgyLCBw
cm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQt
PmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgp
KSk7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0
aW9uU3BhY2UucmVhbG0oKSk7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5k
SW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2No
ZW1lKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQt
PnN0ZXAoKTsKKyAgICBTdHJpbmcgdXJsID0gbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5n
ZXRDb2x1bW5UZXh0KDApOworICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cmVzZXQo
KTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBL
VVJMKCksCisgICAgICAgICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxlY3QgbmV2ZXIgc2F2ZWQgc2l0
ZSBpbmZvIGZyb20gdGFibGUgbmV2ZXJfcmVtZW1iZXIgaW4gZ2V0TmV2ZXJSZW1lbWJlciAtICVp
IiwgcmVzdWx0KTsKKworICAgIHJldHVybiBLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKTsKK30K
KworYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpyZW1vdmVOZXZlclJlbWVtYmVyKGNvbnN0
IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQoreworICAgIEFTU0VSVChtX2RhdGFi
YXNlLmlzT3BlbigpKTsKKyAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJf
cmVtZW1iZXIiKSk7CisKKyAgICBpZiAoIW1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudCkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVt
ZW50LT5iaW5kVGV4dCgxLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX3JlbW92ZU5l
dmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7
CisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19j
YXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fcmVtb3ZlTmV2
ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRleHQoNCwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkp
OworICAgIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNf
Y2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisKKyAg
ICBpbnQgcmVzdWx0ID0gbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5zdGVwKCk7Cisg
ICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5yZXNldCgpOworICAgIEhBTkRMRV9T
UUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1bHREb25lLCBmYWxzZSwKKyAgICAgICAg
IkZhaWxlZCB0byByZW1vdmUgbmV2ZXIgc2F2ZWQgc2l0ZSBmcm9tIHRhYmxlIG5ldmVyX3JlbWVt
YmVyIC0gJWkiLCByZXN1bHQpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgQ3JlZGVu
dGlhbEJhY2tpbmdTdG9yZTo6Y2xlYXJMb2dpbnMoKQogewogICAgIEFTU0VSVChtX2RhdGFiYXNl
LmlzT3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikp
OwpAQCAtMjYzLDYgKzQxMCwxNyBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmNsZWFy
KCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpj
bGVhck5ldmVyUmVtZW1iZXIoKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsK
KyAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIiKSk7CisK
KyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRSghbV9kYXRhYmFzZS5leGVjdXRlQ29tbWFuZCgi
REVMRVRFICogRlJPTSBuZXZlcl9yZW1lbWJlciIpLAorICAgICAgICBmYWxzZSwgIkZhaWxlZCB0
byBjbGVhciB0YWJsZSBuZXZlcl9yZW1lbWJlciIpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisK
IFN0cmluZyBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjplbmNyeXB0ZWRTdHJpbmcoY29uc3QgU3Ry
aW5nJiBwbGFpblRleHQpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IE5lZWQgZW5jcnlwdCBwbGFp
blRleHQgaGVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9i
bGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmgKaW5kZXggZDEy
NjMxMDY1ZDVmNjM1NjVkMWQ3YjIwMmMzY2Y0Y2FmYzNmZjQwOS4uZmMxMmM2YjY2MGZkZDFmOTk0
NTkyY2Q2NzQ4YjI2NTYyN2I5ZTAyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdT
dG9yZS5oCkBAIC0zNywxMCArMzcsMTYgQEAgcHVibGljOgogICAgIHZvaWQgY2xvc2UoKTsKICAg
ICBib29sIGFkZExvZ2luKGNvbnN0IEtVUkwmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25z
dCBDcmVkZW50aWFsJik7CiAgICAgYm9vbCB1cGRhdGVMb2dpbihjb25zdCBLVVJMJiwgY29uc3Qg
UHJvdGVjdGlvblNwYWNlJiwgY29uc3QgQ3JlZGVudGlhbCYpOwotICAgIGJvb2wgaGFzTG9naW4o
Y29uc3QgUHJvdGVjdGlvblNwYWNlJik7CisgICAgYm9vbCBoYXNMb2dpbihjb25zdCBLVVJMJiwg
Y29uc3QgUHJvdGVjdGlvblNwYWNlJik7CiAgICAgQ3JlZGVudGlhbCBnZXRMb2dpbihjb25zdCBQ
cm90ZWN0aW9uU3BhY2UmKTsKLSAgICBib29sIHJlbW92ZUxvZ2luKGNvbnN0IFByb3RlY3Rpb25T
cGFjZSYpOwotICAgIGJvb2wgY2xlYXIoKTsKKyAgICBDcmVkZW50aWFsIGdldExvZ2luKGNvbnN0
IEtVUkwmKTsKKyAgICBib29sIHJlbW92ZUxvZ2luKGNvbnN0IEtVUkwmLCBjb25zdCBQcm90ZWN0
aW9uU3BhY2UmKTsKKyAgICBib29sIGFkZE5ldmVyUmVtZW1iZXIoY29uc3QgS1VSTCYsIGNvbnN0
IFByb3RlY3Rpb25TcGFjZSYpOworICAgIGJvb2wgaGFzTmV2ZXJSZW1lbWJlcihjb25zdCBQcm90
ZWN0aW9uU3BhY2UmKTsKKyAgICBLVVJMIGdldE5ldmVyUmVtZW1iZXIoY29uc3QgUHJvdGVjdGlv
blNwYWNlJik7CisgICAgYm9vbCByZW1vdmVOZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25T
cGFjZSYpOworICAgIGJvb2wgY2xlYXJMb2dpbnMoKTsKKyAgICBib29sIGNsZWFyTmV2ZXJSZW1l
bWJlcigpOwogCiBwcml2YXRlOgogICAgIENyZWRlbnRpYWxCYWNraW5nU3RvcmUoKTsKQEAgLTQ4
LDExICs1NCwxNiBAQCBwcml2YXRlOgogICAgIFN0cmluZyBkZWNyeXB0ZWRTdHJpbmcoY29uc3Qg
U3RyaW5nJiBjaXBoZXJUZXh0KSBjb25zdDsKIAogICAgIFNRTGl0ZURhdGFiYXNlIG1fZGF0YWJh
c2U7Ci0gICAgU1FMaXRlU3RhdGVtZW50KiBtX2FkZFN0YXRlbWVudDsKLSAgICBTUUxpdGVTdGF0
ZW1lbnQqIG1fdXBkYXRlU3RhdGVtZW50OwotICAgIFNRTGl0ZVN0YXRlbWVudCogbV9oYXNTdGF0
ZW1lbnQ7Ci0gICAgU1FMaXRlU3RhdGVtZW50KiBtX2dldFN0YXRlbWVudDsKLSAgICBTUUxpdGVT
dGF0ZW1lbnQqIG1fcmVtb3ZlU3RhdGVtZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV9hZGRM
b2dpblN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fdXBkYXRlTG9naW5TdGF0ZW1l
bnQ7CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2hhc0xvZ2luU3RhdGVtZW50OworICAgIFNRTGl0
ZVN0YXRlbWVudCogbV9nZXRMb2dpblN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1f
Z2V0TG9naW5CeVVSTFN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fcmVtb3ZlTG9n
aW5TdGF0ZW1lbnQ7CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0
ZW1lbnQ7CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7
CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAg
U1FMaXRlU3RhdGVtZW50KiBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="132626"
          type_id="1"
          status="+"
          setter="tonikitoo"
    />
    <flag name="commit-queue"
          id="132906"
          type_id="3"
          status="-"
          setter="tonikitoo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130036</attachid>
            <date>2012-03-04 17:35:20 -0800</date>
            <delta_ts>2012-03-04 19:24:14 -0800</delta_ts>
            <desc>patch for cq</desc>
            <filename>79650.patch</filename>
            <type>text/plain</type>
            <size>27894</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhOTU5OTMyLi43ZTczZmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUg
QEAKKzIwMTItMDMtMDQgIEpvbmF0aGFuIERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxl
LmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0gQ3JlZGVudGlhbCBiYWNraW5nIHN0b3Jl
IGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03OTY1MAorCisgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCisKKyAg
ICAgICAgT3BlbmVkIENyZWRlbnRpYWwgZGF0YWJhc2UgaW4gQ2VkZW50aWFsQmFja2luZ1N0b3Jl
OjppbnN0YW5jZSgpLgorICAgICAgICBBZGRlZCBuZXZlcl9yZW1lbWJlciB0YWJsZSBhbmQgYXNz
b2NpYXRlZCBzcWwgc3RhdG1lbnQKKyAgICAgICAgbWVtYmVycyB0byBzdG9yZSB0aGUgbmV2ZXIg
cmVtZW1iZXIgc2l0ZXMuCisgICAgICAgIFJlbW92ZWQgQ3JlZGVudGlhbFN0b3JhZ2UgaW5pdGlh
bGl6ZSBjb2RlcyBiZWNhdXNlIHRoYXQKKyAgICAgICAgd29uJ3QgZ2l2ZSB1c2VycyBhIGNoYW5j
ZSB0byByZS1lbnRlciB0aGUgbmV3IGNyZWRlbnRpYWwKKyAgICAgICAgaW5mb3JtYXRpb24gZm9y
IGFuIGFscmVhZHkgc3RvcmVkIHNpdGUuCisgICAgICAgIENoYW5nZWQgbG9naW4gdXBkYXRlIGFu
ZCBoYXMgc3RhdGVtZW50IHRvIHN1cHBvcnQKKyAgICAgICAgYXV0b2ZpbGwgZmVhdHVyZSBvZiBt
dWx0aXBsZSBjcmVkZW50aWFsIGZvcm1zIGluIHRoZQorICAgICAgICBzYW1lIHBhZ2U7IEFsc28g
YWRkZWQgdXJsIGFzIGEgcGFyYW1ldGVyIG9mIGhhc0xvZ2luKCkgZnVuY3Rpb24uCisgICAgICAg
IEFkZGVkIGNhbGxpbmcgcmVzZXQoKSBhZnRlciBlYWNoIHN0YXRlbWVudCBjYWxscyBzdGVwKCks
CisgICAgICAgIHRvIG1ha2UgaXQgd29yayBjb3JyZWN0bHkgbmV4dCB0aW1lLgorICAgICAgICBB
bHNvIGZpeGVkIGEgbWFjcm8gdHlwbyBpbiBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50
aWFsQmFja2luZ1N0b3JlOjppbnN0YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpDcmVkZW50aWFs
QmFja2luZ1N0b3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVu
dGlhbEJhY2tpbmdTdG9yZTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJh
Y2tpbmdTdG9yZTo6YWRkTG9naW4pOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tp
bmdTdG9yZTo6dXBkYXRlTG9naW4pOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tp
bmdTdG9yZTo6aGFzTG9naW4pOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdT
dG9yZTo6Z2V0TG9naW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpD
cmVkZW50aWFsQmFja2luZ1N0b3JlOjpyZW1vdmVMb2dpbik6CisgICAgICAgIChXZWJDb3JlOjpD
cmVkZW50aWFsQmFja2luZ1N0b3JlOjphZGROZXZlclJlbWVtYmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omhhc05ldmVyUmVtZW1iZXIpOgorICAgICAgICAo
V2ViQ29yZTo6Q3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6Z2V0TmV2ZXJSZW1lbWJlcik6CisgICAg
ICAgIChXZWJDb3JlOjpDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpyZW1vdmVOZXZlclJlbWVtYmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmNsZWFyTG9naW5z
KToKKyAgICAgICAgKFdlYkNvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmNsZWFyTmV2ZXJS
ZW1lbWJlcik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRp
YWxCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKENyZWRlbnRpYWxCYWNraW5nU3RvcmUpOgorCiAy
MDEyLTAzLTA0ICBSb2JpbiBDYW8gIDxyb2Jpbi5jYW9AdG9yY2htb2JpbGUuY29tLmNuPgogCiAg
ICAgICAgIFtCbGFja0JlcnJ5XSBVcHN0cmVhbSB0d28gaGVscGVyIGZpbGVzIGZyb20gcGxhdGZv
cm0vZ3JhcGhpY3MvYmxhY2tiZXJyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3Rv
cmUuY3BwCmluZGV4IGFjYWNjMzcuLmUwMjRjMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlh
bEJhY2tpbmdTdG9yZS5jcHAKQEAgLTIyLDE1ICsyMiwxNiBAQAogI2luY2x1ZGUgIkNyZWRlbnRp
YWxCYWNraW5nU3RvcmUuaCIKIAogI2luY2x1ZGUgIkNyZWRlbnRpYWxTdG9yYWdlLmgiCisjaW5j
bHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogI2luY2x1ZGUgIlByb3RlY3Rpb25TcGFjZUhhc2guaCIKICNpbmNsdWRlICJT
UUxpdGVTdGF0ZW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KKyNpbmNsdWRl
IDxCbGFja0JlcnJ5UGxhdGZvcm1DbGllbnQuaD4KIAogI2RlZmluZSBIQU5ETEVfU1FMX0VYRUNf
RkFJTFVSRShzdGF0ZW1lbnQsIHJldHVyblZhbHVlLCAuLi4pIFwKICAgICBpZiAoc3RhdGVtZW50
KSB7IFwKLSAgICAgICAgTE9HX0VSUk9SKF9fVkFSX0FSR1NfXyk7IFwKKyAgICAgICAgTE9HX0VS
Uk9SKF9fVkFfQVJHU19fKTsgXAogICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7IFwKICAgICB9
CiAKQEAgLTM5LDE3ICs0MCwyNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBDcmVkZW50aWFsQmFj
a2luZ1N0b3JlKiBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjppbnN0YW5jZSgpCiB7CiAgICAgc3Rh
dGljIENyZWRlbnRpYWxCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSA9IDA7Ci0gICAgaWYgKCFi
YWNraW5nU3RvcmUpCisgICAgaWYgKCFiYWNraW5nU3RvcmUpIHsKICAgICAgICAgYmFja2luZ1N0
b3JlID0gbmV3IENyZWRlbnRpYWxCYWNraW5nU3RvcmU7CisgICAgICAgIGJhY2tpbmdTdG9yZS0+
b3BlbihwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaWVu
dDo6Z2V0KCktPmdldEFwcGxpY2F0aW9uRGF0YURpcmVjdG9yeSgpLmNfc3RyKCksICIvY3JlZGVu
dGlhbHMuZGIiKSk7CisgICAgfQogICAgIHJldHVybiBiYWNraW5nU3RvcmU7CiB9CiAKIENyZWRl
bnRpYWxCYWNraW5nU3RvcmU6OkNyZWRlbnRpYWxCYWNraW5nU3RvcmUoKQotICAgIDogbV9hZGRT
dGF0ZW1lbnQoMCkKLSAgICAsIG1fdXBkYXRlU3RhdGVtZW50KDApCi0gICAgLCBtX2hhc1N0YXRl
bWVudCgwKQotICAgICwgbV9nZXRTdGF0ZW1lbnQoMCkKLSAgICAsIG1fcmVtb3ZlU3RhdGVtZW50
KDApCisgICAgOiBtX2FkZExvZ2luU3RhdGVtZW50KDApCisgICAgLCBtX3VwZGF0ZUxvZ2luU3Rh
dGVtZW50KDApCisgICAgLCBtX2hhc0xvZ2luU3RhdGVtZW50KDApCisgICAgLCBtX2dldExvZ2lu
U3RhdGVtZW50KDApCisgICAgLCBtX2dldExvZ2luQnlVUkxTdGF0ZW1lbnQoMCkKKyAgICAsIG1f
cmVtb3ZlTG9naW5TdGF0ZW1lbnQoMCkKKyAgICAsIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVu
dCgwKQorICAgICwgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50KDApCisgICAgLCBtX2dldE5l
dmVyUmVtZW1iZXJTdGF0ZW1lbnQoMCkKKyAgICAsIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRl
bWVudCgwKQogewogfQogCkBAIC03MSw2OSArNzksODUgQEAgYm9vbCBDcmVkZW50aWFsQmFja2lu
Z1N0b3JlOjpvcGVuKGNvbnN0IFN0cmluZyYgZGJQYXRoKQogICAgICAgICAgICAgZmFsc2UsICJG
YWlsZWQgdG8gY3JlYXRlIHRhYmxlIGxvZ2lucyBmb3IgbG9naW4gZGF0YWJhc2UiKTsKIAogICAg
ICAgICAvLyBDcmVhdGUgaW5kZXggZm9yIHRhYmxlIGxvZ2lucy4KLSAgICAgICAgSEFORExFX1NR
TF9FWEVDX0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBs
b2dpbnNfc2lnbm9uIE9OIGxvZ2lucyAoaG9zdCkiKSwKKyAgICAgICAgSEFORExFX1NRTF9FWEVD
X0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBJTkRFWCBsb2dpbnNf
aW5kZXggT04gbG9naW5zIChob3N0KSIpLAogICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8g
Y3JlYXRlIGluZGV4IGZvciB0YWJsZSBsb2dpbnMiKTsKLSAgICB9IGVsc2UgeyAvLyBJbml0aWF0
ZSBDcmVkZW50aWFsU3RvcmFnZS4KLSAgICAgICAgU1FMaXRlU3RhdGVtZW50IHF1ZXJ5KG1fZGF0
YWJhc2UsICJTRUxFQ1Qgb3JpZ2luX3VybCwgaG9zdCwgcG9ydCwgc2VydmljZV90eXBlLCByZWFs
bSwgYXV0aF9zY2hlbWUsIHVzZXJuYW1lLCBwYXNzd29yZCBGUk9NIGxvZ2lucyIpOwotICAgICAg
ICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShxdWVyeS5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ss
Ci0gICAgICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIHF1ZXJ5IHN0YXRlbWVudCB0
byBpbml0aWF0ZSBDcmVkZW50aWFsU3RvcmFnZSIpOwotCi0gICAgICAgIGludCByZXN1bHQgPSBx
dWVyeS5zdGVwKCk7Ci0gICAgICAgIHdoaWxlIChyZXN1bHQgPT0gU1FMUmVzdWx0Um93KSB7Ci0g
ICAgICAgICAgICBTdHJpbmcgc3RyVXJsID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgxKTsKLSAgICAg
ICAgICAgIFN0cmluZyBzdHJIb3N0ID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgyKTsKLSAgICAgICAg
ICAgIGludCBpbnRQb3J0ID0gcXVlcnkuZ2V0Q29sdW1uSW50KDMpOwotICAgICAgICAgICAgUHJv
dGVjdGlvblNwYWNlU2VydmVyVHlwZSBzZXJ2aWNlVHlwZSA9IHN0YXRpY19jYXN0PFByb3RlY3Rp
b25TcGFjZVNlcnZlclR5cGU+KHF1ZXJ5LmdldENvbHVtbkludCg0KSk7Ci0gICAgICAgICAgICBT
dHJpbmcgc3RyUmVhbG0gPSBxdWVyeS5nZXRDb2x1bW5UZXh0KDUpOwotICAgICAgICAgICAgUHJv
dGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aFNjaGVtZSA9IHN0YXRpY19jYXN0
PFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lPihxdWVyeS5nZXRDb2x1bW5JbnQo
NikpOwotICAgICAgICAgICAgU3RyaW5nIHN0clVzZXJOYW1lID0gcXVlcnkuZ2V0Q29sdW1uVGV4
dCg3KTsKLSAgICAgICAgICAgIFN0cmluZyBzdHJQYXNzd29yZCA9IGRlY3J5cHRlZFN0cmluZyhx
dWVyeS5nZXRDb2x1bW5UZXh0KDgpKTsKLQotICAgICAgICAgICAgS1VSTCB1cmwoUGFyc2VkVVJM
U3RyaW5nLCBzdHJVcmwpOwotICAgICAgICAgICAgUHJvdGVjdGlvblNwYWNlIHByb3RlY3Rpb25T
cGFjZShzdHJIb3N0LCBpbnRQb3J0LCBzZXJ2aWNlVHlwZSwgc3RyUmVhbG0sIGF1dGhTY2hlbWUp
OwotICAgICAgICAgICAgQ3JlZGVudGlhbCBjcmVkZW50aWFsKHN0clVzZXJOYW1lLCBzdHJQYXNz
d29yZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlUGVybWFuZW50KTsKLSAgICAgICAgICAgIENyZWRl
bnRpYWxTdG9yYWdlOjpzZXQoY3JlZGVudGlhbCwgcHJvdGVjdGlvblNwYWNlLCB1cmwpOwotCi0g
ICAgICAgICAgICByZXN1bHQgPSBxdWVyeS5zdGVwKCk7Ci0gICAgICAgIH0KKyAgICB9CisKKyAg
ICBpZiAoIW1fZGF0YWJhc2UudGFibGVFeGlzdHMoIm5ldmVyX3JlbWVtYmVyIikpIHsKKyAgICAg
ICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNS
RUFURSBUQUJMRSBuZXZlcl9yZW1lbWJlciAob3JpZ2luX3VybCBWQVJDSEFSIE5PVCBOVUxMLCBo
b3N0IFZBUkNIQVIgTk9UIE5VTEwsIHBvcnQgSU5URUdFUiwgc2VydmljZV90eXBlIElOVEVHRVIg
Tk9UIE5VTEwsIHJlYWxtIFZBUkNIQVIsIGF1dGhfc2NoZW1lIElOVEVHRVIgTk9UIE5VTEwpICIp
LAorICAgICAgICAgICAgZmFsc2UsICJGYWlsZWQgdG8gY3JlYXRlIHRhYmxlIG5ldmVyX3JlbWVt
YmVyIGZvciBsb2dpbiBkYXRhYmFzZSIpOworCisgICAgICAgIC8vIENyZWF0ZSBpbmRleCBmb3Ig
dGFibGUgbmV2ZXJfcmVtZW1iZXIuCisgICAgICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKCFt
X2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKCJDUkVBVEUgSU5ERVggbmV2ZXJfcmVtZW1iZXJfaW5k
ZXggT04gbmV2ZXJfcmVtZW1iZXIgKGhvc3QpIiksCisgICAgICAgICAgICBmYWxzZSwgIkZhaWxl
ZCB0byBjcmVhdGUgaW5kZXggZm9yIHRhYmxlIG5ldmVyX3JlbWVtYmVyIik7CiAgICAgfQogCiAg
ICAgLy8gUHJlcGFyZSB0aGUgc3RhdGVtZW50cy4KLSAgICBtX2FkZFN0YXRlbWVudCA9IG5ldyBT
UUxpdGVTdGF0ZW1lbnQobV9kYXRhYmFzZSwgIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gbG9naW5z
IChvcmlnaW5fdXJsLCBob3N0LCBwb3J0LCBzZXJ2aWNlX3R5cGUsIHJlYWxtLCBhdXRoX3NjaGVt
ZSwgdXNlcm5hbWUsIHBhc3N3b3JkKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8pIik7
Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9hZGRTdGF0ZW1lbnQtPnByZXBhcmUoKSAh
PSBTUUxSZXN1bHRPaywKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRl
bWVudChtX2RhdGFiYXNlLCAiSU5TRVJUIE9SIFJFUExBQ0UgSU5UTyBsb2dpbnMgKG9yaWdpbl91
cmwsIGhvc3QsIHBvcnQsIHNlcnZpY2VfdHlwZSwgcmVhbG0sIGF1dGhfc2NoZW1lLCB1c2VybmFt
ZSwgcGFzc3dvcmQpIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPykiKTsKKyAgICBIQU5E
TEVfU1FMX0VYRUNfRkFJTFVSRShtX2FkZExvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FM
UmVzdWx0T2ssCiAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgYWRkTG9naW4gc3Rh
dGVtZW50Iik7CiAKLSAgICBtX3VwZGF0ZVN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQo
bV9kYXRhYmFzZSwgIlVQREFURSBsb2dpbnMgU0VUIHVzZXJuYW1lID0gPywgcGFzc3dvcmQgPSA/
IFdIRVJFIG9yaWdpbl91cmwgPSA/IEFORCBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZp
Y2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFO
RExFX1NRTF9FWEVDX0ZBSUxVUkUobV91cGRhdGVTdGF0ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxS
ZXN1bHRPaywKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50ID0gbmV3IFNRTGl0ZVN0YXRlbWVu
dChtX2RhdGFiYXNlLCAiVVBEQVRFIGxvZ2lucyBTRVQgdXNlcm5hbWUgPSA/LCBwYXNzd29yZCA9
ID8gV0hFUkUgb3JpZ2luX3VybCA9ID8gQU5EIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQgc2Vy
dmljZV90eXBlID0gPyBBTkQgcmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKKyAgICBI
QU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkg
IT0gU1FMUmVzdWx0T2ssCiAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgdXBkYXRl
TG9naW4gc3RhdGVtZW50Iik7CiAKLSAgICBtX2hhc1N0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0
ZW1lbnQobV9kYXRhYmFzZSwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIGxvZ2lucyBXSEVSRSBob3N0
ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQg
YXV0aF9zY2hlbWUgPSA/Iik7Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9oYXNTdGF0
ZW1lbnQtPnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICBtX2hhc0xvZ2luU3RhdGVtZW50
ID0gbmV3IFNRTGl0ZVN0YXRlbWVudChtX2RhdGFiYXNlLCAiU0VMRUNUIENPVU5UKCopIEZST00g
bG9naW5zIFdIRVJFIG9yaWdpbl91cmwgPSA/IEFORCBob3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5E
IHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hlbWUgPSA/Iik7Cisg
ICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9oYXNMb2dpblN0YXRlbWVudC0+cHJlcGFyZSgp
ICE9IFNRTFJlc3VsdE9rLAogICAgICAgICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGhhc0xv
Z2luIHN0YXRlbWVudCIpOwogCi0gICAgbV9nZXRTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVt
ZW50KG1fZGF0YWJhc2UsICJTRUxFQ1QgdXNlcm5hbWUsIHBhc3N3b3JkIEZST00gbG9naW5zIFdI
RVJFIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQgc2VydmljZV90eXBlID0gPyBBTkQgcmVhbG0g
PSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKLSAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRSht
X2dldFN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAgIG1fZ2V0TG9naW5T
dGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJhc2UsICJTRUxFQ1QgdXNlcm5h
bWUsIHBhc3N3b3JkIEZST00gbG9naW5zIFdIRVJFIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQg
c2VydmljZV90eXBlID0gPyBBTkQgcmVhbG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKKyAg
ICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShtX2dldExvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkg
IT0gU1FMUmVzdWx0T2ssCiAgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgZ2V0TG9n
aW4gc3RhdGVtZW50Iik7CiAKLSAgICBtX3JlbW92ZVN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0
ZW1lbnQobV9kYXRhYmFzZSwgIkRFTEVURSBGUk9NIGxvZ2lucyBXSEVSRSBob3N0ID0gPyBBTkQg
cG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0aF9zY2hl
bWUgPSA/Iik7Ci0gICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9yZW1vdmVTdGF0ZW1lbnQt
PnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaywKKyAgICBtX2dldExvZ2luQnlVUkxTdGF0ZW1lbnQg
PSBuZXcgU1FMaXRlU3RhdGVtZW50KG1fZGF0YWJhc2UsICJTRUxFQ1QgdXNlcm5hbWUsIHBhc3N3
b3JkIEZST00gbG9naW5zIFdIRVJFIG9yaWdpbl91cmwgPSA/Iik7CisgICAgSEFORExFX1NRTF9F
WEVDX0ZBSUxVUkUobV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVz
dWx0T2ssCisgICAgICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgZ2V0TG9naW5CeVVSTCBz
dGF0ZW1lbnQiKTsKKworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3Rh
dGVtZW50KG1fZGF0YWJhc2UsICJERUxFVEUgRlJPTSBsb2dpbnMgV0hFUkUgb3JpZ2luX3VybCA9
ID8gQU5EIGhvc3QgPSA/IEFORCBwb3J0ID0gPyBBTkQgc2VydmljZV90eXBlID0gPyBBTkQgcmVh
bG0gPSA/IEFORCBhdXRoX3NjaGVtZSA9ID8iKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVS
RShtX3JlbW92ZUxvZ2luU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCiAgICAg
ICAgIGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgcmVtb3ZlTG9naW4gc3RhdGVtZW50Iik7CiAK
KyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50KG1f
ZGF0YWJhc2UsICJJTlNFUlQgT1IgUkVQTEFDRSBJTlRPIG5ldmVyX3JlbWVtYmVyIChvcmlnaW5f
dXJsLCBob3N0LCBwb3J0LCBzZXJ2aWNlX3R5cGUsIHJlYWxtLCBhdXRoX3NjaGVtZSkgVkFMVUVT
ICg/LCA/LCA/LCA/LCA/LCA/KSIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1fYWRk
TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAgICAg
ICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGFkZE5ldmVyUmVtZW1iZXIgc3RhdGVtZW50Iik7
CisKKyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVtZW50
KG1fZGF0YWJhc2UsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBuZXZlcl9yZW1lbWJlciBXSEVSRSBo
b3N0ID0gPyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBB
TkQgYXV0aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9oYXNO
ZXZlclJlbWVtYmVyU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCisgICAgICAg
IGZhbHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgaGFzTmV2ZXJSZW1lbWJlciBzdGF0ZW1lbnQiKTsK
KworICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudCA9IG5ldyBTUUxpdGVTdGF0ZW1lbnQo
bV9kYXRhYmFzZSwgIlNFTEVDVCBvcmlnaW5fdXJsIEZST00gbmV2ZXJfcmVtZW1iZXIgV0hFUkUg
aG9zdCA9ID8gQU5EIHBvcnQgPSA/IEFORCBzZXJ2aWNlX3R5cGUgPSA/IEFORCByZWFsbSA9ID8g
QU5EIGF1dGhfc2NoZW1lID0gPyIpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKG1fZ2V0
TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+cHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rLAorICAgICAg
ICBmYWxzZSwgIkZhaWxlZCB0byBwcmVwYXJlIGdldE5ldmVyUmVtZW1iZXIgc3RhdGVtZW50Iik7
CisKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQgPSBuZXcgU1FMaXRlU3RhdGVt
ZW50KG1fZGF0YWJhc2UsICJERUxFVEUgRlJPTSBuZXZlcl9yZW1lbWJlciBXSEVSRSBob3N0ID0g
PyBBTkQgcG9ydCA9ID8gQU5EIHNlcnZpY2VfdHlwZSA9ID8gQU5EIHJlYWxtID0gPyBBTkQgYXV0
aF9zY2hlbWUgPSA/Iik7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUobV9yZW1vdmVOZXZl
clJlbWVtYmVyU3RhdGVtZW50LT5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2ssCisgICAgICAgIGZh
bHNlLCAiRmFpbGVkIHRvIHByZXBhcmUgcmVtb3ZlTmV2ZXJSZW1lbWJlciBzdGF0ZW1lbnQiKTsK
KwogICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmNs
b3NlKCkKIHsKLSAgICBkZWxldGUgbV9hZGRTdGF0ZW1lbnQ7Ci0gICAgbV9hZGRTdGF0ZW1lbnQg
PSAwOwotICAgIGRlbGV0ZSBtX3VwZGF0ZVN0YXRlbWVudDsKLSAgICBtX3VwZGF0ZVN0YXRlbWVu
dCA9IDA7Ci0gICAgZGVsZXRlIG1faGFzU3RhdGVtZW50OwotICAgIG1faGFzU3RhdGVtZW50ID0g
MDsKLSAgICBkZWxldGUgbV9nZXRTdGF0ZW1lbnQ7Ci0gICAgbV9nZXRTdGF0ZW1lbnQgPSAwOwot
ICAgIGRlbGV0ZSBtX3JlbW92ZVN0YXRlbWVudDsKLSAgICBtX3JlbW92ZVN0YXRlbWVudCA9IDA7
CisgICAgZGVsZXRlIG1fYWRkTG9naW5TdGF0ZW1lbnQ7CisgICAgbV9hZGRMb2dpblN0YXRlbWVu
dCA9IDA7CisgICAgZGVsZXRlIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQ7CisgICAgbV91cGRhdGVM
b2dpblN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1faGFzTG9naW5TdGF0ZW1lbnQ7CisgICAg
bV9oYXNMb2dpblN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1fZ2V0TG9naW5TdGF0ZW1lbnQ7
CisgICAgbV9nZXRMb2dpblN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRlIG1fZ2V0TG9naW5CeVVS
TFN0YXRlbWVudDsKKyAgICBtX2dldExvZ2luQnlVUkxTdGF0ZW1lbnQgPSAwOworICAgIGRlbGV0
ZSBtX3JlbW92ZUxvZ2luU3RhdGVtZW50OworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQgPSAw
OworICAgIGRlbGV0ZSBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7CisgICAgbV9hZGROZXZl
clJlbWVtYmVyU3RhdGVtZW50ID0gMDsKKyAgICBkZWxldGUgbV9oYXNOZXZlclJlbWVtYmVyU3Rh
dGVtZW50OworICAgIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudCA9IDA7CisgICAgZGVsZXRl
IG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0
ZW1lbnQgPSAwOworICAgIGRlbGV0ZSBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQ7Cisg
ICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50ID0gMDsKIAogICAgIGlmIChtX2RhdGFi
YXNlLmlzT3BlbigpKQogICAgICAgICBtX2RhdGFiYXNlLmNsb3NlKCk7CkBAIC0xNDQsMTkgKzE2
OCwyMCBAQCBib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmFkZExvZ2luKGNvbnN0IEtVUkwm
IHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcgogICAgIEFTU0VSVChtX2RhdGFiYXNlLmlz
T3BlbigpKTsKICAgICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibG9naW5zIikpOwog
Ci0gICAgaWYgKCFtX2FkZFN0YXRlbWVudCkKKyAgICBpZiAoIW1fYWRkTG9naW5TdGF0ZW1lbnQp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kVGV4dCgx
LCB1cmwuc3RyaW5nKCkpOwotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0
aW9uU3BhY2UuaG9zdCgpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZEludCgzLCBwcm90ZWN0
aW9uU3BhY2UucG9ydCgpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZEludCg0LCBzdGF0aWNf
Y2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKLSAgICBtX2FkZFN0YXRl
bWVudC0+YmluZFRleHQoNSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwotICAgIG1fYWRkU3Rh
dGVtZW50LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhl
bnRpY2F0aW9uU2NoZW1lKCkpKTsKLSAgICBtX2FkZFN0YXRlbWVudC0+YmluZFRleHQoNywgY3Jl
ZGVudGlhbC51c2VyKCkpOwotICAgIG1fYWRkU3RhdGVtZW50LT5iaW5kQmxvYig4LCBlbmNyeXB0
ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7Ci0KLSAgICBpbnQgcmVzdWx0ID0gbV9h
ZGRTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCgx
LCB1cmwuc3RyaW5nKCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDIsIHBy
b3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1fYWRkTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQo
MywgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+Ymlu
ZEludCg0LCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsK
KyAgICBtX2FkZExvZ2luU3RhdGVtZW50LT5iaW5kVGV4dCg1LCBwcm90ZWN0aW9uU3BhY2UucmVh
bG0oKSk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2FzdDxp
bnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisgICAgbV9hZGRM
b2dpblN0YXRlbWVudC0+YmluZFRleHQoNywgY3JlZGVudGlhbC51c2VyKCkpOworICAgIG1fYWRk
TG9naW5TdGF0ZW1lbnQtPmJpbmRCbG9iKDgsIGVuY3J5cHRlZFN0cmluZyhjcmVkZW50aWFsLnBh
c3N3b3JkKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2FkZExvZ2luU3RhdGVtZW50LT5zdGVw
KCk7CisgICAgbV9hZGRMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VY
RUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVzdWx0RG9uZSwgZmFsc2UsCiAgICAgICAgICJGYWls
ZWQgdG8gYWRkIGxvZ2luIGluZm8gaW50byB0YWJsZSBsb2dpbnMgLSAlaSIsIHJlc3VsdCk7CiAK
QEAgLTE2OCw0NCArMTkzLDQ4IEBAIGJvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6dXBkYXRl
TG9naW4oY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmCiAgICAgQVNTRVJU
KG1fZGF0YWJhc2UuaXNPcGVuKCkpOwogICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3Rz
KCJsb2dpbnMiKSk7CiAKLSAgICBpZiAoIW1fdXBkYXRlU3RhdGVtZW50KQorICAgIGlmICghbV91
cGRhdGVMb2dpblN0YXRlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV91cGRh
dGVTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHVybC5zdHJpbmcoKSk7Ci0gICAgbV91cGRhdGVTdGF0
ZW1lbnQtPmJpbmRUZXh0KDIsIGNyZWRlbnRpYWwudXNlcigpKTsKLSAgICBtX3VwZGF0ZVN0YXRl
bWVudC0+YmluZEJsb2IoMywgZW5jcnlwdGVkU3RyaW5nKGNyZWRlbnRpYWwucGFzc3dvcmQoKSkp
OwotICAgIG1fdXBkYXRlU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UuaG9z
dCgpKTsKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+YmluZEludCg1LCBwcm90ZWN0aW9uU3BhY2Uu
cG9ydCgpKTsKLSAgICBtX3VwZGF0ZVN0YXRlbWVudC0+YmluZEludCg2LCBzdGF0aWNfY2FzdDxp
bnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpKTsKLSAgICBtX3VwZGF0ZVN0YXRlbWVu
dC0+YmluZFRleHQoNywgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOwotICAgIG1fdXBkYXRlU3Rh
dGVtZW50LT5iaW5kSW50KDgsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhl
bnRpY2F0aW9uU2NoZW1lKCkpKTsKLQotICAgIGludCByZXN1bHQgPSBtX3VwZGF0ZVN0YXRlbWVu
dC0+c3RlcCgpOworICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIGNyZWRl
bnRpYWwudXNlcigpKTsKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kQmxvYigyLCBl
bmNyeXB0ZWRTdHJpbmcoY3JlZGVudGlhbC5wYXNzd29yZCgpKSk7CisgICAgbV91cGRhdGVMb2dp
blN0YXRlbWVudC0+YmluZFRleHQoMywgdXJsLnN0cmluZygpKTsKKyAgICBtX3VwZGF0ZUxvZ2lu
U3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBtX3Vw
ZGF0ZUxvZ2luU3RhdGVtZW50LT5iaW5kSW50KDUsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwor
ICAgIG1fdXBkYXRlTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoNiwgc3RhdGljX2Nhc3Q8aW50Pihw
cm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV91cGRhdGVMb2dpblN0YXRlbWVu
dC0+YmluZFRleHQoNywgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1fdXBkYXRlTG9n
aW5TdGF0ZW1lbnQtPmJpbmRJbnQoOCwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uu
YXV0aGVudGljYXRpb25TY2hlbWUoKSkpOworCisgICAgaW50IHJlc3VsdCA9IG1fdXBkYXRlTG9n
aW5TdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBtX3VwZGF0ZUxvZ2luU3RhdGVtZW50LT5yZXNldCgp
OwogICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1bHREb25lLCBm
YWxzZSwKICAgICAgICAgIkZhaWxlZCB0byB1cGRhdGUgbG9naW4gaW5mbyBpbiB0YWJsZSBsb2dp
bnMgLSAlaSIsIHJlc3VsdCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDcmVkZW50
aWFsQmFja2luZ1N0b3JlOjpoYXNMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rp
b25TcGFjZSkKK2Jvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZTo6aGFzTG9naW4oY29uc3QgS1VS
TCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkKIHsKICAgICBB
U1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CiAgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFibGVF
eGlzdHMoImxvZ2lucyIpKTsKIAotICAgIGlmICghbV9oYXNTdGF0ZW1lbnQpCisgICAgaWYgKCFt
X2hhc0xvZ2luU3RhdGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX2hhc1N0
YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7Ci0gICAgbV9oYXNT
dGF0ZW1lbnQtPmJpbmRJbnQoMiwgcHJvdGVjdGlvblNwYWNlLnBvcnQoKSk7Ci0gICAgbV9oYXNT
dGF0ZW1lbnQtPmJpbmRJbnQoMywgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2Vy
dmVyVHlwZSgpKSk7Ci0gICAgbV9oYXNTdGF0ZW1lbnQtPmJpbmRUZXh0KDQsIHByb3RlY3Rpb25T
cGFjZS5yZWFsbSgpKTsKLSAgICBtX2hhc1N0YXRlbWVudC0+YmluZEludCg1LCBzdGF0aWNfY2Fz
dDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSk7CisgICAgbV9o
YXNMb2dpblN0YXRlbWVudC0+YmluZFRleHQoMSwgdXJsLnN0cmluZygpKTsKKyAgICBtX2hhc0xv
Z2luU3RhdGVtZW50LT5iaW5kVGV4dCgyLCBwcm90ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICBt
X2hhc0xvZ2luU3RhdGVtZW50LT5iaW5kSW50KDMsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwor
ICAgIG1faGFzTG9naW5TdGF0ZW1lbnQtPmJpbmRJbnQoNCwgc3RhdGljX2Nhc3Q8aW50Pihwcm90
ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9oYXNMb2dpblN0YXRlbWVudC0+Ymlu
ZFRleHQoNSwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgIG1faGFzTG9naW5TdGF0ZW1l
bnQtPmJpbmRJbnQoNiwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGlj
YXRpb25TY2hlbWUoKSkpOwogCi0gICAgaW50IHJlc3VsdCA9IG1faGFzU3RhdGVtZW50LT5zdGVw
KCk7CisgICAgaW50IHJlc3VsdCA9IG1faGFzTG9naW5TdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBp
bnQgbnVtT2ZSb3cgPSBtX2hhc0xvZ2luU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCk7CisgICAg
bV9oYXNMb2dpblN0YXRlbWVudC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVS
RShyZXN1bHQgIT0gU1FMUmVzdWx0Um93LCBmYWxzZSwKICAgICAgICAgIkZhaWxlZCB0byBleGVj
dXRlIHNlbGVjdCBsb2dpbiBpbmZvIGZyb20gdGFibGUgbG9naW5zIGluIGhhc0xvZ2luIC0gJWki
LCByZXN1bHQpOwogCi0gICAgaWYgKG1faGFzU3RhdGVtZW50LT5nZXRDb2x1bW5JbnQoMCkpCisg
ICAgaWYgKG51bU9mUm93KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gZmFsc2U7
CiB9CkBAIC0yMTUsNDQgKzI0NCwxNjIgQEAgQ3JlZGVudGlhbCBDcmVkZW50aWFsQmFja2luZ1N0
b3JlOjpnZXRMb2dpbihjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGEKICAgICBB
U1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CiAgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFibGVF
eGlzdHMoImxvZ2lucyIpKTsKIAotICAgIGlmICghbV9nZXRTdGF0ZW1lbnQpCisgICAgaWYgKCFt
X2dldExvZ2luU3RhdGVtZW50KQorICAgICAgICByZXR1cm4gQ3JlZGVudGlhbCgpOworCisgICAg
bV9nZXRMb2dpblN0YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7
CisgICAgbV9nZXRMb2dpblN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2UucG9y
dCgpKTsKKyAgICBtX2dldExvZ2luU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGlu
dD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAgIG1fZ2V0TG9naW5TdGF0ZW1l
bnQtPmJpbmRUZXh0KDQsIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX2dldExvZ2lu
U3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1
dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2dldExvZ2luU3Rh
dGVtZW50LT5zdGVwKCk7CisgICAgU3RyaW5nIHVzZXJuYW1lID0gbV9nZXRMb2dpblN0YXRlbWVu
dC0+Z2V0Q29sdW1uVGV4dCgwKTsKKyAgICBTdHJpbmcgcGFzc3dvcmQgPSBtX2dldExvZ2luU3Rh
dGVtZW50LT5nZXRDb2x1bW5CbG9iQXNTdHJpbmcoMSk7CisgICAgbV9nZXRMb2dpblN0YXRlbWVu
dC0+cmVzZXQoKTsKKyAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVz
dWx0Um93LCBDcmVkZW50aWFsKCksCisgICAgICAgICJGYWlsZWQgdG8gZXhlY3V0ZSBzZWxlY3Qg
bG9naW4gaW5mbyBmcm9tIHRhYmxlIGxvZ2lucyBpbiBnZXRMb2dpbiAtICVpIiwgcmVzdWx0KTsK
KworICAgIHJldHVybiBDcmVkZW50aWFsKHVzZXJuYW1lLCBkZWNyeXB0ZWRTdHJpbmcocGFzc3dv
cmQpLCBDcmVkZW50aWFsUGVyc2lzdGVuY2VQZXJtYW5lbnQpOworfQorCitDcmVkZW50aWFsIENy
ZWRlbnRpYWxCYWNraW5nU3RvcmU6OmdldExvZ2luKGNvbnN0IEtVUkwmIHVybCkKK3sKKyAgICBB
U1NFUlQobV9kYXRhYmFzZS5pc09wZW4oKSk7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFibGVF
eGlzdHMoImxvZ2lucyIpKTsKKworICAgIGlmICghbV9nZXRMb2dpbkJ5VVJMU3RhdGVtZW50KQog
ICAgICAgICByZXR1cm4gQ3JlZGVudGlhbCgpOwogCi0gICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRU
ZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAgIG1fZ2V0U3RhdGVtZW50LT5iaW5k
SW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwotICAgIG1fZ2V0U3RhdGVtZW50LT5iaW5k
SW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOwot
ICAgIG1fZ2V0U3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7
Ci0gICAgbV9nZXRTdGF0ZW1lbnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0
aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkpOworICAgIG1fZ2V0TG9naW5CeVVSTFN0
YXRlbWVudC0+YmluZFRleHQoMSwgdXJsLnN0cmluZygpKTsKIAotICAgIGludCByZXN1bHQgPSBt
X2dldFN0YXRlbWVudC0+c3RlcCgpOworICAgIGludCByZXN1bHQgPSBtX2dldExvZ2luQnlVUkxT
dGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBTdHJpbmcgdXNlcm5hbWUgPSBtX2dldExvZ2luQnlVUkxT
dGF0ZW1lbnQtPmdldENvbHVtblRleHQoMCk7CisgICAgU3RyaW5nIHBhc3N3b3JkID0gbV9nZXRM
b2dpbkJ5VVJMU3RhdGVtZW50LT5nZXRDb2x1bW5CbG9iQXNTdHJpbmcoMSk7CisgICAgbV9nZXRM
b2dpbkJ5VVJMU3RhdGVtZW50LT5yZXNldCgpOwogICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJF
KHJlc3VsdCAhPSBTUUxSZXN1bHRSb3csIENyZWRlbnRpYWwoKSwKICAgICAgICAgIkZhaWxlZCB0
byBleGVjdXRlIHNlbGVjdCBsb2dpbiBpbmZvIGZyb20gdGFibGUgbG9naW5zIGluIGdldExvZ2lu
IC0gJWkiLCByZXN1bHQpOwogCi0gICAgcmV0dXJuIENyZWRlbnRpYWwobV9nZXRTdGF0ZW1lbnQt
PmdldENvbHVtblRleHQoMCksIGRlY3J5cHRlZFN0cmluZyhtX2dldFN0YXRlbWVudC0+Z2V0Q29s
dW1uVGV4dCgxKSksIENyZWRlbnRpYWxQZXJzaXN0ZW5jZVBlcm1hbmVudCk7CisgICAgcmV0dXJu
IENyZWRlbnRpYWwodXNlcm5hbWUsIGRlY3J5cHRlZFN0cmluZyhwYXNzd29yZCksIENyZWRlbnRp
YWxQZXJzaXN0ZW5jZVBlcm1hbmVudCk7CiB9CiAKLWJvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9y
ZTo6cmVtb3ZlTG9naW4oY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCiti
b29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92ZUxvZ2luKGNvbnN0IEtVUkwmIHVybCwg
Y29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCiB7CiAgICAgQVNTRVJUKG1f
ZGF0YWJhc2UuaXNPcGVuKCkpOwogICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJs
b2dpbnMiKSk7CiAKLSAgICBpZiAoIW1fcmVtb3ZlU3RhdGVtZW50KQorICAgIGlmICghbV9yZW1v
dmVMb2dpblN0YXRlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV9yZW1vdmVT
dGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOwotICAgIG1fcmVt
b3ZlU3RhdGVtZW50LT5iaW5kSW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOwotICAgIG1f
cmVtb3ZlU3RhdGVtZW50LT5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNw
YWNlLnNlcnZlclR5cGUoKSkpOwotICAgIG1fcmVtb3ZlU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBw
cm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7Ci0gICAgbV9yZW1vdmVTdGF0ZW1lbnQtPmJpbmRJbnQo
NSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUo
KSkpOworICAgIG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHVybC5zdHJpbmco
KSk7CisgICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+YmluZFRleHQoMiwgcHJvdGVjdGlvblNw
YWNlLmhvc3QoKSk7CisgICAgbV9yZW1vdmVMb2dpblN0YXRlbWVudC0+YmluZEludCgzLCBwcm90
ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBtX3JlbW92ZUxvZ2luU3RhdGVtZW50LT5iaW5kSW50
KDQsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkpOworICAg
IG1fcmVtb3ZlTG9naW5TdGF0ZW1lbnQtPmJpbmRUZXh0KDUsIHByb3RlY3Rpb25TcGFjZS5yZWFs
bSgpKTsKKyAgICBtX3JlbW92ZUxvZ2luU3RhdGVtZW50LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0
PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKIAotICAgIGlu
dCByZXN1bHQgPSBtX3JlbW92ZVN0YXRlbWVudC0+c3RlcCgpOworICAgIGludCByZXN1bHQgPSBt
X3JlbW92ZUxvZ2luU3RhdGVtZW50LT5zdGVwKCk7CisgICAgbV9yZW1vdmVMb2dpblN0YXRlbWVu
dC0+cmVzZXQoKTsKICAgICBIQU5ETEVfU1FMX0VYRUNfRkFJTFVSRShyZXN1bHQgIT0gU1FMUmVz
dWx0RG9uZSwgZmFsc2UsCiAgICAgICAgICJGYWlsZWQgdG8gcmVtb3ZlIGxvZ2luIGluZm8gZnJv
bSB0YWJsZSBsb2dpbnMgLSAlaSIsIHJlc3VsdCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
Ym9vbCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhcigpCitib29sIENyZWRlbnRpYWxCYWNr
aW5nU3RvcmU6OmFkZE5ldmVyUmVtZW1iZXIoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0
aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkKK3sKKyAgICBBU1NFUlQobV9kYXRhYmFzZS5pc09w
ZW4oKSk7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UudGFibGVFeGlzdHMoIm5ldmVyX3JlbWVtYmVy
IikpOworCisgICAgaWYgKCFtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRleHQo
MSwgdXJsLnN0cmluZygpKTsKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRU
ZXh0KDIsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1fYWRkTmV2ZXJSZW1lbWJlclN0
YXRlbWVudC0+YmluZEludCgzLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsKKyAgICBtX2FkZE5l
dmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoNCwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0
aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9hZGROZXZlclJlbWVtYmVyU3RhdGVtZW50
LT5iaW5kVGV4dCg1LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7CisgICAgbV9hZGROZXZlclJl
bWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDYsIHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNw
YWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKworICAgIGludCByZXN1bHQgPSBtX2FkZE5l
dmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBtX2FkZE5ldmVyUmVtZW1iZXJTdGF0
ZW1lbnQtPnJlc2V0KCk7CisgICAgSEFORExFX1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9IFNR
TFJlc3VsdERvbmUsIGZhbHNlLAorICAgICAgICAiRmFpbGVkIHRvIGFkZCBuYXZlciBzYXZlZCBp
dGVtIGluZm8gaW50byB0YWJsZSBuZXZlcl9yZW1lbWJlciAtICVpIiwgcmVzdWx0KTsKKworICAg
IHJldHVybiB0cnVlOworfQorCitib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6Omhhc05ldmVy
UmVtZW1iZXIoY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCit7CisgICAg
QVNTRVJUKG1fZGF0YWJhc2UuaXNPcGVuKCkpOworICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxl
RXhpc3RzKCJuZXZlcl9yZW1lbWJlciIpKTsKKworICAgIGlmICghbV9oYXNOZXZlclJlbWVtYmVy
U3RhdGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX2hhc05ldmVyUmVtZW1i
ZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1f
aGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2UucG9y
dCgpKTsKKyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMywgc3RhdGlj
X2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9oYXNOZXZl
clJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2UucmVhbG0oKSk7
CisgICAgbV9oYXNOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDUsIHN0YXRpY19jYXN0
PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpKTsKKworICAgIGlu
dCByZXN1bHQgPSBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnN0ZXAoKTsKKyAgICBpbnQg
bnVtT2ZSb3cgPSBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmdldENvbHVtbkludCgwKTsK
KyAgICBtX2hhc05ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnJlc2V0KCk7CisgICAgSEFORExFX1NR
TF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9IFNRTFJlc3VsdFJvdywgZmFsc2UsCisgICAgICAgICJG
YWlsZWQgdG8gZXhlY3V0ZSBzZWxlY3QgdG8gZmluZCBuYXZlciBzYXZlZCBzaXRlIGZyb20gdGFi
bGUgbmV2ZXJfcmVtZW1iZXIgLSAlaSIsIHJlc3VsdCk7CisKKyAgICBpZiAobnVtT2ZSb3cpCisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KKworS1VSTCBDcmVkZW50
aWFsQmFja2luZ1N0b3JlOjpnZXROZXZlclJlbWVtYmVyKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYg
cHJvdGVjdGlvblNwYWNlKQoreworICAgIEFTU0VSVChtX2RhdGFiYXNlLmlzT3BlbigpKTsKKyAg
ICBBU1NFUlQobV9kYXRhYmFzZS50YWJsZUV4aXN0cygibmV2ZXJfcmVtZW1iZXIiKSk7CisKKyAg
ICBpZiAoIW1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudCkKKyAgICAgICAgcmV0dXJuIEtVUkwo
KTsKKworICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZFRleHQoMSwgcHJvdGVj
dGlvblNwYWNlLmhvc3QoKSk7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5k
SW50KDIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOworICAgIG1fZ2V0TmV2ZXJSZW1lbWJlclN0
YXRlbWVudC0+YmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2
ZXJUeXBlKCkpKTsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDQs
IHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpKTsKKyAgICBtX2dldE5ldmVyUmVtZW1iZXJTdGF0ZW1l
bnQtPmJpbmRJbnQoNSwgc3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGlj
YXRpb25TY2hlbWUoKSkpOworCisgICAgaW50IHJlc3VsdCA9IG1fZ2V0TmV2ZXJSZW1lbWJlclN0
YXRlbWVudC0+c3RlcCgpOworICAgIFN0cmluZyB1cmwgPSBtX2dldE5ldmVyUmVtZW1iZXJTdGF0
ZW1lbnQtPmdldENvbHVtblRleHQoMCk7CisgICAgbV9nZXROZXZlclJlbWVtYmVyU3RhdGVtZW50
LT5yZXNldCgpOworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKHJlc3VsdCAhPSBTUUxSZXN1
bHRSb3csIEtVUkwoKSwKKyAgICAgICAgIkZhaWxlZCB0byBleGVjdXRlIHNlbGVjdCBuZXZlciBz
YXZlZCBzaXRlIGluZm8gZnJvbSB0YWJsZSBuZXZlcl9yZW1lbWJlciBpbiBnZXROZXZlclJlbWVt
YmVyIC0gJWkiLCByZXN1bHQpOworCisgICAgcmV0dXJuIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1
cmwpOworfQorCitib29sIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OnJlbW92ZU5ldmVyUmVtZW1i
ZXIoY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCit7CisgICAgQVNTRVJU
KG1fZGF0YWJhc2UuaXNPcGVuKCkpOworICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3Rz
KCJuZXZlcl9yZW1lbWJlciIpKTsKKworICAgIGlmICghbV9yZW1vdmVOZXZlclJlbWVtYmVyU3Rh
dGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1i
ZXJTdGF0ZW1lbnQtPmJpbmRUZXh0KDEsIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkpOworICAgIG1f
cmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudC0+YmluZEludCgyLCBwcm90ZWN0aW9uU3BhY2Uu
cG9ydCgpKTsKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPmJpbmRJbnQoMywg
c3RhdGljX2Nhc3Q8aW50Pihwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKSk7CisgICAgbV9y
ZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kVGV4dCg0LCBwcm90ZWN0aW9uU3BhY2Uu
cmVhbG0oKSk7CisgICAgbV9yZW1vdmVOZXZlclJlbWVtYmVyU3RhdGVtZW50LT5iaW5kSW50KDUs
IHN0YXRpY19jYXN0PGludD4ocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkp
KTsKKworICAgIGludCByZXN1bHQgPSBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnN0
ZXAoKTsKKyAgICBtX3JlbW92ZU5ldmVyUmVtZW1iZXJTdGF0ZW1lbnQtPnJlc2V0KCk7CisgICAg
SEFORExFX1NRTF9FWEVDX0ZBSUxVUkUocmVzdWx0ICE9IFNRTFJlc3VsdERvbmUsIGZhbHNlLAor
ICAgICAgICAiRmFpbGVkIHRvIHJlbW92ZSBuZXZlciBzYXZlZCBzaXRlIGZyb20gdGFibGUgbmV2
ZXJfcmVtZW1iZXIgLSAlaSIsIHJlc3VsdCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9v
bCBDcmVkZW50aWFsQmFja2luZ1N0b3JlOjpjbGVhckxvZ2lucygpCiB7CiAgICAgQVNTRVJUKG1f
ZGF0YWJhc2UuaXNPcGVuKCkpOwogICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJs
b2dpbnMiKSk7CkBAIC0yNjMsNiArNDEwLDE3IEBAIGJvb2wgQ3JlZGVudGlhbEJhY2tpbmdTdG9y
ZTo6Y2xlYXIoKQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIENyZWRlbnRpYWxCYWNraW5n
U3RvcmU6OmNsZWFyTmV2ZXJSZW1lbWJlcigpCit7CisgICAgQVNTRVJUKG1fZGF0YWJhc2UuaXNP
cGVuKCkpOworICAgIEFTU0VSVChtX2RhdGFiYXNlLnRhYmxlRXhpc3RzKCJuZXZlcl9yZW1lbWJl
ciIpKTsKKworICAgIEhBTkRMRV9TUUxfRVhFQ19GQUlMVVJFKCFtX2RhdGFiYXNlLmV4ZWN1dGVD
b21tYW5kKCJERUxFVEUgKiBGUk9NIG5ldmVyX3JlbWVtYmVyIiksCisgICAgICAgIGZhbHNlLCAi
RmFpbGVkIHRvIGNsZWFyIHRhYmxlIG5ldmVyX3JlbWVtYmVyIik7CisKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogU3RyaW5nIENyZWRlbnRpYWxCYWNraW5nU3RvcmU6OmVuY3J5cHRlZFN0cmluZyhj
b25zdCBTdHJpbmcmIHBsYWluVGV4dCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogTmVlZCBlbmNy
eXB0IHBsYWluVGV4dCBoZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuaApp
bmRleCBkMTI2MzEwLi5mYzEyYzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9DcmVkZW50aWFsQmFja2luZ1N0
b3JlLmgKQEAgLTM3LDEwICszNywxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbG9zZSgpOwogICAg
IGJvb2wgYWRkTG9naW4oY29uc3QgS1VSTCYsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYsIGNvbnN0
IENyZWRlbnRpYWwmKTsKICAgICBib29sIHVwZGF0ZUxvZ2luKGNvbnN0IEtVUkwmLCBjb25zdCBQ
cm90ZWN0aW9uU3BhY2UmLCBjb25zdCBDcmVkZW50aWFsJik7Ci0gICAgYm9vbCBoYXNMb2dpbihj
b25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKKyAgICBib29sIGhhc0xvZ2luKGNvbnN0IEtVUkwmLCBj
b25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKICAgICBDcmVkZW50aWFsIGdldExvZ2luKGNvbnN0IFBy
b3RlY3Rpb25TcGFjZSYpOwotICAgIGJvb2wgcmVtb3ZlTG9naW4oY29uc3QgUHJvdGVjdGlvblNw
YWNlJik7Ci0gICAgYm9vbCBjbGVhcigpOworICAgIENyZWRlbnRpYWwgZ2V0TG9naW4oY29uc3Qg
S1VSTCYpOworICAgIGJvb2wgcmVtb3ZlTG9naW4oY29uc3QgS1VSTCYsIGNvbnN0IFByb3RlY3Rp
b25TcGFjZSYpOworICAgIGJvb2wgYWRkTmV2ZXJSZW1lbWJlcihjb25zdCBLVVJMJiwgY29uc3Qg
UHJvdGVjdGlvblNwYWNlJik7CisgICAgYm9vbCBoYXNOZXZlclJlbWVtYmVyKGNvbnN0IFByb3Rl
Y3Rpb25TcGFjZSYpOworICAgIEtVUkwgZ2V0TmV2ZXJSZW1lbWJlcihjb25zdCBQcm90ZWN0aW9u
U3BhY2UmKTsKKyAgICBib29sIHJlbW92ZU5ldmVyUmVtZW1iZXIoY29uc3QgUHJvdGVjdGlvblNw
YWNlJik7CisgICAgYm9vbCBjbGVhckxvZ2lucygpOworICAgIGJvb2wgY2xlYXJOZXZlclJlbWVt
YmVyKCk7CiAKIHByaXZhdGU6CiAgICAgQ3JlZGVudGlhbEJhY2tpbmdTdG9yZSgpOwpAQCAtNDgs
MTEgKzU0LDE2IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGRlY3J5cHRlZFN0cmluZyhjb25zdCBT
dHJpbmcmIGNpcGhlclRleHQpIGNvbnN0OwogCiAgICAgU1FMaXRlRGF0YWJhc2UgbV9kYXRhYmFz
ZTsKLSAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fYWRkU3RhdGVtZW50OwotICAgIFNRTGl0ZVN0YXRl
bWVudCogbV91cGRhdGVTdGF0ZW1lbnQ7Ci0gICAgU1FMaXRlU3RhdGVtZW50KiBtX2hhc1N0YXRl
bWVudDsKLSAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fZ2V0U3RhdGVtZW50OwotICAgIFNRTGl0ZVN0
YXRlbWVudCogbV9yZW1vdmVTdGF0ZW1lbnQ7CisgICAgU1FMaXRlU3RhdGVtZW50KiBtX2FkZExv
Z2luU3RhdGVtZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV91cGRhdGVMb2dpblN0YXRlbWVu
dDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1faGFzTG9naW5TdGF0ZW1lbnQ7CisgICAgU1FMaXRl
U3RhdGVtZW50KiBtX2dldExvZ2luU3RhdGVtZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV9n
ZXRMb2dpbkJ5VVJMU3RhdGVtZW50OworICAgIFNRTGl0ZVN0YXRlbWVudCogbV9yZW1vdmVMb2dp
blN0YXRlbWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fYWRkTmV2ZXJSZW1lbWJlclN0YXRl
bWVudDsKKyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1faGFzTmV2ZXJSZW1lbWJlclN0YXRlbWVudDsK
KyAgICBTUUxpdGVTdGF0ZW1lbnQqIG1fZ2V0TmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKKyAgICBT
UUxpdGVTdGF0ZW1lbnQqIG1fcmVtb3ZlTmV2ZXJSZW1lbWJlclN0YXRlbWVudDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>