<?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>125937</bug_id>
          
          <creation_ts>2013-12-18 11:57:15 -0800</creation_ts>
          <short_desc>Make WKObjectRegistry objects be per page</short_desc>
          <delta_ts>2013-12-18 12:17:40 -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>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>commit-queue</cc>
    
    <cc>mkwst</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>961042</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-18 11:57:15 -0800</bug_when>
    <thetext>Make WKObjectRegistry objects be per page</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961044</commentid>
    <comment_count>1</comment_count>
      <attachid>219556</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-18 12:01:43 -0800</bug_when>
    <thetext>Created attachment 219556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961049</commentid>
    <comment_count>2</comment_count>
      <attachid>219556</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-12-18 12:08:14 -0800</bug_when>
    <thetext>Comment on attachment 219556
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=219556&amp;action=review

&gt; Source/WebKit2/Shared/API/Cocoa/RemoteObjectRegistry.h:44
&gt; +    explicit RemoteObjectRegistry(WKRemoteObjectRegistry *, IPC::MessageSender&amp;);

This doesn&apos;t need to be explicit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961053</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-18 12:17:40 -0800</bug_when>
    <thetext>Committed r160787: &lt;http://trac.webkit.org/changeset/160787&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219556</attachid>
            <date>2013-12-18 12:01:43 -0800</date>
            <delta_ts>2013-12-18 12:08:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125937-20131218120144.patch</filename>
            <type>text/plain</type>
            <size>36643</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDFhZGFjMmJmZTY0ZGNh
