<?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>198693</bug_id>
          
          <creation_ts>2019-06-08 16:18:17 -0700</creation_ts>
          <short_desc>[iOS] The default application name for user agent when requesting desktop content is still &quot;Mobile/15E148&quot;</short_desc>
          <delta_ts>2019-06-08 20:58:51 -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>WebKit2</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>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1543133</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-06-08 16:18:17 -0700</bug_when>
    <thetext>...which clearly makes no sense :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543141</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-08 16:45:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/51555371&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543152</commentid>
    <comment_count>2</comment_count>
      <attachid>371686</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-06-08 17:21:53 -0700</bug_when>
    <thetext>Created attachment 371686
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543154</commentid>
    <comment_count>3</comment_count>
      <attachid>371686</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-06-08 17:43:39 -0700</bug_when>
    <thetext>Comment on attachment 371686
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:506
&gt; +    return _applicationNameForUserAgent.hasValue() ? _applicationNameForUserAgent-&gt;get() : nil;

valueOr?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543166</commentid>
    <comment_count>4</comment_count>
      <attachid>371686</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-06-08 18:40:40 -0700</bug_when>
    <thetext>Comment on attachment 371686
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:506
&gt;&gt; +    return _applicationNameForUserAgent.hasValue() ? _applicationNameForUserAgent-&gt;get() : nil;
&gt; 
&gt; valueOr?

Good catch! Will use it here and below (-applicationNameForUserAgent) as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543185</commentid>
    <comment_count>5</comment_count>
      <attachid>371700</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-06-08 20:13:02 -0700</bug_when>
    <thetext>Created attachment 371700
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543186</commentid>
    <comment_count>6</comment_count>
      <attachid>371700</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-08 20:55:07 -0700</bug_when>
    <thetext>Comment on attachment 371700
Patch for landing

Clearing flags on attachment: 371700

Committed r246236: &lt;https://trac.webkit.org/changeset/246236&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371686</attachid>
            <date>2019-06-08 17:21:53 -0700</date>
            <delta_ts>2019-06-08 17:43:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198693-20190608172152.patch</filename>
            <type>text/plain</type>
            <size>23350</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDUxZmVlNWY0OTRjNTc5Y2Y3
