<?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>3945</bug_id>
          
          <creation_ts>2005-07-10 13:47:11 -0700</creation_ts>
          <short_desc>[PATCH] Safe merges of comments and other trivialities from KDE&apos;s kjs</short_desc>
          <delta_ts>2005-07-14 11:41:23 -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>JavaScriptCore</component>
          <version>420+</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martijn Klingens">klingens</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>14330</commentid>
    <comment_count>0</comment_count>
    <who name="Martijn Klingens">klingens</who>
    <bug_when>2005-07-10 13:47:11 -0700</bug_when>
    <thetext>Hiya, 
 
I&apos;ll attach two patches to this bugzilla item that together reduce the diff 
between JSC&apos;s kjs and khtml&apos;s kjs with over a 1000 lines. 
 
The first part merges namespace fixes for more recent GCC versions (namespaces 
should end with just } and not }; and recent GCC is more picky about that). 
 
The second diff merges many comments in the code that apply to both trees. 
Think about the change of the FSF&apos;s postal address and changes and typo fixes 
in the API docs. I&apos;ve been deliberately conservative with merging and aimed 
for big reductions first before going over the diff more closely to extract 
smaller hunks. Comments that I left out on purpose include copyright changes 
on either side (those should be merged with the code that the copyright refers 
to and not on theirselves) and some docs for classes that are no longer 
sharing the same API in both trees. 
 
Please commit to JSC as it makes the life of those comparing the trees a lot 
easier... 
 
Proposed changelog entries for the diffs: 
 
1. Merge GCC namespace termination (s/};/}/) from KHTML&apos;s kjs 
 
2. Merge API docs and the FSF postall address change from KHTML&apos;s kjs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14331</commentid>
    <comment_count>1</comment_count>
      <attachid>2902</attachid>
    <who name="Martijn Klingens">klingens</who>
    <bug_when>2005-07-10 13:47:54 -0700</bug_when>
    <thetext>Created attachment 2902
GCC namespace fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14332</commentid>
    <comment_count>2</comment_count>
      <attachid>2903</attachid>
    <who name="Martijn Klingens">klingens</who>
    <bug_when>2005-07-10 13:48:44 -0700</bug_when>
    <thetext>Created attachment 2903
Comment merges</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14392</commentid>
    <comment_count>3</comment_count>
    <who name="Martijn Klingens">klingens</who>
    <bug_when>2005-07-11 12:00:47 -0700</bug_when>
    <thetext>I just noticed a small issue: 
 
http://bugzilla.opendarwin.org/attachment.cgi?id=2903&amp;action=diff#property_map.h_sec4 
 
That one removed line is NOT correct, when applying the patch please readd 
this single line. 
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14593</commentid>
    <comment_count>4</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-07-13 11:44:59 -0700</bug_when>
    <thetext>r=me on the namespace patch
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14594</commentid>
    <comment_count>5</comment_count>
      <attachid>2903</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-07-13 11:48:26 -0700</bug_when>
    <thetext>Comment on attachment 2903
Comment merges

please repost this patch without the accidental removal of index</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14595</commentid>
    <comment_count>6</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-07-13 11:52:12 -0700</bug_when>
    <thetext>Note, only the namespace fix is approved, not the comment fix (unless committer fees like undoing the 
accidental line removal).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14596</commentid>
    <comment_count>7</comment_count>
      <attachid>2948</attachid>
    <who name="Martijn Klingens">klingens</who>
    <bug_when>2005-07-13 14:23:52 -0700</bug_when>
    <thetext>Created attachment 2948
Comment patch without removing &apos;int index&apos; :)

Hmm, if I should have known you&apos;d be picky on the patch and have recreated the
patch right away... so much for being lazy :)

Anyway, new patch as replacement, once it&apos;s in I&apos;ll try to merge more trivial
stuff.

Thanks so far. Note though that you&apos;ll probably need to commit for me, I don&apos;t
think I have such rights myself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14656</commentid>
    <comment_count>8</comment_count>
      <attachid>2948</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2005-07-14 11:36:20 -0700</bug_when>
    <thetext>Comment on attachment 2948
Comment patch without removing &apos;int index&apos; :)

I&apos;m marking comments.diff review+, since it fixes the int problem.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2902</attachid>
            <date>2005-07-10 13:47:54 -0700</date>
            <delta_ts>2005-07-13 11:44:40 -0700</delta_ts>
            <desc>GCC namespace fix</desc>
            <filename>gcc-namespaces.diff</filename>
            <type>text/plain</type>
            <size>9680</size>
            <attacher name="Martijn Klingens">klingens</attacher>
            
              <data encoding="base64">SW5kZXg6IGJvb2xfb2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFT
Y3JpcHRDb3JlL2tqcy9ib29sX29iamVjdC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQKZGlm
ZiAtdSAtMyAtcCAtcjEuNCBib29sX29iamVjdC5oCi0tLSBib29sX29iamVjdC5oCTIwMDIvMTEv
MjAgMjE6MTI6MTQJMS40CisrKyBib29sX29iamVjdC5oCTIwMDUvMDcvMDggMjA6NDY6NDgKQEAg
LTg1LDYgKzg1LDYgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgdmlydHVhbCBWYWx1ZSBjYWxsKEV4
ZWNTdGF0ZSAqZXhlYywgT2JqZWN0ICZ0aGlzT2JqLCBjb25zdCBMaXN0ICZhcmdzKTsKICAgfTsK
IAotfTsgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAjZW5kaWYKSW5kZXg6IGVycm9y
X29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9r
anMvZXJyb3Jfb2JqZWN0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpkaWZmIC11IC0zIC1w
IC1yMS4zIGVycm9yX29iamVjdC5oCi0tLSBlcnJvcl9vYmplY3QuaAkyMDAyLzA0LzE1IDIzOjQw
OjU5CTEuMworKysgZXJyb3Jfb2JqZWN0LmgJMjAwNS8wNy8wOCAyMDo0Njo0OQpAQCAtODMsNiAr
ODMsNiBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICBPYmplY3RJbXAgKnByb3RvOwogICB9OwogCi19
OyAvLyBuYW1lc3BhY2UKK30gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpJbmRleDogZnVuY3Rpb25f
b2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tq
cy9mdW5jdGlvbl9vYmplY3QuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLTMg
LXAgLXIxLjQgZnVuY3Rpb25fb2JqZWN0LmgKLS0tIGZ1bmN0aW9uX29iamVjdC5oCTIwMDQvMDcv
MjIgMjM6MzA6NTIJMS40CisrKyBmdW5jdGlvbl9vYmplY3QuaAkyMDA1LzA3LzA4IDIwOjQ2OjQ5
CkBAIC03OSw2ICs3OSw2IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIHZpcnR1YWwgVmFsdWUgY2Fs
bChFeGVjU3RhdGUgKmV4ZWMsIE9iamVjdCAmdGhpc09iaiwgY29uc3QgTGlzdCAmYXJncyk7CiAg
IH07CiAKLX07IC8vIG5hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmIC8vIF9GVU5D
VElPTl9PQkpFQ1RfSF8KSW5kZXg6IGludGVycHJldGVyX21hcC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvaW50ZXJwcmV0ZXJfbWFwLmgsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMgpkaWZmIC11IC0zIC1wIC1yMS4yIGludGVycHJldGVyX21hcC5o
Ci0tLSBpbnRlcnByZXRlcl9tYXAuaAkyMDA0LzA0LzIyIDE2OjUzOjM1CTEuMgorKysgaW50ZXJw
cmV0ZXJfbWFwLmgJMjAwNS8wNy8wOCAyMDo0Njo0OQpAQCAtNTIsNyArNTIsNyBAQCBuYW1lc3Bh
Y2UgS0pTIHsKIAlzdGF0aWMgaW50IEludGVycHJldGVyTWFwOjpfa2V5Q291bnQ7CiAgICAgfTsK
IAotfTsgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAKICNlbmRpZiAvLyBfS0pTX0lO
VEVSUFJFVEVSX01BUF9IXwpJbmRleDogbGV4ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2xleGVyLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
OQpkaWZmIC11IC0zIC1wIC1yMS45IGxleGVyLmgKLS0tIGxleGVyLmgJMjAwNC8wOS8xMCAwMTo1
MjoyNAkxLjkKKysrIGxleGVyLmgJMjAwNS8wNy8wOCAyMDo0Njo0OQpAQCAtMTU4LDYgKzE1OCw2
IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIExleGVyUHJpdmF0ZSAqcHJpdjsKICAgfTsKIAotfTsg
Ly8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAjZW5kaWYKSW5kZXg6IG1hdGhfb2JqZWN0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9tYXRo
X29iamVjdC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQKZGlmZiAtdSAtMyAtcCAtcjEuNCBt
YXRoX29iamVjdC5oCi0tLSBtYXRoX29iamVjdC5oCTIwMDIvMTEvMTkgMjI6MDI6MjUJMS40Cisr
KyBtYXRoX29iamVjdC5oCTIwMDUvMDcvMDggMjA6NDY6NDkKQEAgLTQ5LDYgKzQ5LDYgQEAgbmFt
ZXNwYWNlIEtKUyB7CiAgICAgaW50IGlkOwogICB9OwogCi19OyAvLyBuYW1lc3BhY2UKK30gLy8g
bmFtZXNwYWNlCiAKICNlbmRpZgpJbmRleDogbm9kZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
Y3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuMjIKZGlmZiAtdSAtMyAtcCAtcjEuMjIgbm9kZXMuaAotLS0gbm9kZXMuaAkyMDA1LzA2LzIx
IDA4OjI1OjIyCTEuMjIKKysrIG5vZGVzLmgJMjAwNS8wNy8wOCAyMDo0NzowMApAQCAtMTAzNiw2
ICsxMDM2LDYgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgUHJvZ3JhbU5vZGUoU291cmNlRWxlbWVu
dHNOb2RlICpzKTsKICAgfTsKIAotfTsgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAj
ZW5kaWYKSW5kZXg6IG51bWJlcl9vYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvSmF2YVNjcmlwdENvcmUva2pzL251bWJlcl9vYmplY3QuaCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS42CmRpZmYgLXUgLTMgLXAgLXIxLjYgbnVtYmVyX29iamVjdC5oCi0tLSBudW1iZXJfb2Jq
ZWN0LmgJMjAwNC8wOC8wMyAyMjo0NTo1MQkxLjYKKysrIG51bWJlcl9vYmplY3QuaAkyMDA1LzA3
LzA4IDIwOjQ3OjAwCkBAIC05NCw2ICs5NCw2IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIE9iamVj
dCBjb25zdHJ1Y3QoY29uc3QgTGlzdCAmKTsKICAgfTsKIAotfTsgLy8gbmFtZXNwYWNlCit9IC8v
IG5hbWVzcGFjZQogCiAjZW5kaWYKSW5kZXg6IHByb3BlcnR5X21hcC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvcHJvcGVydHlfbWFwLmgsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMjAKZGlmZiAtdSAtMyAtcCAtcjEuMjAgcHJvcGVydHlfbWFwLmgK
LS0tIHByb3BlcnR5X21hcC5oCTIwMDQvMDgvMTggMDA6MDc6MTAJMS4yMAorKysgcHJvcGVydHlf
bWFwLmgJMjAwNS8wNy8wOCAyMDo0NzowMApAQCAtOTQsNiArOTQsNiBAQCBuYW1lc3BhY2UgS0pT
IHsKICAgICAgICAgRW50cnkgX3NpbmdsZUVudHJ5OwogICAgIH07CiAKLX07IC8vIG5hbWVzcGFj
ZQorfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmIC8vIF9LSlNfUFJPUEVSVFlfTUFQX0hfCkluZGV4
OiByZWdleHAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUv
a2pzL3JlZ2V4cC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjYKZGlmZiAtdSAtMyAtcCAtcjEu
NiByZWdleHAuaAotLS0gcmVnZXhwLmgJMjAwMy8wNi8wNSAwMDoxMToyMgkxLjYKKysrIHJlZ2V4
cC5oCTIwMDUvMDcvMDggMjA6NDc6MDAKQEAgLTYzLDYgKzYzLDYgQEAgbmFtZXNwYWNlIEtKUyB7
CiAgICAgUmVnRXhwICZvcGVyYXRvcj0oY29uc3QgUmVnRXhwICYpOwogICB9OwogCi19OyAvLyBu
YW1lc3BhY2UKK30gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpJbmRleDogcmVnZXhwX29iamVjdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvcmVnZXhw
X29iamVjdC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcKZGlmZiAtdSAtMyAtcCAtcjEuNyBy
ZWdleHBfb2JqZWN0LmgKLS0tIHJlZ2V4cF9vYmplY3QuaAkyMDA0LzA4LzAyIDIzOjM4OjU3CTEu
NworKysgcmVnZXhwX29iamVjdC5oCTIwMDUvMDcvMDggMjA6NDc6MDAKQEAgLTg0LDYgKzg0LDYg
QEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgdWludCBsYXN0TnJTdWJQYXR0ZXJuczsKICAgfTsKIAot
fTsgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAjZW5kaWYKSW5kZXg6IHNjb3BlX2No
YWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9z
Y29wZV9jaGFpbi5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjgKZGlmZiAtdSAtMyAtcCAtcjEu
OCBzY29wZV9jaGFpbi5oCi0tLSBzY29wZV9jaGFpbi5oCTIwMDUvMDQvMTUgMDE6MjY6MjYJMS44
CisrKyBzY29wZV9jaGFpbi5oCTIwMDUvMDcvMDggMjA6NDc6MDAKQEAgLTcwLDYgKzcwLDYgQEAg
bmFtZXNwYWNlIEtKUyB7CiAgICAgICAgIHZvaWQgcmVsZWFzZSgpOwogICAgIH07CiAKLX07IC8v
IG5hbWVzcGFjZSBLSlMKK30gLy8gbmFtZXNwYWNlIEtKUwogCiAjZW5kaWYgLy8gS0pTX1NDT1BF
X0NIQUlOX0gKSW5kZXg6IHVzdHJpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
SmF2YVNjcmlwdENvcmUva2pzL3VzdHJpbmcuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNgpk
aWZmIC11IC0zIC1wIC1yMS4zNiB1c3RyaW5nLmgKLS0tIHVzdHJpbmcuaAkyMDA1LzA0LzIwIDEw
OjE0OjM1CTEuMzYKKysrIHVzdHJpbmcuaAkyMDA1LzA3LzA4IDIwOjQ3OjAwCkBAIC01MTcsNiAr
NTE3LDYgQEAgbmFtZXNwYWNlIEtKUyB7CiAgIC8vIFJldHVybnMgLTEgaWYgdGhlIHNlcXVlbmNl
IGlzIG5vdCB2YWxpZCAoaW5jbHVkaW5nIHByZXNlbmNlIG9mIGV4dHJhIGJ5dGVzKS4KICAgaW50
IGRlY29kZVVURjhTZXF1ZW5jZShjb25zdCBjaGFyICopOwogCi19OyAvLyBuYW1lc3BhY2UKK30g
Ly8gbmFtZXNwYWNlCiAKICNlbmRpZgpJbmRleDogYXJyYXlfaW5zdGFuY2UuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2FycmF5X2luc3RhbmNlLmgs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTIKZGlmZiAtdSAtMyAtcCAtcjEuMTIgYXJyYXlfaW5z
dGFuY2UuaAotLS0gYXJyYXlfaW5zdGFuY2UuaAkyMDA1LzA3LzAzIDEwOjQ3OjUyCTEuMTIKKysr
IGFycmF5X2luc3RhbmNlLmgJMjAwNS8wNy8wOCAyMDo0NzowMApAQCAtNjYsNiArNjYsNiBAQCBu
YW1lc3BhY2UgS0pTIHsKICAgICBWYWx1ZUltcCAqKnN0b3JhZ2U7CiAgIH07CiAKLX07IC8vIG5h
bWVzcGFjZSBLSlMKK30gLy8gbmFtZXNwYWNlIEtKUwogCiAjZW5kaWYKSW5kZXg6IGFycmF5X29i
amVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMv
YXJyYXlfb2JqZWN0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTIKZGlmZiAtdSAtMyAtcCAt
cjEuMTIgYXJyYXlfb2JqZWN0LmgKLS0tIGFycmF5X29iamVjdC5oCTIwMDUvMDYvMzAgMDE6MTk6
NDIJMS4xMgorKysgYXJyYXlfb2JqZWN0LmgJMjAwNS8wNy8wOCAyMDo0NzowMApAQCAtNjMsNiAr
NjMsNiBAQCBuYW1lc3BhY2UgS0pTIHsKIAogICB9OwogCi19OyAvLyBuYW1lc3BhY2UKK30gLy8g
bmFtZXNwYWNlCiAKICNlbmRpZgpJbmRleDogZGF0ZV9vYmplY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2RhdGVfb2JqZWN0LmgsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuMTAKZGlmZiAtdSAtMyAtcCAtcjEuMTAgZGF0ZV9vYmplY3QuaAotLS0g
ZGF0ZV9vYmplY3QuaAkyMDA1LzA3LzAxIDE4OjQ1OjA5CTEuMTAKKysrIGRhdGVfb2JqZWN0LmgJ
MjAwNS8wNy8wOCAyMDo0NzowMApAQCAtMTI0LDYgKzEyNCw2IEBAIG5hbWVzcGFjZSBLSlMgewog
ICBkb3VibGUgdGltZUNsaXAoZG91YmxlIHQpOwogICBkb3VibGUgbWFrZVRpbWUoc3RydWN0IHRt
ICp0LCBpbnQgbWlsbGksIGJvb2wgdXRjKTsKIAotfTsgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVz
cGFjZQogCiAjZW5kaWYKSW5kZXg6IGZ1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9mdW5jdGlvbi5oLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjI0CmRpZmYgLXUgLTMgLXAgLXIxLjI0IGZ1bmN0aW9uLmgKLS0tIGZ1bmN0aW9uLmgJMjAw
NS8wNy8wOCAxNjoxMjo0MAkxLjI0CisrKyBmdW5jdGlvbi5oCTIwMDUvMDcvMDggMjA6NDc6MDUK
QEAgLTEzNCw2ICsxMzQsNiBAQCBuYW1lc3BhY2UgS0pTIHsKIAogCiAKLX07IC8vIG5hbWVzcGFj
ZQorfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCkluZGV4OiBpbnRlcm5hbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvaW50ZXJuYWwuaCx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS4yOApkaWZmIC11IC0zIC1wIC1yMS4yOCBpbnRlcm5hbC5oCi0tLSBp
bnRlcm5hbC5oCTIwMDUvMDcvMDEgMDA6NDU6NDkJMS4yOAorKysgaW50ZXJuYWwuaAkyMDA1LzA3
LzA4IDIwOjQ3OjA1CkBAIC00MzQsNyArNDM0LDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgIHZvaWQg
cHJpbnRJbmZvKEV4ZWNTdGF0ZSAqZXhlYywgY29uc3QgY2hhciAqcywgY29uc3QgVmFsdWUgJm8s
IGludCBsaW5lbm8gPSAtMSk7CiAjZW5kaWYKIAotfTsgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVz
cGFjZQogCiAKICNlbmRpZiAvLyAgX0lOVEVSTkFMX0hfCkluZGV4OiBpbnRlcnByZXRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvaW50ZXJwcmV0
ZXIuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMwpkaWZmIC11IC0zIC1wIC1yMS4yMyBpbnRl
cnByZXRlci5oCi0tLSBpbnRlcnByZXRlci5oCTIwMDUvMDcvMDEgMDk6NTU6MDIJMS4yMworKysg
aW50ZXJwcmV0ZXIuaAkyMDA1LzA3LzA4IDIwOjQ3OjA2CkBAIC00NzYsNiArNDc2LDYgQEAgbmFt
ZXNwYWNlIEtKUyB7CiAgICAgUHJvdGVjdGVkVmFsdWUgX2V4Y2VwdGlvbjsKICAgfTsKIAotfTsg
Ly8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAjZW5kaWYgLy8gX0tKU19JTlRFUlBSRVRF
Ul9IXwpJbmRleDogaW50ZXJwcmV0ZXJfbWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2ludGVycHJldGVyX21hcC5jcHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMgpkaWZmIC11IC0zIC1wIC1yMS4yIGludGVycHJldGVyX21hcC5jcHAKLS0t
IGludGVycHJldGVyX21hcC5jcHAJMjAwNS8wNi8yOCAwMDowMjowNwkxLjIKKysrIGludGVycHJl
dGVyX21hcC5jcHAJMjAwNS8wNy8wOCAyMDo0NzowNwpAQCAtMTcyLDQgKzE3Miw0IEBAIHVuc2ln
bmVkIEludGVycHJldGVyTWFwOjpjb21wdXRlSGFzaChPYmoKIH0KIAogCi19OyAvLyBuYW1lc3Bh
Y2UKK30gLy8gbmFtZXNwYWNlCkluZGV4OiBsb29rdXAuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
Y3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2xvb2t1cC5oLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjExCmRpZmYgLXUgLTMgLXAgLXIxLjExIGxvb2t1cC5oCi0tLSBsb29rdXAuaAkyMDA1LzA3
LzAzIDEwOjQ3OjUzCTEuMTEKKysrIGxvb2t1cC5oCTIwMDUvMDcvMDggMjA6NDc6MDcKQEAgLTM1
MSw2ICszNTEsNiBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICogLSBjbGVhbnVwIG9sZCBzdHVmZiAo
ZS5nLiBoYXNQcm9wZXJ0eSkKICAgICogLSBjb21waWxlLCB0ZXN0LCBjb21taXQgOykKICAgICov
Ci19OyAvLyBuYW1lc3BhY2UKK30gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpJbmRleDogb2JqZWN0
X29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9r
anMvb2JqZWN0X29iamVjdC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjYKZGlmZiAtdSAtMyAt
cCAtcjEuNiBvYmplY3Rfb2JqZWN0LmgKLS0tIG9iamVjdF9vYmplY3QuaAkyMDA1LzA3LzAzIDEw
OjQ3OjUzCTEuNgorKysgb2JqZWN0X29iamVjdC5oCTIwMDUvMDcvMDggMjA6NDc6MDcKQEAgLTc2
LDYgKzc2LDYgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgdmlydHVhbCBWYWx1ZSBjYWxsKEV4ZWNT
dGF0ZSAqZXhlYywgT2JqZWN0ICZ0aGlzT2JqLCBjb25zdCBMaXN0ICZhcmdzKTsKICAgfTsKIAot
fTsgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAjZW5kaWYKSW5kZXg6IHN0cmluZ19v
YmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pz
L3N0cmluZ19vYmplY3QuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC0zIC1w
IC1yMS4xMCBzdHJpbmdfb2JqZWN0LmgKLS0tIHN0cmluZ19vYmplY3QuaAkyMDA1LzA3LzAzIDEw
OjQ3OjUzCTEuMTAKKysrIHN0cmluZ19vYmplY3QuaAkyMDA1LzA3LzA4IDIwOjQ3OjA3CkBAIC0x
MTIsNyArMTEyLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgdmlydHVhbCBWYWx1ZSBjYWxsKEV4
ZWNTdGF0ZSAqZXhlYywgT2JqZWN0ICZ0aGlzT2JqLCBjb25zdCBMaXN0ICZhcmdzKTsKICAgfTsK
IAotfTsgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAjZW5kaWYKIAo=
</data>
<flag name="review"
          id="209"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2903</attachid>
            <date>2005-07-10 13:48:44 -0700</date>
            <delta_ts>2005-07-13 14:23:52 -0700</delta_ts>
            <desc>Comment merges</desc>
            <filename>comments.diff</filename>
            <type>text/plain</type>
            <size>59322</size>
            <attacher name="Martijn Klingens">klingens</attacher>
            
              <data encoding="base64">SW5kZXg6IGJvb2xfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2