NjEzYTlkNzZhNGNlNzU0YjA4MmE0YjhlMS4uMWZkYjkyMGJmMDU2NzdiOTg1MDBiODYwYzQxZGMw
ZmYwOWNmMWUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDEzLTEyLTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgTWFrZSBXS09iamVj
dFJlZ2lzdHJ5IG9iamVjdHMgYmUgcGVyIHBhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTkzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBXS09iamVjdFJlZ2lzdHJ5IGZyb20gV0tDb25u
ZWN0aW9uLiBBbHNvLCBhZGQgYSBDKysgb2JqZWN0IHRoYXQgaXMgaW4gY2hhcmdlIAorICAgICAg
ICBvZiBhY3R1YWxseSBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuCisKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvUmVtb3Rl
T2JqZWN0UmVnaXN0cnkuaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL0FQSS9Db2NvYS9SZW1v
dGVPYmplY3RSZWdpc3RyeS5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogU2hhcmVkL0FQ
SS9Db2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjpSZW1vdGVPYmplY3RSZWdpc3RyeSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5Ojp+UmVtb3RlT2JqZWN0UmVnaXN0cnkpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6c2VuZEludm9jYXRpb24pOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6aW52b2tlTWV0aG9kKToKKyAgICAg
ICAgKiBTaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW06CisgICAgICAg
ICgtW1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgX2luaXRXaXRoTWVzc2FnZVNlbmRlcjpJUEM6Ol0p
OgorICAgICAgICAoLVtXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5IF9pbnZhbGlkYXRlXSk6CisgICAg
ICAgICgtW1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgX3NlbmRJbnZvY2F0aW9uOmludGVyZmFjZTpd
KToKKyAgICAgICAgKC1bV0tSZW1vdGVPYmplY3RSZWdpc3RyeSBXZWJLaXQ6Ol0pOgorICAgICAg
ICAoLVtXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5IF9pbnZva2VNZXRob2Q6XSk6CisgICAgICAgICog
U2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5SW50ZXJuYWwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbToK
KyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIGRlYWxsb2NdKToKKyAgICAg
ICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIHJlbW90ZU9iamVjdFJlZ2lzdHJ5XSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXJQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlvbi5tbToKKyAgICAg
ICAgKGRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFj
L1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbToKKyAgICAgICAg
KC1bV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyIHJlbW90ZU9iamVj
dFJlZ2lzdHJ5XSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFj
L1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlclByaXZhdGUuaDoKKwor
MjAxMy0xMi0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAg
ICAgIEZpeCBEaWN0aW9uYXJ5IGVuY29kaW5nCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU5MzAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggYTY1YWQ3MTlmNDFhYmU0Y2RkZjhhYjU0OTA1MmM2MWFjNjZiNmFmYy4uNDBmNjFiMDgy
ZDU3NTU3ZWNhZGViYzFiMGVmZDYwYzdlYWViNTQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0zMCw5ICszMCwxMCBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL1BsdWdp
blByb2Nlc3MvbWFjIFwKICAgICAkKFdlYktpdDIpL1NoYXJlZC9QbHVnaW5zIFwKICAgICAkKFdl
YktpdDIpL1NoYXJlZCBcCi0gICAgJChXZWJLaXQyKS9TaGFyZWQvbWFjIFwKKyAgICAkKFdlYktp
dDIpL1NoYXJlZC9BUEkvQ29jb2EgXAogICAgICQoV2ViS2l0MikvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uIFwKICAgICAkKFdlYktpdDIpL1NoYXJlZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scyBcCisg
ICAgJChXZWJLaXQyKS9TaGFyZWQvbWFjIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvQXBw
bGljYXRpb25DYWNoZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL0Nvb2tpZXMgXAogICAg
ICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCIFwKQEAgLTg1LDYgKzg2
LDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgUGx1Z2luUHJvY2Vzc1Byb3h5IFwKICAg
ICBQbHVnaW5Qcm94eSBcCiAgICAgUmVtb3RlTGF5ZXJUcmVlSG9zdCBcCisgICAgUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkgXAogICAgIFNlY0l0ZW1TaGltIFwKICAgICBTZWNJdGVtU2hpbVByb3h5IFwK
ICAgICBTdG9yYWdlQXJlYU1hcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjI1OTQ1ODBhMDlh
MTIzOWZkNzJmMjY1MDc2ODQzNGU0N2U3N2EwMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaApAQCAtMCwwICsx
LDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSZW1vdGVPYmplY3RSZWdpc3RyeV9oCisjZGVm
aW5lIFJlbW90ZU9iamVjdFJlZ2lzdHJ5X2gKKworI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5o
IgorCitPQkpDX0NMQVNTIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnk7CisKK25hbWVzcGFjZSBJUEMg
eworY2xhc3MgTWVzc2FnZVNlbmRlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNz
IFVzZXJEYXRhOworCitjbGFzcyBSZW1vdGVPYmplY3RSZWdpc3RyeSBGSU5BTCA6IHB1YmxpYyBD
b3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworCitwdWJsaWM6CisgICAgZXhwbGljaXQgUmVtb3Rl
T2JqZWN0UmVnaXN0cnkoV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqLCBJUEM6Ok1lc3NhZ2VTZW5k
ZXImKTsKKyAgICB+UmVtb3RlT2JqZWN0UmVnaXN0cnkoKTsKKworICAgIHZvaWQgc2VuZEludm9j
YXRpb24oY29uc3QgVXNlckRhdGEmKTsKKworcHJpdmF0ZToKKyAgICAvLyBDb3JlSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKKyAgICAv
LyBNZXNzYWdlIGhhbmRsZXJzCisgICAgdm9pZCBpbnZva2VNZXRob2QoY29uc3QgVXNlckRhdGEm
KTsKKworICAgIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKm1fcmVtb3RlT2JqZWN0UmVnaXN0cnk7
CisgICAgSVBDOjpNZXNzYWdlU2VuZGVyJiBtX21lc3NhZ2VTZW5kZXI7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFJlbW90ZU9iamVjdFJlZ2lzdHJ5X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0
cnkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9i
amVjdFJlZ2lzdHJ5Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNTIwMjRmYWVhOTI2OGQ2MDFh
M2ViMWI3NzFmNTAwNjk1ZGI4NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1lc3NhZ2VzLmluCkBAIC0wLDAg
KzEsMjUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwK
KyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworbWVzc2Fn
ZXMgLT4gUmVtb3RlT2JqZWN0UmVnaXN0cnkgeworICAgIEludm9rZU1ldGhvZChXZWJLaXQ6OlVz
ZXJEYXRhIGludm9jYXRpb24pCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9Db2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNmRmNDVmNDYw
OWQ2Y2NlZjdmZGJhOWNlZjg2YzEwYjJkYjZkMTY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5tbQpAQCAtMCww
ICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJSZW1v
dGVPYmplY3RSZWdpc3RyeS5oIgorCisjaW1wb3J0ICJNZXNzYWdlU2VuZGVyLmgiCisjaW1wb3J0
ICJSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgiCisjaW1wb3J0ICJVc2VyRGF0YS5oIgor
I2ltcG9ydCAiV0tSZW1vdGVPYmplY3RSZWdpc3RyeUludGVybmFsLmgiCisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitSZW1vdGVPYmplY3RSZWdpc3RyeTo6UmVtb3RlT2JqZWN0UmVnaXN0cnkoV0tS
ZW1vdGVPYmplY3RSZWdpc3RyeSAqcmVtb3RlT2JqZWN0UmVnaXN0cnksIElQQzo6TWVzc2FnZVNl
bmRlciYgbWVzc2FnZVNlbmRlcikKKyAgICA6IG1fcmVtb3RlT2JqZWN0UmVnaXN0cnkocmVtb3Rl
T2JqZWN0UmVnaXN0cnkpCisgICAgLCBtX21lc3NhZ2VTZW5kZXIobWVzc2FnZVNlbmRlcikKK3sK
K30KKworUmVtb3RlT2JqZWN0UmVnaXN0cnk6On5SZW1vdGVPYmplY3RSZWdpc3RyeSgpCit7Cit9
CisKK3ZvaWQgUmVtb3RlT2JqZWN0UmVnaXN0cnk6OnNlbmRJbnZvY2F0aW9uKGNvbnN0IFVzZXJE
YXRhJiB1c2VyRGF0YSkKK3sKKyAgICBtX21lc3NhZ2VTZW5kZXIuc2VuZChNZXNzYWdlczo6UmVt
b3RlT2JqZWN0UmVnaXN0cnk6Okludm9rZU1ldGhvZCh1c2VyRGF0YSkpOworfQorCit2b2lkIFJl
bW90ZU9iamVjdFJlZ2lzdHJ5OjppbnZva2VNZXRob2QoY29uc3QgVXNlckRhdGEmIGludm9jYXRp
b24pCit7CisgICAgW21fcmVtb3RlT2JqZWN0UmVnaXN0cnkgX2ludm9rZU1ldGhvZDppbnZvY2F0
aW9uXTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0KaW5kZXgg
NDRhYjVmMGJiODc4NzllMmRjNTI0YjhiMWViMWY5YWJlYzU0ZTU5OS4uN2NiMDkxMThiN2I2YzQ3
MGJmOWMzNTIxYTRmNDg2ODk1NGIxMzBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbQpAQCAtMzEsNiAr
MzEsOCBAQAogI2ltcG9ydCAiQ29ubmVjdGlvbi5oIgogI2ltcG9ydCAiSW1tdXRhYmxlRGljdGlv
bmFyeS5oIgogI2ltcG9ydCAiTXV0YWJsZURpY3Rpb25hcnkuaCIKKyNpbXBvcnQgIlJlbW90ZU9i
amVjdFJlZ2lzdHJ5LmgiCisjaW1wb3J0ICJVc2VyRGF0YS5oIgogI2ltcG9ydCAiV0tDb25uZWN0
aW9uUmVmLmgiCiAjaW1wb3J0ICJXS1JlbW90ZU9iamVjdC5oIgogI2ltcG9ydCAiV0tSZW1vdGVP
YmplY3RDb2Rlci5oIgpAQCAtMzgsOCArNDAsNiBAQAogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0
LmgiCiAjaW1wb3J0ICJXZWJDb25uZWN0aW9uLmgiCiAKLWNvbnN0IGNoYXIqIGNvbnN0IG1lc3Nh
Z2VOYW1lID0gIldLUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlIjsKLQogY29uc3QgY2hhciog
Y29uc3QgZW5jb2RlZEludm9jYXRpb25LZXkgPSAiZW5jb2RlZEludm9jYXRpb24iOwogY29uc3Qg
Y2hhciogY29uc3QgaW50ZXJmYWNlSWRlbnRpZmllcktleSA9ICJpbnRlcmZhY2VJZGVudGlmaWVy
IjsKIApAQCAtNDgsNyArNDgsOCBAQCBOU1N0cmluZyAqIGNvbnN0IGludm9jYXRpb25LZXkgPSBA
Imludm9jYXRpb24iOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogQGltcGxlbWVudGF0aW9u
IFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkgewotICAgIFJlZlB0cjxXZWJDb25uZWN0aW9uPiBfY29u
bmVjdGlvbjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlT2JqZWN0UmVnaXN0cnk+IF9yZW1v
dGVPYmplY3RSZWdpc3RyeTsKKwogICAgIFJldGFpblB0cjxOU01hcFRhYmxlPiBfcmVtb3RlT2Jq
ZWN0UHJveGllczsKICAgICBIYXNoTWFwPFN0cmluZywgc3RkOjpwYWlyPFJldGFpblB0cjxpZD4s
IFJldGFpblB0cjxXS1JlbW90ZU9iamVjdEludGVyZmFjZT4+PiBfZXhwb3J0ZWRPYmplY3RzOwog
fQpAQCAtODIsNiArODMsMjEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICByZXR1cm4g
W3JlbW90ZU9iamVjdC5sZWFrUmVmKCkgYXV0b3JlbGVhc2VdOwogfQogCistIChpZClfaW5pdFdp
dGhNZXNzYWdlU2VuZGVyOihJUEM6Ok1lc3NhZ2VTZW5kZXImKW1lc3NhZ2VTZW5kZXIKK3sKKyAg
ICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAg
IF9yZW1vdGVPYmplY3RSZWdpc3RyeSA9IHN0ZDo6bWFrZV91bmlxdWU8UmVtb3RlT2JqZWN0UmVn
aXN0cnk+KHNlbGYsIG1lc3NhZ2VTZW5kZXIpOworCisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0g
KHZvaWQpX2ludmFsaWRhdGUKK3sKKyAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBudWxscHRy
OworfQorCiAtICh2b2lkKV9zZW5kSW52b2NhdGlvbjooTlNJbnZvY2F0aW9uICopaW52b2NhdGlv
biBpbnRlcmZhY2U6KFdLUmVtb3RlT2JqZWN0SW50ZXJmYWNlICopaW50ZXJmYWNlCiB7CiAgICAg
UmV0YWluUHRyPFdLUmVtb3RlT2JqZWN0RW5jb2Rlcj4gZW5jb2RlciA9IGFkb3B0TlMoW1tXS1Jl
bW90ZU9iamVjdEVuY29kZXIgYWxsb2NdIGluaXRdKTsKQEAgLTkxLDQ3ICsxMDcsMzQgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICBib2R5LT5zZXQoaW50ZXJmYWNlSWRlbnRpZmllcktl
eSwgQVBJOjpTdHJpbmc6OmNyZWF0ZShpbnRlcmZhY2UuaWRlbnRpZmllcikpOwogICAgIGJvZHkt
PnNldChlbmNvZGVkSW52b2NhdGlvbktleSwgW2VuY29kZXIgcm9vdE9iamVjdERpY3Rpb25hcnld
KTsKIAotICAgIFtzZWxmIF9zZW5kTWVzc2FnZVdpdGhCb2R5OmJvZHkucmVsZWFzZSgpXTsKLX0K
KyAgICBpZiAoIV9yZW1vdGVPYmplY3RSZWdpc3RyeSkKKyAgICAgICAgcmV0dXJuOwogCi0tICh2
b2lkKV9zZW5kTWVzc2FnZVdpdGhCb2R5OihQYXNzUmVmUHRyPEltbXV0YWJsZURpY3Rpb25hcnk+
KWJvZHkKLXsKLSAgICBfY29ubmVjdGlvbi0+cG9zdE1lc3NhZ2UobWVzc2FnZU5hbWUsIGJvZHku
Z2V0KCkpOworICAgIF9yZW1vdGVPYmplY3RSZWdpc3RyeS0+c2VuZEludm9jYXRpb24oVXNlckRh
dGEoYm9keS5nZXQoKSkpOwogfQogCi1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBXS1JlbW90ZU9i
amVjdFJlZ2lzdHJ5IChXS1ByaXZhdGUpCi0KLS0gKGlkKV9pbml0V2l0aENvbm5lY3Rpb25SZWY6
KFdLQ29ubmVjdGlvblJlZiljb25uZWN0aW9uUmVmCistIChXZWJLaXQ6OlJlbW90ZU9iamVjdFJl
Z2lzdHJ5JilyZW1vdGVPYmplY3RSZWdpc3RyeQogewotICAgIGlmICghKHNlbGYgPSBbc3VwZXIg
aW5pdF0pKQotICAgICAgICByZXR1cm4gbmlsOwotCi0gICAgX2Nvbm5lY3Rpb24gPSB0b0ltcGwo
Y29ubmVjdGlvblJlZik7Ci0KLSAgICByZXR1cm4gc2VsZjsKKyAgICByZXR1cm4gKl9yZW1vdGVP
YmplY3RSZWdpc3RyeTsKIH0KIAotLSAoQk9PTClfaGFuZGxlTWVzc2FnZVdpdGhOYW1lOihXS1N0
cmluZ1JlZiluYW1lIGJvZHk6KFdLVHlwZVJlZilib2R5CistIChCT09MKV9pbnZva2VNZXRob2Q6
KGNvbnN0IFVzZXJEYXRhJilpbnZvY2F0aW9uCiB7Ci0gICAgaWYgKHRvSW1wbChuYW1lKS0+c3Ry
aW5nKCkgIT0gbWVzc2FnZU5hbWUpCisgICAgaWYgKCFpbnZvY2F0aW9uLm9iamVjdCgpIHx8IGlu
dm9jYXRpb24ub2JqZWN0KCktPnR5cGUoKSAhPSBBUEk6Ok9iamVjdDo6VHlwZTo6RGljdGlvbmFy
eSkKICAgICAgICAgcmV0dXJuIE5POworICAgIAorICAgIGNvbnN0IEltbXV0YWJsZURpY3Rpb25h
cnkmIGRpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxjb25zdCBJbW11dGFibGVEaWN0aW9uYXJ5Jj4o
Kmludm9jYXRpb24ub2JqZWN0KCkpOwogCi0gICAgaWYgKCF0b0ltcGwoYm9keSkgfHwgdG9JbXBs
KGJvZHkpLT50eXBlKCkgIT0gQVBJOjpPYmplY3Q6OlR5cGU6OkRpY3Rpb25hcnkpCi0gICAgICAg
IHJldHVybiBOTzsKLQotICAgIGNvbnN0IEltbXV0YWJsZURpY3Rpb25hcnkqIGRpY3Rpb25hcnkg
PSB0b0ltcGwoc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihib2R5KSk7Ci0KLSAgICBBUEk6
OlN0cmluZyogaW50ZXJmYWNlSWRlbnRpZmllciA9IGRpY3Rpb25hcnktPmdldDxBUEk6OlN0cmlu
Zz4oaW50ZXJmYWNlSWRlbnRpZmllcktleSk7CisgICAgQVBJOjpTdHJpbmcqIGludGVyZmFjZUlk
ZW50aWZpZXIgPSBkaWN0aW9uYXJ5LmdldDxBUEk6OlN0cmluZz4oaW50ZXJmYWNlSWRlbnRpZmll
cktleSk7CiAgICAgaWYgKCFpbnRlcmZhY2VJZGVudGlmaWVyKQogICAgICAgICByZXR1cm4gTk87
CiAKLSAgICBjb25zdCBJbW11dGFibGVEaWN0aW9uYXJ5KiBlbmNvZGVkSW52b2NhdGlvbiA9IGRp
Y3Rpb25hcnktPmdldDxJbW11dGFibGVEaWN0aW9uYXJ5PihlbmNvZGVkSW52b2NhdGlvbktleSk7
CisgICAgY29uc3QgSW1tdXRhYmxlRGljdGlvbmFyeSogZW5jb2RlZEludm9jYXRpb24gPSBkaWN0
aW9uYXJ5LmdldDxJbW11dGFibGVEaWN0aW9uYXJ5PihlbmNvZGVkSW52b2NhdGlvbktleSk7CiAg
ICAgaWYgKCFlbmNvZGVkSW52b2NhdGlvbktleSkKICAgICAgICAgcmV0dXJuIE5POwogCiAgICAg
W3NlbGYgX2ludm9rZU1lc3NhZ2VXaXRoSW50ZXJmYWNlSWRlbnRpZmllcjppbnRlcmZhY2VJZGVu
dGlmaWVyLT5zdHJpbmcoKSBlbmNvZGVkSW52b2NhdGlvbjplbmNvZGVkSW52b2NhdGlvbl07CisK
ICAgICByZXR1cm4gWUVTOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnlJbnRlcm5hbC5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5SW50ZXJuYWwuaAppbmRl
eCAzMjcwNjJmMGQwY2MxYjRmMTdjYmM1MGJlNjNlNDI0NDhhNGZjYjM2Li5jYWQyZWYyODM2YjYw
YWEwODY2YWE5NjdiNDZkM2JmMmIwYjQ0Zjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnlJbnRlcm5hbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3RSZWdpc3RyeUludGVy
bmFsLmgKQEAgLTIzLDEzICsyMywyOCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLSNpbXBvcnQgIldLUmVtb3RlT2JqZWN0UmVnaXN0cnlQcml2YXRlLmgiCisj
aW1wb3J0ICJXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmgiCiAKICNpZiBXS19BUElfRU5BQkxFRAog
CituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIE1lc3NhZ2VTZW5kZXI7Cit9CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworY2xhc3MgUmVtb3RlT2JqZWN0UmVnaXN0cnk7CitjbGFzcyBVc2VyRGF0YTsKK30K
KwogQGludGVyZmFjZSBXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICgpCiAKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgV2ViS2l0OjpSZW1vdGVPYmplY3RSZWdpc3RyeSYgcmVtb3RlT2Jq
ZWN0UmVnaXN0cnk7CisKKy0gKGlkKV9pbml0V2l0aE1lc3NhZ2VTZW5kZXI6KElQQzo6TWVzc2Fn
ZVNlbmRlciYpbWVzc2FnZVNlbmRlcjsKKy0gKHZvaWQpX2ludmFsaWRhdGU7CisKIC0gKHZvaWQp
X3NlbmRJbnZvY2F0aW9uOihOU0ludm9jYXRpb24gKilpbnZvY2F0aW9uIGludGVyZmFjZTooV0tS
ZW1vdGVPYmplY3RJbnRlcmZhY2UgKilpbnRlcmZhY2U7CistIChCT09MKV9pbnZva2VNZXRob2Q6
KGNvbnN0IFdlYktpdDo6VXNlckRhdGEmKWludm9jYXRpb247CiAKIEBlbmQKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVj
dFJlZ2lzdHJ5UHJpdmF0ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNWNmYzg3
YThhZWMwZGQyN2U4OTBiYzFhZTE5Mjc4MGRlNzVlZTUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2Ev
V0tSZW1vdGVPYmplY3RSZWdpc3RyeVByaXZhdGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0IDxXZWJLaXQyL1dLRm91bmRhdGlvbi5oPgotCi0j
aWYgV0tfQVBJX0VOQUJMRUQKLQotI2ltcG9ydCA8V2ViS2l0Mi9XS0Jhc2UuaD4KLSNpbXBvcnQg
PFdlYktpdDIvV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5oPgotCi1AaW50ZXJmYWNlIFdLUmVtb3Rl
T2JqZWN0UmVnaXN0cnkgKFdLUHJpdmF0ZSkKLQotLSAoaWQpX2luaXRXaXRoQ29ubmVjdGlvblJl
ZjooV0tDb25uZWN0aW9uUmVmKWNvbm5lY3Rpb25SZWY7Ci0tIChCT09MKV9oYW5kbGVNZXNzYWdl
V2l0aE5hbWU6KFdLU3RyaW5nUmVmKW5hbWUgYm9keTooV0tUeXBlUmVmKWJvZHk7Ci0KLUBlbmQK
LQotI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVy
Lm1tCmluZGV4IGExMjA1ZmI5OTcwNTBlMmNlZTNkYWIzZGYyNWQwZjBlNWRkODNhNGEuLjVjMjRh
ZmYxMDY4MzZkNmJlNmM4ZTVlODhkYmYyODRiMWY1NDZjNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRl
eHRDb250cm9sbGVyLm1tCkBAIC0zMCw2ICszMCw4IEBACiAKICNpbXBvcnQgIkFQSURhdGEuaCIK
ICNpbXBvcnQgIk9iakNPYmplY3RHcmFwaC5oIgorI2ltcG9ydCAiUmVtb3RlT2JqZWN0UmVnaXN0
cnkuaCIKKyNpbXBvcnQgIlJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCIKICNpbXBvcnQg
IldLQmFja0ZvcndhcmRMaXN0SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLQmFja0ZvcndhcmRMaXN0
SXRlbUludGVybmFsLmgiCiAjaW1wb3J0ICJXS0Jyb3dzaW5nQ29udGV4dEdyb3VwSW50ZXJuYWwu
aCIKQEAgLTQ1LDYgKzQ3LDcgQEAKICNpbXBvcnQgIldLTlNVUkxFeHRyYXMuaCIKICNpbXBvcnQg
IldLTlNVUkxQcm90ZWN0aW9uU3BhY2UuaCIKICNpbXBvcnQgIldLUHJvY2Vzc0dyb3VwSW50ZXJu
YWwuaCIKKyNpbXBvcnQgIldLUmVtb3RlT2JqZWN0UmVnaXN0cnlJbnRlcm5hbC5oIgogI2ltcG9y
dCAiV0tSZXRhaW5QdHIuaCIKICNpbXBvcnQgIldLVVJMUmVxdWVzdE5TLmgiCiAjaW1wb3J0ICJX
S1VSTFJlc3BvbnNlTlMuaCIKQEAgLTEzOSw2ICsxNDIsOCBAQCBzdGF0aWMgTlNTdHJpbmcgKiBj
b25zdCBmcmFtZUVycm9yS2V5ID0gQCJXS0Jyb3dzaW5nQ29udGV4dEZyYW1lRXJyb3JLZXkiOwog
CiAgICAgV2Vha09iakNQdHI8aWQgPFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlPj4gX2xv
YWREZWxlZ2F0ZTsKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tCcm93c2luZ0NvbnRleHRQb2xpY3lE
ZWxlZ2F0ZT4+IF9wb2xpY3lEZWxlZ2F0ZTsKKyAgICAKKyAgICBSZXRhaW5QdHI8V0tSZW1vdGVP
YmplY3RSZWdpc3RyeT4gX3JlbW90ZU9iamVjdFJlZ2lzdHJ5OwogfQogCiAtICh2b2lkKWRlYWxs
b2MKQEAgLTE0Niw2ICsxNTEsOCBAQCBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBmcmFtZUVycm9y
S2V5ID0gQCJXS0Jyb3dzaW5nQ29udGV4dEZyYW1lRXJyb3JLZXkiOwogICAgIF9wYWdlLT5wYWdl
TG9hZFN0YXRlKCkucmVtb3ZlT2JzZXJ2ZXIoKl9wYWdlTG9hZFN0YXRlT2JzZXJ2ZXIpOwogICAg
IF9wYWdlLT5+V2ViUGFnZVByb3h5KCk7CiAKKyAgICBbX3JlbW90ZU9iamVjdFJlZ2lzdHJ5IF9p
bnZhbGlkYXRlXTsKKwogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIApAQCAtOTA0LDYgKzkxMSwx
NiBAQCBzdGF0aWMgdm9pZCBzZXRVcFBhZ2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyICpicm93c2luZ0NvbnRleHQsCiAgICAgcmV0dXJuIFtbW1dLQnJvd3NpbmdDb250
ZXh0SGFuZGxlIGFsbG9jXSBfaW5pdFdpdGhQYWdlSUQ6X3BhZ2UtPnBhZ2VJRCgpXSBhdXRvcmVs
ZWFzZV07CiB9CiAKKy0gKFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKilyZW1vdGVPYmplY3RSZWdp
c3RyeQoreworICAgIGlmICghX3JlbW90ZU9iamVjdFJlZ2lzdHJ5KSB7CisgICAgICAgIF9yZW1v
dGVPYmplY3RSZWdpc3RyeSA9IFtbV0tSZW1vdGVPYmplY3RSZWdpc3RyeSBhbGxvY10gX2luaXRX
aXRoTWVzc2FnZVNlbmRlcjoqX3BhZ2VdOworICAgICAgICBfcGFnZS0+cHJvY2VzcygpLmNvbnRl
eHQoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIF9wYWdlLT5wYWdlSUQoKSwgW19yZW1vdGVPYmplY3RSZWdp
c3RyeSByZW1vdGVPYmplY3RSZWdpc3RyeV0pOworICAgIH0KKworICAgIHJldHVybiBfcmVtb3Rl
T2JqZWN0UmVnaXN0cnkuZ2V0KCk7Cit9CisKIEBlbmQKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFC
TEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlclByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDE0
NTEyZTQ0YTM1ZTZjNGEyYjU4MGUyZjUyNzEwNjViMTY4NWIxMWQuLjA2NDdiZTc5ZTkzNjNiYzYz
YjFiNWUwOTlhYzY3NTY0YTMyNjlkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyUHJpdmF0ZS5oCkBAIC0zOCw2ICszOCw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRl
Z2VyLCBXS0Jyb3dzaW5nQ29udGV4dFBhZ2luYXRpb25Nb2RlKSB7CiB9OwogCiBAY2xhc3MgV0tC
cm93c2luZ0NvbnRleHRIYW5kbGU7CitAY2xhc3MgV0tSZW1vdGVPYmplY3RSZWdpc3RyeTsKIAog
QGludGVyZmFjZSBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKFByaXZhdGUpCiAKQEAgLTU5
LDYgKzYwLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFdLQnJvd3NpbmdDb250ZXh0
UGFnaW5hdGlvbk1vZGUpIHsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBXS0Jy
b3dzaW5nQ29udGV4dEhhbmRsZSAqaGFuZGxlOwogCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHkpIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKnJlbW90ZU9iamVjdFJlZ2lzdHJ5OwogQGVu
ZAogCiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlvbi5oCmluZGV4IDdjNzAxMmNlNzU5MTcwOWNmNzFm
ZDE4MDc3MzViZmQwZWIxZDgzMTUuLjZlOTgzZGEwOGQxODM4MTI1NTYwNWUxMTI5ZDE0MDUxOTQw
MGM5YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tD
b25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nv
bm5lY3Rpb24uaApAQCAtMzAsNyArMzAsNiBAQAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0
aW9uLmg+CiAKIEBjbGFzcyBXS0Nvbm5lY3Rpb247Ci1AY2xhc3MgV0tSZW1vdGVPYmplY3RSZWdp
c3RyeTsKIAogQHByb3RvY29sIFdLQ29ubmVjdGlvbkRlbGVnYXRlIDxOU09iamVjdD4KIApAQCAt
NDYsOCArNDUsNiBAQCBXS19BUElfQ0xBU1MKIAogQHByb3BlcnR5IChhc3NpZ24pIGlkIDxXS0Nv
bm5lY3Rpb25EZWxlZ2F0ZT4gZGVsZWdhdGU7CiAKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqcmVtb3RlT2JqZWN0UmVnaXN0cnk7Ci0KIEBl
bmQKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCmluZGV4IDZhZDBlNDg2NDBiOTcyN2I5
M2RkOWM3OGZjZjMxNWI2ODY4OTFlYmMuLmU1N2QyZTFlYWQ4NmI4ZTkxNTY3OWU5ZmIyMDRmMGM3
Mzc5ZTVlOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tDb25uZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tDb25uZWN0aW9uLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgV0tfQVBJX0VOQUJMRUQKIAog
I2ltcG9ydCAiT2JqQ09iamVjdEdyYXBoLmgiCi0jaW1wb3J0ICJXS1JlbW90ZU9iamVjdFJlZ2lz
dHJ5SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLUmV0YWluUHRyLmgiCiAjaW1wb3J0ICJXS1NoYXJl
ZEFQSUNhc3QuaCIKICNpbXBvcnQgIldLU3RyaW5nQ0YuaCIKQEAgLTQwLDcgKzM5LDYgQEAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIEBpbXBsZW1lbnRhdGlvbiBXS0Nvbm5lY3Rpb24gewot
ICAgIFJldGFpblB0cjxXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5PiBfcmVtb3RlT2JqZWN0UmVnaXN0
cnk7CiAgICAgV2Vha09iakNQdHI8aWQgPFdLQ29ubmVjdGlvbkRlbGVnYXRlPj4gX2RlbGVnYXRl
OwogfQogCkBAIC01NCwxMCArNTIsOCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owogc3RhdGlj
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoV0tDb25uZWN0aW9uUmVmLCBXS1N0cmluZ1JlZiBtZXNz
YWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQog
ewogICAgIFdLQ29ubmVjdGlvbiAqY29ubmVjdGlvbiA9IChXS0Nvbm5lY3Rpb24gKiljbGllbnRJ
bmZvOwotICAgIGlmIChbY29ubmVjdGlvbi0+X3JlbW90ZU9iamVjdFJlZ2lzdHJ5IF9oYW5kbGVN
ZXNzYWdlV2l0aE5hbWU6bWVzc2FnZU5hbWUgYm9keTptZXNzYWdlQm9keV0pCi0gICAgICAgIHJl
dHVybjsKLQogICAgIGF1dG8gZGVsZWdhdGUgPSBjb25uZWN0aW9uLT5fZGVsZWdhdGUuZ2V0KCk7
CisKICAgICBpZiAoW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoY29ubmVj
dGlvbjpkaWRSZWNlaXZlTWVzc2FnZVdpdGhOYW1lOmJvZHk6KV0pIHsKICAgICAgICAgUmV0YWlu
UHRyPENGU3RyaW5nUmVmPiBuc01lc3NhZ2VOYW1lID0gYWRvcHRDRihXS1N0cmluZ0NvcHlDRlN0
cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBtZXNzYWdlTmFtZSkpOwogICAgICAgICBSZXRhaW5Q
dHI8aWQ+IG5zTWVzc2FnZUJvZHkgPSAoKE9iakNPYmplY3RHcmFwaCopbWVzc2FnZUJvZHkpLT5y
b290T2JqZWN0KCk7CkBAIC0xMDcsMTQgKzEwMyw2IEBAIHN0YXRpYyB2b2lkIHNldFVwQ2xpZW50
KFdLQ29ubmVjdGlvbiAqd3JhcHBlciwgV2ViQ29ubmVjdGlvbiYgY29ubmVjdGlvbikKICAgICBz
ZWxmLl9jb25uZWN0aW9uLnBvc3RNZXNzYWdlKG1lc3NhZ2VOYW1lLCB3a01lc3NhZ2VCb2R5Lmdl
dCgpKTsKIH0KIAotLSAoV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqKXJlbW90ZU9iamVjdFJlZ2lz
dHJ5Ci17Ci0gICAgaWYgKCFfcmVtb3RlT2JqZWN0UmVnaXN0cnkpCi0gICAgICAgIF9yZW1vdGVP
YmplY3RSZWdpc3RyeSA9IGFkb3B0TlMoW1tXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5IGFsbG9jXSBf
aW5pdFdpdGhDb25uZWN0aW9uUmVmOnRvQVBJKCZzZWxmLl9jb25uZWN0aW9uKV0pOwotCi0gICAg
cmV0dXJuIF9yZW1vdGVPYmplY3RSZWdpc3RyeS5nZXQoKTsKLX0KLQogLSAoV2ViQ29ubmVjdGlv
biYpX2Nvbm5lY3Rpb24KIHsKICAgICByZXR1cm4gKnN0YXRpY19jYXN0PFdlYkNvbm5lY3Rpb24q
PihvYmplY3RfZ2V0SW5kZXhlZEl2YXJzKHNlbGYpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiNDk3YWVjNjMwZjIwYmE3ZTUz
N2ZhNzgxMDQyMTAyYTkzZGViMWQ3Li43NDcxYzA0MDgzNzgzNzU4MGUwOTI4YjZlYzA2NjI0ZTRm
OTM4NGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0xOTcsNyArMTk3LDYgQEAKIAkJMUE5RTMyOEExODIxNjM2OTAwRjVEMDRD
IC8qIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzI4ODE4MjE2MzY5MDBGNUQwNEMgLyogV0tSZW1vdGVP
YmplY3RSZWdpc3RyeS5tbSAqLzsgfTsKIAkJMUE5RTMyOEQxODIxNjVBOTAwRjVEMDRDIC8qIFdL
UmVtb3RlT2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTlFMzI4QjE4MjE2NUE5MDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RJ
bnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQTlFMzI4RTE4MjE2NUE5MDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RJbnRlcmZhY2Uu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzI4
QzE4MjE2NUE5MDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0gKi87IH07Ci0J
CTFBOUUzMjk3MTgyMTlCRUEwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5UHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5RTMy
OTYxODIxOUJFQTAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnlQcml2YXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE5RTMyOUEx
ODIyRTFDQzAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5RTMyOTgxODIyRTFDQzAwRjVEMDRDIC8qIFdL
UmVtb3RlT2JqZWN0Lm1tICovOyB9OwogCQkxQTlFMzI5QjE4MjJFMUNDMDBGNUQwNEMgLyogV0tS
ZW1vdGVPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBOUUzMjk5MTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdC5oICovOyB9Owog
CQkxQTlFMzI5RTE4MjJGRUREMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RDb2Rlci5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjlDMTgyMkZF
REQwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdENvZGVyLm1tICovOyB9OwpAQCAtMjcxLDYgKzI3
MCwxMCBAQAogCQkxQUMxMzM3MTE4NTY2QzdDMDBGM0VDMDUgLyogQVBJRnJhbWVIYW5kbGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDMTMzNkYx
ODU2NkM3QzAwRjNFQzA1IC8qIEFQSUZyYW1lSGFuZGxlLmNwcCAqLzsgfTsKIAkJMUFDMTMzNzIx
ODU2NkM3QzAwRjNFQzA1IC8qIEFQSUZyYW1lSGFuZGxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM3MDE4NTY2QzdDMDBGM0VDMDUgLyogQVBJ
RnJhbWVIYW5kbGUuaCAqLzsgfTsKIAkJMUFDMTMzNzQxODU3QzIxRTAwRjNFQzA1IC8qIEFQSUdl
b21ldHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBQzEzMzczMTg1N0MyMUUwMEYzRUMwNSAvKiBBUElHZW9tZXRyeS5jcHAgKi87IH07CisJCTFB
QzEzMzdGMTg1OTBBRTQwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzEzMzdEMTg1OTBBRTQw
MEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5tbSAqLzsgfTsKKwkJMUFDMTMzODAxODU5
MEFFNDAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM3RTE4NTkwQUU0MDBGM0VDMDUgLyog
UmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLzsgfTsKKwkJMUFDMTMzODUxODU5MEM0NjAwRjNFQzA1
IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzEzMzgzMTg1OTBDNDYwMEYzRUMw
NSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFB
QzEzMzg2MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM4NDE4
NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oICovOyB9Owog
CQkxQUMyNUZDMjEyQTQ4RjYwMDBCRDI2NzEgLyogUGx1Z2luUHJvY2Vzc1NoaW0ubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMyNUY4QTEyQTQ4RTAz
MDBCRDI2NzEgLyogUGx1Z2luUHJvY2Vzc1NoaW0ubW0gKi87IH07CiAJCTFBQzRDODI5MTZCODc2
QTkwMDY5RENDRCAvKiBNZXNzYWdlRmxhZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzRDODI4MTZCODc2QTkwMDY5RENDRCAvKiBNZXNzYWdlRmxh
Z3MuaCAqLzsgfTsKIAkJMUFDNUZGQzIxNzRCRkQxQjAwMDE0ODNEIC8qIFBsdWdpblByb2Nlc3NB
dHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQUM1RkZDMTE3NEJGRDFCMDAwMTQ4M0QgLyogUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCAq
LzsgfTsKQEAgLTE3NDQsNyArMTc0Nyw2IEBACiAJCTFBOUUzMjg4MTgyMTYzNjkwMEY1RDA0QyAv
KiBXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUE5RTMyOEIxODIxNjVBOTAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0SW50
ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUmVtb3RlT2JqZWN0
SW50ZXJmYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOUUzMjhDMTgyMTY1
QTkwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQTlFMzI5NjE4MjE5QkVBMDBGNUQwNEMgLyogV0tS
ZW1vdGVPYmplY3RSZWdpc3RyeVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tSZW1vdGVPYmplY3RSZWdpc3RyeVByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUE5RTMyOTgxODIyRTFDQzAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tSZW1vdGVPYmplY3Qu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOUUzMjk5MTgyMkUxQ0MwMEY1RDA0
QyAvKiBXS1JlbW90ZU9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S1JlbW90ZU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTlFMzI5QzE4
MjJGRUREMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RDb2Rlci5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUmVtb3RlT2JqZWN0Q29kZXIubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODI3LDYgKzE4MjksMTEgQEAKIAkJMUFDMTMzNkYxODU2
NkM3QzAwRjNFQzA1IC8qIEFQSUZyYW1lSGFuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEFQSUZyYW1lSGFuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUFDMTMzNzAxODU2NkM3QzAwRjNFQzA1IC8qIEFQSUZyYW1lSGFuZGxlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUZyYW1lSGFuZGxlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQzEzMzczMTg1N0MyMUUwMEYzRUMwNSAvKiBBUElHZW9t
ZXRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBUElHZW9tZXRy
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQzEzMzdEMTg1OTBBRTQwMEYz
RUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFJlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQUMxMzM3RTE4NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVn
aXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlT2JqZWN0UmVn
aXN0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFDMTMzODExODU5MEIwNTAw
RjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFJlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxQUMxMzM4MzE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0
UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQUMxMzM4NDE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3Rl
T2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFBQzI1Rjg5MTJBNDhFMDMwMEJEMjY3MSAvKiBQbHVnaW5Qcm9jZXNzU2hpbS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5Qcm9jZXNzU2hpbS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUMyNUY4QTEyQTQ4RTAzMDBCRDI2NzEgLyogUGx1
Z2luUHJvY2Vzc1NoaW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBQbHVnaW5Qcm9jZXNzU2hpbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFD
MjVGQjAxMkE0OEVBNzAwQkQyNjcxIC8qIFBsdWdpblByb2Nlc3NTaGltLmR5bGliICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1v
LmR5bGliIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gUGx1Z2luUHJvY2Vzc1NoaW0uZHls
aWI7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC0zOTQ5LDYgKzM5NTYs
OSBAQAogCQkzN0RGQTZGRTE4MTBCQjJEMDAxRjRBOUYgLyogQ29jb2EgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTFBQzEzMzdFMTg1OTBBRTQwMEYzRUMw
NSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5oICovLAorCQkJCTFBQzEzMzgxMTg1OTBCMDUwMEYz
RUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5tZXNzYWdlcy5pbiAqLywKKwkJCQkxQUMxMzM3
RDE4NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gKi8sCiAJCQkJMUFF
MDBENEIxODJENkVCMDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlLmggKi8sCiAJ
CQkJMUFFMDBENEExODJENkVCMDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlLm1t
ICovLAogCQkJCTFBRTAwRDRFMTgyRDZGNTAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhh
bmRsZUludGVybmFsLmggKi8sCkBAIC0zOTYzLDcgKzM5NzMsNiBAQAogCQkJCTFBOUUzMjg3MTgy
MTYzNjkwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmggKi8sCiAJCQkJMUE5RTMy
ODgxODIxNjM2OTAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gKi8sCiAJCQkJ
MUE5RTMyQTAxODIzMDE4OTAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnlJbnRlcm5h
bC5oICovLAotCQkJCTFBOUUzMjk2MTgyMTlCRUEwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdFJl
Z2lzdHJ5UHJpdmF0ZS5oICovLAogCQkJKTsKIAkJCXBhdGggPSBDb2NvYTsKIAkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CkBAIC01NTE3LDYgKzU1MjYsOCBAQAogCQkJCTFBOEVGQTZGMTI1MkI4
NDEwMEY3MDY3RiAvKiBQbHVnaW5Qcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMUFBM0Q3NUYxNjUx
QjdEMzAwODcxM0QwIC8qIFJlbW90ZUxheWVyVHJlZUhvc3RNZXNzYWdlUmVjZWl2ZXIuY3BwICov
LAogCQkJCTFBQTNENzYwMTY1MUI3RDMwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRyZWVIb3N0TWVz
c2FnZXMuaCAqLywKKwkJCQkxQUMxMzM4MzE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0
UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTFBQzEzMzg0MTg1OTBDNDYwMEYz
RUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmggKi8sCiAJCQkJRTE4RTY5MTEx
NjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJ
CQlFMThFNjkxMjE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1NZXNzYWdlcy5oICovLAog
CQkJCUUxOEU2OTEzMTY5QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLywKQEAgLTYwMTIsNyArNjAyMyw2IEBACiAJCQkJMzNBQTEwNjcxMzFGMDYw
MDAwRDRBNTc1IC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eUNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzMwOTM0NEExMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFERDdCMjExNERDMzk2MDA1QURBRjMgLyog
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggaW4gSGVhZGVycyAqLywKLQkJCQkxQTlFMzI5NzE4MjE5
QkVBMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RSZWdpc3RyeVByaXZhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxMkY1ODlCMTJBODgzODgwMDYyOTUzMCAvKiBXZWJDcmVkZW50aWFsLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTU3OEI4MzEyMDlFQ0VGMDBBMzdDNEEgLyogQVBJRGF0YS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRjZBMjVGREQxMkFEQzZDQzAwREM0MENDIC8qIFdlYkRhdGFiYXNl
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCkBAIC02MDIwLDYgKzYwMzAsNyBAQAogCQkJCUY2MkE3
NjVEMTJCMUFCQzMwMDA1RjFCNiAvKiBXZWJEYXRhYmFzZU1hbmFnZXJQcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUY3NTA2QjExODU5MTYzNzAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
bkZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ0NUJBMzE4NEQ1RkNGMDA0QjM0MTQgLyog
V0tDb250ZXh0RG93bmxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBQzEzMzg2MTg1
OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0FDMTExRjEyQzkyQzFGMDBCMDhFRUUgLyogV2ViRGF0YWJhc2VNYW5hZ2Vy
UHJveHlDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUY2MkE3NkI5MTJCMUIyNUYwMDA1RjFC
NiAvKiBXZWJEYXRhYmFzZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQUI3RDcyQzEyODhDQUFEMDBDRkQwOEMgLyogV2ViRG93bmxvYWRDbGllbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtNjExOSw2ICs2MTMwLDcgQEAKIAkJCQkxQTA0M0EwOTEyNEQxMUE5MDBGRkJG
QjUgLyogV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDQzRjZB
MTI1MTREOEIwMEZGQkZCNSAvKiBXZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzMwNjgyNDEyNUE2Qjk0MDBFNzEyNzggLyogV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFDMTMzODAxODU5MEFFNDAwRjNF
QzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzMwNjZC
RjEyNUE0NDIxMDBFNzEyNzggLyogV2ViUHJvY2Vzc01lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzAzMkRENTEwRjQzODlGMDA1OEMxNUEgLyogV2ViUHJvY2Vzc1Byb3h5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTAzMkYxOTE4MEY3M0JCMDA5NjFCQjcgLyogV2ViVG9EYXRhYmFzZVBy
b2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTczMjIsNiArNzMzNCw3IEBACiAJ
CQkJMzc0NDM2ODgxODIwRTcyNDAwNDk1NzlGIC8qIFdLT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUEwRjI5RTMxMjBCNDQ0MjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rUHJvdmlkZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwRjI5Q0IxMjBCMzcxNjAwNTNEMUI5IC8qIFZpc2l0ZWRM
aW5rVGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUFDMTMzN0YxODU5MEFFNDAwRjNFQzA1
IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VEQTEyRTIx
NTJDRDFBRTAwRDlFMDhEIC8qIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MTJFMzUyRTEzMEI1NUFGMDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25DYWNo
ZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFFMzUyMDUxODBGNUQ0RjAwRTUzQkU5
IC8qIERhdGFiYXNlUHJvY2Vzc01haW4ubW0gaW4gU291cmNlcyAqLywKQEAgLTc2MjcsNiArNzY0
MCw3IEBACiAJCQkJNTFCQTI0NDYxODU4RjU1RDAwRUEyODExIC8qIFdlYkNyb3NzVGhyZWFkQ29w
aWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NjA5MTI0RkYwMjcwMDY4RjIwQSAvKiBX
S1VSTC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzYxQjEyNEZGMDM3MDA2OEYyMEEgLyog
V0tVUkxDRi5tbSBpbiBTb3VyY2VzICovLAorCQkJCTFBQzEzMzg1MTg1OTBDNDYwMEYzRUMwNSAv
KiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzQwNzYwQjEyNEZGMDI3MDA2OEYyMEEgLyogV0tVUkxSZXF1ZXN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDNDA3NjJBMTI0RkYwNDAwMDY4RjIwQSAvKiBXS1VSTFJlcXVlc3ROUy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTUxMkE5NzYwMTgwRTAzMUQwMDM5QTE0OSAvKiBEYXRhYmFz
ZVByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlci5tbQppbmRleCAyNjRhOWJhODkyM2Y5M2Y1ZTkxZDZhMmVmYmIxZGY1
ZjkzMzdmZDMzLi43YjQwZTNmZWI4MTI2OTkxYTY0MzZlYjU3ODY0YWRiYzc5OWU1YmQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMv
V0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0KQEAgLTI4LDExICsyOCwxNCBAQAogCiAj
aWYgV0tfQVBJX0VOQUJMRUQKIAorI2ltcG9ydCAiUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCIKKyNp
bXBvcnQgIlJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCIKICNpbXBvcnQgIldLQnJvd3Np
bmdDb250ZXh0SGFuZGxlSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLQnVuZGxlQVBJQ2FzdC5oIgog
I2ltcG9ydCAiV0tCdW5kbGVQYWdlLmgiCiAjaW1wb3J0ICJXS0J1bmRsZVBhZ2VQcml2YXRlLmgi
CiAjaW1wb3J0ICJXS0RPTUludGVybmFscy5oIgorI2ltcG9ydCAiV0tSZW1vdGVPYmplY3RSZWdp
c3RyeUludGVybmFsLmgiCiAjaW1wb3J0ICJXS1JldGFpblB0ci5oIgogI2ltcG9ydCAiV0tXZWJQ
cm9jZXNzUGx1Z2luRnJhbWVJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0lu
SW50ZXJuYWwuaCIKQEAgLTUwLDYgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIEBp
bXBsZW1lbnRhdGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIg
ewogICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJQYWdlPiBfcGFnZTsKICAgICBXZWFrT2JqQ1B0
cjxpZCA8V0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlPj4gX2xvYWREZWxlZ2F0ZTsKKyAg
ICAKKyAgICBSZXRhaW5QdHI8V0tSZW1vdGVPYmplY3RSZWdpc3RyeT4gX3JlbW90ZU9iamVjdFJl
Z2lzdHJ5OwogfQogCiBzdGF0aWMgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1l
KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYq
IHVzZXJEYXRhUmVmLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTYzLDYgKzE2OCwxNiBA
QCBzdGF0aWMgdm9pZCBzZXRVcFBhZ2VMb2FkZXJDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyICpjbwogICAgIHJldHVybiB3cmFwcGVyKCp3ZWJQYWdlKTsK
IH0KIAorLSAoV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqKXJlbW90ZU9iamVjdFJlZ2lzdHJ5Cit7
CisgICAgaWYgKCFfcmVtb3RlT2JqZWN0UmVnaXN0cnkpIHsKKyAgICAgICAgX3JlbW90ZU9iamVj
dFJlZ2lzdHJ5ID0gW1tXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5IGFsbG9jXSBfaW5pdFdpdGhNZXNz
YWdlU2VuZGVyOipfcGFnZV07CisgICAgICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmFkZE1lc3Nh
Z2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVnaXN0cnk6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgX3BhZ2UtPnBhZ2VJRCgpLCBbX3JlbW90ZU9iamVjdFJlZ2lzdHJ5IHJlbW90ZU9i
amVjdFJlZ2lzdHJ5XSk7CisgICAgfQorCisgICAgcmV0dXJuIF9yZW1vdGVPYmplY3RSZWdpc3Ry
eS5nZXQoKTsKK30KKwogQGVuZAogCiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXJQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IGNmZjk4MDdlOTNkMGRk
ZTM3YmJhNjZmYWU3MmRjYTc3NDgyYmJmOGQuLjFmMWYyOGU3NzYyMGQzYmU2YjgyMTU5NTJmMTZl
ZTZiNDVhYWZmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlclByaXZh
dGUuaApAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCA8V2ViS2l0Mi9XS0Jhc2UuaD4KIAogQGNs
YXNzIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlOworQGNsYXNzIFdLUmVtb3RlT2JqZWN0UmVnaXN0
cnk7CiAKIEBpbnRlcmZhY2UgV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyIChQcml2YXRlKQogCkBAIC0zNyw2ICszOCw4IEBACiAKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgV0tCcm93c2luZ0NvbnRleHRIYW5kbGUgKmhhbmRsZTsKIAorQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICpyZW1vdGVPYmpl
Y3RSZWdpc3RyeTsKKwogKyAoaW5zdGFuY2V0eXBlKWxvb2tVcEJyb3dzaW5nQ29udGV4dEZyb21I
YW5kbGU6KFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlICopaGFuZGxlOwogCiBAZW5kCg==
</data>
<flag name="review"
          id="243206"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>