M2Y5ZWQ2MDJlODhlNzVhZjc2YzY1NGQuLjc1YTE3YjhiOWE4NjhiZGY1YmVlM2I1YzczODU3YTg1
YjE0ODI3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTcgQEAKKzIwMTktMDYtMDggIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVGhlIGRlZmF1
bHQgYXBwbGljYXRpb24gbmFtZSBmb3IgdXNlciBhZ2VudCB3aGVuIHJlcXVlc3RpbmcgZGVza3Rv
cCBjb250ZW50IGlzIHN0aWxsICJNb2JpbGUvMTVFMTQ4IgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4NjkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81MTU1NTM3MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlcyB0aGUgYnVnIGJ5IGludHJvZHVjaW5nIGFuIGFwcGxpY2F0aW9uTmFtZUZvckRl
c2t0b3BVc2VyQWdlbnQgbWVtYmVyIHRvIFdlYlBhZ2VQcm94eS4gVGhpcworICAgICAgICBhcHBs
aWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50IGlzIHNldCBhbG9uZ3NpZGUgdGhlIHJlZ3Vs
YXIgYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50OyBob3dldmVyLCBpbiB0aGUKKyAgICAgICAg
Y2FzZSB3aGVyZSBpdCBpcyBiZWluZyBzZXQgdmlhIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24sIHVz
ZSBXS1dlYlZpZXdDb25maWd1cmF0aW9uJ3MKKyAgICAgICAgX2FwcGxpY2F0aW9uTmFtZUZvckRl
c2t0b3BVc2VyQWdlbnQgaW5zdGVhZC4gU2VlIGJlbG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAg
ICAgICAgVGVzdGVkIGJ5IGFkZGluZyB0byB0aGUgZXhpc3RpbmcgQVBJIHRlc3QgUHJlZmVycmVk
Q29udGVudE1vZGUuQXBwbGljYXRpb25OYW1lRm9yRGVza3RvcFVzZXJBZ2VudC4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcDoKKyAgICAgICAgKEFQSTo6
V2Vic2l0ZVBvbGljaWVzOjpjb3B5IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQ
SVdlYnNpdGVQb2xpY2llcy5oOgorCisgICAgICAgIERyaXZlLWJ5IGZpeDogcmVuYW1lIGFwcGxp
Y2F0aW9uTmFtZUZvclVzZXJBZ2VudFdpdGhNb2Rlcm5Db21wYXRpYmlsaXR5IHRvIGFwcGxpY2F0
aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQgaW4KKyAgICAgICAgYSBmZXcgcGxhY2VzLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIu
bW06CisgICAgICAgICgtW1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBzZXRBcHBsaWNhdGlv
bk5hbWVGb3JVc2VyQWdlbnQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0
aW9uOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldEFwcGxpY2F0aW9uTmFtZUZvclVzZXJB
Z2VudDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24ubW06CisKKyAgICAgICAgQ2hhbmdlIF9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQg
aW50byBhbiBPcHRpb25hbDxSZXRhaW5QdHI8TlNTdHJpbmc+Pi4gQSB2YWx1ZSBvZiBXVEY6Om51
bGxvcHQgYWxsb3dzIHVzIHRvCisgICAgICAgIGtub3cgdGhhdCB0aGUgZGVmYXVsdCBhcHBsaWNh
dGlvbiBuYW1lIHNob3VsZCBiZSB1c2VkICh3aGljaCBpcyBkaWZmZXJlbnQgd2hlbiByZXF1ZXN0
aW5nIGRlc2t0b3AgY29udGVudCkuCisKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBlbmNvZGVXaXRoQ29kZXI6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
aW5pdFdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBjb3B5
V2l0aFpvbmU6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX2FwcGxpY2F0
aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnRdKToKKworICAgICAgICBBZGQgX2FwcGxpY2F0aW9u
TmFtZUZvckRlc2t0b3BVc2VyQWdlbnQgdG8gdGhlIHdlYiB2aWV3IGNvbmZpZ3VyYXRpb24uIFRo
aXMgYmVoYXZlcyBsaWtlCisgICAgICAgIGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCwgd2l0
aCBvbmUgZXhjZXB0aW9uOiBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgZGVmYXVsdCBhcHBsaWNhdGlv
bk5hbWVGb3JVc2VyQWdlbnQgaXMKKyAgICAgICAgdXNlZCAoaS5lLiB0aGUgY2xpZW50IGhhcyBu
b3Qgc3BlY2lmaWVkIGFueSBhcHBsaWNhdGlvbiBuYW1lKSwgZGVmYXVsdCB0byBgbmlsYCBhcyB0
aGUgYXBwbGljYXRpb24gbmFtZSBmb3IgdXNlcgorICAgICAgICBhZ2VudCwgcmF0aGVyIHRoYW4g
Ik1vYmlsZS8xNUUxNDgiLgorCisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYXBw
bGljYXRpb25OYW1lRm9yVXNlckFnZW50XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24gc2V0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50Ol0pOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbkludGVybmFsLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlcy5tbToKKyAgICAgICAg
KC1bV0tXZWJwYWdlUHJlZmVyZW5jZXMgX2FwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudFdpdGhN
b2Rlcm5Db21wYXRpYmlsaXR5XSk6CisgICAgICAgICgtW1dLV2VicGFnZVByZWZlcmVuY2VzIF9z
ZXRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29tcGF0aWJpbGl0eTpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6c2V0QXBwbGljYXRpb25OYW1lRm9yRGVza3RvcFVzZXJBZ2VudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6YXBwbGljYXRpb25OYW1lRm9yRGVza3RvcFVzZXJB
Z2VudCBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZWZmZWN0aXZlQ29udGVudE1vZGVBZnRl
ckFkanVzdGluZ1BvbGljaWVzKToKKwogMjAxOS0wNi0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBjbGllbnRzIHRvIHZlbmQgY3VzdG9t
IC1pbnB1dFZpZXcgYW5kIC1pbnB1dEFjY2Vzc29yeVZpZXcgYnkgb3ZlcnJpZGluZyBXS1dlYlZp
ZXcgbWV0aG9kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdl
YnNpdGVQb2xpY2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0
ZVBvbGljaWVzLmNwcAppbmRleCBjOTk5NGRiYjJkY2JlMmIyODU3NDAyZGYwOTNmY2E2ZjZlZGRl
ZTY1Li5iMGE5MDBjYWZhNTZjMjAwNTI0NTIyNGQxNjY1ZGJjMzEyOTVkMDU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcApAQCAt
NzUsNyArNzUsNyBAQCBSZWY8V2Vic2l0ZVBvbGljaWVzPiBXZWJzaXRlUG9saWNpZXM6OmNvcHko
KSBjb25zdAogICAgICAgICBjdXN0b21IZWFkZXJGaWVsZHMudW5jaGVja2VkQXBwZW5kKGZpZWxk
KTsKICAgICBwb2xpY2llcy0+c2V0Q3VzdG9tSGVhZGVyRmllbGRzKFdURk1vdmUoY3VzdG9tSGVh
ZGVyRmllbGRzKSk7CiAgICAgcG9saWNpZXMtPnNldEFsbG93U2l0ZVNwZWNpZmljUXVpcmtzVG9P
dmVycmlkZUNvbnRlbnRNb2RlKG1fYWxsb3dTaXRlU3BlY2lmaWNRdWlya3NUb092ZXJyaWRlQ29u
dGVudE1vZGUpOwotICAgIHBvbGljaWVzLT5zZXRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRX
aXRoTW9kZXJuQ29tcGF0aWJpbGl0eShtX2FwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudFdpdGhN
b2Rlcm5Db21wYXRpYmlsaXR5KTsKKyAgICBwb2xpY2llcy0+c2V0QXBwbGljYXRpb25OYW1lRm9y
RGVza3RvcFVzZXJBZ2VudChtX2FwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQpOwog
ICAgIHJldHVybiBwb2xpY2llczsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oCmluZGV4IDdhZDVmZTg3M2FiMGNjNzc3NDcwNTM1ZWU2
N2MzN2M1ZmVkMTU5YWIuLjFkNzhkMjAyM2ViNTcyODdmODliZGU5ZDgxZmI5MjI2Njg5ODk0NDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNp
ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVz
LmgKQEAgLTExMSw4ICsxMTEsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBhbGxvd1NpdGVTcGVjaWZp
Y1F1aXJrc1RvT3ZlcnJpZGVDb250ZW50TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dTaXRl
U3BlY2lmaWNRdWlya3NUb092ZXJyaWRlQ29udGVudE1vZGU7IH0KICAgICB2b2lkIHNldEFsbG93
U2l0ZVNwZWNpZmljUXVpcmtzVG9PdmVycmlkZUNvbnRlbnRNb2RlKGJvb2wgdmFsdWUpIHsgbV9h
bGxvd1NpdGVTcGVjaWZpY1F1aXJrc1RvT3ZlcnJpZGVDb250ZW50TW9kZSA9IHZhbHVlOyB9CiAK
LSAgICBXVEY6OlN0cmluZyBhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29t
cGF0aWJpbGl0eSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50
V2l0aE1vZGVybkNvbXBhdGliaWxpdHk7IH0KLSAgICB2b2lkIHNldEFwcGxpY2F0aW9uTmFtZUZv
clVzZXJBZ2VudFdpdGhNb2Rlcm5Db21wYXRpYmlsaXR5KGNvbnN0IFdURjo6U3RyaW5nJiBhcHBs
aWNhdGlvbk5hbWUpIHsgbV9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29t
cGF0aWJpbGl0eSA9IGFwcGxpY2F0aW9uTmFtZTsgfQorICAgIFdURjo6U3RyaW5nIGFwcGxpY2F0
aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9u
TmFtZUZvckRlc2t0b3BVc2VyQWdlbnQ7IH0KKyAgICB2b2lkIHNldEFwcGxpY2F0aW9uTmFtZUZv
ckRlc2t0b3BVc2VyQWdlbnQoY29uc3QgV1RGOjpTdHJpbmcmIGFwcGxpY2F0aW9uTmFtZSkgeyBt
X2FwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQgPSBhcHBsaWNhdGlvbk5hbWU7IH0K
IAogcHJpdmF0ZToKICAgICBXZWJzaXRlUG9saWNpZXMoYm9vbCBjb250ZW50QmxvY2tlcnNFbmFi
bGVkLCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlRdWlyaz4sIFdlYktpdDo6V2Vi
c2l0ZUF1dG9wbGF5UG9saWN5LCBWZWN0b3I8V2ViQ29yZTo6SFRUUEhlYWRlckZpZWxkPiYmLCBW
ZWN0b3I8V2ViQ29yZTo6Q3VzdG9tSGVhZGVyRmllbGRzPiYmLCBXZWJLaXQ6OldlYnNpdGVQb3BV
cFBvbGljeSwgUmVmUHRyPFdlYnNpdGVEYXRhU3RvcmU+JiYpOwpAQCAtMTM2LDcgKzEzNiw3IEBA
IHByaXZhdGU6CiAgICAgV2ViS2l0OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRj
aFBvbGljeSBtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgeyBXZWJLaXQ6Oldl
YnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZhdWx0IH07CiAgICAg
V2ViS2l0OjpXZWJzaXRlTGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFBvbGljeSBtX2xlZ2Fj
eU92ZXJmbG93U2Nyb2xsaW5nVG91Y2hQb2xpY3kgeyBXZWJLaXQ6OldlYnNpdGVMZWdhY3lPdmVy
Zmxvd1Njcm9sbGluZ1RvdWNoUG9saWN5OjpEZWZhdWx0IH07CiAgICAgYm9vbCBtX2FsbG93U2l0
ZVNwZWNpZmljUXVpcmtzVG9PdmVycmlkZUNvbnRlbnRNb2RlIHsgZmFsc2UgfTsKLSAgICBXVEY6
OlN0cmluZyBtX2FwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudFdpdGhNb2Rlcm5Db21wYXRpYmls
aXR5OworICAgIFdURjo6U3RyaW5nIG1fYXBwbGljYXRpb25OYW1lRm9yRGVza3RvcFVzZXJBZ2Vu
dDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIu
bW0KaW5kZXggZDU0MGNkNDU3OGRmMDBhNzM0N2RkMDQxODY3OGU1MjMwNGYwMTRhNy4uMzBhOGFh
ODkwYjRiMWVhYjlmODE5ODIyOTI5OWQwNWM4NGFlZGMyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyLm1tCkBAIC0xOTksNiArMTk5LDcgQEAgLSAoTlNTdHJpbmcgKilhcHBsaWNhdGlv
bk5hbWVGb3JVc2VyQWdlbnQKIAogLSAodm9pZClzZXRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdl
bnQ6KE5TU3RyaW5nICopYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50CiB7CisgICAgX3BhZ2Ut
PnNldEFwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQoYXBwbGljYXRpb25OYW1lRm9y
VXNlckFnZW50KTsKICAgICBfcGFnZS0+c2V0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KGFw
cGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGZhMjIxYmEyMTY4MGUzZTk3YWM0Yzk0
OTdkNmFmMmFmODkwOTMxOTEuLjUyN2RiODE0YzZlMTk3YTc0MGI5Zjk2N2U3OWEyNjI4NGU1NTYz
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQpAQCAtNzQ4LDYgKzc0OCw4IEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlv
bjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICBpZiAoTlNTdHJp
bmcgKmFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCA9IGNvbmZpZ3VyYXRpb24uYXBwbGljYXRp
b25OYW1lRm9yVXNlckFnZW50KQogICAgICAgICBfcGFnZS0+c2V0QXBwbGljYXRpb25OYW1lRm9y
VXNlckFnZW50KGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCk7CiAKKyAgICBfcGFnZS0+c2V0
QXBwbGljYXRpb25OYW1lRm9yRGVza3RvcFVzZXJBZ2VudChjb25maWd1cmF0aW9uLl9hcHBsaWNh
dGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50KTsKKwogICAgIF9uYXZpZ2F0aW9uU3RhdGUgPSBz
dGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6TmF2aWdhdGlvblN0YXRlPihzZWxmKTsKICAgICBfcGFn
ZS0+c2V0TmF2aWdhdGlvbkNsaWVudChfbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVOYXZpZ2F0aW9u
Q2xpZW50KCkpOwogCkBAIC00NzgyLDYgKzQ3ODQsNyBAQCAtIChOU1N0cmluZyAqKV9hcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnQKIC0gKHZvaWQpX3NldEFwcGxpY2F0aW9uTmFtZUZvclVzZXJB
Z2VudDooTlNTdHJpbmcgKilhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQKIHsKICAgICBfcGFn
ZS0+c2V0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KGFwcGxpY2F0aW9uTmFtZUZvclVzZXJB
Z2VudCk7CisgICAgX3BhZ2UtPnNldEFwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQo
YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KTsKIH0KIAogLSAoTlNTdHJpbmcgKilfY3VzdG9t
VXNlckFnZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IGVlYzA0Mzg5Y2M0ODk3NzUzMmI2
OTVmMTdhMzQwMjY4M2Y4ZmIxYTcuLjcwZjdjZTdjMzIwZDExOTk1MGFlNjk3OGZiZDM0NGNjODIw
MGM5MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC0xMjIsNyArMTIyLDcgQEAgQGltcGxl
bWVudGF0aW9uIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gewogICAgIFdlYWtPYmpDUHRyPFdLV2Vi
Vmlldz4gX3JlbGF0ZWRXZWJWaWV3OwogICAgIFdlYWtPYmpDUHRyPFdLV2ViVmlldz4gX2FsdGVy
bmF0ZVdlYlZpZXdGb3JOYXZpZ2F0aW9uR2VzdHVyZXM7CiAgICAgUmV0YWluUHRyPE5TU3RyaW5n
PiBfZ3JvdXBJZGVudGlmaWVyOwotICAgIExhenlJbml0aWFsaXplZDxSZXRhaW5QdHI8TlNTdHJp
bmc+PiBfYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50OworICAgIE9wdGlvbmFsPFJldGFpblB0
cjxOU1N0cmluZz4+IF9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQ7CiAgICAgTlNUaW1lSW50
ZXJ2YWwgX2luY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0OwogICAgIEJPT0wg
X3Jlc3BlY3RzSW1hZ2VPcmllbnRhdGlvbjsKICAgICBCT09MIF9wcmludHNCYWNrZ3JvdW5kczsK
QEAgLTI4Niw3ICsyODYsMTAgQEAgLSAodm9pZCllbmNvZGVXaXRoQ29kZXI6KE5TQ29kZXIgKilj
b2RlcgogICAgIFtjb2RlciBlbmNvZGVPYmplY3Q6c2VsZi53ZWJzaXRlRGF0YVN0b3JlIGZvcktl
eTpAIndlYnNpdGVEYXRhU3RvcmUiXTsKIAogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuc3Vw
cHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nIGZvcktleTpAInN1cHByZXNzZXNJbmNyZW1lbnRh
bFJlbmRlcmluZyJdOwotICAgIFtjb2RlciBlbmNvZGVPYmplY3Q6c2VsZi5hcHBsaWNhdGlvbk5h
bWVGb3JVc2VyQWdlbnQgZm9yS2V5OkAiYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50Il07CisK
KyAgICBpZiAoX2FwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudC5oYXNWYWx1ZSgpKQorICAgICAg
ICBbY29kZXIgZW5jb2RlT2JqZWN0OnNlbGYuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50IGZv
cktleTpAImFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCJdOworCiAgICAgW2NvZGVyIGVuY29k
ZUJvb2w6c2VsZi5hbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayBmb3JLZXk6QCJhbGxvd3NB
aXJQbGF5Rm9yTWVkaWFQbGF5YmFjayJdOwogCiAgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5f
ZHJhd3NCYWNrZ3JvdW5kIGZvcktleTpAImRyYXdzQmFja2dyb3VuZCJdOwpAQCAtMzIwLDcgKzMy
MywxMCBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhDb2RlcjooTlNDb2RlciAqKWNvZGVyCiAg
ICAgc2VsZi53ZWJzaXRlRGF0YVN0b3JlID0gZGVjb2RlT2JqZWN0T2ZDbGFzc0ZvcktleUZyb21D
b2RlcihbV0tXZWJzaXRlRGF0YVN0b3JlIGNsYXNzXSwgQCJ3ZWJzaXRlRGF0YVN0b3JlIiwgY29k
ZXIpOwogCiAgICAgc2VsZi5zdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcgPSBbY29kZXIg
ZGVjb2RlQm9vbEZvcktleTpAInN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyJdOwotICAg
IHNlbGYuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50ID0gZGVjb2RlT2JqZWN0T2ZDbGFzc0Zv
cktleUZyb21Db2RlcihbTlNTdHJpbmcgY2xhc3NdLCBAImFwcGxpY2F0aW9uTmFtZUZvclVzZXJB
Z2VudCIsIGNvZGVyKTsKKworICAgIGlmIChbY29kZXIgY29udGFpbnNWYWx1ZUZvcktleTpAImFw
cGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCJdKQorICAgICAgICBzZWxmLmFwcGxpY2F0aW9uTmFt
ZUZvclVzZXJBZ2VudCA9IGRlY29kZU9iamVjdE9mQ2xhc3NGb3JLZXlGcm9tQ29kZXIoW05TU3Ry
aW5nIGNsYXNzXSwgQCJhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQiLCBjb2Rlcik7CisKICAg
ICBzZWxmLmFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrID0gW2NvZGVyIGRlY29kZUJvb2xG
b3JLZXk6QCJhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayJdOwogCiAgICAgaWYgKFtjb2Rl
ciBjb250YWluc1ZhbHVlRm9yS2V5OkAiZHJhd3NCYWNrZ3JvdW5kIl0pCkBAIC0zNjYsNyArMzcy
LDcgQEAgLSAoaWQpY29weVdpdGhab25lOihOU1pvbmUgKil6b25lCiAjZW5kaWYKIAogICAgIGNv
bmZpZ3VyYXRpb24tPl9zdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcgPSBzZWxmLT5fc3Vw
cHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nOwotICAgIGNvbmZpZ3VyYXRpb24uYXBwbGljYXRp
b25OYW1lRm9yVXNlckFnZW50ID0gc2VsZi5hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQ7Cisg
ICAgY29uZmlndXJhdGlvbi0+X2FwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCA9IHNlbGYtPl9h
cHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQ7CiAKICAgICBjb25maWd1cmF0aW9uLT5fcmVzcGVj
dHNJbWFnZU9yaWVudGF0aW9uID0gc2VsZi0+X3Jlc3BlY3RzSW1hZ2VPcmllbnRhdGlvbjsKICAg
ICBjb25maWd1cmF0aW9uLT5fcHJpbnRzQmFja2dyb3VuZHMgPSBzZWxmLT5fcHJpbnRzQmFja2dy
b3VuZHM7CkBAIC00OTUsMTQgKzUwMSwxOSBAQCBzdGF0aWMgTlNTdHJpbmcgKmRlZmF1bHRBcHBs
aWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQoKQogI2VuZGlmCiB9CiAKKy0gKE5TU3RyaW5nICopX2Fw
cGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQKK3sKKyAgICByZXR1cm4gX2FwcGxpY2F0
aW9uTmFtZUZvclVzZXJBZ2VudC5oYXNWYWx1ZSgpID8gX2FwcGxpY2F0aW9uTmFtZUZvclVzZXJB
Z2VudC0+Z2V0KCkgOiBuaWw7Cit9CisKIC0gKE5TU3RyaW5nICopYXBwbGljYXRpb25OYW1lRm9y
VXNlckFnZW50CiB7Ci0gICAgcmV0dXJuIF9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQuZ2V0
KFtdIHsgcmV0dXJuIGRlZmF1bHRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQoKTsgfSk7Cisg
ICAgcmV0dXJuIF9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQuaGFzVmFsdWUoKSA/IF9hcHBs
aWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQtPmdldCgpIDogZGVmYXVsdEFwcGxpY2F0aW9uTmFtZUZv
clVzZXJBZ2VudCgpOwogfQogCiAtICh2b2lkKXNldEFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2Vu
dDooTlNTdHJpbmcgKilhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQKIHsKLSAgICBfYXBwbGlj
YXRpb25OYW1lRm9yVXNlckFnZW50LnNldChhZG9wdE5TKFthcHBsaWNhdGlvbk5hbWVGb3JVc2Vy
QWdlbnQgY29weV0pKTsKKyAgICBfYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50LmVtcGxhY2Uo
YWRvcHROUyhhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQuY29weSkpOwogfQogCiAtIChfV0tW
aXNpdGVkTGlua1N0b3JlICopX3Zpc2l0ZWRMaW5rU3RvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uSW50ZXJuYWwu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uSW50ZXJuYWwuaAppbmRleCBkYjRiMmJiYmZmZGNhNTA4NzI3NzBmZmRlODllYmZjYjE4OTY2
MjhkLi4xNzFiNGE0NGY2ZThhMDU1MDE1ZjRlZDllOWJhNzgwN2FlOGYxZTQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
bkludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb25JbnRlcm5hbC5oCkBAIC0zNSw2ICszNSw3IEBACiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldENvbnRlbnRQ
cm92aWRlclJlZ2lzdHJ5OikgV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkgKl9jb250
ZW50UHJvdmlkZXJSZWdpc3RyeTsKICNlbmRpZgorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5KSBOU1N0cmluZyAqX2FwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQ7CiAKIC0g
KFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiljb3B5UGFnZUNvbmZpZ3VyYXRpb247CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVm
ZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQ
cmVmZXJlbmNlcy5tbQppbmRleCA4NjY2YmUzNjEzMDg0MWYyMTkyMDVmMjhjYjJjYjBjZGFkNjVk
ZDIzLi41M2Y3NjYwYTc2ODRkOTU1MzczZTkwNDY4YTI5MjFhM2RkNmZkNmFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZl
cmVuY2VzLm1tCkBAIC0zMTgsMTIgKzMxOCwxMiBAQCAtICh2b2lkKV9zZXRBbGxvd1NpdGVTcGVj
aWZpY1F1aXJrc1RvT3ZlcnJpZGVDb21wYXRpYmlsaXR5TW9kZTooQk9PTCl2YWx1ZQogCiAtIChO
U1N0cmluZyAqKV9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29tcGF0aWJp
bGl0eQogewotICAgIHJldHVybiBfd2Vic2l0ZVBvbGljaWVzLT5hcHBsaWNhdGlvbk5hbWVGb3JV
c2VyQWdlbnRXaXRoTW9kZXJuQ29tcGF0aWJpbGl0eSgpOworICAgIHJldHVybiBfd2Vic2l0ZVBv
bGljaWVzLT5hcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50KCk7CiB9CiAKIC0gKHZv
aWQpX3NldEFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudFdpdGhNb2Rlcm5Db21wYXRpYmlsaXR5
OihOU1N0cmluZyAqKWFwcGxpY2F0aW9uTmFtZQogewotICAgIF93ZWJzaXRlUG9saWNpZXMtPnNl
dEFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudFdpdGhNb2Rlcm5Db21wYXRpYmlsaXR5KGFwcGxp
Y2F0aW9uTmFtZSk7CisgICAgX3dlYnNpdGVQb2xpY2llcy0+c2V0QXBwbGljYXRpb25OYW1lRm9y
RGVza3RvcFVzZXJBZ2VudChhcHBsaWNhdGlvbk5hbWUpOwogfQogCiAtIChBUEk6Ok9iamVjdCYp
X2FwaU9iamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5ODY5
YjAxM2ZjNjNiNjg1NGFhYWZiMzM3MjhjYzM0NDUzMTJjMGFhLi5kNDZhZTU3MjFmZjIyMGEyODNi
NDVmNmQ2MmU5MGI1MDA3ODBlNTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaApAQCAtODU1LDYgKzg1NSw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHVzZXJB
Z2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlckFnZW50OyB9CiAgICAgdm9pZCBzZXRBcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnQoY29uc3QgU3RyaW5nJik7CiAgICAgY29uc3QgU3RyaW5nJiBh
cHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9u
TmFtZUZvclVzZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0QXBwbGljYXRpb25OYW1lRm9yRGVza3Rv
cFVzZXJBZ2VudChjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uTmFtZSkgeyBtX2FwcGxpY2F0aW9u
TmFtZUZvckRlc2t0b3BVc2VyQWdlbnQgPSBhcHBsaWNhdGlvbk5hbWU7IH0KKyAgICBjb25zdCBT
dHJpbmcmIGFwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQoKSBjb25zdCB7IHJldHVy
biBtX2FwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQ7IH0KICAgICB2b2lkIHNldEN1
c3RvbVVzZXJBZ2VudChjb25zdCBTdHJpbmcmKTsKICAgICBjb25zdCBTdHJpbmcmIGN1c3RvbVVz
ZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tVXNlckFnZW50OyB9CiAgICAgc3RhdGlj
IFN0cmluZyBzdGFuZGFyZFVzZXJBZ2VudChjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uTmFtZSA9
IFN0cmluZygpKTsKQEAgLTIxNDQsNiArMjE0Niw3IEBAIHByaXZhdGU6CiAKICAgICBTdHJpbmcg
bV91c2VyQWdlbnQ7CiAgICAgU3RyaW5nIG1fYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50Owor
ICAgIFN0cmluZyBtX2FwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQ7CiAgICAgU3Ry
aW5nIG1fY3VzdG9tVXNlckFnZW50OwogICAgIFN0cmluZyBtX2N1c3RvbVRleHRFbmNvZGluZ05h
bWU7CiAgICAgU3RyaW5nIG1fb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCAzYjE4MDBm
OGUzMmQ0ZTI3Nzc1ZTg1NjhjOWQ1Yjg4ZmMwMGRlMTU4Li45ZWMxYWQzYTQ3MGUwMTM4NTU4NGQy
NTk0NDVhODM0NmY2NjBmZDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV2ViUGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
ZWJQYWdlUHJveHlJT1MubW0KQEAgLTEzODIsOSArMTM4Miw5IEBAIFdlYkNvbnRlbnRNb2RlIFdl
YlBhZ2VQcm94eTo6ZWZmZWN0aXZlQ29udGVudE1vZGVBZnRlckFkanVzdGluZ1BvbGljaWVzKEFQ
STo6V2ViCiAgICAgICAgIHJldHVybiBXZWJDb250ZW50TW9kZTo6TW9iaWxlOwogCiAgICAgaWYg
KHBvbGljaWVzLmN1c3RvbVVzZXJBZ2VudCgpLmlzRW1wdHkoKSAmJiBjdXN0b21Vc2VyQWdlbnQo
KS5pc0VtcHR5KCkpIHsKLSAgICAgICAgYXV0byBhcHBsaWNhdGlvbk5hbWUgPSBwb2xpY2llcy5h
cHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29tcGF0aWJpbGl0eSgpOworICAg
ICAgICBhdXRvIGFwcGxpY2F0aW9uTmFtZSA9IHBvbGljaWVzLmFwcGxpY2F0aW9uTmFtZUZvckRl
c2t0b3BVc2VyQWdlbnQoKTsKICAgICAgICAgaWYgKGFwcGxpY2F0aW9uTmFtZS5pc0VtcHR5KCkp
Ci0gICAgICAgICAgICBhcHBsaWNhdGlvbk5hbWUgPSBhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdl
bnQoKTsKKyAgICAgICAgICAgIGFwcGxpY2F0aW9uTmFtZSA9IGFwcGxpY2F0aW9uTmFtZUZvckRl
c2t0b3BVc2VyQWdlbnQoKTsKICAgICAgICAgcG9saWNpZXMuc2V0Q3VzdG9tVXNlckFnZW50KHN0
YW5kYXJkVXNlckFnZW50V2l0aEFwcGxpY2F0aW9uTmFtZShhcHBsaWNhdGlvbk5hbWUsIFVzZXJB
Z2VudFR5cGU6OkRlc2t0b3ApKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1ZGY4M2E1MjVhMzcxNWE2ZmVjNGFkZGZlZGZhMDE1
YWMzYmUzOGQzLi5kYjQxMjI0MmQyNWQwNDkyZGM0YWMzYmY3YjI3NmEwN2Y1OWFkZDE0IDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjQgQEAKKzIwMTktMDYtMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CisKKyAgICAgICAgW2lPU10gVGhlIGRlZmF1bHQgYXBwbGljYXRpb24gbmFtZSBmb3IgdXNlciBh
Z2VudCB3aGVuIHJlcXVlc3RpbmcgZGVza3RvcCBjb250ZW50IGlzIHN0aWxsICJNb2JpbGUvMTVF
MTQ4IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4
NjkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MTU1NTM3MT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdWdtZW50IGFuIGV4aXN0aW5nIEFQSSB0
ZXN0IHRvIGV4ZXJjaXNlIHRocmVlIGFkZGl0aW9uYWwgc2NlbmFyaW9zOgorICAgICAgICAgICAg
LSAgIFRoZSB3ZWIgdmlldyBjb25maWd1cmF0aW9uJ3MgYXBwbGljYXRpb24gbmFtZSBpcyBuZXZl
ciBzZXQ7IHRoZSBkZWZhdWx0IHNob3VsZCBub3QgaW5jbHVkZQorICAgICAgICAgICAgICAgICJN
b2JpbGUvMTVFMTQ4IiBpbiBkZXNrdG9wIG1vZGUuCisgICAgICAgICAgICAtICAgVGhlIGFwcGxp
Y2F0aW9uIG5hbWUgaXMgZXhwbGljaXRseSBzZXQgdG8gbmlsOyB0aGUgZGVmYXVsdCBhcHBsaWNh
dGlvbiBuYW1lIHNob3VsZCBzdGlsbCBub3QgaW5jbHVkZQorICAgICAgICAgICAgICAgICJNb2Jp
bGUvMTVFMTQ4Ii4KKyAgICAgICAgICAgIC0gICBUaGUgYXBwbGljYXRpb24gbmFtZSBpcyBleHBs
aWNpdGx5IHNldCB0byB0aGUgZGVmYXVsdCB2YWx1ZSwgIk1vYmlsZS8xNUUxNDgiLiBXS1dlYlZp
ZXcgc2hvdWxkIGhvbm9yCisgICAgICAgICAgICAgICAgdGhpcyB3aGVuIGdlbmVyYXRpbmcgdGhl
IHVzZXIgYWdlbnQsIGV2ZW4gaW4gZGVza3RvcCBtb2RlLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9pb3MvUHJlZmVycmVkQ29udGVudE1vZGUubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpzZXRVcFdlYlZpZXdGb3JQcmVmZXJyZWRDb250ZW50TW9kZVRlc3RpbmdXaXRob3V0TmF2aWdh
dGlvbkRlbGVnYXRlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldFVwV2ViVmlld0ZvclBy
ZWZlcnJlZENvbnRlbnRNb2RlVGVzdGluZyk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNU
KToKKwogMjAxOS0wNi0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAogICAgICAgICBBbGxvdyBjbGllbnRzIHRvIHZlbmQgY3VzdG9tIC1pbnB1dFZpZXcgYW5kIC1p
bnB1dEFjY2Vzc29yeVZpZXcgYnkgb3ZlcnJpZGluZyBXS1dlYlZpZXcgbWV0aG9kcwpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvUHJlZmVycmVkQ29udGVudE1vZGUubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL2lvcy9QcmVmZXJyZWRDb250ZW50TW9kZS5tbQppbmRleCBlODIz
OTQwYjMzNGQ2YWE3NjlkMzM0MDRlOGVhYzYyZmZhZjMxN2JlLi5iZWJjNDliNDI5OTUyYjhjZmVh
YzIxODFhYmU3MDEyZGJmMDliZTk2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lv
cy9QcmVmZXJyZWRDb250ZW50TW9kZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9Q
cmVmZXJyZWRDb250ZW50TW9kZS5tbQpAQCAtMTg1LDIwICsxODUsMjAgQEAgcHJpdmF0ZToKIG5h
bWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFZpZXdDbGFzcz4K
LVJldGFpblB0cjxWaWV3Q2xhc3M+IHNldFVwV2ViVmlld0ZvclByZWZlcnJlZENvbnRlbnRNb2Rl
VGVzdGluZ1dpdGhvdXROYXZpZ2F0aW9uRGVsZWdhdGUoT3B0aW9uYWw8V0tDb250ZW50TW9kZT4g
ZGVmYXVsdENvbnRlbnRNb2RlID0geyB9LCBjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uTmFtZUZv
clVzZXJBZ2VudCA9ICJUZXN0V2ViS2l0QVBJIiwgQ0dTaXplIHNpemUgPSBDR1NpemVNYWtlKDEw
MjQsIDc2OCkpCitSZXRhaW5QdHI8Vmlld0NsYXNzPiBzZXRVcFdlYlZpZXdGb3JQcmVmZXJyZWRD
b250ZW50TW9kZVRlc3RpbmdXaXRob3V0TmF2aWdhdGlvbkRlbGVnYXRlKE9wdGlvbmFsPFdLQ29u
dGVudE1vZGU+IGRlZmF1bHRDb250ZW50TW9kZSA9IHsgfSwgT3B0aW9uYWw8U3RyaW5nPiBhcHBs
aWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQgPSB7ICJUZXN0V2ViS2l0QVBJIiB9LCBDR1NpemUgc2l6
ZSA9IENHU2l6ZU1ha2UoMTAyNCwgNzY4KSkKIHsKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIGlmIChk
ZWZhdWx0Q29udGVudE1vZGUpCiAgICAgICAgIFtjb25maWd1cmF0aW9uIHNldERlZmF1bHRXZWJw
YWdlUHJlZmVyZW5jZXM6W1dLV2VicGFnZVByZWZlcmVuY2VzIHByZWZlcmVuY2VzV2l0aENvbnRl
bnRNb2RlOmRlZmF1bHRDb250ZW50TW9kZS52YWx1ZSgpXV07Ci0gICAgaWYgKCEhYXBwbGljYXRp
b25OYW1lRm9yVXNlckFnZW50KQotICAgICAgICBbY29uZmlndXJhdGlvbiBzZXRBcHBsaWNhdGlv
bk5hbWVGb3JVc2VyQWdlbnQ6YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50XTsKKyAgICBpZiAo
YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KQorICAgICAgICBbY29uZmlndXJhdGlvbiBzZXRB
cHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQ6YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50LT5p
c051bGwoKSA/IG5pbCA6IChOU1N0cmluZyAqKWFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudC52
YWx1ZSgpXTsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVmlld0NsYXNzIGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgc2l6ZS53aWR0aCwgc2l6ZS5oZWlnaHQpIGNv
bmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIEVYUEVDVF9UUlVFKFt3ZWJW
aWV3IGlzS2luZE9mQ2xhc3M6V0tXZWJWaWV3LmNsYXNzXSk7CiAgICAgcmV0dXJuIHdlYlZpZXc7
CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBWaWV3Q2xhc3M+Ci1zdGQ6OnBhaXI8UmV0YWluUHRy
PFZpZXdDbGFzcz4sIFJldGFpblB0cjxDb250ZW50TW9kZU5hdmlnYXRpb25EZWxlZ2F0ZT4+IHNl
dFVwV2ViVmlld0ZvclByZWZlcnJlZENvbnRlbnRNb2RlVGVzdGluZyhPcHRpb25hbDxXS0NvbnRl
bnRNb2RlPiBkZWZhdWx0Q29udGVudE1vZGUgPSB7IH0sIGNvbnN0IFN0cmluZyYgYXBwbGljYXRp
b25OYW1lRm9yVXNlckFnZW50ID0gIlRlc3RXZWJLaXRBUEkiLCBDR1NpemUgc2l6ZSA9IENHU2l6
ZU1ha2UoMTAyNCwgNzY4KSkKK3N0ZDo6cGFpcjxSZXRhaW5QdHI8Vmlld0NsYXNzPiwgUmV0YWlu
UHRyPENvbnRlbnRNb2RlTmF2aWdhdGlvbkRlbGVnYXRlPj4gc2V0VXBXZWJWaWV3Rm9yUHJlZmVy
cmVkQ29udGVudE1vZGVUZXN0aW5nKE9wdGlvbmFsPFdLQ29udGVudE1vZGU+IGRlZmF1bHRDb250
ZW50TW9kZSA9IHsgfSwgT3B0aW9uYWw8U3RyaW5nPiBhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdl
bnQgPSB7ICJUZXN0V2ViS2l0QVBJIiB9LCBDR1NpemUgc2l6ZSA9IENHU2l6ZU1ha2UoMTAyNCwg
NzY4KSkKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBzZXRVcFdlYlZpZXdGb3JQcmVmZXJyZWRDb250
ZW50TW9kZVRlc3RpbmdXaXRob3V0TmF2aWdhdGlvbkRlbGVnYXRlPFZpZXdDbGFzcz4oZGVmYXVs
dENvbnRlbnRNb2RlLCBhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQsIHNpemUpOwogICAgIGF1
dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhbW0NvbnRlbnRNb2RlTmF2aWdhdGlvbkRl
bGVnYXRlIGFsbG9jXSBpbml0XSk7CkBAIC0yNDcsNyArMjQ3LDcgQEAgVEVTVChQcmVmZXJyZWRD
b250ZW50TW9kZSwgRGVza3RvcE1vZGVXaXRob3V0TmF2aWdhdGlvbkRlbGVnYXRlKQogewogICAg
IElQYWRVc2VySW50ZXJmYWNlU3dpenpsZXIgaVBhZFVzZXJJbnRlcmZhY2U7CiAKLSAgICBhdXRv
IHdlYlZpZXcgPSBzZXRVcFdlYlZpZXdGb3JQcmVmZXJyZWRDb250ZW50TW9kZVRlc3RpbmdXaXRo
b3V0TmF2aWdhdGlvbkRlbGVnYXRlPFRlc3RXS1dlYlZpZXc+KFdLQ29udGVudE1vZGVEZXNrdG9w
LCAiVGVzdFdlYktpdEFQSSIpOworICAgIGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlld0ZvclBy
ZWZlcnJlZENvbnRlbnRNb2RlVGVzdGluZ1dpdGhvdXROYXZpZ2F0aW9uRGVsZWdhdGU8VGVzdFdL
V2ViVmlldz4oV0tDb250ZW50TW9kZURlc2t0b3ApOwogICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3Ry
aW5nOkAiPGJvZHk+SGVsbG8gd29ybGQ8L2JvZHk+IiBiYXNlVVJMOm5pbF07CiAKICAgICBfX2Js
b2NrIGJvb2wgZmluaXNoZWQgPSBmYWxzZTsKQEAgLTQwMiw3ICs0MDIsNyBAQCBURVNUKFByZWZl
cnJlZENvbnRlbnRNb2RlLCBSZWNvbW1lbmRlZENvbnRlbnRNb2RlQXRWYXJpb3VzVmlld1dpZHRo
cykKIAogICAgIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiB3ZWJWaWV3OwogICAgIFJldGFpblB0
cjxDb250ZW50TW9kZU5hdmlnYXRpb25EZWxlZ2F0ZT4gZGVsZWdhdGU7Ci0gICAgc3RkOjp0aWUo
d2ViVmlldywgZGVsZWdhdGUpID0gc2V0VXBXZWJWaWV3Rm9yUHJlZmVycmVkQ29udGVudE1vZGVU
ZXN0aW5nPFdLV2ViVmlldz4oeyB9LCAiVGVzdFdlYktpdEFQSSIsIENHU2l6ZVplcm8pOworICAg
IHN0ZDo6dGllKHdlYlZpZXcsIGRlbGVnYXRlKSA9IHNldFVwV2ViVmlld0ZvclByZWZlcnJlZENv
bnRlbnRNb2RlVGVzdGluZzxXS1dlYlZpZXc+KHsgfSwgeyAiVGVzdFdlYktpdEFQSSIgfSwgQ0dT
aXplWmVybyk7CiAgICAgW3dlYlZpZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUiIGFuZEV4
cGVjdEVmZmVjdGl2ZUNvbnRlbnRNb2RlOldLQ29udGVudE1vZGVEZXNrdG9wIHdpdGhQb2xpY3lE
ZWNpc2lvbkhhbmRsZXI6bmlsXTsKICAgICBbW3dlYlZpZXcgbmF2aWdhdG9yVXNlckFnZW50XSBz
aG91bGRDb250YWluU3RyaW5nczpAIk1vemlsbGEvNS4wIChNYWNpbnRvc2giLCBAIlRlc3RXZWJL
aXRBUEkiLCBuaWxdOwogCkBAIC00MjgsNiArNDI4LDQxIEBAIFRFU1QoUHJlZmVycmVkQ29udGVu
dE1vZGUsIEFwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQpCiAgICAgfV07CiAgICAg
W1t3ZWJWaWV3IG5hdmlnYXRvclVzZXJBZ2VudF0gc2hvdWxkQ29udGFpblN0cmluZ3M6QCJNb3pp
bGxhLzUuMCAoTWFjaW50b3NoIiwgQCJEZXNrdG9wQnJvd3NlciIsIG5pbF07CiAgICAgRVhQRUNU
X1dLX1NUUkVRKCJNYWNJbnRlbCIsIFt3ZWJWaWV3IG5hdmlnYXRvclBsYXRmb3JtXSk7CisKKyAg
ICB7CisgICAgICAgIC8vIERvbid0IGF0dGVtcHQgdG8gY2hhbmdlIHRoZSBhcHBsaWNhdGlvbiBu
YW1lLCBidXQgc3RpbGwgb3B0IGludG8gZGVza3RvcC1jbGFzcyBicm93c2luZzsKKyAgICAgICAg
Ly8gdGhlIGFwcGxpY2F0aW9uIG5hbWUgc2hvdWxkIG5vdCBkZWZhdWx0IHRvICJNb2JpbGUvMTVF
MTQ4Ii4KKyAgICAgICAgc3RkOjp0aWUod2ViVmlldywgZGVsZWdhdGUpID0gc2V0VXBXZWJWaWV3
Rm9yUHJlZmVycmVkQ29udGVudE1vZGVUZXN0aW5nPFdLV2ViVmlldz4oV0tDb250ZW50TW9kZURl
c2t0b3AsIHsgfSk7CisgICAgICAgIFt3ZWJWaWV3IGxvYWRUZXN0UGFnZU5hbWVkOkAic2ltcGxl
IiB3aXRoUG9saWN5RGVjaXNpb25IYW5kbGVyOm5pbF07CisgICAgICAgIE5TU3RyaW5nICp1c2Vy
QWdlbnQgPSBbd2ViVmlldyBuYXZpZ2F0b3JVc2VyQWdlbnRdOworICAgICAgICBFWFBFQ1RfRkFM
U0UoW3VzZXJBZ2VudCBjb250YWluc1N0cmluZzpAIk1vYmlsZSJdKTsKKyAgICAgICAgRVhQRUNU
X1RSVUUoW3VzZXJBZ2VudCBjb250YWluc1N0cmluZzpAIk1hY2ludG9zaCJdKTsKKyAgICB9Cisg
ICAgeworICAgICAgICAvLyBEb24ndCBhdHRlbXB0IHRvIGNoYW5nZSB0aGUgYXBwbGljYXRpb24g
bmFtZSwgYnV0IHRoaXMgdGltZSwgb3B0IGludG8gbW9iaWxlIGNvbnRlbnQuIFRoZSBhcHBsaWNh
dGlvbgorICAgICAgICAvLyBuYW1lIHNob3VsZCBkZWZhdWx0IHRvICJNb2JpbGUvMTVFMTQ4Ii4K
KyAgICAgICAgc3RkOjp0aWUod2ViVmlldywgZGVsZWdhdGUpID0gc2V0VXBXZWJWaWV3Rm9yUHJl
ZmVycmVkQ29udGVudE1vZGVUZXN0aW5nPFdLV2ViVmlldz4oV0tDb250ZW50TW9kZU1vYmlsZSwg
eyB9KTsKKyAgICAgICAgW3dlYlZpZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUiIHdpdGhQ
b2xpY3lEZWNpc2lvbkhhbmRsZXI6bmlsXTsKKyAgICAgICAgTlNTdHJpbmcgKnVzZXJBZ2VudCA9
IFt3ZWJWaWV3IG5hdmlnYXRvclVzZXJBZ2VudF07CisgICAgICAgIEVYUEVDVF9UUlVFKFt1c2Vy
QWdlbnQgY29udGFpbnNTdHJpbmc6QCJNb2JpbGUiXSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShb
dXNlckFnZW50IGNvbnRhaW5zU3RyaW5nOkAiTWFjaW50b3NoIl0pOworICAgIH0KKyAgICB7Cisg
ICAgICAgIC8vIE1hbnVhbGx5IHNldCB0aGUgYXBwbGljYXRpb24gbmFtZSBmb3IgdXNlciBhZ2Vu
dCB0byB0aGUgZGVmYXVsdCB2YWx1ZSwgTW9iaWxlLzE1RTE0OC4KKyAgICAgICAgc3RkOjp0aWUo
d2ViVmlldywgZGVsZWdhdGUpID0gc2V0VXBXZWJWaWV3Rm9yUHJlZmVycmVkQ29udGVudE1vZGVU
ZXN0aW5nPFdLV2ViVmlldz4oV0tDb250ZW50TW9kZURlc2t0b3AsIHsgIk1vYmlsZS8xNUUxNDgi
IH0pOworICAgICAgICBbd2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAInNpbXBsZSIgd2l0aFBv
bGljeURlY2lzaW9uSGFuZGxlcjpuaWxdOworICAgICAgICBOU1N0cmluZyAqdXNlckFnZW50ID0g
W3dlYlZpZXcgbmF2aWdhdG9yVXNlckFnZW50XTsKKyAgICAgICAgRVhQRUNUX1RSVUUoW3VzZXJB
Z2VudCBjb250YWluc1N0cmluZzpAIk1vYmlsZSJdKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoW3Vz
ZXJBZ2VudCBjb250YWluc1N0cmluZzpAIk1hY2ludG9zaCJdKTsKKyAgICB9CisgICAgeworICAg
ICAgICAvLyBNYW51YWxseSBzZXQgdGhlIGFwcGxpY2F0aW9uIG5hbWUgZm9yIHVzZXIgYWdlbnQg
dG8gbmlsLgorICAgICAgICBzdGQ6OnRpZSh3ZWJWaWV3LCBkZWxlZ2F0ZSkgPSBzZXRVcFdlYlZp
ZXdGb3JQcmVmZXJyZWRDb250ZW50TW9kZVRlc3Rpbmc8V0tXZWJWaWV3PihXS0NvbnRlbnRNb2Rl
RGVza3RvcCwge3sgfX0pOworICAgICAgICBbd2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAInNp
bXBsZSIgd2l0aFBvbGljeURlY2lzaW9uSGFuZGxlcjpuaWxdOworICAgICAgICBOU1N0cmluZyAq
dXNlckFnZW50ID0gW3dlYlZpZXcgbmF2aWdhdG9yVXNlckFnZW50XTsKKyAgICAgICAgRVhQRUNU
X0ZBTFNFKFt1c2VyQWdlbnQgY29udGFpbnNTdHJpbmc6QCJNb2JpbGUiXSk7CisgICAgICAgIEVY
UEVDVF9UUlVFKFt1c2VyQWdlbnQgY29udGFpbnNTdHJpbmc6QCJNYWNpbnRvc2giXSk7CisgICAg
fQogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>
<flag name="review"
          id="387508"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371700</attachid>
            <date>2019-06-08 20:13:02 -0700</date>
            <delta_ts>2019-06-08 20:55:07 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-198693-20190608201301.patch</filename>
            <type>text/plain</type>
            <size>23181</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI1NGNmYmU0OGMwNjQzODQz
