<?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>101162</bug_id>
          
          <creation_ts>2012-11-04 01:59:45 -0800</creation_ts>
          <short_desc>Discovery API</short_desc>
          <delta_ts>2014-11-24 00:47:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc>http://www.w3.org/TR/discovery-api/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>101034</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Binyamin">7raivis</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>7raivis</cc>
    
    <cc>abecsi</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>b.long</cc>
    
    <cc>bryeung</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>nick.diego</cc>
    
    <cc>pnormand</cc>
    
    <cc>rakuco</cc>
    
    <cc>syoichi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>758082</commentid>
    <comment_count>0</comment_count>
    <who name="Binyamin">7raivis</who>
    <bug_when>2012-11-04 01:38:05 -0800</bug_when>
    <thetext>Device APIs Requirements and Design Decisions http://dev.w3.org/2009/dap/api-reqs/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758075</commentid>
    <comment_count>1</comment_count>
    <who name="Binyamin">7raivis</who>
    <bug_when>2012-11-04 01:59:45 -0800</bug_when>
    <thetext>Network Service Discovery http://www.w3.org/TR/discovery-api/
Roadmap http://www.w3.org/2009/dap/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758137</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-04 10:51:36 -0800</bug_when>
    <thetext>Are you going to work on adding this to WebKit? Please e-mail webkit-dev for discussion then.

I would personally strongly oppose to adding this feature to WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922722</commentid>
    <comment_count>3</comment_count>
      <attachid>210044</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-08-29 16:18:43 -0700</bug_when>
    <thetext>Created attachment 210044
Basic discovery API

I&apos;m about to send an email to the webkit-dev mailing list, but I figured I&apos;d throw this up here first. This just adds the JavaScript API and adds ENABLE_DISCOVERY, but doesn&apos;t have an implementation yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922726</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-29 16:20:37 -0700</bug_when>
    <thetext>Attachment 210044 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/FeatureDefines.h&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/Configurations/FeatureDefines.xcconfig&apos;, u&apos;Source/WebCore/DerivedSources.pri&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkService.cpp&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkService.h&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkService.idl&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkServiceError.cpp&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkServiceError.h&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkServiceError.idl&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkServiceErrorCallback.h&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkServiceErrorCallback.idl&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkServiceSuccessCallback.h&apos;, u&apos;Source/WebCore/Modules/discovery/NavigatorNetworkServiceSuccessCallback.idl&apos;, u&apos;Source/WebCore/Modules/discovery/NetworkService.cpp&apos;, u&apos;Source/WebCore/Modules/discovery/NetworkService.h&apos;, u&apos;Source/WebCore/Modules/discovery/NetworkService.idl&apos;, u&apos;Source/WebCore/Modules/discovery/NetworkServices.cpp&apos;, u&apos;Source/WebCore/Modules/discovery/NetworkServices.h&apos;, u&apos;Source/WebCore/Modules/discovery/NetworkServices.idl&apos;, u&apos;Source/WebCore/Target.pri&apos;, u&apos;Source/WebCore/WebCore.pri&apos;, u&apos;Source/WebCore/dom/EventNames.h&apos;, u&apos;Source/WebCore/dom/EventTarget.h&apos;, u&apos;Source/WebCore/dom/EventTargetFactory.in&apos;, u&apos;Source/WebKit/mac/ChangeLog&apos;, u&apos;Source/WebKit/mac/Configurations/FeatureDefines.xcconfig&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/Configurations/FeatureDefines.xcconfig&apos;, u&apos;Source/autotools/SetupWebKitFeatures.m4&apos;, u&apos;Source/cmake/WebKitFeatures.cmake&apos;, u&apos;Source/cmakeconfig.h.cmake&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitperl/FeatureList.pm&apos;, u&apos;Tools/qmake/mkspecs/features/features.pri&apos;]&quot; exit_code: 1
Source/WebCore/Modules/discovery/NavigatorNetworkServiceError.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/Modules/discovery/NavigatorNetworkServiceError.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 39 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932563</commentid>
    <comment_count>5</comment_count>
      <attachid>210044</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-24 08:15:11 -0700</bug_when>
    <thetext>Comment on attachment 210044
Basic discovery API

This was brought up on webkit-dev and there was strong opposition.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210044</attachid>
            <date>2013-08-29 16:18:43 -0700</date>
            <delta_ts>2013-09-24 08:15:11 -0700</delta_ts>
            <desc>Basic discovery API</desc>
            <filename>bug-101162-20130829171842.patch</filename>
            <type>text/plain</type>
            <size>61810</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZmFkMjRlOGI3MzEzNThmZGU5ZTE2MjJiOGIxN2Y4YjQ1MTAzZDdjLi5kMGIzZjhiMWRmOTQyNThm
