<?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>69884</bug_id>
          
          <creation_ts>2011-10-11 17:02:06 -0700</creation_ts>
          <short_desc>Rename virtual deleteProperty to deletePropertyVirtual</short_desc>
          <delta_ts>2011-10-17 02:09:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>67690</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>abarth</cc>
    
    <cc>paroga</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>482050</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-11 17:02:06 -0700</bug_when>
    <thetext>Since the compiler cannot tell the difference between virtual deleteProperty and static deleteProperty, we need to rename virtual deleteProperty to deletePropertyVirtual in preparation for adding static deleteProperty to the MethodTable in ClassInfo.  See also bug 69810.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482067</commentid>
    <comment_count>1</comment_count>
      <attachid>110613</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-11 17:18:39 -0700</bug_when>
    <thetext>Created attachment 110613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482573</commentid>
    <comment_count>2</comment_count>
      <attachid>110715</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-12 11:42:51 -0700</bug_when>
    <thetext>Created attachment 110715
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483273</commentid>
    <comment_count>3</comment_count>
      <attachid>110869</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-13 10:19:54 -0700</bug_when>
    <thetext>Created attachment 110869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484159</commentid>
    <comment_count>4</comment_count>
      <attachid>110869</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-14 12:13:35 -0700</bug_when>
    <thetext>Comment on attachment 110869
Patch

Rejecting attachment 110869 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
.
patching file Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
patching file Source/WebKit2/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
patching file Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h
patching file Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Darin Adler&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/10068413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484285</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-14 14:18:55 -0700</bug_when>
    <thetext>Committed r97506: &lt;http://trac.webkit.org/changeset/97506&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485007</commentid>
    <comment_count>6</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-10-17 02:09:31 -0700</bug_when>
    <thetext>Committed interpreter build fix r97593: &lt;http://trac.webkit.org/changeset/97593&gt;

Please watch the bots. THX!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110613</attachid>
            <date>2011-10-11 17:18:39 -0700</date>
            <delta_ts>2011-10-12 11:42:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69884-20111011171840.patch</filename>
            <type>text/plain</type>
            <size>69619</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcxNjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NhbGxiYWNrT2JqZWN0LmgKaW5kZXggYTU2MDM1YjlhNGQzM2UyOTFiNTYwYTU2NzE2YzMwMmFh
