<?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>27225</bug_id>
          
          <creation_ts>2009-07-13 11:28:41 -0700</creation_ts>
          <short_desc>Change all Noncopyable inheriting to publicly inheriting</short_desc>
          <delta_ts>2009-07-14 22:19:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>27248</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>131361</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-07-13 11:28:41 -0700</bug_when>
    <thetext>Noncopyable will be inherited from FastAllocBase (I&apos;ll file another bug), so all of Noncopyable inheriting visibility have to change to public. (There is no reason to use private inheritance, but now it&apos;s reasonable to change it to public.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131364</commentid>
    <comment_count>1</comment_count>
      <attachid>32668</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-07-13 11:44:18 -0700</bug_when>
    <thetext>Created attachment 32668
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131708</commentid>
    <comment_count>2</comment_count>
      <attachid>32668</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-07-14 15:34:20 -0700</bug_when>
    <thetext>Comment on attachment 32668
proposed patch

&gt; -struct OpaqueJSClassContextData : Noncopyable {
&gt; +struct OpaqueJSClassContextData : public Noncopyable {

struct inheritance is already public, so this change is not needed. There are tons of other cases like this. Please don&apos;t make those changes since they aren&apos;t needed. Otherwise this seems fine. review- because I&apos;d like to see the patch without the unneeded changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131733</commentid>
    <comment_count>3</comment_count>
      <attachid>32745</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-07-14 16:08:46 -0700</bug_when>
    <thetext>Created attachment 32745
updated proposed patch

I&apos;ve updated the patch and removed the unnecessary struct changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131809</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-14 22:19:31 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/45891.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32668</attachid>
            <date>2009-07-13 11:44:18 -0700</date>
            <delta_ts>2009-07-14 18:12:18 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>JSCoreNoncopyable.patch</filename>
            <type>text/plain</type>
            <size>78428</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ1ODMwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAKKzIwMDktMDctMTMgIFpvbHRhbiBI
b3J2YXRoICA8aHpvbHRhbkBpbmYudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGFsbCBOb25jb3B5YWJsZSBpbmhlcml0
aW5nIHZpc2liaWxpdHkgdG8gcHVibGljLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjcyMjUKKworICAgICAgICBDaGFuZ2UgYWxsIE5vbmNvcHlhYmxl
IGluaGVyaXRpbmcgdmlzaWJpbGl0eSB0byBwdWJsaWMgYmVjYXVzZQorICAgICAgICBpdCBpcyBu
ZWVkZWQgdG8gdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yayAoYnVnICMyMDQyMikuCisK
KyAgICAgICAgKiBBUEkvSlNDbGFzc1JlZi5oOgorICAgICAgICAqIGJ5dGVjb2RlL1NhbXBsaW5n
VG9vbC5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9SZWdpc3RlcklELmg6CisgICAgICAgICog
aW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oOgorICAgICAgICAqIGludGVycHJldGVyL1JlZ2lzdGVy
RmlsZS5oOgorICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKiBydW50aW1lL0FyZ0xpc3QuaDoKKyAgICAgICAgKiBydW50aW1lL0Fy
Z3VtZW50cy5oOgorICAgICAgICAqIHJ1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIu
aDoKKyAgICAgICAgKiBydW50aW1lL0NvbGxlY3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQ29t
bW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAq
IHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pTTG9jay5oOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVjdC5jcHA6CisgICAgICAgICogcnVudGltZS9TbWFs
bFN0cmluZ3MuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvU21hbGxTdHJpbmdzLmg6CisgICAgICAg
ICogcnVudGltZS9VU3RyaW5nLmg6CisgICAgICAgICogd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRl
ZC5oOgorICAgICAgICAqIHd0Zi9EYXRlTWF0aC5oOgorICAgICAgICAqIHd0Zi9HT3duUHRyLmg6
CisgICAgICAgICogd3RmL0xvY2tlci5oOgorICAgICAgICAqIHd0Zi9NZXNzYWdlUXVldWUuaDoK
KyAgICAgICAgKiB3dGYvT3duQXJyYXlQdHIuaDoKKyAgICAgICAgKiB3dGYvT3duRmFzdE1hbGxv
Y1B0ci5oOgorICAgICAgICAqIHd0Zi9Pd25QdHIuaDoKKyAgICAgICAgKiB3dGYvUmVmQ291bnRl
ZC5oOgorICAgICAgICAqIHd0Zi9UaHJlYWRTcGVjaWZpYy5oOgorICAgICAgICAqIHd0Zi9UaHJl
YWRpbmcuaDoKKyAgICAgICAgKiB3dGYvVmVjdG9yLmg6CisgICAgICAgICogd3RmL3VuaWNvZGUv
Q29sbGF0b3IuaDoKKwogMjAwOS0wNy0xMyAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2
by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBVbnJldmlld2VkIG1ha2UgZGlz
dCBidWlsZCBmaXguCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgJKHJldmlzaW9uIDQ1ODMw
KQorKysgSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuaAkod29ya2luZyBjb3B5KQpAQCAt
NjIsNyArNjIsNyBAQCBjbGFzcyBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNz
IChKU0NsYXNzKSBpcyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNl
ZCB3aXRoIGFueSBjb250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMg
c3RydWN0dXJlIGhvbGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3Jv
dXBzLgotc3RydWN0IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0
cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAg
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpT
Q2xhc3NDb250ZXh0RGF0YSgpOwogCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1w
bGluZ1Rvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAkocmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1w
bGluZ1Rvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDcgKzE0MCw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9zdENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lm
IEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBOb25j
b3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUg
ewogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCog
c2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxpbmdU
b29sKQpAQCAtMTcwLDcgKzE3MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgfQog
ICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IE5vbmNvcHlhYmxl
IHsKKyAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAg
ICAgIHB1YmxpYzoKICAgICAgICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAg
ICAgICAgIHsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAko
cmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJ
RC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
Ci0gICAgY2xhc3MgUmVnaXN0ZXJJRCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3Rl
cklEIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVy
SUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9DYWNoZWRDYWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCShyZXZpc2lvbiA0NTgzMCkKKysrIEphdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBA
QAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAKIG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNz
IENhY2hlZENhbGwgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FjaGVkQ2FsbCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFt
ZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5jdGlvbiwgaW50IGFyZ0NvdW50LCBKU1ZhbHVl
KiBleGNlcHRpb24pCiAgICAgICAgICAgICA6IG1fdmFsaWQoZmFsc2UpCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAkocmV2aXNpb24gNDU4MzApCisrKyBK
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAkod29ya2luZyBjb3B5KQpA
QCAtOTIsNyArOTIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsT2Jq
ZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJGaWxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNz
IFJlZ2lzdGVyRmlsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCShyZXZpc2lvbiA0NTgzMCkKKysrIEphdmFTY3JpcHRD
b3JlL3BhcnNlci9MZXhlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgY2xhc3MgUmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1
YmxpYzoKICAgICAgICAgLy8gQ2hhcmFjdGVyIG1hbmlwdWxhdGlvbiBmdW5jdGlvbnMuCiAgICAg
ICAgIHN0YXRpYyBib29sIGlzV2hpdGVTcGFjZShpbnQgY2hhcmFjdGVyKTsKSW5kZXg6IEphdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXJzZXJBcmVuYURhdGEgOiBQ
YXJzZXJBcmVuYURlbGV0YWJsZSB7IFQgZGF0YTsgfTsKIAotICAgIGNsYXNzIFBhcnNlciA6IE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAg
IHB1YmxpYzoKICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFBhcnNlZE5vZGU+IFBhc3NSZWZQdHI8
UGFyc2VkTm9kZT4gcGFyc2UoRXhlY1N0YXRlKiwgRGVidWdnZXIqLCBjb25zdCBTb3VyY2VDb2Rl
JiwgaW50KiBlcnJMaW5lID0gMCwgVVN0cmluZyogZXJyTXNnID0gMCk7CiAgICAgICAgIHRlbXBs
YXRlIDxjbGFzcyBQYXJzZWROb2RlPiBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHJlcGFyc2UoSlNH
bG9iYWxEYXRhKiwgUGFyc2VkTm9kZSopOwpJbmRleDogSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmdMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgJ
KHJldmlzaW9uIDQ1ODMwKQorKysgSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAgICAgCi0g
ICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
TWFya2VkQXJndW1lbnRCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHByaXZhdGU6
CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDg7CiAgICAg
ICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyLCBpbmxpbmVDYXBhY2l0eT4gVmVjdG9yVHlwZTsK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAkocmV2aXNpb24gNDU4MzApCisrKyBK
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3
ICszMSw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgewogICAgICAgICBKU0FjdGl2YXRpb24qIGFjdGl2YXRpb247CiAKICAgICAgICAgdW5z
aWduZWQgbnVtUGFyYW1ldGVyczsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgSmF2
YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3Mg
QmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQmF0
Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1Ymxp
YzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkK
ICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpJbmRleDogSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nv
bGxlY3Rvci5oCShyZXZpc2lvbiA0NTgzMCkKKysrIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29s
bGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIE9wZXJhdGlvbkluUHJvZ3Jlc3Mgb3BlcmF0aW9uSW5Qcm9ncmVzczsKICAgICB9
OwogCi0gICAgY2xhc3MgSGVhcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIGNsYXNzIFRocmVhZDsKICAg
ICAgICAgdHlwZWRlZiBDb2xsZWN0b3JIZWFwSXRlcmF0b3I8UHJpbWFyeUhlYXA+IGl0ZXJhdG9y
OwpJbmRleDogSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAkocmV2
aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAK
LSAgICBjbGFzcyBDb21tb25JZGVudGlmaWVycyA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
b21tb25JZGVudGlmaWVycyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHJpdmF0ZToKICAg
ICAgICAgQ29tbW9uSWRlbnRpZmllcnMoSlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZyaWVuZCBj
bGFzcyBKU0dsb2JhbERhdGE7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgJKHJldmlzaW9u
IDQ1ODMwKQorKysgSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAkod29ya2luZyBjb3B5
KQpAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIEpTQ2Vs
bCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBKU0NlbGwgOiBwdWJsaWMgTm9uY29weWFibGUg
ewogICAgICAgICBmcmllbmQgY2xhc3MgR2V0dGVyU2V0dGVyOwogICAgICAgICBmcmllbmQgY2xh
c3MgSGVhcDsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJldmlzaW9uIDQ1ODMwKQorKysgSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOTEsNyArMzkx
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBnbG9iYWxEYXRhKCkuZHluYW1p
Y0dsb2JhbE9iamVjdDsKICAgICB9CiAKLSAgICBjbGFzcyBEeW5hbWljR2xvYmFsT2JqZWN0U2Nv
cGUgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxP
YmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNH
bG9iYWxPYmplY3QpIAogICAgICAgICAgICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNh
bGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5bmFtaWNHbG9iYWxPYmplY3QpCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0xvY2suaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgIGNsYXNzIEV4ZWNTdGF0ZTsKIAotICAgIGNsYXNzIEpTTG9jayA6IE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBKU0xvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1Ymxp
YzoKICAgICAgICAgSlNMb2NrKEV4ZWNTdGF0ZSopOwogCkBAIC04NSw3ICs4NSw3IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIGJvb2wgbV9sb2NraW5nRm9yUmVhbDsKIAotICAgICAgICBj
bGFzcyBEcm9wQWxsTG9ja3MgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIERyb3BBbGxM
b2NrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAg
IERyb3BBbGxMb2NrcyhFeGVjU3RhdGUqIGV4ZWMpOwogICAgICAgICAgICAgRHJvcEFsbExvY2tz
KGJvb2wpOwpJbmRleDogSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCShyZXZpc2lv
biA0NTgzMCkKKysrIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTYxLDcgKzYxLDcgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIEpTVmFsdWUg
bV92YWx1ZTsKIH07CiAKLWNsYXNzIFN0cmluZ2lmaWVyIDogTm9uY29weWFibGUgeworY2xhc3Mg
U3RyaW5naWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIFN0cmluZ2lm
aWVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5T
dHJpbmdpZmllcigpOwpJbmRleDogSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNw
cAkocmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5n
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAKIG5hbWVzcGFjZSBKU0Mgewog
c3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bUNoYXJhY3RlcnNUb1N0b3JlID0gMHgxMDA7CiAKLWNs
YXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2UgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmlu
Z3NTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmlu
Z3NTdG9yYWdlKCk7CiAKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAko
cmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZTsKIAotICAgIGNsYXNzIFNtYWxsU3RyaW5ncyA6IE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUg
ewogICAgIHB1YmxpYzoKICAgICAgICAgU21hbGxTdHJpbmdzKCk7CiAgICAgICAgIH5TbWFsbFN0
cmluZ3MoKTsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5oCShyZXZpc2lvbiA0NTgzMCkK
KysrIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC03
MywxMyArNzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0eXBlZGVmIFZlY3RvcjxjaGFy
LCAzMj4gQ1N0cmluZ0J1ZmZlcjsKIAotICAgIGNsYXNzIFVTdHJpbmcgeworICAgIGNsYXNzIFVT
dHJpbmcgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7
CiAKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkPE93
bkZhc3RNYWxsb2NQdHI8VUNoYXI+ID4gU2hhcmVkVUNoYXI7CiAgICAgICAgIHN0cnVjdCBCYXNl
U3RyaW5nOwotICAgICAgICBzdHJ1Y3QgUmVwIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1
Y3QgUmVwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICAgICAgICAgIGZyaWVuZCBjbGFzcyBK
SVQ7CiAKICAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlcD4gY3JlYXRlKFVDaGFyKiBi
dWZmZXIsIGludCBsZW5ndGgpCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRS
ZWZDb3VudGVkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFk
UmVmQ291bnRlZC5oCShyZXZpc2lvbiA0NTgzMCkKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9Dcm9z
c1RocmVhZFJlZkNvdW50ZWQuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFsIGFuZCBhbnkg
b3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkKICAgICAvLyBv
d25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAgICAgdGVtcGxh
dGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENyb3NzVGhyZWFkUmVm
Q291bnRlZDxUPiA+IGNyZWF0ZShUKiBkYXRhKQogICAgICAgICB7CkluZGV4OiBKYXZhU2NyaXB0
Q29yZS93dGYvRGF0ZU1hdGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvRGF0
ZU1hdGguaAkocmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGgu
aAkod29ya2luZyBjb3B5KQpAQCAtNzcsNyArNzcsNyBAQCBjb25zdCBkb3VibGUgbXNQZXJEYXkg
PSAyNC4wICogNjAuMCAqIDYwCiAKIC8vIEludGVudGlvbmFsbHkgb3ZlcnJpZGRpbmcgdGhlIGRl
ZmF1bHQgdG0gb2YgdGhlIHN5c3RlbQogLy8gVGVlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9uIHZh
cmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBOb25j
b3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBwdWJsaWMgTm9uY29weWFibGUg
ewogICAgIEdyZWdvcmlhbkRhdGVUaW1lKCkKICAgICAgICAgOiBzZWNvbmQoMCkKICAgICAgICAg
LCBtaW51dGUoMCkKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9HT3duUHRyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL0dPd25QdHIuaAkocmV2aXNpb24gNDU4MzApCisrKyBK
YXZhU2NyaXB0Q29yZS93dGYvR093blB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdE
aXI+KEdEaXIqKTsKICAgICB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHSGFzaFRhYmxl
PihHSGFzaFRhYmxlKik7CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0
ciA6IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBleHBsaWNpdCBH
T3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICAgICAgfkdPd25QdHIoKSB7
IGZyZWVPd25lZEdQdHIobV9wdHIpOyB9CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvTG9ja2Vy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCShyZXZpc2lvbiA0
NTgzMCkKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
IGNsYXNzIExvY2tlciA6IE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFz
cyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIExvY2tlcihUJiBs
b2NrYWJsZSkgOiBtX2xvY2thYmxlKGxvY2thYmxlKSB7IG1fbG9ja2FibGUubG9jaygpOyB9CiAg
ICAgfkxvY2tlcigpIHsgbV9sb2NrYWJsZS51bmxvY2soKTsgfQpJbmRleDogSmF2YVNjcmlwdENv
cmUvd3RmL01lc3NhZ2VRdWV1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9N
ZXNzYWdlUXVldWUuaAkocmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvTWVz
c2FnZVF1ZXVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgotICAgIGNsYXNz
IE1lc3NhZ2VRdWV1ZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgOiBw
dWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1ZXVlKCkg
OiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIApJbmRleDogSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5
UHRyLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAK
LSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgOiBOb25jb3B5YWJs
ZSB7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0IE93bkFycmF5UHRy
KFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICAgICAgfk93bkFycmF5UHRyKCkgeyBz
YWZlRGVsZXRlKCk7IH0KSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaAko
cmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi0g
ICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1hbGxvY1B0ciA6IE5vbmNvcHlhYmxl
IHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0IE93bkZhc3RNYWxs
b2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpJbmRleDogSmF2YVNjcmlwdENv
cmUvd3RmL093blB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIu
aAkocmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0cjsKIAotICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBPd25QdHIgOiBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IFQ+IGNsYXNzIE93blB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAg
ICAgICB0eXBlZGVmIHR5cGVuYW1lIFJlbW92ZVBvaW50ZXI8VD46OlR5cGUgVmFsdWVUeXBlOwog
ICAgICAgICB0eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlwZTsKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L3d0Zi9SZWZDb3VudGVkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNv
dW50ZWQuaAkocmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRl
ZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXVEYgewogLy8g
VGhpcyBiYXNlIGNsYXNzIGhvbGRzIHRoZSBub24tdGVtcGxhdGUgbWV0aG9kcyBhbmQgYXR0cmli
dXRlcy4KIC8vIFRoZSBSZWZDb3VudGVkIGNsYXNzIGluaGVyaXRzIGZyb20gaXQgcmVkdWNpbmcg
dGhlIHRlbXBsYXRlIGJsb2F0CiAvLyBnZW5lcmF0ZWQgYnkgdGhlIGNvbXBpbGVyICh0ZWNobmlx
dWUgY2FsbGVkIHRlbXBsYXRlIGhvaXN0aW5nKS4KLWNsYXNzIFJlZkNvdW50ZWRCYXNlIDogTm9u
Y29weWFibGUgeworY2xhc3MgUmVmQ291bnRlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewog
cHVibGljOgogICAgIHZvaWQgcmVmKCkKICAgICB7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU3BlY2lmaWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFk
U3BlY2lmaWMuaAkocmV2aXNpb24gNDU4MzApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFk
U3BlY2lmaWMuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBAQCBuYW1lc3BhY2UgV1RG
IHsKIHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAotdGVtcGxhdGU8
dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBjbGFzcyBUaHJlYWRTcGVjaWZpYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMoKTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBA
IC03Nyw3ICs3Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBw
dHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV0lO
X09TKQotICAgIHN0cnVjdCBEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKICAgICAgICAgRGF0YShUKiB2YWx1ZSwgVGhyZWFkU3BlY2lm
aWM8VD4qIG93bmVyKSA6IHZhbHVlKHZhbHVlKSwgb3duZXIob3duZXIpIHt9CiAKICAgICAgICAg
VCogdmFsdWU7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCShyZXZpc2lvbiA0NTgzMCkKKysr
IEphdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDcg
KzE1OSw3IEBAIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1SZWFkV3JpdGVMb2NrOwogdHlwZWRlZiB2
b2lkKiBQbGF0Zm9ybUNvbmRpdGlvbjsKICNlbmRpZgogICAgIAotY2xhc3MgTXV0ZXggOiBOb25j
b3B5YWJsZSB7CitjbGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAg
ICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTE3Niw3ICsxNzYsNyBAQCBwcml2YXRlOgog
CiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7CiAKLWNsYXNzIFJlYWRXcml0ZUxv
Y2sgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKIHB1YmxpYzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2so
KTsKQEAgLTE5Myw3ICsxOTMsNyBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9j
ayBtX3JlYWRXcml0ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBOb25jb3B5
YWJsZSB7CitjbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVi
bGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5UaHJlYWRDb25kaXRpb24oKTsKQEAg
LTIzNCw3ICsyMzQsNyBAQCBpbmxpbmUgaW50IGF0b21pY0RlY3JlbWVudChpbnQgdm9sYXRpbGUq
CiAKICNlbmRpZgogCi1jbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFRocmVhZFNhZmVTaGFyZWRCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1Ymxp
YzoKICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAg
ICAgICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L3d0Zi9WZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgJ
KHJldmlzaW9uIDQ1ODMwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yNjgsNyArMjY4LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZvaWQgYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0Nh
cGFjaXR5KQogICAgICAgICB7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xs
YXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9y
LmgJKHJldmlzaW9uIDQ1ODMwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0
b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQCBzdHJ1Y3QgVUNvbGxhdG9yOwog
CiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIGNsYXNzIENvbGxhdG9yIDogTm9uY29weWFibGUgewor
ICAgIGNsYXNzIENvbGxhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGVudW0gUmVzdWx0IHsgRXF1YWwgPSAwLCBHcmVhdGVyID0gMSwgTGVzcyA9IC0xIH07
CiAKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdl
TG9nCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTA1IEBACisyMDA5LTA3LTEzICBab2x0YW4gSG9ydmF0aCAgPGh6b2x0YW5A
aW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENoYW5nZSBhbGwgTm9uY29weWFibGUgaW5oZXJpdGluZyB2aXNpYmlsaXR5IHRv
IHB1YmxpYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI3MjI1CisKKyAgICAgICAgQ2hhbmdlIGFsbCBOb25jb3B5YWJsZSBpbmhlcml0aW5nIHZpc2li
aWxpdHkgdG8gcHVibGljIGJlY2F1c2UKKyAgICAgICAgaXQgaXMgbmVlZGVkIHRvIHRoZSBjdXN0
b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsgKGJ1ZyAjMjA0MjIpLgorCisgICAgICAgICogYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
RE9NTWFwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgICogYnJpZGdlL3J1bnRp
bWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTU2Vs
ZWN0b3JMaXN0Lmg6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAg
KiBkb20vQ2xhc3NOYW1lcy5oOgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydENoYW5uZWwuaDoK
KyAgICAgICAgKiBkb20vWE1MVG9rZW5pemVyTGlieG1sMi5jcHA6CisgICAgICAgICogZG9tL1hN
TFRva2VuaXplclNjb3BlLmg6CisgICAgICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZC5jcHA6CisgICAgICAgICogZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmg6CisgICAg
ICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNh
Y2hlLmg6CisgICAgICAgICogaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxQYXJzZXIuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFBhcnNlci5oOgor
ICAgICAgICAqIGh0bWwvSFRNTFBhcnNlclF1aXJrcy5oOgorICAgICAgICAqIGh0bWwvUHJlbG9h
ZFNjYW5uZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGUuaDoKKyAgICAgICAgKiBsb2FkZXIv
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oOgorICAgICAgICAqIGxvYWRlci9GcmFt
ZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaDoKKyAgICAgICAg
KiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuaDoKKyAgICAgICAgKiBsb2FkZXIvYXJjaGl2ZS9BcmNoaXZl
UmVzb3VyY2VDb2xsZWN0aW9uLmg6CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNl
Lmg6CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oOgorICAgICAgICAqIGxvYWRl
ci9pY29uL1BhZ2VVUkxSZWNvcmQuaDoKKyAgICAgICAgKiBsb2FkZXIvbG9hZGVyLmg6CisgICAg
ICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50
SGFuZGxlci5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVUcmVlLmg6CisgICAgICAgICogcGFnZS9Q
YWdlLmg6CisgICAgICAgICogcGFnZS9QYWdlR3JvdXAuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2VH
cm91cExvYWREZWZlcnJlci5oOgorICAgICAgICAqIHBhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9Db250ZXh0TWVudS5oOgorICAgICAgICAqIHBsYXRmb3JtL0V2ZW50TG9vcC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL0hvc3RXaW5kb3cuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJv
YXJkLmg6CisgICAgICAgICogcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vUnVuTG9vcFRpbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vVGhyZWFkR2xvYmFs
RGF0YS5oOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAgICAqIHBs
YXRmb3JtL1RpbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vVHJlZVNoYXJlZC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udERhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFdp
ZHRoTWFwLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0Lmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0
ay9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udE1hY0FUU1VJLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllV2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9Gb3JtRGF0YUJ1aWxkZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlSW50ZXJuYWwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1N0cmluZ0J1ZmZl
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVjLmg6CisgICAgICAgICogcGxh
dGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9Db3VudGVyTm9kZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9MYXlvdXRTdGF0ZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJWaWV3Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmg6CisgICAgICAgICogc3ZnL1NWR0Fu
aW1hdGVkUHJvcGVydHkuaDoKKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgICogc3ZnL1NW
R0FuaW1hdGVkVGVtcGxhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgICogc3Zn
L1N5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgICogeG1sL1hQYXRoRXhw
cmVzc2lvbk5vZGUuaDoKKyAgICAgICAgKiB4bWwvWFBhdGhQYXJzZXIuaDoKKyAgICAgICAgKiB4
bWwvWFBhdGhQcmVkaWNhdGUuaDoKKyAgICAgICAgKiB4bWwvWFBhdGhTdGVwLmg6CisKIDIwMDkt
MDctMTMgIFBldGVyIEthc3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgogCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU2MgpJbmRleDogV2ViQ29y
ZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvYmluZGlu
Z3MvanMvR0NDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogTm9uY29weWFi
bGUgeworICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAg
ICAgIGZyaWVuZCBHQ0NvbnRyb2xsZXImIGdjQ29udHJvbGxlcigpOwogCiAgICAgcHVibGljOgpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgJKHJl
dmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9s
bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFN0cmluZzsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAgY2xh
c3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3Jr
ZXJTY3JpcHRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCopOwogICAgICAgICB+
V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOERP
TU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5jcHAJ
KHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExNSw3ICsxMTUsNyBAQCB0eXBlZGVmIFdURjo6VmVjdG9yPERPTURh
dGFTdG9yZSo+IERPTURhCiAvLyBUaGlzIGNsYXNzIGRvZXNuJ3QgbWFuYWdlIHRoZSBsaWZldGlt
ZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogLy8gbGlmZXRpbWUgaXMgbWFuYWdlZCBi
eSBzdWJjbGFzc2VzLgogLy8KLWNsYXNzIERPTURhdGFTdG9yZSA6IE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERPTURhdGFTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgZW51
bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgIERPTU5vZGVNYXAsCkBAIC0yODcsNyArMjg3
LDcgQEAgdHlwZWRlZiBXVEY6OlZlY3RvcjxET01EYXRhU3RvcmUqPiBET01EYQogLy8gdGhyZWFk
LiAgVGhlIERPTURhdGEgZm9yIHRoZSBtYWluIHRocmVhZCBhbmQgdGhlIERPTURhdGEgZm9yIGNo
aWxkIHRocmVhZHMKIC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KIC8vCi1jbGFzcyBET01E
YXRhOiBOb25jb3B5YWJsZSB7CitjbGFzcyBET01EYXRhOiBwdWJsaWMgTm9uY29weWFibGUgewog
cHVibGljOgogICAgIERPTURhdGEoKQogICAgICAgICA6IG1fZGVsYXllZFByb2Nlc3NpbmdTY2hl
ZHVsZWQoZmFsc2UpCkluZGV4OiBXZWJDb3JlL2JyaWRnZS9ydW50aW1lLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9icmlkZ2UvcnVudGltZS5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUv
YnJpZGdlL3J1bnRpbWUuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTQgKzU1LDE0IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3MgTWV0aG9kIDogTm9uY29w
eWFibGUgeworY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogICAgICAgICAKICAgICB2
aXJ0dWFsIH5NZXRob2QoKSB7IH0KIH07CiAKLWNsYXNzIENsYXNzIDogTm9uY29weWFibGUgewor
Y2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIHZpcnR1YWwg
TWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29u
c3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZpZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYs
IEluc3RhbmNlKikgY29uc3QgPSAwOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHByb3RlY3RlZDoKICAg
ICBSZWZQdHI8Um9vdE9iamVjdD4gX3Jvb3RPYmplY3Q7CiB9OwogCi1jbGFzcyBBcnJheSA6IE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEFycmF5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
ICAgICBBcnJheShQYXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgp
OwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0
eWxlUnVsZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogTm9uY29weWFibGUgeworICAgIGNsYXNz
IENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAg
IENTU1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV90YWcoYW55UU5hbWUoKSkKSW5kZXg6IFdl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yTGlzdC5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvY3NzL0NTU1NlbGVj
dG9yTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAKLSAgICBjbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBw
dWJsaWM6CiAgICAgICAgIENTU1NlbGVjdG9yTGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsg
fQogICAgICAgICB+Q1NTU2VsZWN0b3JMaXN0KCk7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5o
CShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAkod29y
a2luZyBjb3B5KQpAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiB9OwogCiAgICAgLy8gVGhpcyBj
bGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4gZWxlbWVudCBiYXNlZCBvbiBh
IGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciA6
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQq
LCBjb25zdCBTdHJpbmcmIHVzZXJTdHlsZVNoZWV0LCBTdHlsZVNoZWV0TGlzdCosIENTU1N0eWxl
U2hlZXQqLCBib29sIHN0cmljdFBhcnNpbmcsIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVz
KTsKICAgICAgICAgfkNTU1N0eWxlU2VsZWN0b3IoKTsKSW5kZXg6IFdlYkNvcmUvZG9tL0NsYXNz
TmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9DbGFzc05hbWVzLmgJKHJldmlzaW9u
IDQ1ODMwKQorKysgV2ViQ29yZS9kb20vQ2xhc3NOYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw3ICsyNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsYXNzTmFt
ZXNEYXRhIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIENsYXNzTmFtZXNEYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIENsYXNzTmFtZXNEYXRhKGNvbnN0
IFN0cmluZyYgc3RyaW5nLCBib29sIHNob3VsZEZvbGRDYXNlKQogICAgICAgICAgICAgOiBtX3N0
cmluZyhzdHJpbmcpLCBtX3Nob3VsZEZvbGRDYXNlKHNob3VsZEZvbGRDYXNlKSwgbV9jcmVhdGVk
VmVjdG9yKGZhbHNlKQpJbmRleDogV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgJKHJldmlzaW9uIDQ1
ODMwKQorKysgV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDcgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBv
cnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1v
dGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBl
ciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5l
bCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVu
dCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFz
cyBNZXNzYWdlUG9ydENoYW5uZWwgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVBv
cnRDaGFubmVsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyB2b2lkIGNyZWF0ZUNoYW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4sIFBhc3NSZWZQ
dHI8TWVzc2FnZVBvcnQ+KTsKIApJbmRleDogV2ViQ29yZS9kb20vWE1MVG9rZW5pemVyTGlieG1s
Mi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vWE1MVG9rZW5pemVyTGlieG1sMi5jcHAJ
KHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9kb20vWE1MVG9rZW5pemVyTGlieG1sMi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTcyLDcgKzcyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIDogTm9uY29weWFi
bGUgeworY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJs
aWM6CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsKSW5kZXg6IFdlYkNvcmUvZG9tL1hN
TFRva2VuaXplclNjb3BlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vWE1MVG9rZW5pemVy
U2NvcGUuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL2RvbS9YTUxUb2tlbml6ZXJTY29w
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIERvY0xvYWRlcjsKIAotICAgIGNsYXNzIFhNTFRva2VuaXplclNjb3BlIDog
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFhNTFRva2VuaXplclNjb3BlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFhNTFRva2VuaXplclNjb3BlKERvY0xvYWRl
ciogZG9jTG9hZGVyKTsKICAgICAgICAgflhNTFRva2VuaXplclNjb3BlKCk7CkluZGV4OiBXZWJD
b3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHJldmlzaW9uIDQ1ODMw
KQorKysgV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjAsNyArNjAsNyBAQCBlbnVtIEVGcmFnbWVudFR5cGUgeyBFbXB0eUZyYWdt
ZW50LCBTaW5nCiAKIC8vIC0tLSBSZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1j
bGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IDogTm9uY29weWFibGUgeworY2xhc3MgUmVwbGFjZW1l
bnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgUmVwbGFjZW1l
bnRGcmFnbWVudChEb2N1bWVudCosIERvY3VtZW50RnJhZ21lbnQqLCBib29sIG1hdGNoU3R5bGUs
IGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKIApJbmRleDogV2ViQ29yZS9lZGl0aW5nL1NlbGVj
dGlvbkNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9u
Q29udHJvbGxlci5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvZWRpdGluZy9TZWxlY3Rp
b25Db250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgR3Jh
cGhpY3NDb250ZXh0OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCi1jbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIDogTm9uY29weWFibGUgeworY2xhc3MgU2Vs
ZWN0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgZW51
bSBFQWx0ZXJhdGlvbiB7IE1PVkUsIEVYVEVORCB9OwogICAgIGVudW0gRURpcmVjdGlvbiB7IEZP
UldBUkQsIEJBQ0tXQVJELCBSSUdIVCwgTEVGVCB9OwpJbmRleDogV2ViQ29yZS9lZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRv
ci5jcHAJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKIC8vIEtlZXBzIGVub3VnaCBvZiB0aGUgcHJldmlvdXMgdGV4dCB0byBiZSBhYmxlIHRv
IHNlYXJjaCBpbiB0aGUgZnV0dXJlLCBidXQgbm8gbW9yZS4KIC8vIE5vbi1icmVha2luZyBzcGFj
ZXMgYXJlIGFsd2F5cyBlcXVhbCB0byBub3JtYWwgc3BhY2VzLgogLy8gQ2FzZSBmb2xkaW5nIGlz
IGFsc28gZG9uZSBpZiA8aXNDYXNlU2Vuc2l0aXZlPiBpcyBmYWxzZS4KLWNsYXNzIFNlYXJjaEJ1
ZmZlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CiBwdWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBi
b29sIGlzQ2FzZVNlbnNpdGl2ZSk7CiAgICAgflNlYXJjaEJ1ZmZlcigpOwpJbmRleDogV2ViQ29y
ZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIENhY2hlZFBhZ2U7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgCi0gICAgY2xh
c3MgUGFnZUNhY2hlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBmcmllbmQgUGFnZUNhY2hlKiBw
YWdlQ2FjaGUoKTsKIApJbmRleDogV2ViQ29yZS9odG1sL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
aAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL2h0bWwvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAotICAgIGNsYXNzIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKEhUTUxDYW52YXNFbGVtZW50Kik7CiAgICAgICAgIApJ
bmRleDogV2ViQ29yZS9odG1sL0hUTUxQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aHRtbC9IVE1MUGFyc2VyLmNwcAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL2h0bWwvSFRN
TFBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIGNvbnN0
IGludCBtaW5CbG9ja0xldmVsVGFnUHJpb3JpdAogLy8gc2libGluZ3MgaW5zdGVhZCBvZiBjaGls
ZHJlbiBvbmNlIGl0IGlzIHJlYWNoZWQuCiBzdGF0aWMgY29uc3Qgc2l6ZV90IGNNYXhCbG9ja0Rl
cHRoID0gNDA5NjsKIAotc3RydWN0IEhUTUxTdGFja0VsZW0gOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgSFRNTFN0YWNrRWxlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgSFRNTFN0YWNrRWxl
bShjb25zdCBBdG9taWNTdHJpbmcmIHQsIGludCBsdmwsIE5vZGUqIG4sIGJvb2wgciwgSFRNTFN0
YWNrRWxlbSogbngpCiAgICAgICAgIDogdGFnTmFtZSh0KQogICAgICAgICAsIGxldmVsKGx2bCkK
SW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL0hUTUxQYXJzZXIuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL2h0bWwvSFRNTFBh
cnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHN0cnVjdCBUb2tlbjsKICAq
IFRoZSBwYXJzZXIgZm9yIEhUTUwuIEl0IHJlY2VpdmVzIGEgc3RyZWFtIG9mIHRva2VucyBmcm9t
IHRoZSBIVE1MVG9rZW5pemVyLCBhbmQKICAqIGJ1aWxkcyB1cCB0aGUgRG9jdW1lbnQgc3RydWN0
dXJlIGZyb20gaXQuCiAgKi8KLWNsYXNzIEhUTUxQYXJzZXIgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBIVE1MUGFy
c2VyKEhUTUxEb2N1bWVudCosIGJvb2wgcmVwb3J0RXJyb3JzKTsKICAgICBIVE1MUGFyc2VyKERv
Y3VtZW50RnJhZ21lbnQqKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAkocmV2aXNpb24g
NDU4MzApCisrKyBXZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF0b21pY1N0cmlu
ZzsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBOb25jb3B5YWJsZSB7
CitjbGFzcyBIVE1MUGFyc2VyUXVpcmtzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
ICAgICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9CiAgICAgdmlydHVhbCB+SFRNTFBhcnNlclF1aXJr
cygpIHsgfQpJbmRleDogV2ViQ29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2Vi
Q29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50Owog
ICAgIGNsYXNzIERvY3VtZW50OwogICAgIAotICAgIGNsYXNzIFByZWxvYWRTY2FubmVyIDogTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAgICAg
ICAgIH5QcmVsb2FkU2Nhbm5lcigpOwpJbmRleDogV2ViQ29yZS9sb2FkZXIvQ2FjaGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9DYWNoZS5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdl
YkNvcmUvbG9hZGVyL0NhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAgY2xh
c3MgS1VSTDsKIC8vIC0tLS0tLS18LS0tLS0rKysrKysrKysrKysrKyt8CiAvLyAtLS0tLS0tfC0t
LS0tKysrKysrKysrKysrKysrfCsrKysrCiAKLWNsYXNzIENhY2hlIDogTm9uY29weWFibGUgewor
Y2xhc3MgQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIGZyaWVuZCBD
YWNoZSogY2FjaGUoKTsKIApJbmRleDogV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL2xvYWRl
ci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMy
LDcgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJNYXA7
CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzT3Jp
Z2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBw
dWJsaWM6CiAgICAgICAgIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wg
Y3JlZGVudGlhbHMpCiAgICAgICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC01
Nyw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hl
YWRlcnM7CiAgICAgfTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGUgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRD
YWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSYgc2hhcmVkKCk7CiAKSW5kZXg6IFdlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNyArMTExLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2b2lkKiBtX2FyZ3VtZW50OwogICAgIH07CiAKLSAgICBjbGFzcyBGcmFtZUxv
YWRlciA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZUxvYWRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBGcmFtZUxvYWRlcihGcmFtZSosIEZyYW1l
TG9hZGVyQ2xpZW50Kik7CiAgICAgICAgIH5GcmFtZUxvYWRlcigpOwpJbmRleDogV2ViQ29yZS9s
b2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9sb2FkZXIvUHJvZ3Jl
c3NUcmFja2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgRnJhbWU7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsKIAotY2xhc3Mg
UHJvZ3Jlc3NUcmFja2VyIDogTm9uY29weWFibGUgeworY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIoKTsKICAg
ICB+UHJvZ3Jlc3NUcmFja2VyKCk7CkluZGV4OiBXZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCShy
ZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtNjUsNyArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90
IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0
aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQmLCBTdG9yZWRDcmVkZW50aWFscyk7CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIExv
YWRDYWxsYmFja3MsIENvbnRlbnRTbmlmZiwgU3RvcmVkQ3JlZGVudGlhbHMsIENyb3NzT3JpZ2lu
UmVkaXJlY3RQb2xpY3kpOwpJbmRleDogV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29y
ZS9sb2FkZXIvbG9hZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEtVUkw7CiAgICAgY2xhc3MgUmVxdWVzdDsKIAotICAg
IGNsYXNzIExvYWRlciA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2FkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgTG9hZGVyKCk7CiAgICAgICAgIH5M
b2FkZXIoKTsKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVH
cm91cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBA
IGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAgQXBwbGljYXRpb25DYWNo
ZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cCA6IE5vbmNvcHlhYmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBs
aWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUsIFJlc291cmNlSGFuZGxlQ2xp
ZW50IHsKIHB1YmxpYzoKICAgICBBcHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFu
aWZlc3RVUkwsIGJvb2wgaXNDb3B5ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNo
ZUdyb3VwKCk7CkluZGV4OiBXZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNv
bGxlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24uaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL2xvYWRlci9h
cmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzks
NyArMzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVSZXNvdXJj
ZUNvbGxlY3Rpb24gOiBOb25jb3B5YWJsZSB7CitjbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0
aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBBcmNoaXZlUmVzb3VyY2VD
b2xsZWN0aW9uKCk7CiAKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAkocmV2aXNp
b24gNDU4MzApCisrKyBXZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC02Miw3ICs2Miw3IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNv
bkxvYWRVbmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBOb25jb3B5YWJsZSB7Citj
bGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewogCiAvLyAqKiogTWFpbiBU
aHJlYWQgT25seSAqKioKIHB1YmxpYzoKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxv
YWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCShy
ZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgS1VSTDsKIGNs
YXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3Vy
Y2VMb2FkZXJDbGllbnQsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRl
IFN1YnJlc291cmNlTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgog
ICAgIHN0YXRpYyBzdGQ6OmF1dG9fcHRyPEljb25Mb2FkZXI+IGNyZWF0ZShGcmFtZSopOwogICAg
IH5JY29uTG9hZGVyKCk7CkluZGV4OiBXZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAkocmV2
aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAkod29y
a2luZyBjb3B5KQpAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGljb25VUkw7
CiB9OwogCi1jbGFzcyBQYWdlVVJMUmVjb3JkIDogTm9uY29weWFibGUgeworY2xhc3MgUGFnZVVS
TFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgUGFnZVVSTFJlY29y
ZChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdlVVJMUmVjb3JkKCk7CkluZGV4OiBX
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyAr
MzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnQ7CiAgICAgY2xhc3Mg
UGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciA6IE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewog
ICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKFBhZ2UqLCBDb250ZXh0
TWVudUNsaWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9sbGVyKCk7CkluZGV4OiBX
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNyArNjksNyBAQCBleHRlcm4gY29uc3QgaW50IEdl
bmVyYWxEcmFnSHlzdGVyZXNpczsKIAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7IFNob3VsZEhp
dFRlc3RTY3JvbGxiYXJzLCBEb250SGl0VGVzdFNjcm9sbGJhcnMgfTsKIAotY2xhc3MgRXZlbnRI
YW5kbGVyIDogTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKIHB1YmxpYzoKICAgICBFdmVudEhhbmRsZXIoRnJhbWUqKTsKICAgICB+RXZlbnRI
YW5kbGVyKCk7CkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcGFn
ZS9GcmFtZVRyZWUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAgIGNsYXNzIEZyYW1lVHJlZSA6IE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUgewog
ICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBw
YXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNGcmFtZSkKSW5kZXg6
IFdlYkNvcmUvcGFnZS9QYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1BhZ2UuaAko
cmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC03Myw3ICs3Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGVudW0gRmluZERpcmVj
dGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dhcmQgfTsKIAot
ICAgIGNsYXNzIFBhZ2UgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBzZXROZWVkc1Jl
YXBwbHlTdHlsZXMoKTsKIApJbmRleDogV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJD
b3JlL3BhZ2UvUGFnZUdyb3VwLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgU3RvcmFnZU5hbWVz
cGFjZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQ
YWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgUGFn
ZUdyb3VwKGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7Cklu
ZGV4OiBXZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCShyZXZpc2lvbiA0NTgzMCkKKysr
IFdlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAg
Y2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciA6IE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgewogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERlZmVycmVyKFBhZ2UqLCBi
b29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVmZXJyZXIoKTsKSW5kZXg6
IFdlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNv
cmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3
Myw3IEBAIE5TRXZlbnQgKkV2ZW50SGFuZGxlcjo6Y3VycmVudE5TRXZlbnQoKQogICAgIHJldHVy
biBjdXJyZW50TlNFdmVudFNsb3QoKS5nZXQoKTsKIH0KIAotY2xhc3MgQ3VycmVudEV2ZW50U2Nv
cGUgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBDdXJyZW50RXZlbnRTY29wZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUoTlNFdmVudCAqKTsKICAg
ICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWlu
ZWRQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wu
aAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIE5TQXV0b3JlbGVhc2VQb29s
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEF1dG9kcmFpbmVkUG9vbCA6IE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEF1dG9kcmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBw
dWJsaWM6CiAgICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAg
IH5BdXRvZHJhaW5lZFBvb2woKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgJKHJldmlzaW9u
IDQ1ODMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENvbnRl
eHRNZW51Q29udHJvbGxlcjsKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDogTm9uY29weWFibGUK
KyAgICBjbGFzcyBDb250ZXh0TWVudSA6IHB1YmxpYyBOb25jb3B5YWJsZQogICAgIHsKICAgICBw
dWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9FdmVudExvb3AuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL0V2
ZW50TG9vcC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotICAgIGNsYXNzIEV2ZW50TG9vcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAg
RXZlbnRMb29wKCkKICAgICAgICAgICAgIDogbV9lbmRlZChmYWxzZSkKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vSG9zdFdpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vSG9z
dFdpbmRvdy5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRv
dy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3co
KSB7IH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcgKzc2LDcg
QEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgU3RyaW5nOwogICAgIAotY2xhc3Mg
UGFzdGVib2FyZCA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9u
Y29weWFibGUgewogcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICAvL0hlbHBlciBmdW5j
dGlvbnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNoYXJlIGNvZGUKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9Q
dXJnZWFibGVCdWZmZXIuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL1B1
cmdlYWJsZUJ1ZmZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAKLSAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgOiBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQdXJnZWFibGVCdWZmZXIqIGNyZWF0ZShjb25z
dCBjaGFyKiBkYXRhLCBzaXplX3QpOwogICAgICAgICBzdGF0aWMgUHVyZ2VhYmxlQnVmZmVyKiBj
cmVhdGUoY29uc3QgVmVjdG9yPGNoYXI+JiB2KSB7IHJldHVybiBjcmVhdGUodi5kYXRhKCksIHYu
c2l6ZSgpKTsgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCShyZXZpc2lvbiA0NTgzMCkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUg
YWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBOb25jb3B5YWJsZSB7
CitjbGFzcyBSdW5Mb29wVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIH5SdW5Mb29wVGltZXJCYXNlKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkR2xvYmFsRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkR2xvYmFsRGF0YS5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkR2xvYmFsRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29udmVydGVyV3JhcHBlcjsKICAgICBjbGFzcyBU
aHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIDogTm9uY29weWFibGUg
eworICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAg
IHB1YmxpYzoKICAgICAgICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAgICAgICB+VGhyZWFkR2xv
YmFsRGF0YSgpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCShyZXZpc2lvbiA0NTgzMCkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFzZTsKIAog
ICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBUaHJlYWRH
bG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAg
ICAgICAgVGhyZWFkVGltZXJzKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgJKHJldmlzaW9uIDQ1ODMwKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xh
c3MgVGltZXJCYXNlIDogTm9uY29weWFibGUgeworY2xhc3MgVGltZXJCYXNlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBUaW1lckJhc2UoKTsKICAgICB2aXJ0dWFsIH5UaW1l
ckJhc2UoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdl
YkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgVHJl
ZVNoYXJlZCA6IE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIFRyZWVTaGFy
ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIFRyZWVTaGFyZWQoKQogICAg
ICAgICA6IG1fcmVmQ291bnQoMCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKIC8vIEZyYW1lRGF0YSBDbGFzcwogLy8gPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLXN0cnVjdCBGcmFtZURh
dGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRnJhbWVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hh
dmVNZXRhZGF0YShmYWxzZSkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERh
dGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgJ
KHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnREYXRhIDogTm9uY29weWFibGUgewor
Y2xhc3MgRm9udERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIEZvbnRE
YXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgwKQpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFdpZHRoTWFwLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFdpZHRoTWFwLmgJKHJldmlzaW9uIDQ1ODMwKQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFdpZHRoTWFwLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM5LDcgKzM5LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsKIAogY29uc3Qg
ZmxvYXQgY0dseXBoV2lkdGhVbmtub3duID0gLTE7CiAKLWNsYXNzIEdseXBoV2lkdGhNYXAgOiBO
b25jb3B5YWJsZSB7CitjbGFzcyBHbHlwaFdpZHRoTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
IHB1YmxpYzoKICAgICBHbHlwaFdpZHRoTWFwKCkgOiBtX2ZpbGxlZFByaW1hcnlQYWdlKGZhbHNl
KSB7IH0KICAgICB+R2x5cGhXaWR0aE1hcCgpIHsgaWYgKG1fcGFnZXMpIHsgZGVsZXRlQWxsVmFs
dWVzKCptX3BhZ2VzKTsgfSB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMTM3LDcgKzEzNyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSW50ZXJwb2xhdGlvbkhpZ2gKICAgICB9Owog
Ci0gICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEdy
YXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAg
ICBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKTsKICAgICAgICAgfkdy
YXBoaWNzQ29udGV4dCgpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1
ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZm
ZXIuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEludFJlY3Q7CiAgICAgY2xhc3MgU3RyaW5nOwogCi0gICAgY2xhc3Mg
SW1hZ2VCdWZmZXIgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VCdWZmZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgLy8gV2lsbCByZXR1cm4gYSBu
dWxsIHBvaW50ZXIgb24gYWxsb2NhdGlvbiBmYWlsdXJlLgogICAgICAgICBzdGF0aWMgUGFzc093
blB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIGJvb2wgZ3JheVNj
YWxlKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAkocmV2aXNp
b24gNDU4MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTgzLDcgKzgzLDcgQEAgdHlwZWRlZiBOYXRpdmVJbWFnZVNraWEqIE5h
dGl2ZUltYWdlUHRyOwogY29uc3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IC0xOwogY29uc3Qg
aW50IGNBbmltYXRpb25Ob25lID0gLTI7CiAKLWNsYXNzIEltYWdlU291cmNlIDogTm9uY29weWFi
bGUgeworY2xhc3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgog
ICAgIEltYWdlU291cmNlKCk7CiAgICAgfkltYWdlU291cmNlKCk7CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyAr
OTYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogTm9uY29w
eWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGlj
OgogICAgIE1lZGlhUGxheWVyKE1lZGlhUGxheWVyQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+TWVk
aWFQbGF5ZXIoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCShyZXZpc2lvbiA0NTgzMCkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewogI2lmIFBMQVRGT1JNKFdJTl9P
UykKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25z
dCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2Up
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3RrL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNyArMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRh
OwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6
IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90
KiBmb250RmFjZSkKICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAge30KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBT
aGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFi
bGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
ewogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoQVRTRm9udENvbnRhaW5lclJlZiBjb250YWlu
ZXIsIEFUU0ZvbnRSZWYgYXRzRm9udCwgQ0dGb250UmVmIGNnRm9udCkKICAgICA6IG1fYXRzQ29u
dGFpbmVyKGNvbnRhaW5lciksIG1fYXRzRm9udChhdHNGb250KSwgbV9jZ0ZvbnQoY2dGb250KQog
ICAgIHt9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjQVRTVUku
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hY0FU
U1VJLm1tCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0ZvbnRNYWNBVFNVSS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNyBAQCB1c2luZyBu
YW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBBVFNVTGF5b3V0
UGFyYW1ldGVycyA6IE5vbmNvcHlhYmxlCitzdHJ1Y3QgQVRTVUxheW91dFBhcmFtZXRlcnMgOiBw
dWJsaWMgTm9uY29weWFibGUKIHsKICAgICBBVFNVTGF5b3V0UGFyYW1ldGVycyhjb25zdCBUZXh0
UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9
IDApCiAgICAgICAgIDogbV9ydW4ocnVuKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgJKHJldmlzaW9uIDQ1ODMw
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgU2hhcmVkQnVmZmVyOwogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIAotc3RydWN0IEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9y
bURhdGEoKTsKIAogICAgIC8vIGZvciB1c2Ugd2l0aCBRRm9udERhdGFiYXNlOjphZGRBcHBsaWNh
dGlvbkZvbnQvcmVtb3ZlQXBwbGljYXRpb25Gb250CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZS5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MzgsNyArMzgsNyBAQCBjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhOwogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAvLyBUaGlzIGNsYXNzIGp1c3QgaG9sZHMgb250byBhIFBsYXRmb3JtQ29udGV4dFNr
aWEgZm9yIEdyYXBoaWNzQ29udGV4dC4KLWNsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZSA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlKFBsYXRmb3JtQ29udGV4dFNraWEqIHBsYXRmb3JtQ29udGV4dCkKICAgICAg
ICAgOiBtX2NvbnRleHQocGxhdGZvcm1Db250ZXh0KSB7IH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAkocmV2aXNp
b24gNDU4MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250
ZXh0U2tpYS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3ICs2MCw3IEBACiAvLyByZXNwb25zaWJs
ZSBmb3IgbWFuYWdpbmcgdGhlIHBhaW50aW5nIHN0YXRlIHdoaWNoIGlzIHN0b3JlIGluIHNlcGFy
YXRlCiAvLyBTa1BhaW50IG9iamVjdHMuIFRoaXMgY2xhc3MgcHJvdmlkZXMgdGhlIGFkYXB0b3Ig
dGhhdCBhbGxvd3MgdGhlIHBhaW50aW5nCiAvLyBzdGF0ZSB0byBiZSBwdXNoZWQgYW5kIHBvcHBl
ZCBhbG9uZyB3aXRoIHRoZSBiaXRtYXAuCi1jbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIDogTm9u
Y29weWFibGUgeworY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CiBwdWJsaWM6CiAgICAgLy8gRm9yIHByaW50aW5nLCB0aGVyZSBzaG91bGRuJ3QgYmUgYW55
IGNhbnZhcy4gY2FudmFzIGNhbiBiZSBOVUxMLiBJZiB5b3UKICAgICAvLyBzdXBwbHkgYSBOVUxM
IGNhbnZhcywgeW91IGNhbiBhbHNvIGNhbGwgc2V0Q2FudmFzIGxhdGVyLgpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAg
ICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBIQU5ETEUgZm9udFJl
ZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fY2dGb250KGNnRm9udCkK
ICAgICAgICAgLCBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGFDYWlyby5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw3ICszMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7
CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fp
cm8gOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8oY2Fp
cm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2Up
CiAgICAgewpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZVdpbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZVdp
bi5jcHAJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
UVRNb3ZpZVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcgKzc2LDcgQEAgc3RhdGljIHZv
aWQgdXBkYXRlVGFza1RpbWVyKGludCBtYXhJbnRlcgogICAgIHNldFNoYXJlZFRpbWVyRmlyZURl
bGF5KHN0YXRpY19jYXN0PGZsb2F0PihpbnRlcnZhbEluTVMpIC8gMTAwMCk7CiB9CiAKLWNsYXNz
IFFUTW92aWVXaW5Qcml2YXRlIDogTm9uY29weWFibGUgeworY2xhc3MgUVRNb3ZpZVdpblByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIFFUTW92aWVXaW5Qcml2YXRl
KCk7CiAgICAgflFUTW92aWVXaW5Qcml2YXRlKCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL21h
Yy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaAkocmV2aXNpb24gNDU4MzAp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaAko
d29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAg
ICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBj
dXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0
IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNs
YXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6
CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhp
Y3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCShyZXZpc2lvbiA0NTgz
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQCBjbGFzcyBDU3RyaW5nOwogY2xhc3MgRG9jdW1lbnQ7
CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJs
aWM6CiAgICAgRm9ybURhdGFCdWlsZGVyKCk7CiAgICAgfkZvcm1EYXRhQnVpbGRlcigpOwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bC5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZUludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDcgKzc1LDcgQEAgY2xhc3Mg
TlNVUkxDb25uZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNl
SGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUludGVybmFsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVz
b3VyY2VIYW5kbGUqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNv
dXJjZUhhbmRsZUNsaWVudCogYywgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRl
bnRTbmlmZiwgYm9vbCBtaWdodERvd25sb2FkRnJvbUhhbmRsZSkKICAgICAgICAgICAgIDogbV9j
bGllbnQoYykKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VIYW5kbGVTb3VwLmNwcAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01NSw3ICs1NSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBOb25jb3B5YWJs
ZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5k
bGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3Rvcjxj
aGFyPiYpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vdGV4dC9TdHJpbmdCdWZmZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL3RleHQvU3RyaW5nQnVmZmVyLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1N0cmluZ0J1ZmZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogTm9uY29weWFi
bGUgeworY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVuZ3RoKQogICAgICAgICA6IG1f
bGVuZ3RoKGxlbmd0aCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgJKHJldmlzaW9u
IDQ1ODMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCSh3b3JraW5nIGNv
cHkpCkBAIC01Niw3ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYg
Y2hhciBVbmVuY29kYWJsZVJlcGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xhc3MgVGV4dENv
ZGVjIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIApJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgJ
KHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJy
b2FkY2FzdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgV2luZG93TWVzc2FnZUxpc3RlbmVyOwogCi0gICAgY2xhc3Mg
V2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbmRv
d01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVu
ZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93TWVz
c2FnZUxpc3RlbmVyKik7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgJKHJldmlzaW9uIDQ1
ODMwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlck9iamVj
dDsKIAotY2xhc3MgQ291bnRlck5vZGUgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBDb3VudGVyTm9k
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgQ291bnRlck5vZGUoUmVuZGVy
T2JqZWN0KiwgYm9vbCBpc1Jlc2V0LCBpbnQgdmFsdWUpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9MYXlvdXRTdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0xheW91
dFN0YXRlLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3Rh
dGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBSZW5kZXJBcmVuYTsK
IGNsYXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgTGF5b3V0U3Rh
dGUgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CiBwdWJsaWM6CiAgICAgTGF5b3V0U3RhdGUoKQogICAgICAgICA6IG1fY2xpcHBlZChmYWxz
ZSkKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAkocmV2aXNpb24gNDU4MzApCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
Myw3ICs4Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1Nw
bGl0ID0gLTE7CiAKLSAgICBjbGFzcyBHcmlkQXhpcyA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBHcmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBH
cmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuaAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyMiw3ICsyMjIsNyBAQCB2b2lkIHRvUmVuZGVyVmlldyhj
b25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdp
dGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciA6IE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91dFN0YXRl
TWFpbnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNpemUgb2Zm
c2V0LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
VHJhbnNmb3JtU3RhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zv
cm1TdGF0ZS5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9y
bVN0YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBUcmFuc2Zvcm1TdGF0ZSA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRy
YW5zZm9ybVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBlbnVtIFRy
YW5zZm9ybURpcmVjdGlvbiB7IEFwcGx5VHJhbnNmb3JtRGlyZWN0aW9uLCBVbmFwcGx5SW52ZXJz
ZVRyYW5zZm9ybURpcmVjdGlvbiB9OwogICAgIGVudW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsg
RmxhdHRlblRyYW5zZm9ybSwgQWNjdW11bGF0ZVRyYW5zZm9ybSB9OwpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9Db250ZW50RGF0YS5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDb3VudGVyQ29udGVudDsKIAotc3RydWN0
IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnREYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBDb250ZW50RGF0YSgpCiAgICAgICAgIDogbV90
eXBlKENPTlRFTlRfTk9ORSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJvcGVydHku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByb3BlcnR5LmgJKHJldmlz
aW9uIDQ1ODMwKQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oCSh3b3JraW5n
IGNvcHkpCkBAIC02Niw3ICs2Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB2b2lkIHN5
bmNocm9uaXplUHJvcGVydHkoY29uc3QgT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsIGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIERlY29yYXRlZFR5cGUgYmFzZVZhbHVlKTsK
IAogICAgIC8vIEFic3RyYWN0IGJhc2UgY2xhc3MKLSAgICBjbGFzcyBTVkdBbmltYXRlZFByb3Bl
cnR5QmFzZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTVkdBbmltYXRlZFByb3BlcnR5QmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5T
VkdBbmltYXRlZFByb3BlcnR5QmFzZSgpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hy
b25pemUoKSBjb25zdCA9IDA7CkBAIC0zNzksNyArMzc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgLy8gR2V0T3duZXJFbGVtZW50Rm9yVHlwZSBpbXBsZW1lbnRhdGlvbgogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIE93bmVyVHlwZT4KLSAgICBzdHJ1Y3QgR2V0T3duZXJFbGVtZW50Rm9y
VHlwZTxPd25lclR5cGUsIHRydWU+IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBHZXRPd25l
ckVsZW1lbnRGb3JUeXBlPE93bmVyVHlwZSwgdHJ1ZT4gOiBwdWJsaWMgTm9uY29weWFibGUgewog
ICAgICAgICB0eXBlZGVmIE93bmVyVHlwZSBPd25lckVsZW1lbnQ7CiAKICAgICAgICAgc3RhdGlj
IGNvbnN0IE93bmVyRWxlbWVudCogb3duZXJFbGVtZW50KGNvbnN0IE93bmVyVHlwZSogdHlwZSkK
QEAgLTM4OSw3ICszODksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgfTsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIE93bmVyVHlwZT4KLSAgICBzdHJ1Y3QgR2V0T3duZXJFbGVtZW50Rm9y
VHlwZTxPd25lclR5cGUsIGZhbHNlPiA6IE5vbmNvcHlhYmxlIHsgICAgCisgICAgc3RydWN0IEdl
dE93bmVyRWxlbWVudEZvclR5cGU8T3duZXJUeXBlLCBmYWxzZT4gOiBwdWJsaWMgTm9uY29weWFi
bGUgewogICAgICAgICB0eXBlZGVmIFNWR0VsZW1lbnQgT3duZXJFbGVtZW50OwogCiAgICAgICAg
IHN0YXRpYyBjb25zdCBPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudChjb25zdCBPd25lclR5cGUq
IHR5cGUpCkBAIC00MDIsMjUgKzQwMiwyNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBJc0Rlcml2ZWRGcm9tU1ZHRWxlbWVudCBpbXBsZW1lbnRhdGlvbgogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIE93bmVyVHlwZT4KLSAgICBzdHJ1Y3QgSXNEZXJpdmVkRnJvbVNWR0VsZW1lbnQgOiBO
b25jb3B5YWJsZSB7CisgICAgc3RydWN0IElzRGVyaXZlZEZyb21TVkdFbGVtZW50IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOwog
ICAgIH07CiAKICAgICBjbGFzcyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOwogICAgIHRl
bXBsYXRlPD4KLSAgICBzdHJ1Y3QgSXNEZXJpdmVkRnJvbVNWR0VsZW1lbnQ8U1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZD4gOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IElzRGVyaXZlZEZy
b21TVkdFbGVtZW50PFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBmYWxzZTsKICAgICB9
OwogCiAgICAgY2xhc3MgU1ZHRml0VG9WaWV3Qm94OwogICAgIHRlbXBsYXRlPD4KLSAgICBzdHJ1
Y3QgSXNEZXJpdmVkRnJvbVNWR0VsZW1lbnQ8U1ZHRml0VG9WaWV3Qm94PiA6IE5vbmNvcHlhYmxl
IHsKKyAgICBzdHJ1Y3QgSXNEZXJpdmVkRnJvbVNWR0VsZW1lbnQ8U1ZHRml0VG9WaWV3Qm94PiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0g
ZmFsc2U7CiAgICAgfTsKIAogICAgIGNsYXNzIFNWR1VSSVJlZmVyZW5jZTsKICAgICB0ZW1wbGF0
ZTw+Ci0gICAgc3RydWN0IElzRGVyaXZlZEZyb21TVkdFbGVtZW50PFNWR1VSSVJlZmVyZW5jZT4g
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IElzRGVyaXZlZEZyb21TVkdFbGVtZW50PFNWR1VS
SVJlZmVyZW5jZT4gOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCB2YWx1ZSA9IGZhbHNlOwogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkVGVtcGxhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRlbXBs
YXRlLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUZW1wbGF0
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjcsNyArMTY3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgLy8gRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3IgcG9pbnRlciB0eXBlcwogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFR5cGU+Ci0gICAgc3RydWN0IFNWR0FuaW1hdGVkVHlwZVZhbHVl
IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBTVkdBbmltYXRlZFR5cGVWYWx1ZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CiAgICAgICAgIHR5cGVkZWYgUmVmUHRyPFR5cGU+IFN0b3JhYmxlVHlw
ZTsKICAgICAgICAgdHlwZWRlZiBUeXBlKiBEZWNvcmF0ZWRUeXBlOwogCkBAIC0xNzYsNyArMTc2
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTw+Ci0gICAg
c3RydWN0IFNWR0FuaW1hdGVkVHlwZVZhbHVlPGJvb2w+IDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBTVkdBbmltYXRlZFR5cGVWYWx1ZTxib29sPiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAg
ICAgICAgIHR5cGVkZWYgYm9vbCBTdG9yYWJsZVR5cGU7CiAgICAgICAgIHR5cGVkZWYgYm9vbCBE
ZWNvcmF0ZWRUeXBlOwogCkBAIC0xODUsNyArMTg1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIH07CiAKICAgICB0ZW1wbGF0ZTw+Ci0gICAgc3RydWN0IFNWR0FuaW1hdGVkVHlwZVZhbHVl
PGludD4gOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IFNWR0FuaW1hdGVkVHlwZVZhbHVlPGlu
dD4gOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgICAgICB0eXBlZGVmIGludCBTdG9yYWJsZVR5
cGU7CiAgICAgICAgIHR5cGVkZWYgaW50IERlY29yYXRlZFR5cGU7CiAKQEAgLTE5NCw3ICsxOTQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPD4KLSAgICBz
dHJ1Y3QgU1ZHQW5pbWF0ZWRUeXBlVmFsdWU8bG9uZz4gOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IFNWR0FuaW1hdGVkVHlwZVZhbHVlPGxvbmc+IDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAg
ICAgICAgdHlwZWRlZiBsb25nIFN0b3JhYmxlVHlwZTsKICAgICAgICAgdHlwZWRlZiBsb25nIERl
Y29yYXRlZFR5cGU7CiAKQEAgLTIwMyw3ICsyMDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgfTsKIAogICAgIHRlbXBsYXRlPD4KLSAgICBzdHJ1Y3QgU1ZHQW5pbWF0ZWRUeXBlVmFsdWU8
U1ZHTGVuZ3RoPiA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgU1ZHQW5pbWF0ZWRUeXBlVmFs
dWU8U1ZHTGVuZ3RoPiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgICAgIHR5cGVkZWYgU1ZH
TGVuZ3RoIFN0b3JhYmxlVHlwZTsKICAgICAgICAgdHlwZWRlZiBTVkdMZW5ndGggRGVjb3JhdGVk
VHlwZTsKIApAQCAtMjEyLDcgKzIxMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9Owog
CiAgICAgdGVtcGxhdGU8PgotICAgIHN0cnVjdCBTVkdBbmltYXRlZFR5cGVWYWx1ZTxmbG9hdD4g
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IFNWR0FuaW1hdGVkVHlwZVZhbHVlPGZsb2F0PiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgICAgIHR5cGVkZWYgZmxvYXQgU3RvcmFibGVUeXBl
OwogICAgICAgICB0eXBlZGVmIGZsb2F0IERlY29yYXRlZFR5cGU7CiAKQEAgLTIyMSw3ICsyMjEs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPD4KLSAgICBz
dHJ1Y3QgU1ZHQW5pbWF0ZWRUeXBlVmFsdWU8RmxvYXRSZWN0PiA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgU1ZHQW5pbWF0ZWRUeXBlVmFsdWU8RmxvYXRSZWN0PiA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CiAgICAgICAgIHR5cGVkZWYgRmxvYXRSZWN0IFN0b3JhYmxlVHlwZTsKICAgICAgICAg
dHlwZWRlZiBGbG9hdFJlY3QgRGVjb3JhdGVkVHlwZTsKIApAQCAtMjMwLDcgKzIzMCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8PgotICAgIHN0cnVjdCBT
VkdBbmltYXRlZFR5cGVWYWx1ZTxTdHJpbmc+IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBT
VkdBbmltYXRlZFR5cGVWYWx1ZTxTdHJpbmc+IDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICAg
ICAgdHlwZWRlZiBTdHJpbmcgU3RvcmFibGVUeXBlOwogICAgICAgICB0eXBlZGVmIFN0cmluZyBE
ZWNvcmF0ZWRUeXBlOwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TeW5jaHJvbml6YWJsZVR5cGVXcmFw
cGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU3luY2hyb25pemFibGVUeXBlV3JhcHBl
ci5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNvcmUvc3ZnL1N5bmNocm9uaXphYmxlVHlwZVdy
YXBwZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3RvcmVkVHlwZT4KLSAgICBjbGFzcyBTeW5j
aHJvbml6YWJsZVR5cGVXcmFwcGVyQmFzZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTeW5j
aHJvbml6YWJsZVR5cGVXcmFwcGVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHJv
dGVjdGVkOgogICAgICAgICBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyQmFzZSgpOwogCkluZGV4
OiBXZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAkocmV2aXNpb24gNDU4MzApCisr
KyBXZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAkod29ya2luZyBjb3B5KQpA
QCAtNDcsNyArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV29ya2VyOwog
ICAgIGNsYXNzIFdvcmtlclRocmVhZDsKIAotICAgIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5
IDogcHVibGljIFdvcmtlckNvbnRleHRQcm94eSwgcHVibGljIFdvcmtlck9iamVjdFByb3h5LCBw
dWJsaWMgV29ya2VyTG9hZGVyUHJveHksIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJN
ZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJP
YmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5LCBwdWJsaWMgTm9uY29weWFibGUg
ewogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAK
SW5kZXg6IFdlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAJKHJldmlzaW9uIDQ1ODMwKQorKysgV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsNyAr
MTI1LDcgQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4g
U3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgUnVuTG9v
cFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxv
b3ApCkluZGV4OiBXZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAkocmV2aXNpb24gNDU4MzApCisrKyBX
ZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyAr
NDEsNyBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7Ci1zdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGlj
OgogICAgIHN0YXRpYyBzdGQ6OmF1dG9fcHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVh
dGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKSW5kZXg6IFdlYkNvcmUveG1sL1hQYXRoRXhwcmVz
c2lvbk5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2Rl
LmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgICAgIHZpcnR1YWwgflBhcnNlTm9kZSgpIHsgfQogICAgICAgICB9OwogCi0gICAgICAg
IGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlLCBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFi
bGUgewogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRl
eHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKSW5kZXg6IFdlYkNvcmUveG1sL1hQYXRoUGFyc2Vy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAkocmV2aXNpb24gNDU4
MzApCisrKyBXZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3
ICs1OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFRva2VuKGludCB0LCBF
cVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBlcW9wKHYpIHt9CiAgICAgICAgIH07CiAKLSAg
ICAgICAgY2xhc3MgUGFyc2VyIDogTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQYXJzZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgewogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJz
ZXIoKTsKIApJbmRleDogV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYkNv
cmUveG1sL1hQYXRoUHJlZGljYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw3ICsxMDUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJl
c3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAgICAgICAg
IH07CiAKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlIDogTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICBQcmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAgICAgICAgICAgflByZWRpY2F0
ZSgpOwpJbmRleDogV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS94bWwvWFBhdGhTdGVwLmgJKHJldmlzaW9uIDQ1ODMwKQorKysgV2ViQ29yZS94bWwvWFBhdGhT
dGVwLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0
ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFN0ZXAg
OiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgewogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBlbnVtIEF4aXMgewogICAgICAgICAgICAgICAgIEFuY2VzdG9yQXhpcywg
QW5jZXN0b3JPclNlbGZBeGlzLCBBdHRyaWJ1dGVBeGlzLApJbmRleDogV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ1ODMw
KQorKysgV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBA
QAorMjAwOS0wNy0xMyAgWm9sdGFuIEhvcnZhdGggIDxoem9sdGFuQGluZi51LXN6ZWdlZC5odT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2Ug
YWxsIE5vbmNvcHlhYmxlIGluaGVyaXRpbmcgdmlzaWJpbGl0eSB0byBwdWJsaWMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzIyNQorCisgICAgICAg
IENoYW5nZSBhbGwgTm9uY29weWFibGUgaW5oZXJpdGluZyB2aXNpYmlsaXR5IHRvIHB1YmxpYyBi
ZWNhdXNlCisgICAgICAgIGl0IGlzIG5lZWRlZCB0byB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJh
bWV3b3JrIChidWcgIzIwNDIyKS4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXRkb3dubG9hZC5j
cHA6CisKIDIwMDktMDctMTMgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25o
YUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gTGF0ZSBORVdTIGZpbGUg
Zm9yIDEuMS4xMS4KSW5kZXg6IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAJKHJldmlz
aW9uIDQ1ODMwKQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICog
b3V0IHdoYXQgaXMgdG8gYmUgZG93bmxvYWRlZCwgYW5kIGRvIGl0IGl0c2VsZi4KICAqLwogCi1j
bGFzcyBEb3dubG9hZENsaWVudCA6IE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVD
bGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1Ymxp
YyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CiAgICAgcHVibGljOgogICAgICAgICBEb3dubG9hZENs
aWVudChXZWJLaXREb3dubG9hZCopOwogCkluZGV4OiBXZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gNDU4MzApCisrKyBXZWJL
aXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDA5LTA3
LTEzICBab2x0YW4gSG9ydmF0aCAgPGh6b2x0YW5AaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBhbGwgTm9uY29w
eWFibGUgaW5oZXJpdGluZyB2aXNpYmlsaXR5IHRvIHB1YmxpYy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3MjI1CisKKyAgICAgICAgQ2hhbmdlIGFs
bCBOb25jb3B5YWJsZSBpbmhlcml0aW5nIHZpc2liaWxpdHkgdG8gcHVibGljIGJlY2F1c2UKKyAg
ICAgICAgaXQgaXMgbmVlZGVkIHRvIHRoZSBjdXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsgKGJ1
ZyAjMjA0MjIpLgorCisgICAgICAgICogQ09NRW51bVZhcmlhbnQuaDoKKyAgICAgICAgKiBDT01Q
cm9wZXJ0eUJhZy5oOgorICAgICAgICAqIFdlYkRhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAg
ICogV2ViSW5zcGVjdG9yLmg6CisgICAgICAgICogV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcDoK
KwogMjAwOS0wNy0xMiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGdtYWlsLmNvbT4KIAogICAg
ICAgICBTcGVjdWxhdGl2ZSBXaW5kb3dzIGJ1aWxkIGZpeCBhZnRlciBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC80NTc4Ni4KSW5kZXg6IFdlYktpdC93aW4vQ09NRW51bVZhcmlhbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgJKHJldmlzaW9uIDQ1
ODMwKQorKysgV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
NCw3ICszNCw3IEBACiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVu
dW1WQVJJQU5ULCBOb25jb3B5YWJsZSB7CitjbGFzcyBDT01FbnVtVmFyaWFudCA6IHB1YmxpYyBJ
RW51bVZBUklBTlQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIENP
TUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1W
YXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CkluZGV4OiBXZWJL
aXQvd2luL0NPTVByb3BlcnR5QmFnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9DT01Qcm9w
ZXJ0eUJhZy5oCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgIkNPTVZhcmlhbnRT
ZXR0ZXIuaCINCiANCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtleVR5
cGUgPSB0eXBlbmFtZSBXZWJDb3JlOjpTdHJpbmcsIHR5cGVuYW1lIEhhc2hUeXBlID0gdHlwZW5h
bWUgV2ViQ29yZTo6U3RyaW5nSGFzaD4NCi1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJ
UHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3Mg
Q09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFn
MiwgcHVibGljIE5vbmNvcHlhYmxlIHsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxL
ZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCkluZGV4OiBXZWJL
aXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9X
ZWJEYXRhYmFzZU1hbmFnZXIuY3BwCShyZXZpc2lvbiA0NTgzMCkKKysrIFdlYktpdC93aW4vV2Vi
RGF0YWJhc2VNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgaXNFcXVhbChMUENXU1RSIHMxLCBMCiAgICAgcmV0dXJuICF3Y3NjbXAo
czEsIHMyKTsKIH0KIAotY2xhc3MgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMg
SVByb3BlcnR5QmFnLCBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0
eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKiBjcmVhdGVJbnN0YW5jZShj
b25zdCBEYXRhYmFzZURldGFpbHMmKTsKIApJbmRleDogV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3Iu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCShyZXZpc2lvbiA0NTgz
MCkKKysrIFdlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcg
KzM0LDcgQEAKIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGlj
IElXZWJJbnNwZWN0b3IsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1Ymxp
YyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIHN0YXRp
YyBXZWJJbnNwZWN0b3IqIGNyZWF0ZUluc3RhbmNlKFdlYlZpZXcqKTsKIApJbmRleDogV2ViS2l0
L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4v
V2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcAkocmV2aXNpb24gNDU4MzApCisrKyBXZWJLaXQvd2lu
L1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcg
QEAgV2ViTG9jYWxpemFibGVTdHJpbmdzQnVuZGxlIFdlYktpdExvY2FsaQogc3RhdGljIEhhc2hN
YXA8U3RyaW5nLCBMb2NhbGl6ZWRTdHJpbmcqPiBtYWluQnVuZGxlTG9jU3RyaW5nczsKIHN0YXRp
YyBIYXNoTWFwPFN0cmluZywgTG9jYWxpemVkU3RyaW5nKj4gZnJhbWV3b3JrTG9jU3RyaW5nczsK
IAotY2xhc3MgTG9jYWxpemVkU3RyaW5nIDogTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxpemVk
U3RyaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBMb2NhbGl6ZWRTdHJp
bmcoQ0ZTdHJpbmdSZWYgc3RyaW5nKQogICAgICAgICA6IG1fY2ZTdHJpbmcoc3RyaW5nKQo=
</data>
<flag name="review"
          id="17061"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32745</attachid>
            <date>2009-07-14 16:08:46 -0700</date>
            <delta_ts>2009-07-14 16:45:40 -0700</delta_ts>
            <desc>updated proposed patch</desc>
            <filename>NoncopyableClass.patch</filename>
            <type>text/plain</type>
            <size>64004</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ1ODc4KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDIgQEAKKzIwMDktMDctMTQgIFpvbHRhbiBI
b3J2YXRoICA8aHpvbHRhbkBpbmYudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGFsbCBOb25jb3B5YWJsZSBpbmhlcml0
aW5nIHZpc2liaWxpdHkgdG8gcHVibGljLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjcyMjUKKworICAgICAgICBDaGFuZ2UgYWxsIE5vbmNvcHlhYmxl
IGluaGVyaXRpbmcgdmlzaWJpbGl0eSB0byBwdWJsaWMgYmVjYXVzZQorICAgICAgICBpdCBpcyBu
ZWVkZWQgdG8gdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yayAoYnVnICMyMDQyMikuCisK
KyAgICAgICAgKiBieXRlY29kZS9TYW1wbGluZ1Rvb2wuaDoKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvUmVnaXN0ZXJJRC5oOgorICAgICAgICAqIGludGVycHJldGVyL0NhY2hlZENhbGwuaDoKKyAg
ICAgICAgKiBpbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaDoKKyAgICAgICAgKiBwYXJzZXIvTGV4
ZXIuaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcnVudGltZS9BcmdM
aXN0Lmg6CisgICAgICAgICogcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oOgor
ICAgICAgICAqIHJ1bnRpbWUvQ29sbGVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICogcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNMb2NrLmg6CisgICAg
ICAgICogcnVudGltZS9KU09OT2JqZWN0LmNwcDoKKyAgICAgICAgKiBydW50aW1lL1NtYWxsU3Ry
aW5ncy5jcHA6CisgICAgICAgICogcnVudGltZS9TbWFsbFN0cmluZ3MuaDoKKyAgICAgICAgKiB3
dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmg6CisgICAgICAgICogd3RmL0dPd25QdHIuaDoKKyAg
ICAgICAgKiB3dGYvTG9ja2VyLmg6CisgICAgICAgICogd3RmL01lc3NhZ2VRdWV1ZS5oOgorICAg
ICAgICAqIHd0Zi9Pd25BcnJheVB0ci5oOgorICAgICAgICAqIHd0Zi9Pd25GYXN0TWFsbG9jUHRy
Lmg6CisgICAgICAgICogd3RmL093blB0ci5oOgorICAgICAgICAqIHd0Zi9SZWZDb3VudGVkLmg6
CisgICAgICAgICogd3RmL1RocmVhZFNwZWNpZmljLmg6CisgICAgICAgICogd3RmL1RocmVhZGlu
Zy5oOgorICAgICAgICAqIHd0Zi9WZWN0b3IuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS9Db2xs
YXRvci5oOgorCiAyMDA5LTA3LTE0ICBab2x0YW4gSG9ydmF0aCAgPGh6b2x0YW5AaW5mLnUtc3pl
Z2VkLmh1PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MCw3
ICsxNDAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgZnJpZW5kIGNsYXNzIEhvc3RDYWxs
UmVjb3JkOwogICAgICAgICAKICNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotICAgICAgICBj
bGFzcyBDYWxsUmVjb3JkIDogTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxsUmVjb3Jk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgQ2Fs
bFJlY29yZChTYW1wbGluZ1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAgICAgICAgICAgICA6IG1f
c2FtcGxpbmdUb29sKHNhbXBsaW5nVG9vbCkKQEAgLTE3MCw3ICsxNzAsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0gICAgICAgIGNsYXNzIENh
bGxSZWNvcmQgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJs
aWMgTm9uY29weWFibGUgewogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3Jk
KFNhbXBsaW5nVG9vbCopCiAgICAgICAgICAgICB7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvUmVnaXN0ZXJJRC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9SZWdpc3RlcklELmgJKHJldmlzaW9uIDQ1ODc3KQorKysgSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBA
QAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIFJlZ2lzdGVySUQgOiBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVi
bGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAgICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpJ
bmRleDogSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAkocmV2aXNpb24gNDU4
NzcpCisrKyBKYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogCiBuYW1l
c3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogTm9uY29weWFibGUgeworICAgIGNs
YXNzIENhY2hlZENhbGwgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAg
ICAgQ2FjaGVkQ2FsbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNGdW5jdGlvbiogZnVuY3Rpb24s
IGludCBhcmdDb3VudCwgSlNWYWx1ZSogZXhjZXB0aW9uKQogICAgICAgICAgICAgOiBtX3ZhbGlk
KGZhbHNlKQpJbmRleDogSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgJ
KHJldmlzaW9uIDQ1ODc3KQorKysgSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJG
aWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIAotICAgIGNsYXNzIFJlZ2lzdGVyRmlsZSA6IE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUg
ewogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBD
YWxsRnJhbWVIZWFkZXJFbnRyeSB7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAkocmV2aXNpb24g
NDU4NzcpCisrKyBKYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIFJlZ0V4cDsKIAot
ICAgIGNsYXNzIExleGVyIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIExleGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENoYXJhY3RlciBtYW5pcHVs
YXRpb24gZnVuY3Rpb25zLgogICAgICAgICBzdGF0aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50IGNo
YXJhY3Rlcik7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCShyZXZpc2lvbiA0NTg3NykKKysr
IEphdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNyAr
MzksNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1
Y3QgUGFyc2VyQXJlbmFEYXRhIDogUGFyc2VyQXJlbmFEZWxldGFibGUgeyBUIGRhdGE7IH07CiAK
LSAgICBjbGFzcyBQYXJzZXIgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPiBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEV4ZWNTdGF0ZSosIERlYnVn
Z2VyKiwgY29uc3QgU291cmNlQ29kZSYsIGludCogZXJyTGluZSA9IDAsIFVTdHJpbmcqIGVyck1z
ZyA9IDApOwogICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUGFyc2VkTm9kZT4gUGFzc1JlZlB0cjxQ
YXJzZWROb2RlPiByZXBhcnNlKEpTR2xvYmFsRGF0YSosIFBhcnNlZE5vZGUqKTsKSW5kZXg6IEph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJnTGlzdC5oCShyZXZpc2lvbiA0NTg3NykKKysrIEphdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJnTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5h
bWVzcGFjZSBKU0MgewogICAgIAotICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIDogTm9u
Y29weWFibGUgeworICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5s
aW5lQ2FwYWNpdHkgPSA4OwogICAgICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlciwgaW5saW5l
Q2FwYWNpdHk+IFZlY3RvclR5cGU7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCShyZXZpc2lvbiA0NTg3NykKKysrIEph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNz
IEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEJh
dGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJs
aWM6CiAgICAgICAgIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKEpTT2JqZWN0KiBvYmplY3Qp
CiAgICAgICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29sbGVjdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAkocmV2aXNpb24gNDU4NzcpCisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nv
bGxlY3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBPcGVyYXRpb25JblByb2dyZXNzIG9wZXJhdGlvbkluUHJvZ3Jlc3M7CiAgICAg
fTsKIAotICAgIGNsYXNzIEhlYXAgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSGVhcCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAg
ICAgICAgIHR5cGVkZWYgQ29sbGVjdG9ySGVhcEl0ZXJhdG9yPFByaW1hcnlIZWFwPiBpdGVyYXRv
cjsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgJKHJl
dmlzaW9uIDQ1ODc3KQorKysgSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVy
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw3IEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
Ci0gICAgY2xhc3MgQ29tbW9uSWRlbnRpZmllcnMgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
Q29tbW9uSWRlbnRpZmllcnMgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHByaXZhdGU6CiAg
ICAgICAgIENvbW1vbklkZW50aWZpZXJzKEpTR2xvYmFsRGF0YSopOwogICAgICAgICBmcmllbmQg
Y2xhc3MgSlNHbG9iYWxEYXRhOwpJbmRleDogSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCShyZXZpc2lv
biA0NTg3NykKKysrIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBKU0Nl
bGwgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSlNDZWxsIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKICAgICAgICAgZnJpZW5kIGNsYXNzIEdldHRlclNldHRlcjsKICAgICAgICAgZnJpZW5kIGNs
YXNzIEhlYXA7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCShyZXZpc2lvbiA0NTg3NykKKysrIEphdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzkxLDcgKzM5
MSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gZ2xvYmFsRGF0YSgpLmR5bmFt
aWNHbG9iYWxPYmplY3Q7CiAgICAgfQogCi0gICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNj
b3BlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBEeW5hbWljR2xvYmFs
T2JqZWN0U2NvcGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0KiBkeW5hbWlj
R2xvYmFsT2JqZWN0KSAKICAgICAgICAgICAgIDogbV9keW5hbWljR2xvYmFsT2JqZWN0U2xvdChj
YWxsRnJhbWUtPmdsb2JhbERhdGEoKS5keW5hbWljR2xvYmFsT2JqZWN0KQpJbmRleDogSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0xvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTTG9jay5oCShyZXZpc2lvbiA0NTg3NykKKysrIEphdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNMb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICBjbGFzcyBFeGVjU3RhdGU7CiAKLSAgICBjbGFzcyBKU0xvY2sgOiBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJs
aWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKIApAQCAtODUsNyArODUsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogICAgICAgICBib29sIG1fbG9ja2luZ0ZvclJlYWw7CiAKLSAgICAgICAg
Y2xhc3MgRHJvcEFsbExvY2tzIDogTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxs
TG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBEcm9wQWxsTG9ja3MoRXhlY1N0YXRlKiBleGVjKTsKICAgICAgICAgICAgIERyb3BBbGxMb2Nr
cyhib29sKTsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAkocmV2aXNp
b24gNDU4NzcpCisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MSw3ICs2MSw3IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVl
IG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdpZmllciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFN0cmluZ2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBTdHJpbmdp
ZmllcihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxhY2VyLCBKU1ZhbHVlIHNwYWNlKTsKICAgICB+
U3RyaW5naWZpZXIoKTsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5j
cHAJKHJldmlzaW9uIDQ1ODc3KQorKysgSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBACiBuYW1lc3BhY2UgSlNDIHsK
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1DaGFyYWN0ZXJzVG9TdG9yZSA9IDB4MTAwOwogCi1j
bGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIDogTm9uY29weWFibGUgeworY2xhc3MgU21hbGxTdHJp
bmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgU21hbGxTdHJp
bmdzU3RvcmFnZSgpOwogCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5n
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgJ
KHJldmlzaW9uIDQ1ODc3KQorKysgSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3Mu
aAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
IGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgU21hbGxTdHJpbmdzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIFNtYWxsU3RyaW5ncygpOwogICAgICAgICB+U21hbGxT
dHJpbmdzKCk7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVk
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRl
ZC5oCShyZXZpc2lvbiA0NTg3NykKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJl
ZkNvdW50ZWQuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEsNyBAQCBuYW1lc3BhY2UgV1RG
IHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29w
aWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0
aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3Mg
VD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENyb3NzVGhyZWFkUmVmQ291bnRlZDxU
PiA+IGNyZWF0ZShUKiBkYXRhKQogICAgICAgICB7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYv
R093blB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9HT3duUHRyLmgJKHJl
dmlzaW9uIDQ1ODc3KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL0dPd25QdHIuaAkod29ya2luZyBj
b3B5KQpAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTw+IHZv
aWQgZnJlZU93bmVkR1B0cjxHRGlyPihHRGlyKik7CiAgICAgdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0hhc2hUYWJsZT4oR0hhc2hUYWJsZSopOwogCi0gICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+IGNsYXNzIEdPd25QdHIgOiBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+IGNsYXNzIEdPd25QdHIgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoK
ICAgICAgICAgZXhwbGljaXQgR093blB0cihUKiBwdHIgPSAwKSA6IG1fcHRyKHB0cikgeyB9CiAg
ICAgICAgIH5HT3duUHRyKCkgeyBmcmVlT3duZWRHUHRyKG1fcHRyKTsgfQpJbmRleDogSmF2YVNj
cmlwdENvcmUvd3RmL0xvY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9M
b2NrZXIuaAkocmV2aXNpb24gNDU4NzcpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1Ymxp
YzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xv
Y2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0K
SW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
YXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgSmF2
YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0
NSw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBE
YXRhVHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUgOiBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAg
ICAgIE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHsgfQogICAgICAgICAKSW5kZXg6
IEphdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCShyZXZpc2lvbiA0NTg3NykKKysrIEphdmFTY3JpcHRD
b3JlL3d0Zi9Pd25BcnJheVB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAK
IG5hbWVzcGFjZSBXVEYgewogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFy
cmF5UHRyIDogTm9uY29weWFibGUgeworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBP
d25BcnJheVB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBl
eHBsaWNpdCBPd25BcnJheVB0cihUKiBwdHIgPSAwKSA6IG1fcHRyKHB0cikgeyB9CiAgICAgICAg
IH5Pd25BcnJheVB0cigpIHsgc2FmZURlbGV0ZSgpOyB9CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93
dGYvT3duRmFzdE1hbGxvY1B0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9P
d25GYXN0TWFsbG9jUHRyLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgSmF2YVNjcmlwdENvcmUvd3Rm
L093bkZhc3RNYWxsb2NQdHIuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogCiBu
YW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxs
b2NQdHIgOiBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFz
dE1hbGxvY1B0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBl
eHBsaWNpdCBPd25GYXN0TWFsbG9jUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpCiAgICAgICAgIHsK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2Ny
aXB0Q29yZS93dGYvT3duUHRyLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgSmF2YVNjcmlwdENvcmUv
d3RmL093blB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBX
VEYgewogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NPd25QdHI7CiAKLSAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogTm9uY29weWFibGUgeworICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgOiBwdWJsaWMgTm9uY29weWFibGUg
ewogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+
OjpUeXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7Cklu
ZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFT
Y3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQCBu
YW1lc3BhY2UgV1RGIHsKIC8vIFRoaXMgYmFzZSBjbGFzcyBob2xkcyB0aGUgbm9uLXRlbXBsYXRl
IG1ldGhvZHMgYW5kIGF0dHJpYnV0ZXMuCiAvLyBUaGUgUmVmQ291bnRlZCBjbGFzcyBpbmhlcml0
cyBmcm9tIGl0IHJlZHVjaW5nIHRoZSB0ZW1wbGF0ZSBibG9hdAogLy8gZ2VuZXJhdGVkIGJ5IHRo
ZSBjb21waWxlciAodGVjaG5pcXVlIGNhbGxlZCB0ZW1wbGF0ZSBob2lzdGluZykuCi1jbGFzcyBS
ZWZDb3VudGVkQmFzZSA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlZkNvdW50ZWRCYXNlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICB2b2lkIHJlZigpCiAgICAgewpJbmRleDog
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDcgKzU5
LDcgQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwog
I2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogTm9u
Y29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBw
dWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIFRocmVhZFNwZWNpZmljKCk7CiAgICAg
VCogb3BlcmF0b3ItPigpOwpJbmRleDogSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAkocmV2aXNpb24gNDU4
NzcpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE1OSw3ICsxNTksNyBAQCB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5
cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4
IDogTm9uY29weWFibGUgeworY2xhc3MgTXV0ZXggOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVi
bGljOgogICAgIE11dGV4KCk7CiAgICAgfk11dGV4KCk7CkBAIC0xNzYsNyArMTc2LDcgQEAgcHJp
dmF0ZToKIAogdHlwZWRlZiBMb2NrZXI8TXV0ZXg+IE11dGV4TG9ja2VyOwogCi1jbGFzcyBSZWFk
V3JpdGVMb2NrIDogTm9uY29weWFibGUgeworY2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3Jp
dGVMb2NrKCk7CkBAIC0xOTMsNyArMTkzLDcgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRX
cml0ZUxvY2sgbV9yZWFkV3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDog
Tm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+VGhyZWFkQ29uZGl0aW9u
KCk7CkBAIC0yMzQsNyArMjM0LDcgQEAgaW5saW5lIGludCBhdG9taWNEZWNyZW1lbnQoaW50IHZv
bGF0aWxlKgogCiAjZW5kaWYKIAotY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgOiBOb25jb3B5
YWJsZSB7CitjbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CiBwdWJsaWM6CiAgICAgVGhyZWFkU2FmZVNoYXJlZEJhc2UoaW50IGluaXRpYWxSZWZDb3VudCA9
IDEpCiAgICAgICAgIDogbV9yZWZDb3VudChpbml0aWFsUmVmQ291bnQpCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS93dGYvVmVjdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1Zl
Y3Rvci5oCShyZXZpc2lvbiA0NTg3NykKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaAko
d29ya2luZyBjb3B5KQpAQCAtMjY4LDcgKzI2OCw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07
CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2Ug
OiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGFsbG9jYXRlQnVmZmVyKHNpemVf
dCBuZXdDYXBhY2l0eSkKICAgICAgICAgewpJbmRleDogSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNv
ZGUvQ29sbGF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9D
b2xsYXRvci5oCShyZXZpc2lvbiA0NTg3NykKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L0NvbGxhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgc3RydWN0IFVDb2xs
YXRvcjsKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBDb2xsYXRvciA6IE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDb2xsYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVi
bGljOgogICAgICAgICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9IDEsIExlc3Mg
PSAtMSB9OwogCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L0NoYW5nZUxvZwkocmV2aXNpb24gNDU4NzgpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDkyIEBACisyMDA5LTA3LTE0ICBab2x0YW4gSG9ydmF0aCAgPGh6
b2x0YW5AaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENoYW5nZSBhbGwgTm9uY29weWFibGUgaW5oZXJpdGluZyB2aXNpYmls
aXR5IHRvIHB1YmxpYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI3MjI1CisKKyAgICAgICAgQ2hhbmdlIGFsbCBOb25jb3B5YWJsZSBpbmhlcml0aW5n
IHZpc2liaWxpdHkgdG8gcHVibGljIGJlY2F1c2UKKyAgICAgICAgaXQgaXMgbmVlZGVkIHRvIHRo
ZSBjdXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsgKGJ1ZyAjMjA0MjIpLgorCisgICAgICAgICog
YmluZGluZ3MvanMvR0NDb250cm9sbGVyLmg6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2Vy
U2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NTWFwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWUuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3JMaXN0Lmg6
CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgKiBkb20vQ2xhc3NO
YW1lcy5oOgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydENoYW5uZWwuaDoKKyAgICAgICAgKiBk
b20vWE1MVG9rZW5pemVyTGlieG1sMi5jcHA6CisgICAgICAgICogZG9tL1hNTFRva2VuaXplclNj
b3BlLmg6CisgICAgICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHA6Cisg
ICAgICAgICogZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmg6CisgICAgICAgICogZWRpdGlu
Zy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmg6CisgICAg
ICAgICogaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxQYXJzZXIuaDoKKyAgICAgICAgKiBodG1sL0hUTUxQYXJzZXJRdWlya3MuaDoKKyAgICAgICAg
KiBodG1sL1ByZWxvYWRTY2FubmVyLmg6CisgICAgICAgICogbG9hZGVyL0NhY2hlLmg6CisgICAg
ICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaDoKKyAgICAgICAg
KiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
Lmg6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmg6CisgICAgICAgICogbG9hZGVyL2Fy
Y2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oOgorICAgICAgICAqIGxvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5oOgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25Mb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmg6CisgICAgICAgICogbG9hZGVyL2xv
YWRlci5oOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmg6CisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVHJlZS5oOgorICAg
ICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZUdyb3VwLmg6CisgICAgICAg
ICogcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaDoKKyAgICAgICAgKiBwYWdlL21hYy9FdmVu
dEhhbmRsZXJNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9FdmVu
dExvb3AuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Ib3N0V2luZG93Lmg6CisgICAgICAgICogcGxh
dGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5o
OgorICAgICAgICAqIHBsYXRmb3JtL1J1bkxvb3BUaW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L1RocmVhZEdsb2JhbERhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL1RyZWVTaGFy
ZWQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0dseXBoV2lkdGhNYXAuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZUJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllV2luLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0
L1N0cmluZ0J1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVjLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9Db3VudGVyTm9kZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9MYXlvdXRT
dGF0ZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1RyYW5zZm9ybVN0
YXRlLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkUHJvcGVydHkuaDoKKyAgICAgICAgKiBz
dmcvU3luY2hyb25pemFibGVUeXBlV3JhcHBlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwOgor
ICAgICAgICAqIHhtbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmg6CisgICAgICAgICogeG1sL1hQYXRo
UGFyc2VyLmg6CisgICAgICAgICogeG1sL1hQYXRoUHJlZGljYXRlLmg6CisgICAgICAgICogeG1s
L1hQYXRoU3RlcC5oOgorCiAyMDA5LTA3LTE0ICBBdmkgRHJpc3NtYW4gIDxhdmlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KSW5kZXg6IFdlYkNvcmUv
YmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5n
cy9qcy9HQ0NvbnRyb2xsZXIuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2JpbmRpbmdz
L2pzL0dDQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgICAg
ICBmcmllbmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKSW5k
ZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCShyZXZp
c2lvbiA0NTg3NykKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBTdHJpbmc7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAotICAgIGNsYXNz
IFdvcmtlclNjcmlwdENvbnRyb2xsZXIgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2Vy
U2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAg
ICAgICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgfldv
cmtlclNjcmlwdENvbnRyb2xsZXIoKTsKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvVjhET01N
YXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuY3BwCShy
ZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTUsNyArMTE1LDcgQEAgdHlwZWRlZiBXVEY6OlZlY3RvcjxET01EYXRh
U3RvcmUqPiBET01EYQogLy8gVGhpcyBjbGFzcyBkb2Vzbid0IG1hbmFnZSB0aGUgbGlmZXRpbWUg
b2YgdGhlIHN0b3JlLiAgVGhlIGRhdGEgc3RvcmUKIC8vIGxpZmV0aW1lIGlzIG1hbmFnZWQgYnkg
c3ViY2xhc3Nlcy4KIC8vCi1jbGFzcyBET01EYXRhU3RvcmUgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBET01EYXRhU3RvcmUgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIGVudW0g
RE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICBET01Ob2RlTWFwLApAQCAtMjg3LDcgKzI4Nyw3
IEBAIHR5cGVkZWYgV1RGOjpWZWN0b3I8RE9NRGF0YVN0b3JlKj4gRE9NRGEKIC8vIHRocmVhZC4g
IFRoZSBET01EYXRhIGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZSBET01EYXRhIGZvciBjaGls
ZCB0aHJlYWRzCiAvLyB1c2UgZGlmZmVyZW50IHN1YmNsYXNzZXMuCiAvLwotY2xhc3MgRE9NRGF0
YTogTm9uY29weWFibGUgeworY2xhc3MgRE9NRGF0YTogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1
YmxpYzoKICAgICBET01EYXRhKCkKICAgICAgICAgOiBtX2RlbGF5ZWRQcm9jZXNzaW5nU2NoZWR1
bGVkKGZhbHNlKQpJbmRleDogV2ViQ29yZS9icmlkZ2UvcnVudGltZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYnJpZGdlL3J1bnRpbWUuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2Jy
aWRnZS9ydW50aW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDE0ICs1NSwxNCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNzIE1ldGhvZCA6IE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCBpbnQgbnVtUGFyYW1ldGVycygpIGNvbnN0ID0gMDsKICAgICAgICAgCiAgICAgdmly
dHVhbCB+TWV0aG9kKCkgeyB9CiB9OwogCi1jbGFzcyBDbGFzcyA6IE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIENsYXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIE1l
dGhvZExpc3QgbWV0aG9kc05hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0
ID0gMDsKICAgICB2aXJ0dWFsIEZpZWxkKiBmaWVsZE5hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJ
bnN0YW5jZSopIGNvbnN0ID0gMDsKQEAgLTEyMCw3ICsxMjAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
UmVmUHRyPFJvb3RPYmplY3Q+IF9yb290T2JqZWN0OwogfTsKIAotY2xhc3MgQXJyYXkgOiBOb25j
b3B5YWJsZSB7CitjbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAg
ICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7CiAgICAgdmlydHVhbCB+QXJyYXkoKTsK
SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3IuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICAvLyB0aGlzIGNsYXNzIHJlcHJlc2VudHMgYSBzZWxlY3RvciBmb3IgYSBTdHls
ZVJ1bGUKLSAgICBjbGFzcyBDU1NTZWxlY3RvciA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
U1NTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBD
U1NTZWxlY3RvcigpCiAgICAgICAgICAgICA6IG1fdGFnKGFueVFOYW1lKCkpCkluZGV4OiBXZWJD
b3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvckxpc3QuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ckxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogTm9uY29weWFibGUgewor
ICAgIGNsYXNzIENTU1NlbGVjdG9yTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVi
bGljOgogICAgICAgICBDU1NTZWxlY3Rvckxpc3QoKSA6IG1fc2VsZWN0b3JBcnJheSgwKSB7IH0K
ICAgICAgICAgfkNTU1NlbGVjdG9yTGlzdCgpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAko
cmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgJKHdvcmtp
bmcgY29weSkKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogfTsKIAogICAgIC8vIFRoaXMgY2xh
c3Mgc2VsZWN0cyBhIFJlbmRlclN0eWxlIGZvciBhIGdpdmVuIGVsZW1lbnQgYmFzZWQgb24gYSBj
b2xsZWN0aW9uIG9mIHN0eWxlc2hlZXRzLgotICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3IgOiBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3VtZW50Kiwg
Y29uc3QgU3RyaW5nJiB1c2VyU3R5bGVTaGVldCwgU3R5bGVTaGVldExpc3QqLCBDU1NTdHlsZVNo
ZWV0KiwgYm9vbCBzdHJpY3RQYXJzaW5nLCBib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcyk7
CiAgICAgICAgIH5DU1NTdHlsZVNlbGVjdG9yKCk7CkluZGV4OiBXZWJDb3JlL2RvbS9DbGFzc05h
bWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vQ2xhc3NOYW1lcy5oCShyZXZpc2lvbiA0
NTg3NykKKysrIFdlYkNvcmUvZG9tL0NsYXNzTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjcs
NyArMjcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBDbGFzc05hbWVz
RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDbGFzc05hbWVzRGF0YSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBDbGFzc05hbWVzRGF0YShjb25zdCBT
dHJpbmcmIHN0cmluZywgYm9vbCBzaG91bGRGb2xkQ2FzZSkKICAgICAgICAgICAgIDogbV9zdHJp
bmcoc3RyaW5nKSwgbV9zaG91bGRGb2xkQ2FzZShzaG91bGRGb2xkQ2FzZSksIG1fY3JlYXRlZFZl
Y3RvcihmYWxzZSkKSW5kZXg6IFdlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCShyZXZpc2lvbiA0NTg3
NykKKysrIFdlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC00OCw3ICs0OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIE1lc3NhZ2VQb3J0
Q2hhbm5lbCBpcyBhIHBsYXRmb3JtLWluZGVwZW5kZW50IGludGVyZmFjZSB0byB0aGUgcmVtb3Rl
IHNpZGUgb2YgYSBtZXNzYWdlIGNoYW5uZWwuCiAgICAgLy8gSXQgYWN0cyBhcyBhIHdyYXBwZXIg
YXJvdW5kIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwg
aW1wbGVtZW50YXRpb24gd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQg
Y2xvc2UoKSBtZXRob2QgaXMgaW52b2tlZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCi0gICAgY2xhc3Mg
TWVzc2FnZVBvcnRDaGFubmVsIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0
Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgdm9pZCBjcmVhdGVDaGFubmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRy
PE1lc3NhZ2VQb3J0Pik7CiAKSW5kZXg6IFdlYkNvcmUvZG9tL1hNTFRva2VuaXplckxpYnhtbDIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1hNTFRva2VuaXplckxpYnhtbDIuY3BwCShy
ZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvZG9tL1hNTFRva2VuaXplckxpYnhtbDIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03Miw3ICs3Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyA6IE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFja3MgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGlj
OgogICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKICAgICB7CkluZGV4OiBXZWJDb3JlL2RvbS9YTUxU
b2tlbml6ZXJTY29wZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1hNTFRva2VuaXplclNj
b3BlLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9kb20vWE1MVG9rZW5pemVyU2NvcGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBjbGFzcyBEb2NMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxUb2tlbml6ZXJTY29wZSA6IE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxUb2tlbml6ZXJTY29wZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBYTUxUb2tlbml6ZXJTY29wZShEb2NMb2FkZXIq
IGRvY0xvYWRlcik7CiAgICAgICAgIH5YTUxUb2tlbml6ZXJTY29wZSgpOwpJbmRleDogV2ViQ29y
ZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCShyZXZpc2lvbiA0NTg3NykK
KysrIFdlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTYwLDcgKzYwLDcgQEAgZW51bSBFRnJhZ21lbnRUeXBlIHsgRW1wdHlGcmFnbWVu
dCwgU2luZwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xh
c3MgUmVwbGFjZW1lbnRGcmFnbWVudCA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxhY2VtZW50
RnJhZ21lbnQgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIFJlcGxhY2VtZW50
RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1bWVudEZyYWdtZW50KiwgYm9vbCBtYXRjaFN0eWxlLCBj
b25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9TZWxlY3Rp
b25Db250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNv
bnRyb2xsZXIuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9u
Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIEdyYXBo
aWNzQ29udGV4dDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFZpc2libGVQb3NpdGlvbjsK
IAotY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVj
dGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIGVudW0g
RUFsdGVyYXRpb24geyBNT1ZFLCBFWFRFTkQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBGT1JX
QVJELCBCQUNLV0FSRCwgUklHSFQsIExFRlQgfTsKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFt
ZXM7CiAvLyBLZWVwcyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBz
ZWFyY2ggaW4gdGhlIGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2Vz
IGFyZSBhbHdheXMgZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBh
bHNvIGRvbmUgaWYgPGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZm
ZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgewogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJpbmcmIHRhcmdldCwgYm9v
bCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsKSW5kZXg6IFdlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2hpc3RvcnkvUGFnZUNh
Y2hlLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBDYWNoZWRQYWdlOwogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwogICAgIAotICAgIGNsYXNz
IFBhZ2VDYWNoZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlQ2FjaGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSogcGFn
ZUNhY2hlKCk7CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgJ
KHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9odG1sL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLSAgICBjbGFzcyBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgICAgICAKSW5k
ZXg6IFdlYkNvcmUvaHRtbC9IVE1MUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1s
L0hUTUxQYXJzZXIuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFBhcnNl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHN0cnVjdCBUb2tlbjsKICAqIFRo
ZSBwYXJzZXIgZm9yIEhUTUwuIEl0IHJlY2VpdmVzIGEgc3RyZWFtIG9mIHRva2VucyBmcm9tIHRo
ZSBIVE1MVG9rZW5pemVyLCBhbmQKICAqIGJ1aWxkcyB1cCB0aGUgRG9jdW1lbnQgc3RydWN0dXJl
IGZyb20gaXQuCiAgKi8KLWNsYXNzIEhUTUxQYXJzZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBIVE1MUGFyc2Vy
KEhUTUxEb2N1bWVudCosIGJvb2wgcmVwb3J0RXJyb3JzKTsKICAgICBIVE1MUGFyc2VyKERvY3Vt
ZW50RnJhZ21lbnQqKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAkocmV2aXNpb24gNDU4
NzcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF0b21pY1N0cmluZzsK
IGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBOb25jb3B5YWJsZSB7Citj
bGFzcyBIVE1MUGFyc2VyUXVpcmtzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAg
ICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9CiAgICAgdmlydHVhbCB+SFRNTFBhcnNlclF1aXJrcygp
IHsgfQpJbmRleDogV2ViQ29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29y
ZS9odG1sL1ByZWxvYWRTY2FubmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50OwogICAg
IGNsYXNzIERvY3VtZW50OwogICAgIAotICAgIGNsYXNzIFByZWxvYWRTY2FubmVyIDogTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
ICAgICBwdWJsaWM6CiAgICAgICAgIFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAgICAgICAg
IH5QcmVsb2FkU2Nhbm5lcigpOwpJbmRleDogV2ViQ29yZS9sb2FkZXIvQ2FjaGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9DYWNoZS5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNv
cmUvbG9hZGVyL0NhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAgY2xhc3Mg
S1VSTDsKIC8vIC0tLS0tLS18LS0tLS0rKysrKysrKysrKysrKyt8CiAvLyAtLS0tLS0tfC0tLS0t
KysrKysrKysrKysrKysrfCsrKysrCiAKLWNsYXNzIENhY2hlIDogTm9uY29weWFibGUgeworY2xh
c3MgQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIGZyaWVuZCBDYWNo
ZSogY2FjaGUoKTsKIApJbmRleDogV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRS
ZXN1bHRDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGUuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2xvYWRlci9D
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcg
KzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJNYXA7CiAg
ICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxp
Z2h0UmVzdWx0Q2FjaGVJdGVtIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJs
aWM6CiAgICAgICAgIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3Jl
ZGVudGlhbHMpCiAgICAgICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC01Nyw3
ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRl
cnM7CiAgICAgfTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUg
OiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgQ3Jv
c3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSYgc2hhcmVkKCk7CiAKSW5kZXg6IFdlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNyArMTExLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkKiBtX2FyZ3VtZW50OwogICAgIH07CiAKLSAgICBjbGFzcyBGcmFtZUxvYWRl
ciA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBGcmFtZUxvYWRlcihGcmFtZSosIEZyYW1lTG9h
ZGVyQ2xpZW50Kik7CiAgICAgICAgIH5GcmFtZUxvYWRlcigpOwpJbmRleDogV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvUHJvZ3Jl
c3NUcmFja2VyLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NU
cmFja2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgRnJhbWU7CiBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsKIAotY2xhc3MgUHJv
Z3Jlc3NUcmFja2VyIDogTm9uY29weWFibGUgeworY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIoKTsKICAgICB+
UHJvZ3Jlc3NUcmFja2VyKCk7CkluZGV4OiBXZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCShyZXZp
c2lvbiA0NTg3NykKKysrIFdlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNjUsNyArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBV
c2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRo
cmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFu
IHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQmLCBTdG9yZWRDcmVkZW50aWFscyk7CiAgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIExvYWRD
YWxsYmFja3MsIENvbnRlbnRTbmlmZiwgU3RvcmVkQ3JlZGVudGlhbHMsIENyb3NzT3JpZ2luUmVk
aXJlY3RQb2xpY3kpOwpJbmRleDogV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9s
b2FkZXIvbG9hZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEtVUkw7CiAgICAgY2xhc3MgUmVxdWVzdDsKIAotICAgIGNs
YXNzIExvYWRlciA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2FkZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgTG9hZGVyKCk7CiAgICAgICAgIH5Mb2Fk
ZXIoKTsKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVHcm91cC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIGVu
dW0gQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAgQXBwbGljYXRpb25DYWNoZVVw
ZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cCA6IE5vbmNvcHlhYmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBsaWNh
dGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUsIFJlc291cmNlSGFuZGxlQ2xpZW50
IHsKIHB1YmxpYzoKICAgICBBcHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZl
c3RVUkwsIGJvb2wgaXNDb3B5ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdy
b3VwKCk7CkluZGV4OiBXZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxl
Y3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNv
dXJjZUNvbGxlY3Rpb24uaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL2xvYWRlci9hcmNo
aXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzksNyAr
MzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNv
bGxlY3Rpb24gOiBOb25jb3B5YWJsZSB7CitjbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBBcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uKCk7CiAKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAkocmV2aXNpb24g
NDU4NzcpCisrKyBXZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC02Miw3ICs2Miw3IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxv
YWRVbmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewogCiAvLyAqKiogTWFpbiBUaHJl
YWQgT25seSAqKioKIHB1YmxpYzoKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCShyZXZp
c2lvbiA0NTg3NykKKysrIFdlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNz
IFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VM
b2FkZXJDbGllbnQsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1
YnJlc291cmNlTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAg
IHN0YXRpYyBzdGQ6OmF1dG9fcHRyPEljb25Mb2FkZXI+IGNyZWF0ZShGcmFtZSopOwogICAgIH5J
Y29uTG9hZGVyKCk7CkluZGV4OiBXZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAkocmV2aXNp
b24gNDU4NzcpCisrKyBXZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGljb25VUkw7CiB9
OwogCi1jbGFzcyBQYWdlVVJMUmVjb3JkIDogTm9uY29weWFibGUgeworY2xhc3MgUGFnZVVSTFJl
Y29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgUGFnZVVSTFJlY29yZChj
b25zdCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdlVVJMUmVjb3JkKCk7CkluZGV4OiBXZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
YWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUv
cGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnQ7CiAgICAgY2xhc3MgUGFn
ZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAg
IHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKFBhZ2UqLCBDb250ZXh0TWVu
dUNsaWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9sbGVyKCk7CkluZGV4OiBXZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtNjksNyArNjksNyBAQCBleHRlcm4gY29uc3QgaW50IEdlbmVy
YWxEcmFnSHlzdGVyZXNpczsKIAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7IFNob3VsZEhpdFRl
c3RTY3JvbGxiYXJzLCBEb250SGl0VGVzdFNjcm9sbGJhcnMgfTsKIAotY2xhc3MgRXZlbnRIYW5k
bGVyIDogTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKIHB1YmxpYzoKICAgICBFdmVudEhhbmRsZXIoRnJhbWUqKTsKICAgICB+RXZlbnRIYW5k
bGVyKCk7CkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL0ZyYW1lVHJlZS5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvcGFnZS9G
cmFtZVRyZWUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAgIGNsYXNzIEZyYW1lVHJlZSA6IE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAg
IHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJl
bnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNGcmFtZSkKSW5kZXg6IFdl
YkNvcmUvcGFnZS9QYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2
aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03
Myw3ICs3Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGVudW0gRmluZERpcmVjdGlv
biB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dhcmQgfTsKIAotICAg
IGNsYXNzIFBhZ2UgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBzZXROZWVkc1JlYXBw
bHlTdHlsZXMoKTsKIApJbmRleDogV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3Jl
L3BhZ2UvUGFnZUdyb3VwLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgU3RvcmFnZU5hbWVzcGFj
ZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdl
R3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdy
b3VwKGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CkluZGV4
OiBXZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdl
YkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgs
NyArMjgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xh
c3MgUGFnZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciA6IE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
ewogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERlZmVycmVyKFBhZ2UqLCBib29s
IGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVmZXJyZXIoKTsKSW5kZXg6IFdl
YkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3Myw3
IEBAIE5TRXZlbnQgKkV2ZW50SGFuZGxlcjo6Y3VycmVudE5TRXZlbnQoKQogICAgIHJldHVybiBj
dXJyZW50TlNFdmVudFNsb3QoKS5nZXQoKTsKIH0KIAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUg
OiBOb25jb3B5YWJsZSB7CitjbGFzcyBDdXJyZW50RXZlbnRTY29wZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUoTlNFdmVudCAqKTsKICAgICB+
Q3VycmVudEV2ZW50U2NvcGUoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQ
b29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaAko
cmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEF1dG9kcmFpbmVkUG9vbCA6IE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEF1dG9kcmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJs
aWM6CiAgICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAgIH5B
dXRvZHJhaW5lZFBvb2woKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgJKHJldmlzaW9uIDQ1
ODc3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCSh3b3JraW5nIGNvcHkpCkBA
IC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENvbnRleHRN
ZW51Q29udHJvbGxlcjsKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDogTm9uY29weWFibGUKKyAg
ICBjbGFzcyBDb250ZXh0TWVudSA6IHB1YmxpYyBOb25jb3B5YWJsZQogICAgIHsKICAgICBwdWJs
aWM6CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9FdmVudExvb3AuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0V2ZW50
TG9vcC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotICAgIGNsYXNzIEV2ZW50TG9vcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBF
dmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgRXZl
bnRMb29wKCkKICAgICAgICAgICAgIDogbV9lbmRlZChmYWxzZSkKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vSG9zdFdpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vSG9zdFdp
bmRvdy5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgSG9zdFdpbmRvdyA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgOiBw
dWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7
IH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcgKzc2LDcgQEAg
Y2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgU3RyaW5nOwogICAgIAotY2xhc3MgUGFz
dGVib2FyZCA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgewogcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICAvL0hlbHBlciBmdW5jdGlv
bnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNoYXJlIGNvZGUKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vUHVyZ2VhYmxlQnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9QdXJn
ZWFibGVCdWZmZXIuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1B1cmdl
YWJsZUJ1ZmZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAKLSAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgOiBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQdXJnZWFibGVCdWZmZXIqIGNyZWF0ZShjb25zdCBj
aGFyKiBkYXRhLCBzaXplX3QpOwogICAgICAgICBzdGF0aWMgUHVyZ2VhYmxlQnVmZmVyKiBjcmVh
dGUoY29uc3QgVmVjdG9yPGNoYXI+JiB2KSB7IHJldHVybiBjcmVhdGUodi5kYXRhKCksIHYuc2l6
ZSgpKTsgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCShyZXZpc2lvbiA0NTg3NykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcg
KzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxs
IGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBOb25jb3B5YWJsZSB7Citj
bGFzcyBSdW5Mb29wVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5SdW5Mb29wVGltZXJCYXNlKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
VGhyZWFkR2xvYmFsRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
R2xvYmFsRGF0YS5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
R2xvYmFsRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29udmVydGVyV3JhcHBlcjsKICAgICBjbGFzcyBUaHJl
YWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIDogTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1
YmxpYzoKICAgICAgICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAgICAgICB+VGhyZWFkR2xvYmFs
RGF0YSgpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCShyZXZpc2lvbiA0NTg3NykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcg
KzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFzZTsKIAogICAg
IC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBUaHJlYWRHbG9i
YWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBUaHJlYWRUaW1lcnMgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAg
ICAgVGhyZWFkVGltZXJzKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgJKHJldmlzaW9uIDQ1ODc3KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xhc3Mg
VGltZXJCYXNlIDogTm9uY29weWFibGUgeworY2xhc3MgVGltZXJCYXNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKIHB1YmxpYzoKICAgICBUaW1lckJhc2UoKTsKICAgICB2aXJ0dWFsIH5UaW1lckJh
c2UoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNv
cmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgVHJlZVNo
YXJlZCA6IE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIFRyZWVTaGFyZWQg
OiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIFRyZWVTaGFyZWQoKQogICAgICAg
ICA6IG1fcmVmQ291bnQoMCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERh
dGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgJ
KHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnREYXRhIDogTm9uY29weWFibGUgewor
Y2xhc3MgRm9udERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIEZvbnRE
YXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgwKQpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFdpZHRoTWFwLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFdpZHRoTWFwLmgJKHJldmlzaW9uIDQ1ODc3KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFdpZHRoTWFwLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM5LDcgKzM5LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsKIAogY29uc3Qg
ZmxvYXQgY0dseXBoV2lkdGhVbmtub3duID0gLTE7CiAKLWNsYXNzIEdseXBoV2lkdGhNYXAgOiBO
b25jb3B5YWJsZSB7CitjbGFzcyBHbHlwaFdpZHRoTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
IHB1YmxpYzoKICAgICBHbHlwaFdpZHRoTWFwKCkgOiBtX2ZpbGxlZFByaW1hcnlQYWdlKGZhbHNl
KSB7IH0KICAgICB+R2x5cGhXaWR0aE1hcCgpIHsgaWYgKG1fcGFnZXMpIHsgZGVsZXRlQWxsVmFs
dWVzKCptX3BhZ2VzKTsgfSB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMTM3LDcgKzEzNyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSW50ZXJwb2xhdGlvbkhpZ2gKICAgICB9Owog
Ci0gICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEdy
YXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAg
ICBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKTsKICAgICAgICAgfkdy
YXBoaWNzQ29udGV4dCgpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1
ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZm
ZXIuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEludFJlY3Q7CiAgICAgY2xhc3MgU3RyaW5nOwogCi0gICAgY2xhc3Mg
SW1hZ2VCdWZmZXIgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VCdWZmZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgLy8gV2lsbCByZXR1cm4gYSBu
dWxsIHBvaW50ZXIgb24gYWxsb2NhdGlvbiBmYWlsdXJlLgogICAgICAgICBzdGF0aWMgUGFzc093
blB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIGJvb2wgZ3JheVNj
YWxlKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAkocmV2aXNp
b24gNDU4NzcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTgzLDcgKzgzLDcgQEAgdHlwZWRlZiBOYXRpdmVJbWFnZVNraWEqIE5h
dGl2ZUltYWdlUHRyOwogY29uc3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IC0xOwogY29uc3Qg
aW50IGNBbmltYXRpb25Ob25lID0gLTI7CiAKLWNsYXNzIEltYWdlU291cmNlIDogTm9uY29weWFi
bGUgeworY2xhc3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgog
ICAgIEltYWdlU291cmNlKCk7CiAgICAgfkltYWdlU291cmNlKCk7CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyAr
OTYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogTm9uY29w
eWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGlj
OgogICAgIE1lZGlhUGxheWVyKE1lZGlhUGxheWVyQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+TWVk
aWFQbGF5ZXIoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgJKHJldmlzaW9u
IDQ1ODc3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNz
IFBsYXRmb3JtQ29udGV4dFNraWE7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRoaXMgY2xh
c3MganVzdCBob2xkcyBvbnRvIGEgUGxhdGZvcm1Db250ZXh0U2tpYSBmb3IgR3JhcGhpY3NDb250
ZXh0LgotY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogTm9uY29weWFibGUg
eworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKIHB1YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoUGxhdGZv
cm1Db250ZXh0U2tpYSogcGxhdGZvcm1Db250ZXh0KQogICAgICAgICA6IG1fY29udGV4dChwbGF0
Zm9ybUNvbnRleHQpIHsgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1Bs
YXRmb3JtQ29udGV4dFNraWEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTYwLDcgKzYwLDcgQEAKIC8vIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyB0aGUg
cGFpbnRpbmcgc3RhdGUgd2hpY2ggaXMgc3RvcmUgaW4gc2VwYXJhdGUKIC8vIFNrUGFpbnQgb2Jq
ZWN0cy4gVGhpcyBjbGFzcyBwcm92aWRlcyB0aGUgYWRhcHRvciB0aGF0IGFsbG93cyB0aGUgcGFp
bnRpbmcKIC8vIHN0YXRlIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGFsb25nIHdpdGggdGhlIGJp
dG1hcC4KLWNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWEgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
bGF0Zm9ybUNvbnRleHRTa2lhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICAv
LyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2Fu
IGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFs
c28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9RVE1vdmllV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9RVE1vdmllV2luLmNwcAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsNyAr
NzYsNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVUYXNrVGltZXIoaW50IG1heEludGVyCiAgICAgc2V0
U2hhcmVkVGltZXJGaXJlRGVsYXkoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGludGVydmFsSW5NUykgLyAx
MDAwKTsKIH0KIAotY2xhc3MgUVRNb3ZpZVdpblByaXZhdGUgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBRVE1vdmllV2luUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAg
UVRNb3ZpZVdpblByaXZhdGUoKTsKICAgICB+UVRNb3ZpZVdpblByaXZhdGUoKTsKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5o
CShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdy
YXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBAIGNsYXNzIEdy
YXBoaWNzQ29udGV4dDsKICAgICAKIC8vIFRoaXMgY2xhc3MgYXV0b21hdGljYWxseSBzYXZlcyBh
bmQgcmVzdG9yZXMgdGhlIGN1cnJlbnQgTlNHcmFwaGljc0NvbnRleHQgZm9yCiAvLyBmdW5jdGlv
bnMgd2hpY2ggY2FsbCBvdXQgaW50byBBcHBLaXQgYW5kIHJlbHkgb24gdGhlIGN1cnJlbnRDb250
ZXh0IGJlaW5nIHNldAotY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDogTm9uY29w
eWFibGUgeworY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKIHB1YmxpYzoKICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoR3JhcGhp
Y3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQpOwogICAgIH5Mb2NhbEN1cnJlbnRHcmFwaGljc0Nv
bnRleHQoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVy
LmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRh
QnVpbGRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBAIGNsYXNzIENTdHJpbmc7
CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9ybURhdGFC
dWlsZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgRm9ybURhdGFCdWlsZGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBGb3JtRGF0YUJ1aWxkZXIoKTsKICAgICB+Rm9ybURh
dGFCdWlsZGVyKCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZUludGVybmFsLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtNzUs
NyArNzUsNyBAQCBjbGFzcyBOU1VSTENvbm5lY3Rpb247CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVDbGllbnQ7CiAKLSAgICBjbGFzcyBSZXNvdXJjZUhhbmRs
ZUludGVybmFsIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcs
IGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIG1pZ2h0RG93bmxvYWRGcm9tSGFuZGxlKQog
ICAgICAgICAgICAgOiBtX2NsaWVudChjKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCShyZXZpc2lvbiA0NTg3NykK
KysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVD
bGllbnQsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1
YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
ICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVz
cG9uc2UgJiwgVmVjdG9yPGNoYXI+Jik7CiAgICAgfldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigp
OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0J1ZmZlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdCdWZmZXIuaAkocmV2aXNpb24gNDU4Nzcp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nQnVmZmVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM1LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTdHJpbmdC
dWZmZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgewogcHVibGljOgogICAgIGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNpZ25lZCBsZW5n
dGgpCiAgICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
Q29kZWMuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENv
ZGVjLmgJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgdHlwZWRlZiBjaGFyIFVuZW5jb2RhYmxlUmVwbGFjZW1lbnRBcnJheVszMl07CiAK
LSAgICBjbGFzcyBUZXh0Q29kZWMgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVj
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflRl
eHRDb2RlYygpOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJv
YWRjYXN0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNz
YWdlQnJvYWRjYXN0ZXIuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3dp
bi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVu
ZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdp
bmRvd01lc3NhZ2VMaXN0ZW5lciopOwogICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5l
cihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L0NvdW50ZXJOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5v
ZGUuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBDb3VudGVyTm9kZSA6IE5vbmNvcHlhYmxlIHsK
K2NsYXNzIENvdW50ZXJOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBD
b3VudGVyTm9kZShSZW5kZXJPYmplY3QqLCBib29sIGlzUmVzZXQsIGludCB2YWx1ZSk7CiAKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9MYXlvdXRTdGF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIGNs
YXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0Owog
Ci1jbGFzcyBMYXlvdXRTdGF0ZSA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBMYXlvdXRTdGF0ZSgpCiAgICAgICAg
IDogbV9jbGlwcGVkKGZhbHNlKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVT
ZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCShy
ZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdGF0
aWMgY29uc3QgaW50IG5vU3BsaXQgPSAtMTsKIAotICAgIGNsYXNzIEdyaWRBeGlzIDogTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBw
dWJsaWM6CiAgICAgICAgIEdyaWRBeGlzKCk7CiAgICAgICAgIHZvaWQgcmVzaXplKGludCk7Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMjIyLDcgKzIyMiw3IEBAIHZv
aWQgdG9SZW5kZXJWaWV3KGNvbnN0IFJlbmRlclZpZXcqKTsKIAogCiAvLyBTdGFjay1iYXNlZCBj
bGFzcyB0byBhc3Npc3Qgd2l0aCBMYXlvdXRTdGF0ZSBwdXNoL3BvcAotY2xhc3MgTGF5b3V0U3Rh
dGVNYWludGFpbmVyIDogTm9uY29weWFibGUgeworY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICAvLyBjdG9yIHRvIHB1c2ggbm93
CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcqIHZpZXcsIFJlbmRlckJveCog
cm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFsc2UpCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDogTm9uY29w
eWFibGUgeworY2xhc3MgVHJhbnNmb3JtU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgewogcHVi
bGljOgogICAgIGVudW0gVHJhbnNmb3JtRGlyZWN0aW9uIHsgQXBwbHlUcmFuc2Zvcm1EaXJlY3Rp
b24sIFVuYXBwbHlJbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uIH07CiAgICAgZW51bSBUcmFuc2Zv
cm1BY2N1bXVsYXRpb24geyBGbGF0dGVuVHJhbnNmb3JtLCBBY2N1bXVsYXRlVHJhbnNmb3JtIH07
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByb3BlcnR5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJvcGVydHkuaAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyAr
NjYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5
KGNvbnN0IE93bmVyRWxlbWVudCogb3duZXJFbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyaWJ1dGVOYW1lLCBEZWNvcmF0ZWRUeXBlIGJhc2VWYWx1ZSk7CiAKICAgICAvLyBBYnN0cmFj
dCBiYXNlIGNsYXNzCi0gICAgY2xhc3MgU1ZHQW5pbWF0ZWRQcm9wZXJ0eUJhc2UgOiBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRQcm9wZXJ0eUJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U1ZHQW5pbWF0ZWRQcm9wZXJ0
eUJhc2UoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplKCkgY29uc3QgPSAw
OwpJbmRleDogV2ViQ29yZS9zdmcvU3luY2hyb25pemFibGVUeXBlV3JhcHBlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1N5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIuaAkocmV2aXNpb24g
NDU4NzcpCisrKyBXZWJDb3JlL3N2Zy9TeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFN0b3JlZFR5cGU+Ci0gICAgY2xhc3MgU3luY2hyb25pemFibGVUeXBl
V3JhcHBlckJhc2UgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU3luY2hyb25pemFibGVUeXBl
V3JhcHBlckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgU3luY2hyb25pemFibGVUeXBlV3JhcHBlckJhc2UoKTsKIApJbmRleDogV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgJKHJldmlzaW9uIDQ1ODc3KQorKysgV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlcjsKICAgICBjbGFzcyBXb3Jr
ZXJUaHJlYWQ7CiAKLSAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3Jr
ZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxv
YWRlclByb3h5LCBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkg
OiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1
YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKICAgICBwdWJsaWM6
CiAgICAgICAgIFdvcmtlck1lc3NhZ2luZ1Byb3h5KFdvcmtlciopOwogCkluZGV4OiBXZWJDb3Jl
L3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS93b3JrZXJz
L1dvcmtlclJ1bkxvb3AuY3BwCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUvd29ya2Vycy9X
b3JrZXJSdW5Mb29wLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIFN0cmlu
ZyBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQog
Ci1jbGFzcyBSdW5Mb29wU2V0dXAgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAg
OiBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIFJ1bkxvb3BTZXR1cChXb3JrZXJS
dW5Mb29wJiBydW5Mb29wKQogICAgICAgICA6IG1fcnVuTG9vcChydW5Mb29wKQpJbmRleDogV2Vi
Q29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveG1s
L1hQYXRoRXhwcmVzc2lvbk5vZGUuaAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJDb3JlL3htbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAg
ICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUs
IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5v
ZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0
YXRpYyBFdmFsdWF0aW9uQ29udGV4dCYgZXZhbHVhdGlvbkNvbnRleHQoKTsKIApJbmRleDogV2Vi
Q29yZS94bWwvWFBhdGhQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3htbC9YUGF0aFBh
cnNlci5oCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgVG9rZW4oaW50IHQsIEVxVGVzdE9wOjpPcGNvZGUgdik6IHR5cGUodCksIGVxb3Aodikg
e30KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQYXJzZXIgOiBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgICAgIHB1Ymxp
YzoKICAgICAgICAgICAgIFBhcnNlcigpOwogCkluZGV4OiBXZWJDb3JlL3htbC9YUGF0aFByZWRp
Y2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgJKHJldmlz
aW9uIDQ1ODc3KQorKysgV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMTA1LDcgKzEwNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2Rl
U2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBOb25j
b3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFByZWRpY2F0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFByZWRpY2F0ZShFeHByZXNzaW9uKik7CiAg
ICAgICAgICAgICB+UHJlZGljYXRlKCk7CkluZGV4OiBXZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAkocmV2aXNpb24gNDU4NzcpCisr
KyBXZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xhc3MgUHJlZGljYXRlOwogICAgICAg
ICAKLSAgICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJzZU5vZGUsIE5vbmNvcHlhYmxlIHsK
KyAgICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIGVudW0gQXhpcyB7CiAgICAgICAgICAg
ICAgICAgQW5jZXN0b3JBeGlzLCBBbmNlc3Rvck9yU2VsZkF4aXMsIEF0dHJpYnV0ZUF4aXMsCklu
ZGV4OiBXZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL0NoYW5n
ZUxvZwkocmV2aXNpb24gNDU4NzgpCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDA5LTA3LTE0ICBab2x0YW4gSG9ydmF0aCAgPGh6b2x0
YW5AaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENoYW5nZSBhbGwgTm9uY29weWFibGUgaW5oZXJpdGluZyB2aXNpYmlsaXR5
IHRvIHB1YmxpYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI3MjI1CisKKyAgICAgICAgQ2hhbmdlIGFsbCBOb25jb3B5YWJsZSBpbmhlcml0aW5nIHZp
c2liaWxpdHkgdG8gcHVibGljIGJlY2F1c2UKKyAgICAgICAgaXQgaXMgbmVlZGVkIHRvIHRoZSBj
dXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsgKGJ1ZyAjMjA0MjIpLgorCisgICAgICAgICogd2Vi
a2l0L3dlYmtpdGRvd25sb2FkLmNwcDoKKwogMjAwOS0wNy0xMyAgR3VzdGF2byBOb3JvbmhhIFNp
bHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBVbnJldmll
d2VkLiBMYXRlIE5FV1MgZmlsZSBmb3IgMS4xLjExLgpJbmRleDogV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0ZG93bmxvYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvd2Via2l0L3dlYmtp
dGRvd25sb2FkLmNwcAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRkb3dubG9hZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8g
aXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogTm9uY29weWFibGUsIHB1
YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBEb3dubG9hZENsaWVudCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKICAgICBwdWJsaWM6
CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKSW5kZXg6IFdlYktp
dC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZp
c2lvbiA0NTg3OCkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTggQEAKKzIwMDktMDctMTQgIFpvbHRhbiBIb3J2YXRoICA8aHpvbHRhbkBpbmYudS1z
emVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2hhbmdlIGFsbCBOb25jb3B5YWJsZSBpbmhlcml0aW5nIHZpc2liaWxpdHkgdG8gcHVibGlj
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcyMjUK
KworICAgICAgICBDaGFuZ2UgYWxsIE5vbmNvcHlhYmxlIGluaGVyaXRpbmcgdmlzaWJpbGl0eSB0
byBwdWJsaWMgYmVjYXVzZQorICAgICAgICBpdCBpcyBuZWVkZWQgdG8gdGhlIGN1c3RvbSBhbGxv
Y2F0aW9uIGZyYW1ld29yayAoYnVnICMyMDQyMikuCisKKyAgICAgICAgKiBDT01FbnVtVmFyaWFu
dC5oOgorICAgICAgICAqIFdlYkRhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgICogV2ViSW5z
cGVjdG9yLmg6CisgICAgICAgICogV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcDoKKwogMjAwOS0w
Ny0xMyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KSW5kZXg6IFdlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgJKHJldmlzaW9uIDQ1ODc3
KQorKysgV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3
ICszNCw3IEBACiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1W
QVJJQU5ULCBOb25jb3B5YWJsZSB7CitjbGFzcyBDT01FbnVtVmFyaWFudCA6IHB1YmxpYyBJRW51
bVZBUklBTlQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVu
dW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJp
YW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CkluZGV4OiBXZWJLaXQv
d2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXIuY3BwCShyZXZpc2lvbiA0NTg3NykKKysrIFdlYktpdC93aW4vV2ViRGF0
YWJhc2VNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgaXNFcXVhbChMUENXU1RSIHMxLCBMCiAgICAgcmV0dXJuICF3Y3NjbXAoczEs
IHMyKTsKIH0KIAotY2xhc3MgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVBy
b3BlcnR5QmFnLCBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJh
ZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKiBjcmVhdGVJbnN0YW5jZShjb25z
dCBEYXRhYmFzZURldGFpbHMmKTsKIApJbmRleDogV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCShyZXZpc2lvbiA0NTg3NykK
KysrIFdlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0
LDcgQEAKIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElX
ZWJJbnNwZWN0b3IsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJ
V2ViSW5zcGVjdG9yLCBwdWJsaWMgTm9uY29weWFibGUgewogcHVibGljOgogICAgIHN0YXRpYyBX
ZWJJbnNwZWN0b3IqIGNyZWF0ZUluc3RhbmNlKFdlYlZpZXcqKTsKIApJbmRleDogV2ViS2l0L3dp
bi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2Vi
TG9jYWxpemFibGVTdHJpbmdzLmNwcAkocmV2aXNpb24gNDU4NzcpCisrKyBXZWJLaXQvd2luL1dl
YkxvY2FsaXphYmxlU3RyaW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAg
V2ViTG9jYWxpemFibGVTdHJpbmdzQnVuZGxlIFdlYktpdExvY2FsaQogc3RhdGljIEhhc2hNYXA8
U3RyaW5nLCBMb2NhbGl6ZWRTdHJpbmcqPiBtYWluQnVuZGxlTG9jU3RyaW5nczsKIHN0YXRpYyBI
YXNoTWFwPFN0cmluZywgTG9jYWxpemVkU3RyaW5nKj4gZnJhbWV3b3JrTG9jU3RyaW5nczsKIAot
Y2xhc3MgTG9jYWxpemVkU3RyaW5nIDogTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxpemVkU3Ry
aW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBMb2NhbGl6ZWRTdHJpbmco
Q0ZTdHJpbmdSZWYgc3RyaW5nKQogICAgICAgICA6IG1fY2ZTdHJpbmcoc3RyaW5nKQo=
</data>
<flag name="review"
          id="17123"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>