<?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>102641</bug_id>
          
          <creation_ts>2012-11-18 22:10:16 -0800</creation_ts>
          <short_desc>[EFL][WK2] Remove underscore characters in Ewk class names.</short_desc>
          <delta_ts>2012-11-18 23:46:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jaehun Lim">ljaehun.lim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>770347</commentid>
    <comment_count>0</comment_count>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2012-11-18 22:10:16 -0800</bug_when>
    <thetext>Remove &apos;_&apos; in C++ class names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770373</commentid>
    <comment_count>1</comment_count>
      <attachid>174896</attachid>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2012-11-18 23:04:46 -0800</bug_when>
    <thetext>Created attachment 174896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770383</commentid>
    <comment_count>2</comment_count>
      <attachid>174896</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-11-18 23:23:14 -0800</bug_when>
    <thetext>Comment on attachment 174896
Patch

Though WebKit doesn&apos;t like to fix coding style, I think we need to change this at once. Because, there are mixed classes name in EWK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770400</commentid>
    <comment_count>3</comment_count>
      <attachid>174896</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-18 23:46:16 -0800</bug_when>
    <thetext>Comment on attachment 174896
Patch

Clearing flags on attachment: 174896

Committed r135117: &lt;http://trac.webkit.org/changeset/135117&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770401</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-18 23:46:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174896</attachid>
            <date>2012-11-18 23:04:46 -0800</date>
            <delta_ts>2012-11-18 23:46:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102641-20121119160235.patch</filename>
            <type>text/plain</type>
            <size>72721</size>
            <attacher name="Jaehun Lim">ljaehun.lim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzVkMDczNzg1YzIzZjg0