ZWJhODM0YS4uNGQ3MGUwNTM3ZjQ0YTE1MWZhMzM0MThhMGNlMmIxNDBkYzkyNWFhZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTE4NCw5ICsx
ODQsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyB2b2lk
IHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSwgUHV0
UHJvcGVydHlTbG90Jik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0
YXRlKiwgY29uc3QgSWRlbnRpZmllciYpOworICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0
eVZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBib29s
IGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsK
LSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiwgdW5zaWduZWQpOwor
ICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWdu
ZWQpOwogICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IHVuc2lnbmVkKTsKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNJbnN0YW5jZShFeGVjU3RhdGUqIGV4
ZWMsIEpTVmFsdWUgdmFsdWUsIEpTVmFsdWUgcHJvdG8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAppbmRleCA4ZWUwNjA2
MjdlYjQ2YmFhMjZkYWFkZTBkYzQyMTc5ZTdkZDVhY2JlLi4wMGNlYzdiZDU4YzlhNDczN2Y3MzY2
MzZiMGI1N2U5ODAyNGQ3MjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaApAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQg
SlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+Ci1ib29sIEpT
Q2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFy
ZW50Pjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBl
eGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpAQCAtMzE2LDcgKzMxNiw3IEBAIGJvb2wgSlNDYWxsYmFj
a09iamVjdDxQYXJlbnQ+OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSog
ZXhlYywgY29uCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+Ci1ib29sIEpTQ2FsbGJhY2tP
YmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUpCitib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVy
dHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKQogewogICAg
IHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpAQCAt
MzI0LDcgKzMyNCw3IEBAIGJvb2wgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpkZWxldGVQcm9w
ZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5CiB0ZW1wbGF0ZSA8Y2xhc3Mg
UGFyZW50PgogYm9vbCBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmRlbGV0ZVByb3BlcnR5KEpT
Q2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpCiB7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3QqPihjZWxsKS0+ZGVsZXRlUHJv
cGVydHkoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdCo+KGNlbGwpLT5kZWxldGVQcm9wZXJ0
eVZpcnR1YWwoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpKTsKIH0K
IAogdGVtcGxhdGUgPGNsYXNzIFBhcmVudD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09i
amVjdFJlZi5jcHAKaW5kZXggNGNjNjZhNGRiMzI1NDUyNjU0NTZiZWQxOGExNTU3ZGVmMTFjZGJl
Ni4uMjg5OGViMjBmODE5ZTFiNmMyYWRmZjFmZDEwMzA0ZDQxZTBhYjMzYSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTMyNyw3ICszMjcsNyBAQCBib29s
IEpTT2JqZWN0RGVsZXRlUHJvcGVydHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2Jq
ZWN0LCBKU1N0cmluZ1JlZiBwcgogCiAgICAgSlNPYmplY3QqIGpzT2JqZWN0ID0gdG9KUyhvYmpl
Y3QpOwogCi0gICAgYm9vbCByZXN1bHQgPSBqc09iamVjdC0+ZGVsZXRlUHJvcGVydHkoZXhlYywg
cHJvcGVydHlOYW1lLT5pZGVudGlmaWVyKCZleGVjLT5nbG9iYWxEYXRhKCkpKTsKKyAgICBib29s
IHJlc3VsdCA9IGpzT2JqZWN0LT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlO
YW1lLT5pZGVudGlmaWVyKCZleGVjLT5nbG9iYWxEYXRhKCkpKTsKICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpIHsKICAgICAgICAgaWYgKGV4Y2VwdGlvbikKICAgICAgICAgICAgICpleGNl
cHRpb24gPSB0b1JlZihleGVjLCBleGVjLT5leGNlcHRpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwppbmRleCA0NzJjYTk0ZGI5ODFmM2Q4YjAxYzc3MDI5NzMyNjM4YTdiNjkyOGFmLi5hMWJm
ZDYxZDQ0MGQxNzg2ZWUyMGMyNDg4Y2QyZmUxOGRmMzgxZjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw3MiBAQAorMjAxMS0xMC0xMSAgTWFyayBIYWhuZW5iZXJnICA8bWhh
aG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSB2aXJ0dWFsIGRlbGV0ZVByb3Bl
cnR5IHRvIGRlbGV0ZVByb3BlcnR5VmlydHVhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW5hbWVkIHZpcnR1YWwgdmVyc2lvbnMgb2YgZGVsZXRlUHJv
cGVydHkgdG8gZGVsZXRlUHJvcGVydHlWaXJ0dWFsIGluIHByZXByYXRpb24gZm9yIAorICAgICAg
ICBhZGRpbmcgdGhlIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSB0byB0aGUgTWV0aG9kVGFibGUgaW4g
Q2xhc3NJbmZvIHNpbmNlIHRoZSAKKyAgICAgICAgY29tcGlsZXIgZ2V0cyBtYWQgaWYgdGhlIHZp
cnR1YWwgYW5kIHN0YXRpYyB2ZXJzaW9ucyBoYXZlIHRoZSBzYW1lIG5hbWUuCisKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0
RnVuY3Rpb25zLmg6CisgICAgICAgIChKU0M6Ojo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAg
ICAgICAgKEpTQzo6OjpkZWxldGVQcm9wZXJ0eSk6CisgICAgICAgICogQVBJL0pTT2JqZWN0UmVm
LmNwcDoKKyAgICAgICAgKEpTT2JqZWN0RGVsZXRlUHJvcGVydHkpOgorICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3Bw
OgorICAgICAgICAoSlNDOjpEZWJ1Z2dlckFjdGl2YXRpb246OmRlbGV0ZVByb3BlcnR5VmlydHVh
bCk6CisgICAgICAgIChKU0M6OkRlYnVnZ2VyQWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHkpOgor
ICAgICAgICAqIGRlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oOgorICAgICAgICAqIGppdC9K
SVRTdHVicy5jcHA6CisgICAgICAgIChKU0M6OkRFRklORV9TVFVCX0ZVTkNUSU9OKToKKyAgICAg
ICAgKiBydW50aW1lL0FyZ3VtZW50cy5jcHA6CisgICAgICAgIChKU0M6OkFyZ3VtZW50czo6ZGVs
ZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBydW50aW1lL0FyZ3VtZW50cy5oOgorICAg
ICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjphcnJheVBy
b3RvRnVuY1BvcCk6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jUmV2ZXJzZSk6CisgICAg
ICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU2hpZnQpOgorICAgICAgICAoSlNDOjphcnJheVByb3Rv
RnVuY1NwbGljZSk6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jVW5TaGlmdCk6CisgICAg
ICAgICogcnVudGltZS9KU0FjdGl2YXRpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0FjdGl2YXRp
b246OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgICogcnVudGltZS9KU0FjdGl2YXRp
b24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0Fy
cmF5OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpkZWxl
dGVQcm9wZXJ0eSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5Lmg6CisgICAgICAgICogcnVu
dGltZS9KU0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmRlbGV0ZVByb3BlcnR5Vmly
dHVhbCk6CisgICAgICAgIChKU0M6OkpTQ2VsbDo6ZGVsZXRlUHJvcGVydHkpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAg
KiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTTm90QW5PYmplY3Qu
Y3BwOgorICAgICAgICAoSlNDOjpKU05vdEFuT2JqZWN0OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUv
SlNPTk9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OldhbGtlcjo6d2Fsayk6CisgICAgICAgICog
cnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWxldGVQcm9w
ZXJ0eVZpcnR1YWwpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVsZXRlUHJvcGVydHkpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVmaW5lT3duUHJvcGVydHkpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVmFyaWFibGVPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpKU1ZhcmlhYmxlT2JqZWN0OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oOgorICAgICAgICAqIHJ1bnRp
bWUvUmVnRXhwTWF0Y2hlc0FycmF5Lmg6CisgICAgICAgIChKU0M6OlJlZ0V4cE1hdGNoZXNBcnJh
eTo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBydW50aW1lL1N0cmljdEV2YWxB
Y3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6U3RyaWN0RXZhbEFjdGl2YXRpb246OmRlbGV0
ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgICogcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlv
bi5oOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6
U3RyaW5nT2JqZWN0OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIHJ1bnRpbWUv
U3RyaW5nT2JqZWN0Lmg6CisKIDIwMTEtMTAtMTEgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFyYWNs
b3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgU3dpdGNoIFJlZ2lzdGVyU2l6ZWRCb29sZWFuL2Rm
Z0NvbnZlcnRKU1ZhbHVlVG9JbnQzMiByZXR1cm4gdHlwZSB0byBzaXplX3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IGZhYTVlYzI5NTZiYzFjY2M1YjNhODdl
N2Q1OWZjMWNjNmMyNDEzMzQuLjMzZTk3ZTVjZGFkZDBkOTI3Mjg3NjE2NWI3YTUxZTM1ZGI0ZDAy
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTQ2LDcg
KzE0Niw2IEBAIF9fWk4zSlNDMTJSZWdFeHBPYmplY3RDMUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQ
TlNfOVN0cnVjdHVyZUVQTlNfNlJlZ0V4cEUKIF9fWk4zSlNDMTJTYW1wbGluZ1Rvb2w1c2V0dXBF
dgogX19aTjNKU0MxMlNtYWxsU3RyaW5nczE3Y3JlYXRlRW1wdHlTdHJpbmdFUE5TXzEySlNHbG9i
YWxEYXRhRQogX19aTjNKU0MxMlNtYWxsU3RyaW5nczI3Y3JlYXRlU2luZ2xlQ2hhcmFjdGVyU3Ry
aW5nRVBOU18xMkpTR2xvYmFsRGF0YUVoCi1fX1pOM0pTQzEyU3RyaW5nT2JqZWN0MTRkZWxldGVQ
cm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKIF9fWk4zSlNDMTJTdHJp
bmdPYmplY3QxNGZpbmlzaENyZWF0aW9uRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOEpTU3RyaW5n
RQogX19aTjNKU0MxMlN0cmluZ09iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0
YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJp
bmdPYmplY3QxOGdldE93blByb3BlcnR5U2xvdEVQTlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVy
dHlTbG90RQpAQCAtMTkxLDkgKzE5MCwxMCBAQCBfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlvbjE0
ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNHbG9iYWxEYXRhRVJLTlNfMTBJZGVudGlmaWVyRQogX19a
TjNKU0MxNkludGVybmFsRnVuY3Rpb240bmFtZUVQTlNfOUV4ZWNTdGF0ZUUKIF9fWk4zSlNDMTZJ
bnRlcm5hbEZ1bmN0aW9uNnNfaW5mb0UKIF9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9uQzJFUE5T
XzE0SlNHbG9iYWxPYmplY3RFUE5TXzlTdHJ1Y3R1cmVFCi1fX1pOM0pTQzE2SlNWYXJpYWJsZU9i
amVjdDE0ZGVsZXRlUHJvcGVydHlFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCitf
X1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE0ZGVsZXRlUHJvcGVydHlFUE5TXzZKU0NlbGxFUE5T
XzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVj
dDE0c3ltYm9sVGFibGVHZXRFUktOU18xMElkZW50aWZpZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlw
dG9yRQogX19aTjNKU0MxNkpTVmFyaWFibGVPYmplY3QxOWdldE93blByb3BlcnR5TmFtZXNFUE5T
XzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVydHlOYW1lQXJyYXlFTlNfMTVFbnVtZXJhdGlvbk1vZGVF
CitfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185
RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0MxNmNyZWF0ZVJhbmdlRXJyb3JF
UE5TXzlFeGVjU3RhdGVFUktOU183VVN0cmluZ0UKIF9fWk4zSlNDMTZzbG93VmFsaWRhdGVDZWxs
RVBOU18xNEpTR2xvYmFsT2JqZWN0RQogX19aTjNKU0MxNnNsb3dWYWxpZGF0ZUNlbGxFUE5TXzZK
U0NlbGxFCkBAIC0yNTcsMTEgKzI1NywxMSBAQCBfX1pOM0pTQzRZYXJyMTFieXRlQ29tcGlsZUVS
TlMwXzExWWFyclBhdHRlcm5FUE4zV1RGMjBCdW1wUG9pbnRlckFsbG9jYXRvckUKIF9fWk4zSlND
NFlhcnI5aW50ZXJwcmV0RVBOUzBfMTVCeXRlY29kZVBhdHRlcm5FUktOU183VVN0cmluZ0VqalBp
CiBfX1pOM0pTQzRjYWxsRVBOU185RXhlY1N0YXRlRU5TXzdKU1ZhbHVlRU5TXzhDYWxsVHlwZUVS
S05TXzhDYWxsRGF0YUVTMl9SS05TXzdBcmdMaXN0RQogX19aTjNKU0M2SlNDZWxsMTFnZXRDYWxs
RGF0YUVQUzBfUk5TXzhDYWxsRGF0YUUKLV9fWk4zSlNDNkpTQ2VsbDE0ZGVsZXRlUHJvcGVydHlF
UE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCi1fX1pOM0pTQzZKU0NlbGwxNGRlbGV0
ZVByb3BlcnR5RVBOU185RXhlY1N0YXRlRWoKIF9fWk4zSlNDNkpTQ2VsbDE2Z2V0Q29uc3RydWN0
RGF0YUVSTlNfMTNDb25zdHJ1Y3REYXRhRQogX19aTjNKU0M2SlNDZWxsMThnZXRPd25Qcm9wZXJ0
eVNsb3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90
RQogX19aTjNKU0M2SlNDZWxsMThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFalJO
U18xMlByb3BlcnR5U2xvdEUKK19fWk4zSlNDNkpTQ2VsbDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFs
RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQorX19aTjNKU0M2SlNDZWxsMjFkZWxl
dGVQcm9wZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3RhdGVFagogX19aTjNKU0M2SlNDZWxsM3B1dEVQ
TlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9w
ZXJ0eVNsb3RFCiBfX1pOM0pTQzZKU0NlbGwzcHV0RVBOU185RXhlY1N0YXRlRWpOU183SlNWYWx1
ZUUgIAogX19aTjNKU0M2SlNDZWxsOWdldE9iamVjdEV2CkBAIC0zMTAsOCArMzEwLDcgQEAgX19a
TjNKU0M4SlNPYmplY3QxMmRlZmluZVNldHRlckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRp
ZmllckVQUzBfagogX19aTjNKU0M4SlNPYmplY3QxMmxvb2t1cEdldHRlckVQTlNfOUV4ZWNTdGF0
ZUVSS05TXzEwSWRlbnRpZmllckUKIF9fWk4zSlNDOEpTT2JqZWN0MTJsb29rdXBTZXR0ZXJFUE5T
XzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzhKU09iamVjdDEzdmlzaXRD
aGlsZHJlbkVQTlNfNkpTQ2VsbEVSTlNfMTFTbG90VmlzaXRvckUKLV9fWk4zSlNDOEpTT2JqZWN0
MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKLV9fWk4z
SlNDOEpTT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVqCitfX1pOM0pTQzhK
U09iamVjdDE0ZGVsZXRlUHJvcGVydHlFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFUktOU18x
MElkZW50aWZpZXJFCiBfX1pOM0pTQzhKU09iamVjdDE1dW53cmFwcGVkT2JqZWN0RXYKIF9fWk4z
SlNDOEpTT2JqZWN0MTZnZXRQcm9wZXJ0eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1Byb3Bl
cnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25Nb2RlRQogX19aTjNKU0M4SlNPYmplY3QxN2Rl
ZmluZU93blByb3BlcnR5RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOFBy
b3BlcnR5RGVzY3JpcHRvckViCkBAIC0zMjUsNiArMzI0LDggQEAgX19aTjNKU0M4SlNPYmplY3Qx
N3B1dFdpdGhBdHRyaWJ1dGVzRVBOU185RXhlY1N0YXRlRWpOU183SlNWYWx1ZUVqCiBfX1pOM0pT
QzhKU09iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU182SlNDZWxsRVBOU185RXhlY1N0YXRl
RWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09iamVjdDE4Z2V0T3duUHJvcGVydHlT
bG90RVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09iamVj
dDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5hbWVB
cnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKK19fWk4zSlNDOEpTT2JqZWN0MjFkZWxldGVQcm9w
ZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCitfX1pOM0pTQzhK
U09iamVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185RXhlY1N0YXRlRWoKIF9fWk4zSlND
OEpTT2JqZWN0MjFnZXRQcm9wZXJ0eURlc2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktOU18xMElk
ZW50aWZpZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlwdG9yRQogX19aTjNKU0M4SlNPYmplY3QyMmZp
bGxHZXR0ZXJQcm9wZXJ0eVNsb3RFUk5TXzEyUHJvcGVydHlTbG90RVBOU18xNldyaXRlQmFycmll
ckJhc2VJTlNfN1Vua25vd25FRUUKIF9fWk4zSlNDOEpTT2JqZWN0MjNhbGxvY2F0ZVByb3BlcnR5
U3RvcmFnZUVSTlNfMTJKU0dsb2JhbERhdGFFbW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKaW5kZXggMGNmOTdmMjU5Nzc5
ODU2MmYzNDRjODY2OWRhMWQ3YmNhNGI5YWJhZC4uYmQwNDQ0NWFjNWM5NDY3NDQxMzIwN2Q2NzJm
MWVlNjg3ZjQ0YWI0YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2Vy
L0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVn
Z2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKQEAgLTg1LDE0ICs4NSwxNCBAQCB2b2lkIERlYnVn
Z2VyQWN0aXZhdGlvbjo6cHV0V2l0aEF0dHJpYnV0ZXMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcgogICAgIG1fYWN0aXZhdGlvbi0+cHV0V2l0aEF0dHJpYnV0ZXMoZXhlYywg
cHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0cmlidXRlcyk7CiB9CiAKLWJvb2wgRGVidWdnZXJBY3Rp
dmF0aW9uOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSkKK2Jvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eVZp
cnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7
CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9
CiAKIGJvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGws
IEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxEZWJ1Z2dlckFjdGl2YXRpb24qPihjZWxsKS0+bV9hY3RpdmF0
aW9uLT5kZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxEZWJ1Z2dlckFjdGl2YXRpb24qPihjZWxsKS0+bV9hY3RpdmF0aW9uLT5kZWxldGVQ
cm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KIAogdm9pZCBEZWJ1Z2dlckFj
dGl2YXRpb246OmdldE93blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5h
bWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmgKaW5kZXgg
N2E1NWE3YTM5NTg0YWU3ZDliYjVhZTk0ZGNhMDBkNTlkNTk0NDk5NS4uMjQ1OGZhM2U1NjY4M2Nm
YTZlNTZhMjg0ZmYzMzI1ZjM4MWE4MzZhZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaApAQCAtNDgsNyArNDgsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dChFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAg
ICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmly
dHVhbCB2b2lkIHB1dFdpdGhBdHRyaWJ1dGVzKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7Ci0gICAgICAgIHZp
cnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFs
KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0
YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRPd25Qcm9wZXJ0
eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlIG1v
ZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKICAgICAgICAgdmlydHVhbCBib29sIGdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJv
cGVydHlEZXNjcmlwdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFN0dWJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCmlu
ZGV4IGE5MzBmNTgyZTA5ZGJhZjcxYzc1MWIyNWM1YzRlNzVhN2QwYTk2MjIuLjkwMWEwMWQ2ZTZj
OTE4YzdjMGUwOWE2ZTFkOWY2NzYyZjJhZjA4YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUU3R1YnMuY3BwCkBAIC0yMTAwLDcgKzIxMDAsNyBAQCBERUZJTkVfU1RVQl9GVU5DVElPTihF
bmNvZGVkSlNWYWx1ZSwgb3BfZGVsX2J5X2lkKQogICAgIAogICAgIEpTT2JqZWN0KiBiYXNlT2Jq
ID0gc3RhY2tGcmFtZS5hcmdzWzBdLmpzVmFsdWUoKS50b09iamVjdChjYWxsRnJhbWUpOwogCi0g
ICAgYm9vbCBjb3VsZERlbGV0ZSA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5KGNhbGxGcmFtZSwg
c3RhY2tGcmFtZS5hcmdzWzFdLmlkZW50aWZpZXIoKSk7CisgICAgYm9vbCBjb3VsZERlbGV0ZSA9
IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChjYWxsRnJhbWUsIHN0YWNrRnJhbWUuYXJn
c1sxXS5pZGVudGlmaWVyKCkpOwogICAgIEpTVmFsdWUgcmVzdWx0ID0ganNCb29sZWFuKGNvdWxk
RGVsZXRlKTsKICAgICBpZiAoIWNvdWxkRGVsZXRlICYmIGNhbGxGcmFtZS0+Y29kZUJsb2NrKCkt
PmlzU3RyaWN0TW9kZSgpKQogICAgICAgICBzdGFja0ZyYW1lLmdsb2JhbERhdGEtPmV4Y2VwdGlv
biA9IGNyZWF0ZVR5cGVFcnJvcihzdGFja0ZyYW1lLmNhbGxGcmFtZSwgIlVuYWJsZSB0byBkZWxl
dGUgcHJvcGVydHkuIik7CkBAIC0zNzE1LDEyICszNzE1LDEyIEBAIERFRklORV9TVFVCX0ZVTkNU
SU9OKEVuY29kZWRKU1ZhbHVlLCBvcF9kZWxfYnlfdmFsKQogICAgIGJvb2wgcmVzdWx0OwogICAg
IHVpbnQzMl90IGk7CiAgICAgaWYgKHN1YnNjcmlwdC5nZXRVSW50MzIoaSkpCi0gICAgICAgIHJl
c3VsdCA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5KGNhbGxGcmFtZSwgaSk7CisgICAgICAgIHJl
c3VsdCA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChjYWxsRnJhbWUsIGkpOwogICAg
IGVsc2UgewogICAgICAgICBDSEVDS19GT1JfRVhDRVBUSU9OKCk7CiAgICAgICAgIElkZW50aWZp
ZXIgcHJvcGVydHkoY2FsbEZyYW1lLCBzdWJzY3JpcHQudG9TdHJpbmcoY2FsbEZyYW1lKSk7CiAg
ICAgICAgIENIRUNLX0ZPUl9FWENFUFRJT04oKTsKLSAgICAgICAgcmVzdWx0ID0gYmFzZU9iai0+
ZGVsZXRlUHJvcGVydHkoY2FsbEZyYW1lLCBwcm9wZXJ0eSk7CisgICAgICAgIHJlc3VsdCA9IGJh
c2VPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChjYWxsRnJhbWUsIHByb3BlcnR5KTsKICAgICB9
CiAKICAgICBpZiAoIXJlc3VsdCAmJiBjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5pc1N0cmljdE1v
ZGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwCmluZGV4
IGM0OTRkYTEzMmMyYTMwNTk0MzJmMjIyMjE0Yzk1Y2YwNGU5YzRhYjUuLmZjY2FiMjIwOTY4NjQw
MmNhODlkMjhjMmMyYWJhYWM5NTgxZDY2NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJndW1lbnRzLmNwcApAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQgQXJndW1lbnRzOjpw
dXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtCiAgICAgSlNPYmplY3Q6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUs
IHZhbHVlLCBzbG90KTsKIH0KIAotYm9vbCBBcmd1bWVudHM6OmRlbGV0ZVByb3BlcnR5KEV4ZWNT
dGF0ZSogZXhlYywgdW5zaWduZWQgaSkgCitib29sIEFyZ3VtZW50czo6ZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSkgCiB7CiAgICAgcmV0dXJuIGRlbGV0
ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIGkpOwogfQpAQCAtMzQ0LDcgKzM0NCw3IEBAIGJvb2wgQXJn
dW1lbnRzOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5z
aWduZWQgaSkKICAgICByZXR1cm4gSlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KHRoaXNPYmplY3Qs
IGV4ZWMsIElkZW50aWZpZXIoZXhlYywgVVN0cmluZzo6bnVtYmVyKGkpKSk7CiB9CiAKLWJvb2wg
QXJndW1lbnRzOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSkgCitib29sIEFyZ3VtZW50czo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFs
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKSAKIHsKICAg
ICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5kZXggNmIxZmEwODhiYjU3
N2IyOTc1NDMzZTI1MTU2MWE5OGE3ZjY3NDlkNi4uMjBhNzEyOWRlNGUxNmY3Y2Y0ZWFhYzllMDJj
NzMwMzQ0MTBiZDcxYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJndW1lbnRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRz
LmgKQEAgLTEzNCw5ICsxMzQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIHZv
aWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwdXQo
RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKTsKICAgICAgICAgc3Rh
dGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwg
SlNWYWx1ZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUq
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wg
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4
ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgIHZpcnR1
YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUp
OworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSos
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3Bl
cnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAgICAgICAg
IHZvaWQgY3JlYXRlU3RyaWN0TW9kZUNhbGxlcklmTmVjZXNzYXJ5KEV4ZWNTdGF0ZSopOwogICAg
ICAgICB2b2lkIGNyZWF0ZVN0cmljdE1vZGVDYWxsZWVJZk5lY2Vzc2FyeShFeGVjU3RhdGUqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApp
bmRleCBjZjE2MTYwM2EzNGYxNTkzMzZiYzM5NWU3ZGQ4MjQ5YTFmNTdlY2VkLi44MjgxMjVhYzEx
M2E4NmY4NWMxM2ExNzEyZTI0YWU2ZjE4MjE1MWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0zOTEsNyArMzkxLDcgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1BvcChFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgICAgIHJlc3VsdCA9IGpzVW5kZWZpbmVkKCk7CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgcmVzdWx0ID0gdGhpc09iai0+Z2V0KGV4ZWMsIGxlbmd0aCAtIDEpOwotICAgICAgICB0aGlz
T2JqLT5kZWxldGVQcm9wZXJ0eShleGVjLCBsZW5ndGggLSAxKTsKKyAgICAgICAgdGhpc09iai0+
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGxlbmd0aCAtIDEpOwogICAgICAgICBwdXRQcm9w
ZXJ0eShleGVjLCB0aGlzT2JqLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJl
cihsZW5ndGggLSAxKSk7CiAgICAgfQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0
KTsKQEAgLTQ0MywxMiArNDQzLDEyIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJy
YXlQcm90b0Z1bmNSZXZlcnNlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgaWYgKG9iajIpCiAg
ICAgICAgICAgICB0aGlzT2JqLT5wdXQoZXhlYywgaywgb2JqMik7CiAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHRoaXNPYmotPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGspOworICAgICAgICAgICAg
dGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGspOwogCiAgICAgICAgIGlmIChv
YmopCiAgICAgICAgICAgICB0aGlzT2JqLT5wdXQoZXhlYywgbGsxLCBvYmopOwogICAgICAgICBl
bHNlCi0gICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eShleGVjLCBsazEpOworICAg
ICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGxrMSk7CiAgICAg
fQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iaik7CiB9CkBAIC00NzMsOSArNDcz
LDkgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1NoaWZ0KEV4
ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgICAgICBpZiAoSlNWYWx1ZSBvYmogPSBnZXRQcm9w
ZXJ0eShleGVjLCB0aGlzT2JqLCBrKSkKICAgICAgICAgICAgICAgICAgICAgdGhpc09iai0+cHV0
KGV4ZWMsIGsgLSAxLCBvYmopOwogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHkoZXhlYywgayAtIDEpOworICAgICAgICAgICAg
ICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgayAtIDEpOwogICAg
ICAgICAgICAgfQotICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHkoZXhlYywgbGVu
Z3RoIC0gMSk7CisgICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhl
YywgbGVuZ3RoIC0gMSk7CiAgICAgICAgIH0KICAgICAgICAgcHV0UHJvcGVydHkoZXhlYywgdGhp
c09iaiwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIobGVuZ3RoIC0gMSkp
OwogICAgIH0KQEAgLTYwOSwxMCArNjA5LDEwIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgYXJyYXlQcm90b0Z1bmNTcGxpY2UoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgICAg
ICAgICBpZiAoSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayArIGRlbGV0
ZUNvdW50KSkKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNPYmotPnB1dChleGVjLCBrICsg
YWRkaXRpb25hbEFyZ3MsIHYpOwogICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eShleGVjLCBrICsgYWRkaXRpb25h
bEFyZ3MpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKGV4ZWMsIGsgKyBhZGRpdGlvbmFsQXJncyk7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIGZvciAodW5zaWduZWQgayA9IGxlbmd0aDsgayA+IGxlbmd0aCAtIGRlbGV0
ZUNvdW50ICsgYWRkaXRpb25hbEFyZ3M7IC0taykKLSAgICAgICAgICAgICAgICAgICAgdGhpc09i
ai0+ZGVsZXRlUHJvcGVydHkoZXhlYywgayAtIDEpOworICAgICAgICAgICAgICAgICAgICB0aGlz
T2JqLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgayAtIDEpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKCghYmVnaW4pICYmIChpc0pTQXJyYXko
JmV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpc09iaikpKQpAQCAtNjIyLDcgKzYyMiw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTcGxpY2UoRXhlY1N0YXRlKiBl
eGVjKQogICAgICAgICAgICAgICAgICAgICBpZiAoSlNWYWx1ZSBvYmogPSBnZXRQcm9wZXJ0eShl
eGVjLCB0aGlzT2JqLCBrICsgZGVsZXRlQ291bnQgLSAxKSkKICAgICAgICAgICAgICAgICAgICAg
ICAgIHRoaXNPYmotPnB1dChleGVjLCBrICsgYWRkaXRpb25hbEFyZ3MgLSAxLCBvYmopOwogICAg
ICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzT2JqLT5k
ZWxldGVQcm9wZXJ0eShleGVjLCBrICsgYWRkaXRpb25hbEFyZ3MgLSAxKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXNPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChleGVjLCBrICsgYWRk
aXRpb25hbEFyZ3MgLSAxKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KQEAgLTY1Miw3ICs2NTIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cmF5UHJvdG9GdW5jVW5TaGlmdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICAgICAgaWYg
KEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgLSAxKSkKICAgICAgICAg
ICAgICAgICAgICAgdGhpc09iai0+cHV0KGV4ZWMsIGsgKyBuckFyZ3MgLSAxLCB2KTsKICAgICAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRoaXNPYmotPmRlbGV0ZVByb3Bl
cnR5KGV4ZWMsIGsgKyBuckFyZ3MgLSAxKTsKKyAgICAgICAgICAgICAgICAgICAgdGhpc09iai0+
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGsgKyBuckFyZ3MgLSAxKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FjdGl2YXRpb24uY3BwCmluZGV4IDkwZjkxMTA5NDRlMTQxNDUyMTNkM2QwZTllNWRjMjEzNmVk
YzM2YTguLjY1OTAxNDVlZjQ4NDJmZjIxM2QwN2ZhNjcyYzQ4NGQzOGI3ODVlYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcApAQCAtMjA1LDcg
KzIwNSw3IEBAIHZvaWQgSlNBY3RpdmF0aW9uOjpwdXRXaXRoQXR0cmlidXRlcyhFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5CiAgICAgSlNPYmplY3Q6OnB1dFdpdGhB
dHRyaWJ1dGVzKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMsIHRydWUsIHNs
b3QpOwogfQogCi1ib29sIEpTQWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTQWN0aXZhdGlvbjo6
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBw
cm9wZXJ0eU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBY3RpdmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2
YXRpb24uaAppbmRleCA3YmVkMjlmZDMwYzBiNTZmYzIyN2NlMzhmNjIzYjA5YjkxYzEzM2NiLi4x
M2UxNDMwYzMyZjY2OGFlMmFjMTAyOTNiYzZkMmI3YTU2ZDI0Y2MyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaApAQCAtNjksNyArNjksNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcHV0V2l0aEF0dHJpYnV0ZXMoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwotICAgICAgICB2aXJ0dWFsIGJv
b2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lKTsKKyAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgICAgICBzdGF0aWMgYm9v
bCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUpOwogCiAgICAgICAgIHZpcnR1YWwgSlNPYmplY3QqIHRvVGhpc09iamVjdChF
eGVjU3RhdGUqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAKaW5kZXggMjE3M2ZmMTZkODRhM2U1ZTk1YzBiNTRlYTY0Zjg0YWRhMTUxYzQxNC4uNjMwYjZi
Y2Q0MzYzMjU0N2YyMTIzOTM4NTVmZjI1YTBiZjhjMTk3NiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKQEAgLTUwNyw3ICs1MDcsNyBAQCBORVZFUl9JTkxJTkUg
dm9pZCBKU0FycmF5OjpwdXRTbG93Q2FzZShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIEpT
VmFsdWUgdmFsdQogICAgIEhlYXA6OmhlYXAodGhpcyktPnJlcG9ydEV4dHJhTWVtb3J5Q29zdChz
dG9yYWdlU2l6ZShuZXdWZWN0b3JMZW5ndGgpIC0gc3RvcmFnZVNpemUodmVjdG9yTGVuZ3RoKSk7
CiB9CiAKLWJvb2wgSlNBcnJheTo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTQXJyYXk6OmRlbGV0ZVByb3BlcnR5
VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkK
IHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVydHlOYW1lKTsK
IH0KQEAgLTUxOCw3ICs1MTgsNyBAQCBib29sIEpTQXJyYXk6OmRlbGV0ZVByb3BlcnR5KEpTQ2Vs
bCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcgogICAgIGJvb2wg
aXNBcnJheUluZGV4OwogICAgIHVuc2lnbmVkIGkgPSBwcm9wZXJ0eU5hbWUudG9BcnJheUluZGV4
KGlzQXJyYXlJbmRleCk7CiAgICAgaWYgKGlzQXJyYXlJbmRleCkKLSAgICAgICAgcmV0dXJuIHRo
aXNPYmplY3QtPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGkpOworICAgICAgICByZXR1cm4gdGhpc09i
amVjdC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGkpOwogCiAgICAgaWYgKHByb3BlcnR5
TmFtZSA9PSBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKQogICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC01MjYsNyArNTI2LDcgQEAgYm9vbCBKU0FycmF5OjpkZWxldGVQcm9wZXJ0eShKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHIKICAgICByZXR1
cm4gSlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFt
ZSk7CiB9CiAKLWJvb2wgSlNBcnJheTo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1
bnNpZ25lZCBpKQorYm9vbCBKU0FycmF5OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRl
KiBleGVjLCB1bnNpZ25lZCBpKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBl
eGVjLCBpKTsKIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCBib29sIEpTQXJyYXk6OmRlbGV0ZVByb3Bl
cnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpKQogICAgIHRoaXNP
YmplY3QtPmNoZWNrQ29uc2lzdGVuY3koKTsKIAogICAgIGlmIChpID4gTUFYX0FSUkFZX0lOREVY
KQotICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+ZGVsZXRlUHJvcGVydHkoZXhlYywgSWRlbnRp
Zmllcjo6ZnJvbShleGVjLCBpKSk7CisgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5kZWxldGVQ
cm9wZXJ0eVZpcnR1YWwoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBpKSk7CiAKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgKaW5k
ZXggZGJmYzE3MTE0MjU4YTEzNzgyMTg0M2NiOTU3OGIzYTljZGQxNmQzOC4uZWQyNDJjNWIwZDM2
MzNmMWJkMGRmN2Y1MzU2OTIzZGU5ZjIwOGQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuaApAQCAtMTc0LDkgKzE3NCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyB2b2lkIHB1
dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpT
VmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQ
cm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAg
ICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVBy
b3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNp
Z25lZCBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRp
YyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3Bl
cnR5TmFtZSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNT
dGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRl
RG9udEVudW1Qcm9wZXJ0aWVzKTsKICAgICAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihK
U0NlbGwqLCBTbG90VmlzaXRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNDZWxsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Vs
bC5jcHAKaW5kZXggODk3M2RjMzAwNDRmYmZmNzhmMGYwNjM2MjM4YjlmOGJlMzllOTc5MS4uNTI4
N2U1MzYyNTBlMWExZGI0NTM5OTQ3ODQyZWUzMDk0MjZkNDQ5OCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuY3BwCkBAIC0xMjMsMjQgKzEyMywyNCBAQCB2b2lkIEpTQ2Vs
bDo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpZGVudGlmaWVy
LCBKU1ZhbHVlIHZhbAogICAgIGNlbGwtPnRvT2JqZWN0KGV4ZWMsIGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKSktPnB1dChleGVjLCBpZGVudGlmaWVyLCB2YWx1ZSk7CiB9CiAKLWJvb2wgSlND
ZWxsOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIGlk
ZW50aWZpZXIpCitib29sIEpTQ2VsbDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKIHsKICAgICByZXR1cm4gZGVsZXRl
UHJvcGVydHkodGhpcywgZXhlYywgaWRlbnRpZmllcik7CiB9CiAKIGJvb2wgSlNDZWxsOjpkZWxl
dGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmll
ciYgaWRlbnRpZmllcikKIHsKLSAgICByZXR1cm4gY2VsbC0+dG9PYmplY3QoZXhlYywgZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+ZGVsZXRlUHJvcGVydHkoZXhlYywgaWRlbnRpZmllcik7
CisgICAgcmV0dXJuIGNlbGwtPnRvT2JqZWN0KGV4ZWMsIGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSktPmRlbGV0ZVByb3BlcnR5VmlydHVhbChleGVjLCBpZGVudGlmaWVyKTsKIH0KIAotYm9v
bCBKU0NlbGw6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaWRlbnRp
ZmllcikKK2Jvb2wgSlNDZWxsOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVj
LCB1bnNpZ25lZCBpZGVudGlmaWVyKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlz
LCBleGVjLCBpZGVudGlmaWVyKTsKIH0KIAogYm9vbCBKU0NlbGw6OmRlbGV0ZVByb3BlcnR5KEpT
Q2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpZGVudGlmaWVyKQogewotICAg
IHJldHVybiBjZWxsLT50b09iamVjdChleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkp
LT5kZWxldGVQcm9wZXJ0eShleGVjLCBpZGVudGlmaWVyKTsKKyAgICByZXR1cm4gY2VsbC0+dG9P
YmplY3QoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+ZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKGV4ZWMsIGlkZW50aWZpZXIpOwogfQogCiBKU09iamVjdCogSlNDZWxsOjp0b1RoaXNP
YmplY3QoRXhlY1N0YXRlKiBleGVjKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuaAppbmRleCAyM2YwZmQ1YzBmYWY3NTQ5ZmU3NjA4ZTBlNGViMGY1M2YzMjA2YmU3Li5j
ZWJmM2MyZjk5YWU5MGY1OTgxNGI2OTVkNjNlY2QxMzZiYTg5M2IwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtOTUsOSArOTUsOSBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgdmlydHVhbCB2b2lkIHB1dChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5h
bWUsIEpTVmFsdWUpOwogICAgICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRl
KiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKTsKICAgICAgICAgCi0gICAgICAgIHZp
cnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFs
KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0
YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0
eShFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJv
b2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFt
ZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0
ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAKICAgICAgICAgdmlydHVhbCBKU09iamVjdCog
dG9UaGlzT2JqZWN0KEV4ZWNTdGF0ZSopIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmNwcAppbmRleCA0OTMzMzA0NmNkNzliODk4NWRkNzVmY2FmZTVi
MTZjYTdlNDNjYTI1Li42ZmQzYzljNWI4N2Q0ZWJhN2YxOGIxODQyZDg5ODhmZDUzNmMyYTYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcApAQCAtMzMz
LDcgKzMzMyw3IEBAIHZvaWQgSlNGdW5jdGlvbjo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hCiAgICAgQmFzZTo6cHV0KHRoaXNP
YmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogfQogCi1ib29sIEpTRnVu
Y3Rpb246OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lKQorYm9vbCBKU0Z1bmN0aW9uOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0
dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5kZXggOWI5ZGE5Y2U5ZmFiNzU0
NzFkYThjZjlhYzE3ZmZiYzBkNzczYmMzNi4uZDZhNzk5Y2E2ZjNlNDVhN2NiZjFmZGVjNGFhMTdm
MTQ1M2RiY2YzMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
aApAQCAtMTQ2LDcgKzE0Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIHZv
aWQgcHV0KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1
ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBF
eGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFBy
b3BlcnR5U2xvdCYpOwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFs
IGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2Vs
bCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAKICAgICAg
ICAgc3RhdGljIEpTVmFsdWUgYXJndW1lbnRzR2V0dGVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIGNv
bnN0IElkZW50aWZpZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTTm90QW5PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNO
b3RBbk9iamVjdC5jcHAKaW5kZXggZTE0YTY4YmQ5NGZhMTRlZTBjZDY0ZDBmMzQyN2FhMmNjNDZk
YjlkOS4uMTQ3YTVmYjc2Y2FiMTBiZTllZjYxODg4NWY0OWRlMWM3NDUyMzc3ZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKQEAgLTEwNiw3
ICsxMDYsNyBAQCB2b2lkIEpTTm90QW5PYmplY3Q6OnB1dChKU0NlbGwqLCBFeGVjU3RhdGUqIGV4
ZWMsIHVuc2lnbmVkLCBKU1ZhbHVlKQogICAgIEFTU0VSVF9VTlVTRUQoZXhlYywgZXhlYy0+aGFk
RXhjZXB0aW9uKCkpOwogfQogCi1ib29sIEpTTm90QW5PYmplY3Q6OmRlbGV0ZVByb3BlcnR5KEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQorYm9vbCBKU05v
dEFuT2JqZWN0OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRo
aXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0xMTcsNyArMTE3LDcgQEAgYm9vbCBKU05v
dEFuT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBKU05vdEFuT2JqZWN0
OjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkK
K2Jvb2wgSlNOb3RBbk9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhl
YywgdW5zaWduZWQgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0
aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNOb3RBbk9iamVjdC5oCmluZGV4IGI4ZjBmYWE4NTYyMjYyM2MyMDc5YzljOWM3MTM3
ZDdkN2IyODUxZjcuLjA1N2FmMGRjNDY0ZjNmY2RkMzViOWFlYmU2ZjQ5NWY5NGVhNzgwY2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmgKQEAgLTgy
LDkgKzgyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhl
Y1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKTsKICAgICAgICAgc3RhdGlj
IHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBk
ZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgdmlydHVh
bCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7
CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVy
dHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqLCBQcm9wZXJ0eU5h
bWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSBtb2RlID0gRXhjbHVkZURvbnRFbnVtUHJvcGVydGll
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmluZGV4
IGQzZmMzNTk5MzFlMDE2OTEwODc1ZmM4ODljYmNmYzI4ODVjM2NjM2UuLmQwYmQxZDVlMmViNGE5
ZGEyNmNiOTI0Y2M3YmVmZmNjYTdlNzEyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MTAsNyArNzEwLDcgQEAgTkVWRVJfSU5MSU5FIEpT
VmFsdWUgV2Fsa2VyOjp3YWxrKEpTVmFsdWUgdW5maWx0ZXJlZCkKICAgICAgICAgICAgICAgICBK
U0FycmF5KiBhcnJheSA9IGFycmF5U3RhY2sucGVlaygpOwogICAgICAgICAgICAgICAgIEpTVmFs
dWUgZmlsdGVyZWRWYWx1ZSA9IGNhbGxSZXZpdmVyKGFycmF5LCBqc1N0cmluZyhtX2V4ZWMsIFVT
dHJpbmc6Om51bWJlcihpbmRleFN0YWNrLmxhc3QoKSkpLCBvdXRWYWx1ZSk7CiAgICAgICAgICAg
ICAgICAgaWYgKGZpbHRlcmVkVmFsdWUuaXNVbmRlZmluZWQoKSkKLSAgICAgICAgICAgICAgICAg
ICAgYXJyYXktPmRlbGV0ZVByb3BlcnR5KG1fZXhlYywgaW5kZXhTdGFjay5sYXN0KCkpOworICAg
ICAgICAgICAgICAgICAgICBhcnJheS0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKG1fZXhlYywgaW5k
ZXhTdGFjay5sYXN0KCkpOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAg
ICAgICBpZiAoaXNKU0FycmF5KCZtX2V4ZWMtPmdsb2JhbERhdGEoKSwgYXJyYXkpICYmIGFycmF5
LT5jYW5TZXRJbmRleChpbmRleFN0YWNrLmxhc3QoKSkpCiAgICAgICAgICAgICAgICAgICAgICAg
ICBhcnJheS0+c2V0SW5kZXgobV9leGVjLT5nbG9iYWxEYXRhKCksIGluZGV4U3RhY2subGFzdCgp
LCBmaWx0ZXJlZFZhbHVlKTsKQEAgLTc3Nyw3ICs3NzcsNyBAQCBORVZFUl9JTkxJTkUgSlNWYWx1
ZSBXYWxrZXI6OndhbGsoSlNWYWx1ZSB1bmZpbHRlcmVkKQogICAgICAgICAgICAgICAgIFB1dFBy
b3BlcnR5U2xvdCBzbG90OwogICAgICAgICAgICAgICAgIEpTVmFsdWUgZmlsdGVyZWRWYWx1ZSA9
IGNhbGxSZXZpdmVyKG9iamVjdCwganNTdHJpbmcobV9leGVjLCBwcm9wLnVzdHJpbmcoKSksIG91
dFZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyZWRWYWx1ZS5pc1VuZGVmaW5lZCgp
KQotICAgICAgICAgICAgICAgICAgICBvYmplY3QtPmRlbGV0ZVByb3BlcnR5KG1fZXhlYywgcHJv
cCk7CisgICAgICAgICAgICAgICAgICAgIG9iamVjdC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKG1f
ZXhlYywgcHJvcCk7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBv
YmplY3QtPnB1dChtX2V4ZWMsIHByb3AsIGZpbHRlcmVkVmFsdWUsIHNsb3QpOwogICAgICAgICAg
ICAgICAgIGlmIChtX2V4ZWMtPmhhZEV4Y2VwdGlvbigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IGFhY2VjNmQ0Mzc2NzBlYTNmYTAxMDAzZDc4ZWEw
NzMzZTQ5ZTBlNGQuLmYzY2Q4NWMzOTg0ODU1N2RjZTZlOTU5N2RmMjBiNjljZmMwODYxODcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKQEAgLTI0Nyw3ICsy
NDcsNyBAQCBib29sIEpTT2JqZWN0OjpoYXNQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2ln
bmVkIHByb3BlcnR5TmFtZSkgY29uc3QKICAgICByZXR1cm4gY29uc3RfY2FzdDxKU09iamVjdCo+
KHRoaXMpLT5nZXRQcm9wZXJ0eVNsb3QoZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAot
Ym9vbCBKU09iamVjdDo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eVZpcnR1
YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAg
ICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBA
IC0yODAsMTQgKzI4MCwxNCBAQCBib29sIEpTT2JqZWN0OjpoYXNPd25Qcm9wZXJ0eShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkgYwogICAgIHJldHVybiBj
b25zdF9jYXN0PEpTT2JqZWN0Kj4odGhpcyktPmdldE93blByb3BlcnR5U2xvdChleGVjLCBwcm9w
ZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1ib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShFeGVj
U3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNPYmplY3Q6OmRlbGV0
ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkK
IHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVydHlOYW1lKTsK
IH0KIAogYm9vbCBKU09iamVjdDo6ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiBjZWxsLCBFeGVjU3Rh
dGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8SlNPYmplY3QqPihjZWxsKS0+ZGVsZXRlUHJvcGVydHkoZXhlYywgSWRlbnRpZmllcjo6ZnJv
bShleGVjLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNPYmplY3Qq
PihjZWxsKS0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhl
YywgcHJvcGVydHlOYW1lKSk7CiB9CiAKIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTVmFsdWUgY2Fs
bERlZmF1bHRWYWx1ZUZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNPYmplY3QqIG9i
amVjdCwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQpAQCAtNzI3LDcgKzcyNyw3IEBA
IGJvb2wgSlNPYmplY3Q6OmRlZmluZU93blByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lCiAgICAgLy8gQSBnZW5lcmljIGRlc2NyaXB0b3IgaXMg
c2ltcGx5IGNoYW5naW5nIHRoZSBhdHRyaWJ1dGVzIG9mIGFuIGV4aXN0aW5nIHByb3BlcnR5CiAg
ICAgaWYgKGRlc2NyaXB0b3IuaXNHZW5lcmljRGVzY3JpcHRvcigpKSB7CiAgICAgICAgIGlmICgh
Y3VycmVudC5hdHRyaWJ1dGVzRXF1YWwoZGVzY3JpcHRvcikpIHsKLSAgICAgICAgICAgIGRlbGV0
ZVByb3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZSk7CisgICAgICAgICAgICBkZWxldGVQcm9wZXJ0
eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1lKTsKICAgICAgICAgICAgIHB1dERlc2NyaXB0b3Io
ZXhlYywgdGhpcywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBjdXJyZW50LmF0dHJpYnV0ZXNX
aXRoT3ZlcnJpZGUoZGVzY3JpcHRvciksIGN1cnJlbnQpOwogICAgICAgICB9CiAgICAgICAgIHJl
dHVybiB0cnVlOwpAQCAtNzQwLDcgKzc0MCw3IEBAIGJvb2wgSlNPYmplY3Q6OmRlZmluZU93blBy
b3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lCiAg
ICAgICAgICAgICAgICAgdGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgIkF0
dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBtZWNoYW5pc20gZm9yIGFuIHVuY29uZmlndXJhYmxl
IHByb3BlcnR5LiIpKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAg
ICAgICBkZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICBkZWxldGVQ
cm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1lKTsKICAgICAgICAgcmV0dXJuIHB1dERl
c2NyaXB0b3IoZXhlYywgdGhpcywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBjdXJyZW50LmF0
dHJpYnV0ZXNXaXRoT3ZlcnJpZGUoZGVzY3JpcHRvciksIGN1cnJlbnQpOwogICAgIH0KIApAQCAt
NzY4LDcgKzc2OCw3IEBAIGJvb2wgSlNPYmplY3Q6OmRlZmluZU93blByb3BlcnR5KEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lCiAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KLSAgICAg
ICAgZGVsZXRlUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKGV4ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHJldHVybiBwdXREZXNj
cmlwdG9yKGV4ZWMsIHRoaXMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgY3VycmVudC5hdHRy
aWJ1dGVzV2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpLCBjdXJyZW50KTsKICAgICB9CiAKQEAgLTc5
Nyw3ICs3OTcsNyBAQCBib29sIEpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eShFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZQogICAgICAgICAgICAgZ2V0dGVy
U2V0dGVyLT5zZXRHZXR0ZXIoZXhlYy0+Z2xvYmFsRGF0YSgpLCBhc09iamVjdChkZXNjcmlwdG9y
LmdldHRlcigpKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBkZWxldGVQcm9w
ZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIGRlbGV0ZVByb3BlcnR5VmlydHVhbChleGVj
LCBwcm9wZXJ0eU5hbWUpOwogICAgIHVuc2lnbmVkIGF0dHJzID0gY3VycmVudC5hdHRyaWJ1dGVz
V2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpOwogICAgIGlmIChkZXNjcmlwdG9yLnNldHRlcigpKQog
ICAgICAgICBhdHRycyB8PSBTZXR0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaAppbmRleCAzYWQ3MGM1MGFhZDYxYWQzN2ZjYzJmYTliOTA0YTcwYjM3ZmYzM2IyLi5h
MjgyYmNlYzRlYTU5ZmZiOTY4Y2M0OTIxMTdkOThhNjM4ZWY3NjQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTEyNSw5ICsxMjUsOSBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgYm9vbCBoYXNQcm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9w
ZXJ0eU5hbWUpIGNvbnN0OwogICAgICAgICBib29sIGhhc093blByb3BlcnR5KEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkgY29uc3Q7CiAKLSAgICAgICAgdmlydHVh
bCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKICAgICAgICAgc3RhdGlj
IGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4
ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBk
ZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsK
ICAgICAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lKTsKIAogICAgICAgICB2aXJ0dWFsIEpTVmFsdWUgZGVmYXVs
dFZhbHVlKEV4ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNwcAppbmRl
eCBkMjIzOGEyMTFjZmRmN2U0OGZmMTZlY2Q3YTk3YTk1OGMxZGY0YzcxLi4xODQ1OTA5MzlmMzkw
ZjJiMDMxNDBmZmM5ZTVkYmVlMDY0MzU2ZGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBu
YW1lc3BhY2UgSlNDIHsKIAotYm9vbCBKU1ZhcmlhYmxlT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNW
YXJpYWJsZU9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0
eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oCmluZGV4IDc2ZDZhMzRmYmJhMzczNGFjMDJk
NDM2NzZiYjk4ZjBhYWY5ZDllMjIuLjlkZTcwOTM3OTQ5MWEyMjBlNDcxZmQ2ZTIxZmIwZmFlMGU0
ODc5ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFyaWFi
bGVPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhcmlhYmxl
T2JqZWN0LmgKQEAgLTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdmly
dHVhbCB2b2lkIHB1dFdpdGhBdHRyaWJ1dGVzKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
LCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSA9IDA7CiAKLSAgICAgICAgdmlydHVhbCBi
b29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsKKyAgICAg
ICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJik7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCos
IEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGdl
dE93blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVtZXJh
dGlvbk1vZGUgbW9kZSA9IEV4Y2x1ZGVEb250RW51bVByb3BlcnRpZXMpOwogICAgICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJh
eS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgK
aW5kZXggZTc1ZDYyMTkxNWQyNGE1ZTg2YjdhNzU2NGE5MjVhMjZmMDY5MDExZC4uZmZiMDY4Yjc0
YTk1ZjhmOWQ5NjZiNGRkMWJjNTQ3YzFiMDE3MjVmNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKQEAgLTEwMiw3ICsxMDIsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIEpTQXJyYXk6OnB1dCh0aGlzT2JqZWN0LCBl
eGVjLCBwcm9wZXJ0eU5hbWUsIHYpOwogICAgICAgICB9CiAKLSAgICAgICAgdmlydHVhbCBib29s
IGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lKQorICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogICAgICAgICB7CiAg
ICAgICAgICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVydHlOYW1l
KTsKICAgICAgICAgfQpAQCAtMTE1LDcgKzExNSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICAgICAgcmV0dXJuIEpTQXJyYXk6OmRlbGV0ZVByb3BlcnR5KHRoaXNPYmplY3QsIGV4ZWMsIHBy
b3BlcnR5TmFtZSk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJv
cGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpCisgICAgICAgIHZp
cnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBkZWxldGVQcm9w
ZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHAKaW5k
ZXggZTk5Y2Q2OTE0NmZkZWI1YjRmZTY4MGY4OTE3YmU4ZmVkOTc4ZThhMi4uMjhmYzM2NWZlNTE3
ZDFjNDQ1NGRiZGViMGE2ZjZlMzZhZmY4MzU2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmNwcApAQCAtMzUsNyArMzUs
NyBAQCBTdHJpY3RFdmFsQWN0aXZhdGlvbjo6U3RyaWN0RXZhbEFjdGl2YXRpb24oRXhlY1N0YXRl
KiBleGVjKQogewogfQogCi1ib29sIFN0cmljdEV2YWxBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0
eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCitib29sIFN0
cmljdEV2YWxBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQogewogICAgIHJldHVybiBkZWxldGVQcm9w
ZXJ0eSh0aGlzLCBleGVjLCBpZGVudGlmaWVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5oCmluZGV4IGYxZDhkNmY5NTE4
Nzc0NWE4OGVkMGM0ZWFlMzVhMDAwZmZhOTZmNDQuLmM5YTM0OWNmNmJjOTkzNDM1ZjJhODE4MTdk
ZTIxNmZiNWVhMWI0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cmljdEV2YWxBY3RpdmF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaWN0RXZhbEFjdGl2YXRpb24uaApAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBhY3RpdmF0aW9uOwogICAgIH0KIAotICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQ
cm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJik7CisgICAgdmlydHVhbCBib29s
IGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJik7CiAg
ICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYpOwogICAgIHZpcnR1YWwgSlNPYmplY3QqIHRvVGhpc09iamVjdChFeGVjU3Rh
dGUqKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RyaW5nT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09i
amVjdC5jcHAKaW5kZXggNmQ1NDhjZDZmMWFmNGUyYzZkZGU5YWY2ZjRmY2ZlODY3NzIyZTdhMS4u
M2E0M2E4ZjRhMTM2ZWQ0NGM3MDZhMzI3ZjM1NDNkNDA3YWVkMDM5OCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCkBAIC04Niw3ICs4Niw3IEBA
IHZvaWQgU3RyaW5nT2JqZWN0OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IElkZW50aWZpZXImIHByb3BlcnR5CiAgICAgSlNPYmplY3Q6OnB1dChjZWxsLCBleGVjLCBw
cm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKIH0KIAotYm9vbCBTdHJpbmdPYmplY3Q6OmRlbGV0
ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1l
KQorYm9vbCBTdHJpbmdPYmplY3Q6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gZGVsZXRl
UHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKaW5kZXggODcyYTJjMTMzYjY2YTZkMjE3YWM5
YzliZTU2NDlmODJlNWNjMTE4Yi4uZTkyYjQ5Y2JlNjQxMjIzMTU0YjQyYWI1MDljZmNiODEwMWIz
MGZmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgK
QEAgLTU1LDcgKzU1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBw
dXQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFs
dWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwg
RXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQ
cm9wZXJ0eVNsb3QmKTsKIAotICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgdmlydHVh
bCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUpOwogICAgICAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0Nl
bGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqLCBQcm9wZXJ0eU5h
bWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSBtb2RlID0gRXhjbHVkZURvbnRFbnVtUHJvcGVydGll
cyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA3NTU4MGYxNGM3OGM2MzY5YTlkNDMzNzA3ZjFjNWVmYzQ4YTU4
MGQwLi43NDAyMjE2MWY0MjMyNTlkNmZmMzBlNmZmM2Y5MGFmZDQ1ZDIwY2I1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNTAgQEAKKzIwMTEtMTAtMTEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5i
ZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgdmlydHVhbCBkZWxldGVQcm9wZXJ0eSB0
byBkZWxldGVQcm9wZXJ0eVZpcnR1YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY5ODg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgIFJlbmFtZWQgdmlydHVhbCB2
ZXJzaW9ucyBvZiBkZWxldGVQcm9wZXJ0eSB0byBkZWxldGVQcm9wZXJ0eVZpcnR1YWwgaW4gcHJl
cHJhdGlvbiBmb3IgCisgICAgICAgIGFkZGluZyB0aGUgc3RhdGljIGRlbGV0ZVByb3BlcnR5IHRv
IHRoZSBNZXRob2RUYWJsZSBpbiBDbGFzc0luZm8gc2luY2UgdGhlIAorICAgICAgICBjb21waWxl
ciBnZXRzIG1hZCBpZiB0aGUgdmlydHVhbCBhbmQgc3RhdGljIHZlcnNpb25zIGhhdmUgdGhlIHNh
bWUgbmFtZS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NU3RyaW5nTWFwQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NU3Ry
aW5nTWFwOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93OjpkZWxl
dGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6ZGVsZXRlUHJvcGVy
dHlWaXJ0dWFsKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmg6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTSGlzdG9yeTo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTTG9jYXRpb246
OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTdG9yYWdl
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU3RvcmFnZTo6ZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRPYmplY3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0R2xvYmFsT2JqZWN0OjpyZW1vdmUpOgorICAgICAgICAqIGJpbmRp
bmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tOgorICAgICAgICAoLVtXZWJTY3JpcHRPYmplY3Qg
cmVtb3ZlV2ViU2NyaXB0S2V5Ol0pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAqIGJyaWRn
ZS9OUF9qc29iamVjdC5jcHA6CisgICAgICAgIChfTlBOX1JlbW92ZVByb3BlcnR5KToKKyAgICAg
ICAgKiBicmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbToKKyAgICAgICAgKEphdmFKU09iamVjdDo6
cmVtb3ZlTWVtYmVyKToKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaDoKKyAg
ICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW06CisgICAgICAgIChKU0M6OkJpbmRp
bmdzOjpPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAg
ICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpSdW50aW1lQXJy
YXk6OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJy
YXkuaDoKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3QuY3BwOgorICAgICAgICAoSlND
OjpCaW5kaW5nczo6UnVudGltZU9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAg
ICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3QuaDoKKwogMjAxMS0xMC0xMSAgQ2xhdWRpbyBTYWF2
ZWRyYSAgPGNzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEd0a0F1dGhlbnRp
Y2F0aW9uRGlhbG9nOiB1c2UgR3RrR3JpZCBpbnN0ZWFkIG9mIEd0a1RhYmxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCmluZGV4IGRiNmUzMDkwMjZmNzg4NjU0MzVkZmRjYjBmYmM3MDM1NzJhZmUzZDMuLjky
NzVlNThkZWViZjk3YzFjNGI3Yzc5M2E0YjQxYzJmMWE0MjQ5M2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCkBAIC0xNjg4LDExICsxNjg4LDExIEBAIF9fWk4zSlNDMTNSdW50aW1lTWV0aG9kNnNfaW5m
b0UKIF9fWk4zSlNDMTNSdW50aW1lTWV0aG9kQzJFUE5TXzE0SlNHbG9iYWxPYmplY3RFUE5TXzlT
dHJ1Y3R1cmVFUk4zV1RGNlZlY3RvcklQTlNfOEJpbmRpbmdzNk1ldGhvZEVMbTBFRUUKIF9fWk4z
SlNDOEJpbmRpbmdzMTBSb290T2JqZWN0RDFFdgogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVP
YmplY3QxMWdldENhbGxEYXRhRVBOU182SlNDZWxsRVJOU184Q2FsbERhdGFFCi1fX1pOM0pTQzhC
aW5kaW5nczEzUnVudGltZU9iamVjdDE0ZGVsZXRlUHJvcGVydHlFUE5TXzlFeGVjU3RhdGVFUktO
U18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDE0ZmluaXNo
Q3JlYXRpb25FUE5TXzE0SlNHbG9iYWxPYmplY3RFCiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGlt
ZU9iamVjdDE2Z2V0Q29uc3RydWN0RGF0YUVSTlNfMTNDb25zdHJ1Y3REYXRhRQogX19aTjNKU0M4
QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxOGdldE93blByb3BlcnR5U2xvdEVQTlNfOUV4ZWNTdGF0
ZUVSS05TXzEwSWRlbnRpZmllckVSTlNfMTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhCaW5kaW5n
czEzUnVudGltZU9iamVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQTlNfOUV4ZWNTdGF0ZUVSTlNf
MTdQcm9wZXJ0eU5hbWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9kZUUKK19fWk4zSlNDOEJpbmRp
bmdzMTNSdW50aW1lT2JqZWN0MjFkZWxldGVQcm9wZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3RhdGVF
UktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDI0Z2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJO
U18xOFByb3BlcnR5RGVzY3JpcHRvckUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0
M3B1dEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQ
dXRQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDZzX2luZm9F
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVN0cmluZ01hcEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVN0cmluZ01hcEN1c3Rv
bS5jcHAKaW5kZXggZTNkZTY0ZTdiNGJmYTc0MmNmM2Q4MGZlMmIwYTM1ODdjZTg3MmUyZC4uZGMy
NTE2OTEyNDI0NWNhMjA4ZTJmYjkwNmZkNjljNTQ5YzNhYjg2MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01TdHJpbmdNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NU3RyaW5nTWFwQ3VzdG9tLmNwcApAQCAtNTcsNyAr
NTcsNyBAQCB2b2lkIEpTRE9NU3RyaW5nTWFwOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0
ZSogZXhlYywgUHJvcGVydHlOYW1lQXJyYXkmIHBybwogICAgIEJhc2U6OmdldE93blByb3BlcnR5
TmFtZXMoZXhlYywgcHJvcGVydHlOYW1lcywgbW9kZSk7CiB9CiAKLWJvb2wgSlNET01TdHJpbmdN
YXA6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lKQorYm9vbCBKU0RPTVN0cmluZ01hcDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIEF0
b21pY1N0cmluZyBzdHJpbmdOYW1lID0gaWRlbnRpZmllclRvQXRvbWljU3RyaW5nKHByb3BlcnR5
TmFtZSk7CiAgICAgaWYgKCFtX2ltcGwtPmNvbnRhaW5zKHN0cmluZ05hbWUpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDA0YjVi
OTc2NTI3YTRmZDE5NWI0NWFiMjg0OTU2NGVhYzg1ZDJlNjguLmEzYjI4NzFkMjBkNjM5YzU2MDc1
NDllYjEyZDMzY2Y0ZDU1ZDRjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTM1NywxMiArMzU3LDEyIEBAIHZvaWQgSlNET01X
aW5kb3c6OnB1dChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSwgSlNWYWx1ZSB2CiAgICAgICAgIEJhc2U6OnB1dChleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVl
LCBzbG90KTsKIH0KIAotYm9vbCBKU0RPTVdpbmRvdzo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTRE9NV2luZG93
OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgLy8gT25seSBhbGxvdyBkZWxldGluZyBwcm9wZXJ0aWVz
IGJ5IGZyYW1lcyBpbiB0aGUgc2FtZSBvcmlnaW4uCiAgICAgaWYgKCFhbGxvd3NBY2Nlc3NGcm9t
KGV4ZWMpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIEJhc2U6OmRlbGV0ZVBy
b3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIEJhc2U6OmRlbGV0ZVByb3Bl
cnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CiAKIHZvaWQgSlNET01XaW5kb3c6Omdl
dFByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVy
dHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCmluZGV4IDZkMjZmOTg1YzcxYjZjNGI4M2IwYTMw
Mjk4OWIwN2YwYmEzMjdiMWUuLjdhYzkwZjEwYmE5MDM4NjczYzM3ZmYzY2I5ZWIxNTI0NThkOTE5
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwu
Y3BwCkBAIC0xMzAsOSArMTMwLDkgQEAgYm9vbCBKU0RPTVdpbmRvd1NoZWxsOjpkZWZpbmVPd25Q
cm9wZXJ0eShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpJZGVudGkKICAgICByZXR1
cm4gbV93aW5kb3ctPmRlZmluZU93blByb3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3Jp
cHRvciwgc2hvdWxkVGhyb3cpOwogfQogCi1ib29sIEpTRE9NV2luZG93U2hlbGw6OmRlbGV0ZVBy
b3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQor
Ym9vbCBKU0RPTVdpbmRvd1NoZWxsOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgcmV0dXJuIG1fd2lu
ZG93LT5kZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBtX3dp
bmRvdy0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CiAKIHZv
aWQgSlNET01XaW5kb3dTaGVsbDo6Z2V0UHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIFBy
b3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAppbmRleCBiNWRk
M2E2YTE2YzJjZDhhNjNmOThhM2Y5Mjc5ODM1MmJkZjBkNjc3Li41ZjNkZDFkYmVmZjVmMGIwNzdj
ODkwYzRlY2ZjYTQxYzdhODJhZTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5oCkBAIC04NSw3ICs4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5
RGVzY3JpcHRvciYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0KEpTQzo6RXhlY1N0YXRlKiwg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpQ
dXRQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dFdpdGhBdHRyaWJ1dGVz
KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpT
Qzo6SlNWYWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBk
ZWxldGVQcm9wZXJ0eShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJv
cGVydHlOYW1lKTsKKyAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChK
U0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKICAg
ICAgICAgdmlydHVhbCB2b2lkIGdldFByb3BlcnR5TmFtZXMoSlNDOjpFeGVjU3RhdGUqLCBKU0M6
OlByb3BlcnR5TmFtZUFycmF5JiwgSlNDOjpFbnVtZXJhdGlvbk1vZGUgbW9kZSA9IEpTQzo6RXhj
bHVkZURvbnRFbnVtUHJvcGVydGllcyk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRPd25Qcm9w
ZXJ0eU5hbWVzKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpQcm9wZXJ0eU5hbWVBcnJheSYsIEpTQzo6
RW51bWVyYXRpb25Nb2RlIG1vZGUgPSBKU0M6OkV4Y2x1ZGVEb250RW51bVByb3BlcnRpZXMpOwog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGVmaW5lR2V0dGVyKEpTQzo6RXhlY1N0YXRlKiwgY29uc3Qg
SlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6SlNPYmplY3QqIGdldHRlckZ1bmN0
aW9uLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hpc3RvcnlDdXN0b20uY3BwCmluZGV4IDA5MjdjNzk3NDA0OGUyMmVhY2IyNDU2Y2NkYzFl
OWUwMTU1NGFhYTIuLjAwZDc5MDA2MGI1N2Y4YTU0NTFjNTFjZDJhNjc0NTVkZWViYTJjZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcApAQCAt
MTQ2LDEyICsxNDYsMTIgQEAgYm9vbCBKU0hpc3Rvcnk6OnB1dERlbGVnYXRlKEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYsIEpTVmFsdWUsIFB1dFByb3AKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLWJvb2wgSlNIaXN0b3J5OjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNIaXN0b3J5OjpkZWxldGVQ
cm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUpCiB7CiAgICAgLy8gT25seSBhbGxvdyBkZWxldGluZyBieSBmcmFtZXMgaW4gdGhlIHNh
bWUgb3JpZ2luLgogICAgIGlmICghYWxsb3dzQWNjZXNzRnJvbUZyYW1lKGV4ZWMsIGltcGwoKS0+
ZnJhbWUoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gQmFzZTo6ZGVsZXRl
UHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKTsKKyAgICByZXR1cm4gQmFzZTo6ZGVsZXRlUHJv
cGVydHkodGhpcywgZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KIAogdm9pZCBKU0hpc3Rvcnk6Omdl
dE93blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJv
cGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwCmluZGV4IDk2N2JjNGRhZGFlZjIwNTE3YTE3
MGRiNTdiMTU1YjJmOWRlYWJjODkuLjQ0NjQ0NTIzNjQ4OTdmZTk0OGJkNWIzMDQ1YzhiZDNjNzYz
ZDE5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTG9jYXRpb25D
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0
b20uY3BwCkBAIC0xNTIsMTIgKzE1MiwxMiBAQCBib29sIEpTTG9jYXRpb246OnB1dERlbGVnYXRl
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKUwogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBKU0xvY2F0aW9uOjpkZWxldGVQcm9wZXJ0eShFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNMb2Nh
dGlvbjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIC8vIE9ubHkgYWxsb3cgZGVsZXRpbmcgYnkgZnJh
bWVzIGluIHRoZSBzYW1lIG9yaWdpbi4KICAgICBpZiAoIWFsbG93c0FjY2Vzc0Zyb21GcmFtZShl
eGVjLCBpbXBsKCktPmZyYW1lKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJu
IEJhc2U6OmRlbGV0ZVByb3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIEJh
c2U6OmRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CiAKIHZvaWQg
SlNMb2NhdGlvbjo6Z2V0T3duUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5
TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3RvcmFnZUN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0b3JhZ2VDdXN0b20uY3BwCmluZGV4IDQxNzQ3YmVl
ZGRhNzlhYzNkMGY3ZTY2ZjlhNTk1YjIzZDM3MGQ2OTIuLjJlMTE5MmY1Mjk5YmE0NTMzM2EwN2Fh
N2ExZGVjOWY2MWI1MmNlZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTU3RvcmFnZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
dG9yYWdlQ3VzdG9tLmNwcApAQCAtNDgsNyArNDgsNyBAQCBKU1ZhbHVlIEpTU3RvcmFnZTo6bmFt
ZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIGNvbnN0IElkZW50aWZp
ZQogICAgIHJldHVybiBqc1N0cmluZ09yTnVsbChleGVjLCB0aGlzT2JqLT5pbXBsKCktPmdldEl0
ZW0oaWRlbnRpZmllclRvU3RyaW5nKHByb3BlcnR5TmFtZSkpKTsKIH0KIAotYm9vbCBKU1N0b3Jh
Z2U6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lKQorYm9vbCBKU1N0b3JhZ2U6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKICAgICAvLyBPbmx5
IHBlcmZvcm0gdGhlIGN1c3RvbSBkZWxldGUgaWYgdGhlIG9iamVjdCBkb2Vzbid0IGhhdmUgYSBu
YXRpdmUgcHJvcGVydHkgYnkgdGhpcyBuYW1lLgogICAgIC8vIFNpbmNlIGhhc1Byb3BlcnR5KCkg
d291bGQgZW5kIHVwIGNhbGxpbmcgY2FuR2V0SXRlbXNGb3JOYW1lKCkgYW5kIGJlIGZvb2xlZCwg
d2UgbmVlZCB0byBjaGVjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE9iamVj
dC5jcHAKaW5kZXggMDM1NTk3YjE0NzMyYTRiOWI5YTkyZTZjNWE5MjVhNTM2N2FhOGYyYy4uNjI1
N2Y2NTUyYzRjMjA0ZmYxN2NjZWNhYjc5ZDdmNmQyYmQxY2UwNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRPYmplY3QuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgYm9vbCBT
Y3JpcHRHbG9iYWxPYmplY3Q6OmdldChTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIGNvbnN0IGNo
YXIqIG5hbWUsIFNjcmlwdE8KIGJvb2wgU2NyaXB0R2xvYmFsT2JqZWN0OjpyZW1vdmUoU2NyaXB0
U3RhdGUqIHNjcmlwdFN0YXRlLCBjb25zdCBjaGFyKiBuYW1lKQogewogICAgIEpTTG9jayBsb2Nr
KFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgc2NyaXB0U3RhdGUtPmxleGljYWxHbG9iYWxP
YmplY3QoKS0+ZGVsZXRlUHJvcGVydHkoc2NyaXB0U3RhdGUsIElkZW50aWZpZXIoc2NyaXB0U3Rh
dGUsIG5hbWUpKTsKKyAgICBzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5kZWxl
dGVQcm9wZXJ0eVZpcnR1YWwoc2NyaXB0U3RhdGUsIElkZW50aWZpZXIoc2NyaXB0U3RhdGUsIG5h
bWUpKTsKICAgICByZXR1cm4gaGFuZGxlRXhjZXB0aW9uKHNjcmlwdFN0YXRlKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQppbmRleCBm
ZjYxM2UyZDhhNWE0NjRiOGYwNWNjODJhM2VjNzJlN2E4YWEyMzc3Li5hMjUzNzNkODc5MDgxMDVm
ZDRkOTFkNmU1YzE5MDdkMmY2ODk3YjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQpAQCAtNDAzLDcgKzQwMyw3IEBAIHN0YXRpYyB2b2lk
IGdldExpc3RGcm9tTlNBcnJheShFeGVjU3RhdGUgKmV4ZWMsIE5TQXJyYXkgKmFycmF5LCBSb290
T2JqZWN0KiByb290CiAgICAgQVNTRVJUKCFleGVjLT5oYWRFeGNlcHRpb24oKSk7CiAKICAgICBK
U0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIFtzZWxmIF9pbXBdLT5kZWxl
dGVQcm9wZXJ0eShleGVjLCBJZGVudGlmaWVyKGV4ZWMsIHN0cmluZ1RvVVN0cmluZyhTdHJpbmco
a2V5KSkpKTsKKyAgICBbc2VsZiBfaW1wXS0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIElk
ZW50aWZpZXIoZXhlYywgc3RyaW5nVG9VU3RyaW5nKFN0cmluZyhrZXkpKSkpOwogCiAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKSB7CiAgICAgICAgIGFkZEV4Y2VwdGlvblRvQ29uc29sZShl
eGVjKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KaW5kZXggMmQ4MTM0NzBjN2NhMTczOTJkZWZiMjExZDYyNTIxODJkOTZmMGExYS4u
M2M3ZjY4MWFjMjU0YzY1Zjk2NzJmNTNkMWU0ODk4OTQ0Y2E5MTE1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTgyMCw3
ICs4MjAsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
ICAgIHN0YXRpYyBKU0M6OkNhbGxUeXBlIGdldENhbGxEYXRhKEpTQzo6SlNDZWxsKiwgSlNDOjpD
YWxsRGF0YSYpO1xuXG4iKSBpZiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0
b21DYWxsIn07CiAKICAgICAjIEN1c3RvbSBkZWxldGVQcm9wZXJ0eSBmdW5jdGlvbgotICAgIHB1
c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEpTQzo6
RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7XG4iKSBpZiAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21EZWxldGVQcm9wZXJ0eSJ9OworICAgIHB1c2goQGhl
YWRlckNvbnRlbnQsICIgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChKU0M6
OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpO1xuIikgaWYgJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tRGVsZXRlUHJvcGVydHkifTsKIAogICAgICMgQ3Vz
dG9tIGdldFByb3BlcnR5TmFtZXMgZnVuY3Rpb24gZXhpc3RzIG9uIERPTVdpbmRvdwogICAgIGlm
ICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9OUF9q
c29iamVjdC5jcHAKaW5kZXggMTRlZmIxOTc2ZmZhNzY4OWYyM2VmMjczNTUxNDFmNmJkZTZkN2Ux
NC4uNDQ0ZTU1YWUzNjEwY2YzZDc2MDI4MzUzZWRmNzA2ZTBiYjYxOGI5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvTlBfanNvYmplY3QuY3BwCkBAIC0zNzUsOSArMzc1LDkgQEAgYm9vbCBfTlBOX1Jl
bW92ZVByb3BlcnR5KE5QUCwgTlBPYmplY3QqIG8sIE5QSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUp
CiAKICAgICAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKICAgICAgICAg
aWYgKGktPmlzU3RyaW5nKCkpCi0gICAgICAgICAgICBvYmotPmltcC0+ZGVsZXRlUHJvcGVydHko
ZXhlYywgaWRlbnRpZmllckZyb21OUElkZW50aWZpZXIoZXhlYywgaS0+c3RyaW5nKCkpKTsKKyAg
ICAgICAgICAgIG9iai0+aW1wLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgaWRlbnRpZmll
ckZyb21OUElkZW50aWZpZXIoZXhlYywgaS0+c3RyaW5nKCkpKTsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgb2JqLT5pbXAtPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGktPm51bWJlcigpKTsKKyAg
ICAgICAgICAgIG9iai0+aW1wLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgaS0+bnVtYmVy
KCkpOwogCiAgICAgICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9uKCk7CiAgICAgICAgIHJldHVybiB0
cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qbmlfanNvYmplY3Qu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbQppbmRleCAxYzZm
MWZiZTMxYzZkNDY3YmNiNWJiZjIzNWZjY2Q0YzA3NTAxM2E1Li44N2E1NmRkNThkNmI2N2M2YzNk
MmE1NTZkZTc0ZTgyYzY3NzcxZmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
am5pL2puaV9qc29iamVjdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9q
c29iamVjdC5tbQpAQCAtMzYyLDcgKzM2Miw3IEBAIHZvaWQgSmF2YUpTT2JqZWN0OjpyZW1vdmVN
ZW1iZXIoanN0cmluZyBtZW1iZXJOYW1lKSBjb25zdAogCiAgICAgRXhlY1N0YXRlKiBleGVjID0g
cm9vdE9iamVjdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKICAgICBKU0xvY2sgbG9j
ayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIF9pbXAtPmRlbGV0ZVByb3BlcnR5KGV4ZWMs
IElkZW50aWZpZXIoZXhlYywgSmF2YVN0cmluZyhtZW1iZXJOYW1lKS5pbXBsKCkpKTsKKyAgICBf
aW1wLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgSWRlbnRpZmllcihleGVjLCBKYXZhU3Ry
aW5nKG1lbWJlck5hbWUpLmltcGwoKSkpOwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29i
amMvb2JqY19ydW50aW1lLmgKaW5kZXggYTk4YTkwZTE5NzUwYWRiZjkzNmVkYjc2OTcxZTE3MTRh
NWFkYjZlZi4uZjQ5MGM3YWU2Y2M3YmYzYzIwYzYwMTU5ZmVlZmZmOWNkZjJlOTczZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKQEAgLTEyOSw3ICsxMjksNyBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0
aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgQ2FsbFR5cGUg
Z2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKLSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRl
UHJvcGVydHkoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKKyAg
ICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHko
SlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKICAg
ICB2aXJ0dWFsIEpTVmFsdWUgZGVmYXVsdFZhbHVlKEV4ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1p
dGl2ZVR5cGUpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9vYmpjX3J1bnRpbWUubW0gYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRp
bWUubW0KaW5kZXggNGNmYzM4NGFlNTU2M2Q3ZDE4M2U3MWZlZDdkNmEwMTFmZDM1MjU1OS4uOWE1
OWE2ZTIzZmJmY2U0NzI0YmYwNWQzN2Q1OThhOWJjMzEwZmZjZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbQpAQCAtMjc0LDcgKzI3NCw3IEBAIENhbGxUeXBl
IE9iamNGYWxsYmFja09iamVjdEltcDo6Z2V0Q2FsbERhdGEoSlNDZWxsKiBjZWxsLCBDYWxsRGF0
YSYgY2FsbERhdGEpCiAgICAgcmV0dXJuIENhbGxUeXBlSG9zdDsKIH0KIAotYm9vbCBPYmpjRmFs
bGJhY2tPYmplY3RJbXA6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRl
bnRpZmllciYgaWRlbnRpZmllcikKK2Jvb2wgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpkZWxldGVQ
cm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlm
aWVyKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBpZGVudGlmaWVy
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNwcAppbmRleCA4MGUyYThm
OTUxZTFjZTUzYjJmMzZhNmZiMTU1YzIzYjQ4ZTg4OWI4Li41M2YzNzI4NGZiMmQ2ZWQ0NzdlNTg3
YTY0YjkwYTNhNjJjOWQwMGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9hcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXku
Y3BwCkBAIC0xODEsNyArMTgxLDcgQEAgdm9pZCBSdW50aW1lQXJyYXk6OnB1dChKU0NlbGwqIGNl
bGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgsIEpTVmFsdWUgdmEKICAgICB0aGlz
T2JqZWN0LT5nZXRDb25jcmV0ZUFycmF5KCktPnNldFZhbHVlQXQoZXhlYywgaW5kZXgsIHZhbHVl
KTsKIH0KIAotYm9vbCBSdW50aW1lQXJyYXk6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQorYm9vbCBSdW50aW1lQXJyYXk6OmRl
bGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJv
cGVydHlOYW1lKTsKIH0KQEAgLTE5MSw3ICsxOTEsNyBAQCBib29sIFJ1bnRpbWVBcnJheTo6ZGVs
ZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYpCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFJ1bnRpbWVBcnJheTo6ZGVsZXRlUHJvcGVydHkoRXhl
Y1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpCitib29sIFJ1bnRpbWVBcnJheTo6
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlO
YW1lKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5h
bWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXku
aCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKaW5kZXggYTNkNDQ1OGI2
Yjg4ZDMzYzk0MzNkNjA5OTI2OGYyNGEzNDA4MjdkZi4uNjlmYmJkOGUzMTc3NmRlZDYxNmU0OWYx
YWYyMzQxMmU3YmQ4ZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfYXJyYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCkBA
IC02MCw5ICs2MCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSos
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgcHV0KEpT
Q2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSk7CiAgICAg
Ci0gICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciAmcHJvcGVydHlOYW1lKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVy
dHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSk7CiAg
ICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciAmcHJvcGVydHlOYW1lKTsKLSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVy
dHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOworICAgIHZpcnR1YWwg
Ym9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlO
YW1lKTsKICAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUq
LCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOwogICAgIAogICAgIHVuc2lnbmVkIGdldExlbmd0aCgp
IGNvbnN0IHsgcmV0dXJuIGdldENvbmNyZXRlQXJyYXkoKS0+Z2V0TGVuZ3RoKCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCmluZGV4IDEzMzhjZjg2NWNlNGNmNGFi
ZGUwNmE5NGRhNDJmNzY0MTI0NDcxNmYuLjllNjMxOWY0ZDg2YjU1OGY5ZmQ0Y2IzZTU4ZGI0ODE4
MWRlMWZiNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcApAQCAt
MjQyLDcgKzI0Miw3IEBAIHZvaWQgUnVudGltZU9iamVjdDo6cHV0KEpTQ2VsbCogY2VsbCwgRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0CiAgICAgaW5zdGFuY2UtPmVu
ZCgpOwogfQogCi1ib29sIFJ1bnRpbWVPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQorYm9vbCBSdW50aW1lT2JqZWN0
OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMs
IHByb3BlcnR5TmFtZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9vYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oCmlu
ZGV4IDA2NmQ3NzM3ZTMyNDY0ZTU4NjIxMTg1ZTY0YTU3MzNkYjFlZWRlZmMuLmViNzFkOGZjMTUz
NjUzYTc1ZmIyODhkZWY3ZjNhOWRlNmFkYTIxZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX29iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX29iamVjdC5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wg
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAgICAgdmlydHVhbCB2b2lkIHB1dChF
eGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFBy
b3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYp
OwotICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZp
cnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKICAgICBz
dGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgIHZpcnR1YWwgSlNWYWx1ZSBkZWZhdWx0VmFsdWUo
RXhlY1N0YXRlKiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSkgY29uc3Q7CiAgICAgc3RhdGljIENh
bGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5k
ZXggNDg4MWFiNzg3MmJlNmVhNTc0OWM3MjFkNmI2NDM4YjI2MzM2NmQ1Yy4uYWEzOGU5MGU1MTll
MjRmNmUyYWI5MjQ2ZWZlOTU5YjFkOTM5NWRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDExLTEwLTExICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgUmVuYW1lIHZpcnR1YWwgZGVsZXRlUHJvcGVydHkgdG8gZGVsZXRlUHJv
cGVydHlWaXJ0dWFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02OTg4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbmFtZWQgdmlydHVhbCB2ZXJzaW9ucyBvZiBkZWxldGVQcm9wZXJ0eSB0byBkZWxldGVQ
cm9wZXJ0eVZpcnR1YWwgaW4gcHJlcHJhdGlvbiBmb3IgCisgICAgICAgIGFkZGluZyB0aGUgc3Rh
dGljIGRlbGV0ZVByb3BlcnR5IHRvIHRoZSBNZXRob2RUYWJsZSBpbiBDbGFzc0luZm8gc2luY2Ug
dGhlIAorICAgICAgICBjb21waWxlciBnZXRzIG1hZCBpZiB0aGUgdmlydHVhbCBhbmQgc3RhdGlj
IHZlcnNpb25zIGhhdmUgdGhlIHNhbWUgbmFtZS4KKworICAgICAgICAqIFBsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZW1vdmVQcm9wZXJ0eSk6CisKIDIwMTEtMTAtMTAgIE5h
dGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVc2UgYSBDYWNoZWRJ
bWFnZUNsaWVudCBpbnN0ZWFkIG9mIENhY2hlZFJlc291cmNlQ2xpZW50CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHkubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHkubW0KaW5kZXggNjYyNzIwMzcxODk3ZGM5NDg2ZTU0NzAwZjZmZDA2MTg1OWE3
YjYyNy4uNjlkZmRiMGRlMTQyMTRmYzlkZGExOTFkMjVmYjNhZDhlNDBlM2VkZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eS5tbQpAQCAtMTExMyw3ICsxMTEzLDcgQEAgYm9vbCBOZXRzY2Fw
ZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlbW92ZVByb3BlcnR5KHVpbnQzMl90IG9iamVjdElELCBj
b25zdCBJZGVudGkKICAgICB9CiAgICAgCiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlv
bnNPbmx5KTsKLSAgICBvYmplY3QtPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZSk7
CisgICAgb2JqZWN0LT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1lKTsK
ICAgICBleGVjLT5jbGVhckV4Y2VwdGlvbigpOyAgICAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAg
LTExNDAsNyArMTE0MCw3IEBAIGJvb2wgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZW1v
dmVQcm9wZXJ0eSh1aW50MzJfdCBvYmplY3RJRCwgdW5zaWduZWQgcHJvCiAgICAgfQogICAgIAog
ICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgb2JqZWN0LT5kZWxl
dGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIG9iamVjdC0+ZGVsZXRlUHJvcGVy
dHlWaXJ0dWFsKGV4ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgZXhlYy0+Y2xlYXJFeGNlcHRpb24o
KTsgICAgCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2E2NjliNjc2MDc1NGFh
ZTdlNjViYjMyNTA5MWNkY2NjMGYxNTVhZi4uMGJlYWI2ZmIwODE2NTkwZWY4MzI5MWIzMjc2NGQx
NmJhOTdmYjQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTEwLTExICBNYXJr
IEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIHZp
cnR1YWwgZGVsZXRlUHJvcGVydHkgdG8gZGVsZXRlUHJvcGVydHlWaXJ0dWFsCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZWQgdmlydHVhbCB2ZXJz
aW9ucyBvZiBkZWxldGVQcm9wZXJ0eSB0byBkZWxldGVQcm9wZXJ0eVZpcnR1YWwgaW4gcHJlcHJh
dGlvbiBmb3IgCisgICAgICAgIGFkZGluZyB0aGUgc3RhdGljIGRlbGV0ZVByb3BlcnR5IHRvIHRo
ZSBNZXRob2RUYWJsZSBpbiBDbGFzc0luZm8gc2luY2UgdGhlIAorICAgICAgICBjb21waWxlciBn
ZXRzIG1hZCBpZiB0aGUgdmlydHVhbCBhbmQgc3RhdGljIHZlcnNpb25zIGhhdmUgdGhlIHNhbWUg
bmFtZS4KKworICAgICAgICBBbHNvIGFkZGVkIHN0YXRpYyB2ZXJzaW9uIG9mIGRlbGV0ZVByb3Bl
cnR5IHRvIEpTTlBPYmplY3QsIHNpbmNlIGl0IHdhcyBtaXNzZWQgdGhlIAorICAgICAgICBmaXJz
dCB0aW1lIGFyb3VuZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNO
UE9iamVjdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OmRlbGV0ZVByb3BlcnR5
VmlydHVhbCk6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TlBKU09iamVjdDo6cmVtb3ZlUHJvcGVydHkpOgorCiAyMDExLTEwLTExICBB
bGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIFNob3Vs
ZCBiZSBhYmxlIHRvIGRpc3BsYXkgbXVsdGktcGFnZSBQREZzIGluIHN1YmZyYW1lcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmpl
Y3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBP
YmplY3QuY3BwCmluZGV4IDUzZjU4NjAxYzBhOTY2ODFjODU0MThiY2QzNGRjYWI0MmUwMGExZjQu
LjQ4OTg1YWU5ZTRkY2FkNjZlZDRhNzViNDY0OGMzZDAwYzExODBkMGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVj
dC5jcHAKQEAgLTM1MCwxNCArMzUwLDI0IEBAIHZvaWQgSlNOUE9iamVjdDo6cHV0KEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhCiAgICAg
cmVsZWFzZU5QVmFyaWFudFZhbHVlKCZ2YXJpYW50KTsKIH0KIAotYm9vbCBKU05QT2JqZWN0Ojpk
ZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
TmFtZSkKK2Jvb2wgSlNOUE9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewotICAgIHJldHVybiBkZWxl
dGVQcm9wZXJ0eShleGVjLCBucElkZW50aWZpZXJGcm9tSWRlbnRpZmllcihwcm9wZXJ0eU5hbWUp
KTsKKyAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVydHlOYW1lKTsK
IH0KIAotYm9vbCBKU05QT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVu
c2lnbmVkIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNOUE9iamVjdDo6ZGVsZXRlUHJvcGVydHkoSlND
ZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSkKIHsKLSAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkoZXhlYywgc3RhdGljX2Nhc3Q8TlBJZGVu
dGlmaWVyPihJZGVudGlmaWVyUmVwOjpnZXQocHJvcGVydHlOYW1lKSkpOworICAgIHJldHVybiBz
dGF0aWNfY2FzdDxKU05QT2JqZWN0Kj4oY2VsbCktPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIG5wSWRl
bnRpZmllckZyb21JZGVudGlmaWVyKHByb3BlcnR5TmFtZSkpOworfQorCitib29sIEpTTlBPYmpl
Y3Q6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3Bl
cnR5TmFtZSkKK3sKKyAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVy
dHlOYW1lKTsKK30KKworYm9vbCBKU05QT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNl
bGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKQoreworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxKU05QT2JqZWN0Kj4oY2VsbCktPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIHN0
YXRpY19jYXN0PE5QSWRlbnRpZmllcj4oSWRlbnRpZmllclJlcDo6Z2V0KHByb3BlcnR5TmFtZSkp
KTsKIH0KIAogYm9vbCBKU05QT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMs
IE5QSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaAppbmRleCAyM2ZmYzhmYzky
MzJkYjM0YWYwMjEzY2Y3M2U3MWNhZTI5NzU2MTYwLi4zYzU0N2RhNTRiNjBiZWE0MGY4ZTFiOGM5
NDA3YWFkNmJjNmY1ODg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKQEAgLTg4LDggKzg4LDEwIEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5
RGVzY3JpcHRvciYpOwogICAgIHZpcnR1YWwgdm9pZCBwdXQoSlNDOjpFeGVjU3RhdGUqLCBjb25z
dCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OlB1dFBy
b3BlcnR5U2xvdCYpOwogCi0gICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEpTQzo6RXhl
Y1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwotICAgIHZpcnR1
YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5
TmFtZSk7CisgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKKyAgICBzdGF0aWMg
Ym9vbCBkZWxldGVQcm9wZXJ0eShKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3Qg
SlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQ
cm9wZXJ0eVZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOwor
ICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOwogCiAgICAgYm9vbCBkZWxldGVQcm9wZXJ0eShK
U0M6OkV4ZWNTdGF0ZSosIE5QSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVj
dC5jcHAKaW5kZXggZmUyOTcwZWI4ODIyMjljMjU1OTRjNzE3ZjZkMGRlMTNhOWJhMDczNS4uNzY4
ZjA4MmRmMWI5OWJhZGY4MjQ0OTdjOGEzYzg2YjNhMmMyNDIyYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmNw
cApAQCAtMjEzLDE0ICsyMTMsMTQgQEAgYm9vbCBOUEpTT2JqZWN0OjpyZW1vdmVQcm9wZXJ0eShO
UElkZW50aWZpZXIgcHJvcGVydHlOYW1lKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICB9CiAgICAgICAgIAotICAgICAgICBtX2pzT2JqZWN0LT5kZWxldGVQcm9wZXJ0eShleGVj
LCBpZGVudGlmaWVyKTsKKyAgICAgICAgbV9qc09iamVjdC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFs
KGV4ZWMsIGlkZW50aWZpZXIpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICghbV9qc09iamVj
dC0+aGFzUHJvcGVydHkoZXhlYywgaWRlbnRpZmllclJlcC0+bnVtYmVyKCkpKSB7CiAgICAgICAg
ICAgICBleGVjLT5jbGVhckV4Y2VwdGlvbigpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICB9CiAKLSAgICAgICAgbV9qc09iamVjdC0+ZGVsZXRlUHJvcGVydHkoZXhlYywgaWRl
bnRpZmllclJlcC0+bnVtYmVyKCkpOworICAgICAgICBtX2pzT2JqZWN0LT5kZWxldGVQcm9wZXJ0
eVZpcnR1YWwoZXhlYywgaWRlbnRpZmllclJlcC0+bnVtYmVyKCkpOwogICAgIH0KIAogICAgIGV4
ZWMtPmNsZWFyRXhjZXB0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110715</attachid>
            <date>2011-10-12 11:42:51 -0700</date>
            <delta_ts>2011-10-13 10:19:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69884-20111012114252.patch</filename>
            <type>text/plain</type>
            <size>70769</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcyNzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NhbGxiYWNrT2JqZWN0LmgKaW5kZXggYTU2MDM1YjlhNGQzM2UyOTFiNTYwYTU2NzE2YzMwMmFh
