<?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>246593</bug_id>
          
          <creation_ts>2022-10-16 10:46:42 -0700</creation_ts>
          <short_desc>AX: Remove 32 ASSERT_NOT_REACHED AXIsolatedObject functions from the AXCoreObject interface</short_desc>
          <delta_ts>2022-10-16 20:48:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tyler Wilcock">tyler_w</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youssefdevelops</cc>
    
    <cc>y_soliman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1905971</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-10-16 10:46:42 -0700</bug_when>
    <thetext>Remove 32 ASSERT_NOT_REACHED AXIsolatedObject functions from the AXCoreObject interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905972</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-10-16 10:46:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/101223521&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905973</commentid>
    <comment_count>2</comment_count>
      <attachid>463016</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-10-16 10:53:37 -0700</bug_when>
    <thetext>Created attachment 463016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1906030</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-16 20:47:58 -0700</bug_when>
    <thetext>Committed 255610@main (2d8149bbed87): &lt;https://commits.webkit.org/255610@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463016.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463016</attachid>
            <date>2022-10-16 10:53:37 -0700</date>
            <delta_ts>2022-10-16 20:47:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246593-20221016105336.patch</filename>
            <type>text/plain</type>
            <size>48694</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBjZDExMDQ5Mjc5NWU4NDI2ZDQ2ZTg2ZDUzNjBhMTMxNDE5N2YxZWZkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogU3VuLCAxNiBPY3QgMjAyMiAxMDo0Njo0NiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBS
ZW1vdmUgMzIgQVNTRVJUX05PVF9SRUFDSEVEIEFYSXNvbGF0ZWRPYmplY3QgZnVuY3Rpb25zCiBm
cm9tIHRoZSBBWENvcmVPYmplY3QgaW50ZXJmYWNlCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjQ2NTkzIHJkYXI6Ly9wcm9ibGVtLzEwMTIyMzUyMQoKUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgpUaGlzIHBhdGNoOgoKICAtIFJlbW92ZXMgYSBjb3VwbGUgY29t
cGxldGVseSB1bnVzZWQgZnVuY3Rpb25zLgoKICAtIE1vdmVzIG1hbnkgZnVuY3Rpb25zIG91dCBv
ZiB0aGUgQVhDb3JlT2JqZWN0IGludGVyZmFjZSwgaW5zdGVhZAogICAgbWFraW5nIHRoZW0gdmly
dHVhbCBhdCB0aGUgQWNjZXNzaWJpbGl0eU9iamVjdCBsZXZlbC4KCiAgLSBNYWtlcyBzb21lIGZ1
bmN0aW9ucyBjb21wbGV0ZWx5IG5vbi12aXJ0dWFsIChzaW5jZSB0aGV5IHdlcmUgb25seQogICAg
dmlydHVhbCBiZWNhdXNlIG9mIHRoZWlyIEFYSXNvbGF0ZWRPYmplY3QgaW1wbGVtZW50YXRpb24p
LiBUaGlzCiAgICBzaG91bGQgaGVscCBwZXJmb3JtYW5jZS4KCiAgLSBNb3ZlcyB0aGUgY2FjaGlu
ZyBvZiBBWFByb3BlcnR5TmFtZTo6SXNTZWxlY3RlZE9wdGlvbkFjdGl2ZSB0byBhbgogICAgYCNp
ZiBQTEFURk9STShBVFNQSSlgIGJsb2NrIHNpbmNlIHRoYXQgcGxhdGZvcm0gaXMgdGhlIHRoZSBv
bmx5IG9uZQogICAgdGhhdCB1c2VzIHRoaXMgcHJvcGVydHkuCgoqIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxhYmVsLmg6Cihpc1R5cGUpOgoqIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lZGlhT2JqZWN0Lmg6Cihpc1R5cGUpOgoq
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzY3JvbGxWaWV3QW5jZXN0b3IgY29uc3QpOiBE
ZWxldGVkLgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Zmlyc3RBbm9ueW1vdXNCbG9j
a0NoaWxkIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmluaXQp
OgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6aXNBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFy
IGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzQWNjZXNzaWJpbGl0eVNj
cm9sbFZpZXdJbnN0YW5jZSBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpp
c0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbkluc3RhbmNlIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3Q6OmlzU2xpZGVyVGh1bWIgY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eU9iamVjdDo6aXNMYWJlbCBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Ojppc05hdGl2ZVNwaW5CdXR0b24gY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dDo6aXNTcGluQnV0dG9uUGFydCBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Ojppc01lZGlhT2JqZWN0IGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnN0
ZXBWYWx1ZUZvclJhbmdlIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnBh
cmVudE9iamVjdElmRXhpc3RzIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
Om9ic2VydmFibGVPYmplY3QgY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6
aXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphcmlhUm9sZUhhc1ByZXNlbnRhdGlvbmFsQ2hpbGRyZW4gY29uc3QpOgoo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6aGVscFRleHQgY29uc3QpOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6aXNBUklBU3RhdGljVGV4dCBjb25zdCk6CihXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhTGFiZWxlZEJ5QXR0cmlidXRlIGNvbnN0KToKKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFEZXNjcmliZWRCeUF0dHJpYnV0ZSBjb25zdCk6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphbmNob3JFbGVtZW50IGNvbnN0KToKKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnNob3VsZEZvY3VzQWN0aXZlRGVzY2VuZGFudCBj
b25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjppbmRleCBjb25zdCk6CiogU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmg6
CihXZWJDb3JlOjpBWENvcmVPYmplY3Q6Om9iamVjdElEIGNvbnN0KToKKFdlYkNvcmU6OkFYQ29y
ZU9iamVjdDo6aXNTcGluQnV0dG9uIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5oOgoqIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CiogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Lmg6CiogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oOgooaXNUeXBlKToK
KiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxiYXIuaDoK
KGlzVHlwZSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xp
ZGVyLmg6Cihpc1R5cGUpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVNwaW5CdXR0b24uaDoKKGlzVHlwZSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaDoKKGlzVHlwZSk6CiogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CihXZWJDb3Jl
OjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUHJvcGVydGllcyk6CihXZWJDb3JlOjpBWElz
b2xhdGVkT2JqZWN0Ojppbml0KTogRGVsZXRlZC4KKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6
OnBsYWluVGV4dFJhbmdlRm9yVmlzaWJsZVBvc2l0aW9uUmFuZ2UgY29uc3QpOiBEZWxldGVkLgoo
V2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6aW5kZXggY29uc3QpOiBEZWxldGVkLgooV2ViQ29y
ZTo6QVhJc29sYXRlZE9iamVjdDo6aXNBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyIGNvbnN0KTogRGVs
ZXRlZC4KKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmlzQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXdJbnN0YW5jZSBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojpp
c0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbkluc3RhbmNlIGNvbnN0KTogRGVsZXRlZC4KKFdlYkNv
cmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmlzQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9ySW5z
dGFuY2UgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6aXNTbGlk
ZXJUaHVtYiBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppc0lu
cHV0U2xpZGVyIGNvbnN0KTogRGVsZXRlZC4KKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6Omlz
TGFiZWwgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6aXNOYXRp
dmVTcGluQnV0dG9uIGNvbnN0KTogRGVsZXRlZC4KKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6
OmlzU3BpbkJ1dHRvblBhcnQgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9i
amVjdDo6aXNNZWRpYU9iamVjdCBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0Ojppc0FSSUFUZXh0Q29udHJvbCBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpBWElz
b2xhdGVkT2JqZWN0OjpkZWZhdWx0T2JqZWN0SW5jbHVzaW9uIGNvbnN0KTogRGVsZXRlZC4KKFdl
YkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWRCeURlZmF1bHQg
Y29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6c3RlcFZhbHVlRm9y
UmFuZ2UgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6cGFyZW50
T2JqZWN0SWZFeGlzdHMgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9iamVj
dDo6b2JzZXJ2YWJsZU9iamVjdCBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFSb2xlIGNvbnN0KTogRGVsZXRlZC4K
KFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGls
ZHJlbiBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpoZWxwVGV4
dCBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppc0FSSUFTdGF0
aWNUZXh0IGNvbnN0KTogRGVsZXRlZC4KKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmFyaWFM
YWJlbGVkQnlBdHRyaWJ1dGUgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9i
amVjdDo6YXJpYURlc2NyaWJlZEJ5QXR0cmlidXRlIGNvbnN0KTogRGVsZXRlZC4KKFdlYkNvcmU6
OkFYSXNvbGF0ZWRPYmplY3Q6OmFuY2hvckVsZW1lbnQgY29uc3QpOiBEZWxldGVkLgooV2ViQ29y
ZTo6QVhJc29sYXRlZE9iamVjdDo6dGV4dEl0ZXJhdG9yQmVoYXZpb3JGb3JUZXh0UmFuZ2UgY29u
c3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6ZnJhbWUgY29uc3QpOiBE
ZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6bWFpbkZyYW1lIGNvbnN0KTogRGVs
ZXRlZC4KKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OnRvcERvY3VtZW50IGNvbnN0KTogRGVs
ZXRlZC4KKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OnNjcm9sbFZpZXdBbmNlc3RvciBjb25z
dCk6IERlbGV0ZWQuCihXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpzaG91bGRGb2N1c0FjdGl2
ZURlc2NlbmRhbnQgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6
Zmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxkIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0Lmg6Ci0tLQogLi4u
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxhYmVsLmggICAgICAgIHwgICA0ICstCiAuLi4v
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFPYmplY3QuaCAgfCAgIDQgKy0KIC4uLi9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwICAgICB8ICAxNyAtLQogLi4uL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oICAgICAgIHwgIDYyICsrKy0tLQogLi4u
L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAgICAgICAgICAgIHwgIDM2IC0tLS0KIC4u
Li9BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaCAgICAgICAgICB8ICAgNSAtCiAuLi4v
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAgICAgfCAgIDIgKy0KIC4uLi9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCB8ICAgMiArLQogLi4uL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAgIHwgICA0ICstCiAuLi4vYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmggICAgfCAgIDUgKy0KIC4uLi9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuaCAgICAgICB8ICAgNSArLQogLi4uL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAgIHwgICA5ICstCiAuLi4vYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaCAgfCAgIDQgKy0KIC4uLi9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAgICAgICAgICB8IDE5OSArLS0tLS0tLS0tLS0tLS0t
LS0KIC4uLi9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oICAgICAgICAgICB8ICAzNCAt
LS0KIDE1IGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDMzNCBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlM
YWJlbC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGFiZWwu
aAppbmRleCA2MjVhMjdmMmFlODAuLjI5ZTk1M2QwYjc5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGFiZWwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMYWJlbC5oCkBAIC01NSw0ICs1NSw2IEBA
IHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19BQ0NFU1NJQklMSVRZKEFjY2Vzc2liaWxpdHlMYWJlbCwgaXNMYWJlbCgpKQorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5TGFiZWwpIFwKKyAg
ICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCYg
b2JqZWN0KSB7IHJldHVybiBvYmplY3QuaXNMYWJlbCgpOyB9IFwKK1NQRUNJQUxJWkVfVFlQRV9U
UkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU1lZGlhT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlNZWRpYU9iamVjdC5oCmluZGV4IGRkNTE2ZGI4NGM1Yy4uMjIxZjhiNzNlZWIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlN
ZWRpYU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU1lZGlhT2JqZWN0LmgKQEAgLTY3LDUgKzY3LDcgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0FDQ0VTU0lCSUxJVFkoQWNj
ZXNzaWJpbGl0eU1lZGlhT2JqZWN0LCBpc01lZGlhT2JqZWN0KCkpCitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX0JFR0lOKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlNZWRpYU9iamVjdCkgXAorICAgIHN0
YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmpl
Y3QpIHsgcmV0dXJuIG9iamVjdC5pc01lZGlhT2JqZWN0KCk7IH0gXAorU1BFQ0lBTElaRV9UWVBF
X1RSQUlUU19FTkQoKQogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRl
eCAwN2Y2YjI0NDg5MDMuLjA2MzI1MDg4ZjU4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0xODI1LDE0ICsxODI1
LDYgQEAgY29uc3QgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcqIEFjY2Vzc2liaWxpdHlPYmplY3Q6
OmFuY2VzdG9yQWNjZXNzaWJpbGl0eVNjcm9sbFYKICAgICB9KSk7CiB9CiAKLVNjcm9sbFZpZXcq
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNjcm9sbFZpZXdBbmNlc3RvcigpIGNvbnN0Ci17Ci0gICAg
aWYgKGF1dG8gcGFyZW50U2Nyb2xsVmlldyA9IGFuY2VzdG9yQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcodHJ1ZS8qIGluY2x1ZGVTZWxmICovKSkKLSAgICAgICAgcmV0dXJuIHBhcmVudFNjcm9sbFZp
ZXctPnNjcm9sbFZpZXcoKTsKLSAgICAKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQogI2lmIFBM
QVRGT1JNKENPQ09BKQogUmVtb3RlQVhPYmplY3RSZWYgQWNjZXNzaWJpbGl0eU9iamVjdDo6cmVt
b3RlUGFyZW50T2JqZWN0KCkgY29uc3QKIHsKQEAgLTIzNjMsMTUgKzIzNTUsNiBAQCBBY2Nlc3Np
YmlsaXR5T3JpZW50YXRpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6b3JpZW50YXRpb24oKSBjb25z
dAogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T3JpZW50YXRpb246OlVuZGVmaW5lZDsKIH0gICAg
CiAKLUFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmZpcnN0QW5vbnlt
b3VzQmxvY2tDaGlsZCgpIGNvbnN0Ci17Ci0gICAgZm9yIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBj
aGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkp
IHsKLSAgICAgICAgaWYgKGNoaWxkLT5yZW5kZXJlcigpICYmIGNoaWxkLT5yZW5kZXJlcigpLT5p
c0Fub255bW91c0Jsb2NrKCkpCi0gICAgICAgICAgICByZXR1cm4gY2hpbGQ7Ci0gICAgfQotICAg
IHJldHVybiBudWxscHRyOwotfQotCiB1c2luZyBBUklBUm9sZU1hcCA9IEhhc2hNYXA8U3RyaW5n
LCBBY2Nlc3NpYmlsaXR5Um9sZSwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPjsKIHVzaW5nIEFS
SUFSZXZlcnNlUm9sZU1hcCA9IEhhc2hNYXA8QWNjZXNzaWJpbGl0eVJvbGUsIFN0cmluZywgRGVm
YXVsdEhhc2g8aW50PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxpbnQ+PjsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaAppbmRleCBlZmQxOTViMTFiZDIuLmZiMzFiMmYwNTg2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTgwLDcgKzgw
LDcgQEAgcHVibGljOgogICAgIC8vIEFmdGVyIGNvbnN0cnVjdGluZyBhbiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LCBpdCBtdXN0IGJlIGdpdmVuIGEKICAgICAvLyB1bmlxdWUgSUQsIHRoZW4gYWRkZWQg
dG8gQVhPYmplY3RDYWNoZSwgYW5kIGZpbmFsbHkgaW5pdCgpIG11c3QKICAgICAvLyBiZSBjYWxs
ZWQgbGFzdC4KLSAgICB2b2lkIGluaXQoKSBvdmVycmlkZSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
aW5pdCgpIHsgfQogCiAgICAgLy8gUHJlZmVyIHVzaW5nIHRoZSBkZWRpY2F0ZWQgZnVuY3Rpb25z
IG92ZXIgY29uc3VtaW5nIHRoZXNlIGZsYWcgdmFsdWVzIGRpcmVjdGx5LCBhcyB0aGUgZmxhZ3Mg
Y2FuIHNvbWV0aW1lcyBiZSB1bmluaXRpYWxpemVkLgogICAgIC8vIEFsc28sIHRoZSBkZWRpY2F0
ZWQgZnVuY3Rpb25zIHRyYXZlcnNlIGZvciB5b3UgaWYgdGhlIGZsYWdzIGFyZW4ndCB5ZXQgaW5p
dGlhbGl6ZWQuCkBAIC0xMDksMTUgKzEwOSwxNCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQog
ICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICBib29sIGlzQWNjZXNzaWJpbGl0eVNjcm9sbGJhcigpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlTY3Jv
bGxWaWV3SW5zdGFuY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZp
cnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxpdHlTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxpdHlTY3JvbGxWaWV3SW5zdGFuY2Uo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxp
dHlTVkdSb290KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGlzQWNjZXNzaWJp
bGl0eVRhYmxlSW5zdGFuY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQotICAg
IGJvb2wgaXNBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW5JbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzQWNjZXNzaWJpbGl0eVRhYmxl
Q29sdW1uSW5zdGFuY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgaXNBY2Nl
c3NpYmlsaXR5QVJJQUdyaWRJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlBUklBR3JpZFJvd0luc3RhbmNlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGlzQWNjZXNzaWJpbGl0eUFSSUFH
cmlkQ2VsbEluc3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KLSAgICBi
b29sIGlzQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9ySW5zdGFuY2UoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5TGlzdEJveElu
c3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGlzQVhJ
c29sYXRlZE9iamVjdEluc3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
IApAQCAtMTQwLDEwICsxMzksOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0lucHV0SW1hZ2UoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgaXNQcm9ncmVzc0luZGlj
YXRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBpc1NsaWRl
cigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgYm9vbCBpc1NsaWRlclRo
dW1iKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KLSAgICBib29sIGlzSW5wdXRT
bGlkZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9v
bCBpc1NsaWRlclRodW1iKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGlzQ29u
dHJvbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgYm9vbCBpc0xhYmVs
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNM
YWJlbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBib29sIGlzTGlzdCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzVW5vcmRlcmVk
TGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xOTksMTYgKzE5NywxNiBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc01lbnVMaXN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7
IH0KICAgICBib29sIGlzTWVudUxpc3RQb3B1cCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgYm9vbCBpc01lbnVMaXN0T3B0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZmFsc2U7IH0KLSAgICBib29sIGlzTmF0aXZlU3BpbkJ1dHRvbigpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzTmF0aXZlU3BpbkJ1dHRvbigp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgQVhDb3JlT2JqZWN0KiBpbmNyZW1lbnRCdXR0
b24oKSBvdmVycmlkZSB7IHJldHVybiBudWxscHRyOyB9CiAgICAgQVhDb3JlT2JqZWN0KiBkZWNy
ZW1lbnRCdXR0b24oKSBvdmVycmlkZSB7IHJldHVybiBudWxscHRyOyB9Ci0gICAgYm9vbCBpc1Nw
aW5CdXR0b25QYXJ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0
dWFsIGJvb2wgaXNTcGluQnV0dG9uUGFydCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIGlzSW5jcmVtZW50b3IoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IGJvb2wgaXNNb2NrT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNNZWRpYUNvbnRyb2xMYWJlbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9Ci0gICAgYm9vbCBpc01lZGlhT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYU9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgYm9vbCBpc1RleHRDb250cm9sKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9v
bCBpc0FSSUFUZXh0Q29udHJvbCgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgaXNBUklBVGV4
dENvbnRyb2woKSBjb25zdDsKICAgICBib29sIGlzTm9uTmF0aXZlVGV4dENvbnRyb2woKSBjb25z
dCBvdmVycmlkZTsKICAgICBib29sIGlzQnV0dG9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9v
bCBpc0xhbmRtYXJrKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC0yNzgsOCArMjc2LDggQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25z
dCBvdmVycmlkZTsKICAgICB2b2lkIHJlY29tcHV0ZUlzSWdub3JlZCgpOwotICAgIEFjY2Vzc2li
aWxpdHlPYmplY3RJbmNsdXNpb24gZGVmYXVsdE9iamVjdEluY2x1c2lvbigpIGNvbnN0IG92ZXJy
aWRlOwotICAgIGJvb2wgYWNjZXNzaWJpbGl0eUlzSWdub3JlZEJ5RGVmYXVsdCgpIGNvbnN0IG92
ZXJyaWRlOworICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBkZWZhdWx0
T2JqZWN0SW5jbHVzaW9uKCkgY29uc3Q7CisgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
QnlEZWZhdWx0KCkgY29uc3Q7CiAKICAgICBib29sIGlzU2hvd2luZ1ZhbGlkYXRpb25NZXNzYWdl
KCkgY29uc3Q7CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlKCkgY29uc3Q7CkBAIC0yOTEs
NyArMjg5LDcgQEAgcHVibGljOgogICAgIGZsb2F0IHZhbHVlRm9yUmFuZ2UoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiAwLjBmOyB9CiAgICAgZmxvYXQgbWF4VmFsdWVGb3JSYW5nZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIDAuMGY7IH0KICAgICBmbG9hdCBtaW5WYWx1ZUZvclJhbmdlKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMC4wZjsgfQotICAgIGZsb2F0IHN0ZXBWYWx1ZUZvclJh
bmdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMC4wZjsgfQorICAgIHZpcnR1YWwgZmxvYXQg
c3RlcFZhbHVlRm9yUmFuZ2UoKSBjb25zdCB7IHJldHVybiAwLjBmOyB9CiAgICAgQVhDb3JlT2Jq
ZWN0KiBzZWxlY3RlZFJhZGlvQnV0dG9uKCkgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQog
ICAgIEFYQ29yZU9iamVjdCogc2VsZWN0ZWRUYWJJdGVtKCkgb3ZlcnJpZGUgeyByZXR1cm4gbnVs
bHB0cjsgfQogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHNlbGVjdGVkTGlzdEl0ZW0oKTsKQEAg
LTM1OSw3ICszNTcsNyBAQCBwdWJsaWM6CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50
T2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIEFjY2Vzc2li
aWxpdHlPYmplY3QqIGRpc3BsYXlDb250ZW50c1BhcmVudCgpIGNvbnN0OwogICAgIEFjY2Vzc2li
aWxpdHlPYmplY3QqIHBhcmVudE9iamVjdFVuaWdub3JlZCgpIGNvbnN0IG92ZXJyaWRlOwotICAg
IEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudE9iamVjdElmRXhpc3RzKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9iamVjdCog
cGFyZW50T2JqZWN0SWZFeGlzdHMoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAgICAgc3Rh
dGljIEFjY2Vzc2liaWxpdHlPYmplY3QqIGZpcnN0QWNjZXNzaWJsZU9iamVjdEZyb21Ob2RlKGNv
bnN0IE5vZGUqKTsKICAgICB2b2lkIGZpbmRNYXRjaGluZ09iamVjdHMoQWNjZXNzaWJpbGl0eVNl
YXJjaENyaXRlcmlhKiwgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCBib29sIGlzRGVzY2VuZGFudE9mQmFycmVuUGFyZW50KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KQEAgLTM3MCw3ICszNjgsNyBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPFNpbXBs
ZVJhbmdlPiBmaW5kVGV4dFJhbmdlcyhjb25zdCBBY2Nlc3NpYmlsaXR5U2VhcmNoVGV4dENyaXRl
cmlhJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVmVjdG9yPFN0cmluZz4gcGVyZm9ybVRleHRPcGVy
YXRpb24oY29uc3QgQWNjZXNzaWJpbGl0eVRleHRPcGVyYXRpb24mKSBvdmVycmlkZTsKIAotICAg
IEFjY2Vzc2liaWxpdHlPYmplY3QqIG9ic2VydmFibGVPYmplY3QoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYnNl
cnZhYmxlT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIEFjY2Vzc2liaWxp
dHlDaGlsZHJlblZlY3RvciBsaW5rZWRPYmplY3RzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
eyB9OyB9CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogdGl0bGVVSUVsZW1lbnQoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBudWxscHRyOyB9CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29y
cmVzcG9uZGluZ0xhYmVsRm9yQ29udHJvbEVsZW1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBudWxscHRyOyB9CkBAIC0zNzgsOCArMzc2LDggQEAgcHVibGljOgogICAgIEFjY2Vzc2liaWxp
dHlPYmplY3QqIHNjcm9sbEJhcihBY2Nlc3NpYmlsaXR5T3JpZW50YXRpb24pIG92ZXJyaWRlIHsg
cmV0dXJuIG51bGxwdHI7IH0KIAogICAgIEFjY2Vzc2liaWxpdHlSb2xlIGFyaWFSb2xlQXR0cmli
dXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd247
IH0KLSAgICBib29sIGlzUHJlc2VudGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQotICAgIGJvb2wgYXJpYVJvbGVIYXNQcmVzZW50YXRpb25h
bENoaWxkcmVuKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFs
IGJvb2wgaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgdmlydHVhbCBib29sIGFyaWFSb2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJl
bigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBpbmhlcml0c1ByZXNlbnRhdGlv
bmFsUm9sZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICAvLyBBY2Nl
c3NpYmlsaXR5IFRleHQKQEAgLTM5NCwxNiArMzkyLDE2IEBAIHB1YmxpYzoKICAgICAvLyBBY2Nl
c3NpYmlsaXR5IFRleHQgLSAoVG8gYmUgZGVwcmVjYXRlZCkuCiAgICAgU3RyaW5nIGFjY2Vzc2li
aWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFN0cmluZygpOyB9CiAg
ICAgU3RyaW5nIHRpdGxlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAg
ICBTdHJpbmcgaGVscFRleHQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBTdHJpbmcoKTsgfQor
ICAgIHZpcnR1YWwgU3RyaW5nIGhlbHBUZXh0KCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0K
IAogICAgIC8vIE1ldGhvZHMgZm9yIGRldGVybWluaW5nIGFjY2Vzc2liaWxpdHkgdGV4dC4KLSAg
ICBib29sIGlzQVJJQVN0YXRpY1RleHQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBhcmlhUm9s
ZUF0dHJpYnV0ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpTdGF0aWNUZXh0OyB9CisgICAgYm9v
bCBpc0FSSUFTdGF0aWNUZXh0KCkgY29uc3QgeyByZXR1cm4gYXJpYVJvbGVBdHRyaWJ1dGUoKSA9
PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dDsgfQogICAgIFN0cmluZyBzdHJpbmdWYWx1
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgU3RyaW5nIHRleHRV
bmRlckVsZW1lbnQoQWNjZXNzaWJpbGl0eVRleHRVbmRlckVsZW1lbnRNb2RlID0gQWNjZXNzaWJp
bGl0eVRleHRVbmRlckVsZW1lbnRNb2RlKCkpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFN0cmlu
ZygpOyB9CiAgICAgU3RyaW5nIHRleHQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBTdHJpbmco
KTsgfQogICAgIGludCB0ZXh0TGVuZ3RoKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQot
ICAgIFN0cmluZyBhcmlhTGFiZWxlZEJ5QXR0cmlidXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gU3RyaW5nKCk7IH0KLSAgICBTdHJpbmcgYXJpYURlc2NyaWJlZEJ5QXR0cmlidXRlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBhcmlh
TGFiZWxlZEJ5QXR0cmlidXRlKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0
dWFsIFN0cmluZyBhcmlhRGVzY3JpYmVkQnlBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBTdHJp
bmcoKTsgfQogICAgIGNvbnN0IFN0cmluZyBwbGFjZWhvbGRlclZhbHVlKCkgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgYm9vbCBhY2Nlc3NpYmxlTmFtZURlcml2ZXNGcm9tQ29udGVudCgpIGNvbnN0Owog
ICAgIFN0cmluZyBicmFpbGxlTGFiZWwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBnZXRBdHRy
aWJ1dGUoSFRNTE5hbWVzOjphcmlhX2JyYWlsbGVsYWJlbEF0dHIpOyB9CkBAIC00MzEsNyArNDI5
LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEFjY2Vzc2liaWxpdHlPYmplY3QqIGFuY2hvckVs
ZW1lbnRGb3JOb2RlKE5vZGUqKTsKICAgICBzdGF0aWMgQWNjZXNzaWJpbGl0eU9iamVjdCogaGVh
ZGluZ0VsZW1lbnRGb3JOb2RlKE5vZGUqKTsKLSAgICBFbGVtZW50KiBhbmNob3JFbGVtZW50KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZpcnR1YWwgRWxlbWVudCog
YW5jaG9yRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICBib29sIHN1cHBv
cnRzUHJlc3NBY3Rpb24oKSBjb25zdCBvdmVycmlkZTsKICAgICBFbGVtZW50KiBhY3Rpb25FbGVt
ZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIExheW91dFJlY3Qg
Ym91bmRpbmdCb3hSZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gTGF5b3V0UmVjdCgpOyB9
CkBAIC00NDEsNyArNDM5LDcgQEAgcHVibGljOgogICAgIFBhdGggZWxlbWVudFBhdGgoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBQYXRoKCk7IH0KICAgICBib29sIHN1cHBvcnRzUGF0aCgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICBUZXh0SXRlcmF0b3JCZWhhdmlv
cnMgdGV4dEl0ZXJhdG9yQmVoYXZpb3JGb3JUZXh0UmFuZ2UoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBUZXh0SXRlcmF0b3JCZWhhdmlvcnMgdGV4dEl0ZXJhdG9yQmVoYXZpb3JGb3JUZXh0UmFuZ2Uo
KSBjb25zdDsKICAgICBQbGFpblRleHRSYW5nZSBzZWxlY3RlZFRleHRSYW5nZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHsgfTsgfQogICAgIGludCBpbnNlcnRpb25Qb2ludExpbmVOdW1iZXIo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAtMTsgfQogCkBAIC00NjQsMTEgKzQ2MiwxMCBAQCBw
dWJsaWM6CiAgICAgUGFnZSogcGFnZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIERvY3VtZW50KiBk
b2N1bWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEZyYW1lVmlldyogZG9jdW1lbnRGcmFtZVZp
ZXcoKSBjb25zdCBvdmVycmlkZTsKLSAgICBGcmFtZSogZnJhbWUoKSBjb25zdCBvdmVycmlkZTsK
LSAgICBGcmFtZSogbWFpbkZyYW1lKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgRG9jdW1lbnQqIHRv
cERvY3VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgRnJhbWUqIGZyYW1lKCkgY29uc3Q7Cisg
ICAgRnJhbWUqIG1haW5GcmFtZSgpIGNvbnN0OworICAgIERvY3VtZW50KiB0b3BEb2N1bWVudCgp
IGNvbnN0OwogICAgIFNjcm9sbFZpZXcqIHNjcm9sbFZpZXcoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBudWxscHRyOyB9Ci0gICAgU2Nyb2xsVmlldyogc2Nyb2xsVmlld0FuY2VzdG9yKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIGxhbmd1YWdlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
Ly8gMS1iYXNlZCwgdG8gbWF0Y2ggdGhlIGFyaWEtbGV2ZWwgc3BlYy4KICAgICB1bnNpZ25lZCBo
aWVyYXJjaGljYWxMZXZlbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KQEAgLTUyMSw5
ICs1MTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTZWxlY3RlZENoaWxkcmVuKGNvbnN0IEFj
Y2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpIG92ZXJyaWRlIHsgfQogICAgIHZvaWQgdmlzaWJs
ZUNoaWxkcmVuKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpIG92ZXJyaWRlIHsgfQogICAg
IHZvaWQgdGFiQ2hpbGRyZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgb3ZlcnJpZGUg
eyB9Ci0gICAgYm9vbCBzaG91bGRGb2N1c0FjdGl2ZURlc2NlbmRhbnQoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzaG91bGRGb2N1c0FjdGl2ZURl
c2NlbmRhbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIGFjdGl2ZURlc2NlbmRhbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBudWxscHRyOyB9
Ci0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogZmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxkKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQWNjZXNzaWJpbGl0eVJv
bGUgYXJpYVJvbGVUb1dlYkNvcmVSb2xlKGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgYm9v
bCBoYXNBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwpAQCAtNTc3LDggKzU3
Myw4IEBAIHB1YmxpYzoKICAgICBpbnQgaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlz
aWJsZVBvc2l0aW9uJikgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogCiAgICAgaW50IGxp
bmVGb3JQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mKSBjb25zdCBvdmVycmlkZTsKLSAg
ICBQbGFpblRleHRSYW5nZSBwbGFpblRleHRSYW5nZUZvclZpc2libGVQb3NpdGlvblJhbmdlKGNv
bnN0IFZpc2libGVQb3NpdGlvblJhbmdlJikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgaW50IGluZGV4
KGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIC0xOyB9Cisg
ICAgUGxhaW5UZXh0UmFuZ2UgcGxhaW5UZXh0UmFuZ2VGb3JWaXNpYmxlUG9zaXRpb25SYW5nZShj
b25zdCBWaXNpYmxlUG9zaXRpb25SYW5nZSYpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IGluZGV4
KGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNvbnN0IHsgcmV0dXJuIC0xOyB9CiAKICAgICBQbGFp
blRleHRSYW5nZSBkb0FYUmFuZ2VGb3JMaW5lKHVuc2lnbmVkKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBQbGFpblRleHRSYW5nZSgpOyB9CiAgICAgUGxhaW5UZXh0UmFuZ2UgZG9BWFJhbmdlRm9y
UG9zaXRpb24oY29uc3QgSW50UG9pbnQmKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5o
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmgKaW5kZXggYmM0NGU2MTllZWVlLi4wMGFjOTkwMjRjYTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZS5oCkBAIC04MjIsMTIgKzgyMiw4IEBAIGNsYXNzIEFYQ29yZU9iamVjdCA6IHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxBWENvcmVPYmplY3Q+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5BWENvcmVPYmplY3QoKSA9IGRlZmF1bHQ7CiAKLSAgICAvLyBBZnRlciBjb25zdHJ1Y3Rpbmcg
YW4gYWNjZXNzaWJsZSBvYmplY3QsIGl0IG11c3QgYmUgZ2l2ZW4gYQotICAgIC8vIHVuaXF1ZSBJ
RCwgdGhlbiBhZGRlZCB0byBBWE9iamVjdENhY2hlLCBhbmQgZmluYWxseSBpbml0KCkgbXVzdAot
ICAgIC8vIGJlIGNhbGxlZCBsYXN0LgogICAgIHZvaWQgc2V0T2JqZWN0SUQoQVhJRCBheElEKSB7
IG1faWQgPSBheElEOyB9CiAgICAgQVhJRCBvYmplY3RJRCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7
IH0KLSAgICB2aXJ0dWFsIHZvaWQgaW5pdCgpID0gMDsKIAogICAgIC8vIFdoZW4gdGhlIGNvcnJl
c3BvbmRpbmcgV2ViQ29yZSBvYmplY3QgdGhhdCB0aGlzIGFjY2Vzc2libGUgb2JqZWN0CiAgICAg
Ly8gcmVwcmVzZW50cyBpcyBkZWxldGVkLCBpdCBtdXN0IGJlIGRldGFjaGVkLgpAQCAtODM5LDE0
ICs4MzUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxpdHlPYmpl
Y3QoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3QoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdCgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNBY2Nlc3NpYmlsaXR5U2Nyb2xs
YmFyKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxpdHlTY3JvbGxW
aWV3SW5zdGFuY2UoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQWNjZXNzaWJpbGl0
eVRhYmxlSW5zdGFuY2UoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBib29sIGlzQWNjZXNzaWJp
bGl0eVRhYmxlQ29sdW1uSW5zdGFuY2UoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlz
QWNjZXNzaWJpbGl0eUFSSUFHcmlkSW5zdGFuY2UoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGlzQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93SW5zdGFuY2UoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCBib29sIGlzQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbEluc3RhbmNlKCkgY29uc3Qg
PSAwOwotICAgIHZpcnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcklu
c3RhbmNlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxpdHlMaXN0
Qm94SW5zdGFuY2UoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQVhJc29sYXRlZE9i
amVjdEluc3RhbmNlKCkgY29uc3QgPSAwOwogCkBAIC04NzEsMTAgKzg2Myw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dEltYWdlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCBpc1Byb2dyZXNzSW5kaWNhdG9yKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBp
c1NsaWRlcigpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNTbGlkZXJUaHVtYigpIGNv
bnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFNsaWRlcigpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNDb250cm9sKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBp
c0xhYmVsKCkgY29uc3QgPSAwOwogICAgIC8vIGxpc3RzIHN1cHBvcnQgKGwsIHVsLCBvbCwgZGwp
CiAgICAgdmlydHVhbCBib29sIGlzTGlzdCgpIGNvbnN0ID0gMDsKIApAQCAtOTMwLDE3ICs5MTks
MTMgQEAgcHVibGljOgogCiAgICAgLy8gTmF0aXZlIHNwaW4gYnV0dG9ucy4KICAgICBib29sIGlz
U3BpbkJ1dHRvbigpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlS
b2xlOjpTcGluQnV0dG9uOyB9Ci0gICAgdmlydHVhbCBib29sIGlzTmF0aXZlU3BpbkJ1dHRvbigp
IGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEFYQ29yZU9iamVjdCogaW5jcmVtZW50QnV0dG9uKCkg
PSAwOwogICAgIHZpcnR1YWwgQVhDb3JlT2JqZWN0KiBkZWNyZW1lbnRCdXR0b24oKSA9IDA7Ci0g
ICAgdmlydHVhbCBib29sIGlzU3BpbkJ1dHRvblBhcnQoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0
dWFsIGJvb2wgaXNNb2NrT2JqZWN0KCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBpc01l
ZGlhT2JqZWN0KCkgY29uc3QgPSAwOwogICAgIGJvb2wgaXNTd2l0Y2goKSBjb25zdCB7IHJldHVy
biByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3dpdGNoOyB9CiAgICAgYm9vbCBp
c1RvZ2dsZUJ1dHRvbigpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxp
dHlSb2xlOjpUb2dnbGVCdXR0b247IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0Q29udHJvbCgp
IGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNBUklBVGV4dENvbnRyb2woKSBjb25zdCA9
IDA7CiAgICAgdmlydHVhbCBib29sIGlzTm9uTmF0aXZlVGV4dENvbnRyb2woKSBjb25zdCA9IDA7
CiAgICAgYm9vbCBpc1RhYkxpc3QoKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nl
c3NpYmlsaXR5Um9sZTo6VGFiTGlzdDsgfQogICAgIGJvb2wgaXNUYWJJdGVtKCkgY29uc3QgeyBy
ZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRhYjsgfQpAQCAtMTAyNyw4
ICsxMDEyLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiByZW5kZXJlcigp
IGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkg
Y29uc3QgPSAwOwotICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBkZWZh
dWx0T2JqZWN0SW5jbHVzaW9uKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBhY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkQnlEZWZhdWx0KCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB1bnNp
Z25lZCBibG9ja3F1b3RlTGV2ZWwoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB1bnNpZ25lZCBo
ZWFkaW5nTGV2ZWwoKSBjb25zdCA9IDA7CkBAIC0xMDM3LDcgKzEwMjAsNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBmbG9hdCB2YWx1ZUZvclJhbmdlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
ZmxvYXQgbWF4VmFsdWVGb3JSYW5nZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGZsb2F0IG1p
blZhbHVlRm9yUmFuZ2UoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBmbG9hdCBzdGVwVmFsdWVG
b3JSYW5nZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEFYQ29yZU9iamVjdCogc2VsZWN0ZWRS
YWRpb0J1dHRvbigpID0gMDsKICAgICB2aXJ0dWFsIEFYQ29yZU9iamVjdCogc2VsZWN0ZWRUYWJJ
dGVtKCkgPSAwOwogICAgIHZpcnR1YWwgaW50IGxheW91dENvdW50KCkgY29uc3QgPSAwOwpAQCAt
MTExMCw3ICsxMDkyLDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBBWENvcmVPYmplY3QqIHBh
cmVudE9iamVjdCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEFYQ29yZU9iamVjdCogcGFyZW50
T2JqZWN0VW5pZ25vcmVkKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgQVhDb3JlT2JqZWN0KiBw
YXJlbnRPYmplY3RJZkV4aXN0cygpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBmaW5k
TWF0Y2hpbmdPYmplY3RzKEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSosIEFjY2Vzc2liaWxp
dHlDaGlsZHJlblZlY3RvciYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNEZXNjZW5kYW50T2ZS
b2xlKEFjY2Vzc2liaWxpdHlSb2xlKSBjb25zdCA9IDA7CkBAIC0xMTI1LDcgKzExMDYsNiBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBWZWN0b3I8U2ltcGxlUmFuZ2U+IGZpbmRUZXh0UmFuZ2VzKGNv
bnN0IEFjY2Vzc2liaWxpdHlTZWFyY2hUZXh0Q3JpdGVyaWEmKSBjb25zdCA9IDA7CiAgICAgdmly
dHVhbCBWZWN0b3I8U3RyaW5nPiBwZXJmb3JtVGV4dE9wZXJhdGlvbihjb25zdCBBY2Nlc3NpYmls
aXR5VGV4dE9wZXJhdGlvbiYpID0gMDsKIAotICAgIHZpcnR1YWwgQVhDb3JlT2JqZWN0KiBvYnNl
cnZhYmxlT2JqZWN0KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eUNoaWxk
cmVuVmVjdG9yIGxpbmtlZE9iamVjdHMoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBBWENvcmVP
YmplY3QqIHRpdGxlVUlFbGVtZW50KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgQVhDb3JlT2Jq
ZWN0KiBjb3JyZXNwb25kaW5nTGFiZWxGb3JDb250cm9sRWxlbWVudCgpIGNvbnN0ID0gMDsKQEAg
LTExMzMsOCArMTExMyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEFYQ29yZU9iamVjdCogc2Ny
b2xsQmFyKEFjY2Vzc2liaWxpdHlPcmllbnRhdGlvbikgPSAwOwogCiAgICAgdmlydHVhbCBBY2Nl
c3NpYmlsaXR5Um9sZSBhcmlhUm9sZUF0dHJpYnV0ZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFs
IGJvb2wgaXNQcmVzZW50YXRpb25hbENoaWxkT2ZBcmlhUm9sZSgpIGNvbnN0ID0gMDsKLSAgICB2
aXJ0dWFsIGJvb2wgYXJpYVJvbGVIYXNQcmVzZW50YXRpb25hbENoaWxkcmVuKCkgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBpbmhlcml0c1ByZXNlbnRhdGlvbmFsUm9sZSgpIGNvbnN0ID0g
MDsKIAogICAgIHVzaW5nIEFYVmFsdWUgPSBzdGQ6OnZhcmlhbnQ8Ym9vbCwgdW5zaWduZWQsIGZs
b2F0LCBTdHJpbmcsIEFjY2Vzc2liaWxpdHlCdXR0b25TdGF0ZSwgQVhDb3JlT2JqZWN0Kj47CkBA
IC0xMTUyLDE2ICsxMTMwLDEyIEBAIHB1YmxpYzoKICAgICAvLyBBY2Nlc3NpYmlsaXR5IFRleHQg
LSAoVG8gYmUgZGVwcmVjYXRlZCkuCiAgICAgdmlydHVhbCBTdHJpbmcgYWNjZXNzaWJpbGl0eURl
c2NyaXB0aW9uKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIHRpdGxlKCkgY29uc3Qg
PSAwOwotICAgIHZpcnR1YWwgU3RyaW5nIGhlbHBUZXh0KCkgY29uc3QgPSAwOwogCiAgICAgLy8g
TWV0aG9kcyBmb3IgZGV0ZXJtaW5pbmcgYWNjZXNzaWJpbGl0eSB0ZXh0LgotICAgIHZpcnR1YWwg
Ym9vbCBpc0FSSUFTdGF0aWNUZXh0KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIHN0
cmluZ1ZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIHRleHRVbmRlckVsZW1l
bnQoQWNjZXNzaWJpbGl0eVRleHRVbmRlckVsZW1lbnRNb2RlID0gQWNjZXNzaWJpbGl0eVRleHRV
bmRlckVsZW1lbnRNb2RlKCkpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyB0ZXh0KCkg
Y29uc3QgPSAwOwogICAgIHZpcnR1YWwgaW50IHRleHRMZW5ndGgoKSBjb25zdCA9IDA7Ci0gICAg
dmlydHVhbCBTdHJpbmcgYXJpYUxhYmVsZWRCeUF0dHJpYnV0ZSgpIGNvbnN0ID0gMDsKLSAgICB2
aXJ0dWFsIFN0cmluZyBhcmlhRGVzY3JpYmVkQnlBdHRyaWJ1dGUoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCBjb25zdCBTdHJpbmcgcGxhY2Vob2xkZXJWYWx1ZSgpIGNvbnN0ID0gMDsKIAogICAg
IC8vIEFiYnJldmlhdGlvbnMKQEAgLTExODMsNyArMTE1Nyw2IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgQVhPYmplY3RDYWNoZSogYXhPYmplY3RDYWNoZSgpIGNvbnN0ID0gMDsKIAotICAgIHZp
cnR1YWwgRWxlbWVudCogYW5jaG9yRWxlbWVudCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJv
b2wgc3VwcG9ydHNQcmVzc0FjdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEVsZW1lbnQq
IGFjdGlvbkVsZW1lbnQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGJvdW5k
aW5nQm94UmVjdCgpIGNvbnN0ID0gMDsKQEAgLTExOTQsNyArMTE2Nyw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFBhdGggZWxlbWVudFBhdGgoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29s
IHN1cHBvcnRzUGF0aCgpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgVGV4dEl0ZXJhdG9yQmVo
YXZpb3JzIHRleHRJdGVyYXRvckJlaGF2aW9yRm9yVGV4dFJhbmdlKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgUGxhaW5UZXh0UmFuZ2Ugc2VsZWN0ZWRUZXh0UmFuZ2UoKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCBpbnQgaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCkgY29uc3QgPSAwOwogCkBA
IC0xMjE4LDExICsxMTkwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFnZSogcGFnZSgpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIEZyYW1lVmlldyogZG9jdW1lbnRGcmFtZVZpZXcoKSBjb25zdCA9IDA7Ci0gICAg
dmlydHVhbCBGcmFtZSogZnJhbWUoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBGcmFtZSogbWFp
bkZyYW1lKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgRG9jdW1lbnQqIHRvcERvY3VtZW50KCkg
Y29uc3QgPSAwOwogICAgIHZpcnR1YWwgU2Nyb2xsVmlldyogc2Nyb2xsVmlldygpIGNvbnN0ID0g
MDsKLSAgICB2aXJ0dWFsIFNjcm9sbFZpZXcqIHNjcm9sbFZpZXdBbmNlc3RvcigpIGNvbnN0ID0g
MDsKICAgICB2aXJ0dWFsIFN0cmluZyBsYW5ndWFnZSgpIGNvbnN0ID0gMDsKICAgICAvLyAxLWJh
c2VkLCB0byBtYXRjaCB0aGUgYXJpYS1sZXZlbCBzcGVjLgogICAgIHZpcnR1YWwgdW5zaWduZWQg
aGllcmFyY2hpY2FsTGV2ZWwoKSBjb25zdCA9IDA7CkBAIC0xMjU5LDExICsxMjI3LDkgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZENoaWxkcmVuKGNvbnN0IEFjY2Vzc2li
aWxpdHlDaGlsZHJlblZlY3RvciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaWJsZUNoaWxk
cmVuKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
dGFiQ2hpbGRyZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgPSAwOwotICAgIHZpcnR1
YWwgYm9vbCBzaG91bGRGb2N1c0FjdGl2ZURlc2NlbmRhbnQoKSBjb25zdCA9IDA7CiAgICAgdmly
dHVhbCBBWENvcmVPYmplY3QqIGFjdGl2ZURlc2NlbmRhbnQoKSBjb25zdCA9IDA7CiAgICAgYm9v
bCBpc0Rlc2NlbmRhbnRPZk9iamVjdChjb25zdCBBWENvcmVPYmplY3QqKSBjb25zdDsKICAgICBi
b29sIGlzQW5jZXN0b3JPZk9iamVjdChjb25zdCBBWENvcmVPYmplY3QqKSBjb25zdDsKLSAgICB2
aXJ0dWFsIEFYQ29yZU9iamVjdCogZmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxkKCkgY29uc3QgPSAw
OwogCiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gYXR0cmlidXRlVmFsdWUoY29u
c3QgU3RyaW5nJikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgQXRvbVN0cmluZyB0YWdOYW1lKCkg
Y29uc3QgPSAwOwpAQCAtMTMwNyw4ICsxMjczLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50
IGluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNvbnN0ID0g
MDsKIAogICAgIHZpcnR1YWwgaW50IGxpbmVGb3JQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24mKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBQbGFpblRleHRSYW5nZSBwbGFpblRleHRSYW5n
ZUZvclZpc2libGVQb3NpdGlvblJhbmdlKGNvbnN0IFZpc2libGVQb3NpdGlvblJhbmdlJikgY29u
c3QgPSAwOwotICAgIHZpcnR1YWwgaW50IGluZGV4KGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNv
bnN0ID0gMDsKIAogICAgIHZpcnR1YWwgUGxhaW5UZXh0UmFuZ2UgZG9BWFJhbmdlRm9yTGluZSh1
bnNpZ25lZCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgUGxhaW5UZXh0UmFuZ2UgZG9BWFJhbmdl
Rm9yUG9zaXRpb24oY29uc3QgSW50UG9pbnQmKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5o
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRp
Y2F0b3IuaAppbmRleCAwNmUyNTY3ZmY1MzMuLjU2YWU0ZDgwNGRmOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVz
c0luZGljYXRvci5oCkBAIC00MCw5ICs0MCw2IEBAIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0
eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc1Byb2dyZXNzSW5k
aWNhdG9yKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgLy8gVXNlZCBp
biB0eXBlIGNoZWNraW5nIGZ1bmN0aW9uIGlzPEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRv
cj4uCi0gICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvckluc3RhbmNlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgU3RyaW5nIHZhbHVlRGVzY3JpcHRp
b24oKSBjb25zdCBvdmVycmlkZTsKICAgICBTdHJpbmcgZ2F1Z2VSZWdpb25WYWx1ZURlc2NyaXB0
aW9uKCkgY29uc3Q7CiAgICAgZmxvYXQgdmFsdWVGb3JSYW5nZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNTksNSArNTYsMyBAQCBwcml2YXRlOgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0FDQ0VTU0lCSUxJVFkoQWNjZXNzaWJpbGl0eVByb2dy
ZXNzSW5kaWNhdG9yLCBpc0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvckluc3RhbmNlKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwYWE4MmJjZjMxZjIuLjUzODQ0Nzk0NjMyOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCkBAIC0zMzEwLDcgKzMzMTAsNyBAQCB2b2lkIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OnNldEFjY2Vzc2libGVOYW1lKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUp
CiAgICAgaWYgKGlzPEVsZW1lbnQ+KG5vZGUpKQogICAgICAgICBkb3duY2FzdDxFbGVtZW50Pigq
bm9kZSkuc2V0QXR0cmlidXRlKGFyaWFfbGFiZWxBdHRyLCBuYW1lKTsKIH0KLSAgICAKKwogc3Rh
dGljIGJvb2wgaXNMaW5rYWJsZShjb25zdCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0JiBvYmpl
Y3QpCiB7CiAgICAgaWYgKCFvYmplY3QucmVuZGVyZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKaW5kZXgg
ZTJiYzQ5NTFjOWZlLi4wMWE0ZGQyNDFmYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCkBAIC03NSw3ICs3
NSw3IEBAIHB1YmxpYzoKICAgICBib29sIGNhblNldEV4cGFuZGVkQXR0cmlidXRlKCkgY29uc3Qg
b3ZlcnJpZGU7CiAKICAgICB2b2lkIHNldEFjY2Vzc2libGVOYW1lKGNvbnN0IEF0b21TdHJpbmcm
KSBvdmVycmlkZTsKLSAgICAKKwogICAgIC8vIFByb3ZpZGVzIGNvbW1vbiBsb2dpYyB1c2VkIGJ5
IGFsbCBlbGVtZW50cyB3aGVuIGRldGVybWluaW5nIGlzSWdub3JlZC4KICAgICBBY2Nlc3NpYmls
aXR5T2JqZWN0SW5jbHVzaW9uIGRlZmF1bHRPYmplY3RJbmNsdXNpb24oKSBjb25zdCBvdmVycmlk
ZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXcuaAppbmRleCA2YjFhMGMzMTdjZjMuLjMxZWY2OTMzNjk4NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xs
Vmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNj
cm9sbFZpZXcuaApAQCAtODksNCArODksNiBAQCBwcml2YXRlOgogICAgIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0FDQ0VTU0lCSUxJVFkoQWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXcsIGlzQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXdJbnN0YW5jZSgpKQor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U2Nyb2xs
VmlldykgXAorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0JiBvYmplY3QpIHsgcmV0dXJuIG9iamVjdC5pc0FjY2Vzc2liaWxpdHlTY3JvbGxW
aWV3SW5zdGFuY2UoKTsgfSBcCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxiYXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5o
CmluZGV4IGZiMjFlYTUzMGU2MC4uNzI2Yzc2ZTMxZTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxiYXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxiYXIuaApAQCAtNjMsNCAr
NjMsNyBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLVNQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfQUNDRVNTSUJJTElUWShBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLCBpc0FjY2Vz
c2liaWxpdHlTY3JvbGxiYXIoKSkKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyKSBcCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNv
bnN0IFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkgeyByZXR1cm4gb2JqZWN0
LmlzQWNjZXNzaWJpbGl0eVNjcm9sbGJhcigpOyB9IFwKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
RU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVNsaWRlci5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
U2xpZGVyLmgKaW5kZXggYWJhOTEyMDAwODQ5Li42OWY1MzAwNWZmYzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5oCkBAIC00OSw3
ICs0OSw2IEBAIHByaXZhdGU6CiAKICAgICBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6U2xpZGVyOyB9CiAgICAg
Ym9vbCBpc1NsaWRlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KLSAgICBib29sIGlz
SW5wdXRTbGlkZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBp
c0NvbnRyb2woKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgCiAgICAgdm9p
ZCBhZGRDaGlsZHJlbigpIG92ZXJyaWRlOwpAQCAtODEsNCArODAsNiBAQCBwcml2YXRlOgogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQUNDRVNTSUJJ
TElUWShBY2Nlc3NpYmlsaXR5U2xpZGVyVGh1bWIsIGlzU2xpZGVyVGh1bWIoKSkKK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNsaWRlclRodW1iKSBc
CisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmpl
Y3QmIG9iamVjdCkgeyByZXR1cm4gb2JqZWN0LmlzU2xpZGVyVGh1bWIoKTsgfSBcCitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKaW5kZXggNDViZmRkNTc5OTJjLi5hMmY5
YTBmYzA3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVNwaW5CdXR0b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKQEAgLTc0LDUgKzc0LDEwIEBAIHByaXZhdGU6CiAgICAg
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQUNDRVNT
SUJJTElUWShBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbiwgaXNOYXRpdmVTcGluQnV0dG9uKCkpCi1T
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX0FDQ0VTU0lCSUxJVFkoQWNjZXNzaWJpbGl0eVNwaW5CdXR0
b25QYXJ0LCBpc1NwaW5CdXR0b25QYXJ0KCkpCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lO
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uKSBcCisgICAgc3RhdGljIGJvb2wgaXNU
eXBlKGNvbnN0IFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkgeyByZXR1cm4g
b2JqZWN0LmlzTmF0aXZlU3BpbkJ1dHRvbigpOyB9IFwKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
RU5EKCkKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvblBhcnQpIFwKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KSB7IHJldHVybiBvYmplY3QuaXNTcGluQnV0
dG9uUGFydCgpOyB9IFwKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5o
CmluZGV4IGYzMjY0N2FmODFlNS4uNmIxYWNjZDBmNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmgKQEAgLTY2
LDQgKzY2LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZSAKIAotU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19BQ0NFU1NJQklMSVRZKEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbiwg
aXNBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW5JbnN0YW5jZSgpKQorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19CRUdJTihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4pIFwKKyAgICBzdGF0
aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0
KSB7IHJldHVybiBvYmplY3QuaXNBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW5JbnN0YW5jZSgpOyB9
IFwKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5j
cHAKaW5kZXggZTMxYzM5OTQwY2RkLi4xZTQ0NjgyZTEyYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRP
YmplY3QuY3BwCkBAIC02MywxMSArNjMsNiBAQCBBWElzb2xhdGVkT2JqZWN0Ojp+QVhJc29sYXRl
ZE9iamVjdCgpCiAgICAgQVNTRVJUKCF3cmFwcGVyKCkpOwogfQogCi12b2lkIEFYSXNvbGF0ZWRP
YmplY3Q6OmluaXQoKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCiB2b2lkIEFY
SXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQcm9wZXJ0aWVzKGNvbnN0IFJlZjxBWENvcmVPYmpl
Y3Q+JiBjb3JlT2JqZWN0LCBJc1Jvb3QgaXNSb290KQogewogICAgIEFTU0VSVChpczxBY2Nlc3Np
YmlsaXR5T2JqZWN0Pihjb3JlT2JqZWN0KSk7CkBAIC0xMTEsNyArMTA2LDYgQEAgdm9pZCBBWElz
b2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUHJvcGVydGllcyhjb25zdCBSZWY8QVhDb3JlT2JqZWN0
PiYgY29yZU9iamVjdCwKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNSZXF1aXJl
ZCwgb2JqZWN0LmlzUmVxdWlyZWQoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6
OklzU2Nyb2xsYmFyLCBvYmplY3QuaXNTY3JvbGxiYXIoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQ
cm9wZXJ0eU5hbWU6OklzU2VsZWN0ZWQsIG9iamVjdC5pc1NlbGVjdGVkKCkpOwotICAgIHNldFBy
b3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc1NlbGVjdGVkT3B0aW9uQWN0aXZlLCBvYmplY3QuaXNT
ZWxlY3RlZE9wdGlvbkFjdGl2ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
SXNTbGlkZXIsIG9iamVjdC5pc1NsaWRlcigpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5
TmFtZTo6SXNTdHlsZUZvcm1hdEdyb3VwLCBvYmplY3QuaXNTdHlsZUZvcm1hdEdyb3VwKCkpOwog
ICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc1RleHRDb250cm9sLCBvYmplY3QuaXNU
ZXh0Q29udHJvbCgpKTsKQEAgLTM1OCw2ICszNTIsNyBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6
OmluaXRpYWxpemVQcm9wZXJ0aWVzKGNvbnN0IFJlZjxBWENvcmVPYmplY3Q+JiBjb3JlT2JqZWN0
LAogI2lmIFBMQVRGT1JNKEFUU1BJKQogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpB
Y3Rpb25WZXJiLCBvYmplY3QuYWN0aW9uVmVyYigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNGaWVsZHNldCwgb2JqZWN0LmlzRmllbGRzZXQoKSk7
CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzU2VsZWN0ZWRPcHRpb25BY3RpdmUs
IG9iamVjdC5pc1NlbGVjdGVkT3B0aW9uQWN0aXZlKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJv
cGVydHlOYW1lOjpJc1Zpc2libGUsIG9iamVjdC5pc1Zpc2libGUoKSk7CiAgICAgc2V0UHJvcGVy
dHkoQVhQcm9wZXJ0eU5hbWU6OkxvY2FsaXplZEFjdGlvblZlcmIsIG9iamVjdC5sb2NhbGl6ZWRB
Y3Rpb25WZXJiKCkuaXNvbGF0ZWRDb3B5KCkpOwogI2VuZGlmCkBAIC0xMDUzLDE4ICsxMDQ4LDYg
QEAgaW50IEFYSXNvbGF0ZWRPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZp
c2libGVQb3NpdGlvbiYpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKLVBsYWluVGV4dFJhbmdl
IEFYSXNvbGF0ZWRPYmplY3Q6OnBsYWluVGV4dFJhbmdlRm9yVmlzaWJsZVBvc2l0aW9uUmFuZ2Uo
Y29uc3QgVmlzaWJsZVBvc2l0aW9uUmFuZ2UmKSBjb25zdAotewotICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgIHJldHVybiB7IH07Ci19Ci0KLWludCBBWElzb2xhdGVkT2JqZWN0OjppbmRl
eChjb25zdCBWaXNpYmxlUG9zaXRpb24mKSBjb25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiAwOwotfQotCiBWZWN0b3I8U2ltcGxlUmFuZ2U+IEFYSXNvbGF0ZWRP
YmplY3Q6OmZpbmRUZXh0UmFuZ2VzKGNvbnN0IEFjY2Vzc2liaWxpdHlTZWFyY2hUZXh0Q3JpdGVy
aWEmIGNyaXRlcmlhKSBjb25zdAogewogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2
ZVZhbHVlRnJvbU1haW5UaHJlYWQ8VmVjdG9yPFNpbXBsZVJhbmdlPj4oWyZjcml0ZXJpYSwgdGhp
c10gKCkgLT4gVmVjdG9yPFNpbXBsZVJhbmdlPiB7CkBAIC0xMjExLDM2ICsxMTk0LDEyIEBAIGJv
b2wgQVhJc29sYXRlZE9iamVjdDo6aXNBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KCkgY29uc3QK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQVhJc29sYXRlZE9iamVjdDo6aXNBY2Nlc3Np
YmlsaXR5U2Nyb2xsYmFyKCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgQVhJc29sYXRlZE9iamVjdDo6aXNBY2Nlc3NpYmls
aXR5U2Nyb2xsVmlld0luc3RhbmNlKCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIGJvb2wgQVhJc29sYXRlZE9iamVjdDo6aXNBY2Nl
c3NpYmlsaXR5VGFibGVJbnN0YW5jZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEFYSXNvbGF0ZWRPYmplY3Q6OmlzQWNj
ZXNzaWJpbGl0eVRhYmxlQ29sdW1uSW5zdGFuY2UoKSBjb25zdAotewotICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBBWElzb2xhdGVkT2JqZWN0
Ojppc0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvckluc3RhbmNlKCkgY29uc3QKLXsKLSAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIGJvb2wgQVhJ
c29sYXRlZE9iamVjdDo6aXNBY2Nlc3NpYmlsaXR5TGlzdEJveEluc3RhbmNlKCkgY29uc3QKIHsK
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTE1MjIsNjAgKzE0ODEsMTggQEAgYm9vbCBB
WElzb2xhdGVkT2JqZWN0Ojppc0xpc3RCb3hPcHRpb24oKSBjb25zdAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotYm9vbCBBWElzb2xhdGVkT2JqZWN0Ojppc1NsaWRlclRodW1iKCkgY29uc3QKLXsK
LSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wg
QVhJc29sYXRlZE9iamVjdDo6aXNJbnB1dFNsaWRlcigpIGNvbnN0Ci17Ci0gICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIEFYSXNvbGF0ZWRPYmpl
Y3Q6OmlzTGFiZWwoKSBjb25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogYm9vbCBBWElzb2xhdGVkT2JqZWN0Ojppc0ltYWdlTWFwTGluaygp
IGNvbnN0CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1ib29sIEFYSXNvbGF0ZWRPYmplY3Q6OmlzTmF0aXZlU3BpbkJ1dHRvbigpIGNvbnN0Ci17
Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29s
IEFYSXNvbGF0ZWRPYmplY3Q6OmlzU3BpbkJ1dHRvblBhcnQoKSBjb25zdAotewotICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQogYm9vbCBBWElzb2xhdGVk
T2JqZWN0Ojppc01vY2tPYmplY3QoKSBjb25zdAogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBBWElzb2xhdGVkT2JqZWN0Ojppc01lZGlh
T2JqZWN0KCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4g
ZmFsc2U7Ci19Ci0KLWJvb2wgQVhJc29sYXRlZE9iamVjdDo6aXNBUklBVGV4dENvbnRyb2woKSBj
b25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKLX0K
LQogYm9vbCBBWElzb2xhdGVkT2JqZWN0Ojppc05vbk5hdGl2ZVRleHRDb250cm9sKCkgY29uc3QK
IHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTE2OTAsMjQgKzE2MDcsNiBAQCBSZW5k
ZXJPYmplY3QqIEFYSXNvbGF0ZWRPYmplY3Q6OnJlbmRlcmVyKCkgY29uc3QKICAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAotQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWElzb2xhdGVkT2Jq
ZWN0OjpkZWZhdWx0T2JqZWN0SW5jbHVzaW9uKCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbjo6RGVmYXVs
dEJlaGF2aW9yOwotfQotCi1ib29sIEFYSXNvbGF0ZWRPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0ln
bm9yZWRCeURlZmF1bHQoKSBjb25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
IHJldHVybiBmYWxzZTsKLX0KLQotZmxvYXQgQVhJc29sYXRlZE9iamVjdDo6c3RlcFZhbHVlRm9y
UmFuZ2UoKSBjb25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAw
OwotfQotCiBib29sIEFYSXNvbGF0ZWRPYmplY3Q6OnN1cHBvcnRzSGFzUG9wdXAoKSBjb25zdAog
ewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTczOCwyNCArMTYzNywxMiBAQCBBWENv
cmVPYmplY3QqIEFYSXNvbGF0ZWRPYmplY3Q6OmVsZW1lbnRBY2Nlc3NpYmlsaXR5SGl0VGVzdChj
b25zdCBJbnRQb2ludCYpIGNvbgogICAgIHJldHVybiBudWxscHRyOwogfQogCi1BWENvcmVPYmpl
Y3QqIEFYSXNvbGF0ZWRPYmplY3Q6OnBhcmVudE9iamVjdElmRXhpc3RzKCkgY29uc3QKLXsKLSAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQogYm9vbCBB
WElzb2xhdGVkT2JqZWN0Ojppc0Rlc2NlbmRhbnRPZlJvbGUoQWNjZXNzaWJpbGl0eVJvbGUpIGNv
bnN0CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1BWENvcmVPYmplY3QqIEFYSXNvbGF0ZWRPYmplY3Q6Om9ic2VydmFibGVPYmplY3QoKSBjb25z
dAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBudWxscHRyOwotfQot
CiBBWENvcmVPYmplY3QqIEFYSXNvbGF0ZWRPYmplY3Q6OmNvcnJlc3BvbmRpbmdMYWJlbEZvckNv
bnRyb2xFbGVtZW50KCkgY29uc3QKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTE3
NjgsMTggKzE2NTUsNiBAQCBBWENvcmVPYmplY3QqIEFYSXNvbGF0ZWRPYmplY3Q6OmNvcnJlc3Bv
bmRpbmdDb250cm9sRm9yTGFiZWxFbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gbnVsbHB0cjsK
IH0KIAotYm9vbCBBWElzb2xhdGVkT2JqZWN0Ojppc1ByZXNlbnRhdGlvbmFsQ2hpbGRPZkFyaWFS
b2xlKCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFs
c2U7Ci19Ci0KLWJvb2wgQVhJc29sYXRlZE9iamVjdDo6YXJpYVJvbGVIYXNQcmVzZW50YXRpb25h
bENoaWxkcmVuKCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1
cm4gZmFsc2U7Ci19Ci0KIGJvb2wgQVhJc29sYXRlZE9iamVjdDo6aW5oZXJpdHNQcmVzZW50YXRp
b25hbFJvbGUoKSBjb25zdAogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTc5Nyw2
MCArMTY3MiwyNCBAQCBib29sIEFYSXNvbGF0ZWRPYmplY3Q6Omhhc0F0dHJpYnV0ZXNSZXF1aXJl
ZEZvckluY2x1c2lvbigpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1TdHJpbmcgQVhJ
c29sYXRlZE9iamVjdDo6aGVscFRleHQoKSBjb25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsKLX0KLQotYm9vbCBBWElzb2xhdGVkT2JqZWN0Ojpp
c0FSSUFTdGF0aWNUZXh0KCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KIFN0cmluZyBBWElzb2xhdGVkT2JqZWN0Ojp0ZXh0KCkgY29u
c3QKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9
CiAKLVN0cmluZyBBWElzb2xhdGVkT2JqZWN0OjphcmlhTGFiZWxlZEJ5QXR0cmlidXRlKCkgY29u
c3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19
Ci0KLVN0cmluZyBBWElzb2xhdGVkT2JqZWN0OjphcmlhRGVzY3JpYmVkQnlBdHRyaWJ1dGUoKSBj
b25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsK
LX0KLQogQVhPYmplY3RDYWNoZSogQVhJc29sYXRlZE9iamVjdDo6YXhPYmplY3RDYWNoZSgpIGNv
bnN0CiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICByZXR1cm4gdHJlZSgpLT5h
eE9iamVjdENhY2hlKCk7CiB9CiAKLUVsZW1lbnQqIEFYSXNvbGF0ZWRPYmplY3Q6OmFuY2hvckVs
ZW1lbnQoKSBjb25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBu
dWxscHRyOwotfQotCiBFbGVtZW50KiBBWElzb2xhdGVkT2JqZWN0OjphY3Rpb25FbGVtZW50KCkg
Y29uc3QKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsK
IH0KIAotVGV4dEl0ZXJhdG9yQmVoYXZpb3JzIEFYSXNvbGF0ZWRPYmplY3Q6OnRleHRJdGVyYXRv
ckJlaGF2aW9yRm9yVGV4dFJhbmdlKCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4geyB9OwotfQotCiBXaWRnZXQqIEFYSXNvbGF0ZWRPYmplY3Q6OndpZGdl
dCgpIGNvbnN0CiB7CiAgICAgYXV0byogb2JqZWN0ID0gYXNzb2NpYXRlZEFYT2JqZWN0KCk7CkBA
IC0xOTA1LDI0ICsxNzQ0LDYgQEAgRnJhbWVWaWV3KiBBWElzb2xhdGVkT2JqZWN0Ojpkb2N1bWVu
dEZyYW1lVmlldygpIGNvbnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLUZyYW1lKiBBWElz
b2xhdGVkT2JqZWN0OjpmcmFtZSgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0KLUZyYW1lKiBBWElzb2xhdGVkT2JqZWN0OjptYWlu
RnJhbWUoKSBjb25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBu
dWxscHRyOwotfQotCi1Eb2N1bWVudCogQVhJc29sYXRlZE9iamVjdDo6dG9wRG9jdW1lbnQoKSBj
b25zdAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBudWxscHRyOwot
fQotCiBTY3JvbGxWaWV3KiBBWElzb2xhdGVkT2JqZWN0OjpzY3JvbGxWaWV3KCkgY29uc3QKIHsK
ICAgICBpZiAoYXV0byogb2JqZWN0ID0gYXNzb2NpYXRlZEFYT2JqZWN0KCkpCkBAIC0xOTMwLDE4
ICsxNzUxLDYgQEAgU2Nyb2xsVmlldyogQVhJc29sYXRlZE9iamVjdDo6c2Nyb2xsVmlldygpIGNv
bnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVNjcm9sbFZpZXcqIEFYSXNvbGF0ZWRPYmpl
Y3Q6OnNjcm9sbFZpZXdBbmNlc3RvcigpIGNvbnN0Ci17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0KLWJvb2wgQVhJc29sYXRlZE9iamVjdDo6c2hv
dWxkRm9jdXNBY3RpdmVEZXNjZW5kYW50KCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0
eUNoaWxkcmVuVmVjdG9yIEFYSXNvbGF0ZWRPYmplY3Q6OnJlbGF0ZWRPYmplY3RzKEFYUmVsYXRp
b25UeXBlIHJlbGF0aW9uVHlwZSkgY29uc3QKIHsKICAgICBpZiAoYXV0byByZWxhdGVkT2JqZWN0
SURzID0gdHJlZSgpLT5yZWxhdGVkT2JqZWN0SURzRm9yKCp0aGlzLCByZWxhdGlvblR5cGUpKQpA
QCAtMTk2NCwxMiArMTc3Myw2IEBAIE9wdGlvblNldDxBWEFuY2VzdG9yRmxhZz4gQVhJc29sYXRl
ZE9iamVjdDo6YW5jZXN0b3JGbGFncygpIGNvbnN0CiAgICAgKTsKIH0KIAotQVhDb3JlT2JqZWN0
KiBBWElzb2xhdGVkT2JqZWN0OjpmaXJzdEFub255bW91c0Jsb2NrQ2hpbGQoKSBjb25zdAotewot
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBudWxscHRyOwotfQotCiBzdGQ6
Om9wdGlvbmFsPFN0cmluZz4gQVhJc29sYXRlZE9iamVjdDo6YXR0cmlidXRlVmFsdWUoY29uc3Qg
U3RyaW5nJiBhdHRyaWJ1dGVOYW1lKSBjb25zdAogewogICAgIGlmIChhdHRyaWJ1dGVOYW1lID09
ICJuYW1lIl9zKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lz
b2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKaW5kZXggMjRmYWYzNzdiYTdlLi4y
MDQxM2U1ODA1MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKQEAgLTUwLDggKzUwLDYgQEAg
cHVibGljOgogICAgIHN0YXRpYyBSZWY8QVhJc29sYXRlZE9iamVjdD4gY3JlYXRlKGNvbnN0IFJl
ZjxBWENvcmVPYmplY3Q+JiwgQVhJc29sYXRlZFRyZWUqKTsKICAgICB+QVhJc29sYXRlZE9iamVj
dCgpOwogCi0gICAgdm9pZCBpbml0KCkgb3ZlcnJpZGU7Ci0KICAgICB2b2lkIGF0dGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciopOwogICAgIGJvb2wgaXNEZXRh
Y2hlZCgpIGNvbnN0IG92ZXJyaWRlOwogCkBAIC00MDcsOSArNDA1LDcgQEAgcHJpdmF0ZToKICAg
ICBWaXNpYmxlUG9zaXRpb24gdmlzaWJsZVBvc2l0aW9uRm9ySW5kZXgoaW50KSBjb25zdCBvdmVy
cmlkZTsKICAgICBpbnQgaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgaW50IGxpbmVGb3JQb3NpdGlvbihjb25zdCBWaXNp
YmxlUG9zaXRpb24mKSBjb25zdCBvdmVycmlkZTsKLSAgICBQbGFpblRleHRSYW5nZSBwbGFpblRl
eHRSYW5nZUZvclZpc2libGVQb3NpdGlvblJhbmdlKGNvbnN0IFZpc2libGVQb3NpdGlvblJhbmdl
JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjpvcHRpb25hbDxTaW1wbGVSYW5nZT4gdmlzaWJs
ZUNoYXJhY3RlclJhbmdlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgaW50IGluZGV4KGNvbnN0IFZp
c2libGVQb3NpdGlvbiYpIGNvbnN0IG92ZXJyaWRlOwogICAgIEZsb2F0UmVjdCB1bm9ic2N1cmVk
Q29udGVudFJlY3QoKSBjb25zdCBvdmVycmlkZTsKICAgICAKICAgICAvLyBBdHRyaWJ1dGUgc2V0
dGVycy4KQEAgLTQ0OSwyNyArNDQ1LDE2IEBAIHByaXZhdGU6CiAgICAgLy8gRnVuY3Rpb25zIHRo
YXQgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCBvbiBhbiBpc29sYXRlZCB0cmVlIG9iamVjdC4gQVNT
RVJUIHRoYXQgdGhlc2UgYXJlIG5vdCByZWFjaGVkOwogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlTY3Jv
bGxiYXIoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGlzQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXdJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5VGFi
bGVJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5VGFi
bGVDb2x1bW5JbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNBY2Nlc3NpYmls
aXR5QVJJQUdyaWRJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlBUklBR3JpZFJvd0luc3RhbmNlKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGlzQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2Vs
bEluc3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KLSAgICBib29sIGlz
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9ySW5zdGFuY2UoKSBjb25zdCBvdmVycmlkZTsK
ICAgICBib29sIGlzQWNjZXNzaWJpbGl0eUxpc3RCb3hJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRl
OwogCiAgICAgYm9vbCBpc05hdGl2ZVRleHRDb250cm9sKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
Ym9vbCBpc0xpc3RCb3hPcHRpb24oKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGlzU2xpZGVy
VGh1bWIoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGlzSW5wdXRTbGlkZXIoKSBjb25zdCBv
dmVycmlkZTsKLSAgICBib29sIGlzTGFiZWwoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlz
SW1hZ2VNYXBMaW5rKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc05hdGl2ZVNwaW5CdXR0
b24oKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGlzU3BpbkJ1dHRvblBhcnQoKSBjb25zdCBv
dmVycmlkZTsKICAgICBib29sIGlzTW9ja09iamVjdCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJv
b2wgaXNNZWRpYU9iamVjdCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaXNBUklBVGV4dENv
bnRyb2woKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzTm9uTmF0aXZlVGV4dENvbnRyb2wo
KSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzSW5kZXRlcm1pbmF0ZSgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGJvb2wgaXNMb2FkZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBsb2FkaW5n
UHJvZ3Jlc3MoKSA+PSAxOyB9CkBAIC00OTEsOSArNDc2LDYgQEAgcHJpdmF0ZToKICAgICBFbGVt
ZW50KiBlbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTm9kZSogbm9kZSgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIoKSBjb25zdCBvdmVycmlkZTsKLSAg
ICBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIGRlZmF1bHRPYmplY3RJbmNsdXNpb24oKSBj
b25zdCBvdmVycmlkZTsKLSAgICBib29sIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWRCeURlZmF1bHQo
KSBjb25zdCBvdmVycmlkZTsKLSAgICBmbG9hdCBzdGVwVmFsdWVGb3JSYW5nZSgpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIHJlbGF0ZWRPYmplY3Rz
KEFYUmVsYXRpb25UeXBlKSBjb25zdCBvdmVycmlkZTsKIApAQCAtNTAyLDI5ICs0ODQsMTkgQEAg
cHJpdmF0ZToKICAgICBib29sIHN1cHBvcnRzQ2hlY2tlZCgpIGNvbnN0IG92ZXJyaWRlOwogICAg
IGJvb2wgaXNNb2RhbE5vZGUoKSBjb25zdCBvdmVycmlkZTsKICAgICBBWENvcmVPYmplY3QqIGVs
ZW1lbnRBY2Nlc3NpYmlsaXR5SGl0VGVzdChjb25zdCBJbnRQb2ludCYpIGNvbnN0IG92ZXJyaWRl
OwotICAgIEFYQ29yZU9iamVjdCogcGFyZW50T2JqZWN0SWZFeGlzdHMoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBib29sIGlzRGVzY2VuZGFudE9mUm9sZShBY2Nlc3NpYmlsaXR5Um9sZSkgY29uc3Qg
b3ZlcnJpZGU7Ci0gICAgQVhDb3JlT2JqZWN0KiBvYnNlcnZhYmxlT2JqZWN0KCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgQVhDb3JlT2JqZWN0KiBjb3JyZXNwb25kaW5nTGFiZWxGb3JDb250cm9sRWxl
bWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFYQ29yZU9iamVjdCogY29ycmVzcG9uZGluZ0Nv
bnRyb2xGb3JMYWJlbEVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGlzUHJlc2Vu
dGF0aW9uYWxDaGlsZE9mQXJpYVJvbGUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGFyaWFS
b2xlSGFzUHJlc2VudGF0aW9uYWxDaGlsZHJlbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wg
aW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNl
dEFjY2Vzc2libGVOYW1lKGNvbnN0IEF0b21TdHJpbmcmKSBvdmVycmlkZTsKICAgICBib29sIGhh
c0F0dHJpYnV0ZXNSZXF1aXJlZEZvckluY2x1c2lvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIFN0
cmluZyBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBz
dHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6QWNjZXNzaWJpbGl0eURlc2NyaXB0
aW9uKTsgfQogICAgIFN0cmluZyB0aXRsZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmlu
Z0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpUaXRsZSk7IH0KLSAgICBTdHJpbmcgaGVs
cFRleHQoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGlzQVJJQVN0YXRpY1RleHQoKSBjb25z
dCBvdmVycmlkZTsKICAgICBTdHJpbmcgdGV4dCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIFN0cmlu
ZyBhcmlhTGFiZWxlZEJ5QXR0cmlidXRlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgU3RyaW5nIGFy
aWFEZXNjcmliZWRCeUF0dHJpYnV0ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFYT2JqZWN0Q2Fj
aGUqIGF4T2JqZWN0Q2FjaGUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBFbGVtZW50KiBhbmNob3JF
bGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgRWxlbWVudCogYWN0aW9uRWxlbWVudCgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIFBhdGggZWxlbWVudFBhdGgoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBwYXRoQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlBhdGgpOyB9OwogICAgIGJv
b2wgc3VwcG9ydHNQYXRoKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lOjpTdXBwb3J0c1BhdGgpOyB9Ci0gICAgVGV4dEl0ZXJhdG9yQmVo
YXZpb3JzIHRleHRJdGVyYXRvckJlaGF2aW9yRm9yVGV4dFJhbmdlKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICBib29sIGlzV2lkZ2V0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJp
YnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpJc1dpZGdldCk7IH0KICAgICBXaWRnZXQqIHdpZGdl
dCgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNTM5LDEzICs1MTEsOCBAQCBwcml2YXRlOgogICAgIFBh
Z2UqIHBhZ2UoKSBjb25zdCBvdmVycmlkZTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQoKSBjb25z
dCBvdmVycmlkZTsKICAgICBGcmFtZVZpZXcqIGRvY3VtZW50RnJhbWVWaWV3KCkgY29uc3Qgb3Zl
cnJpZGU7Ci0gICAgRnJhbWUqIGZyYW1lKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgRnJhbWUqIG1h
aW5GcmFtZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIERvY3VtZW50KiB0b3BEb2N1bWVudCgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIFNjcm9sbFZpZXcqIHNjcm9sbFZpZXcoKSBjb25zdCBvdmVycmlk
ZTsKLSAgICBTY3JvbGxWaWV3KiBzY3JvbGxWaWV3QW5jZXN0b3IoKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2b2lkIGRldGFjaEZyb21QYXJlbnQoKSBvdmVycmlkZTsKLSAgICBib29sIHNob3VsZEZv
Y3VzQWN0aXZlRGVzY2VuZGFudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFYQ29yZU9iamVjdCog
YWN0aXZlRGVzY2VuZGFudCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgT3B0aW9uU2V0PEFYQW5j
ZXN0b3JGbGFnPiBhbmNlc3RvckZsYWdzKCkgY29uc3Q7CkBAIC01NTYsNyArNTIzLDYgQEAgcHJp
dmF0ZToKICAgICBib29sIGlzSW5EZXNjcmlwdGlvbkxpc3RUZXJtKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gYW5jZXN0b3JGbGFncygpLmNvbnRhaW5zKEFYQW5jZXN0b3JGbGFnOjpJc0luRGVz
Y3JpcHRpb25MaXN0VGVybSk7IH0KICAgICBib29sIGlzSW5DZWxsKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gYW5jZXN0b3JGbGFncygpLmNvbnRhaW5zKEFYQW5jZXN0b3JGbGFnOjpJc0luQ2Vs
bCk7IH0KIAotICAgIEFYQ29yZU9iamVjdCogZmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxkKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IGF0dHJpYnV0ZVZhbHVlKGNv
bnN0IFN0cmluZyYpIGNvbnN0IG92ZXJyaWRlOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGJv
b2wgaGFzQXBwbGVQREZBbm5vdGF0aW9uQXR0cmlidXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpIYXNBcHBsZVBERkFubm90YXRp
b25BdHRyaWJ1dGUpOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>