ZGIxNjdjNGM1MDY5MWFiMGUwNmEwZDEuLjY4NDcwMTNiM2U2Yzg5ODkxOWViOTA1ZGVlMTBhOTNk
ZDcwNTdhZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTcgQEAKKzIwMTktMDYtMDggIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVGhlIGRlZmF1
bHQgYXBwbGljYXRpb24gbmFtZSBmb3IgdXNlciBhZ2VudCB3aGVuIHJlcXVlc3RpbmcgZGVza3Rv
cCBjb250ZW50IGlzIHN0aWxsICJNb2JpbGUvMTVFMTQ4IgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4NjkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81MTU1NTM3MT4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAg
IEZpeGVzIHRoZSBidWcgYnkgaW50cm9kdWNpbmcgYW4gYXBwbGljYXRpb25OYW1lRm9yRGVza3Rv
cFVzZXJBZ2VudCBtZW1iZXIgdG8gV2ViUGFnZVByb3h5LiBUaGlzCisgICAgICAgIGFwcGxpY2F0
aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQgaXMgc2V0IGFsb25nc2lkZSB0aGUgcmVndWxhciBh
cHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQ7IGhvd2V2ZXIsIGluIHRoZQorICAgICAgICBjYXNl
IHdoZXJlIGl0IGlzIGJlaW5nIHNldCB2aWEgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiwgdXNlIFdL
V2ViVmlld0NvbmZpZ3VyYXRpb24ncworICAgICAgICBfYXBwbGljYXRpb25OYW1lRm9yRGVza3Rv
cFVzZXJBZ2VudCBpbnN0ZWFkLiBTZWUgYmVsb3cgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAg
ICBUZXN0ZWQgYnkgYWRkaW5nIHRvIHRoZSBleGlzdGluZyBBUEkgdGVzdCBQcmVmZXJyZWRDb250
ZW50TW9kZS5BcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50LgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwOgorICAgICAgICAoQVBJOjpXZWJz
aXRlUG9saWNpZXM6OmNvcHkgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vi
c2l0ZVBvbGljaWVzLmg6CisKKyAgICAgICAgRHJpdmUtYnkgZml4OiByZW5hbWUgYXBwbGljYXRp
b25OYW1lRm9yVXNlckFnZW50V2l0aE1vZGVybkNvbXBhdGliaWxpdHkgdG8gYXBwbGljYXRpb25O
YW1lRm9yRGVza3RvcFVzZXJBZ2VudCBpbgorICAgICAgICBhIGZldyBwbGFjZXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbToK
KyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIHNldEFwcGxpY2F0aW9uTmFt
ZUZvclVzZXJBZ2VudDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246
XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50
Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
bi5tbToKKworICAgICAgICBDaGFuZ2UgX2FwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCBpbnRv
IGFuIE9wdGlvbmFsPFJldGFpblB0cjxOU1N0cmluZz4+LiBBIHZhbHVlIG9mIFdURjo6bnVsbG9w
dCBhbGxvd3MgdXMgdG8KKyAgICAgICAga25vdyB0aGF0IHRoZSBkZWZhdWx0IGFwcGxpY2F0aW9u
IG5hbWUgc2hvdWxkIGJlIHVzZWQgKHdoaWNoIGlzIGRpZmZlcmVudCB3aGVuIHJlcXVlc3Rpbmcg
ZGVza3RvcCBjb250ZW50KS4KKworICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGVu
Y29kZVdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBpbml0
V2l0aENvZGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGNvcHlXaXRo
Wm9uZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfYXBwbGljYXRpb25O
YW1lRm9yRGVza3RvcFVzZXJBZ2VudF0pOgorCisgICAgICAgIEFkZCBfYXBwbGljYXRpb25OYW1l
Rm9yRGVza3RvcFVzZXJBZ2VudCB0byB0aGUgd2ViIHZpZXcgY29uZmlndXJhdGlvbi4gVGhpcyBi
ZWhhdmVzIGxpa2UKKyAgICAgICAgYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50LCB3aXRoIG9u
ZSBleGNlcHRpb246IGluIHRoZSBjYXNlIHdoZXJlIHRoZSBkZWZhdWx0IGFwcGxpY2F0aW9uTmFt
ZUZvclVzZXJBZ2VudCBpcworICAgICAgICB1c2VkIChpLmUuIHRoZSBjbGllbnQgaGFzIG5vdCBz
cGVjaWZpZWQgYW55IGFwcGxpY2F0aW9uIG5hbWUpLCBkZWZhdWx0IHRvIGBuaWxgIGFzIHRoZSBh
cHBsaWNhdGlvbiBuYW1lIGZvciB1c2VyCisgICAgICAgIGFnZW50LCByYXRoZXIgdGhhbiAiTW9i
aWxlLzE1RTE0OCIuCisKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnRdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBzZXRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQ6XSk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uSW50ZXJuYWwuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzLm1tOgorICAgICAgICAoLVtX
S1dlYnBhZ2VQcmVmZXJlbmNlcyBfYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50V2l0aE1vZGVy
bkNvbXBhdGliaWxpdHldKToKKyAgICAgICAgKC1bV0tXZWJwYWdlUHJlZmVyZW5jZXMgX3NldEFw
cGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudFdpdGhNb2Rlcm5Db21wYXRpYmlsaXR5Ol0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpzZXRBcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjphcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50
IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjplZmZlY3RpdmVDb250ZW50TW9kZUFmdGVyQWRq
dXN0aW5nUG9saWNpZXMpOgorCiAyMDE5LTA2LTA4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxl
LmNvbT4KIAogICAgICAgICBbQXBwbGUgUGF5XSBJZiB3ZSBoYXZlIGEgYm91bmQgaW50ZXJmYWNl
IGlkZW50aWZpZXIsIHNldCBpdCBvbiBuZXcgUEtQYXltZW50UmVxdWVzdHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKaW5kZXggYzk5
OTRkYmIyZGNiZTJiMjg1NzQwMmRmMDkzZmNhNmY2ZWRkZWU2NS4uYjBhOTAwY2FmYTU2YzIwMDUy
NDUyMjRkMTY2NWRiYzMxMjk1ZDA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgUmVmPFdlYnNp
dGVQb2xpY2llcz4gV2Vic2l0ZVBvbGljaWVzOjpjb3B5KCkgY29uc3QKICAgICAgICAgY3VzdG9t
SGVhZGVyRmllbGRzLnVuY2hlY2tlZEFwcGVuZChmaWVsZCk7CiAgICAgcG9saWNpZXMtPnNldEN1
c3RvbUhlYWRlckZpZWxkcyhXVEZNb3ZlKGN1c3RvbUhlYWRlckZpZWxkcykpOwogICAgIHBvbGlj
aWVzLT5zZXRBbGxvd1NpdGVTcGVjaWZpY1F1aXJrc1RvT3ZlcnJpZGVDb250ZW50TW9kZShtX2Fs
bG93U2l0ZVNwZWNpZmljUXVpcmtzVG9PdmVycmlkZUNvbnRlbnRNb2RlKTsKLSAgICBwb2xpY2ll
cy0+c2V0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50V2l0aE1vZGVybkNvbXBhdGliaWxpdHko
bV9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29tcGF0aWJpbGl0eSk7Cisg
ICAgcG9saWNpZXMtPnNldEFwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQobV9hcHBs
aWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50KTsKICAgICByZXR1cm4gcG9saWNpZXM7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9s
aWNpZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMu
aAppbmRleCA3YWQ1ZmU4NzNhYjBjYzc3NzQ3MDUzNWVlNjdjMzdjNWZlZDE1OWFiLi4xZDc4ZDIw
MjNlYjU3Mjg3Zjg5YmRlOWQ4MWZiOTIyNjY4OTg5NDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oCkBAIC0xMTEsOCArMTExLDggQEAg
cHVibGljOgogICAgIGJvb2wgYWxsb3dTaXRlU3BlY2lmaWNRdWlya3NUb092ZXJyaWRlQ29udGVu
dE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2FsbG93U2l0ZVNwZWNpZmljUXVpcmtzVG9PdmVycmlk
ZUNvbnRlbnRNb2RlOyB9CiAgICAgdm9pZCBzZXRBbGxvd1NpdGVTcGVjaWZpY1F1aXJrc1RvT3Zl
cnJpZGVDb250ZW50TW9kZShib29sIHZhbHVlKSB7IG1fYWxsb3dTaXRlU3BlY2lmaWNRdWlya3NU
b092ZXJyaWRlQ29udGVudE1vZGUgPSB2YWx1ZTsgfQogCi0gICAgV1RGOjpTdHJpbmcgYXBwbGlj
YXRpb25OYW1lRm9yVXNlckFnZW50V2l0aE1vZGVybkNvbXBhdGliaWxpdHkoKSBjb25zdCB7IHJl
dHVybiBtX2FwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudFdpdGhNb2Rlcm5Db21wYXRpYmlsaXR5
OyB9Ci0gICAgdm9pZCBzZXRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29t
cGF0aWJpbGl0eShjb25zdCBXVEY6OlN0cmluZyYgYXBwbGljYXRpb25OYW1lKSB7IG1fYXBwbGlj
YXRpb25OYW1lRm9yVXNlckFnZW50V2l0aE1vZGVybkNvbXBhdGliaWxpdHkgPSBhcHBsaWNhdGlv
bk5hbWU7IH0KKyAgICBXVEY6OlN0cmluZyBhcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50
OyB9CisgICAgdm9pZCBzZXRBcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50KGNvbnN0
IFdURjo6U3RyaW5nJiBhcHBsaWNhdGlvbk5hbWUpIHsgbV9hcHBsaWNhdGlvbk5hbWVGb3JEZXNr
dG9wVXNlckFnZW50ID0gYXBwbGljYXRpb25OYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgV2Vic2l0
ZVBvbGljaWVzKGJvb2wgY29udGVudEJsb2NrZXJzRW5hYmxlZCwgT3B0aW9uU2V0PFdlYktpdDo6
V2Vic2l0ZUF1dG9wbGF5UXVpcms+LCBXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVBvbGljeSwgVmVj
dG9yPFdlYkNvcmU6OkhUVFBIZWFkZXJGaWVsZD4mJiwgVmVjdG9yPFdlYkNvcmU6OkN1c3RvbUhl
YWRlckZpZWxkcz4mJiwgV2ViS2l0OjpXZWJzaXRlUG9wVXBQb2xpY3ksIFJlZlB0cjxXZWJzaXRl
RGF0YVN0b3JlPiYmKTsKQEAgLTEzNiw3ICsxMzYsNyBAQCBwcml2YXRlOgogICAgIFdlYktpdDo6
V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgbV9zaW11bGF0ZWRNb3Vz
ZUV2ZW50c0Rpc3BhdGNoUG9saWN5IHsgV2ViS2l0OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVu
dHNEaXNwYXRjaFBvbGljeTo6RGVmYXVsdCB9OwogICAgIFdlYktpdDo6V2Vic2l0ZUxlZ2FjeU92
ZXJmbG93U2Nyb2xsaW5nVG91Y2hQb2xpY3kgbV9sZWdhY3lPdmVyZmxvd1Njcm9sbGluZ1RvdWNo
UG9saWN5IHsgV2ViS2l0OjpXZWJzaXRlTGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFBvbGlj
eTo6RGVmYXVsdCB9OwogICAgIGJvb2wgbV9hbGxvd1NpdGVTcGVjaWZpY1F1aXJrc1RvT3ZlcnJp
ZGVDb250ZW50TW9kZSB7IGZhbHNlIH07Ci0gICAgV1RGOjpTdHJpbmcgbV9hcHBsaWNhdGlvbk5h
bWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29tcGF0aWJpbGl0eTsKKyAgICBXVEY6OlN0cmluZyBt
X2FwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQ7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCmluZGV4IGQ1NDBjZDQ1NzhkZjAw
YTczNDdkZDA0MTg2NzhlNTIzMDRmMDE0YTcuLjMwYThhYTg5MGI0YjFlYWI5ZjgxOTgyMjkyOTlk
MDVjODRhZWRjMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQpAQCAtMTk5LDYg
KzE5OSw3IEBAIC0gKE5TU3RyaW5nICopYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50CiAKIC0g
KHZvaWQpc2V0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50OihOU1N0cmluZyAqKWFwcGxpY2F0
aW9uTmFtZUZvclVzZXJBZ2VudAogeworICAgIF9wYWdlLT5zZXRBcHBsaWNhdGlvbk5hbWVGb3JE
ZXNrdG9wVXNlckFnZW50KGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCk7CiAgICAgX3BhZ2Ut
PnNldEFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudChhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdl
bnQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQppbmRleCAyNjNjMzU5ZWU5OTk5YjZjYzE5N2IyZmM0ZmU5Y2FjYThmMjc3ZTVkLi5iMmJm
OThmNzNlZGIzMGVlNmY0MTkzNWE4OTk3OWFhZWVlZGQwNDE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTc0OCw2ICs3NDgsOCBAQCAt
ICh2b2lkKV9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRp
b24gKiljb25maWd1cmF0aW9uCiAgICAgaWYgKE5TU3RyaW5nICphcHBsaWNhdGlvbk5hbWVGb3JV
c2VyQWdlbnQgPSBjb25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCkKICAg
ICAgICAgX3BhZ2UtPnNldEFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudChhcHBsaWNhdGlvbk5h
bWVGb3JVc2VyQWdlbnQpOwogCisgICAgX3BhZ2UtPnNldEFwcGxpY2F0aW9uTmFtZUZvckRlc2t0
b3BVc2VyQWdlbnQoY29uZmlndXJhdGlvbi5fYXBwbGljYXRpb25OYW1lRm9yRGVza3RvcFVzZXJB
Z2VudCk7CisKICAgICBfbmF2aWdhdGlvblN0YXRlID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6
Ok5hdmlnYXRpb25TdGF0ZT4oc2VsZik7CiAgICAgX3BhZ2UtPnNldE5hdmlnYXRpb25DbGllbnQo
X25hdmlnYXRpb25TdGF0ZS0+Y3JlYXRlTmF2aWdhdGlvbkNsaWVudCgpKTsKIApAQCAtNDc4Miw2
ICs0Nzg0LDcgQEAgLSAoTlNTdHJpbmcgKilfYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50CiAt
ICh2b2lkKV9zZXRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQ6KE5TU3RyaW5nICopYXBwbGlj
YXRpb25OYW1lRm9yVXNlckFnZW50CiB7CiAgICAgX3BhZ2UtPnNldEFwcGxpY2F0aW9uTmFtZUZv
clVzZXJBZ2VudChhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQpOworICAgIF9wYWdlLT5zZXRB
cHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50KGFwcGxpY2F0aW9uTmFtZUZvclVzZXJB
Z2VudCk7CiB9CiAKIC0gKE5TU3RyaW5nICopX2N1c3RvbVVzZXJBZ2VudApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24u
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5tbQppbmRleCBlZWMwNDM4OWNjNDg5Nzc1MzJiNjk1ZjE3YTM0MDI2ODNmOGZiMWE3Li40
MTUxMDIxYzA1MWRiZmQyOTEwM2JmMDBlMTRmM2IyMjNmZThiZmQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5tbQpAQCAtMTIyLDcgKzEyMiw3IEBAIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIHsKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IF9yZWxhdGVkV2ViVmlldzsK
ICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IF9hbHRlcm5hdGVXZWJWaWV3Rm9yTmF2aWdhdGlv
bkdlc3R1cmVzOwogICAgIFJldGFpblB0cjxOU1N0cmluZz4gX2dyb3VwSWRlbnRpZmllcjsKLSAg
ICBMYXp5SW5pdGlhbGl6ZWQ8UmV0YWluUHRyPE5TU3RyaW5nPj4gX2FwcGxpY2F0aW9uTmFtZUZv
clVzZXJBZ2VudDsKKyAgICBPcHRpb25hbDxSZXRhaW5QdHI8TlNTdHJpbmc+PiBfYXBwbGljYXRp
b25OYW1lRm9yVXNlckFnZW50OwogICAgIE5TVGltZUludGVydmFsIF9pbmNyZW1lbnRhbFJlbmRl
cmluZ1N1cHByZXNzaW9uVGltZW91dDsKICAgICBCT09MIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRp
b247CiAgICAgQk9PTCBfcHJpbnRzQmFja2dyb3VuZHM7CkBAIC0yODYsNyArMjg2LDEwIEBAIC0g
KHZvaWQpZW5jb2RlV2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKICAgICBbY29kZXIgZW5jb2Rl
T2JqZWN0OnNlbGYud2Vic2l0ZURhdGFTdG9yZSBmb3JLZXk6QCJ3ZWJzaXRlRGF0YVN0b3JlIl07
CiAKICAgICBbY29kZXIgZW5jb2RlQm9vbDpzZWxmLnN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRl
cmluZyBmb3JLZXk6QCJzdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmciXTsKLSAgICBbY29k
ZXIgZW5jb2RlT2JqZWN0OnNlbGYuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50IGZvcktleTpA
ImFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCJdOworCisgICAgaWYgKF9hcHBsaWNhdGlvbk5h
bWVGb3JVc2VyQWdlbnQuaGFzVmFsdWUoKSkKKyAgICAgICAgW2NvZGVyIGVuY29kZU9iamVjdDpz
ZWxmLmFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCBmb3JLZXk6QCJhcHBsaWNhdGlvbk5hbWVG
b3JVc2VyQWdlbnQiXTsKKwogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuYWxsb3dzQWlyUGxh
eUZvck1lZGlhUGxheWJhY2sgZm9yS2V5OkAiYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2si
XTsKIAogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuX2RyYXdzQmFja2dyb3VuZCBmb3JLZXk6
QCJkcmF3c0JhY2tncm91bmQiXTsKQEAgLTMyMCw3ICszMjMsMTAgQEAgLSAoaW5zdGFuY2V0eXBl
KWluaXRXaXRoQ29kZXI6KE5TQ29kZXIgKiljb2RlcgogICAgIHNlbGYud2Vic2l0ZURhdGFTdG9y
ZSA9IGRlY29kZU9iamVjdE9mQ2xhc3NGb3JLZXlGcm9tQ29kZXIoW1dLV2Vic2l0ZURhdGFTdG9y
ZSBjbGFzc10sIEAid2Vic2l0ZURhdGFTdG9yZSIsIGNvZGVyKTsKIAogICAgIHNlbGYuc3VwcHJl
c3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nID0gW2NvZGVyIGRlY29kZUJvb2xGb3JLZXk6QCJzdXBw
cmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmciXTsKLSAgICBzZWxmLmFwcGxpY2F0aW9uTmFtZUZv
clVzZXJBZ2VudCA9IGRlY29kZU9iamVjdE9mQ2xhc3NGb3JLZXlGcm9tQ29kZXIoW05TU3RyaW5n
IGNsYXNzXSwgQCJhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQiLCBjb2Rlcik7CisKKyAgICBp
ZiAoW2NvZGVyIGNvbnRhaW5zVmFsdWVGb3JLZXk6QCJhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdl
bnQiXSkKKyAgICAgICAgc2VsZi5hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQgPSBkZWNvZGVP
YmplY3RPZkNsYXNzRm9yS2V5RnJvbUNvZGVyKFtOU1N0cmluZyBjbGFzc10sIEAiYXBwbGljYXRp
b25OYW1lRm9yVXNlckFnZW50IiwgY29kZXIpOworCiAgICAgc2VsZi5hbGxvd3NBaXJQbGF5Rm9y
TWVkaWFQbGF5YmFjayA9IFtjb2RlciBkZWNvZGVCb29sRm9yS2V5OkAiYWxsb3dzQWlyUGxheUZv
ck1lZGlhUGxheWJhY2siXTsKIAogICAgIGlmIChbY29kZXIgY29udGFpbnNWYWx1ZUZvcktleTpA
ImRyYXdzQmFja2dyb3VuZCJdKQpAQCAtMzY2LDcgKzM3Miw3IEBAIC0gKGlkKWNvcHlXaXRoWm9u
ZTooTlNab25lICopem9uZQogI2VuZGlmCiAKICAgICBjb25maWd1cmF0aW9uLT5fc3VwcHJlc3Nl
c0luY3JlbWVudGFsUmVuZGVyaW5nID0gc2VsZi0+X3N1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRl
cmluZzsKLSAgICBjb25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCA9IHNl
bGYuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50OworICAgIGNvbmZpZ3VyYXRpb24tPl9hcHBs
aWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQgPSBzZWxmLT5fYXBwbGljYXRpb25OYW1lRm9yVXNlckFn
ZW50OwogCiAgICAgY29uZmlndXJhdGlvbi0+X3Jlc3BlY3RzSW1hZ2VPcmllbnRhdGlvbiA9IHNl
bGYtPl9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb247CiAgICAgY29uZmlndXJhdGlvbi0+X3ByaW50
c0JhY2tncm91bmRzID0gc2VsZi0+X3ByaW50c0JhY2tncm91bmRzOwpAQCAtNDk1LDE0ICs1MDEs
MTkgQEAgc3RhdGljIE5TU3RyaW5nICpkZWZhdWx0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50
KCkKICNlbmRpZgogfQogCistIChOU1N0cmluZyAqKV9hcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9w
VXNlckFnZW50Cit7CisgICAgcmV0dXJuIF9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQudmFs
dWVPcihuaWwpLmdldCgpOworfQorCiAtIChOU1N0cmluZyAqKWFwcGxpY2F0aW9uTmFtZUZvclVz
ZXJBZ2VudAogewotICAgIHJldHVybiBfYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50LmdldChb
XSB7IHJldHVybiBkZWZhdWx0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KCk7IH0pOworICAg
IHJldHVybiBfYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50LnZhbHVlT3IoZGVmYXVsdEFwcGxp
Y2F0aW9uTmFtZUZvclVzZXJBZ2VudCgpKS5nZXQoKTsKIH0KIAogLSAodm9pZClzZXRBcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnQ6KE5TU3RyaW5nICopYXBwbGljYXRpb25OYW1lRm9yVXNlckFn
ZW50CiB7Ci0gICAgX2FwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudC5zZXQoYWRvcHROUyhbYXBw
bGljYXRpb25OYW1lRm9yVXNlckFnZW50IGNvcHldKSk7CisgICAgX2FwcGxpY2F0aW9uTmFtZUZv
clVzZXJBZ2VudC5lbXBsYWNlKGFkb3B0TlMoYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50LmNv
cHkpKTsKIH0KIAogLSAoX1dLVmlzaXRlZExpbmtTdG9yZSAqKV92aXNpdGVkTGlua1N0b3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbkludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbkludGVybmFsLmgKaW5kZXggZGI0YjJiYmJmZmRjYTUwODcy
NzcwZmZkZTg5ZWJmY2IxODk2NjI4ZC4uMTcxYjRhNDRmNmU4YTA1NTAxNWY0ZWQ5ZTliYTc4MDdh
ZThmMWU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb25JbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uSW50ZXJuYWwuaApAQCAtMzUsNiAr
MzUsNyBAQAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRDb250ZW50UHJvdmlkZXJSZWdpc3RyeTopIFdLV2ViVmlld0NvbnRlbnRQcm92
aWRlclJlZ2lzdHJ5ICpfY29udGVudFByb3ZpZGVyUmVnaXN0cnk7CiAjZW5kaWYKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNTdHJpbmcgKl9hcHBsaWNhdGlvbk5hbWVGb3JEZXNr
dG9wVXNlckFnZW50OwogCiAtIChSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4pY29weVBhZ2VD
b25maWd1cmF0aW9uOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMubW0KaW5kZXggODY2NmJlMzYxMzA4NDFmMjE5
MjA1ZjI4Y2IyY2IwY2RhZDY1ZGQyMy4uNTNmNzY2MGE3Njg0ZDk1NTM3M2U5MDQ2OGEyOTIxYTNk
ZDZmZDZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2VicGFnZVByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlcy5tbQpAQCAtMzE4LDEyICszMTgsMTIgQEAgLSAodm9p
ZClfc2V0QWxsb3dTaXRlU3BlY2lmaWNRdWlya3NUb092ZXJyaWRlQ29tcGF0aWJpbGl0eU1vZGU6
KEJPT0wpdmFsdWUKIAogLSAoTlNTdHJpbmcgKilfYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50
V2l0aE1vZGVybkNvbXBhdGliaWxpdHkKIHsKLSAgICByZXR1cm4gX3dlYnNpdGVQb2xpY2llcy0+
YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50V2l0aE1vZGVybkNvbXBhdGliaWxpdHkoKTsKKyAg
ICByZXR1cm4gX3dlYnNpdGVQb2xpY2llcy0+YXBwbGljYXRpb25OYW1lRm9yRGVza3RvcFVzZXJB
Z2VudCgpOwogfQogCiAtICh2b2lkKV9zZXRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRo
TW9kZXJuQ29tcGF0aWJpbGl0eTooTlNTdHJpbmcgKilhcHBsaWNhdGlvbk5hbWUKIHsKLSAgICBf
d2Vic2l0ZVBvbGljaWVzLT5zZXRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJu
Q29tcGF0aWJpbGl0eShhcHBsaWNhdGlvbk5hbWUpOworICAgIF93ZWJzaXRlUG9saWNpZXMtPnNl
dEFwcGxpY2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQoYXBwbGljYXRpb25OYW1lKTsKIH0K
IAogLSAoQVBJOjpPYmplY3QmKV9hcGlPYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggZGRmYWQ2MWUzMTQ3OGJlMWQ0MjdiOTY3NzEzNjYxOWU3OGQ0NjAxMy4u
NjRhOTU4NjljY2QxNmRhNWMzN2ZmM2MxNjczMWU1ZDA3NTZlNGU2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTg1NSw2ICs4NTUsOCBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX3VzZXJBZ2VudDsgfQog
ICAgIHZvaWQgc2V0QXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KGNvbnN0IFN0cmluZyYpOwog
ICAgIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQ7IH0KKyAgICB2b2lkIHNldEFwcGxp
Y2F0aW9uTmFtZUZvckRlc2t0b3BVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiBhcHBsaWNhdGlvbk5h
bWUpIHsgbV9hcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50ID0gYXBwbGljYXRpb25O
YW1lOyB9CisgICAgY29uc3QgU3RyaW5nJiBhcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50
OyB9CiAgICAgdm9pZCBzZXRDdXN0b21Vc2VyQWdlbnQoY29uc3QgU3RyaW5nJik7CiAgICAgY29u
c3QgU3RyaW5nJiBjdXN0b21Vc2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbVVzZXJB
Z2VudDsgfQogICAgIHN0YXRpYyBTdHJpbmcgc3RhbmRhcmRVc2VyQWdlbnQoY29uc3QgU3RyaW5n
JiBhcHBsaWNhdGlvbk5hbWUgPSBTdHJpbmcoKSk7CkBAIC0yMTQ1LDYgKzIxNDcsNyBAQCBwcml2
YXRlOgogCiAgICAgU3RyaW5nIG1fdXNlckFnZW50OwogICAgIFN0cmluZyBtX2FwcGxpY2F0aW9u
TmFtZUZvclVzZXJBZ2VudDsKKyAgICBTdHJpbmcgbV9hcHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9w
VXNlckFnZW50OwogICAgIFN0cmluZyBtX2N1c3RvbVVzZXJBZ2VudDsKICAgICBTdHJpbmcgbV9j
dXN0b21UZXh0RW5jb2RpbmdOYW1lOwogICAgIFN0cmluZyBtX292ZXJyaWRlQ29udGVudFNlY3Vy
aXR5UG9saWN5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW0KaW5kZXggM2IxODAwZjhlMzJkNGUyNzc3NWU4NTY4YzlkNWI4OGZjMDBkZTE1OC4uOWVj
MWFkM2E0NzBlMDEzODU1ODRkMjU5NDQ1YTgzNDZmNjYwZmQ4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0xMzgyLDkgKzEzODIsOSBA
QCBXZWJDb250ZW50TW9kZSBXZWJQYWdlUHJveHk6OmVmZmVjdGl2ZUNvbnRlbnRNb2RlQWZ0ZXJB
ZGp1c3RpbmdQb2xpY2llcyhBUEk6OldlYgogICAgICAgICByZXR1cm4gV2ViQ29udGVudE1vZGU6
Ok1vYmlsZTsKIAogICAgIGlmIChwb2xpY2llcy5jdXN0b21Vc2VyQWdlbnQoKS5pc0VtcHR5KCkg
JiYgY3VzdG9tVXNlckFnZW50KCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGF1dG8gYXBwbGljYXRp
b25OYW1lID0gcG9saWNpZXMuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50V2l0aE1vZGVybkNv
bXBhdGliaWxpdHkoKTsKKyAgICAgICAgYXV0byBhcHBsaWNhdGlvbk5hbWUgPSBwb2xpY2llcy5h
cHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50KCk7CiAgICAgICAgIGlmIChhcHBsaWNh
dGlvbk5hbWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgYXBwbGljYXRpb25OYW1lID0gYXBwbGlj
YXRpb25OYW1lRm9yVXNlckFnZW50KCk7CisgICAgICAgICAgICBhcHBsaWNhdGlvbk5hbWUgPSBh
cHBsaWNhdGlvbk5hbWVGb3JEZXNrdG9wVXNlckFnZW50KCk7CiAgICAgICAgIHBvbGljaWVzLnNl
dEN1c3RvbVVzZXJBZ2VudChzdGFuZGFyZFVzZXJBZ2VudFdpdGhBcHBsaWNhdGlvbk5hbWUoYXBw
bGljYXRpb25OYW1lLCBVc2VyQWdlbnRUeXBlOjpEZXNrdG9wKSk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTBlMDg4ZmUwZTYy
MjgxZDk4MjQ3ZWI3ZDE0NTVmZDIwYWQwYWUzYS4uYzZhYTcwYTQ1NDZjZjA3OWY2NDk5ZmRiMDQ2
MjUxMDEwYzkzM2FmOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA2LTA4ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFRoZSBkZWZhdWx0IGFwcGxpY2F0
aW9uIG5hbWUgZm9yIHVzZXIgYWdlbnQgd2hlbiByZXF1ZXN0aW5nIGRlc2t0b3AgY29udGVudCBp
cyBzdGlsbCAiTW9iaWxlLzE1RTE0OCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5ODY5MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTE1NTUzNzE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBBdWdtZW50IGFu
IGV4aXN0aW5nIEFQSSB0ZXN0IHRvIGV4ZXJjaXNlIHRocmVlIGFkZGl0aW9uYWwgc2NlbmFyaW9z
OgorICAgICAgICAgICAgLSAgIFRoZSB3ZWIgdmlldyBjb25maWd1cmF0aW9uJ3MgYXBwbGljYXRp
b24gbmFtZSBpcyBuZXZlciBzZXQ7IHRoZSBkZWZhdWx0IHNob3VsZCBub3QgaW5jbHVkZQorICAg
ICAgICAgICAgICAgICJNb2JpbGUvMTVFMTQ4IiBpbiBkZXNrdG9wIG1vZGUuCisgICAgICAgICAg
ICAtICAgVGhlIGFwcGxpY2F0aW9uIG5hbWUgaXMgZXhwbGljaXRseSBzZXQgdG8gbmlsOyB0aGUg
ZGVmYXVsdCBhcHBsaWNhdGlvbiBuYW1lIHNob3VsZCBzdGlsbCBub3QgaW5jbHVkZQorICAgICAg
ICAgICAgICAgICJNb2JpbGUvMTVFMTQ4Ii4KKyAgICAgICAgICAgIC0gICBUaGUgYXBwbGljYXRp
b24gbmFtZSBpcyBleHBsaWNpdGx5IHNldCB0byB0aGUgZGVmYXVsdCB2YWx1ZSwgIk1vYmlsZS8x
NUUxNDgiLiBXS1dlYlZpZXcgc2hvdWxkIGhvbm9yCisgICAgICAgICAgICAgICAgdGhpcyB3aGVu
IGdlbmVyYXRpbmcgdGhlIHVzZXIgYWdlbnQsIGV2ZW4gaW4gZGVza3RvcCBtb2RlLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9pb3MvUHJlZmVycmVkQ29udGVudE1vZGUubW06CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpzZXRVcFdlYlZpZXdGb3JQcmVmZXJyZWRDb250ZW50TW9kZVRlc3Rp
bmdXaXRob3V0TmF2aWdhdGlvbkRlbGVnYXRlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNl
dFVwV2ViVmlld0ZvclByZWZlcnJlZENvbnRlbnRNb2RlVGVzdGluZyk6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOS0wNi0wOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtMRkNdIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9QcmVmZXJyZWRDb250ZW50TW9kZS5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1ByZWZlcnJlZENvbnRlbnRNb2RlLm1tCmluZGV4IGU4
MjM5NDBiMzM0ZDZhYTc2OWQzMzQwNGU4ZWFjNjJmZmFmMzE3YmUuLmJlYmM0OWI0Mjk5NTJiOGNm
ZWFjMjE4MWFiZTcwMTJkYmYwOWJlOTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
aW9zL1ByZWZlcnJlZENvbnRlbnRNb2RlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9z
L1ByZWZlcnJlZENvbnRlbnRNb2RlLm1tCkBAIC0xODUsMjAgKzE4NSwyMCBAQCBwcml2YXRlOgog
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmlld0NsYXNz
PgotUmV0YWluUHRyPFZpZXdDbGFzcz4gc2V0VXBXZWJWaWV3Rm9yUHJlZmVycmVkQ29udGVudE1v
ZGVUZXN0aW5nV2l0aG91dE5hdmlnYXRpb25EZWxlZ2F0ZShPcHRpb25hbDxXS0NvbnRlbnRNb2Rl
PiBkZWZhdWx0Q29udGVudE1vZGUgPSB7IH0sIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25OYW1l
Rm9yVXNlckFnZW50ID0gIlRlc3RXZWJLaXRBUEkiLCBDR1NpemUgc2l6ZSA9IENHU2l6ZU1ha2Uo
MTAyNCwgNzY4KSkKK1JldGFpblB0cjxWaWV3Q2xhc3M+IHNldFVwV2ViVmlld0ZvclByZWZlcnJl
ZENvbnRlbnRNb2RlVGVzdGluZ1dpdGhvdXROYXZpZ2F0aW9uRGVsZWdhdGUoT3B0aW9uYWw8V0tD
b250ZW50TW9kZT4gZGVmYXVsdENvbnRlbnRNb2RlID0geyB9LCBPcHRpb25hbDxTdHJpbmc+IGFw
cGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCA9IHsgIlRlc3RXZWJLaXRBUEkiIH0sIENHU2l6ZSBz
aXplID0gQ0dTaXplTWFrZSgxMDI0LCA3NjgpKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9
IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgaWYg
KGRlZmF1bHRDb250ZW50TW9kZSkKICAgICAgICAgW2NvbmZpZ3VyYXRpb24gc2V0RGVmYXVsdFdl
YnBhZ2VQcmVmZXJlbmNlczpbV0tXZWJwYWdlUHJlZmVyZW5jZXMgcHJlZmVyZW5jZXNXaXRoQ29u
dGVudE1vZGU6ZGVmYXVsdENvbnRlbnRNb2RlLnZhbHVlKCldXTsKLSAgICBpZiAoISFhcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnQpCi0gICAgICAgIFtjb25maWd1cmF0aW9uIHNldEFwcGxpY2F0
aW9uTmFtZUZvclVzZXJBZ2VudDphcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRdOworICAgIGlm
IChhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQpCisgICAgICAgIFtjb25maWd1cmF0aW9uIHNl
dEFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudDphcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQt
PmlzTnVsbCgpID8gbmlsIDogKE5TU3RyaW5nICopYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50
LnZhbHVlKCldOwogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tWaWV3Q2xhc3MgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCBzaXplLndpZHRoLCBzaXplLmhlaWdodCkg
Y29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgRVhQRUNUX1RSVUUoW3dl
YlZpZXcgaXNLaW5kT2ZDbGFzczpXS1dlYlZpZXcuY2xhc3NdKTsKICAgICByZXR1cm4gd2ViVmll
dzsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFZpZXdDbGFzcz4KLXN0ZDo6cGFpcjxSZXRhaW5Q
dHI8Vmlld0NsYXNzPiwgUmV0YWluUHRyPENvbnRlbnRNb2RlTmF2aWdhdGlvbkRlbGVnYXRlPj4g
c2V0VXBXZWJWaWV3Rm9yUHJlZmVycmVkQ29udGVudE1vZGVUZXN0aW5nKE9wdGlvbmFsPFdLQ29u
dGVudE1vZGU+IGRlZmF1bHRDb250ZW50TW9kZSA9IHsgfSwgY29uc3QgU3RyaW5nJiBhcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnQgPSAiVGVzdFdlYktpdEFQSSIsIENHU2l6ZSBzaXplID0gQ0dT
aXplTWFrZSgxMDI0LCA3NjgpKQorc3RkOjpwYWlyPFJldGFpblB0cjxWaWV3Q2xhc3M+LCBSZXRh
aW5QdHI8Q29udGVudE1vZGVOYXZpZ2F0aW9uRGVsZWdhdGU+PiBzZXRVcFdlYlZpZXdGb3JQcmVm
ZXJyZWRDb250ZW50TW9kZVRlc3RpbmcoT3B0aW9uYWw8V0tDb250ZW50TW9kZT4gZGVmYXVsdENv
bnRlbnRNb2RlID0geyB9LCBPcHRpb25hbDxTdHJpbmc+IGFwcGxpY2F0aW9uTmFtZUZvclVzZXJB
Z2VudCA9IHsgIlRlc3RXZWJLaXRBUEkiIH0sIENHU2l6ZSBzaXplID0gQ0dTaXplTWFrZSgxMDI0
LCA3NjgpKQogewogICAgIGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlld0ZvclByZWZlcnJlZENv
bnRlbnRNb2RlVGVzdGluZ1dpdGhvdXROYXZpZ2F0aW9uRGVsZWdhdGU8Vmlld0NsYXNzPihkZWZh
dWx0Q29udGVudE1vZGUsIGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCwgc2l6ZSk7CiAgICAg
YXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBhZG9wdE5TKFtbQ29udGVudE1vZGVOYXZpZ2F0aW9u
RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAgLTI0Nyw3ICsyNDcsNyBAQCBURVNUKFByZWZlcnJl
ZENvbnRlbnRNb2RlLCBEZXNrdG9wTW9kZVdpdGhvdXROYXZpZ2F0aW9uRGVsZWdhdGUpCiB7CiAg
ICAgSVBhZFVzZXJJbnRlcmZhY2VTd2l6emxlciBpUGFkVXNlckludGVyZmFjZTsKIAotICAgIGF1
dG8gd2ViVmlldyA9IHNldFVwV2ViVmlld0ZvclByZWZlcnJlZENvbnRlbnRNb2RlVGVzdGluZ1dp
dGhvdXROYXZpZ2F0aW9uRGVsZWdhdGU8VGVzdFdLV2ViVmlldz4oV0tDb250ZW50TW9kZURlc2t0
b3AsICJUZXN0V2ViS2l0QVBJIik7CisgICAgYXV0byB3ZWJWaWV3ID0gc2V0VXBXZWJWaWV3Rm9y
UHJlZmVycmVkQ29udGVudE1vZGVUZXN0aW5nV2l0aG91dE5hdmlnYXRpb25EZWxlZ2F0ZTxUZXN0
V0tXZWJWaWV3PihXS0NvbnRlbnRNb2RlRGVza3RvcCk7CiAgICAgW3dlYlZpZXcgbG9hZEhUTUxT
dHJpbmc6QCI8Ym9keT5IZWxsbyB3b3JsZDwvYm9keT4iIGJhc2VVUkw6bmlsXTsKIAogICAgIF9f
YmxvY2sgYm9vbCBmaW5pc2hlZCA9IGZhbHNlOwpAQCAtNDAyLDcgKzQwMiw3IEBAIFRFU1QoUHJl
ZmVycmVkQ29udGVudE1vZGUsIFJlY29tbWVuZGVkQ29udGVudE1vZGVBdFZhcmlvdXNWaWV3V2lk
dGhzKQogCiAgICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXc7CiAgICAgUmV0YWlu
UHRyPENvbnRlbnRNb2RlTmF2aWdhdGlvbkRlbGVnYXRlPiBkZWxlZ2F0ZTsKLSAgICBzdGQ6OnRp
ZSh3ZWJWaWV3LCBkZWxlZ2F0ZSkgPSBzZXRVcFdlYlZpZXdGb3JQcmVmZXJyZWRDb250ZW50TW9k
ZVRlc3Rpbmc8V0tXZWJWaWV3Pih7IH0sICJUZXN0V2ViS2l0QVBJIiwgQ0dTaXplWmVybyk7Cisg
ICAgc3RkOjp0aWUod2ViVmlldywgZGVsZWdhdGUpID0gc2V0VXBXZWJWaWV3Rm9yUHJlZmVycmVk
Q29udGVudE1vZGVUZXN0aW5nPFdLV2ViVmlldz4oeyB9LCB7ICJUZXN0V2ViS2l0QVBJIiB9LCBD
R1NpemVaZXJvKTsKICAgICBbd2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAInNpbXBsZSIgYW5k
RXhwZWN0RWZmZWN0aXZlQ29udGVudE1vZGU6V0tDb250ZW50TW9kZURlc2t0b3Agd2l0aFBvbGlj
eURlY2lzaW9uSGFuZGxlcjpuaWxdOwogICAgIFtbd2ViVmlldyBuYXZpZ2F0b3JVc2VyQWdlbnRd
IHNob3VsZENvbnRhaW5TdHJpbmdzOkAiTW96aWxsYS81LjAgKE1hY2ludG9zaCIsIEAiVGVzdFdl
YktpdEFQSSIsIG5pbF07CiAKQEAgLTQyOCw2ICs0MjgsNDEgQEAgVEVTVChQcmVmZXJyZWRDb250
ZW50TW9kZSwgQXBwbGljYXRpb25OYW1lRm9yRGVza3RvcFVzZXJBZ2VudCkKICAgICB9XTsKICAg
ICBbW3dlYlZpZXcgbmF2aWdhdG9yVXNlckFnZW50XSBzaG91bGRDb250YWluU3RyaW5nczpAIk1v
emlsbGEvNS4wIChNYWNpbnRvc2giLCBAIkRlc2t0b3BCcm93c2VyIiwgbmlsXTsKICAgICBFWFBF
Q1RfV0tfU1RSRVEoIk1hY0ludGVsIiwgW3dlYlZpZXcgbmF2aWdhdG9yUGxhdGZvcm1dKTsKKwor
ICAgIHsKKyAgICAgICAgLy8gRG9uJ3QgYXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFwcGxpY2F0aW9u
IG5hbWUsIGJ1dCBzdGlsbCBvcHQgaW50byBkZXNrdG9wLWNsYXNzIGJyb3dzaW5nOworICAgICAg
ICAvLyB0aGUgYXBwbGljYXRpb24gbmFtZSBzaG91bGQgbm90IGRlZmF1bHQgdG8gIk1vYmlsZS8x
NUUxNDgiLgorICAgICAgICBzdGQ6OnRpZSh3ZWJWaWV3LCBkZWxlZ2F0ZSkgPSBzZXRVcFdlYlZp
ZXdGb3JQcmVmZXJyZWRDb250ZW50TW9kZVRlc3Rpbmc8V0tXZWJWaWV3PihXS0NvbnRlbnRNb2Rl
RGVza3RvcCwgeyB9KTsKKyAgICAgICAgW3dlYlZpZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1w
bGUiIHdpdGhQb2xpY3lEZWNpc2lvbkhhbmRsZXI6bmlsXTsKKyAgICAgICAgTlNTdHJpbmcgKnVz
ZXJBZ2VudCA9IFt3ZWJWaWV3IG5hdmlnYXRvclVzZXJBZ2VudF07CisgICAgICAgIEVYUEVDVF9G
QUxTRShbdXNlckFnZW50IGNvbnRhaW5zU3RyaW5nOkAiTW9iaWxlIl0pOworICAgICAgICBFWFBF
Q1RfVFJVRShbdXNlckFnZW50IGNvbnRhaW5zU3RyaW5nOkAiTWFjaW50b3NoIl0pOworICAgIH0K
KyAgICB7CisgICAgICAgIC8vIERvbid0IGF0dGVtcHQgdG8gY2hhbmdlIHRoZSBhcHBsaWNhdGlv
biBuYW1lLCBidXQgdGhpcyB0aW1lLCBvcHQgaW50byBtb2JpbGUgY29udGVudC4gVGhlIGFwcGxp
Y2F0aW9uCisgICAgICAgIC8vIG5hbWUgc2hvdWxkIGRlZmF1bHQgdG8gIk1vYmlsZS8xNUUxNDgi
LgorICAgICAgICBzdGQ6OnRpZSh3ZWJWaWV3LCBkZWxlZ2F0ZSkgPSBzZXRVcFdlYlZpZXdGb3JQ
cmVmZXJyZWRDb250ZW50TW9kZVRlc3Rpbmc8V0tXZWJWaWV3PihXS0NvbnRlbnRNb2RlTW9iaWxl
LCB7IH0pOworICAgICAgICBbd2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAInNpbXBsZSIgd2l0
aFBvbGljeURlY2lzaW9uSGFuZGxlcjpuaWxdOworICAgICAgICBOU1N0cmluZyAqdXNlckFnZW50
ID0gW3dlYlZpZXcgbmF2aWdhdG9yVXNlckFnZW50XTsKKyAgICAgICAgRVhQRUNUX1RSVUUoW3Vz
ZXJBZ2VudCBjb250YWluc1N0cmluZzpAIk1vYmlsZSJdKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNF
KFt1c2VyQWdlbnQgY29udGFpbnNTdHJpbmc6QCJNYWNpbnRvc2giXSk7CisgICAgfQorICAgIHsK
KyAgICAgICAgLy8gTWFudWFsbHkgc2V0IHRoZSBhcHBsaWNhdGlvbiBuYW1lIGZvciB1c2VyIGFn
ZW50IHRvIHRoZSBkZWZhdWx0IHZhbHVlLCBNb2JpbGUvMTVFMTQ4LgorICAgICAgICBzdGQ6OnRp
ZSh3ZWJWaWV3LCBkZWxlZ2F0ZSkgPSBzZXRVcFdlYlZpZXdGb3JQcmVmZXJyZWRDb250ZW50TW9k
ZVRlc3Rpbmc8V0tXZWJWaWV3PihXS0NvbnRlbnRNb2RlRGVza3RvcCwgeyAiTW9iaWxlLzE1RTE0
OCIgfSk7CisgICAgICAgIFt3ZWJWaWV3IGxvYWRUZXN0UGFnZU5hbWVkOkAic2ltcGxlIiB3aXRo
UG9saWN5RGVjaXNpb25IYW5kbGVyOm5pbF07CisgICAgICAgIE5TU3RyaW5nICp1c2VyQWdlbnQg
PSBbd2ViVmlldyBuYXZpZ2F0b3JVc2VyQWdlbnRdOworICAgICAgICBFWFBFQ1RfVFJVRShbdXNl
ckFnZW50IGNvbnRhaW5zU3RyaW5nOkAiTW9iaWxlIl0pOworICAgICAgICBFWFBFQ1RfVFJVRShb
dXNlckFnZW50IGNvbnRhaW5zU3RyaW5nOkAiTWFjaW50b3NoIl0pOworICAgIH0KKyAgICB7Cisg
ICAgICAgIC8vIE1hbnVhbGx5IHNldCB0aGUgYXBwbGljYXRpb24gbmFtZSBmb3IgdXNlciBhZ2Vu
dCB0byBuaWwuCisgICAgICAgIHN0ZDo6dGllKHdlYlZpZXcsIGRlbGVnYXRlKSA9IHNldFVwV2Vi
Vmlld0ZvclByZWZlcnJlZENvbnRlbnRNb2RlVGVzdGluZzxXS1dlYlZpZXc+KFdLQ29udGVudE1v
ZGVEZXNrdG9wLCB7eyB9fSk7CisgICAgICAgIFt3ZWJWaWV3IGxvYWRUZXN0UGFnZU5hbWVkOkAi
c2ltcGxlIiB3aXRoUG9saWN5RGVjaXNpb25IYW5kbGVyOm5pbF07CisgICAgICAgIE5TU3RyaW5n
ICp1c2VyQWdlbnQgPSBbd2ViVmlldyBuYXZpZ2F0b3JVc2VyQWdlbnRdOworICAgICAgICBFWFBF
Q1RfRkFMU0UoW3VzZXJBZ2VudCBjb250YWluc1N0cmluZzpAIk1vYmlsZSJdKTsKKyAgICAgICAg
RVhQRUNUX1RSVUUoW3VzZXJBZ2VudCBjb250YWluc1N0cmluZzpAIk1hY2ludG9zaCJdKTsKKyAg
ICB9CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
      

    </bug>

</bugzilla>