OTI4ZDdlM2RmNThhNDk5ODA0NThlYTRmNi4uZTMwM2ZiODY0M2Y1ZTUyZjU5YmVjOGZhMWNlYmFm
NmM2YTI2MjY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2OSBAQAorMjAxMi0xMS0xOCAgSmFl
aHVuIExpbSAgPGxqYWVodW4ubGltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0g
UmVtb3ZlIHVuZGVyc2NvcmUgY2hhcmFjdGVycyBpbiBFd2sgY2xhc3MgbmFtZXMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI2NDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJLaXQgRUZMIGRvZXNu
J3QgdXNlICdfJyBpbiBDKysgY2xhc3MgbmFtZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3Q2FsbGJhY2tzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdr
Vmlld0ltcGwuaDoKKyAgICAgICAgKEV3a1ZpZXdJbXBsOjpzZXR0aW5ncyk6CisgICAgICAgIChF
d2tWaWV3SW1wbDo6YmFja0ZvcndhcmRMaXN0KToKKyAgICAgICAgKEV3a1ZpZXdJbXBsKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfYXV0aF9yZXF1ZXN0Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2F1dGhfcmVxdWVzdF9wcml2YXRlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0LmNwcDoKKyAgICAgICAgKEV3
a0JhY2tGb3J3YXJkTGlzdDo6RXdrQmFja0ZvcndhcmRMaXN0KToKKyAgICAgICAgKEV3a0JhY2tG
b3J3YXJkTGlzdDo6bmV4dEl0ZW0pOgorICAgICAgICAoRXdrQmFja0ZvcndhcmRMaXN0OjpwcmV2
aW91c0l0ZW0pOgorICAgICAgICAoRXdrQmFja0ZvcndhcmRMaXN0OjpjdXJyZW50SXRlbSk6Cisg
ICAgICAgIChFd2tCYWNrRm9yd2FyZExpc3Q6Oml0ZW1BdCk6CisgICAgICAgIChFd2tCYWNrRm9y
d2FyZExpc3Q6OnNpemUpOgorICAgICAgICAoRXdrQmFja0ZvcndhcmRMaXN0OjpiYWNrTGlzdCk6
CisgICAgICAgIChFd2tCYWNrRm9yd2FyZExpc3Q6OmZvcndhcmRMaXN0KToKKyAgICAgICAgKEV3
a0JhY2tGb3J3YXJkTGlzdDo6Z2V0RnJvbUNhY2hlT3JDcmVhdGUpOgorICAgICAgICAoRXdrQmFj
a0ZvcndhcmRMaXN0OjpjcmVhdGVFaW5hTGlzdCk6CisgICAgICAgIChFd2tCYWNrRm9yd2FyZExp
c3Q6OnVwZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2Fy
ZF9saXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9s
aXN0X2l0ZW0uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJk
X2xpc3RfaXRlbV9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Jh
Y2tfZm9yd2FyZF9saXN0X3ByaXZhdGUuaDoKKyAgICAgICAgKEV3a0JhY2tGb3J3YXJkTGlzdDo6
Y3JlYXRlKToKKyAgICAgICAgKEV3a0JhY2tGb3J3YXJkTGlzdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbG9yX3BpY2tlci5jcHA6CisgICAgICAgIChFd2tDb2xvclBpY2tl
cjo6RXdrQ29sb3JQaWNrZXIpOgorICAgICAgICAoRXdrQ29sb3JQaWNrZXI6OnNldENvbG9yKToK
KyAgICAgICAgKEV3a0NvbG9yUGlja2VyOjpjb2xvcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2NvbG9yX3BpY2tlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb2xvcl9waWNrZXJfcHJpdmF0ZS5oOgorICAgICAgICAoRXdrQ29sb3JQaWNrZXI6OmNyZWF0
ZSk6CisgICAgICAgIChFd2tDb2xvclBpY2tlcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nvb2tpZV9tYW5h
Z2VyLmNwcDoKKyAgICAgICAgKEV3a0Nvb2tpZU1hbmFnZXI6OkV3a0Nvb2tpZU1hbmFnZXIpOgor
ICAgICAgICAoRXdrQ29va2llTWFuYWdlcjo6fkV3a0Nvb2tpZU1hbmFnZXIpOgorICAgICAgICAo
RXdrQ29va2llTWFuYWdlcjo6c2V0UGVyc2lzdGVudFN0b3JhZ2UpOgorICAgICAgICAoRXdrQ29v
a2llTWFuYWdlcjo6c2V0SFRUUEFjY2VwdFBvbGljeSk6CisgICAgICAgIChFd2tDb29raWVNYW5h
Z2VyOjpjbGVhckhvc3RuYW1lQ29va2llcyk6CisgICAgICAgIChFd2tDb29raWVNYW5hZ2VyOjpj
bGVhckFsbENvb2tpZXMpOgorICAgICAgICAoRXdrQ29va2llTWFuYWdlcjo6d2F0Y2hDaGFuZ2Vz
KToKKyAgICAgICAgKEV3a0Nvb2tpZU1hbmFnZXI6OmlzV2F0Y2hpbmdGb3JDaGFuZ2VzKToKKyAg
ICAgICAgKEV3a0Nvb2tpZU1hbmFnZXI6OmdldEhvc3ROYW1lc1dpdGhDb29raWVzKToKKyAgICAg
ICAgKEV3a0Nvb2tpZU1hbmFnZXI6OmdldEhUVFBBY2NlcHRQb2xpY3kpOgorICAgICAgICAoRXdr
Q29va2llTWFuYWdlcjo6Y29va2llc0RpZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2Nvb2tpZV9tYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2Nvb2tpZV9tYW5hZ2VyX3ByaXZhdGUuaDoKKyAgICAgICAgKEV3a0Nvb2tpZU1hbmFnZXI6
OmNyZWF0ZSk6CisgICAgICAgIChFd2tDb29raWVNYW5hZ2VyKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlci5jcHA6CisgICAgICAgIChFd2tEYXRhYmFz
ZU1hbmFnZXI6OkV3a0RhdGFiYXNlTWFuYWdlcik6CisgICAgICAgIChFd2tEYXRhYmFzZU1hbmFn
ZXI6OmdldERhdGFiYXNlT3JpZ2lucyk6CisgICAgICAgIChFd2tEYXRhYmFzZU1hbmFnZXI6OmNy
ZWF0ZU9yaWdpbkxpc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19kYXRhYmFz
ZV9tYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2RhdGFiYXNlX21h
bmFnZXJfcHJpdmF0ZS5oOgorICAgICAgICAoRXdrRGF0YWJhc2VNYW5hZ2VyOjpjcmVhdGUpOgor
ICAgICAgICAoRXdrRGF0YWJhc2VNYW5hZ2VyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfZG93bmxvYWRfam9iLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Rv
d25sb2FkX2pvYl9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Vy
cm9yLmNwcDoKKyAgICAgICAgKEV3a0Vycm9yOjpFd2tFcnJvcik6CisgICAgICAgIChFd2tFcnJv
cjo6dXJsKToKKyAgICAgICAgKEV3a0Vycm9yOjpkZXNjcmlwdGlvbik6CisgICAgICAgIChFd2tF
cnJvcjo6ZG9tYWluKToKKyAgICAgICAgKEV3a0Vycm9yOjplcnJvckNvZGUpOgorICAgICAgICAo
RXdrRXJyb3I6OmlzQ2FuY2VsbGF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9l
d2tfZXJyb3IuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZXJyb3JfcHJpdmF0
ZS5oOgorICAgICAgICAoRXdrRXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChFd2tFcnJvcik6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2UuY3BwOgorICAg
ICAgICAoRXdrRmF2aWNvbkRhdGFiYXNlOjpFd2tGYXZpY29uRGF0YWJhc2UpOgorICAgICAgICAo
RXdrRmF2aWNvbkRhdGFiYXNlOjp+RXdrRmF2aWNvbkRhdGFiYXNlKToKKyAgICAgICAgKEV3a0Zh
dmljb25EYXRhYmFzZTo6aWNvblVSTEZvclBhZ2VVUkwpOgorICAgICAgICAoRXdrRmF2aWNvbkRh
dGFiYXNlOjp3YXRjaENoYW5nZXMpOgorICAgICAgICAoRXdrRmF2aWNvbkRhdGFiYXNlOjp1bndh
dGNoQ2hhbmdlcyk6CisgICAgICAgIChFd2tGYXZpY29uRGF0YWJhc2U6Omljb25Gb3JQYWdlVVJM
KToKKyAgICAgICAgKEV3a0Zhdmljb25EYXRhYmFzZTo6ZGlkQ2hhbmdlSWNvbkZvclBhZ2VVUkwp
OgorICAgICAgICAoRXdrRmF2aWNvbkRhdGFiYXNlOjpnZXRJY29uU3VyZmFjZVN5bmNocm9ub3Vz
bHkpOgorICAgICAgICAoRXdrRmF2aWNvbkRhdGFiYXNlOjppY29uRGF0YVJlYWR5Rm9yUGFnZVVS
TCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2UuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFzZV9wcml2YXRl
Lmg6CisgICAgICAgIChFd2tGYXZpY29uRGF0YWJhc2U6OmNyZWF0ZSk6CisgICAgICAgIChFd2tG
YXZpY29uRGF0YWJhc2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2No
b29zZXJfcmVxdWVzdC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19maWxlX2No
b29zZXJfcmVxdWVzdF9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9ld2tfaW50ZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2ludGVudF9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVu
dF9zZXJ2aWNlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2
aWNlX3ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlv
bl9kYXRhLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmlnYXRpb25fZGF0
YV9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmlnYXRpb25f
cG9saWN5X2RlY2lzaW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmln
YXRpb25fcG9saWN5X2RlY2lzaW9uX3ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfb2JqZWN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX29iamVj
dF9wcml2YXRlLmg6CisgICAgICAgIChFd2tPYmplY3Q6On5Fd2tPYmplY3QpOgorICAgICAgICAo
ZXdrX29iamVjdF9pc19vZl90eXBlKToKKyAgICAgICAgKGV3a19vYmplY3RfY2FzdF9jaGVjayk6
CisgICAgICAgIChld2tfb2JqZWN0X2Nhc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZs
L2V3a19wb3B1cF9tZW51LmNwcDoKKyAgICAgICAgKEV3a1BvcHVwTWVudTo6RXdrUG9wdXBNZW51
KToKKyAgICAgICAgKEV3a1BvcHVwTWVudTo6fkV3a1BvcHVwTWVudSk6CisgICAgICAgIChFd2tQ
b3B1cE1lbnU6OmNsb3NlKToKKyAgICAgICAgKEV3a1BvcHVwTWVudTo6aXRlbXMpOgorICAgICAg
ICAoRXdrUG9wdXBNZW51OjpzZWxlY3RlZEluZGV4KToKKyAgICAgICAgKEV3a1BvcHVwTWVudTo6
c2V0U2VsZWN0ZWRJbmRleCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVw
X21lbnUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9pdGVt
LmNwcDoKKyAgICAgICAgKEV3a1BvcHVwTWVudUl0ZW06OkV3a1BvcHVwTWVudUl0ZW0pOgorICAg
ICAgICAoRXdrUG9wdXBNZW51SXRlbTo6dHlwZSk6CisgICAgICAgIChFd2tQb3B1cE1lbnVJdGVt
Ojp0ZXh0RGlyZWN0aW9uKToKKyAgICAgICAgKEV3a1BvcHVwTWVudUl0ZW06OnRleHQpOgorICAg
ICAgICAoRXdrUG9wdXBNZW51SXRlbTo6dG9vbHRpcFRleHQpOgorICAgICAgICAoRXdrUG9wdXBN
ZW51SXRlbTo6YWNjZXNzaWJpbGl0eVRleHQpOgorICAgICAgICAoRXdrUG9wdXBNZW51SXRlbTo6
aGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKToKKyAgICAgICAgKEV3a1BvcHVwTWVudUl0ZW06Omlz
RW5hYmxlZCk6CisgICAgICAgIChFd2tQb3B1cE1lbnVJdGVtOjppc0xhYmVsKToKKyAgICAgICAg
KEV3a1BvcHVwTWVudUl0ZW06OmlzU2VsZWN0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19wb3B1cF9tZW51X2l0ZW0uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9l
d2tfcG9wdXBfbWVudV9pdGVtX3ByaXZhdGUuaDoKKyAgICAgICAgKEV3a1BvcHVwTWVudUl0ZW06
OmNyZWF0ZSk6CisgICAgICAgIChFd2tQb3B1cE1lbnVJdGVtKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9wcml2YXRlLmg6CisgICAgICAgIChFd2tQb3B1cE1l
bnU6OmNyZWF0ZSk6CisgICAgICAgIChFd2tQb3B1cE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL2V3a19yZXNvdXJjZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a19yZXNvdXJjZV9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Nl
Y3VyaXR5X29yaWdpbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1cml0
eV9vcmlnaW5fcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0
aW5ncy5jcHA6CisgICAgICAgIChFd2tTZXR0aW5nczo6cHJlZmVyZW5jZXMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5ncy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a19zZXR0aW5nc19wcml2YXRlLmg6CisgICAgICAgIChFd2tTZXR0aW5nczo6Y3Jl
YXRlKToKKyAgICAgICAgKEV3a1NldHRpbmdzOjpFd2tTZXR0aW5ncyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3N0b3JhZ2VfbWFuYWdlci5jcHA6CisgICAgICAgIChFd2tTdG9y
YWdlTWFuYWdlcjo6RXdrU3RvcmFnZU1hbmFnZXIpOgorICAgICAgICAoRXdrU3RvcmFnZU1hbmFn
ZXI6OmdldFN0b3JhZ2VPcmlnaW5zKToKKyAgICAgICAgKEV3a1N0b3JhZ2VNYW5hZ2VyOjpjcmVh
dGVPcmlnaW5MaXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9t
YW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3N0b3JhZ2VfbWFuYWdl
cl9wcml2YXRlLmg6CisgICAgICAgIChFd2tTdG9yYWdlTWFuYWdlcjo6Y3JlYXRlKToKKyAgICAg
ICAgKEV3a1N0b3JhZ2VNYW5hZ2VyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dXJsX3JlcXVlc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVl
c3RfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVzcG9u
c2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlX3ByaXZh
dGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdF9w
cml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX29i
amVjdC5jcHA6CisgICAgICAgIChURVNUX0YpOgorCiAyMDEyLTExLTE4ICBZYWVsIEFoYXJvbiAg
PHlhZWwuYWhhcm9uQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIFdyb25nIHRyYW5z
Zm9ybSB3aGVuIHVzaW5nIHNvZnR3YXJlIHBhdGguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Q2FsbGJhY2tzLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Q2FsbGJhY2tzLmgKaW5kZXggOTg1MjU5OWEyNzgzYTYx
ZWE3N2M1N2RlYWY1MjFiMmM1MzU2ZmYzNC4uYjQxN2I3Y2NjMzVmMmJkY2M0NjVkYjI4MmUyY2Ix
MjU0ODBhOGUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXdrVmlld0NhbGxiYWNrcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V3a1ZpZXdDYWxsYmFja3MuaApAQCAtMzIsMjEgKzMyLDIxIEBACiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi10eXBlZGVm
IHN0cnVjdCBFd2tfT2JqZWN0IEV3a19BdXRoX1JlcXVlc3Q7Ci10eXBlZGVmIHN0cnVjdCBFd2tf
T2JqZWN0IEV3a19Eb3dubG9hZF9Kb2I7Ci10eXBlZGVmIHN0cnVjdCBFd2tfT2JqZWN0IEV3a19G
aWxlX0Nob29zZXJfUmVxdWVzdDsKLXR5cGVkZWYgc3RydWN0IEV3a19PYmplY3QgRXdrX0Zvcm1f
U3VibWlzc2lvbl9SZXF1ZXN0OwotdHlwZWRlZiBzdHJ1Y3QgRXdrX09iamVjdCBFd2tfTmF2aWdh
dGlvbl9Qb2xpY3lfRGVjaXNpb247Ci10eXBlZGVmIHN0cnVjdCBFd2tfT2JqZWN0IEV3a19SZXNv
dXJjZTsKK3R5cGVkZWYgc3RydWN0IEV3a09iamVjdCBFd2tfQXV0aF9SZXF1ZXN0OwordHlwZWRl
ZiBzdHJ1Y3QgRXdrT2JqZWN0IEV3a19Eb3dubG9hZF9Kb2I7Cit0eXBlZGVmIHN0cnVjdCBFd2tP
YmplY3QgRXdrX0ZpbGVfQ2hvb3Nlcl9SZXF1ZXN0OwordHlwZWRlZiBzdHJ1Y3QgRXdrT2JqZWN0
IEV3a19Gb3JtX1N1Ym1pc3Npb25fUmVxdWVzdDsKK3R5cGVkZWYgc3RydWN0IEV3a09iamVjdCBF
d2tfTmF2aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb247Cit0eXBlZGVmIHN0cnVjdCBFd2tPYmplY3Qg
RXdrX1Jlc291cmNlOwogI2lmIEVOQUJMRShXRUJfSU5URU5UUykKLXR5cGVkZWYgc3RydWN0IEV3
a19PYmplY3QgRXdrX0ludGVudDsKK3R5cGVkZWYgc3RydWN0IEV3a09iamVjdCBFd2tfSW50ZW50
OwogI2VuZGlmCiAjaWYgRU5BQkxFKFdFQl9JTlRFTlRTX1RBRykKLXR5cGVkZWYgc3RydWN0IEV3
a19PYmplY3QgRXdrX0ludGVudF9TZXJ2aWNlOwordHlwZWRlZiBzdHJ1Y3QgRXdrT2JqZWN0IEV3
a19JbnRlbnRfU2VydmljZTsKICNlbmRpZgordHlwZWRlZiBzdHJ1Y3QgRXdrRXJyb3IgRXdrX0Vy
cm9yOwogCiBzdHJ1Y3QgRXdrX0Rvd25sb2FkX0pvYl9FcnJvcjsKLXN0cnVjdCBFd2tfRXJyb3I7
CiBzdHJ1Y3QgRXdrX1Jlc291cmNlX1JlcXVlc3Q7CiBzdHJ1Y3QgRXdrX1Jlc291cmNlX0xvYWRf
UmVzcG9uc2U7CiBzdHJ1Y3QgRXdrX1Jlc291cmNlX0xvYWRfRXJyb3I7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuaAppbmRleCA3MjgwMGJhZWQ3ZGQ5
NzNiMWNkYjFhYWY2ZmFlNjVjOWQ3MGM0ZjQ4Li4yNGNhNGZkYmJjODI5ZmNkZDk5ZjAxOGNkZWMy
Y2FiOTQwYzk4Y2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXdJbXBsLmgKQEAgLTcyLDEwICs3MiwxMCBAQCBjbGFzcyBJbnRTaXplOwogfQogCiBjbGFz
cyBFd2tDb250ZXh0OwotY2xhc3MgRXdrX0JhY2tfRm9yd2FyZF9MaXN0OwotY2xhc3MgRXdrX0Nv
bG9yX1BpY2tlcjsKLWNsYXNzIEV3a19Qb3B1cF9NZW51OwotY2xhc3MgRXdrX1NldHRpbmdzOwor
Y2xhc3MgRXdrQmFja0ZvcndhcmRMaXN0OworY2xhc3MgRXdrQ29sb3JQaWNrZXI7CitjbGFzcyBF
d2tQb3B1cE1lbnU7CitjbGFzcyBFd2tTZXR0aW5nczsKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9D
T01QT1NJVElORykKIHR5cGVkZWYgc3RydWN0IF9FdmFzX0dMX0NvbnRleHQgRXZhc19HTF9Db250
ZXh0OwpAQCAtMTAwLDggKzEwMCw4IEBAIHB1YmxpYzoKICAgICBXS1BhZ2VSZWYgd2tQYWdlKCk7
CiAgICAgV2ViS2l0OjpXZWJQYWdlUHJveHkqIHBhZ2UoKSB7IHJldHVybiBtX3BhZ2VQcm94eS5n
ZXQoKTsgfQogICAgIEV3a0NvbnRleHQqIGV3a0NvbnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQu
Z2V0KCk7IH0KLSAgICBFd2tfU2V0dGluZ3MqIHNldHRpbmdzKCkgeyByZXR1cm4gbV9zZXR0aW5n
cy5nZXQoKTsgfQotICAgIEV3a19CYWNrX0ZvcndhcmRfTGlzdCogYmFja0ZvcndhcmRMaXN0KCkg
eyByZXR1cm4gbV9iYWNrRm9yd2FyZExpc3QuZ2V0KCk7IH0KKyAgICBFd2tTZXR0aW5ncyogc2V0
dGluZ3MoKSB7IHJldHVybiBtX3NldHRpbmdzLmdldCgpOyB9CisgICAgRXdrQmFja0ZvcndhcmRM
aXN0KiBiYWNrRm9yd2FyZExpc3QoKSB7IHJldHVybiBtX2JhY2tGb3J3YXJkTGlzdC5nZXQoKTsg
fQogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBzaXplKCkgY29uc3Q7CiAgICAgYm9vbCBpc0ZvY3Vz
ZWQoKSBjb25zdDsKQEAgLTIzOCwxMiArMjM4LDEyIEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFZJ
QlJBVElPTikKICAgICBPd25QdHI8V2ViS2l0OjpWaWJyYXRpb25DbGllbnRFZmw+IG1fdmlicmF0
aW9uQ2xpZW50OwogI2VuZGlmCi0gICAgT3duUHRyPEV3a19CYWNrX0ZvcndhcmRfTGlzdD4gbV9i
YWNrRm9yd2FyZExpc3Q7CisgICAgT3duUHRyPEV3a0JhY2tGb3J3YXJkTGlzdD4gbV9iYWNrRm9y
d2FyZExpc3Q7CiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgZmxvYXQgbV9zY2Fs
ZUZhY3RvcjsKICAgICBXZWJDb3JlOjpJbnRQb2ludCBtX3Njcm9sbFBvc2l0aW9uOwogI2VuZGlm
Ci0gICAgT3duUHRyPEV3a19TZXR0aW5ncz4gbV9zZXR0aW5nczsKKyAgICBPd25QdHI8RXdrU2V0
dGluZ3M+IG1fc2V0dGluZ3M7CiAgICAgY29uc3Qgdm9pZCogbV9jdXJzb3JJZGVudGlmaWVyOyAv
LyBUaGlzIGlzIGFuIGFkZHJlc3MsIGRvIG5vdCBmcmVlIGl0LgogICAgIFdLRWluYVNoYXJlZFN0
cmluZyBtX2Zhdmljb25VUkw7CiAgICAgV0tFaW5hU2hhcmVkU3RyaW5nIG1fdXJsOwpAQCAtMjU1
LDkgKzI1NSw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoRXZlbnRzRW5hYmxlZDsKICNl
bmRpZgogICAgIFdlYkNvcmU6OlRpbWVyPEV3a1ZpZXdJbXBsPiBtX2Rpc3BsYXlUaW1lcjsKLSAg
ICBPd25QdHI8RXdrX1BvcHVwX01lbnU+IG1fcG9wdXBNZW51OworICAgIE93blB0cjxFd2tQb3B1
cE1lbnU+IG1fcG9wdXBNZW51OwogICAgIE93blB0cjxXZWJLaXQ6OklucHV0TWV0aG9kQ29udGV4
dEVmbD4gbV9pbnB1dE1ldGhvZENvbnRleHQ7Ci0gICAgT3duUHRyPEV3a19Db2xvcl9QaWNrZXI+
IG1fY29sb3JQaWNrZXI7CisgICAgT3duUHRyPEV3a0NvbG9yUGlja2VyPiBtX2NvbG9yUGlja2Vy
OwogICAgIGJvb2wgbV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQ7CiAgICAgYm9vbCBtX3NldERyYXdz
QmFja2dyb3VuZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfYXV0aF9yZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfYXV0aF9yZXF1ZXN0LmgKaW5kZXggNzhhYmIyYjM4YmY3MzlkN2Q5Y2I4ZmNlYTQ2ZDEy
ODc5MDQ1NGJkOC4uMDEwZDQ0YzA4ZmUzNGZmM2Y2M2ExYWUxNjE4MzQ0YzRhMTViZjM4MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2F1dGhfcmVxdWVz
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19hdXRoX3JlcXVl
c3QuaApAQCAtNDIsNyArNDIsNyBAQCBleHRlcm4gIkMiIHsKICAqCiAgKiBAc2VlIEV3a19PYmpl
Y3QKICAqLwotdHlwZWRlZiBzdHJ1Y3QgRXdrX09iamVjdCBFd2tfQXV0aF9SZXF1ZXN0OwordHlw
ZWRlZiBzdHJ1Y3QgRXdrT2JqZWN0IEV3a19BdXRoX1JlcXVlc3Q7CiAKIC8qKgogICogUXVlcmll
cyB0aGUgc3VnZ2VzdGVkIHVzZXJuYW1lIHRvIGJlIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW5nLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2F1dGhfcmVx
dWVzdF9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYXV0
aF9yZXF1ZXN0X3ByaXZhdGUuaAppbmRleCBmMjhkNTFmMDk3YWZjYjg1MjJmNzc0ODQ1ZmM4NWMw
ZjZhOTBmMDQ2Li45ZGJiZDYyZTA4ZmFlZGFjYmNmY2U4ZDgyM2IwOGUwYjU5NmM3MWM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYXV0aF9yZXF1ZXN0
X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYXV0
aF9yZXF1ZXN0X3ByaXZhdGUuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk7CiB9CiAKLWNsYXNzIEV3a0F1dGhS
ZXF1ZXN0IDogcHVibGljIEV3a19PYmplY3QgeworY2xhc3MgRXdrQXV0aFJlcXVlc3QgOiBwdWJs
aWMgRXdrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBFV0tfT0JKRUNUX0RFQ0xBUkUoRXdrQXV0aFJl
cXVlc3QpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19iYWNrX2ZvcndhcmRfbGlzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfYmFja19mb3J3YXJkX2xpc3QuY3BwCmluZGV4IGRkM2FlNjIzYmNkYTBiNDA1MTcwMDgz
ZmZlY2I4NzcwM2UzYzM1YmIuLmZiOWQ5YjQwOGNlYjY2MDRjMTRjYjJiOTM2NmU5YzI5YmViZGJh
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNr
X2ZvcndhcmRfbGlzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2JhY2tfZm9yd2FyZF9saXN0LmNwcApAQCAtMzUsMzggKzM1LDM4IEBACiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7CiAKLUV3a19CYWNrX0ZvcndhcmRfTGlzdDo6RXdrX0JhY2tfRm9yd2Fy
ZF9MaXN0KFdLQmFja0ZvcndhcmRMaXN0UmVmIGxpc3RSZWYpCitFd2tCYWNrRm9yd2FyZExpc3Q6
OkV3a0JhY2tGb3J3YXJkTGlzdChXS0JhY2tGb3J3YXJkTGlzdFJlZiBsaXN0UmVmKQogICAgIDog
bV93a0xpc3QobGlzdFJlZikKIHsgfQogCi1Fd2tfQmFja19Gb3J3YXJkX0xpc3RfSXRlbSogRXdr
X0JhY2tfRm9yd2FyZF9MaXN0OjpuZXh0SXRlbSgpIGNvbnN0CitFd2tfQmFja19Gb3J3YXJkX0xp
c3RfSXRlbSogRXdrQmFja0ZvcndhcmRMaXN0OjpuZXh0SXRlbSgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIGdldEZyb21DYWNoZU9yQ3JlYXRlKFdLQmFja0ZvcndhcmRMaXN0R2V0Rm9yd2FyZEl0ZW0o
bV93a0xpc3QuZ2V0KCkpKTsKIH0KIAotRXdrX0JhY2tfRm9yd2FyZF9MaXN0X0l0ZW0qIEV3a19C
YWNrX0ZvcndhcmRfTGlzdDo6cHJldmlvdXNJdGVtKCkgY29uc3QKK0V3a19CYWNrX0ZvcndhcmRf
TGlzdF9JdGVtKiBFd2tCYWNrRm9yd2FyZExpc3Q6OnByZXZpb3VzSXRlbSgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGdldEZyb21DYWNoZU9yQ3JlYXRlKFdLQmFja0ZvcndhcmRMaXN0R2V0QmFja0l0
ZW0obV93a0xpc3QuZ2V0KCkpKTsKIH0KIAotRXdrX0JhY2tfRm9yd2FyZF9MaXN0X0l0ZW0qIEV3
a19CYWNrX0ZvcndhcmRfTGlzdDo6Y3VycmVudEl0ZW0oKSBjb25zdAorRXdrX0JhY2tfRm9yd2Fy
ZF9MaXN0X0l0ZW0qIEV3a0JhY2tGb3J3YXJkTGlzdDo6Y3VycmVudEl0ZW0oKSBjb25zdAogewog
ICAgIHJldHVybiBnZXRGcm9tQ2FjaGVPckNyZWF0ZShXS0JhY2tGb3J3YXJkTGlzdEdldEN1cnJl
bnRJdGVtKG1fd2tMaXN0LmdldCgpKSk7CiB9CiAKLUV3a19CYWNrX0ZvcndhcmRfTGlzdF9JdGVt
KiBFd2tfQmFja19Gb3J3YXJkX0xpc3Q6Oml0ZW1BdChpbnQgaW5kZXgpIGNvbnN0CitFd2tfQmFj
a19Gb3J3YXJkX0xpc3RfSXRlbSogRXdrQmFja0ZvcndhcmRMaXN0OjppdGVtQXQoaW50IGluZGV4
KSBjb25zdAogewogICAgIHJldHVybiBnZXRGcm9tQ2FjaGVPckNyZWF0ZShXS0JhY2tGb3J3YXJk
TGlzdEdldEl0ZW1BdEluZGV4KG1fd2tMaXN0LmdldCgpLCBpbmRleCkpOwogfQogCi11bnNpZ25l
ZCBFd2tfQmFja19Gb3J3YXJkX0xpc3Q6OnNpemUoKSBjb25zdAordW5zaWduZWQgRXdrQmFja0Zv
cndhcmRMaXN0OjpzaXplKCkgY29uc3QKIHsKICAgICBjb25zdCB1bnNpZ25lZCBjdXJyZW50SXRl
bSA9IFdLQmFja0ZvcndhcmRMaXN0R2V0Q3VycmVudEl0ZW0obV93a0xpc3QuZ2V0KCkpID8gMSA6
IDA7CiAKICAgICByZXR1cm4gV0tCYWNrRm9yd2FyZExpc3RHZXRCYWNrTGlzdENvdW50KG1fd2tM
aXN0LmdldCgpKSArIFdLQmFja0ZvcndhcmRMaXN0R2V0Rm9yd2FyZExpc3RDb3VudChtX3drTGlz
dC5nZXQoKSkgKyBjdXJyZW50SXRlbTsKIH0KIAotV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gRXdr
X0JhY2tfRm9yd2FyZF9MaXN0OjpiYWNrTGlzdChpbnQgbGltaXQpIGNvbnN0CitXS1JldGFpblB0
cjxXS0FycmF5UmVmPiBFd2tCYWNrRm9yd2FyZExpc3Q6OmJhY2tMaXN0KGludCBsaW1pdCkgY29u
c3QKIHsKICAgICBpZiAobGltaXQgPT0gLTEpCiAgICAgICAgIGxpbWl0ID0gV0tCYWNrRm9yd2Fy
ZExpc3RHZXRCYWNrTGlzdENvdW50KG1fd2tMaXN0LmdldCgpKTsKQEAgLTc1LDcgKzc1LDcgQEAg
V0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gRXdrX0JhY2tfRm9yd2FyZF9MaXN0OjpiYWNrTGlzdChp
bnQgbGltaXQpIGNvbnN0CiAgICAgcmV0dXJuIGFkb3B0V0soV0tCYWNrRm9yd2FyZExpc3RDb3B5
QmFja0xpc3RXaXRoTGltaXQobV93a0xpc3QuZ2V0KCksIGxpbWl0KSk7CiB9CiAKLVdLUmV0YWlu
UHRyPFdLQXJyYXlSZWY+IEV3a19CYWNrX0ZvcndhcmRfTGlzdDo6Zm9yd2FyZExpc3QoaW50IGxp
bWl0KSBjb25zdAorV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gRXdrQmFja0ZvcndhcmRMaXN0Ojpm
b3J3YXJkTGlzdChpbnQgbGltaXQpIGNvbnN0CiB7CiAgICAgaWYgKGxpbWl0ID09IC0xKQogICAg
ICAgICBsaW1pdCA9IFdLQmFja0ZvcndhcmRMaXN0R2V0Rm9yd2FyZExpc3RDb3VudChtX3drTGlz
dC5nZXQoKSk7CkBAIC04NCw3ICs4NCw3IEBAIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IEV3a19C
YWNrX0ZvcndhcmRfTGlzdDo6Zm9yd2FyZExpc3QoaW50IGxpbWl0KSBjb25zdAogICAgIHJldHVy
biBhZG9wdFdLKFdLQmFja0ZvcndhcmRMaXN0Q29weUZvcndhcmRMaXN0V2l0aExpbWl0KG1fd2tM
aXN0LmdldCgpLCBsaW1pdCkpOwogfQogCi1Fd2tfQmFja19Gb3J3YXJkX0xpc3RfSXRlbSogRXdr
X0JhY2tfRm9yd2FyZF9MaXN0OjpnZXRGcm9tQ2FjaGVPckNyZWF0ZShXS0JhY2tGb3J3YXJkTGlz
dEl0ZW1SZWYgd2tJdGVtKSBjb25zdAorRXdrX0JhY2tfRm9yd2FyZF9MaXN0X0l0ZW0qIEV3a0Jh
Y2tGb3J3YXJkTGlzdDo6Z2V0RnJvbUNhY2hlT3JDcmVhdGUoV0tCYWNrRm9yd2FyZExpc3RJdGVt
UmVmIHdrSXRlbSkgY29uc3QKIHsKICAgICBpZiAoIXdrSXRlbSkKICAgICAgICAgcmV0dXJuIDA7
CkBAIC05OCw3ICs5OCw3IEBAIEV3a19CYWNrX0ZvcndhcmRfTGlzdF9JdGVtKiBFd2tfQmFja19G
b3J3YXJkX0xpc3Q6OmdldEZyb21DYWNoZU9yQ3JlYXRlKFdLQmFja0ZvCiAgICAgcmV0dXJuIGl0
ZW0uZ2V0KCk7CiB9CiAKLUVpbmFfTGlzdCogRXdrX0JhY2tfRm9yd2FyZF9MaXN0OjpjcmVhdGVF
aW5hTGlzdChXS0FycmF5UmVmIHdrTGlzdCkgY29uc3QKK0VpbmFfTGlzdCogRXdrQmFja0Zvcndh
cmRMaXN0OjpjcmVhdGVFaW5hTGlzdChXS0FycmF5UmVmIHdrTGlzdCkgY29uc3QKIHsKICAgICBp
ZiAoIXdrTGlzdCkKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xMTksNyArMTE5LDcgQEAgRWluYV9M
aXN0KiBFd2tfQmFja19Gb3J3YXJkX0xpc3Q6OmNyZWF0ZUVpbmFMaXN0KFdLQXJyYXlSZWYgd2tM
aXN0KSBjb25zdAogICogQGludGVybmFsCiAgKiBVcGRhdGVzIGl0ZW1zIGNhY2hlLgogICovCi12
b2lkIEV3a19CYWNrX0ZvcndhcmRfTGlzdDo6dXBkYXRlKFdLQmFja0ZvcndhcmRMaXN0SXRlbVJl
ZiB3a0FkZGVkSXRlbSwgV0tBcnJheVJlZiB3a1JlbW92ZWRJdGVtcykKK3ZvaWQgRXdrQmFja0Zv
cndhcmRMaXN0Ojp1cGRhdGUoV0tCYWNrRm9yd2FyZExpc3RJdGVtUmVmIHdrQWRkZWRJdGVtLCBX
S0FycmF5UmVmIHdrUmVtb3ZlZEl0ZW1zKQogewogICAgIGlmICh3a0FkZGVkSXRlbSkgLy8gQ2hl
Y2tpbmcgYWxzbyBoZXJlIHRvIGF2b2lkIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCB3
YXJuaW5ncy4KICAgICAgICAgZ2V0RnJvbUNhY2hlT3JDcmVhdGUod2tBZGRlZEl0ZW0pOyAvLyBQ
dXRzIG5ldyBpdGVtIHRvIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNrX2ZvcndhcmRfbGlzdC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0LmgKaW5kZXggOWE3OTFiYTJk
YzY2OWYyYTkzNmQwNDE4MDM2M2U5YjM3NGZmMWY5My4uOTNkNzI3Njk4ZTU1MmYxZjI1NjQ5ZTk4
ZGVmZjE2MWM2NzM5MjIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0LmgKQEAgLTM4LDcgKzM4LDcgQEAgZXh0
ZXJuICJDIiB7CiAjZW5kaWYKIAogLyoqIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEV3a19CYWNr
X0ZvcndhcmRfTGlzdCAqLwotdHlwZWRlZiBzdHJ1Y3QgRXdrX0JhY2tfRm9yd2FyZF9MaXN0IEV3
a19CYWNrX0ZvcndhcmRfTGlzdDsKK3R5cGVkZWYgc3RydWN0IEV3a0JhY2tGb3J3YXJkTGlzdCBF
d2tfQmFja19Gb3J3YXJkX0xpc3Q7CiAKIC8qKgogICogUmV0dXJucyB0aGUgY3VycmVudCBpdGVt
IGluIHRoZSBAYSBsaXN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW0uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19iYWNrX2ZvcndhcmRfbGlzdF9pdGVtLmgKaW5kZXggMThiYzYxMTQ2
NjA2ZDMwMDg2Mzc1NmVhZjkxZmQzNDE5NmQ2MjNiZi4uNDZjNzVlMzQwOTE4NDA4ZTMyYTE5MjFm
ZDVlZjkzMzgzNWIwYzUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJkX2xpc3RfaXRlbS5oCkBAIC00Miw3ICs0
Miw3IEBAIGV4dGVybiAiQyIgewogICoKICAqIEBzZWUgRXdrX09iamVjdAogICovCi10eXBlZGVm
IHN0cnVjdCBFd2tfT2JqZWN0IEV3a19CYWNrX0ZvcndhcmRfTGlzdF9JdGVtOwordHlwZWRlZiBz
dHJ1Y3QgRXdrT2JqZWN0IEV3a19CYWNrX0ZvcndhcmRfTGlzdF9JdGVtOwogCiAvKioKICAqIFJl
dHVybnMgVVJMIG9mIHRoZSBpdGVtLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fcHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fcHJp
dmF0ZS5oCmluZGV4IDg3NTI1MTY5YjQ5Yjk5MWFmMjFiNDc3YWQ1MjhlNDZmZTljOTdhNGUuLjgy
MjU1MzJjN2I2NzA2ZTdmNThhZjcwZTZlMjdiN2M4Zjg1NmQ0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNrX2ZvcndhcmRfbGlzdF9pdGVtX3By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19m
b3J3YXJkX2xpc3RfaXRlbV9wcml2YXRlLmgKQEAgLTM1LDcgKzM1LDcgQEAKICAqIFxzdHJ1Y3Qg
IEV3a19CYWNrX0ZvcndhcmRfTGlzdAogICogQGJyaWVmICAgQ29udGFpbnMgdGhlIEJhY2sgRm9y
d2FyZCBMaXN0IGRhdGEuCiAgKi8KLWNsYXNzIEV3a0JhY2tGb3J3YXJkTGlzdEl0ZW0gOiBwdWJs
aWMgRXdrX09iamVjdCB7CitjbGFzcyBFd2tCYWNrRm9yd2FyZExpc3RJdGVtIDogcHVibGljIEV3
a09iamVjdCB7CiBwdWJsaWM6CiAgICAgRVdLX09CSkVDVF9ERUNMQVJFKEV3a0JhY2tGb3J3YXJk
TGlzdEl0ZW0pCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19iYWNrX2ZvcndhcmRfbGlzdF9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJkX2xpc3RfcHJpdmF0ZS5oCmluZGV4IGZkMGRiMTI0
N2UzZjQwNWNlNGY5MjY5NTQ3YjYwMDZjNjBjMzI1MzAuLmU2NzZjY2NhNjFkYTE2YmVkODJhMTc5
YTQ0ZmQwNDJkYTEwNGUxMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19iYWNrX2ZvcndhcmRfbGlzdF9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0X3ByaXZhdGUuaApAQCAt
MzUsMTEgKzM1LDExIEBACiAKIHR5cGVkZWYgSGFzaE1hcDxXS0JhY2tGb3J3YXJkTGlzdEl0ZW1S
ZWYsIFJlZlB0cjxFd2tfQmFja19Gb3J3YXJkX0xpc3RfSXRlbT4gPiBJdGVtc01hcDsKIAotY2xh
c3MgRXdrX0JhY2tfRm9yd2FyZF9MaXN0IHsKK2NsYXNzIEV3a0JhY2tGb3J3YXJkTGlzdCB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RXdrX0JhY2tfRm9yd2FyZF9MaXN0PiBjcmVh
dGUoV0tCYWNrRm9yd2FyZExpc3RSZWYgbGlzdFJlZikKKyAgICBzdGF0aWMgUGFzc093blB0cjxF
d2tCYWNrRm9yd2FyZExpc3Q+IGNyZWF0ZShXS0JhY2tGb3J3YXJkTGlzdFJlZiBsaXN0UmVmKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tfQmFja19Gb3J3YXJkX0xpc3Qo
bGlzdFJlZikpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a0JhY2tGb3J3YXJkTGlz
dChsaXN0UmVmKSk7CiAgICAgfQogCiAgICAgRXdrX0JhY2tfRm9yd2FyZF9MaXN0X0l0ZW0qIHBy
ZXZpb3VzSXRlbSgpIGNvbnN0OwpAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgRWluYV9M
aXN0KiBjcmVhdGVFaW5hTGlzdChXS0FycmF5UmVmIHdrTGlzdCkgY29uc3Q7CiAKIHByaXZhdGU6
Ci0gICAgZXhwbGljaXQgRXdrX0JhY2tfRm9yd2FyZF9MaXN0KFdLQmFja0ZvcndhcmRMaXN0UmVm
IGxpc3RSZWYpOworICAgIGV4cGxpY2l0IEV3a0JhY2tGb3J3YXJkTGlzdChXS0JhY2tGb3J3YXJk
TGlzdFJlZiBsaXN0UmVmKTsKIAogICAgIEV3a19CYWNrX0ZvcndhcmRfTGlzdF9JdGVtKiBnZXRG
cm9tQ2FjaGVPckNyZWF0ZShXS0JhY2tGb3J3YXJkTGlzdEl0ZW1SZWYgd2tJdGVtKSBjb25zdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbG9y
X3BpY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29sb3Jf
cGlja2VyLmNwcAppbmRleCAyNGJkMGVkNjA0MjBlMGE5OGVhZDQ3ZjU0NmY1OTQxYjg1Mzk3ZWY4
Li40ZTZiZGU2MmNkNTUyOWRmMWJhZjk1ZDdhZDQyNWZmYzYzZDNlNjlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29sb3JfcGlja2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29sb3JfcGlja2VyLmNwcApA
QCAtMzEsMTkgKzMxLDE5IEBACiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogI2lmIEVOQUJM
RShJTlBVVF9UWVBFX0NPTE9SKQotRXdrX0NvbG9yX1BpY2tlcjo6RXdrX0NvbG9yX1BpY2tlcihX
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgY29sb3JQaWNrZXJMaXN0ZW5lciwgY29uc3Qg
Q29sb3ImIGluaXRpYWxDb2xvcikKK0V3a0NvbG9yUGlja2VyOjpFd2tDb2xvclBpY2tlcihXS0Nv
bG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYgY29sb3JQaWNrZXJMaXN0ZW5lciwgY29uc3QgQ29s
b3ImIGluaXRpYWxDb2xvcikKICAgICA6IG1fY29sb3JQaWNrZXJMaXN0ZW5lcihjb2xvclBpY2tl
ckxpc3RlbmVyKQogICAgICwgbV9jb2xvcihpbml0aWFsQ29sb3IpCiB7CiB9CiAKLXZvaWQgRXdr
X0NvbG9yX1BpY2tlcjo6c2V0Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQordm9pZCBFd2tDb2xv
clBpY2tlcjo6c2V0Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQogewogICAgIFdLUmV0YWluUHRy
PFdLU3RyaW5nUmVmPiBjb2xvclN0cmluZyhBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZyhjb2xvci5zZXJpYWxpemVkKCkudXRmOCgpLmRhdGEoKSkpOwogICAgIFdLQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclNldENvbG9yKG1fY29sb3JQaWNrZXJMaXN0ZW5lci5nZXQoKSwg
Y29sb3JTdHJpbmcuZ2V0KCkpOwogfQogCi1jb25zdCBDb2xvciYgRXdrX0NvbG9yX1BpY2tlcjo6
Y29sb3IoKSBjb25zdAorY29uc3QgQ29sb3ImIEV3a0NvbG9yUGlja2VyOjpjb2xvcigpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fY29sb3I7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29sb3JfcGlja2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfY29sb3JfcGlja2VyLmgKaW5kZXggZTEzYzM3ZTNlNDBiOWIyNThk
NGQyNjhhMDNhZWJlNjFmZGFiZjdjZS4uNTZmYjRkMDhkNjNmNmNiZGU4ZWJkNmFjNjhmMWI0MGE5
MzI2NTFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2NvbG9yX3BpY2tlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb2xvcl9waWNrZXIuaApAQCAtMjgsNyArMjgsNyBAQCBleHRlcm4gIkMiIHsKICNlbmRpZgog
CiAvKiogQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgRXdrX0NvbG9yX1BpY2tlci4gKi8KLXR5
cGVkZWYgc3RydWN0IEV3a19Db2xvcl9QaWNrZXIgRXdrX0NvbG9yX1BpY2tlcjsKK3R5cGVkZWYg
c3RydWN0IEV3a0NvbG9yUGlja2VyIEV3a19Db2xvcl9QaWNrZXI7CiAKIC8qKgogICogU2V0cyB0
aGUgc2VsZWN0ZWQgY29sb3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29sb3JfcGlja2VyX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19jb2xvcl9waWNrZXJfcHJpdmF0ZS5oCmluZGV4IDI3MzE0MGJkNDEx
YTA3ZDA3NjZiYjFlMTM0NmE1MTFhNWRmNGIxMTcuLjI5ZDAzNjA3OWU5ODI4NzU3MDNjMjQ1MTU0
M2M0ZTkxOWY3MTI1ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb2xvcl9waWNrZXJfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19jb2xvcl9waWNrZXJfcHJpdmF0ZS5oCkBAIC0yNywxOCArMjcsMTgg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KIAotY2xhc3MgRXdrX0NvbG9yX1BpY2tlciB7CitjbGFzcyBFd2tDb2xvclBpY2tlciB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RXdrX0NvbG9yX1BpY2tlcj4gY3JlYXRlKFdL
Q29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZiBjb2xvclBpY2tlckxpc3RlbmVyLCBjb25zdCBX
ZWJDb3JlOjpDb2xvciYgaW5pdGlhbENvbG9yKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0Nv
bG9yUGlja2VyPiBjcmVhdGUoV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGNvbG9yUGlj
a2VyTGlzdGVuZXIsIGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBpbml0aWFsQ29sb3IpCiAgICAgewot
ICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a19Db2xvcl9QaWNrZXIoY29sb3JQaWNrZXJM
aXN0ZW5lciwgaW5pdGlhbENvbG9yKSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXdr
Q29sb3JQaWNrZXIoY29sb3JQaWNrZXJMaXN0ZW5lciwgaW5pdGlhbENvbG9yKSk7CiAgICAgfQog
CiAgICAgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRD
b2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpOwogCiBwcml2YXRlOgotICAgIEV3a19Db2xvcl9Q
aWNrZXIoV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmIGNvbG9yUGlja2VyTGlzdGVuZXIs
IGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBpbml0aWFsQ29sb3IpOworICAgIEV3a0NvbG9yUGlja2Vy
KFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZiBjb2xvclBpY2tlckxpc3RlbmVyLCBjb25z
dCBXZWJDb3JlOjpDb2xvciYgaW5pdGlhbENvbG9yKTsKIAogICAgIFdLUmV0YWluUHRyPFdLQ29s
b3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZj4gbV9jb2xvclBpY2tlckxpc3RlbmVyOwogICAgIFdl
YkNvcmU6OkNvbG9yIG1fY29sb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHQuaAppbmRleCAwNzg4MDM4NDI0N2RlZjI4ZjU0MjgxZmUzMjEyNDdlM2Ni
NmQyNDNkLi5iZmI3ZmQyNjNiYzI5Mjg0ODRjNmZlNWRkMDhiZTFkODM4NTk1MmU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmgKQEAgLTU0LDcg
KzU0LDcgQEAgZXh0ZXJuICJDIiB7CiAgKgogICogQHNlZSBFd2tfT2JqZWN0CiAgKi8KLXR5cGVk
ZWYgc3RydWN0IEV3a19PYmplY3QgRXdrX0NvbnRleHQ7Cit0eXBlZGVmIHN0cnVjdCBFd2tPYmpl
Y3QgRXdrX0NvbnRleHQ7CiAKIC8qKgogICogXGVudW0gICAgRXdrX0NhY2hlX01vZGVsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9wcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9wcml2
YXRlLmgKaW5kZXggYzNiMGJhMmUwNzE1ODEzN2U3MDNiMTBmZGZlZTE0MWExYjI0ODk5Ni4uY2I1
MmE5MmIwNDI4YmI5ODJiYjcwMmUxMGU3N2Q2NjVkNDMyZDU4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaApAQCAt
MjksOCArMjksOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1jbGFzcyBFd2tfQ29v
a2llX01hbmFnZXI7Ci1jbGFzcyBFd2tfRmF2aWNvbl9EYXRhYmFzZTsKK2NsYXNzIEV3a0Nvb2tp
ZU1hbmFnZXI7CitjbGFzcyBFd2tGYXZpY29uRGF0YWJhc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogY2xhc3MgQ29udGV4dEhpc3RvcnlDbGllbnRFZmw7CkBAIC00Myw3ICs0Myw3IEBAIGNsYXNz
IE5ldHdvcmtJbmZvUHJvdmlkZXI7CiAjZW5kaWYKIH0KIAotY2xhc3MgRXdrQ29udGV4dCA6IHB1
YmxpYyBFd2tfT2JqZWN0IHsKK2NsYXNzIEV3a0NvbnRleHQgOiBwdWJsaWMgRXdrT2JqZWN0IHsK
IHB1YmxpYzoKICAgICBFV0tfT0JKRUNUX0RFQ0xBUkUoRXdrQ29udGV4dCkKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nvb2tpZV9tYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdlci5j
cHAKaW5kZXggZDM3ZGE2ZjU0NWYzNTI4ZjE1NDk0OGIxZTQ5YmM1NDUzNjE2YTMyOS4uODMxZDNi
YjAxNWFiZDNlMTc2ZWE4Y2YxZTk3YjVjZDMyZWU3NGQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nvb2tpZV9tYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29va2llX21hbmFnZXIuY3BwCkBAIC0z
OSw3ICszOSw3IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a19Db29raWVfTWFu
YWdlcjo6RXdrX0Nvb2tpZV9NYW5hZ2VyKFdLQ29va2llTWFuYWdlclJlZiBjb29raWVNYW5hZ2Vy
UmVmKQorRXdrQ29va2llTWFuYWdlcjo6RXdrQ29va2llTWFuYWdlcihXS0Nvb2tpZU1hbmFnZXJS
ZWYgY29va2llTWFuYWdlclJlZikKICAgICA6IG1fd2tDb29raWVNYW5hZ2VyKGNvb2tpZU1hbmFn
ZXJSZWYpCiB7CiAgICAgV0tDb29raWVNYW5hZ2VyQ2xpZW50IHdrQ29va2llTWFuYWdlckNsaWVu
dCA9IHsKQEAgLTUwLDEzICs1MCwxMyBAQCBFd2tfQ29va2llX01hbmFnZXI6OkV3a19Db29raWVf
TWFuYWdlcihXS0Nvb2tpZU1hbmFnZXJSZWYgY29va2llTWFuYWdlclJlZikKICAgICBXS0Nvb2tp
ZU1hbmFnZXJTZXRDbGllbnQobV93a0Nvb2tpZU1hbmFnZXIuZ2V0KCksICZ3a0Nvb2tpZU1hbmFn
ZXJDbGllbnQpOwogfQogCi1Fd2tfQ29va2llX01hbmFnZXI6On5Fd2tfQ29va2llX01hbmFnZXIo
KQorRXdrQ29va2llTWFuYWdlcjo6fkV3a0Nvb2tpZU1hbmFnZXIoKQogewogICAgIGlmIChpc1dh
dGNoaW5nRm9yQ2hhbmdlcygpKQogICAgICAgICBXS0Nvb2tpZU1hbmFnZXJTdG9wT2JzZXJ2aW5n
Q29va2llQ2hhbmdlcyhtX3drQ29va2llTWFuYWdlci5nZXQoKSk7CiB9CiAKLXZvaWQgRXdrX0Nv
b2tpZV9NYW5hZ2VyOjpzZXRQZXJzaXN0ZW50U3RvcmFnZShjb25zdCBTdHJpbmcmIGZpbGVuYW1l
LCBTb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlIHN0b3JhZ2UpCit2b2lkIEV3a0Nvb2tp
ZU1hbmFnZXI6OnNldFBlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIFNv
dXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUgc3RvcmFnZSkKIHsKICAgICBib29sIGlzV2F0
Y2hpbmdDaGFuZ2VzID0gaXNXYXRjaGluZ0ZvckNoYW5nZXMoKTsKICAgICBpZiAoaXNXYXRjaGlu
Z0NoYW5nZXMpCkBAIC02OCwyMiArNjgsMjIgQEAgdm9pZCBFd2tfQ29va2llX01hbmFnZXI6OnNl
dFBlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIFNvdXBDb29raWUKICAg
ICAgICAgV0tDb29raWVNYW5hZ2VyU3RhcnRPYnNlcnZpbmdDb29raWVDaGFuZ2VzKG1fd2tDb29r
aWVNYW5hZ2VyLmdldCgpKTsKIH0KIAotdm9pZCBFd2tfQ29va2llX01hbmFnZXI6OnNldEhUVFBB
Y2NlcHRQb2xpY3koV0tIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkKK3ZvaWQgRXdrQ29v
a2llTWFuYWdlcjo6c2V0SFRUUEFjY2VwdFBvbGljeShXS0hUVFBDb29raWVBY2NlcHRQb2xpY3kg
cG9saWN5KQogewogICAgIFdLQ29va2llTWFuYWdlclNldEhUVFBDb29raWVBY2NlcHRQb2xpY3ko
bV93a0Nvb2tpZU1hbmFnZXIuZ2V0KCksIHBvbGljeSk7CiB9CiAKLXZvaWQgRXdrX0Nvb2tpZV9N
YW5hZ2VyOjpjbGVhckhvc3RuYW1lQ29va2llcyhjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQordm9p
ZCBFd2tDb29raWVNYW5hZ2VyOjpjbGVhckhvc3RuYW1lQ29va2llcyhjb25zdCBTdHJpbmcmIGhv
c3RuYW1lKQogewogICAgIHRvSW1wbChtX3drQ29va2llTWFuYWdlci5nZXQoKSktPmRlbGV0ZUNv
b2tpZXNGb3JIb3N0bmFtZShob3N0bmFtZSk7CiB9CiAKLXZvaWQgRXdrX0Nvb2tpZV9NYW5hZ2Vy
OjpjbGVhckFsbENvb2tpZXMoKQordm9pZCBFd2tDb29raWVNYW5hZ2VyOjpjbGVhckFsbENvb2tp
ZXMoKQogewogICAgIFdLQ29va2llTWFuYWdlckRlbGV0ZUFsbENvb2tpZXMobV93a0Nvb2tpZU1h
bmFnZXIuZ2V0KCkpOwogfQogCi12b2lkIEV3a19Db29raWVfTWFuYWdlcjo6d2F0Y2hDaGFuZ2Vz
KGNvbnN0IENvb2tpZV9DaGFuZ2VfSGFuZGxlciYgY2hhbmdlSGFuZGxlcikKK3ZvaWQgRXdrQ29v
a2llTWFuYWdlcjo6d2F0Y2hDaGFuZ2VzKGNvbnN0IENvb2tpZV9DaGFuZ2VfSGFuZGxlciYgY2hh
bmdlSGFuZGxlcikKIHsKICAgICBtX2NoYW5nZUhhbmRsZXIgPSBjaGFuZ2VIYW5kbGVyOwogCkBA
IC05MywyMiArOTMsMjIgQEAgdm9pZCBFd2tfQ29va2llX01hbmFnZXI6OndhdGNoQ2hhbmdlcyhj
b25zdCBDb29raWVfQ2hhbmdlX0hhbmRsZXImIGNoYW5nZUhhbmRsZXIKICAgICAgICAgV0tDb29r
aWVNYW5hZ2VyU3RvcE9ic2VydmluZ0Nvb2tpZUNoYW5nZXMobV93a0Nvb2tpZU1hbmFnZXIuZ2V0
KCkpOwogfQogCi1ib29sIEV3a19Db29raWVfTWFuYWdlcjo6aXNXYXRjaGluZ0ZvckNoYW5nZXMo
KSBjb25zdAorYm9vbCBFd2tDb29raWVNYW5hZ2VyOjppc1dhdGNoaW5nRm9yQ2hhbmdlcygpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KG1fY2hhbmdlSGFuZGxlci5jYWxs
YmFjayk7CiB9CiAKLXZvaWQgRXdrX0Nvb2tpZV9NYW5hZ2VyOjpnZXRIb3N0TmFtZXNXaXRoQ29v
a2llcyhXS0Nvb2tpZU1hbmFnZXJHZXRDb29raWVIb3N0bmFtZXNGdW5jdGlvbiBjYWxsYmFjaywg
dm9pZCogdXNlckRhdGEpIGNvbnN0Cit2b2lkIEV3a0Nvb2tpZU1hbmFnZXI6OmdldEhvc3ROYW1l
c1dpdGhDb29raWVzKFdLQ29va2llTWFuYWdlckdldENvb2tpZUhvc3RuYW1lc0Z1bmN0aW9uIGNh
bGxiYWNrLCB2b2lkKiB1c2VyRGF0YSkgY29uc3QKIHsKICAgICBXS0Nvb2tpZU1hbmFnZXJHZXRI
b3N0bmFtZXNXaXRoQ29va2llcyhtX3drQ29va2llTWFuYWdlci5nZXQoKSwgdXNlckRhdGEsIGNh
bGxiYWNrKTsKIH0KIAotdm9pZCBFd2tfQ29va2llX01hbmFnZXI6OmdldEhUVFBBY2NlcHRQb2xp
Y3koV0tDb29raWVNYW5hZ2VyR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeUZ1bmN0aW9uIGNhbGxi
YWNrLCB2b2lkKiB1c2VyRGF0YSkgY29uc3QKK3ZvaWQgRXdrQ29va2llTWFuYWdlcjo6Z2V0SFRU
UEFjY2VwdFBvbGljeShXS0Nvb2tpZU1hbmFnZXJHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5RnVu
Y3Rpb24gY2FsbGJhY2ssIHZvaWQqIHVzZXJEYXRhKSBjb25zdAogewogICAgIFdLQ29va2llTWFu
YWdlckdldEhUVFBDb29raWVBY2NlcHRQb2xpY3kobV93a0Nvb2tpZU1hbmFnZXIuZ2V0KCksIHVz
ZXJEYXRhLCBjYWxsYmFjayk7CiB9CiAKLXZvaWQgRXdrX0Nvb2tpZV9NYW5hZ2VyOjpjb29raWVz
RGlkQ2hhbmdlKFdLQ29va2llTWFuYWdlclJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3Zv
aWQgRXdrQ29va2llTWFuYWdlcjo6Y29va2llc0RpZENoYW5nZShXS0Nvb2tpZU1hbmFnZXJSZWYs
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgRXdrX0Nvb2tpZV9NYW5hZ2VyKiBtYW5h
Z2VyID0gc3RhdGljX2Nhc3Q8RXdrX0Nvb2tpZV9NYW5hZ2VyKj4oY29uc3RfY2FzdDx2b2lkKj4o
Y2xpZW50SW5mbykpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfY29va2llX21hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb29raWVfbWFuYWdlci5oCmluZGV4IDBkMmE0YzY0Zjg3MzExYjVhMTRiNjYxMGEw
MzBkNmY0MDU2OWEzMGEuLjUyNTdiNzViNzA0ODM1ZWMwOTI3MTVjMmVlN2EzMDlhNTM1NThiYzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVf
bWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29r
aWVfbWFuYWdlci5oCkBAIC0zOSw3ICszOSw3IEBAIGV4dGVybiAiQyIgewogI2VuZGlmCiAKIC8q
KiBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBFd2tfQ29va2llX01hbmFnZXIgKi8KLXR5cGVkZWYg
c3RydWN0IEV3a19Db29raWVfTWFuYWdlciBFd2tfQ29va2llX01hbmFnZXI7Cit0eXBlZGVmIHN0
cnVjdCBFd2tDb29raWVNYW5hZ2VyIEV3a19Db29raWVfTWFuYWdlcjsKIAogLyoqCiAgKiBcZW51
bSAgICBFd2tfQ29va2llX0FjY2VwdF9Qb2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdlcl9wcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29va2llX21hbmFnZXJfcHJpdmF0ZS5oCmlu
ZGV4IDhjMzJmODkxYTMyMzUxMDI5MjE2YWU4ZmM5ZjgyMWY4ZjBkZjQ1MWMuLjVkZTMwNjA2YjM2
NDdmODMzYTBjYzBmMDI1MjcyMzVjZjAzNzAyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdlcl9wcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nvb2tpZV9tYW5hZ2VyX3ByaXZhdGUu
aApAQCAtNDgsMTQgKzQ4LDE0IEBAIHN0cnVjdCBDb29raWVfQ2hhbmdlX0hhbmRsZXIgewogICAg
IHsgfQogfTsKIAotY2xhc3MgRXdrX0Nvb2tpZV9NYW5hZ2VyIHsKK2NsYXNzIEV3a0Nvb2tpZU1h
bmFnZXIgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a19Db29raWVfTWFuYWdl
cj4gY3JlYXRlKFdLQ29va2llTWFuYWdlclJlZiBjb29raWVNYW5hZ2VyUmVmKQorICAgIHN0YXRp
YyBQYXNzT3duUHRyPEV3a0Nvb2tpZU1hbmFnZXI+IGNyZWF0ZShXS0Nvb2tpZU1hbmFnZXJSZWYg
Y29va2llTWFuYWdlclJlZikKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXdr
X0Nvb2tpZV9NYW5hZ2VyKGNvb2tpZU1hbmFnZXJSZWYpKTsKICAgICB9CiAKLSAgICB+RXdrX0Nv
b2tpZV9NYW5hZ2VyKCk7CisgICAgfkV3a0Nvb2tpZU1hbmFnZXIoKTsKIAogICAgIHZvaWQgc2V0
UGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgV2ViS2l0OjpTb3VwQ29v
a2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlIHN0b3JhZ2UpOwogCkBAIC02OSw3ICs2OSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHdhdGNoQ2hhbmdlcyhjb25zdCBDb29raWVfQ2hhbmdlX0hhbmRsZXIm
IGNoYW5nZUhhbmRsZXIpOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IEV3a19Db29raWVfTWFu
YWdlcihXS0Nvb2tpZU1hbmFnZXJSZWYgY29va2llTWFuYWdlclJlZik7CisgICAgZXhwbGljaXQg
RXdrQ29va2llTWFuYWdlcihXS0Nvb2tpZU1hbmFnZXJSZWYgY29va2llTWFuYWdlclJlZik7CiAK
ICAgICBib29sIGlzV2F0Y2hpbmdGb3JDaGFuZ2VzKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kYXRhYmFzZV9tYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kYXRhYmFzZV9tYW5hZ2VyLmNw
cAppbmRleCAzNDBjMWM1MDIxZDkyMjY5OWNkOGFhZDAyNDc3Y2IxMTE3YWUzMTFmLi44NWVmOTA2
NzcxOWZmOWQ4NTE1MDAxNTVlYTY4NWNmZTkyMDYwZWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2RhdGFiYXNlX21hbmFnZXIuY3BwCkBA
IC0zNywxNiArMzcsMTYgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAotRXdrX0RhdGFi
YXNlX01hbmFnZXI6OkV3a19EYXRhYmFzZV9NYW5hZ2VyKFdlYkRhdGFiYXNlTWFuYWdlclByb3h5
KiBkYXRhYmFzZU1hbmFnZXIpCitFd2tEYXRhYmFzZU1hbmFnZXI6OkV3a0RhdGFiYXNlTWFuYWdl
cihXZWJEYXRhYmFzZU1hbmFnZXJQcm94eSogZGF0YWJhc2VNYW5hZ2VyKQogICAgIDogbV9kYXRh
YmFzZU1hbmFnZXIoZGF0YWJhc2VNYW5hZ2VyKQogeyB9CiAKLXZvaWQgRXdrX0RhdGFiYXNlX01h
bmFnZXI6OmdldERhdGFiYXNlT3JpZ2lucyhXS0RhdGFiYXNlTWFuYWdlckdldERhdGFiYXNlT3Jp
Z2luc0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjb250ZXh0KSBjb25zdAordm9pZCBFd2tEYXRh
YmFzZU1hbmFnZXI6OmdldERhdGFiYXNlT3JpZ2lucyhXS0RhdGFiYXNlTWFuYWdlckdldERhdGFi
YXNlT3JpZ2luc0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjb250ZXh0KSBjb25zdAogewogICAg
IFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VPcmlnaW5zKHRvQVBJKG1fZGF0YWJhc2VNYW5h
Z2VyLmdldCgpKSwgY29udGV4dCwgY2FsbGJhY2spOwogfQogCi1FaW5hX0xpc3QqIEV3a19EYXRh
YmFzZV9NYW5hZ2VyOjpjcmVhdGVPcmlnaW5MaXN0KFdLQXJyYXlSZWYgb3JpZ2lucykgY29uc3QK
K0VpbmFfTGlzdCogRXdrRGF0YWJhc2VNYW5hZ2VyOjpjcmVhdGVPcmlnaW5MaXN0KFdLQXJyYXlS
ZWYgb3JpZ2lucykgY29uc3QKIHsKICAgICBFaW5hX0xpc3QqIG9yaWdpbkxpc3QgPSAwOwogICAg
IGNvbnN0IHNpemVfdCBsZW5ndGggPSBXS0FycmF5R2V0U2l6ZShvcmlnaW5zKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kYXRhYmFzZV9tYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdl
ci5oCmluZGV4IGRjODIzNmM1YmU5ZDk0MjA4NTZiZjBhZDcxOTBjMzExZTNhMTRhOTAuLjdjZTM0
OGRhYTRmZjQ3Y2UzMTlmMmExMjhkODhmNjRjNjgxMDlhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kYXRhYmFzZV9tYW5hZ2VyLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2RhdGFiYXNlX21hbmFnZXIuaApAQCAt
NDEsNyArNDEsNyBAQCBleHRlcm4gIkMiIHsKICNlbmRpZgogCiAvKiogQ3JlYXRlcyBhIHR5cGUg
bmFtZSBmb3IgRXdrX0RhdGFiYXNlX01hbmFnZXIuICovCi10eXBlZGVmIHN0cnVjdCBFd2tfRGF0
YWJhc2VfTWFuYWdlciBFd2tfRGF0YWJhc2VfTWFuYWdlcjsKK3R5cGVkZWYgc3RydWN0IEV3a0Rh
dGFiYXNlTWFuYWdlciBFd2tfRGF0YWJhc2VfTWFuYWdlcjsKIAogLyoqCiAgKiBAdHlwZWRlZiBF
d2tfRGF0YWJhc2VfT3JpZ2luc19HZXRfQ2IgRXdrX0RhdGFiYXNlX09yaWdpbnNfR2V0X0NiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2Vf
bWFuYWdlcl9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
ZGF0YWJhc2VfbWFuYWdlcl9wcml2YXRlLmgKaW5kZXggMzQyNDY2OGMyZTU2OWM1ZDg4N2FmYTBl
NWZjYzFiOTlhODNkZDQyYi4uZWVlNDkyNDEyYTNmNTYyODQ5ODBlMGFjYTA2YmVjYTFlNWNjZDI0
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2RhdGFi
YXNlX21hbmFnZXJfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19kYXRhYmFzZV9tYW5hZ2VyX3ByaXZhdGUuaApAQCAtMzUsMTkgKzM1LDE5IEBACiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLWNsYXNzIEV3a19EYXRhYmFzZV9NYW5hZ2VyIHsK
K2NsYXNzIEV3a0RhdGFiYXNlTWFuYWdlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25Q
dHI8RXdrX0RhdGFiYXNlX01hbmFnZXI+IGNyZWF0ZShQYXNzUmVmUHRyPFdlYkNvbnRleHQ+IGNv
bnRleHQpCisgICAgc3RhdGljIFBhc3NPd25QdHI8RXdrRGF0YWJhc2VNYW5hZ2VyPiBjcmVhdGUo
UGFzc1JlZlB0cjxXZWJDb250ZXh0PiBjb250ZXh0KQogICAgIHsKICAgICAgICAgQVNTRVJUKGNv
bnRleHQpOwotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a19EYXRhYmFzZV9NYW5hZ2Vy
KGNvbnRleHQtPmRhdGFiYXNlTWFuYWdlclByb3h5KCkpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBFd2tEYXRhYmFzZU1hbmFnZXIoY29udGV4dC0+ZGF0YWJhc2VNYW5hZ2VyUHJveHko
KSkpOwogICAgIH0KIAogICAgIEVpbmFfTGlzdCogY3JlYXRlT3JpZ2luTGlzdChXS0FycmF5UmVm
IHdrTGlzdCkgY29uc3Q7CiAgICAgdm9pZCBnZXREYXRhYmFzZU9yaWdpbnMoV0tEYXRhYmFzZU1h
bmFnZXJHZXREYXRhYmFzZU9yaWdpbnNGdW5jdGlvbiBjYWxsYmFjaywgdm9pZCogY29udGV4dCkg
Y29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRXdrX0RhdGFiYXNlX01hbmFnZXIoV2Vi
RGF0YWJhc2VNYW5hZ2VyUHJveHkqKTsKKyAgICBleHBsaWNpdCBFd2tEYXRhYmFzZU1hbmFnZXIo
V2ViRGF0YWJhc2VNYW5hZ2VyUHJveHkqKTsKIAogICAgIFJlZlB0cjxXZWJEYXRhYmFzZU1hbmFn
ZXJQcm94eT4gbV9kYXRhYmFzZU1hbmFnZXI7CiAgICAgbXV0YWJsZSBIYXNoTWFwPFdLU2VjdXJp
dHlPcmlnaW5SZWYsIFJlZlB0cjxFd2tfU2VjdXJpdHlfT3JpZ2luPiA+IG1fd3JhcHBlckNhY2hl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Rvd25s
b2FkX2pvYi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Rvd25sb2Fk
X2pvYi5oCmluZGV4IDQ3ODRmYzU5ODI1NWI2ODBiMjRhMWIwMjk0NDc5MTliMzQzOWIxNzMuLjYx
NjA5MDRhYWRlMDhjZmQ3NmY2OTA5YjMxYmZiNzkyMjRkNzZlOTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kb3dubG9hZF9qb2IuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxvYWRfam9iLmgKQEAgLTQ4LDcg
KzQ4LDcgQEAgZXh0ZXJuICJDIiB7CiAgKgogICogQHNlZSBFd2tfT2JqZWN0CiAgKi8KLXR5cGVk
ZWYgc3RydWN0IEV3a19PYmplY3QgRXdrX0Rvd25sb2FkX0pvYjsKK3R5cGVkZWYgc3RydWN0IEV3
a09iamVjdCBFd2tfRG93bmxvYWRfSm9iOwogCiAvLy8gRGVmaW5lcyB0aGUgcG9zc2libGUgc3Rh
dGVzIG9mIGEgZG93bmxvYWQuCiBlbnVtIEV3a19Eb3dubG9hZF9Kb2JfU3RhdGUgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Rvd25sb2FkX2pvYl9w
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxvYWRf
am9iX3ByaXZhdGUuaAppbmRleCBkOTAzODc0ZTY0N2E0ODRhNmU1MDEwNzQwMGE5ODE5NjRhZTRh
ODQxLi41YjZhNTNmOWFhZWYwN2VkZjQzYzA5ZTA5OWZkODM1MGE4MGJlMWU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxvYWRfam9iX3ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxvYWRf
am9iX3ByaXZhdGUuaApAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBEb3dubG9hZFByb3h5OwogCiBj
bGFzcyBFd2tWaWV3SW1wbDsKIAotY2xhc3MgRXdrRG93bmxvYWRKb2IgOiBwdWJsaWMgRXdrX09i
amVjdCB7CitjbGFzcyBFd2tEb3dubG9hZEpvYiA6IHB1YmxpYyBFd2tPYmplY3QgewogcHVibGlj
OgogICAgIEVXS19PQkpFQ1RfREVDTEFSRShFd2tEb3dubG9hZEpvYikKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Vycm9yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19lcnJvci5jcHAKaW5kZXggYzNiOTJmZDUyOWFm
NzY3MWI0MDFhZjEwNzExMTYxYTQ4MmRjZjg4ZS4uY2I5ZDY4ZTFjYWY1ZTkwZDdkNTQ1YzYzN2Y4
ZTQ1OWE1ZTk5MzM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2Vycm9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfZXJyb3IuY3BwCkBAIC0zNiwzNCArMzYsMzQgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAotRXdrX0Vycm9yOjpFd2tfRXJyb3IoV0tFcnJv
clJlZiBlcnJvclJlZikKK0V3a0Vycm9yOjpFd2tFcnJvcihXS0Vycm9yUmVmIGVycm9yUmVmKQog
ICAgIDogbV93a0Vycm9yKGVycm9yUmVmKQogICAgICwgbV91cmwoQWRvcHRXSywgV0tFcnJvckNv
cHlGYWlsaW5nVVJMKGVycm9yUmVmKSkKICAgICAsIG1fZGVzY3JpcHRpb24oQWRvcHRXSywgV0tF
cnJvckNvcHlMb2NhbGl6ZWREZXNjcmlwdGlvbihlcnJvclJlZikpCiB7IH0KIAotY29uc3QgY2hh
ciogRXdrX0Vycm9yOjp1cmwoKSBjb25zdAorY29uc3QgY2hhciogRXdrRXJyb3I6OnVybCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fdXJsOwogfQogCi1jb25zdCBjaGFyKiBFd2tfRXJyb3I6OmRl
c2NyaXB0aW9uKCkgY29uc3QKK2NvbnN0IGNoYXIqIEV3a0Vycm9yOjpkZXNjcmlwdGlvbigpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fZGVzY3JpcHRpb247CiB9CiAKLVN0cmluZyBFd2tfRXJyb3I6
OmRvbWFpbigpIGNvbnN0CitTdHJpbmcgRXdrRXJyb3I6OmRvbWFpbigpIGNvbnN0CiB7CiAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHdrRG9tYWluKEFkb3B0V0ssIFdLRXJyb3JDb3B5RG9t
YWluKG1fd2tFcnJvci5nZXQoKSkpOwogICAgIHJldHVybiB0b1dURlN0cmluZyh3a0RvbWFpbi5n
ZXQoKSk7CiB9CiAKLWludCBFd2tfRXJyb3I6OmVycm9yQ29kZSgpIGNvbnN0CitpbnQgRXdrRXJy
b3I6OmVycm9yQ29kZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFdLRXJyb3JHZXRFcnJvckNvZGUo
bV93a0Vycm9yLmdldCgpKTsKIH0KIAotYm9vbCBFd2tfRXJyb3I6OmlzQ2FuY2VsbGF0aW9uKCkg
Y29uc3QKK2Jvb2wgRXdrRXJyb3I6OmlzQ2FuY2VsbGF0aW9uKCkgY29uc3QKIHsKICAgICByZXR1
cm4gdG9JbXBsKG1fd2tFcnJvci5nZXQoKSktPnBsYXRmb3JtRXJyb3IoKS5pc0NhbmNlbGxhdGlv
bigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2Vycm9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZXJyb3IuaApp
bmRleCBkMTUxNTQzZTlmNTU5ZDAzMTJhYmU3MDQyZDg5YzRlMWExYTRjZjFmLi5iODU3YTMwZTIy
ZThiYzIwYTVhMTEwZWM4YjZiOWQ0NzMxMjYwZDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfZXJyb3IuaApAQCAtMzgsNyArMzgsNyBAQCBleHRlcm4gIkMiIHsK
ICNlbmRpZgogCiAvKiogQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgRXdrX0Vycm9yLiAqLwot
dHlwZWRlZiBzdHJ1Y3QgRXdrX0Vycm9yIEV3a19FcnJvcjsKK3R5cGVkZWYgc3RydWN0IEV3a0Vy
cm9yIEV3a19FcnJvcjsKIAogLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEV3a19FcnJvcl9U
eXBlLgogdHlwZWRlZiBlbnVtIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19lcnJvcl9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfZXJyb3JfcHJpdmF0ZS5oCmluZGV4IDY0ZmRjZjc1ZDIwMTdkMDVlYTNjZGZm
YzdlMjlhODg4NmYwOGE3ZTcuLjBhMzg3M2JiN2I2ODVjMmFhNmMwMWMyODFkZDJlODAzYWRhODQ4
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19lcnJv
cl9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Vy
cm9yX3ByaXZhdGUuaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotY2xhc3MgRXdrX0Vycm9y
IHsKK2NsYXNzIEV3a0Vycm9yIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxFd2tf
RXJyb3I+IGNyZWF0ZShXS0Vycm9yUmVmIGVycm9yUmVmKQorICAgIHN0YXRpYyBQYXNzT3duUHRy
PEV3a0Vycm9yPiBjcmVhdGUoV0tFcnJvclJlZiBlcnJvclJlZikKICAgICB7CiAgICAgICAgIGlm
ICghZXJyb3JSZWYpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgICAgICByZXR1
cm4gYWRvcHRQdHIobmV3IEV3a19FcnJvcihlcnJvclJlZikpOworICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IEV3a0Vycm9yKGVycm9yUmVmKSk7CiAgICAgfQogCiAgICAgY29uc3QgY2hhciog
dXJsKCkgY29uc3Q7CkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ2FuY2Vs
bGF0aW9uKCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRXdrX0Vycm9yKFdLRXJy
b3JSZWYgZXJyb3JSZWYpOworICAgIGV4cGxpY2l0IEV3a0Vycm9yKFdLRXJyb3JSZWYgZXJyb3JS
ZWYpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tFcnJvclJlZj4gbV93a0Vycm9yOwogICAgIFdLRWlu
YVNoYXJlZFN0cmluZyBtX3VybDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlLmNwcAppbmRleCBiMjJhZmM4OWRjMjY5
YjMxMTViZmZkYmM2ZjAzNWY2Njg2ZThiNThiLi43ZGY0ZjNiNzViNWU3ZGU4OGNiZjA3ZDc5NWMx
OTRkNGI5ZDhhY2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfZmF2aWNvbl9kYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2UuY3BwCkBAIC0zOSw3ICszOSw3IEBACiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a19GYXZpY29uX0RhdGFiYXNlOjpFd2tfRmF2aWNv
bl9EYXRhYmFzZShXZWJJY29uRGF0YWJhc2UqIGljb25EYXRhYmFzZSkKK0V3a0Zhdmljb25EYXRh
YmFzZTo6RXdrRmF2aWNvbkRhdGFiYXNlKFdlYkljb25EYXRhYmFzZSogaWNvbkRhdGFiYXNlKQog
ICAgIDogbV9pY29uRGF0YWJhc2UoaWNvbkRhdGFiYXNlKQogewogICAgIFdLSWNvbkRhdGFiYXNl
Q2xpZW50IGljb25EYXRhYmFzZUNsaWVudDsKQEAgLTUxLDExICs1MSwxMSBAQCBFd2tfRmF2aWNv
bl9EYXRhYmFzZTo6RXdrX0Zhdmljb25fRGF0YWJhc2UoV2ViSWNvbkRhdGFiYXNlKiBpY29uRGF0
YWJhc2UpCiAgICAgV0tJY29uRGF0YWJhc2VTZXRJY29uRGF0YWJhc2VDbGllbnQodG9BUEkobV9p
Y29uRGF0YWJhc2UuZ2V0KCkpLCAmaWNvbkRhdGFiYXNlQ2xpZW50KTsKIH0KIAotRXdrX0Zhdmlj
b25fRGF0YWJhc2U6On5Fd2tfRmF2aWNvbl9EYXRhYmFzZSgpCitFd2tGYXZpY29uRGF0YWJhc2U6
On5Fd2tGYXZpY29uRGF0YWJhc2UoKQogewogfQogCi1TdHJpbmcgRXdrX0Zhdmljb25fRGF0YWJh
c2U6Omljb25VUkxGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCkgY29uc3QKK1N0cmlu
ZyBFd2tGYXZpY29uRGF0YWJhc2U6Omljb25VUkxGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFn
ZVVSTCkgY29uc3QKIHsKICAgICBTdHJpbmcgaWNvblVSTDsKICAgICBtX2ljb25EYXRhYmFzZS0+
c3luY2hyb25vdXNJY29uVVJMRm9yUGFnZVVSTChwYWdlVVJMLCBpY29uVVJMKTsKQEAgLTYzLDcg
KzYzLDcgQEAgU3RyaW5nIEV3a19GYXZpY29uX0RhdGFiYXNlOjppY29uVVJMRm9yUGFnZVVSTChj
b25zdCBTdHJpbmcmIHBhZ2VVUkwpIGNvbnN0CiAgICAgcmV0dXJuIGljb25VUkw7CiB9CiAKLXZv
aWQgRXdrX0Zhdmljb25fRGF0YWJhc2U6OndhdGNoQ2hhbmdlcyhjb25zdCBJY29uQ2hhbmdlQ2Fs
bGJhY2tEYXRhJiBjYWxsYmFja0RhdGEpCit2b2lkIEV3a0Zhdmljb25EYXRhYmFzZTo6d2F0Y2hD
aGFuZ2VzKGNvbnN0IEljb25DaGFuZ2VDYWxsYmFja0RhdGEmIGNhbGxiYWNrRGF0YSkKIHsKICAg
ICBBU1NFUlQoY2FsbGJhY2tEYXRhLmNhbGxiYWNrKTsKICAgICBpZiAobV9jaGFuZ2VMaXN0ZW5l
cnMuY29udGFpbnMoY2FsbGJhY2tEYXRhLmNhbGxiYWNrKSkKQEAgLTcyLDcgKzcyLDcgQEAgdm9p
ZCBFd2tfRmF2aWNvbl9EYXRhYmFzZTo6d2F0Y2hDaGFuZ2VzKGNvbnN0IEljb25DaGFuZ2VDYWxs
YmFja0RhdGEmIGNhbGxiYWNrRGEKICAgICBtX2NoYW5nZUxpc3RlbmVycy5hZGQoY2FsbGJhY2tE
YXRhLmNhbGxiYWNrLCBjYWxsYmFja0RhdGEpOwogfQogCi12b2lkIEV3a19GYXZpY29uX0RhdGFi
YXNlOjp1bndhdGNoQ2hhbmdlcyhFd2tfRmF2aWNvbl9EYXRhYmFzZV9JY29uX0NoYW5nZV9DYiBj
YWxsYmFjaykKK3ZvaWQgRXdrRmF2aWNvbkRhdGFiYXNlOjp1bndhdGNoQ2hhbmdlcyhFd2tfRmF2
aWNvbl9EYXRhYmFzZV9JY29uX0NoYW5nZV9DYiBjYWxsYmFjaykKIHsKICAgICBBU1NFUlQoY2Fs
bGJhY2spOwogICAgIG1fY2hhbmdlTGlzdGVuZXJzLnJlbW92ZShjYWxsYmFjayk7CkBAIC0xMDIs
NyArMTAyLDcgQEAgc3RhdGljIEVpbmFfQm9vbCByZXNwb25kX2ljb25fcmVxdWVzdF9pZGxlKHZv
aWQqIGRhdGEpCiAgICAgcmV0dXJuIEVDT1JFX0NBTExCQUNLX0RPTkU7CiB9CiAKLXZvaWQgRXdr
X0Zhdmljb25fRGF0YWJhc2U6Omljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCwg
Y29uc3QgSWNvblJlcXVlc3RDYWxsYmFja0RhdGEmIGNhbGxiYWNrRGF0YSkKK3ZvaWQgRXdrRmF2
aWNvbkRhdGFiYXNlOjppY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmIHBhZ2VVUkwsIGNvbnN0
IEljb25SZXF1ZXN0Q2FsbGJhY2tEYXRhJiBjYWxsYmFja0RhdGEpCiB7CiAgICAgLy8gV2UgYXNr
IGZvciB0aGUgaWNvbiBkaXJlY3RseS4gSWYgd2UgZG9uJ3QgZ2V0IHRoZSBpY29uIGRhdGEgbm93
LAogICAgIC8vIHdlJ2xsIGJlIG5vdGlmaWVkIGxhdGVyIChldmVuIGlmIHRoZSBkYXRhYmFzZSBp
cyBzdGlsbCBpbXBvcnRpbmcgaWNvbnMpLgpAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgRXdrX0Zh
dmljb25fRGF0YWJhc2U6Omljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCwgY29u
c3QgSWNvblJlcXVlCiAgICAgZWNvcmVfaWRsZXJfYWRkKHJlc3BvbmRfaWNvbl9yZXF1ZXN0X2lk
bGUsIHJlc3BvbnNlKTsKIH0KIAotdm9pZCBFd2tfRmF2aWNvbl9EYXRhYmFzZTo6ZGlkQ2hhbmdl
SWNvbkZvclBhZ2VVUkwoV0tJY29uRGF0YWJhc2VSZWYsIFdLVVJMUmVmIHBhZ2VVUkxSZWYsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCit2b2lkIEV3a0Zhdmljb25EYXRhYmFzZTo6ZGlkQ2hhbmdl
SWNvbkZvclBhZ2VVUkwoV0tJY29uRGF0YWJhc2VSZWYsIFdLVVJMUmVmIHBhZ2VVUkxSZWYsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgY29uc3QgRXdrX0Zhdmljb25fRGF0YWJhc2Uq
IGV3a0ljb25EYXRhYmFzZSA9IHN0YXRpY19jYXN0PGNvbnN0IEV3a19GYXZpY29uX0RhdGFiYXNl
Kj4oY2xpZW50SW5mbyk7CiAKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lkIEV3a19GYXZpY29uX0Rh
dGFiYXNlOjpkaWRDaGFuZ2VJY29uRm9yUGFnZVVSTChXS0ljb25EYXRhYmFzZVJlZiwgV0tVUkxS
ZWYgcAogICAgICAgICBpdC0+dmFsdWUuY2FsbGJhY2socGFnZVVSTC5kYXRhKCksIGl0LT52YWx1
ZS51c2VyRGF0YSk7CiB9CiAKLVBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBFd2tfRmF2aWNv
bl9EYXRhYmFzZTo6Z2V0SWNvblN1cmZhY2VTeW5jaHJvbm91c2x5KGNvbnN0IFN0cmluZyYgcGFn
ZVVSTCkgY29uc3QKK1Bhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBFd2tGYXZpY29uRGF0YWJh
c2U6OmdldEljb25TdXJmYWNlU3luY2hyb25vdXNseShjb25zdCBTdHJpbmcmIHBhZ2VVUkwpIGNv
bnN0CiB7CiAgICAgbV9pY29uRGF0YWJhc2UtPnJldGFpbkljb25Gb3JQYWdlVVJMKHBhZ2VVUkwp
OwogCkBAIC0xNTUsNyArMTU1LDcgQEAgUGFzc1JlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IEV3a19G
YXZpY29uX0RhdGFiYXNlOjpnZXRJY29uU3VyZmFjZVN5bmNocm9ub3VzbHkoY28KICAgICByZXR1
cm4gc3VyZmFjZS5yZWxlYXNlKCk7CiB9CiAKLXZvaWQgRXdrX0Zhdmljb25fRGF0YWJhc2U6Omlj
b25EYXRhUmVhZHlGb3JQYWdlVVJMKFdLSWNvbkRhdGFiYXNlUmVmLCBXS1VSTFJlZiBwYWdlVVJM
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQordm9pZCBFd2tGYXZpY29uRGF0YWJhc2U6Omljb25E
YXRhUmVhZHlGb3JQYWdlVVJMKFdLSWNvbkRhdGFiYXNlUmVmLCBXS1VSTFJlZiBwYWdlVVJMLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIEV3a19GYXZpY29uX0RhdGFiYXNlKiBld2tJ
Y29uRGF0YWJhc2UgPSBjb25zdF9jYXN0PEV3a19GYXZpY29uX0RhdGFiYXNlKj4oc3RhdGljX2Nh
c3Q8Y29uc3QgRXdrX0Zhdmljb25fRGF0YWJhc2UqPihjbGllbnRJbmZvKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNl
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFz
ZS5oCmluZGV4IDg5Y2MzMWY4NDgzYjk1ZWM0N2Y4ODQwNGJiZjI3ZWI1MGNjMmRiZWEuLmI2NmE2
N2IxNjk4MDRiZjUzYTFhNTViZjkyNDQyYjZhNDRhYWVmZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2UuaApAQCAt
MzgsNyArMzgsNyBAQCBleHRlcm4gIkMiIHsKICNlbmRpZgogCiAvKiogQ3JlYXRlcyBhIHR5cGUg
bmFtZSBmb3IgQGEgRXdrX0Zhdmljb25fRGF0YWJhc2UuICovCi10eXBlZGVmIHN0cnVjdCBFd2tf
RmF2aWNvbl9EYXRhYmFzZSBFd2tfRmF2aWNvbl9EYXRhYmFzZTsKK3R5cGVkZWYgc3RydWN0IEV3
a0Zhdmljb25EYXRhYmFzZSBFd2tfRmF2aWNvbl9EYXRhYmFzZTsKIAogLyoqCiAgKiBAdHlwZWRl
ZiBFd2tfRmF2aWNvbl9EYXRhYmFzZV9JY29uX0NoYW5nZV9DYiBFd2tfRmF2aWNvbl9EYXRhYmFz
ZV9JY29uX0NoYW5nZV9DYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2VfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2VfcHJpdmF0ZS5oCmluZGV4IDM0ZGE1
MDM3NTg3NmZmNGUzMzA3NzM4NjljN2NiNDRlNDcxYWViMDguLjg2YTkxMTI2MzUwYTJiM2E2ZDZk
ZTAxODMxZWFkMzBkMTM5NDg1ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFzZV9wcml2YXRlLmgKQEAg
LTcxLDEzICs3MSwxMyBAQCB0eXBlZGVmIEhhc2hNYXA8RXdrX0Zhdmljb25fRGF0YWJhc2VfSWNv
bl9DaGFuZ2VfQ2IsIEljb25DaGFuZ2VDYWxsYmFja0RhdGE+IENoYQogdHlwZWRlZiBWZWN0b3I8
SWNvblJlcXVlc3RDYWxsYmFja0RhdGE+IFBlbmRpbmdJY29uUmVxdWVzdFZlY3RvcjsKIHR5cGVk
ZWYgSGFzaE1hcDxTdHJpbmcgLyogcGFnZVVSTCAqLywgUGVuZGluZ0ljb25SZXF1ZXN0VmVjdG9y
PiBQZW5kaW5nSWNvblJlcXVlc3RNYXA7CiAKLWNsYXNzIEV3a19GYXZpY29uX0RhdGFiYXNlIHsK
K2NsYXNzIEV3a0Zhdmljb25EYXRhYmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25Q
dHI8RXdrX0Zhdmljb25fRGF0YWJhc2U+IGNyZWF0ZShXZWJLaXQ6OldlYkljb25EYXRhYmFzZSog
aWNvbkRhdGFiYXNlKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0Zhdmljb25EYXRhYmFzZT4g
Y3JlYXRlKFdlYktpdDo6V2ViSWNvbkRhdGFiYXNlKiBpY29uRGF0YWJhc2UpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a19GYXZpY29uX0RhdGFiYXNlKGljb25EYXRhYmFz
ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a0Zhdmljb25EYXRhYmFzZShpY29u
RGF0YWJhc2UpKTsKICAgICB9Ci0gICAgfkV3a19GYXZpY29uX0RhdGFiYXNlKCk7CisgICAgfkV3
a0Zhdmljb25EYXRhYmFzZSgpOwogCiAgICAgU3RyaW5nIGljb25VUkxGb3JQYWdlVVJMKGNvbnN0
IFN0cmluZyYgcGFnZVVSTCkgY29uc3Q7CiAgICAgdm9pZCBpY29uRm9yUGFnZVVSTChjb25zdCBT
dHJpbmcmIHBhZ2VVUkwsIGNvbnN0IEljb25SZXF1ZXN0Q2FsbGJhY2tEYXRhJiBjYWxsYmFja0Rh
dGEpOwpAQCAtODYsNyArODYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bndhdGNoQ2hhbmdlcyhF
d2tfRmF2aWNvbl9EYXRhYmFzZV9JY29uX0NoYW5nZV9DYiBjYWxsYmFjayk7CiAKIHByaXZhdGU6
Ci0gICAgZXhwbGljaXQgRXdrX0Zhdmljb25fRGF0YWJhc2UoV2ViS2l0OjpXZWJJY29uRGF0YWJh
c2UqIGljb25EYXRhYmFzZSk7CisgICAgZXhwbGljaXQgRXdrRmF2aWNvbkRhdGFiYXNlKFdlYktp
dDo6V2ViSWNvbkRhdGFiYXNlKiBpY29uRGF0YWJhc2UpOwogCiAgICAgUGFzc1JlZlB0cjxjYWly
b19zdXJmYWNlX3Q+IGdldEljb25TdXJmYWNlU3luY2hyb25vdXNseShjb25zdCBTdHJpbmcmIHBh
Z2VVUkwpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5oCmluZGV4IDNlNzUwNzgzNTY5NGMw
OGVmODAyYjY1OGMxMzAxMGFjMmM5MTcxY2YuLmQ3YzJkMTJiNGIzZDYwODk1NzQ5ZmJhNGRiMWNj
NTE3MGVlNTcyMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5oCkBAIC00Miw3ICs0Miw3IEBAIGV4
dGVybiAiQyIgewogICoKICAqIEBzZWUgRXdrX09iamVjdAogICovCi10eXBlZGVmIHN0cnVjdCBF
d2tfT2JqZWN0IEV3a19GaWxlX0Nob29zZXJfUmVxdWVzdDsKK3R5cGVkZWYgc3RydWN0IEV3a09i
amVjdCBFd2tfRmlsZV9DaG9vc2VyX1JlcXVlc3Q7CiAKIC8qKgogICogUXVlcmllcyBpZiBpdCBp
cyBhbGxvd2VkIHRvIHNlbGVjdCBtdWx0aXBsZSBmaWxlcyBvciBub3QuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVlc3Rf
cHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ZpbGVfY2hv
b3Nlcl9yZXF1ZXN0X3ByaXZhdGUuaAppbmRleCBlY2FkOGM0MWEwNTUzYWMzMDU0NThmYTFiNzg4
MjMzNWVhMWI1YTUwLi42MTc3OGZmODMxMDE2M2RmNTVlNjcwMDc4ZjY1NGI1Yjg1MDZmOTc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9v
c2VyX3JlcXVlc3RfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdF9wcml2YXRlLmgKQEAgLTM4LDcgKzM4LDcgQEAg
Y2xhc3MgV2ViT3BlblBhbmVsUGFyYW1ldGVyczsKIGNsYXNzIFdlYk9wZW5QYW5lbFJlc3VsdExp
c3RlbmVyUHJveHk7CiB9CiAKLWNsYXNzIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCA6IHB1YmxpYyBF
d2tfT2JqZWN0IHsKK2NsYXNzIEV3a0ZpbGVDaG9vc2VyUmVxdWVzdCA6IHB1YmxpYyBFd2tPYmpl
Y3QgewogcHVibGljOgogICAgIEVXS19PQkpFQ1RfREVDTEFSRShFd2tGaWxlQ2hvb3NlclJlcXVl
c3QpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19m
b3JtX3N1Ym1pc3Npb25fcmVxdWVzdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgKaW5kZXggOGRmNzY5ODZhMTVlZWY0OWY1
OWVkODlmMGMyMWU1ZmU1ODhmNWZkOC4uNThjMDAxZjhlMzU5YTljNWYyMWNhMjIwMjk2ZWVhZmM4
ZjY5NTA2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0LmgKQEAgLTQ1LDcgKzQ1LDcgQEAg
ZXh0ZXJuICJDIiB7CiAgKgogICogQHNlZSBFd2tfT2JqZWN0CiAgKi8KLXR5cGVkZWYgc3RydWN0
IEV3a19PYmplY3QgRXdrX0Zvcm1fU3VibWlzc2lvbl9SZXF1ZXN0OwordHlwZWRlZiBzdHJ1Y3Qg
RXdrT2JqZWN0IEV3a19Gb3JtX1N1Ym1pc3Npb25fUmVxdWVzdDsKIAogLyoqCiAgKiBSZXR1cm5z
IHRoZSBsaXN0IG9mIGZpZWxkIG5hbWVzIGNvbnRhaW5lZCBpbiB0aGUgZm9ybSBhc3NvY2lhdGVk
IHRvIEBhIHJlcXVlc3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3ByaXZhdGUu
aAppbmRleCBjOTQ3YTI2ZjA4NDc2M2IxMDcyYmJlOTE5YTVhN2U1NTYyOGQxOGFiLi4yNmQzMjQ2
MzFiOGQ3OGRiYWFkZWY3YjhlNWFjNGE0MTgzYzQ2NjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfcHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mb3JtX3N1Ym1p
c3Npb25fcmVxdWVzdF9wcml2YXRlLmgKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi1jbGFzcyBF
d2tGb3JtU3VibWlzc2lvblJlcXVlc3QgOiBwdWJsaWMgRXdrX09iamVjdCB7CitjbGFzcyBFd2tG
b3JtU3VibWlzc2lvblJlcXVlc3QgOiBwdWJsaWMgRXdrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBF
V0tfT0JKRUNUX0RFQ0xBUkUoRXdrRm9ybVN1Ym1pc3Npb25SZXF1ZXN0KQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50LmgKaW5kZXggNDY2N2I2ODMxZGVj
YWI5ZTQzZTFhNzMxMzViZmIyOGIzZGE1MDgxMC4uNzU0NDhmMjEyYmE5OGVmZjUwYzBkZTViYWE5
OTZhOGE5NGMyMjAzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2ludGVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19pbnRlbnQuaApAQCAtNDIsNyArNDIsNyBAQCBleHRlcm4gIkMiIHsKICAqCiAgKiBAc2VlIEV3
a19PYmplY3QKICAqLwotdHlwZWRlZiBzdHJ1Y3QgRXdrX09iamVjdCBFd2tfSW50ZW50OwordHlw
ZWRlZiBzdHJ1Y3QgRXdrT2JqZWN0IEV3a19JbnRlbnQ7CiAKIC8qKgogICogUXVlcnkgYWN0aW9u
IGZvciB0aGlzIGludGVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19pbnRlbnRfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2ludGVudF9wcml2YXRlLmgKaW5kZXggM2FiYzRkNzZhYjY3ZDgyNDU3ZWFkNTQ3
YjA3NzczMmYxYjdiM2Y5Ni4uMTk5ZWM3OWMxZjJjZWVhNDI4ZmQ3MWI2MWFlM2ZkNDkyMmE4NDk0
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVu
dF9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2lu
dGVudF9wcml2YXRlLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgY2xhc3MgV2ViSW50ZW50RGF0YTsKICAq
IFxzdHJ1Y3QgIEV3a0ludGVudAogICogQGJyaWVmICAgQ29udGFpbnMgdGhlIGludGVudCBkYXRh
LgogICovCi1jbGFzcyBFd2tJbnRlbnQgOiBwdWJsaWMgRXdrX09iamVjdCB7CitjbGFzcyBFd2tJ
bnRlbnQgOiBwdWJsaWMgRXdrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBFV0tfT0JKRUNUX0RFQ0xB
UkUoRXdrSW50ZW50KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfaW50ZW50X3NlcnZpY2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19pbnRlbnRfc2VydmljZS5oCmluZGV4IDAxNDc2NjkyZjUxYjAyZGQ0YzI4YzY4MGUw
MjA2YjBmMmE3OTE4ODcuLjEyZTU4MDgwNGQwZTAwMjExMzUzOGM2ZGFkMzcwMTk0NWUxODNlZmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRf
c2VydmljZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRl
bnRfc2VydmljZS5oCkBAIC00Miw3ICs0Miw3IEBAIGV4dGVybiAiQyIgewogICoKICAqIEBzZWUg
RXdrX09iamVjdAogICovCi10eXBlZGVmIHN0cnVjdCBFd2tfT2JqZWN0IEV3a19JbnRlbnRfU2Vy
dmljZTsKK3R5cGVkZWYgc3RydWN0IEV3a09iamVjdCBFd2tfSW50ZW50X1NlcnZpY2U7CiAKIC8q
KgogICogUXVlcnkgYWN0aW9uIGZvciB0aGlzIGludGVudCBzZXJ2aWNlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlX3ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2Vydmlj
ZV9wcml2YXRlLmgKaW5kZXggMDIyZTM5NzYyYzU0NWM5NDFiOGFlODEzYjNkMDgwYTE2Y2JmZmYy
NS4uN2E5OGE2NDVkYmIzZjUxYTBjYTExMDkyMTY2NjlmNTNmOGI1YWY1NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlX3ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50X3Nl
cnZpY2VfcHJpdmF0ZS5oCkBAIC0zOCw3ICszOCw3IEBACiAgKiBcc3RydWN0IEV3a0ludGVudFNl
cnZpY2UKICAqIEBicmllZiBDb250YWlucyB0aGUgaW50ZW50IHNlcnZpY2UgZGF0YS4KICAqLwot
Y2xhc3MgRXdrSW50ZW50U2VydmljZSA6IHB1YmxpYyBFd2tfT2JqZWN0IHsKK2NsYXNzIEV3a0lu
dGVudFNlcnZpY2UgOiBwdWJsaWMgRXdrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBFV0tfT0JKRUNU
X0RFQ0xBUkUoRXdrSW50ZW50U2VydmljZSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmlnYXRpb25fZGF0YS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmlnYXRpb25fZGF0YS5oCmluZGV4IDE2ZjdiYzViOGYy
N2I5ZDIwNDFjY2UxZGYzNWE5Nzk5NmU1MGJkZTIuLjdmNjI2NDFlN2VmNmVmYTk1MzE2OThlOTZl
NWUwZGEzODQyNTdjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19uYXZpZ2F0aW9uX2RhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9kYXRhLmgKQEAgLTQzLDcgKzQzLDcgQEAgZXh0ZXJuICJD
IiB7CiAgKgogICogQHNlZSBFd2tfT2JqZWN0CiAgKi8KLXR5cGVkZWYgc3RydWN0IEV3a19PYmpl
Y3QgRXdrX05hdmlnYXRpb25fRGF0YTsKK3R5cGVkZWYgc3RydWN0IEV3a09iamVjdCBFd2tfTmF2
aWdhdGlvbl9EYXRhOwogCiAvKioKICAqIFJldHVybnMgdGl0bGUgZm9yIHRoaXMgbmF2aWdhdGlv
biBkYXRhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X25hdmlnYXRpb25fZGF0YV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfbmF2aWdhdGlvbl9kYXRhX3ByaXZhdGUuaAppbmRleCA4NzExYWEzNDdiNTQ3YWZi
NTJmOWQ3OGJmNDZlYjgwNTJiMzc2YzhiLi41YmE1YTVjYjg3YzBmYTM0OTkzOWVlZWM4MzM4MzM3
NTVmNmExN2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfbmF2aWdhdGlvbl9kYXRhX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9kYXRhX3ByaXZhdGUuaApAQCAtMzgsNyArMzgsNyBA
QAogICogXHN0cnVjdCAgRXdrTmF2aWdhdGlvbkRhdGEKICAqIEBicmllZiAgIENvbnRhaW5zIHRo
ZSBuYXZpZ2F0aW9uIGRhdGEgZGV0YWlscy4KICAqLwotY2xhc3MgRXdrTmF2aWdhdGlvbkRhdGEg
OiBwdWJsaWMgRXdrX09iamVjdCB7CitjbGFzcyBFd2tOYXZpZ2F0aW9uRGF0YSA6IHB1YmxpYyBF
d2tPYmplY3QgewogcHVibGljOgogICAgIEVXS19PQkpFQ1RfREVDTEFSRShFd2tOYXZpZ2F0aW9u
RGF0YSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24uaAppbmRleCAwZjM0MWY1M2Jk
ODY1YjllOTc5NjJhYTFmZGI4MWYyMzVkMTA2Y2ZhLi5hOWZiYmVmZTViYzc4NzcyOTA4MWQxZjc2
ZmU5M2ZkMzY0NjllNzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24uaApAQCAt
NDMsNyArNDMsNyBAQCBleHRlcm4gIkMiIHsKICAqCiAgKiBAc2VlIEV3a19PYmplY3QKICAqLwot
dHlwZWRlZiBzdHJ1Y3QgRXdrX09iamVjdCBFd2tfTmF2aWdhdGlvbl9Qb2xpY3lfRGVjaXNpb247
Cit0eXBlZGVmIHN0cnVjdCBFd2tPYmplY3QgRXdrX05hdmlnYXRpb25fUG9saWN5X0RlY2lzaW9u
OwogCiAvLy8gRW51bSBjb250YWluaW5nIG5hdmlnYXRpb24gdHlwZXMKIHR5cGVkZWYgZW51bSAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmln
YXRpb25fcG9saWN5X2RlY2lzaW9uX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9wcml2YXRlLmgKaW5kZXgg
ZmIyNzczYWI4YzFlOGM2ZjNmZmYwMjIxYjdlNjJiYTE2M2JmMzhiZS4uNzE0ZGJjY2JlODRlNzZk
ODJhNTFlNDBmNzQ1YzRmOWQ4YjBmZDQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX3ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xp
Y3lfZGVjaXNpb25fcHJpdmF0ZS5oCkBAIC00MCw3ICs0MCw3IEBACiAgKiBcc3RydWN0ICBFd2tO
YXZpZ2F0aW9uUG9saWN5RGVjaXNpb24KICAqIEBicmllZiAgIENvbnRhaW5zIHRoZSBuYXZpZ2F0
aW9uIHBvbGljeSBkZWNpc2lvbiBkYXRhLgogICovCi1jbGFzcyBFd2tOYXZpZ2F0aW9uUG9saWN5
RGVjaXNpb24gOiBwdWJsaWMgRXdrX09iamVjdCB7CitjbGFzcyBFd2tOYXZpZ2F0aW9uUG9saWN5
RGVjaXNpb24gOiBwdWJsaWMgRXdrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBFV0tfT0JKRUNUX0RF
Q0xBUkUoRXdrTmF2aWdhdGlvblBvbGljeURlY2lzaW9uKQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfb2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfb2JqZWN0LmgKaW5kZXggMDM0OTQ5M2M4ODZiMjk2ODE1YjFh
NTE3MWExODNkMzMzNGVlMmM0ZC4uOWFkMWFmZTVmODgwMjViNmU3MTQ1YTRmYTNjYTllOWM3YWQ4
MjM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX29i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19vYmplY3Qu
aApAQCAtMzgsNyArMzgsNyBAQCBleHRlcm4gIkMiIHsKICNlbmRpZgogCiAvKiogQ3JlYXRlcyBh
IHR5cGUgbmFtZSBmb3IgRXdrX09iamVjdCAqLwotdHlwZWRlZiBzdHJ1Y3QgRXdrX09iamVjdCBF
d2tfT2JqZWN0OwordHlwZWRlZiBzdHJ1Y3QgRXdrT2JqZWN0IEV3a19PYmplY3Q7CiAKIC8qKgog
ICogSW5jcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIGdpdmVuIEV3a19PYmplY3Qu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfb2JqZWN0
X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19vYmplY3Rf
cHJpdmF0ZS5oCmluZGV4IDRkNGNjZmFiYzgyYjkyY2Q0ODA4Njg0ZWRlOTYzMmEzZmRmODI0MTcu
LmI2N2YzMzgyMGQ5OWJiNmYxYTZhYTNhZWI2ODFiMjk4Y2ExMDZkMjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19vYmplY3RfcHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19vYmplY3RfcHJpdmF0ZS5oCkBA
IC0yOCwyMCArMjgsMjAgQEAKIAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKLWNsYXNz
IEV3a19PYmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxFd2tfT2JqZWN0PiB7CitjbGFzcyBFd2tP
YmplY3QgOiBwdWJsaWMgUmVmQ291bnRlZDxFd2tPYmplY3Q+IHsKIHB1YmxpYzoKLSAgICB2aXJ0
dWFsIH5Fd2tfT2JqZWN0KCkgeyB9CisgICAgdmlydHVhbCB+RXdrT2JqZWN0KCkgeyB9CiAgICAg
dmlydHVhbCBjb25zdCBjaGFyKiBpbnN0YW5jZUNsYXNzTmFtZSgpIGNvbnN0ID0gMDsKIH07CiAK
IHRlbXBsYXRlIDxjbGFzcyBUPgotaW5saW5lIGJvb2wgZXdrX29iamVjdF9pc19vZl90eXBlKGNv
bnN0IEV3a19PYmplY3QqIG9iamVjdCkKK2lubGluZSBib29sIGV3a19vYmplY3RfaXNfb2ZfdHlw
ZShjb25zdCBFd2tPYmplY3QqIG9iamVjdCkKIHsKICAgICByZXR1cm4gKHJlaW50ZXJwcmV0X2Nh
c3Q8VD4oMCktPmNsYXNzTmFtZSgpID09IG9iamVjdC0+aW5zdGFuY2VDbGFzc05hbWUoKSk7CiB9
CiAKIHRlbXBsYXRlIDxjbGFzcyBUPgotaW5saW5lIGJvb2wgZXdrX29iamVjdF9jYXN0X2NoZWNr
KGNvbnN0IEV3a19PYmplY3QqIG9iamVjdCkKK2lubGluZSBib29sIGV3a19vYmplY3RfY2FzdF9j
aGVjayhjb25zdCBFd2tPYmplY3QqIG9iamVjdCkKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwob2JqZWN0LCBmYWxzZSk7CiAKQEAgLTU2LDEzICs1NiwxMyBAQCBpbmxpbmUg
Ym9vbCBld2tfb2JqZWN0X2Nhc3RfY2hlY2soY29uc3QgRXdrX09iamVjdCogb2JqZWN0KQogfQog
CiB0ZW1wbGF0ZSA8Y2xhc3MgVD4KLWlubGluZSBjb25zdCBUIGV3a19vYmplY3RfY2FzdChjb25z
dCBFd2tfT2JqZWN0KiBvYmplY3QpCitpbmxpbmUgY29uc3QgVCBld2tfb2JqZWN0X2Nhc3QoY29u
c3QgRXdrT2JqZWN0KiBvYmplY3QpCiB7CiAgICAgcmV0dXJuIGV3a19vYmplY3RfY2FzdF9jaGVj
azxUPihvYmplY3QpID8gc3RhdGljX2Nhc3Q8VD4ob2JqZWN0KSA6IDA7CiB9CiAKIHRlbXBsYXRl
IDxjbGFzcyBUPgotaW5saW5lIFQgZXdrX29iamVjdF9jYXN0KEV3a19PYmplY3QqIG9iamVjdCkK
K2lubGluZSBUIGV3a19vYmplY3RfY2FzdChFd2tPYmplY3QqIG9iamVjdCkKIHsKICAgICByZXR1
cm4gZXdrX29iamVjdF9jYXN0X2NoZWNrPFQ+KG9iamVjdCkgPyBzdGF0aWNfY2FzdDxUPihvYmpl
Y3QpIDogMDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19wb3B1cF9tZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19wb3B1cF9tZW51LmNwcAppbmRleCA3NjUxMTRlNmRmNWUxNDFjOTFkMGFkZDY2M2IyNzM4ZTM2
M2MxNDNhLi5mMWRhZDNhYjcwNDZiYTNjNzE5ZmM4ZTJlNTg1NzI5NjY3MjdjMTI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnUuY3Bw
CkBAIC0zNCw3ICszNCw3IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a19Qb3B1
cF9NZW51OjpFd2tfUG9wdXBfTWVudShFd2tWaWV3SW1wbCogdmlld0ltcGwsIFdlYlBvcHVwTWVu
dVByb3h5RWZsKiBwb3B1cE1lbnVQcm94eSwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViUG9wdXBJ
dGVtPiYgaXRlbXMsIHVuc2lnbmVkIHNlbGVjdGVkSW5kZXgpCitFd2tQb3B1cE1lbnU6OkV3a1Bv
cHVwTWVudShFd2tWaWV3SW1wbCogdmlld0ltcGwsIFdlYlBvcHVwTWVudVByb3h5RWZsKiBwb3B1
cE1lbnVQcm94eSwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViUG9wdXBJdGVtPiYgaXRlbXMsIHVu
c2lnbmVkIHNlbGVjdGVkSW5kZXgpCiAgICAgOiBtX3ZpZXdJbXBsKHZpZXdJbXBsKQogICAgICwg
bV9wb3B1cE1lbnVQcm94eShwb3B1cE1lbnVQcm94eSkKICAgICAsIG1fcG9wdXBNZW51SXRlbXMo
MCkKQEAgLTQ1LDI5ICs0NSwyOSBAQCBFd2tfUG9wdXBfTWVudTo6RXdrX1BvcHVwX01lbnUoRXdr
Vmlld0ltcGwqIHZpZXdJbXBsLCBXZWJQb3B1cE1lbnVQcm94eUVmbCogcG9wdQogICAgICAgICBt
X3BvcHVwTWVudUl0ZW1zID0gZWluYV9saXN0X2FwcGVuZChtX3BvcHVwTWVudUl0ZW1zLCBFd2tf
UG9wdXBfTWVudV9JdGVtOjpjcmVhdGUoaXRlbXNbaV0pLmxlYWtQdHIoKSk7CiB9CiAKLUV3a19Q
b3B1cF9NZW51Ojp+RXdrX1BvcHVwX01lbnUoKQorRXdrUG9wdXBNZW51Ojp+RXdrUG9wdXBNZW51
KCkKIHsKICAgICB2b2lkKiBpdGVtOwogICAgIEVJTkFfTElTVF9GUkVFKG1fcG9wdXBNZW51SXRl
bXMsIGl0ZW0pCiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxFd2tfUG9wdXBfTWVudV9JdGVt
Kj4oaXRlbSk7CiB9CiAKLXZvaWQgRXdrX1BvcHVwX01lbnU6OmNsb3NlKCkKK3ZvaWQgRXdrUG9w
dXBNZW51OjpjbG9zZSgpCiB7CiAgICAgbV92aWV3SW1wbC0+Y2xvc2VQb3B1cE1lbnUoKTsKIH0K
IAotY29uc3QgRWluYV9MaXN0KiBFd2tfUG9wdXBfTWVudTo6aXRlbXMoKSBjb25zdAorY29uc3Qg
RWluYV9MaXN0KiBFd2tQb3B1cE1lbnU6Oml0ZW1zKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9w
b3B1cE1lbnVJdGVtczsKIH0KIAotdW5zaWduZWQgRXdrX1BvcHVwX01lbnU6OnNlbGVjdGVkSW5k
ZXgoKSBjb25zdAordW5zaWduZWQgRXdrUG9wdXBNZW51OjpzZWxlY3RlZEluZGV4KCkgY29uc3QK
IHsKICAgICByZXR1cm4gbV9zZWxlY3RlZEluZGV4OwogfQogCi1ib29sIEV3a19Qb3B1cF9NZW51
OjpzZXRTZWxlY3RlZEluZGV4KHVuc2lnbmVkIHNlbGVjdGVkSW5kZXgpCitib29sIEV3a1BvcHVw
TWVudTo6c2V0U2VsZWN0ZWRJbmRleCh1bnNpZ25lZCBzZWxlY3RlZEluZGV4KQogewogICAgIGlm
ICghbV9wb3B1cE1lbnVQcm94eSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnUuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51LmgKaW5kZXggMDRlMTc2
ODhjZGFhMTU3Y2EyNmIyMTk5NjYyOTk3ODBjNTFiZTg0ZC4uMGFkMGY1ZmNjODI4ZWQyNTZiZGFj
MDU5Y2ZlYzA0NzgwNzc1MmI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3BvcHVwX21lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfcG9wdXBfbWVudS5oCkBAIC0zOSw3ICszOSw3IEBAIGV4dGVybiAiQyIgewog
I2VuZGlmCiAKIC8qKiBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBFd2tfUG9wdXBfTWVudSAqLwot
dHlwZWRlZiBzdHJ1Y3QgRXdrX1BvcHVwX01lbnUgRXdrX1BvcHVwX01lbnU7Cit0eXBlZGVmIHN0
cnVjdCBFd2tQb3B1cE1lbnUgRXdrX1BvcHVwX01lbnU7CiAKIC8qKgogICogU2VsZWN0cyBpbmRl
eCBvZiBjdXJyZW50IHBvcHVwIG1lbnUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9pdGVtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X2l0ZW0uY3BwCmluZGV4IDU0OWRhMTgzOTVl
NDM4ZWI5YmI1MTcxNzA5NmZiMGMzYjU1NDYwZDIuLjBhNTFkOTU4YTI0OWI1Y2M3ZGI2NTE0N2I5
ZTc1ZmIzOWIwOWQxNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19wb3B1cF9tZW51X2l0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X2l0ZW0uY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a19Qb3B1cF9NZW51X0l0ZW06OkV3a19Qb3B1cF9N
ZW51X0l0ZW0oY29uc3QgV2ViS2l0OjpXZWJQb3B1cEl0ZW0mIGl0ZW0pCitFd2tQb3B1cE1lbnVJ
dGVtOjpFd2tQb3B1cE1lbnVJdGVtKGNvbnN0IFdlYktpdDo6V2ViUG9wdXBJdGVtJiBpdGVtKQog
ICAgIDogbV90eXBlKHN0YXRpY19jYXN0PEV3a19Qb3B1cF9NZW51X0l0ZW1fVHlwZT4oaXRlbS5t
X3R5cGUpKQogICAgICwgbV90ZXh0RGlyZWN0aW9uKHN0YXRpY19jYXN0PEV3a19UZXh0X0RpcmVj
dGlvbj4oaXRlbS5tX3RleHREaXJlY3Rpb24pKQogICAgICwgbV9oYXNUZXh0RGlyZWN0aW9uT3Zl
cnJpZGUoaXRlbS5tX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZSkKQEAgLTQ0LDQ3ICs0NCw0NyBA
QCBFd2tfUG9wdXBfTWVudV9JdGVtOjpFd2tfUG9wdXBfTWVudV9JdGVtKGNvbnN0IFdlYktpdDo6
V2ViUG9wdXBJdGVtJiBpdGVtKQogICAgICwgbV9hY2Nlc3NpYmlsaXR5VGV4dChpdGVtLm1fYWNj
ZXNzaWJpbGl0eVRleHQudXRmOCgpLmRhdGEoKSkKIHsgfQogCi1Fd2tfUG9wdXBfTWVudV9JdGVt
X1R5cGUgRXdrX1BvcHVwX01lbnVfSXRlbTo6dHlwZSgpIGNvbnN0CitFd2tfUG9wdXBfTWVudV9J
dGVtX1R5cGUgRXdrUG9wdXBNZW51SXRlbTo6dHlwZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
dHlwZTsKIH0KIAotRXdrX1RleHRfRGlyZWN0aW9uIEV3a19Qb3B1cF9NZW51X0l0ZW06OnRleHRE
aXJlY3Rpb24oKSBjb25zdAorRXdrX1RleHRfRGlyZWN0aW9uIEV3a1BvcHVwTWVudUl0ZW06OnRl
eHREaXJlY3Rpb24oKSBjb25zdAogewogICAgIHJldHVybiBtX3RleHREaXJlY3Rpb247CiB9CiAK
LWNvbnN0IGNoYXIqIEV3a19Qb3B1cF9NZW51X0l0ZW06OnRleHQoKSBjb25zdAorY29uc3QgY2hh
ciogRXdrUG9wdXBNZW51SXRlbTo6dGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fdGV4dDsK
IH0KIAotY29uc3QgY2hhciogRXdrX1BvcHVwX01lbnVfSXRlbTo6dG9vbHRpcFRleHQoKSBjb25z
dAorY29uc3QgY2hhciogRXdrUG9wdXBNZW51SXRlbTo6dG9vbHRpcFRleHQoKSBjb25zdAogewog
ICAgIHJldHVybiBtX3Rvb2x0aXBUZXh0OwogfQogCi1jb25zdCBjaGFyKiBFd2tfUG9wdXBfTWVu
dV9JdGVtOjphY2Nlc3NpYmlsaXR5VGV4dCgpIGNvbnN0Citjb25zdCBjaGFyKiBFd2tQb3B1cE1l
bnVJdGVtOjphY2Nlc3NpYmlsaXR5VGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fYWNjZXNz
aWJpbGl0eVRleHQ7CiB9CiAKLWJvb2wgRXdrX1BvcHVwX01lbnVfSXRlbTo6aGFzVGV4dERpcmVj
dGlvbk92ZXJyaWRlKCkgY29uc3QKK2Jvb2wgRXdrUG9wdXBNZW51SXRlbTo6aGFzVGV4dERpcmVj
dGlvbk92ZXJyaWRlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9oYXNUZXh0RGlyZWN0aW9uT3Zl
cnJpZGU7CiB9CiAKLWJvb2wgRXdrX1BvcHVwX01lbnVfSXRlbTo6aXNFbmFibGVkKCkgY29uc3QK
K2Jvb2wgRXdrUG9wdXBNZW51SXRlbTo6aXNFbmFibGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9pc0VuYWJsZWQ7CiB9CiAKLWJvb2wgRXdrX1BvcHVwX01lbnVfSXRlbTo6aXNMYWJlbCgpIGNv
bnN0Citib29sIEV3a1BvcHVwTWVudUl0ZW06OmlzTGFiZWwoKSBjb25zdAogewogICAgIHJldHVy
biBtX2lzTGFiZWw7CiB9CiAKLWJvb2wgRXdrX1BvcHVwX01lbnVfSXRlbTo6aXNTZWxlY3RlZCgp
IGNvbnN0Citib29sIEV3a1BvcHVwTWVudUl0ZW06OmlzU2VsZWN0ZWQoKSBjb25zdAogewogICAg
IHJldHVybiBtX2lzU2VsZWN0ZWQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9pdGVtLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9pdGVtLmgKaW5kZXggNWVmZTZmZTBlNWYzMTcx
NTA0MWVmNTA0MmM2MzRkZWUzZmQzZTA2Yy4uMWEyZWFjZDBjOThjOGMwMzkzZGYzN2UyOGI3YWRi
MTk5OGIwZmUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3BvcHVwX21lbnVfaXRlbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19wb3B1cF9tZW51X2l0ZW0uaApAQCAtNDYsNyArNDYsNyBAQCB0eXBlZGVmIGVudW0g
ewogfSBFd2tfUG9wdXBfTWVudV9JdGVtX1R5cGU7CiAKIC8qKiBDcmVhdGVzIGEgdHlwZSBuYW1l
IGZvciBFd2tfUG9wdXBfTWVudV9JdGVtICovCi10eXBlZGVmIHN0cnVjdCBFd2tfUG9wdXBfTWVu
dV9JdGVtIEV3a19Qb3B1cF9NZW51X0l0ZW07Cit0eXBlZGVmIHN0cnVjdCBFd2tQb3B1cE1lbnVJ
dGVtIEV3a19Qb3B1cF9NZW51X0l0ZW07CiAKIC8qKgogICogUmV0dXJucyB0eXBlIG9mIHRoZSBw
b3B1cCBtZW51IGl0ZW0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfcG9wdXBfbWVudV9pdGVtX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X2l0ZW1fcHJpdmF0ZS5oCmluZGV4IDY2MDU3OTY3
MDY5ZTNlYjU1NTY4MGU1MzZhM2Q5ZTNjYzNkMTVlNjEuLjY4MGEzOTFmMTEwMjQ1OTZlZmQ1YTcx
NmE3YTUwNTBiYzljNmZiMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19wb3B1cF9tZW51X2l0ZW1fcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X2l0ZW1fcHJpdmF0ZS5oCkBAIC0zNSwx
MSArMzUsMTEgQEAKICAqIFxzdHJ1Y3QgIEV3a19Qb3B1cF9NZW51X0l0ZW0KICAqIEBicmllZiAg
IENvbnRhaW5zIHRoZSBwb3B1cCBtZW51IGRhdGEuCiAgKi8KLWNsYXNzIEV3a19Qb3B1cF9NZW51
X0l0ZW0geworY2xhc3MgRXdrUG9wdXBNZW51SXRlbSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NPd25QdHI8RXdrX1BvcHVwX01lbnVfSXRlbT4gY3JlYXRlKGNvbnN0IFdlYktpdDo6V2ViUG9w
dXBJdGVtJiBpdGVtKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a1BvcHVwTWVudUl0ZW0+IGNy
ZWF0ZShjb25zdCBXZWJLaXQ6OldlYlBvcHVwSXRlbSYgaXRlbSkKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgRXdrX1BvcHVwX01lbnVfSXRlbShpdGVtKSk7CisgICAgICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgRXdrUG9wdXBNZW51SXRlbShpdGVtKSk7CiAgICAgfQogCiAgICAg
RXdrX1BvcHVwX01lbnVfSXRlbV9UeXBlIHR5cGUoKSBjb25zdDsKQEAgLTU1LDcgKzU1LDcgQEAg
cHVibGljOgogICAgIGNvbnN0IGNoYXIqIGFjY2Vzc2liaWxpdHlUZXh0KCkgY29uc3Q7CiAKIHBy
aXZhdGU6Ci0gICAgZXhwbGljaXQgRXdrX1BvcHVwX01lbnVfSXRlbShjb25zdCBXZWJLaXQ6Oldl
YlBvcHVwSXRlbSYgaXRlbSk7CisgICAgZXhwbGljaXQgRXdrUG9wdXBNZW51SXRlbShjb25zdCBX
ZWJLaXQ6OldlYlBvcHVwSXRlbSYgaXRlbSk7CiAKICAgICBFd2tfUG9wdXBfTWVudV9JdGVtX1R5
cGUgbV90eXBlOwogICAgIEV3a19UZXh0X0RpcmVjdGlvbiBtX3RleHREaXJlY3Rpb247CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudV9w
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVu
dV9wcml2YXRlLmgKaW5kZXggYmRhZGM1ZWMzYjE2MjZjMzFiZTNjMGRjNGNiYmY4MzNiNGFmN2I3
Yi4uMmI1ZGUwNjg0YWIyMjllNWZjNGZiOGVlNWY0NjM2MWE3YTQ4MmVmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnVfcHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wb3B1cF9tZW51X3By
aXZhdGUuaApAQCAtMzgsMTMgKzM4LDEzIEBAIGNsYXNzIFdlYlBvcHVwTWVudVByb3h5RWZsOwog
CiBjbGFzcyBFd2tWaWV3SW1wbDsKIAotY2xhc3MgRXdrX1BvcHVwX01lbnUgeworY2xhc3MgRXdr
UG9wdXBNZW51IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxFd2tfUG9wdXBfTWVu
dT4gY3JlYXRlKEV3a1ZpZXdJbXBsKiB2aWV3SW1wbCwgV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94
eUVmbCogcG9wdXBNZW51UHJveHksIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYlBvcHVwSXRlbT4m
IGl0ZW1zLCB1bnNpZ25lZCBzZWxlY3RlZEluZGV4KQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3
a1BvcHVwTWVudT4gY3JlYXRlKEV3a1ZpZXdJbXBsKiB2aWV3SW1wbCwgV2ViS2l0OjpXZWJQb3B1
cE1lbnVQcm94eUVmbCogcG9wdXBNZW51UHJveHksIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYlBv
cHVwSXRlbT4mIGl0ZW1zLCB1bnNpZ25lZCBzZWxlY3RlZEluZGV4KQogICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tfUG9wdXBfTWVudSh2aWV3SW1wbCwgcG9wdXBNZW51UHJv
eHksIGl0ZW1zLCBzZWxlY3RlZEluZGV4KSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
RXdrUG9wdXBNZW51KHZpZXdJbXBsLCBwb3B1cE1lbnVQcm94eSwgaXRlbXMsIHNlbGVjdGVkSW5k
ZXgpKTsKICAgICB9Ci0gICAgfkV3a19Qb3B1cF9NZW51KCk7CisgICAgfkV3a1BvcHVwTWVudSgp
OwogCiAgICAgdm9pZCBjbG9zZSgpOwogCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICB1
bnNpZ25lZCBzZWxlY3RlZEluZGV4KCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgRXdrX1BvcHVw
X01lbnUoRXdrVmlld0ltcGwqIHZpZXdJbXBsLCBXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5RWZs
KiwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViUG9wdXBJdGVtPiYgaXRlbXMsIHVuc2lnbmVkIHNl
bGVjdGVkSW5kZXgpOworICAgIEV3a1BvcHVwTWVudShFd2tWaWV3SW1wbCogdmlld0ltcGwsIFdl
YktpdDo6V2ViUG9wdXBNZW51UHJveHlFZmwqLCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJQb3B1
cEl0ZW0+JiBpdGVtcywgdW5zaWduZWQgc2VsZWN0ZWRJbmRleCk7CiAKICAgICBFd2tWaWV3SW1w
bCogbV92aWV3SW1wbDsKICAgICBXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5RWZsKiBtX3BvcHVw
TWVudVByb3h5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3Jlc291cmNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcmVz
b3VyY2UuaAppbmRleCAwNzRmODI4ZmFjY2U1YTUxOGYzNDQ5OTEwMTE2ZDRhNjc1MWJhZjQyLi5j
YTM2YjZjNTQyNjhiOGM5MDIwMzljOTViZDI4YWZkZDE1OWE3MjlkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcmVzb3VyY2UuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcmVzb3VyY2UuaApAQCAtNDIsNyArNDIsNyBA
QCBleHRlcm4gIkMiIHsKICAqCiAgKiBAc2VlIEV3a19PYmplY3QKICAqLwotdHlwZWRlZiBzdHJ1
Y3QgRXdrX09iamVjdCBFd2tfUmVzb3VyY2U7Cit0eXBlZGVmIHN0cnVjdCBFd2tPYmplY3QgRXdr
X1Jlc291cmNlOwogCiAvKioKICAqIFF1ZXJ5IFVSTCBmb3IgdGhpcyByZXNvdXJjZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19yZXNvdXJjZV9wcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcmVzb3VyY2VfcHJp
dmF0ZS5oCmluZGV4IDNlY2M0Y2ZlMGNjM2QzN2Q0ZTFkYTY3NTVhYzAzODIxMmU5MTVjNGYuLmRm
ODcyYzYwYTIyYTFhMzZiM2Q1ZjAwMjY3NmYzZjkwMTM1YjRiZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19yZXNvdXJjZV9wcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Jlc291cmNlX3ByaXZhdGUuaApA
QCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotY2xhc3MgRXdrUmVzb3VyY2UgOiBwdWJsaWMgRXdr
X09iamVjdCB7CitjbGFzcyBFd2tSZXNvdXJjZSA6IHB1YmxpYyBFd2tPYmplY3QgewogcHVibGlj
OgogICAgIEVXS19PQkpFQ1RfREVDTEFSRShFd2tSZXNvdXJjZSkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NlY3VyaXR5X29yaWdpbi5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NlY3VyaXR5X29yaWdpbi5oCmluZGV4
IDJiODE3NWUyMjk0ODk2NjY2ZTA5ZjhmYjA2Y2NhOGJhMTQxYTFmOTcuLjJjZmNmZTBkMTQ0OWE4
YWU4ZGY2NzFlYmE2NDg2ODY0ODZlOGYyMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19zZWN1cml0eV9vcmlnaW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc2VjdXJpdHlfb3JpZ2luLmgKQEAgLTQ3LDcgKzQ3LDcg
QEAgZXh0ZXJuICJDIiB7CiAgKgogICogQHNlZSBFd2tfT2JqZWN0CiAgKi8KLXR5cGVkZWYgc3Ry
dWN0IEV3a19PYmplY3QgRXdrX1NlY3VyaXR5X09yaWdpbjsKK3R5cGVkZWYgc3RydWN0IEV3a09i
amVjdCBFd2tfU2VjdXJpdHlfT3JpZ2luOwogCiAvKioKICAqIFJldHVybnMgdGhlIGhvc3Qgb2Yg
dGhlIHNlY3VyaXR5IG9yaWdpbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19zZWN1cml0eV9vcmlnaW5fcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NlY3VyaXR5X29yaWdpbl9wcml2YXRlLmgKaW5kZXggNjAw
OWM2ZTU1MjFmM2FhYjM5MWFjMDE0NTk5NjI4Y2M4OWIxOWRkMS4uYTJkM2IzMTdiYWMxN2I2ZWQy
MjQ2ZDVhN2U4NWE2NzcwNzkyZjIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3NlY3VyaXR5X29yaWdpbl9wcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NlY3VyaXR5X29yaWdpbl9wcml2YXRlLmgKQEAg
LTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAKLWNsYXNzIEV3a1NlY3VyaXR5T3JpZ2luIDogcHVibGljIEV3a19P
YmplY3QgeworY2xhc3MgRXdrU2VjdXJpdHlPcmlnaW4gOiBwdWJsaWMgRXdrT2JqZWN0IHsKIHB1
YmxpYzoKICAgICBFV0tfT0JKRUNUX0RFQ0xBUkUoRXdrU2VjdXJpdHlPcmlnaW4pCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5ncy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc2V0dGluZ3MuY3BwCmluZGV4
IGU2OTVlOWJiNzk1ZDE0MzZmMDViODQ3YjA5ODE1YTA2NjI5MTU1YjkuLmM2MTcwMzA3ODdlNzY3
MGJlOTNjMWY1YTA4MDYzNGMxN2ZkYWQ0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3NldHRpbmdzLmNwcApAQCAtNDMsMTIgKzQzLDEyIEBACiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLWNvbnN0IFdlYktpdDo6V2ViUHJlZmVyZW5jZXMqIEV3
a19TZXR0aW5nczo6cHJlZmVyZW5jZXMoKSBjb25zdAorY29uc3QgV2ViS2l0OjpXZWJQcmVmZXJl
bmNlcyogRXdrU2V0dGluZ3M6OnByZWZlcmVuY2VzKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV92
aWV3SW1wbC0+cGFnZSgpLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKTsKIH0KIAotV2ViS2l0
OjpXZWJQcmVmZXJlbmNlcyogRXdrX1NldHRpbmdzOjpwcmVmZXJlbmNlcygpCitXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzKiBFd2tTZXR0aW5nczo6cHJlZmVyZW5jZXMoKQogewogICAgIHJldHVybiBt
X3ZpZXdJbXBsLT5wYWdlKCktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NldHRpbmdzLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc2V0dGluZ3MuaAppbmRleCBmZTYy
YjhiODc2N2I1MzNlNTMwMjc4ZWU3OWZmNDllMzdiM2Y2NzhiLi44NTZkYWFhMDAzY2UyZGViZTAw
OWI4YzZiZDU0OTcxYTBmNWY1YWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfc2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfc2V0dGluZ3MuaApAQCAtNDEsNyArNDEsNyBAQCBleHRlcm4gIkMiIHsKICNl
bmRpZgogCiAvKiogQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgRXdrX1NldHRpbmdzICovCi10eXBl
ZGVmIHN0cnVjdCBFd2tfU2V0dGluZ3MgRXdrX1NldHRpbmdzOwordHlwZWRlZiBzdHJ1Y3QgRXdr
U2V0dGluZ3MgRXdrX1NldHRpbmdzOwogCiAvKioKICAqIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9y
IHRoZSBjYWxsYmFjayBmdW5jdGlvbiB1c2VkIHRvIG5vdGlmeSB0aGUgY2xpZW50IHdoZW4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5nc19w
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc2V0dGluZ3Nf
cHJpdmF0ZS5oCmluZGV4IGVhMjlhODU3NTczMGE4NThmNzc4ODFjYzE4ZWViNTNjNTNlMjU2ZmYu
LjMzMzVhYWQ3MWM3Yzk2NTNkYTdhNDNhODliOGI1ODA0YWM4NDg4NzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5nc19wcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3NldHRpbmdzX3ByaXZhdGUu
aApAQCAtMzcsMTggKzM3LDE4IEBAIGNsYXNzIEV3a1ZpZXdJbXBsOwogICogXHN0cnVjdCAgRXdr
X1NldHRpbmdzCiAgKiBAYnJpZWYgICBDb250YWlucyB0aGUgc2V0dGluZ3MgZGF0YS4KICAqLwot
Y2xhc3MgRXdrX1NldHRpbmdzIHsKK2NsYXNzIEV3a1NldHRpbmdzIHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc093blB0cjxFd2tfU2V0dGluZ3M+IGNyZWF0ZShFd2tWaWV3SW1wbCogdmlld0lt
cGwpCisgICAgc3RhdGljIFBhc3NPd25QdHI8RXdrU2V0dGluZ3M+IGNyZWF0ZShFd2tWaWV3SW1w
bCogdmlld0ltcGwpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a19TZXR0
aW5ncyh2aWV3SW1wbCkpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a1NldHRpbmdz
KHZpZXdJbXBsKSk7CiAgICAgfQogCiAgICAgY29uc3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlcyog
cHJlZmVyZW5jZXMoKSBjb25zdDsKICAgICBXZWJLaXQ6OldlYlByZWZlcmVuY2VzKiBwcmVmZXJl
bmNlcygpOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IEV3a19TZXR0aW5ncyhFd2tWaWV3SW1w
bCogdmlld0ltcGwpCisgICAgZXhwbGljaXQgRXdrU2V0dGluZ3MoRXdrVmlld0ltcGwqIHZpZXdJ
bXBsKQogICAgICAgICA6IG1fdmlld0ltcGwodmlld0ltcGwpCiAgICAgewogICAgICAgICBBU1NF
UlQobV92aWV3SW1wbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19zdG9yYWdlX21hbmFnZXIuY3BwCmluZGV4IGNkZjE3MWQ2OGY2ZDRmOGU0Nzc1
MmQ0ZThiZGE1NjdkZTRkNGRjZmUuLjI4MmM3YTAxNzdiMTk4NTk5NDEyNmNhZjhiMjJiNjJkY2I0
ODU3NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19z
dG9yYWdlX21hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19zdG9yYWdlX21hbmFnZXIuY3BwCkBAIC0zNiwxNiArMzYsMTYgQEAKIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKIAotRXdrX1N0b3JhZ2VfTWFuYWdlcjo6RXdrX1N0b3JhZ2VfTWFuYWdl
cihXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHkqIHN0b3JhZ2VNYW5hZ2VyUHJveHkpCitF
d2tTdG9yYWdlTWFuYWdlcjo6RXdrU3RvcmFnZU1hbmFnZXIoV2ViS2V5VmFsdWVTdG9yYWdlTWFu
YWdlclByb3h5KiBzdG9yYWdlTWFuYWdlclByb3h5KQogICAgIDogbV9zdG9yYWdlTWFuYWdlcihz
dG9yYWdlTWFuYWdlclByb3h5KQogeyB9CiAKLXZvaWQgRXdrX1N0b3JhZ2VfTWFuYWdlcjo6Z2V0
U3RvcmFnZU9yaWdpbnModm9pZCogY29udGV4dCwgV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyR2V0
S2V5VmFsdWVTdG9yYWdlT3JpZ2luc0Z1bmN0aW9uIGNhbGxiYWNrKSBjb25zdAordm9pZCBFd2tT
dG9yYWdlTWFuYWdlcjo6Z2V0U3RvcmFnZU9yaWdpbnModm9pZCogY29udGV4dCwgV0tLZXlWYWx1
ZVN0b3JhZ2VNYW5hZ2VyR2V0S2V5VmFsdWVTdG9yYWdlT3JpZ2luc0Z1bmN0aW9uIGNhbGxiYWNr
KSBjb25zdAogewogICAgIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlckdldEtleVZhbHVlU3RvcmFn
ZU9yaWdpbnModG9BUEkobV9zdG9yYWdlTWFuYWdlci5nZXQoKSksIGNvbnRleHQsIGNhbGxiYWNr
KTsKIH0KIAotRWluYV9MaXN0KiBFd2tfU3RvcmFnZV9NYW5hZ2VyOjpjcmVhdGVPcmlnaW5MaXN0
KFdLQXJyYXlSZWYgb3JpZ2lucykgY29uc3QKK0VpbmFfTGlzdCogRXdrU3RvcmFnZU1hbmFnZXI6
OmNyZWF0ZU9yaWdpbkxpc3QoV0tBcnJheVJlZiBvcmlnaW5zKSBjb25zdAogewogICAgIEVpbmFf
TGlzdCogb3JpZ2luTGlzdCA9IDA7CiAgICAgY29uc3Qgc2l6ZV90IGxlbmd0aCA9IFdLQXJyYXlH
ZXRTaXplKG9yaWdpbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3N0b3JhZ2VfbWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3N0b3JhZ2VfbWFuYWdlci5oCmluZGV4IGQ5NGE1NTZiNjczNTAwZTYxNmFlMjMz
Mzg5MDM4MGQ5NjVkMmM3ZGUuLmY5ZDAzOWJiZDFmMGVmNmYwNThlMTcyMDA3ZWEzMDU0Nzg1YmIx
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19zdG9y
YWdlX21hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
c3RvcmFnZV9tYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDcgQEAgZXh0ZXJuICJDIiB7CiAjZW5kaWYK
IAogLyoqIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEV3a19TdG9yYWdlX01hbmFnZXIuICovCi10
eXBlZGVmIHN0cnVjdCBFd2tfU3RvcmFnZV9NYW5hZ2VyIEV3a19TdG9yYWdlX01hbmFnZXI7Cit0
eXBlZGVmIHN0cnVjdCBFd2tTdG9yYWdlTWFuYWdlciBFd2tfU3RvcmFnZV9NYW5hZ2VyOwogCiAv
KioKICAqIEB0eXBlZGVmIEV3a19TdG9yYWdlX09yaWdpbnNfR2V0X0NiIEV3a19TdG9yYWdlX09y
aWdpbnNfR2V0X0NiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfc3RvcmFnZV9tYW5hZ2VyX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19zdG9yYWdlX21hbmFnZXJfcHJpdmF0ZS5oCmluZGV4IDk0YmE3MmQ5Zjk5
NTcwNmI0ZWMwMjBhZDEwNTUzNDNiMTc4NjI2ZTUuLjVkZDRiMDgxZWUwYzE4ZGYyNmEzZmE2NjA5
NTViMDY3NDcwMzg0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19zdG9yYWdlX21hbmFnZXJfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19zdG9yYWdlX21hbmFnZXJfcHJpdmF0ZS5oCkBAIC0zNSwxOSAr
MzUsMTkgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAotY2xhc3MgRXdrX1N0b3JhZ2Vf
TWFuYWdlciB7CitjbGFzcyBFd2tTdG9yYWdlTWFuYWdlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NPd25QdHI8RXdrX1N0b3JhZ2VfTWFuYWdlcj4gY3JlYXRlKFBhc3NSZWZQdHI8V2ViQ29u
dGV4dD4gY29udGV4dCkKKyAgICBzdGF0aWMgUGFzc093blB0cjxFd2tTdG9yYWdlTWFuYWdlcj4g
Y3JlYXRlKFBhc3NSZWZQdHI8V2ViQ29udGV4dD4gY29udGV4dCkKICAgICB7CiAgICAgICAgIEFT
U0VSVChjb250ZXh0KTsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tfU3RvcmFnZV9N
YW5hZ2VyKGNvbnRleHQtPmtleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eSgpKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFB0cihuZXcgRXdrU3RvcmFnZU1hbmFnZXIoY29udGV4dC0+a2V5VmFsdWVT
dG9yYWdlTWFuYWdlclByb3h5KCkpKTsKICAgICB9CiAKICAgICBFaW5hX0xpc3QqIGNyZWF0ZU9y
aWdpbkxpc3QoV0tBcnJheVJlZiB3a0xpc3QpIGNvbnN0OwogICAgIHZvaWQgZ2V0U3RvcmFnZU9y
aWdpbnModm9pZCogY29udGV4dCwgV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyR2V0S2V5VmFsdWVT
dG9yYWdlT3JpZ2luc0Z1bmN0aW9uIGNhbGxiYWNrKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBFd2tfU3RvcmFnZV9NYW5hZ2VyKFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94
eSogc3RvcmFnZU1hbmFnZXJQcm94eSk7CisgICAgZXhwbGljaXQgRXdrU3RvcmFnZU1hbmFnZXIo
V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5KiBzdG9yYWdlTWFuYWdlclByb3h5KTsKIAog
ICAgIFJlZlB0cjxXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHk+IG1fc3RvcmFnZU1hbmFn
ZXI7CiAgICAgbXV0YWJsZSBIYXNoTWFwPFdLU2VjdXJpdHlPcmlnaW5SZWYsIFJlZlB0cjxFd2tf
U2VjdXJpdHlfT3JpZ2luPiA+IG1fd3JhcHBlckNhY2hlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3QuaAppbmRleCBlNjk2ZGM4M2RhNmRh
MjM0YzEyMDJiMDJiMTMwMWExNjZmYjQwNDIyLi45NmI4YjQ1NjdkNGEzOGFiZWUyNzVhOGU4YjVi
YTYxODA3NzBlMWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfdXJsX3JlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfdXJsX3JlcXVlc3QuaApAQCAtNDIsNyArNDIsNyBAQCBleHRlcm4gIkMiIHsKICAqCiAg
KiBAc2VlIEV3a19PYmplY3QKICAqLwotdHlwZWRlZiBzdHJ1Y3QgRXdrX09iamVjdCBFd2tfVXJs
X1JlcXVlc3Q7Cit0eXBlZGVmIHN0cnVjdCBFd2tPYmplY3QgRXdrX1VybF9SZXF1ZXN0OwogCiAv
KioKICAqIFF1ZXJ5IFVSTCBmb3IgdGhpcyByZXF1ZXN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXF1ZXN0X3ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVxdWVzdF9wcml2YXRlLmgKaW5k
ZXggZTk5MTEwNTRiNDA2MzE4OWIwNmM1NDA3OGJkNGM4MmM2MTc4ZmIwMC4uNWJhNjY3N2E1YWQx
MzE5YWFiMTEwODA1Y2QxYWM1YzExMTFjYjA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXF1ZXN0X3ByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3RfcHJpdmF0ZS5oCkBAIC0z
Nyw3ICszNyw3IEBACiAgKiBcc3RydWN0ICBFd2tVcmxSZXF1ZXN0CiAgKiBAYnJpZWYgICBDb250
YWlucyB0aGUgVVJMIHJlcXVlc3QgZGF0YS4KICAqLwotY2xhc3MgRXdrVXJsUmVxdWVzdCA6IHB1
YmxpYyBFd2tfT2JqZWN0IHsKK2NsYXNzIEV3a1VybFJlcXVlc3QgOiBwdWJsaWMgRXdrT2JqZWN0
IHsKIHB1YmxpYzoKICAgICBFV0tfT0JKRUNUX0RFQ0xBUkUoRXdrVXJsUmVxdWVzdCkKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25z
ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5o
CmluZGV4IDJmMzQxNzFlZTg0NzljNzcxNDhjZDM0OTEwOTViYWVhZjFhN2RlYjMuLmVjZDA3OTZj
NGUzNjE2Y2ZhZjZiNmY2M2I2ZDU4MGM3NjcxZGVkNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlLmgKQEAgLTQyLDcgKzQyLDcg
QEAgZXh0ZXJuICJDIiB7CiAgKgogICogQHNlZSBFd2tfT2JqZWN0CiAgKi8KLXR5cGVkZWYgc3Ry
dWN0IEV3a19PYmplY3QgRXdrX1VybF9SZXNwb25zZTsKK3R5cGVkZWYgc3RydWN0IEV3a09iamVj
dCBFd2tfVXJsX1Jlc3BvbnNlOwogCiAvKioKICAqIFF1ZXJ5IFVSTCBmb3IgdGhpcyByZXNwb25z
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxf
cmVzcG9uc2VfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3VybF9yZXNwb25zZV9wcml2YXRlLmgKaW5kZXggZmM1MTJkMTI3MDM3YWM0ODY5NjJlZTg5NDY2
NTk0MzhiM2VkNGExYi4uMDI3NjNjNzJmYThmNzhmMzJhNWMzZmI3YzM4NGVhMGViNzgzZDI3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNw
b25zZV9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3VybF9yZXNwb25zZV9wcml2YXRlLmgKQEAgLTM3LDcgKzM3LDcgQEAKICAqIFxzdHJ1Y3QgIEV3
a1VybFJlc3BvbnNlCiAgKiBAYnJpZWYgICBDb250YWlucyB0aGUgVVJMIHJlc3BvbnNlIGRhdGEu
CiAgKi8KLWNsYXNzIEV3a1VybFJlc3BvbnNlIDogcHVibGljIEV3a19PYmplY3QgeworY2xhc3Mg
RXdrVXJsUmVzcG9uc2UgOiBwdWJsaWMgRXdrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBFV0tfT0JK
RUNUX0RFQ0xBUkUoRXdrVXJsUmVzcG9uc2UpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfc2NoZW1lX3JlcXVlc3QuaAppbmRleCA2MmI3
MjE1OGI0NWU2MzA5ZjEyMzdiMTQ5NGMyOTMzODhkZjJjOTgzLi43NWZhYmQyZTZkYTc3MGU1ODRl
ZDgzYjRlMzU2YTIwNDFkMzMxMjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5oCkBAIC00Miw3ICs0Miw3
IEBAIGV4dGVybiAiQyIgewogICoKICAqIEBzZWUgRXdrX09iamVjdAogICovCi10eXBlZGVmIHN0
cnVjdCBFd2tfT2JqZWN0IEV3a19VcmxfU2NoZW1lX1JlcXVlc3Q7Cit0eXBlZGVmIHN0cnVjdCBF
d2tPYmplY3QgRXdrX1VybF9TY2hlbWVfUmVxdWVzdDsKIAogLyoqCiAgKiBRdWVyeSB0aGUgVVJM
IHNjaGVtZSBmb3IgdGhpcyByZXF1ZXN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdF9wcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X3ByaXZhdGUu
aAppbmRleCBkNmZlZDRhMTkyODRjMDMwNjQ0NWM4NGNkOWZhOWE2NWY4OTkwMDBhLi4wNTE0NzM4
Njc3YjNjZjQ3YmRkYWM5MjFmOTRhMjE2NTgxZWRhNjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1ZXN0X3ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3NjaGVtZV9yZXF1
ZXN0X3ByaXZhdGUuaApAQCAtMzcsNyArMzcsNyBAQAogICogXHN0cnVjdCAgRXdrVXJsU2NoZW1l
UmVxdWVzdAogICogQGJyaWVmICAgQ29udGFpbnMgdGhlIFVSTCBzY2hlbWUgcmVxdWVzdCBkYXRh
LgogICovCi1jbGFzcyBFd2tVcmxTY2hlbWVSZXF1ZXN0IDogcHVibGljIEV3a19PYmplY3Qgewor
Y2xhc3MgRXdrVXJsU2NoZW1lUmVxdWVzdCA6IHB1YmxpYyBFd2tPYmplY3QgewogcHVibGljOgog
ICAgIEVXS19PQkpFQ1RfREVDTEFSRShFd2tVcmxTY2hlbWVSZXF1ZXN0KQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfb2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9v
YmplY3QuY3BwCmluZGV4IDFjOTZmMmU4MDg1ZjUyNDk3YzRjZjI4NzEyNWQ3MzY3NzE0ZTIzZDUu
Ljc5ZGZlYTA5YzQzNzM2NTRkMmZmNTdmM2FhNjM5MDY5ODM2ZjVhNDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9vYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9v
YmplY3QuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAKIGV4dGVy
biBFV0syVW5pdFRlc3RFbnZpcm9ubWVudCogZW52aXJvbm1lbnQ7CiAKLWNsYXNzIFRlc3RFd2tP
YmplY3QxIDogcHVibGljIEV3a19PYmplY3QgeworY2xhc3MgVGVzdEV3a09iamVjdDEgOiBwdWJs
aWMgRXdrT2JqZWN0IHsKIHB1YmxpYzoKICAgICBFV0tfT0JKRUNUX0RFQ0xBUkUoVGVzdEV3a09i
amVjdCkKIApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAKIGJvb2wgVGVzdEV3a09iamVjdDE6
Ondhc0RlbGV0ZWQgPSBmYWxzZTsKIAotY2xhc3MgVGVzdEV3a09iamVjdDIgOiBwdWJsaWMgRXdr
X09iamVjdCB7CitjbGFzcyBUZXN0RXdrT2JqZWN0MiA6IHB1YmxpYyBFd2tPYmplY3QgewogcHVi
bGljOgogICAgIEVXS19PQkpFQ1RfREVDTEFSRShUZXN0RXdrT2JqZWN0MikKIApAQCAtOTIsOCAr
OTIsOCBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX29iamVjdF9yZWYpCiAKIFRFU1Rf
RihFV0syVW5pdFRlc3RCYXNlLCBld2tfb2JqZWN0X2lzX29mX3R5cGUpCiB7Ci0gICAgUmVmUHRy
PEV3a19PYmplY3Q+IG9iamVjdDEgPSBUZXN0RXdrT2JqZWN0MTo6Y3JlYXRlKCk7Ci0gICAgUmVm
UHRyPEV3a19PYmplY3Q+IG9iamVjdDIgPSBUZXN0RXdrT2JqZWN0Mjo6Y3JlYXRlKCk7CisgICAg
UmVmUHRyPEV3a09iamVjdD4gb2JqZWN0MSA9IFRlc3RFd2tPYmplY3QxOjpjcmVhdGUoKTsKKyAg
ICBSZWZQdHI8RXdrT2JqZWN0PiBvYmplY3QyID0gVGVzdEV3a09iamVjdDI6OmNyZWF0ZSgpOwog
CiAgICAgQVNTRVJUX1RSVUUoZXdrX29iamVjdF9pc19vZl90eXBlPFRlc3RFd2tPYmplY3QxKj4o
b2JqZWN0MS5nZXQoKSkpOwogICAgIEFTU0VSVF9UUlVFKGV3a19vYmplY3RfaXNfb2ZfdHlwZTxU
ZXN0RXdrT2JqZWN0Mio+KG9iamVjdDIuZ2V0KCkpKTsKQEAgLTEwNCw4ICsxMDQsOCBAQCBURVNU
X0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX29iamVjdF9pc19vZl90eXBlKQogCiBURVNUX0YoRVdL
MlVuaXRUZXN0QmFzZSwgZXdrX29iamVjdF9jYXN0KQogewotICAgIFJlZlB0cjxFd2tfT2JqZWN0
PiBvYmplY3QxID0gVGVzdEV3a09iamVjdDE6OmNyZWF0ZSgpOwotICAgIFJlZlB0cjxFd2tfT2Jq
ZWN0PiBvYmplY3QyID0gVGVzdEV3a09iamVjdDI6OmNyZWF0ZSgpOworICAgIFJlZlB0cjxFd2tP
YmplY3Q+IG9iamVjdDEgPSBUZXN0RXdrT2JqZWN0MTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPEV3
a09iamVjdD4gb2JqZWN0MiA9IFRlc3RFd2tPYmplY3QyOjpjcmVhdGUoKTsKIAogICAgIFRlc3RF
d2tPYmplY3QxKiBvYmplY3RSZWYxID0gZXdrX29iamVjdF9jYXN0PFRlc3RFd2tPYmplY3QxKj4o
b2JqZWN0MS5nZXQoKSk7CiAgICAgQVNTRVJUX1RSVUUob2JqZWN0UmVmMSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>