<?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>146027</bug_id>
          
          <creation_ts>2015-06-16 13:39:08 -0700</creation_ts>
          <short_desc>WebResourceCacheManager is unused, get rid of it</short_desc>
          <delta_ts>2015-06-16 19:21:25 -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>New Bugs</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>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>andersca</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1102333</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-16 13:39:08 -0700</bug_when>
    <thetext>WebResourceCacheManager is unused, get rid of it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102337</commentid>
    <comment_count>1</comment_count>
      <attachid>254967</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-16 13:42:18 -0700</bug_when>
    <thetext>Created attachment 254967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102354</commentid>
    <comment_count>2</comment_count>
      <attachid>254967</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-16 14:55:47 -0700</bug_when>
    <thetext>Comment on attachment 254967
Patch

Clearing flags on attachment: 254967

Committed r185615: &lt;http://trac.webkit.org/changeset/185615&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102355</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-16 14:55:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102415</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-06-16 17:39:13 -0700</bug_when>
    <thetext>This was used by the GTK port in webkit_web_context_clear_cache() at Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp

Now the GTK build is broken :(

I don&apos;t think is so hard to use a tool like grep in order to check no other ports are using the code you are removing, isn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102416</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-16 17:43:28 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; This was used by the GTK port in webkit_web_context_clear_cache() at
&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp
&gt; 
&gt; Now the GTK build is broken :(
&gt; 
&gt; I don&apos;t think is so hard to use a tool like grep in order to check no other
&gt; ports are using the code you are removing, isn&apos;t it?

https://lists.webkit.org/pipermail/webkit-dev/2013-January/023255.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102419</commentid>
    <comment_count>6</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-16 17:48:50 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; This was used by the GTK port in webkit_web_context_clear_cache() at
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp
&gt; &gt; 
&gt; &gt; Now the GTK build is broken :(
&gt; &gt; 
&gt; &gt; I don&apos;t think is so hard to use a tool like grep in order to check no other
&gt; &gt; ports are using the code you are removing, isn&apos;t it?
&gt; 
&gt; https://lists.webkit.org/pipermail/webkit-dev/2013-January/023255.html

(You can easily reimplement the webkit_web_context_clear_cache functionality in terms of WebsiteDataStore).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102446</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-06-16 19:21:25 -0700</bug_when>
    <thetext>Landed quick build fix on https://trac.webkit.org/r185634 and opened bug 146041 for bringing back the functionality.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254967</attachid>
            <date>2015-06-16 13:42:18 -0700</date>
            <delta_ts>2015-06-16 14:55:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146027-20150616134143.patch</filename>
            <type>text/plain</type>
            <size>46515</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTI5ZWQ3NGNhMWQ4Zjk2
YTliYjc5MmUyMDFkNWFhNTQyMDVhZWNmYS4uYzVkZDE4NDA4NjNmMTFmZTY2MDE5ODU5MDk5NTAz
ZjQ5NzA5YzZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDE1LTA2LTE2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXIgaXMgdW51c2VkLCBnZXQgcmlkIG9mIGl0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYwMjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHQuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkuY3Bw
OiBSZW1vdmVkLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5
OjpzdXBwbGVtZW50TmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyUHJveHk6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5
Ojp+V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJL
aXQ6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk6OnByb2Nlc3NQb29sRGVzdHJveWVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTo6
cHJvY2Vzc0RpZENsb3NlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXJQcm94eTo6c2hvdWxkVGVybWluYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTo6cmVmV2ViQ29udGV4dFN1cHBsZW1l
bnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclBy
b3h5OjpkZXJlZldlYkNvbnRleHRTdXBwbGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTo6Z2V0Q2FjaGVPcmlnaW5zKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTo6ZGlkR2V0
Q2FjaGVPcmlnaW5zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXJQcm94eTo6Y2xlYXJDYWNoZUZvck9yaWdpbik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk6OmNsZWFyQ2FjaGVGb3JBbGxPcmln
aW5zKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VDYWNoZU1hbmFn
ZXJQcm94eS5oOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUNhY2hl
TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOiBSZW1vdmVkLgorICAgICAgICAqIFdlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Jlc291cmNlQ2Fj
aGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwOiBSZW1vdmVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6c3VwcGxlbWVudE5hbWUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6V2ViUmVzb3VyY2VDYWNoZU1h
bmFnZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdl
cjo6Z2V0Q2FjaGVPcmlnaW5zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXI6OnJldHVybkNhY2hlT3JpZ2lucyk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjbGVhckNhY2hlRm9yT3JpZ2luKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ2Fj
aGVGb3JBbGxPcmlnaW5zKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1Jlc291cmNl
Q2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1Jlc291cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIubWVzc2FnZXMuaW46
IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL2NmL1dlYlJlc291
cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQubW06IFJlbW92ZWQuCisgICAgICAgIChXZWJLaXQ6OnBhcnRp
dGlvbk5hbWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUNhY2hlTWFu
YWdlcjo6Y2ZVUkxDYWNoZUhvc3ROYW1lc1dpdGhDYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjbGVhckNGVVJMQ2FjaGVGb3JIb3N0
TmFtZXMpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOiBEZWxldGVkLgorCisyMDE1
LTA2LTE2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAg
U3RvcCBjYWxsaW5nIGludG8gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjAyNgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdDIvRGVyaXZl
ZFNvdXJjZXMubWFrZQppbmRleCA4NWMwMWIxYmI1NDE2MzBmNDA4YzZiNTlkNTJhOWQwZDQxNjNi
ZDM2Li41ZTU0MzM3YmZmMzM2OTk0ZjNhMGU4YWUzNjcwOGUzMjA0ZGE4NjRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEzMSw4ICsxMzEsNiBAQCBNRVNTQUdFX1JFQ0VJVkVS
UyA9IFwKICAgICBXZWJQcm9jZXNzQ29ubmVjdGlvbiBcCiAgICAgV2ViUHJvY2Vzc1Bvb2wgXAog
ICAgIFdlYlByb2Nlc3NQcm94eSBcCi0gICAgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIgXAotICAg
IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkgXAogICAgIFdlYlJlc291cmNlTG9hZGVyIFwK
ICAgICBXZWJVc2VyQ29udGVudENvbnRyb2xsZXIgXAogICAgIFdlYlVzZXJDb250ZW50Q29udHJv
bGxlclByb3h5IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApp
bmRleCA3YTkyZjM1OTQ1ZGE3YzA4MWM5MWZiNWYxYzg5MmQyYzE0MGZlODU5Li42ZDdkYjgxMzdl
NDRlYjA2MzNmZTZjOWFkNDllMzY5YTRkY2Y2ZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBAIC0xMDUsNyArMTA1LDYgQEAgY2xhc3MgV2ViUHJvY2Vz
c1Bvb2w7CiBjbGFzcyBXZWJQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBXZWJSZW5kZXJMYXllcjsK
IGNsYXNzIFdlYlJlbmRlck9iamVjdDsKLWNsYXNzIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJv
eHk7CiBjbGFzcyBXZWJUZXh0Q2hlY2tlcjsKIGNsYXNzIFdlYlVzZXJDb250ZW50Q29udHJvbGxl
clByb3h5OwogY2xhc3MgV2ViVmlicmF0aW9uUHJveHk7CkBAIC0xMTgsNyArMTE3LDYgQEAgV0tf
QUREX0FQSV9NQVBQSU5HKFdLQmFja0ZvcndhcmRMaXN0UmVmLCBXZWJCYWNrRm9yd2FyZExpc3Qp
CiBXS19BRERfQVBJX01BUFBJTkcoV0tCYXR0ZXJ5TWFuYWdlclJlZiwgV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0JhdHRlcnlTdGF0dXNSZWYsIFdlYkJhdHRl
cnlTdGF0dXMpCiBXS19BRERfQVBJX01BUFBJTkcoV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFU
eXBlLCBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlKQotV0tfQUREX0FQSV9NQVBQSU5HKFdL
UmVzb3VyY2VDYWNoZU1hbmFnZXJSZWYsIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkpCiBX
S19BRERfQVBJX01BUFBJTkcoV0tDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyUmVmLCBXZWJDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyUHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tDb250ZXh0
UmVmLCBXZWJQcm9jZXNzUG9vbCkKIFdLX0FERF9BUElfTUFQUElORyhXS0NvbnRleHRDb25maWd1
cmF0aW9uUmVmLCBBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKaW5kZXggNjgyZWQ2Y2E4OTllMDU4OGE3
N2JlNjlhNjc1OTk0NmNkZGRlMjUwYy4uNWQwMTJlNGRiMjExM2RjYWEyNjEyMDdmYjhjMDI2ODk3
NzY1MGE3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5j
cHAKQEAgLTUxLDcgKzUxLDYgQEAKICNpbmNsdWRlICJXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
LmgiCiAjaW5jbHVkZSAiV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5oIgogI2luY2x1ZGUgIldl
Yk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oIgotI2luY2x1ZGUgIldlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyUHJveHkuaCIKICNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCiAjaW5jbHVkZSAiV2Vi
QmF0dGVyeU1hbmFnZXJQcm94eS5oIgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCA4NTY5ZTM4OTE3ZjZkZDg0YzJhOGQxYWRlMzUwN2Zm
YmExZTMwOWMzLi4wNTZkMjMzYzgzYzlkNjU3YzllZjJmYTBkMTgzNjVlZGY5ZTU1NzllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTU2LDcgKzU2
LDYgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzUG9vbE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCi0jaW5jbHVk
ZSAiV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRh
U3RvcmUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9MYW5ndWFnZS5oPgpAQCAtMTk3LDcgKzE5Niw2IEBAIFdlYlByb2Nl
c3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29u
ZmlndXJhdGlvbikKICAgICBhZGRTdXBwbGVtZW50PFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI+
KCk7CiAgICAgYWRkU3VwcGxlbWVudDxXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5PigpOwogICAg
IGFkZFN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5PigpOwotICAgIGFkZFN1
cHBsZW1lbnQ8V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eT4oKTsKICAgICBhZGRTdXBwbGVt
ZW50PFdlYkRhdGFiYXNlTWFuYWdlclByb3h5PigpOwogI2lmIFVTRShTT1VQKQogICAgIGFkZFN1
cHBsZW1lbnQ8V2ViU291cEN1c3RvbVByb3RvY29sUmVxdWVzdE1hbmFnZXI+KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQ
cm94eS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhZmM2MTdkMWMzZDQ3ZTU3
MmE4NDBkY2NjZGFjYzg1OGY3ZDYxOTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyUHJveHkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTI4ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTEsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXJQcm94eS5oIgotCi0jaW5jbHVkZSAiQVBJRGljdGlvbmFyeS5oIgotI2luY2x1ZGUg
IkFQSVNlY3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW5EYXRhLmgiCi0j
aW5jbHVkZSAiV2ViUHJvY2Vzc1Bvb2wuaCIKLSNpbmNsdWRlICJXZWJSZXNvdXJjZUNhY2hlTWFu
YWdlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1l
c3NhZ2VzLmgiCi0KLSNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotI2luY2x1ZGUgIk5ldHdv
cmtQcm9jZXNzTWVzc2FnZXMuaCIKLSNlbmRpZgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNvbnN0IGNoYXIqIFdlYlJlc291cmNlQ2FjaGVNYW5h
Z2VyUHJveHk6OnN1cHBsZW1lbnROYW1lKCkKLXsKLSAgICByZXR1cm4gIldlYlJlc291cmNlQ2Fj
aGVNYW5hZ2VyUHJveHkiOwotfQotCi1QYXNzUmVmUHRyPFdlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
UHJveHk+IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk6OmNyZWF0ZShXZWJQcm9jZXNzUG9v
bCogcHJvY2Vzc1Bvb2wpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJSZXNvdXJjZUNh
Y2hlTWFuYWdlclByb3h5KHByb2Nlc3NQb29sKSk7Ci19Ci0KLVdlYlJlc291cmNlQ2FjaGVNYW5h
Z2VyUHJveHk6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkoV2ViUHJvY2Vzc1Bvb2wqIHBy
b2Nlc3NQb29sKQotICAgIDogV2ViQ29udGV4dFN1cHBsZW1lbnQocHJvY2Vzc1Bvb2wpCi17Ci0g
ICAgV2ViQ29udGV4dFN1cHBsZW1lbnQ6OnByb2Nlc3NQb29sKCktPmFkZE1lc3NhZ2VSZWNlaXZl
cihNZXNzYWdlczo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpLCAqdGhpcyk7Ci19Ci0KLVdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk6On5XZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5KCkKLXsKLX0KLQotLy8gV2ViQ29udGV4dFN1cHBsZW1l
bnQKLQotdm9pZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5Ojpwcm9jZXNzUG9vbERlc3Ry
b3llZCgpCi17Ci0gICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKG1fYXJyYXlDYWxsYmFja3MsIENh
bGxiYWNrQmFzZTo6RXJyb3I6Ok93bmVyV2FzSW52YWxpZGF0ZWQpOwotfQotCi12b2lkIFdlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyUHJveHk6OnByb2Nlc3NEaWRDbG9zZShXZWJQcm9jZXNzUHJveHkq
KQotewotICAgIGludmFsaWRhdGVDYWxsYmFja01hcChtX2FycmF5Q2FsbGJhY2tzLCBDYWxsYmFj
a0Jhc2U6OkVycm9yOjpQcm9jZXNzRXhpdGVkKTsKLX0KLQotYm9vbCBXZWJSZXNvdXJjZUNhY2hl
TWFuYWdlclByb3h5OjpzaG91bGRUZXJtaW5hdGUoV2ViUHJvY2Vzc1Byb3h5KikgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9hcnJheUNhbGxiYWNrcy5pc0VtcHR5KCk7Ci19Ci0KLXZvaWQgV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXJQcm94eTo6cmVmV2ViQ29udGV4dFN1cHBsZW1lbnQoKQotewotICAg
IEFQSTo6T2JqZWN0OjpyZWYoKTsKLX0KLQotdm9pZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclBy
b3h5OjpkZXJlZldlYkNvbnRleHRTdXBwbGVtZW50KCkKLXsKLSAgICBBUEk6Ok9iamVjdDo6ZGVy
ZWYoKTsKLX0KLQotdm9pZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OjpnZXRDYWNoZU9y
aWdpbnMoc3RkOjpmdW5jdGlvbjx2b2lkIChBUEk6OkFycmF5KiwgQ2FsbGJhY2tCYXNlOjpFcnJv
cik+IGNhbGxiYWNrRnVuY3Rpb24pCi17Ci0gICAgUmVmUHRyPEFycmF5Q2FsbGJhY2s+IGNhbGxi
YWNrID0gQXJyYXlDYWxsYmFjazo6Y3JlYXRlKFdURjo6bW92ZShjYWxsYmFja0Z1bmN0aW9uKSk7
Ci0gICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGNhbGxiYWNrLT5jYWxsYmFja0lEKCk7Ci0gICAg
bV9hcnJheUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwgY2FsbGJhY2sucmVsZWFzZSgpKTsKLQot
ICAgIC8vIEZJWE1FIChNdWx0aS1XZWJQcm9jZXNzKTogPHJkYXI6Ly9wcm9ibGVtLzEyMjM5NzY1
PiBXaGVuIG11bHRpLXByb2Nlc3MgaXMgZW5hYmxlZCwgd2UgbmVlZCB0byBhZ2dyZWdhdGUgdGhl
IGNhbGxiYWNrIGRhdGEgZnJvbSBhbGwgcHJvY2Vzc2VzLgotICAgIHByb2Nlc3NQb29sKCktPnNl
bmRUb0FsbFByb2Nlc3Nlc1JlbGF1bmNoaW5nVGhlbUlmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpXZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlcjo6R2V0Q2FjaGVPcmlnaW5zKGNhbGxiYWNrSUQpKTsKLX0KLQot
dm9pZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OjpkaWRHZXRDYWNoZU9yaWdpbnMoY29u
c3QgVmVjdG9yPFNlY3VyaXR5T3JpZ2luRGF0YT4mIG9yaWdpbnMsIHVpbnQ2NF90IGNhbGxiYWNr
SUQpCi17Ci0gICAgUmVmUHRyPEFycmF5Q2FsbGJhY2s+IGNhbGxiYWNrID0gbV9hcnJheUNhbGxi
YWNrcy50YWtlKGNhbGxiYWNrSUQpOwotICAgIHBlcmZvcm1BUElDYWxsYmFja1dpdGhTZWN1cml0
eU9yaWdpbkRhdGFWZWN0b3Iob3JpZ2lucywgY2FsbGJhY2suZ2V0KCkpOwotfQotCi12b2lkIFdl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk6OmNsZWFyQ2FjaGVGb3JPcmlnaW4oQVBJOjpTZWN1
cml0eU9yaWdpbiogb3JpZ2luLCBSZXNvdXJjZUNhY2hlc1RvQ2xlYXIgY2FjaGVzVG9DbGVhcikK
LXsKLSAgICBTZWN1cml0eU9yaWdpbkRhdGEgc2VjdXJpdHlPcmlnaW47Ci0gICAgc2VjdXJpdHlP
cmlnaW4ucHJvdG9jb2wgPSBvcmlnaW4tPnNlY3VyaXR5T3JpZ2luKCkucHJvdG9jb2woKTsKLSAg
ICBzZWN1cml0eU9yaWdpbi5ob3N0ID0gb3JpZ2luLT5zZWN1cml0eU9yaWdpbigpLmhvc3QoKTsK
LSAgICBzZWN1cml0eU9yaWdpbi5wb3J0ID0gb3JpZ2luLT5zZWN1cml0eU9yaWdpbigpLnBvcnQo
KTsKLQotICAgIC8vIEZJWE1FIChNdWx0aS1XZWJQcm9jZXNzKTogPHJkYXI6Ly9wcm9ibGVtLzEy
MjM5NzY1PiBUaGVyZSBpcyBubyBuZWVkIHRvIHJlbGF1bmNoIGFsbCBwcm9jZXNzZXMuIE9uZSBw
cm9jZXNzIHRvIHRha2UgY2FyZSBvZiBwZXJzaXN0ZW50IGNhY2hlIGlzIGVub3VnaC4KLSAgICBw
cm9jZXNzUG9vbCgpLT5zZW5kVG9BbGxQcm9jZXNzZXNSZWxhdW5jaGluZ1RoZW1JZk5lY2Vzc2Fy
eShNZXNzYWdlczo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OkNsZWFyQ2FjaGVGb3JPcmlnaW4o
c2VjdXJpdHlPcmlnaW4sIGNhY2hlc1RvQ2xlYXIpKTsKLX0KLQotdm9pZCBXZWJSZXNvdXJjZUNh
Y2hlTWFuYWdlclByb3h5OjpjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyhSZXNvdXJjZUNhY2hlc1Rv
Q2xlYXIgY2FjaGVzVG9DbGVhcikKLXsKLSNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotICAg
IHByb2Nlc3NQb29sKCktPnNlbmRUb05ldHdvcmtpbmdQcm9jZXNzUmVsYXVuY2hpbmdJZk5lY2Vz
c2FyeShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKGNh
Y2hlc1RvQ2xlYXIpKTsKLSNlbmRpZgotCi0gICAgLy8gRklYTUUgKE11bHRpLVdlYlByb2Nlc3Mp
OiA8cmRhcjovL3Byb2JsZW0vMTIyMzk3NjU+IFRoZXJlIGlzIG5vIG5lZWQgdG8gcmVsYXVuY2gg
YWxsIHByb2Nlc3Nlcy4gT25lIHByb2Nlc3MgdG8gdGFrZSBjYXJlIG9mIHBlcnNpc3RlbnQgY2Fj
aGUgaXMgZW5vdWdoLgotICAgIHByb2Nlc3NQb29sKCktPnNlbmRUb0FsbFByb2Nlc3Nlc1JlbGF1
bmNoaW5nVGhlbUlmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6
Q2xlYXJDYWNoZUZvckFsbE9yaWdpbnMoY2FjaGVzVG9DbGVhcikpOwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNv
dXJjZUNhY2hlTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXJQcm94eS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
YjZkMzAzOGEwYjI5ZmM5Y2Q3MzRiMWFhODI2MGE0NzUzYmRkMzc3Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5LmgKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclBy
b3h5X2gKLSNkZWZpbmUgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eV9oCi0KLSNpbmNsdWRl
ICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJHZW5lcmlj
Q2FsbGJhY2suaCIKLSNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKLSNpbmNsdWRlICJSZXNv
dXJjZUNhY2hlc1RvQ2xlYXIuaCIKLSNpbmNsdWRlICJXZWJDb250ZXh0U3VwcGxlbWVudC5oIgot
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci0KLXN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7Ci1jbGFzcyBX
ZWJQcm9jZXNzUG9vbDsKLWNsYXNzIFdlYlByb2Nlc3NQcm94eTsKLQotdHlwZWRlZiBHZW5lcmlj
Q2FsbGJhY2s8QVBJOjpBcnJheSo+IEFycmF5Q2FsbGJhY2s7Ci0KLWNsYXNzIFdlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyUHJveHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpU
eXBlOjpDYWNoZU1hbmFnZXI+LCBwdWJsaWMgV2ViQ29udGV4dFN1cHBsZW1lbnQsIHByaXZhdGUg
SVBDOjpNZXNzYWdlUmVjZWl2ZXIgewotcHVibGljOgotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBz
dXBwbGVtZW50TmFtZSgpOwotCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXJQcm94eT4gY3JlYXRlKFdlYlByb2Nlc3NQb29sKik7Ci0gICAgdmlydHVhbCB+V2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSgpOwotCi0gICAgdm9pZCBnZXRDYWNoZU9yaWdpbnMo
c3RkOjpmdW5jdGlvbjx2b2lkIChBUEk6OkFycmF5KiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+KTsK
LSAgICB2b2lkIGNsZWFyQ2FjaGVGb3JPcmlnaW4oQVBJOjpTZWN1cml0eU9yaWdpbiosIFJlc291
cmNlQ2FjaGVzVG9DbGVhcik7Ci0gICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyhSZXNv
dXJjZUNhY2hlc1RvQ2xlYXIpOwotCi0gICAgdXNpbmcgQVBJOjpPYmplY3Q6OnJlZjsKLSAgICB1
c2luZyBBUEk6Ok9iamVjdDo6ZGVyZWY7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXJQcm94eShXZWJQcm9jZXNzUG9vbCopOwotCi0gICAgLy8gV2ViQ29u
dGV4dFN1cHBsZW1lbnQKLSAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc1Bvb2xEZXN0cm95ZWQoKSBv
dmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZENsb3NlKFdlYlByb2Nlc3NQcm94
eSopIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRUZXJtaW5hdGUoV2ViUHJvY2Vz
c1Byb3h5KikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHJlZldlYkNvbnRleHRT
dXBwbGVtZW50KCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRlcmVmV2ViQ29udGV4dFN1
cHBsZW1lbnQoKSBvdmVycmlkZTsKLQotICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVz
c2FnZURlY29kZXImKSBvdmVycmlkZTsKLQotICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCi0gICAg
dm9pZCBkaWRHZXRDYWNoZU9yaWdpbnMoY29uc3QgVmVjdG9yPFNlY3VyaXR5T3JpZ2luRGF0YT4m
IG9yaWdpbklkZW50aWZpZXJzLCB1aW50NjRfdCBjYWxsYmFja0lEKTsKLQotICAgIEhhc2hNYXA8
dWludDY0X3QsIFJlZlB0cjxBcnJheUNhbGxiYWNrPj4gbV9hcnJheUNhbGxiYWNrczsKLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRGF0YWJhc2VNYW5hZ2VyUHJveHlf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzFlNzNhOWFmN2MyODcxM2FjZWM3MmY4YTA0ZTc2MGY4ZjgxMzBmZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgL2Rl
di9udWxsCkBAIC0xLDI1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUg
bWV0OgotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotIyBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0j
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwKLSMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSMgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIK
LSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLQotbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSB7Ci0gICAg
RGlkR2V0Q2FjaGVPcmlnaW5zKFZlY3RvcjxXZWJLaXQ6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3Jp
Z2luSWRlbnRpZmllcnMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi19CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWIzODVkNDkwM2Vl
YmEyMzdhMjU3ZWU4ZjlkZjdmYTU5ODYzZTY3OS4uMTg4Yzk3YWVjZTFkY2FiMjcyZTFkMjFkNjhi
ZDQ0NDNlNTZiNTc1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNzQxLDE2ICs3NDEsOCBAQAogCQkzMzA5MzQ1QjEzMTVCOTk4
MDA5N0E3QkMgLyogV0tDb29raWVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ1OTEzMTVCOTk4MDA5N0E3QkMgLyogV0tDb29raWVN
YW5hZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMzMxNTI5NzUxMzBEMENCMjAwRUQyNDgzIC8qIFNlY3VyaXR5T3JpZ2luRGF0YS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzE1Mjk3MzEzMEQw
Q0IyMDBFRDI0ODMgLyogU2VjdXJpdHlPcmlnaW5EYXRhLmNwcCAqLzsgfTsKIAkJMzMxNTI5NzYx
MzBEMENCMjAwRUQyNDgzIC8qIFNlY3VyaXR5T3JpZ2luRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMxNTI5NzQxMzBEMENCMjAwRUQyNDgzIC8q
IFNlY3VyaXR5T3JpZ2luRGF0YS5oICovOyB9OwotCQkzMzM2NzYyRjEzMEM5OTk4MDA2QzlERTIg
LyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzMzNjc2MkMxMzBDOTk5ODAwNkM5REUyIC8qIFdlYlJlc291
cmNlQ2FjaGVNYW5hZ2VyLmNwcCAqLzsgfTsKLQkJMzMzNjc2MzAxMzBDOTk5ODAwNkM5REUyIC8q
IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMzM2NzYyRDEzMEM5OTk4MDA2QzlERTIgLyogV2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXIuaCAqLzsgfTsKLQkJMzMzNjc2MzUxMzBDOTlCMjAwNkM5REUyIC8qIFdlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzMzNjc2MzIxMzBDOTlCMjAwNkM5REUyIC8qIFdlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyUHJveHkuY3BwICovOyB9OwotCQkzMzM2NzYzNjEzMEM5OUIyMDA2QzlERTIg
LyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMzNjc2MzMxMzBDOTlCMjAwNkM5REUyIC8qIFdlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyUHJveHkuaCAqLzsgfTsKIAkJMzMzNjc2M0ExMzBDOTlEQzAwNkM5
REUyIC8qIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMzNjc2MzgxMzBDOTlEQzAwNkM5REUyIC8qIFdLUmVz
b3VyY2VDYWNoZU1hbmFnZXIuY3BwICovOyB9OwogCQkzMzM2NzYzQjEzMEM5OURDMDA2QzlERTIg
LyogV0tSZXNvdXJjZUNhY2hlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzMzNjc2MzkxMzBDOTlEQzAwNkM5REUyIC8qIFdLUmVzb3VyY2VD
YWNoZU1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwotCQkzMzM2NzY1NTEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzMzNjc2NTExMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKLQkJMzMzNjc2NTYxMzBDOUVDQTAwNkM5
REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMzY3NjUyMTMwQzlFQ0EwMDZDOURFMiAv
KiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggKi87IH07Ci0JCTMzMzY3NjU3MTMw
QzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMz
MzY3NjUzMTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKLQkJMzMzNjc2NTgxMzBDOUVDQjAwNkM5REUyIC8qIFdl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMzNjc2NTQxMzBDOUVDQTAwNkM5REUyIC8qIFdl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovOyB9OwogCQkzM0FBMTA2NjEz
MUYwNjAwMDBENEE1NzUgLyogV2ViQ29va2llTWFuYWdlclByb3h5Q2xpZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzQUExMDY0MTMxRjA2MDAw
MEQ0QTU3NSAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGllbnQuY3BwICovOyB9OwogCQkzM0FB
MTA2NzEzMUYwNjAwMDBENEE1NzUgLyogV2ViQ29va2llTWFuYWdlclByb3h5Q2xpZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0FBMTA2NTEzMUYw
NjAwMDBENEE1NzUgLyogV2ViQ29va2llTWFuYWdlclByb3h5Q2xpZW50LmggKi87IH07CiAJCTMz
RDNBM0I1MTMzOTYwMEIwMDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5hZ2VyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzRDNBM0IzMTMzOTYwMEIw
MDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5hZ2VyLmNwcCAqLzsgfTsKQEAgLTc2Myw3ICs3NTUs
NiBAQAogCQkzM0QzQTNDOTEzMzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzNEM0EzQzUxMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyTWVzc2FnZXMu
aCAqLzsgfTsKIAkJMzNEM0EzQ0ExMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5h
Z2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzNEM0EzQzYxMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzM0QzQTNDQjEzMzk2
MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0QzQTNDNzEzMzk2MTc5
MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi87IH07Ci0J
CTMzRjlENUI5MTMxMkYxRUUwMDBENjgzRiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlckNGTmV0
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNGOUQ1
QjgxMzEyRjFFRTAwMEQ2ODNGIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQubW0gKi87
IH07CiAJCTM3MEYzNEEyMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzcwRjM0QTAxODI5
QkUxRTAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRhdGEubW0gKi87IH07CiAJCTM3MEYzNEEzMTgy
OUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzBGMzRBMTE4MjlCRTFFMDA5MDI3QzggLyogV0tO
YXZpZ2F0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTM3MEYzNEE1MTgyOUJFQTMwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhSW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3
MEYzNEE0MTgyOUJFQTMwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhSW50ZXJuYWwuaCAqLzsg
fTsKQEAgLTI5MTUsMTggKzI5MDYsOCBAQAogCQkzMzA5MzQ1OTEzMTVCOTk4MDA5N0E3QkMgLyog
V0tDb29raWVNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQ29v
a2llTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzE1Mjk3MzEzMEQw
Q0IyMDBFRDI0ODMgLyogU2VjdXJpdHlPcmlnaW5EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNlY3VyaXR5T3JpZ2luRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMzMTUyOTc0MTMwRDBDQjIwMEVEMjQ4MyAvKiBTZWN1cml0eU9yaWdp
bkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VjdXJpdHlPcmlnaW5E
YXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMzMzY3NjJDMTMwQzk5OTgwMDZD
OURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHA7IHBhdGggPSBSZXNv
dXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMzMzNjc2MkQxMzBDOTk5ODAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlJlc291cmNlQ2Fj
aGVNYW5hZ2VyLmg7IHBhdGggPSBSZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMzMzY3NjJFMTMwQzk5OTgwMDZDOURF
MiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IG5hbWUgPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbjsgcGF0aCA9IFJlc291
cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTMzMzY3NjMyMTMwQzk5QjIwMDZDOURFMiAvKiBXZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkzMzM2NzYzMzEzMEM5OUIyMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1h
bmFnZXJQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMzMzY3
NjM0MTMwQzk5QjIwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5Lm1lc3Nh
Z2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJv
eHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMzY3NjM4MTMw
Qzk5REMwMDZDOURFMiAvKiBXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzM2NzYzOTEzMEM5OURDMDA2QzlERTIgLyogV0tS
ZXNvdXJjZUNhY2hlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMz
MzY3NjUxMTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNv
dXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTMzMzY3NjUyMTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFu
YWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291
cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
MzMzNjc2NTMxMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTMzMzY3NjU0MTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNv
dXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzQUExMDY0MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29r
aWVNYW5hZ2VyUHJveHlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViQ29va2llTWFuYWdlclByb3h5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzNBQTEwNjUxMzFGMDYwMDAwRDRBNTc1IC8qIFdlYkNvb2tpZU1hbmFnZXJQ
cm94eUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb29raWVN
YW5hZ2VyUHJveHlDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzNEM0Ez
QjMxMzM5NjAwQjAwNzA5QkU0IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tNZWRpYUNhY2hlTWFuYWdlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTQxLDcgKzI5MjIsNiBAQAogCQkzM0QzQTNDNTEz
Mzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2VzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzRDNBM0M2MTMzOTYxNzkwMDcwOUJFNCAv
KiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0QzQTNDNzEz
Mzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlN
ZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzM0Y5RDVCODEzMTJGMUVF
MDAwRDY4M0YgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBmaWxlRW5jb2RpbmcgPSA0OyBuYW1lID0gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5t
bTsgcGF0aCA9IFJlc291cmNlQ2FjaGUvY2YvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzU3NEIzN0YxNjY1OTMyQzAwODU5QkI3
IC8qIFBERkFubm90YXRpb25UZXh0V2lkZ2V0RGV0YWlscy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQREZB
bm5vdGF0aW9uVGV4dFdpZGdldERldGFpbHMuaDsgcGF0aCA9IFBERi9QREZBbm5vdGF0aW9uVGV4
dFdpZGdldERldGFpbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcwRjM0QTAx
ODI5QkUxRTAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRhdGEubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS05hdmlnYXRpb25EYXRhLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzNzBGMzRBMTE4MjlCRTFFMDA5MDI3QzggLyogV0tOYXZpZ2F0aW9u
RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS05hdmlnYXRpb25EYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01Mjc3LDE3ICs1MjU3LDYgQEAKIAkJ
CW5hbWUgPSBDb29raWVzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJMzMz
Njc2MkIxMzBDOTk3ODAwNkM5REUyIC8qIFJlc291cmNlQ2FjaGUgKi8gPSB7Ci0JCQlpc2EgPSBQ
QlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCTMzRjlENUI3MTMxMkYxQjEwMDBENjgzRiAv
KiBjZiAqLywKLQkJCQkzMzM2NzYyQzEzMEM5OTk4MDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXIuY3BwICovLAotCQkJCTMzMzY3NjJEMTMwQzk5OTgwMDZDOURFMiAvKiBXZWJSZXNv
dXJjZUNhY2hlTWFuYWdlci5oICovLAotCQkJCTMzMzY3NjJFMTMwQzk5OTgwMDZDOURFMiAvKiBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKLQkJCSk7Ci0JCQluYW1lID0g
UmVzb3VyY2VDYWNoZTsKLQkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0JCX07CiAJCTMzRDNB
M0JEMTMzOTYwOTgwMDcwOUJFNCAvKiBNZWRpYUNhY2hlICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTUzMDAsMTQgKzUyNjksNiBAQAogCQkJbmFtZSA9IE1l
ZGlhQ2FjaGU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OwotCQkzM0Y5RDVCNzEz
MTJGMUIxMDAwRDY4M0YgLyogY2YgKi8gPSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxk
cmVuID0gKAotCQkJCTMzRjlENUI4MTMxMkYxRUUwMDBENjgzRiAvKiBXZWJSZXNvdXJjZUNhY2hl
TWFuYWdlckNGTmV0Lm1tICovLAotCQkJKTsKLQkJCW5hbWUgPSBjZjsKLQkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7Ci0JCX07CiAJCTM3MDk1MDQxMThBODhCQTQwMDg3QUU1RCAvKiBjZiAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC01OTg4LDcgKzU5NDks
NiBAQAogCQkJCTUxMDVCMEQyMTYyRjdBNUUwMEUyNzcwOSAvKiBOZXR3b3JrICovLAogCQkJCTMx
MDk5OTc0MTQ2QzhBQTgwMDI5REVCOSAvKiBOb3RpZmljYXRpb25zIChVc2VyKSAqLywKIAkJCQkx
QTZGQjdBQTExRTY0QjQ5MDBEQjEzNzEgLyogUGx1Z2lucyAqLywKLQkJCQkzMzM2NzYyQjEzMEM5
OTc4MDA2QzlERTIgLyogUmVzb3VyY2VDYWNoZSAqLywKIAkJCQkwRjU5NDc4QzE4N0IzQjJBMDA0
Mzc4NTcgLyogU2Nyb2xsaW5nICovLAogCQkJCTFBQUM0RERFMTZCMUNCRjYwMDk0MjVFMyAvKiBT
dG9yYWdlICovLAogCQkJCTFBQUYwOEFBMTkyNjkzMEIwMEI2MzkwQyAvKiBVc2VyQ29udGVudCAq
LywKQEAgLTYyNTMsOSArNjIxMyw2IEBACiAJCQkJQkMxMTFCMEQxMTJGNUU0RjAwMzM3QkFCIC8q
IFdlYlByb2Nlc3NQcm94eS5jcHAgKi8sCiAJCQkJQkMwMzJEQ0YxMEY0Mzg5RjAwNThDMTVBIC8q
IFdlYlByb2Nlc3NQcm94eS5oICovLAogCQkJCUJDRUU3QUIzMTI4MTcwOTUwMDk4MjdEQSAvKiBX
ZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gKi8sCi0JCQkJMzMzNjc2MzIxMzBDOTlCMjAwNkM5
REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkuY3BwICovLAotCQkJCTMzMzY3NjMz
MTMwQzk5QjIwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5LmggKi8sCi0J
CQkJMzMzNjc2MzQxMzBDOTlCMjAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJv
eHkubWVzc2FnZXMuaW4gKi8sCiAJCQkpOwogCQkJcGF0aCA9IFVJUHJvY2VzczsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC03MzIwLDEwICs3Mjc3LDYgQEAKIAkJCQk3Q0U0RDIyNjFB
NDkxNkMyMDBDN0YxNTIgLyogV2ViUHJvY2Vzc1Bvb2xNZXNzYWdlcy5oICovLAogCQkJCUJDRUU3
QUNDMTI4MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAogCQkJCUJDRUU3QUNEMTI4MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNz
YWdlcy5oICovLAotCQkJCTMzMzY3NjUxMTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNh
Y2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJMzMzNjc2NTIxMzBDOUVDQTAw
NkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaCAqLywKLQkJCQkzMzM2
NzY1MzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJMzMzNjc2NTQxMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTUxRjA2MEREMTY1NDMx
NzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJ
CQkJNTFGMDYwREUxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMu
aCAqLywKIAkJCQkxQUFGMDhCNTE5MjY5RTZEMDBCNjM5MEMgLyogV2ViVXNlckNvbnRlbnRDb250
cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTgwOTgsMTAgKzgwNTEsNiBAQAogCQkJ
CUExQzUxMkM5MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJRdWlja0xvb2tIYW5kbGVDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTM3OTQ4NDA0MTUwQzM1MDYwMEU1MkNFOSAvKiBXZWJSZW5kZXJM
YXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc2MDg4MUYxNTA0MTNFOTAwRkM4MkM3IC8qIFdl
YlJlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMzMzNjc2MzAxMzBDOTk5ODAwNkM5
REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQkzMzM2
NzY1NjEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlcy5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJMzMzNjc2MzYxMzBDOTlCMjAwNkM5REUyIC8qIFdlYlJlc291
cmNlQ2FjaGVNYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAotCQkJCTMzMzY3NjU4MTMwQzlF
Q0IwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxMEFGRkJBMTY1NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxv
YWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGMDYwRTAxNjU0MzE3RjAwRjMyODFCIC8qIFdl
YlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMzYxRDczMTky
N0ZBMzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8s
CkBAIC05OTQ4LDExICs5ODk3LDYgQEAKIAkJCQlBMUM1MTJDODE5MDY1NkU1MDA0NDg5MTQgLyog
V2ViUXVpY2tMb29rSGFuZGxlQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3OTQ4NDAz
MTUwQzM1MDYwMEU1MkNFOSAvKiBXZWJSZW5kZXJMYXllci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkzNzYwODgxRTE1MDQxM0U5MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTMzMzY3NjJGMTMwQzk5OTgwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hl
TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkzM0Y5RDVCOTEzMTJGMUVFMDAwRDY4M0Yg
LyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTMz
MzY3NjU1MTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkzMzM2NzYzNTEzMEM5OUIyMDA2QzlERTIg
LyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkz
MzM2NzY1NzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTBBRkZCOTE2NTQyMDQ4MDAx
QkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYw
RTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTUxRkIwOEZGMTYzOURFMUEwMEVDMzI0QSAvKiBXZWJSZXNv
dXJjZUxvYWRTY2hlZHVsZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODhhN2FkYzlm
YTJhMzUwODJlMzFjMjJmNzBlMDg4ZDI0MTRkOWEzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNl
Q2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTE5
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaCIKLQotI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2lu
RGF0YS5oIgotI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgotI2luY2x1ZGUgIldl
YlByb2Nlc3MuaCIKLSNpbmNsdWRlICJXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VzLmgi
Ci0jaW5jbHVkZSAiV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCi0jaW5j
bHVkZSA8V2ViQ29yZS9NZW1vcnlDYWNoZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlP
cmlnaW4uaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luSGFzaC5oPgotCi11c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNvbnN0IGNoYXIq
IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpzdXBwbGVtZW50TmFtZSgpCi17Ci0gICAgcmV0dXJu
ICJXZWJSZXNvdXJjZUNhY2hlTWFuYWdlciI7Ci19Ci0KLVdlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcihXZWJQcm9jZXNzKiBwcm9jZXNzKQotICAgIDogbV9w
cm9jZXNzKHByb2Nlc3MpCi17Ci0gICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVz
c2FnZXM6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksICp0
aGlzKTsKLX0KLQotdm9pZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6Z2V0Q2FjaGVPcmlnaW5z
KHVpbnQ2NF90IGNhbGxiYWNrSUQpIGNvbnN0Ci17Ci0gICAgTWVtb3J5Q2FjaGU6OlNlY3VyaXR5
T3JpZ2luU2V0IG9yaWdpbnM7Ci0KLSAgICBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZ2V0T3Jp
Z2luc1dpdGhDYWNoZShvcmlnaW5zKTsKLQotI2lmIFVTRShDRlVSTENBQ0hFKQotICAgIGNmVVJM
Q2FjaGVIb3N0TmFtZXNXaXRoQ2FsbGJhY2soWyZvcmlnaW5zXShSZXRhaW5QdHI8Q0ZBcnJheVJl
Zj4gY2ZVUkxIb3N0cykgewotICAgICAgICBDRkluZGV4IHNpemUgPSBjZlVSTEhvc3RzID8gQ0ZB
cnJheUdldENvdW50KGNmVVJMSG9zdHMuZ2V0KCkpIDogMDsKLQotICAgICAgICBTdHJpbmcgaHR0
cFN0cmluZygiaHR0cCIpOwotICAgICAgICBmb3IgKENGSW5kZXggaSA9IDA7IGkgPCBzaXplOyAr
K2kpIHsKLSAgICAgICAgICAgIENGU3RyaW5nUmVmIGhvc3QgPSBzdGF0aWNfY2FzdDxDRlN0cmlu
Z1JlZj4oQ0ZBcnJheUdldFZhbHVlQXRJbmRleChjZlVSTEhvc3RzLmdldCgpLCBpKSk7Ci0gICAg
ICAgICAgICBvcmlnaW5zLmFkZChTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKGh0dHBTdHJpbmcsIGhv
c3QsIDApKTsKLSAgICAgICAgfQotICAgIH0pOwotI2VuZGlmCi0KLSAgICByZXR1cm5DYWNoZU9y
aWdpbnMoY2FsbGJhY2tJRCwgb3JpZ2lucyk7Ci19Ci0KLXZvaWQgV2ViUmVzb3VyY2VDYWNoZU1h
bmFnZXI6OnJldHVybkNhY2hlT3JpZ2lucyh1aW50NjRfdCBjYWxsYmFja0lELCBjb25zdCBNZW1v
cnlDYWNoZTo6U2VjdXJpdHlPcmlnaW5TZXQmIG9yaWdpbnMpIGNvbnN0Ci17Ci0gICAgLy8gQ3Jl
YXRlIGEgbGlzdCB3aXRoIHRoZSBvcmlnaW5zIGluIGJvdGggb2YgdGhlIGNhY2hlcy4KLSAgICBW
ZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiBpZGVudGlmaWVyczsKLSAgICBpZGVudGlmaWVycy5y
ZXNlcnZlQ2FwYWNpdHkob3JpZ2lucy5zaXplKCkpOwotCi0gICAgZm9yIChhdXRvJiBvcmlnaW4g
OiBvcmlnaW5zKSB7Ci0gICAgICAgIFNlY3VyaXR5T3JpZ2luRGF0YSBvcmlnaW5EYXRhOwotICAg
ICAgICBvcmlnaW5EYXRhLnByb3RvY29sID0gb3JpZ2luLT5wcm90b2NvbCgpOwotICAgICAgICBv
cmlnaW5EYXRhLmhvc3QgPSBvcmlnaW4tPmhvc3QoKTsKLSAgICAgICAgb3JpZ2luRGF0YS5wb3J0
ID0gb3JpZ2luLT5wb3J0KCk7Ci0KLSAgICAgICAgaWRlbnRpZmllcnMudW5jaGVja2VkQXBwZW5k
KG9yaWdpbkRhdGEpOwotICAgIH0KLQotICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTo6RGlkR2V0Q2FjaGVPcmlnaW5zKGlkZW50aWZpZXJz
LCBjYWxsYmFja0lEKSwgMCk7Ci19Ci0KLXZvaWQgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNs
ZWFyQ2FjaGVGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW5EYXRhLCB1
aW50MzJfdCBjYWNoZXNUb0NsZWFyKSBjb25zdAotewotI2lmIFVTRShDRlVSTENBQ0hFKQotICAg
IFJlc291cmNlQ2FjaGVzVG9DbGVhciByZXNvdXJjZUNhY2hlc1RvQ2xlYXIgPSBzdGF0aWNfY2Fz
dDxSZXNvdXJjZUNhY2hlc1RvQ2xlYXI+KGNhY2hlc1RvQ2xlYXIpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0oY2FjaGVzVG9DbGVhcik7Ci0jZW5kaWYKLQotICAgIFJlZjxTZWN1cml0eU9yaWdp
bj4gb3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShvcmlnaW5EYXRhLnByb3RvY29sLCBv
cmlnaW5EYXRhLmhvc3QsIG9yaWdpbkRhdGEucG9ydCk7Ci0gICAgTWVtb3J5Q2FjaGU6OnNpbmds
ZXRvbigpLnJlbW92ZVJlc291cmNlc1dpdGhPcmlnaW4ob3JpZ2luLmdldCgpKTsKLQotI2lmIFVT
RShDRlVSTENBQ0hFKQotICAgIGlmIChyZXNvdXJjZUNhY2hlc1RvQ2xlYXIgIT0gSW5NZW1vcnlS
ZXNvdXJjZUNhY2hlc09ubHkpIHsgCi0gICAgICAgIFJldGFpblB0cjxDRk11dGFibGVBcnJheVJl
Zj4gaG9zdEFycmF5ID0gYWRvcHRDRihDRkFycmF5Q3JlYXRlTXV0YWJsZSgwLCAwLCAma0NGVHlw
ZUFycmF5Q2FsbEJhY2tzKSk7Ci0gICAgICAgIENGQXJyYXlBcHBlbmRWYWx1ZShob3N0QXJyYXku
Z2V0KCksIG9yaWdpbi0+aG9zdCgpLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwotCi0gICAgICAg
IGNsZWFyQ0ZVUkxDYWNoZUZvckhvc3ROYW1lcyhob3N0QXJyYXkuZ2V0KCkpOwotICAgIH0KLSNl
bmRpZgotfQotCi12b2lkIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjbGVhckNhY2hlRm9yQWxs
T3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKSBjb25zdAotewotICAgIFJlc291cmNlQ2Fj
aGVzVG9DbGVhciByZXNvdXJjZUNhY2hlc1RvQ2xlYXIgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUNh
Y2hlc1RvQ2xlYXI+KGNhY2hlc1RvQ2xlYXIpOwotICAgIG1fcHJvY2Vzcy0+Y2xlYXJSZXNvdXJj
ZUNhY2hlcyhyZXNvdXJjZUNhY2hlc1RvQ2xlYXIpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9X
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNv
dXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY5OTAwNzQxYzg0OTNiODEzNTM0NTVkZjMzYWE5YTU3NjAzYjkyNTcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEz
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
Ci0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlcl9oCi0jZGVmaW5lIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyX2gK
LQotI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgotI2luY2x1ZGUgIlJlc291cmNlQ2FjaGVz
VG9DbGVhci5oIgotI2luY2x1ZGUgIldlYlByb2Nlc3NTdXBwbGVtZW50LmgiCi0jaW5jbHVkZSA8
V2ViQ29yZS9NZW1vcnlDYWNoZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
LQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYlByb2Nlc3M7Ci1zdHJ1Y3QgU2VjdXJp
dHlPcmlnaW5EYXRhOwotCi1jbGFzcyBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlciA6IHB1YmxpYyBX
ZWJQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKLSAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcik7Ci1wdWJsaWM6Ci0g
ICAgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIoV2ViUHJvY2VzcyopOwotCi0gICAgc3RhdGljIGNv
bnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7Ci0KLSNpZiBVU0UoQ0ZVUkxDQUNIRSkKLSAgICBz
dGF0aWMgdm9pZCBjZlVSTENhY2hlSG9zdE5hbWVzV2l0aENhbGxiYWNrKHN0ZDo6ZnVuY3Rpb248
dm9pZCAoUmV0YWluUHRyPENGQXJyYXlSZWY+KT4pOwotICAgIHN0YXRpYyB2b2lkIGNsZWFyQ0ZV
UkxDYWNoZUZvckhvc3ROYW1lcyhDRkFycmF5UmVmKTsKLSNlbmRpZgotCi1wcml2YXRlOgotICAg
IC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVk
IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAotICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJikgb3ZlcnJpZGU7Ci0KLSAgICB2b2lkIGdldENhY2hlT3JpZ2lucyh1aW50NjRfdCBjYWxs
YmFja0lEKSBjb25zdDsKLSAgICB2b2lkIHJldHVybkNhY2hlT3JpZ2lucyh1aW50NjRfdCBjYWxs
YmFja0lELCBjb25zdCBXZWJDb3JlOjpNZW1vcnlDYWNoZTo6U2VjdXJpdHlPcmlnaW5TZXQmKSBj
b25zdDsKLSAgICB2b2lkIGNsZWFyQ2FjaGVGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5E
YXRhJiwgdWludDMyX3QgY2FjaGVzVG9DbGVhcikgY29uc3Q7Ci0gICAgdm9pZCBjbGVhckNhY2hl
Rm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKSBjb25zdDsKLQotICAgIFdlYlBy
b2Nlc3MqIG1fcHJvY2VzczsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYg
Ly8gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyLm1lc3NhZ2VzLmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
Y2Y5ZTdhNWEyNzVmMDRmMTc0YzY4ZmZiYTZhMGVkN2QwMWY3ODE4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbgorKysgL2Rl
di9udWxsCkBAIC0xLDI3ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUg
bWV0OgotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotIyBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0j
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwKLSMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSMgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIK
LSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLQotbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIgewotICAgIHZvaWQg
R2V0Q2FjaGVPcmlnaW5zKHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAgdm9pZCBDbGVhckNhY2hl
Rm9yT3JpZ2luKHN0cnVjdCBXZWJLaXQ6OlNlY3VyaXR5T3JpZ2luRGF0YSBvcmlnaW5JZGVudGlm
aWVyLCB1aW50MzJfdCBjYWNoZXNUb0NsZWFyKQotICAgIHZvaWQgQ2xlYXJDYWNoZUZvckFsbE9y
aWdpbnModWludDMyX3QgY2FjaGVzVG9DbGVhcikKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9jZi9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlckNG
TmV0Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL2NmL1dlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGUzYTU1MjEzNjc3OTM1NjUxYTRmNDQxY2JkYWRkZTZhYWNiNWY5YTUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9SZXNvdXJjZUNhY2hlL2NmL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQubW0KKysrIC9k
ZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgi
Ci0jaW1wb3J0ICJXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oIgotCi0jaWYgVVNFKENGVVJMQ0FD
SEUpCi0KLSNpZiBFTkFCTEUoQ0FDSEVfUEFSVElUSU9OSU5HKQotI2luY2x1ZGUgPFdlYkNvcmUv
UHVibGljU3VmZml4Lmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotI2VuZGlmCi0K
LSNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgotCi1uYW1lc3BhY2UgV2ViS2l0IHsK
LQotc3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcGFydGl0aW9uTmFtZShDRlN0cmluZ1Jl
ZiBkb21haW4pCi17Ci0jaWYgRU5BQkxFKFBVQkxJQ19TVUZGSVhfTElTVCkKLSAgICBTdHJpbmcg
aGlnaExldmVsID0gV2ViQ29yZTo6dG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbihkb21haW4p
OwotICAgIGlmIChoaWdoTGV2ZWwuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIENT
dHJpbmcgdXRmOFN0cmluZyA9IGhpZ2hMZXZlbC51dGY4KCk7Ci0gICAgcmV0dXJuIGFkb3B0Q0Yo
Q0ZTdHJpbmdDcmVhdGVXaXRoQnl0ZXMoMCwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVSW50OCo+
KHV0ZjhTdHJpbmcuZGF0YSgpKSwgdXRmOFN0cmluZy5sZW5ndGgoKSwga0NGU3RyaW5nRW5jb2Rp
bmdVVEY4LCBmYWxzZSkpOwotI2Vsc2UKLSAgICByZXR1cm4gZG9tYWluOwotI2VuZGlmCi19Ci0K
LXZvaWQgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNmVVJMQ2FjaGVIb3N0TmFtZXNXaXRoQ2Fs
bGJhY2soc3RkOjpmdW5jdGlvbjx2b2lkIChSZXRhaW5QdHI8Q0ZBcnJheVJlZj4pPiBjYWxsYmFj
aykKLXsKLSAgICBXS0NGVVJMQ2FjaGVDb3B5QWxsUGFydGl0aW9uTmFtZXMoXihDRkFycmF5UmVm
IHBhcnRpdGlvbk5hbWVzKSB7Ci0gICAgICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBob3N0TmFt
ZXNJblBlcnNpc3RlbnRTdG9yZSA9IGFkb3B0Q0YoV0tDRlVSTENhY2hlQ29weUFsbEhvc3ROYW1l
c0luUGVyc2lzdGVudFN0b3JlRm9yUGFydGl0aW9uKENGU1RSKCIiKSkpOwotICAgICAgICBSZXRh
aW5QdHI8Q0ZNdXRhYmxlQXJyYXlSZWY+IGhvc3ROYW1lcyA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0
ZU11dGFibGVDb3B5KDAsIDAsIGhvc3ROYW1lc0luUGVyc2lzdGVudFN0b3JlLmdldCgpKSk7Ci0g
ICAgICAgIGlmIChwYXJ0aXRpb25OYW1lcykgewotICAgICAgICAgICAgQ0ZBcnJheUFwcGVuZEFy
cmF5KGhvc3ROYW1lcy5nZXQoKSwgcGFydGl0aW9uTmFtZXMsIENGUmFuZ2VNYWtlKDAsIENGQXJy
YXlHZXRDb3VudChwYXJ0aXRpb25OYW1lcykpKTsKLSAgICAgICAgICAgIENGUmVsZWFzZShwYXJ0
aXRpb25OYW1lcyk7Ci0gICAgICAgIH0KLSAgICAgICAgY2FsbGJhY2soV1RGOjptb3ZlKGhvc3RO
YW1lcykpOwotICAgIH0pOwotfQotCi12b2lkIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjbGVh
ckNGVVJMQ2FjaGVGb3JIb3N0TmFtZXMoQ0ZBcnJheVJlZiBob3N0TmFtZXMpCi17Ci0gICAgV0tD
RlVSTENhY2hlRGVsZXRlSG9zdE5hbWVzSW5QZXJzaXN0ZW50U3RvcmUoaG9zdE5hbWVzKTsKLQot
ICAgIENGSW5kZXggc2l6ZSA9IENGQXJyYXlHZXRDb3VudChob3N0TmFtZXMpOwotICAgIGZvciAo
Q0ZJbmRleCBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJp
bmdSZWY+IHBhcnRpdGlvbiA9IHBhcnRpdGlvbk5hbWUoc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+
KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoaG9zdE5hbWVzLCBpKSkpOwotICAgICAgICBSZXRhaW5Q
dHI8Q0ZBcnJheVJlZj4gcGFydGl0aW9uSG9zdE5hbWVzID0gYWRvcHRDRihXS0NGVVJMQ2FjaGVD
b3B5QWxsSG9zdE5hbWVzSW5QZXJzaXN0ZW50U3RvcmVGb3JQYXJ0aXRpb24ocGFydGl0aW9uLmdl
dCgpKSk7Ci0gICAgICAgIFdLQ0ZVUkxDYWNoZURlbGV0ZUhvc3ROYW1lc0luUGVyc2lzdGVudFN0
b3JlRm9yUGFydGl0aW9uKHBhcnRpdGlvbkhvc3ROYW1lcy5nZXQoKSwgcGFydGl0aW9uLmdldCgp
KTsKLSAgICB9Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gVVNFKENG
VVJMQ0FDSEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA4
ZGRiMWJiMjEzNmI1ZGI3YjdjZGQzNTFlMDQ4YWNiMzhiOTg0NWI4Li45YzU4OWIxNjY1YTQ1YTUz
ZjQ5ZjA3NGMyMWQ1YzViMWQzNTNkY2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKQEAgLTU5LDcgKzU5LDYgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRlICJXZWJSZXNvdXJjZUNhY2hlTWFuYWdl
ci5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFUeXBl
cy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTG9jay5oPgpAQCAtMTgzLDcgKzE4Miw2
IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgIC8vIHNvIHRoYXQgcG9ydHMgaGF2ZSBh
IGNoYW5jZSB0byBjdXN0b21pemUsIGFuZCBpZmRlZnMgaW4gdGhpcyBmaWxlIGFyZQogICAgIC8v
IGxpbWl0ZWQuCiAgICAgYWRkU3VwcGxlbWVudDxXZWJHZW9sb2NhdGlvbk1hbmFnZXI+KCk7Ci0g
ICAgYWRkU3VwcGxlbWVudDxXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcj4oKTsKICAgICBhZGRTdXBw
bGVtZW50PFdlYkNvb2tpZU1hbmFnZXI+KCk7CiAgICAgYWRkU3VwcGxlbWVudDxXZWJNZWRpYUNh
Y2hlTWFuYWdlcj4oKTsKICAgICBhZGRTdXBwbGVtZW50PEF1dGhlbnRpY2F0aW9uTWFuYWdlcj4o
KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>