<?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>230634</bug_id>
          
          <creation_ts>2021-09-22 12:43:09 -0700</creation_ts>
          <short_desc>[iOS] 2 API tests are constantly timing out</short_desc>
          <delta_ts>2021-09-22 16:18:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Eric Hutchison">ehutchison</reporter>
          <assigned_to name="Ryan Haddad">ryanhaddad</assigned_to>
          <cc>achristensen</cc>
    
    <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ehutchison</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>luiz</cc>
    
    <cc>pangle</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1796169</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Hutchison">ehutchison</who>
    <bug_when>2021-09-22 12:43:09 -0700</bug_when>
    <thetext>TestWebKitAPI.ProcessSwap.PageOverlayLayerPersistence
TestWebKitAPI.ProcessSwap.NavigateBackAfterCrossOriginClientRedirect

is a constant failure on iOS EWS

History: https://results.webkit.org/?suite=api-tests&amp;suite=api-tests&amp;test=TestWebKitAPI.ProcessSwap.PageOverlayLayerPersistence&amp;test=TestWebKitAPI.ProcessSwap.NavigateBackAfterCrossOriginClientRedirect


Test suite failed
Timeout
    TestWebKitAPI.ProcessSwap.NavigateBackAfterCrossOriginClientRedirect
    TestWebKitAPI.ProcessSwap.PageOverlayLayerPersistence
Testing completed, Exit status: 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796182</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-22 13:25:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/83414946&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796202</commentid>
    <comment_count>2</comment_count>
      <attachid>438975</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2021-09-22 14:17:11 -0700</bug_when>
    <thetext>Created attachment 438975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796203</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-09-22 14:18:18 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796255</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-22 16:18:40 -0700</bug_when>
    <thetext>http://trac.webkit.org/r282889</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438975</attachid>
            <date>2021-09-22 14:17:11 -0700</date>
            <delta_ts>2021-09-22 14:28:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230634-20210922141710.patch</filename>
            <type>text/plain</type>
            <size>59309</size>
            <attacher name="Ryan Haddad">ryanhaddad</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU5ZTU1Y2NmMjhiOWMzOTg2
