<?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>227193</bug_id>
          
          <creation_ts>2021-06-20 09:54:15 -0700</creation_ts>
          <short_desc>[macOS] Rename WKVisualSearchPreviewController to WKQuickLookPreviewController</short_desc>
          <delta_ts>2021-06-20 16:23:22 -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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1771168</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-20 09:54:15 -0700</bug_when>
    <thetext>Repurpose this class so that we can use it for both visual search and a generic &quot;Quick Look&quot; action on images.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771170</commentid>
    <comment_count>1</comment_count>
      <attachid>431821</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-20 10:23:42 -0700</bug_when>
    <thetext>Created attachment 431821
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771177</commentid>
    <comment_count>2</comment_count>
      <attachid>431821</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-20 11:20:50 -0700</bug_when>
    <thetext>Comment on attachment 431821
For EWS

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771201</commentid>
    <comment_count>3</comment_count>
      <attachid>431821</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-20 15:43:38 -0700</bug_when>
    <thetext>Comment on attachment 431821
For EWS

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771202</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-20 16:22:12 -0700</bug_when>
    <thetext>Committed r279060 (238980@main): &lt;https://commits.webkit.org/238980@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431821.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771203</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-20 16:23:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/79542334&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431821</attachid>
            <date>2021-06-20 10:23:42 -0700</date>
            <delta_ts>2021-06-20 16:22:13 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-227193-20210620102341.patch</filename>
            <type>text/plain</type>
            <size>35713</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVkNGM4MjI5M2ViOTMxY2Y0YWExMmU0