ZWJhODM0YS4uNGQ3MGUwNTM3ZjQ0YTE1MWZhMzM0MThhMGNlMmIxNDBkYzkyNWFhZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTE4NCw5ICsx
ODQsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyB2b2lk
IHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSwgUHV0
UHJvcGVydHlTbG90Jik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0
YXRlKiwgY29uc3QgSWRlbnRpZmllciYpOworICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0
eVZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBib29s
IGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsK
LSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiwgdW5zaWduZWQpOwor
ICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWdu
ZWQpOwogICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IHVuc2lnbmVkKTsKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNJbnN0YW5jZShFeGVjU3RhdGUqIGV4
ZWMsIEpTVmFsdWUgdmFsdWUsIEpTVmFsdWUgcHJvdG8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAppbmRleCA4ZWUwNjA2
MjdlYjQ2YmFhMjZkYWFkZTBkYzQyMTc5ZTdkZDVhY2JlLi4wMGNlYzdiZDU4YzlhNDczN2Y3MzY2
MzZiMGI1N2U5ODAyNGQ3MjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaApAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQg
SlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+Ci1ib29sIEpT
Q2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFy
ZW50Pjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBl
eGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpAQCAtMzE2LDcgKzMxNiw3IEBAIGJvb2wgSlNDYWxsYmFj
a09iamVjdDxQYXJlbnQ+OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSog
ZXhlYywgY29uCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+Ci1ib29sIEpTQ2FsbGJhY2tP
YmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUpCitib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVy
dHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKQogewogICAg
IHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpAQCAt
MzI0LDcgKzMyNCw3IEBAIGJvb2wgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpkZWxldGVQcm9w
ZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5CiB0ZW1wbGF0ZSA8Y2xhc3Mg
UGFyZW50PgogYm9vbCBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmRlbGV0ZVByb3BlcnR5KEpT
Q2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpCiB7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3QqPihjZWxsKS0+ZGVsZXRlUHJv
cGVydHkoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdCo+KGNlbGwpLT5kZWxldGVQcm9wZXJ0
eVZpcnR1YWwoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpKTsKIH0K
IAogdGVtcGxhdGUgPGNsYXNzIFBhcmVudD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09i
amVjdFJlZi5jcHAKaW5kZXggNGNjNjZhNGRiMzI1NDUyNjU0NTZiZWQxOGExNTU3ZGVmMTFjZGJl
Ni4uMjg5OGViMjBmODE5ZTFiNmMyYWRmZjFmZDEwMzA0ZDQxZTBhYjMzYSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTMyNyw3ICszMjcsNyBAQCBib29s
IEpTT2JqZWN0RGVsZXRlUHJvcGVydHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2Jq
ZWN0LCBKU1N0cmluZ1JlZiBwcgogCiAgICAgSlNPYmplY3QqIGpzT2JqZWN0ID0gdG9KUyhvYmpl
Y3QpOwogCi0gICAgYm9vbCByZXN1bHQgPSBqc09iamVjdC0+ZGVsZXRlUHJvcGVydHkoZXhlYywg
cHJvcGVydHlOYW1lLT5pZGVudGlmaWVyKCZleGVjLT5nbG9iYWxEYXRhKCkpKTsKKyAgICBib29s
IHJlc3VsdCA9IGpzT2JqZWN0LT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlO
YW1lLT5pZGVudGlmaWVyKCZleGVjLT5nbG9iYWxEYXRhKCkpKTsKICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpIHsKICAgICAgICAgaWYgKGV4Y2VwdGlvbikKICAgICAgICAgICAgICpleGNl
cHRpb24gPSB0b1JlZihleGVjLCBleGVjLT5leGNlcHRpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwppbmRleCBmMmY3Yzc4Y2IzNTViMjVhODU5YjE0MGQwZmI1OTBmZTQ1YWRmN2MxLi5lYzcy
MDgwYTY5Yzg5ZWI3MGFkOWFjNTIzZDEzYTg4MWU1MmVmY2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAxMS0xMC0xMiAgTWFyayBIYWhuZW5iZXJnICA8bWhh
aG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSB2aXJ0dWFsIGRlbGV0ZVByb3Bl
cnR5IHRvIGRlbGV0ZVByb3BlcnR5VmlydHVhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW5hbWVkIHZpcnR1YWwgdmVyc2lvbnMgb2YgZGVsZXRlUHJv
cGVydHkgdG8gZGVsZXRlUHJvcGVydHlWaXJ0dWFsIGluIHByZXByYXRpb24gZm9yIAorICAgICAg
ICBhZGRpbmcgdGhlIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSB0byB0aGUgTWV0aG9kVGFibGUgaW4g
Q2xhc3NJbmZvIHNpbmNlIHRoZSAKKyAgICAgICAgY29tcGlsZXIgZ2V0cyBtYWQgaWYgdGhlIHZp
cnR1YWwgYW5kIHN0YXRpYyB2ZXJzaW9ucyBoYXZlIHRoZSBzYW1lIG5hbWUuCisKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0
RnVuY3Rpb25zLmg6CisgICAgICAgIChKU0M6Ojo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAg
ICAgICAgKEpTQzo6OjpkZWxldGVQcm9wZXJ0eSk6CisgICAgICAgICogQVBJL0pTT2JqZWN0UmVm
LmNwcDoKKyAgICAgICAgKEpTT2JqZWN0RGVsZXRlUHJvcGVydHkpOgorICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZGVmOgorICAgICAgICAqIGRlYnVnZ2VyL0RlYnVnZ2VyQWN0
aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkRlYnVnZ2VyQWN0aXZhdGlvbjo6ZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0aW9uOjpkZWxldGVQ
cm9wZXJ0eSk6CisgICAgICAgICogZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmg6CisgICAg
ICAgICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAgICAgKEpTQzo6REVGSU5FX1NUVUJfRlVOQ1RJ
T04pOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6QXJn
dW1lbnRzOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1l
bnRzLmg6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChK
U0M6OmFycmF5UHJvdG9GdW5jUG9wKToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNSZXZl
cnNlKToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTaGlmdCk6CisgICAgICAgIChKU0M6
OmFycmF5UHJvdG9GdW5jU3BsaWNlKToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNVblNo
aWZ0KToKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6
OkpTQWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBydW50aW1l
L0pTQWN0aXZhdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5jcHA6CisgICAgICAg
IChKU0M6OkpTQXJyYXk6OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpT
QXJyYXk6OmRlbGV0ZVByb3BlcnR5KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuaDoKKyAg
ICAgICAgKiBydW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2VsbDo6ZGVsZXRl
UHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpkZWxldGVQcm9wZXJ0eSk6
CisgICAgICAgICogcnVudGltZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rp
b24uY3BwOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNO
b3RBbk9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTTm90QW5PYmplY3Q6OmRlbGV0ZVByb3Bl
cnR5VmlydHVhbCk6CisgICAgICAgICogcnVudGltZS9KU05vdEFuT2JqZWN0Lmg6CisgICAgICAg
ICogcnVudGltZS9KU09OT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6V2Fsa2VyOjp3YWxrKToK
KyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWxldGVQ
cm9wZXJ0eSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eSk6Cisg
ICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNWYXJpYWJs
ZU9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTVmFyaWFibGVPYmplY3Q6OmRlbGV0ZVByb3Bl
cnR5VmlydHVhbCk6CisgICAgICAgICogcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0Lmg6CisgICAg
ICAgICogcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaDoKKyAgICAgICAgKEpTQzo6UmVnRXhw
TWF0Y2hlc0FycmF5OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIHJ1bnRpbWUv
U3RyaWN0RXZhbEFjdGl2YXRpb24uY3BwOgorICAgICAgICAoSlNDOjpTdHJpY3RFdmFsQWN0aXZh
dGlvbjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBydW50aW1lL1N0cmljdEV2
YWxBY3RpdmF0aW9uLmg6CisgICAgICAgICogcnVudGltZS9TdHJpbmdPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpTdHJpbmdPYmplY3Q6OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAg
ICogcnVudGltZS9TdHJpbmdPYmplY3QuaDoKKwogMjAxMS0xMC0xMiAgR3VzdGF2byBOb3Jvbmhh
IFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBGaXgg
YnVpbGQgd2l0aCBHTGliIDIuMzEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZXhwCmluZGV4IGZhYTVlYzI5NTZiYzFjY2M1YjNhODdlN2Q1OWZjMWNjNmMyNDEzMzQuLjMzZTk3
ZTVjZGFkZDBkOTI3Mjg3NjE2NWI3YTUxZTM1ZGI0ZDAyZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTQ2LDcgKzE0Niw2IEBAIF9fWk4zSlNDMTJSZWdF
eHBPYmplY3RDMUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUVQTlNfNlJlZ0V4
cEUKIF9fWk4zSlNDMTJTYW1wbGluZ1Rvb2w1c2V0dXBFdgogX19aTjNKU0MxMlNtYWxsU3RyaW5n
czE3Y3JlYXRlRW1wdHlTdHJpbmdFUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxMlNtYWxs
U3RyaW5nczI3Y3JlYXRlU2luZ2xlQ2hhcmFjdGVyU3RyaW5nRVBOU18xMkpTR2xvYmFsRGF0YUVo
Ci1fX1pOM0pTQzEyU3RyaW5nT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVS
S05TXzEwSWRlbnRpZmllckUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxNGZpbmlzaENyZWF0aW9u
RVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOEpTU3RyaW5nRQogX19aTjNKU0MxMlN0cmluZ09iamVj
dDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJO
U18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxOGdldE93blByb3BlcnR5
U2xvdEVQTlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90RQpAQCAtMTkxLDkgKzE5MCwx
MCBAQCBfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlvbjE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNH
bG9iYWxEYXRhRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb240
bmFtZUVQTlNfOUV4ZWNTdGF0ZUUKIF9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9uNnNfaW5mb0UK
IF9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9uQzJFUE5TXzE0SlNHbG9iYWxPYmplY3RFUE5TXzlT
dHJ1Y3R1cmVFCi1fX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE0ZGVsZXRlUHJvcGVydHlFUE5T
XzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCitfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVj
dDE0ZGVsZXRlUHJvcGVydHlFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50
aWZpZXJFCiBfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE0c3ltYm9sVGFibGVHZXRFUktOU18x
MElkZW50aWZpZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlwdG9yRQogX19aTjNKU0MxNkpTVmFyaWFi
bGVPYmplY3QxOWdldE93blByb3BlcnR5TmFtZXNFUE5TXzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVy
dHlOYW1lQXJyYXlFTlNfMTVFbnVtZXJhdGlvbk1vZGVFCitfX1pOM0pTQzE2SlNWYXJpYWJsZU9i
amVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlm
aWVyRQogX19aTjNKU0MxNmNyZWF0ZVJhbmdlRXJyb3JFUE5TXzlFeGVjU3RhdGVFUktOU183VVN0
cmluZ0UKIF9fWk4zSlNDMTZzbG93VmFsaWRhdGVDZWxsRVBOU18xNEpTR2xvYmFsT2JqZWN0RQog
X19aTjNKU0MxNnNsb3dWYWxpZGF0ZUNlbGxFUE5TXzZKU0NlbGxFCkBAIC0yNTcsMTEgKzI1Nywx
MSBAQCBfX1pOM0pTQzRZYXJyMTFieXRlQ29tcGlsZUVSTlMwXzExWWFyclBhdHRlcm5FUE4zV1RG
MjBCdW1wUG9pbnRlckFsbG9jYXRvckUKIF9fWk4zSlNDNFlhcnI5aW50ZXJwcmV0RVBOUzBfMTVC
eXRlY29kZVBhdHRlcm5FUktOU183VVN0cmluZ0VqalBpCiBfX1pOM0pTQzRjYWxsRVBOU185RXhl
Y1N0YXRlRU5TXzdKU1ZhbHVlRU5TXzhDYWxsVHlwZUVSS05TXzhDYWxsRGF0YUVTMl9SS05TXzdB
cmdMaXN0RQogX19aTjNKU0M2SlNDZWxsMTFnZXRDYWxsRGF0YUVQUzBfUk5TXzhDYWxsRGF0YUUK
LV9fWk4zSlNDNkpTQ2VsbDE0ZGVsZXRlUHJvcGVydHlFUE5TXzlFeGVjU3RhdGVFUktOU18xMElk
ZW50aWZpZXJFCi1fX1pOM0pTQzZKU0NlbGwxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0YXRl
RWoKIF9fWk4zSlNDNkpTQ2VsbDE2Z2V0Q29uc3RydWN0RGF0YUVSTlNfMTNDb25zdHJ1Y3REYXRh
RQogX19aTjNKU0M2SlNDZWxsMThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFUktO
U18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0M2SlNDZWxsMThnZXRP
d25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFalJOU18xMlByb3BlcnR5U2xvdEUKK19fWk4z
SlNDNkpTQ2VsbDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJ
ZGVudGlmaWVyRQorX19aTjNKU0M2SlNDZWxsMjFkZWxldGVQcm9wZXJ0eVZpcnR1YWxFUE5TXzlF
eGVjU3RhdGVFagogX19aTjNKU0M2SlNDZWxsM3B1dEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRl
bnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzZKU0Nl
bGwzcHV0RVBOU185RXhlY1N0YXRlRWpOU183SlNWYWx1ZUUgIAogX19aTjNKU0M2SlNDZWxsOWdl
dE9iamVjdEV2CkBAIC0zMTAsOCArMzEwLDcgQEAgX19aTjNKU0M4SlNPYmplY3QxMmRlZmluZVNl
dHRlckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVQUzBfagogX19aTjNKU0M4SlNP
YmplY3QxMmxvb2t1cEdldHRlckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKIF9f
Wk4zSlNDOEpTT2JqZWN0MTJsb29rdXBTZXR0ZXJFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50
aWZpZXJFCiBfX1pOM0pTQzhKU09iamVjdDEzdmlzaXRDaGlsZHJlbkVQTlNfNkpTQ2VsbEVSTlNf
MTFTbG90VmlzaXRvckUKLV9fWk4zSlNDOEpTT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4
ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKLV9fWk4zSlNDOEpTT2JqZWN0MTRkZWxldGVQcm9w
ZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVqCitfX1pOM0pTQzhKU09iamVjdDE0ZGVsZXRlUHJvcGVydHlF
UE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzhK
U09iamVjdDE1dW53cmFwcGVkT2JqZWN0RXYKIF9fWk4zSlNDOEpTT2JqZWN0MTZnZXRQcm9wZXJ0
eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVy
YXRpb25Nb2RlRQogX19aTjNKU0M4SlNPYmplY3QxN2RlZmluZU93blByb3BlcnR5RVBOU185RXhl
Y1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckViCkBAIC0z
MjUsNiArMzI0LDggQEAgX19aTjNKU0M4SlNPYmplY3QxN3B1dFdpdGhBdHRyaWJ1dGVzRVBOU185
RXhlY1N0YXRlRWpOU183SlNWYWx1ZUVqCiBfX1pOM0pTQzhKU09iamVjdDE4Z2V0T3duUHJvcGVy
dHlTbG90RVBOU182SlNDZWxsRVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBf
X1pOM0pTQzhKU09iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRWpSTlNf
MTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09iamVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQ
TlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5hbWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9k
ZUUKK19fWk4zSlNDOEpTT2JqZWN0MjFkZWxldGVQcm9wZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3Rh
dGVFUktOU18xMElkZW50aWZpZXJFCitfX1pOM0pTQzhKU09iamVjdDIxZGVsZXRlUHJvcGVydHlW
aXJ0dWFsRVBOU185RXhlY1N0YXRlRWoKIF9fWk4zSlNDOEpTT2JqZWN0MjFnZXRQcm9wZXJ0eURl
c2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzE4UHJvcGVydHlE
ZXNjcmlwdG9yRQogX19aTjNKU0M4SlNPYmplY3QyMmZpbGxHZXR0ZXJQcm9wZXJ0eVNsb3RFUk5T
XzEyUHJvcGVydHlTbG90RVBOU18xNldyaXRlQmFycmllckJhc2VJTlNfN1Vua25vd25FRUUKIF9f
Wk4zSlNDOEpTT2JqZWN0MjNhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZUVSTlNfMTJKU0dsb2JhbERh
dGFFbW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5kZWYKaW5kZXggN2M3OTdkM2EzOGI3NjQzODkwNWUxMWRiMmVkMGZjOWI0OWZmYmJmYy4uM2Nh
MWZjYWJlZGZjOTdlNzAyZTdiNTVjMjIzMmRmZmI1YzAxMWIxMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTE0NCwxMiArMTQ0
LDYgQEAgRVhQT1JUUwogICAgID9kZWxldGVPd25lZFB0ckBXVEZAQFlBWFBBVUhEQ19fQEBAWgog
ICAgID9kZWxldGVPd25lZFB0ckBXVEZAQFlBWFBBVUhGT05UX19AQEBaCiAgICAgP2RlbGV0ZU93
bmVkUHRyQFdURkBAWUFYUEFVSFJHTl9fQEBAWgotICAgID9kZWxldGVQcm9wZXJ0eUBKU0NlbGxA
SlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBAWgotICAgID9kZWxldGVQ
cm9wZXJ0eUBKU0NlbGxASlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQElAWgotICAgID9kZWxldGVQ
cm9wZXJ0eUBKU09iamVjdEBKU0NAQFVBRV9OUEFWRXhlY1N0YXRlQDJAQUJWSWRlbnRpZmllckAy
QEBaCi0gICAgP2RlbGV0ZVByb3BlcnR5QEpTT2JqZWN0QEpTQ0BAVUFFX05QQVZFeGVjU3RhdGVA
MkBJQFoKLSAgICA/ZGVsZXRlUHJvcGVydHlASlNWYXJpYWJsZU9iamVjdEBKU0NAQFVBRV9OUEFW
RXhlY1N0YXRlQDJAQUJWSWRlbnRpZmllckAyQEBaCi0gICAgP2RlbGV0ZVByb3BlcnR5QFN0cmlu
Z09iamVjdEBKU0NAQFVBRV9OUEFWRXhlY1N0YXRlQDJAQUJWSWRlbnRpZmllckAyQEBaCiAgICAg
P2RlbGV0ZVRhYmxlQEhhc2hUYWJsZUBKU0NAQFFCRVhYWgogICAgID9kZXNwZWNpZnlEaWN0aW9u
YXJ5RnVuY3Rpb25AU3RydWN0dXJlQEpTQ0BAUUFFWEFBVkpTR2xvYmFsRGF0YUAyQEFCVklkZW50
aWZpZXJAMkBAWgogICAgID9kZXNwZWNpZnlGdW5jdGlvblRyYW5zaXRpb25AU3RydWN0dXJlQEpT
Q0BAU0FQQVYxMkBBQVZKU0dsb2JhbERhdGFAMkBQQVYxMkBBQlZJZGVudGlmaWVyQDJAQFoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRp
b24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlv
bi5jcHAKaW5kZXggMGNmOTdmMjU5Nzc5ODU2MmYzNDRjODY2OWRhMWQ3YmNhNGI5YWJhZC4uYmQw
NDQ0NWFjNWM5NDY3NDQxMzIwN2Q2NzJmMWVlNjg3ZjQ0YWI0YSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKQEAgLTg1
LDE0ICs4NSwxNCBAQCB2b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6cHV0V2l0aEF0dHJpYnV0ZXMo
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcgogICAgIG1fYWN0aXZhdGlvbi0+
cHV0V2l0aEF0dHJpYnV0ZXMoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0cmlidXRlcyk7
CiB9CiAKLWJvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgRGVidWdnZXJBY3Rp
dmF0aW9uOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMs
IGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CiAKIGJvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpkZWxl
dGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lKQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZWJ1Z2dlckFjdGl2
YXRpb24qPihjZWxsKS0+bV9hY3RpdmF0aW9uLT5kZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0
eU5hbWUpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZWJ1Z2dlckFjdGl2YXRpb24qPihjZWxs
KS0+bV9hY3RpdmF0aW9uLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1l
KTsKIH0KIAogdm9pZCBEZWJ1Z2dlckFjdGl2YXRpb246OmdldE93blByb3BlcnR5TmFtZXMoRXhl
Y1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRp
b25Nb2RlIG1vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIv
RGVidWdnZXJBY3RpdmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVi
dWdnZXJBY3RpdmF0aW9uLmgKaW5kZXggN2E1NWE3YTM5NTg0YWU3ZDliYjVhZTk0ZGNhMDBkNTlk
NTk0NDk5NS4uMjQ1OGZhM2U1NjY4M2NmYTZlNTZhMjg0ZmYzMzI1ZjM4MWE4MzZhZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24u
aApAQCAtNDgsNyArNDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCB2b2lk
IHB1dChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUs
IFB1dFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9w
ZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dFdpdGhBdHRyaWJ1dGVzKEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgdW5zaWduZWQg
YXR0cmlidXRlcyk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJv
b2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCos
IEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFy
cmF5JiwgRW51bWVyYXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsK
ICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUq
LCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUU3R1YnMuY3BwCmluZGV4IGE5MzBmNTgyZTA5ZGJhZjcxYzc1MWIyNWM1YzRl
NzVhN2QwYTk2MjIuLjkwMWEwMWQ2ZTZjOTE4YzdjMGUwOWE2ZTFkOWY2NzYyZjJhZjA4YjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCkBAIC0yMTAwLDcgKzIxMDAsNyBA
QCBERUZJTkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3BfZGVsX2J5X2lkKQogICAg
IAogICAgIEpTT2JqZWN0KiBiYXNlT2JqID0gc3RhY2tGcmFtZS5hcmdzWzBdLmpzVmFsdWUoKS50
b09iamVjdChjYWxsRnJhbWUpOwogCi0gICAgYm9vbCBjb3VsZERlbGV0ZSA9IGJhc2VPYmotPmRl
bGV0ZVByb3BlcnR5KGNhbGxGcmFtZSwgc3RhY2tGcmFtZS5hcmdzWzFdLmlkZW50aWZpZXIoKSk7
CisgICAgYm9vbCBjb3VsZERlbGV0ZSA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChj
YWxsRnJhbWUsIHN0YWNrRnJhbWUuYXJnc1sxXS5pZGVudGlmaWVyKCkpOwogICAgIEpTVmFsdWUg
cmVzdWx0ID0ganNCb29sZWFuKGNvdWxkRGVsZXRlKTsKICAgICBpZiAoIWNvdWxkRGVsZXRlICYm
IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpKQogICAgICAgICBzdGFja0Zy
YW1lLmdsb2JhbERhdGEtPmV4Y2VwdGlvbiA9IGNyZWF0ZVR5cGVFcnJvcihzdGFja0ZyYW1lLmNh
bGxGcmFtZSwgIlVuYWJsZSB0byBkZWxldGUgcHJvcGVydHkuIik7CkBAIC0zNzE1LDEyICszNzE1
LDEyIEBAIERFRklORV9TVFVCX0ZVTkNUSU9OKEVuY29kZWRKU1ZhbHVlLCBvcF9kZWxfYnlfdmFs
KQogICAgIGJvb2wgcmVzdWx0OwogICAgIHVpbnQzMl90IGk7CiAgICAgaWYgKHN1YnNjcmlwdC5n
ZXRVSW50MzIoaSkpCi0gICAgICAgIHJlc3VsdCA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5KGNh
bGxGcmFtZSwgaSk7CisgICAgICAgIHJlc3VsdCA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5Vmly
dHVhbChjYWxsRnJhbWUsIGkpOwogICAgIGVsc2UgewogICAgICAgICBDSEVDS19GT1JfRVhDRVBU
SU9OKCk7CiAgICAgICAgIElkZW50aWZpZXIgcHJvcGVydHkoY2FsbEZyYW1lLCBzdWJzY3JpcHQu
dG9TdHJpbmcoY2FsbEZyYW1lKSk7CiAgICAgICAgIENIRUNLX0ZPUl9FWENFUFRJT04oKTsKLSAg
ICAgICAgcmVzdWx0ID0gYmFzZU9iai0+ZGVsZXRlUHJvcGVydHkoY2FsbEZyYW1lLCBwcm9wZXJ0
eSk7CisgICAgICAgIHJlc3VsdCA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChjYWxs
RnJhbWUsIHByb3BlcnR5KTsKICAgICB9CiAKICAgICBpZiAoIXJlc3VsdCAmJiBjYWxsRnJhbWUt
PmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Bcmd1bWVudHMuY3BwCmluZGV4IGM0OTRkYTEzMmMyYTMwNTk0MzJmMjIyMjE0Yzk1Y2Yw
NGU5YzRhYjUuLmZjY2FiMjIwOTY4NjQwMmNhODlkMjhjMmMyYWJhYWM5NTgxZDY2NDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcApAQCAtMzIyLDcgKzMy
Miw3IEBAIHZvaWQgQXJndW1lbnRzOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtCiAgICAgSlNPYmplY3Q6OnB1dCh0aGlzT2Jq
ZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKIH0KIAotYm9vbCBBcmd1bWVu
dHM6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSkgCitib29sIEFy
Z3VtZW50czo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQg
aSkgCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIGkpOwogfQpAQCAt
MzQ0LDcgKzM0NCw3IEBAIGJvb2wgQXJndW1lbnRzOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNl
bGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSkKICAgICByZXR1cm4gSlNPYmplY3Q6OmRl
bGV0ZVByb3BlcnR5KHRoaXNPYmplY3QsIGV4ZWMsIElkZW50aWZpZXIoZXhlYywgVVN0cmluZzo6
bnVtYmVyKGkpKSk7CiB9CiAKLWJvb2wgQXJndW1lbnRzOjpkZWxldGVQcm9wZXJ0eShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkgCitib29sIEFyZ3VtZW50
czo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lKSAKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhl
YywgcHJvcGVydHlOYW1lKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FyZ3VtZW50cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1l
bnRzLmgKaW5kZXggNmIxZmEwODhiYjU3N2IyOTc1NDMzZTI1MTU2MWE5OGE3ZjY3NDlkNi4uMjBh
NzEyOWRlNGUxNmY3Y2Y0ZWFhYzllMDJjNzMwMzQ0MTBiZDcxYiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTEzNCw5ICsxMzQsOSBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1l
LCBKU1ZhbHVlKTsKICAgICAgICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBk
ZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUp
OworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRl
bGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUq
LCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAgICAgICAg
IHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHZvaWQgY3JlYXRlU3RyaWN0TW9kZUNhbGxlcklmTmVj
ZXNzYXJ5KEV4ZWNTdGF0ZSopOwogICAgICAgICB2b2lkIGNyZWF0ZVN0cmljdE1vZGVDYWxsZWVJ
Zk5lY2Vzc2FyeShFeGVjU3RhdGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCBjZjE2MTYwM2EzNGYxNTkzMzZiYzM5NWU3ZGQ4
MjQ5YTFmNTdlY2VkLi44MjgxMjVhYzExM2E4NmY4NWMxM2ExNzEyZTI0YWU2ZjE4MjE1MWNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3Bw
CkBAIC0zOTEsNyArMzkxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVBy
b3RvRnVuY1BvcChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJlc3VsdCA9IGpzVW5kZWZpbmVk
KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcmVzdWx0ID0gdGhpc09iai0+Z2V0KGV4ZWMsIGxl
bmd0aCAtIDEpOwotICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eShleGVjLCBsZW5ndGgg
LSAxKTsKKyAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGxlbmd0
aCAtIDEpOwogICAgICAgICBwdXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcihsZW5ndGggLSAxKSk7CiAgICAgfQogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKQEAgLTQ0MywxMiArNDQzLDEyIEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNSZXZlcnNlKEV4ZWNTdGF0ZSogZXhl
YykKICAgICAgICAgaWYgKG9iajIpCiAgICAgICAgICAgICB0aGlzT2JqLT5wdXQoZXhlYywgaywg
b2JqMik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXNPYmotPmRlbGV0ZVByb3BlcnR5
KGV4ZWMsIGspOworICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4
ZWMsIGspOwogCiAgICAgICAgIGlmIChvYmopCiAgICAgICAgICAgICB0aGlzT2JqLT5wdXQoZXhl
YywgbGsxLCBvYmopOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQ
cm9wZXJ0eShleGVjLCBsazEpOworICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKGV4ZWMsIGxrMSk7CiAgICAgfQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhp
c09iaik7CiB9CkBAIC00NzMsOSArNDczLDkgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBhcnJheVByb3RvRnVuY1NoaWZ0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgICAgICBp
ZiAoSlNWYWx1ZSBvYmogPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKSkKICAgICAgICAg
ICAgICAgICAgICAgdGhpc09iai0+cHV0KGV4ZWMsIGsgLSAxLCBvYmopOwogICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHkoZXhl
YywgayAtIDEpOworICAgICAgICAgICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eVZp
cnR1YWwoZXhlYywgayAtIDEpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhpc09iai0+
ZGVsZXRlUHJvcGVydHkoZXhlYywgbGVuZ3RoIC0gMSk7CisgICAgICAgICAgICB0aGlzT2JqLT5k
ZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgbGVuZ3RoIC0gMSk7CiAgICAgICAgIH0KICAgICAg
ICAgcHV0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0
aCwganNOdW1iZXIobGVuZ3RoIC0gMSkpOwogICAgIH0KQEAgLTYwOSwxMCArNjA5LDEwIEBAIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTcGxpY2UoRXhlY1N0YXRl
KiBleGVjKQogICAgICAgICAgICAgICAgICAgICBpZiAoSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHko
ZXhlYywgdGhpc09iaiwgayArIGRlbGV0ZUNvdW50KSkKICAgICAgICAgICAgICAgICAgICAgICAg
IHRoaXNPYmotPnB1dChleGVjLCBrICsgYWRkaXRpb25hbEFyZ3MsIHYpOwogICAgICAgICAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9w
ZXJ0eShleGVjLCBrICsgYWRkaXRpb25hbEFyZ3MpOworICAgICAgICAgICAgICAgICAgICAgICAg
dGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGsgKyBhZGRpdGlvbmFsQXJncyk7
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgayA9IGxl
bmd0aDsgayA+IGxlbmd0aCAtIGRlbGV0ZUNvdW50ICsgYWRkaXRpb25hbEFyZ3M7IC0taykKLSAg
ICAgICAgICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHkoZXhlYywgayAtIDEpOwor
ICAgICAgICAgICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywg
ayAtIDEpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYg
KCghYmVnaW4pICYmIChpc0pTQXJyYXkoJmV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpc09iaikpKQpA
QCAtNjIyLDcgKzYyMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90
b0Z1bmNTcGxpY2UoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgICAgICAgICBpZiAoSlNW
YWx1ZSBvYmogPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrICsgZGVsZXRlQ291bnQgLSAx
KSkKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNPYmotPnB1dChleGVjLCBrICsgYWRkaXRp
b25hbEFyZ3MgLSAxLCBvYmopOwogICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eShleGVjLCBrICsgYWRkaXRpb25h
bEFyZ3MgLSAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNPYmotPmRlbGV0ZVByb3Bl
cnR5VmlydHVhbChleGVjLCBrICsgYWRkaXRpb25hbEFyZ3MgLSAxKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTY1Miw3ICs2NTIsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVW5TaGlmdChFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgICAgICAgICAgICAgaWYgKEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRo
aXNPYmosIGsgLSAxKSkKICAgICAgICAgICAgICAgICAgICAgdGhpc09iai0+cHV0KGV4ZWMsIGsg
KyBuckFyZ3MgLSAxLCB2KTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIHRoaXNPYmotPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGsgKyBuckFyZ3MgLSAxKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGsgKyBu
ckFyZ3MgLSAxKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCmluZGV4IDkwZjkxMTA5NDRl
MTQxNDUyMTNkM2QwZTllNWRjMjEzNmVkYzM2YTguLjY1OTAxNDVlZjQ4NDJmZjIxM2QwN2ZhNjcy
YzQ4NGQzOGI3ODVlYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQWN0aXZhdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
Y3RpdmF0aW9uLmNwcApAQCAtMjA1LDcgKzIwNSw3IEBAIHZvaWQgSlNBY3RpdmF0aW9uOjpwdXRX
aXRoQXR0cmlidXRlcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
CiAgICAgSlNPYmplY3Q6OnB1dFdpdGhBdHRyaWJ1dGVzKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFs
dWUsIGF0dHJpYnV0ZXMsIHRydWUsIHNsb3QpOwogfQogCi1ib29sIEpTQWN0aXZhdGlvbjo6ZGVs
ZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUpCitib29sIEpTQWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxl
dGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaAppbmRleCA3YmVkMjlmZDMwYzBiNTZmYzIy
N2NlMzhmNjIzYjA5YjkxYzEzM2NiLi4xM2UxNDMwYzMyZjY2OGFlMmFjMTAyOTNiYzZkMmI3YTU2
ZDI0Y2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2
YXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24u
aApAQCAtNjksNyArNjksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIHZvaWQg
cHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCBQdXRQ
cm9wZXJ0eVNsb3QmKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0V2l0aEF0dHJpYnV0ZXMo
RXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgdmlydHVhbCBib29sIGRlbGV0
ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUpOwogICAgICAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogCiAgICAgICAgIHZpcnR1YWwg
SlNPYmplY3QqIHRvVGhpc09iamVjdChFeGVjU3RhdGUqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKaW5kZXggMjE3M2ZmMTZkODRhM2U1ZTk1YzBiNTRl
YTY0Zjg0YWRhMTUxYzQxNC4uNjMwYjZiY2Q0MzYzMjU0N2YyMTIzOTM4NTVmZjI1YTBiZjhjMTk3
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKQEAgLTUwNyw3
ICs1MDcsNyBAQCBORVZFUl9JTkxJTkUgdm9pZCBKU0FycmF5OjpwdXRTbG93Q2FzZShFeGVjU3Rh
dGUqIGV4ZWMsIHVuc2lnbmVkIGksIEpTVmFsdWUgdmFsdQogICAgIEhlYXA6OmhlYXAodGhpcykt
PnJlcG9ydEV4dHJhTWVtb3J5Q29zdChzdG9yYWdlU2l6ZShuZXdWZWN0b3JMZW5ndGgpIC0gc3Rv
cmFnZVNpemUodmVjdG9yTGVuZ3RoKSk7CiB9CiAKLWJvb2wgSlNBcnJheTo6ZGVsZXRlUHJvcGVy
dHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29s
IEpTQXJyYXk6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhp
cywgZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KQEAgLTUxOCw3ICs1MTgsNyBAQCBib29sIEpTQXJy
YXk6OmRlbGV0ZVByb3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcgogICAgIGJvb2wgaXNBcnJheUluZGV4OwogICAgIHVuc2lnbmVkIGkgPSBw
cm9wZXJ0eU5hbWUudG9BcnJheUluZGV4KGlzQXJyYXlJbmRleCk7CiAgICAgaWYgKGlzQXJyYXlJ
bmRleCkKLSAgICAgICAgcmV0dXJuIHRoaXNPYmplY3QtPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGkp
OworICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMs
IGkpOwogCiAgICAgaWYgKHByb3BlcnR5TmFtZSA9PSBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVu
Z3RoKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC01MjYsNyArNTI2LDcgQEAgYm9vbCBKU0Fy
cmF5OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgcHIKICAgICByZXR1cm4gSlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KHRoaXNP
YmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CiAKLWJvb2wgSlNBcnJheTo6ZGVsZXRlUHJv
cGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpKQorYm9vbCBKU0FycmF5OjpkZWxldGVQ
cm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpKQogewogICAgIHJldHVy
biBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBpKTsKIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCBi
b29sIEpTQXJyYXk6OmRlbGV0ZVByb3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVj
LCB1bnNpZ25lZCBpKQogICAgIHRoaXNPYmplY3QtPmNoZWNrQ29uc2lzdGVuY3koKTsKIAogICAg
IGlmIChpID4gTUFYX0FSUkFZX0lOREVYKQotICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+ZGVs
ZXRlUHJvcGVydHkoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBpKSk7CisgICAgICAgIHJl
dHVybiB0aGlzT2JqZWN0LT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgSWRlbnRpZmllcjo6
ZnJvbShleGVjLCBpKSk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmgKaW5kZXggZGJmYzE3MTE0MjU4YTEzNzgyMTg0M2NiOTU3OGIz
YTljZGQxNmQzOC4uZWQyNDJjNWIwZDM2MzNmMWJkMGRmN2Y1MzU2OTIzZGU5ZjIwOGQ0MSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaApAQCAtMTc0LDkgKzE3NCw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSosIGNv
bnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7
CiAgICAgICAgIHN0YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogCi0gICAg
ICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAg
ICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQ
cm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0
dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3Bl
cnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4
ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBn
ZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVy
YXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKICAgICAgICAgc3Rh
dGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKaW5kZXggODk3M2RjMzAwNDRmYmZmNzhmMGYw
NjM2MjM4YjlmOGJlMzllOTc5MS4uNTI4N2U1MzYyNTBlMWExZGI0NTM5OTQ3ODQyZWUzMDk0MjZk
NDQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCkBAIC0xMjMs
MjQgKzEyMywyNCBAQCB2b2lkIEpTQ2VsbDo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBl
eGVjLCB1bnNpZ25lZCBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbAogICAgIGNlbGwtPnRvT2JqZWN0
KGV4ZWMsIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnB1dChleGVjLCBpZGVudGlmaWVy
LCB2YWx1ZSk7CiB9CiAKLWJvb2wgSlNDZWxsOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCitib29sIEpTQ2VsbDo6ZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmll
cikKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgaWRlbnRpZmllcik7
CiB9CiAKIGJvb2wgSlNDZWxsOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKIHsKLSAgICByZXR1cm4gY2Vs
bC0+dG9PYmplY3QoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+ZGVsZXRlUHJv
cGVydHkoZXhlYywgaWRlbnRpZmllcik7CisgICAgcmV0dXJuIGNlbGwtPnRvT2JqZWN0KGV4ZWMs
IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPmRlbGV0ZVByb3BlcnR5VmlydHVhbChleGVj
LCBpZGVudGlmaWVyKTsKIH0KIAotYm9vbCBKU0NlbGw6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0
ZSogZXhlYywgdW5zaWduZWQgaWRlbnRpZmllcikKK2Jvb2wgSlNDZWxsOjpkZWxldGVQcm9wZXJ0
eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpZGVudGlmaWVyKQogewogICAgIHJl
dHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBpZGVudGlmaWVyKTsKIH0KIAogYm9vbCBK
U0NlbGw6OmRlbGV0ZVByb3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNp
Z25lZCBpZGVudGlmaWVyKQogewotICAgIHJldHVybiBjZWxsLT50b09iamVjdChleGVjLCBleGVj
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5kZWxldGVQcm9wZXJ0eShleGVjLCBpZGVudGlmaWVy
KTsKKyAgICByZXR1cm4gY2VsbC0+dG9PYmplY3QoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpKS0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGlkZW50aWZpZXIpOwogfQogCiBK
U09iamVjdCogSlNDZWxsOjp0b1RoaXNPYmplY3QoRXhlY1N0YXRlKiBleGVjKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCAyM2YwZmQ1YzBmYWY3NTQ5ZmU3
NjA4ZTBlNGViMGY1M2YzMjA2YmU3Li5jZWJmM2MyZjk5YWU5MGY1OTgxNGI2OTVkNjNlY2QxMzZi
YTg5M2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtOTUsOSAr
OTUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dChFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUpOwogICAgICAgICBzdGF0aWMgdm9p
ZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
KTsKICAgICAgICAgCi0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJv
b2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCos
IEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgIHZp
cnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5h
bWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0
ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVBy
b3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAKICAg
ICAgICAgdmlydHVhbCBKU09iamVjdCogdG9UaGlzT2JqZWN0KEV4ZWNTdGF0ZSopIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAppbmRleCA0OTMz
MzA0NmNkNzliODk4NWRkNzVmY2FmZTViMTZjYTdlNDNjYTI1Li42ZmQzYzljNWI4N2Q0ZWJhN2Yx
OGIxODQyZDg5ODhmZDUzNmMyYTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmNwcApAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgSlNGdW5jdGlvbjo6cHV0
KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hCiAgICAgQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUs
IHNsb3QpOwogfQogCi1ib29sIEpTRnVuY3Rpb246OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQorYm9vbCBKU0Z1bmN0aW9uOjpk
ZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHBy
b3BlcnR5TmFtZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmgKaW5kZXggOWI5ZGE5Y2U5ZmFiNzU0NzFkYThjZjlhYzE3ZmZiYzBkNzczYmMzNi4uZDZhNzk5
Y2E2ZjNlNDVhN2NiZjFmZGVjNGFhMTdmMTQ1M2RiY2YzMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTQ2LDcgKzE0Niw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0
YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogCi0gICAgICAgIHZpcnR1YWwg
Ym9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBi
b29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSk7CiAKICAgICAgICAgc3RhdGljIEpTVmFsdWUgYXJndW1lbnRzR2V0dGVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUsIGNvbnN0IElkZW50aWZpZXImKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKaW5kZXggZTE0YTY4YmQ5NGZh
MTRlZTBjZDY0ZDBmMzQyN2FhMmNjNDZkYjlkOS4uMTQ3YTVmYjc2Y2FiMTBiZTllZjYxODg4NWY0
OWRlMWM3NDUyMzc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNOb3RBbk9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNO
b3RBbk9iamVjdC5jcHAKQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIEpTTm90QW5PYmplY3Q6OnB1
dChKU0NlbGwqLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkLCBKU1ZhbHVlKQogICAgIEFTU0VS
VF9VTlVTRUQoZXhlYywgZXhlYy0+aGFkRXhjZXB0aW9uKCkpOwogfQogCi1ib29sIEpTTm90QW5P
YmplY3Q6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lKQorYm9vbCBKU05vdEFuT2JqZWN0OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwo
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAg
cmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0x
MTcsNyArMTE3LDcgQEAgYm9vbCBKU05vdEFuT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwq
LCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImKQogICAgIHJldHVybiBmYWxzZTsK
IH0KIAotYm9vbCBKU05vdEFuT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNOb3RBbk9iamVjdDo6ZGVsZXRlUHJvcGVy
dHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKQogewogICAg
IHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5oCmluZGV4IGI4ZjBm
YWE4NTYyMjYyM2MyMDc5YzljOWM3MTM3ZDdkN2IyODUxZjcuLjA1N2FmMGRjNDY0ZjNmY2RkMzVi
OWFlYmU2ZjQ5NWY5NGVhNzgwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTTm90QW5PYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU05vdEFuT2JqZWN0LmgKQEAgLTgyLDkgKzgyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBK
U1ZhbHVlKTsKICAgICAgICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVu
c2lnbmVkIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGRl
bGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7
CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwg
Y29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wgZGVs
ZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lKTsKLSAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSos
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9w
ZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKICAgICAgICAg
c3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQg
cHJvcGVydHlOYW1lKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1l
cyhFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSBtb2RlID0g
RXhjbHVkZURvbnRFbnVtUHJvcGVydGllcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IGQzZmMzNTk5MzFlMDE2OTEwODc1ZmM4ODljYmNmYzI4
ODVjM2NjM2UuLmQwYmQxZDVlMmViNGE5ZGEyNmNiOTI0Y2M3YmVmZmNjYTdlNzEyNjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MTAsNyAr
NzEwLDcgQEAgTkVWRVJfSU5MSU5FIEpTVmFsdWUgV2Fsa2VyOjp3YWxrKEpTVmFsdWUgdW5maWx0
ZXJlZCkKICAgICAgICAgICAgICAgICBKU0FycmF5KiBhcnJheSA9IGFycmF5U3RhY2sucGVlaygp
OwogICAgICAgICAgICAgICAgIEpTVmFsdWUgZmlsdGVyZWRWYWx1ZSA9IGNhbGxSZXZpdmVyKGFy
cmF5LCBqc1N0cmluZyhtX2V4ZWMsIFVTdHJpbmc6Om51bWJlcihpbmRleFN0YWNrLmxhc3QoKSkp
LCBvdXRWYWx1ZSk7CiAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkVmFsdWUuaXNVbmRlZmlu
ZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgYXJyYXktPmRlbGV0ZVByb3BlcnR5KG1fZXhlYywg
aW5kZXhTdGFjay5sYXN0KCkpOworICAgICAgICAgICAgICAgICAgICBhcnJheS0+ZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKG1fZXhlYywgaW5kZXhTdGFjay5sYXN0KCkpOwogICAgICAgICAgICAgICAg
IGVsc2UgewogICAgICAgICAgICAgICAgICAgICBpZiAoaXNKU0FycmF5KCZtX2V4ZWMtPmdsb2Jh
bERhdGEoKSwgYXJyYXkpICYmIGFycmF5LT5jYW5TZXRJbmRleChpbmRleFN0YWNrLmxhc3QoKSkp
CiAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheS0+c2V0SW5kZXgobV9leGVjLT5nbG9iYWxE
YXRhKCksIGluZGV4U3RhY2subGFzdCgpLCBmaWx0ZXJlZFZhbHVlKTsKQEAgLTc3Nyw3ICs3Nzcs
NyBAQCBORVZFUl9JTkxJTkUgSlNWYWx1ZSBXYWxrZXI6OndhbGsoSlNWYWx1ZSB1bmZpbHRlcmVk
KQogICAgICAgICAgICAgICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OwogICAgICAgICAgICAgICAg
IEpTVmFsdWUgZmlsdGVyZWRWYWx1ZSA9IGNhbGxSZXZpdmVyKG9iamVjdCwganNTdHJpbmcobV9l
eGVjLCBwcm9wLnVzdHJpbmcoKSksIG91dFZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoZmls
dGVyZWRWYWx1ZS5pc1VuZGVmaW5lZCgpKQotICAgICAgICAgICAgICAgICAgICBvYmplY3QtPmRl
bGV0ZVByb3BlcnR5KG1fZXhlYywgcHJvcCk7CisgICAgICAgICAgICAgICAgICAgIG9iamVjdC0+
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKG1fZXhlYywgcHJvcCk7CiAgICAgICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgICAgICBvYmplY3QtPnB1dChtX2V4ZWMsIHByb3AsIGZpbHRlcmVk
VmFsdWUsIHNsb3QpOwogICAgICAgICAgICAgICAgIGlmIChtX2V4ZWMtPmhhZEV4Y2VwdGlvbigp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IGFhY2Vj
NmQ0Mzc2NzBlYTNmYTAxMDAzZDc4ZWEwNzMzZTQ5ZTBlNGQuLmYzY2Q4NWMzOTg0ODU1N2RjZTZl
OTU5N2RmMjBiNjljZmMwODYxODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAKQEAgLTI0Nyw3ICsyNDcsNyBAQCBib29sIEpTT2JqZWN0OjpoYXNQcm9wZXJ0
eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkgY29uc3QKICAgICByZXR1
cm4gY29uc3RfY2FzdDxKU09iamVjdCo+KHRoaXMpLT5nZXRQcm9wZXJ0eVNsb3QoZXhlYywgcHJv
cGVydHlOYW1lLCBzbG90KTsKIH0KIAotYm9vbCBKU09iamVjdDo6ZGVsZXRlUHJvcGVydHkoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTT2Jq
ZWN0OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4
ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0yODAsMTQgKzI4MCwxNCBAQCBib29sIEpTT2JqZWN0
OjpoYXNPd25Qcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSkgYwogICAgIHJldHVybiBjb25zdF9jYXN0PEpTT2JqZWN0Kj4odGhpcyktPmdldE93
blByb3BlcnR5U2xvdChleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1ib29sIEpTT2Jq
ZWN0OjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFt
ZSkKK2Jvb2wgSlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhp
cywgZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KIAogYm9vbCBKU09iamVjdDo6ZGVsZXRlUHJvcGVy
dHkoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkK
IHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihjZWxsKS0+ZGVsZXRlUHJvcGVy
dHkoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihjZWxsKS0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4
ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgcHJvcGVydHlOYW1lKSk7CiB9CiAKIHN0YXRpYyBB
TFdBWVNfSU5MSU5FIEpTVmFsdWUgY2FsbERlZmF1bHRWYWx1ZUZ1bmN0aW9uKEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSlNPYmplY3QqIG9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lKQpAQCAtNzI3LDcgKzcyNyw3IEBAIGJvb2wgSlNPYmplY3Q6OmRlZmluZU93blByb3BlcnR5
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lCiAgICAgLy8g
QSBnZW5lcmljIGRlc2NyaXB0b3IgaXMgc2ltcGx5IGNoYW5naW5nIHRoZSBhdHRyaWJ1dGVzIG9m
IGFuIGV4aXN0aW5nIHByb3BlcnR5CiAgICAgaWYgKGRlc2NyaXB0b3IuaXNHZW5lcmljRGVzY3Jp
cHRvcigpKSB7CiAgICAgICAgIGlmICghY3VycmVudC5hdHRyaWJ1dGVzRXF1YWwoZGVzY3JpcHRv
cikpIHsKLSAgICAgICAgICAgIGRlbGV0ZVByb3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZSk7Cisg
ICAgICAgICAgICBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1lKTsKICAg
ICAgICAgICAgIHB1dERlc2NyaXB0b3IoZXhlYywgdGhpcywgcHJvcGVydHlOYW1lLCBkZXNjcmlw
dG9yLCBjdXJyZW50LmF0dHJpYnV0ZXNXaXRoT3ZlcnJpZGUoZGVzY3JpcHRvciksIGN1cnJlbnQp
OwogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNzQwLDcgKzc0MCw3IEBAIGJv
b2wgSlNPYmplY3Q6OmRlZmluZU93blByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lCiAgICAgICAgICAgICAgICAgdGhyb3dFcnJvcihleGVjLCBj
cmVhdGVUeXBlRXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBtZWNoYW5p
c20gZm9yIGFuIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpKTsKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgfQotICAgICAgICBkZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0
eU5hbWUpOworICAgICAgICBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1l
KTsKICAgICAgICAgcmV0dXJuIHB1dERlc2NyaXB0b3IoZXhlYywgdGhpcywgcHJvcGVydHlOYW1l
LCBkZXNjcmlwdG9yLCBjdXJyZW50LmF0dHJpYnV0ZXNXaXRoT3ZlcnJpZGUoZGVzY3JpcHRvciks
IGN1cnJlbnQpOwogICAgIH0KIApAQCAtNzY4LDcgKzc2OCw3IEBAIGJvb2wgSlNPYmplY3Q6OmRl
ZmluZU93blByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgIH0KLSAgICAgICAgZGVsZXRlUHJvcGVydHkoZXhlYywgcHJvcGVydHlO
YW1lKTsKKyAgICAgICAgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIHByb3BlcnR5TmFtZSk7
CiAgICAgICAgIHJldHVybiBwdXREZXNjcmlwdG9yKGV4ZWMsIHRoaXMsIHByb3BlcnR5TmFtZSwg
ZGVzY3JpcHRvciwgY3VycmVudC5hdHRyaWJ1dGVzV2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpLCBj
dXJyZW50KTsKICAgICB9CiAKQEAgLTc5Nyw3ICs3OTcsNyBAQCBib29sIEpTT2JqZWN0OjpkZWZp
bmVPd25Qcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
TmFtZQogICAgICAgICAgICAgZ2V0dGVyU2V0dGVyLT5zZXRHZXR0ZXIoZXhlYy0+Z2xvYmFsRGF0
YSgpLCBhc09iamVjdChkZXNjcmlwdG9yLmdldHRlcigpKSk7CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KLSAgICBkZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIGRl
bGV0ZVByb3BlcnR5VmlydHVhbChleGVjLCBwcm9wZXJ0eU5hbWUpOwogICAgIHVuc2lnbmVkIGF0
dHJzID0gY3VycmVudC5hdHRyaWJ1dGVzV2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpOwogICAgIGlm
IChkZXNjcmlwdG9yLnNldHRlcigpKQogICAgICAgICBhdHRycyB8PSBTZXR0ZXI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCAzYWQ3MGM1MGFhZDYxYWQzN2Zj
YzJmYTliOTA0YTcwYjM3ZmYzM2IyLi5hMjgyYmNlYzRlYTU5ZmZiOTY4Y2M0OTIxMTdkOThhNjM4
ZWY3NjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTEy
NSw5ICsxMjUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBoYXNQcm9wZXJ0eShF
eGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpIGNvbnN0OwogICAgICAgICBib29sIGhh
c093blByb3BlcnR5KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkg
Y29uc3Q7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBk
ZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgdmlydHVh
bCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7
CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVy
dHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKIAogICAgICAg
ICB2aXJ0dWFsIEpTVmFsdWUgZGVmYXVsdFZhbHVlKEV4ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1p
dGl2ZVR5cGUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNWYXJpYWJsZU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1ZhcmlhYmxlT2JqZWN0LmNwcAppbmRleCBkMjIzOGEyMTFjZmRmN2U0OGZmMTZlY2Q3YTk3YTk1
OGMxZGY0YzcxLi4xODQ1OTA5MzlmMzkwZjJiMDMxNDBmZmM5ZTVkYmVlMDY0MzU2ZGU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNw
cApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotYm9vbCBKU1ZhcmlhYmxl
T2JqZWN0OjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNWYXJpYWJsZU9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0
dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewog
ICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVj
dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oCmlu
ZGV4IDc2ZDZhMzRmYmJhMzczNGFjMDJkNDM2NzZiYjk4ZjBhYWY5ZDllMjIuLjlkZTcwOTM3OTQ5
MWEyMjBlNDcxZmQ2ZTIxZmIwZmFlMGU0ODc5ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmgKQEAgLTUwLDcgKzUwLDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dFdpdGhBdHRyaWJ1dGVzKEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSA9
IDA7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIGNv
bnN0IElkZW50aWZpZXImKTsKKyAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5Vmly
dHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJik7CiAgICAgICAgIHN0YXRpYyBib29s
IGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsK
ICAgICAgICAgdmlydHVhbCB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiwgUHJv
cGVydHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSA9IEV4Y2x1ZGVEb250RW51bVBy
b3BlcnRpZXMpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKaW5kZXggZTc1ZDYyMTkxNWQyNGE1ZTg2YjdhNzU2NGE5
MjVhMjZmMDY5MDExZC4uZmZiMDY4Yjc0YTk1ZjhmOWQ5NjZiNGRkMWJjNTQ3YzFiMDE3MjVmNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0Fy
cmF5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0Fy
cmF5LmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIEpT
QXJyYXk6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHYpOwogICAgICAgICB9
CiAKLSAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQorICAgICAgICB2aXJ0dWFsIGJvb2wgZGVs
ZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHko
dGhpcywgZXhlYywgcHJvcGVydHlOYW1lKTsKICAgICAgICAgfQpAQCAtMTE1LDcgKzExNSw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIEpTQXJyYXk6OmRlbGV0ZVByb3Bl
cnR5KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIH0KIAotICAgICAg
ICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUpCisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwo
RXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwog
ICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJp
Y3RFdmFsQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJp
Y3RFdmFsQWN0aXZhdGlvbi5jcHAKaW5kZXggZTk5Y2Q2OTE0NmZkZWI1YjRmZTY4MGY4OTE3YmU4
ZmVkOTc4ZThhMi4uMjhmYzM2NWZlNTE3ZDFjNDQ1NGRiZGViMGE2ZjZlMzZhZmY4MzU2MyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRp
b24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3Rp
dmF0aW9uLmNwcApAQCAtMzUsNyArMzUsNyBAQCBTdHJpY3RFdmFsQWN0aXZhdGlvbjo6U3RyaWN0
RXZhbEFjdGl2YXRpb24oRXhlY1N0YXRlKiBleGVjKQogewogfQogCi1ib29sIFN0cmljdEV2YWxB
Y3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIGlkZW50aWZpZXIpCitib29sIFN0cmljdEV2YWxBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0
eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQog
ewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBpZGVudGlmaWVyKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3Rp
dmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZh
dGlvbi5oCmluZGV4IGYxZDhkNmY5NTE4Nzc0NWE4OGVkMGM0ZWFlMzVhMDAwZmZhOTZmNDQuLmM5
YTM0OWNmNmJjOTkzNDM1ZjJhODE4MTdkZTIxNmZiNWVhMWI0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24uaApAQCAtNDEs
NyArNDEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhY3RpdmF0aW9uOwogICAgIH0KIAot
ICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJik7CisgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUq
LCBjb25zdCBJZGVudGlmaWVyJik7CiAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlND
ZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYpOwogICAgIHZpcnR1YWwgSlNPYmpl
Y3QqIHRvVGhpc09iamVjdChFeGVjU3RhdGUqKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5jcHAKaW5kZXggNmQ1NDhjZDZmMWFmNGUyYzZk
ZGU5YWY2ZjRmY2ZlODY3NzIyZTdhMS4uM2E0M2E4ZjRhMTM2ZWQ0NGM3MDZhMzI3ZjM1NDNkNDA3
YWVkMDM5OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmpl
Y3QuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU3RyaW5nT2JqZWN0OjpwdXQoSlNDZWxsKiBj
ZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5CiAgICAgSlNP
YmplY3Q6OnB1dChjZWxsLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKIH0KIAot
Ym9vbCBTdHJpbmdPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQorYm9vbCBTdHJpbmdPYmplY3Q6OmRlbGV0ZVByb3Bl
cnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSkKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVydHlOYW1l
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09i
amVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKaW5k
ZXggODcyYTJjMTMzYjY2YTZkMjE3YWM5YzliZTU2NDlmODJlNWNjMTE4Yi4uZTkyYjQ5Y2JlNjQx
MjIzMTU0YjQyYWI1MDljZmNiODEwMWIzMGZmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKQEAgLTU1LDcgKzU1LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAgICAgICBz
dGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKIAotICAgICAgICB2aXJ0dWFs
IGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lKTsKKyAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgICAgICBzdGF0aWMg
Ym9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1l
cyhFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSBtb2RlID0g
RXhjbHVkZURvbnRFbnVtUHJvcGVydGllcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiZWY4ODZiMjA3Njg5
YzAwNzg0ZGU4ZWIyZjdlZTFhYjA0NzRhZDRlLi5mMDVjYjI1NDM5NGFhOTU1N2FjMjkzNDQ1YzMy
NjFkMzIwY2YxMDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTEtMTAtMTIgIE1h
cmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUg
dmlydHVhbCBkZWxldGVQcm9wZXJ0eSB0byBkZWxldGVQcm9wZXJ0eVZpcnR1YWwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODg0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisg
ICAgICAgIFJlbmFtZWQgdmlydHVhbCB2ZXJzaW9ucyBvZiBkZWxldGVQcm9wZXJ0eSB0byBkZWxl
dGVQcm9wZXJ0eVZpcnR1YWwgaW4gcHJlcHJhdGlvbiBmb3IgCisgICAgICAgIGFkZGluZyB0aGUg
c3RhdGljIGRlbGV0ZVByb3BlcnR5IHRvIHRoZSBNZXRob2RUYWJsZSBpbiBDbGFzc0luZm8gc2lu
Y2UgdGhlIAorICAgICAgICBjb21waWxlciBnZXRzIG1hZCBpZiB0aGUgdmlydHVhbCBhbmQgc3Rh
dGljIHZlcnNpb25zIGhhdmUgdGhlIHNhbWUgbmFtZS4KKworICAgICAgICAqIFdlYkNvcmUuZXhw
LmluOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NU3RyaW5nTWFwQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRE9NU3RyaW5nTWFwOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01X
aW5kb3dTaGVsbDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd1NoZWxsLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIaXN0b3J5Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSGlzdG9yeTo6ZGVsZXRlUHJvcGVydHlWaXJ0
dWFsKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTTG9jYXRpb246OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
U3RvcmFnZTo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9T
Y3JpcHRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R2xvYmFsT2JqZWN0Ojpy
ZW1vdmUpOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tOgorICAg
ICAgICAoLVtXZWJTY3JpcHRPYmplY3QgcmVtb3ZlV2ViU2NyaXB0S2V5Ol0pOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVI
ZWFkZXIpOgorICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5jcHA6CisgICAgICAgIChfTlBO
X1JlbW92ZVByb3BlcnR5KToKKyAgICAgICAgKiBicmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbToK
KyAgICAgICAgKEphdmFKU09iamVjdDo6cmVtb3ZlTWVtYmVyKToKKyAgICAgICAgKiBicmlkZ2Uv
b2JqYy9vYmpjX3J1bnRpbWUuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUu
bW06CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmRlbGV0
ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwOgor
ICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAg
ICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuaDoKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9v
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVudGltZU9iamVjdDo6ZGVsZXRl
UHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3QuaDoKKwog
MjAxMS0xMC0xMiAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU3Vw
cG9ydCBwYXNzaW5nIG9wdGlvbmFsIGZpbGVuYW1lIHdoZW4gRm9ybURhdGEuYXBwZW5kKCkgaXMg
dXNlZCB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAyMDNjN2E2MjMyY2NjODk1ZDQ3YTIzMmYw
MmZjMTZhZjZlZTRlNTQyLi5jMDZiZDI1NjgwN2EwZTczMWU4NjNiYjc4ZDg5NGJiZjUyYTc0OWM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTY4OCwxMSArMTY4OCwxMSBAQCBfX1pOM0pTQzEz
UnVudGltZU1ldGhvZDZzX2luZm9FCiBfX1pOM0pTQzEzUnVudGltZU1ldGhvZEMyRVBOU18xNEpT
R2xvYmFsT2JqZWN0RVBOU185U3RydWN0dXJlRVJOM1dURjZWZWN0b3JJUE5TXzhCaW5kaW5nczZN
ZXRob2RFTG0wRUVFCiBfX1pOM0pTQzhCaW5kaW5nczEwUm9vdE9iamVjdEQxRXYKIF9fWk4zSlND
OEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTFnZXRDYWxsRGF0YUVQTlNfNkpTQ2VsbEVSTlNfOENh
bGxEYXRhRQotX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNGRlbGV0ZVByb3BlcnR5
RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0M4QmluZGluZ3MxM1J1
bnRpbWVPYmplY3QxNGZpbmlzaENyZWF0aW9uRVBOU18xNEpTR2xvYmFsT2JqZWN0RQogX19aTjNK
U0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNmdldENvbnN0cnVjdERhdGFFUk5TXzEzQ29uc3Ry
dWN0RGF0YUUKIF9fWk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MThnZXRPd25Qcm9wZXJ0
eVNsb3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90
RQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxOWdldE93blByb3BlcnR5TmFtZXNF
UE5TXzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVydHlOYW1lQXJyYXlFTlNfMTVFbnVtZXJhdGlvbk1v
ZGVFCitfX1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0
dWFsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0M4QmluZGluZ3Mx
M1J1bnRpbWVPYmplY3QyNGdldE93blByb3BlcnR5RGVzY3JpcHRvckVQTlNfOUV4ZWNTdGF0ZUVS
S05TXzEwSWRlbnRpZmllckVSTlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzhCaW5k
aW5nczEzUnVudGltZU9iamVjdDNwdXRFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJF
TlNfN0pTVmFsdWVFUk5TXzE1UHV0UHJvcGVydHlTbG90RQogX19aTjNKU0M4QmluZGluZ3MxM1J1
bnRpbWVPYmplY3Q2c19pbmZvRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01TdHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01TdHJpbmdNYXBDdXN0b20uY3BwCmluZGV4IGUzZGU2NGU3YjRiZmE3NDJjZjNkODBmZTJi
MGEzNTg3Y2U4NzJlMmQuLmRjMjUxNjkxMjQyNDVjYTIwOGUyZmI5MDZmZDY5YzU0OWMzYWI4NjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NU3RyaW5nTWFwQ3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVN0cmluZ01hcEN1
c3RvbS5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBKU0RPTVN0cmluZ01hcDo6Z2V0T3duUHJv
cGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5JiBwcm8KICAgICBC
YXNlOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKGV4ZWMsIHByb3BlcnR5TmFtZXMsIG1vZGUpOwogfQog
Ci1ib29sIEpTRE9NU3RyaW5nTWFwOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNET01TdHJpbmdNYXA6OmRlbGV0
ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSkKIHsKICAgICBBdG9taWNTdHJpbmcgc3RyaW5nTmFtZSA9IGlkZW50aWZpZXJUb0F0
b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUpOwogICAgIGlmICghbV9pbXBsLT5jb250YWlucyhzdHJp
bmdOYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3Vz
dG9tLmNwcAppbmRleCAwNGI1Yjk3NjUyN2E0ZmQxOTViNDVhYjI4NDk1NjRlYWM4NWQyZTY4Li5h
M2IyODcxZDIwZDYzOWM1NjA3NTQ5ZWIxMmQzM2NmNGQ1NWQ0YzYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC0zNTcsMTIgKzM1
NywxMiBAQCB2b2lkIEpTRE9NV2luZG93OjpwdXQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdgogICAgICAgICBCYXNlOjpwdXQoZXhlYywg
cHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiB9CiAKLWJvb2wgSlNET01XaW5kb3c6OmRlbGV0
ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1l
KQorYm9vbCBKU0RPTVdpbmRvdzo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIC8vIE9ubHkgYWxsb3cg
ZGVsZXRpbmcgcHJvcGVydGllcyBieSBmcmFtZXMgaW4gdGhlIHNhbWUgb3JpZ2luLgogICAgIGlm
ICghYWxsb3dzQWNjZXNzRnJvbShleGVjKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJl
dHVybiBCYXNlOjpkZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIHJldHVy
biBCYXNlOjpkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQogCiB2
b2lkIEpTRE9NV2luZG93OjpnZXRQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVy
dHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0aW9uTW9kZSBtb2RlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAppbmRleCA2ZDI2
Zjk4NWM3MWI2YzRiODNiMGEzMDI5ODliMDdmMGJhMzI3YjFlLi43YWM5MGYxMGJhOTAzODY3M2Mz
N2ZmM2NiOWViMTUyNDU4ZDkxOWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd1NoZWxsLmNwcApAQCAtMTMwLDkgKzEzMCw5IEBAIGJvb2wgSlNET01XaW5k
b3dTaGVsbDo6ZGVmaW5lT3duUHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpT
Qzo6SWRlbnRpCiAgICAgcmV0dXJuIG1fd2luZG93LT5kZWZpbmVPd25Qcm9wZXJ0eShleGVjLCBw
cm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIHNob3VsZFRocm93KTsKIH0KIAotYm9vbCBKU0RPTVdp
bmRvd1NoZWxsOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNET01XaW5kb3dTaGVsbDo6ZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQog
ewotICAgIHJldHVybiBtX3dpbmRvdy0+ZGVsZXRlUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1l
KTsKKyAgICByZXR1cm4gbV93aW5kb3ctPmRlbGV0ZVByb3BlcnR5VmlydHVhbChleGVjLCBwcm9w
ZXJ0eU5hbWUpOwogfQogCiB2b2lkIEpTRE9NV2luZG93U2hlbGw6OmdldFByb3BlcnR5TmFtZXMo
RXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVy
YXRpb25Nb2RlIG1vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd1NoZWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d1NoZWxsLmgKaW5kZXggYjVkZDNhNmExNmMyY2Q4YTYzZjk4YTNmOTI3OTgzNTJiZGYwZDY3Ny4u
NWYzZGQxZGJlZmY1ZjBiMDc3Yzg5MGM0ZWNmY2E0MWM3YTgyYWUwMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaApAQCAtODUsNyArODUsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5
TmFtZSwgSlNDOjpQcm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1
dChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBK
U0M6OkpTVmFsdWUsIEpTQzo6UHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBwdXRXaXRoQXR0cmlidXRlcyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lLCBKU0M6OkpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwotICAg
ICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBK
U0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxl
dGVQcm9wZXJ0eVZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRQcm9wZXJ0eU5hbWVzKEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpQcm9wZXJ0eU5hbWVBcnJheSYsIEpTQzo6RW51bWVyYXRpb25N
b2RlIG1vZGUgPSBKU0M6OkV4Y2x1ZGVEb250RW51bVByb3BlcnRpZXMpOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJvcGVy
dHlOYW1lQXJyYXkmLCBKU0M6OkVudW1lcmF0aW9uTW9kZSBtb2RlID0gSlNDOjpFeGNsdWRlRG9u
dEVudW1Qcm9wZXJ0aWVzKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlZmluZUdldHRlcihKU0M6
OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OkpT
T2JqZWN0KiBnZXR0ZXJGdW5jdGlvbiwgdW5zaWduZWQgYXR0cmlidXRlcyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcAppbmRleCAwOTI3Yzc5NzQw
NDhlMjJlYWNiMjQ1NmNjZGMxZTllMDE1NTRhYWEyLi4wMGQ3OTAwNjBiNTdmOGE1NDUxYzUxY2Qy
YTY3NDU1ZGVlYmEyY2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0hpc3RvcnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSGlz
dG9yeUN1c3RvbS5jcHAKQEAgLTE0NiwxMiArMTQ2LDEyIEBAIGJvb2wgSlNIaXN0b3J5OjpwdXRE
ZWxlZ2F0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCBQdXRQ
cm9wCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEpTSGlzdG9yeTo6ZGVsZXRlUHJvcGVy
dHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29s
IEpTSGlzdG9yeTo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIC8vIE9ubHkgYWxsb3cgZGVsZXRpbmcg
YnkgZnJhbWVzIGluIHRoZSBzYW1lIG9yaWdpbi4KICAgICBpZiAoIWFsbG93c0FjY2Vzc0Zyb21G
cmFtZShleGVjLCBpbXBsKCktPmZyYW1lKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
cmV0dXJuIEJhc2U6OmRlbGV0ZVByb3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZSk7CisgICAgcmV0
dXJuIEJhc2U6OmRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CiAK
IHZvaWQgSlNIaXN0b3J5OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgUHJv
cGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0aW9uTW9kZSBtb2RlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcAppbmRleCA5
NjdiYzRkYWRhZWYyMDUxN2ExNzBkYjU3YjE1NWIyZjlkZWFiYzg5Li40NDY0NDUyMzY0ODk3ZmU5
NDhiZDViMzA0NWM4YmQzYzc2M2QxOTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcApAQCAtMTUyLDEyICsxNTIsMTIgQEAgYm9vbCBKU0xv
Y2F0aW9uOjpwdXREZWxlZ2F0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSwgSlMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgSlNMb2NhdGlvbjo6
ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUpCitib29sIEpTTG9jYXRpb246OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKICAgICAvLyBPbmx5IGFs
bG93IGRlbGV0aW5nIGJ5IGZyYW1lcyBpbiB0aGUgc2FtZSBvcmlnaW4uCiAgICAgaWYgKCFhbGxv
d3NBY2Nlc3NGcm9tRnJhbWUoZXhlYywgaW1wbCgpLT5mcmFtZSgpKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIHJldHVybiBCYXNlOjpkZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5h
bWUpOworICAgIHJldHVybiBCYXNlOjpkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0
eU5hbWUpOwogfQogCiB2b2lkIEpTTG9jYXRpb246OmdldE93blByb3BlcnR5TmFtZXMoRXhlY1N0
YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25N
b2RlIG1vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0b3Jh
Z2VDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9t
LmNwcAppbmRleCA0MTc0N2JlZWRkYTc5YWMzZDBmN2U2NmY5YTU5NWIyM2QzNzBkNjkyLi4yZTEx
OTJmNTI5OWJhNDUzMzNhMDdhYTdhMWRlYzlmNjFiNTJjZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0b3JhZ2VDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTU3RvcmFnZUN1c3RvbS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgSlNW
YWx1ZSBKU1N0b3JhZ2U6Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RC
YXNlLCBjb25zdCBJZGVudGlmaWUKICAgICByZXR1cm4ganNTdHJpbmdPck51bGwoZXhlYywgdGhp
c09iai0+aW1wbCgpLT5nZXRJdGVtKGlkZW50aWZpZXJUb1N0cmluZyhwcm9wZXJ0eU5hbWUpKSk7
CiB9CiAKLWJvb2wgSlNTdG9yYWdlOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNTdG9yYWdlOjpkZWxldGVQcm9w
ZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUpCiB7CiAgICAgLy8gT25seSBwZXJmb3JtIHRoZSBjdXN0b20gZGVsZXRlIGlmIHRoZSBvYmpl
Y3QgZG9lc24ndCBoYXZlIGEgbmF0aXZlIHByb3BlcnR5IGJ5IHRoaXMgbmFtZS4KICAgICAvLyBT
aW5jZSBoYXNQcm9wZXJ0eSgpIHdvdWxkIGVuZCB1cCBjYWxsaW5nIGNhbkdldEl0ZW1zRm9yTmFt
ZSgpIGFuZCBiZSBmb29sZWQsIHdlIG5lZWQgdG8gY2hlY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRPYmplY3QuY3BwCmluZGV4IDAzNTU5N2IxNDczMmE0YjliOWE5MmU2YzVh
OTI1YTUzNjdhYThmMmMuLjYyNTdmNjU1MmM0YzIwNGZmMTdjY2VjYWI3OWQ3ZjZkMmJkMWNlMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0T2JqZWN0LmNwcApAQCAtMTAx
LDcgKzEwMSw3IEBAIGJvb2wgU2NyaXB0R2xvYmFsT2JqZWN0OjpnZXQoU2NyaXB0U3RhdGUqIHNj
cmlwdFN0YXRlLCBjb25zdCBjaGFyKiBuYW1lLCBTY3JpcHRPCiBib29sIFNjcmlwdEdsb2JhbE9i
amVjdDo6cmVtb3ZlKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgY29uc3QgY2hhciogbmFtZSkK
IHsKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIHNjcmlwdFN0
YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmRlbGV0ZVByb3BlcnR5KHNjcmlwdFN0YXRlLCBJ
ZGVudGlmaWVyKHNjcmlwdFN0YXRlLCBuYW1lKSk7CisgICAgc2NyaXB0U3RhdGUtPmxleGljYWxH
bG9iYWxPYmplY3QoKS0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKHNjcmlwdFN0YXRlLCBJZGVudGlm
aWVyKHNjcmlwdFN0YXRlLCBuYW1lKSk7CiAgICAgcmV0dXJuIGhhbmRsZUV4Y2VwdGlvbihzY3Jp
cHRTdGF0ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMv
V2ViU2NyaXB0T2JqZWN0Lm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJTY3Jp
cHRPYmplY3QubW0KaW5kZXggZmY2MTNlMmQ4YTVhNDY0YjhmMDVjYzgyYTNlYzcyZTdhOGFhMjM3
Ny4uYTI1MzczZDg3OTA4MTA1ZmQ0ZDkxZDZlNWMxOTA3ZDJmNjg5N2IxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KQEAgLTQwMyw3ICs0
MDMsNyBAQCBzdGF0aWMgdm9pZCBnZXRMaXN0RnJvbU5TQXJyYXkoRXhlY1N0YXRlICpleGVjLCBO
U0FycmF5ICphcnJheSwgUm9vdE9iamVjdCogcm9vdAogICAgIEFTU0VSVCghZXhlYy0+aGFkRXhj
ZXB0aW9uKCkpOwogCiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAg
ICBbc2VsZiBfaW1wXS0+ZGVsZXRlUHJvcGVydHkoZXhlYywgSWRlbnRpZmllcihleGVjLCBzdHJp
bmdUb1VTdHJpbmcoU3RyaW5nKGtleSkpKSk7CisgICAgW3NlbGYgX2ltcF0tPmRlbGV0ZVByb3Bl
cnR5VmlydHVhbChleGVjLCBJZGVudGlmaWVyKGV4ZWMsIHN0cmluZ1RvVVN0cmluZyhTdHJpbmco
a2V5KSkpKTsKIAogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkgewogICAgICAgICBhZGRF
eGNlcHRpb25Ub0NvbnNvbGUoZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDJkODEzNDcwYzdjYTE3MzkyZGVmYjIx
MWQ2MjUyMTgyZDk2ZjBhMWEuLjNjN2Y2ODFhYzI1NGM2NWY5NjcyZjUzZDFlNDg5ODk0NGNhOTEx
NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCkBAIC04MjAsNyArODIwLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgSlNDOjpDYWxsVHlwZSBnZXRDYWxsRGF0YShK
U0M6OkpTQ2VsbCosIEpTQzo6Q2FsbERhdGEmKTtcblxuIikgaWYgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tQ2FsbCJ9OwogCiAgICAgIyBDdXN0b20gZGVsZXRlUHJvcGVy
dHkgZnVuY3Rpb24KLSAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgYm9vbCBk
ZWxldGVQcm9wZXJ0eShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpO1xu
IikgaWYgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tRGVsZXRlUHJvcGVy
dHkifTsKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQ
cm9wZXJ0eVZpcnR1YWwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTtc
biIpIGlmICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbURlbGV0ZVByb3Bl
cnR5In07CiAKICAgICAjIEN1c3RvbSBnZXRQcm9wZXJ0eU5hbWVzIGZ1bmN0aW9uIGV4aXN0cyBv
biBET01XaW5kb3cKICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuY3BwCmluZGV4IDE0ZWZiMTk3NmZmYTc2ODlmMjNl
ZjI3MzU1MTQxZjZiZGU2ZDdlMTQuLjQ0NGU1NWFlMzYxMGNmM2Q3NjAyODM1M2VkZjcwNmUwYmI2
MThiOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmNwcApAQCAtMzc1LDkgKzM3
NSw5IEBAIGJvb2wgX05QTl9SZW1vdmVQcm9wZXJ0eShOUFAsIE5QT2JqZWN0KiBvLCBOUElkZW50
aWZpZXIgcHJvcGVydHlOYW1lKQogCiAgICAgICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRp
b25zT25seSk7CiAgICAgICAgIGlmIChpLT5pc1N0cmluZygpKQotICAgICAgICAgICAgb2JqLT5p
bXAtPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGlkZW50aWZpZXJGcm9tTlBJZGVudGlmaWVyKGV4ZWMs
IGktPnN0cmluZygpKSk7CisgICAgICAgICAgICBvYmotPmltcC0+ZGVsZXRlUHJvcGVydHlWaXJ0
dWFsKGV4ZWMsIGlkZW50aWZpZXJGcm9tTlBJZGVudGlmaWVyKGV4ZWMsIGktPnN0cmluZygpKSk7
CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG9iai0+aW1wLT5kZWxldGVQcm9wZXJ0eShleGVj
LCBpLT5udW1iZXIoKSk7CisgICAgICAgICAgICBvYmotPmltcC0+ZGVsZXRlUHJvcGVydHlWaXJ0
dWFsKGV4ZWMsIGktPm51bWJlcigpKTsKIAogICAgICAgICBleGVjLT5jbGVhckV4Y2VwdGlvbigp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9qbmkvam5pX2pzb2JqZWN0Lm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qbmlfanNv
YmplY3QubW0KaW5kZXggMWM2ZjFmYmUzMWM2ZDQ2N2JjYjViYmYyMzVmY2NkNGMwNzUwMTNhNS4u
ODdhNTZkZDU4ZDZiNjdjNmMzZDJhNTU2ZGU3NGU4MmM2Nzc3MWZjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qbmlfanNvYmplY3QubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL2puaS9qbmlfanNvYmplY3QubW0KQEAgLTM2Miw3ICszNjIsNyBAQCB2b2lkIEph
dmFKU09iamVjdDo6cmVtb3ZlTWVtYmVyKGpzdHJpbmcgbWVtYmVyTmFtZSkgY29uc3QKIAogICAg
IEV4ZWNTdGF0ZSogZXhlYyA9IHJvb3RPYmplY3QtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVj
KCk7CiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBfaW1wLT5k
ZWxldGVQcm9wZXJ0eShleGVjLCBJZGVudGlmaWVyKGV4ZWMsIEphdmFTdHJpbmcobWVtYmVyTmFt
ZSkuaW1wbCgpKSk7CisgICAgX2ltcC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIElkZW50
aWZpZXIoZXhlYywgSmF2YVN0cmluZyhtZW1iZXJOYW1lKS5pbXBsKCkpKTsKIH0KIAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCmluZGV4IGE5OGE5MGUxOTc1MGFk
YmY5MzZlZGI3Njk3MWUxNzE0YTVhZGI2ZWYuLmY0OTBjN2FlNmNjN2JmM2MyMGM2MDE1OWZlZWZm
ZjljZGYyZTk3M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNf
cnVudGltZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5o
CkBAIC0xMjksNyArMTI5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVy
dHlTbG90Jik7CiAgICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAg
ICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7Ci0gICAg
dmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSk7CisgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChF
eGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgIHN0YXRpYyBi
b29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSk7CiAgICAgdmlydHVhbCBKU1ZhbHVlIGRlZmF1bHRWYWx1ZShFeGVjU3Rh
dGUqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL29iamMvb2JqY19ydW50aW1lLm1tCmluZGV4IDRjZmMzODRhZTU1NjNkN2QxODNlNzFmZWQ3
ZDZhMDExZmQzNTI1NTkuLjlhNTlhNmUyM2ZiZmNlNDcyNGJmMDVkMzdkNTk4YTliYzMxMGZmY2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW0KQEAgLTI3NCw3
ICsyNzQsNyBAQCBDYWxsVHlwZSBPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmdldENhbGxEYXRhKEpT
Q2VsbCogY2VsbCwgQ2FsbERhdGEmIGNhbGxEYXRhKQogICAgIHJldHVybiBDYWxsVHlwZUhvc3Q7
CiB9CiAKLWJvb2wgT2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpkZWxldGVQcm9wZXJ0eShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCitib29sIE9iamNGYWxsYmFj
a09iamVjdEltcDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgaWRlbnRpZmllcikKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhp
cywgZXhlYywgaWRlbnRpZmllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9hcnJheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJh
eS5jcHAKaW5kZXggODBlMmE4Zjk1MWUxY2U1M2IyZjM2YTZmYjE1NWMyM2I0OGU4ODliOC4uNTNm
MzcyODRmYjJkNmVkNDc3ZTU4N2E2NGI5MGEzYTYyYzlkMDBiOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9ydW50aW1lX2FycmF5LmNwcApAQCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQgUnVudGltZUFy
cmF5OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGluZGV4LCBK
U1ZhbHVlIHZhCiAgICAgdGhpc09iamVjdC0+Z2V0Q29uY3JldGVBcnJheSgpLT5zZXRWYWx1ZUF0
KGV4ZWMsIGluZGV4LCB2YWx1ZSk7CiB9CiAKLWJvb2wgUnVudGltZUFycmF5OjpkZWxldGVQcm9w
ZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jv
b2wgUnVudGltZUFycmF5OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3Bl
cnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0xOTEsNyArMTkxLDcgQEAgYm9v
bCBSdW50aW1lQXJyYXk6OmRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBSdW50aW1lQXJyYXk6
OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKQor
Ym9vbCBSdW50aW1lQXJyYXk6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhp
cywgZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9ydW50aW1lX2FycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJh
eS5oCmluZGV4IGEzZDQ0NThiNmI4OGQzM2M5NDMzZDYwOTkyNjhmMjRhMzQwODI3ZGYuLjY5ZmJi
ZDhlMzE3NzZkZWQ2MTZlNDlmMWFmMjM0MTJlN2JkOGVjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfYXJyYXkuaApAQCAtNjAsOSArNjAsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHB1dChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUpOwogICAg
IHN0YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5h
bWUsIEpTVmFsdWUpOwogICAgIAotICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSk7CisgICAgdmlydHVh
bCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVy
ICZwcm9wZXJ0eU5hbWUpOwogICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCos
IEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSk7Ci0gICAgdmlydHVh
bCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlO
YW1lKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSos
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHko
SlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKICAgICAKICAgICB1
bnNpZ25lZCBnZXRMZW5ndGgoKSBjb25zdCB7IHJldHVybiBnZXRDb25jcmV0ZUFycmF5KCktPmdl
dExlbmd0aCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9v
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAppbmRl
eCAxMzM4Y2Y4NjVjZTRjZjRhYmRlMDZhOTRkYTQyZjc2NDEyNDQ3MTZmLi45ZTYzMTlmNGQ4NmI1
NThmOWZkNGNiM2U1OGRiNDgxODFkZTFmYjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX29iamVjdC5jcHAKQEAgLTI0Miw3ICsyNDIsNyBAQCB2b2lkIFJ1bnRpbWVPYmplY3Q6OnB1
dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dAogICAgIGluc3RhbmNlLT5lbmQoKTsKIH0KIAotYm9vbCBSdW50aW1lT2JqZWN0OjpkZWxldGVQ
cm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkK
K2Jvb2wgUnVudGltZU9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxldGVQ
cm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9vYmplY3QuaAppbmRleCAwNjZkNzczN2UzMjQ2NGU1ODYyMTE4NWU2NGE1NzMzZGIx
ZWVkZWZjLi5lYjcxZDhmYzE1MzY1M2E3NWZiMjg4ZGVmN2YzYTlkZTZhZGEyMWRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogICAg
IHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgdm9pZCBwdXQoSlND
ZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
LCBQdXRQcm9wZXJ0eVNsb3QmKTsKLSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKKyAgICB2aXJ0dWFsIGJv
b2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSk7CiAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKICAgICB2aXJ0dWFsIEpT
VmFsdWUgZGVmYXVsdFZhbHVlKEV4ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUpIGNv
bnN0OwogICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDQ4ODFhYjc4NzJiZTZlYTU3NDljNzIxZDZiNjQzOGIyNjMz
NjZkNWMuLjFkZmI5ZDMyZmUyMGZiZDRjNTIwYmVlOTI3NWM0ZGU3OTNjMDA1ZjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0xMC0xMiAgTWFyayBIYWhuZW5iZXJnICA8
bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSB2aXJ0dWFsIGRlbGV0ZVBy
b3BlcnR5IHRvIGRlbGV0ZVByb3BlcnR5VmlydHVhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWVkIHZpcnR1YWwgdmVyc2lvbnMgb2YgZGVsZXRl
UHJvcGVydHkgdG8gZGVsZXRlUHJvcGVydHlWaXJ0dWFsIGluIHByZXByYXRpb24gZm9yIAorICAg
ICAgICBhZGRpbmcgdGhlIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSB0byB0aGUgTWV0aG9kVGFibGUg
aW4gQ2xhc3NJbmZvIHNpbmNlIHRoZSAKKyAgICAgICAgY29tcGlsZXIgZ2V0cyBtYWQgaWYgdGhl
IHZpcnR1YWwgYW5kIHN0YXRpYyB2ZXJzaW9ucyBoYXZlIHRoZSBzYW1lIG5hbWUuCisKKyAgICAg
ICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVtb3ZlUHJvcGVydHkp
OgorCiAyMDExLTEwLTEwICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVXNlIGEgQ2FjaGVkSW1hZ2VDbGllbnQgaW5zdGVhZCBvZiBDYWNoZWRSZXNvdXJjZUNs
aWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0
ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCmluZGV4IDY2MjcyMDM3MTg5N2RjOTQ4
NmU1NDcwMGY2ZmQwNjE4NTlhN2I2MjcuLjY5ZGZkYjBkZTE0MjE0ZmM5ZGRhMTkxZDI1ZmIzYWQ4
ZTQwZTNlZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTExMTMsNyArMTEx
Myw3IEBAIGJvb2wgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZW1vdmVQcm9wZXJ0eSh1
aW50MzJfdCBvYmplY3RJRCwgY29uc3QgSWRlbnRpCiAgICAgfQogICAgIAogICAgIEpTTG9jayBs
b2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgb2JqZWN0LT5kZWxldGVQcm9wZXJ0eShl
eGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIG9iamVjdC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4
ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgZXhlYy0+Y2xlYXJFeGNlcHRpb24oKTsgICAgCiAgICAg
cmV0dXJuIHRydWU7CiB9CkBAIC0xMTQwLDcgKzExNDAsNyBAQCBib29sIE5ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eTo6cmVtb3ZlUHJvcGVydHkodWludDMyX3Qgb2JqZWN0SUQsIHVuc2lnbmVk
IHBybwogICAgIH0KICAgICAKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkp
OwotICAgIG9iamVjdC0+ZGVsZXRlUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKTsKKyAgICBv
YmplY3QtPmRlbGV0ZVByb3BlcnR5VmlydHVhbChleGVjLCBwcm9wZXJ0eU5hbWUpOwogICAgIGV4
ZWMtPmNsZWFyRXhjZXB0aW9uKCk7ICAgIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDJiNTg4YTcwZTkyMTAyZjQzNmMwYjMyYTljOGRiZjY5N2QyNTNkMTkuLjFhN2Y3OGExZmFi
YzY5OTljZGMwZGNlM2U4OTQ4N2MzYjhkZThmZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBA
QAorMjAxMS0xMC0xMiAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbmFtZSB2aXJ0dWFsIGRlbGV0ZVByb3BlcnR5IHRvIGRlbGV0ZVByb3BlcnR5
VmlydHVhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njk4ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW5hbWVkIHZpcnR1YWwgdmVyc2lvbnMgb2YgZGVsZXRlUHJvcGVydHkgdG8gZGVsZXRlUHJvcGVy
dHlWaXJ0dWFsIGluIHByZXByYXRpb24gZm9yIAorICAgICAgICBhZGRpbmcgdGhlIHN0YXRpYyBk
ZWxldGVQcm9wZXJ0eSB0byB0aGUgTWV0aG9kVGFibGUgaW4gQ2xhc3NJbmZvIHNpbmNlIHRoZSAK
KyAgICAgICAgY29tcGlsZXIgZ2V0cyBtYWQgaWYgdGhlIHZpcnR1YWwgYW5kIHN0YXRpYyB2ZXJz
aW9ucyBoYXZlIHRoZSBzYW1lIG5hbWUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvSlNOUE9iamVjdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OmRl
bGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OmRlbGV0
ZVByb3BlcnR5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9i
amVjdC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TlBKU09iamVjdDo6cmVtb3ZlUHJvcGVydHkpOgorCiAy
MDExLTEwLTEyICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJv
c3NhLm9yZz4KIAogICAgICAgICBbUXRdW1dLMl0gTW92ZSBxd2ViZXJyb3IqIG91dCBvZiBBUEkv
cXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9KU05QT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9KU05QT2JqZWN0LmNwcAppbmRleCA1M2Y1ODYwMWMwYTk2NjgxYzg1NDE4YmNkMzRkY2Fi
NDJlMDBhMWY0Li40ODk4NWFlOWU0ZGNhZDY2ZWQ0YTc1YjQ2NDhjM2QwMGMxMTgwZDBhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L0pTTlBPYmplY3QuY3BwCkBAIC0zNTAsMTQgKzM1MCwyNCBAQCB2b2lkIEpTTlBPYmplY3Q6OnB1
dChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1
ZSB2YQogICAgIHJlbGVhc2VOUFZhcmlhbnRWYWx1ZSgmdmFyaWFudCk7CiB9CiAKLWJvb2wgSlNO
UE9iamVjdDo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUpCitib29sIEpTTlBPYmplY3Q6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKLSAgICBy
ZXR1cm4gZGVsZXRlUHJvcGVydHkoZXhlYywgbnBJZGVudGlmaWVyRnJvbUlkZW50aWZpZXIocHJv
cGVydHlOYW1lKSk7CisgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3Bl
cnR5TmFtZSk7CiB9CiAKLWJvb2wgSlNOUE9iamVjdDo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRl
KiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpCitib29sIEpTTlBPYmplY3Q6OmRlbGV0ZVBy
b3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUpCiB7Ci0gICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KGV4ZWMsIHN0YXRpY19j
YXN0PE5QSWRlbnRpZmllcj4oSWRlbnRpZmllclJlcDo6Z2V0KHByb3BlcnR5TmFtZSkpKTsKKyAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNOUE9iamVjdCo+KGNlbGwpLT5kZWxldGVQcm9wZXJ0eShl
eGVjLCBucElkZW50aWZpZXJGcm9tSWRlbnRpZmllcihwcm9wZXJ0eU5hbWUpKTsKK30KKworYm9v
bCBKU05QT2JqZWN0OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNp
Z25lZCBwcm9wZXJ0eU5hbWUpCit7CisgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4
ZWMsIHByb3BlcnR5TmFtZSk7Cit9CisKK2Jvb2wgSlNOUE9iamVjdDo6ZGVsZXRlUHJvcGVydHko
SlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkKK3sK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNOUE9iamVjdCo+KGNlbGwpLT5kZWxldGVQcm9wZXJ0
eShleGVjLCBzdGF0aWNfY2FzdDxOUElkZW50aWZpZXI+KElkZW50aWZpZXJSZXA6OmdldChwcm9w
ZXJ0eU5hbWUpKSk7CiB9CiAKIGJvb2wgSlNOUE9iamVjdDo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0
YXRlKiBleGVjLCBOUElkZW50aWZpZXIgcHJvcGVydHlOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKaW5kZXgg
MjNmZmM4ZmM5MjMyZGIzNGFmMDIxM2NmNzNlNzFjYWUyOTc1NjE2MC4uM2M1NDdkYTU0YjYwYmVh
NDBmOGUxYjhjOTQwN2FhZDZiYzZmNTg4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCkBAIC04OCw4ICs4OCwx
MCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
SlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlND
OjpQcm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICB2aXJ0dWFsIHZvaWQgcHV0KEpTQzo6RXhlY1N0
YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6SlNWYWx1ZSwg
SlNDOjpQdXRQcm9wZXJ0eVNsb3QmKTsKIAotICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0
eShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsK
LSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUpOworICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwo
SlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7Cisg
ICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDOjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0
ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKKyAgICB2aXJ0dWFsIGJv
b2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVy
dHlOYW1lKTsKKyAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0M6OkpTQ2VsbCosIEpT
Qzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKIAogICAgIGJvb2wgZGVsZXRl
UHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqLCBOUElkZW50aWZpZXIgcHJvcGVydHlOYW1lKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05Q
SlNPYmplY3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L05QSlNPYmplY3QuY3BwCmluZGV4IGZlMjk3MGViODgyMjI5YzI1NTk0YzcxN2Y2ZDBkZTEzYTli
YTA3MzUuLjc2OGYwODJkZjFiOTliYWRmODI0NDk3YzhhM2M4NmIzYTJjMjQyMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBK
U09iamVjdC5jcHAKQEAgLTIxMywxNCArMjEzLDE0IEBAIGJvb2wgTlBKU09iamVjdDo6cmVtb3Zl
UHJvcGVydHkoTlBJZGVudGlmaWVyIHByb3BlcnR5TmFtZSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgbV9qc09iamVjdC0+ZGVsZXRlUHJv
cGVydHkoZXhlYywgaWRlbnRpZmllcik7CisgICAgICAgIG1fanNPYmplY3QtPmRlbGV0ZVByb3Bl
cnR5VmlydHVhbChleGVjLCBpZGVudGlmaWVyKTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAo
IW1fanNPYmplY3QtPmhhc1Byb3BlcnR5KGV4ZWMsIGlkZW50aWZpZXJSZXAtPm51bWJlcigpKSkg
ewogICAgICAgICAgICAgZXhlYy0+Y2xlYXJFeGNlcHRpb24oKTsKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIG1fanNPYmplY3QtPmRlbGV0ZVByb3BlcnR5
KGV4ZWMsIGlkZW50aWZpZXJSZXAtPm51bWJlcigpKTsKKyAgICAgICAgbV9qc09iamVjdC0+ZGVs
ZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGlkZW50aWZpZXJSZXAtPm51bWJlcigpKTsKICAgICB9
CiAKICAgICBleGVjLT5jbGVhckV4Y2VwdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110869</attachid>
            <date>2011-10-13 10:19:54 -0700</date>
            <delta_ts>2011-10-14 12:13:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69884-20111013101954.patch</filename>
            <type>text/plain</type>
            <size>71327</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcyNzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NhbGxiYWNrT2JqZWN0LmgKaW5kZXggYTU2MDM1YjlhNGQzM2UyOTFiNTYwYTU2NzE2YzMwMmFh
