<?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>228020</bug_id>
          
          <creation_ts>2021-07-16 02:12:54 -0700</creation_ts>
          <short_desc>[GStreamer] RealtimeMediaSourceCenter and VideoEncoder are not libwebrtc-specific</short_desc>
          <delta_ts>2021-07-16 08:33:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>annulen</cc>
    
    <cc>calvaris</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jbedard</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1777473</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-16 02:12:54 -0700</bug_when>
    <thetext>Follow-up from bug 227991. These two can be reused soon for the gst-webrtc backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777474</commentid>
    <comment_count>1</comment_count>
      <attachid>433666</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-07-16 02:15:44 -0700</bug_when>
    <thetext>Created attachment 433666
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777511</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-16 08:32:39 -0700</bug_when>
    <thetext>Committed r279985 (239728@main): &lt;https://commits.webkit.org/239728@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433666.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777512</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-16 08:33:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/80686445&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433666</attachid>
            <date>2021-07-16 02:15:44 -0700</date>
            <delta_ts>2021-07-16 08:32:40 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-228020-20210716021542.patch</filename>
            <type>text/plain</type>
            <size>40072</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgzYjQxZDFjYjgxZDY1
NGFhMDdhNzU0M2UwNGIwNTI4MWQwMTFiNS4uZTVhNWIwYWY1MDg1MjY2MDg4NDBlMmRkNmE4MDdm
ZDM5MGE4MTM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTA3LTE2ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyIGFuZCBWaWRlb0VuY29kZXIgYXJlIG5vdCBsaWJ3
ZWJydGMtc3BlY2lmaWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyODAyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRob3NlIHR3byBhcmUgYWN0dWFsbHkgbm90IHVzaW5nIGxpYndlYnJ0Yy1yZWxhdGVk
IGNvZGUsIHNvIGEgYmV0dGVyIHBsYWNlIGZvciB0aGVtIGlzCisgICAgICAgIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL2dzdHJlYW1lci4KKworICAgICAgICAqIHBsYXRmb3JtL0dTdHJlYW1lci5jbWFr
ZToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyVmlk
ZW9FbmNvZGVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9FbmNvZGVyLmNwcC4KKyAg
ICAgICAgKEVuY29kZXJzOjpzaW5nbGV0b24pOgorICAgICAgICAoRW5jb2RlcnM6OnJlZ2lzdGVy
RW5jb2Rlcik6CisgICAgICAgIChFbmNvZGVyczo6ZGVmaW5pdGlvbik6CisgICAgICAgICh3ZWJy
dGNWaWRlb0VuY29kZXJHZXRQcm9wZXJ0eSk6CisgICAgICAgICh3ZWJydGNWaWRlb0VuY29kZXJT
ZXRCaXRyYXRlKToKKyAgICAgICAgKHdlYnJ0Y1ZpZGVvRW5jb2RlclNldEVuY29kZXIpOgorICAg
ICAgICAod2VicnRjVmlkZW9FbmNvZGVyU2V0Rm9ybWF0KToKKyAgICAgICAgKHdlYnJ0Y1ZpZGVv
RW5jb2RlclNldFByb3BlcnR5KToKKyAgICAgICAgKHNldEJpdHJhdGVLYml0UGVyU2VjKToKKyAg
ICAgICAgKHNldEJpdHJhdGVCaXRQZXJTZWMpOgorICAgICAgICAod2VicnRjVmlkZW9FbmNvZGVy
Q29uc3RydWN0ZWQpOgorICAgICAgICAod2Via2l0X3dlYnJ0Y192aWRlb19lbmNvZGVyX2NsYXNz
X2luaXQpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFt
ZXJWaWRlb0VuY29kZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9FbmNvZGVyLmguCisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJHU3RyZWFtZXIuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyTGliV2ViUlRDLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXI6OmRlZmF1bHRBdWRpb0NhcHR1cmVGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmRlZmF1bHRWaWRlb0NhcHR1cmVGYWN0b3J5KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmRlZmF1bHREaXNwbGF5
Q2FwdHVyZUZhY3RvcnkpOgorCiAyMDIxLTA3LTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBMaWJXZWJSVEMgZmlsZXMgc2hv
dWxkIGJlIGluIGxpYndlYnJ0Yy9nc3RyZWFtZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJl
YW1lci5jbWFrZQppbmRleCBhYmEyMTA4YTUzN2UyY2YyZGVlYmU1N2I3OTQ0ZTIwNmU4NzRlZGVk
Li5lMzI5NzFhNGFmMDQ0ZjY3ZDZjN2YzY2E5MjQ5NWI2YjAzYmVjOWI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vR1N0cmVhbWVyLmNtYWtlCkBAIC00NiwxMyArNDYsMTEgQEAgaWYgKEVOQUJM
RV9WSURFTyBPUiBFTkFCTEVfV0VCX0FVRElPKQogCiAgICAgICAgIHBsYXRmb3JtL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9Db21tb24uY3BwCiAgICAgICAg
IHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9E
ZWNvZGVyRmFjdG9yeS5jcHAKLSAgICAgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRj
L2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0VuY29kZXIuY3BwCiAgICAgICAgIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9y
eS5jcHAKICAgICAgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9H
U3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDLmNwcAogICAgICAgICBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL0xpYldlYlJUQ1Byb3ZpZGVyR1N0cmVhbWVyLmNwcAog
ICAgICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZUxpYldlYlJUQy5jcHAKICAgICAgICAgcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VMaWJX
ZWJSVEMuY3BwCi0gICAgICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFt
ZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5jcHAKICAgICAgICAgcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdvaW5nQXVkaW9T
b3VyY2VMaWJXZWJSVEMuY3BwCiAgICAgICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcAogCkBA
IC02Myw4ICs2MSwxMCBAQCBpZiAoRU5BQkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAg
ICAgICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVh
bVNvdXJjZS5jcHAKICAgICAgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJl
YW1lclZpZGVvQ2FwdHVyZVNvdXJjZS5jcHAKICAgICAgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0v
Z3N0cmVhbWVyL0dTdHJlYW1lclZpZGVvQ2FwdHVyZXIuY3BwCisgICAgICAgIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0VuY29kZXIuY3BwCiAgICAgICAgIHBs
YXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZUdTdHJl
YW1lci5jcHAKICAgICAgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tSZWFs
dGltZVZpZGVvU291cmNlR1N0cmVhbWVyLmNwcAorICAgICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVh
bS9nc3RyZWFtZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckdTdHJlYW1lci5jcHAKICAgICAp
CiAKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9H
U3RyZWFtZXJWaWRlb0VuY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVvRW5jb2Rlci5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Zm
ZTNmZmMxY2I0YWViYTQ4OWU3ODA2NmM5MTRjMGJkZDFmMjY2ZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJW
aWRlb0VuY29kZXIuY3BwCkBAIC0wLDAgKzEsMjkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE4LTIwMjAgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxOC0y
MDIwIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhaW50IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkdTdHJlYW1lclZpZGVvRW5jb2Rlci5oIgorCisjaWYgRU5BQkxFKFZJREVPKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoR1NUUkVBTUVSKQorCisjaW5jbHVkZSAiR1N0
cmVhbWVyQ29tbW9uLmgiCisjaW5jbHVkZSA8d3RmL1N0ZE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9n
bGliL1dURkdUeXBlLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitHU1RfREVCVUdf
Q0FURUdPUlkod2VicnRjX3ZlbmNfZGVidWcpOworI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Vi
cnRjX3ZlbmNfZGVidWcKKworI2RlZmluZSBLQklUX1RPX0JJVCAxMDI0CisKK3N0YXRpYyBHc3RT
dGF0aWNQYWRUZW1wbGF0ZSBzaW5rVGVtcGxhdGUgPSBHU1RfU1RBVElDX1BBRF9URU1QTEFURSgi
c2luayIsIEdTVF9QQURfU0lOSywgR1NUX1BBRF9BTFdBWVMsIEdTVF9TVEFUSUNfQ0FQUygidmlk
ZW8veC1yYXcoQU5ZKSIpKTsKK3N0YXRpYyBHc3RTdGF0aWNQYWRUZW1wbGF0ZSBzcmNUZW1wbGF0
ZSA9IEdTVF9TVEFUSUNfUEFEX1RFTVBMQVRFKCJzcmMiLCBHU1RfUEFEX1NSQywgR1NUX1BBRF9B
TFdBWVMsIEdTVF9TVEFUSUNfQ0FQUygidmlkZW8veC1oMjY0IikpOworCit1c2luZyBTZXRCaXRy
YXRlRnVuYyA9IEZ1bmN0aW9uPHZvaWQoR09iamVjdCogZW5jb2RlciwgY29uc3QgY2hhciogcHJv
cGVydHlOYW1lLCBpbnQgYml0cmF0ZSk+OwordXNpbmcgU2V0dXBGdW5jID0gRnVuY3Rpb248dm9p
ZChXZWJLaXRXZWJydGNWaWRlb0VuY29kZXIqKT47CisKK3N0cnVjdCBFbmNvZGVyRGVmaW5pdGlv
biB7CisgICAgR1JlZlB0cjxHc3RDYXBzPiBjYXBzOworICAgIGNvbnN0IGNoYXIqIG5hbWU7Cisg
ICAgY29uc3QgY2hhciogcGFyc2VyTmFtZTsKKyAgICBHUmVmUHRyPEdzdENhcHM+IGVuY29kZWRG
b3JtYXQ7CisgICAgU2V0Qml0cmF0ZUZ1bmMgc2V0Qml0cmF0ZTsKKyAgICBTZXR1cEZ1bmMgc2V0
dXBFbmNvZGVyOworICAgIGNvbnN0IGNoYXIqIGJpdHJhdGVQcm9wZXJ0eU5hbWU7CisgICAgY29u
c3QgY2hhcioga2V5ZnJhbWVJbnRlcnZhbFByb3BlcnR5TmFtZTsKK307CisKK2VudW0gRW5jb2Rl
cklkIHsgTm9uZSwgWDI2NCwgT3BlbkgyNjQsIE9teEgyNjQgfTsKKworY2xhc3MgRW5jb2RlcnMg
eworcHVibGljOgorICAgIHN0YXRpYyBTdGRNYXA8RW5jb2RlcklkLCBFbmNvZGVyRGVmaW5pdGlv
bj4mIHNpbmdsZXRvbigpCisgICAgeworICAgICAgICBzdGF0aWMgU3RkTWFwPEVuY29kZXJJZCwg
RW5jb2RlckRlZmluaXRpb24+IGVuY29kZXJzOworICAgICAgICByZXR1cm4gZW5jb2RlcnM7Cisg
ICAgfQorCisgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJFbmNvZGVyKEVuY29kZXJJZCBpZCwgY29u
c3QgY2hhciogbmFtZSwgY29uc3QgY2hhciogcGFyc2VyTmFtZSwgY29uc3QgY2hhciogY2Fwcywg
Y29uc3QgY2hhciogZW5jb2RlZEZvcm1hdCwKKyAgICAgICAgU2V0dXBGdW5jJiYgc2V0dXBFbmNv
ZGVyLCBjb25zdCBjaGFyKiBiaXRyYXRlUHJvcGVydHlOYW1lLCBTZXRCaXRyYXRlRnVuYyYmIHNl
dEJpdHJhdGUsIGNvbnN0IGNoYXIqIGtleWZyYW1lSW50ZXJ2YWxQcm9wZXJ0eU5hbWUpCisgICAg
eworICAgICAgICBhdXRvIGZlYXR1cmUgPSBhZG9wdEdSZWYoZ3N0X3JlZ2lzdHJ5X2xvb2t1cF9m
ZWF0dXJlKGdzdF9yZWdpc3RyeV9nZXQoKSwgbmFtZSkpOworICAgICAgICBpZiAoIWZlYXR1cmUp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2luZ2xldG9uKCkuZW1wbGFjZShzdGQ6
Om1ha2VfcGFpcihpZCwgKEVuY29kZXJEZWZpbml0aW9uKSB7CisgICAgICAgICAgICAuY2FwcyA9
IGFkb3B0R1JlZihnc3RfY2Fwc19mcm9tX3N0cmluZyhjYXBzKSksCisgICAgICAgICAgICAubmFt
ZSA9IG5hbWUsCisgICAgICAgICAgICAucGFyc2VyTmFtZSA9IHBhcnNlck5hbWUsCisgICAgICAg
ICAgICAuZW5jb2RlZEZvcm1hdCA9IGVuY29kZWRGb3JtYXQgPyBhZG9wdEdSZWYoZ3N0X2NhcHNf
ZnJvbV9zdHJpbmcoZW5jb2RlZEZvcm1hdCkpIDogbnVsbHB0ciwKKyAgICAgICAgICAgIC5zZXRC
aXRyYXRlID0gV1RGTW92ZShzZXRCaXRyYXRlKSwKKyAgICAgICAgICAgIC5zZXR1cEVuY29kZXIg
PSBXVEZNb3ZlKHNldHVwRW5jb2RlciksCisgICAgICAgICAgICAuYml0cmF0ZVByb3BlcnR5TmFt
ZSA9IGJpdHJhdGVQcm9wZXJ0eU5hbWUsCisgICAgICAgICAgICAua2V5ZnJhbWVJbnRlcnZhbFBy
b3BlcnR5TmFtZSA9IGtleWZyYW1lSW50ZXJ2YWxQcm9wZXJ0eU5hbWUsCisgICAgICAgIH0pKTsK
KyAgICB9CisKKyAgICBzdGF0aWMgRW5jb2RlckRlZmluaXRpb24qIGRlZmluaXRpb24oRW5jb2Rl
cklkIGlkKQorICAgIHsKKyAgICAgICAgaWYgKGlkID09IE5vbmUpCisgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuICZzaW5nbGV0b24oKVtpZF07CisgICAgfQorfTsK
Kworc3RydWN0IF9XZWJLaXRXZWJydGNWaWRlb0VuY29kZXJQcml2YXRlIHsKKyAgICBFbmNvZGVy
SWQgZW5jb2RlcklkOworICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gZW5jb2RlcjsKKyAgICBHUmVm
UHRyPEdzdEVsZW1lbnQ+IHBhcnNlcjsKKyAgICB1bnNpZ25lZCBiaXRyYXRlOworfTsKKworI2Rl
ZmluZSB3ZWJraXRfd2VicnRjX3ZpZGVvX2VuY29kZXJfcGFyZW50X2NsYXNzIHBhcmVudF9jbGFz
cworV0VCS0lUX0RFRklORV9UWVBFX1dJVEhfQ09ERShXZWJLaXRXZWJydGNWaWRlb0VuY29kZXIs
IHdlYmtpdF93ZWJydGNfdmlkZW9fZW5jb2RlciwgR1NUX1RZUEVfQklOLAorICAgIEdTVF9ERUJV
R19DQVRFR09SWV9JTklUKHdlYnJ0Y192ZW5jX2RlYnVnLCAid2VicnRjZW5jb2RlciIsIDAsICJW
aWRlbyBlbmNvZGVyIGZvciBXZWJSVEMiKSkKKworZW51bSB7CisgICAgUFJPUF9GT1JNQVQgPSAx
LAorICAgIFBST1BfRU5DT0RFUiwKKyAgICBQUk9QX0JJVFJBVEUsCisgICAgUFJPUF9LRVlGUkFN
RV9JTlRFUlZBTCwKKyAgICBOX1BST1BTCit9OworCitzdGF0aWMgdm9pZCB3ZWJydGNWaWRlb0Vu
Y29kZXJHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIEdWYWx1ZSog
dmFsdWUsIEdQYXJhbVNwZWMqIHBzcGVjKQoreworICAgIGF1dG8qIHNlbGYgPSBXRUJLSVRfV0VC
UlRDX1ZJREVPX0VOQ09ERVIob2JqZWN0KTsKKyAgICBhdXRvKiBwcml2ID0gc2VsZi0+cHJpdjsK
KworICAgIHN3aXRjaCAocHJvcF9pZCkgeworICAgIGNhc2UgUFJPUF9GT1JNQVQ6CisgICAgICAg
IGlmIChwcml2LT5lbmNvZGVySWQgIT0gTm9uZSkgeworICAgICAgICAgICAgYXV0byBlbmNvZGVy
ID0gRW5jb2RlcnM6OmRlZmluaXRpb24ocHJpdi0+ZW5jb2RlcklkKTsKKyAgICAgICAgICAgIGdf
dmFsdWVfc2V0X2JveGVkKHZhbHVlLCBlbmNvZGVyLT5jYXBzLmdldCgpKTsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICBnX3ZhbHVlX3NldF9ib3hlZCh2YWx1ZSwgbnVsbHB0cik7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkNPREVSOgorICAgICAgICBnX3ZhbHVlX3NldF9v
YmplY3QodmFsdWUsIHByaXYtPmVuY29kZXIuZ2V0KCkpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFBST1BfQklUUkFURToKKyAgICAgICAgZ192YWx1ZV9zZXRfdWludCh2YWx1ZSwgcHJpdi0+
Yml0cmF0ZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9LRVlGUkFNRV9JTlRFUlZB
TDoKKyAgICAgICAgaWYgKHByaXYtPmVuY29kZXIpIHsKKyAgICAgICAgICAgIGF1dG8gZW5jb2Rl
ciA9IEVuY29kZXJzOjpkZWZpbml0aW9uKHByaXYtPmVuY29kZXJJZCk7CisgICAgICAgICAgICBn
X29iamVjdF9nZXRfcHJvcGVydHkoR19PQkpFQ1QocHJpdi0+ZW5jb2Rlci5nZXQoKSksIGVuY29k
ZXItPmtleWZyYW1lSW50ZXJ2YWxQcm9wZXJ0eU5hbWUsIHZhbHVlKTsKKyAgICAgICAgfQorICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURf
UFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3BlYyk7CisgICAgICAgIGJyZWFrOworICAg
IH0KK30KKworc3RhdGljIHZvaWQgd2VicnRjVmlkZW9FbmNvZGVyU2V0Qml0cmF0ZShXZWJLaXRX
ZWJydGNWaWRlb0VuY29kZXIqIHNlbGYsIGd1aW50IGJpdHJhdGUpCit7CisgICAgYXV0byogcHJp
diA9IHNlbGYtPnByaXY7CisgICAgcHJpdi0+Yml0cmF0ZSA9IGJpdHJhdGU7CisKKyAgICBpZiAo
cHJpdi0+ZW5jb2RlcklkICE9IE5vbmUpIHsKKyAgICAgICAgYXV0byBlbmNvZGVyID0gRW5jb2Rl
cnM6OmRlZmluaXRpb24ocHJpdi0+ZW5jb2RlcklkKTsKKyAgICAgICAgZW5jb2Rlci0+c2V0Qml0
cmF0ZShHX09CSkVDVChwcml2LT5lbmNvZGVyLmdldCgpKSwgZW5jb2Rlci0+Yml0cmF0ZVByb3Bl
cnR5TmFtZSwgcHJpdi0+Yml0cmF0ZSk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCB3ZWJydGNW
aWRlb0VuY29kZXJTZXRFbmNvZGVyKFdlYktpdFdlYnJ0Y1ZpZGVvRW5jb2Rlciogc2VsZiwgR1Jl
ZlB0cjxHc3RFbGVtZW50PiYmIGVuY29kZXJFbGVtZW50LCBFbmNvZGVySWQgZW5jb2RlcklkKQor
eworICAgIGF1dG8qIHByaXYgPSBzZWxmLT5wcml2OworICAgIHByaXYtPmVuY29kZXJJZCA9IGVu
Y29kZXJJZDsKKyAgICBwcml2LT5lbmNvZGVyID0gV1RGTW92ZShlbmNvZGVyRWxlbWVudCk7CisK
KyAgICBhdXRvIGVuY29kZXIgPSBFbmNvZGVyczo6ZGVmaW5pdGlvbihlbmNvZGVySWQpOworICAg
IEFTU0VSVChlbmNvZGVyKTsKKyAgICBpZiAoZW5jb2Rlci0+cGFyc2VyTmFtZSkKKyAgICAgICAg
cHJpdi0+cGFyc2VyID0gbWFrZUdTdHJlYW1lckVsZW1lbnQoZW5jb2Rlci0+cGFyc2VyTmFtZSwg
bnVsbHB0cik7CisKKyAgICBlbmNvZGVyLT5zZXR1cEVuY29kZXIoc2VsZik7CisKKyAgICBnc3Rf
YmluX2FkZChHU1RfQklOX0NBU1Qoc2VsZiksIHByaXYtPmVuY29kZXIuZ2V0KCkpOworCisgICAg
YXV0byBzaW5rUGFkVGFyZ2V0ID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFk
KHByaXYtPmVuY29kZXIuZ2V0KCksICJzaW5rIikpOworICAgIGF1dG8gc2lua1BhZCA9IGFkb3B0
R1JlZihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChHU1RfRUxFTUVOVF9DQVNUKHNlbGYpLCAi
c2luayIpKTsKKyAgICBnc3RfZ2hvc3RfcGFkX3NldF90YXJnZXQoR1NUX0dIT1NUX1BBRChzaW5r
UGFkLmdldCgpKSwgc2lua1BhZFRhcmdldC5nZXQoKSk7CisKKyAgICBHUmVmUHRyPEdzdFBhZD4g
c3JjUGFkVGFyZ2V0OworICAgIGlmIChwcml2LT5wYXJzZXIpIHsKKyAgICAgICAgZ3N0X2Jpbl9h
ZGQoR1NUX0JJTl9DQVNUKHNlbGYpLCBwcml2LT5wYXJzZXIuZ2V0KCkpOworICAgICAgICBnc3Rf
ZWxlbWVudF9saW5rKHByaXYtPmVuY29kZXIuZ2V0KCksIHByaXYtPnBhcnNlci5nZXQoKSk7Cisg
ICAgICAgIHNyY1BhZFRhcmdldCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3Bh
ZChwcml2LT5wYXJzZXIuZ2V0KCksICJzcmMiKSk7CisgICAgfSBlbHNlCisgICAgICAgIHNyY1Bh
ZFRhcmdldCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChwcml2LT5lbmNv
ZGVyLmdldCgpLCAic3JjIikpOworCisgICAgaWYgKGVuY29kZXItPmVuY29kZWRGb3JtYXQpIHsK
KyAgICAgICAgYXV0byogY2Fwc2ZpbHRlciA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgiY2Fw
c2ZpbHRlciIsIG51bGxwdHIpOworICAgICAgICBnX29iamVjdF9zZXQoY2Fwc2ZpbHRlciwgImNh
cHMiLCBlbmNvZGVyLT5lbmNvZGVkRm9ybWF0LmdldCgpLCBudWxscHRyKTsKKworICAgICAgICBn
c3RfYmluX2FkZChHU1RfQklOX0NBU1Qoc2VsZiksIGNhcHNmaWx0ZXIpOworICAgICAgICBhdXRv
IHNpbmtQYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQoY2Fwc2ZpbHRl
ciwgInNpbmsiKSk7CisgICAgICAgIGdzdF9wYWRfbGluayhzcmNQYWRUYXJnZXQuZ2V0KCksIHNp
bmtQYWQuZ2V0KCkpOworICAgICAgICBzcmNQYWRUYXJnZXQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1l
bnRfZ2V0X3N0YXRpY19wYWQoY2Fwc2ZpbHRlciwgInNyYyIpKTsKKyAgICB9CisKKyAgICBhdXRv
IHNyY1BhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChHU1RfRUxFTUVO
VF9DQVNUKHNlbGYpLCAic3JjIikpOworICAgIGdzdF9naG9zdF9wYWRfc2V0X3RhcmdldChHU1Rf
R0hPU1RfUEFEKHNyY1BhZC5nZXQoKSksIHNyY1BhZFRhcmdldC5nZXQoKSk7CisKKyAgICB3ZWJy
dGNWaWRlb0VuY29kZXJTZXRCaXRyYXRlKHNlbGYsIHByaXYtPmJpdHJhdGUpOworfQorCitzdGF0
aWMgdm9pZCB3ZWJydGNWaWRlb0VuY29kZXJTZXRGb3JtYXQoV2ViS2l0V2VicnRjVmlkZW9FbmNv
ZGVyKiBzZWxmLCBjb25zdCBHc3RDYXBzKiBjYXBzKQoreworICAgIGlmICghY2FwcykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogRW5jb2RlcnM6OnNpbmds
ZXRvbigpKSB7CisgICAgICAgIGNvbnN0IGF1dG8mIGVuY29kZXIgPSBwYWlyLnNlY29uZDsKKyAg
ICAgICAgaWYgKGdzdF9jYXBzX2Nhbl9pbnRlcnNlY3QoZW5jb2Rlci5jYXBzLmdldCgpLCBjYXBz
KSkgeworICAgICAgICAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBlbGVtZW50ID0gbWFrZUdTdHJl
YW1lckVsZW1lbnQoZW5jb2Rlci5uYW1lLCBudWxscHRyKTsKKyAgICAgICAgICAgIHdlYnJ0Y1Zp
ZGVvRW5jb2RlclNldEVuY29kZXIoc2VsZiwgV1RGTW92ZShlbGVtZW50KSwgcGFpci5maXJzdCk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBHU1RfRVJST1Io
Ik5vIGVuY29kZXIgZm91bmQgZm9yIGZvcm1hdCAlIiBHU1RfUFRSX0ZPUk1BVCwgY2Fwcyk7Cit9
CisKK3N0YXRpYyB2b2lkIHdlYnJ0Y1ZpZGVvRW5jb2RlclNldFByb3BlcnR5KEdPYmplY3QqIG9i
amVjdCwgZ3VpbnQgcHJvcF9pZCwgY29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNw
ZWMpCit7CisgICAgYXV0byogc2VsZiA9IFdFQktJVF9XRUJSVENfVklERU9fRU5DT0RFUihvYmpl
Y3QpOworICAgIGF1dG8qIHByaXYgPSBzZWxmLT5wcml2OworCisgICAgc3dpdGNoIChwcm9wX2lk
KSB7CisgICAgY2FzZSBQUk9QX0ZPUk1BVDoKKyAgICAgICAgd2VicnRjVmlkZW9FbmNvZGVyU2V0
Rm9ybWF0KHNlbGYsIGdzdF92YWx1ZV9nZXRfY2Fwcyh2YWx1ZSkpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFBST1BfQklUUkFURToKKyAgICAgICAgd2VicnRjVmlkZW9FbmNvZGVyU2V0Qml0
cmF0ZShzZWxmLCBnX3ZhbHVlX2dldF91aW50KHZhbHVlKSk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgUFJPUF9LRVlGUkFNRV9JTlRFUlZBTDoKKyAgICAgICAgaWYgKHByaXYtPmVuY29kZXIp
IHsKKyAgICAgICAgICAgIGF1dG8gZW5jb2RlciA9IEVuY29kZXJzOjpkZWZpbml0aW9uKHByaXYt
PmVuY29kZXJJZCk7CisgICAgICAgICAgICBnX29iamVjdF9zZXQocHJpdi0+ZW5jb2Rlci5nZXQo
KSwgZW5jb2Rlci0+a2V5ZnJhbWVJbnRlcnZhbFByb3BlcnR5TmFtZSwgZ192YWx1ZV9nZXRfdWlu
dCh2YWx1ZSksIG51bGxwdHIpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1
bHQ6CisgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHBy
b3BfaWQsIHBzcGVjKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBz
ZXRCaXRyYXRlS2JpdFBlclNlYyhHT2JqZWN0KiBlbmNvZGVyLCBjb25zdCBjaGFyKiBwcm9wZXJ0
eU5hbWUsIGludCBiaXRyYXRlKQoreworICAgIGdfb2JqZWN0X3NldChlbmNvZGVyLCBwcm9wZXJ0
eU5hbWUsIGJpdHJhdGUsIG51bGxwdHIpOworfQorCitzdGF0aWMgdm9pZCBzZXRCaXRyYXRlQml0
UGVyU2VjKEdPYmplY3QqIGVuY29kZXIsIGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgaW50IGJp
dHJhdGUpCit7CisgICAgZ19vYmplY3Rfc2V0KGVuY29kZXIsIHByb3BlcnR5TmFtZSwgYml0cmF0
ZSAqIEtCSVRfVE9fQklULCBudWxscHRyKTsKK30KKworc3RhdGljIHZvaWQgd2VicnRjVmlkZW9F
bmNvZGVyQ29uc3RydWN0ZWQoR09iamVjdCogZW5jb2RlcikKK3sKKyAgICBhdXRvKiBzZWxmID0g
V0VCS0lUX1dFQlJUQ19WSURFT19FTkNPREVSKGVuY29kZXIpOworICAgIHNlbGYtPnByaXYtPmVu
Y29kZXJJZCA9IE5vbmU7CisgICAgZ3N0X2VsZW1lbnRfYWRkX3BhZChHU1RfRUxFTUVOVF9DQVNU
KHNlbGYpLCB3ZWJraXRHc3RHaG9zdFBhZEZyb21TdGF0aWNUZW1wbGF0ZSgmc2lua1RlbXBsYXRl
LCAic2luayIsIG51bGxwdHIpKTsKKyAgICBnc3RfZWxlbWVudF9hZGRfcGFkKEdTVF9FTEVNRU5U
X0NBU1Qoc2VsZiksIHdlYmtpdEdzdEdob3N0UGFkRnJvbVN0YXRpY1RlbXBsYXRlKCZzcmNUZW1w
bGF0ZSwgInNyYyIsIG51bGxwdHIpKTsKK30KKworc3RhdGljIHZvaWQgd2Via2l0X3dlYnJ0Y192
aWRlb19lbmNvZGVyX2NsYXNzX2luaXQoV2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyQ2xhc3MqIGts
YXNzKQoreworICAgIEdPYmplY3RDbGFzcyogb2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9DTEFTUyhr
bGFzcyk7CisgICAgb2JqZWN0Q2xhc3MtPmNvbnN0cnVjdGVkID0gd2VicnRjVmlkZW9FbmNvZGVy
Q29uc3RydWN0ZWQ7CisgICAgb2JqZWN0Q2xhc3MtPmdldF9wcm9wZXJ0eSA9IHdlYnJ0Y1ZpZGVv
RW5jb2RlckdldFByb3BlcnR5OworICAgIG9iamVjdENsYXNzLT5zZXRfcHJvcGVydHkgPSB3ZWJy
dGNWaWRlb0VuY29kZXJTZXRQcm9wZXJ0eTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxf
cHJvcGVydHkob2JqZWN0Q2xhc3MsIFBST1BfRk9STUFULCBnX3BhcmFtX3NwZWNfYm94ZWQoImZv
cm1hdCIsICJGb3JtYXQgYXMgY2FwcyIsICJTZXQgdGhlIGNhcHMgb2YgdGhlIGZvcm1hdCB0byBi
ZSB1c2VkLiIsIEdTVF9UWVBFX0NBUFMsIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAg
IGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkob2JqZWN0Q2xhc3MsIFBST1BfRU5DT0RF
UiwgZ19wYXJhbV9zcGVjX29iamVjdCgiZW5jb2RlciIsICJUaGUgYWN0dWFsIGVuY29kZXIgZWxl
bWVudCIsICJUaGUgZW5jb2RlciBlbGVtZW50IiwgR1NUX1RZUEVfRUxFTUVOVCwgV0VCS0lUX1BB
UkFNX1JFQURBQkxFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KG9i
amVjdENsYXNzLCBQUk9QX0JJVFJBVEUsIGdfcGFyYW1fc3BlY191aW50KCJiaXRyYXRlIiwgIkJp
dHJhdGUiLCAiVGhlIGJpdHJhdGUgaW4ga2JpdCBwZXIgc2Vjb25kIiwgMCwgR19NQVhJTlQsIDIw
NDgsCisgICAgICAgIHN0YXRpY19jYXN0PEdQYXJhbUZsYWdzPihHX1BBUkFNX1JFQURXUklURSB8
IEdfUEFSQU1fU1RBVElDX1NUUklOR1MgfCBHX1BBUkFNX0NPTlNUUlVDVCkpKTsKKworICAgIGdf
b2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkob2JqZWN0Q2xhc3MsIFBST1BfS0VZRlJBTUVf
SU5URVJWQUwsIGdfcGFyYW1fc3BlY191aW50KCJrZXlmcmFtZS1pbnRlcnZhbCIsICJLZXlmcmFt
ZSBpbnRlcnZhbCIsICJUaGUgaW50ZXJ2YWwgYmV0d2VlbiBrZXlmcmFtZXMiLCAwLCBHX01BWElO
VCwgMCwKKyAgICAgICAgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KEdfUEFSQU1fUkVBRFdSSVRF
IHwgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB8IEdfUEFSQU1fQ09OU1RSVUNUKSkpOworCisgICAg
RW5jb2RlcnM6OnJlZ2lzdGVyRW5jb2RlcihPbXhIMjY0LCAib214aDI2NGVuYyIsICJoMjY0cGFy
c2UiLCAidmlkZW8veC1oMjY0IiwKKyAgICAgICAgInZpZGVvL3gtaDI2NCxhbGlnbm1lbnQ9YXUs
c3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbSxwcm9maWxlPWJhc2VsaW5lIiwKKyAgICAgICAgW10o
V2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyKiBzZWxmKSB7CisgICAgICAgICAgICBnc3RfdXRpbF9z
ZXRfb2JqZWN0X2FyZyhHX09CSkVDVChzZWxmLT5wcml2LT5lbmNvZGVyLmdldCgpKSwgImNvbnRy
b2wtcmF0ZSIsICJ2YXJpYWJsZSIpOworICAgICAgICAgICAgZ19vYmplY3Rfc2V0KHNlbGYtPnBy
aXYtPnBhcnNlci5nZXQoKSwgImNvbmZpZy1pbnRlcnZhbCIsIDEsIG51bGxwdHIpOworICAgICAg
ICB9LCAidGFyZ2V0LWJpdHJhdGUiLCBzZXRCaXRyYXRlQml0UGVyU2VjLCAiaW50ZXJ2YWwtaW50
cmFmcmFtZXMiKTsKKyAgICBFbmNvZGVyczo6cmVnaXN0ZXJFbmNvZGVyKFgyNjQsICJ4MjY0ZW5j
IiwgImgyNjRwYXJzZSIsICJ2aWRlby94LWgyNjQiLAorICAgICAgICAidmlkZW8veC1oMjY0LGFs
aWdubWVudD1hdSxzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtLHByb2ZpbGU9YmFzZWxpbmUiLAor
ICAgICAgICBbXShXZWJLaXRXZWJydGNWaWRlb0VuY29kZXIqIHNlbGYpIHsKKyAgICAgICAgICAg
IGdzdF91dGlsX3NldF9vYmplY3RfYXJnKEdfT0JKRUNUKHNlbGYtPnByaXYtPmVuY29kZXIuZ2V0
KCkpLCAidHVuZSIsICJ6ZXJvbGF0ZW5jeSIpOworICAgICAgICAgICAgZ19vYmplY3Rfc2V0KHNl
bGYtPnByaXYtPnBhcnNlci5nZXQoKSwgImNvbmZpZy1pbnRlcnZhbCIsIDEsIG51bGxwdHIpOwor
ICAgICAgICB9LCAiYml0cmF0ZSIsIHNldEJpdHJhdGVLYml0UGVyU2VjLCAia2V5LWludC1tYXgi
KTsKKyAgICBFbmNvZGVyczo6cmVnaXN0ZXJFbmNvZGVyKE9wZW5IMjY0LCAib3BlbmgyNjRlbmMi
LCAiaDI2NHBhcnNlIiwgInZpZGVvL3gtaDI2NCIsCisgICAgICAgICJ2aWRlby94LWgyNjQsYWxp
Z25tZW50PWF1LHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0scHJvZmlsZT1iYXNlbGluZSIsCisg
ICAgICAgIFtdKFdlYktpdFdlYnJ0Y1ZpZGVvRW5jb2Rlciogc2VsZikgeworICAgICAgICAgICAg
Z19vYmplY3Rfc2V0KHNlbGYtPnByaXYtPnBhcnNlci5nZXQoKSwgImNvbmZpZy1pbnRlcnZhbCIs
IDEsIG51bGxwdHIpOworICAgICAgICB9LCAiYml0cmF0ZSIsIHNldEJpdHJhdGVCaXRQZXJTZWMs
ICJnb3Atc2l6ZSIpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFZJREVPKSAmJiBFTkFCTEUoTUVE
SUFfU1RSRUFNKSAmJiBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVvRW5jb2Rlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lclZp
ZGVvRW5jb2Rlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkNjZlZDdlYjM5M2JkZmExOTEzOTJhYTEyN2UzOGUy
MTA1OTkwZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9FbmNvZGVyLmgKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICog
Q29weXJpZ2h0IChDKSAyMDE4IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhaW50IHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlIDxnc3QvZ3N0Lmg+CisKK0dfQkVHSU5fREVDTFMKKworI2RlZmlu
ZSBXRUJLSVRfVFlQRV9XRUJSVENfVklERU9fRU5DT0RFUiAod2Via2l0X3dlYnJ0Y192aWRlb19l
bmNvZGVyX2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9XRUJSVENfVklERU9fRU5DT0RFUihv
YmopIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfV0VCUlRD
X1ZJREVPX0VOQ09ERVIsIFdlYktpdFdlYnJ0Y1ZpZGVvRW5jb2RlcikpCisjZGVmaW5lIFdFQktJ
VF9XRUJSVENfVklERU9fRU5DT0RFUl9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19D
QVNUKChrbGFzcyksIFdFQktJVF9UWVBFX1dFQlJUQ19WSURFT19FTkNPREVSLCBXZWJLaXRXZWJy
dGNWaWRlb0VuY29kZXJDbGFzcykpCisjZGVmaW5lIFdFQktJVF9JU19XRUJSVENfVklERU9fRU5D
T0RFUihvYmopIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVf
V0VCUlRDX1ZJREVPX0VOQ09ERVIpKQorI2RlZmluZSBXRUJLSVRfSVNfV0VCUlRDX1ZJREVPX0VO
Q09ERVJfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCBXRUJL
SVRfVFlQRV9XRUJSVENfVklERU9fRU5DT0RFUikpCisKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRX
ZWJydGNWaWRlb0VuY29kZXIgV2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyOwordHlwZWRlZiBzdHJ1
Y3QgX1dlYktpdFdlYnJ0Y1ZpZGVvRW5jb2RlckNsYXNzIFdlYktpdFdlYnJ0Y1ZpZGVvRW5jb2Rl
ckNsYXNzOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYnJ0Y1ZpZGVvRW5jb2RlclByaXZhdGUg
V2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyUHJpdmF0ZTsKKworc3RydWN0IF9XZWJLaXRXZWJydGNW
aWRlb0VuY29kZXIgeworICAgIEdzdEJpbiBwYXJlbnQ7CisKKyAgICBXZWJLaXRXZWJydGNWaWRl
b0VuY29kZXJQcml2YXRlKiBwcml2OworfTsKKworc3RydWN0IF9XZWJLaXRXZWJydGNWaWRlb0Vu
Y29kZXJDbGFzcyB7CisgICAgR3N0QmluQ2xhc3MgcGFyZW50Q2xhc3M7Cit9OworCitHVHlwZSB3
ZWJraXRfd2VicnRjX3ZpZGVvX2VuY29kZXJfZ2V0X3R5cGUodm9pZCk7CisKK0dfRU5EX0RFQ0xT
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFt
ZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ckdTdHJlYW1lci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmMxZTA5MWU0NmJlYmM2YWVkZDFhMWQwY2E2NDRk
Yzk2YTA2M2NkNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2dzdHJlYW1lci9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyR1N0cmVhbWVyLmNw
cApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IE1ldHJvbG9naWNh
bCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqIEF1dGhv
cjogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKyAqIEF1dGhvcjogQWxl
amFuZHJvIEcuIENhc3RybyA8YWxleEBpZ2FsaWEuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWludCB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlci5oIgorCisjaW5jbHVkZSAiR1N0cmVhbWVyQXVkaW9DYXB0dXJlU291cmNlLmgiCisjaW5j
bHVkZSAiR1N0cmVhbWVyQ2FwdHVyZURldmljZS5oIgorI2luY2x1ZGUgIkdTdHJlYW1lclZpZGVv
Q2FwdHVyZVNvdXJjZS5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworQXVkaW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlcjo6ZGVmYXVsdEF1ZGlvQ2FwdHVyZUZhY3RvcnkoKQoreworICAgIHJldHVybiBHU3RyZWFt
ZXJBdWRpb0NhcHR1cmVTb3VyY2U6OmZhY3RvcnkoKTsKK30KKworVmlkZW9DYXB0dXJlRmFjdG9y
eSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVmYXVsdFZpZGVvQ2FwdHVyZUZhY3Rvcnko
KQoreworICAgIHJldHVybiBHU3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2U6OmZhY3RvcnkoKTsK
K30KKworRGlzcGxheUNhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpk
ZWZhdWx0RGlzcGxheUNhcHR1cmVGYWN0b3J5KCkKK3sKKyAgICByZXR1cm4gR1N0cmVhbWVyVmlk
ZW9DYXB0dXJlU291cmNlOjpkaXNwbGF5RmFjdG9yeSgpOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3Ry
ZWFtZXJWaWRlb0VuY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0VuY29kZXIuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMzQyODg0YWFlNjBkMzI0NGMxZjNiN2QwMzZlMTYyZjgx
OTcyN2FhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0
cmVhbWVyVmlkZW9FbmNvZGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI5MCArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMjAgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KLSAq
IENvcHlyaWdodCAoQykgMjAxOC0yMDIwIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhaW50IHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkdTdHJlYW1lclZpZGVvRW5jb2Rlci5oIgot
Ci0jaWYgRU5BQkxFKFZJREVPKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoTElCV0VC
UlRDKSAmJiBVU0UoR1NUUkVBTUVSKQotCi0jaW5jbHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCi0j
aW5jbHVkZSA8d3RmL1N0ZE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9nbGliL1dURkdUeXBlLmg+Ci0K
LXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1HU1RfREVCVUdfQ0FURUdPUlkod2VicnRjX3Zl
bmNfZGVidWcpOwotI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2VicnRjX3ZlbmNfZGVidWcKLQot
I2RlZmluZSBLQklUX1RPX0JJVCAxMDI0Ci0KLXN0YXRpYyBHc3RTdGF0aWNQYWRUZW1wbGF0ZSBz
aW5rVGVtcGxhdGUgPSBHU1RfU1RBVElDX1BBRF9URU1QTEFURSgic2luayIsIEdTVF9QQURfU0lO
SywgR1NUX1BBRF9BTFdBWVMsIEdTVF9TVEFUSUNfQ0FQUygidmlkZW8veC1yYXcoQU5ZKSIpKTsK
LXN0YXRpYyBHc3RTdGF0aWNQYWRUZW1wbGF0ZSBzcmNUZW1wbGF0ZSA9IEdTVF9TVEFUSUNfUEFE
X1RFTVBMQVRFKCJzcmMiLCBHU1RfUEFEX1NSQywgR1NUX1BBRF9BTFdBWVMsIEdTVF9TVEFUSUNf
Q0FQUygidmlkZW8veC1oMjY0IikpOwotCi11c2luZyBTZXRCaXRyYXRlRnVuYyA9IEZ1bmN0aW9u
PHZvaWQoR09iamVjdCogZW5jb2RlciwgY29uc3QgY2hhciogcHJvcGVydHlOYW1lLCBpbnQgYml0
cmF0ZSk+OwotdXNpbmcgU2V0dXBGdW5jID0gRnVuY3Rpb248dm9pZChXZWJLaXRXZWJydGNWaWRl
b0VuY29kZXIqKT47Ci0KLXN0cnVjdCBFbmNvZGVyRGVmaW5pdGlvbiB7Ci0gICAgR1JlZlB0cjxH
c3RDYXBzPiBjYXBzOwotICAgIGNvbnN0IGNoYXIqIG5hbWU7Ci0gICAgY29uc3QgY2hhciogcGFy
c2VyTmFtZTsKLSAgICBHUmVmUHRyPEdzdENhcHM+IGVuY29kZWRGb3JtYXQ7Ci0gICAgU2V0Qml0
cmF0ZUZ1bmMgc2V0Qml0cmF0ZTsKLSAgICBTZXR1cEZ1bmMgc2V0dXBFbmNvZGVyOwotICAgIGNv
bnN0IGNoYXIqIGJpdHJhdGVQcm9wZXJ0eU5hbWU7Ci0gICAgY29uc3QgY2hhcioga2V5ZnJhbWVJ
bnRlcnZhbFByb3BlcnR5TmFtZTsKLX07Ci0KLWVudW0gRW5jb2RlcklkIHsgTm9uZSwgWDI2NCwg
T3BlbkgyNjQsIE9teEgyNjQgfTsKLQotY2xhc3MgRW5jb2RlcnMgewotcHVibGljOgotICAgIHN0
YXRpYyBTdGRNYXA8RW5jb2RlcklkLCBFbmNvZGVyRGVmaW5pdGlvbj4mIHNpbmdsZXRvbigpCi0g
ICAgewotICAgICAgICBzdGF0aWMgU3RkTWFwPEVuY29kZXJJZCwgRW5jb2RlckRlZmluaXRpb24+
IGVuY29kZXJzOwotICAgICAgICByZXR1cm4gZW5jb2RlcnM7Ci0gICAgfQotCi0gICAgc3RhdGlj
IHZvaWQgcmVnaXN0ZXJFbmNvZGVyKEVuY29kZXJJZCBpZCwgY29uc3QgY2hhciogbmFtZSwgY29u
c3QgY2hhciogcGFyc2VyTmFtZSwgY29uc3QgY2hhciogY2FwcywgY29uc3QgY2hhciogZW5jb2Rl
ZEZvcm1hdCwKLSAgICAgICAgU2V0dXBGdW5jJiYgc2V0dXBFbmNvZGVyLCBjb25zdCBjaGFyKiBi
aXRyYXRlUHJvcGVydHlOYW1lLCBTZXRCaXRyYXRlRnVuYyYmIHNldEJpdHJhdGUsIGNvbnN0IGNo
YXIqIGtleWZyYW1lSW50ZXJ2YWxQcm9wZXJ0eU5hbWUpCi0gICAgewotICAgICAgICBhdXRvIGZl
YXR1cmUgPSBhZG9wdEdSZWYoZ3N0X3JlZ2lzdHJ5X2xvb2t1cF9mZWF0dXJlKGdzdF9yZWdpc3Ry
eV9nZXQoKSwgbmFtZSkpOwotICAgICAgICBpZiAoIWZlYXR1cmUpCi0gICAgICAgICAgICByZXR1
cm47Ci0KLSAgICAgICAgc2luZ2xldG9uKCkuZW1wbGFjZShzdGQ6Om1ha2VfcGFpcihpZCwgKEVu
Y29kZXJEZWZpbml0aW9uKSB7Ci0gICAgICAgICAgICAuY2FwcyA9IGFkb3B0R1JlZihnc3RfY2Fw
c19mcm9tX3N0cmluZyhjYXBzKSksCi0gICAgICAgICAgICAubmFtZSA9IG5hbWUsCi0gICAgICAg
ICAgICAucGFyc2VyTmFtZSA9IHBhcnNlck5hbWUsCi0gICAgICAgICAgICAuZW5jb2RlZEZvcm1h
dCA9IGVuY29kZWRGb3JtYXQgPyBhZG9wdEdSZWYoZ3N0X2NhcHNfZnJvbV9zdHJpbmcoZW5jb2Rl
ZEZvcm1hdCkpIDogbnVsbHB0ciwKLSAgICAgICAgICAgIC5zZXRCaXRyYXRlID0gV1RGTW92ZShz
ZXRCaXRyYXRlKSwKLSAgICAgICAgICAgIC5zZXR1cEVuY29kZXIgPSBXVEZNb3ZlKHNldHVwRW5j
b2RlciksCi0gICAgICAgICAgICAuYml0cmF0ZVByb3BlcnR5TmFtZSA9IGJpdHJhdGVQcm9wZXJ0
eU5hbWUsCi0gICAgICAgICAgICAua2V5ZnJhbWVJbnRlcnZhbFByb3BlcnR5TmFtZSA9IGtleWZy
YW1lSW50ZXJ2YWxQcm9wZXJ0eU5hbWUsCi0gICAgICAgIH0pKTsKLSAgICB9Ci0KLSAgICBzdGF0
aWMgRW5jb2RlckRlZmluaXRpb24qIGRlZmluaXRpb24oRW5jb2RlcklkIGlkKQotICAgIHsKLSAg
ICAgICAgaWYgKGlkID09IE5vbmUpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAg
ICAgcmV0dXJuICZzaW5nbGV0b24oKVtpZF07Ci0gICAgfQotfTsKLQotc3RydWN0IF9XZWJLaXRX
ZWJydGNWaWRlb0VuY29kZXJQcml2YXRlIHsKLSAgICBFbmNvZGVySWQgZW5jb2RlcklkOwotICAg
IEdSZWZQdHI8R3N0RWxlbWVudD4gZW5jb2RlcjsKLSAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IHBh
cnNlcjsKLSAgICB1bnNpZ25lZCBiaXRyYXRlOwotfTsKLQotI2RlZmluZSB3ZWJraXRfd2VicnRj
X3ZpZGVvX2VuY29kZXJfcGFyZW50X2NsYXNzIHBhcmVudF9jbGFzcwotV0VCS0lUX0RFRklORV9U
WVBFX1dJVEhfQ09ERShXZWJLaXRXZWJydGNWaWRlb0VuY29kZXIsIHdlYmtpdF93ZWJydGNfdmlk
ZW9fZW5jb2RlciwgR1NUX1RZUEVfQklOLAotICAgIEdTVF9ERUJVR19DQVRFR09SWV9JTklUKHdl
YnJ0Y192ZW5jX2RlYnVnLCAid2VicnRjZW5jb2RlciIsIDAsICJWaWRlbyBlbmNvZGVyIGZvciBX
ZWJSVEMiKSkKLQotZW51bSB7Ci0gICAgUFJPUF9GT1JNQVQgPSAxLAotICAgIFBST1BfRU5DT0RF
UiwKLSAgICBQUk9QX0JJVFJBVEUsCi0gICAgUFJPUF9LRVlGUkFNRV9JTlRFUlZBTCwKLSAgICBO
X1BST1BTCi19OwotCi1zdGF0aWMgdm9pZCB3ZWJydGNWaWRlb0VuY29kZXJHZXRQcm9wZXJ0eShH
T2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIEdWYWx1ZSogdmFsdWUsIEdQYXJhbVNwZWMq
IHBzcGVjKQotewotICAgIGF1dG8qIHNlbGYgPSBXRUJLSVRfV0VCUlRDX1ZJREVPX0VOQ09ERVIo
b2JqZWN0KTsKLSAgICBhdXRvKiBwcml2ID0gc2VsZi0+cHJpdjsKLQotICAgIHN3aXRjaCAocHJv
cF9pZCkgewotICAgIGNhc2UgUFJPUF9GT1JNQVQ6Ci0gICAgICAgIGlmIChwcml2LT5lbmNvZGVy
SWQgIT0gTm9uZSkgewotICAgICAgICAgICAgYXV0byBlbmNvZGVyID0gRW5jb2RlcnM6OmRlZmlu
aXRpb24ocHJpdi0+ZW5jb2RlcklkKTsKLSAgICAgICAgICAgIGdfdmFsdWVfc2V0X2JveGVkKHZh
bHVlLCBlbmNvZGVyLT5jYXBzLmdldCgpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBn
X3ZhbHVlX3NldF9ib3hlZCh2YWx1ZSwgbnVsbHB0cik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgUFJPUF9FTkNPREVSOgotICAgICAgICBnX3ZhbHVlX3NldF9vYmplY3QodmFsdWUsIHByaXYt
PmVuY29kZXIuZ2V0KCkpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFBST1BfQklUUkFURToK
LSAgICAgICAgZ192YWx1ZV9zZXRfdWludCh2YWx1ZSwgcHJpdi0+Yml0cmF0ZSk7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgUFJPUF9LRVlGUkFNRV9JTlRFUlZBTDoKLSAgICAgICAgaWYgKHBy
aXYtPmVuY29kZXIpIHsKLSAgICAgICAgICAgIGF1dG8gZW5jb2RlciA9IEVuY29kZXJzOjpkZWZp
bml0aW9uKHByaXYtPmVuY29kZXJJZCk7Ci0gICAgICAgICAgICBnX29iamVjdF9nZXRfcHJvcGVy
dHkoR19PQkpFQ1QocHJpdi0+ZW5jb2Rlci5nZXQoKSksIGVuY29kZXItPmtleWZyYW1lSW50ZXJ2
YWxQcm9wZXJ0eU5hbWUsIHZhbHVlKTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBk
ZWZhdWx0OgotICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0
LCBwcm9wX2lkLCBwc3BlYyk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLX0KLQotc3RhdGljIHZv
aWQgd2VicnRjVmlkZW9FbmNvZGVyU2V0Qml0cmF0ZShXZWJLaXRXZWJydGNWaWRlb0VuY29kZXIq
IHNlbGYsIGd1aW50IGJpdHJhdGUpCi17Ci0gICAgYXV0byogcHJpdiA9IHNlbGYtPnByaXY7Ci0g
ICAgcHJpdi0+Yml0cmF0ZSA9IGJpdHJhdGU7Ci0KLSAgICBpZiAocHJpdi0+ZW5jb2RlcklkICE9
IE5vbmUpIHsKLSAgICAgICAgYXV0byBlbmNvZGVyID0gRW5jb2RlcnM6OmRlZmluaXRpb24ocHJp
di0+ZW5jb2RlcklkKTsKLSAgICAgICAgZW5jb2Rlci0+c2V0Qml0cmF0ZShHX09CSkVDVChwcml2
LT5lbmNvZGVyLmdldCgpKSwgZW5jb2Rlci0+Yml0cmF0ZVByb3BlcnR5TmFtZSwgcHJpdi0+Yml0
cmF0ZSk7Ci0gICAgfQotfQotCi1zdGF0aWMgdm9pZCB3ZWJydGNWaWRlb0VuY29kZXJTZXRFbmNv
ZGVyKFdlYktpdFdlYnJ0Y1ZpZGVvRW5jb2Rlciogc2VsZiwgR1JlZlB0cjxHc3RFbGVtZW50PiYm
IGVuY29kZXJFbGVtZW50LCBFbmNvZGVySWQgZW5jb2RlcklkKQotewotICAgIGF1dG8qIHByaXYg
PSBzZWxmLT5wcml2OwotICAgIHByaXYtPmVuY29kZXJJZCA9IGVuY29kZXJJZDsKLSAgICBwcml2
LT5lbmNvZGVyID0gV1RGTW92ZShlbmNvZGVyRWxlbWVudCk7Ci0KLSAgICBhdXRvIGVuY29kZXIg
PSBFbmNvZGVyczo6ZGVmaW5pdGlvbihlbmNvZGVySWQpOwotICAgIEFTU0VSVChlbmNvZGVyKTsK
LSAgICBpZiAoZW5jb2Rlci0+cGFyc2VyTmFtZSkKLSAgICAgICAgcHJpdi0+cGFyc2VyID0gbWFr
ZUdTdHJlYW1lckVsZW1lbnQoZW5jb2Rlci0+cGFyc2VyTmFtZSwgbnVsbHB0cik7Ci0KLSAgICBl
bmNvZGVyLT5zZXR1cEVuY29kZXIoc2VsZik7Ci0KLSAgICBnc3RfYmluX2FkZChHU1RfQklOX0NB
U1Qoc2VsZiksIHByaXYtPmVuY29kZXIuZ2V0KCkpOwotCi0gICAgYXV0byBzaW5rUGFkVGFyZ2V0
ID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKHByaXYtPmVuY29kZXIuZ2V0
KCksICJzaW5rIikpOwotICAgIGF1dG8gc2lua1BhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9n
ZXRfc3RhdGljX3BhZChHU1RfRUxFTUVOVF9DQVNUKHNlbGYpLCAic2luayIpKTsKLSAgICBnc3Rf
Z2hvc3RfcGFkX3NldF90YXJnZXQoR1NUX0dIT1NUX1BBRChzaW5rUGFkLmdldCgpKSwgc2lua1Bh
ZFRhcmdldC5nZXQoKSk7Ci0KLSAgICBHUmVmUHRyPEdzdFBhZD4gc3JjUGFkVGFyZ2V0OwotICAg
IGlmIChwcml2LT5wYXJzZXIpIHsKLSAgICAgICAgZ3N0X2Jpbl9hZGQoR1NUX0JJTl9DQVNUKHNl
bGYpLCBwcml2LT5wYXJzZXIuZ2V0KCkpOwotICAgICAgICBnc3RfZWxlbWVudF9saW5rKHByaXYt
PmVuY29kZXIuZ2V0KCksIHByaXYtPnBhcnNlci5nZXQoKSk7Ci0gICAgICAgIHNyY1BhZFRhcmdl
dCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChwcml2LT5wYXJzZXIuZ2V0
KCksICJzcmMiKSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHNyY1BhZFRhcmdldCA9IGFkb3B0R1Jl
Zihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChwcml2LT5lbmNvZGVyLmdldCgpLCAic3JjIikp
OwotCi0gICAgaWYgKGVuY29kZXItPmVuY29kZWRGb3JtYXQpIHsKLSAgICAgICAgYXV0byogY2Fw
c2ZpbHRlciA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgiY2Fwc2ZpbHRlciIsIG51bGxwdHIp
OwotICAgICAgICBnX29iamVjdF9zZXQoY2Fwc2ZpbHRlciwgImNhcHMiLCBlbmNvZGVyLT5lbmNv
ZGVkRm9ybWF0LmdldCgpLCBudWxscHRyKTsKLQotICAgICAgICBnc3RfYmluX2FkZChHU1RfQklO
X0NBU1Qoc2VsZiksIGNhcHNmaWx0ZXIpOwotICAgICAgICBhdXRvIHNpbmtQYWQgPSBhZG9wdEdS
ZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQoY2Fwc2ZpbHRlciwgInNpbmsiKSk7Ci0gICAg
ICAgIGdzdF9wYWRfbGluayhzcmNQYWRUYXJnZXQuZ2V0KCksIHNpbmtQYWQuZ2V0KCkpOwotICAg
ICAgICBzcmNQYWRUYXJnZXQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQo
Y2Fwc2ZpbHRlciwgInNyYyIpKTsKLSAgICB9Ci0KLSAgICBhdXRvIHNyY1BhZCA9IGFkb3B0R1Jl
Zihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChHU1RfRUxFTUVOVF9DQVNUKHNlbGYpLCAic3Jj
IikpOwotICAgIGdzdF9naG9zdF9wYWRfc2V0X3RhcmdldChHU1RfR0hPU1RfUEFEKHNyY1BhZC5n
ZXQoKSksIHNyY1BhZFRhcmdldC5nZXQoKSk7Ci0KLSAgICB3ZWJydGNWaWRlb0VuY29kZXJTZXRC
aXRyYXRlKHNlbGYsIHByaXYtPmJpdHJhdGUpOwotfQotCi1zdGF0aWMgdm9pZCB3ZWJydGNWaWRl
b0VuY29kZXJTZXRGb3JtYXQoV2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyKiBzZWxmLCBjb25zdCBH
c3RDYXBzKiBjYXBzKQotewotICAgIGlmICghY2FwcykKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
Zm9yIChjb25zdCBhdXRvJiBwYWlyIDogRW5jb2RlcnM6OnNpbmdsZXRvbigpKSB7Ci0gICAgICAg
IGNvbnN0IGF1dG8mIGVuY29kZXIgPSBwYWlyLnNlY29uZDsKLSAgICAgICAgaWYgKGdzdF9jYXBz
X2Nhbl9pbnRlcnNlY3QoZW5jb2Rlci5jYXBzLmdldCgpLCBjYXBzKSkgewotICAgICAgICAgICAg
R1JlZlB0cjxHc3RFbGVtZW50PiBlbGVtZW50ID0gbWFrZUdTdHJlYW1lckVsZW1lbnQoZW5jb2Rl
ci5uYW1lLCBudWxscHRyKTsKLSAgICAgICAgICAgIHdlYnJ0Y1ZpZGVvRW5jb2RlclNldEVuY29k
ZXIoc2VsZiwgV1RGTW92ZShlbGVtZW50KSwgcGFpci5maXJzdCk7Ci0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBHU1RfRVJST1IoIk5vIGVuY29kZXIgZm91bmQg
Zm9yIGZvcm1hdCAlIiBHU1RfUFRSX0ZPUk1BVCwgY2Fwcyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHdl
YnJ0Y1ZpZGVvRW5jb2RlclNldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9p
ZCwgY29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpCi17Ci0gICAgYXV0byog
c2VsZiA9IFdFQktJVF9XRUJSVENfVklERU9fRU5DT0RFUihvYmplY3QpOwotICAgIGF1dG8qIHBy
aXYgPSBzZWxmLT5wcml2OwotCi0gICAgc3dpdGNoIChwcm9wX2lkKSB7Ci0gICAgY2FzZSBQUk9Q
X0ZPUk1BVDoKLSAgICAgICAgd2VicnRjVmlkZW9FbmNvZGVyU2V0Rm9ybWF0KHNlbGYsIGdzdF92
YWx1ZV9nZXRfY2Fwcyh2YWx1ZSkpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFBST1BfQklU
UkFURToKLSAgICAgICAgd2VicnRjVmlkZW9FbmNvZGVyU2V0Qml0cmF0ZShzZWxmLCBnX3ZhbHVl
X2dldF91aW50KHZhbHVlKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUFJPUF9LRVlGUkFN
RV9JTlRFUlZBTDoKLSAgICAgICAgaWYgKHByaXYtPmVuY29kZXIpIHsKLSAgICAgICAgICAgIGF1
dG8gZW5jb2RlciA9IEVuY29kZXJzOjpkZWZpbml0aW9uKHByaXYtPmVuY29kZXJJZCk7Ci0gICAg
ICAgICAgICBnX29iamVjdF9zZXQocHJpdi0+ZW5jb2Rlci5nZXQoKSwgZW5jb2Rlci0+a2V5ZnJh
bWVJbnRlcnZhbFByb3BlcnR5TmFtZSwgZ192YWx1ZV9nZXRfdWludCh2YWx1ZSksIG51bGxwdHIp
OwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEdfT0JK
RUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotfQotCi1zdGF0aWMgdm9pZCBzZXRCaXRyYXRlS2JpdFBlclNl
YyhHT2JqZWN0KiBlbmNvZGVyLCBjb25zdCBjaGFyKiBwcm9wZXJ0eU5hbWUsIGludCBiaXRyYXRl
KQotewotICAgIGdfb2JqZWN0X3NldChlbmNvZGVyLCBwcm9wZXJ0eU5hbWUsIGJpdHJhdGUsIG51
bGxwdHIpOwotfQotCi1zdGF0aWMgdm9pZCBzZXRCaXRyYXRlQml0UGVyU2VjKEdPYmplY3QqIGVu
Y29kZXIsIGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgaW50IGJpdHJhdGUpCi17Ci0gICAgZ19v
YmplY3Rfc2V0KGVuY29kZXIsIHByb3BlcnR5TmFtZSwgYml0cmF0ZSAqIEtCSVRfVE9fQklULCBu
dWxscHRyKTsKLX0KLQotc3RhdGljIHZvaWQgd2VicnRjVmlkZW9FbmNvZGVyQ29uc3RydWN0ZWQo
R09iamVjdCogZW5jb2RlcikKLXsKLSAgICBhdXRvKiBzZWxmID0gV0VCS0lUX1dFQlJUQ19WSURF
T19FTkNPREVSKGVuY29kZXIpOwotICAgIHNlbGYtPnByaXYtPmVuY29kZXJJZCA9IE5vbmU7Ci0g
ICAgZ3N0X2VsZW1lbnRfYWRkX3BhZChHU1RfRUxFTUVOVF9DQVNUKHNlbGYpLCB3ZWJraXRHc3RH
aG9zdFBhZEZyb21TdGF0aWNUZW1wbGF0ZSgmc2lua1RlbXBsYXRlLCAic2luayIsIG51bGxwdHIp
KTsKLSAgICBnc3RfZWxlbWVudF9hZGRfcGFkKEdTVF9FTEVNRU5UX0NBU1Qoc2VsZiksIHdlYmtp
dEdzdEdob3N0UGFkRnJvbVN0YXRpY1RlbXBsYXRlKCZzcmNUZW1wbGF0ZSwgInNyYyIsIG51bGxw
dHIpKTsKLX0KLQotc3RhdGljIHZvaWQgd2Via2l0X3dlYnJ0Y192aWRlb19lbmNvZGVyX2NsYXNz
X2luaXQoV2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyQ2xhc3MqIGtsYXNzKQotewotICAgIEdPYmpl
Y3RDbGFzcyogb2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9DTEFTUyhrbGFzcyk7Ci0gICAgb2JqZWN0
Q2xhc3MtPmNvbnN0cnVjdGVkID0gd2VicnRjVmlkZW9FbmNvZGVyQ29uc3RydWN0ZWQ7Ci0gICAg
b2JqZWN0Q2xhc3MtPmdldF9wcm9wZXJ0eSA9IHdlYnJ0Y1ZpZGVvRW5jb2RlckdldFByb3BlcnR5
OwotICAgIG9iamVjdENsYXNzLT5zZXRfcHJvcGVydHkgPSB3ZWJydGNWaWRlb0VuY29kZXJTZXRQ
cm9wZXJ0eTsKLQotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkob2JqZWN0Q2xh
c3MsIFBST1BfRk9STUFULCBnX3BhcmFtX3NwZWNfYm94ZWQoImZvcm1hdCIsICJGb3JtYXQgYXMg
Y2FwcyIsICJTZXQgdGhlIGNhcHMgb2YgdGhlIGZvcm1hdCB0byBiZSB1c2VkLiIsIEdTVF9UWVBF
X0NBUFMsIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLQotICAgIGdfb2JqZWN0X2NsYXNzX2lu
c3RhbGxfcHJvcGVydHkob2JqZWN0Q2xhc3MsIFBST1BfRU5DT0RFUiwgZ19wYXJhbV9zcGVjX29i
amVjdCgiZW5jb2RlciIsICJUaGUgYWN0dWFsIGVuY29kZXIgZWxlbWVudCIsICJUaGUgZW5jb2Rl
ciBlbGVtZW50IiwgR1NUX1RZUEVfRUxFTUVOVCwgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7Ci0K
LSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KG9iamVjdENsYXNzLCBQUk9QX0JJ
VFJBVEUsIGdfcGFyYW1fc3BlY191aW50KCJiaXRyYXRlIiwgIkJpdHJhdGUiLCAiVGhlIGJpdHJh
dGUgaW4ga2JpdCBwZXIgc2Vjb25kIiwgMCwgR19NQVhJTlQsIDIwNDgsCi0gICAgICAgIHN0YXRp
Y19jYXN0PEdQYXJhbUZsYWdzPihHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NU
UklOR1MgfCBHX1BBUkFNX0NPTlNUUlVDVCkpKTsKLQotICAgIGdfb2JqZWN0X2NsYXNzX2luc3Rh
bGxfcHJvcGVydHkob2JqZWN0Q2xhc3MsIFBST1BfS0VZRlJBTUVfSU5URVJWQUwsIGdfcGFyYW1f
c3BlY191aW50KCJrZXlmcmFtZS1pbnRlcnZhbCIsICJLZXlmcmFtZSBpbnRlcnZhbCIsICJUaGUg
aW50ZXJ2YWwgYmV0d2VlbiBrZXlmcmFtZXMiLCAwLCBHX01BWElOVCwgMCwKLSAgICAgICAgc3Rh
dGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KEdfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9TVEFUSUNf
U1RSSU5HUyB8IEdfUEFSQU1fQ09OU1RSVUNUKSkpOwotCi0gICAgRW5jb2RlcnM6OnJlZ2lzdGVy
RW5jb2RlcihPbXhIMjY0LCAib214aDI2NGVuYyIsICJoMjY0cGFyc2UiLCAidmlkZW8veC1oMjY0
IiwKLSAgICAgICAgInZpZGVvL3gtaDI2NCxhbGlnbm1lbnQ9YXUsc3RyZWFtLWZvcm1hdD1ieXRl
LXN0cmVhbSxwcm9maWxlPWJhc2VsaW5lIiwKLSAgICAgICAgW10oV2ViS2l0V2VicnRjVmlkZW9F
bmNvZGVyKiBzZWxmKSB7Ci0gICAgICAgICAgICBnc3RfdXRpbF9zZXRfb2JqZWN0X2FyZyhHX09C
SkVDVChzZWxmLT5wcml2LT5lbmNvZGVyLmdldCgpKSwgImNvbnRyb2wtcmF0ZSIsICJ2YXJpYWJs
ZSIpOwotICAgICAgICAgICAgZ19vYmplY3Rfc2V0KHNlbGYtPnByaXYtPnBhcnNlci5nZXQoKSwg
ImNvbmZpZy1pbnRlcnZhbCIsIDEsIG51bGxwdHIpOwotICAgICAgICB9LCAidGFyZ2V0LWJpdHJh
dGUiLCBzZXRCaXRyYXRlQml0UGVyU2VjLCAiaW50ZXJ2YWwtaW50cmFmcmFtZXMiKTsKLSAgICBF
bmNvZGVyczo6cmVnaXN0ZXJFbmNvZGVyKFgyNjQsICJ4MjY0ZW5jIiwgImgyNjRwYXJzZSIsICJ2
aWRlby94LWgyNjQiLAotICAgICAgICAidmlkZW8veC1oMjY0LGFsaWdubWVudD1hdSxzdHJlYW0t
Zm9ybWF0PWJ5dGUtc3RyZWFtLHByb2ZpbGU9YmFzZWxpbmUiLAotICAgICAgICBbXShXZWJLaXRX
ZWJydGNWaWRlb0VuY29kZXIqIHNlbGYpIHsKLSAgICAgICAgICAgIGdzdF91dGlsX3NldF9vYmpl
Y3RfYXJnKEdfT0JKRUNUKHNlbGYtPnByaXYtPmVuY29kZXIuZ2V0KCkpLCAidHVuZSIsICJ6ZXJv
bGF0ZW5jeSIpOwotICAgICAgICAgICAgZ19vYmplY3Rfc2V0KHNlbGYtPnByaXYtPnBhcnNlci5n
ZXQoKSwgImNvbmZpZy1pbnRlcnZhbCIsIDEsIG51bGxwdHIpOwotICAgICAgICB9LCAiYml0cmF0
ZSIsIHNldEJpdHJhdGVLYml0UGVyU2VjLCAia2V5LWludC1tYXgiKTsKLSAgICBFbmNvZGVyczo6
cmVnaXN0ZXJFbmNvZGVyKE9wZW5IMjY0LCAib3BlbmgyNjRlbmMiLCAiaDI2NHBhcnNlIiwgInZp
ZGVvL3gtaDI2NCIsCi0gICAgICAgICJ2aWRlby94LWgyNjQsYWxpZ25tZW50PWF1LHN0cmVhbS1m
b3JtYXQ9Ynl0ZS1zdHJlYW0scHJvZmlsZT1iYXNlbGluZSIsCi0gICAgICAgIFtdKFdlYktpdFdl
YnJ0Y1ZpZGVvRW5jb2Rlciogc2VsZikgewotICAgICAgICAgICAgZ19vYmplY3Rfc2V0KHNlbGYt
PnByaXYtPnBhcnNlci5nZXQoKSwgImNvbmZpZy1pbnRlcnZhbCIsIDEsIG51bGxwdHIpOwotICAg
ICAgICB9LCAiYml0cmF0ZSIsIHNldEJpdHJhdGVCaXRQZXJTZWMsICJnb3Atc2l6ZSIpOwotfQot
Ci0jZW5kaWYgLy8gRU5BQkxFKFZJREVPKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0Uo
TElCV0VCUlRDKSAmJiBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0Vu
Y29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9n
c3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9FbmNvZGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDRkNjZlZDdlYjM5M2JkZmExOTEzOTJhYTEyN2UzOGUyMTA1OTkwZjYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0VuY29k
ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTggTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KLSAqIENvcHlyaWdodCAoQykgMjAxOCBJZ2Fs
aWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
LSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQotICogYWludCB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8Z3N0
L2dzdC5oPgotCi1HX0JFR0lOX0RFQ0xTCi0KLSNkZWZpbmUgV0VCS0lUX1RZUEVfV0VCUlRDX1ZJ
REVPX0VOQ09ERVIgKHdlYmtpdF93ZWJydGNfdmlkZW9fZW5jb2Rlcl9nZXRfdHlwZSgpKQotI2Rl
ZmluZSBXRUJLSVRfV0VCUlRDX1ZJREVPX0VOQ09ERVIob2JqKSAoR19UWVBFX0NIRUNLX0lOU1RB
TkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX1dFQlJUQ19WSURFT19FTkNPREVSLCBXZWJLaXRX
ZWJydGNWaWRlb0VuY29kZXIpKQotI2RlZmluZSBXRUJLSVRfV0VCUlRDX1ZJREVPX0VOQ09ERVJf
Q0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCBXRUJLSVRfVFlQ
RV9XRUJSVENfVklERU9fRU5DT0RFUiwgV2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyQ2xhc3MpKQot
I2RlZmluZSBXRUJLSVRfSVNfV0VCUlRDX1ZJREVPX0VOQ09ERVIob2JqKSAoR19UWVBFX0NIRUNL
X0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX1dFQlJUQ19WSURFT19FTkNPREVSKSkK
LSNkZWZpbmUgV0VCS0lUX0lTX1dFQlJUQ19WSURFT19FTkNPREVSX0NMQVNTKGtsYXNzKSAoR19U
WVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgV0VCS0lUX1RZUEVfV0VCUlRDX1ZJREVPX0VO
Q09ERVIpKQotCi10eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyIFdlYktp
dFdlYnJ0Y1ZpZGVvRW5jb2RlcjsKLXR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJydGNWaWRlb0Vu
Y29kZXJDbGFzcyBXZWJLaXRXZWJydGNWaWRlb0VuY29kZXJDbGFzczsKLXR5cGVkZWYgc3RydWN0
IF9XZWJLaXRXZWJydGNWaWRlb0VuY29kZXJQcml2YXRlIFdlYktpdFdlYnJ0Y1ZpZGVvRW5jb2Rl
clByaXZhdGU7Ci0KLXN0cnVjdCBfV2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyIHsKLSAgICBHc3RC
aW4gcGFyZW50OwotCi0gICAgV2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyUHJpdmF0ZSogcHJpdjsK
LX07Ci0KLXN0cnVjdCBfV2ViS2l0V2VicnRjVmlkZW9FbmNvZGVyQ2xhc3MgewotICAgIEdzdEJp
bkNsYXNzIHBhcmVudENsYXNzOwotfTsKLQotR1R5cGUgd2Via2l0X3dlYnJ0Y192aWRlb19lbmNv
ZGVyX2dldF90eXBlKHZvaWQpOwotCi1HX0VORF9ERUNMUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyTGliV2ViUlRDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxp
YldlYlJUQy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjMWUwOTFlNDZiZWJj
NmFlZGQxYTFkMGNhNjQ0ZGM5NmEwNjNjZDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTgg
TWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KLSAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5M
LgotICogQXV0aG9yOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgotICog
QXV0aG9yOiBBbGVqYW5kcm8gRy4gQ2FzdHJvIDxhbGV4QGlnYWxpYS5jb20+Ci0gKgotICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhaW50IHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSNpbmNsdWRlICJSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmgiCi0KLSNpbmNsdWRlICJHU3RyZWFtZXJBdWRpb0NhcHR1cmVTb3Vy
Y2UuaCIKLSNpbmNsdWRlICJHU3RyZWFtZXJDYXB0dXJlRGV2aWNlLmgiCi0jaW5jbHVkZSAiR1N0
cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1BdWRpb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0QXVkaW9DYXB0dXJlRmFjdG9yeSgpCi17Ci0gICAgcmV0
dXJuIEdTdHJlYW1lckF1ZGlvQ2FwdHVyZVNvdXJjZTo6ZmFjdG9yeSgpOwotfQotCi1WaWRlb0Nh
cHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0VmlkZW9DYXB0
dXJlRmFjdG9yeSgpCi17Ci0gICAgcmV0dXJuIEdTdHJlYW1lclZpZGVvQ2FwdHVyZVNvdXJjZTo6
ZmFjdG9yeSgpOwotfQotCi1EaXNwbGF5Q2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXI6OmRlZmF1bHREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKQotewotICAgIHJldHVybiBH
U3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2U6OmRpc3BsYXlGYWN0b3J5KCk7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDc5ZTAyMmM1
ZDNlYzE1ZDBlMzkzZDM1MjJhNjFjNzZhYWM3NWM0NS4uMTMxMzkxY2M4ZDUyOTgwNmQxMGY4YWY3
OTEzMjYyNGQzNWRjM2FjYSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTE2ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyIGFuZCBWaWRlb0VuY29kZXIgYXJlIG5vdCBsaWJ3ZWJydGMtc3BlY2lm
aWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODAy
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5OgorCiAyMDIxLTA3LTE2ICBQaGlsaXBwZSBO
b3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBMaWJX
ZWJSVEMgZmlsZXMgc2hvdWxkIGJlIGluIGxpYndlYnJ0Yy9nc3RyZWFtZXIKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvc3R5bGUvY2hlY2tlci5weQppbmRleCAxZGIyYmNhYWRiYjBiNzg5MmQ3MTc0YzNk
YzJiYmEzNTU2M2U0YmE1Li5jYTY2YzE1ZDUxMTgyYmFjNDdmNGMyMzA1NzE0MzFiMThiZGJkZDgy
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5CkBAIC0yMzksOCArMjM5
LDggQEAgX1BBVEhfUlVMRVNfU1BFQ0lGSUVSID0gWwogICAgICAgb3MucGF0aC5qb2luKCdTb3Vy
Y2UnLCAnV2ViQ29yZScsICdwbGF0Zm9ybScsICdhdWRpbycsICdnc3RyZWFtZXInLCAnV2ViS2l0
V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIuY3BwJyksCiAgICAgICBvcy5wYXRoLmpvaW4oJ1NvdXJj
ZScsICdXZWJDb3JlJywgJ3BsYXRmb3JtJywgJ21lZGlhc3RyZWFtJywgJ2dzdHJlYW1lcicsICdH
U3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5oJyksCiAgICAgICBvcy5wYXRoLmpvaW4oJ1NvdXJj
ZScsICdXZWJDb3JlJywgJ3BsYXRmb3JtJywgJ21lZGlhc3RyZWFtJywgJ2dzdHJlYW1lcicsICdH
U3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAnKSwKLSAgICAgIG9zLnBhdGguam9pbignU291
cmNlJywgJ1dlYkNvcmUnLCAncGxhdGZvcm0nLCAnbWVkaWFzdHJlYW0nLCAnbGlid2VicnRjJywg
J2dzdHJlYW1lcicsICdHU3RyZWFtZXJWaWRlb0VuY29kZXIuaCcpLAotICAgICAgb3MucGF0aC5q
b2luKCdTb3VyY2UnLCAnV2ViQ29yZScsICdwbGF0Zm9ybScsICdtZWRpYXN0cmVhbScsICdsaWJ3
ZWJydGMnLCAnZ3N0cmVhbWVyJywgJ0dTdHJlYW1lclZpZGVvRW5jb2Rlci5jcHAnKSwKKyAgICAg
IG9zLnBhdGguam9pbignU291cmNlJywgJ1dlYkNvcmUnLCAncGxhdGZvcm0nLCAnbWVkaWFzdHJl
YW0nLCAnZ3N0cmVhbWVyJywgJ0dTdHJlYW1lclZpZGVvRW5jb2Rlci5oJyksCisgICAgICBvcy5w
YXRoLmpvaW4oJ1NvdXJjZScsICdXZWJDb3JlJywgJ3BsYXRmb3JtJywgJ21lZGlhc3RyZWFtJywg
J2dzdHJlYW1lcicsICdHU3RyZWFtZXJWaWRlb0VuY29kZXIuY3BwJyksCiAgICAgICBvcy5wYXRo
LmpvaW4oJ1NvdXJjZScsICdXZWJDb3JlJywgJ3BsYXRmb3JtJywgJ25ldHdvcmsnLCAnc291cCcs
ICdQcm94eVJlc29sdmVyU291cC5jcHAnKSwKICAgICAgIG9zLnBhdGguam9pbignU291cmNlJywg
J1dlYkNvcmUnLCAncGxhdGZvcm0nLCAnbmV0d29yaycsICdzb3VwJywgJ1Byb3h5UmVzb2x2ZXJT
b3VwLmgnKSwKICAgICAgIG9zLnBhdGguam9pbignU291cmNlJywgJ1dlYkNvcmUnLCAncGxhdGZv
cm0nLCAnbmV0d29yaycsICdzb3VwJywgJ1dlYktpdEZvcm1EYXRhSW5wdXRTdHJlYW0uY3BwJyks
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>