Y2YzZWM3ZjllOTU2NTk1ZDUuLmRiMDVmYjQwODkyY2I4YTJmNTkzNThjYTViYmM4OWMzZGY5YzU0
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMjAgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBSZW5hbWUgV0tWaXN1YWxTZWFy
Y2hQcmV2aWV3Q29udHJvbGxlciB0byBXS1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxOTMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc29tZSBjb21w
aWxlLXRpbWUgZmxhZ3MgdG8gZ3VhcmQgUXVpY2tMb29rIFNQSSBkZWNsYXJhdGlvbnMuCisKKyAg
ICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisKIDIwMjEtMDYtMTYgIEFsaWNpYSBCb3lhIEdh
cmPDrWEgIDxhYm95YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXVEZdIERhdGFNdXRleDogQXNz
ZXJ0IG9uIGRvdWJsZSBsb2NraW5nIG9uIHRoZSBzYW1lIHRocmVhZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggODY1ZTQ4ZTRjZWVmZTg5YjExNzA1NGIyZDFjYzljM2U2MDVkNjM5Yi4uZmVmMTA2ZTZm
N2Q0YTVhMDU5MGUzMTlhY2RmYTI4N2I0NDlhNzk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMDYtMjAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgW21hY09TXSBSZW5hbWUgV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29u
dHJvbGxlciB0byBXS1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxOTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggdXAgc29tZSBjb21waWxlciBmbGFn
cyBpbiB0aGlzIFNQSSBoZWFkZXIuIEluc3RlYWQgb2YgdXNpbmcgYEhBVkUoVktfSU1BR0VfQU5B
TFlTSVMpYCB0byBndWFyZCBTUEkKKyAgICAgICAgZGVjbGFyYXRpb25zLCB1c2UgdGhlIG5ldyBg
SEFWRShRVUlDS0xPT0tfUFJFVklFV19JVEVNX0RBVEFfUFJPVklERVIpYCwgYEhBVkUoUVVJQ0tM
T09LX0lURU1fUFJFVklFV19PUFRJT05TKWAKKyAgICAgICAgYW5kIGBIQVZFKFFVSUNLTE9PS19Q
UkVWSUVXX0FDVElWSVRZKWAgZmxhZ3MuCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9RdWlja0xv
b2tNYWNTUEkuaDoKKwogMjAyMS0wNi0xNSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2lPUyAxNV0gU3VwcG9ydCBidWlsZGluZyBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggMWU2YjlmYjNjNmU2YzI5ODRhNDM2NjhlN2FlMzMyNzdmNmI0NzdhMy4uMGZlY2FkZTFi
NDk5YTE3ZGE5MjllOGEwMzViZjQ4NzRlMDdkNTZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBA
QAorMjAyMS0wNi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbbWFjT1NdIFJlbmFtZSBXS1Zpc3VhbFNlYXJjaFByZXZpZXdDb250cm9sbGVyIHRv
IFdLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzE5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBXS1Zpc3VhbFNlYXJjaFByZXZpZXdDb250cm9s
bGVyIHRvIFdLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIsIHdpdGggdGhlIGludGVudGlvbiBv
ZiB1c2luZyB0aGlzIGxvZ2ljCisgICAgICAgIHRvIGltcGxlbWVudCBhIG5ldyBjb250ZXh0IG1l
bnUgYWN0aW9uIGZvciBvcGVuaW5nIGltYWdlcyBpbiBhIFF1aWNrTG9vayBwcmV2aWV3IHBhbmVs
LiBTZWUgYmVsb3cgZm9yIG1vcmUKKyAgICAgICAgZGV0YWlscy4KKworICAgICAgICAqIFNvdXJj
ZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29h
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmhhbmRsZUNvbnRleHRNZW51TG9v
a1VwSW1hZ2UpOiBEZWxldGVkLgorCisgICAgICAgIE1vdmUgdGhpcyBpbnRvIFdlYlBhZ2VQcm94
eU1hYy5tbSwgc2luY2UgdGhpcyBpcyAoMSkgb25seSByZWxldmFudCB0byBtYWNPUywgYW5kICgy
KSB0aGlzIGxvZ2ljIG5vdyByZXF1aXJlcworICAgICAgICBXS1F1aWNrTG9va1ByZXZpZXdDb250
cm9sbGVyLmgsIHdoaWNoIFdlYlBhZ2VQcm94eU1hYy5tbSBhbHJlYWR5IGltcG9ydHMuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjphY2NlcHRzUHJldmlld1BhbmVsQ29udHJvbCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tRdWlja0xv
b2tQcmV2aWV3Q29udHJvbGxlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1dLVmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIuaC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1dLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIubW06IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29udHJvbGxl
ci5tbS4KKyAgICAgICAgKC1bV0tRdWlja0xvb2tQcmV2aWV3Q29udHJvbGxlciBpbml0V2l0aFBh
Z2U6aW1hZ2VEYXRhOnRpdGxlOmltYWdlVVJMOmFjdGl2aXR5Ol0pOgorCisgICAgICAgIEFkZCBR
dWlja0xvb2tQcmV2aWV3QWN0aXZpdHksIGEgZmxhZyB0byBpbmRpY2F0ZSB3aGV0aGVyIG9yIG5v
dCBXS1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyIHNob3VsZAorICAgICAgICBzdGFydCB3aXRo
IFFMUHJldmlld0FjdGl2aXR5VmlzdWFsU2VhcmNoIG9yIFFMUHJldmlld0FjdGl2aXR5Tm9uZS4g
Rm9yIHRoZSB0aW1lIGJlaW5nLCB3ZSBvbmx5IHVzZSB0aGlzIGhlbHBlcgorICAgICAgICBvYmpl
Y3QgZm9yIHZpc3VhbCBzZWFyY2gsIHNvIHdlIG9ubHkgcGFzcyBpbiBRdWlja0xvb2tQcmV2aWV3
QWN0aXZpdHk6OlZpc3VhbFNlYXJjaC4KKworICAgICAgICAoLVtXS1F1aWNrTG9va1ByZXZpZXdD
b250cm9sbGVyIGJlZ2luQ29udHJvbDpdKToKKyAgICAgICAgKC1bV0tRdWlja0xvb2tQcmV2aWV3
Q29udHJvbGxlciBlbmRDb250cm9sOl0pOgorICAgICAgICAoLVtXS1F1aWNrTG9va1ByZXZpZXdD
b250cm9sbGVyIGNsb3NlUGFuZWxJZk5lY2Vzc2FyeV0pOgorICAgICAgICAoLVtXS1F1aWNrTG9v
a1ByZXZpZXdDb250cm9sbGVyIGlzQ29udHJvbGxpbmc6XSk6CisgICAgICAgICgtW1dLUXVpY2tM
b29rUHJldmlld0NvbnRyb2xsZXIgcHJvdmlkZURhdGFGb3JJdGVtOl0pOgorICAgICAgICAoLVtX
S1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyIG51bWJlck9mUHJldmlld0l0ZW1zSW5QcmV2aWV3
UGFuZWw6XSk6CisgICAgICAgICgtW1dLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIgcHJldmll
d1BhbmVsOnByZXZpZXdJdGVtQXRJbmRleDpdKToKKyAgICAgICAgKC1bV0tRdWlja0xvb2tQcmV2
aWV3Q29udHJvbGxlciBwcmV2aWV3UGFuZWw6aW5pdGlhbEFjdGl2aXR5Rm9ySXRlbTpdKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpiZWdpblByZXZpZXdQYW5lbENvbnRyb2wpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmVuZFByZXZpZXdQYW5lbENvbnRyb2wpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlU2hhcmVkUHJldmlld1BhbmVsSWZOZWNlc3NhcnkpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmhhbmRsZUNvbnRleHRNZW51TG9va1VwSW1h
Z2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dJbWFnZUluUXVpY2tMb29r
UHJldmlld1BhbmVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzaG93SW1hZ2VJ
blZpc3VhbFNlYXJjaFByZXZpZXdQYW5lbCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjEtMDYtMTkgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0xpdmUgVGV4dF0gTW91c2UgZXZlbnRz
IHNob3VsZCBvbmx5IHRyaWdnZXIgdGV4dCByZWNvZ25pdGlvbiBpZiB0aGUgY3Vyc29yIGlzIG1v
dmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA4ZWZkNWY3Mzk1NmMzODE1NmU0YzkxYzM4OGZh
NzU4NGZiMjRlNjI3Li5mZjIxMzNkYmVlMmYwY2Y5ZTU5NWJjM2NlNTE2N2NiOTNkY2VjMDgwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtMTA0MiwzICsxMDQyLDEwIEBACiAjaWYgKFBMQVRGT1JN
KElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikpIHx8IFBMQVRG
T1JNKE1BQ0NBVEFMWVNUKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDExMDAwMCkKICNkZWZpbmUgSEFWRV9QQUNfU0hBUkVEX1JFR0lPTl9J
RCAxCiAjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfUVVJQ0tMT09LX1BSRVZJRVdfSVRFTV9E
QVRBX1BST1ZJREVSKSBcCisgICAgJiYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApCisjZGVmaW5lIEhBVkVfUVVJQ0tMT09LX1BSRVZJ
RVdfSVRFTV9EQVRBX1BST1ZJREVSIDEKKyNkZWZpbmUgSEFWRV9RVUlDS0xPT0tfSVRFTV9QUkVW
SUVXX09QVElPTlMgMQorI2RlZmluZSBIQVZFX1FVSUNLTE9PS19QUkVWSUVXX0FDVElWSVRZIDEK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1F1aWNr
TG9va01hY1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1F1aWNrTG9va01h
Y1NQSS5oCmluZGV4IDE0ZmM4NjNjYzFkNWRhYWRjNGY0N2ViNDYwODk1NWZlNWNiOTkzN2UuLmJk
OWJjMTlmZjdmNDc5ZTYyM2VmYTc0OGM3MGZiYTA4NDU5MjgzNTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9RdWlja0xvb2tNYWNTUEkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvUXVpY2tMb29rTWFjU1BJLmgKQEAgLTYyLDcgKzYyLDcg
QEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUUxQcmV2aWV3U3R5bGUpIHsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSBOU0RpY3Rpb25hcnkqIHByZXZpZXdPcHRpb25zOwogQGVuZAog
Ci0jaWYgSEFWRShWS19JTUFHRV9BTkFMWVNJUykKKyNpZiBIQVZFKFFVSUNLTE9PS19QUkVWSUVX
X0FDVElWSVRZKQogCiB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBRTFByZXZpZXdBY3Rpdml0
eSkgewogICAgIFFMUHJldmlld0FjdGl2aXR5Tm9uZSwKQEAgLTcxLDE4ICs3MSwxOCBAQCB0eXBl
ZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBRTFByZXZpZXdBY3Rpdml0eSkgewogICAgIFFMUHJldmll
d0FjdGl2aXR5VmlzdWFsU2VhcmNoCiB9OwogCi0jZW5kaWYKKyNlbmRpZiAvLyBIQVZFKFFVSUNL
TE9PS19QUkVWSUVXX0FDVElWSVRZKQogCi0jZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKLQotI2lmIEhBVkUoUVVJQ0tMT09LX1BSRVZJRVdfSVRFTV9EQVRBX1BST1ZJREVSKSB8fCBI
QVZFKFZLX0lNQUdFX0FOQUxZU0lTKQorI2lmIEhBVkUoUVVJQ0tMT09LX1BSRVZJRVdfSVRFTV9E
QVRBX1BST1ZJREVSKQogCiBAY2xhc3MgVVRUeXBlOwotQGludGVyZmFjZSBRTEl0ZW0gKFN0YWdp
bmdfNzQyOTk0NTEpCitAaW50ZXJmYWNlIFFMSXRlbSAoKQogLSAoaW5zdGFuY2V0eXBlKWluaXRX
aXRoRGF0YVByb3ZpZGVyOihpZCAvKiA8UUxQcmV2aWV3SXRlbURhdGFQcm92aWRlcj4gKi8pZGF0
YSBjb250ZW50VHlwZTooVVRUeXBlICopY29udGVudFR5cGUgcHJldmlld1RpdGxlOihOU1N0cmlu
ZyAqKXByZXZpZXdUaXRsZTsKIEBlbmQKIAotI2VuZGlmCisjZW5kaWYgLy8gSEFWRShRVUlDS0xP
T0tfUFJFVklFV19JVEVNX0RBVEFfUFJPVklERVIpCisKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQogCiAjaWYgSEFWRShRVUlDS0xPT0tfSVRFTV9QUkVWSUVXX09QVElPTlMpCiAK
QEAgLTkwLDQgKzkwLDQgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUUxQcmV2aWV3QWN0
aXZpdHkpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RpY3Rpb25hcnkgKnByZXZp
ZXdPcHRpb25zOwogQGVuZAogCi0jZW5kaWYKKyNlbmRpZiAvLyBIQVZFKFFVSUNLTE9PS19JVEVN
X1BSRVZJRVdfT1BUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA2N2YzMjU1OTc5ODk2
MDc1NDVmYmI2ODhlMmQyNzllMDg4NDI2NDZlLi4yNTlhYTk3YTQ0Mjg2OTBmODJhMDZiZWIzYzU1
YmMzNzVlYTYzZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQK
KysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC01MjMsMTIgKzUyMywxMiBA
QCBVSVByb2Nlc3MvbWFjL1dpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW0KIFVJUHJvY2Vzcy9tYWMv
V0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbQogVUlQcm9jZXNzL21hYy9XS0ltbWVkaWF0
ZUFjdGlvbkNvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW0KK1VJ
UHJvY2Vzcy9tYWMvV0tRdWlja0xvb2tQcmV2aWV3Q29udHJvbGxlci5tbQogVUlQcm9jZXNzL21h
Yy9XS1JldmVhbEl0ZW1QcmVzZW50ZXIubW0KIFVJUHJvY2Vzcy9tYWMvV0tTaGFyaW5nU2Vydmlj
ZVBpY2tlckRlbGVnYXRlLm1tCiBVSVByb2Nlc3MvbWFjL1dLVGV4dEZpbmRlckNsaWVudC5tbQog
VUlQcm9jZXNzL21hYy9XS1RleHRJbnB1dFdpbmRvd0NvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9t
YWMvV0tWaWV3TGF5b3V0U3RyYXRlZ3kubW0KLVVJUHJvY2Vzcy9tYWMvV0tWaXN1YWxTZWFyY2hQ
cmV2aWV3Q29udHJvbGxlci5tbQogCiBVSVByb2Nlc3MvTWVkaWEvY29jb2EvQXVkaW9TZXNzaW9u
Um91dGluZ0FyYml0cmF0b3JQcm94eUNvY29hLm1tCiBVSVByb2Nlc3MvTWVkaWEvY29jb2EvTWVk
aWFVc2FnZU1hbmFnZXJDb2NvYS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA4NGIyNmE1ZjZjMGQyNWMwYzUyMGM2NzY3
ZjU4OTNiMGI5ZGQ4NjlmLi5kOTFkYzA3ZDA3Y2Q2MGNmYzI3NzE1MzY3MWQyZTYxZTJmNTQxMzg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlD
b2NvYS5tbQpAQCAtNjM3LDE5ICs2MzcsNiBAQCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJh
eSBXZWJQYWdlUHJveHk6OmNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVucwogfQog
CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0jaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQot
Ci12b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQ29udGV4dE1lbnVMb29rVXBJbWFnZSgpCi17Ci0g
ICAgYXV0byYgcmVzdWx0ID0gbV9hY3RpdmVDb250ZXh0TWVudUNvbnRleHREYXRhLndlYkhpdFRl
c3RSZXN1bHREYXRhKCk7Ci0gICAgaWYgKCFyZXN1bHQuaW1hZ2VCaXRtYXApCi0gICAgICAgIHJl
dHVybjsKLQotICAgIHNob3dJbWFnZUluVmlzdWFsU2VhcmNoUHJldmlld1BhbmVsKCpyZXN1bHQu
aW1hZ2VCaXRtYXAsIHJlc3VsdC50b29sVGlwVGV4dCwgVVJMIHsgVVJMIHsgfSwgcmVzdWx0LmFi
c29sdXRlSW1hZ2VVUkwgfSk7Ci19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMp
Ci0KICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogCiBib29sIFdlYlBhZ2VQcm94
eTo6Y2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDQ5ZTc0NmVhNDM1OTljZDJh
OWVmZjI3YzE5N2NlYzkwOTEyOTM0NzAuLjdjMzczZWQ3MTk2Njg5Mzg1OWJlMTZhZTgzNDA5NzM0
ZTk1YjAwNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tCkBAIC02NSwxMiArNjUsMTIgQEAKICNpbXBvcnQgIldLTlNVUkxFeHRyYXMuaCIKICNpbXBv
cnQgIldLUERGSFVEVmlldy5oIgogI2ltcG9ydCAiV0tQcmludGluZ1ZpZXcuaCIKKyNpbXBvcnQg
IldLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIldLUmV2ZWFsSXRlbVBy
ZXNlbnRlci5oIgogI2ltcG9ydCAiV0tTYWZlQnJvd3NpbmdXYXJuaW5nLmgiCiAjaW1wb3J0IDxX
ZWJLaXQvV0tTaGFyZVNoZWV0Lmg+CiAjaW1wb3J0ICJXS1RleHRJbnB1dFdpbmRvd0NvbnRyb2xs
ZXIuaCIKICNpbXBvcnQgIldLVmlld0xheW91dFN0cmF0ZWd5LmgiCi0jaW1wb3J0ICJXS1Zpc3Vh
bFNlYXJjaFByZXZpZXdDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5o
IgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9X
ZWJCYWNrRm9yd2FyZExpc3QuaD4KQEAgLTU3ODYsNyArNTc4Niw3IEBAIHZvaWQgV2ViVmlld0lt
cGw6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgV2ViQ29yZTo6VHJhbnNsYXRp
b25Db250ZXh0CiBib29sIFdlYlZpZXdJbXBsOjphY2NlcHRzUHJldmlld1BhbmVsQ29udHJvbChR
TFByZXZpZXdQYW5lbCAqKQogewogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICByZXR1
cm4gISFtX3BhZ2UtPnZpc3VhbFNlYXJjaFByZXZpZXdDb250cm9sbGVyKCk7CisgICAgcmV0dXJu
ICEhbV9wYWdlLT5xdWlja0xvb2tQcmV2aWV3Q29udHJvbGxlcigpOwogI2Vsc2UKICAgICByZXR1
cm4gZmFsc2U7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5k
ZXggM2FhYTY0ZDFiZTQyZWE3Y2EwZjA4Zjk3ZDkwZTNjNDdmYWRjZGM2YS4uNjc1OGFmODI5ZjFl
ODg1MjA1ZTFlYjRjNDE4YmQyMmE2ZjM0OWUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTIyOCw3ICsyMjgsNyBAQCBPQkpDX0NMQVNTIE5TVmlldzsKIE9CSkNf
Q0xBU1MgUUxQcmV2aWV3UGFuZWw7CiBPQkpDX0NMQVNTIFNZTm90ZXNBY3RpdmF0aW9uT2JzZXJ2
ZXI7CiBPQkpDX0NMQVNTIFdLUUxUaHVtYm5haWxMb2FkT3BlcmF0aW9uOwotT0JKQ19DTEFTUyBX
S1Zpc3VhbFNlYXJjaFByZXZpZXdDb250cm9sbGVyOworT0JKQ19DTEFTUyBXS1F1aWNrTG9va1By
ZXZpZXdDb250cm9sbGVyOwogT0JKQ19DTEFTUyBXS1dlYlZpZXc7CiBPQkpDX0NMQVNTIF9XS1Jl
bW90ZU9iamVjdFJlZ2lzdHJ5OwogI2VuZGlmCkBAIC00MDUsNiArNDA1LDcgQEAgc3RydWN0IFdl
YlNwZWVjaFN5bnRoZXNpc1ZvaWNlOwogZW51bSBjbGFzcyBUZXh0UmVjb2duaXRpb25VcGRhdGVS
ZXN1bHQgOiB1aW50OF90OwogZW51bSBjbGFzcyBOZWdvdGlhdGVkTGVnYWN5VExTIDogYm9vbDsK
IGVudW0gY2xhc3MgUHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCA6IGJvb2w7CitlbnVtIGNs
YXNzIFF1aWNrTG9va1ByZXZpZXdBY3Rpdml0eSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFVuZG9P
clJlZG8gOiBib29sOwogZW51bSBjbGFzcyBXZWJDb250ZW50TW9kZSA6IHVpbnQ4X3Q7CiAKQEAg
LTE5MzcsNyArMTkzOCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUnVubmluZ01vZGFsSmF2YVNj
cmlwdERpYWxvZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSdW5uaW5nTW9kYWxKYXZhU2NyaXB0RGlh
bG9nOyB9CiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpICYmIFBMQVRGT1JNKE1BQykKLSAg
ICBXS1Zpc3VhbFNlYXJjaFByZXZpZXdDb250cm9sbGVyICp2aXN1YWxTZWFyY2hQcmV2aWV3Q29u
dHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fdmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIu
Z2V0KCk7IH0KKyAgICBXS1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyICpxdWlja0xvb2tQcmV2
aWV3Q29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fcXVpY2tMb29rUHJldmlld0NvbnRyb2xs
ZXIuZ2V0KCk7IH0KICNlbmRpZgogCiBwcml2YXRlOgpAQCAtMjQ4OSw3ICsyNDkwLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHJ1bk1vZGFsSmF2YVNjcmlwdERpYWxvZyhSZWZQdHI8V2ViRnJhbWVQ
cm94eT4mJiwgRnJhbWVJbmZvRGF0YSYmLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViUGFnZVByb3h5JiwgV2ViRnJhbWVQcm94eSosIEZyYW1lSW5mb0Rh
dGEmJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKT4mJik7CiAK
ICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpICYmIFBMQVRGT1JNKE1BQykKLSAgICB2b2lkIHNo
b3dJbWFnZUluVmlzdWFsU2VhcmNoUHJldmlld1BhbmVsKFNoYXJlYWJsZUJpdG1hcCYgaW1hZ2VC
aXRtYXAsIGNvbnN0IFN0cmluZyYgdG9vbHRpcCwgY29uc3QgVVJMJiBpbWFnZVVSTCk7CisgICAg
dm9pZCBzaG93SW1hZ2VJblF1aWNrTG9va1ByZXZpZXdQYW5lbChTaGFyZWFibGVCaXRtYXAmIGlt
YWdlQml0bWFwLCBjb25zdCBTdHJpbmcmIHRvb2x0aXAsIGNvbnN0IFVSTCYgaW1hZ2VVUkwsIFF1
aWNrTG9va1ByZXZpZXdBY3Rpdml0eSk7CiAjZW5kaWYKICAgICAgICAgCiAjaWYgRU5BQkxFKEFQ
UF9ISUdITElHSFRTKQpAQCAtMzA0OCw3ICszMDQ5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAj
aWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKSAmJiBQTEFURk9STShNQUMpCi0gICAgUmV0YWluUHRy
PFdLVmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXI+IG1fdmlzdWFsU2VhcmNoUHJldmlld0Nv
bnRyb2xsZXI7CisgICAgUmV0YWluUHRyPFdLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXI+IG1f
cXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXI7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tRdWlja0xvb2tQcmV2aWV3Q29udHJvbGxl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjAyYzdkMmYxZDRiOTNkYTQwNjRiMDg2OTJjYzNlM2JhNGQ0Y2QxM2UK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tRdWlja0xv
b2tQcmV2aWV3Q29udHJvbGxlci5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEhBVkUoUVVJQ0tMT09LX1BSRVZJRVdfSVRFTV9EQVRBX1BST1ZJREVS
KQorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworbmFtZXNwYWNlIFdlYktp
dCB7CitjbGFzcyBXZWJQYWdlUHJveHk7CitlbnVtIGNsYXNzIFF1aWNrTG9va1ByZXZpZXdBY3Rp
dml0eSA6IHVpbnQ4X3QgeyBOb25lLCBWaXN1YWxTZWFyY2ggfTsKK30KKworQGNsYXNzIFFMUHJl
dmlld1BhbmVsOworCitAaW50ZXJmYWNlIFdLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIgOiBO
U09iamVjdAorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUGFnZTooV2ViS2l0OjpXZWJQYWdlUHJv
eHkmKXBhZ2UgaW1hZ2VEYXRhOihOU0RhdGEgKilkYXRhIHRpdGxlOihOU1N0cmluZyAqKXRpdGxl
IGltYWdlVVJMOihOU1VSTCAqKWltYWdlVVJMIGFjdGl2aXR5OihXZWJLaXQ6OlF1aWNrTG9va1By
ZXZpZXdBY3Rpdml0eSlhY3Rpdml0eTsKKy0gKHZvaWQpYmVnaW5Db250cm9sOihRTFByZXZpZXdQ
YW5lbCAqKXBhbmVsOworLSAoQk9PTClpc0NvbnRyb2xsaW5nOihRTFByZXZpZXdQYW5lbCAqKXBh
bmVsOworLSAodm9pZCllbmRDb250cm9sOihRTFByZXZpZXdQYW5lbCAqKXBhbmVsOworLSAodm9p
ZCljbG9zZVBhbmVsSWZOZWNlc3Nhcnk7CitAZW5kCisKKyNlbmRpZiAvLyBIQVZFKFFVSUNLTE9P
S19QUkVWSUVXX0lURU1fREFUQV9QUk9WSURFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9XS1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIubW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTE5MmIxNGVmMTMzYjk0NjYwMWE3N2ZjNDI1Y2FhNDFkNjhiMTdjMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS1F1aWNrTG9va1ByZXZpZXdD
b250cm9sbGVyLm1tCkBAIC0wLDAgKzEsMTIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29u
ZmlnLmgiCisjaW1wb3J0ICJXS1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyLmgiCisKKyNpZiBI
QVZFKFFVSUNLTE9PS19QUkVWSUVXX0lURU1fREFUQV9QUk9WSURFUikKKworI2ltcG9ydCAiV2Vi
UGFnZVByb3h5LmgiCisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0IDxwYWwvbWFj
L1F1aWNrTG9va1VJU29mdExpbmsuaD4KKworQGludGVyZmFjZSBXS1F1aWNrTG9va1ByZXZpZXdD
b250cm9sbGVyICgpIDxRTFByZXZpZXdQYW5lbERlbGVnYXRlLCBRTFByZXZpZXdQYW5lbERhdGFT
b3VyY2U+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXS1F1aWNrTG9va1ByZXZpZXdDb250cm9s
bGVyIHsKKyAgICBSZXRhaW5QdHI8UUxJdGVtPiBfaXRlbTsKKyAgICBSZXRhaW5QdHI8TlNEYXRh
PiBfaW1hZ2VEYXRhOworICAgIFdlYktpdDo6UXVpY2tMb29rUHJldmlld0FjdGl2aXR5IF9hY3Rp
dml0eTsKK30KKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUGFnZTooV2ViS2l0OjpXZWJQYWdl
UHJveHkmKXBhZ2UgaW1hZ2VEYXRhOihOU0RhdGEgKilpbWFnZURhdGEgdGl0bGU6KE5TU3RyaW5n
ICopdGl0bGUgaW1hZ2VVUkw6KE5TVVJMICopaW1hZ2VVUkwgYWN0aXZpdHk6KFdlYktpdDo6UXVp
Y2tMb29rUHJldmlld0FjdGl2aXR5KWFjdGl2aXR5Cit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBl
ciBpbml0XSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBfYWN0aXZpdHkgPSBhY3Rpdml0
eTsKKyAgICBfaW1hZ2VEYXRhID0gaW1hZ2VEYXRhOworICAgIF9pdGVtID0gYWRvcHROUyhbUEFM
OjphbGxvY1FMSXRlbUluc3RhbmNlKCkgaW5pdFdpdGhEYXRhUHJvdmlkZXI6KGlkKXNlbGYgY29u
dGVudFR5cGU6VVRUeXBlUE5HIHByZXZpZXdUaXRsZTp0aXRsZV0pOworICAgIGlmIChbX2l0ZW0g
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRQcmV2aWV3T3B0aW9uczopXSkgeworICAg
ICAgICBhdXRvIHByZXZpZXdPcHRpb25zID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkg
YWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6Ml0pOworICAgICAgICBpZiAoaW1hZ2VVUkwpCisgICAg
ICAgICAgICBbcHJldmlld09wdGlvbnMgc2V0T2JqZWN0OmltYWdlVVJMIGZvcktleTpAImltYWdl
VVJMIl07CisgICAgICAgIGlmIChOU1VSTCAqcGFnZVVSTCA9IFVSTCB7IFVSTCB7IH0sIHBhZ2Uu
Y3VycmVudFVSTCgpIH0pCisgICAgICAgICAgICBbcHJldmlld09wdGlvbnMgc2V0T2JqZWN0OnBh
Z2VVUkwgZm9yS2V5OkAicGFnZVVSTCJdOworICAgICAgICBbX2l0ZW0gc2V0UHJldmlld09wdGlv
bnM6cHJldmlld09wdGlvbnMuZ2V0KCldOworICAgIH0KKworICAgIHJldHVybiBzZWxmOworfQor
CistICh2b2lkKWJlZ2luQ29udHJvbDooUUxQcmV2aWV3UGFuZWwgKilwYW5lbAoreworICAgIHBh
bmVsLmRhdGFTb3VyY2UgPSBzZWxmOworICAgIHBhbmVsLmRlbGVnYXRlID0gc2VsZjsKK30KKwor
LSAodm9pZCllbmRDb250cm9sOihRTFByZXZpZXdQYW5lbCAqKXBhbmVsCit7CisgICAgaWYgKHBh
bmVsLmRhdGFTb3VyY2UgPT0gc2VsZikKKyAgICAgICAgcGFuZWwuZGF0YVNvdXJjZSA9IG5pbDsK
KworICAgIGlmIChwYW5lbC5kZWxlZ2F0ZSA9PSBzZWxmKQorICAgICAgICBwYW5lbC5kZWxlZ2F0
ZSA9IG5pbDsKK30KKworLSAodm9pZCljbG9zZVBhbmVsSWZOZWNlc3NhcnkKK3sKKyAgICBpZiAo
IVBBTDo6aXNRdWlja0xvb2tVSUZyYW1ld29ya0F2YWlsYWJsZSgpIHx8ICFbUEFMOjpnZXRRTFBy
ZXZpZXdQYW5lbENsYXNzKCkgc2hhcmVkUHJldmlld1BhbmVsRXhpc3RzXSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgaWYgKGF1dG8gcGFuZWwgPSBbUEFMOjpnZXRRTFByZXZpZXdQYW5lbENsYXNz
KCkgc2hhcmVkUHJldmlld1BhbmVsXTsgW3NlbGYgaXNDb250cm9sbGluZzpwYW5lbF0pCisgICAg
ICAgIFtwYW5lbCBjbG9zZV07Cit9CisKKy0gKEJPT0wpaXNDb250cm9sbGluZzooUUxQcmV2aWV3
UGFuZWwgKilwYW5lbAoreworICAgIHJldHVybiBwYW5lbC5kYXRhU291cmNlID09IHNlbGYgJiYg
cGFuZWwuZGVsZWdhdGUgPT0gc2VsZjsKK30KKworI3ByYWdtYSBtYXJrIC0gUUxQcmV2aWV3SXRl
bURhdGFQcm92aWRlcgorCistIChOU0RhdGEgKilwcm92aWRlRGF0YUZvckl0ZW06KFFMSXRlbSAq
KWl0ZW0KK3sKKyAgICBBU1NFUlQoaXRlbSA9PSBfaXRlbSk7CisgICAgcmV0dXJuIF9pbWFnZURh
dGEuZ2V0KCk7Cit9CisKKyNwcmFnbWEgbWFyayAtIFFMUHJldmlld1BhbmVsRGF0YVNvdXJjZQor
CistIChOU0ludGVnZXIpbnVtYmVyT2ZQcmV2aWV3SXRlbXNJblByZXZpZXdQYW5lbDooUUxQcmV2
aWV3UGFuZWwgKilwYW5lbAoreworICAgIHJldHVybiAxOworfQorCistIChpZCA8UUxQcmV2aWV3
SXRlbT4pcHJldmlld1BhbmVsOihRTFByZXZpZXdQYW5lbCAqKXBhbmVsIHByZXZpZXdJdGVtQXRJ
bmRleDooTlNJbnRlZ2VyKWluZGV4Cit7CisgICAgQVNTRVJUKCFpbmRleCk7CisgICAgcmV0dXJu
IF9pdGVtLmdldCgpOworfQorCisjcHJhZ21hIG1hcmsgLSBRTFByZXZpZXdQYW5lbERlbGVnYXRl
CisKKy0gKFFMUHJldmlld0FjdGl2aXR5KXByZXZpZXdQYW5lbDooUUxQcmV2aWV3UGFuZWwgKilw
cmV2aWV3UGFuZWwgaW5pdGlhbEFjdGl2aXR5Rm9ySXRlbTooaWQgPFFMUHJldmlld0l0ZW0+KWl0
ZW0KK3sKKyAgICByZXR1cm4gX2FjdGl2aXR5ID09IFdlYktpdDo6UXVpY2tMb29rUHJldmlld0Fj
dGl2aXR5OjpWaXN1YWxTZWFyY2ggPyBRTFByZXZpZXdBY3Rpdml0eVZpc3VhbFNlYXJjaCA6IFFM
UHJldmlld0FjdGl2aXR5Tm9uZTsKK30KKworQGVuZAorCisjZW5kaWYgLy8gSEFWRShRVUlDS0xP
T0tfUFJFVklFV19JVEVNX0RBVEFfUFJPVklERVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLVmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIuaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzdlOTdiM2E3YTc4ODJhMDc0ZmQ0NGI0ZTdh
YWU4NzU1OGRhODk2Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29u
dHJvbGxlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNw
cmFnbWEgb25jZQotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMp
Ci0KLSNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgotCi1uYW1lc3BhY2UgV2ViS2l0
IHsKLWNsYXNzIFdlYlBhZ2VQcm94eTsKLX0KLQotQGNsYXNzIFFMUHJldmlld1BhbmVsOwotCi1A
aW50ZXJmYWNlIFdLVmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIgOiBOU09iamVjdAotLSAo
aW5zdGFuY2V0eXBlKWluaXRXaXRoUGFnZTooV2ViS2l0OjpXZWJQYWdlUHJveHkmKXBhZ2UgaW1h
Z2VEYXRhOihOU0RhdGEgKilkYXRhIHRpdGxlOihOU1N0cmluZyAqKXRpdGxlIGltYWdlVVJMOihO
U1VSTCAqKWltYWdlVVJMOwotLSAodm9pZCliZWdpbkNvbnRyb2w6KFFMUHJldmlld1BhbmVsICop
cGFuZWw7Ci0tIChCT09MKWlzQ29udHJvbGxpbmc6KFFMUHJldmlld1BhbmVsICopcGFuZWw7Ci0t
ICh2b2lkKWVuZENvbnRyb2w6KFFMUHJldmlld1BhbmVsICopcGFuZWw7Ci0tICh2b2lkKWNsb3Nl
UGFuZWxJZk5lY2Vzc2FyeTsKLUBlbmQKLQotI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykgJiYgRU5B
QkxFKElNQUdFX0FOQUxZU0lTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dLVmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29udHJvbGxlci5tbQpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDViOWYyZDQ3NWE1MDdhNThlMDM5YzQ4NmE0MTM1NzgzOTk5
Y2IzNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29udHJvbGxlci5t
bQorKysgL2Rldi9udWxsCkBAIC0xLDEyMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAi
Y29uZmlnLmgiCi0jaW1wb3J0ICJXS1Zpc3VhbFNlYXJjaFByZXZpZXdDb250cm9sbGVyLmgiCi0K
LSNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpICYmIFBMQVRGT1JNKE1BQykKLQotI2ltcG9ydCAi
V2ViUGFnZVByb3h5LmgiCi0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Ci0jaW1wb3J0IDxwYWwv
bWFjL1F1aWNrTG9va1VJU29mdExpbmsuaD4KLQotQGludGVyZmFjZSBXS1Zpc3VhbFNlYXJjaFBy
ZXZpZXdDb250cm9sbGVyICgpIDxRTFByZXZpZXdQYW5lbERlbGVnYXRlLCBRTFByZXZpZXdQYW5l
bERhdGFTb3VyY2U+Ci1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBXS1Zpc3VhbFNlYXJjaFByZXZp
ZXdDb250cm9sbGVyIHsKLSAgICBSZXRhaW5QdHI8UUxJdGVtPiBfaXRlbTsKLSAgICBSZXRhaW5Q
dHI8TlNEYXRhPiBfaW1hZ2VEYXRhOwotfQotCi0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhQYWdl
OihXZWJLaXQ6OldlYlBhZ2VQcm94eSYpcGFnZSBpbWFnZURhdGE6KE5TRGF0YSAqKWltYWdlRGF0
YSB0aXRsZTooTlNTdHJpbmcgKil0aXRsZSBpbWFnZVVSTDooTlNVUkwgKilpbWFnZVVSTAotewot
ICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQotICAgICAgICByZXR1cm4gbmlsOwotCi0g
ICAgX2ltYWdlRGF0YSA9IGltYWdlRGF0YTsKLSAgICBfaXRlbSA9IGFkb3B0TlMoW1BBTDo6YWxs
b2NRTEl0ZW1JbnN0YW5jZSgpIGluaXRXaXRoRGF0YVByb3ZpZGVyOihpZClzZWxmIGNvbnRlbnRU
eXBlOlVUVHlwZVBORyBwcmV2aWV3VGl0bGU6dGl0bGVdKTsKLSAgICBpZiAoW19pdGVtIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0UHJldmlld09wdGlvbnM6KV0pIHsKLSAgICAgICAg
YXV0byBwcmV2aWV3T3B0aW9ucyA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9j
XSBpbml0V2l0aENhcGFjaXR5OjJdKTsKLSAgICAgICAgaWYgKGltYWdlVVJMKQotICAgICAgICAg
ICAgW3ByZXZpZXdPcHRpb25zIHNldE9iamVjdDppbWFnZVVSTCBmb3JLZXk6QCJpbWFnZVVSTCJd
OwotICAgICAgICBpZiAoTlNVUkwgKnBhZ2VVUkwgPSBVUkwgeyBVUkwgeyB9LCBwYWdlLmN1cnJl
bnRVUkwoKSB9KQotICAgICAgICAgICAgW3ByZXZpZXdPcHRpb25zIHNldE9iamVjdDpwYWdlVVJM
IGZvcktleTpAInBhZ2VVUkwiXTsKLSAgICAgICAgW19pdGVtIHNldFByZXZpZXdPcHRpb25zOnBy
ZXZpZXdPcHRpb25zLmdldCgpXTsKLSAgICB9Ci0KLSAgICByZXR1cm4gc2VsZjsKLX0KLQotLSAo
dm9pZCliZWdpbkNvbnRyb2w6KFFMUHJldmlld1BhbmVsICopcGFuZWwKLXsKLSAgICBwYW5lbC5k
YXRhU291cmNlID0gc2VsZjsKLSAgICBwYW5lbC5kZWxlZ2F0ZSA9IHNlbGY7Ci19Ci0KLS0gKHZv
aWQpZW5kQ29udHJvbDooUUxQcmV2aWV3UGFuZWwgKilwYW5lbAotewotICAgIGlmIChwYW5lbC5k
YXRhU291cmNlID09IHNlbGYpCi0gICAgICAgIHBhbmVsLmRhdGFTb3VyY2UgPSBuaWw7Ci0KLSAg
ICBpZiAocGFuZWwuZGVsZWdhdGUgPT0gc2VsZikKLSAgICAgICAgcGFuZWwuZGVsZWdhdGUgPSBu
aWw7Ci19Ci0KLS0gKHZvaWQpY2xvc2VQYW5lbElmTmVjZXNzYXJ5Ci17Ci0gICAgaWYgKCFQQUw6
OmlzUXVpY2tMb29rVUlGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhW1BBTDo6Z2V0UUxQcmV2aWV3
UGFuZWxDbGFzcygpIHNoYXJlZFByZXZpZXdQYW5lbEV4aXN0c10pCi0gICAgICAgIHJldHVybjsK
LQotICAgIGlmIChhdXRvIHBhbmVsID0gW1BBTDo6Z2V0UUxQcmV2aWV3UGFuZWxDbGFzcygpIHNo
YXJlZFByZXZpZXdQYW5lbF07IFtzZWxmIGlzQ29udHJvbGxpbmc6cGFuZWxdKQotICAgICAgICBb
cGFuZWwgY2xvc2VdOwotfQotCi0tIChCT09MKWlzQ29udHJvbGxpbmc6KFFMUHJldmlld1BhbmVs
ICopcGFuZWwKLXsKLSAgICByZXR1cm4gcGFuZWwuZGF0YVNvdXJjZSA9PSBzZWxmICYmIHBhbmVs
LmRlbGVnYXRlID09IHNlbGY7Ci19Ci0KLSNwcmFnbWEgbWFyayAtIFFMUHJldmlld0l0ZW1EYXRh
UHJvdmlkZXIKLQotLSAoTlNEYXRhICopcHJvdmlkZURhdGFGb3JJdGVtOihRTEl0ZW0gKilpdGVt
Ci17Ci0gICAgQVNTRVJUKGl0ZW0gPT0gX2l0ZW0pOwotICAgIHJldHVybiBfaW1hZ2VEYXRhLmdl
dCgpOwotfQotCi0jcHJhZ21hIG1hcmsgLSBRTFByZXZpZXdQYW5lbERhdGFTb3VyY2UKLQotLSAo
TlNJbnRlZ2VyKW51bWJlck9mUHJldmlld0l0ZW1zSW5QcmV2aWV3UGFuZWw6KFFMUHJldmlld1Bh
bmVsICopcGFuZWwKLXsKLSAgICByZXR1cm4gMTsKLX0KLQotLSAoaWQgPFFMUHJldmlld0l0ZW0+
KXByZXZpZXdQYW5lbDooUUxQcmV2aWV3UGFuZWwgKilwYW5lbCBwcmV2aWV3SXRlbUF0SW5kZXg6
KE5TSW50ZWdlcilpbmRleAotewotICAgIEFTU0VSVCghaW5kZXgpOwotICAgIHJldHVybiBfaXRl
bS5nZXQoKTsKLX0KLQotI3ByYWdtYSBtYXJrIC0gUUxQcmV2aWV3UGFuZWxEZWxlZ2F0ZQotCi0t
IChRTFByZXZpZXdBY3Rpdml0eSlwcmV2aWV3UGFuZWw6KFFMUHJldmlld1BhbmVsICopcHJldmll
d1BhbmVsIGluaXRpYWxBY3Rpdml0eUZvckl0ZW06KGlkIDxRTFByZXZpZXdJdGVtPilpdGVtCi17
Ci0gICAgcmV0dXJuIFFMUHJldmlld0FjdGl2aXR5VmlzdWFsU2VhcmNoOwotfQotCi1AZW5kCi0K
LSNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpICYmIFBMQVRGT1JNKE1BQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCmluZGV4IDQzMzc3
MzllNzRhMDYyNDhhNTQzNjE3NzZiNzFmZDI5MzIyNzJkMzMuLjFhYjM1MGE0MzBlM2ExNWEzNzRl
MTY1OWRlN2M4ZjQ0ODE5OTc2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9XZWJQYWdlUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1dlYlBhZ2VQcm94eU1hYy5tbQpAQCAtNDUsOCArNDUsOCBAQAogI2ltcG9ydCAiU3RyaW5nVXRp
bGl0aWVzLmgiCiAjaW1wb3J0ICJUZXh0Q2hlY2tlci5oIgogI2ltcG9ydCAiV0tCcm93c2luZ0Nv
bnRleHRDb250cm9sbGVySW50ZXJuYWwuaCIKKyNpbXBvcnQgIldLUXVpY2tMb29rUHJldmlld0Nv
bnRyb2xsZXIuaCIKICNpbXBvcnQgIldLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5oIgot
I2ltcG9ydCAiV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29udHJvbGxlci5oIgogI2ltcG9ydCAiV2Vi
Q29udGV4dE1lbnVQcm94eU1hYy5oIgogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgiCiAjaW1w
b3J0ICJXZWJQcmVmZXJlbmNlc0tleXMuaCIKQEAgLTcyNSwxNCArNzI1LDE0IEBAIENvbG9yIFdl
YlBhZ2VQcm94eTo6cGxhdGZvcm1VbmRlclBhZ2VCYWNrZ3JvdW5kQ29sb3IoKSBjb25zdAogdm9p
ZCBXZWJQYWdlUHJveHk6OmJlZ2luUHJldmlld1BhbmVsQ29udHJvbChRTFByZXZpZXdQYW5lbCAq
cGFuZWwpCiB7CiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIFttX3Zpc3VhbFNlYXJj
aFByZXZpZXdDb250cm9sbGVyIGJlZ2luQ29udHJvbDpwYW5lbF07CisgICAgW21fcXVpY2tMb29r
UHJldmlld0NvbnRyb2xsZXIgYmVnaW5Db250cm9sOnBhbmVsXTsKICNlbmRpZgogfQogCiB2b2lk
IFdlYlBhZ2VQcm94eTo6ZW5kUHJldmlld1BhbmVsQ29udHJvbChRTFByZXZpZXdQYW5lbCAqcGFu
ZWwpCiB7CiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotICAgIGlmIChhdXRvIGNvbnRyb2xs
ZXIgPSBzdGQ6OmV4Y2hhbmdlKG1fdmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIsIG5pbCkp
CisgICAgaWYgKGF1dG8gY29udHJvbGxlciA9IHN0ZDo6ZXhjaGFuZ2UobV9xdWlja0xvb2tQcmV2
aWV3Q29udHJvbGxlciwgbmlsKSkKICAgICAgICAgW2NvbnRyb2xsZXIgZW5kQ29udHJvbDpwYW5l
bF07CiAjZW5kaWYKIH0KQEAgLTc0MCwxMyArNzQwLDIyIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpl
bmRQcmV2aWV3UGFuZWxDb250cm9sKFFMUHJldmlld1BhbmVsICpwYW5lbCkKIHZvaWQgV2ViUGFn
ZVByb3h5OjpjbG9zZVNoYXJlZFByZXZpZXdQYW5lbElmTmVjZXNzYXJ5KCkKIHsKICNpZiBFTkFC
TEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgW21fdmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIg
Y2xvc2VQYW5lbElmTmVjZXNzYXJ5XTsKKyAgICBbbV9xdWlja0xvb2tQcmV2aWV3Q29udHJvbGxl
ciBjbG9zZVBhbmVsSWZOZWNlc3NhcnldOwogI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoSU1BR0Vf
QU5BTFlTSVMpCiAKLXZvaWQgV2ViUGFnZVByb3h5OjpzaG93SW1hZ2VJblZpc3VhbFNlYXJjaFBy
ZXZpZXdQYW5lbChTaGFyZWFibGVCaXRtYXAmIGltYWdlQml0bWFwLCBjb25zdCBTdHJpbmcmIHRv
b2x0aXAsIGNvbnN0IFVSTCYgaW1hZ2VVUkwpCit2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQ29u
dGV4dE1lbnVMb29rVXBJbWFnZSgpCit7CisgICAgYXV0byYgcmVzdWx0ID0gbV9hY3RpdmVDb250
ZXh0TWVudUNvbnRleHREYXRhLndlYkhpdFRlc3RSZXN1bHREYXRhKCk7CisgICAgaWYgKCFyZXN1
bHQuaW1hZ2VCaXRtYXApCisgICAgICAgIHJldHVybjsKKworICAgIHNob3dJbWFnZUluUXVpY2tM
b29rUHJldmlld1BhbmVsKCpyZXN1bHQuaW1hZ2VCaXRtYXAsIHJlc3VsdC50b29sVGlwVGV4dCwg
VVJMIHsgVVJMIHsgfSwgcmVzdWx0LmFic29sdXRlSW1hZ2VVUkwgfSwgUXVpY2tMb29rUHJldmll
d0FjdGl2aXR5OjpWaXN1YWxTZWFyY2gpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0lt
YWdlSW5RdWlja0xvb2tQcmV2aWV3UGFuZWwoU2hhcmVhYmxlQml0bWFwJiBpbWFnZUJpdG1hcCwg
Y29uc3QgU3RyaW5nJiB0b29sdGlwLCBjb25zdCBVUkwmIGltYWdlVVJMLCBRdWlja0xvb2tQcmV2
aWV3QWN0aXZpdHkgYWN0aXZpdHkpCiB7CiAgICAgaWYgKCFQQUw6OmlzUXVpY2tMb29rVUlGcmFt
ZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFMOjpnZXRRTFByZXZpZXdQYW5lbENsYXNzKCkgfHwgIVtQ
QUw6OmdldFFMSXRlbUNsYXNzKCkgaW5zdGFuY2VzUmVzcG9uZFRvU2VsZWN0b3I6QHNlbGVjdG9y
KGluaXRXaXRoRGF0YVByb3ZpZGVyOmNvbnRlbnRUeXBlOnByZXZpZXdUaXRsZTopXSkKICAgICAg
ICAgcmV0dXJuOwpAQCAtNzY0LDcgKzc3Myw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93SW1h
Z2VJblZpc3VhbFNlYXJjaFByZXZpZXdQYW5lbChTaGFyZWFibGVCaXRtYXAmIGltYWdlQml0CiAg
ICAgaWYgKCFDR0ltYWdlRGVzdGluYXRpb25GaW5hbGl6ZShkZXN0aW5hdGlvbi5nZXQoKSkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG1fdmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIgPSBh
ZG9wdE5TKFtbV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29udHJvbGxlciBhbGxvY10gaW5pdFdpdGhQ
YWdlOip0aGlzIGltYWdlRGF0YTooX19icmlkZ2UgTlNEYXRhICopaW1hZ2VEYXRhLmdldCgpIHRp
dGxlOnRvb2x0aXAgaW1hZ2VVUkw6aW1hZ2VVUkxdKTsKKyAgICBtX3F1aWNrTG9va1ByZXZpZXdD
b250cm9sbGVyID0gYWRvcHROUyhbW1dLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIgYWxsb2Nd
IGluaXRXaXRoUGFnZToqdGhpcyBpbWFnZURhdGE6KF9fYnJpZGdlIE5TRGF0YSAqKWltYWdlRGF0
YS5nZXQoKSB0aXRsZTp0b29sdGlwIGltYWdlVVJMOmltYWdlVVJMIGFjdGl2aXR5OmFjdGl2aXR5
XSk7CiAKICAgICAvLyBXaGVuIHByZXNlbnRpbmcgdGhlIHNoYXJlZCBRTFByZXZpZXdQYW5lbCwg
UXVpY2tMb29rIHdpbGwgc2VhcmNoIHRoZSByZXNwb25kZXIgY2hhaW4gZm9yIGEgc3VpdGFibGUg
cGFuZWwgY29udHJvbGxlci4KICAgICAvLyBNYWtlIHN1cmUgdGhhdCB3ZSAoYnkgZGVmYXVsdCkg
c3RhcnQgdGhlIHNlYXJjaCBhdCB0aGUgd2ViIHZpZXcsIHdoaWNoIGtub3dzIGhvdyB0byB2ZW5k
IHRoZSBWaXN1YWwgU2VhcmNoIHByZXZpZXcKQEAgLTc3NCwxMSArNzgzLDExIEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpzaG93SW1hZ2VJblZpc3VhbFNlYXJjaFByZXZpZXdQYW5lbChTaGFyZWFibGVC
aXRtYXAmIGltYWdlQml0CiAgICAgYXV0byBwcmV2aWV3UGFuZWwgPSBbUEFMOjpnZXRRTFByZXZp
ZXdQYW5lbENsYXNzKCkgc2hhcmVkUHJldmlld1BhbmVsXTsKICAgICBbcHJldmlld1BhbmVsIG1h
a2VLZXlBbmRPcmRlckZyb250Om5pbF07CiAKLSAgICBpZiAoIVttX3Zpc3VhbFNlYXJjaFByZXZp
ZXdDb250cm9sbGVyIGlzQ29udHJvbGxpbmc6cHJldmlld1BhbmVsXSkgeworICAgIGlmICghW21f
cXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIgaXNDb250cm9sbGluZzpwcmV2aWV3UGFuZWxdKSB7
CiAgICAgICAgIC8vIFRoZSBXZWJLaXQgY2xpZW50IG1heSBoYXZlIG92ZXJyaWRkZW4gUUxQcmV2
aWV3UGFuZWxDb250cm9sbGVyIG1ldGhvZHMgb24gdGhlIHZpZXcgd2l0aG91dCBjYWxsaW5nIGlu
dG8gdGhlIHN1cGVyY2xhc3MuCiAgICAgICAgIC8vIEluIHRoaXMgY2FzZSwgaGFuZCBvdmVyIGNv
bnRyb2wgdG8gdGhlIGNsaWVudCBhbmQgY2xlYXIgb3V0IG91ciBzdGF0ZSBlYWdlcmx5LCBzaW5j
ZSB3ZSBkb24ndCBleHBlY3QgYW55IGZ1cnRoZXIgZGVsZWdhdGUKICAgICAgICAgLy8gY2FsbHMg
b25jZSB0aGUgcHJldmlldyBwYW5lbCBpcyBkaXNtaXNzZWQuCi0gICAgICAgIG1fdmlzdWFsU2Vh
cmNoUHJldmlld0NvbnRyb2xsZXIuY2xlYXIoKTsKKyAgICAgICAgbV9xdWlja0xvb2tQcmV2aWV3
Q29udHJvbGxlci5jbGVhcigpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTI3NTI1MzY4MTE2MzIwODcxNGM3YjRh
ZjIyZDU5YTFmYWE0MDUwMS4uNDVlOGVhNzdkYWVjZTAyOGEwYjA5YmYyYzc2ODhmNDY4MzFhNzA3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0yMDMxLDcgKzIwMzEsNyBAQAogCQlGNDhEMkE4NTIxNTgzQTdFMDBDNjc1MkIgLyogQXBw
S2l0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NDhEMkE4NDIxNTgzQTAyMDBDNjc1MkIgLyogQXBwS2l0U1BJLmggKi87IH07CiAJCUY0OTZBNDMx
MUY1OEEyNzIwMDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OTZBNDJGMUY1OEEyNzIwMDRD
MTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCAqLzsgfTsKIAkJRjQ5NzRFNzYyNjVF
Q0JCQzAwQjQ5QjhDIC8qIFdLUmV2ZWFsSXRlbVByZXNlbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0NkVERUYyNjVFQjJCMDAwMzFEQThGIC8q
IFdLUmV2ZWFsSXRlbVByZXNlbnRlci5oICovOyB9OwotCQlGNDk3NUNGMjI2MjRCODBBMDAzQzYy
NkUgLyogV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5NzVDRjEyNjI0QjgwQTAwM0M2MjZFIC8q
IFdLVmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKKwkJRjQ5NzVDRjIyNjI0
QjgwQTAwM0M2MjZFIC8qIFdLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OTc1Q0YxMjYyNEI4MEEwMDND
NjI2RSAvKiBXS1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyLmggKi87IH07CiAJCUY0QTZENkJD
MjU0Q0EzRTkwMEI2NUZBQSAvKiBTaGFyZWREaXNwbGF5TGlzdEhhbmRsZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRBNkQ2QkIyNTRDQTNFOTAwQjY1
RkFBIC8qIFNoYXJlZERpc3BsYXlMaXN0SGFuZGxlLmggKi87IH07CiAJCUY0QkEzM0YyMjU3NTdF
ODkwMDBBM0NFOCAvKiBXS0ltYWdlQW5hbHlzaXNHZXN0dXJlUmVjb2duaXplci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCQTMzRjAyNTc1N0U4OTAw
MEEzQ0U4IC8qIFdLSW1hZ2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyLmggKi87IH07CiAJCUY0
Q0IwOUU1MjI1RDVBMDkwMDg5MTQ4NyAvKiBXZWJzaXRlTWVkaWFTb3VyY2VQb2xpY3kuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0Q0IwOUU0MjI1RDVB
MDMwMDg5MTQ4NyAvKiBXZWJzaXRlTWVkaWFTb3VyY2VQb2xpY3kuaCAqLzsgfTsKQEAgLTU5ODgs
OCArNTk4OCw4IEBACiAJCUY0OEQyQTg0MjE1ODNBMDIwMEM2NzUyQiAvKiBBcHBLaXRTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQXBwS2l0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUY0OTZBNDJGMUY1OEEyNzIwMDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmg7IHBhdGggPSBpb3MvRHJh
Z0Ryb3BJbnRlcmFjdGlvblN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0
OTZBNDMwMUY1OEEyNzIwMDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IG5hbWUgPSBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUubW07IHBhdGggPSBp
b3MvRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlGNDk3NUNGMTI2MjRCODBBMDAzQzYyNkUgLyogV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Zpc3VhbFNlYXJjaFByZXZpZXdDb250cm9sbGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUY0OTc1Q0YzMjYyNEI5MTgwMDNDNjI2
RSAvKiBXS1Zpc3VhbFNlYXJjaFByZXZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRjQ5NzVDRjEyNjI0QjgwQTAwM0M2MjZFIC8qIFdLUXVpY2tMb29rUHJl
dmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tRdWlja0xvb2tQcmV2aWV3Q29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDk3NUNGMzI2MjRCOTE4MDAz
QzYyNkUgLyogV0tRdWlja0xvb2tQcmV2aWV3Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdLUXVpY2tMb29rUHJldmlld0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUY0QTZENkJCMjU0Q0EzRTkwMEI2NUZBQSAvKiBTaGFyZWREaXNwbGF5TGlz
dEhhbmRsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWREaXNwbGF5TGlzdEhhbmRsZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEE3Q0U4NDI2NjdFQjRFMDAyMjg2ODUgLyogVGV4
dFJlY29nbml0aW9uVXBkYXRlUmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHRSZWNvZ25pdGlv
blVwZGF0ZVJlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEFDNjU1RTIy
QTMxNDBFMDBBMDU2MDcgLyogV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzSU9TLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV2ViUHJlZmVyZW5jZXNEZWZhdWx0
VmFsdWVzSU9TLm1tOyBwYXRoID0gaW9zL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0lPUy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwODYxLDYgKzEwODYxLDggQEAKIAkJ
CQk5MzIxRDU4NzFBMzhFRTc0MDA4MDUyQkUgLyogV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVy
Lm1tICovLAogCQkJCTBGQ0I0RTVDMThCQkUzRDkwMDBGQ0ZDOSAvKiBXS1ByaW50aW5nVmlldy5o
ICovLAogCQkJCTBGQ0I0RTVEMThCQkUzRDkwMDBGQ0ZDOSAvKiBXS1ByaW50aW5nVmlldy5tbSAq
LywKKwkJCQlGNDk3NUNGMTI2MjRCODBBMDAzQzYyNkUgLyogV0tRdWlja0xvb2tQcmV2aWV3Q29u
dHJvbGxlci5oICovLAorCQkJCUY0OTc1Q0YzMjYyNEI5MTgwMDNDNjI2RSAvKiBXS1F1aWNrTG9v
a1ByZXZpZXdDb250cm9sbGVyLm1tICovLAogCQkJCUY0NDZFREVGMjY1RUIyQjAwMDMxREE4RiAv
KiBXS1JldmVhbEl0ZW1QcmVzZW50ZXIuaCAqLywKIAkJCQlGNDQ2RURGMTI2NUVCM0I2MDAzMURB
OEYgLyogV0tSZXZlYWxJdGVtUHJlc2VudGVyLm1tICovLAogCQkJCTUxM0U0NjJCMUFEODM3NTYw
MDE2MjM0QSAvKiBXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUuaCAqLywKQEAgLTEwODcx
LDggKzEwODczLDYgQEAKIAkJCQkwRkNCNEU1RjE4QkJFM0Q5MDAwRkNGQzkgLyogV0tUZXh0SW5w
dXRXaW5kb3dDb250cm9sbGVyLm1tICovLAogCQkJCTJEMjhBNDk1MUFGOTY1QTEwMEYxOTBDOSAv
KiBXS1ZpZXdMYXlvdXRTdHJhdGVneS5oICovLAogCQkJCTJEMjhBNDk2MUFGOTY1QTEwMEYxOTBD
OSAvKiBXS1ZpZXdMYXlvdXRTdHJhdGVneS5tbSAqLywKLQkJCQlGNDk3NUNGMTI2MjRCODBBMDAz
QzYyNkUgLyogV0tWaXN1YWxTZWFyY2hQcmV2aWV3Q29udHJvbGxlci5oICovLAotCQkJCUY0OTc1
Q0YzMjYyNEI5MTgwMDNDNjI2RSAvKiBXS1Zpc3VhbFNlYXJjaFByZXZpZXdDb250cm9sbGVyLm1t
ICovLAogCQkJKTsKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtMTI5MTEsNiArMTI5MTEsNyBAQAogCQkJCTUyNzJENEM5MUU3MzVGMDkwMEVCNDI5MCAvKiBX
S1Byb3RlY3Rpb25TcGFjZU5TLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MThBQ0FFQTEyQUVFNkJC
MDBCMDRCODMgLyogV0tQcm90ZWN0aW9uU3BhY2VUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RjRENUY1MUYyMDYwODdBMTAwMzhCQkE4IC8qIFdLUXVpY2tib2FyZFZpZXdDb250cm9sbGVyRGVs
ZWdhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0OTc1Q0YyMjYyNEI4MEEwMDNDNjI2RSAvKiBX
S1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUQwMUJD
RDE5MDVENTQ5MDBDOUM0NUYgLyogV0tSZWxvYWRGcmFtZUVycm9yUmVjb3ZlcnlBdHRlbXB0ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBOUUzMjlCMTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90
ZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE5RTMyOUYxODIyRkVERDAwRjVEMDRDIC8q
IFdLUmVtb3RlT2JqZWN0Q29kZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMTI5ODUsNyArMTI5ODYs
NiBAQAogCQkJCUJDODY5OUI3MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXdJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkQyOEE0OTcxQUY5NjVBMTAwRjE5MEM5IC8qIFdLVmlld0xheW91
dFN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCRkE2MTc5RjEyRjBCOTlEMDAzM0UwQ0Eg
LyogV0tWaWV3UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRjQ5NzVDRjIyNjI0QjgwQTAw
M0M2MjZFIC8qIFdLVmlzdWFsU2VhcmNoUHJldmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxMzZFNTE2MjM2QTYyMTEwMDc0RkQ1RCAvKiBXS1dlYkFyY2hpdmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxMzZFNTE0MjM2QTYwREMwMDc0RkQ1RCAvKiBXS1dlYkFyY2hpdmVSZWYu
aCBpbiBIZWFkZXJzICovLAogCQkJCUM1RTFBRkVCMTZCMjBCN0UwMDZDQzFGMiAvKiBXS1dlYkFy
Y2hpdmVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>