YVNjcmlwdENvcmUva2pzL2Jvb2xfb2JqZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4x
MApkaWZmIC11IC0zIC1wIC1yMS4xMCBib29sX29iamVjdC5jcHAKLS0tIGJvb2xfb2JqZWN0LmNw
cAkyMDA1LzA0LzI5IDAwOjIyOjU1CTEuMTAKKysrIGJvb2xfb2JqZWN0LmNwcAkyMDA1LzA3LzA4
IDIyOjE0OjM0CkBAIC0xNiw3ICsxNiw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJv
c3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgog
ICovCiAKSW5kZXg6IGNvbGxlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9K
YXZhU2NyaXB0Q29yZS9ranMvY29sbGVjdG9yLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTgK
ZGlmZiAtdSAtMyAtcCAtcjEuMTggY29sbGVjdG9yLmgKLS0tIGNvbGxlY3Rvci5oCTIwMDUvMDUv
MDkgMjM6NTc6MzMJMS4xOAorKysgY29sbGVjdG9yLmgJMjAwNS8wNy8wOCAyMjoxNDozNApAQCAt
MTcsNyArMTcsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5k
YXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjEx
MS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlm
dGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBj
b21wbGV0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3Jl
L2tqcy9jb21wbGV0aW9uLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOQpkaWZmIC11IC0zIC1w
IC1yMS45IGNvbXBsZXRpb24uaAotLS0gY29tcGxldGlvbi5oCTIwMDQvMDQvMTkgMDA6MTc6NTYJ
MS45CisrKyBjb21wbGV0aW9uLmgJMjAwNS8wNy8wOCAyMjoxNDozNApAQCAtMTcsOCArMTcsOCBA
QAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAs
Ci0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkBAIC0zOSw3ICszOSw3IEBAIG5h
bWVzcGFjZSBLSlMgewogICAgKiBDb21wbGV0aW9uIG9iamVjdHMgYXJlIHVzZWQgdG8gY29udmV5
IHRoZSByZXR1cm4gc3RhdHVzIGFuZCB2YWx1ZQogICAgKiBmcm9tIGZ1bmN0aW9ucy4KICAgICoK
LSAgICogU2VlIEByZWYgRnVuY3Rpb25JbXA6OmV4ZWN1dGUoKQorICAgKiBTZWUgRnVuY3Rpb25J
bXA6OmV4ZWN1dGUoKQogICAgKgogICAgKiBAc2VlIEZ1bmN0aW9uSW1wCiAgICAqCkluZGV4OiBk
ZWJ1Z2dlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3Jl
L2tqcy9kZWJ1Z2dlci5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpkaWZmIC11IC0zIC1w
IC1yMS4zIGRlYnVnZ2VyLmNwcAotLS0gZGVidWdnZXIuY3BwCTIwMDIvMDQvMTUgMjM6NDA6NTcJ
MS4zCisrKyBkZWJ1Z2dlci5jcHAJMjAwNS8wNy8wOCAyMjoxNDozNApAQCAtMTYsNyArMTYsNyBA
QAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EK
KyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJv
c3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBkZWJ1Z2dlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvZGVidWdnZXIu
aCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zCmRpZmYgLXUgLTMgLXAgLXIxLjMgZGVidWdnZXIu
aAotLS0gZGVidWdnZXIuaAkyMDAyLzA0LzE1IDIzOjQwOjU3CTEuMworKysgZGVidWdnZXIuaAky
MDA1LzA3LzA4IDIyOjE0OjM3CkBAIC0xNiw3ICsxNiw3IEBACiAgKgogICogIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAq
ICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBG
cmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0
ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAg
VVNBCiAgKgogICovCiAKQEAgLTEwMCwxMCArMTAwLDEwIEBAIG5hbWVzcGFjZSBLSlMgewogICAg
ICAqCiAgICAgICogQHBhcmFtIGV4ZWMgVGhlIGN1cnJlbnQgZXhlY3V0aW9uIHN0YXRlCiAgICAg
ICogQHBhcmFtIHNvdXJjZUlkIFRoZSBJRCBvZiB0aGUgc291cmNlIGNvZGUgKGNvcnJlc3BvbmRz
IHRvIHRoZQotICAgICAqIHNvdXJjZUlkIHN1cHBsaWVkIGluIG90aGVyIGZ1bmN0aW9ucyBzdWNo
IGFzIEByZWYgYXRTdGF0ZW1lbnQoKQorICAgICAqIHNvdXJjZUlkIHN1cHBsaWVkIGluIG90aGVy
IGZ1bmN0aW9ucyBzdWNoIGFzIGF0U3RhdGVtZW50KCkKICAgICAgKiBAcGFyYW0gc291cmNlIFRo
ZSBzb3VyY2UgY29kZSB0aGF0IHdhcyBwYXJzZWQKICAgICAgKiBAcGFyYW0gZXJyb3JMaW5lIFRo
ZSBsaW5lIG51bWJlciBhdCB3aGljaCBwYXJzaW5nIGVuY291bnRlcmVkIGFuCi0gICAgICogZXJy
b3IsIG9yIC0xIGlmIHRoZSBzb3VyY2UgY29kZSB3YXMgdmFsaWQgYW5kIHBhcnNlZCBzdWNjZXNm
dWxseQorICAgICAqIGVycm9yLCBvciAtMSBpZiB0aGUgc291cmNlIGNvZGUgd2FzIHZhbGlkIGFu
ZCBwYXJzZWQgc3VjY2Vzc2Z1bGx5CiAgICAgICogQHJldHVybiB0cnVlIGlmIGV4ZWN1dGlvbiBz
aG91bGQgYmUgY29udGludWUsIGZhbHNlIGlmIGl0IHNob3VsZAogICAgICAqIGJlIGFib3J0ZWQK
ICAgICAgKi8KSW5kZXg6IGR0b2EuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2
YVNjcmlwdENvcmUva2pzL2R0b2EuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zCmRpZmYgLXUg
LTMgLXAgLXIxLjMgZHRvYS5oCi0tLSBkdG9hLmgJMjAwMy8wMS8yMiAwMDoxMTo0MwkxLjMKKysr
IGR0b2EuaAkyMDA1LzA3LzA4IDIyOjE0OjM3CkBAIC0xNSw4ICsxNSw4IEBACiAgKgogICogIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24s
IE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCiAgKgogICovCiAKSW5kZXg6IGVycm9yX29iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9lcnJvcl9vYmplY3QuY3Bw
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEyCmRpZmYgLXUgLTMgLXAgLXIxLjEyIGVycm9yX29i
amVjdC5jcHAKLS0tIGVycm9yX29iamVjdC5jcHAJMjAwNC8wOC8xMiAxNzoyMToyOQkxLjEyCisr
KyBlcnJvcl9vYmplY3QuY3BwCTIwMDUvMDcvMDggMjI6MTQ6MzcKQEAgLTE2LDcgKzE2LDcgQEAK
ICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYwogICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlm
IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1
OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisg
KiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0
b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAqCiAgKi8KIApJbmRleDogZnVuY3Rpb25fb2JqZWN0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2Z1
bmN0aW9uX29iamVjdC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjQKZGlmZiAtdSAtMyAt
cCAtcjEuMjQgZnVuY3Rpb25fb2JqZWN0LmNwcAotLS0gZnVuY3Rpb25fb2JqZWN0LmNwcAkyMDA0
LzEwLzA3IDIxOjMwOjQ3CTEuMjQKKysrIGZ1bmN0aW9uX29iamVjdC5jcHAJMjAwNS8wNy8wOCAy
MjoxNDozNwpAQCAtMTYsNyArMTYsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy
ZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0
b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAq
LwogCkluZGV4OiBpZGVudGlmaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0ph
dmFTY3JpcHRDb3JlL2tqcy9pZGVudGlmaWVyLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTQK
ZGlmZiAtdSAtMyAtcCAtcjEuMTQgaWRlbnRpZmllci5oCi0tLSBpZGVudGlmaWVyLmgJMjAwNC8w
OC8wMyAyMjo0NTo1MQkxLjE0CisrKyBpZGVudGlmaWVyLmgJMjAwNS8wNy8wOCAyMjoxNDozNwpA
QCAtMTQsOCArMTQsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRo
IEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4
OiBpbnRlcm5hbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRD
b3JlL2tqcy9pbnRlcm5hbC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTcKZGlmZiAtdSAt
MyAtcCAtcjEuNTcgaW50ZXJuYWwuY3BwCi0tLSBpbnRlcm5hbC5jcHAJMjAwNS8wNi8xNyAwMDo1
NzozNwkxLjU3CisrKyBpbnRlcm5hbC5jcHAJMjAwNS8wNy8wOCAyMjoxNDozOApAQCAtMTcsOCAr
MTcsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0
ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAor
ICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiBpbnRlcnBy
ZXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tq
cy9pbnRlcnByZXRlci5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjQKZGlmZiAtdSAtMyAt
cCAtcjEuMjQgaW50ZXJwcmV0ZXIuY3BwCi0tLSBpbnRlcnByZXRlci5jcHAJMjAwNS8wMi8xMiAw
MDo1ODoxMwkxLjI0CisrKyBpbnRlcnByZXRlci5jcHAJMjAwNS8wNy8wOCAyMjoxNDo1NQpAQCAt
MTcsOCArMTcsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2Ug
LSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZs
b29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiBs
ZXhlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tq
cy9sZXhlci5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTcKZGlmZiAtdSAtMyAtcCAtcjEu
MTcgbGV4ZXIuY3BwCi0tLSBsZXhlci5jcHAJMjAwNC8wOS8xMCAwMTo1MjoyNAkxLjE3CisrKyBs
ZXhlci5jcHAJMjAwNS8wNy8wOCAyMjoxNDo1NQpAQCAtMTUsOCArMTUsOCBAQAogICoKICAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9u
LCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiBsb29rdXAuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvbG9va3VwLmNwcCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC0zIC1wIC1yMS4xMCBsb29rdXAuY3BwCi0tLSBsb29r
dXAuY3BwCTIwMDUvMDQvMjAgMTA6MTQ6MzUJMS4xMAorKysgbG9va3VwLmNwcAkyMDA1LzA3LzA4
IDIyOjE0OjU1CkBAIC0xNiw3ICsxNiw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJv
c3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgog
ICovCiAKSW5kZXg6IG1hdGhfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvSmF2YVNjcmlwdENvcmUva2pzL21hdGhfb2JqZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4xMwpkaWZmIC11IC0zIC1wIC1yMS4xMyBtYXRoX29iamVjdC5jcHAKLS0tIG1hdGhfb2Jq
ZWN0LmNwcAkyMDA0LzA4LzEyIDE3OjIxOjI5CTEuMTMKKysrIG1hdGhfb2JqZWN0LmNwcAkyMDA1
LzA3LzA4IDIyOjE0OjU2CkBAIC0xNSw3ICsxNSw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl
IFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAz
MzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNB
CiAgKgogICovCiAKSW5kZXg6IG5vZGVzMnN0cmluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9ub2RlczJzdHJpbmcuY3BwLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjEwCmRpZmYgLXUgLTMgLXAgLXIxLjEwIG5vZGVzMnN0cmluZy5jcHAKLS0t
IG5vZGVzMnN0cmluZy5jcHAJMjAwMy8wMS8yMiAwMDoxMTo0NAkxLjEwCisrKyBub2RlczJzdHJp
bmcuY3BwCTIwMDUvMDcvMDggMjI6MTQ6NTYKQEAgLTE2LDggKzE2LDggQEAKICAqCiAgKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3Rvbiwg
TUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogbnVtYmVyX29iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9udW1iZXJfb2JqZWN0LmNw
cCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNgpkaWZmIC11IC0zIC1wIC1yMS4xNiBudW1iZXJf
b2JqZWN0LmNwcAotLS0gbnVtYmVyX29iamVjdC5jcHAJMjAwNC8wOC8xMCAxODo0Mzo1MQkxLjE2
CisrKyBudW1iZXJfb2JqZWN0LmNwcAkyMDA1LzA3LzA4IDIyOjE0OjU2CkBAIC0xNSw3ICsxNSw3
IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5j
LiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVT
QQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwg
Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6IG9wZXJhdGlvbnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvb3Bl
cmF0aW9ucy5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZmIC11IC0zIC1wIC1yMS42
IG9wZXJhdGlvbnMuY3BwCi0tLSBvcGVyYXRpb25zLmNwcAkyMDA1LzA0LzIwIDEwOjE0OjM1CTEu
NgorKysgb3BlcmF0aW9ucy5jcHAJMjAwNS8wNy8wOCAyMjoxNDo1NgpAQCAtMTUsOCArMTUsOCBA
QAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAs
Ci0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiBvcGVyYXRpb25zLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9vcGVyYXRp
b25zLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC0zIC1wIC1yMS40IG9wZXJh
dGlvbnMuaAotLS0gb3BlcmF0aW9ucy5oCTIwMDUvMDQvMjAgMTA6MTQ6MzUJMS40CisrKyBvcGVy
YXRpb25zLmgJMjAwNS8wNy8wOCAyMjoxNDo1NgpAQCAtMTUsOCArMTUsOCBAQAogICoKICAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9u
LCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgogICoKICAqLwogCkBAIC01MCw3ICs1MCw3IEBAIG5hbWVzcGFjZSBLSlMg
ewogICBib29sIGVxdWFsKEV4ZWNTdGF0ZSAqZXhlYywgY29uc3QgVmFsdWUmIHYxLCBjb25zdCBW
YWx1ZSYgdjIpOwogICBib29sIHN0cmljdEVxdWFsKEV4ZWNTdGF0ZSAqZXhlYywgY29uc3QgVmFs
dWUgJnYxLCBjb25zdCBWYWx1ZSAmdjIpOwogICAvKioKLSAgICogVGhpcyBvcGVyYXRvciBwZXJm
b3JtcyBhbiBhYnN0cmFjdCByZWxhdGlvbmFsIGNvbXBhcmlzaW9uIG9mIHRoZSB0d28KKyAgICog
VGhpcyBvcGVyYXRvciBwZXJmb3JtcyBhbiBhYnN0cmFjdCByZWxhdGlvbmFsIGNvbXBhcmlzb24g
b2YgdGhlIHR3bwogICAgKiBhcmd1bWVudHMgdGhhdCBjYW4gYmUgb2YgYXJiaXRyYXJ5IHR5cGUu
IElmIHBvc3NpYmxlLCBjb252ZXJzaW9ucyB0byB0aGUKICAgICogc3RyaW5nIG9yIG51bWJlciB0
eXBlIHdpbGwgdGFrZSBwbGFjZSBiZWZvcmUgdGhlIGNvbXBhcmlzb24uCiAgICAqCkluZGV4OiBy
ZWZlcmVuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUv
a2pzL3JlZmVyZW5jZS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtMyAtcCAt
cjEuOSByZWZlcmVuY2UuaAotLS0gcmVmZXJlbmNlLmgJMjAwNS8wNC8yMCAxMDoxNDozNQkxLjkK
KysrIHJlZmVyZW5jZS5oCTIwMDUvMDcvMDggMjI6MTQ6NTYKQEAgLTE1LDggKzE1LDggQEAKICAq
CiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICog
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogcmVmZXJlbmNlX2xpc3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvcmVmZXJl
bmNlX2xpc3QuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjUKZGlmZiAtdSAtMyAtcCAtcjEu
NSByZWZlcmVuY2VfbGlzdC5jcHAKLS0tIHJlZmVyZW5jZV9saXN0LmNwcAkyMDA0LzA0LzIyIDE2
OjUzOjM1CTEuNQorKysgcmVmZXJlbmNlX2xpc3QuY3BwCTIwMDUvMDcvMDggMjI6MTQ6NTYKQEAg
LTE1LDggKzE1LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNl
IC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBG
bG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDog
cmVmZXJlbmNlX2xpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlw
dENvcmUva2pzL3JlZmVyZW5jZV9saXN0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZm
IC11IC0zIC1wIC1yMS42IHJlZmVyZW5jZV9saXN0LmgKLS0tIHJlZmVyZW5jZV9saXN0LmgJMjAw
My8wMS8yMiAwMDoxMTo0NAkxLjYKKysrIHJlZmVyZW5jZV9saXN0LmgJMjAwNS8wNy8wOCAyMjox
NDo1NgpAQCAtMTUsOCArMTUsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w
bGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisg
KiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQs
IEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwog
CkluZGV4OiByZWdleHBfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
SmF2YVNjcmlwdENvcmUva2pzL3JlZ2V4cF9vYmplY3QuY3BwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjE3CmRpZmYgLXUgLTMgLXAgLXIxLjE3IHJlZ2V4cF9vYmplY3QuY3BwCi0tLSByZWdleHBf
b2JqZWN0LmNwcAkyMDA0LzA4LzEwIDE4OjQzOjUxCTEuMTcKKysrIHJlZ2V4cF9vYmplY3QuY3Bw
CTIwMDUvMDcvMDggMjI6MTQ6NTcKQEAgLTE2LDcgKzE2LDcgQEAKICAqCiAgKiAgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwog
ICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1
aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAx
ICBVU0EKICAqCiAgKi8KIApJbmRleDogc2ltcGxlX251bWJlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvc2ltcGxlX251bWJlci5oLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjEwCmRpZmYgLXUgLTMgLXAgLXIxLjEwIHNpbXBsZV9udW1iZXIuaAot
LS0gc2ltcGxlX251bWJlci5oCTIwMDUvMDQvMjAgMTA6MTQ6MzUJMS4xMAorKysgc2ltcGxlX251
bWJlci5oCTIwMDUvMDcvMDggMjI6MTQ6NTcKQEAgLTE1LDggKzE1LDggQEAKICAqCiAgKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3Rvbiwg
TUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogdGVzdGtqcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy90ZXN0a2pzLmNwcCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xMQpkaWZmIC11IC0zIC1wIC1yMS4xMSB0ZXN0a2pzLmNwcAotLS0gdGVz
dGtqcy5jcHAJMjAwNC8wOC8xMiAxNzoyMToyOQkxLjExCisrKyB0ZXN0a2pzLmNwcAkyMDA1LzA3
LzA4IDIyOjE0OjU3CkBAIC0xNiw4ICsxNiw4IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
ICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAyMTExLTEzMDcs
IFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAg
KgogICovCiAKSW5kZXg6IHR5cGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0ph
dmFTY3JpcHRDb3JlL2tqcy90eXBlcy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE5CmRpZmYg
LXUgLTMgLXAgLXIxLjE5IHR5cGVzLmgKLS0tIHR5cGVzLmgJMjAwMi8xMS8yMiAyMzoyMDowMQkx
LjE5CisrKyB0eXBlcy5oCTIwMDUvMDcvMDggMjI6MTQ6NTcKQEAgLTE2LDggKzE2LDggQEAKICAq
CiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICog
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogdmFsdWUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvdmFsdWUuY3BwLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjI1CmRpZmYgLXUgLTMgLXAgLXIxLjI1IHZhbHVlLmNwcAotLS0g
dmFsdWUuY3BwCTIwMDUvMDUvMDkgMjM6NTc6MzMJMS4yNQorKysgdmFsdWUuY3BwCTIwMDUvMDcv
MDggMjI6MTQ6NTcKQEAgLTE3LDggKzE3LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQog
ICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywg
VVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAq
CiAgKi8KIApJbmRleDogYXJyYXlfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2FycmF5X29iamVjdC5jcHAsdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuNDMKZGlmZiAtdSAtMyAtcCAtcjEuNDMgYXJyYXlfb2JqZWN0LmNwcAotLS0gYXJy
YXlfb2JqZWN0LmNwcAkyMDA1LzA3LzAzIDEwOjQ3OjUyCTEuNDMKKysrIGFycmF5X29iamVjdC5j
cHAJMjAwNS8wNy8wOCAyMjoxNDo1OQpAQCAtMTYsNyArMTYsNyBAQAogICoKICAqICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0
aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwg
U3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEz
MDEgIFVTQQogICoKICAqLwogCkluZGV4OiBkYXRlX29iamVjdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9kYXRlX29iamVjdC5jcHAsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuNDIKZGlmZiAtdSAtMyAtcCAtcjEuNDIgZGF0ZV9vYmplY3QuY3Bw
Ci0tLSBkYXRlX29iamVjdC5jcHAJMjAwNS8wNy8wMSAxODo0NTowOAkxLjQyCisrKyBkYXRlX29i
amVjdC5jcHAJMjAwNS8wNy8wOCAyMjoxNTowMQpAQCAtMTYsNyArMTYsNyBAQAogICoKICAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQ
bGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAy
MTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBmdW5jdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9mdW5jdGlvbi5jcHAsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuNDQKZGlmZiAtdSAtMyAtcCAtcjEuNDQgZnVuY3Rpb24uY3BwCi0t
LSBmdW5jdGlvbi5jcHAJMjAwNS8wNy8wOCAxNjoxMjo0MAkxLjQ0CisrKyBmdW5jdGlvbi5jcHAJ
MjAwNS8wNy8wOCAyMjoxNTowMQpAQCAtMTcsOCArMTcsOCBAQAogICoKICAqICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjEx
MS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgogICoKICAqLwogCkluZGV4OiBncmFtbWFyLnkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9ncmFtbWFyLnksdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuMjEKZGlmZiAtdSAtMyAtcCAtcjEuMjEgZ3JhbW1hci55Ci0tLSBncmFtbWFyLnkJMjAwNS8w
Ny8wNyAwNzozMzoxMgkxLjIxCisrKyBncmFtbWFyLnkJMjAwNS8wNy8wOCAyMjoxNTowMwpAQCAt
MTYsNyArMTYsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5k
YXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjEx
MS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlm
dGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBu
b2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tq
cy9ub2Rlcy5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNjQKZGlmZiAtdSAtMyAtcCAtcjEu
NjQgbm9kZXMuY3BwCi0tLSBub2Rlcy5jcHAJMjAwNS8wNy8wMSAxNzo0NzoxMgkxLjY0CisrKyBu
b2Rlcy5jcHAJMjAwNS8wNy8wOCAyMjoxNTowNApAQCAtMTcsOCArMTcsOCBAQAogICoKICAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9u
LCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiBvYmplY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL29iamVjdC5oLHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjM2CmRpZmYgLXUgLTMgLXAgLXIxLjM2IG9iamVjdC5oCi0tLSBvYmplY3QuaAky
MDA1LzA3LzAzIDEwOjQ3OjUzCTEuMzYKKysrIG9iamVjdC5oCTIwMDUvMDcvMDggMjI6MTU6MDUK
QEAgLTE3LDggKzE3LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBs
YWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0
aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApAQCAt
MTAxLDcgKzEwMSw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAqIENvbnZlcnRzIGEgVmFsdWUg
aW50byBhbiBPYmplY3QuIElmIHRoZSB2YWx1ZSdzIHR5cGUgaXMgbm90IE9iamVjdFR5cGUsCiAg
ICAgICogYSBudWxsIG9iamVjdCB3aWxsIGJlIHJldHVybmVkIChpLmUuIG9uZSB3aXRoIGl0J3Mg
aW50ZXJuYWwgcG9pbnRlciBzZXQKICAgICAgKiB0byAwKS4gSWYgeW91IGRvIG5vdCBrbm93IGZv
ciBzdXJlIHdoZXRoZXIgdGhlIHZhbHVlIGlzIG9mIHR5cGUKLSAgICAgKiBPYmplY3RUeXBlLCB5
b3Ugc2hvdWxkIGNoZWNrIHRoZSBAcmVmIGlzTnVsbCgpIG1ldGhvZHMgYWZ0ZXJ3YXJkcyBiZWZv
cmUKKyAgICAgKiBPYmplY3RUeXBlLCB5b3Ugc2hvdWxkIGNoZWNrIHRoZSBpc1ZhbGlkKCkgbWV0
aG9kcyBhZnRlcndhcmRzIGJlZm9yZQogICAgICAqIGNhbGxpbmcgYW55IG1ldGhvZHMgb24gdGhl
IE9iamVjdC4KICAgICAgKgogICAgICAqIEByZXR1cm4gVGhlIHZhbHVlIGNvbnZlcnRlZCB0byBh
biBvYmplY3QKQEAgLTI0NSw3ICsyNDUsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAgKiB0aGlz
IGlzIGRpc2NvdXJhZ2VkLgogICAgICAqCiAgICAgICogSWYgYW4gZXJyb3Igb2NjdXJzIGR1cmlu
ZyBjb25zdHJ1Y3Rpb24sIHRoZSBleGVjdXRpb24gc3RhdGUncyBleGNlcHRpb24KLSAgICAgKiB3
aWxsIGJlIHNldC4gVGhpcyBjYW4gYmUgdGVzdGVkIGZvciB3aXRoIEByZWYgRXhlY1N0YXRlOjpo
YWRFeGNlcHRpb24oKS4KKyAgICAgKiB3aWxsIGJlIHNldC4gVGhpcyBjYW4gYmUgdGVzdGVkIGZv
ciB3aXRoIEV4ZWNTdGF0ZTo6aGFkRXhjZXB0aW9uKCkuCiAgICAgICogVW5kZXIgc29tZSBjaXJj
dW1zdGFuY2VzLCB0aGUgZXhjZXB0aW9uIG9iamVjdCBtYXkgYWxzbyBiZSByZXR1cm5lZC4KICAg
ICAgKgogICAgICAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxsZWQgaWYg
aW1wbGVtZW50c0NvbnN0cnVjdCgpIHJldHVybnMKQEAgLTMwMCwxMiArMzAwLDEyIEBAIG5hbWVz
cGFjZSBLSlMgewogICAgIGJvb2wgaW1wbGVtZW50c0hhc0luc3RhbmNlKCkgY29uc3Q7CiAKICAg
ICAvKioKLSAgICAgKiBDaGVja3Mgd2hldGhlciB2YWx1ZSBkZWxlZ2F0ZXMgYmVoYXZpb3VyIHRv
IHRoaXMgb2JqZWN0LiBVc2VkIGJ5IHRoZQorICAgICAqIENoZWNrcyB3aGV0aGVyIHZhbHVlIGRl
bGVnYXRlcyBiZWhhdmlvciB0byB0aGlzIG9iamVjdC4gVXNlZCBieSB0aGUKICAgICAgKiBpbnN0
YW5jZW9mIG9wZXJhdG9yLgogICAgICAqCiAgICAgICogQHBhcmFtIGV4ZWMgVGhlIGN1cnJlbnQg
ZXhlY3V0aW9uIHN0YXRlCiAgICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjawot
ICAgICAqIEByZXR1cm4gdHJ1ZSBpZiB2YWx1ZSBkZWxlZ2F0ZXMgYmVoYXZpb3VyIHRvIHRoaXMg
b2JqZWN0LCBvdGhlcndpc2UKKyAgICAgKiBAcmV0dXJuIHRydWUgaWYgdmFsdWUgZGVsZWdhdGVz
IGJlaGF2aW9yIHRvIHRoaXMgb2JqZWN0LCBvdGhlcndpc2UKICAgICAgKiBmYWxzZQogICAgICAq
LwogICAgIEJvb2xlYW4gaGFzSW5zdGFuY2UoRXhlY1N0YXRlICpleGVjLCBjb25zdCBWYWx1ZSAm
dmFsdWUpOwpAQCAtMzE2LDYgKzMxNiw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAqIGV4dHJh
IG9iamVjdCBpbiBpdCdzIHNjb3BlLiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgZnVuY3Rpb25zIGRl
Y2xhcmVkCiAgICAgICogaW5zaWRlIG90aGVyIGZ1bmN0aW9uczoKICAgICAgKgorICAgICAqIFxj
b2RlCiAgICAgICogZnVuY3Rpb24gZigpIHsKICAgICAgKgogICAgICAqICAgZnVuY3Rpb24gYigp
IHsKQEAgLTMyNiw2ICszMjcsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAgKiAgIC8vIGRvIHNv
bWUgc3R1ZmYKICAgICAgKiB9CiAgICAgICogZi5wcm90b3R5cGUgPSBuZXcgU3RyaW5nKCk7Cisg
ICAgICogXGVuZGNvZGUKICAgICAgKgogICAgICAqIFdoZW4gdGhlIGZ1bmN0aW9uIGYuYiBpcyBl
eGVjdXRlZCwgaXRzIHNjb3BlIHdpbGwgaW5jbHVkZSBwcm9wZXJ0aWVzIG9mCiAgICAgICogZi4g
U28gaW4gdGhlIGV4YW1wbGUgYWJvdmUgdGhlIHJldHVybiB2YWx1ZSBvZiBmLmIoKSB3b3VsZCBi
ZSB0aGUgbmV3CkBAIC00MDYsNyArNDA4LDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgLyoqCiAg
ICAgICogQSBwb2ludGVyIHRvIGEgQ2xhc3NJbmZvIHN0cnVjdCBmb3IgdGhpcyBjbGFzcy4gVGhp
cyBwcm92aWRlcyBhIGJhc2ljCiAgICAgICogZmFjaWxpdHkgZm9yIHJ1bi10aW1lIHR5cGUgaW5m
b3JtYXRpb24sIGFuZCBjYW4gYmUgdXNlZCB0byBjaGVjayBhbgotICAgICAqIG9iamVjdCdzIGNs
YXNzIGFuIGluaGVyaXRhbmNlIChzZWUgQHJlZiBpbmhlcml0cygpKS4gVGhpcyBzaG91bGQKKyAg
ICAgKiBvYmplY3QncyBjbGFzcyBhbiBpbmhlcml0YW5jZSAoc2VlIGluaGVyaXRzKCkpLiBUaGlz
IHNob3VsZAogICAgICAqIGFsd2F5cyByZXR1cm4gYSBzdGF0aWNhbGx5IGRlY2xhcmVkIHBvaW50
ZXIsIG9yIDAgdG8gaW5kaWNhdGUgdGhhdAogICAgICAqIHRoZXJlIGlzIG5vIGNsYXNzIGluZm9y
bWF0aW9uLgogICAgICAqCkBAIC00MTcsNiArNDE5LDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAg
ICogd2hlcmUgRm9vSW1wIGluaGVyaXRzIGZyb20gQmFySW1wLCB5b3Ugd291bGQgYWRkIHRoZSBm
b2xsb3dpbmcgaW4geW91cgogICAgICAqIGNsYXNzIGRlY2xhcmF0aW9uczoKICAgICAgKgorICAg
ICAqIFxjb2RlCiAgICAgICogICBjbGFzcyBCYXJJbXAgOiBwdWJsaWMgT2JqZWN0SW1wIHsKICAg
ICAgKiAgICAgdmlydHVhbCBjb25zdCBDbGFzc0luZm8gKmNsYXNzSW5mbygpIGNvbnN0IHsgcmV0
dXJuICZpbmZvOyB9CiAgICAgICogICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gaW5mbzsKQEAg
LTQyOCwxMSArNDMxLDE0IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAqICAgICBzdGF0aWMgY29u
c3QgQ2xhc3NJbmZvIGluZm87CiAgICAgICogICAgIC8vIC4uLgogICAgICAqICAgfTsKKyAgICAg
KiBcZW5kY29kZQogICAgICAqCiAgICAgICogQW5kIGluIHlvdXIgc291cmNlIGZpbGU6CiAgICAg
ICoKKyAgICAgKiBcY29kZQogICAgICAqICAgY29uc3QgQ2xhc3NJbmZvIEJhckltcDo6aW5mbyA9
IHswLCAwLCAwfTsgLy8gbm8gcGFyZW50IGNsYXNzCiAgICAgICogICBjb25zdCBDbGFzc0luZm8g
Rm9vSW1wOjppbmZvID0geyZCYXJJbXA6OmluZm8sIDAsIDB9OworICAgICAqIFxlbmRjb2RlCiAg
ICAgICoKICAgICAgKiBAc2VlIGluaGVyaXRzKCkKICAgICAgKi8KQEAgLTQ1Miw3ICs0NTgsNyBA
QCBuYW1lc3BhY2UgS0pTIHsKICAgICAgKiAgIH0KICAgICAgKgogICAgICAqIElmIHlvdSBoYXZl
IGEgaGFuZGxlIHRvIGEgc3RhdGljYWxseSBkZWNsYXJlZCBDbGFzc0luZm8sIHN1Y2ggYXMgaW4g
dGhlCi0gICAgICogQHJlZiBjbGFzc0luZm8oKSBleGFtcGxlLCB5b3UgY2FuIGNoZWNrIGZvciBp
bmhlcml0YW5jZSB3aXRob3V0IG5lZWRpbmcKKyAgICAgKiBjbGFzc0luZm8oKSBleGFtcGxlLCB5
b3UgY2FuIGNoZWNrIGZvciBpbmhlcml0YW5jZSB3aXRob3V0IG5lZWRpbmcKICAgICAgKiBhbiBp
bnN0YW5jZSBvZiB0aGUgb3RoZXIgY2xhc3M6CiAgICAgICoKICAgICAgKiAgIGlmIChvYmoxLT5p
bmhlcml0cyhGb29JbXA6OmluZm8pKSB7CkBAIC00ODIsOCArNDg4LDggQEAgbmFtZXNwYWNlIEtK
UyB7CiAgICAgICogT2JqZWN0cykKICAgICAgKgogICAgICAqIFRoZSBkZWZhdWx0IGltcGxlbWVu
dGF0aW9uIHVzZXMgY2xhc3NJbmZvKCkuCi0gICAgICogWW91IHNob3VsZCBlaXRoZXIgaW1wbGVt
ZW50IEByZWYgY2xhc3NJbmZvKCksIG9yCi0gICAgICogaWYgeW91IHNpbXBseSBuZWVkIGEgY2xh
c3NuYW1lLCB5b3UgY2FuIHJlaW1wbGVtZW50IEByZWYgY2xhc3NOYW1lKCkKKyAgICAgKiBZb3Ug
c2hvdWxkIGVpdGhlciBpbXBsZW1lbnQgY2xhc3NJbmZvKCksIG9yCisgICAgICogaWYgeW91IHNp
bXBseSBuZWVkIGEgY2xhc3NuYW1lLCB5b3UgY2FuIHJlaW1wbGVtZW50IGNsYXNzTmFtZSgpCiAg
ICAgICogaW5zdGVhZC4KICAgICAgKgogICAgICAqIEBzZWUgT2JqZWN0OjpjbGFzc05hbWUoKQpA
QCAtNjYwLDcgKzY2Niw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzb3VyY2VJZCA9IC0xLCBjb25zdCBVU3RyaW5nICpzb3VyY2VVUkwgPSAwKTsKIAog
ICAgIC8qKgotICAgICAqIEFycmF5IG9mIGVycm9yIG5hbWVzIGNvcnJlc3BvbmRpbmcgdG8gQHJl
ZiBFcnJvclR5cGUKKyAgICAgKiBBcnJheSBvZiBlcnJvciBuYW1lcyBjb3JyZXNwb25kaW5nIHRv
IEVycm9yVHlwZQogICAgICAqLwogICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgKiBjb25z
dCBlcnJvck5hbWVzOwogICB9OwpJbmRleDogb2JqZWN0X29iamVjdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9vYmplY3Rfb2JqZWN0LmNwcCx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXUgLTMgLXAgLXIxLjkgb2JqZWN0X29iamVj
dC5jcHAKLS0tIG9iamVjdF9vYmplY3QuY3BwCTIwMDUvMDcvMDMgMTA6NDc6NTMJMS45CisrKyBv
YmplY3Rfb2JqZWN0LmNwcAkyMDA1LzA3LzA4IDIyOjE1OjA1CkBAIC0xNSw3ICsxNSw3IEBACiAg
KgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkg
VGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICog
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u
LCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6IHJlZmVyZW5jZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9yZWZlcmVuY2Uu
Y3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjExCmRpZmYgLXUgLTMgLXAgLXIxLjExIHJlZmVy
ZW5jZS5jcHAKLS0tIHJlZmVyZW5jZS5jcHAJMjAwNS8wNi8yOSAxNjozMjoyNwkxLjExCisrKyBy
ZWZlcmVuY2UuY3BwCTIwMDUvMDcvMDggMjI6MTU6MDUKQEAgLTE1LDggKzE1LDggQEAKICAqCiAg
KiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJv
c3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogc3RyaW5nX29iamVjdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9zdHJpbmdfb2Jq
ZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zOApkaWZmIC11IC0zIC1wIC1yMS4zOCBz
dHJpbmdfb2JqZWN0LmNwcAotLS0gc3RyaW5nX29iamVjdC5jcHAJMjAwNS8wNy8wMyAxMDo0Nzo1
MwkxLjM4CisrKyBzdHJpbmdfb2JqZWN0LmNwcAkyMDA1LzA3LzA4IDIyOjE1OjA2CkBAIC0xNiw3
ICsxNiw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlv
biwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEz
MDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBG
bG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6IHZhbHVl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy92YWx1
ZS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMxCmRpZmYgLXUgLTMgLXAgLXIxLjMxIHZhbHVl
LmgKLS0tIHZhbHVlLmgJMjAwNS8wNy8wMSAwOTo1NTowMgkxLjMxCisrKyB2YWx1ZS5oCTIwMDUv
MDcvMDggMjI6MTU6MDcKQEAgLTE3LDggKzE3LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMw
NywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
ICAqCiAgKi8KIApAQCAtMjM4LDcgKzIzOCw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIC8qKgog
ICAgICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgdmFsdWUgaXMgb2YgYSBwYXJ0aWN1bGFy
IHRweWUKICAgICAgKgotICAgICAqIEBwYXJhbSBUaGUgdHlwZSB0byBjb21wYXJlIHdpdGgKKyAg
ICAgKiBAcGFyYW0gdCBUaGUgdHlwZSB0byBjb21wYXJlIHdpdGgKICAgICAgKiBAcmV0dXJuIHRy
dWUgaWYgdGhlIHZhbHVlIGlzIG9mIHRoZSBzcGVjaWZpZWQgdHlwZSwgb3RoZXJ3aXNlIGZhbHNl
CiAgICAgICovCiAgICAgYm9vbCBpc0EoVHlwZSB0KSBjb25zdCB7IHJldHVybiByZXAtPmRpc3Bh
dGNoVHlwZSgpID09IHQ7IH0KQEAgLTMxNiw3ICszMTYsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAg
ICAgKiBDb252ZXJ0cyBhIFZhbHVlIGludG8gYW4gVW5kZWZpbmVkLiBJZiB0aGUgdmFsdWUncyB0
eXBlIGlzIG5vdAogICAgICAqIFVuZGVmaW5lZFR5cGUsIGEgbnVsbCBvYmplY3Qgd2lsbCBiZSBy
ZXR1cm5lZCAoaS5lLiBvbmUgd2l0aCBpdCdzCiAgICAgICogaW50ZXJuYWwgcG9pbnRlciBzZXQg
dG8gMCkuIElmIHlvdSBkbyBub3Qga25vdyBmb3Igc3VyZSB3aGV0aGVyIHRoZQotICAgICAqIHZh
bHVlIGlzIG9mIHR5cGUgVW5kZWZpbmVkVHlwZSwgeW91IHNob3VsZCBjaGVjayB0aGUgQHJlZiBp
c051bGwoKQorICAgICAqIHZhbHVlIGlzIG9mIHR5cGUgVW5kZWZpbmVkVHlwZSwgeW91IHNob3Vs
ZCBjaGVjayB0aGUgaXNWYWxpZCgpCiAgICAgICogbWV0aG9kcyBhZnRlcndhcmRzIGJlZm9yZSBj
YWxsaW5nIGFueSBtZXRob2RzIG9uIHRoZSByZXR1cm5lZCB2YWx1ZS4KICAgICAgKgogICAgICAq
IEByZXR1cm4gVGhlIHZhbHVlIGNvbnZlcnRlZCB0byBhbiBVbmRlZmluZWQKQEAgLTM0MSw3ICsz
NDEsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAgKiBDb252ZXJ0cyBhIFZhbHVlIGludG8gYW4g
TnVsbC4gSWYgdGhlIHZhbHVlJ3MgdHlwZSBpcyBub3QgTnVsbFR5cGUsCiAgICAgICogYSBudWxs
IG9iamVjdCB3aWxsIGJlIHJldHVybmVkIChpLmUuIG9uZSB3aXRoIGl0J3MgaW50ZXJuYWwgcG9p
bnRlciBzZXQKICAgICAgKiB0byAwKS4gSWYgeW91IGRvIG5vdCBrbm93IGZvciBzdXJlIHdoZXRo
ZXIgdGhlIHZhbHVlIGlzIG9mIHR5cGUKLSAgICAgKiBOdWxsVHlwZSwgeW91IHNob3VsZCBjaGVj
ayB0aGUgQHJlZiBpc051bGwoKSBtZXRob2RzIGFmdGVyd2FyZHMgYmVmb3JlCisgICAgICogTnVs
bFR5cGUsIHlvdSBzaG91bGQgY2hlY2sgdGhlIGlzVmFsaWQoKSBtZXRob2RzIGFmdGVyd2FyZHMg
YmVmb3JlCiAgICAgICogY2FsbGluZyBhbnkgbWV0aG9kcyBvbiB0aGUgcmV0dXJuZWQgdmFsdWUu
CiAgICAgICoKICAgICAgKiBAcmV0dXJuIFRoZSB2YWx1ZSBjb252ZXJ0ZWQgdG8gYSBOdWxsCkBA
IC0zNTMsNyArMzUzLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgIH07CiAKICAgLyoqCi0gICAqIFJl
cHJlc2VudHMgYW4gcHJpbWl0aXZlIE51bGwgdmFsdWUKKyAgICogUmVwcmVzZW50cyBhbiBwcmlt
aXRpdmUgQm9vbGVhbiB2YWx1ZQogICAgKi8KICAgY2xhc3MgQm9vbGVhbiA6IHB1YmxpYyBWYWx1
ZSB7CiAgIHB1YmxpYzoKQEAgLTM2Myw3ICszNjMsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAg
KiBDb252ZXJ0cyBhIFZhbHVlIGludG8gYW4gQm9vbGVhbi4gSWYgdGhlIHZhbHVlJ3MgdHlwZSBp
cyBub3QgQm9vbGVhblR5cGUsCiAgICAgICogYSBudWxsIG9iamVjdCB3aWxsIGJlIHJldHVybmVk
IChpLmUuIG9uZSB3aXRoIGl0J3MgaW50ZXJuYWwgcG9pbnRlciBzZXQKICAgICAgKiB0byAwKS4g
SWYgeW91IGRvIG5vdCBrbm93IGZvciBzdXJlIHdoZXRoZXIgdGhlIHZhbHVlIGlzIG9mIHR5cGUK
LSAgICAgKiBCb29sZWFuVHlwZSwgeW91IHNob3VsZCBjaGVjayB0aGUgQHJlZiBpc051bGwoKSBt
ZXRob2RzIGFmdGVyd2FyZHMgYmVmb3JlCisgICAgICogQm9vbGVhblR5cGUsIHlvdSBzaG91bGQg
Y2hlY2sgdGhlIGlzVmFsaWQoKSBtZXRob2RzIGFmdGVyd2FyZHMgYmVmb3JlCiAgICAgICogY2Fs
bGluZyBhbnkgbWV0aG9kcyBvbiB0aGUgcmV0dXJuZWQgdmFsdWUuCiAgICAgICoKICAgICAgKiBA
cmV0dXJuIFRoZSB2YWx1ZSBjb252ZXJ0ZWQgdG8gYSBCb29sZWFuCkBAIC0zNzcsNyArMzc3LDcg
QEAgbmFtZXNwYWNlIEtKUyB7CiAgIH07CiAKICAgLyoqCi0gICAqIFJlcHJlc2VudHMgYW4gcHJp
bWl0aXZlIE51bGwgdmFsdWUKKyAgICogUmVwcmVzZW50cyBhbiBwcmltaXRpdmUgU3RyaW5nIHZh
bHVlCiAgICAqLwogICBjbGFzcyBTdHJpbmcgOiBwdWJsaWMgVmFsdWUgewogICBwdWJsaWM6CkBA
IC0zODcsNyArMzg3LDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICogQ29udmVydHMgYSBWYWx1
ZSBpbnRvIGFuIFN0cmluZy4gSWYgdGhlIHZhbHVlJ3MgdHlwZSBpcyBub3QgU3RyaW5nVHlwZSwK
ICAgICAgKiBhIG51bGwgb2JqZWN0IHdpbGwgYmUgcmV0dXJuZWQgKGkuZS4gb25lIHdpdGggaXQn
cyBpbnRlcm5hbCBwb2ludGVyIHNldAogICAgICAqIHRvIDApLiBJZiB5b3UgZG8gbm90IGtub3cg
Zm9yIHN1cmUgd2hldGhlciB0aGUgdmFsdWUgaXMgb2YgdHlwZQotICAgICAqIFN0cmluZ1R5cGUs
IHlvdSBzaG91bGQgY2hlY2sgdGhlIEByZWYgaXNOdWxsKCkgbWV0aG9kcyBhZnRlcndhcmRzIGJl
Zm9yZQorICAgICAqIFN0cmluZ1R5cGUsIHlvdSBzaG91bGQgY2hlY2sgdGhlIGlzVmFsaWQoKSBt
ZXRob2RzIGFmdGVyd2FyZHMgYmVmb3JlCiAgICAgICogY2FsbGluZyBhbnkgbWV0aG9kcyBvbiB0
aGUgcmV0dXJuZWQgdmFsdWUuCiAgICAgICoKICAgICAgKiBAcmV0dXJuIFRoZSB2YWx1ZSBjb252
ZXJ0ZWQgdG8gYSBTdHJpbmcKQEAgLTQyNiw3ICs0MjYsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAg
ICAgKiBDb252ZXJ0cyBhIFZhbHVlIGludG8gYW4gTnVtYmVyLiBJZiB0aGUgdmFsdWUncyB0eXBl
IGlzIG5vdCBOdW1iZXJUeXBlLAogICAgICAqIGEgbnVsbCBvYmplY3Qgd2lsbCBiZSByZXR1cm5l
ZCAoaS5lLiBvbmUgd2l0aCBpdCdzIGludGVybmFsIHBvaW50ZXIgc2V0CiAgICAgICogdG8gMCku
IElmIHlvdSBkbyBub3Qga25vdyBmb3Igc3VyZSB3aGV0aGVyIHRoZSB2YWx1ZSBpcyBvZiB0eXBl
Ci0gICAgICogTnVtYmVyVHlwZSwgeW91IHNob3VsZCBjaGVjayB0aGUgQHJlZiBpc051bGwoKSBt
ZXRob2RzIGFmdGVyd2FyZHMgYmVmb3JlCisgICAgICogTnVtYmVyVHlwZSwgeW91IHNob3VsZCBj
aGVjayB0aGUgaXNOdWxsKCkgbWV0aG9kcyBhZnRlcndhcmRzIGJlZm9yZQogICAgICAqIGNhbGxp
bmcgYW55IG1ldGhvZHMgb24gdGhlIHJldHVybmVkIHZhbHVlLgogICAgICAqCiAgICAgICogQHJl
dHVybiBUaGUgdmFsdWUgY29udmVydGVkIHRvIGEgTnVtYmVyCkluZGV4OiBjb2xsZWN0b3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvY29sbGVj
dG9yLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNgpkaWZmIC11IC0zIC1wIC1yMS4zNiBj
b2xsZWN0b3IuY3BwCi0tLSBjb2xsZWN0b3IuY3BwCTIwMDUvMDUvMTkgMDA6NTM6MzcJMS4zNgor
KysgY29sbGVjdG9yLmNwcAkyMDA1LzA3LzA4IDIyOjE1OjEwCkBAIC0xNSw3ICsxNSw3IEBACiAg
KgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkg
VGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICog
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u
LCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6IGNvbnRleHQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2NvbnRleHQuaCx2CnJl
dHJpZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC0zIC1wIC1yMS4xMCBjb250ZXh0LmgKLS0t
IGNvbnRleHQuaAkyMDA1LzA2LzE3IDAwOjU3OjM3CTEuMTAKKysrIGNvbnRleHQuaAkyMDA1LzA3
LzA4IDIyOjE1OjEwCkBAIC0xNyw4ICsxNyw4IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
ICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAyMTExLTEzMDcs
IFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAg
KgogICovCiAKSW5kZXg6IGlkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
cm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvaWRlbnRpZmllci5jcHAsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMTQKZGlmZiAtdSAtMyAtcCAtcjEuMTQgaWRlbnRpZmllci5jcHAKLS0tIGlkZW50aWZp
ZXIuY3BwCTIwMDUvMDQvMTUgMDE6MjY6MjYJMS4xNAorKysgaWRlbnRpZmllci5jcHAJMjAwNS8w
Ny8wOCAyMjoxNToxMApAQCAtMTQsOCArMTQsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3
LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgog
ICoKICAqLwogCkluZGV4OiBsaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
SmF2YVNjcmlwdENvcmUva2pzL2xpc3QuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEyCmRp
ZmYgLXUgLTMgLXAgLXIxLjEyIGxpc3QuY3BwCi0tLSBsaXN0LmNwcAkyMDA1LzA1LzE5IDAwOjUw
OjEwCTEuMTIKKysrIGxpc3QuY3BwCTIwMDUvMDcvMDggMjI6MTU6MTAKQEAgLTE0LDggKzE0LDgg
QEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMw
LAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogbGlzdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvbGlzdC5oLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjgKZGlmZiAtdSAtMyAtcCAtcjEuOCBsaXN0LmgKLS0tIGxpc3Qu
aAkyMDA1LzA1LzE5IDAwOjUwOjEwCTEuOAorKysgbGlzdC5oCTIwMDUvMDcvMDggMjI6MTU6MTAK
QEAgLTE1LDggKzE1LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBs
YWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0
aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApAQCAt
ODgsMjUgKzg4LDI1IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAgICAgKi8KICAgICAgICAgaW50
IHNpemUoKSBjb25zdCB7IHJldHVybiBfaW1wQmFzZS0+c2l6ZTsgfQogICAgICAgICAvKioKLSAg
ICAgICAgICogQHJldHVybiBBIEByZWYgS0pTOjpMaXN0SXRlcmF0b3IgcG9pbnRpbmcgdG8gdGhl
IGZpcnN0IGVsZW1lbnQuCisgICAgICAgICAqIEByZXR1cm4gQSBLSlM6Okxpc3RJdGVyYXRvciBw
b2ludGluZyB0byB0aGUgZmlyc3QgZWxlbWVudC4KICAgICAgICAgICovCiAgICAgICAgIExpc3RJ
dGVyYXRvciBiZWdpbigpIGNvbnN0OwogICAgICAgICAvKioKLSAgICAgICAgICogQHJldHVybiBB
IEByZWYgS0pTOjpMaXN0SXRlcmF0b3IgcG9pbnRpbmcgdG8gdGhlIGxhc3QgZWxlbWVudC4KKyAg
ICAgICAgICogQHJldHVybiBBIEtKUzo6TGlzdEl0ZXJhdG9yIHBvaW50aW5nIHRvIHRoZSBsYXN0
IGVsZW1lbnQuCiAgICAgICAgICAqLwogICAgICAgICBMaXN0SXRlcmF0b3IgZW5kKCkgY29uc3Q7
CiAgICAgICAgIAogICAgICAgICAvKioKICAgICAgICAgICogUmV0cmlldmUgYW4gZWxlbWVudCBh
dCBhbiBpbmRleGVkIHBvc2l0aW9uLiBJZiB5b3Ugd2FudCB0byBpdGVyYXRlCi0gICAgICAgICAq
IHRyb3VnaCB0aGUgd2hvbGUgbGlzdCB1c2luZyBAcmVmIEtKUzo6TGlzdEl0ZXJhdG9yIHdpbGwg
YmUgZmFzdGVyLgorICAgICAgICAgKiB0cm91Z2ggdGhlIHdob2xlIGxpc3QgdXNpbmcgS0pTOjpM
aXN0SXRlcmF0b3Igd2lsbCBiZSBmYXN0ZXIuCiAgICAgICAgICAqCiAgICAgICAgICAqIEBwYXJh
bSBpIExpc3QgaW5kZXguCi0gICAgICAgICAqIEByZXR1cm4gUmV0dXJuIHRoZSBlbGVtZW50IGF0
IHBvc2l0aW9uIGkuIEByZWYgS0pTOjpVbmRlZmluZWQgaWYgdGhlCisgICAgICAgICAqIEByZXR1
cm4gUmV0dXJuIHRoZSBlbGVtZW50IGF0IHBvc2l0aW9uIGkuIEtKUzo6VW5kZWZpbmVkIGlmIHRo
ZQogICAgICAgICAgKiBpbmRleCBpcyBvdXQgb2YgcmFuZ2UuCiAgICAgICAgICAqLwogICAgICAg
ICBWYWx1ZSBhdChpbnQgaSkgY29uc3QgeyByZXR1cm4gVmFsdWUoaW1wQXQoaSkpOyB9CiAgICAg
ICAgIC8qKgotICAgICAgICAgKiBFcXVpdmFsZW50IHRvIEByZWYgYXQuCisgICAgICAgICAqIEVx
dWl2YWxlbnQgdG8gYXQuCiAgICAgICAgICAqLwogICAgICAgICBWYWx1ZSBvcGVyYXRvcltdKGlu
dCBpKSBjb25zdCB7IHJldHVybiBWYWx1ZShpbXBBdChpKSk7IH0KICAgICAgICAgCkBAIC0xMTQs
NyArMTE0LDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgCiAgICAgICAgIC8qKgogICAgICAgICAg
KiBSZXR1cm5zIGEgcG9pbnRlciB0byBhIHN0YXRpYyBpbnN0YW5jZSBvZiBhbiBlbXB0eSBsaXN0
LiBVc2VmdWwgaWYgYQotICAgICAgICAgKiBmdW5jdGlvbiBoYXMgYSBAcmVmIEtKUzo6TGlzdCBw
YXJhbWV0ZXIuCisgICAgICAgICAqIGZ1bmN0aW9uIGhhcyBhIEtKUzo6TGlzdCBwYXJhbWV0ZXIu
CiAgICAgICAgICAqLwogICAgICAgICBzdGF0aWMgY29uc3QgTGlzdCAmZW1wdHkoKTsKICAgICAg
ICAgCkBAIC0xMzIsNyArMTMyLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgfTsKICAgCiAgICAg
LyoqCi0gICAgICogQHNob3J0IEl0ZXJhdG9yIGZvciBAcmVmIEtKUzo6TGlzdCBvYmplY3RzLgor
ICAgICAqIEBzaG9ydCBJdGVyYXRvciBmb3IgS0pTOjpMaXN0IG9iamVjdHMuCiAgICAgICovCiAg
ICAgY2xhc3MgTGlzdEl0ZXJhdG9yIHsKICAgICBwdWJsaWM6CkluZGV4OiBvYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvb2JqZWN0LmNw
cCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40NQpkaWZmIC11IC0zIC1wIC1yMS40NSBvYmplY3Qu
Y3BwCi0tLSBvYmplY3QuY3BwCTIwMDUvMDcvMDMgMTA6NDc6NTMJMS40NQorKysgb2JqZWN0LmNw
cAkyMDA1LzA3LzA4IDIyOjE1OjExCkBAIC0xNyw4ICsxNyw4IEBACiAgKgogICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAy
MTExLTEzMDcsIFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKgogICovCiAKSW5kZXg6IHByb3BlcnR5X21hcC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9wcm9wZXJ0eV9tYXAuY3BwLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjQxCmRpZmYgLXUgLTMgLXAgLXIxLjQxIHByb3BlcnR5X21hcC5j
cHAKLS0tIHByb3BlcnR5X21hcC5jcHAJMjAwNS8wNC8yMCAxMDoxNDozNQkxLjQxCisrKyBwcm9w
ZXJ0eV9tYXAuY3BwCTIwMDUvMDcvMDggMjI6MTU6MTMKQEAgLTE0LDggKzE0LDggQEAKICAqCiAg
KiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJv
c3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogcmVnZXhwLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL3JlZ2V4cC5jcHAsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMTAKZGlmZiAtdSAtMyAtcCAtcjEuMTAgcmVnZXhwLmNwcAotLS0g
cmVnZXhwLmNwcAkyMDA0LzA4LzEwIDIxOjM1OjA5CTEuMTAKKysrIHJlZ2V4cC5jcHAJMjAwNS8w
Ny8wOCAyMjoxNToxMwpAQCAtMTUsNyArMTUsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGlj
ZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT
b2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMw
LCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQog
ICoKICAqLwogCkluZGV4OiBzY29wZV9jaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9zY29wZV9jaGFpbi5jcHAsdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuMTAKZGlmZiAtdSAtMyAtcCAtcjEuMTAgc2NvcGVfY2hhaW4uY3BwCi0tLSBzY29w
ZV9jaGFpbi5jcHAJMjAwNC8wOS8xMyAyMjo0NDoyOAkxLjEwCisrKyBzY29wZV9jaGFpbi5jcHAJ
MjAwNS8wNy8wOCAyMjoxNToxMwpAQCAtMTQsOCArMTQsOCBAQAogICoKICAqICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjEx
MS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgogICoKICAqLwogCkluZGV4OiB1c3RyaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
Y3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL3VzdHJpbmcuY3BwLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjU2CmRpZmYgLXUgLTMgLXAgLXIxLjU2IHVzdHJpbmcuY3BwCi0tLSB1c3RyaW5nLmNw
cAkyMDA1LzA2LzI4IDAwOjAyOjA4CTEuNTYKKysrIHVzdHJpbmcuY3BwCTIwMDUvMDcvMDggMjI6
MTU6MTUKQEAgLTE2LDggKzE2LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgor
ICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0
LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8K
IApJbmRleDogYXJyYXlfaW5zdGFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
SmF2YVNjcmlwdENvcmUva2pzL2FycmF5X2luc3RhbmNlLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuMTIKZGlmZiAtdSAtMyAtcCAtcjEuMTIgYXJyYXlfaW5zdGFuY2UuaAotLS0gYXJyYXlfaW5z
dGFuY2UuaAkyMDA1LzA3LzAzIDEwOjQ3OjUyCTEuMTIKKysrIGFycmF5X2luc3RhbmNlLmgJMjAw
NS8wNy8wOCAyMjoxNToxNQpAQCAtMTYsNyArMTYsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAg
TGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl
ZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUg
MzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVT
QQogICoKICAqLwogCkluZGV4OiBhcnJheV9vYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
Y3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2FycmF5X29iamVjdC5oLHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjEyCmRpZmYgLXUgLTMgLXAgLXIxLjEyIGFycmF5X29iamVjdC5oCi0tLSBhcnJh
eV9vYmplY3QuaAkyMDA1LzA2LzMwIDAxOjE5OjQyCTEuMTIKKysrIGFycmF5X29iamVjdC5oCTIw
MDUvMDcvMDggMjI6MTU6MTUKQEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICog
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy
ZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRl
IDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBV
U0EKICAqCiAgKi8KIApJbmRleDogYm9vbF9vYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
Y3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2Jvb2xfb2JqZWN0LmgsdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuNApkaWZmIC11IC0zIC1wIC1yMS40IGJvb2xfb2JqZWN0LmgKLS0tIGJvb2xfb2Jq
ZWN0LmgJMjAwMi8xMS8yMCAyMToxMjoxNAkxLjQKKysrIGJvb2xfb2JqZWN0LmgJMjAwNS8wNy8w
OCAyMjoxNToxNQpAQCAtMTUsNyArMTUsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBC
b3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoK
ICAqLwogCkluZGV4OiBkYXRlX29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9v
dC9KYXZhU2NyaXB0Q29yZS9ranMvZGF0ZV9vYmplY3QuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS4xMApkaWZmIC11IC0zIC1wIC1yMS4xMCBkYXRlX29iamVjdC5oCi0tLSBkYXRlX29iamVjdC5o
CTIwMDUvMDcvMDEgMTg6NDU6MDkJMS4xMAorKysgZGF0ZV9vYmplY3QuaAkyMDA1LzA3LzA4IDIy
OjE1OjE1CkBAIC0xNSw3ICsxNSw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl
Ci0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3Rv
biwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICov
CiAKSW5kZXg6IGVycm9yX29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9K
YXZhU2NyaXB0Q29yZS9ranMvZXJyb3Jfb2JqZWN0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MwpkaWZmIC11IC0zIC1wIC1yMS4zIGVycm9yX29iamVjdC5oCi0tLSBlcnJvcl9vYmplY3QuaAky
MDAyLzA0LzE1IDIzOjQwOjU5CTEuMworKysgZXJyb3Jfb2JqZWN0LmgJMjAwNS8wNy8wOCAyMjox
NToxNQpAQCAtMTUsNyArMTUsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQot
ICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24s
IE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwog
CkluZGV4OiBmdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2Ny
aXB0Q29yZS9ranMvZnVuY3Rpb24uaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNApkaWZmIC11
IC0zIC1wIC1yMS4yNCBmdW5jdGlvbi5oCi0tLSBmdW5jdGlvbi5oCTIwMDUvMDcvMDggMTY6MTI6
NDAJMS4yNAorKysgZnVuY3Rpb24uaAkyMDA1LzA3LzA4IDIyOjE1OjE2CkBAIC0xNiw4ICsxNiw4
IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz
MCwKLSAqICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAg
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgogICovCiAKSW5kZXg6IGZ1bmN0aW9uX29i
amVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMv
ZnVuY3Rpb25fb2JqZWN0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC0zIC1w
IC1yMS40IGZ1bmN0aW9uX29iamVjdC5oCi0tLSBmdW5jdGlvbl9vYmplY3QuaAkyMDA0LzA3LzIy
IDIzOjMwOjUyCTEuNAorKysgZnVuY3Rpb25fb2JqZWN0LmgJMjAwNS8wNy8wOCAyMjoxNToxNgpA
QCAtMTUsNyArMTUsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZv
dW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAw
MjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkBAIC0z
Miw3ICszMiw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgKiBAaW50ZXJuYWwKICAgICoKICAgICog
VGhlIGluaXRpYWwgdmFsdWUgb2YgRnVuY3Rpb24ucHJvdG90eXBlIChhbmQgdGh1cyBhbGwgb2Jq
ZWN0cyBjcmVhdGVkCi0gICAqIHdpdGggdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCisgICAqIHdp
dGggdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yKQogICAgKi8KICAgY2xhc3MgRnVuY3Rpb25Qcm90
b3R5cGVJbXAgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbkltcCB7CiAgIHB1YmxpYzoKSW5kZXg6
IGludGVybmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3Jl
L2tqcy9pbnRlcm5hbC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI4CmRpZmYgLXUgLTMgLXAg
LXIxLjI4IGludGVybmFsLmgKLS0tIGludGVybmFsLmgJMjAwNS8wNy8wMSAwMDo0NTo0OQkxLjI4
CisrKyBpbnRlcm5hbC5oCTIwMDUvMDcvMDggMjI6MTU6MTYKQEAgLTE3LDggKzE3LDggQEAKICAq
CiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICog
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogaW50ZXJwcmV0ZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2ludGVycHJldGVy
LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjMKZGlmZiAtdSAtMyAtcCAtcjEuMjMgaW50ZXJw
cmV0ZXIuaAotLS0gaW50ZXJwcmV0ZXIuaAkyMDA1LzA3LzAxIDA5OjU1OjAyCTEuMjMKKysrIGlu
dGVycHJldGVyLmgJMjAwNS8wNy8wOCAyMjoxNToxNgpAQCAtMTcsOCArMTcsOCBAQAogICoKICAq
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9z
dG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkBAIC00OCwxMCArNDgsMTAgQEAgbmFtZXNwYWNl
IEtKUyB7CiAgICAqIEFuIGV4ZWN1dGlvbiBjb250ZXh0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFi
b3V0IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZQogICAgKiBzY3JpcHQgLSB0aGUgc2NvcGUgZm9y
IHZhcmlhYmxlIGxvb2t1cCwgdGhlIHZhbHVlIG9mICJ0aGlzIiwgZXRjLiBBIG5ldwogICAgKiBl
eGVjdXRpb24gY29udGV4dCBpcyBlbnRlcmVkIHdoZW5ldmVyIGdsb2JhbCBjb2RlIGlzIGV4ZWN1
dGVkIChlLmcuIHdpdGgKLSAgICogQHJlZiBJbnRlcnByZXRlcjo6ZXZhbHVhdGUoKSksIGEgZnVu
Y3Rpb24gaXMgY2FsbGVkIChzZWUgQHJlZgorICAgKiBJbnRlcnByZXRlcjo6ZXZhbHVhdGUoKSks
IGEgZnVuY3Rpb24gaXMgY2FsbGVkIChzZWUKICAgICogT2JqZWN0OjpjYWxsKCkpLCBvciB0aGUg
YnVpbHRpbiAiZXZhbCIgZnVuY3Rpb24gaXMgZXhlY3V0ZWQuCiAgICAqCi0gICAqIE1vc3QgaW5o
ZXJpdGFibGUgZnVuY3Rpb25zIGluIHRoZSBLSlMgYXBpIHRha2UgYSBAcmVmIEV4ZWNTdGF0ZSBw
b2ludGVyIGFzCisgICAqIE1vc3QgaW5oZXJpdGFibGUgZnVuY3Rpb25zIGluIHRoZSBLSlMgYXBp
IHRha2UgYSBFeGVjU3RhdGUgcG9pbnRlciBhcwogICAgKiB0aGVpciBmaXJzdCBwYXJhbWV0ZXIu
IFRoaXMgY2FuIGJlIHVzZWQgdG8gb2J0YWluIGEgaGFuZGxlIHRvIHRoZSBjdXJyZW50CiAgICAq
IGV4ZWN1dGlvbiBjb250ZXh0LgogICAgKgpAQCAtMTAxLDggKzEwMSw4IEBAIG5hbWVzcGFjZSBL
SlMgewogCiAgICAgLyoqCiAgICAgICogUmV0dXJucyB0aGUgY29udGV4dCBmcm9tIHdoaWNoIHRo
ZSBjdXJyZW50IGNvbnRleHQgd2FzIGludm9rZWQuIEZvcgotICAgICAqIGdsb2JhbCBjb2RlIHRo
aXMgd2lsbCBiZSBhIG51bGwgY29udGV4dCAoaS5lLiBvbmUgZm9yIHdoaWNoIEByZWYKLSAgICAg
KiBpc051bGwoKSByZXR1cm5zIHRydWUpLiBZb3Ugc2hvdWxkIGNoZWNrIEByZWYgaXNOdWxsKCkg
b24gdGhlIHJldHVybmVkCisgICAgICogZ2xvYmFsIGNvZGUgdGhpcyB3aWxsIGJlIGEgbnVsbCBj
b250ZXh0IChpLmUuIG9uZSBmb3Igd2hpY2gKKyAgICAgKiBpc051bGwoKSByZXR1cm5zIHRydWUp
LiBZb3Ugc2hvdWxkIGNoZWNrIGlzTnVsbCgpIG9uIHRoZSByZXR1cm5lZAogICAgICAqIHZhbHVl
IGJlZm9yZSBjYWxsaW5nIGFueSBvZiBpdCdzIG1ldGhvZHMuCiAgICAgICoKICAgICAgKiBAcmV0
dXJuIFRoZSBjYWxsaW5nIGV4ZWN1dGlvbiBjb250ZXh0CkBAIC0zMzksNyArMzM5LDcgQEAgbmFt
ZXNwYWNlIEtKUyB7CiAgICAgLyoqCiAgICAgICogQ2FsbCB0aGlzIHRvIGVuYWJsZSBhIGNvbXBh
dGliaWxpdHkgbW9kZSB3aXRoIGFub3RoZXIgYnJvd3Nlci4KICAgICAgKiAoYnkgZGVmYXVsdCBr
b25xdWVyb3IgaXMgaW4gIm5hdGl2ZSBtb2RlIikuCi0gICAgICogQ3VycmVudGx5LCBpbiBLSlMs
IHRoaXMgb25seSBjaGFuZ2VzIHRoZSBiZWhhdmlvdXIgb2YgRGF0ZTo6Z2V0WWVhcigpCisgICAg
ICogQ3VycmVudGx5LCBpbiBLSlMsIHRoaXMgb25seSBjaGFuZ2VzIHRoZSBiZWhhdmlvciBvZiBE
YXRlOjpnZXRZZWFyKCkKICAgICAgKiB3aGljaCByZXR1cm5zIHRoZSBmdWxsIHllYXIgdW5kZXIg
SUUuCiAgICAgICovCiAgICAgdm9pZCBzZXRDb21wYXRNb2RlKENvbXBhdE1vZGUgbW9kZSk7Cklu
ZGV4OiBsZXhlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29y
ZS9ranMvbGV4ZXIuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXUgLTMgLXAgLXIx
LjkgbGV4ZXIuaAotLS0gbGV4ZXIuaAkyMDA0LzA5LzEwIDAxOjUyOjI0CTEuOQorKysgbGV4ZXIu
aAkyMDA1LzA3LzA4IDIyOjE1OjE2CkBAIC0xNSw4ICsxNSw4IEBACiAgKgogICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAy
MTExLTEzMDcsIFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKgogICovCiAKSW5kZXg6IGxvb2t1cC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9j
dnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvbG9va3VwLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuMTEKZGlmZiAtdSAtMyAtcCAtcjEuMTEgbG9va3VwLmgKLS0tIGxvb2t1cC5oCTIwMDUvMDcv
MDMgMTA6NDc6NTMJMS4xMQorKysgbG9va3VwLmgJMjAwNS8wNy8wOCAyMjoxNToyMApAQCAtMTYs
NyArMTYsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0x
MzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGgg
Rmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBtYXRo
X29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9r
anMvbWF0aF9vYmplY3QuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLTMgLXAg
LXIxLjQgbWF0aF9vYmplY3QuaAotLS0gbWF0aF9vYmplY3QuaAkyMDAyLzExLzE5IDIyOjAyOjI1
CTEuNAorKysgbWF0aF9vYmplY3QuaAkyMDA1LzA3LzA4IDIyOjE1OjIwCkBAIC0xNSw3ICsxNSw3
IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5j
LiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVT
QQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwg
Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6IG5vZGVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjIyCmRpZmYgLXUgLTMgLXAgLXIxLjIyIG5vZGVzLmgKLS0t
IG5vZGVzLmgJMjAwNS8wNi8yMSAwODoyNToyMgkxLjIyCisrKyBub2Rlcy5oCTIwMDUvMDcvMDgg
MjI6MTU6MjEKQEAgLTE3LDggKzE3LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICog
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkg
VGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNB
LgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAg
Ki8KIApJbmRleDogbnVtYmVyX29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9v
dC9KYXZhU2NyaXB0Q29yZS9ranMvbnVtYmVyX29iamVjdC5oLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjYKZGlmZiAtdSAtMyAtcCAtcjEuNiBudW1iZXJfb2JqZWN0LmgKLS0tIG51bWJlcl9vYmpl
Y3QuaAkyMDA0LzA4LzAzIDIyOjQ1OjUxCTEuNgorKysgbnVtYmVyX29iamVjdC5oCTIwMDUvMDcv
MDggMjI6MTU6MjEKQEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICogIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m
dHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwg
Qm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAq
CiAgKi8KIApJbmRleDogb2JqZWN0X29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
cm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvb2JqZWN0X29iamVjdC5oLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjYKZGlmZiAtdSAtMyAtcCAtcjEuNiBvYmplY3Rfb2JqZWN0LmgKLS0tIG9iamVjdF9v
YmplY3QuaAkyMDA1LzA3LzAzIDEwOjQ3OjUzCTEuNgorKysgb2JqZWN0X29iamVjdC5oCTIwMDUv
MDcvMDggMjI6MTU6MjEKQEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICogIExp
Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMz
MCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EK
ICAqCiAgKi8KIApJbmRleDogcHJvcGVydHlfbWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9wcm9wZXJ0eV9tYXAuaCx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMS4yMApkaWZmIC11IC0zIC1wIC1yMS4yMCBwcm9wZXJ0eV9tYXAuaAotLS0gcHJvcGVy
dHlfbWFwLmgJMjAwNC8wOC8xOCAwMDowNzoxMAkxLjIwCisrKyBwcm9wZXJ0eV9tYXAuaAkyMDA1
LzA3LzA4IDIyOjE1OjIxCkBAIC0xLDMgKzEsNCBAQAorLy8gLSotIGMtYmFzaWMtb2Zmc2V0OiAy
IC0qLQogLyoKICAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIGxpYnJhcmllcwogICog
IENvcHlyaWdodCAoQykgMjAwNCBBcHBsZSBDb21wdXRlciwgSW5jLgpAQCAtMTQsOCArMTUsOCBA
QAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAs
Ci0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkBAIC0zNCw2ICszNSw5IEBAIG5h
bWVzcGFjZSBLSlMgewogICAgIAogICAgIHN0cnVjdCBQcm9wZXJ0eU1hcEhhc2hUYWJsZTsKICAg
ICAKKy8qKgorKiBTYXZlZCBQcm9wZXJ0aWVzCisqLwogICAgIGNsYXNzIFNhdmVkUHJvcGVydGll
cyB7CiAgICAgZnJpZW5kIGNsYXNzIFByb3BlcnR5TWFwOwogICAgIHB1YmxpYzoKQEAgLTQ4LDE0
ICs1MiwxOSBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAgICAgU2F2ZWRQcm9wZXJ0aWVzJiBvcGVy
YXRvcj0oY29uc3QgU2F2ZWRQcm9wZXJ0aWVzJik7CiAgICAgfTsKICAgICAKKy8qKgorKiBBIGhh
c2h0YWJsZSBlbnRyeSBmb3IgdGhlIEByZWYgUHJvcGVydHlNYXAuCisqLwogICAgIHN0cnVjdCBQ
cm9wZXJ0eU1hcEhhc2hUYWJsZUVudHJ5CiAgICAgewogICAgICAgICBQcm9wZXJ0eU1hcEhhc2hU
YWJsZUVudHJ5KCkgOiBrZXkoMCkgeyB9CiAgICAgICAgIFVTdHJpbmc6OlJlcCAqa2V5OwogICAg
ICAgICBWYWx1ZUltcCAqdmFsdWU7CiAgICAgICAgIGludCBhdHRyaWJ1dGVzOwotICAgICAgICBp
bnQgaW5kZXg7CiAgICAgfTsKKy8qKgorKiBKYXZhc2NyaXB0IFByb3BlcnR5IE1hcC4KKyovCiAK
ICAgICBjbGFzcyBQcm9wZXJ0eU1hcCB7CiAgICAgcHVibGljOgpJbmRleDogcmVnZXhwLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9yZWdleHAuaCx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS42CmRpZmYgLXUgLTMgLXAgLXIxLjYgcmVnZXhwLmgKLS0t
IHJlZ2V4cC5oCTIwMDMvMDYvMDUgMDA6MTE6MjIJMS42CisrKyByZWdleHAuaAkyMDA1LzA3LzA4
IDIyOjE1OjIxCkBAIC0xNSw3ICsxNSw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJv
c3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgog
ICovCiAKSW5kZXg6IHJlZ2V4cF9vYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvSmF2YVNjcmlwdENvcmUva2pzL3JlZ2V4cF9vYmplY3QuaCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS43CmRpZmYgLXUgLTMgLXAgLXIxLjcgcmVnZXhwX29iamVjdC5oCi0tLSByZWdleHBfb2Jq
ZWN0LmgJMjAwNC8wOC8wMiAyMzozODo1NwkxLjcKKysrIHJlZ2V4cF9vYmplY3QuaAkyMDA1LzA3
LzA4IDIyOjE1OjIxCkBAIC0xNSw3ICsxNSw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNl
bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv
ZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAs
IEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAg
KgogICovCiAKSW5kZXg6IHNjb3BlX2NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9y
b290L0phdmFTY3JpcHRDb3JlL2tqcy9zY29wZV9jaGFpbi5oLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjgKZGlmZiAtdSAtMyAtcCAtcjEuOCBzY29wZV9jaGFpbi5oCi0tLSBzY29wZV9jaGFpbi5o
CTIwMDUvMDQvMTUgMDE6MjY6MjYJMS44CisrKyBzY29wZV9jaGFpbi5oCTIwMDUvMDcvMDggMjI6
MTU6MjEKQEAgLTE0LDggKzE0LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgor
ICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0
LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8K
IApJbmRleDogc3RyaW5nX29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9K
YXZhU2NyaXB0Q29yZS9ranMvc3RyaW5nX29iamVjdC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjEwCmRpZmYgLXUgLTMgLXAgLXIxLjEwIHN0cmluZ19vYmplY3QuaAotLS0gc3RyaW5nX29iamVj
dC5oCTIwMDUvMDcvMDMgMTA6NDc6NTMJMS4xMAorKysgc3RyaW5nX29iamVjdC5oCTIwMDUvMDcv
MDggMjI6MTU6MjEKQEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICogIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m
dHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwg
Qm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAq
CiAgKi8KIApJbmRleDogdXN0cmluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9K
YXZhU2NyaXB0Q29yZS9ranMvdXN0cmluZy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM2CmRp
ZmYgLXUgLTMgLXAgLXIxLjM2IHVzdHJpbmcuaAotLS0gdXN0cmluZy5oCTIwMDUvMDQvMjAgMTA6
MTQ6MzUJMS4zNgorKysgdXN0cmluZy5oCTIwMDUvMDcvMDggMjI6MTU6MjYKQEAgLTE2LDggKzE2
LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUg
MzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAq
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApAQCAtMTEyLDE2ICsxMTIs
MTYgQEAgbmFtZXNwYWNlIEtKUyB7CiAgIC8qKgogICAgKiBAc2hvcnQgRHluYW1pYyByZWZlcmVu
Y2UgdG8gYSBzdHJpbmcgY2hhcmFjdGVyLgogICAgKgotICAgKiBVQ2hhclJlZmVyZW5jZSBpcyB0
aGUgZHluYW1pYyBjb3VudGVycGFydCBvZiBAcmVmIFVDaGFyLiBJdCdzIHVzZWQgd2hlbgotICAg
KiBjaGFyYWN0ZXJzIHJldHJpZXZlZCB2aWEgaW5kZXggZnJvbSBhIEByZWYgVVN0cmluZyBhcmUg
dXNlZCBpbiBhbgorICAgKiBVQ2hhclJlZmVyZW5jZSBpcyB0aGUgZHluYW1pYyBjb3VudGVycGFy
dCBvZiBVQ2hhci4gSXQncyB1c2VkIHdoZW4KKyAgICogY2hhcmFjdGVycyByZXRyaWV2ZWQgdmlh
IGluZGV4IGZyb20gYSBVU3RyaW5nIGFyZSB1c2VkIGluIGFuCiAgICAqIGFzc2lnbm1lbnQgZXhw
cmVzc2lvbiAoYW5kIHRoZXJlZm9yZSBjYW4ndCBiZSB0cmVhdGVkIGFzIGJlaW5nIGNvbnN0KToK
LSAgICogPHByZT4KKyAgICogXGNvZGUKICAgICogVVN0cmluZyBzKCJoZWxsbyB3b3JsZCIpOwog
ICAgKiBzWzBdID0gJ0gnOwotICAgKiA8L3ByZT4KKyAgICogXGVuZGNvZGUKICAgICoKICAgICog
SWYgdGhhdCBzb3VuZHMgY29uZnVzaW5nIHlvdXIgYmVzdCBiZXQgaXMgdG8gc2ltcGx5IGZvcmdl
dCBhYm91dCB0aGUKLSAgICogZXhpc3RhbmNlIG9mIHRoaXMgY2xhc3MgYW5kIHRyZWF0IGlzIGFz
IGJlaW5nIGlkZW50aWNhbCB0byBAcmVmIFVDaGFyLgorICAgKiBleGlzdGVuY2Ugb2YgdGhpcyBj
bGFzcyBhbmQgdHJlYXQgaXMgYXMgYmVpbmcgaWRlbnRpY2FsIHRvIFVDaGFyLgogICAgKi8KICAg
Y2xhc3MgVUNoYXJSZWZlcmVuY2UgewogICAgIGZyaWVuZCBjbGFzcyBVU3RyaW5nOwpAQCAtMjc3
LDExICsyNzcsMTEgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICogaW1wbGVtZW50YXRpb24gZm9y
IGEgY29uc3RydWN0aW9uIGZyb20gUVN0cmluZy4KICAgICAgKgogICAgICAqIE5vdGU6IGZlZWwg
ZnJlZSB0byBjb250YWN0IG1lIGlmIHlvdSB3YW50IHRvIHNlZSBhIGR1bW15IGhlYWRlciBmb3IK
LSAgICAgKiB5b3VyIGZhdm91cml0ZSBGb29TdHJpbmcgY2xhc3MgaGVyZSAhCisgICAgICogeW91
ciBmYXZvcml0ZSBGb29TdHJpbmcgY2xhc3MgaGVyZSAhCiAgICAgICovCiAgICAgVVN0cmluZyhj
b25zdCBRU3RyaW5nICYpOwogICAgIC8qKgotICAgICAqIENvbnZlbmllbmNlIGRlY2xhcmF0aW9u
IG9ubHkgISBTZWUgQHJlZiBVU3RyaW5nKGNvbnN0IFFTdHJpbmcmKS4KKyAgICAgKiBDb252ZW5p
ZW5jZSBkZWNsYXJhdGlvbiBvbmx5ICEgU2VlIFVTdHJpbmcoY29uc3QgUVN0cmluZyYpLgogICAg
ICAqLwogICAgIFVTdHJpbmcoY29uc3QgRE9NOjpET01TdHJpbmcgJik7CiAgICAgLyoqCkBAIC0z
MzMsNyArMzMzLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgVVN0cmluZyAmYXBwZW5kKFVDaGFy
IGMpIHsgcmV0dXJuIGFwcGVuZChjLnVjKTsgfQogCiAgICAgLyoqCi0gICAgICogQHJldHVybiBU
aGUgc3RyaW5nIGNvbnZlcnRlZCB0byB0aGUgOC1iaXQgc3RyaW5nIHR5cGUgQHJlZiBDU3RyaW5n
KCkuCisgICAgICogQHJldHVybiBUaGUgc3RyaW5nIGNvbnZlcnRlZCB0byB0aGUgOC1iaXQgc3Ry
aW5nIHR5cGUgQ1N0cmluZygpLgogICAgICAqLwogICAgIENTdHJpbmcgY3N0cmluZygpIGNvbnN0
OwogICAgIC8qKgpAQCAtMzkzLDcgKzM5Myw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIC8qKgog
ICAgICAqIFVzZSB0aGlzIGlmIHlvdSB3YW50IHRvIG1ha2Ugc3VyZSB0aGF0IHRoaXMgc3RyaW5n
IGlzIGEgcGxhaW4gQVNDSUkKICAgICAgKiBzdHJpbmcuIEZvciBleGFtcGxlLCBpZiB5b3UgZG9u
J3Qgd2FudCB0byBsb3NlIGFueSBpbmZvcm1hdGlvbiB3aGVuCi0gICAgICogdXNpbmcgQHJlZiBj
c3RyaW5nKCkgb3IgQHJlZiBhc2NpaSgpLgorICAgICAqIHVzaW5nIGNzdHJpbmcoKSBvciBhc2Np
aSgpLgogICAgICAqCiAgICAgICogQHJldHVybiBUcnVlIGlmIHRoZSBzdHJpbmcgZG9lc24ndCBj
b250YWluIGFueSBub24tQVNDSUkgY2hhcmFjdGVycy4KICAgICAgKi8K
</data>
<flag name="review"
          id="210"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2948</attachid>
            <date>2005-07-13 14:23:52 -0700</date>
            <delta_ts>2005-07-14 11:36:20 -0700</delta_ts>
            <desc>Comment patch without removing &apos;int index&apos; :)</desc>
            <filename>comments.diff</filename>
            <type>text/plain</type>
            <size>59300</size>
            <attacher name="Martijn Klingens">klingens</attacher>
            
              <data encoding="base64">SW5kZXg6IGFycmF5X2luc3RhbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0ph