NzEyOTI2NDRmMjg5OTRmMGQ1YjIzMjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMy0wOC0yOSAgQnJlbmRhbiBMb25nICA8Yi5sb25nQGNhYmxlbGFicy5j
b20+CisKKyAgICAgICAgRGlzY292ZXJ5IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKwogMjAxMy0wOC0yOSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQ2hhbmdlIFN0YWNrSXRlcmF0b3IgdG8gbm90IHJlcXVpcmUgd3JpdGVzIHRvIHRoZSBK
UyBzdGFjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9D
aGFuZ2VMb2cKaW5kZXggYmM0Nzc3OGE5YWFlZTlhY2E3ODlhY2RhNTI0MGMyMjAxZTNjN2QzMC4u
NzYyNDE5YWExYWU3ZWI2ZGMzMGU5OGYyZjAzMmQzODhlMzc4NDVmOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAxMy0wOC0yOSAgQnJlbmRhbiBMb25nICA8Yi5sb25nQGNhYmxlbGFicy5jb20+CisK
KyAgICAgICAgRGlzY292ZXJ5IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAxMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAxMy0wOC0yOCAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIHN1
cHBvcnQgZm9yIGJ1aWxkaW5nIEpTQyB3aXRoIEZUTCBKSVQgZW5hYmxlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGMwNjUyZmNjNGNmNWNiZDkzY2ZkNzJkNjkyNjI1YjlhMGU2ZGVhNWUuLmIzYWMxMDY2MGU3NGJm
YmU5MWZjNzBmMWJhNThlZmIxNTQxNGM3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2OCBAQAor
MjAxMy0wOC0yOSAgQnJlbmRhbiBMb25nICA8Yi5sb25nQGNhYmxlbGFicy5jb20+CisKKyAgICAg
ICAgRGlzY292ZXJ5IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAxMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6
CisgICAgICAgICogTW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdhdG9yTmV0d29ya1NlcnZpY2UuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRTZXJ2aWNlVHlwZSk6CisgICAgICAg
IChXZWJDb3JlOjpOYXZpZ2F0b3JOZXR3b3JrU2VydmljZTo6TmF2aWdhdG9yTmV0d29ya1NlcnZp
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yTmV0d29ya1NlcnZpY2U6On5OYXZpZ2F0
b3JOZXR3b3JrU2VydmljZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JOZXR3b3JrU2Vy
dmljZTo6c3VwcGxlbWVudE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yTmV0d29y
a1NlcnZpY2U6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yTmV0d29ya1NlcnZp
Y2U6OmdldE5ldHdvcmtTZXJ2aWNlcyk6CisgICAgICAgICogTW9kdWxlcy9kaXNjb3ZlcnkvTmF2
aWdhdG9yTmV0d29ya1NlcnZpY2UuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9kaXNjb3Zl
cnkvTmF2aWdhdG9yTmV0d29ya1NlcnZpY2UuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yOjpOYXZpZ2F0b3JOZXR3
b3JrU2VydmljZUVycm9yKToKKyAgICAgICAgKiBNb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JO
ZXR3b3JrU2VydmljZUVycm9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9y
TmV0d29ya1NlcnZpY2VFcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRv
ck5ldHdvcmtTZXJ2aWNlRXJyb3I6On5OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3I6OmNvZGUpOgorICAg
ICAgICAqIE1vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3IuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2Vy
dmljZUVycm9yQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JO
ZXR3b3JrU2VydmljZUVycm9yQ2FsbGJhY2s6On5OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9y
Q2FsbGJhY2spOgorICAgICAgICAqIE1vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdvcmtT
ZXJ2aWNlRXJyb3JDYWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZGlzY292
ZXJ5L05hdmlnYXRvck5ldHdvcmtTZXJ2aWNlU3VjY2Vzc0NhbGxiYWNrLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yTmV0d29ya1NlcnZpY2VTdWNjZXNzQ2FsbGJhY2s6On5O
YXZpZ2F0b3JOZXR3b3JrU2VydmljZVN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICogTW9kdWxl
cy9kaXNjb3ZlcnkvTmF2aWdhdG9yTmV0d29ya1NlcnZpY2VTdWNjZXNzQ2FsbGJhY2suaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Rpc2NvdmVyeS9OZXR3b3JrU2VydmljZS5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1NlcnZpY2U6Ok5ldHdvcmtTZXJ2aWNlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTZXJ2aWNlOjp+TmV0d29ya1NlcnZpY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6TmV0d29ya1NlcnZpY2U6OmludGVyZmFjZU5hbWUpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya1NlcnZpY2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAg
ICAqIE1vZHVsZXMvZGlzY292ZXJ5L05ldHdvcmtTZXJ2aWNlLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya1NlcnZpY2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3
b3JrU2VydmljZTo6aWQpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1NlcnZpY2U6Om5hbWUp
OgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1NlcnZpY2U6OnR5cGUpOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya1NlcnZpY2U6OnVybCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU2Vy
dmljZTo6Y29uZmlnKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTZXJ2aWNlOjpvbmxpbmUp
OgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1NlcnZpY2U6OnNldE9ubGluZSk6CisgICAgICAg
ICogTW9kdWxlcy9kaXNjb3ZlcnkvTmV0d29ya1NlcnZpY2UuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2Rpc2NvdmVyeS9OZXR3b3JrU2VydmljZXMuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok5ldHdvcmtTZXJ2aWNlczo6TmV0d29ya1NlcnZpY2VzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5ldHdvcmtTZXJ2aWNlczo6fk5ldHdvcmtTZXJ2aWNlcyk6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrU2VydmljZXM6OmludGVyZmFjZU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6
TmV0d29ya1NlcnZpY2VzOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok5ldHdvcmtTZXJ2aWNlczo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU2Vy
dmljZXM6OmdldFNlcnZpY2VCeUlkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTZXJ2aWNl
czo6c2VydmljZXNBdmFpbGFibGUpOgorICAgICAgICAqIE1vZHVsZXMvZGlzY292ZXJ5L05ldHdv
cmtTZXJ2aWNlcy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTZXJ2aWNlczo6
bGVuZ3RoKToKKyAgICAgICAgKiBNb2R1bGVzL2Rpc2NvdmVyeS9OZXR3b3JrU2VydmljZXMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgor
ICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Lmg6
CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKwogMjAxMy0wOC0yOSAgUHJh
dGlrIFNvbGFua2kgIDxwcmF0aWsuc29sYW5raUBnbWFpbC5jb20+CiAKICAgICAgICAgU2hhcmVk
QnVmZmVyIG1fc2VnbWVudHMgYW5kIG1fZGF0YUFycmF5IG11c3QgYmUgZXhjbHVzaXZlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggYjMwOTNkNmE1ZTIzY2ZjZDFmYWQ0MzVlYWIyMWRiYTcyMTkyYzE5Yi4u
MTMwMzRjYmEwOWM2N2ZiMzEzOTYzYTc1MDk4NWYyMjFkNWRlM2EzYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTA4LTI5ICBCcmVuZGFuIExvbmcgIDxiLmxvbmdAY2Fi
bGVsYWJzLmNvbT4KKworICAgICAgICBEaXNjb3ZlcnkgQVBJCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExNjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorCiAyMDEzLTA4LTI4ICBDaHJpcyBDdXJ0aXMgIDxjaHJpc19jdXJ0aXNA
YXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTk1NDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmZTRmYTZhZDBmYjk3NzE5NTkwZDhiMDBiOGEyODRl
MWM5NTZlODk1Li40MjM5MGY5OGE2NDkwZWNiMzE0ZGM2ZjAwMjBlYWM4NTBmMjJmYmE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDgtMjkgIEJyZW5kYW4gTG9uZyAgPGIubG9u
Z0BjYWJsZWxhYnMuY29tPgorCisgICAgICAgIERpc2NvdmVyeSBBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTE2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTMtMDgtMjkgIEJyaWFuIEhvbHQgIDxicmlhbi5ob2x0
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtHVEtdIFtXSzJdIFRlc3RXZWJLaXRXZWJWaWV3IHBh
Z2UtdmlzaWJpbGl0eSBmYWlscwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGIxZTc4N2I0
ZmVhOWM2NmE0OGZjYjU1NTk5N2U2ODJhY2UwYWViMTEuLjE3MmQ5YmIzMDRlYWMwZTExMjA0NmE4
ODdjOTEzYzkxOTY3YmZhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTcxLDYgKzcx
LDcgQEAgRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTl9pcGhvbmVvcyA9IEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT047CiBFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OX2lwaG9uZXNpbXVsYXRvciA9
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTl9pcGhvbmVvcyk7CiBFTkFCTEVfRElBTE9HX0VM
RU1FTlQgPSA7CiBFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCA9IDsKK0VOQUJMRV9ESVNDT1ZFUlkg
PSBFTkFCTEVfRElTQ09WRVJZOwogRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SID0gRU5B
QkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SOwogRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04gPSA7
CiBFTkFCTEVfRU5DUllQVEVEX01FRElBID0gJChFTkFCTEVfRU5DUllQVEVEX01FRElBXyQoUExB
VEZPUk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMu
aCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggMjkyYTNkOTdkMTQyOGYw
MDdlOTY2ZDNjOTA4NjA1ZThiNzRlY2NmMy4uYjczMTJiYzhlNzczM2M4NjcyNTRjZmJmM2I2YTM4
M2IxY2U4NWY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC02OCw2ICs2OCwxMCBAQAog
I2RlZmluZSBFTkFCTEVfQ1NTX0lNQUdFX1NFVCAxCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVO
QUJMRV9ESVNDT1ZFUlkpCisjZGVmaW5lIEVOQUJMRV9ESVNDT1ZFUlkgMAorI2VuZGlmCisKICNp
ZiAhZGVmaW5lZChFTkFCTEVfRElTS19JTUFHRV9DQUNIRSkKICNkZWZpbmUgRU5BQkxFX0RJU0tf
SU1BR0VfQ0FDSEUgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGIwNzlmMTg1NDMwODI1ODA2NWRh
Yjc1NzVkOWNkZGYzMDhlYTExYzUuLjU1NWE5MzY3MzgzZGE5MzFlOWZiOWE5Yjg5ZjM0OWM0NDFk
MmIxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC03MSw2ICs3MSw3IEBAIEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT05faXBob25lb3MgPSBFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OOwogRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTl9pcGhvbmVzaW11bGF0b3IgPSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T05faXBob25lb3MpOwogRU5BQkxFX0RJQUxPR19FTEVNRU5UID0gOwogRU5BQkxFX0RJUkVDVE9S
WV9VUExPQUQgPSA7CitFTkFCTEVfRElTQ09WRVJZID0gRU5BQkxFX0RJU0NPVkVSWTsKIEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUiA9IEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UjsKIEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OID0gOwogRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSA9
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV8kKFBMQVRGT1JNX05BTUUpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaQppbmRleCBmZmM2MDFmNTU0OTg4Y2NhMjc5ZTE5ZTI0NmFiOTMxZmIzNjBk
OWVmLi40ZWNiOWQyZTlhODUyZmJhMWMzNzJlNGRhYWYxZDliY2YwYWJlODBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MzUsNiArNjM1LDE2IEBAIGVuYWJsZT8oU1ZHKSB7CiAg
ICAgJCRQV0Qvc3ZnL1NWR1pvb21FdmVudC5pZGwKIH0KIAorZW5hYmxlPyhESVNDT1ZFUlkpIHsK
KyAgSURMX0JJTkRJTkdTICs9IFwKKyAgICAkJFBXRC9Nb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0
b3JOZXR3b3JrU2VydmljZS5pZGwgXAorICAgICQkUFdEL01vZHVsZXMvZGlzY292ZXJ5L05hdmln
YXRvck5ldHdvcmtTZXJ2aWNlRXJyb3IuaWRsIFwKKyAgICAkJFBXRC9Nb2R1bGVzL2Rpc2NvdmVy
eS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yQ2FsbGJhY2suaWRsIFwKKyAgICAkJFBXRC9N
b2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZVN1Y2Nlc3NDYWxsYmFjay5p
ZGwgXAorICAgICQkUFdEL01vZHVsZXMvZGlzY292ZXJ5L05ldHdvcmtTZXJ2aWNlLmlkbCBcCisg
ICAgJCRQV0QvTW9kdWxlcy9kaXNjb3ZlcnkvTmV0d29ya1NlcnZpY2VzLmlkbAorfQorCiBlbmFi
bGU/KEdBTUVQQUQpIHsKICAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9Nb2R1bGVzL2dh
bWVwYWQvR2FtZXBhZC5pZGwgXApAQCAtNzYwLDYgKzc3MCw3IEBAIGdlbmVyYXRlQmluZGluZ3Mu
c2NyaXB0ID0gJCRQV0QvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbAogZ2Vu
ZXJhdGVCaW5kaW5ncy5jb21tYW5kcyA9ICQkc2V0RW52aXJvbm1lbnRWYXJpYWJsZShTT1VSQ0Vf
Uk9PVCwgJCR0b1N5c3RlbVBhdGgoJCRQV0QpKSAmJiBwZXJsIC1JJCRQV0QvYmluZGluZ3Mvc2Ny
aXB0cyAkJGdlbmVyYXRlQmluZGluZ3Muc2NyaXB0IFwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtLWRlZmluZXMgXCIkJGphdmFzY3JpcHRGZWF0dXJlRGVmaW5lcygpXCIgXAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC0tZ2VuZXJhdG9yIEpTIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLWluY2x1ZGUgTW9kdWxlcy9kaXNjb3ZlcnkgXAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0taW5jbHVkZSBNb2R1bGVzL2ZpbGVzeXN0ZW0gXAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC0taW5jbHVkZSBNb2R1bGVzL2dlb2xvY2F0aW9uIFwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLWluY2x1ZGUgTW9kdWxlcy9pbmRleGVkZGIgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdhdG9yTmV0d29ya1Nl
cnZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdhdG9yTmV0
d29ya1NlcnZpY2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwMDkzZTEzMDU4MzY4NTczNWM3N2ZmZmU3NTkx
MzA4MjhlNjI4MDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rp
c2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZS5jcHAKQEAgLTAsMCArMSwxMzkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ2FibGUgVGVsZXZpc2lvbiBMYWJvcmF0b3JpZXMsIElu
Yy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JOZXR3
b3JrU2VydmljZS5oIgorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworc3RhdGljIGJvb2wgaXNWYWxpZFNlcnZpY2VUeXBlKFN0cmluZyB0eXBlKQorewor
ICAgIC8vIGEgc3RyaW5nIHRoYXQgYmVnaW5zIHdpdGggdXBucDogb3IgemVyb2NvbmY6IGZvbGxv
d2VkIGJ5IG9uZSBvciBtb3JlCisgICAgLy8gY2hhcmFjdGVycyBpbiB0aGUgcmFuZ2VzIFUrMDAy
MSwgVSswMDIzIHRvIFUrMDAyNywgVSswMDJBIHRvIFUrMDAyQiwKKyAgICAvLyBVKzAwMkQgdG8g
VSswMDJFLCBVKzAwMzAgdG8gVSswMDM5LCBVKzAwNDEgdG8gVSswMDVBLCBVKzAwNUUgdG8gVSsw
MDdFLgorICAgIGlmICh0eXBlLnN0YXJ0c1dpdGgoInVwbnA6IikgfHwgdHlwZS5zdGFydHNXaXRo
KCJ6ZXJvY29uZjoiKSkgeworICAgICAgICAvLyBUT0RPOiBDaGVjayBzdHJpbmcKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgLy8gYSBzdHJpbmcgdGhhdCBiZWdpbnMgd2l0aCBkaWFsOiBmb2xs
b3dlZCBieSBhbiBpbnRlZ2VyIHZlcnNpb24uCisgICAgfQorICAgIGlmICh0eXBlLnN0YXJ0c1dp
dGgoImRpYWw6IikpIHsKKyAgICAgICAgYm9vbCBvazsKKyAgICAgICAgdHlwZS5zdWJzdHJpbmco
NSkudG9JbnQoJm9rKTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK05hdmlnYXRvck5ldHdvcmtTZXJ2aWNlOjpOYXZpZ2F0b3JOZXR3b3JrU2Vydmlj
ZShGcmFtZSogZnJhbWUpCisgICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkKK3sKK30KKwor
TmF2aWdhdG9yTmV0d29ya1NlcnZpY2U6On5OYXZpZ2F0b3JOZXR3b3JrU2VydmljZSgpCit7Cit9
CisKK2NvbnN0IGNoYXIqIE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlOjpzdXBwbGVtZW50TmFtZSgp
Cit7CisgICAgcmV0dXJuICJOYXZpZ2F0b3JOZXR3b3JrU2VydmljZSI7Cit9CisKK05hdmlnYXRv
ck5ldHdvcmtTZXJ2aWNlKiBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZTo6ZnJvbShOYXZpZ2F0b3Iq
IG5hdmlnYXRvcikKK3sKKyAgICBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZSogc3VwcGxlbWVudCA9
IHN0YXRpY19jYXN0PE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlKj4oCisgICAgICAgIFN1cHBsZW1l
bnQ8TmF2aWdhdG9yPjo6ZnJvbShuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCkpKTsKKyAgICBp
ZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ldyBOYXZpZ2F0b3JOZXR3
b3JrU2VydmljZShuYXZpZ2F0b3ItPmZyYW1lKCkpOworICAgICAgICBwcm92aWRlVG8obmF2aWdh
dG9yLCBzdXBwbGVtZW50TmFtZSgpLCBhZG9wdFB0cihzdXBwbGVtZW50KSk7CisgICAgfQorICAg
IHJldHVybiBzdXBwbGVtZW50OworfQorCit2b2lkIE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlOjpn
ZXROZXR3b3JrU2VydmljZXMoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsCisgICAgY29uc3QgVmVjdG9y
PFN0cmluZz4mIHR5cGVzLAorICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yTmV0d29ya1NlcnZpY2VT
dWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywKKyAgICBQYXNzUmVmUHRyPE5hdmlnYXRv
ck5ldHdvcmtTZXJ2aWNlRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKK3sKKyAgICByZXR1
cm4gTmF2aWdhdG9yTmV0d29ya1NlcnZpY2U6OmZyb20obmF2aWdhdG9yKS0+Z2V0TmV0d29ya1Nl
cnZpY2VzKHR5cGVzLAorICAgICAgICBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwor
fQorCit2b2lkIE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlOjpnZXROZXR3b3JrU2VydmljZXMoY29u
c3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLAorICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yTmV0d29y
a1NlcnZpY2VTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywKKyAgICBQYXNzUmVmUHRy
PE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKK3sK
KyAgICAvLyBMZXQgcmVxdWVzdGVkIGNvbnRyb2wgdHlwZXMgYmUgaW5pdGlhbGx5IHNldCB0byBh
biBlbXB0eSBhcnJheS4KKyAgICBWZWN0b3I8U3RyaW5nPiByZXF1ZXN0ZWRDb250cm9sVHlwZXM7
CisKKyAgICAvLyBJZiB0eXBlIGlzIGFuIGFycmF5IGNvbnNpc3Rpbmcgb2Ygb25lIG9yIG1vcmUg
dmFsaWQgc2VydmljZSB0eXBlIHRva2VucywKKyAgICAvLyB0aGVuIGxldCByZXF1ZXN0ZWQgY29u
dHJvbCB0eXBlcyBieSB0aGUgdmFsdWUgb2YgdHlwZSwgcmVtb3ZpbmcgYW55CisgICAgLy8gbm9u
LXZhbGlkIHNlcnZpY2UgdHlwZSB0b2tlbnMgZnJvbSB0aGUgcmVzdWx0aW5nIGFycmF5LgorICAg
IC8vIElmIHR5cGUgaXMgYSBzdHJpbmcgY29uc2lzdGluZyBvZiBvbmUgdmFsaWQgc2VydmljZSB0
eXBlIHRva2VuLCB0aGVuIGxldAorICAgIC8vIHJlcXVlc3RlZCBjb250cm9sIHR5cGVzIGJlIGFu
IGFycmF5IGNvbnRhaW5pbmcgb25lIGl0ZW0gd2l0aCBhIHZhbHVlIG9mCisgICAgLy8gdHlwZS4K
KyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHR5cGVzLnNpemUoKTsgKytpKSB7CisgICAgICAg
IGlmIChpc1ZhbGlkU2VydmljZVR5cGUodHlwZXNbaV0pKQorICAgICAgICAgICAgcmVxdWVzdGVk
Q29udHJvbFR5cGVzLmFwcGVuZCh0eXBlc1tpXSk7CisgICAgfQorCisgICAgLy8gSWYgcmVxdWVz
dGVkIGNvbnRyb2wgdHlwZXMgaXMgYW4gYXJyYXkgdGhhdCBjb250YWlucyBhdCBsZWFzdCBvbmUg
b3IKKyAgICAvLyBtb3JlIHZhbGlkIHNlcnZpY2UgdHlwZSB0b2tlbnMgdGhlbiBjb250aW51ZSB0
byB0aGUgc3RlcCBsYWJlbGVkIHByb2Nlc3MKKyAgICAvLyBiZWxvdy4gT3RoZXJ3aXNlLCB0aGUg
dXNlciBhZ2VudCBNVVNUIHF1ZXVlIGEgdGFzayB0byBpbnZva2UKKyAgICAvLyBlcnJvckNhbGxi
YWNrLCBpZiBpdCBpcyBwcm92aWRlZCBhbmQgaXMgYW4gb2JqZWN0IG9mIHR5cGUgRnVuY3Rpb24s
IHdpdGgKKyAgICAvLyBhIG5ldyBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yIG9iamVjdCB3
aG9zZSBjb2RlIGF0dHJpYnV0ZSBoYXMgdGhlCisgICAgLy8gbnVtZXJpYyB2YWx1ZSAyIChVTktO
T1dOX1RZUEVfUFJFRklYX0VSUikgYXMgaXRzIGFyZ3VtZW50LCBhYm9ydCBhbnkKKyAgICAvLyBy
ZW1haW5pbmcgc3RlcHMgYW5kIHJldHVybi4KKyAgICBpZiAocmVxdWVzdGVkQ29udHJvbFR5cGVz
LmlzRW1wdHkoKSkgeworICAgICAgICBpZiAoZXJyb3JDYWxsYmFjaykKKyAgICAgICAgICAgIGVy
cm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3I6OmNy
ZWF0ZSgKKyAgICAgICAgICAgICAgICBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yOjpVTktO
T1dOX1RZUEVfUFJFRklYX0VSUikuZ2V0KCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgLy8gUHJvY2VzczogTGV0IHNlcnZpY2VzIGZvdW5kIGJlIGFuIGVtcHR5IGFycmF5LgorICAg
IFZlY3RvcjxSZWZQdHI8TmV0d29ya1NlcnZpY2U+ID4gc2VydmljZXNGb3VuZDsKKworICAgIC8v
IEZvciBlYWNoIGF2YWlsYWJsZSBzZXJ2aWNlIGluIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBzZXJ2
aWNlIHJlY29yZHMgcnVuCisgICAgLy8gdGhlIGZvbGxvd2luZyBzdGVwczoKKyAgICAvLyBGb3Ig
ZWFjaCByZXF1ZXN0ZWQgY29udHJvbCB0eXBlIGluIHJlcXVlc3RlZCBjb250cm9sIHR5cGVzOiBJ
ZiBhdmFpbGFibGUKKyAgICAvLyBzZXJ2aWNlJ3MgdHlwZSBhdHRyaWJ1dGUgZXF1YWxzIHRoZSBy
ZXF1ZXN0ZWQgY29udHJvbCB0eXBlIHRoZW4gbGV0CisgICAgLy8gbWF0Y2hlZCBzZXJ2aWNlIGVx
dWFsIHRoZSB2YWx1ZSBvZiBhdmFpbGFibGUgc2VydmljZSBhbmQgY29udGludWUgYXQgdGhlCisg
ICAgLy8gc3RlcCBsYWJlbGVkIGF0dGFjaCBiZWxvdy4KKyAgICAvLyBXZWJLaXQgTm90ZTogV2Un
cmUgZG9pbmcgdGhpcyBiYWNrd2FyZHMgc28gd2UgY2FuIGxvb2t1cCBhdmFpbGFibGUKKyAgICAv
LyBzZXJ2aWNlcyBpbiBhIEhhc2hNYXAuCisgICAgLy8gQXR0YWNoOiBJZiBtYXRjaGVkIHNlcnZp
Y2UgaXMgbm90IGVtcHR5IHRoZW4gcnVuIHRoZSBmb2xsb3dpbmcgc3RlcHM6CisgICAgLy8gTGV0
IG5ldyBzZXJ2aWNlIG9iamVjdCBiZSBhIG5ldyBOZXR3b3JrU2VydmljZSBvYmplY3QsIG1hcHBp
bmcgdGhlCisgICAgLy8gcGFyYW1ldGVycyBvZiBtYXRjaGVkIHNlcnZpY2UgdG8gdGhpcyBuZXcg
b2JqZWN0IHdoZXJlIHBvc3NpYmxlLgorICAgIC8vIEFwcGVuZCBuZXcgc2VydmljZSBvYmplY3Qg
dG8gdGhlIHNlcnZpY2VzIGZvdW5kIGFycmF5LgorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
cmVxdWVzdGVkQ29udHJvbFR5cGVzLnNpemUoKTsgKytpKQorICAgICAgICBzZXJ2aWNlc0ZvdW5k
LmFwcGVuZFZlY3RvcihtX2F2YWlsYWJsZVNlcnZpY2VSZWNvcmRzLmdldChyZXF1ZXN0ZWRDb250
cm9sVHlwZXNbaV0pKTsKKworCisgICAgLy8gUmV0dXJuLCBhbmQgcnVuIHRoZSByZW1haW5pbmcg
c3RlcHMgYXN5bmNocm9ub3VzbHkuCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdvcmtT
ZXJ2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3
b3JrU2VydmljZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiODk1OWM0MWE4YjA5OWRmMmM2NDI4NmJmODIxYTM1
ZjBlZTRjOGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2Nv
dmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZS5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQ2FibGUgVGVsZXZpc2lvbiBMYWJvcmF0b3JpZXMsIEluYy4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgTmF2aWdhdG9yTmV0d29ya1NlcnZpY2VfaAorI2RlZmluZSBOYXZpZ2F0
b3JOZXR3b3JrU2VydmljZV9oCisjaWYgRU5BQkxFKERJU0NPVkVSWSkKKworI2luY2x1ZGUgIkRP
TVdpbmRvd1Byb3BlcnR5LmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yTmV0d29ya1NlcnZpY2VFcnJv
ckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yTmV0d29ya1NlcnZpY2VTdWNjZXNzQ2Fs
bGJhY2suaCIKKyNpbmNsdWRlICJOZXR3b3JrU2VydmljZS5oIgorI2luY2x1ZGUgIlNjcmlwdFZh
bHVlLmgiCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZyYW1lOworY2xhc3MgTmF2aWdhdG9yOwor
CitjbGFzcyBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZQorICAgIDogcHVibGljIFN1cHBsZW1lbnRh
YmxlPE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlPgorICAgICwgcHVibGljIFN1cHBsZW1lbnQ8TmF2
aWdhdG9yPgorICAgICwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5IHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIH5OYXZpZ2F0b3JOZXR3b3JrU2VydmljZSgpOworICAgIHN0YXRpYyBOYXZpZ2F0b3JO
ZXR3b3JrU2VydmljZSogZnJvbShOYXZpZ2F0b3IqKTsKKworICAgIHN0YXRpYyB2b2lkIGdldE5l
dHdvcmtTZXJ2aWNlcyhOYXZpZ2F0b3IqLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdHlwZXMsCisg
ICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yTmV0d29ya1NlcnZpY2VTdWNjZXNzQ2FsbGJhY2s+
LAorICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3JDYWxsYmFj
az4pOworICAgIHZvaWQgZ2V0TmV0d29ya1NlcnZpY2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0
eXBlcywKKyAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JOZXR3b3JrU2VydmljZVN1Y2Nlc3ND
YWxsYmFjaz4sCisgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yTmV0d29ya1NlcnZpY2VFcnJv
ckNhbGxiYWNrPik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTmF2aWdhdG9yTmV0d29ya1Nl
cnZpY2UoRnJhbWUqKTsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsK
KworICAgIEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8UmVmUHRyPE5ldHdvcmtTZXJ2aWNlPiA+ID4g
bV9hdmFpbGFibGVTZXJ2aWNlUmVjb3JkczsKK307CisKK30KKyNlbmRpZgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3Jr
U2VydmljZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JO
ZXR3b3JrU2VydmljZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzUxOTk4Yzc4MzNkODg0MjJlYzFlNWRmODdi
NWM5MDNmMzZmZDRiOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZGlzY292ZXJ5L05hdmlnYXRvck5ldHdvcmtTZXJ2aWNlLmlkbApAQCAtMCwwICsxLDM0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIENhYmxlIFRlbGV2aXNpb24gTGFib3JhdG9yaWVzLCBJ
bmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisg
KiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RElTQ09WRVJZLAorXSBwYXJ0aWFsIGlu
dGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIC8vIE9idGFpbiBhIExvY2FsLW5ldHdvcmtlZCBTZXJ2
aWNlCisgICAgdm9pZCBnZXROZXR3b3JrU2VydmljZXMoaW4gRE9NU3RyaW5nW10gdHlwZSwKKyAg
ICAgICAgaW4gTmF2aWdhdG9yTmV0d29ya1NlcnZpY2VTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLAorICAgICAgICBpbiBvcHRpb25hbCBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJy
b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE4YWIzMTZiZGNjZGYxZDQ4ZDhjODI1MzRkMDYzMDM3MGIyZTdk
MzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVyeS9O
YXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yLmNwcApAQCAtMCwwICsxLDM2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIENhYmxlIFRlbGV2aXNpb24gTGFib3JhdG9yaWVzLCBJbmMuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yTmV0d29ya1Nl
cnZpY2VFcnJvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK05hdmlnYXRvck5ldHdvcmtT
ZXJ2aWNlRXJyb3I6Ok5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3IoRXJyb3JDb2RlIGNvZGUp
CisgICAgOiBtX2NvZGUoY29kZSkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdhdG9yTmV0d29y
a1NlcnZpY2VFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdh
dG9yTmV0d29ya1NlcnZpY2VFcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMWZhMzVmZDY3OWNhMzhiM2Vm
MjUwNGNlZGU3ZTExYzc0NzBmNDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yLmgKQEAgLTAsMCAr
MSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBDYWJsZSBUZWxldmlzaW9uIExhYm9y
YXRvcmllcywgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVy
cm9yX2gKKyNkZWZpbmUgTmF2aWdhdG9yTmV0d29ya1NlcnZpY2VFcnJvcl9oCisjaWYgRU5BQkxF
KERJU0NPVkVSWSkKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3JO
ZXR3b3JrU2VydmljZUVycm9yIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yTmV0d29ya1Nl
cnZpY2VFcnJvcj4geworcHVibGljOgorICAgIGVudW0gRXJyb3JDb2RlIHsKKyAgICAgICAgUEVS
TUlTU0lPTl9ERU5JRURfRVJSID0gMSwKKyAgICAgICAgVU5LTk9XTl9UWVBFX1BSRUZJWF9FUlIg
PSAyCisgICAgfTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRvck5ldHdvcmtTZXJ2
aWNlRXJyb3I+IGNyZWF0ZShFcnJvckNvZGUgY29kZSkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgTmF2aWdhdG9yTmV0d29ya1NlcnZpY2VFcnJvcihjb2RlKSk7CisgICAgfQor
ICAgIHZpcnR1YWwgfk5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3IoKSB7IH0KKworICAgIEVy
cm9yQ29kZSBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlOyB9CisKK3ByaXZhdGU6CisgICAg
TmF2aWdhdG9yTmV0d29ya1NlcnZpY2VFcnJvcihFcnJvckNvZGUpOworCisgICAgRXJyb3JDb2Rl
IG1fY29kZTsKK307CisKK30KKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdvcmtTZXJ2aWNl
RXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwZTlhN2M2OGEyYWNlMjVhMzAwYTQ3YzNiYzg5NGUzZWQ3
OGE5YTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVy
eS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIENhYmxlIFRlbGV2aXNpb24gTGFib3JhdG9yaWVzLCBJbmMu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RElTQ09WRVJZLAorICAgIE5vSW50ZXJmYWNl
T2JqZWN0CitdIGludGVyZmFjZSBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yIHsKKyAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBQRVJNSVNTSU9OX0RFTklFRF9FUlIgPSAxOworICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFVOS05PV05fVFlQRV9QUkVGSVhfRVJSID0gMjsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgY29kZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yQ2Fs
bGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdv
cmtTZXJ2aWNlRXJyb3JDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjMzFmOTNmMzFiYjFiZjE4NTBm
YWY5OGQ0Njk5ZDQzM2YzNmNjMzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yQ2FsbGJhY2suaApA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIENhYmxlIFRlbGV2aXNp
b24gTGFib3JhdG9yaWVzLCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5hdmlnYXRvck5ldHdvcmtT
ZXJ2aWNlRXJyb3JDYWxsYmFja19oCisjZGVmaW5lIE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJy
b3JDYWxsYmFja19oCisjaWYgRU5BQkxFKERJU0NPVkVSWSkKKworI2luY2x1ZGUgIk5hdmlnYXRv
ck5ldHdvcmtTZXJ2aWNlRXJyb3IuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3JD
YWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3JD
YWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgfk5hdmlnYXRvck5ldHdvcmtTZXJ2aWNl
RXJyb3JDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChOYXZpZ2F0
b3JOZXR3b3JrU2VydmljZUVycm9yKikgPSAwOworfTsKKworfQorI2VuZGlmCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdv
cmtTZXJ2aWNlRXJyb3JDYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2Nv
dmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM2NThjMmJjYzU4Y2M1M2E1YTAxNDIyNTIzYTEyMWE1ZmY3ZjI1YWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2Vy
dmljZUVycm9yQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQ2FibGUgVGVsZXZpc2lvbiBMYWJvcmF0b3JpZXMsIEluYy4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sK
KyAgICBDb25kaXRpb25hbD1ESVNDT1ZFUlksCisgICAgTm9JbnRlcmZhY2VPYmplY3QKK10gY2Fs
bGJhY2sgaW50ZXJmYWNlIE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlRXJyb3JDYWxsYmFjayB7Cisg
ICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yIGVy
cm9yKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVyeS9O
YXZpZ2F0b3JOZXR3b3JrU2VydmljZVN1Y2Nlc3NDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdhdG9yTmV0d29ya1NlcnZpY2VTdWNjZXNzQ2FsbGJhY2su
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jYjUxMWY2OTA3ODE0ZjhmNDZhNTcwODU4YjJmZjQ3ZjNlNDY5NTQxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdh
dG9yTmV0d29ya1NlcnZpY2VTdWNjZXNzQ2FsbGJhY2suaApAQCAtMCwwICsxLDQ1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIENhYmxlIFRlbGV2aXNpb24gTGFib3JhdG9yaWVzLCBJbmMu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlU3VjY2Vzc0NhbGxiYWNr
X2gKKyNkZWZpbmUgTmF2aWdhdG9yTmV0d29ya1NlcnZpY2VTdWNjZXNzQ2FsbGJhY2tfaAorI2lm
IEVOQUJMRShESVNDT1ZFUlkpCisKKyNpbmNsdWRlICJOZXR3b3JrU2VydmljZXMuaCIKKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5h
dmlnYXRvck5ldHdvcmtTZXJ2aWNlOworCitjbGFzcyBOYXZpZ2F0b3JOZXR3b3JrU2VydmljZVN1
Y2Nlc3NDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNl
U3VjY2Vzc0NhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yTmV0d29y
a1NlcnZpY2VTdWNjZXNzQ2FsbGJhY2soKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZl
bnQoTmV0d29ya1NlcnZpY2VzKikgPSAwOworfTsKKworfQorI2VuZGlmCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdvcmtT
ZXJ2aWNlU3VjY2Vzc0NhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292
ZXJ5L05hdmlnYXRvck5ldHdvcmtTZXJ2aWNlU3VjY2Vzc0NhbGxiYWNrLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wYzkzM2JiYTVmYTVmZjhlOGJmYmNmMmVkODZkNDA4OWUzNDQ4YjA0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdhdG9yTmV0d29ya1Nl
cnZpY2VTdWNjZXNzQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgQ2FibGUgVGVsZXZpc2lvbiBMYWJvcmF0b3JpZXMsIEluYy4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1ESVNDT1ZFUlksCisgICAgTm9JbnRlcmZhY2VPYmplY3QKK10g
Y2FsbGJhY2sgaW50ZXJmYWNlIE5hdmlnYXRvck5ldHdvcmtTZXJ2aWNlU3VjY2Vzc0NhbGxiYWNr
IHsKKyAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIE5ldHdvcmtTZXJ2aWNlcyBzZXJ2aWNlcyk7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmV0d29y
a1NlcnZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmV0d29ya1Nl
cnZpY2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwYTNiODJiMWRiMjYwYTU5ZDg5YTI3NjMwMmY2OGNhMjI4
NDdiY2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVy
eS9OZXR3b3JrU2VydmljZS5jcHAKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMyBDYWJsZSBUZWxldmlzaW9uIExhYm9yYXRvcmllcywgSW5jLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5ldHdvcmtTZXJ2aWNlLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworTmV0d29ya1NlcnZpY2U6Ok5ldHdvcmtTZXJ2aWNlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsCisgICAgY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHR5cGUsCisgICAgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IFN0cmluZyYgY29uZmlnKQorICAgIDogbV9jb250ZXh0KGNvbnRleHQpCisgICAgLCBtX2lkKGlk
KQorICAgICwgbV9uYW1lKG5hbWUpCisgICAgLCBtX3R5cGUodHlwZSkKKyAgICAsIG1fdXJsKHVy
bCkKKyAgICAsIG1fY29uZmlnKGNvbmZpZykKKyAgICAsIG1fb25saW5lKGZhbHNlKQoreworfQor
CitOZXR3b3JrU2VydmljZTo6fk5ldHdvcmtTZXJ2aWNlKCkKK3sKK30KKworY29uc3QgQXRvbWlj
U3RyaW5nJiBOZXR3b3JrU2VydmljZTo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JOZXR3b3JrU2VydmljZTsKK30KKworU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogTmV0d29ya1NlcnZpY2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRleHQ7Cit9CisKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmV0
d29ya1NlcnZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5L05ldHdvcmtT
ZXJ2aWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJhYjhiMmZiMDM4NTJiM2IxMjM4MzhiMmRmOGEwNzEyMWQ0
M2YyMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5
L05ldHdvcmtTZXJ2aWNlLmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBDYWJsZSBUZWxldmlzaW9uIExhYm9yYXRvcmllcywgSW5jLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBOZXR3b3JrU2VydmljZV9oCisjZGVmaW5lIE5ldHdvcmtTZXJ2aWNlX2gKKyNpZiBFTkFCTEUo
RElTQ09WRVJZKQorCisjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgorI2luY2x1ZGUgIkV2ZW50
VGFyZ2V0LmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBOZXR3b3JrU2VydmljZSA6IHB1YmxpYyBSZWZDb3VudGVkPE5ldHdvcmtTZXJ2
aWNlPiwgcHVibGljIEV2ZW50VGFyZ2V0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxOZXR3b3JrU2VydmljZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
CisgICAgICAgIGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB0eXBlLAorICAgICAgICBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjb25m
aWcpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE5ldHdvcmtTZXJ2aWNlKGNv
bnRleHQsIGlkLCBuYW1lLCB0eXBlLCB1cmwsIGNvbmZpZykpOworICAgIH0KKyAgICB2aXJ0dWFs
IH5OZXR3b3JrU2VydmljZSgpOworCisgICAgU3RyaW5nIGlkKCkgY29uc3QgeyByZXR1cm4gbV9p
ZDsgfQorICAgIFN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisgICAgU3Ry
aW5nIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICBTdHJpbmcgdXJsKCkgY29u
c3QgeyByZXR1cm4gbV91cmw7IH0KKyAgICBTdHJpbmcgY29uZmlnKCkgY29uc3QgeyByZXR1cm4g
bV9jb25maWc7IH0KKyAgICBib29sIG9ubGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fb25saW5lOyB9
CisgICAgdm9pZCBzZXRPbmxpbmUoYm9vbCBvbmxpbmUpIHsgbV9vbmxpbmUgPSBvbmxpbmU7IH0K
KworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGlu
dGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdDsKKworICAgIHVzaW5nIFJlZkNvdW50ZWQ8
TmV0d29ya1NlcnZpY2U+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxOZXR3b3JrU2Vydmlj
ZT46OmRlcmVmOworCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzZXJ2aWNl
b25saW5lKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHNlcnZpY2VvZmZs
aW5lKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG5vdGlmeSk7CisKK3By
aXZhdGU6CisgICAgTmV0d29ya1NlcnZpY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0
IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgbmFtZSwKKyAgICAgICAgY29uc3QgU3RyaW5nJiB0
eXBlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjb25maWcpOworCisgICAgLy8g
RXZlbnRUYXJnZXQKKyAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7
IHJlZigpOyB9CisgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7
IGRlcmVmKCk7IH0KKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRh
KCkgT1ZFUlJJREUgeyByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOyB9CisgICAgdmlydHVhbCBF
dmVudFRhcmdldERhdGEmIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURFIHsgcmV0dXJu
IG1fZXZlbnRUYXJnZXREYXRhOyB9CisKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBtX2Nv
bnRleHQ7CisgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOworCisgICAgU3Ry
aW5nIG1faWQ7CisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBTdHJpbmcgbV90eXBlOworICAgIFN0
cmluZyBtX3VybDsKKyAgICBTdHJpbmcgbV9jb25maWc7CisgICAgYm9vbCBtX29ubGluZTsKK307
CisKK30KKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2Rpc2NvdmVyeS9OZXR3b3JrU2VydmljZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rp
c2NvdmVyeS9OZXR3b3JrU2VydmljZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWJmNTIwZGYyMTVkOGNkNDYx
YTk2YzBmMmE0MWRiNmJlZjQzMmY2YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZGlzY292ZXJ5L05ldHdvcmtTZXJ2aWNlLmlkbApAQCAtMCwwICsxLDQzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIENhYmxlIFRlbGV2aXNpb24gTGFib3JhdG9yaWVzLCBJ
bmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisg
KiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RElTQ09WRVJZLAorICAgIE5vSW50ZXJm
YWNlT2JqZWN0CitdIGludGVyZmFjZSBOZXR3b3JrU2VydmljZSB7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBpZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5h
bWU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgdXJsOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgY29uZmlnOworCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb25saW5lOworCisg
ICAgLy8gZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGVzCisgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25zZXJ2aWNlb25saW5lOworICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2Vydmlj
ZW9mZmxpbmU7CisKKyAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbm5vdGlmeTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Rpc2NvdmVyeS9OZXR3b3JrU2Vydmlj
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmV0d29ya1NlcnZpY2Vz
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iZmZlMjM3YjUyMjhlMzJjNGI4OWI1Njg5OWNiNWE3Mjk4ZWU2ZWYy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmV0
d29ya1NlcnZpY2VzLmNwcApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIENhYmxlIFRlbGV2aXNpb24gTGFib3JhdG9yaWVzLCBJbmMuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmV0d29ya1NlcnZpY2VzLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworTmV0d29ya1NlcnZpY2VzOjpOZXR3b3JrU2VydmljZXMoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1fY29udGV4dChjb250ZXh0KQoreworfQorCitO
ZXR3b3JrU2VydmljZXM6On5OZXR3b3JrU2VydmljZXMoKQoreworfQorCitjb25zdCBBdG9taWNT
dHJpbmcmIE5ldHdvcmtTZXJ2aWNlczo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JOZXR3b3JrU2VydmljZXM7Cit9CisKK1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIE5ldHdvcmtTZXJ2aWNlczo6c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29udGV4dDsKK30KKworTmV0d29ya1NlcnZpY2Uq
IE5ldHdvcmtTZXJ2aWNlczo6aXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KQoreworICAgIGlmIChp
bmRleCA8IG1fc2VydmljZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
bV9zZXJ2aWNlc1tpbmRleF0uZ2V0KCk7Cit9CisKK05ldHdvcmtTZXJ2aWNlKiBOZXR3b3JrU2Vy
dmljZXM6OmdldFNlcnZpY2VCeUlkKFN0cmluZyBpZCkKK3sKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IG1fc2VydmljZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKG1fc2VydmljZXNb
aV0tPmlkKCkgPT0gaWQpCisgICAgICAgICAgICByZXR1cm4gbV9zZXJ2aWNlc1tpXS5nZXQoKTsK
KyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIGxvbmcgTmV0d29ya1NlcnZpY2Vz
OjpzZXJ2aWNlc0F2YWlsYWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlz
Y292ZXJ5L05ldHdvcmtTZXJ2aWNlcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3Zl
cnkvTmV0d29ya1NlcnZpY2VzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQwNjEwNjM0NzY1N2NjMThlM2Y4YzRl
YjdkMThhYjA5NDUxNDNjYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZGlzY292ZXJ5L05ldHdvcmtTZXJ2aWNlcy5oCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQ2FibGUgVGVsZXZpc2lvbiBMYWJvcmF0b3JpZXMsIEluYy4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgTmV0d29ya1NlcnZpY2VzX2gKKyNkZWZpbmUgTmV0d29ya1NlcnZpY2Vz
X2gKKyNpZiBFTkFCTEUoRElTQ09WRVJZKQorCisjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgor
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiTmV0d29ya1NlcnZpY2UuaCIKKyNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBOZXR3b3JrU2VydmljZXMgOiBwdWJsaWMgUmVmQ291bnRl
ZDxOZXR3b3JrU2VydmljZT4sIHB1YmxpYyBFdmVudFRhcmdldCB7CitwdWJsaWM6CisgICAgdmly
dHVhbCB+TmV0d29ya1NlcnZpY2VzKCk7CisKKyAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCgpIGNv
bnN0IHsgcmV0dXJuIG1fc2VydmljZXMuc2l6ZSgpOyB9CisgICAgTmV0d29ya1NlcnZpY2UqIGl0
ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgTmV0d29ya1NlcnZpY2UqIGdldFNlcnZpY2VC
eUlkKFN0cmluZyBpZCk7CisKKyAgICB1bnNpZ25lZCBsb25nIHNlcnZpY2VzQXZhaWxhYmxlKCkg
Y29uc3Q7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7CisKKyAgICB1c2luZyBSZWZD
b3VudGVkPE5ldHdvcmtTZXJ2aWNlPjo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TmV0d29y
a1NlcnZpY2U+OjpkZXJlZjsKKworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
c2VydmljZWF2YWlsYWJsZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihz
ZXJ2aWNldW5hdmFpbGFibGUpOworCitwcml2YXRlOgorICAgIE5ldHdvcmtTZXJ2aWNlcyhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0Kik7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAgIHZpcnR1YWwg
dm9pZCByZWZFdmVudFRhcmdldCgpIE9WRVJSSURFIHsgcmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgZGVyZWZFdmVudFRhcmdldCgpIE9WRVJSSURFIHsgZGVyZWYoKTsgfQorICAgIHZpcnR1YWwg
RXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKSBPVkVSUklERSB7IHJldHVybiAmbV9l
dmVudFRhcmdldERhdGE7IH0KKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSYgZW5zdXJlRXZl
bnRUYXJnZXREYXRhKCkgT1ZFUlJJREUgeyByZXR1cm4gbV9ldmVudFRhcmdldERhdGE7IH0KKwor
ICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fY29udGV4dDsKKyAgICBFdmVudFRhcmdldERh
dGEgbV9ldmVudFRhcmdldERhdGE7CisKKyAgICBWZWN0b3I8UmVmUHRyPE5ldHdvcmtTZXJ2aWNl
PiA+IG1fc2VydmljZXM7Cit9OworCit9CisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9kaXNjb3ZlcnkvTmV0d29ya1NlcnZpY2VzLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5L05ldHdvcmtTZXJ2aWNlcy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzQ1ZjM1M2E1ZTNhMDg1MDk1YjdmODMxYWQ2ZTc4YmU3NWQxNWZmNwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZGlzY292ZXJ5L05ldHdvcmtTZXJ2aWNlcy5p
ZGwKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBDYWJsZSBUZWxl
dmlzaW9uIExhYm9yYXRvcmllcywgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPURJ
U0NPVkVSWSwKKyAgICBFdmVudFRhcmdldCwKKyAgICBOb0ludGVyZmFjZU9iamVjdAorXSBpbnRl
cmZhY2UgTmV0d29ya1NlcnZpY2VzIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7CisgICAgZ2V0dGVyIE5ldHdvcmtTZXJ2aWNlICh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKKyAgICBOZXR3b3JrU2VydmljZSBnZXRTZXJ2aWNlQnlJZChET01TdHJpbmcgaWQpOwor
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2VydmljZXNBdmFpbGFibGU7
CisKKyAgICAvLyBldmVudCBoYW5kbGVyIGF0dHJpYnV0ZXMKKyAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbnNlcnZpY2VhdmFpbGFibGU7CisgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIg
b25zZXJ2aWNldW5hdmFpbGFibGU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTYxMDM5ZWViNThmYjg1
OWMzZmQwNTU0ZWE5ZGQ3NWQxMTIzYTFkMy4uMDAyOTk0Y2UwMjNlNTJiMzAwOThmYjM4NGE0OWZm
NTE1NGU4YzEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zMTM0LDYgKzMxMzQsMjEgQEAgZW5hYmxlPyhE
QVRBX1RSQU5TRkVSX0lURU1TKSB7CiAgICAgICAgIHBsYXRmb3JtL3F0L0RhdGFUcmFuc2Zlckl0
ZW1MaXN0UXQuY3BwCiB9CiAKK2VuYWJsZT8oRElTQ09WRVJZKSB7CisgICAgSEVBREVSUyArPSBc
CisgICAgICAgIE1vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdvcmtTZXJ2aWNlLmggXAor
ICAgICAgICBNb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9yLmgg
XAorICAgICAgICBNb2R1bGVzL2Rpc2NvdmVyeS9OYXZpZ2F0b3JOZXR3b3JrU2VydmljZUVycm9y
Q2FsbGJhY2suaCBcCisgICAgICAgIE1vZHVsZXMvZGlzY292ZXJ5L05hdmlnYXRvck5ldHdvcmtT
ZXJ2aWNlU3VjY2Vzc0NhbGxiYWNrLmggXAorICAgICAgICBNb2R1bGVzL2Rpc2NvdmVyeS9OZXR3
b3JrU2VydmljZS5oIFwKKyAgICAgICAgTW9kdWxlcy9kaXNjb3ZlcnkvTmV0d29ya1NlcnZpY2Vz
LmgKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgTW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdhdG9y
TmV0d29ya1NlcnZpY2UuY3BwIFwKKyAgICAgICAgTW9kdWxlcy9kaXNjb3ZlcnkvTmF2aWdhdG9y
TmV0d29ya1NlcnZpY2VFcnJvci5jcHAgXAorICAgICAgICBNb2R1bGVzL2Rpc2NvdmVyeS9OZXR3
b3JrU2VydmljZS5jcHAgXAorICAgICAgICBNb2R1bGVzL2Rpc2NvdmVyeS9OZXR3b3JrU2Vydmlj
ZXMuY3BwCit9CisKIGVuYWJsZT8oRklMRV9TWVNURU0pIHsKICAgICBIRUFERVJTICs9IFwKICAg
ICAgICAgTW9kdWxlcy9maWxlc3lzdGVtL0FzeW5jRmlsZVdyaXRlci5oIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkK
aW5kZXggMmIyMGQ0OTlkNjg1YzgyNmVhOWJiZTYwMmIwY2VhMzgyNmEzN2Q4Ni4uZjY4YmU5NjE4
Y2YzZGJkYzBkYjk3NDg2N2EyZWM2NGJhOTViYWI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTEzLDYg
KzEzLDcgQEAgV0VCQ09SRV9HRU5FUkFURURfU09VUkNFU19ESVIgPSAkJHtST09UX0JVSUxEX0RJ
Un0vU291cmNlL1dlYkNvcmUvJCR7R0VORVJBVEVEX1MKIAogSU5DTFVERVBBVEggKz0gXAogICAg
ICQkU09VUkNFX0RJUiBcCisgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvZGlzY292ZXJ5IFwKICAg
ICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9maWxlc3lzdGVtIFwKICAgICAkJFNPVVJDRV9ESVIvTW9k
dWxlcy9nZW9sb2NhdGlvbiBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvaW5kZXhlZGRiIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDMxZDc0ZjRiMmY0ZDg1MWJmMjgwNjNmNDUxZTlj
ZWE2OGJiMjkzOWYuLmNmMjJjZTc0Zjc0ZGZlMDg2ZjU5Y2MwMjY1MDgwYTdkZWNmNWFhZDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMjU3LDYgKzI1NywxMiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgXAogICAgIG1hY3JvKHNlY3VyaXR5cG9saWN5dmlvbGF0aW9uKSBcCiAgICAg
XAorICAgIG1hY3JvKG5vdGlmeSkgXAorICAgIG1hY3JvKHNlcnZpY2VhdmFpbGFibGUpIFwKKyAg
ICBtYWNybyhzZXJ2aWNlb2ZmbGluZSkgXAorICAgIG1hY3JvKHNlcnZpY2VvbmxpbmUpIFwKKyAg
ICBtYWNybyhzZXJ2aWNldW5hdmFpbGFibGUpIFwKKyAgICBcCiAKIC8vIGVuZCBvZiBET01fRVZF
TlRfTkFNRVNfRk9SX0VBQ0gKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCA1MzI2Nzgx
Mjc2NGYzM2I5YjJjM2NjYjY1ZWVkNjhmZDhkMzA0ZDRjLi42MmUxODFmZWE2NTNmNzhlZDIwMTY1
MjA4OTJiMTViZDRlZmExNGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtNjAsNiAr
NjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTWVkaWFTb3VyY2U7CiAgICAg
Y2xhc3MgTWVkaWFTdHJlYW07CiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CisgICAgY2xhc3MgTmV0
d29ya1NlcnZpY2U7CisgICAgY2xhc3MgTmV0d29ya1NlcnZpY2VzOwogICAgIGNsYXNzIE5vZGU7
CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOwogICAgIGNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IGFlZWE5NmE2Y2My
YTYwMjk4ODk2MjFhY2VjY2Y4ZTRmYjdjNzAxNTEuLjhmZjI4MGY2MTdhYjNlOThkZDg5Y2VjMjUw
NGExYzcxOTQ0ZGU5NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5p
bgpAQCAtMjMsNiArMjMsOCBAQCBNZWRpYVN0cmVhbSBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0K
IE1lZGlhU3RyZWFtVHJhY2sgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZXNzYWdlUG9ydAog
TmV0d29ya0luZm9Db25uZWN0aW9uIGNvbmRpdGlvbmFsPU5FVFdPUktfSU5GTworTmV0d29ya1Nl
cnZpY2UgY29uZGl0aW9uYWw9RElTQ09WRVJZCitOZXR3b3JrU2VydmljZXMgY29uZGl0aW9uYWw9
RElTQ09WRVJZCiBOb2RlCiBOb3RpZmljYXRpb24gY29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xM
RUdBQ1lfTk9USUZJQ0FUSU9OUwogUGVyZm9ybWFuY2UgY29uZGl0aW9uYWw9V0VCX1RJTUlORwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCBmYjE3NTg0ODc3MTVlY2I4NTlkZjlmNjFiYTU2ZWIzMTgwOTU1
NzBlLi40OTFmMTQ5NjRmMTFjOTIwOGNjNzIxNGI2NWU2NjI0NGZlMjU1MjliIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNzEsNiArNzEsNyBAQCBFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OX2lwaG9u
ZW9zID0gRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTjsKIEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T05faXBob25lc2ltdWxhdG9yID0gJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OX2lwaG9uZW9z
KTsKIEVOQUJMRV9ESUFMT0dfRUxFTUVOVCA9IDsKIEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEID0g
OworRU5BQkxFX0RJU0NPVkVSWSA9IEVOQUJMRV9ESVNDT1ZFUlk7CiBFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IgPSBFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1I7CiBFTkFCTEVf
RFJBR0dBQkxFX1JFR0lPTiA9IDsKIEVOQUJMRV9FTkNSWVBURURfTUVESUEgPSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfJChQTEFURk9STV9OQU1FKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDU2MTM4ZWQ3
YWVjZGNkOGU4YTVhNmQ0NGFmZDMwMTMwZjMyYzMwNmIuLjM1ZDk3YmUyYTIzNTdiYWUyZTA1OGNj
NzgxMGM4NGFjYWY4MmY5ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC03MSw2ICs3MSw3IEBAIEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT05faXBob25lb3MgPSBFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OOwog
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTl9pcGhvbmVzaW11bGF0b3IgPSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT05faXBob25lb3MpOwogRU5BQkxFX0RJQUxPR19FTEVNRU5UID0gOwogRU5B
QkxFX0RJUkVDVE9SWV9VUExPQUQgPSA7CitFTkFCTEVfRElTQ09WRVJZID0gRU5BQkxFX0RJU0NP
VkVSWTsKIEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUiA9IEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUjsKIEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OID0gOwogRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSA9ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV8kKFBMQVRGT1JNX05BTUUpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNCBiL1Nv
dXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNAppbmRleCBmMGFiNGM3N2UxNTJl
N2Y5Yjg5YTFjZmY1YzAyZjkzNmZkMmY0NWZhLi43ZjVkN2ZjNmMxMmFlYWZmOThkZTkyMzljMDcy
NTE1YWNiMzY5YTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVh
dHVyZXMubTQKKysrIGIvU291cmNlL2F1dG90b29scy9TZXR1cFdlYktpdEZlYXR1cmVzLm00CkBA
IC0xNyw2ICsxNywxMiBAQCBlbHNlCiAgICAgQ09ORklHVVJBQkxFX0ZFQVRVUkVfREVGSU5FUz0i
JENPTkZJR1VSQUJMRV9GRUFUVVJFX0RFRklORVMgRU5BQkxFX1NQRUxMQ0hFQ0s9MCIKIGZpCiAK
K2lmIHRlc3QgIiRlbmFibGVfZGlzY292ZXJ5IiA9ICJ5ZXMiOyB0aGVuCisgICAgQ09ORklHVVJB
QkxFX0ZFQVRVUkVfREVGSU5FUz0iJENPTkZJR1VSQUJMRV9GRUFUVVJFX0RFRklORVMgRU5BQkxF
X0RJU0NPVkVSWT0xIgorZWxzZQorICAgIENPTkZJR1VSQUJMRV9GRUFUVVJFX0RFRklORVM9IiRD
T05GSUdVUkFCTEVfRkVBVFVSRV9ERUZJTkVTIEVOQUJMRV9ESVNDT1ZFUlk9MCIKK2ZpCisKIGlm
IHRlc3QgIiRlbmFibGVfZ2FtZXBhZCIgPSAieWVzIjsgdGhlbgogICAgIENPTkZJR1VSQUJMRV9G
RUFUVVJFX0RFRklORVM9IiRDT05GSUdVUkFCTEVfRkVBVFVSRV9ERUZJTkVTIEVOQUJMRV9HQU1F
UEFEPTEiCiBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggMTk0NWIyNDQwZmQ4
MDVjOTdiODE0ZjQ2ZTI2NmM1MzdkZTZhMDZmNi4uNzM4ZTU4OTI4YTRkNTkyMDU1N2Y0MTVhZTU4
MmM3YmYxYmI0YWUxMCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtNDcsNiArNDcs
NyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04gIlRvZ2dsZSBEZXZpY2VPcmllbnRhdGlvbiBzdXBw
b3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RJQUxPR19FTEVNRU5U
ICJUb2dnbGUgRGlhbG9nIEVsZW1lbnQgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEICJUb2dnbGUgRGlyZWN0b3J5IHVwbG9hZCBz
dXBwb3J0IiBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RJU0NPVkVSWSAi
VG9nZ2xlIE5ldHdvcmsgU2VydmljZSBEaXNjb3Zlcnkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUiAiVG9nZ2xlIERP
TTQgRXZlbnRzIGNvbnN0cnVjdG9ycyIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgIlRvZ2dsZSBkb3dubG9hZCBhdHRyaWJ1dGUgc3VwcG9y
dCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EUkFHX1NVUFBPUlQgIlRv
Z2dsZSBEcmFnIFN1cHBvcnQiIE9GRikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZpZy5o
LmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggZDVmMmI1MjNiYTk4ZWYy
ZWM2ODExZDVhYTBlNDZmZmExNTY1NTdhMS4uODZhOTY2ZjZmYmI4NWRhMjYwN2M1ODcxNjljZTIx
ODY3Y2E2MjMwMiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIv
U291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTM2LDYgKzM2LDcgQEAKICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04KICNjbWFrZWRlZmluZTAxIEVOQUJMRV9ESUFMT0dfRUxFTUVOVAorI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX0RJU0NPVkVSWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRF
CiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRFJBR19TVVBQT1JUCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMWU3ODFmOWVlYTg4NWNiOWIyMzMwOTQz
N2I2ZDU0ZmNmMzFkOGVjNi4uYWRmYjBjNjJjNDdiM2UxZDQxMzE2MDM4NmRjZDg3YWE2MDc3OGU0
NCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDEzLTA4LTI5ICBCcmVuZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJz
LmNvbT4KKworICAgICAgICBEaXNjb3ZlcnkgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5w
bToKKyAgICAgICAgKiBxbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaToKKwogMjAx
My0wOC0yOSAgQWxiZXJ0byBHYXJjaWEgIDxiZXJ0b0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIFVwZGF0ZSBhcHQgZGVwZW5kZW5jeSBsaXN0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVh
dHVyZUxpc3QucG0KaW5kZXggZWEyYmFmOThjN2YyYTVhNGU1ODAwZGE3Y2MzNGEzNTg2ZTM2ZDA4
ZS4uYTNlMThmN2ZlYzg0ZjZiZWNmMTM5NTYyOGVmN2I0NTc5OGFmYzFmMCAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNzUsNiArNzUsNyBAQCBteSAoCiAgICAg
JGRldmljZU9yaWVudGF0aW9uU3VwcG9ydCwKICAgICAkZGlhbG9nRWxlbWVudFN1cHBvcnQsCiAg
ICAgJGRpcmVjdG9yeVVwbG9hZFN1cHBvcnQsCisgICAgJGRpc2NvdmVyeVN1cHBvcnQsCiAgICAg
JGRvbTRFdmVudHNDb25zdHJ1Y3RvciwKICAgICAkZG93bmxvYWRBdHRyaWJ1dGVTdXBwb3J0LAog
ICAgICRmaWxlU3lzdGVtU3VwcG9ydCwKQEAgLTI1NCw2ICsyNTUsOSBAQCBteSBAZmVhdHVyZXMg
PSAoCiAgICAgeyBvcHRpb24gPT4gImRpcmVjdG9yeS11cGxvYWQiLCBkZXNjID0+ICJUb2dnbGUg
RGlyZWN0b3J5IFVwbG9hZCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0RJUkVD
VE9SWV9VUExPQUQiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkZGlyZWN0b3J5VXBsb2FkU3Vw
cG9ydCB9LAogCisgICAgeyBvcHRpb24gPT4gImRpc2NvdmVyeSIsIGRlc2MgPT4gIlRvZ2dsZSBO
ZXR3b3JrIFNlcnZpY2UgRGlzY292ZXJ5IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfRElTQ09WRVJZIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGRpc2NvdmVyeVN1cHBvcnQg
fSwKKwogICAgIHsgb3B0aW9uID0+ICJkb200LWV2ZW50cy1jb25zdHJ1Y3RvciIsIGRlc2MgPT4g
IkV4cG9zZSBET000IEV2ZW50cyBjb25zdHJ1Y3RvcnMiLAogICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IiLCBkZWZhdWx0ID0+IChpc0FwcGxlV2ViS2l0KCkg
fHwgaXNHdGsoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRkb200RXZlbnRzQ29uc3RydWN0b3Ig
fSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5w
cmkgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQppbmRleCA0OTky
ZThkYWRkNTkzY2MyMTRmYWMzZWQ5NjI4NDYzMmZlZTIwMGYwLi44ZDU0Yjg3N2Q0NmY1ZTliNmYx
ZjFjMTQzNzQzNDI3YWIyNjRhNDU3IDEwMDY0NAotLS0gYS9Ub29scy9xbWFrZS9ta3NwZWNzL2Zl
YXR1cmVzL2ZlYXR1cmVzLnByaQorKysgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2Zl
YXR1cmVzLnByaQpAQCAtNDYsNiArNDYsNyBAQCBGRUFUVVJFX0RFRkFVTFRTID0gXAogICAgIEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQ9MSBcCiAgICAgRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTj0w
IFwKICAgICBFTkFCTEVfRElSRUNUT1JZX1VQTE9BRD0wIFwKKyAgICBFTkFCTEVfRElTQ09WRVJZ
PTAgXAogICAgIEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEU9MCBcCiAgICAgRU5BQkxFX0ZBU1Rf
TU9CSUxFX1NDUk9MTElORz0xIFwKICAgICBFTkFCTEVfRklMRV9TWVNURU09MCBcCmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggN2Y1NDRiYWY0NjNmNTJkZmMxZmMzNjAz
MmY4MWQyOWJjMDViMjI2YS4uMWViZDFjZDExNDYxZmM2NjBlNDUyMmM1YTRiOWE1YTZhZGY3MzVl
NCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDEzLTA4LTI5ICBCcmVuZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAg
ICAgICBEaXNjb3ZlcnkgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDExNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNDoKKyAg
ICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisgICAgICAgICogU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTMtMDgtMjggIEd1c3Rhdm8gTm9yb25oYSBT
aWx2YSAgPGduc0Bnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUS10gRW5hYmxlIG1haW50YWluZXIg
bW9kZSBjb25maWd1cmUgc3dpdGNoCg==
</data>
<flag name="review"
          id="232129"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>