NDA2NzYyNjQ0ZDgwNGRjZjVhODk5MmYuLjRmZGQ1NDg3Y2I2M2VhNjM5YjBmOWYyNTJhYTA3YTQ2
YTMyOWZmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDktMjIgIFJ5YW4gSGFk
ZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgKG1hbnVh
bGx5KSByZXZlcnRpbmcgcjI4Mjg1Ni4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMDYzNAorCisgICAgICAgIENhdXNlZCBQcm9jZXNzU3dhcCBBUEkg
dGVzdCBmYWlsdXJlcyBvbiBpT1MuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc3Q6CisKKyAg
ICAgICAgIlJlbW92ZSBHZW5lcmljQ2FsbGJhY2siCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzNjYKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzI4Mjg1Ni93ZWJraXQKKwogMjAyMS0wOS0yMiAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERyb3AgbWFrZVJlZigpIGFuZCB1c2UgUmVm
IHsgfSBpbnN0ZWFkCkBAIC0zMzAsNzUgKzM0Myw2IEBACiAKICAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvcGxheXN0YXRpb24vV0tQYWdlUHJpdmF0ZVBsYXlTdGF0aW9uLmNwcDoKIAotMjAyMS0w
OS0yMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgotCi0gICAg
ICAgIFJlbW92ZSBHZW5lcmljQ2FsbGJhY2sKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyOTM2NgotCi0gICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1
bWV6LgotCi0gICAgICAgIEl0IGhhcyBiZWVuIHJlcGxhY2VkIGJ5IHNlbmRXaXRoQXN5bmNSZXBs
eS4KLQotICAgICAgICBUaGlzIGxhc3QgdXNlIGNhbid0IHJlYWxseSBiZSByZXBsYWNlZCBieSBz
ZW5kV2l0aEFzeW5jUmVwbHkgYmVjYXVzZSB0aGUgQ2FsbGJhY2tJRHMgYXJlIHNlbnQsIHRoZW4g
ZnVydGhlciBlbmNvZGVkCi0gICAgICAgIGluIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpl
bmNvZGUvZGVjb2RlIHdoaWNoIHlvdSBjYW4ndCByZWFsbHkgZG8gd2l0aCBhIENvbXBsZXRpb25I
YW5kbGVyLiAgQnV0IHdlIGNhbiByZXBsYWNlCi0gICAgICAgIEdlbmVyaWNDYWxsYmFjayB3aXRo
IFdURjo6RnVuY3Rpb24uCi0KLSAgICAgICAgKiBTaGFyZWQvQ2FsbGJhY2tJRC5oOgotICAgICAg
ICAqIFNoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaDoK
LSAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUF0dGFjaG1lbnQuaDoKLSAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0FQSUljb25Mb2FkaW5nQ2xpZW50Lmg6Ci0gICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElJbnNwZWN0b3JFeHRlbnNpb24uY3BwOgotICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
VUlDbGllbnQuaDoKLSAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKLSAgICAg
ICAgKFdLUGFnZUNhbGxBZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUpOgotICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tOgotICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmg6Ci0gICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06Ci0gICAgICAgICgtW1dLV2ViVmlldyB0YWtl
U25hcHNob3RXaXRoQ29uZmlndXJhdGlvbjpjb21wbGV0aW9uSGFuZGxlcjpdKToKLSAgICAgICAg
KC1bV0tXZWJWaWV3IF9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOndpdGhv
dXRXYWl0aW5nRm9yUGFpbnRpbmc6d2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZTpdKToK
LSAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvckV4dGVuc2lvbi5tbToK
LSAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06Ci0gICAgICAgICgtW1dLVmll
dyBfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6XSk6Ci0gICAgICAgICogVUlQcm9jZXNz
L0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOgotICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvbjo6dGFrZVNjcmVlbnNob3QpOgotICAgICAgICAqIFVJUHJvY2Vz
cy9BdXRvbWF0aW9uL21hYy9XZWJBdXRvbWF0aW9uU2Vzc2lvbk1hYy5tbToKLSAgICAgICAgKiBV
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06Ci0gICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgotICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5Lmg6Ci0gICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OmRpc3BhdGNoQWZ0
ZXJFbnN1cmluZ0RyYXdpbmcpOgotICAgICAgICAqIFVJUHJvY2Vzcy9HZW5lcmljQ2FsbGJhY2su
aDogUmVtb3ZlZC4KLSAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJ
RXh0ZW5zaW9uQ29udHJvbGxlclByb3h5LmNwcDoKLSAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVj
dG9yL21hYy9XS0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tOgotICAgICAgICAqIFVJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHA6Ci0gICAgICAg
ICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5Lmg6Ci0gICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYVByb3h5Lm1tOgotICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5Ojp+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSk6Ci0gICAg
ICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVy
VHJlZSk6Ci0gICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6
OmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcpOgotICAgICAgICAqIFVJUHJvY2Vzcy9XZWJD
b250ZXh0Q2xpZW50LmNwcDoKLSAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclBy
b3h5Lmg6Ci0gICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKLSAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKLSAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
Ojpmb3JjZVJlcGFpbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNhbGxBZnRl
ck5leHRQcmVzZW50YXRpb25VcGRhdGUpOgotICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKLSAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgotICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgotICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvVmll
d0dlc3R1cmVDb250cm9sbGVySU9TLm1tOgotICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNv
bnRyb2xsZXI6OmVuZFN3aXBlR2VzdHVyZSk6Ci0gICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06Ci0gICAgICAgICgtW1dLQ29udGVudFZpZXcgd2lsbEZp
bmlzaElnbm9yaW5nQ2FsbG91dEJhckZhZGVBZnRlclBlcmZvcm1pbmdBY3Rpb25dKToKLSAgICAg
ICAgKC1bV0tDb250ZW50VmlldyBkcmFnSW50ZXJhY3Rpb246aXRlbTp3aWxsQW5pbWF0ZUNhbmNl
bFdpdGhBbmltYXRvcjpdKToKLSAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1h
dGlvbkRyYXdpbmdBcmVhUHJveHkuaDoKLSAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW06Ci0gICAgICAgIChXZWJLaXQ6OlRpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6On5UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YVByb3h5KToKLSAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQ
cm94eTo6ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyk6Ci0gICAgICAgIChXZWJLaXQ6OlRp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmRpc3BhdGNoUHJlc2VudGF0aW9uQ2Fs
bGJhY2tzQWZ0ZXJGbHVzaGluZ0xheWVycyk6Ci0gICAgICAgICogVUlQcm9jZXNzL21hYy9XS0Z1
bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmg6Ci0gICAgICAgICogVUlQcm9jZXNzL21hYy9XS1Rl
eHRGaW5kZXJDbGllbnQubW06Ci0gICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6Ci0gICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1v
dGVMYXllclRyZWVDb250ZXh0Lm1tOgotCiAyMDIxLTA5LTIxICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgTGF1bmNoIHRoZSBuZXcgcHJvY2VzcyBhIGJpdCBlYXJs
aWVyIHdoZW4gZG9pbmcgYSBDT09QIHByb2Nlc3Mtc3dhcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQ2FsbGJhY2tJRC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ2FsbGJhY2tJ
RC5oCmluZGV4IDkyMzg3ZmI2Nzc4ZjY3MWU3YjZlOGVhYTFhMTAwMTZkMWM3ZWQ3YWUuLjE2ZTI5
NmQ1NTEwYTcwYzkwZWEwNTE3Y2E4ZmE3NzczOGFmZTNhNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NhbGxiYWNrSUQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9DYWxs
YmFja0lELmgKQEAgLTk4LDYgKzk4LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQVNTRVJUKG5ld0lE
ICE9IEhhc2hUcmFpdHM8dWludDY0X3Q+OjplbXB0eVZhbHVlKCkpOwogICAgIH0KIAorICAgIGZy
aWVuZCBjbGFzcyBDYWxsYmFja01hcDsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2FsbGJhY2tU
eXBlPiBmcmllbmQgY2xhc3MgU3BlY2lmaWNDYWxsYmFja01hcDsKICAgICBmcmllbmQgc3RydWN0
IFdURjo6Q2FsbGJhY2tJREhhc2g7CiAgICAgZnJpZW5kIEhhc2hUcmFpdHM8V2ViS2l0OjpDYWxs
YmFja0lEPjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKaW5kZXggMTY3NzBlY2Zm
NjcwMzRkNTU4NTliMWE0OWMzZDZkMGY2MjNiYTAzMi4uOWNmMjdlMWY0YzQ4NWY5MjVhZTJkOGRm
MWE3NzFhMWQxODI4NTcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKQEAg
LTI1LDEwICsyNSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkNhbGxiYWNrSUQu
aCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYUluZm8uaCIKICNpbmNsdWRlICJEeW5hbWljVmlld3Bv
cnRTaXplVXBkYXRlLmgiCiAjaW5jbHVkZSAiRWRpdG9yU3RhdGUuaCIKKyNpbmNsdWRlICJHZW5l
cmljQ2FsbGJhY2suaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNBQW5pbWF0aW9uUmVtb3RlLmgiCiAj
aW5jbHVkZSAiUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCIKICNpbmNsdWRlICJUcmFuc2FjdGlv
bklELmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXR0YWNo
bWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF0dGFjaG1lbnQuaAppbmRl
eCBmYmFhZTk3MzA1YWZkNWFjNjc1MTJlNmM3MmUwYWFiMTZjYTRiNTg2Li5hZmE5MjljZjA5M2Qy
MmVjNzZhZDg2ZmRhMDNiNTAxYmJmZDI5ZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQVBJQXR0YWNobWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElBdHRhY2htZW50LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoQVRUQUNI
TUVOVF9FTEVNRU5UKQogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSAiR2VuZXJp
Y0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQVBJSWNvbkxvYWRpbmdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElJY29uTG9hZGluZ0NsaWVudC5oCmluZGV4IDU2ZmE4NzdmMWU4OTFhYzcxOGI4
YjFhNGRmMjA5ZjVkNGJkYjFkYTEuLmIxYjExZjVjNTFhMmE0NjhlYTBhY2E1MmUyNjM0ZjBlYmZh
YTIxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJY29uTG9h
ZGluZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJY29uTG9h
ZGluZ0NsaWVudC5oCkBAIC0yNSwyMCArMjUsMTkgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNs
dWRlICJHZW5lcmljQ2FsbGJhY2suaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtJY29uLmg+CiAj
aW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9u
Lmg+CiAKIG5hbWVzcGFjZSBBUEkgewogCi1jbGFzcyBEYXRhOwotCiBjbGFzcyBJY29uTG9hZGlu
Z0NsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+SWNvbkxvYWRpbmdDbGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBnZXRMb2Fk
RGVjaXNpb25Gb3JJY29uKGNvbnN0IFdlYkNvcmU6OkxpbmtJY29uJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKERhdGEqKT4mJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCisgICAgdmlydHVhbCB2b2lkIGdldExvYWREZWNpc2lvbkZvckljb24oY29uc3QgV2Vi
Q29yZTo6TGlua0ljb24mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoQVBJOjpEYXRhKik+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogICAgIHsKICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIobnVsbHB0cik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUluc3BlY3RvckV4dGVuc2lvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSW5zcGVjdG9yRXh0ZW5zaW9uLmNwcAppbmRleCAxODZk
NmIyNDZiNmMxNjc2ZWQ5NjM2ODFhZTYwYTNjMzc2ZTFlOTk3Li44NjI2NzIwODhlYjI5NzJmNmQ1
NWUyMzZjZTdmMzA5YzcyZDVkMTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQVBJSW5zcGVjdG9yRXh0ZW5zaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJSW5zcGVjdG9yRXh0ZW5zaW9uLmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUl9FWFRFTlNJT05TKQogCi0jaW5jbHVkZSAiQVBJU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRXh0ZW5zaW9uVHlwZXMuaCIKICNp
bmNsdWRlICJXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJQcm94eS5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvRXhjZXB0aW9uRGV0YWlscy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJVUlDbGllbnQuaAppbmRleCAyZWYyZTdlNzBhMzkwMmEzNTc4YTRkN2QwNzQ2OTM2MDNj
NDJhMzQ0Li4yZGIwZjU2OWNiMjI1MDU4OWU3ZWMxNjA1OGRhZmI1YTZhNGU3YmYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtMjYsNyArMjYsNiBAQAog
I3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBUElJbnNwZWN0b3JDb25maWd1cmF0aW9uLmgiCi0j
aW5jbHVkZSAiQVBJU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJXS1BhZ2UuaCIKICNpbmNs
dWRlICJXZWJFdmVudC5oIgogI2luY2x1ZGUgIldlYkhpdFRlc3RSZXN1bHREYXRhLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCA1MTYxMGFlODgzYWYxMTYx
MzI0MWE3YTFkODE5NTZhNmJkNGE0YjA5Li4zNDlmOTAwZTBjNzQzMmEyMWFjMDZiYzRkMmViMzg5
OWI1Y2JlNDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAg
LTQ1LDcgKzQ1LDYgQEAKICNpbmNsdWRlICJBUElPcGVuUGFuZWxQYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJBUElQb2xpY3lDbGllbnQu
aCIKLSNpbmNsdWRlICJBUElTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJBUElT
ZXNzaW9uU3RhdGUuaCIKICNpbmNsdWRlICJBUElVSUNsaWVudC5oIgogI2luY2x1ZGUgIkFQSVdl
YkF1dGhlbnRpY2F0aW9uUGFuZWwuaCIKQEAgLTMwMDYsOCArMzAwNSw4IEBAIHZvaWQgV0tQYWdl
Q2xlYXJXaGVlbEV2ZW50VGVzdE1vbml0b3IoV0tQYWdlUmVmIHBhZ2VSZWYpCiB2b2lkIFdLUGFn
ZUNhbGxBZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUoV0tQYWdlUmVmIHBhZ2VSZWYsIHZvaWQq
IGNvbnRleHQsIFdLUGFnZVBvc3RQcmVzZW50YXRpb25VcGRhdGVGdW5jdGlvbiBjYWxsYmFjaykK
IHsKICAgICBDUkFTSF9JRl9TVVNQRU5ERUQ7Ci0gICAgdG9JbXBsKHBhZ2VSZWYpLT5jYWxsQWZ0
ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlKFtjb250ZXh0LCBjYWxsYmFja10oKSB7Ci0gICAgICAg
IGNhbGxiYWNrKG51bGxwdHIsIGNvbnRleHQpOworICAgIHRvSW1wbChwYWdlUmVmKS0+Y2FsbEFm
dGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZShbY29udGV4dCwgY2FsbGJhY2tdKFdlYktpdDo6Q2Fs
bGJhY2tCYXNlOjpFcnJvciBlcnJvcikgeworICAgICAgICBjYWxsYmFjayhlcnJvciAhPSBXZWJL
aXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUgPyB0b0FQSShBUEk6OkVycm9yOjpjcmVhdGUo
KS5wdHIoKSkgOiAwLCBjb250ZXh0KTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9OU0F0dHJpYnV0ZWRTdHJpbmcubW0KaW5kZXgg
YzIyMGU0NDIyNzgzNTExMzFmOTc0NGU1OWU4NTFmY2YwN2UyMGZkZi4uYTg0YWIyYzdkMTM5YmY2
ZjBjNjlhNGIxNjVmNGZmMjA3OWZiNDA5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL05TQXR0cmlidXRlZFN0cmluZy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvTlNBdHRyaWJ1dGVkU3RyaW5nLm1tCkBAIC00Miw3ICs0Miw2
IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2ltcG9ydCA8VUlLaXRTUEkuaD4KLSNp
bXBvcnQgPFdlYkNvcmUvV0FLQXBwS2l0U3R1YnMuaD4KICNlbmRpZgogCiBOU1N0cmluZyAqIGNv
bnN0IE5TUmVhZEFjY2Vzc1VSTERvY3VtZW50T3B0aW9uID0gQCJSZWFkQWNjZXNzVVJMIjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tC
cm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCmluZGV4IGY1M2M5MmE3MTRiYTYzYTFiNWRlYmE2
YWY3ZmNmNzU1OWQ0MDM3N2IuLmUwNzEyNmFiYmQ5NDExYWZkYzEyYjJhYmZkMDhhNGQxMDcyNDIx
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQpAQCAtMzIsNyArMzIsNiBAQAog
I2ltcG9ydCAiUGFnZUxvYWRTdGF0ZU9ic2VydmVyLmgiCiAjaW1wb3J0ICJSZW1vdGVPYmplY3RS
ZWdpc3RyeS5oIgogI2ltcG9ydCAiUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oIgotI2lt
cG9ydCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJXS0JhY2tGb3J3YXJkTGlzdEludGVybmFsLmgi
CiAjaW1wb3J0ICJXS0JhY2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tC
cm93c2luZ0NvbnRleHRHcm91cEludGVybmFsLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvckludGVybmFsLmgKaW5kZXggOTYyOTAxNmJjZjVlYmEy
M2JiMWI1NjYxMjMzMzM0ZmQ2MTNjNmUwOS4uMTFiZDFmNWQyMjc0MzIyMDlkYWMwODFhNmViMjJm
Y2M4NDM2MWQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLRXJyb3JJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS0Vycm9ySW50ZXJuYWwuaApAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiV0tFcnJvclBy
aXZhdGUuaCIKIAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorI2ltcG9ydCAiR2VuZXJpY0Nh
bGxiYWNrLmgiCiAKIFJldGFpblB0cjxOU0Vycm9yPiBjcmVhdGVOU0Vycm9yKFdLRXJyb3JDb2Rl
LCBOU0Vycm9yKiB1bmRlcmx5aW5nRXJyb3IgPSBuaWwpOwogTlNTdHJpbmcgKmxvY2FsaXplZERl
c2NyaXB0aW9uRm9yRXJyb3JDb2RlKFdLRXJyb3JDb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDA0ZTQ5MjEyZGNhNjBhMjg1M2Y0
ZWFiYTkwMTMzNTkyM2FiZjBmNmUuLmFhNDY5MGViZmE0NzVjZmM0ODgxMDRhYTdiNTBkMDI5ZDE0
MTA2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQpAQCAtMTE2OCw5ICsxMTY4LDcgQEAgc3RhdGljIFdLTWVkaWFQbGF5YmFja1N0YXRlIHRv
V0tNZWRpYVBsYXliYWNrU3RhdGUoV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGUgbWUKIC0gKHZv
aWQpdGFrZVNuYXBzaG90V2l0aENvbmZpZ3VyYXRpb246KFdLU25hcHNob3RDb25maWd1cmF0aW9u
ICopc25hcHNob3RDb25maWd1cmF0aW9uIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKENvY29h
SW1hZ2UgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcgogewogICAgIFRIUk9XX0lGX1NV
U1BFTkRFRDsKLSNpZiBVU0UoQVBQS0lUKQogICAgIGNvbnN0ZXhwciBib29sIHNuYXBzaG90RmFp
bGVkVHJhY2VWYWx1ZSA9IGZhbHNlOwotI2VuZGlmCiAgICAgdHJhY2VQb2ludChUYWtlU25hcHNo
b3RTdGFydCk7CiAKICAgICBDR1JlY3QgcmVjdEluVmlld0Nvb3JkaW5hdGVzID0gc25hcHNob3RD
b25maWd1cmF0aW9uICYmICFDR1JlY3RJc051bGwoc25hcHNob3RDb25maWd1cmF0aW9uLnJlY3Qp
ID8gc25hcHNob3RDb25maWd1cmF0aW9uLnJlY3QgOiBzZWxmLmJvdW5kczsKQEAgLTEyNDUsNyAr
MTI0MywxMyBAQCBzdGF0aWMgV0tNZWRpYVBsYXliYWNrU3RhdGUgdG9XS01lZGlhUGxheWJhY2tT
dGF0ZShXZWJLaXQ6Ok1lZGlhUGxheWJhY2tTdGF0ZSBtZQogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgX3BhZ2UtPmNhbGxBZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUoW2NhbGxTbmFw
c2hvdFJlY3QgPSBXVEZNb3ZlKGNhbGxTbmFwc2hvdFJlY3QpLCBoYW5kbGVyXSgpIG11dGFibGUg
eworICAgIF9wYWdlLT5jYWxsQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlKFtjYWxsU25hcHNo
b3RSZWN0ID0gV1RGTW92ZShjYWxsU25hcHNob3RSZWN0KSwgaGFuZGxlcl0oV2ViS2l0OjpDYWxs
YmFja0Jhc2U6OkVycm9yIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKGVycm9yICE9IFdl
YktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSkgeworICAgICAgICAgICAgdHJhY2VQb2lu
dChUYWtlU25hcHNob3RFbmQsIHNuYXBzaG90RmFpbGVkVHJhY2VWYWx1ZSk7CisgICAgICAgICAg
ICBoYW5kbGVyKG5pbCwgY3JlYXRlTlNFcnJvcihXS0Vycm9yVW5rbm93bikuZ2V0KCkpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgLy8gQ3JlYXRlIGFuIGltcGxp
Y2l0IHRyYW5zYWN0aW9uIHRvIGVuc3VyZSBhIGNvbW1pdCB3aWxsIGhhcHBlbiBuZXh0LgogICAg
ICAgICBbQ0FUcmFuc2FjdGlvbiBhY3RpdmF0ZV07CiAKQEAgLTE1MTUsNyArMTUxOSw3IEBAIGlu
bGluZSBPcHRpb25TZXQ8V2ViS2l0OjpGaW5kT3B0aW9ucz4gdG9GaW5kT3B0aW9ucyhXS0ZpbmRD
b25maWd1cmF0aW9uICpjb25maWd1CiAgICAgYXV0byB1cGRhdGVCbG9ja0NvcHkgPSBtYWtlQmxv
Y2tQdHIodXBkYXRlQmxvY2spOwogCiAgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gc3Ryb25nU2Vs
ZiA9IHNlbGY7Ci0gICAgX3BhZ2UtPmNhbGxBZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUoW3Vw
ZGF0ZUJsb2NrQ29weSwgd2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZSwgc3Ryb25nU2Vs
Zl0geworICAgIF9wYWdlLT5jYWxsQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlKFt1cGRhdGVC
bG9ja0NvcHksIHdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemUsIHN0cm9uZ1NlbGZdKFdl
YktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgewogICAgICAgICBpZiAoIXVwZGF0ZUJs
b2NrQ29weSkKICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvckV4dGVuc2lvbi5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3JFeHRlbnNpb24ubW0KaW5kZXgg
YmE1YmU3MDcwZGU0MGYwNjNkMzZiODhmOWM0YzRmOWUwY2VlZTllZS4uNDY1NjFkMzQzMTRhNzlk
NDJjNTdlNTliZjc5MjdhZDFmYTQ1MTA0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvckV4dGVuc2lvbi5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yRXh0ZW5zaW9uLm1tCkBAIC0yOCw3
ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0VYVEVOU0lPTlMpCiAKLSNpbXBvcnQg
IkFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2ltcG9ydCAiSW5zcGVjdG9yRXh0ZW5zaW9u
RGVsZWdhdGUuaCIKICNpbXBvcnQgIkluc3BlY3RvckV4dGVuc2lvblR5cGVzLmgiCiAjaW1wb3J0
ICJXS0Vycm9yLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAKaW5kZXggODgxYWFkNTk0ZjQ0YzRm
YTA0MGNmOTNlYWYyNWQwMzM2ZGQ3YzNmMS4uMjg1OGRmNmYzNGQ0ZmE2MjEyMDliZjFlYjFlMTA4
ODVhZDA1ZTc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdENvbnRleHRNZW51Q2xpZW50LmNwcApAQCAtMjEsNyArMjEsNiBAQAog
I2luY2x1ZGUgIldlYktpdENvbnRleHRNZW51Q2xpZW50LmgiCiAKICNpbmNsdWRlICJBUElDb250
ZXh0TWVudUNsaWVudC5oIgotI2luY2x1ZGUgIkFQSVN0cmluZy5oIgogI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgiCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEZpbmRDb250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEZpbmRD
b250cm9sbGVyLmNwcAppbmRleCBiNzZmYWI1OGU4YzQwNjZiOTdmOThhM2I0N2Y5ZjIwZmU1ZmM4
ZTdmLi5mZWY1YmEzOGE2OGMzYWIwYTkyYTEzZjM4YjBiNTVlOGMzNTQ2ZDY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRGaW5kQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0RmluZENvbnRy
b2xsZXIuY3BwCkBAIC0yMSw3ICsyMSw2IEBACiAjaW5jbHVkZSAiV2ViS2l0RmluZENvbnRyb2xs
ZXIuaCIKIAogI2luY2x1ZGUgIkFQSUZpbmRDbGllbnQuaCIKLSNpbmNsdWRlICJXZWJGaW5kT3B0
aW9ucy5oIgogI2luY2x1ZGUgIldlYktpdEVudW1UeXBlcy5oIgogI2luY2x1ZGUgIldlYktpdFdl
YlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEluamVjdGVkQnVuZGxlQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEluamVjdGVk
QnVuZGxlQ2xpZW50LmNwcAppbmRleCBhZTM1OTBjYTkyNzA0YmMyOWQxN2FmMzQ2NDM4YTNmZTVl
NDE0MTM2Li45MjYyYTg0ZGVjZTI1YmYwYmRmNWM1OWI0OGQwMDI1ODUyZjM2YmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRJbmplY3RlZEJ1bmRs
ZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCkBAIC0yMCwxMiArMjAsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEluamVjdGVkQnVuZGxlQ2xpZW50LmgiCiAKLSNpbmNs
dWRlICJBUElFcnJvci5oIgogI2luY2x1ZGUgIkFQSUluamVjdGVkQnVuZGxlQ2xpZW50LmgiCi0j
aW5jbHVkZSAiQVBJTnVtYmVyLmgiCi0jaW5jbHVkZSAiQVBJU3RyaW5nLmgiCi0jaW5jbHVkZSAi
QVBJVVJMUmVxdWVzdC5oIgotI2luY2x1ZGUgIkFQSVVSTFJlc3BvbnNlLmgiCiAjaW5jbHVkZSAi
V2ViSW1hZ2UuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0
VVJJUmVxdWVzdFByaXZhdGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdE5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcAppbmRleCAw
MzVjOTliYWYxYzE2ZDIwZjYxNjg4ZDdlMjlmZGI0YmUyYTlhZTBjLi41NTE2MzY0NDc3NTU3NDdi
NzBhYzVlNzZiMWQxMDRkNjFjMGI1Y2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXROb3RpZmljYXRpb25Qcm92aWRlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0Tm90aWZpY2F0aW9uUHJvdmlkZXIuY3Bw
CkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlICJBUElBcnJheS5oIgogI2luY2x1ZGUgIkFQ
SU5vdGlmaWNhdGlvblByb3ZpZGVyLmgiCi0jaW5jbHVkZSAiQVBJTnVtYmVyLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0Tm90aWZpY2F0aW9uUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRl
eHRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlJlc291cmNlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlJlc291cmNlLmNw
cAppbmRleCA5MWI5MDI5MDE4ZDc2YTAyNjE2ZjhkYzUzNjgzMThlMTllYTkwMTRkLi42ZDZiMjNj
ZTliODU3ZjY4OTQ2Yzg5ODMwMjAxNWM5ODYzNGM5ZThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJSZXNvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViUmVzb3VyY2UuY3BwCkBAIC0yMSw3
ICsyMSw2IEBACiAjaW5jbHVkZSAiV2ViS2l0V2ViUmVzb3VyY2UuaCIKIAogI2luY2x1ZGUgIkFQ
SURhdGEuaCIKLSNpbmNsdWRlICJBUElVUkwuaCIKICNpbmNsdWRlICJXZWJGcmFtZVByb3h5Lmgi
CiAjaW5jbHVkZSAiV2ViS2l0VVJJUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYktpdFdlYlJlc291
cmNlUHJpdmF0ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJWaWV3LmNwcAppbmRleCBhNTU5ZWNjZGFhMzE0Yzg3YTkyYjlhZGYyZjM5YzA1OWMy
MTcxOGUzLi5mMDk0ZjUzODkzOTQ0OTU1Zjc5ODM5YzI1ZDlkZWU5MjVkZjQ3MDBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcApA
QCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkFQSUNvbnRlbnRXb3JsZC5oIgogI2luY2x1ZGUg
IkFQSURhdGEuaCIKICNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCi0jaW5jbHVkZSAiQVBJTnVt
YmVyLmgiCiAjaW5jbHVkZSAiQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAi
RGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQcmludE9wZXJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFByaW50T3BlcmF0aW9uLmNw
cAppbmRleCBkNWVmMmNmZTZjYWQwZjk5MTgxMTY0YzE5Y2U1MTllOGEyZmNjMzFhLi5hMjNlY2M0
NTRjMmE4NTc2NTA3MTJlMzYwNDQ2YTA0OTVlMzkwZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFByaW50T3BlcmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFByaW50T3BlcmF0aW9uLmNwcApAQCAt
MjAsNyArMjAsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdFByaW50
T3BlcmF0aW9uLmgiCiAKLSNpbmNsdWRlICJBUElFcnJvci5oIgogI2luY2x1ZGUgIldlYktpdFBy
aW50Q3VzdG9tV2lkZ2V0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFByaW50T3BlcmF0aW9u
UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggMjczNWJiZjczOWUwODYxMWIyMmU5YjZmMTdh
MTAzYTNiZTlmZjM1Yi4uNWJiZGVkMjc1NGY5YzIzNDA0MTg0ZmYyYTIxZDVlNWVlYjliYzU4YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KQEAgLTE2NzcsNyAr
MTY3Nyw3IEBAIHN0YXRpYyBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHRv
VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihOU1VzCiAtICh2b2lkKV9kb0FmdGVyTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sKIHsKICAgICBhdXRv
IHVwZGF0ZUJsb2NrQ29weSA9IG1ha2VCbG9ja1B0cih1cGRhdGVCbG9jayk7Ci0gICAgX2RhdGEt
Pl9pbXBsLT5wYWdlKCkuY2FsbEFmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZShbdXBkYXRlQmxv
Y2tDb3B5XSB7CisgICAgX2RhdGEtPl9pbXBsLT5wYWdlKCkuY2FsbEFmdGVyTmV4dFByZXNlbnRh
dGlvblVwZGF0ZShbdXBkYXRlQmxvY2tDb3B5XShXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3Ig
ZXJyb3IpIHsKICAgICAgICAgaWYgKHVwZGF0ZUJsb2NrQ29weSkKICAgICAgICAgICAgIHVwZGF0
ZUJsb2NrQ29weSgpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAppbmRleCA1MTQzYWJl
ZTI0NDJhMWQwN2VjZTg0ZjliMGZlM2E5MzFjNWEwN2Y4Li4wNjE3OGRiMGI5MGU4ODdmZjgxNTI0
OGRiZjQxZWJmZDc4MDBjNzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
dXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcApAQCAtMzEsNyArMzEs
NiBAQAogI2luY2x1ZGUgIkFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAi
QVBJTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIkFQSU9wZW5QYW5lbFBhcmFtZXRlcnMuaCIKLSNp
bmNsdWRlICJBUElTdHJpbmcuaCIKICNpbmNsdWRlICJBdXRvbWF0aW9uUHJvdG9jb2xPYmplY3Rz
LmgiCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYkF1dG9tYXRp
b25TZXNzaW9uTWFjcm9zLmgiCkBAIC0yMjA2LDcgKzIyMDUsOSBAQCB2b2lkIFdlYkF1dG9tYXRp
b25TZXNzaW9uOjp0YWtlU2NyZWVuc2hvdChjb25zdCBJbnNwZWN0b3I6OlByb3RvY29sOjpBdXRv
bWF0aW9uOgogCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIEZ1bmN0aW9uPHZvaWQoV2ViUGFnZVBy
b3h5Jiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpJbnRSZWN0PiYmLCBSZWY8VGFrZVNjcmVlbnNo
b3RDYWxsYmFjaz4mJik+IHRha2VWaWV3U25hcHNvdCA9IFtdKFdlYlBhZ2VQcm94eSYgcGFnZSwg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpJbnRSZWN0PiYmIHJlY3QsIFJlZjxUYWtlU2NyZWVuc2hv
dENhbGxiYWNrPiYmIGNhbGxiYWNrKSB7Ci0gICAgICAgIHBhZ2UuY2FsbEFmdGVyTmV4dFByZXNl
bnRhdGlvblVwZGF0ZShbcGFnZSA9IFJlZiB7IHBhZ2UgfSwgcmVjdCA9IFdURk1vdmUocmVjdCks
IGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgbXV0YWJsZSB7CisgICAgICAgIHBhZ2Uu
Y2FsbEFmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZShbcGFnZSA9IFJlZiB7IHBhZ2UgfSwgcmVj
dCA9IFdURk1vdmUocmVjdCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKENhbGxiYWNr
QmFzZTo6RXJyb3IgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKGVycm9yICE9IENh
bGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpCisgICAgICAgICAgICAgICAgQVNZTkNfRkFJTF9XSVRI
X1BSRURFRklORURfRVJST1IoSW50ZXJuYWxFcnJvcik7CiAKICAgICAgICAgICAgIGF1dG8gc25h
cHNob3QgPSBwYWdlLT50YWtlVmlld1NuYXBzaG90KFdURk1vdmUocmVjdCkpOwogICAgICAgICAg
ICAgaWYgKCFzbmFwc2hvdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dG9tYXRpb24vbWFjL1dlYkF1dG9tYXRpb25TZXNzaW9uTWFjLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQXV0b21hdGlvbi9tYWMvV2ViQXV0b21hdGlvblNlc3Npb25NYWMubW0KaW5kZXgg
MmQwZDUzOTA2YTdhM2RiZjgzNWMzNjE4ODUxYWZlYWMyYTA3NzU0ZC4uNWZjZDgxZDE0ZmYyNmMx
ZjRkYWM3NjU4N2Q4YmI3NWI0NDc2NWU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXV0b21hdGlvbi9tYWMvV2ViQXV0b21hdGlvblNlc3Npb25NYWMubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9tYWMvV2ViQXV0b21hdGlvblNlc3Npb25N
YWMubW0KQEAgLTMxLDcgKzMxLDYgQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIldl
YkF1dG9tYXRpb25TZXNzaW9uTWFjcm9zLmgiCiAjaW1wb3J0ICJXZWJJbnNwZWN0b3JVSVByb3h5
LmgiCi0jaW1wb3J0ICJXZWJNb3VzZUV2ZW50LmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIK
ICNpbXBvcnQgIl9XS0F1dG9tYXRpb25TZXNzaW9uLmgiCiAjaW1wb3J0IDxDYXJib24vQ2FyYm9u
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCmluZGV4IGY0OTYyZjQ4ZDcwMzYwNTM3OWYxNzY2MGYxODZlZjI1MGE3Mjc3
ZTkuLjgyOTI4YjFiNWQyYjYyZDJhZTRkMjdmNmYzZWMzMWZiZTU3YWUzMzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
CkBAIC0zMyw3ICszMyw2IEBACiAjaW1wb3J0ICJPYmpDT2JqZWN0R3JhcGguaCIKICNpbXBvcnQg
IlNhbmRib3hVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2Uu
aCIKLSNpbXBvcnQgIldLQVBJQ2FzdC5oIgogI2ltcG9ydCAiV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVySW50ZXJuYWwuaCIKICNpbXBvcnQgIldLQnJvd3NpbmdDb250ZXh0SGFuZGxlSW50ZXJu
YWwuaCIKICNpbXBvcnQgIldLVHlwZVJlZldyYXBwZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggZGU4NWFiYTViZmRmMjA0OTA4MmQ0Yjc4
MmQwODNkNzJiOTEyOTM1YS4uOWFhYjdmYjY4NmJmNmU1NmFiNTM2MmNkN2ZkZjJkYzk5OWY0YjVj
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAg
LTM2LDYgKzM2LDcgQEAKICNpbXBvcnQgIkNvcmVUZXh0SGVscGVycy5oIgogI2ltcG9ydCAiRm9u
dEluZm8uaCIKICNpbXBvcnQgIkZ1bGxzY3JlZW5DbGllbnQuaCIKKyNpbXBvcnQgIkdlbmVyaWND
YWxsYmFjay5oIgogI2ltcG9ydCAiSW5zZXJ0VGV4dE9wdGlvbnMuaCIKICNpbXBvcnQgIkxvZ2dp
bmcuaCIKICNpbXBvcnQgIk5hdGl2ZVdlYkdlc3R1cmVFdmVudC5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYVByb3h5
Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcAppbmRl
eCBmOTU1NjI4MDE4ODNkNWE4MzVjZDg5YTU0NjdlNjQ0NTFlNTVlZDQ3Li4wMzhkOWVlMmY0MWNk
ZWJhNGFlN2I1OTczMTFiNjYzYTU4YjZkNjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdy
YXBoaWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAtNDE3LDcgKzQx
Nyw3IEBAIGludCBEcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljczo6RHJhd2luZ01v
bml0b3I6OndlYlZpZXdEcmF3Q2FsbGJhY2soRHJhCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12
b2lkIERyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzOjpEcmF3aW5nTW9uaXRvcjo6
c3RhcnQoRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQordm9pZCBEcmF3aW5nQXJlYVByb3h5
Q29vcmRpbmF0ZWRHcmFwaGljczo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KFdURjo6RnVuY3Rpb248
dm9pZChDYWxsYmFja0Jhc2U6OkVycm9yKT4mJiBjYWxsYmFjaykKIHsKICAgICBtX3N0YXJ0VGlt
ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIG1fY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKTsKQEAgLTQ0MSw4ICs0NDEsMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0
ZWRHcmFwaGljczo6RHJhd2luZ01vbml0b3I6OnN0b3AoKQogICAgIGdfc2lnbmFsX2hhbmRsZXJz
X2Rpc2Nvbm5lY3RfYnlfZnVuYyhtX3dlYlBhZ2Uudmlld1dpZGdldCgpLCByZWludGVycHJldF9j
YXN0PGdwb2ludGVyPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7CiAjZW5kaWYKICAgICBt
X3N0YXJ0VGltZSA9IE1vbm90b25pY1RpbWUoKTsKLSAgICBpZiAoYXV0byBjYWxsYmFjayA9IHN0
ZDo6ZXhjaGFuZ2UobV9jYWxsYmFjaywgbnVsbHB0cikpCi0gICAgICAgIGNhbGxiYWNrKCk7Cisg
ICAgaWYgKG1fY2FsbGJhY2spIHsKKyAgICAgICAgbV9jYWxsYmFjayhDYWxsYmFja0Jhc2U6OkVy
cm9yOjpOb25lKTsKKyAgICAgICAgbV9jYWxsYmFjayA9IG51bGxwdHI7CisgICAgfQogfQogCiB2
b2lkIERyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzOjpEcmF3aW5nTW9uaXRvcjo6
ZGlkRHJhdygpCkBAIC00NTYsMTAgKzQ1OCwxMiBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlDb29y
ZGluYXRlZEdyYXBoaWNzOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdygpCiAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDE2X21zKTsKIH0KIAotdm9pZCBEcmF3aW5nQXJlYVByb3h5Q29vcmRp
bmF0ZWRHcmFwaGljczo6ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhGdW5jdGlvbjx2b2lk
KCk+JiYgY2FsbGJhY2tGdW5jdGlvbikKK3ZvaWQgRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVk
R3JhcGhpY3M6OmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcoV1RGOjpGdW5jdGlvbjx2b2lk
KENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmIGNhbGxiYWNrRnVuY3Rpb24pCiB7Ci0gICAgaWYgKCFt
X3dlYlBhZ2VQcm94eS5oYXNSdW5uaW5nUHJvY2VzcygpKQotICAgICAgICByZXR1cm4gY2FsbGJh
Y2tGdW5jdGlvbigpOworICAgIGlmICghbV93ZWJQYWdlUHJveHkuaGFzUnVubmluZ1Byb2Nlc3Mo
KSkgeworICAgICAgICBjYWxsYmFja0Z1bmN0aW9uKENhbGxiYWNrQmFzZTo6RXJyb3I6Ok93bmVy
V2FzSW52YWxpZGF0ZWQpOworICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgaWYgKCFtX2Ry
YXdpbmdNb25pdG9yKQogICAgICAgICBtX2RyYXdpbmdNb25pdG9yID0gbWFrZVVuaXF1ZTxEcmF3
aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljczo6RHJhd2luZ01vbml0b3I+KG1fd2ViUGFn
ZVByb3h5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3Jk
aW5hdGVkR3JhcGhpY3MuaAppbmRleCAwYzE1YWNiNGI4MmFkNmZiYzQ5M2Y1N2ZiNDZmMzZlNmE4
YTU3YTIzLi5iMjNhNDVmZjdkMzEzMzE3ZDhiYTY0ZmI0MzBlYmJhM2I2YWRlZjcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdB
cmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGlj
cy5oCkBAIC04OCw3ICs4OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaXNjYXJkQmFja2luZ1N0
b3JlKCk7CiAjZW5kaWYKIAotICAgIHZvaWQgZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhG
dW5jdGlvbjx2b2lkKCk+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgZGlzcGF0Y2hBZnRlckVuc3Vy
aW5nRHJhd2luZyhXVEY6OkZ1bmN0aW9uPHZvaWQoQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpIG92
ZXJyaWRlOwogCiAgICAgY2xhc3MgRHJhd2luZ01vbml0b3IgewogICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEcmF3aW5nTW9uaXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAt
OTYsNyArOTYsNyBAQCBwcml2YXRlOgogICAgICAgICBEcmF3aW5nTW9uaXRvcihXZWJQYWdlUHJv
eHkmKTsKICAgICAgICAgfkRyYXdpbmdNb25pdG9yKCk7CiAKLSAgICAgICAgdm9pZCBzdGFydChG
dW5jdGlvbjx2b2lkKCk+JiYpOworICAgICAgICB2b2lkIHN0YXJ0KFdURjo6RnVuY3Rpb248dm9p
ZChDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CiAKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0
aWMgaW50IHdlYlZpZXdEcmF3Q2FsbGJhY2soRHJhd2luZ01vbml0b3IqKTsKQEAgLTEwNSw3ICsx
MDUsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGRpZERyYXcoKTsKIAogICAgICAgICBNb25v
dG9uaWNUaW1lIG1fc3RhcnRUaW1lOwotICAgICAgICBGdW5jdGlvbjx2b2lkKCk+IG1fY2FsbGJh
Y2s7CisgICAgICAgIFdURjo6RnVuY3Rpb248dm9pZChDYWxsYmFja0Jhc2U6OkVycm9yKT4gbV9j
YWxsYmFjazsKICAgICAgICAgUnVuTG9vcDo6VGltZXI8RHJhd2luZ01vbml0b3I+IG1fdGltZXI7
CiAjaWYgUExBVEZPUk0oR1RLKQogICAgICAgICBXZWJQYWdlUHJveHkmIG1fd2ViUGFnZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCBmMWNkNDQ5ODA3
YzY1NWZkM2U1YjQ2NTZkOTUwNjhmMjQ4NjNjODI5Li5iYWJjNTUzZDE3MGZjNzFkNTgyZTI2NDI2
ZThjZjkwM2E5ZTgwZDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eS5oCkBAIC0yNiw4ICsyNiw4IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ2Fs
bGJhY2tJRC5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhSW5mby5oIgorI2luY2x1ZGUgIkdlbmVy
aWNDYWxsYmFjay5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk1l
c3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgpAQCAtOTgsNyAr
OTgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgd2FpdEZvckRpZFVwZGF0ZUFjdGl2
aXR5U3RhdGUoQWN0aXZpdHlTdGF0ZUNoYW5nZUlEKSB7IH0KICAgICAKLSAgICB2aXJ0dWFsIHZv
aWQgZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhGdW5jdGlvbjx2b2lkKCk+JiYpIHsgQVNT
RVJUX05PVF9SRUFDSEVEKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hBZnRlckVuc3Vy
aW5nRHJhd2luZyhXVEY6OkZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKSB7
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAKICAgICAvLyBIaWRlIHRoZSBjb250ZW50IHVudGls
IHRoZSBjdXJyZW50bHkgcGVuZGluZyB1cGRhdGUgYXJyaXZlcy4KICAgICB2aXJ0dWFsIHZvaWQg
aGlkZUNvbnRlbnRVbnRpbFBlbmRpbmdVcGRhdGUoKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HZW5lcmljQ2FsbGJhY2suaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3
OThkNzc3YmU2Y2ZlNzU3ZmJkZGNhZDA5OWY5MGRlOGNiNGUyZTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HZW5lcmljQ2FsbGJhY2suaApAQCAtMCwwICsxLDIx
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQVBJRXJyb3IuaCIK
KyNpbmNsdWRlICJBUElTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJDYWxsYmFj
a0lELmgiCisjaW5jbHVkZSAiUHJvY2Vzc1Rocm90dGxlci5oIgorI2luY2x1ZGUgIlNoYXJlYWJs
ZUJpdG1hcC5oIgorI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlv
bi5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIENhbGxiYWNrQmFzZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPENhbGxiYWNrQmFzZT4geworcHVibGljOgorICAgIGVudW0gY2xhc3MgRXJyb3Ig
eworICAgICAgICBOb25lLAorICAgICAgICBVbmtub3duLAorICAgICAgICBQcm9jZXNzRXhpdGVk
LAorICAgICAgICBPd25lcldhc0ludmFsaWRhdGVkLAorICAgIH07CisKKyAgICB2aXJ0dWFsIH5D
YWxsYmFja0Jhc2UoKQorICAgIHsKKyAgICB9CisKKyAgICBDYWxsYmFja0lEIGNhbGxiYWNrSUQo
KSBjb25zdCB7IHJldHVybiBtX2NhbGxiYWNrSUQ7IH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+
CisgICAgVCogYXMoKQorICAgIHsKKyAgICAgICAgaWYgKFQ6OnR5cGUoKSA9PSBtX3R5cGUpCisg
ICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+KHRoaXMpOworCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKEVycm9yKSA9
IDA7CisKK3Byb3RlY3RlZDoKKyAgICBzdHJ1Y3QgVHlwZVRhZyB7IH07CisgICAgdHlwZWRlZiBj
b25zdCBUeXBlVGFnKiBUeXBlOworCisgICAgZXhwbGljaXQgQ2FsbGJhY2tCYXNlKFR5cGUgdHlw
ZSwgUHJvY2Vzc1Rocm90dGxlcjo6QWN0aXZpdHlWYXJpYW50JiYgYWN0aXZpdHkpCisgICAgICAg
IDogbV90eXBlKHR5cGUpCisgICAgICAgICwgbV9jYWxsYmFja0lEKENhbGxiYWNrSUQ6OmdlbmVy
YXRlSUQoKSkKKyAgICAgICAgLCBtX2FjdGl2aXR5KFdURk1vdmUoYWN0aXZpdHkpKQorICAgIHsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgVHlwZSBtX3R5cGU7CisgICAgQ2FsbGJhY2tJRCBtX2Nh
bGxiYWNrSUQ7CisgICAgUHJvY2Vzc1Rocm90dGxlcjo6QWN0aXZpdHlWYXJpYW50IG1fYWN0aXZp
dHk7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUPgorY2xhc3MgR2VuZXJpY0NhbGxiYWNr
IDogcHVibGljIENhbGxiYWNrQmFzZSB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBGdW5jdGlvbjx2
b2lkIChULi4uLCBFcnJvcik+IENhbGxiYWNrRnVuY3Rpb247CisKKyAgICBzdGF0aWMgUmVmPEdl
bmVyaWNDYWxsYmFjaz4gY3JlYXRlKENhbGxiYWNrRnVuY3Rpb24mJiBjYWxsYmFjaywgUHJvY2Vz
c1Rocm90dGxlcjo6QWN0aXZpdHlWYXJpYW50JiYgYWN0aXZpdHkgPSBudWxscHRyKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR2VuZXJpY0NhbGxiYWNrKFdURk1vdmUoY2Fs
bGJhY2spLCBXVEZNb3ZlKGFjdGl2aXR5KSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfkdlbmVy
aWNDYWxsYmFjaygpCisgICAgeworICAgICAgICBBU1NFUlQobV9vcmlnaW5UaHJlYWQucHRyKCkg
PT0gJlRocmVhZDo6Y3VycmVudCgpKTsKKyAgICAgICAgQVNTRVJUKCFtX2NhbGxiYWNrKTsKKyAg
ICB9CisKKyAgICB2b2lkIHBlcmZvcm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShULi4uIHJldHVy
blZhbHVlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fb3JpZ2luVGhyZWFkLnB0cigpID09ICZU
aHJlYWQ6OmN1cnJlbnQoKSk7CisKKyAgICAgICAgaWYgKCFtX2NhbGxiYWNrKQorICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgIGF1dG8gY2FsbGJhY2sgPSBzdGQ6OmV4Y2hhbmdlKG1fY2Fs
bGJhY2ssIHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIGNhbGxiYWNrLnZhbHVlKCkocmV0dXJuVmFs
dWUuLi4sIEVycm9yOjpOb25lKTsKKyAgICB9CisKKyAgICB2b2lkIHBlcmZvcm1DYWxsYmFjaygp
CisgICAgeworICAgICAgICBwZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFsdWUoKTsKKyAgICB9
CisKKyAgICB2b2lkIGludmFsaWRhdGUoRXJyb3IgZXJyb3IgPSBFcnJvcjo6VW5rbm93bikgZmlu
YWwKKyAgICB7CisgICAgICAgIEFTU0VSVChtX29yaWdpblRocmVhZC5wdHIoKSA9PSAmVGhyZWFk
OjpjdXJyZW50KCkpOworCisgICAgICAgIGlmICghbV9jYWxsYmFjaykKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICBhdXRvIGNhbGxiYWNrID0gc3RkOjpleGNoYW5nZShtX2NhbGxiYWNr
LCBzdGQ6Om51bGxvcHQpOworICAgICAgICBjYWxsYmFjay52YWx1ZSgpKHR5cGVuYW1lIHN0ZDo6
cmVtb3ZlX3JlZmVyZW5jZTxUPjo6dHlwZSgpLi4uLCBlcnJvcik7CisgICAgfQorCitwcml2YXRl
OgorICAgIEdlbmVyaWNDYWxsYmFjayhDYWxsYmFja0Z1bmN0aW9uJiYgY2FsbGJhY2ssIFByb2Nl
c3NUaHJvdHRsZXI6OkFjdGl2aXR5VmFyaWFudCYmIGFjdGl2aXR5KQorICAgICAgICA6IENhbGxi
YWNrQmFzZSh0eXBlKCksIFdURk1vdmUoYWN0aXZpdHkpKQorICAgICAgICAsIG1fY2FsbGJhY2so
V1RGTW92ZShjYWxsYmFjaykpCisgICAgeworICAgIH0KKworICAgIGZyaWVuZCBjbGFzcyBDYWxs
YmFja0Jhc2U7CisgICAgc3RhdGljIFR5cGUgdHlwZSgpCisgICAgeworICAgICAgICBzdGF0aWMg
VHlwZVRhZyB0YWc7CisgICAgICAgIHJldHVybiAmdGFnOworICAgIH0KKworICAgIHN0ZDo6b3B0
aW9uYWw8Q2FsbGJhY2tGdW5jdGlvbj4gbV9jYWxsYmFjazsKKworI2lmIEFTU0VSVF9FTkFCTEVE
CisgICAgUmVmPFRocmVhZD4gbV9vcmlnaW5UaHJlYWQgeyBUaHJlYWQ6OmN1cnJlbnQoKSB9Owor
I2VuZGlmCit9OworCit0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazw+IFZvaWRDYWxsYmFjazsKKwor
dGVtcGxhdGU8dHlwZW5hbWUgVD4KK3ZvaWQgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKEhhc2hNYXA8
dWludDY0X3QsIFQ+JiBjYWxsYmFja01hcCwgQ2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikKK3sK
KyAgICBhdXRvIG1hcCA9IFdURk1vdmUoY2FsbGJhY2tNYXApOworICAgIGZvciAoYXV0byYgY2Fs
bGJhY2sgOiBtYXAudmFsdWVzKCkpCisgICAgICAgIGNhbGxiYWNrLT5pbnZhbGlkYXRlKGVycm9y
KTsKK30KKworY2xhc3MgQ2FsbGJhY2tNYXAgeworcHVibGljOgorICAgIENhbGxiYWNrSUQgcHV0
KFJlZjxDYWxsYmFja0Jhc2U+JiYgY2FsbGJhY2spCisgICAgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVChSdW5Mb29wOjppc01haW4oKSk7CisgICAgICAgIGF1dG8gY2FsbGJhY2tJRCA9IGNhbGxi
YWNrLT5jYWxsYmFja0lEKCk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGNhbGxiYWNrSUQuaXNW
YWxpZCgpKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fbWFwLmNvbnRhaW5zKGNhbGxiYWNr
SUQubV9pZCkpOworICAgICAgICBtX21hcC5zZXQoY2FsbGJhY2tJRC5tX2lkLCBXVEZNb3ZlKGNh
bGxiYWNrKSk7CisgICAgICAgIHJldHVybiBjYWxsYmFja0lEOworICAgIH0KKworICAgIHRlbXBs
YXRlPHVuc2lnbmVkIEksIHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIFU+CisgICAgc3RydWN0IEdl
bmVyaWNDYWxsYmFja1R5cGUgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEdlbmVyaWNDYWxs
YmFja1R5cGU8SSAtIDEsIFUuLi4sIFQ+Ojp0eXBlIHR5cGU7CisgICAgfTsKKworICAgIHRlbXBs
YXRlPHR5cGVuYW1lLi4uIFU+CisgICAgc3RydWN0IEdlbmVyaWNDYWxsYmFja1R5cGU8MSwgQ2Fs
bGJhY2tCYXNlOjpFcnJvciwgVS4uLj4geworICAgICAgICB0eXBlZGVmIEdlbmVyaWNDYWxsYmFj
azxVLi4uPiB0eXBlOworICAgIH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUPgorICAg
IENhbGxiYWNrSUQgcHV0KEZ1bmN0aW9uPHZvaWQoVC4uLik+JiYgZnVuY3Rpb24sIFByb2Nlc3NU
aHJvdHRsZXI6OkFjdGl2aXR5VmFyaWFudCYmIGFjdGl2aXR5KQorICAgIHsKKyAgICAgICAgYXV0
byBjYWxsYmFjayA9IEdlbmVyaWNDYWxsYmFja1R5cGU8c2l6ZW9mLi4uKFQpLCBULi4uPjo6dHlw
ZTo6Y3JlYXRlKFdURk1vdmUoZnVuY3Rpb24pLCBXVEZNb3ZlKGFjdGl2aXR5KSk7CisgICAgICAg
IHJldHVybiBwdXQoV1RGTW92ZShjYWxsYmFjaykpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNs
YXNzIFQ+CisgICAgUmVmUHRyPFQ+IHRha2UoQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQorICAgIHsK
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoY2FsbGJhY2tJRC5pc1ZhbGlkKCkpOworICAgICAgICBS
RUxFQVNFX0FTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CisgICAgICAgIGF1dG8gYmFzZSA9IG1f
bWFwLnRha2UoY2FsbGJhY2tJRC5tX2lkKTsKKyAgICAgICAgaWYgKCFiYXNlKQorICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKGJhc2UubGVha1Jl
ZigpLT5hczxUPigpKTsKKyAgICB9CisKKyAgICB2b2lkIGludmFsaWRhdGUoQ2FsbGJhY2tCYXNl
OjpFcnJvciBlcnJvcikKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKFJ1bkxvb3A6Omlz
TWFpbigpKTsKKyAgICAgICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKG1fbWFwLCBlcnJvcik7Cisg
ICAgfQorCitwcml2YXRlOgorICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxDYWxsYmFja0Jh
c2U+PiBtX21hcDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29u
dHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJ
bnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJQcm94eS5jcHAKaW5kZXggYmM3ZTUwMmJiMjk1
YzJiNzE1ODM3NDU3ZWVlZTA0NmQyMGZhYjQ1NC4uMDViMTAxMWZmNTBkNjFmY2ZkMzFjYTczN2Uw
ZWFmNGIwZDA1YjlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVj
dG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250
cm9sbGVyUHJveHkuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9F
WFRFTlNJT05TKQogCiAjaW5jbHVkZSAiQVBJSW5zcGVjdG9yRXh0ZW5zaW9uLmgiCi0jaW5jbHVk
ZSAiQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yVUlF
eHRlbnNpb25Db250cm9sbGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JVSUV4
dGVuc2lvbkNvbnRyb2xsZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvZ3RrL1dl
Ykluc3BlY3RvclVJUHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVj
dG9yL2d0ay9XZWJJbnNwZWN0b3JVSVByb3h5R3RrLmNwcAppbmRleCAxYTdlMjU1YTdjODg1ZTJl
ZTZmNjA1OTJlMzBjNTNmMDFiYTJhNGFkLi44NDU1MGVkNTAzYWQzZTU1NGM1Mjk4NzhkNWQzOGJi
NGE2NTVjM2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3Iv
Z3RrL1dlYkluc3BlY3RvclVJUHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0luc3BlY3Rvci9ndGsvV2ViSW5zcGVjdG9yVUlQcm94eUd0ay5jcHAKQEAgLTMxLDExICsz
MSw5IEBACiAKICNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiQVBJTmF2aWdh
dGlvbkFjdGlvbi5oIgotI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQXJyYXku
aCIKICNpbmNsdWRlICJXS0NvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldLTXV0YWJsZUFy
cmF5LmgiCi0jaW5jbHVkZSAiV0tTaGFyZWRBUElDYXN0LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yVUlNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYkluc3BlY3RvclVJUHJveHlDbGllbnQuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9tYWMvV0tJbnNwZWN0b3JWaWV3Q29udHJv
bGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9tYWMvV0tJbnNwZWN0
b3JWaWV3Q29udHJvbGxlci5tbQppbmRleCAyOTI4N2JhMmZiNzIxMmUwMGQyNmQ0NWU3Y2E2YWM1
ODVmM2FkZTFhLi5mMGRjMmZhM2UxZjdiMWRlOTY4OTdiMTBiMTZkZTc4ZjJmZmYyNmI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvbWFjL1dLSW5zcGVjdG9y
Vmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9y
L21hYy9XS0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCkBAIC0yOSw3ICsyOSw3IEBACiAjaWYg
UExBVEZPUk0oTUFDKQogCiAjaW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCi0jaW1wb3J0ICJXS0FQ
SUNhc3QuaCIKKyNpbXBvcnQgPFdlYktpdC9XS0ZyYW1lSW5mby5oPgogI2ltcG9ydCAiV0tJbnNw
ZWN0b3JSZXNvdXJjZVVSTFNjaGVtZUhhbmRsZXIuaCIKICNpbXBvcnQgIldLSW5zcGVjdG9yV0tX
ZWJWaWV3LmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tOYXZpZ2F0aW9uQWN0aW9uLmg+CkBAIC00NSw3
ICs0NSw2IEBACiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIl9XS0luc3BlY3Rv
ckNvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hlY2tz
Lmg+Ci0jaW1wb3J0IDxXZWJLaXQvV0tGcmFtZUluZm8uaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2Jq
Q1B0ci5oPgogCiBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBXS0luc3BlY3RvclJlc291cmNlU2No
ZW1lID0gQCJpbnNwZWN0b3ItcmVzb3VyY2UiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvSW5zcGVjdG9yL3dpbi9XZWJJbnNwZWN0b3JVSVByb3h5V2luLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci93aW4vV2ViSW5zcGVjdG9yVUlQcm94eVdpbi5j
cHAKaW5kZXggZWNjZjczZmNiYjJkZGQ3YzA2Njk3OTk2ODc4MDM1MzFjZTk4YTU2Ny4uNDI1MGJk
ZGI5ZDhlNjFjZTA3NjhkZWYwMWQzZjAyY2IwNWVlZTdiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL3dpbi9XZWJJbnNwZWN0b3JVSVByb3h5V2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3Ivd2luL1dlYkluc3BlY3RvclVJ
UHJveHlXaW4uY3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiQVBJUGFnZUNvbmZpZ3Vy
YXRpb24uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JSZXNvdXJjZVVSTFNjaGVtZUhhbmRsZXIuaCIK
ICNpbmNsdWRlICJQYWdlQ2xpZW50SW1wbC5oIgotI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2lu
Y2x1ZGUgIldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VH
cm91cC5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25NYW5hZ2VyUHJveHkuY3BwCmluZGV4IDlhNzM0YWRiMWU2MjlhNWJiODc2NTAzOTM2ZDNiNmU0
MjA5MDdmMjcuLjc2MDYzMWM0OTBmNjQzM2YzNDFhNDNiZDg4MWQ1NDVmNGE5YjczYWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAK
ICNpbmNsdWRlICJBUElBcnJheS5oIgogI2luY2x1ZGUgIkFQSU5vdGlmaWNhdGlvblByb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiQVBJU2VjdXJpdHlPcmlnaW4uaCIKLSNpbmNsdWRlICJXS1NoYXJlZEFQ
SUNhc3QuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1v
dGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IGU5MmI5
ODNkZjZjYjAxZDg3OGQwNjRhY2ZlNGYwMzFmMDA4MzQwZjUuLjNkMDQ2MThhOGI4OTEzMGI2MDEz
NGI2NzM1YWQ4ZTdmMTQzZjJjYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHkuaApAQCAtMjYsNyArMjYsNiBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNs
dWRlICJEcmF3aW5nQXJlYVByb3h5LmgiCi0jaW5jbHVkZSAiUHJvY2Vzc1Rocm90dGxlci5oIgog
I2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZUhvc3QuaCIKICNpbmNsdWRlICJUcmFuc2FjdGlvbklE
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BbmltYXRpb25GcmFtZVJhdGUuaD4KQEAgLTY5LDcgKzY4
LDcgQEAgcHJpdmF0ZToKICAgICAKICAgICAvLyBGb3Igbm93LCBhbGwgY2FsbGJhY2tzIGFyZSBj
YWxsZWQgYmVmb3JlIGNvbW1pdHRpbmcgY2hhbmdlcywgYmVjYXVzZSB0aGF0J3Mgd2hhdCB0aGUg
b25seSBjbGllbnQgcmVxdWlyZXMuCiAgICAgLy8gT25jZSB3ZSBoYXZlIG90aGVyIGNhbGxiYWNr
cywgaXQgbWF5IG1ha2Ugc2Vuc2UgdG8gaGF2ZSBhIGJlZm9yZS1jb21taXQvYWZ0ZXItY29tbWl0
IG9wdGlvbi4KLSAgICB2b2lkIGRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcoRnVuY3Rpb248
dm9pZCgpPiYmKSBmaW5hbDsKKyAgICB2b2lkIGRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmco
V1RGOjpGdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4mJikgZmluYWw7CiAKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBkaWRDaGFuZ2VWaWV3RXhwb3NlZFJlY3QoKSBmaW5h
bDsKQEAgLTEyMSw3ICsxMjAsNyBAQCBwcml2YXRlOgogICAgIFRyYW5zYWN0aW9uSUQgbV90cmFu
c2FjdGlvbklERm9yVW5oaWRpbmdDb250ZW50OwogICAgIEFjdGl2aXR5U3RhdGVDaGFuZ2VJRCBt
X2FjdGl2aXR5U3RhdGVDaGFuZ2VJRCB7IEFjdGl2aXR5U3RhdGVDaGFuZ2VBc3luY2hyb25vdXMg
fTsKIAotICAgIEhhc2hNYXA8Q2FsbGJhY2tJRCwgc3RkOjpwYWlyPEZ1bmN0aW9uPHZvaWQoKT4s
IHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzVGhyb3R0bGVyOjpCYWNrZ3JvdW5kQWN0aXZpdHk+Pj4g
bV9jYWxsYmFja3M7CisgICAgQ2FsbGJhY2tNYXAgbV9jYWxsYmFja3M7CiAKICAgICBSZXRhaW5Q
dHI8V0tPbmVTaG90RGlzcGxheUxpbmtIYW5kbGVyPiBtX2Rpc3BsYXlMaW5rSGFuZGxlcjsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4
IDE5MzZlNjJkNGQ3NmRjMjExMjkyZWNmMTBhNzZlYzVjZGMxMzNkNjAuLjFiMDQzOTFhMDgzOGI5
MmFlNDAwYjc5ZDllZTdkMTRjZTJjOTQ1ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0xMjcsNiArMTI3LDcgQEAgUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eTo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eShXZWJQ
YWdlUHJveHkmIHcKIAogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6flJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHkoKQogeworICAgIG1fY2FsbGJhY2tzLmludmFsaWRhdGUo
Q2FsbGJhY2tCYXNlOjpFcnJvcjo6T3duZXJXYXNJbnZhbGlkYXRlZCk7CiAgICAgcHJvY2Vzcygp
LnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIpOwogCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTI2OCw4ICsyNjksOCBAQCB2b2lkIFJlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVU
cmFucwogICAgICAgICBtX3dlYlBhZ2VQcm94eS5kaWRSZWFjaExheW91dE1pbGVzdG9uZShtaWxl
c3RvbmVzKTsKIAogICAgIGZvciAoYXV0byYgY2FsbGJhY2tJRCA6IGxheWVyVHJlZVRyYW5zYWN0
aW9uLmNhbGxiYWNrSURzKCkpIHsKLSAgICAgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSBtX2NhbGxi
YWNrcy50YWtlKGNhbGxiYWNrSUQpLmZpcnN0KQotICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAg
ICAgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSBtX2NhbGxiYWNrcy50YWtlPFZvaWRDYWxsYmFjaz4o
Y2FsbGJhY2tJRCkpCisgICAgICAgICAgICBjYWxsYmFjay0+cGVyZm9ybUNhbGxiYWNrKCk7CiAg
ICAgfQogfQogCkBAIC00NzAsMTYgKzQ3MSwxNCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHk6OndhaXRGb3JEaWRVcGRhdGVBY3Rpdml0eVN0YXRlKEFjdGl2aXR5U3RhdAog
ICAgIH0KIH0KIAotdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpkaXNwYXRj
aEFmdGVyRW5zdXJpbmdEcmF3aW5nKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFja0Z1bmN0aW9u
KQordm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpkaXNwYXRjaEFmdGVyRW5z
dXJpbmdEcmF3aW5nKFdURjo6RnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYg
Y2FsbGJhY2tGdW5jdGlvbikKIHsKICAgICBpZiAoIW1fd2ViUGFnZVByb3h5Lmhhc1J1bm5pbmdQ
cm9jZXNzKCkpIHsKLSAgICAgICAgY2FsbGJhY2tGdW5jdGlvbigpOworICAgICAgICBjYWxsYmFj
a0Z1bmN0aW9uKENhbGxiYWNrQmFzZTo6RXJyb3I6Ok93bmVyV2FzSW52YWxpZGF0ZWQpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBjYWxsYmFja0lEID0gQ2FsbGJhY2tJRDo6
Z2VuZXJhdGVJRCgpOwotICAgIG1fY2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBzdGQ6Om1ha2Vf
cGFpcihXVEZNb3ZlKGNhbGxiYWNrRnVuY3Rpb24pLCBwcm9jZXNzKCkudGhyb3R0bGVyKCkuYmFj
a2dyb3VuZEFjdGl2aXR5KCJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpkaXNwYXRj
aEFmdGVyRW5zdXJpbmdEcmF3aW5nIl9zKS5tb3ZlVG9VbmlxdWVQdHIoKSkpOwotICAgIHNlbmQo
TWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpBZGRUcmFuc2FjdGlvbkNhbGxiYWNrSUQoY2FsbGJhY2tJ
RCkpOworICAgIHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpBZGRUcmFuc2FjdGlvbkNhbGxi
YWNrSUQobV9jYWxsYmFja3MucHV0KFdURk1vdmUoY2FsbGJhY2tGdW5jdGlvbiksIHByb2Nlc3Mo
KS50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHkoIlJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHk6OmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmciX3MpKSkpOwogfQogCiB2b2lk
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmhpZGVDb250ZW50VW50aWxQZW5kaW5n
VXBkYXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvbnRleHRD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4dENsaWVudC5jcHAK
aW5kZXggZTg1NjA2YWQwNTI0NWQ1YjFhMTAzZjIyYjBjYjA2MGQ2MDQ5ODE2Yy4uYTI1MjhjMmMw
ZTBkN2UxMzA5ODYxNmIzMTUwODg2NmVmOTg0NzYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQ29udGV4dENsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQ29udGV4dENsaWVudC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0Q2xpZW50LmgiCiAKLSNpbmNsdWRlICJXS0FQ
SUNhc3QuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbC5oIgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmgK
aW5kZXggYjlkYzNiNzQ5Zjg0Y2MyOTdjM2FkYTY2NGIwN2NiMjZmNDExYTU0Mi4uM2RjZjU0YWQ3
YzhiYWIxYjVhYjZhNmVjMjhmNWExZjg3MWE0MTkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmgKQEAgLTI2LDkgKzI2LDkgQEAKICNwcmFn
bWEgb25jZQogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSAiR2VuZXJpY0NhbGxi
YWNrLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4
dFN1cHBsZW1lbnQuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0hUVFBDb29raWVBY2NlcHRQb2xpY3ku
aD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5oCmluZGV4IGRjOGNkODU0ZTUxMDI0NWEwMzBhY2JlZTQ4YWQyYzE5OWY5NDZkMmYuLjM5
MWIwMjczNjI4MzQxZWRhYTg4MzBiMzc0ZjBmYjEzMTI0MDE3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkFQ
SU9iamVjdC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZFN0YXRlLmgiCisjaW5jbHVkZSAiR2VuZXJp
Y0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmgiCiAj
aW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlclR5
cGVzLmg+CkBAIC00MCw3ICs0MSw2IEBACiAKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgTmF2aWdh
dGlvbjsKLWNsYXNzIFVSTDsKIH0KIAogbmFtZXNwYWNlIElQQyB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA2MWE0NGI5NzM5M2FiMjBmNzY4YjY3NTM3Mzk5
ZjNjZDU1OGExNjIxLi41YTdkYjA0ZTgyMmU1MjYxMWI5ZTIyYTMyMmFhZWU0ZTg5MmI3ZDc3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTUyLDcgKzUyLDYg
QEAKICNpbmNsdWRlICJBUElQb2xpY3lDbGllbnQuaCIKICNpbmNsdWRlICJBUElSZXNvdXJjZUxv
YWRDbGllbnQuaCIKICNpbmNsdWRlICJBUElTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgIkFQ
SVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIkFQSVVJQ2xpZW50LmgiCiAjaW5j
bHVkZSAiQVBJVVJMUmVxdWVzdC5oIgogI2luY2x1ZGUgIkFQSVdlYnNpdGVQb2xpY2llcy5oIgpA
QCAtNDQ3OSw3ICs0NDc4LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmZvcmNlUmVwYWludChDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY2FsbGJhY2spCiAgICAgbV9kcmF3aW5nQXJlYS0+d2Fp
dEZvckJhY2tpbmdTdG9yZVVwZGF0ZU9uTmV4dFBhaW50KCk7CiAKICAgICBzZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OkZvcmNlUmVwYWludCgpLCBbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IFJlZiB7ICp0aGlzIH0sIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldICgpIG11
dGFibGUgewotICAgICAgICBjYWxsQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlKFdURk1vdmUo
Y2FsbGJhY2spKTsKKyAgICAgICAgY2FsbEFmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZShbY2Fs
bGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKGF1dG8pIG11dGFibGUgeworICAgICAgICAgICAg
Y2FsbGJhY2soKTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiB9CiAKQEAgLTk4MjksMTAgKzk4MzAs
MTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyV2hlZWxFdmVudFRlc3RNb25pdG9yKCkKICAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbGVhcldoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsK
IH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmNhbGxBZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUo
RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQordm9pZCBXZWJQYWdlUHJveHk6OmNhbGxBZnRl
ck5leHRQcmVzZW50YXRpb25VcGRhdGUoV1RGOjpGdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6
OkVycm9yKT4mJiBjYWxsYmFjaykKIHsKLSAgICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkgfHwg
IW1fZHJhd2luZ0FyZWEpCi0gICAgICAgIHJldHVybiBjYWxsYmFjaygpOworICAgIGlmICghaGFz
UnVubmluZ1Byb2Nlc3MoKSB8fCAhbV9kcmF3aW5nQXJlYSkgeworICAgICAgICBjYWxsYmFjayhD
YWxsYmFja0Jhc2U6OkVycm9yOjpPd25lcldhc0ludmFsaWRhdGVkKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KIAogICAgIG1fZHJhd2luZ0FyZWEtPmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdp
bmcoV1RGTW92ZShjYWxsYmFjaykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAppbmRleCBhOGU3NTY3YjhjNmI2ODhmZTExNTAyY2ViMTRiMDQ1YjdmOGYxM2E1Li5iZTEw
MTA1ZjE2MTNiY2M0OWU3NzI1ZTgxODU1MWUzYjVlNDBjZWYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNjgsNyArNjgsNiBAQAogI2luY2x1ZGUgIldlYkNvbnRl
eHRNZW51SXRlbURhdGEuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNp
bmNsdWRlICJXZWJEYXRhTGlzdFN1Z2dlc3Rpb25zRHJvcGRvd24uaCIKLSNpbmNsdWRlICJXZWJF
dmVudC5oIgogI2luY2x1ZGUgIldlYkZyYW1lUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmgiCkBAIC0xOTksNyArMTk4LDYgQEAgaW50ZXJmYWNlIElEM0QxMURldmljZTE7CiAjZW5k
aWYKIAogbmFtZXNwYWNlIEFQSSB7Ci1jbGFzcyBBcnJheTsKIGNsYXNzIEF0dGFjaG1lbnQ7CiBj
bGFzcyBDb250ZW50V29ybGQ7CiBjbGFzcyBDb250ZXh0TWVudUNsaWVudDsKQEAgLTIxMCwxOSAr
MjA4LDEzIEBAIGNsYXNzIEZpbmRNYXRjaGVzQ2xpZW50OwogY2xhc3MgRm9ybUNsaWVudDsKIGNs
YXNzIEZ1bGxzY3JlZW5DbGllbnQ7CiBjbGFzcyBIaXN0b3J5Q2xpZW50OwotY2xhc3MgSGl0VGVz
dFJlc3VsdDsKIGNsYXNzIEljb25Mb2FkaW5nQ2xpZW50OwogY2xhc3MgTG9hZGVyQ2xpZW50Owog
Y2xhc3MgTmF2aWdhdGlvbjsKLWNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBOYXZpZ2F0
aW9uQ2xpZW50OwotY2xhc3MgTmF2aWdhdGlvblJlc3BvbnNlOwotY2xhc3MgUGFnZUNvbmZpZ3Vy
YXRpb247CiBjbGFzcyBQb2xpY3lDbGllbnQ7CiBjbGFzcyBSZXNvdXJjZUxvYWRDbGllbnQ7Ci1j
bGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiBjbGFzcyBVSUNsaWVudDsKLWNsYXNzIFVSTDsK
IGNsYXNzIFVSTFJlcXVlc3Q7CiB9CiAKQEAgLTM0NCwxMCArMzM2LDcgQEAgdHlwZWRlZiBIV05E
IFBsYXRmb3JtVmlld1dpZGdldDsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5OwotY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eTsKLWNsYXNzIENhbGxiYWNrSUQ7CiBjbGFzcyBEcmF3aW5nQXJlYVByb3h5OwotY2xh
c3MgRG93bmxvYWRQcm94eTsKIGNsYXNzIEdhbWVwYWREYXRhOwogY2xhc3MgTWVkaWFVc2FnZU1h
bmFnZXI7CiBjbGFzcyBOYXRpdmVXZWJHZXN0dXJlRXZlbnQ7CkBAIC0zNzEsNyArMzYwLDYgQEAg
Y2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsK
IGNsYXNzIFdlYkNvbnRleHRNZW51UHJveHk7CiBjbGFzcyBXZWJFZGl0Q29tbWFuZFByb3h5Owot
Y2xhc3MgV2ViRnJhbWVQcm94eTsKIGNsYXNzIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk7CiBj
bGFzcyBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk7CiBjbGFzcyBVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5OwpAQCAtMzc5LDcgKzM2Nyw2IEBAIGNsYXNzIFZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Owog
Y2xhc3MgV2ViQmFja0ZvcndhcmRDYWNoZTsKIGNsYXNzIFdlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXJQcm94eTsKLWNsYXNzIFdlYkluc3BlY3RvclVJUHJveHk7CiBjbGFzcyBXZWJL
ZXlib2FyZEV2ZW50OwogY2xhc3MgV2ViTW91c2VFdmVudDsKIGNsYXNzIFdlYk5hdmlnYXRpb25T
dGF0ZTsKQEAgLTQyNCw3ICs0MTEsNiBAQCBzdHJ1Y3QgV2ViTmF2aWdhdGlvbkRhdGFTdG9yZTsK
IHN0cnVjdCBXZWJQb3B1cEl0ZW07CiBzdHJ1Y3QgV2ViU3BlZWNoU3ludGhlc2lzVm9pY2U7CiAK
LWVudW0gY2xhc3MgRmluZE9wdGlvbnMgOiB1aW50MTZfdDsKIGVudW0gY2xhc3MgSW1hZ2VBbmFs
eXNpc1R5cGUgOiB1aW50OF90OwogZW51bSBjbGFzcyBUYXBIYW5kbGluZ1Jlc3VsdCA6IHVpbnQ4
X3Q7CiBlbnVtIGNsYXNzIFRleHRSZWNvZ25pdGlvblVwZGF0ZVJlc3VsdCA6IHVpbnQ4X3Q7CkBA
IC00MzQsOCArNDIwLDYgQEAgZW51bSBjbGFzcyBRdWlja0xvb2tQcmV2aWV3QWN0aXZpdHkgOiB1
aW50OF90OwogZW51bSBjbGFzcyBVbmRvT3JSZWRvIDogYm9vbDsKIGVudW0gY2xhc3MgV2ViQ29u
dGVudE1vZGUgOiB1aW50OF90OwogCi10eXBlZGVmIHVpbnQzMl90IFNuYXBzaG90T3B0aW9uczsK
LQogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQogdXNpbmcgTGF5ZXJIb3N0
aW5nQ29udGV4dElEID0gdWludDMyX3Q7CiAjZW5kaWYKQEAgLTE2MzUsNyArMTYxOSw3IEBAIHB1
YmxpYzoKIAogICAgIC8vIEZvciB0ZXN0aW5nCiAgICAgdm9pZCBjbGVhcldoZWVsRXZlbnRUZXN0
TW9uaXRvcigpOwotICAgIHZvaWQgY2FsbEFmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZShGdW5j
dGlvbjx2b2lkKCk+JiYpOworICAgIHZvaWQgY2FsbEFmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0
ZShXVEY6OkZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKIAogICAgIHZv
aWQgZGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUoT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVz
dG9uZT4pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5k
ZXggM2IzNWMwMDMzMDE2OGM1YjY2YWFjYjlmZTM4NmYwNTdjMjc0ZDA2Ni4uMzkxNDA4Yzc3MDk0
NDdhNGZmZDZjZGRjNjBiMGFhYzA3YzJhY2I2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMzYsOCArMzYsNiBAQAogI2luY2x1ZGUgIkFQSU5hdmln
YXRpb24uaCIKICNpbmNsdWRlICJBUElQYWdlQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIkFQ
SVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oIgotI2luY2x1ZGUgIkFQSVN0cmluZy5oIgotI2lu
Y2x1ZGUgIkFQSVVSTFJlcXVlc3QuaCIKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNzTWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJEb3dubG9hZFByb3h5LmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQcm94
eU1lc3NhZ2VzLmgiCkBAIC01Nyw3ICs1NSw2IEBACiAjaW5jbHVkZSAiVGV4dENoZWNrZXIuaCIK
ICNpbmNsdWRlICJVSUdhbWVwYWQuaCIKICNpbmNsdWRlICJVSUdhbWVwYWRQcm92aWRlci5oIgot
I2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQ29udGV4dFByaXZhdGUuaCIKICNp
bmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJk
Q2FjaGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGVk
YjNmMjEyMTc5MjhhOGQwODJjM2RkMjFjMmYwYTRkZDZlZGM3ZDguLjE2NzA3NmE0MjYzN2QzNWFl
MTdmMzk3NjU5YjgwMzhkMjFlOGE4MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2lu
Y2x1ZGUgIkFQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIkdQVVByb2Nl
c3NQcm94eS5oIgorI2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgogI2luY2x1ZGUgIkhpZGRl
blBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdl
UmVjZWl2ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1t
CmluZGV4IDI5NTgyNzBjNzVmMzZlYjAwMzhhZTg1NjlmMWZmMjM5YzM5OTc0OTAuLjAzYWIwZDQy
YTA3YjA4M2RhNTk2ZDBiYjU1OWJkOGNlMzAxNDQ0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQpAQCAtMzcx
LDkgKzM3MSw5IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjplbmRTd2lwZUdlc3R1cmUo
V2ViQmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRlbSwKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogCi0gICAgICAgIGRyYXdpbmdBcmVhLT5kaXNwYXRjaEFmdGVyRW5zdXJpbmdE
cmF3aW5nKFtwYWdlSUQsIGdlc3R1cmVJRF0geworICAgICAgICBkcmF3aW5nQXJlYS0+ZGlzcGF0
Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhbcGFnZUlELCBnZXN0dXJlSURdIChDYWxsYmFja0Jhc2U6
OkVycm9yIGVycm9yKSB7CiAgICAgICAgICAgICBpZiAoYXV0byBnZXN0dXJlQ29udHJvbGxlciA9
IGNvbnRyb2xsZXJGb3JHZXN0dXJlKHBhZ2VJRCwgZ2VzdHVyZUlEKSkKLSAgICAgICAgICAgICAg
ICBnZXN0dXJlQ29udHJvbGxlci0+d2lsbENvbW1pdFBvc3RTd2lwZVRyYW5zaXRpb25MYXllclRy
ZWUodHJ1ZSk7CisgICAgICAgICAgICAgICAgZ2VzdHVyZUNvbnRyb2xsZXItPndpbGxDb21taXRQ
b3N0U3dpcGVUcmFuc2l0aW9uTGF5ZXJUcmVlKGVycm9yID09IENhbGxiYWNrQmFzZTo6RXJyb3I6
Ok5vbmUpOwogICAgICAgICB9KTsKICAgICAgICAgZHJhd2luZ0FyZWEtPmhpZGVDb250ZW50VW50
aWxQZW5kaW5nVXBkYXRlKCk7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDE5MDFjNTNiNjI1
ODU3YmJiYzM1ODM5Mzg0ZWY4ZjViNWI3N2JmZjMuLmQ0ZGI2NTJlN2JhMjIyOGUxOGYwOGVmOTBj
M2UzZDkyYzRjMWU4MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDkzMSw3ICs0OTMxLDcgQEAgc3Rh
dGljIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZFdpdGhUb3VjaChXS0NvbnRlbnRWaWV3ICp2aWV3LCBj
b25zdCBXZWJDb3JlOjpJbnRQb2kKIHsKICAgICBfaWdub3JlU2VsZWN0aW9uQ29tbWFuZEZhZGVD
b3VudCsrOwogICAgIF9wYWdlLT5zY2hlZHVsZUZ1bGxFZGl0b3JTdGF0ZVVwZGF0ZSgpOwotICAg
IF9wYWdlLT5jYWxsQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlKFt3ZWFrU2VsZiA9IFdlYWtP
YmpDUHRyPFdLQ29udGVudFZpZXc+KHNlbGYpXSB7CisgICAgX3BhZ2UtPmNhbGxBZnRlck5leHRQ
cmVzZW50YXRpb25VcGRhdGUoW3dlYWtTZWxmID0gV2Vha09iakNQdHI8V0tDb250ZW50Vmlldz4o
c2VsZildIChhdXRvKSB7CiAgICAgICAgIGlmIChhdXRvIHN0cm9uZ1NlbGYgPSB3ZWFrU2VsZi5n
ZXQoKSkKICAgICAgICAgICAgIHN0cm9uZ1NlbGYtPl9pZ25vcmVTZWxlY3Rpb25Db21tYW5kRmFk
ZUNvdW50LS07CiAgICAgfSk7CkBAIC04OTk2LDcgKzg5OTYsNyBAQCBzdGF0aWMgVmVjdG9yPFdl
YkNvcmU6OkludFNpemU+IHNpemVzT2ZQbGFjZWhvbGRlckVsZW1lbnRzVG9JbnNlcnRXaGVuRHJv
cHBpbmdJdAogICAgICAgICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkRyYWcgaW50ZXJhY3Rp
b24gd2lsbEFuaW1hdGVDYW5jZWxXaXRoQW5pbWF0b3IgKGFuaW1hdGlvbiBjb21wbGV0aW9uIGJs
b2NrIGZpcmVkKSIpOwogICAgICAgICBwYWdlLT5kcmFnQ2FuY2VsbGVkKCk7CiAgICAgICAgIGlm
IChhdXRvIGNvbXBsZXRpb24gPSBwcm90ZWN0ZWRTZWxmLT5fZHJhZ0Ryb3BJbnRlcmFjdGlvblN0
YXRlLnRha2VEcmFnQ2FuY2VsU2V0RG93bkJsb2NrKCkpIHsKLSAgICAgICAgICAgIHBhZ2UtPmNh
bGxBZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUoW2NvbXBsZXRpb24sIHByb3RlY3RlZFNlbGZd
IHsKKyAgICAgICAgICAgIHBhZ2UtPmNhbGxBZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUoW2Nv
bXBsZXRpb24sIHByb3RlY3RlZFNlbGZdIChXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IpIHsK
ICAgICAgICAgICAgICAgICBjb21wbGV0aW9uKCk7CiAgICAgICAgICAgICAgICAgcHJvdGVjdGVk
U2VsZi0+X2lzQW5pbWF0aW5nRHJhZ0NhbmNlbCA9IE5POwogICAgICAgICAgICAgfSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaAppbmRleCA0YjkxYjlhZjg1YThhYTljNmM0Mjk5ZDg3
NDJhOTBmYjE4MDA3YzZhLi5lMjI4MmViM2Y5ZmFmNGY2MDFlMmMwYzY0MWNhNzZmYWY4ZjhjYjRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9U
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTUyLDcgKzUyLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGNvbW1pdFRyYW5zaWVudFpvb20oZG91YmxlIHNjYWxlLCBXZWJDb3Jl
OjpGbG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHdhaXRGb3JEaWRVcGRh
dGVBY3Rpdml0eVN0YXRlKEFjdGl2aXR5U3RhdGVDaGFuZ2VJRCkgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKEZ1bmN0aW9uPHZvaWQoKT4mJikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKFdURjo6RnVuY3Rpb248
dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlzcGF0
Y2hQcmVzZW50YXRpb25DYWxsYmFja3NBZnRlckZsdXNoaW5nTGF5ZXJzKGNvbnN0IFZlY3RvcjxD
YWxsYmFja0lEPiYpIGZpbmFsOwogCiAgICAgdm9pZCB3aWxsU2VuZFVwZGF0ZUdlb21ldHJ5KCkg
b3ZlcnJpZGU7CkBAIC03Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAgICAgLy8gVGhlIGxhc3QgbWF4
bWl1bSBzaXplIGZvciBzaXplLXRvLWNvbnRlbnQgYXV0by1zaXppbmcgd2Ugc2VudCB0byB0aGUg
d2ViIHByb2Nlc3MuCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2xhc3RTZW50U2l6ZVRvQ29udGVu
dEF1dG9TaXplTWF4aW11bVNpemU7CiAKLSAgICBIYXNoTWFwPENhbGxiYWNrSUQsIEZ1bmN0aW9u
PHZvaWQoKT4+IG1fY2FsbGJhY2tzOworICAgIENhbGxiYWNrTWFwIG1fY2FsbGJhY2tzOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1t
CmluZGV4IDJhNzZjYWI1ZmFlNWQ5M2Y1ZWFlNWI3OTc0ZWEzYmY3ZTUzN2RmMDUuLmU2MTZhZmZk
ZTM2ZGY0YTAxZjhiYmJiZmYwOGEzMGNlN2ZkMTRiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5Lm1tCkBAIC01MCw2ICs1MCw3IEBAIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhUHJveHk6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkoV2ViUGFnZVByCiAK
IFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6On5UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYVByb3h5KCkKIHsKKyAgICBtX2NhbGxiYWNrcy5pbnZhbGlkYXRlKENhbGxiYWNr
QmFzZTo6RXJyb3I6Ok93bmVyV2FzSW52YWxpZGF0ZWQpOwogfQogCiB2b2lkIFRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkKQEAg
LTIwMiwyMyArMjAzLDIxIEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94
eTo6Y29tbWl0VHJhbnNpZW50Wm9vbShkb3VibGUgc2NhbGUsIEZsb2F0CiAgICAgc2VuZChNZXNz
YWdlczo6RHJhd2luZ0FyZWE6OkNvbW1pdFRyYW5zaWVudFpvb20oc2NhbGUsIG9yaWdpbikpOwog
fQogCi12b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmRpc3BhdGNoQWZ0
ZXJFbnN1cmluZ0RyYXdpbmcoRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQordm9pZCBUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3
aW5nKFdURjo6RnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYgY2FsbGJhY2sp
CiB7CiAgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS5oYXNSdW5uaW5nUHJvY2VzcygpKSB7Ci0gICAg
ICAgIGNhbGxiYWNrKCk7CisgICAgICAgIGNhbGxiYWNrKENhbGxiYWNrQmFzZTo6RXJyb3I6Ok93
bmVyV2FzSW52YWxpZGF0ZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBj
YWxsYmFja0lEID0gQ2FsbGJhY2tJRDo6Z2VuZXJhdGVJRCgpOwotICAgIG1fY2FsbGJhY2tzLnNl
dChjYWxsYmFja0lELCBXVEZNb3ZlKGNhbGxiYWNrKSk7Ci0gICAgc2VuZChNZXNzYWdlczo6RHJh
d2luZ0FyZWE6OkFkZFRyYW5zYWN0aW9uQ2FsbGJhY2tJRChjYWxsYmFja0lEKSk7CisgICAgc2Vu
ZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkFkZFRyYW5zYWN0aW9uQ2FsbGJhY2tJRChtX2NhbGxi
YWNrcy5wdXQoV1RGTW92ZShjYWxsYmFjayksIG51bGxwdHIpKSk7CiB9CiAKIHZvaWQgVGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6ZGlzcGF0Y2hQcmVzZW50YXRpb25DYWxsYmFj
a3NBZnRlckZsdXNoaW5nTGF5ZXJzKGNvbnN0IFZlY3RvcjxDYWxsYmFja0lEPiYgY2FsbGJhY2tJ
RHMpCiB7CiAgICAgZm9yIChhdXRvJiBjYWxsYmFja0lEIDogY2FsbGJhY2tJRHMpIHsKLSAgICAg
ICAgaWYgKGF1dG8gY2FsbGJhY2sgPSBtX2NhbGxiYWNrcy50YWtlKGNhbGxiYWNrSUQpKQotICAg
ICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSBtX2NhbGxi
YWNrcy50YWtlPFZvaWRDYWxsYmFjaz4oY2FsbGJhY2tJRCkpCisgICAgICAgICAgICBjYWxsYmFj
ay0+cGVyZm9ybUNhbGxiYWNrKCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaAppbmRl
eCBiZDUzOWQyMmMxNTJhNDQxOTg1Yzg3MDYzODA5YmEyYjI0NTNkYTBjLi5kMTk3MjkyNjU1YzYx
YmE2YzZiYjM4YTEzODg1N2Y0ZGU1NjcxYzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmgKQEAgLTI2
LDYgKzI2LDcgQEAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpICYmIFBMQVRGT1JNKE1BQykK
IAogI2ltcG9ydCA8QXBwS2l0L0FwcEtpdC5oPgorI2ltcG9ydCAiR2VuZXJpY0NhbGxiYWNrLmgi
CiAjaW1wb3J0IDx3dGYvTmFrZWRQdHIuaD4KICNpbXBvcnQgPHd0Zi9OYWtlZFJlZi5oPgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1dLVGV4dEZpbmRlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9XS1RleHRGaW5kZXJDbGllbnQubW0KaW5kZXggNzQxNDUyMTgyYWIyMTExZDZhZGFkZWQzNmVl
OTBiMDJjZWE0MzYxMC4uYzAzN2Q2NWIyYmMwZjNjMGExZWExMjZlZmQyMTgyN2RhMjFhYWJiOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLVGV4dEZpbmRlckNsaWVu
dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tUZXh0RmluZGVyQ2xpZW50
Lm1tCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbXBvcnQgIkFQSUZpbmRDbGllbnQuaCIKICNpbXBv
cnQgIkFQSUZpbmRNYXRjaGVzQ2xpZW50LmgiCi0jaW1wb3J0ICJXZWJGaW5kT3B0aW9ucy5oIgog
I2ltcG9ydCAiV2ViSW1hZ2UuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCA8
YWxnb3JpdGhtPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggMWZjNjI0MzMyOTljY2UxYjMxNGU1YjgzNTU2NGQxYzI0Y2FhYWJlMy4uZDEy
ZDVmZDZhOTMyZDlmNDJmZTBkZDVkNTdlYzQxNDNkNDdkMDA4ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjk2LDYgKzE2OTYsNyBA
QAogCQlCQzE0REY5RjEyMEI2MzVGMDA4MjZDMEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxNERGOUQxMjBC
NjM1RjAwODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29ybGQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE0RTEwQTEyMEI5MDVFMDA4MjZDMEMg
LyogSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxNEUxMDgxMjBCOTA1RTAwODI2QzBDIC8qIEluamVj
dGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuaCAqLzsgfTsKIAkJQkMxNzc0NjUxMThCOUZGNDAwN0Q5
RTlBIC8qIFdLUGFnZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDMTc3NDY0MTE4QjlGRjQwMDdEOUU5QSAvKiBXS1BhZ2VQcml2YXRlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQkMxNzc1
M0YxMThCQUJGMDAwN0Q5RTlBIC8qIEdlbmVyaWNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxNzc1M0UxMThCQUJGMDAwN0Q5RTlBIC8q
IEdlbmVyaWNDYWxsYmFjay5oICovOyB9OwogCQlCQzFBN0M1ODExMzZFMTlDMDBGQjcxNjcgLyog
UHJvY2Vzc0xhdW5jaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzFBN0M1NzExMzZFMTlDMDBGQjcxNjcgLyogUHJvY2Vzc0xhdW5jaGVyLmggKi87
IH07CiAJCUJDMUI0MTk4MTFENDFENTcwMDExRThERCAvKiBXS0J1bmRsZVBhZ2VQcml2YXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzFCNDE5NzEx
RDQxRDU3MDAxMUU4REQgLyogV0tCdW5kbGVQYWdlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMUJFMUUwMTJENTRBNDEwMDA0QTIy
OCAvKiBXZWJHZW9sb2NhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMxQkUxREUxMkQ1NEE0MTAwMDRBMjI4IC8qIFdlYkdlb2xvY2F0
aW9uQ2xpZW50LmggKi87IH07CkBAIC01MzIxLDYgKzUzMjIsNyBAQAogCQlCQzE0RTEwNzEyMEI5
MDVFMDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMxNEUxMDgxMjBCOTA1RTAwODI2
QzBDIC8qIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQzE3NzQ2NDExOEI5RkY0MDA3RDlFOUEgLyogV0tQYWdlUHJp
dmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1BhZ2VQcml2YXRlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDMTc3NTNFMTE4QkFCRjAwMDdEOUU5QSAv
KiBHZW5lcmljQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2Vu
ZXJpY0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMUE3QzU3MTEz
NkUxOUMwMEZCNzE2NyAvKiBQcm9jZXNzTGF1bmNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUHJvY2Vzc0xhdW5jaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDMUI0MTk3MTFENDFENTcwMDExRThERCAvKiBXS0J1bmRsZVBhZ2VQcml2YXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlUGFnZVByaXZhdGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMxQkUxREUxMkQ1NEE0MTAwMDRBMjI4IC8qIFdl
Ykdlb2xvY2F0aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
Ykdlb2xvY2F0aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDE3
MCw2ICsxMDE3Miw3IEBACiAJCQkJMUE2NDIyRkMxMkREMDhGRTAwQ0FBRTJDIC8qIERyYXdpbmdB
cmVhUHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkJMUFFMDBENUUxODMxNzkyMTAwMDg3REQ3IC8q
IEZyYW1lTG9hZFN0YXRlLmNwcCAqLywKIAkJCQkxQUUwMEQ1RjE4MzE3OTIxMDAwODdERDcgLyog
RnJhbWVMb2FkU3RhdGUuaCAqLywKKwkJCQlCQzE3NzUzRTExOEJBQkYwMDA3RDlFOUEgLyogR2Vu
ZXJpY0NhbGxiYWNrLmggKi8sCiAJCQkJOUVDNTMyQTIyNDQ3RkJBRDAwMjE1MjE2IC8qIEdlb2xv
Y2F0aW9uSWRlbnRpZmllci5oICovLAogCQkJCUJDMDZGNDQ5MTJEQkQxRjUwMDJENzhERSAvKiBH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCAqLywKIAkJCQlCQzA2
RjQ0ODEyREJEMUY1MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eS5oICovLApAQCAtMTIxOTAsNiArMTIxOTMsNyBAQAogCQkJCUNEMTlEMkVBMjA0NjQw
NkYwMDE3MDc0QSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVyaXN0aWMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNEQTkzREIwMjJGOEJDRjQwMDQ5MEE2OSAvKiBGdWxsc2NyZWVuVG91Y2hTZWNoZXVy
aXN0aWNQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVCRTFCMzFENTkwMkREMDBE
RDdDNjggLyogR2FtZXBhZERhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDMTc3NTNGMTE4QkFC
RjAwMDdEOUU5QSAvKiBHZW5lcmljQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTlFQzUz
MkEzMjQ0N0ZCQUQwMDIxNTIxNiAvKiBHZW9sb2NhdGlvbklkZW50aWZpZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMDZGNDJGMTJEQkI5QjYwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwNkY0NEExMkRCRDFGNTAw
MkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCBpbiBI
ZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlQ29udGV4
dC5tbQppbmRleCA0NWI1OGQ2M2JjMDk0ZDBmMjBkY2U5MjY2ZmY5YjY3NGUzOWYwYWJkLi4wNzg2
Y2M1MzMxZjM1MDkxZWViYTU1NTkwNzA3N2EzMTU3NjgwOGU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVl
Q29udGV4dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVM
YXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQpAQCAtMjYsNiArMjYsNyBAQAogI2lt
cG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVDb250ZXh0LmgiCiAKKyNp
bXBvcnQgIkdlbmVyaWNDYWxsYmFjay5oIgogI2ltcG9ydCAiR3JhcGhpY3NMYXllckNBUmVtb3Rl
LmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaCIKICNpbXBvcnQgIlJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>