dmFTY3JpcHRDb3JlL2tqcy9hcnJheV9pbnN0YW5jZS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjEyCmRpZmYgLXUgLTMgLXAgLXIxLjEyIGFycmF5X2luc3RhbmNlLmgKLS0tIGFycmF5X2luc3Rh
bmNlLmgJMjAwNS8wNy8wMyAxMDo0Nzo1MgkxLjEyCisrKyBhcnJheV9pbnN0YW5jZS5oCTIwMDUv
MDcvMTMgMjE6MTk6NTkKQEAgLTE2LDcgKzE2LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICogIExp
Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMz
MCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EK
ICAqCiAgKi8KIApJbmRleDogYXJyYXlfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
Y3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2FycmF5X29iamVjdC5jcHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuNDMKZGlmZiAtdSAtMyAtcCAtcjEuNDMgYXJyYXlfb2JqZWN0LmNwcAotLS0g
YXJyYXlfb2JqZWN0LmNwcAkyMDA1LzA3LzAzIDEwOjQ3OjUyCTEuNDMKKysrIGFycmF5X29iamVj
dC5jcHAJMjAwNS8wNy8xMyAyMToyMDowMgpAQCAtMTYsNyArMTYsNyBAQAogICoKICAqICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0
byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEw
LTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBhcnJheV9vYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2FycmF5X29iamVjdC5oLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjEyCmRpZmYgLXUgLTMgLXAgLXIxLjEyIGFycmF5X29iamVjdC5o
Ci0tLSBhcnJheV9vYmplY3QuaAkyMDA1LzA2LzMwIDAxOjE5OjQyCTEuMTIKKysrIGFycmF5X29i
amVjdC5oCTIwMDUvMDcvMTMgMjE6MjA6MDIKQEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYwogICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjEx
MC0xMzAxICBVU0EKICAqCiAgKi8KIApJbmRleDogYm9vbF9vYmplY3QuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvYm9vbF9vYmplY3QuY3BwLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjEwCmRpZmYgLXUgLTMgLXAgLXIxLjEwIGJvb2xfb2JqZWN0
LmNwcAotLS0gYm9vbF9vYmplY3QuY3BwCTIwMDUvMDQvMjkgMDA6MjI6NTUJMS4xMAorKysgYm9v
bF9vYmplY3QuY3BwCTIwMDUvMDcvMTMgMjE6MjA6MDIKQEAgLTE2LDcgKzE2LDcgQEAKICAqCiAg
KiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYwogICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwg
d3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w
bGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1B
ICAwMjExMC0xMzAxICBVU0EKICAqCiAgKi8KIApJbmRleDogYm9vbF9vYmplY3QuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2Jvb2xfb2JqZWN0Lmgs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC0zIC1wIC1yMS40IGJvb2xfb2JqZWN0
LmgKLS0tIGJvb2xfb2JqZWN0LmgJMjAwMi8xMS8yMCAyMToxMjoxNAkxLjQKKysrIGJvb2xfb2Jq
ZWN0LmgJMjAwNS8wNy8xMyAyMToyMDowMgpAQCAtMTUsNyArMTUsNyBAQAogICoKICAqICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0
byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEw
LTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBjb2xsZWN0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvY29sbGVjdG9yLmNwcCx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS4zOApkaWZmIC11IC0zIC1wIC1yMS4zOCBjb2xsZWN0b3IuY3BwCi0t
LSBjb2xsZWN0b3IuY3BwCTIwMDUvMDcvMTAgMDA6Mzg6MTEJMS4zOAorKysgY29sbGVjdG9yLmNw
cAkyMDA1LzA3LzEzIDIxOjIwOjAzCkBAIC0xNSw3ICsxNSw3IEBACiAgKgogICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
ICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRo
ZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBT
dWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSAgVVNBCiAgKgogICovCiAKSW5kZXg6IGNvbGxlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvY29sbGVjdG9yLmgsdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuMTgKZGlmZiAtdSAtMyAtcCAtcjEuMTggY29sbGVjdG9yLmgKLS0tIGNvbGxlY3Rv
ci5oCTIwMDUvMDUvMDkgMjM6NTc6MzMJMS4xOAorKysgY29sbGVjdG9yLmgJMjAwNS8wNy8xMyAy
MToyMDowNApAQCAtMTcsNyArMTcsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy
ZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0
b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAq
LwogCkluZGV4OiBjb21wbGV0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0ph
dmFTY3JpcHRDb3JlL2tqcy9jb21wbGV0aW9uLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOQpk
aWZmIC11IC0zIC1wIC1yMS45IGNvbXBsZXRpb24uaAotLS0gY29tcGxldGlvbi5oCTIwMDQvMDQv
MTkgMDA6MTc6NTYJMS45CisrKyBjb21wbGV0aW9uLmgJMjAwNS8wNy8xMyAyMToyMDowNApAQCAt
MTcsOCArMTcsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2Ug
LSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZs
b29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkBAIC0zOSw3
ICszOSw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgKiBDb21wbGV0aW9uIG9iamVjdHMgYXJlIHVz
ZWQgdG8gY29udmV5IHRoZSByZXR1cm4gc3RhdHVzIGFuZCB2YWx1ZQogICAgKiBmcm9tIGZ1bmN0
aW9ucy4KICAgICoKLSAgICogU2VlIEByZWYgRnVuY3Rpb25JbXA6OmV4ZWN1dGUoKQorICAgKiBT
ZWUgRnVuY3Rpb25JbXA6OmV4ZWN1dGUoKQogICAgKgogICAgKiBAc2VlIEZ1bmN0aW9uSW1wCiAg
ICAqCkluZGV4OiBjb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFT
Y3JpcHRDb3JlL2tqcy9jb250ZXh0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAKZGlmZiAt
dSAtMyAtcCAtcjEuMTAgY29udGV4dC5oCi0tLSBjb250ZXh0LmgJMjAwNS8wNi8xNyAwMDo1Nzoz
NwkxLjEwCisrKyBjb250ZXh0LmgJMjAwNS8wNy8xMyAyMToyMDowNApAQCAtMTcsOCArMTcsOCBA
QAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAs
Ci0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiBkYXRlX29iamVjdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9kYXRl
X29iamVjdC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDIKZGlmZiAtdSAtMyAtcCAtcjEu
NDIgZGF0ZV9vYmplY3QuY3BwCi0tLSBkYXRlX29iamVjdC5jcHAJMjAwNS8wNy8wMSAxODo0NTow
OAkxLjQyCisrKyBkYXRlX29iamVjdC5jcHAJMjAwNS8wNy8xMyAyMToyMDowNgpAQCAtMTYsNyAr
MTYsNyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3
ICBVU0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBkYXRlX29i
amVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMv
ZGF0ZV9vYmplY3QuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC0zIC1wIC1y
MS4xMCBkYXRlX29iamVjdC5oCi0tLSBkYXRlX29iamVjdC5oCTIwMDUvMDcvMDEgMTg6NDU6MDkJ
MS4xMAorKysgZGF0ZV9vYmplY3QuaAkyMDA1LzA3LzEzIDIxOjIwOjA2CkBAIC0xNSw3ICsxNSw3
IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5j
LiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVT
QQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwg
Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6IGRlYnVnZ2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2RlYnVn
Z2VyLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zCmRpZmYgLXUgLTMgLXAgLXIxLjMgZGVi
dWdnZXIuY3BwCi0tLSBkZWJ1Z2dlci5jcHAJMjAwMi8wNC8xNSAyMzo0MDo1NwkxLjMKKysrIGRl
YnVnZ2VyLmNwcAkyMDA1LzA3LzEzIDIxOjIwOjA2CkBAIC0xNiw3ICsxNiw3IEBACiAgKgogICog
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdy
aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxl
IFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAg
MDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6IGRlYnVnZ2VyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9kZWJ1Z2dlci5oLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtMyAtcCAtcjEuMyBkZWJ1Z2dlci5oCi0tLSBkZWJ1
Z2dlci5oCTIwMDIvMDQvMTUgMjM6NDA6NTcJMS4zCisrKyBkZWJ1Z2dlci5oCTIwMDUvMDcvMTMg
MjE6MjA6MDYKQEAgLTE2LDcgKzE2LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICogIExpY2Vuc2Ug
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdh
cmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9z
dG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAqCiAg
Ki8KIApAQCAtMTAwLDEwICsxMDAsMTAgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICoKICAgICAg
KiBAcGFyYW0gZXhlYyBUaGUgY3VycmVudCBleGVjdXRpb24gc3RhdGUKICAgICAgKiBAcGFyYW0g
c291cmNlSWQgVGhlIElEIG9mIHRoZSBzb3VyY2UgY29kZSAoY29ycmVzcG9uZHMgdG8gdGhlCi0g
ICAgICogc291cmNlSWQgc3VwcGxpZWQgaW4gb3RoZXIgZnVuY3Rpb25zIHN1Y2ggYXMgQHJlZiBh
dFN0YXRlbWVudCgpCisgICAgICogc291cmNlSWQgc3VwcGxpZWQgaW4gb3RoZXIgZnVuY3Rpb25z
IHN1Y2ggYXMgYXRTdGF0ZW1lbnQoKQogICAgICAqIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBj
b2RlIHRoYXQgd2FzIHBhcnNlZAogICAgICAqIEBwYXJhbSBlcnJvckxpbmUgVGhlIGxpbmUgbnVt
YmVyIGF0IHdoaWNoIHBhcnNpbmcgZW5jb3VudGVyZWQgYW4KLSAgICAgKiBlcnJvciwgb3IgLTEg
aWYgdGhlIHNvdXJjZSBjb2RlIHdhcyB2YWxpZCBhbmQgcGFyc2VkIHN1Y2Nlc2Z1bGx5CisgICAg
ICogZXJyb3IsIG9yIC0xIGlmIHRoZSBzb3VyY2UgY29kZSB3YXMgdmFsaWQgYW5kIHBhcnNlZCBz
dWNjZXNzZnVsbHkKICAgICAgKiBAcmV0dXJuIHRydWUgaWYgZXhlY3V0aW9uIHNob3VsZCBiZSBj
b250aW51ZSwgZmFsc2UgaWYgaXQgc2hvdWxkCiAgICAgICogYmUgYWJvcnRlZAogICAgICAqLwpJ
bmRleDogZHRvYS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29y
ZS9ranMvZHRvYS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtMyAtcCAtcjEu
MyBkdG9hLmgKLS0tIGR0b2EuaAkyMDAzLzAxLzIyIDAwOjExOjQzCTEuMworKysgZHRvYS5oCTIw
MDUvMDcvMTMgMjE6MjA6MDYKQEAgLTE1LDggKzE1LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEt
MTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KICAqCiAgKi8KIApJbmRleDogZXJyb3Jfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2Vycm9yX29iamVjdC5jcHAsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuMTMKZGlmZiAtdSAtMyAtcCAtcjEuMTMgZXJyb3Jfb2JqZWN0LmNwcAot
LS0gZXJyb3Jfb2JqZWN0LmNwcAkyMDA1LzA3LzA4IDIyOjIzOjIxCTEuMTMKKysrIGVycm9yX29i
amVjdC5jcHAJMjAwNS8wNy8xMyAyMToyMDowNgpAQCAtMTYsNyArMTYsNyBAQAogICoKICAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQ
bGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqICBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAy
MTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBlcnJvcl9vYmplY3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2Vycm9yX29iamVjdC5oLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtMyAtcCAtcjEuMyBlcnJvcl9vYmplY3Qu
aAotLS0gZXJyb3Jfb2JqZWN0LmgJMjAwMi8wNC8xNSAyMzo0MDo1OQkxLjMKKysrIGVycm9yX29i
amVjdC5oCTIwMDUvMDcvMTMgMjE6MjA6MDgKQEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYwogICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjEx
MC0xMzAxICBVU0EKICAqCiAgKi8KIApJbmRleDogZnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvZnVuY3Rpb24uY3BwLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjQ2CmRpZmYgLXUgLTMgLXAgLXIxLjQ2IGZ1bmN0aW9uLmNwcAotLS0g
ZnVuY3Rpb24uY3BwCTIwMDUvMDcvMTIgMTg6MjA6MDIJMS40NgorKysgZnVuY3Rpb24uY3BwCTIw
MDUvMDcvMTMgMjE6MjA6MDgKQEAgLTE3LDggKzE3LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEt
MTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KICAqCiAgKi8KIApJbmRleDogZnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2Z1bmN0aW9uLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuMjUKZGlmZiAtdSAtMyAtcCAtcjEuMjUgZnVuY3Rpb24uaAotLS0gZnVuY3Rpb24uaAkyMDA1
LzA3LzEyIDE2OjQ4OjI5CTEuMjUKKysrIGZ1bmN0aW9uLmgJMjAwNS8wNy8xMyAyMToyMDowOQpA
QCAtMTYsOCArMTYsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRo
IEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4
OiBmdW5jdGlvbl9vYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZh
U2NyaXB0Q29yZS9ranMvZnVuY3Rpb25fb2JqZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS4yNApkaWZmIC11IC0zIC1wIC1yMS4yNCBmdW5jdGlvbl9vYmplY3QuY3BwCi0tLSBmdW5jdGlv
bl9vYmplY3QuY3BwCTIwMDQvMTAvMDcgMjE6MzA6NDcJMS4yNAorKysgZnVuY3Rpb25fb2JqZWN0
LmNwcAkyMDA1LzA3LzEzIDIxOjIwOjA5CkBAIC0xNiw3ICsxNiw3IEBACiAgKgogICogIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRv
IHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNl
LCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6IGZ1bmN0aW9uX29iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvZnVuY3Rpb25fb2JqZWN0Lmgs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC0zIC1wIC1yMS40IGZ1bmN0aW9uX29i
amVjdC5oCi0tLSBmdW5jdGlvbl9vYmplY3QuaAkyMDA0LzA3LzIyIDIzOjMwOjUyCTEuNAorKysg
ZnVuY3Rpb25fb2JqZWN0LmgJMjAwNS8wNy8xMyAyMToyMDowOQpAQCAtMTUsNyArMTUsNyBAQAog
ICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5
IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAq
ICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkBAIC0zMiw3ICszMiw3IEBAIG5hbWVz
cGFjZSBLSlMgewogICAgKiBAaW50ZXJuYWwKICAgICoKICAgICogVGhlIGluaXRpYWwgdmFsdWUg
b2YgRnVuY3Rpb24ucHJvdG90eXBlIChhbmQgdGh1cyBhbGwgb2JqZWN0cyBjcmVhdGVkCi0gICAq
IHdpdGggdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCisgICAqIHdpdGggdGhlIEZ1bmN0aW9uIGNv
bnN0cnVjdG9yKQogICAgKi8KICAgY2xhc3MgRnVuY3Rpb25Qcm90b3R5cGVJbXAgOiBwdWJsaWMg
SW50ZXJuYWxGdW5jdGlvbkltcCB7CiAgIHB1YmxpYzoKSW5kZXg6IGdyYW1tYXIueQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2dyYW1tYXIueSx2CnJl
dHJpZXZpbmcgcmV2aXNpb24gMS4yMQpkaWZmIC11IC0zIC1wIC1yMS4yMSBncmFtbWFyLnkKLS0t
IGdyYW1tYXIueQkyMDA1LzA3LzA3IDA3OjMzOjEyCTEuMjEKKysrIGdyYW1tYXIueQkyMDA1LzA3
LzEzIDIxOjIwOjEwCkBAIC0xNiw3ICsxNiw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNl
bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv
ZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAs
IEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAg
KgogICovCiAKSW5kZXg6IGlkZW50aWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
cm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvaWRlbnRpZmllci5jcHAsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMTQKZGlmZiAtdSAtMyAtcCAtcjEuMTQgaWRlbnRpZmllci5jcHAKLS0tIGlkZW50aWZp
ZXIuY3BwCTIwMDUvMDQvMTUgMDE6MjY6MjYJMS4xNAorKysgaWRlbnRpZmllci5jcHAJMjAwNS8w
Ny8xMyAyMToyMDoxMApAQCAtMTQsOCArMTQsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3
LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgog
ICoKICAqLwogCkluZGV4OiBpZGVudGlmaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9y
b290L0phdmFTY3JpcHRDb3JlL2tqcy9pZGVudGlmaWVyLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuMTQKZGlmZiAtdSAtMyAtcCAtcjEuMTQgaWRlbnRpZmllci5oCi0tLSBpZGVudGlmaWVyLmgJ
MjAwNC8wOC8wMyAyMjo0NTo1MQkxLjE0CisrKyBpZGVudGlmaWVyLmgJMjAwNS8wNy8xMyAyMToy
MDoxMApAQCAtMTQsOCArMTQsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w
bGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisg
KiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQs
IEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwog
CkluZGV4OiBpbnRlcm5hbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFT
Y3JpcHRDb3JlL2tqcy9pbnRlcm5hbC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTcKZGlm
ZiAtdSAtMyAtcCAtcjEuNTcgaW50ZXJuYWwuY3BwCi0tLSBpbnRlcm5hbC5jcHAJMjAwNS8wNi8x
NyAwMDo1NzozNwkxLjU3CisrKyBpbnRlcm5hbC5jcHAJMjAwNS8wNy8xMyAyMToyMDoxMQpAQCAt
MTcsOCArMTcsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2Ug
LSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZs
b29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiBp
bnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9r
anMvaW50ZXJuYWwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yOApkaWZmIC11IC0zIC1wIC1y
MS4yOCBpbnRlcm5hbC5oCi0tLSBpbnRlcm5hbC5oCTIwMDUvMDcvMDEgMDA6NDU6NDkJMS4yOAor
KysgaW50ZXJuYWwuaAkyMDA1LzA3LzEzIDIxOjIwOjExCkBAIC0xNyw4ICsxNyw4IEBACiAgKgog
ICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBC
b3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCiAgKgogICovCiAKSW5kZXg6IGludGVycHJldGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2ludGVycHJldGVy
LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNApkaWZmIC11IC0zIC1wIC1yMS4yNCBpbnRl
cnByZXRlci5jcHAKLS0tIGludGVycHJldGVyLmNwcAkyMDA1LzAyLzEyIDAwOjU4OjEzCTEuMjQK
KysrIGludGVycHJldGVyLmNwcAkyMDA1LzA3LzEzIDIxOjIwOjEzCkBAIC0xNyw4ICsxNyw4IEBA
CiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwK
LSAqICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgogICovCiAKSW5kZXg6IGludGVycHJldGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9pbnRlcnBy
ZXRlci5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIzCmRpZmYgLXUgLTMgLXAgLXIxLjIzIGlu
dGVycHJldGVyLmgKLS0tIGludGVycHJldGVyLmgJMjAwNS8wNy8wMSAwOTo1NTowMgkxLjIzCisr
KyBpbnRlcnByZXRlci5oCTIwMDUvMDcvMTMgMjE6MjA6MTQKQEAgLTE3LDggKzE3LDggQEAKICAq
CiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICog
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApAQCAtNDgsMTAgKzQ4LDEwIEBAIG5hbWVz
cGFjZSBLSlMgewogICAgKiBBbiBleGVjdXRpb24gY29udGV4dCBjb250YWlucyBpbmZvcm1hdGlv
biBhYm91dCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUKICAgICogc2NyaXB0IC0gdGhlIHNjb3Bl
IGZvciB2YXJpYWJsZSBsb29rdXAsIHRoZSB2YWx1ZSBvZiAidGhpcyIsIGV0Yy4gQSBuZXcKICAg
ICogZXhlY3V0aW9uIGNvbnRleHQgaXMgZW50ZXJlZCB3aGVuZXZlciBnbG9iYWwgY29kZSBpcyBl
eGVjdXRlZCAoZS5nLiB3aXRoCi0gICAqIEByZWYgSW50ZXJwcmV0ZXI6OmV2YWx1YXRlKCkpLCBh
IGZ1bmN0aW9uIGlzIGNhbGxlZCAoc2VlIEByZWYKKyAgICogSW50ZXJwcmV0ZXI6OmV2YWx1YXRl
KCkpLCBhIGZ1bmN0aW9uIGlzIGNhbGxlZCAoc2VlCiAgICAqIE9iamVjdDo6Y2FsbCgpKSwgb3Ig
dGhlIGJ1aWx0aW4gImV2YWwiIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkLgogICAgKgotICAgKiBNb3N0
IGluaGVyaXRhYmxlIGZ1bmN0aW9ucyBpbiB0aGUgS0pTIGFwaSB0YWtlIGEgQHJlZiBFeGVjU3Rh
dGUgcG9pbnRlciBhcworICAgKiBNb3N0IGluaGVyaXRhYmxlIGZ1bmN0aW9ucyBpbiB0aGUgS0pT
IGFwaSB0YWtlIGEgRXhlY1N0YXRlIHBvaW50ZXIgYXMKICAgICogdGhlaXIgZmlyc3QgcGFyYW1l
dGVyLiBUaGlzIGNhbiBiZSB1c2VkIHRvIG9idGFpbiBhIGhhbmRsZSB0byB0aGUgY3VycmVudAog
ICAgKiBleGVjdXRpb24gY29udGV4dC4KICAgICoKQEAgLTEwMSw4ICsxMDEsOCBAQCBuYW1lc3Bh
Y2UgS0pTIHsKIAogICAgIC8qKgogICAgICAqIFJldHVybnMgdGhlIGNvbnRleHQgZnJvbSB3aGlj
aCB0aGUgY3VycmVudCBjb250ZXh0IHdhcyBpbnZva2VkLiBGb3IKLSAgICAgKiBnbG9iYWwgY29k
ZSB0aGlzIHdpbGwgYmUgYSBudWxsIGNvbnRleHQgKGkuZS4gb25lIGZvciB3aGljaCBAcmVmCi0g
ICAgICogaXNOdWxsKCkgcmV0dXJucyB0cnVlKS4gWW91IHNob3VsZCBjaGVjayBAcmVmIGlzTnVs
bCgpIG9uIHRoZSByZXR1cm5lZAorICAgICAqIGdsb2JhbCBjb2RlIHRoaXMgd2lsbCBiZSBhIG51
bGwgY29udGV4dCAoaS5lLiBvbmUgZm9yIHdoaWNoCisgICAgICogaXNOdWxsKCkgcmV0dXJucyB0
cnVlKS4gWW91IHNob3VsZCBjaGVjayBpc051bGwoKSBvbiB0aGUgcmV0dXJuZWQKICAgICAgKiB2
YWx1ZSBiZWZvcmUgY2FsbGluZyBhbnkgb2YgaXQncyBtZXRob2RzLgogICAgICAqCiAgICAgICog
QHJldHVybiBUaGUgY2FsbGluZyBleGVjdXRpb24gY29udGV4dApAQCAtMzM5LDcgKzMzOSw3IEBA
IG5hbWVzcGFjZSBLSlMgewogICAgIC8qKgogICAgICAqIENhbGwgdGhpcyB0byBlbmFibGUgYSBj
b21wYXRpYmlsaXR5IG1vZGUgd2l0aCBhbm90aGVyIGJyb3dzZXIuCiAgICAgICogKGJ5IGRlZmF1
bHQga29ucXVlcm9yIGlzIGluICJuYXRpdmUgbW9kZSIpLgotICAgICAqIEN1cnJlbnRseSwgaW4g
S0pTLCB0aGlzIG9ubHkgY2hhbmdlcyB0aGUgYmVoYXZpb3VyIG9mIERhdGU6OmdldFllYXIoKQor
ICAgICAqIEN1cnJlbnRseSwgaW4gS0pTLCB0aGlzIG9ubHkgY2hhbmdlcyB0aGUgYmVoYXZpb3Ig
b2YgRGF0ZTo6Z2V0WWVhcigpCiAgICAgICogd2hpY2ggcmV0dXJucyB0aGUgZnVsbCB5ZWFyIHVu
ZGVyIElFLgogICAgICAqLwogICAgIHZvaWQgc2V0Q29tcGF0TW9kZShDb21wYXRNb2RlIG1vZGUp
OwpJbmRleDogbGV4ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2Ny
aXB0Q29yZS9ranMvbGV4ZXIuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE3CmRpZmYgLXUg
LTMgLXAgLXIxLjE3IGxleGVyLmNwcAotLS0gbGV4ZXIuY3BwCTIwMDQvMDkvMTAgMDE6NTI6MjQJ
MS4xNworKysgbGV4ZXIuY3BwCTIwMDUvMDcvMTMgMjE6MjA6MTQKQEAgLTE1LDggKzE1LDggQEAK
ICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAot
ICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogbGV4ZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL2xleGVyLmgsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuOQpkaWZmIC11IC0zIC1wIC1yMS45IGxleGVyLmgKLS0tIGxleGVy
LmgJMjAwNC8wOS8xMCAwMTo1MjoyNAkxLjkKKysrIGxleGVyLmgJMjAwNS8wNy8xMyAyMToyMDox
NApAQCAtMTUsOCArMTUsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUg
UGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZp
ZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCklu
ZGV4OiBsaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENv
cmUva2pzL2xpc3QuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEyCmRpZmYgLXUgLTMgLXAg
LXIxLjEyIGxpc3QuY3BwCi0tLSBsaXN0LmNwcAkyMDA1LzA1LzE5IDAwOjUwOjEwCTEuMTIKKysr
IGxpc3QuY3BwCTIwMDUvMDcvMTMgMjE6MjA6MTQKQEAgLTE0LDggKzE0LDggQEAKICAqCiAgKiAg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3Rv
biwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogbGlzdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvbGlzdC5oLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjgKZGlmZiAtdSAtMyAtcCAtcjEuOCBsaXN0LmgKLS0tIGxpc3QuaAkyMDA1LzA1LzE5
IDAwOjUwOjEwCTEuOAorKysgbGlzdC5oCTIwMDUvMDcvMTMgMjE6MjA6MTQKQEAgLTE1LDggKzE1
LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUg
MzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAq
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApAQCAtODgsMjUgKzg4LDI1
IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAgICAgKi8KICAgICAgICAgaW50IHNpemUoKSBjb25z
dCB7IHJldHVybiBfaW1wQmFzZS0+c2l6ZTsgfQogICAgICAgICAvKioKLSAgICAgICAgICogQHJl
dHVybiBBIEByZWYgS0pTOjpMaXN0SXRlcmF0b3IgcG9pbnRpbmcgdG8gdGhlIGZpcnN0IGVsZW1l
bnQuCisgICAgICAgICAqIEByZXR1cm4gQSBLSlM6Okxpc3RJdGVyYXRvciBwb2ludGluZyB0byB0
aGUgZmlyc3QgZWxlbWVudC4KICAgICAgICAgICovCiAgICAgICAgIExpc3RJdGVyYXRvciBiZWdp
bigpIGNvbnN0OwogICAgICAgICAvKioKLSAgICAgICAgICogQHJldHVybiBBIEByZWYgS0pTOjpM
aXN0SXRlcmF0b3IgcG9pbnRpbmcgdG8gdGhlIGxhc3QgZWxlbWVudC4KKyAgICAgICAgICogQHJl
dHVybiBBIEtKUzo6TGlzdEl0ZXJhdG9yIHBvaW50aW5nIHRvIHRoZSBsYXN0IGVsZW1lbnQuCiAg
ICAgICAgICAqLwogICAgICAgICBMaXN0SXRlcmF0b3IgZW5kKCkgY29uc3Q7CiAgICAgICAgIAog
ICAgICAgICAvKioKICAgICAgICAgICogUmV0cmlldmUgYW4gZWxlbWVudCBhdCBhbiBpbmRleGVk
IHBvc2l0aW9uLiBJZiB5b3Ugd2FudCB0byBpdGVyYXRlCi0gICAgICAgICAqIHRyb3VnaCB0aGUg
d2hvbGUgbGlzdCB1c2luZyBAcmVmIEtKUzo6TGlzdEl0ZXJhdG9yIHdpbGwgYmUgZmFzdGVyLgor
ICAgICAgICAgKiB0cm91Z2ggdGhlIHdob2xlIGxpc3QgdXNpbmcgS0pTOjpMaXN0SXRlcmF0b3Ig
d2lsbCBiZSBmYXN0ZXIuCiAgICAgICAgICAqCiAgICAgICAgICAqIEBwYXJhbSBpIExpc3QgaW5k
ZXguCi0gICAgICAgICAqIEByZXR1cm4gUmV0dXJuIHRoZSBlbGVtZW50IGF0IHBvc2l0aW9uIGku
IEByZWYgS0pTOjpVbmRlZmluZWQgaWYgdGhlCisgICAgICAgICAqIEByZXR1cm4gUmV0dXJuIHRo
ZSBlbGVtZW50IGF0IHBvc2l0aW9uIGkuIEtKUzo6VW5kZWZpbmVkIGlmIHRoZQogICAgICAgICAg
KiBpbmRleCBpcyBvdXQgb2YgcmFuZ2UuCiAgICAgICAgICAqLwogICAgICAgICBWYWx1ZSBhdChp
bnQgaSkgY29uc3QgeyByZXR1cm4gVmFsdWUoaW1wQXQoaSkpOyB9CiAgICAgICAgIC8qKgotICAg
ICAgICAgKiBFcXVpdmFsZW50IHRvIEByZWYgYXQuCisgICAgICAgICAqIEVxdWl2YWxlbnQgdG8g
YXQuCiAgICAgICAgICAqLwogICAgICAgICBWYWx1ZSBvcGVyYXRvcltdKGludCBpKSBjb25zdCB7
IHJldHVybiBWYWx1ZShpbXBBdChpKSk7IH0KICAgICAgICAgCkBAIC0xMTQsNyArMTE0LDcgQEAg
bmFtZXNwYWNlIEtKUyB7CiAgICAgCiAgICAgICAgIC8qKgogICAgICAgICAgKiBSZXR1cm5zIGEg
cG9pbnRlciB0byBhIHN0YXRpYyBpbnN0YW5jZSBvZiBhbiBlbXB0eSBsaXN0LiBVc2VmdWwgaWYg
YQotICAgICAgICAgKiBmdW5jdGlvbiBoYXMgYSBAcmVmIEtKUzo6TGlzdCBwYXJhbWV0ZXIuCisg
ICAgICAgICAqIGZ1bmN0aW9uIGhhcyBhIEtKUzo6TGlzdCBwYXJhbWV0ZXIuCiAgICAgICAgICAq
LwogICAgICAgICBzdGF0aWMgY29uc3QgTGlzdCAmZW1wdHkoKTsKICAgICAgICAgCkBAIC0xMzIs
NyArMTMyLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgfTsKICAgCiAgICAgLyoqCi0gICAgICog
QHNob3J0IEl0ZXJhdG9yIGZvciBAcmVmIEtKUzo6TGlzdCBvYmplY3RzLgorICAgICAqIEBzaG9y
dCBJdGVyYXRvciBmb3IgS0pTOjpMaXN0IG9iamVjdHMuCiAgICAgICovCiAgICAgY2xhc3MgTGlz
dEl0ZXJhdG9yIHsKICAgICBwdWJsaWM6CkluZGV4OiBsb29rdXAuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvbG9va3VwLmNwcCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC0zIC1wIC1yMS4xMCBsb29rdXAuY3BwCi0tLSBsb29r
dXAuY3BwCTIwMDUvMDQvMjAgMTA6MTQ6MzUJMS4xMAorKysgbG9va3VwLmNwcAkyMDA1LzA3LzEz
IDIxOjIwOjE1CkBAIC0xNiw3ICsxNiw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJv
c3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgog
ICovCiAKSW5kZXg6IGxvb2t1cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZh
U2NyaXB0Q29yZS9ranMvbG9va3VwLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTEKZGlmZiAt
dSAtMyAtcCAtcjEuMTEgbG9va3VwLmgKLS0tIGxvb2t1cC5oCTIwMDUvMDcvMDMgMTA6NDc6NTMJ
MS4xMQorKysgbG9va3VwLmgJMjAwNS8wNy8xMyAyMToyMDoxNwpAQCAtMTYsNyArMTYsNyBAQAog
ICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5
IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAq
ICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBtYXRoX29iamVjdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9tYXRoX29i
amVjdC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTMKZGlmZiAtdSAtMyAtcCAtcjEuMTMg
bWF0aF9vYmplY3QuY3BwCi0tLSBtYXRoX29iamVjdC5jcHAJMjAwNC8wOC8xMiAxNzoyMToyOQkx
LjEzCisrKyBtYXRoX29iamVjdC5jcHAJMjAwNS8wNy8xMyAyMToyMDoxOApAQCAtMTUsNyArMTUs
NyBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGVzc2VyIEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIElu
Yy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBV
U0EKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3Is
IEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiBtYXRoX29iamVj
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvbWF0
aF9vYmplY3QuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLTMgLXAgLXIxLjQg
bWF0aF9vYmplY3QuaAotLS0gbWF0aF9vYmplY3QuaAkyMDAyLzExLzE5IDIyOjAyOjI1CTEuNAor
KysgbWF0aF9vYmplY3QuaAkyMDA1LzA3LzEzIDIxOjIwOjE4CkBAIC0xNSw3ICsxNSw3IEBACiAg
KgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkg
VGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICog
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u
LCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6IG5vZGVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmNwcCx2CnJl
dHJpZXZpbmcgcmV2aXNpb24gMS42NApkaWZmIC11IC0zIC1wIC1yMS42NCBub2Rlcy5jcHAKLS0t
IG5vZGVzLmNwcAkyMDA1LzA3LzAxIDE3OjQ3OjEyCTEuNjQKKysrIG5vZGVzLmNwcAkyMDA1LzA3
LzEzIDIxOjIwOjIxCkBAIC0xNyw4ICsxNyw4IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
ICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAyMTExLTEzMDcs
IFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAg
KgogICovCiAKSW5kZXg6IG5vZGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0ph
dmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIyCmRpZmYg
LXUgLTMgLXAgLXIxLjIyIG5vZGVzLmgKLS0tIG5vZGVzLmgJMjAwNS8wNi8yMSAwODoyNToyMgkx
LjIyCisrKyBub2Rlcy5oCTIwMDUvMDcvMTMgMjE6MjA6MjUKQEAgLTE3LDggKzE3LDggQEAKICAq
CiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICog
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogbm9kZXMyc3RyaW5nLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzMnN0
cmluZy5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAKZGlmZiAtdSAtMyAtcCAtcjEuMTAg
bm9kZXMyc3RyaW5nLmNwcAotLS0gbm9kZXMyc3RyaW5nLmNwcAkyMDAzLzAxLzIyIDAwOjExOjQ0
CTEuMTAKKysrIG5vZGVzMnN0cmluZy5jcHAJMjAwNS8wNy8xMyAyMToyMDoyNQpAQCAtMTYsOCAr
MTYsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0
ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAor
ICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiBudW1iZXJf
b2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUv
a2pzL251bWJlcl9vYmplY3QuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE2CmRpZmYgLXUg
LTMgLXAgLXIxLjE2IG51bWJlcl9vYmplY3QuY3BwCi0tLSBudW1iZXJfb2JqZWN0LmNwcAkyMDA0
LzA4LzEwIDE4OjQzOjUxCTEuMTYKKysrIG51bWJlcl9vYmplY3QuY3BwCTIwMDUvMDcvMTMgMjE6
MjA6MjcKQEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICogIExpY2Vuc2UgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUK
LSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9u
LCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAqCiAgKi8K
IApJbmRleDogbnVtYmVyX29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9K
YXZhU2NyaXB0Q29yZS9ranMvbnVtYmVyX29iamVjdC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjYKZGlmZiAtdSAtMyAtcCAtcjEuNiBudW1iZXJfb2JqZWN0LmgKLS0tIG51bWJlcl9vYmplY3Qu
aAkyMDA0LzA4LzAzIDIyOjQ1OjUxCTEuNgorKysgbnVtYmVyX29iamVjdC5oCTIwMDUvMDcvMTMg
MjE6MjA6MjcKQEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICogIExpY2Vuc2Ug
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdh
cmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9z
dG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAqCiAg
Ki8KIApJbmRleDogb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2
YVNjcmlwdENvcmUva2pzL29iamVjdC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDUKZGlm
ZiAtdSAtMyAtcCAtcjEuNDUgb2JqZWN0LmNwcAotLS0gb2JqZWN0LmNwcAkyMDA1LzA3LzAzIDEw
OjQ3OjUzCTEuNDUKKysrIG9iamVjdC5jcHAJMjAwNS8wNy8xMyAyMToyMDoyNwpAQCAtMTcsOCAr
MTcsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0
ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAor
ICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiBvYmplY3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL29iamVj
dC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM2CmRpZmYgLXUgLTMgLXAgLXIxLjM2IG9iamVj
dC5oCi0tLSBvYmplY3QuaAkyMDA1LzA3LzAzIDEwOjQ3OjUzCTEuMzYKKysrIG9iamVjdC5oCTIw
MDUvMDcvMTMgMjE6MjA6MjgKQEAgLTE3LDggKzE3LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEt
MTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KICAqCiAgKi8KIApAQCAtMTAxLDcgKzEwMSw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAq
IENvbnZlcnRzIGEgVmFsdWUgaW50byBhbiBPYmplY3QuIElmIHRoZSB2YWx1ZSdzIHR5cGUgaXMg
bm90IE9iamVjdFR5cGUsCiAgICAgICogYSBudWxsIG9iamVjdCB3aWxsIGJlIHJldHVybmVkIChp
LmUuIG9uZSB3aXRoIGl0J3MgaW50ZXJuYWwgcG9pbnRlciBzZXQKICAgICAgKiB0byAwKS4gSWYg
eW91IGRvIG5vdCBrbm93IGZvciBzdXJlIHdoZXRoZXIgdGhlIHZhbHVlIGlzIG9mIHR5cGUKLSAg
ICAgKiBPYmplY3RUeXBlLCB5b3Ugc2hvdWxkIGNoZWNrIHRoZSBAcmVmIGlzTnVsbCgpIG1ldGhv
ZHMgYWZ0ZXJ3YXJkcyBiZWZvcmUKKyAgICAgKiBPYmplY3RUeXBlLCB5b3Ugc2hvdWxkIGNoZWNr
IHRoZSBpc1ZhbGlkKCkgbWV0aG9kcyBhZnRlcndhcmRzIGJlZm9yZQogICAgICAqIGNhbGxpbmcg
YW55IG1ldGhvZHMgb24gdGhlIE9iamVjdC4KICAgICAgKgogICAgICAqIEByZXR1cm4gVGhlIHZh
bHVlIGNvbnZlcnRlZCB0byBhbiBvYmplY3QKQEAgLTI0NSw3ICsyNDUsNyBAQCBuYW1lc3BhY2Ug
S0pTIHsKICAgICAgKiB0aGlzIGlzIGRpc2NvdXJhZ2VkLgogICAgICAqCiAgICAgICogSWYgYW4g
ZXJyb3Igb2NjdXJzIGR1cmluZyBjb25zdHJ1Y3Rpb24sIHRoZSBleGVjdXRpb24gc3RhdGUncyBl
eGNlcHRpb24KLSAgICAgKiB3aWxsIGJlIHNldC4gVGhpcyBjYW4gYmUgdGVzdGVkIGZvciB3aXRo
IEByZWYgRXhlY1N0YXRlOjpoYWRFeGNlcHRpb24oKS4KKyAgICAgKiB3aWxsIGJlIHNldC4gVGhp
cyBjYW4gYmUgdGVzdGVkIGZvciB3aXRoIEV4ZWNTdGF0ZTo6aGFkRXhjZXB0aW9uKCkuCiAgICAg
ICogVW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzLCB0aGUgZXhjZXB0aW9uIG9iamVjdCBtYXkgYWxz
byBiZSByZXR1cm5lZC4KICAgICAgKgogICAgICAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gc2hvdWxk
IG5vdCBiZSBjYWxsZWQgaWYgaW1wbGVtZW50c0NvbnN0cnVjdCgpIHJldHVybnMKQEAgLTMwMCwx
MiArMzAwLDEyIEBAIG5hbWVzcGFjZSBLSlMgewogICAgIGJvb2wgaW1wbGVtZW50c0hhc0luc3Rh
bmNlKCkgY29uc3Q7CiAKICAgICAvKioKLSAgICAgKiBDaGVja3Mgd2hldGhlciB2YWx1ZSBkZWxl
Z2F0ZXMgYmVoYXZpb3VyIHRvIHRoaXMgb2JqZWN0LiBVc2VkIGJ5IHRoZQorICAgICAqIENoZWNr
cyB3aGV0aGVyIHZhbHVlIGRlbGVnYXRlcyBiZWhhdmlvciB0byB0aGlzIG9iamVjdC4gVXNlZCBi
eSB0aGUKICAgICAgKiBpbnN0YW5jZW9mIG9wZXJhdG9yLgogICAgICAqCiAgICAgICogQHBhcmFt
IGV4ZWMgVGhlIGN1cnJlbnQgZXhlY3V0aW9uIHN0YXRlCiAgICAgICogQHBhcmFtIHZhbHVlIFRo
ZSB2YWx1ZSB0byBjaGVjawotICAgICAqIEByZXR1cm4gdHJ1ZSBpZiB2YWx1ZSBkZWxlZ2F0ZXMg
YmVoYXZpb3VyIHRvIHRoaXMgb2JqZWN0LCBvdGhlcndpc2UKKyAgICAgKiBAcmV0dXJuIHRydWUg
aWYgdmFsdWUgZGVsZWdhdGVzIGJlaGF2aW9yIHRvIHRoaXMgb2JqZWN0LCBvdGhlcndpc2UKICAg
ICAgKiBmYWxzZQogICAgICAqLwogICAgIEJvb2xlYW4gaGFzSW5zdGFuY2UoRXhlY1N0YXRlICpl
eGVjLCBjb25zdCBWYWx1ZSAmdmFsdWUpOwpAQCAtMzE2LDYgKzMxNiw3IEBAIG5hbWVzcGFjZSBL
SlMgewogICAgICAqIGV4dHJhIG9iamVjdCBpbiBpdCdzIHNjb3BlLiBBbiBleGFtcGxlIG9mIHRo
aXMgaXMgZnVuY3Rpb25zIGRlY2xhcmVkCiAgICAgICogaW5zaWRlIG90aGVyIGZ1bmN0aW9uczoK
ICAgICAgKgorICAgICAqIFxjb2RlCiAgICAgICogZnVuY3Rpb24gZigpIHsKICAgICAgKgogICAg
ICAqICAgZnVuY3Rpb24gYigpIHsKQEAgLTMyNiw2ICszMjcsNyBAQCBuYW1lc3BhY2UgS0pTIHsK
ICAgICAgKiAgIC8vIGRvIHNvbWUgc3R1ZmYKICAgICAgKiB9CiAgICAgICogZi5wcm90b3R5cGUg
PSBuZXcgU3RyaW5nKCk7CisgICAgICogXGVuZGNvZGUKICAgICAgKgogICAgICAqIFdoZW4gdGhl
IGZ1bmN0aW9uIGYuYiBpcyBleGVjdXRlZCwgaXRzIHNjb3BlIHdpbGwgaW5jbHVkZSBwcm9wZXJ0
aWVzIG9mCiAgICAgICogZi4gU28gaW4gdGhlIGV4YW1wbGUgYWJvdmUgdGhlIHJldHVybiB2YWx1
ZSBvZiBmLmIoKSB3b3VsZCBiZSB0aGUgbmV3CkBAIC00MDYsNyArNDA4LDcgQEAgbmFtZXNwYWNl
IEtKUyB7CiAgICAgLyoqCiAgICAgICogQSBwb2ludGVyIHRvIGEgQ2xhc3NJbmZvIHN0cnVjdCBm
b3IgdGhpcyBjbGFzcy4gVGhpcyBwcm92aWRlcyBhIGJhc2ljCiAgICAgICogZmFjaWxpdHkgZm9y
IHJ1bi10aW1lIHR5cGUgaW5mb3JtYXRpb24sIGFuZCBjYW4gYmUgdXNlZCB0byBjaGVjayBhbgot
ICAgICAqIG9iamVjdCdzIGNsYXNzIGFuIGluaGVyaXRhbmNlIChzZWUgQHJlZiBpbmhlcml0cygp
KS4gVGhpcyBzaG91bGQKKyAgICAgKiBvYmplY3QncyBjbGFzcyBhbiBpbmhlcml0YW5jZSAoc2Vl
IGluaGVyaXRzKCkpLiBUaGlzIHNob3VsZAogICAgICAqIGFsd2F5cyByZXR1cm4gYSBzdGF0aWNh
bGx5IGRlY2xhcmVkIHBvaW50ZXIsIG9yIDAgdG8gaW5kaWNhdGUgdGhhdAogICAgICAqIHRoZXJl
IGlzIG5vIGNsYXNzIGluZm9ybWF0aW9uLgogICAgICAqCkBAIC00MTcsNiArNDE5LDcgQEAgbmFt
ZXNwYWNlIEtKUyB7CiAgICAgICogd2hlcmUgRm9vSW1wIGluaGVyaXRzIGZyb20gQmFySW1wLCB5
b3Ugd291bGQgYWRkIHRoZSBmb2xsb3dpbmcgaW4geW91cgogICAgICAqIGNsYXNzIGRlY2xhcmF0
aW9uczoKICAgICAgKgorICAgICAqIFxjb2RlCiAgICAgICogICBjbGFzcyBCYXJJbXAgOiBwdWJs
aWMgT2JqZWN0SW1wIHsKICAgICAgKiAgICAgdmlydHVhbCBjb25zdCBDbGFzc0luZm8gKmNsYXNz
SW5mbygpIGNvbnN0IHsgcmV0dXJuICZpbmZvOyB9CiAgICAgICogICAgIHN0YXRpYyBjb25zdCBD
bGFzc0luZm8gaW5mbzsKQEAgLTQyOCwxMSArNDMxLDE0IEBAIG5hbWVzcGFjZSBLSlMgewogICAg
ICAqICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIGluZm87CiAgICAgICogICAgIC8vIC4uLgog
ICAgICAqICAgfTsKKyAgICAgKiBcZW5kY29kZQogICAgICAqCiAgICAgICogQW5kIGluIHlvdXIg
c291cmNlIGZpbGU6CiAgICAgICoKKyAgICAgKiBcY29kZQogICAgICAqICAgY29uc3QgQ2xhc3NJ
bmZvIEJhckltcDo6aW5mbyA9IHswLCAwLCAwfTsgLy8gbm8gcGFyZW50IGNsYXNzCiAgICAgICog
ICBjb25zdCBDbGFzc0luZm8gRm9vSW1wOjppbmZvID0geyZCYXJJbXA6OmluZm8sIDAsIDB9Owor
ICAgICAqIFxlbmRjb2RlCiAgICAgICoKICAgICAgKiBAc2VlIGluaGVyaXRzKCkKICAgICAgKi8K
QEAgLTQ1Miw3ICs0NTgsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAgKiAgIH0KICAgICAgKgog
ICAgICAqIElmIHlvdSBoYXZlIGEgaGFuZGxlIHRvIGEgc3RhdGljYWxseSBkZWNsYXJlZCBDbGFz
c0luZm8sIHN1Y2ggYXMgaW4gdGhlCi0gICAgICogQHJlZiBjbGFzc0luZm8oKSBleGFtcGxlLCB5
b3UgY2FuIGNoZWNrIGZvciBpbmhlcml0YW5jZSB3aXRob3V0IG5lZWRpbmcKKyAgICAgKiBjbGFz
c0luZm8oKSBleGFtcGxlLCB5b3UgY2FuIGNoZWNrIGZvciBpbmhlcml0YW5jZSB3aXRob3V0IG5l
ZWRpbmcKICAgICAgKiBhbiBpbnN0YW5jZSBvZiB0aGUgb3RoZXIgY2xhc3M6CiAgICAgICoKICAg
ICAgKiAgIGlmIChvYmoxLT5pbmhlcml0cyhGb29JbXA6OmluZm8pKSB7CkBAIC00ODIsOCArNDg4
LDggQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICogT2JqZWN0cykKICAgICAgKgogICAgICAqIFRo
ZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHVzZXMgY2xhc3NJbmZvKCkuCi0gICAgICogWW91IHNo
b3VsZCBlaXRoZXIgaW1wbGVtZW50IEByZWYgY2xhc3NJbmZvKCksIG9yCi0gICAgICogaWYgeW91
IHNpbXBseSBuZWVkIGEgY2xhc3NuYW1lLCB5b3UgY2FuIHJlaW1wbGVtZW50IEByZWYgY2xhc3NO
YW1lKCkKKyAgICAgKiBZb3Ugc2hvdWxkIGVpdGhlciBpbXBsZW1lbnQgY2xhc3NJbmZvKCksIG9y
CisgICAgICogaWYgeW91IHNpbXBseSBuZWVkIGEgY2xhc3NuYW1lLCB5b3UgY2FuIHJlaW1wbGVt
ZW50IGNsYXNzTmFtZSgpCiAgICAgICogaW5zdGVhZC4KICAgICAgKgogICAgICAqIEBzZWUgT2Jq
ZWN0OjpjbGFzc05hbWUoKQpAQCAtNjYwLDcgKzY2Niw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzb3VyY2VJZCA9IC0xLCBjb25zdCBVU3RyaW5nICpz
b3VyY2VVUkwgPSAwKTsKIAogICAgIC8qKgotICAgICAqIEFycmF5IG9mIGVycm9yIG5hbWVzIGNv
cnJlc3BvbmRpbmcgdG8gQHJlZiBFcnJvclR5cGUKKyAgICAgKiBBcnJheSBvZiBlcnJvciBuYW1l
cyBjb3JyZXNwb25kaW5nIHRvIEVycm9yVHlwZQogICAgICAqLwogICAgIHN0YXRpYyBjb25zdCBj
aGFyICogY29uc3QgKiBjb25zdCBlcnJvck5hbWVzOwogICB9OwpJbmRleDogb2JqZWN0X29iamVj
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9v
YmplY3Rfb2JqZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXUgLTMgLXAg
LXIxLjkgb2JqZWN0X29iamVjdC5jcHAKLS0tIG9iamVjdF9vYmplY3QuY3BwCTIwMDUvMDcvMDMg
MTA6NDc6NTMJMS45CisrKyBvYmplY3Rfb2JqZWN0LmNwcAkyMDA1LzA3LzEzIDIxOjIwOjI4CkBA
IC0xNSw3ICsxNSw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91
bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAy
MTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBG
aWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5kZXg6
IG9iamVjdF9vYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlw
dENvcmUva2pzL29iamVjdF9vYmplY3QuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42CmRpZmYg
LXUgLTMgLXAgLXIxLjYgb2JqZWN0X29iamVjdC5oCi0tLSBvYmplY3Rfb2JqZWN0LmgJMjAwNS8w
Ny8wMyAxMDo0Nzo1MwkxLjYKKysrIG9iamVjdF9vYmplY3QuaAkyMDA1LzA3LzEzIDIxOjIwOjI4
CkBAIC0xNSw3ICsxNSw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNlbnNlIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAg
Rm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEg
IDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKgogICovCiAKSW5k
ZXg6IG9wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2Ny
aXB0Q29yZS9ranMvb3BlcmF0aW9ucy5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZm
IC11IC0zIC1wIC1yMS42IG9wZXJhdGlvbnMuY3BwCi0tLSBvcGVyYXRpb25zLmNwcAkyMDA1LzA0
LzIwIDEwOjE0OjM1CTEuNgorKysgb3BlcmF0aW9ucy5jcHAJMjAwNS8wNy8xMyAyMToyMDoyOApA
QCAtMTUsOCArMTUsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRo
IEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4
OiBvcGVyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRD
b3JlL2tqcy9vcGVyYXRpb25zLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC0z
IC1wIC1yMS40IG9wZXJhdGlvbnMuaAotLS0gb3BlcmF0aW9ucy5oCTIwMDUvMDQvMjAgMTA6MTQ6
MzUJMS40CisrKyBvcGVyYXRpb25zLmgJMjAwNS8wNy8xMyAyMToyMDoyOApAQCAtMTUsOCArMTUs
OCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAz
MzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICog
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkBAIC01MCw3ICs1MCw3IEBA
IG5hbWVzcGFjZSBLSlMgewogICBib29sIGVxdWFsKEV4ZWNTdGF0ZSAqZXhlYywgY29uc3QgVmFs
dWUmIHYxLCBjb25zdCBWYWx1ZSYgdjIpOwogICBib29sIHN0cmljdEVxdWFsKEV4ZWNTdGF0ZSAq
ZXhlYywgY29uc3QgVmFsdWUgJnYxLCBjb25zdCBWYWx1ZSAmdjIpOwogICAvKioKLSAgICogVGhp
cyBvcGVyYXRvciBwZXJmb3JtcyBhbiBhYnN0cmFjdCByZWxhdGlvbmFsIGNvbXBhcmlzaW9uIG9m
IHRoZSB0d28KKyAgICogVGhpcyBvcGVyYXRvciBwZXJmb3JtcyBhbiBhYnN0cmFjdCByZWxhdGlv
bmFsIGNvbXBhcmlzb24gb2YgdGhlIHR3bwogICAgKiBhcmd1bWVudHMgdGhhdCBjYW4gYmUgb2Yg
YXJiaXRyYXJ5IHR5cGUuIElmIHBvc3NpYmxlLCBjb252ZXJzaW9ucyB0byB0aGUKICAgICogc3Ry
aW5nIG9yIG51bWJlciB0eXBlIHdpbGwgdGFrZSBwbGFjZSBiZWZvcmUgdGhlIGNvbXBhcmlzb24u
CiAgICAqCkluZGV4OiBwcm9wZXJ0eV9tYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
cm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvcHJvcGVydHlfbWFwLmNwcCx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMS40MQpkaWZmIC11IC0zIC1wIC1yMS40MSBwcm9wZXJ0eV9tYXAuY3BwCi0tLSBwcm9w
ZXJ0eV9tYXAuY3BwCTIwMDUvMDQvMjAgMTA6MTQ6MzUJMS40MQorKysgcHJvcGVydHlfbWFwLmNw
cAkyMDA1LzA3LzEzIDIxOjIwOjI4CkBAIC0xNCw4ICsxNCw4IEBACiAgKgogICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAy
MTExLTEzMDcsIFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKgogICovCiAKSW5kZXg6IHByb3BlcnR5X21hcC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvcHJvcGVydHlfbWFwLmgsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuMjAKZGlmZiAtdSAtMyAtcCAtcjEuMjAgcHJvcGVydHlfbWFwLmgKLS0t
IHByb3BlcnR5X21hcC5oCTIwMDQvMDgvMTggMDA6MDc6MTAJMS4yMAorKysgcHJvcGVydHlfbWFw
LmgJMjAwNS8wNy8xMyAyMToyMDoyOApAQCAtMSwzICsxLDQgQEAKKy8vIC0qLSBjLWJhc2ljLW9m
ZnNldDogMiAtKi0KIC8qCiAgKiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJp
ZXMKICAqICBDb3B5cmlnaHQgKEMpIDIwMDQgQXBwbGUgQ29tcHV0ZXIsIEluYy4KQEAgLTE0LDgg
KzE1LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3Vp
dGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwK
KyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApAQCAtMzQsNiArMzUs
OSBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAKICAgICBzdHJ1Y3QgUHJvcGVydHlNYXBIYXNoVGFi
bGU7CiAgICAgCisvKioKKyogU2F2ZWQgUHJvcGVydGllcworKi8KICAgICBjbGFzcyBTYXZlZFBy
b3BlcnRpZXMgewogICAgIGZyaWVuZCBjbGFzcyBQcm9wZXJ0eU1hcDsKICAgICBwdWJsaWM6CkBA
IC00OCw2ICs1Miw5IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAgICBTYXZlZFByb3BlcnRpZXMm
IG9wZXJhdG9yPShjb25zdCBTYXZlZFByb3BlcnRpZXMmKTsKICAgICB9OwogICAgIAorLyoqCisq
IEEgaGFzaHRhYmxlIGVudHJ5IGZvciB0aGUgQHJlZiBQcm9wZXJ0eU1hcC4KKyovCiAgICAgc3Ry
dWN0IFByb3BlcnR5TWFwSGFzaFRhYmxlRW50cnkKICAgICB7CiAgICAgICAgIFByb3BlcnR5TWFw
SGFzaFRhYmxlRW50cnkoKSA6IGtleSgwKSB7IH0KQEAgLTU2LDYgKzYzLDkgQEAgbmFtZXNwYWNl
IEtKUyB7CiAgICAgICAgIGludCBhdHRyaWJ1dGVzOwogICAgICAgICBpbnQgaW5kZXg7CiAgICAg
fTsKKy8qKgorKiBKYXZhc2NyaXB0IFByb3BlcnR5IE1hcC4KKyovCiAKICAgICBjbGFzcyBQcm9w
ZXJ0eU1hcCB7CiAgICAgcHVibGljOgpJbmRleDogcmVmZXJlbmNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL3JlZmVyZW5jZS5jcHAsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMTEKZGlmZiAtdSAtMyAtcCAtcjEuMTEgcmVmZXJlbmNlLmNwcAot
LS0gcmVmZXJlbmNlLmNwcAkyMDA1LzA2LzI5IDE2OjMyOjI3CTEuMTEKKysrIHJlZmVyZW5jZS5j
cHAJMjAwNS8wNy8xMyAyMToyMDoyOApAQCAtMTUsOCArMTUsOCBAQAogICoKICAqICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAw
MjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgogICoKICAqLwogCkluZGV4OiByZWZlcmVuY2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL3JlZmVyZW5jZS5oLHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjkKZGlmZiAtdSAtMyAtcCAtcjEuOSByZWZlcmVuY2UuaAotLS0gcmVmZXJlbmNl
LmgJMjAwNS8wNC8yMCAxMDoxNDozNQkxLjkKKysrIHJlZmVyZW5jZS5oCTIwMDUvMDcvMTMgMjE6
MjA6MjgKQEAgLTE1LDggKzE1LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgor
ICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0
LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8K
IApJbmRleDogcmVmZXJlbmNlX2xpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9v
dC9KYXZhU2NyaXB0Q29yZS9ranMvcmVmZXJlbmNlX2xpc3QuY3BwLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjUKZGlmZiAtdSAtMyAtcCAtcjEuNSByZWZlcmVuY2VfbGlzdC5jcHAKLS0tIHJlZmVy
ZW5jZV9saXN0LmNwcAkyMDA0LzA0LzIyIDE2OjUzOjM1CTEuNQorKysgcmVmZXJlbmNlX2xpc3Qu
Y3BwCTIwMDUvMDcvMTMgMjE6MjA6MjkKQEAgLTE1LDggKzE1LDggQEAKICAqCiAgKiAgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEg
MDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogcmVmZXJlbmNlX2xpc3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL3JlZmVyZW5jZV9saXN0Lmgsdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZmIC11IC0zIC1wIC1yMS42IHJlZmVyZW5jZV9saXN0
LmgKLS0tIHJlZmVyZW5jZV9saXN0LmgJMjAwMy8wMS8yMiAwMDoxMTo0NAkxLjYKKysrIHJlZmVy
ZW5jZV9saXN0LmgJMjAwNS8wNy8xMyAyMToyMDoyOQpAQCAtMTUsOCArMTUsOCBAQAogICoKICAq
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9z
dG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiByZWdleHAuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvcmVnZXhwLmNwcCx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC0zIC1wIC1yMS4xMCByZWdleHAuY3BwCi0tLSBy
ZWdleHAuY3BwCTIwMDQvMDgvMTAgMjE6MzU6MDkJMS4xMAorKysgcmVnZXhwLmNwcAkyMDA1LzA3
LzEzIDIxOjIwOjI5CkBAIC0xNSw3ICsxNSw3IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAqICBMaWNl
bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv
ZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAs
IEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAg
KgogICovCiAKSW5kZXg6IHJlZ2V4cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9K
YXZhU2NyaXB0Q29yZS9ranMvcmVnZXhwLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZm
IC11IC0zIC1wIC1yMS42IHJlZ2V4cC5oCi0tLSByZWdleHAuaAkyMDAzLzA2LzA1IDAwOjExOjIy
CTEuNgorKysgcmVnZXhwLmgJMjAwNS8wNy8xMyAyMToyMDoyOQpAQCAtMTUsNyArMTUsNyBAQAog
ICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCiAgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDU5
IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAq
ICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICoKICAqLwogCkluZGV4OiByZWdleHBfb2JqZWN0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL3JlZ2V4
cF9vYmplY3QuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE3CmRpZmYgLXUgLTMgLXAgLXIx
LjE3IHJlZ2V4cF9vYmplY3QuY3BwCi0tLSByZWdleHBfb2JqZWN0LmNwcAkyMDA0LzA4LzEwIDE4
OjQzOjUxCTEuMTcKKysrIHJlZ2V4cF9vYmplY3QuY3BwCTIwMDUvMDcvMTMgMjE6MjA6MjkKQEAg
LTE2LDcgKzE2LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3Vu
ZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIx
MTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAqCiAgKi8KIApJbmRleDog
cmVnZXhwX29iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0
Q29yZS9ranMvcmVnZXhwX29iamVjdC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcKZGlmZiAt
dSAtMyAtcCAtcjEuNyByZWdleHBfb2JqZWN0LmgKLS0tIHJlZ2V4cF9vYmplY3QuaAkyMDA0LzA4
LzAyIDIzOjM4OjU3CTEuNworKysgcmVnZXhwX29iamVjdC5oCTIwMDUvMDcvMTMgMjE6MjA6MjkK
QEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICogIExpY2Vuc2UgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBG
b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAg
MDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQs
IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAqCiAgKi8KIApJbmRl
eDogc2NvcGVfY2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9KYXZhU2Ny
aXB0Q29yZS9ranMvc2NvcGVfY2hhaW4uY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEwCmRp
ZmYgLXUgLTMgLXAgLXIxLjEwIHNjb3BlX2NoYWluLmNwcAotLS0gc2NvcGVfY2hhaW4uY3BwCTIw
MDQvMDkvMTMgMjI6NDQ6MjgJMS4xMAorKysgc2NvcGVfY2hhaW4uY3BwCTIwMDUvMDcvMTMgMjE6
MjA6MjkKQEAgLTE0LDggKzE0LDggQEAKICAqCiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgor
ICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0
LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8K
IApJbmRleDogc2NvcGVfY2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2
YVNjcmlwdENvcmUva2pzL3Njb3BlX2NoYWluLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOApk
aWZmIC11IC0zIC1wIC1yMS44IHNjb3BlX2NoYWluLmgKLS0tIHNjb3BlX2NoYWluLmgJMjAwNS8w
NC8xNSAwMToyNjoyNgkxLjgKKysrIHNjb3BlX2NoYWluLmgJMjAwNS8wNy8xMyAyMToyMDozMApA
QCAtMTQsOCArMTQsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRo
IEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4
OiBzaW1wbGVfbnVtYmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3Jp
cHRDb3JlL2tqcy9zaW1wbGVfbnVtYmVyLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAKZGlm
ZiAtdSAtMyAtcCAtcjEuMTAgc2ltcGxlX251bWJlci5oCi0tLSBzaW1wbGVfbnVtYmVyLmgJMjAw
NS8wNC8yMCAxMDoxNDozNQkxLjEwCisrKyBzaW1wbGVfbnVtYmVyLmgJMjAwNS8wNy8xMyAyMToy
MDozMApAQCAtMTUsOCArMTUsOCBAQAogICoKICAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w
bGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisg
KiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQs
IEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwog
CkluZGV4OiBzdHJpbmdfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
SmF2YVNjcmlwdENvcmUva2pzL3N0cmluZ19vYmplY3QuY3BwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjM4CmRpZmYgLXUgLTMgLXAgLXIxLjM4IHN0cmluZ19vYmplY3QuY3BwCi0tLSBzdHJpbmdf
b2JqZWN0LmNwcAkyMDA1LzA3LzAzIDEwOjQ3OjUzCTEuMzgKKysrIHN0cmluZ19vYmplY3QuY3Bw
CTIwMDUvMDcvMTMgMjE6MjA6MzEKQEAgLTE2LDcgKzE2LDcgQEAKICAqCiAgKiAgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwog
ICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1
aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAx
ICBVU0EKICAqCiAgKi8KIApJbmRleDogc3RyaW5nX29iamVjdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvc3RyaW5nX29iamVjdC5oLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjEwCmRpZmYgLXUgLTMgLXAgLXIxLjEwIHN0cmluZ19vYmplY3QuaAot
LS0gc3RyaW5nX29iamVjdC5oCTIwMDUvMDcvMDMgMTA6NDc6NTMJMS4xMAorKysgc3RyaW5nX29i
amVjdC5oCTIwMDUvMDcvMTMgMjE6MjA6MzEKQEAgLTE1LDcgKzE1LDcgQEAKICAqCiAgKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYwogICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjEx
MC0xMzAxICBVU0EKICAqCiAgKi8KIApJbmRleDogdGVzdGtqcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy90ZXN0a2pzLmNwcCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xMQpkaWZmIC11IC0zIC1wIC1yMS4xMSB0ZXN0a2pzLmNwcAotLS0gdGVz
dGtqcy5jcHAJMjAwNC8wOC8xMiAxNzoyMToyOQkxLjExCisrKyB0ZXN0a2pzLmNwcAkyMDA1LzA3
LzEzIDIxOjIwOjMxCkBAIC0xNiw4ICsxNiw4IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
ICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAyMTExLTEzMDcs
IFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAg
KgogICovCiAKSW5kZXg6IHR5cGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0ph
dmFTY3JpcHRDb3JlL2tqcy90eXBlcy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE5CmRpZmYg
LXUgLTMgLXAgLXIxLjE5IHR5cGVzLmgKLS0tIHR5cGVzLmgJMjAwMi8xMS8yMiAyMzoyMDowMQkx
LjE5CisrKyB0eXBlcy5oCTIwMDUvMDcvMTMgMjE6MjA6MzEKQEAgLTE2LDggKzE2LDggQEAKICAq
CiAgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICog
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0ZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCiAgKi8KIApJbmRleDogdXN0cmluZy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy91c3RyaW5nLmNwcCx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS41NgpkaWZmIC11IC0zIC1wIC1yMS41NiB1c3RyaW5nLmNw
cAotLS0gdXN0cmluZy5jcHAJMjAwNS8wNi8yOCAwMDowMjowOAkxLjU2CisrKyB1c3RyaW5nLmNw
cAkyMDA1LzA3LzEzIDIxOjIwOjMzCkBAIC0xNiw4ICsxNiw4IEBACiAgKgogICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKICAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAy
MTExLTEzMDcsIFVTQS4KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdGVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKgogICovCiAKSW5kZXg6IHVzdHJpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv
Y3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL3VzdHJpbmcuaCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4zNgpkaWZmIC11IC0zIC1wIC1yMS4zNiB1c3RyaW5nLmgKLS0tIHVzdHJpbmcuaAkyMDA1
LzA0LzIwIDEwOjE0OjM1CTEuMzYKKysrIHVzdHJpbmcuaAkyMDA1LzA3LzEzIDIxOjIwOjMzCkBA
IC0xNiw4ICsxNiw4IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAqICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqICB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGgg
Rmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgogICovCiAKQEAgLTEx
MiwxNiArMTEyLDE2IEBAIG5hbWVzcGFjZSBLSlMgewogICAvKioKICAgICogQHNob3J0IER5bmFt
aWMgcmVmZXJlbmNlIHRvIGEgc3RyaW5nIGNoYXJhY3Rlci4KICAgICoKLSAgICogVUNoYXJSZWZl
cmVuY2UgaXMgdGhlIGR5bmFtaWMgY291bnRlcnBhcnQgb2YgQHJlZiBVQ2hhci4gSXQncyB1c2Vk
IHdoZW4KLSAgICogY2hhcmFjdGVycyByZXRyaWV2ZWQgdmlhIGluZGV4IGZyb20gYSBAcmVmIFVT
dHJpbmcgYXJlIHVzZWQgaW4gYW4KKyAgICogVUNoYXJSZWZlcmVuY2UgaXMgdGhlIGR5bmFtaWMg
Y291bnRlcnBhcnQgb2YgVUNoYXIuIEl0J3MgdXNlZCB3aGVuCisgICAqIGNoYXJhY3RlcnMgcmV0
cmlldmVkIHZpYSBpbmRleCBmcm9tIGEgVVN0cmluZyBhcmUgdXNlZCBpbiBhbgogICAgKiBhc3Np
Z25tZW50IGV4cHJlc3Npb24gKGFuZCB0aGVyZWZvcmUgY2FuJ3QgYmUgdHJlYXRlZCBhcyBiZWlu
ZyBjb25zdCk6Ci0gICAqIDxwcmU+CisgICAqIFxjb2RlCiAgICAqIFVTdHJpbmcgcygiaGVsbG8g
d29ybGQiKTsKICAgICogc1swXSA9ICdIJzsKLSAgICogPC9wcmU+CisgICAqIFxlbmRjb2RlCiAg
ICAqCiAgICAqIElmIHRoYXQgc291bmRzIGNvbmZ1c2luZyB5b3VyIGJlc3QgYmV0IGlzIHRvIHNp
bXBseSBmb3JnZXQgYWJvdXQgdGhlCi0gICAqIGV4aXN0YW5jZSBvZiB0aGlzIGNsYXNzIGFuZCB0
cmVhdCBpcyBhcyBiZWluZyBpZGVudGljYWwgdG8gQHJlZiBVQ2hhci4KKyAgICogZXhpc3RlbmNl
IG9mIHRoaXMgY2xhc3MgYW5kIHRyZWF0IGlzIGFzIGJlaW5nIGlkZW50aWNhbCB0byBVQ2hhci4K
ICAgICovCiAgIGNsYXNzIFVDaGFyUmVmZXJlbmNlIHsKICAgICBmcmllbmQgY2xhc3MgVVN0cmlu
ZzsKQEAgLTI3NywxMSArMjc3LDExIEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAqIGltcGxlbWVu
dGF0aW9uIGZvciBhIGNvbnN0cnVjdGlvbiBmcm9tIFFTdHJpbmcuCiAgICAgICoKICAgICAgKiBO
b3RlOiBmZWVsIGZyZWUgdG8gY29udGFjdCBtZSBpZiB5b3Ugd2FudCB0byBzZWUgYSBkdW1teSBo
ZWFkZXIgZm9yCi0gICAgICogeW91ciBmYXZvdXJpdGUgRm9vU3RyaW5nIGNsYXNzIGhlcmUgIQor
ICAgICAqIHlvdXIgZmF2b3JpdGUgRm9vU3RyaW5nIGNsYXNzIGhlcmUgIQogICAgICAqLwogICAg
IFVTdHJpbmcoY29uc3QgUVN0cmluZyAmKTsKICAgICAvKioKLSAgICAgKiBDb252ZW5pZW5jZSBk
ZWNsYXJhdGlvbiBvbmx5ICEgU2VlIEByZWYgVVN0cmluZyhjb25zdCBRU3RyaW5nJikuCisgICAg
ICogQ29udmVuaWVuY2UgZGVjbGFyYXRpb24gb25seSAhIFNlZSBVU3RyaW5nKGNvbnN0IFFTdHJp
bmcmKS4KICAgICAgKi8KICAgICBVU3RyaW5nKGNvbnN0IERPTTo6RE9NU3RyaW5nICYpOwogICAg
IC8qKgpAQCAtMzMzLDcgKzMzMyw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIFVTdHJpbmcgJmFw
cGVuZChVQ2hhciBjKSB7IHJldHVybiBhcHBlbmQoYy51Yyk7IH0KIAogICAgIC8qKgotICAgICAq
IEByZXR1cm4gVGhlIHN0cmluZyBjb252ZXJ0ZWQgdG8gdGhlIDgtYml0IHN0cmluZyB0eXBlIEBy
ZWYgQ1N0cmluZygpLgorICAgICAqIEByZXR1cm4gVGhlIHN0cmluZyBjb252ZXJ0ZWQgdG8gdGhl
IDgtYml0IHN0cmluZyB0eXBlIENTdHJpbmcoKS4KICAgICAgKi8KICAgICBDU3RyaW5nIGNzdHJp
bmcoKSBjb25zdDsKICAgICAvKioKQEAgLTM5Myw3ICszOTMsNyBAQCBuYW1lc3BhY2UgS0pTIHsK
ICAgICAvKioKICAgICAgKiBVc2UgdGhpcyBpZiB5b3Ugd2FudCB0byBtYWtlIHN1cmUgdGhhdCB0
aGlzIHN0cmluZyBpcyBhIHBsYWluIEFTQ0lJCiAgICAgICogc3RyaW5nLiBGb3IgZXhhbXBsZSwg
aWYgeW91IGRvbid0IHdhbnQgdG8gbG9zZSBhbnkgaW5mb3JtYXRpb24gd2hlbgotICAgICAqIHVz
aW5nIEByZWYgY3N0cmluZygpIG9yIEByZWYgYXNjaWkoKS4KKyAgICAgKiB1c2luZyBjc3RyaW5n
KCkgb3IgYXNjaWkoKS4KICAgICAgKgogICAgICAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgc3RyaW5n
IGRvZXNuJ3QgY29udGFpbiBhbnkgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuCiAgICAgICovCkluZGV4
OiB2YWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3Jl
L2tqcy92YWx1ZS5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjUKZGlmZiAtdSAtMyAtcCAt
cjEuMjUgdmFsdWUuY3BwCi0tLSB2YWx1ZS5jcHAJMjAwNS8wNS8wOSAyMzo1NzozMwkxLjI1Cisr
KyB2YWx1ZS5jcHAJMjAwNS8wNy8xMyAyMToyMDozMwpAQCAtMTcsOCArMTcsOCBAQAogICoKICAq
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiAgQm9z
dG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgogICoKICAqLwogCkluZGV4OiB2YWx1ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9KYXZhU2NyaXB0Q29yZS9ranMvdmFsdWUuaCx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4zMQpkaWZmIC11IC0zIC1wIC1yMS4zMSB2YWx1ZS5oCi0tLSB2YWx1ZS5oCTIw
MDUvMDcvMDEgMDk6NTU6MDIJMS4zMQorKysgdmFsdWUuaAkyMDA1LzA3LzEzIDIxOjIwOjM0CkBA
IC0xNyw4ICsxNyw4IEBACiAgKgogICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAqICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSAtIFN1aXRlIDMzMCwKLSAqICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqICB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdGVldCwgRmlmdGgg
Rmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgogICovCiAKQEAgLTIz
OCw3ICsyMzgsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAvKioKICAgICAgKiBDaGVja3Mgd2hl
dGhlciBvciBub3QgdGhlIHZhbHVlIGlzIG9mIGEgcGFydGljdWxhciB0cHllCiAgICAgICoKLSAg
ICAgKiBAcGFyYW0gVGhlIHR5cGUgdG8gY29tcGFyZSB3aXRoCisgICAgICogQHBhcmFtIHQgVGhl
IHR5cGUgdG8gY29tcGFyZSB3aXRoCiAgICAgICogQHJldHVybiB0cnVlIGlmIHRoZSB2YWx1ZSBp
cyBvZiB0aGUgc3BlY2lmaWVkIHR5cGUsIG90aGVyd2lzZSBmYWxzZQogICAgICAqLwogICAgIGJv
b2wgaXNBKFR5cGUgdCkgY29uc3QgeyByZXR1cm4gcmVwLT5kaXNwYXRjaFR5cGUoKSA9PSB0OyB9
CkBAIC0zMTYsNyArMzE2LDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICogQ29udmVydHMgYSBW
YWx1ZSBpbnRvIGFuIFVuZGVmaW5lZC4gSWYgdGhlIHZhbHVlJ3MgdHlwZSBpcyBub3QKICAgICAg
KiBVbmRlZmluZWRUeXBlLCBhIG51bGwgb2JqZWN0IHdpbGwgYmUgcmV0dXJuZWQgKGkuZS4gb25l
IHdpdGggaXQncwogICAgICAqIGludGVybmFsIHBvaW50ZXIgc2V0IHRvIDApLiBJZiB5b3UgZG8g
bm90IGtub3cgZm9yIHN1cmUgd2hldGhlciB0aGUKLSAgICAgKiB2YWx1ZSBpcyBvZiB0eXBlIFVu
ZGVmaW5lZFR5cGUsIHlvdSBzaG91bGQgY2hlY2sgdGhlIEByZWYgaXNOdWxsKCkKKyAgICAgKiB2
YWx1ZSBpcyBvZiB0eXBlIFVuZGVmaW5lZFR5cGUsIHlvdSBzaG91bGQgY2hlY2sgdGhlIGlzVmFs
aWQoKQogICAgICAqIG1ldGhvZHMgYWZ0ZXJ3YXJkcyBiZWZvcmUgY2FsbGluZyBhbnkgbWV0aG9k
cyBvbiB0aGUgcmV0dXJuZWQgdmFsdWUuCiAgICAgICoKICAgICAgKiBAcmV0dXJuIFRoZSB2YWx1
ZSBjb252ZXJ0ZWQgdG8gYW4gVW5kZWZpbmVkCkBAIC0zNDEsNyArMzQxLDcgQEAgbmFtZXNwYWNl
IEtKUyB7CiAgICAgICogQ29udmVydHMgYSBWYWx1ZSBpbnRvIGFuIE51bGwuIElmIHRoZSB2YWx1
ZSdzIHR5cGUgaXMgbm90IE51bGxUeXBlLAogICAgICAqIGEgbnVsbCBvYmplY3Qgd2lsbCBiZSBy
ZXR1cm5lZCAoaS5lLiBvbmUgd2l0aCBpdCdzIGludGVybmFsIHBvaW50ZXIgc2V0CiAgICAgICog
dG8gMCkuIElmIHlvdSBkbyBub3Qga25vdyBmb3Igc3VyZSB3aGV0aGVyIHRoZSB2YWx1ZSBpcyBv
ZiB0eXBlCi0gICAgICogTnVsbFR5cGUsIHlvdSBzaG91bGQgY2hlY2sgdGhlIEByZWYgaXNOdWxs
KCkgbWV0aG9kcyBhZnRlcndhcmRzIGJlZm9yZQorICAgICAqIE51bGxUeXBlLCB5b3Ugc2hvdWxk
IGNoZWNrIHRoZSBpc1ZhbGlkKCkgbWV0aG9kcyBhZnRlcndhcmRzIGJlZm9yZQogICAgICAqIGNh
bGxpbmcgYW55IG1ldGhvZHMgb24gdGhlIHJldHVybmVkIHZhbHVlLgogICAgICAqCiAgICAgICog
QHJldHVybiBUaGUgdmFsdWUgY29udmVydGVkIHRvIGEgTnVsbApAQCAtMzUzLDcgKzM1Myw3IEBA
IG5hbWVzcGFjZSBLSlMgewogICB9OwogCiAgIC8qKgotICAgKiBSZXByZXNlbnRzIGFuIHByaW1p
dGl2ZSBOdWxsIHZhbHVlCisgICAqIFJlcHJlc2VudHMgYW4gcHJpbWl0aXZlIEJvb2xlYW4gdmFs
dWUKICAgICovCiAgIGNsYXNzIEJvb2xlYW4gOiBwdWJsaWMgVmFsdWUgewogICBwdWJsaWM6CkBA
IC0zNjMsNyArMzYzLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICogQ29udmVydHMgYSBWYWx1
ZSBpbnRvIGFuIEJvb2xlYW4uIElmIHRoZSB2YWx1ZSdzIHR5cGUgaXMgbm90IEJvb2xlYW5UeXBl
LAogICAgICAqIGEgbnVsbCBvYmplY3Qgd2lsbCBiZSByZXR1cm5lZCAoaS5lLiBvbmUgd2l0aCBp
dCdzIGludGVybmFsIHBvaW50ZXIgc2V0CiAgICAgICogdG8gMCkuIElmIHlvdSBkbyBub3Qga25v
dyBmb3Igc3VyZSB3aGV0aGVyIHRoZSB2YWx1ZSBpcyBvZiB0eXBlCi0gICAgICogQm9vbGVhblR5
cGUsIHlvdSBzaG91bGQgY2hlY2sgdGhlIEByZWYgaXNOdWxsKCkgbWV0aG9kcyBhZnRlcndhcmRz
IGJlZm9yZQorICAgICAqIEJvb2xlYW5UeXBlLCB5b3Ugc2hvdWxkIGNoZWNrIHRoZSBpc1ZhbGlk
KCkgbWV0aG9kcyBhZnRlcndhcmRzIGJlZm9yZQogICAgICAqIGNhbGxpbmcgYW55IG1ldGhvZHMg
b24gdGhlIHJldHVybmVkIHZhbHVlLgogICAgICAqCiAgICAgICogQHJldHVybiBUaGUgdmFsdWUg
Y29udmVydGVkIHRvIGEgQm9vbGVhbgpAQCAtMzc3LDcgKzM3Nyw3IEBAIG5hbWVzcGFjZSBLSlMg
ewogICB9OwogCiAgIC8qKgotICAgKiBSZXByZXNlbnRzIGFuIHByaW1pdGl2ZSBOdWxsIHZhbHVl
CisgICAqIFJlcHJlc2VudHMgYW4gcHJpbWl0aXZlIFN0cmluZyB2YWx1ZQogICAgKi8KICAgY2xh
c3MgU3RyaW5nIDogcHVibGljIFZhbHVlIHsKICAgcHVibGljOgpAQCAtMzg3LDcgKzM4Nyw3IEBA
IG5hbWVzcGFjZSBLSlMgewogICAgICAqIENvbnZlcnRzIGEgVmFsdWUgaW50byBhbiBTdHJpbmcu
IElmIHRoZSB2YWx1ZSdzIHR5cGUgaXMgbm90IFN0cmluZ1R5cGUsCiAgICAgICogYSBudWxsIG9i
amVjdCB3aWxsIGJlIHJldHVybmVkIChpLmUuIG9uZSB3aXRoIGl0J3MgaW50ZXJuYWwgcG9pbnRl
ciBzZXQKICAgICAgKiB0byAwKS4gSWYgeW91IGRvIG5vdCBrbm93IGZvciBzdXJlIHdoZXRoZXIg
dGhlIHZhbHVlIGlzIG9mIHR5cGUKLSAgICAgKiBTdHJpbmdUeXBlLCB5b3Ugc2hvdWxkIGNoZWNr
IHRoZSBAcmVmIGlzTnVsbCgpIG1ldGhvZHMgYWZ0ZXJ3YXJkcyBiZWZvcmUKKyAgICAgKiBTdHJp
bmdUeXBlLCB5b3Ugc2hvdWxkIGNoZWNrIHRoZSBpc1ZhbGlkKCkgbWV0aG9kcyBhZnRlcndhcmRz
IGJlZm9yZQogICAgICAqIGNhbGxpbmcgYW55IG1ldGhvZHMgb24gdGhlIHJldHVybmVkIHZhbHVl
LgogICAgICAqCiAgICAgICogQHJldHVybiBUaGUgdmFsdWUgY29udmVydGVkIHRvIGEgU3RyaW5n
CkBAIC00MjYsNyArNDI2LDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICogQ29udmVydHMgYSBW
YWx1ZSBpbnRvIGFuIE51bWJlci4gSWYgdGhlIHZhbHVlJ3MgdHlwZSBpcyBub3QgTnVtYmVyVHlw
ZSwKICAgICAgKiBhIG51bGwgb2JqZWN0IHdpbGwgYmUgcmV0dXJuZWQgKGkuZS4gb25lIHdpdGgg
aXQncyBpbnRlcm5hbCBwb2ludGVyIHNldAogICAgICAqIHRvIDApLiBJZiB5b3UgZG8gbm90IGtu
b3cgZm9yIHN1cmUgd2hldGhlciB0aGUgdmFsdWUgaXMgb2YgdHlwZQotICAgICAqIE51bWJlclR5
cGUsIHlvdSBzaG91bGQgY2hlY2sgdGhlIEByZWYgaXNOdWxsKCkgbWV0aG9kcyBhZnRlcndhcmRz
IGJlZm9yZQorICAgICAqIE51bWJlclR5cGUsIHlvdSBzaG91bGQgY2hlY2sgdGhlIGlzTnVsbCgp
IG1ldGhvZHMgYWZ0ZXJ3YXJkcyBiZWZvcmUKICAgICAgKiBjYWxsaW5nIGFueSBtZXRob2RzIG9u
IHRoZSByZXR1cm5lZCB2YWx1ZS4KICAgICAgKgogICAgICAqIEByZXR1cm4gVGhlIHZhbHVlIGNv
bnZlcnRlZCB0byBhIE51bWJlcgo=
</data>
<flag name="review"
          id="237"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>