ZWJhODM0YS4uNGQ3MGUwNTM3ZjQ0YTE1MWZhMzM0MThhMGNlMmIxNDBkYzkyNWFhZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTE4NCw5ICsx
ODQsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyB2b2lk
IHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSwgUHV0
UHJvcGVydHlTbG90Jik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0
YXRlKiwgY29uc3QgSWRlbnRpZmllciYpOworICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0
eVZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYpOwogICAgIHN0YXRpYyBib29s
IGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsK
LSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiwgdW5zaWduZWQpOwor
ICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWdu
ZWQpOwogICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IHVuc2lnbmVkKTsKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNJbnN0YW5jZShFeGVjU3RhdGUqIGV4
ZWMsIEpTVmFsdWUgdmFsdWUsIEpTVmFsdWUgcHJvdG8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAppbmRleCA4ZWUwNjA2
MjdlYjQ2YmFhMjZkYWFkZTBkYzQyMTc5ZTdkZDVhY2JlLi4wMGNlYzdiZDU4YzlhNDczN2Y3MzY2
MzZiMGI1N2U5ODAyNGQ3MjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaApAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQg
SlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+Ci1ib29sIEpT
Q2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFy
ZW50Pjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBl
eGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpAQCAtMzE2LDcgKzMxNiw3IEBAIGJvb2wgSlNDYWxsYmFj
a09iamVjdDxQYXJlbnQ+OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSog
ZXhlYywgY29uCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+Ci1ib29sIEpTQ2FsbGJhY2tP
YmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUpCitib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVy
dHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKQogewogICAg
IHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpAQCAt
MzI0LDcgKzMyNCw3IEBAIGJvb2wgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpkZWxldGVQcm9w
ZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5CiB0ZW1wbGF0ZSA8Y2xhc3Mg
UGFyZW50PgogYm9vbCBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmRlbGV0ZVByb3BlcnR5KEpT
Q2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpCiB7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3QqPihjZWxsKS0+ZGVsZXRlUHJv
cGVydHkoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdCo+KGNlbGwpLT5kZWxldGVQcm9wZXJ0
eVZpcnR1YWwoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpKTsKIH0K
IAogdGVtcGxhdGUgPGNsYXNzIFBhcmVudD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09i
amVjdFJlZi5jcHAKaW5kZXggNGNjNjZhNGRiMzI1NDUyNjU0NTZiZWQxOGExNTU3ZGVmMTFjZGJl
Ni4uMjg5OGViMjBmODE5ZTFiNmMyYWRmZjFmZDEwMzA0ZDQxZTBhYjMzYSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTMyNyw3ICszMjcsNyBAQCBib29s
IEpTT2JqZWN0RGVsZXRlUHJvcGVydHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2Jq
ZWN0LCBKU1N0cmluZ1JlZiBwcgogCiAgICAgSlNPYmplY3QqIGpzT2JqZWN0ID0gdG9KUyhvYmpl
Y3QpOwogCi0gICAgYm9vbCByZXN1bHQgPSBqc09iamVjdC0+ZGVsZXRlUHJvcGVydHkoZXhlYywg
cHJvcGVydHlOYW1lLT5pZGVudGlmaWVyKCZleGVjLT5nbG9iYWxEYXRhKCkpKTsKKyAgICBib29s
IHJlc3VsdCA9IGpzT2JqZWN0LT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlO
YW1lLT5pZGVudGlmaWVyKCZleGVjLT5nbG9iYWxEYXRhKCkpKTsKICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpIHsKICAgICAgICAgaWYgKGV4Y2VwdGlvbikKICAgICAgICAgICAgICpleGNl
cHRpb24gPSB0b1JlZihleGVjLCBleGVjLT5leGNlcHRpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwppbmRleCBmMmY3Yzc4Y2IzNTViMjVhODU5YjE0MGQwZmI1OTBmZTQ1YWRmN2MxLi5lYzcy
MDgwYTY5Yzg5ZWI3MGFkOWFjNTIzZDEzYTg4MWU1MmVmY2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAxMS0xMC0xMiAgTWFyayBIYWhuZW5iZXJnICA8bWhh
aG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSB2aXJ0dWFsIGRlbGV0ZVByb3Bl
cnR5IHRvIGRlbGV0ZVByb3BlcnR5VmlydHVhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW5hbWVkIHZpcnR1YWwgdmVyc2lvbnMgb2YgZGVsZXRlUHJv
cGVydHkgdG8gZGVsZXRlUHJvcGVydHlWaXJ0dWFsIGluIHByZXByYXRpb24gZm9yIAorICAgICAg
ICBhZGRpbmcgdGhlIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSB0byB0aGUgTWV0aG9kVGFibGUgaW4g
Q2xhc3NJbmZvIHNpbmNlIHRoZSAKKyAgICAgICAgY29tcGlsZXIgZ2V0cyBtYWQgaWYgdGhlIHZp
cnR1YWwgYW5kIHN0YXRpYyB2ZXJzaW9ucyBoYXZlIHRoZSBzYW1lIG5hbWUuCisKKyAgICAgICAg
KiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0
RnVuY3Rpb25zLmg6CisgICAgICAgIChKU0M6Ojo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAg
ICAgICAgKEpTQzo6OjpkZWxldGVQcm9wZXJ0eSk6CisgICAgICAgICogQVBJL0pTT2JqZWN0UmVm
LmNwcDoKKyAgICAgICAgKEpTT2JqZWN0RGVsZXRlUHJvcGVydHkpOgorICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZGVmOgorICAgICAgICAqIGRlYnVnZ2VyL0RlYnVnZ2VyQWN0
aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkRlYnVnZ2VyQWN0aXZhdGlvbjo6ZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0aW9uOjpkZWxldGVQ
cm9wZXJ0eSk6CisgICAgICAgICogZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmg6CisgICAg
ICAgICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAgICAgKEpTQzo6REVGSU5FX1NUVUJfRlVOQ1RJ
T04pOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6QXJn
dW1lbnRzOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1l
bnRzLmg6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChK
U0M6OmFycmF5UHJvdG9GdW5jUG9wKToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNSZXZl
cnNlKToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTaGlmdCk6CisgICAgICAgIChKU0M6
OmFycmF5UHJvdG9GdW5jU3BsaWNlKToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNVblNo
aWZ0KToKKyAgICAgICAgKiBydW50aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgIChKU0M6
OkpTQWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBydW50aW1l
L0pTQWN0aXZhdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5jcHA6CisgICAgICAg
IChKU0M6OkpTQXJyYXk6OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpT
QXJyYXk6OmRlbGV0ZVByb3BlcnR5KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuaDoKKyAg
ICAgICAgKiBydW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2VsbDo6ZGVsZXRl
UHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpkZWxldGVQcm9wZXJ0eSk6
CisgICAgICAgICogcnVudGltZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rp
b24uY3BwOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNO
b3RBbk9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTTm90QW5PYmplY3Q6OmRlbGV0ZVByb3Bl
cnR5VmlydHVhbCk6CisgICAgICAgICogcnVudGltZS9KU05vdEFuT2JqZWN0Lmg6CisgICAgICAg
ICogcnVudGltZS9KU09OT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6V2Fsa2VyOjp3YWxrKToK
KyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWxldGVQ
cm9wZXJ0eSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eSk6Cisg
ICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNWYXJpYWJs
ZU9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTVmFyaWFibGVPYmplY3Q6OmRlbGV0ZVByb3Bl
cnR5VmlydHVhbCk6CisgICAgICAgICogcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0Lmg6CisgICAg
ICAgICogcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaDoKKyAgICAgICAgKEpTQzo6UmVnRXhw
TWF0Y2hlc0FycmF5OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIHJ1bnRpbWUv
U3RyaWN0RXZhbEFjdGl2YXRpb24uY3BwOgorICAgICAgICAoSlNDOjpTdHJpY3RFdmFsQWN0aXZh
dGlvbjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBydW50aW1lL1N0cmljdEV2
YWxBY3RpdmF0aW9uLmg6CisgICAgICAgICogcnVudGltZS9TdHJpbmdPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpTdHJpbmdPYmplY3Q6OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAg
ICogcnVudGltZS9TdHJpbmdPYmplY3QuaDoKKwogMjAxMS0xMC0xMiAgR3VzdGF2byBOb3Jvbmhh
IFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBGaXgg
YnVpbGQgd2l0aCBHTGliIDIuMzEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZXhwCmluZGV4IGZhYTVlYzI5NTZiYzFjY2M1YjNhODdlN2Q1OWZjMWNjNmMyNDEzMzQuLjMzZTk3
ZTVjZGFkZDBkOTI3Mjg3NjE2NWI3YTUxZTM1ZGI0ZDAyZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTQ2LDcgKzE0Niw2IEBAIF9fWk4zSlNDMTJSZWdF
eHBPYmplY3RDMUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUVQTlNfNlJlZ0V4
cEUKIF9fWk4zSlNDMTJTYW1wbGluZ1Rvb2w1c2V0dXBFdgogX19aTjNKU0MxMlNtYWxsU3RyaW5n
czE3Y3JlYXRlRW1wdHlTdHJpbmdFUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MxMlNtYWxs
U3RyaW5nczI3Y3JlYXRlU2luZ2xlQ2hhcmFjdGVyU3RyaW5nRVBOU18xMkpTR2xvYmFsRGF0YUVo
Ci1fX1pOM0pTQzEyU3RyaW5nT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVS
S05TXzEwSWRlbnRpZmllckUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxNGZpbmlzaENyZWF0aW9u
RVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOEpTU3RyaW5nRQogX19aTjNKU0MxMlN0cmluZ09iamVj
dDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJO
U18xMlByb3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QxOGdldE93blByb3BlcnR5
U2xvdEVQTlNfOUV4ZWNTdGF0ZUVqUk5TXzEyUHJvcGVydHlTbG90RQpAQCAtMTkxLDkgKzE5MCwx
MCBAQCBfX1pOM0pTQzE2SW50ZXJuYWxGdW5jdGlvbjE0ZmluaXNoQ3JlYXRpb25FUk5TXzEySlNH
bG9iYWxEYXRhRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0MxNkludGVybmFsRnVuY3Rpb240
bmFtZUVQTlNfOUV4ZWNTdGF0ZUUKIF9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9uNnNfaW5mb0UK
IF9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9uQzJFUE5TXzE0SlNHbG9iYWxPYmplY3RFUE5TXzlT
dHJ1Y3R1cmVFCi1fX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE0ZGVsZXRlUHJvcGVydHlFUE5T
XzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCitfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVj
dDE0ZGVsZXRlUHJvcGVydHlFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50
aWZpZXJFCiBfX1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE0c3ltYm9sVGFibGVHZXRFUktOU18x
MElkZW50aWZpZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlwdG9yRQogX19aTjNKU0MxNkpTVmFyaWFi
bGVPYmplY3QxOWdldE93blByb3BlcnR5TmFtZXNFUE5TXzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVy
dHlOYW1lQXJyYXlFTlNfMTVFbnVtZXJhdGlvbk1vZGVFCitfX1pOM0pTQzE2SlNWYXJpYWJsZU9i
amVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlm
aWVyRQogX19aTjNKU0MxNmNyZWF0ZVJhbmdlRXJyb3JFUE5TXzlFeGVjU3RhdGVFUktOU183VVN0
cmluZ0UKIF9fWk4zSlNDMTZzbG93VmFsaWRhdGVDZWxsRVBOU18xNEpTR2xvYmFsT2JqZWN0RQog
X19aTjNKU0MxNnNsb3dWYWxpZGF0ZUNlbGxFUE5TXzZKU0NlbGxFCkBAIC0yNTcsMTEgKzI1Nywx
MSBAQCBfX1pOM0pTQzRZYXJyMTFieXRlQ29tcGlsZUVSTlMwXzExWWFyclBhdHRlcm5FUE4zV1RG
MjBCdW1wUG9pbnRlckFsbG9jYXRvckUKIF9fWk4zSlNDNFlhcnI5aW50ZXJwcmV0RVBOUzBfMTVC
eXRlY29kZVBhdHRlcm5FUktOU183VVN0cmluZ0VqalBpCiBfX1pOM0pTQzRjYWxsRVBOU185RXhl
Y1N0YXRlRU5TXzdKU1ZhbHVlRU5TXzhDYWxsVHlwZUVSS05TXzhDYWxsRGF0YUVTMl9SS05TXzdB
cmdMaXN0RQogX19aTjNKU0M2SlNDZWxsMTFnZXRDYWxsRGF0YUVQUzBfUk5TXzhDYWxsRGF0YUUK
LV9fWk4zSlNDNkpTQ2VsbDE0ZGVsZXRlUHJvcGVydHlFUE5TXzlFeGVjU3RhdGVFUktOU18xMElk
ZW50aWZpZXJFCi1fX1pOM0pTQzZKU0NlbGwxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0YXRl
RWoKIF9fWk4zSlNDNkpTQ2VsbDE2Z2V0Q29uc3RydWN0RGF0YUVSTlNfMTNDb25zdHJ1Y3REYXRh
RQogX19aTjNKU0M2SlNDZWxsMThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFUktO
U18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0M2SlNDZWxsMThnZXRP
d25Qcm9wZXJ0eVNsb3RFUE5TXzlFeGVjU3RhdGVFalJOU18xMlByb3BlcnR5U2xvdEUKK19fWk4z
SlNDNkpTQ2VsbDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJ
ZGVudGlmaWVyRQorX19aTjNKU0M2SlNDZWxsMjFkZWxldGVQcm9wZXJ0eVZpcnR1YWxFUE5TXzlF
eGVjU3RhdGVFagogX19aTjNKU0M2SlNDZWxsM3B1dEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRl
bnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzZKU0Nl
bGwzcHV0RVBOU185RXhlY1N0YXRlRWpOU183SlNWYWx1ZUUgIAogX19aTjNKU0M2SlNDZWxsOWdl
dE9iamVjdEV2CkBAIC0zMTAsOCArMzEwLDcgQEAgX19aTjNKU0M4SlNPYmplY3QxMmRlZmluZVNl
dHRlckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVQUzBfagogX19aTjNKU0M4SlNP
YmplY3QxMmxvb2t1cEdldHRlckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKIF9f
Wk4zSlNDOEpTT2JqZWN0MTJsb29rdXBTZXR0ZXJFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50
aWZpZXJFCiBfX1pOM0pTQzhKU09iamVjdDEzdmlzaXRDaGlsZHJlbkVQTlNfNkpTQ2VsbEVSTlNf
MTFTbG90VmlzaXRvckUKLV9fWk4zSlNDOEpTT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfOUV4
ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKLV9fWk4zSlNDOEpTT2JqZWN0MTRkZWxldGVQcm9w
ZXJ0eUVQTlNfOUV4ZWNTdGF0ZUVqCitfX1pOM0pTQzhKU09iamVjdDE0ZGVsZXRlUHJvcGVydHlF
UE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzhK
U09iamVjdDE1dW53cmFwcGVkT2JqZWN0RXYKIF9fWk4zSlNDOEpTT2JqZWN0MTZnZXRQcm9wZXJ0
eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVy
YXRpb25Nb2RlRQogX19aTjNKU0M4SlNPYmplY3QxN2RlZmluZU93blByb3BlcnR5RVBOU185RXhl
Y1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckViCkBAIC0z
MjUsNiArMzI0LDggQEAgX19aTjNKU0M4SlNPYmplY3QxN3B1dFdpdGhBdHRyaWJ1dGVzRVBOU185
RXhlY1N0YXRlRWpOU183SlNWYWx1ZUVqCiBfX1pOM0pTQzhKU09iamVjdDE4Z2V0T3duUHJvcGVy
dHlTbG90RVBOU182SlNDZWxsRVBOU185RXhlY1N0YXRlRWpSTlNfMTJQcm9wZXJ0eVNsb3RFCiBf
X1pOM0pTQzhKU09iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU185RXhlY1N0YXRlRWpSTlNf
MTJQcm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09iamVjdDE5Z2V0T3duUHJvcGVydHlOYW1lc0VQ
TlNfOUV4ZWNTdGF0ZUVSTlNfMTdQcm9wZXJ0eU5hbWVBcnJheUVOU18xNUVudW1lcmF0aW9uTW9k
ZUUKK19fWk4zSlNDOEpTT2JqZWN0MjFkZWxldGVQcm9wZXJ0eVZpcnR1YWxFUE5TXzlFeGVjU3Rh
dGVFUktOU18xMElkZW50aWZpZXJFCitfX1pOM0pTQzhKU09iamVjdDIxZGVsZXRlUHJvcGVydHlW
aXJ0dWFsRVBOU185RXhlY1N0YXRlRWoKIF9fWk4zSlNDOEpTT2JqZWN0MjFnZXRQcm9wZXJ0eURl
c2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzE4UHJvcGVydHlE
ZXNjcmlwdG9yRQogX19aTjNKU0M4SlNPYmplY3QyMmZpbGxHZXR0ZXJQcm9wZXJ0eVNsb3RFUk5T
XzEyUHJvcGVydHlTbG90RVBOU18xNldyaXRlQmFycmllckJhc2VJTlNfN1Vua25vd25FRUUKIF9f
Wk4zSlNDOEpTT2JqZWN0MjNhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZUVSTlNfMTJKU0dsb2JhbERh
dGFFbW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5kZWYKaW5kZXggN2M3OTdkM2EzOGI3NjQzODkwNWUxMWRiMmVkMGZjOWI0OWZmYmJmYy4uMjRi
NzhkOGQyM2I4MDIyODZiOTQ0ZWM1Y2ZkYjM0MDQwYzRiZDhhMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTE0NCwxMiArMTQ0
LDEzIEBAIEVYUE9SVFMKICAgICA/ZGVsZXRlT3duZWRQdHJAV1RGQEBZQVhQQVVIRENfX0BAQFoK
ICAgICA/ZGVsZXRlT3duZWRQdHJAV1RGQEBZQVhQQVVIRk9OVF9fQEBAWgogICAgID9kZWxldGVP
d25lZFB0ckBXVEZAQFlBWFBBVUhSR05fX0BAQFoKLSAgICA/ZGVsZXRlUHJvcGVydHlASlNDZWxs
QEpTQ0BAVUFFX05QQVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAQFoKLSAgICA/ZGVsZXRl
UHJvcGVydHlASlNDZWxsQEpTQ0BAVUFFX05QQVZFeGVjU3RhdGVAMkBJQFoKLSAgICA/ZGVsZXRl
UHJvcGVydHlASlNPYmplY3RASlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJA
MkBAWgotICAgID9kZWxldGVQcm9wZXJ0eUBKU09iamVjdEBKU0NAQFVBRV9OUEFWRXhlY1N0YXRl
QDJASUBaCi0gICAgP2RlbGV0ZVByb3BlcnR5QEpTVmFyaWFibGVPYmplY3RASlNDQEBVQUVfTlBB
VkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBAWgotICAgID9kZWxldGVQcm9wZXJ0eUBTdHJp
bmdPYmplY3RASlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBAWgorICAg
ID9kZWxldGVQcm9wZXJ0eUBKU09iamVjdEBKU0NAQFNBX05QQVZKU0NlbGxAMkBQQVZFeGVjU3Rh
dGVAMkBBQlZJZGVudGlmaWVyQDJAQFoKKyAgICA/ZGVsZXRlUHJvcGVydHlASlNWYXJpYWJsZU9i
amVjdEBKU0NAQFNBX05QQVZKU0NlbGxAMkBQQVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJA
QFoKKyAgICA/ZGVsZXRlUHJvcGVydHlWaXJ0dWFsQEpTQ2VsbEBKU0NAQFVBRV9OUEFWRXhlY1N0
YXRlQDJAQUJWSWRlbnRpZmllckAyQEBaCisgICAgP2RlbGV0ZVByb3BlcnR5VmlydHVhbEBKU0Nl
bGxASlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQElAWgorICAgID9kZWxldGVQcm9wZXJ0eVZpcnR1
YWxASlNPYmplY3RASlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBAWgor
ICAgID9kZWxldGVQcm9wZXJ0eVZpcnR1YWxASlNPYmplY3RASlNDQEBVQUVfTlBBVkV4ZWNTdGF0
ZUAyQElAWgorICAgID9kZWxldGVQcm9wZXJ0eVZpcnR1YWxASlNWYXJpYWJsZU9iamVjdEBKU0NA
QFVBRV9OUEFWRXhlY1N0YXRlQDJAQUJWSWRlbnRpZmllckAyQEBaCiAgICAgP2RlbGV0ZVRhYmxl
QEhhc2hUYWJsZUBKU0NAQFFCRVhYWgogICAgID9kZXNwZWNpZnlEaWN0aW9uYXJ5RnVuY3Rpb25A
U3RydWN0dXJlQEpTQ0BAUUFFWEFBVkpTR2xvYmFsRGF0YUAyQEFCVklkZW50aWZpZXJAMkBAWgog
ICAgID9kZXNwZWNpZnlGdW5jdGlvblRyYW5zaXRpb25AU3RydWN0dXJlQEpTQ0BAU0FQQVYxMkBB
QVZKU0dsb2JhbERhdGFAMkBQQVYxMkBBQlZJZGVudGlmaWVyQDJAQFoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKaW5kZXgg
MGNmOTdmMjU5Nzc5ODU2MmYzNDRjODY2OWRhMWQ3YmNhNGI5YWJhZC4uYmQwNDQ0NWFjNWM5NDY3
NDQxMzIwN2Q2NzJmMWVlNjg3ZjQ0YWI0YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAKQEAgLTg1LDE0ICs4NSwxNCBA
QCB2b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6cHV0V2l0aEF0dHJpYnV0ZXMoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcgogICAgIG1fYWN0aXZhdGlvbi0+cHV0V2l0aEF0dHJp
YnV0ZXMoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0cmlidXRlcyk7CiB9CiAKLWJvb2wg
RGVidWdnZXJBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpkZWxl
dGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3Bl
cnR5TmFtZSk7CiB9CiAKIGJvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eShK
U0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lKQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZWJ1Z2dlckFjdGl2YXRpb24qPihjZWxs
KS0+bV9hY3RpdmF0aW9uLT5kZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxEZWJ1Z2dlckFjdGl2YXRpb24qPihjZWxsKS0+bV9hY3RpdmF0
aW9uLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KIAogdm9p
ZCBEZWJ1Z2dlckFjdGl2YXRpb246OmdldE93blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVj
LCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3Rp
dmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0
aW9uLmgKaW5kZXggN2E1NWE3YTM5NTg0YWU3ZDliYjVhZTk0ZGNhMDBkNTlkNTk0NDk5NS4uMjQ1
OGZhM2U1NjY4M2NmYTZlNTZhMjg0ZmYzMzI1ZjM4MWE4MzZhZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaApAQCAtNDgsNyAr
NDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dChFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5
U2xvdCYpOwogICAgICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsK
ICAgICAgICAgdmlydHVhbCB2b2lkIHB1dFdpdGhBdHRyaWJ1dGVzKEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7
Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7
CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBn
ZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVy
YXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKICAgICAgICAgdmly
dHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
U3R1YnMuY3BwCmluZGV4IGE5MzBmNTgyZTA5ZGJhZjcxYzc1MWIyNWM1YzRlNzVhN2QwYTk2MjIu
LjkwMWEwMWQ2ZTZjOTE4YzdjMGUwOWE2ZTFkOWY2NzYyZjJhZjA4YjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCkBAIC0yMTAwLDcgKzIxMDAsNyBAQCBERUZJTkVfU1RV
Ql9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3BfZGVsX2J5X2lkKQogICAgIAogICAgIEpTT2Jq
ZWN0KiBiYXNlT2JqID0gc3RhY2tGcmFtZS5hcmdzWzBdLmpzVmFsdWUoKS50b09iamVjdChjYWxs
RnJhbWUpOwogCi0gICAgYm9vbCBjb3VsZERlbGV0ZSA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5
KGNhbGxGcmFtZSwgc3RhY2tGcmFtZS5hcmdzWzFdLmlkZW50aWZpZXIoKSk7CisgICAgYm9vbCBj
b3VsZERlbGV0ZSA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChjYWxsRnJhbWUsIHN0
YWNrRnJhbWUuYXJnc1sxXS5pZGVudGlmaWVyKCkpOwogICAgIEpTVmFsdWUgcmVzdWx0ID0ganNC
b29sZWFuKGNvdWxkRGVsZXRlKTsKICAgICBpZiAoIWNvdWxkRGVsZXRlICYmIGNhbGxGcmFtZS0+
Y29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpKQogICAgICAgICBzdGFja0ZyYW1lLmdsb2JhbERh
dGEtPmV4Y2VwdGlvbiA9IGNyZWF0ZVR5cGVFcnJvcihzdGFja0ZyYW1lLmNhbGxGcmFtZSwgIlVu
YWJsZSB0byBkZWxldGUgcHJvcGVydHkuIik7CkBAIC0zNzE1LDEyICszNzE1LDEyIEBAIERFRklO
RV9TVFVCX0ZVTkNUSU9OKEVuY29kZWRKU1ZhbHVlLCBvcF9kZWxfYnlfdmFsKQogICAgIGJvb2wg
cmVzdWx0OwogICAgIHVpbnQzMl90IGk7CiAgICAgaWYgKHN1YnNjcmlwdC5nZXRVSW50MzIoaSkp
Ci0gICAgICAgIHJlc3VsdCA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5KGNhbGxGcmFtZSwgaSk7
CisgICAgICAgIHJlc3VsdCA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChjYWxsRnJh
bWUsIGkpOwogICAgIGVsc2UgewogICAgICAgICBDSEVDS19GT1JfRVhDRVBUSU9OKCk7CiAgICAg
ICAgIElkZW50aWZpZXIgcHJvcGVydHkoY2FsbEZyYW1lLCBzdWJzY3JpcHQudG9TdHJpbmcoY2Fs
bEZyYW1lKSk7CiAgICAgICAgIENIRUNLX0ZPUl9FWENFUFRJT04oKTsKLSAgICAgICAgcmVzdWx0
ID0gYmFzZU9iai0+ZGVsZXRlUHJvcGVydHkoY2FsbEZyYW1lLCBwcm9wZXJ0eSk7CisgICAgICAg
IHJlc3VsdCA9IGJhc2VPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChjYWxsRnJhbWUsIHByb3Bl
cnR5KTsKICAgICB9CiAKICAgICBpZiAoIXJlc3VsdCAmJiBjYWxsRnJhbWUtPmNvZGVCbG9jaygp
LT5pc1N0cmljdE1vZGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVu
dHMuY3BwCmluZGV4IGM0OTRkYTEzMmMyYTMwNTk0MzJmMjIyMjE0Yzk1Y2YwNGU5YzRhYjUuLmZj
Y2FiMjIwOTY4NjQwMmNhODlkMjhjMmMyYWJhYWM5NTgxZDY2NDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcApAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQg
QXJndW1lbnRzOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtCiAgICAgSlNPYmplY3Q6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBw
cm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKIH0KIAotYm9vbCBBcmd1bWVudHM6OmRlbGV0ZVBy
b3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSkgCitib29sIEFyZ3VtZW50czo6ZGVs
ZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSkgCiB7CiAgICAg
cmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIGkpOwogfQpAQCAtMzQ0LDcgKzM0NCw3
IEBAIGJvb2wgQXJndW1lbnRzOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0
ZSogZXhlYywgdW5zaWduZWQgaSkKICAgICByZXR1cm4gSlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5
KHRoaXNPYmplY3QsIGV4ZWMsIElkZW50aWZpZXIoZXhlYywgVVN0cmluZzo6bnVtYmVyKGkpKSk7
CiB9CiAKLWJvb2wgQXJndW1lbnRzOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkgCitib29sIEFyZ3VtZW50czo6ZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lKSAKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVydHlO
YW1lKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5kZXgg
NmIxZmEwODhiYjU3N2IyOTc1NDMzZTI1MTU2MWE5OGE3ZjY3NDlkNi4uMjBhNzEyOWRlNGUxNmY3
Y2Y0ZWFhYzllMDJjNzMwMzQ0MTBiZDcxYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJndW1lbnRzLmgKQEAgLTEzNCw5ICsxMzQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKTsK
ICAgICAgICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHBy
b3BlcnR5TmFtZSwgSlNWYWx1ZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0
eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2
aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5
KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7Ci0g
ICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFs
KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29s
IGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFt
ZSk7CiAgICAgICAgIHZvaWQgY3JlYXRlU3RyaWN0TW9kZUNhbGxlcklmTmVjZXNzYXJ5KEV4ZWNT
dGF0ZSopOwogICAgICAgICB2b2lkIGNyZWF0ZVN0cmljdE1vZGVDYWxsZWVJZk5lY2Vzc2FyeShF
eGVjU3RhdGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJv
dG90eXBlLmNwcAppbmRleCBjZjE2MTYwM2EzNGYxNTkzMzZiYzM5NWU3ZGQ4MjQ5YTFmNTdlY2Vk
Li44MjgxMjVhYzExM2E4NmY4NWMxM2ExNzEyZTI0YWU2ZjE4MjE1MWNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0zOTEsNyAr
MzkxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1BvcChF
eGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIHJlc3VsdCA9IGpzVW5kZWZpbmVkKCk7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgcmVzdWx0ID0gdGhpc09iai0+Z2V0KGV4ZWMsIGxlbmd0aCAtIDEpOwot
ICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eShleGVjLCBsZW5ndGggLSAxKTsKKyAgICAg
ICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGxlbmd0aCAtIDEpOwogICAg
ICAgICBwdXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVu
Z3RoLCBqc051bWJlcihsZW5ndGggLSAxKSk7CiAgICAgfQogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUocmVzdWx0KTsKQEAgLTQ0MywxMiArNDQzLDEyIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNSZXZlcnNlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAg
aWYgKG9iajIpCiAgICAgICAgICAgICB0aGlzT2JqLT5wdXQoZXhlYywgaywgb2JqMik7CiAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXNPYmotPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGspOwor
ICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGspOwogCiAg
ICAgICAgIGlmIChvYmopCiAgICAgICAgICAgICB0aGlzT2JqLT5wdXQoZXhlYywgbGsxLCBvYmop
OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eShleGVj
LCBsazEpOworICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMs
IGxrMSk7CiAgICAgfQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iaik7CiB9CkBA
IC00NzMsOSArNDczLDkgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3Rv
RnVuY1NoaWZ0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgICAgICBpZiAoSlNWYWx1ZSBv
YmogPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKSkKICAgICAgICAgICAgICAgICAgICAg
dGhpc09iai0+cHV0KGV4ZWMsIGsgLSAxLCBvYmopOwogICAgICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHkoZXhlYywgayAtIDEpOwor
ICAgICAgICAgICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywg
ayAtIDEpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVy
dHkoZXhlYywgbGVuZ3RoIC0gMSk7CisgICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0
eVZpcnR1YWwoZXhlYywgbGVuZ3RoIC0gMSk7CiAgICAgICAgIH0KICAgICAgICAgcHV0UHJvcGVy
dHkoZXhlYywgdGhpc09iaiwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIo
bGVuZ3RoIC0gMSkpOwogICAgIH0KQEAgLTYwOSwxMCArNjA5LDEwIEBAIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTcGxpY2UoRXhlY1N0YXRlKiBleGVjKQogICAg
ICAgICAgICAgICAgICAgICBpZiAoSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09i
aiwgayArIGRlbGV0ZUNvdW50KSkKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNPYmotPnB1
dChleGVjLCBrICsgYWRkaXRpb25hbEFyZ3MsIHYpOwogICAgICAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eShleGVjLCBr
ICsgYWRkaXRpb25hbEFyZ3MpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhpc09iai0+ZGVs
ZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGsgKyBhZGRpdGlvbmFsQXJncyk7CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgayA9IGxlbmd0aDsgayA+IGxl
bmd0aCAtIGRlbGV0ZUNvdW50ICsgYWRkaXRpb25hbEFyZ3M7IC0taykKLSAgICAgICAgICAgICAg
ICAgICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHkoZXhlYywgayAtIDEpOworICAgICAgICAgICAg
ICAgICAgICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgayAtIDEpOwogICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKCghYmVnaW4pICYm
IChpc0pTQXJyYXkoJmV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpc09iaikpKQpAQCAtNjIyLDcgKzYy
Miw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTcGxpY2Uo
RXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgICAgICAgICBpZiAoSlNWYWx1ZSBvYmogPSBn
ZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrICsgZGVsZXRlQ291bnQgLSAxKSkKICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXNPYmotPnB1dChleGVjLCBrICsgYWRkaXRpb25hbEFyZ3MgLSAx
LCBvYmopOwogICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0aGlzT2JqLT5kZWxldGVQcm9wZXJ0eShleGVjLCBrICsgYWRkaXRpb25hbEFyZ3MgLSAxKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNPYmotPmRlbGV0ZVByb3BlcnR5VmlydHVhbChl
eGVjLCBrICsgYWRkaXRpb25hbEFyZ3MgLSAxKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KQEAgLTY1Miw3ICs2NTIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVW5TaGlmdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAg
ICAgICAgICAgaWYgKEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgLSAx
KSkKICAgICAgICAgICAgICAgICAgICAgdGhpc09iai0+cHV0KGV4ZWMsIGsgKyBuckFyZ3MgLSAx
LCB2KTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRoaXNPYmot
PmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGsgKyBuckFyZ3MgLSAxKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGhpc09iai0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGsgKyBuckFyZ3MgLSAxKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCmluZGV4IDkwZjkxMTA5NDRlMTQxNDUyMTNkM2Qw
ZTllNWRjMjEzNmVkYzM2YTguLjY1OTAxNDVlZjQ4NDJmZjIxM2QwN2ZhNjcyYzQ4NGQzOGI3ODVl
YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlv
bi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNw
cApAQCAtMjA1LDcgKzIwNSw3IEBAIHZvaWQgSlNBY3RpdmF0aW9uOjpwdXRXaXRoQXR0cmlidXRl
cyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5CiAgICAgSlNPYmpl
Y3Q6OnB1dFdpdGhBdHRyaWJ1dGVzKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0
ZXMsIHRydWUsIHNsb3QpOwogfQogCi1ib29sIEpTQWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHko
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpT
QWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0
aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FjdGl2YXRpb24uaAppbmRleCA3YmVkMjlmZDMwYzBiNTZmYzIyN2NlMzhmNjIzYjA5
YjkxYzEzM2NiLi4xM2UxNDMwYzMyZjY2OGFlMmFjMTAyOTNiYzZkMmI3YTU2ZDI0Y2MyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaApAQCAtNjksNyAr
NjksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCos
IEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3Qm
KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0V2l0aEF0dHJpYnV0ZXMoRXhlY1N0YXRlKiwg
Y29uc3QgSWRlbnRpZmllciYsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwotICAgICAg
ICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5Vmly
dHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgICAg
ICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogCiAgICAgICAgIHZpcnR1YWwgSlNPYmplY3QqIHRv
VGhpc09iamVjdChFeGVjU3RhdGUqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheS5jcHAKaW5kZXggMjE3M2ZmMTZkODRhM2U1ZTk1YzBiNTRlYTY0Zjg0YWRhMTUx
YzQxNC4uNjMwYjZiY2Q0MzYzMjU0N2YyMTIzOTM4NTVmZjI1YTBiZjhjMTk3NiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKQEAgLTUwNyw3ICs1MDcsNyBAQCBO
RVZFUl9JTkxJTkUgdm9pZCBKU0FycmF5OjpwdXRTbG93Q2FzZShFeGVjU3RhdGUqIGV4ZWMsIHVu
c2lnbmVkIGksIEpTVmFsdWUgdmFsdQogICAgIEhlYXA6OmhlYXAodGhpcyktPnJlcG9ydEV4dHJh
TWVtb3J5Q29zdChzdG9yYWdlU2l6ZShuZXdWZWN0b3JMZW5ndGgpIC0gc3RvcmFnZVNpemUodmVj
dG9yTGVuZ3RoKSk7CiB9CiAKLWJvb2wgSlNBcnJheTo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTQXJyYXk6OmRl
bGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJv
cGVydHlOYW1lKTsKIH0KQEAgLTUxOCw3ICs1MTgsNyBAQCBib29sIEpTQXJyYXk6OmRlbGV0ZVBy
b3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBw
cgogICAgIGJvb2wgaXNBcnJheUluZGV4OwogICAgIHVuc2lnbmVkIGkgPSBwcm9wZXJ0eU5hbWUu
dG9BcnJheUluZGV4KGlzQXJyYXlJbmRleCk7CiAgICAgaWYgKGlzQXJyYXlJbmRleCkKLSAgICAg
ICAgcmV0dXJuIHRoaXNPYmplY3QtPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGkpOworICAgICAgICBy
ZXR1cm4gdGhpc09iamVjdC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGkpOwogCiAgICAg
aWYgKHByb3BlcnR5TmFtZSA9PSBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CkBAIC01MjYsNyArNTI2LDcgQEAgYm9vbCBKU0FycmF5OjpkZWxldGVQ
cm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cHIKICAgICByZXR1cm4gSlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KHRoaXNPYmplY3QsIGV4ZWMs
IHByb3BlcnR5TmFtZSk7CiB9CiAKLWJvb2wgSlNBcnJheTo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0
YXRlKiBleGVjLCB1bnNpZ25lZCBpKQorYm9vbCBKU0FycmF5OjpkZWxldGVQcm9wZXJ0eVZpcnR1
YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpKQogewogICAgIHJldHVybiBkZWxldGVQcm9w
ZXJ0eSh0aGlzLCBleGVjLCBpKTsKIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCBib29sIEpTQXJyYXk6
OmRlbGV0ZVByb3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBp
KQogICAgIHRoaXNPYmplY3QtPmNoZWNrQ29uc2lzdGVuY3koKTsKIAogICAgIGlmIChpID4gTUFY
X0FSUkFZX0lOREVYKQotICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+ZGVsZXRlUHJvcGVydHko
ZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBpKSk7CisgICAgICAgIHJldHVybiB0aGlzT2Jq
ZWN0LT5kZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBp
KSk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5LmgKaW5kZXggZGJmYzE3MTE0MjU4YTEzNzgyMTg0M2NiOTU3OGIzYTljZGQxNmQzOC4u
ZWQyNDJjNWIwZDM2MzNmMWJkMGRmN2Y1MzU2OTIzZGU5ZjIwOGQ0MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaApAQCAtMTc0LDkgKzE3NCw5IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0
YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogCi0gICAgICAgIHZpcnR1YWwg
Ym9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBi
b29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVj
U3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVs
ZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAg
ICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVu
c2lnbmVkIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRPd25Qcm9wZXJ0
eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlIG1v
ZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKICAgICAgICAgc3RhdGljIHZvaWQgdmlz
aXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2VsbC5jcHAKaW5kZXggODk3M2RjMzAwNDRmYmZmNzhmMGYwNjM2MjM4YjlmOGJl
MzllOTc5MS4uNTI4N2U1MzYyNTBlMWExZGI0NTM5OTQ3ODQyZWUzMDk0MjZkNDQ5OCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCkBAIC0xMjMsMjQgKzEyMywyNCBA
QCB2b2lkIEpTQ2VsbDo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25l
ZCBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbAogICAgIGNlbGwtPnRvT2JqZWN0KGV4ZWMsIGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKSktPnB1dChleGVjLCBpZGVudGlmaWVyLCB2YWx1ZSk7CiB9
CiAKLWJvb2wgSlNDZWxsOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElk
ZW50aWZpZXImIGlkZW50aWZpZXIpCitib29sIEpTQ2VsbDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFs
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKIHsKICAgICBy
ZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgaWRlbnRpZmllcik7CiB9CiAKIGJvb2wg
SlNDZWxsOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKIHsKLSAgICByZXR1cm4gY2VsbC0+dG9PYmplY3Qo
ZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+ZGVsZXRlUHJvcGVydHkoZXhlYywg
aWRlbnRpZmllcik7CisgICAgcmV0dXJuIGNlbGwtPnRvT2JqZWN0KGV4ZWMsIGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKSktPmRlbGV0ZVByb3BlcnR5VmlydHVhbChleGVjLCBpZGVudGlmaWVy
KTsKIH0KIAotYm9vbCBKU0NlbGw6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5z
aWduZWQgaWRlbnRpZmllcikKK2Jvb2wgSlNDZWxsOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhl
Y1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpZGVudGlmaWVyKQogewogICAgIHJldHVybiBkZWxldGVQ
cm9wZXJ0eSh0aGlzLCBleGVjLCBpZGVudGlmaWVyKTsKIH0KIAogYm9vbCBKU0NlbGw6OmRlbGV0
ZVByb3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpZGVudGlm
aWVyKQogewotICAgIHJldHVybiBjZWxsLT50b09iamVjdChleGVjLCBleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCkpLT5kZWxldGVQcm9wZXJ0eShleGVjLCBpZGVudGlmaWVyKTsKKyAgICByZXR1
cm4gY2VsbC0+dG9PYmplY3QoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+ZGVs
ZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGlkZW50aWZpZXIpOwogfQogCiBKU09iamVjdCogSlND
ZWxsOjp0b1RoaXNPYmplY3QoRXhlY1N0YXRlKiBleGVjKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGwuaAppbmRleCAyM2YwZmQ1YzBmYWY3NTQ5ZmU3NjA4ZTBlNGViMGY1
M2YzMjA2YmU3Li5jZWJmM2MyZjk5YWU5MGY1OTgxNGI2OTVkNjNlY2QxMzZiYTg5M2IwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtOTUsOSArOTUsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dChFeGVjU3RhdGUqLCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUpOwogICAgICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxs
KiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKTsKICAgICAgICAg
Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7
CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBk
ZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOworICAgICAg
ICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2Vs
bCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CiAKICAgICAgICAgdmlydHVh
bCBKU09iamVjdCogdG9UaGlzT2JqZWN0KEV4ZWNTdGF0ZSopIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAppbmRleCA0OTMzMzA0NmNkNzliODk4
NWRkNzVmY2FmZTViMTZjYTdlNDNjYTI1Li42ZmQzYzljNWI4N2Q0ZWJhN2YxOGIxODQyZDg5ODhm
ZDUzNmMyYTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmNwcApAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgSlNGdW5jdGlvbjo6cHV0KEpTQ2VsbCogY2Vs
bCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hCiAgICAgQmFz
ZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogfQog
Ci1ib29sIEpTRnVuY3Rpb246OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQorYm9vbCBKU0Z1bmN0aW9uOjpkZWxldGVQcm9wZXJ0
eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUp
CiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5kZXggOWI5
ZGE5Y2U5ZmFiNzU0NzFkYThjZjlhYzE3ZmZiYzBkNzczYmMzNi4uZDZhNzk5Y2E2ZjNlNDVhN2Ni
ZjFmZGVjNGFhMTdmMTQ1M2RiY2YzMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uaApAQCAtMTQ2LDcgKzE0Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyB2b2lkIHB1
dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpT
VmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQ
cm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOworICAg
ICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVBy
b3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSk7CiAKICAgICAgICAgc3RhdGljIEpTVmFsdWUgYXJndW1lbnRzR2V0dGVyKEV4ZWNTdGF0ZSos
IEpTVmFsdWUsIGNvbnN0IElkZW50aWZpZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKaW5kZXggZTE0YTY4YmQ5NGZhMTRlZTBjZDY0ZDBm
MzQyN2FhMmNjNDZkYjlkOS4uMTQ3YTVmYjc2Y2FiMTBiZTllZjYxODg4NWY0OWRlMWM3NDUyMzc3
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVj
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5j
cHAKQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIEpTTm90QW5PYmplY3Q6OnB1dChKU0NlbGwqLCBF
eGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkLCBKU1ZhbHVlKQogICAgIEFTU0VSVF9VTlVTRUQoZXhl
YywgZXhlYy0+aGFkRXhjZXB0aW9uKCkpOwogfQogCi1ib29sIEpTTm90QW5PYmplY3Q6OmRlbGV0
ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1l
KQorYm9vbCBKU05vdEFuT2JqZWN0OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0
ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0xMTcsNyArMTE3LDcg
QEAgYm9vbCBKU05vdEFuT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IElkZW50aWZpZXImKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBK
U05vdEFuT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHBy
b3BlcnR5TmFtZSkKK2Jvb2wgSlNOb3RBbk9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4
ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxl
dGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5oCmluZGV4IGI4ZjBmYWE4NTYyMjYyM2My
MDc5YzljOWM3MTM3ZDdkN2IyODUxZjcuLjA1N2FmMGRjNDY0ZjNmY2RkMzViOWFlYmU2ZjQ5NWY5
NGVhNzgwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90
QW5PYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2Jq
ZWN0LmgKQEAgLTgyLDkgKzgyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBwdXQoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKTsKICAg
ICAgICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3Bl
cnR5TmFtZSwgSlNWYWx1ZSk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5
KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHZp
cnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHko
SlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKLSAg
ICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHBy
b3BlcnR5TmFtZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwo
RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wg
ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1l
KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUq
LCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSBtb2RlID0gRXhjbHVkZURvbnRF
bnVtUHJvcGVydGllcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmpl
Y3QuY3BwCmluZGV4IGQzZmMzNTk5MzFlMDE2OTEwODc1ZmM4ODljYmNmYzI4ODVjM2NjM2UuLmQw
YmQxZDVlMmViNGE5ZGEyNmNiOTI0Y2M3YmVmZmNjYTdlNzEyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MTAsNyArNzEwLDcgQEAgTkVW
RVJfSU5MSU5FIEpTVmFsdWUgV2Fsa2VyOjp3YWxrKEpTVmFsdWUgdW5maWx0ZXJlZCkKICAgICAg
ICAgICAgICAgICBKU0FycmF5KiBhcnJheSA9IGFycmF5U3RhY2sucGVlaygpOwogICAgICAgICAg
ICAgICAgIEpTVmFsdWUgZmlsdGVyZWRWYWx1ZSA9IGNhbGxSZXZpdmVyKGFycmF5LCBqc1N0cmlu
ZyhtX2V4ZWMsIFVTdHJpbmc6Om51bWJlcihpbmRleFN0YWNrLmxhc3QoKSkpLCBvdXRWYWx1ZSk7
CiAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkVmFsdWUuaXNVbmRlZmluZWQoKSkKLSAgICAg
ICAgICAgICAgICAgICAgYXJyYXktPmRlbGV0ZVByb3BlcnR5KG1fZXhlYywgaW5kZXhTdGFjay5s
YXN0KCkpOworICAgICAgICAgICAgICAgICAgICBhcnJheS0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFs
KG1fZXhlYywgaW5kZXhTdGFjay5sYXN0KCkpOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgICAgICAgICBpZiAoaXNKU0FycmF5KCZtX2V4ZWMtPmdsb2JhbERhdGEoKSwgYXJy
YXkpICYmIGFycmF5LT5jYW5TZXRJbmRleChpbmRleFN0YWNrLmxhc3QoKSkpCiAgICAgICAgICAg
ICAgICAgICAgICAgICBhcnJheS0+c2V0SW5kZXgobV9leGVjLT5nbG9iYWxEYXRhKCksIGluZGV4
U3RhY2subGFzdCgpLCBmaWx0ZXJlZFZhbHVlKTsKQEAgLTc3Nyw3ICs3NzcsNyBAQCBORVZFUl9J
TkxJTkUgSlNWYWx1ZSBXYWxrZXI6OndhbGsoSlNWYWx1ZSB1bmZpbHRlcmVkKQogICAgICAgICAg
ICAgICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OwogICAgICAgICAgICAgICAgIEpTVmFsdWUgZmls
dGVyZWRWYWx1ZSA9IGNhbGxSZXZpdmVyKG9iamVjdCwganNTdHJpbmcobV9leGVjLCBwcm9wLnVz
dHJpbmcoKSksIG91dFZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyZWRWYWx1ZS5p
c1VuZGVmaW5lZCgpKQotICAgICAgICAgICAgICAgICAgICBvYmplY3QtPmRlbGV0ZVByb3BlcnR5
KG1fZXhlYywgcHJvcCk7CisgICAgICAgICAgICAgICAgICAgIG9iamVjdC0+ZGVsZXRlUHJvcGVy
dHlWaXJ0dWFsKG1fZXhlYywgcHJvcCk7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgICAgICAgICBvYmplY3QtPnB1dChtX2V4ZWMsIHByb3AsIGZpbHRlcmVkVmFsdWUsIHNsb3Qp
OwogICAgICAgICAgICAgICAgIGlmIChtX2V4ZWMtPmhhZEV4Y2VwdGlvbigpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IGFhY2VjNmQ0Mzc2NzBlYTNm
YTAxMDAzZDc4ZWEwNzMzZTQ5ZTBlNGQuLmYzY2Q4NWMzOTg0ODU1N2RjZTZlOTU5N2RmMjBiNjlj
ZmMwODYxODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAK
QEAgLTI0Nyw3ICsyNDcsNyBAQCBib29sIEpTT2JqZWN0OjpoYXNQcm9wZXJ0eShFeGVjU3RhdGUq
IGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkgY29uc3QKICAgICByZXR1cm4gY29uc3RfY2Fz
dDxKU09iamVjdCo+KHRoaXMpLT5nZXRQcm9wZXJ0eVNsb3QoZXhlYywgcHJvcGVydHlOYW1lLCBz
bG90KTsKIH0KIAotYm9vbCBKU09iamVjdDo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTT2JqZWN0OjpkZWxldGVQ
cm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5
TmFtZSk7CiB9CkBAIC0yODAsMTQgKzI4MCwxNCBAQCBib29sIEpTT2JqZWN0OjpoYXNPd25Qcm9w
ZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkgYwog
ICAgIHJldHVybiBjb25zdF9jYXN0PEpTT2JqZWN0Kj4odGhpcyktPmdldE93blByb3BlcnR5U2xv
dChleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCi1ib29sIEpTT2JqZWN0OjpkZWxldGVQ
cm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNP
YmplY3Q6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHBy
b3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJv
cGVydHlOYW1lKTsKIH0KIAogYm9vbCBKU09iamVjdDo6ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiBj
ZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkKIHsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihjZWxsKS0+ZGVsZXRlUHJvcGVydHkoZXhlYywgSWRl
bnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8SlNPYmplY3QqPihjZWxsKS0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIElkZW50aWZp
ZXI6OmZyb20oZXhlYywgcHJvcGVydHlOYW1lKSk7CiB9CiAKIHN0YXRpYyBBTFdBWVNfSU5MSU5F
IEpTVmFsdWUgY2FsbERlZmF1bHRWYWx1ZUZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
SlNPYmplY3QqIG9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQpAQCAtNzI3
LDcgKzcyNyw3IEBAIGJvb2wgSlNPYmplY3Q6OmRlZmluZU93blByb3BlcnR5KEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lCiAgICAgLy8gQSBnZW5lcmljIGRl
c2NyaXB0b3IgaXMgc2ltcGx5IGNoYW5naW5nIHRoZSBhdHRyaWJ1dGVzIG9mIGFuIGV4aXN0aW5n
IHByb3BlcnR5CiAgICAgaWYgKGRlc2NyaXB0b3IuaXNHZW5lcmljRGVzY3JpcHRvcigpKSB7CiAg
ICAgICAgIGlmICghY3VycmVudC5hdHRyaWJ1dGVzRXF1YWwoZGVzY3JpcHRvcikpIHsKLSAgICAg
ICAgICAgIGRlbGV0ZVByb3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZSk7CisgICAgICAgICAgICBk
ZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1lKTsKICAgICAgICAgICAgIHB1
dERlc2NyaXB0b3IoZXhlYywgdGhpcywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBjdXJyZW50
LmF0dHJpYnV0ZXNXaXRoT3ZlcnJpZGUoZGVzY3JpcHRvciksIGN1cnJlbnQpOwogICAgICAgICB9
CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNzQwLDcgKzc0MCw3IEBAIGJvb2wgSlNPYmplY3Q6
OmRlZmluZU93blByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lCiAgICAgICAgICAgICAgICAgdGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBlRXJy
b3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBtZWNoYW5pc20gZm9yIGFuIHVu
Y29uZmlndXJhYmxlIHByb3BlcnR5LiIpKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgfQotICAgICAgICBkZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAg
ICAgICBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoZXhlYywgcHJvcGVydHlOYW1lKTsKICAgICAgICAg
cmV0dXJuIHB1dERlc2NyaXB0b3IoZXhlYywgdGhpcywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9y
LCBjdXJyZW50LmF0dHJpYnV0ZXNXaXRoT3ZlcnJpZGUoZGVzY3JpcHRvciksIGN1cnJlbnQpOwog
ICAgIH0KIApAQCAtNzY4LDcgKzc2OCw3IEBAIGJvb2wgSlNPYmplY3Q6OmRlZmluZU93blByb3Bl
cnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
ICAgIH0KLSAgICAgICAgZGVsZXRlUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKTsKKyAgICAg
ICAgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHJl
dHVybiBwdXREZXNjcmlwdG9yKGV4ZWMsIHRoaXMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwg
Y3VycmVudC5hdHRyaWJ1dGVzV2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpLCBjdXJyZW50KTsKICAg
ICB9CiAKQEAgLTc5Nyw3ICs3OTcsNyBAQCBib29sIEpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0
eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZQogICAgICAg
ICAgICAgZ2V0dGVyU2V0dGVyLT5zZXRHZXR0ZXIoZXhlYy0+Z2xvYmFsRGF0YSgpLCBhc09iamVj
dChkZXNjcmlwdG9yLmdldHRlcigpKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAg
ICBkZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIGRlbGV0ZVByb3BlcnR5
VmlydHVhbChleGVjLCBwcm9wZXJ0eU5hbWUpOwogICAgIHVuc2lnbmVkIGF0dHJzID0gY3VycmVu
dC5hdHRyaWJ1dGVzV2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpOwogICAgIGlmIChkZXNjcmlwdG9y
LnNldHRlcigpKQogICAgICAgICBhdHRycyB8PSBTZXR0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCAzYWQ3MGM1MGFhZDYxYWQzN2ZjYzJmYTliOTA0YTcw
YjM3ZmYzM2IyLi5hMjgyYmNlYzRlYTU5ZmZiOTY4Y2M0OTIxMTdkOThhNjM4ZWY3NjQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTEyNSw5ICsxMjUsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBoYXNQcm9wZXJ0eShFeGVjU3RhdGUqLCB1
bnNpZ25lZCBwcm9wZXJ0eU5hbWUpIGNvbnN0OwogICAgICAgICBib29sIGhhc093blByb3BlcnR5
KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkgY29uc3Q7CiAKLSAg
ICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0
eVZpcnR1YWwoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKICAg
ICAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgdmlydHVhbCBib29sIGRlbGV0
ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHZp
cnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJv
cGVydHlOYW1lKTsKICAgICAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwg
RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKIAogICAgICAgICB2aXJ0dWFsIEpT
VmFsdWUgZGVmYXVsdFZhbHVlKEV4ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJs
ZU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2Jq
ZWN0LmNwcAppbmRleCBkMjIzOGEyMTFjZmRmN2U0OGZmMTZlY2Q3YTk3YTk1OGMxZGY0YzcxLi4x
ODQ1OTA5MzlmMzkwZjJiMDMxNDBmZmM5ZTVkYmVlMDY0MzU2ZGU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNwcApAQCAtMzQsNyAr
MzQsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotYm9vbCBKU1ZhcmlhYmxlT2JqZWN0OjpkZWxl
dGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSkKK2Jvb2wgSlNWYXJpYWJsZU9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBk
ZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oCmluZGV4IDc2ZDZhMzRm
YmJhMzczNGFjMDJkNDM2NzZiYjk4ZjBhYWY5ZDllMjIuLjlkZTcwOTM3OTQ5MWEyMjBlNDcxZmQ2
ZTIxZmIwZmFlMGU0ODc5ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTVmFyaWFibGVPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1ZhcmlhYmxlT2JqZWN0LmgKQEAgLTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgdmlydHVhbCB2b2lkIHB1dFdpdGhBdHRyaWJ1dGVzKEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImLCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKSA9IDA7CiAKLSAgICAg
ICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZp
ZXImKTsKKyAgICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJik7CiAgICAgICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3Bl
cnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsKICAgICAgICAgdmly
dHVhbCB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJy
YXkmLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSA9IEV4Y2x1ZGVEb250RW51bVByb3BlcnRpZXMpOwog
ICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cE1hdGNoZXNBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0
Y2hlc0FycmF5LmgKaW5kZXggZTc1ZDYyMTkxNWQyNGE1ZTg2YjdhNzU2NGE5MjVhMjZmMDY5MDEx
ZC4uZmZiMDY4Yjc0YTk1ZjhmOWQ5NjZiNGRkMWJjNTQ3YzFiMDE3MjVmNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmgKQEAgLTEw
Miw3ICsxMDIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIEpTQXJyYXk6OnB1dCh0
aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHYpOwogICAgICAgICB9CiAKLSAgICAgICAg
dmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lKQorICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQog
ICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywg
cHJvcGVydHlOYW1lKTsKICAgICAgICAgfQpAQCAtMTE1LDcgKzExNSw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICAgICAgcmV0dXJuIEpTQXJyYXk6OmRlbGV0ZVByb3BlcnR5KHRoaXNPYmpl
Y3QsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIGJv
b2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUp
CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBl
eGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVy
biBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogICAgICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZh
dGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZh
dGlvbi5jcHAKaW5kZXggZTk5Y2Q2OTE0NmZkZWI1YjRmZTY4MGY4OTE3YmU4ZmVkOTc4ZThhMi4u
MjhmYzM2NWZlNTE3ZDFjNDQ1NGRiZGViMGE2ZjZlMzZhZmY4MzU2MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmNwcApA
QCAtMzUsNyArMzUsNyBAQCBTdHJpY3RFdmFsQWN0aXZhdGlvbjo6U3RyaWN0RXZhbEFjdGl2YXRp
b24oRXhlY1N0YXRlKiBleGVjKQogewogfQogCi1ib29sIFN0cmljdEV2YWxBY3RpdmF0aW9uOjpk
ZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZp
ZXIpCitib29sIFN0cmljdEV2YWxBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQogewogICAgIHJldHVy
biBkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBpZGVudGlmaWVyKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5oCmluZGV4
IGYxZDhkNmY5NTE4Nzc0NWE4OGVkMGM0ZWFlMzVhMDAwZmZhOTZmNDQuLmM5YTM0OWNmNmJjOTkz
NDM1ZjJhODE4MTdkZTIxNmZiNWVhMWI0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24uaApAQCAtNDEsNyArNDEsNyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBhY3RpdmF0aW9uOwogICAgIH0KIAotICAgIHZpcnR1YWwg
Ym9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJik7CisgICAg
dmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJik7CiAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0
YXRlKiwgY29uc3QgSWRlbnRpZmllciYpOwogICAgIHZpcnR1YWwgSlNPYmplY3QqIHRvVGhpc09i
amVjdChFeGVjU3RhdGUqKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cmluZ09iamVjdC5jcHAKaW5kZXggNmQ1NDhjZDZmMWFmNGUyYzZkZGU5YWY2ZjRmY2Zl
ODY3NzIyZTdhMS4uM2E0M2E4ZjRhMTM2ZWQ0NGM3MDZhMzI3ZjM1NDNkNDA3YWVkMDM5OCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCkBAIC04
Niw3ICs4Niw3IEBAIHZvaWQgU3RyaW5nT2JqZWN0OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5CiAgICAgSlNPYmplY3Q6OnB1dChj
ZWxsLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKIH0KIAotYm9vbCBTdHJpbmdP
YmplY3Q6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lKQorYm9vbCBTdHJpbmdPYmplY3Q6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKICAgICBy
ZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmgKaW5kZXggODcyYTJjMTMz
YjY2YTZkMjE3YWM5YzliZTU2NDlmODJlNWNjMTE4Yi4uZTkyYjQ5Y2JlNjQxMjIzMTU0YjQyYWI1
MDljZmNiODEwMWIzMGZmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaW5nT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nT2JqZWN0LmgKQEAgLTU1LDcgKzU1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0aWMgdm9pZCBw
dXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBK
U1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKIAotICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRl
UHJvcGVydHkoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKKyAg
ICAgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqLCBjb25z
dCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgICAgICBzdGF0aWMgYm9vbCBkZWxldGVQ
cm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUq
LCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSBtb2RlID0gRXhjbHVkZURvbnRF
bnVtUHJvcGVydGllcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiZWY4ODZiMjA3Njg5YzAwNzg0ZGU4ZWIy
ZjdlZTFhYjA0NzRhZDRlLi5mMDVjYjI1NDM5NGFhOTU1N2FjMjkzNDQ1YzMyNjFkMzIwY2YxMDJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTEtMTAtMTIgIE1hcmsgSGFobmVuYmVy
ZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgdmlydHVhbCBkZWxl
dGVQcm9wZXJ0eSB0byBkZWxldGVQcm9wZXJ0eVZpcnR1YWwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgIFJlbmFt
ZWQgdmlydHVhbCB2ZXJzaW9ucyBvZiBkZWxldGVQcm9wZXJ0eSB0byBkZWxldGVQcm9wZXJ0eVZp
cnR1YWwgaW4gcHJlcHJhdGlvbiBmb3IgCisgICAgICAgIGFkZGluZyB0aGUgc3RhdGljIGRlbGV0
ZVByb3BlcnR5IHRvIHRoZSBNZXRob2RUYWJsZSBpbiBDbGFzc0luZm8gc2luY2UgdGhlIAorICAg
ICAgICBjb21waWxlciBnZXRzIG1hZCBpZiB0aGUgdmlydHVhbCBhbmQgc3RhdGljIHZlcnNpb25z
IGhhdmUgdGhlIHNhbWUgbmFtZS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NU3RyaW5nTWFwQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NU3RyaW5nTWFwOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9N
V2luZG93OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
RE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d1NoZWxsLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpTSGlzdG9yeTo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTTG9jYXRpb246OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNTdG9yYWdlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU3RvcmFnZTo6ZGVs
ZXRlUHJvcGVydHlWaXJ0dWFsKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R2xvYmFsT2JqZWN0OjpyZW1vdmUpOgorICAg
ICAgICAqIGJpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tOgorICAgICAgICAoLVtXZWJT
Y3JpcHRPYmplY3QgcmVtb3ZlV2ViU2NyaXB0S2V5Ol0pOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAg
ICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5jcHA6CisgICAgICAgIChfTlBOX1JlbW92ZVByb3Bl
cnR5KToKKyAgICAgICAgKiBicmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbToKKyAgICAgICAgKEph
dmFKU09iamVjdDo6cmVtb3ZlTWVtYmVyKToKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1
bnRpbWUuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW06CisgICAgICAg
IChKU0M6OkJpbmRpbmdzOjpPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmRlbGV0ZVByb3BlcnR5Vmly
dHVhbCk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwOgorICAgICAgICAoSlND
OjpSdW50aW1lQXJyYXk6OmRlbGV0ZVByb3BlcnR5VmlydHVhbCk6CisgICAgICAgICogYnJpZGdl
L3J1bnRpbWVfYXJyYXkuaDoKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVudGltZU9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0
dWFsKToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3QuaDoKKwogMjAxMS0xMC0xMiAg
SmlhbiBMaSAgPGppYW5saUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU3VwcG9ydCBwYXNzaW5n
IG9wdGlvbmFsIGZpbGVuYW1lIHdoZW4gRm9ybURhdGEuYXBwZW5kKCkgaXMgdXNlZCB0bwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgppbmRleCAyMDNjN2E2MjMyY2NjODk1ZDQ3YTIzMmYwMmZjMTZhZjZlZTRl
NTQyLi5jMDZiZDI1NjgwN2EwZTczMWU4NjNiYjc4ZDg5NGJiZjUyYTc0OWM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgpAQCAtMTY4OCwxMSArMTY4OCwxMSBAQCBfX1pOM0pTQzEzUnVudGltZU1ldGhv
ZDZzX2luZm9FCiBfX1pOM0pTQzEzUnVudGltZU1ldGhvZEMyRVBOU18xNEpTR2xvYmFsT2JqZWN0
RVBOU185U3RydWN0dXJlRVJOM1dURjZWZWN0b3JJUE5TXzhCaW5kaW5nczZNZXRob2RFTG0wRUVF
CiBfX1pOM0pTQzhCaW5kaW5nczEwUm9vdE9iamVjdEQxRXYKIF9fWk4zSlNDOEJpbmRpbmdzMTNS
dW50aW1lT2JqZWN0MTFnZXRDYWxsRGF0YUVQTlNfNkpTQ2VsbEVSTlNfOENhbGxEYXRhRQotX19a
TjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxNGRlbGV0ZVByb3BlcnR5RVBOU185RXhlY1N0
YXRlRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3Qx
NGZpbmlzaENyZWF0aW9uRVBOU18xNEpTR2xvYmFsT2JqZWN0RQogX19aTjNKU0M4QmluZGluZ3Mx
M1J1bnRpbWVPYmplY3QxNmdldENvbnN0cnVjdERhdGFFUk5TXzEzQ29uc3RydWN0RGF0YUUKIF9f
Wk4zSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzlF
eGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0M4
QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxOWdldE93blByb3BlcnR5TmFtZXNFUE5TXzlFeGVjU3Rh
dGVFUk5TXzE3UHJvcGVydHlOYW1lQXJyYXlFTlNfMTVFbnVtZXJhdGlvbk1vZGVFCitfX1pOM0pT
QzhCaW5kaW5nczEzUnVudGltZU9iamVjdDIxZGVsZXRlUHJvcGVydHlWaXJ0dWFsRVBOU185RXhl
Y1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmpl
Y3QyNGdldE93blByb3BlcnR5RGVzY3JpcHRvckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRp
ZmllckVSTlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFCiBfX1pOM0pTQzhCaW5kaW5nczEzUnVudGlt
ZU9iamVjdDNwdXRFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFTlNfN0pTVmFsdWVF
Uk5TXzE1UHV0UHJvcGVydHlTbG90RQogX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3Q2
c19pbmZvRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01TdHJp
bmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01TdHJpbmdN
YXBDdXN0b20uY3BwCmluZGV4IGUzZGU2NGU3YjRiZmE3NDJjZjNkODBmZTJiMGEzNTg3Y2U4NzJl
MmQuLmRjMjUxNjkxMjQyNDVjYTIwOGUyZmI5MDZmZDY5YzU0OWMzYWI4NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVN0cmluZ01hcEN1c3RvbS5jcHAKQEAg
LTU3LDcgKzU3LDcgQEAgdm9pZCBKU0RPTVN0cmluZ01hcDo6Z2V0T3duUHJvcGVydHlOYW1lcyhF
eGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5JiBwcm8KICAgICBCYXNlOjpnZXRPd25Q
cm9wZXJ0eU5hbWVzKGV4ZWMsIHByb3BlcnR5TmFtZXMsIG1vZGUpOwogfQogCi1ib29sIEpTRE9N
U3RyaW5nTWFwOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNET01TdHJpbmdNYXA6OmRlbGV0ZVByb3BlcnR5Vmly
dHVhbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsK
ICAgICBBdG9taWNTdHJpbmcgc3RyaW5nTmFtZSA9IGlkZW50aWZpZXJUb0F0b21pY1N0cmluZyhw
cm9wZXJ0eU5hbWUpOwogICAgIGlmICghbV9pbXBsLT5jb250YWlucyhzdHJpbmdOYW1lKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRl
eCAwNGI1Yjk3NjUyN2E0ZmQxOTViNDVhYjI4NDk1NjRlYWM4NWQyZTY4Li5hM2IyODcxZDIwZDYz
OWM1NjA3NTQ5ZWIxMmQzM2NmNGQ1NWQ0YzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC0zNTcsMTIgKzM1NywxMiBAQCB2b2lk
IEpTRE9NV2luZG93OjpwdXQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUsIEpTVmFsdWUgdgogICAgICAgICBCYXNlOjpwdXQoZXhlYywgcHJvcGVydHlOYW1l
LCB2YWx1ZSwgc2xvdCk7CiB9CiAKLWJvb2wgSlNET01XaW5kb3c6OmRlbGV0ZVByb3BlcnR5KEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQorYm9vbCBKU0RP
TVdpbmRvdzo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIC8vIE9ubHkgYWxsb3cgZGVsZXRpbmcgcHJv
cGVydGllcyBieSBmcmFtZXMgaW4gdGhlIHNhbWUgb3JpZ2luLgogICAgIGlmICghYWxsb3dzQWNj
ZXNzRnJvbShleGVjKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBCYXNlOjpk
ZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBCYXNlOjpkZWxl
dGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQogCiB2b2lkIEpTRE9NV2lu
ZG93OjpnZXRQcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lQXJyYXkm
IHByb3BlcnR5TmFtZXMsIEVudW1lcmF0aW9uTW9kZSBtb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAppbmRleCA2ZDI2Zjk4NWM3MWI2YzRi
ODNiMGEzMDI5ODliMDdmMGJhMzI3YjFlLi43YWM5MGYxMGJhOTAzODY3M2MzN2ZmM2NiOWViMTUy
NDU4ZDkxOWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d1NoZWxsLmNwcApAQCAtMTMwLDkgKzEzMCw5IEBAIGJvb2wgSlNET01XaW5kb3dTaGVsbDo6ZGVm
aW5lT3duUHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpTQzo6SWRlbnRpCiAg
ICAgcmV0dXJuIG1fd2luZG93LT5kZWZpbmVPd25Qcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUs
IGRlc2NyaXB0b3IsIHNob3VsZFRocm93KTsKIH0KIAotYm9vbCBKU0RPTVdpbmRvd1NoZWxsOjpk
ZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5
TmFtZSkKK2Jvb2wgSlNET01XaW5kb3dTaGVsbDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewotICAgIHJldHVy
biBtX3dpbmRvdy0+ZGVsZXRlUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKTsKKyAgICByZXR1
cm4gbV93aW5kb3ctPmRlbGV0ZVByb3BlcnR5VmlydHVhbChleGVjLCBwcm9wZXJ0eU5hbWUpOwog
fQogCiB2b2lkIEpTRE9NV2luZG93U2hlbGw6OmdldFByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBl
eGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1v
ZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1No
ZWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKaW5k
ZXggYjVkZDNhNmExNmMyY2Q4YTYzZjk4YTNmOTI3OTgzNTJiZGYwZDY3Ny4uNWYzZGQxZGJlZmY1
ZjBiMDc3Yzg5MGM0ZWNmY2E0MWM3YTgyYWUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaApAQCAtODUsNyArODUsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlND
OjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQ
cm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHB1dChKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OkpTVmFsdWUs
IEpTQzo6UHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwdXRXaXRoQXR0
cmlidXRlcyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBKU0M6OkpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwotICAgICAgICB2aXJ0dWFs
IGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZp
cnR1YWwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRQcm9wZXJ0eU5hbWVzKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpQcm9wZXJ0eU5hbWVBcnJheSYsIEpTQzo6RW51bWVyYXRpb25Nb2RlIG1vZGUgPSBK
U0M6OkV4Y2x1ZGVEb250RW51bVByb3BlcnRpZXMpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZ2V0
T3duUHJvcGVydHlOYW1lcyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJvcGVydHlOYW1lQXJyYXkm
LCBKU0M6OkVudW1lcmF0aW9uTW9kZSBtb2RlID0gSlNDOjpFeGNsdWRlRG9udEVudW1Qcm9wZXJ0
aWVzKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlZmluZUdldHRlcihKU0M6OkV4ZWNTdGF0ZSos
IGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OkpTT2JqZWN0KiBnZXR0
ZXJGdW5jdGlvbiwgdW5zaWduZWQgYXR0cmlidXRlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcAppbmRleCAwOTI3Yzc5NzQwNDhlMjJlYWNiMjQ1
NmNjZGMxZTllMDE1NTRhYWEyLi4wMGQ3OTAwNjBiNTdmOGE1NDUxYzUxY2QyYTY3NDU1ZGVlYmEy
Y2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0
b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5j
cHAKQEAgLTE0NiwxMiArMTQ2LDEyIEBAIGJvb2wgSlNIaXN0b3J5OjpwdXREZWxlZ2F0ZShFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCBQdXRQcm9wCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi1ib29sIEpTSGlzdG9yeTo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29sIEpTSGlzdG9yeTo6
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lKQogewogICAgIC8vIE9ubHkgYWxsb3cgZGVsZXRpbmcgYnkgZnJhbWVzIGlu
IHRoZSBzYW1lIG9yaWdpbi4KICAgICBpZiAoIWFsbG93c0FjY2Vzc0Zyb21GcmFtZShleGVjLCBp
bXBsKCktPmZyYW1lKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIEJhc2U6
OmRlbGV0ZVByb3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIEJhc2U6OmRl
bGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9CiAKIHZvaWQgSlNIaXN0
b3J5OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lQXJy
YXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0aW9uTW9kZSBtb2RlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcAppbmRleCA5NjdiYzRkYWRhZWYy
MDUxN2ExNzBkYjU3YjE1NWIyZjlkZWFiYzg5Li40NDY0NDUyMzY0ODk3ZmU5NDhiZDViMzA0NWM4
YmQzYzc2M2QxOTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0xv
Y2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0xvY2F0
aW9uQ3VzdG9tLmNwcApAQCAtMTUyLDEyICsxNTIsMTIgQEAgYm9vbCBKU0xvY2F0aW9uOjpwdXRE
ZWxlZ2F0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
SlMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgSlNMb2NhdGlvbjo6ZGVsZXRlUHJvcGVy
dHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCitib29s
IEpTTG9jYXRpb246OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKICAgICAvLyBPbmx5IGFsbG93IGRlbGV0aW5n
IGJ5IGZyYW1lcyBpbiB0aGUgc2FtZSBvcmlnaW4uCiAgICAgaWYgKCFhbGxvd3NBY2Nlc3NGcm9t
RnJhbWUoZXhlYywgaW1wbCgpLT5mcmFtZSgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IHJldHVybiBCYXNlOjpkZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIHJl
dHVybiBCYXNlOjpkZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQog
CiB2b2lkIEpTTG9jYXRpb246OmdldE93blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBQ
cm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0b3JhZ2VDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9tLmNwcAppbmRleCA0
MTc0N2JlZWRkYTc5YWMzZDBmN2U2NmY5YTU5NWIyM2QzNzBkNjkyLi4yZTExOTJmNTI5OWJhNDUz
MzNhMDdhYTdhMWRlYzlmNjFiNTJjZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1N0b3JhZ2VDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTU3RvcmFnZUN1c3RvbS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgSlNWYWx1ZSBKU1N0b3Jh
Z2U6Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJ
ZGVudGlmaWUKICAgICByZXR1cm4ganNTdHJpbmdPck51bGwoZXhlYywgdGhpc09iai0+aW1wbCgp
LT5nZXRJdGVtKGlkZW50aWZpZXJUb1N0cmluZyhwcm9wZXJ0eU5hbWUpKSk7CiB9CiAKLWJvb2wg
SlNTdG9yYWdlOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgSlNTdG9yYWdlOjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwo
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAg
Ly8gT25seSBwZXJmb3JtIHRoZSBjdXN0b20gZGVsZXRlIGlmIHRoZSBvYmplY3QgZG9lc24ndCBo
YXZlIGEgbmF0aXZlIHByb3BlcnR5IGJ5IHRoaXMgbmFtZS4KICAgICAvLyBTaW5jZSBoYXNQcm9w
ZXJ0eSgpIHdvdWxkIGVuZCB1cCBjYWxsaW5nIGNhbkdldEl0ZW1zRm9yTmFtZSgpIGFuZCBiZSBm
b29sZWQsIHdlIG5lZWQgdG8gY2hlY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRPYmplY3QuY3BwCmluZGV4IDAzNTU5N2IxNDczMmE0YjliOWE5MmU2YzVhOTI1YTUzNjdhYThm
MmMuLjYyNTdmNjU1MmM0YzIwNGZmMTdjY2VjYWI3OWQ3ZjZkMmJkMWNlMDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0T2JqZWN0LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBA
IGJvb2wgU2NyaXB0R2xvYmFsT2JqZWN0OjpnZXQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBj
b25zdCBjaGFyKiBuYW1lLCBTY3JpcHRPCiBib29sIFNjcmlwdEdsb2JhbE9iamVjdDo6cmVtb3Zl
KFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgY29uc3QgY2hhciogbmFtZSkKIHsKICAgICBKU0xv
Y2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIHNjcmlwdFN0YXRlLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCktPmRlbGV0ZVByb3BlcnR5KHNjcmlwdFN0YXRlLCBJZGVudGlmaWVyKHNj
cmlwdFN0YXRlLCBuYW1lKSk7CisgICAgc2NyaXB0U3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3Qo
KS0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKHNjcmlwdFN0YXRlLCBJZGVudGlmaWVyKHNjcmlwdFN0
YXRlLCBuYW1lKSk7CiAgICAgcmV0dXJuIGhhbmRsZUV4Y2VwdGlvbihzY3JpcHRTdGF0ZSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvV2ViU2NyaXB0T2Jq
ZWN0Lm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0K
aW5kZXggZmY2MTNlMmQ4YTVhNDY0YjhmMDVjYzgyYTNlYzcyZTdhOGFhMjM3Ny4uYTI1MzczZDg3
OTA4MTA1ZmQ0ZDkxZDZlNWMxOTA3ZDJmNjg5N2IxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KQEAgLTQwMyw3ICs0MDMsNyBAQCBzdGF0
aWMgdm9pZCBnZXRMaXN0RnJvbU5TQXJyYXkoRXhlY1N0YXRlICpleGVjLCBOU0FycmF5ICphcnJh
eSwgUm9vdE9iamVjdCogcm9vdAogICAgIEFTU0VSVCghZXhlYy0+aGFkRXhjZXB0aW9uKCkpOwog
CiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBbc2VsZiBfaW1w
XS0+ZGVsZXRlUHJvcGVydHkoZXhlYywgSWRlbnRpZmllcihleGVjLCBzdHJpbmdUb1VTdHJpbmco
U3RyaW5nKGtleSkpKSk7CisgICAgW3NlbGYgX2ltcF0tPmRlbGV0ZVByb3BlcnR5VmlydHVhbChl
eGVjLCBJZGVudGlmaWVyKGV4ZWMsIHN0cmluZ1RvVVN0cmluZyhTdHJpbmcoa2V5KSkpKTsKIAog
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkgewogICAgICAgICBhZGRFeGNlcHRpb25Ub0Nv
bnNvbGUoZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCmluZGV4IDJkODEzNDcwYzdjYTE3MzkyZGVmYjIxMWQ2MjUyMTgyZDk2
ZjBhMWEuLjNjN2Y2ODFhYzI1NGM2NWY5NjcyZjUzZDFlNDg5ODk0NGNhOTExNTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBA
IC04MjAsNyArODIwLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgIiAgICBzdGF0aWMgSlNDOjpDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0M6OkpTQ2VsbCos
IEpTQzo6Q2FsbERhdGEmKTtcblxuIikgaWYgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ3VzdG9tQ2FsbCJ9OwogCiAgICAgIyBDdXN0b20gZGVsZXRlUHJvcGVydHkgZnVuY3Rpb24K
LSAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0
eShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpO1xuIikgaWYgJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tRGVsZXRlUHJvcGVydHkifTsKKyAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1
YWwoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTtcbiIpIGlmICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbURlbGV0ZVByb3BlcnR5In07CiAKICAg
ICAjIEN1c3RvbSBnZXRQcm9wZXJ0eU5hbWVzIGZ1bmN0aW9uIGV4aXN0cyBvbiBET01XaW5kb3cK
ICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvTlBfanNvYmplY3QuY3BwCmluZGV4IDE0ZWZiMTk3NmZmYTc2ODlmMjNlZjI3MzU1MTQxZjZi
ZGU2ZDdlMTQuLjQ0NGU1NWFlMzYxMGNmM2Q3NjAyODM1M2VkZjcwNmUwYmI2MThiOWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmNwcApAQCAtMzc1LDkgKzM3NSw5IEBAIGJvb2wg
X05QTl9SZW1vdmVQcm9wZXJ0eShOUFAsIE5QT2JqZWN0KiBvLCBOUElkZW50aWZpZXIgcHJvcGVy
dHlOYW1lKQogCiAgICAgICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7CiAg
ICAgICAgIGlmIChpLT5pc1N0cmluZygpKQotICAgICAgICAgICAgb2JqLT5pbXAtPmRlbGV0ZVBy
b3BlcnR5KGV4ZWMsIGlkZW50aWZpZXJGcm9tTlBJZGVudGlmaWVyKGV4ZWMsIGktPnN0cmluZygp
KSk7CisgICAgICAgICAgICBvYmotPmltcC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGlk
ZW50aWZpZXJGcm9tTlBJZGVudGlmaWVyKGV4ZWMsIGktPnN0cmluZygpKSk7CiAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgIG9iai0+aW1wLT5kZWxldGVQcm9wZXJ0eShleGVjLCBpLT5udW1iZXIo
KSk7CisgICAgICAgICAgICBvYmotPmltcC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIGkt
Pm51bWJlcigpKTsKIAogICAgICAgICBleGVjLT5jbGVhckV4Y2VwdGlvbigpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvam5pX2pz
b2JqZWN0Lm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qbmlfanNvYmplY3QubW0KaW5k
ZXggMWM2ZjFmYmUzMWM2ZDQ2N2JjYjViYmYyMzVmY2NkNGMwNzUwMTNhNS4uODdhNTZkZDU4ZDZi
NjdjNmMzZDJhNTU2ZGU3NGU4MmM2Nzc3MWZjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2puaS9qbmlfanNvYmplY3QubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pu
aS9qbmlfanNvYmplY3QubW0KQEAgLTM2Miw3ICszNjIsNyBAQCB2b2lkIEphdmFKU09iamVjdDo6
cmVtb3ZlTWVtYmVyKGpzdHJpbmcgbWVtYmVyTmFtZSkgY29uc3QKIAogICAgIEV4ZWNTdGF0ZSog
ZXhlYyA9IHJvb3RPYmplY3QtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7CiAgICAgSlNM
b2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBfaW1wLT5kZWxldGVQcm9wZXJ0
eShleGVjLCBJZGVudGlmaWVyKGV4ZWMsIEphdmFTdHJpbmcobWVtYmVyTmFtZSkuaW1wbCgpKSk7
CisgICAgX2ltcC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIElkZW50aWZpZXIoZXhlYywg
SmF2YVN0cmluZyhtZW1iZXJOYW1lKS5pbXBsKCkpKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9vYmpjL29iamNfcnVudGltZS5oCmluZGV4IGE5OGE5MGUxOTc1MGFkYmY5MzZlZGI3Njk3
MWUxNzE0YTVhZGI2ZWYuLmY0OTBjN2FlNmNjN2JmM2MyMGM2MDE1OWZlZWZmZjljZGYyZTk3M2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCkBAIC0xMjksNyAr
MTI5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAg
ICAgc3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIENh
bGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7Ci0gICAgdmlydHVhbCBib29s
IGRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSk7CisgICAgdmlydHVhbCBib29sIGRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgIHN0YXRpYyBib29sIGRlbGV0ZVBy
b3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFt
ZSk7CiAgICAgdmlydHVhbCBKU1ZhbHVlIGRlZmF1bHRWYWx1ZShFeGVjU3RhdGUqLCBQcmVmZXJy
ZWRQcmltaXRpdmVUeXBlKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL29iamMvb2JqY19ydW50aW1lLm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2Jq
Y19ydW50aW1lLm1tCmluZGV4IDRjZmMzODRhZTU1NjNkN2QxODNlNzFmZWQ3ZDZhMDExZmQzNTI1
NTkuLjlhNTlhNmUyM2ZiZmNlNDcyNGJmMDVkMzdkNTk4YTliYzMxMGZmY2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW0KQEAgLTI3NCw3ICsyNzQsNyBAQCBD
YWxsVHlwZSBPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmdldENhbGxEYXRhKEpTQ2VsbCogY2VsbCwg
Q2FsbERhdGEmIGNhbGxEYXRhKQogICAgIHJldHVybiBDYWxsVHlwZUhvc3Q7CiB9CiAKLWJvb2wg
T2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCitib29sIE9iamNGYWxsYmFja09iamVjdEltcDo6
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
aWRlbnRpZmllcikKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgaWRl
bnRpZmllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9h
cnJheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKaW5kZXgg
ODBlMmE4Zjk1MWUxY2U1M2IyZjM2YTZmYjE1NWMyM2I0OGU4ODliOC4uNTNmMzcyODRmYjJkNmVk
NDc3ZTU4N2E2NGI5MGEzYTYyYzlkMDBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X2FycmF5LmNwcApAQCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQgUnVudGltZUFycmF5OjpwdXQoSlND
ZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlIHZhCiAg
ICAgdGhpc09iamVjdC0+Z2V0Q29uY3JldGVBcnJheSgpLT5zZXRWYWx1ZUF0KGV4ZWMsIGluZGV4
LCB2YWx1ZSk7CiB9CiAKLWJvb2wgUnVudGltZUFycmF5OjpkZWxldGVQcm9wZXJ0eShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgUnVudGltZUFy
cmF5OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4
ZWMsIHByb3BlcnR5TmFtZSk7CiB9CkBAIC0xOTEsNyArMTkxLDcgQEAgYm9vbCBSdW50aW1lQXJy
YXk6OmRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBSdW50aW1lQXJyYXk6OmRlbGV0ZVByb3Bl
cnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKQorYm9vbCBSdW50aW1l
QXJyYXk6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHBy
b3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywgcHJv
cGVydHlOYW1lKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X2FycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCmluZGV4IGEz
ZDQ0NThiNmI4OGQzM2M5NDMzZDYwOTkyNjhmMjRhMzQwODI3ZGYuLjY5ZmJiZDhlMzE3NzZkZWQ2
MTZlNDlmMWFmMjM0MTJlN2JkOGVjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX2FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJy
YXkuaApAQCAtNjAsOSArNjAsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHB1dChFeGVj
U3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUpOwogICAgIHN0YXRpYyB2b2lk
IHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUp
OwogICAgIAotICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSk7CisgICAgdmlydHVhbCBib29sIGRlbGV0
ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyICZwcm9wZXJ0eU5h
bWUpOwogICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSk7Ci0gICAgdmlydHVhbCBib29sIGRlbGV0
ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKKyAgICB2
aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHBy
b3BlcnR5TmFtZSk7CiAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhl
Y1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKICAgICAKICAgICB1bnNpZ25lZCBnZXRM
ZW5ndGgoKSBjb25zdCB7IHJldHVybiBnZXRDb25jcmV0ZUFycmF5KCktPmdldExlbmd0aCgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAppbmRleCAxMzM4Y2Y4NjVj
ZTRjZjRhYmRlMDZhOTRkYTQyZjc2NDEyNDQ3MTZmLi45ZTYzMTlmNGQ4NmI1NThmOWZkNGNiM2U1
OGRiNDgxODFkZTFmYjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGlt
ZV9vYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5j
cHAKQEAgLTI0Miw3ICsyNDIsNyBAQCB2b2lkIFJ1bnRpbWVPYmplY3Q6OnB1dChKU0NlbGwqIGNl
bGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydAogICAgIGluc3Rh
bmNlLT5lbmQoKTsKIH0KIAotYm9vbCBSdW50aW1lT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKK2Jvb2wgUnVudGlt
ZU9iamVjdDo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBkZWxldGVQcm9wZXJ0eSh0aGlz
LCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfb2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmpl
Y3QuaAppbmRleCAwNjZkNzczN2UzMjQ2NGU1ODYyMTE4NWU2NGE1NzMzZGIxZWVkZWZjLi5lYjcx
ZDhmYzE1MzY1M2E3NWZiMjg4ZGVmN2YzYTlkZTZhZGEyMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9vYmplY3QuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5RGVzY3JpcHRvciYpOwogICAgIHZpcnR1YWwgdm9p
ZCBwdXQoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
LCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0
YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0
eVNsb3QmKTsKLSAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7
CiAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKICAgICB2aXJ0dWFsIEpTVmFsdWUgZGVmYXVs
dFZhbHVlKEV4ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUpIGNvbnN0OwogICAgIHN0
YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCmluZGV4IDQ4ODFhYjc4NzJiZTZlYTU3NDljNzIxZDZiNjQzOGIyNjMzNjZkNWMuLjFkZmI5
ZDMyZmUyMGZiZDRjNTIwYmVlOTI3NWM0ZGU3OTNjMDA1ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMS0xMC0xMiAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdA
YXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSB2aXJ0dWFsIGRlbGV0ZVByb3BlcnR5IHRvIGRl
bGV0ZVByb3BlcnR5VmlydHVhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njk4ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW5hbWVkIHZpcnR1YWwgdmVyc2lvbnMgb2YgZGVsZXRlUHJvcGVydHkgdG8g
ZGVsZXRlUHJvcGVydHlWaXJ0dWFsIGluIHByZXByYXRpb24gZm9yIAorICAgICAgICBhZGRpbmcg
dGhlIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSB0byB0aGUgTWV0aG9kVGFibGUgaW4gQ2xhc3NJbmZv
IHNpbmNlIHRoZSAKKyAgICAgICAgY29tcGlsZXIgZ2V0cyBtYWQgaWYgdGhlIHZpcnR1YWwgYW5k
IHN0YXRpYyB2ZXJzaW9ucyBoYXZlIHRoZSBzYW1lIG5hbWUuCisKKyAgICAgICAgKiBQbHVnaW5z
L0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6
Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVtb3ZlUHJvcGVydHkpOgorCiAyMDExLTEw
LTEwICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXNlIGEg
Q2FjaGVkSW1hZ2VDbGllbnQgaW5zdGVhZCBvZiBDYWNoZWRSZXNvdXJjZUNsaWVudApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5Lm1tCmluZGV4IDY2MjcyMDM3MTg5N2RjOTQ4NmU1NDcwMGY2ZmQw
NjE4NTlhN2I2MjcuLjY5ZGZkYjBkZTE0MjE0ZmM5ZGRhMTkxZDI1ZmIzYWQ4ZTQwZTNlZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9O
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTExMTMsNyArMTExMyw3IEBAIGJvb2wg
TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZW1vdmVQcm9wZXJ0eSh1aW50MzJfdCBvYmpl
Y3RJRCwgY29uc3QgSWRlbnRpCiAgICAgfQogICAgIAogICAgIEpTTG9jayBsb2NrKFNpbGVuY2VB
c3NlcnRpb25zT25seSk7Ci0gICAgb2JqZWN0LT5kZWxldGVQcm9wZXJ0eShleGVjLCBwcm9wZXJ0
eU5hbWUpOworICAgIG9iamVjdC0+ZGVsZXRlUHJvcGVydHlWaXJ0dWFsKGV4ZWMsIHByb3BlcnR5
TmFtZSk7CiAgICAgZXhlYy0+Y2xlYXJFeGNlcHRpb24oKTsgICAgCiAgICAgcmV0dXJuIHRydWU7
CiB9CkBAIC0xMTQwLDcgKzExNDAsNyBAQCBib29sIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94
eTo6cmVtb3ZlUHJvcGVydHkodWludDMyX3Qgb2JqZWN0SUQsIHVuc2lnbmVkIHBybwogICAgIH0K
ICAgICAKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIG9iamVj
dC0+ZGVsZXRlUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lKTsKKyAgICBvYmplY3QtPmRlbGV0
ZVByb3BlcnR5VmlydHVhbChleGVjLCBwcm9wZXJ0eU5hbWUpOwogICAgIGV4ZWMtPmNsZWFyRXhj
ZXB0aW9uKCk7ICAgIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDJiNTg4YTcw
ZTkyMTAyZjQzNmMwYjMyYTljOGRiZjY5N2QyNTNkMTkuLjFhN2Y3OGExZmFiYzY5OTljZGMwZGNl
M2U4OTQ4N2MzYjhkZThmZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0xMC0x
MiAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIFJl
bmFtZSB2aXJ0dWFsIGRlbGV0ZVByb3BlcnR5IHRvIGRlbGV0ZVByb3BlcnR5VmlydHVhbAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWVkIHZpcnR1
YWwgdmVyc2lvbnMgb2YgZGVsZXRlUHJvcGVydHkgdG8gZGVsZXRlUHJvcGVydHlWaXJ0dWFsIGlu
IHByZXByYXRpb24gZm9yIAorICAgICAgICBhZGRpbmcgdGhlIHN0YXRpYyBkZWxldGVQcm9wZXJ0
eSB0byB0aGUgTWV0aG9kVGFibGUgaW4gQ2xhc3NJbmZvIHNpbmNlIHRoZSAKKyAgICAgICAgY29t
cGlsZXIgZ2V0cyBtYWQgaWYgdGhlIHZpcnR1YWwgYW5kIHN0YXRpYyB2ZXJzaW9ucyBoYXZlIHRo
ZSBzYW1lIG5hbWUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNO
UE9iamVjdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OmRlbGV0ZVByb3BlcnR5
VmlydHVhbCk6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TlBKU09iamVjdDo6cmVtb3ZlUHJvcGVydHkpOgorCiAyMDExLTEwLTEyICBK
ZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KIAog
ICAgICAgICBbUXRdW1dLMl0gTW92ZSBxd2ViZXJyb3IqIG91dCBvZiBBUEkvcXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2Jq
ZWN0LmNwcAppbmRleCA1M2Y1ODYwMWMwYTk2NjgxYzg1NDE4YmNkMzRkY2FiNDJlMDBhMWY0Li40
ODk4NWFlOWU0ZGNhZDY2ZWQ0YTc1YjQ2NDhjM2QwMGMxMTgwZDBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3Qu
Y3BwCkBAIC0zNTAsMTQgKzM1MCwyNCBAQCB2b2lkIEpTTlBPYmplY3Q6OnB1dChFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YQogICAgIHJl
bGVhc2VOUFZhcmlhbnRWYWx1ZSgmdmFyaWFudCk7CiB9CiAKLWJvb2wgSlNOUE9iamVjdDo6ZGVs
ZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUpCitib29sIEpTTlBPYmplY3Q6OmRlbGV0ZVByb3BlcnR5VmlydHVhbChFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKLSAgICByZXR1cm4gZGVsZXRl
UHJvcGVydHkoZXhlYywgbnBJZGVudGlmaWVyRnJvbUlkZW50aWZpZXIocHJvcGVydHlOYW1lKSk7
CisgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiB9
CiAKLWJvb2wgSlNOUE9iamVjdDo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNp
Z25lZCBwcm9wZXJ0eU5hbWUpCitib29sIEpTTlBPYmplY3Q6OmRlbGV0ZVByb3BlcnR5KEpTQ2Vs
bCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUp
CiB7Ci0gICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KGV4ZWMsIHN0YXRpY19jYXN0PE5QSWRlbnRp
Zmllcj4oSWRlbnRpZmllclJlcDo6Z2V0KHByb3BlcnR5TmFtZSkpKTsKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8SlNOUE9iamVjdCo+KGNlbGwpLT5kZWxldGVQcm9wZXJ0eShleGVjLCBucElkZW50
aWZpZXJGcm9tSWRlbnRpZmllcihwcm9wZXJ0eU5hbWUpKTsKK30KKworYm9vbCBKU05QT2JqZWN0
OjpkZWxldGVQcm9wZXJ0eVZpcnR1YWwoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0
eU5hbWUpCit7CisgICAgcmV0dXJuIGRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5
TmFtZSk7Cit9CisKK2Jvb2wgSlNOUE9iamVjdDo6ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiBjZWxs
LCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkKK3sKKyAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8SlNOUE9iamVjdCo+KGNlbGwpLT5kZWxldGVQcm9wZXJ0eShleGVjLCBzdGF0
aWNfY2FzdDxOUElkZW50aWZpZXI+KElkZW50aWZpZXJSZXA6OmdldChwcm9wZXJ0eU5hbWUpKSk7
CiB9CiAKIGJvb2wgSlNOUE9iamVjdDo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBO
UElkZW50aWZpZXIgcHJvcGVydHlOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKaW5kZXggMjNmZmM4ZmM5MjMy
ZGIzNGFmMDIxM2NmNzNlNzFjYWUyOTc1NjE2MC4uM2M1NDdkYTU0YjYwYmVhNDBmOGUxYjhjOTQw
N2FhZDZiYzZmNTg4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCkBAIC04OCw4ICs4OCwxMCBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNDOjpFeGVjU3Rh
dGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eURl
c2NyaXB0b3ImKTsKICAgICB2aXJ0dWFsIHZvaWQgcHV0KEpTQzo6RXhlY1N0YXRlKiwgY29uc3Qg
SlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpQdXRQcm9w
ZXJ0eVNsb3QmKTsKIAotICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKLSAgICB2aXJ0dWFs
IGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5h
bWUpOworICAgIHZpcnR1YWwgYm9vbCBkZWxldGVQcm9wZXJ0eVZpcnR1YWwoSlNDOjpFeGVjU3Rh
dGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7CisgICAgc3RhdGljIGJv
b2wgZGVsZXRlUHJvcGVydHkoSlNDOjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJv
cGVydHlWaXJ0dWFsKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKKyAg
ICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRl
KiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKTsKIAogICAgIGJvb2wgZGVsZXRlUHJvcGVydHkoSlND
OjpFeGVjU3RhdGUqLCBOUElkZW50aWZpZXIgcHJvcGVydHlOYW1lKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3Qu
Y3BwCmluZGV4IGZlMjk3MGViODgyMjI5YzI1NTk0YzcxN2Y2ZDBkZTEzYTliYTA3MzUuLjc2OGYw
ODJkZjFiOTliYWRmODI0NDk3YzhhM2M4NmIzYTJjMjQyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5jcHAK
QEAgLTIxMywxNCArMjEzLDE0IEBAIGJvb2wgTlBKU09iamVjdDo6cmVtb3ZlUHJvcGVydHkoTlBJ
ZGVudGlmaWVyIHByb3BlcnR5TmFtZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgfQogICAgICAgICAKLSAgICAgICAgbV9qc09iamVjdC0+ZGVsZXRlUHJvcGVydHkoZXhlYywg
aWRlbnRpZmllcik7CisgICAgICAgIG1fanNPYmplY3QtPmRlbGV0ZVByb3BlcnR5VmlydHVhbChl
eGVjLCBpZGVudGlmaWVyKTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoIW1fanNPYmplY3Qt
Pmhhc1Byb3BlcnR5KGV4ZWMsIGlkZW50aWZpZXJSZXAtPm51bWJlcigpKSkgewogICAgICAgICAg
ICAgZXhlYy0+Y2xlYXJFeGNlcHRpb24oKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgfQogCi0gICAgICAgIG1fanNPYmplY3QtPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIGlkZW50
aWZpZXJSZXAtPm51bWJlcigpKTsKKyAgICAgICAgbV9qc09iamVjdC0+ZGVsZXRlUHJvcGVydHlW
aXJ0dWFsKGV4ZWMsIGlkZW50aWZpZXJSZXAtPm51bWJlcigpKTsKICAgICB9CiAKICAgICBleGVj
LT5jbGVhckV4Y2VwdGlvbigpOwo=
</data>
<flag name="review"
          id="108556"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="108727"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>