<?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>223062</bug_id>
          
          <creation_ts>2021-03-11 01:11:00 -0800</creation_ts>
          <short_desc>[macOS] MobileAsset fonts are broken in Reader mode in Safari</short_desc>
          <delta_ts>2021-03-16 08:48:53 -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>Text</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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>achristensen</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pvollan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1738387</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-11 01:11:00 -0800</bug_when>
    <thetext>MobileAsset fonts are broken in Reader mode in Safari</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738389</commentid>
    <comment_count>1</comment_count>
      <attachid>422913</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-11 01:11:24 -0800</bug_when>
    <thetext>Created attachment 422913
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738399</commentid>
    <comment_count>2</comment_count>
      <attachid>422917</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-11 02:14:36 -0800</bug_when>
    <thetext>Created attachment 422917
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738733</commentid>
    <comment_count>3</comment_count>
      <attachid>423003</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-11 18:24:19 -0800</bug_when>
    <thetext>Created attachment 423003
Needs test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738736</commentid>
    <comment_count>4</comment_count>
      <attachid>423005</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-11 19:17:35 -0800</bug_when>
    <thetext>Created attachment 423005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738740</commentid>
    <comment_count>5</comment_count>
      <attachid>423007</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-11 19:32:04 -0800</bug_when>
    <thetext>Created attachment 423007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738781</commentid>
    <comment_count>6</comment_count>
      <attachid>423016</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-11 23:01:38 -0800</bug_when>
    <thetext>Created attachment 423016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738782</commentid>
    <comment_count>7</comment_count>
      <attachid>423017</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-11 23:05:31 -0800</bug_when>
    <thetext>Created attachment 423017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738790</commentid>
    <comment_count>8</comment_count>
      <attachid>423017</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-11 23:39:35 -0800</bug_when>
    <thetext>Comment on attachment 423017
Patch

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

&gt; Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:550
&gt; -// Defaults to false.
&gt; +// Defaults to true.

Is this a correction to the comment, or a indicative of a behavior change? Changelog needs to explain.

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2242
&gt; +- (void)_switchFromStaticFontRegistryToUserFontRegistry

Since readers probably won&apos;t understand the implications of static vs. user font registries, a comment would help.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7868
&gt;          SandboxExtension::Handle fontMachExtensionHandle;
&gt;          SandboxExtension::createHandleForMachLookup(&quot;com.apple.fonts&quot;_s, WTF::nullopt, fontMachExtensionHandle);

It&apos;s a bit odd to see this in two places? Share with switchFromStaticFontRegistryToUserFontRegistry()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738895</commentid>
    <comment_count>9</comment_count>
      <attachid>423017</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-12 07:53:24 -0800</bug_when>
    <thetext>Comment on attachment 423017
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:453
&gt; +- (void)_switchFromStaticFontRegistryToUserFontRegistry WK_API_AVAILABLE(macos(WK_MAC_TBA));

Is there a way to switch back?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738969</commentid>
    <comment_count>10</comment_count>
      <attachid>423017</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-12 11:16:23 -0800</bug_when>
    <thetext>Comment on attachment 423017
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:550
&gt;&gt; +// Defaults to true.
&gt; 
&gt; Is this a correction to the comment, or a indicative of a behavior change? Changelog needs to explain.

A correction. I&apos;ll explain in the ChangeLog.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2242
&gt;&gt; +- (void)_switchFromStaticFontRegistryToUserFontRegistry
&gt; 
&gt; Since readers probably won&apos;t understand the implications of static vs. user font registries, a comment would help.

Good idea.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:453
&gt;&gt; +- (void)_switchFromStaticFontRegistryToUserFontRegistry WK_API_AVAILABLE(macos(WK_MAC_TBA));
&gt; 
&gt; Is there a way to switch back?

Nope!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738970</commentid>
    <comment_count>11</comment_count>
      <attachid>423068</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-12 11:23:01 -0800</bug_when>
    <thetext>Created attachment 423068
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738979</commentid>
    <comment_count>12</comment_count>
      <attachid>423070</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-12 11:48:16 -0800</bug_when>
    <thetext>Created attachment 423070
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739055</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-12 16:01:05 -0800</bug_when>
    <thetext>Committed r274374: &lt;https://commits.webkit.org/r274374&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423070.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739056</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-12 16:02:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/75381965&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739954</commentid>
    <comment_count>15</comment_count>
      <attachid>423017</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-03-16 08:47:42 -0700</bug_when>
    <thetext>Comment on attachment 423017
Patch

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

&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7868
&gt;&gt;          SandboxExtension::createHandleForMachLookup(&quot;com.apple.fonts&quot;_s, WTF::nullopt, fontMachExtensionHandle);
&gt; 
&gt; It&apos;s a bit odd to see this in two places? Share with switchFromStaticFontRegistryToUserFontRegistry()?

Should CTFontManagerEnableAllUserFonts(true) be called when this extension is consumed in WP?

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1169
&gt; +    m_fontMachExtension-&gt;consume();

To avoid storing the extension, you could also call SandboxExtension::consumePermanently here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739955</commentid>
    <comment_count>16</comment_count>
      <attachid>423017</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-03-16 08:48:53 -0700</bug_when>
    <thetext>Comment on attachment 423017
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2242
&gt;&gt;&gt; +- (void)_switchFromStaticFontRegistryToUserFontRegistry
&gt;&gt; 
&gt;&gt; Since readers probably won&apos;t understand the implications of static vs. user font registries, a comment would help.
&gt; 
&gt; Good idea.

Is this SPI strictly needed, since the client can use the preference shouldAllowUserInstalledFonts to enable this behavior?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422913</attachid>
            <date>2021-03-11 01:11:24 -0800</date>
            <delta_ts>2021-03-11 02:14:35 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>4685</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0
YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZQppbmRleCAxNTgy
ZTFhM2M1NmQuLmM5MTE1ZTlkMmI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMv
V2ViQ29yZS54Y3NjaGVtZQpAQCAtNDAsNiArNDAsMTAgQEAKICAgICAgIGRlYnVnRG9jdW1lbnRW
ZXJzaW9uaW5nID0gIllFUyIKICAgICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJpbnRlcm5h
bCIKICAgICAgIGFsbG93TG9jYXRpb25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8UGF0aFJ1
bm5hYmxlCisgICAgICAgICBydW5uYWJsZURlYnVnZ2luZ01vZGUgPSAiMCIKKyAgICAgICAgIEZp
bGVQYXRoID0gIi9Vc2Vycy9tbWF4ZmllbGQvQnVpbGQvUHJvZHVjdHMvRGVidWcvU2FmYXJpLmFw
cCI+CisgICAgICA8L1BhdGhSdW5uYWJsZT4KICAgIDwvTGF1bmNoQWN0aW9uPgogICAgPFByb2Zp
bGVBY3Rpb24KICAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxlYXNlIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRl
LmgKaW5kZXggM2NkNGI3ZTc0MWU5Li45MDYxOTkyMmMzODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAt
NTQ3LDcgKzU0Nyw3IEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTeW50aGV0aWNF
ZGl0aW5nQ29tbWFuZHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpCiBXS19FWFBPUlQgdm9pZCBX
S1ByZWZlcmVuY2VzU2V0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmLCBib29sKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRDU1NPTVZpZXdTY3Jv
bGxpbmdBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCi0vLyBEZWZhdWx0cyB0byBmYWxz
ZS4KKy8vIERlZmF1bHRzIHRvIHRydWUuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0
U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFn
KTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxs
ZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggMGJiMmM1MDRjNTBmLi4zYTljMDU5NWE5MmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNzc1OCwzNSArNzc1OCw2IEBAIHN0
YXRpYyBjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFsPiYgbWVkaWFSZWxhdGVkSU9LaXRDbGFzc2Vz
KCkKIH0KICNlbmRpZgogCi0jaWYgSEFWRShTVEFUSUNfRk9OVF9SRUdJU1RSWSkKLXN0YXRpYyBi
b29sIGN1c3RvbWl6ZWRSZWFkZXJDb25maWd1cmF0aW9uKCkKLXsKLSAgICBhdXRvIGNvbmZpZ3Vy
YXRpb24gPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5QXBwVmFsdWUoQ0ZTVFIoIlJlYWRlckNv
bmZpZ3VyYXRpb24iKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24pKTsKLSAgICBp
ZiAoIWNvbmZpZ3VyYXRpb24gfHwgQ0ZHZXRUeXBlSUQoY29uZmlndXJhdGlvbi5nZXQoKSkgIT0g
Q0ZEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBhdXRv
IGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWcgPSBDRkRpY3Rpb25hcnlHZXRWYWx1ZShzdGF0
aWNfY2FzdDxDRkRpY3Rpb25hcnlSZWY+KGNvbmZpZ3VyYXRpb24uZ2V0KCkpLCBDRlNUUigiZm9u
dEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyIpKTsKLSAgICBpZiAoIWZvbnRGYW1pbHlOYW1lRm9y
TGFuZ3VhZ2VUYWcgfHwgQ0ZHZXRUeXBlSUQoZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZykg
IT0gQ0ZEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBh
dXRvIGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWdEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8
Q0ZEaWN0aW9uYXJ5UmVmPihmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnKTsKLSAgICBhdXRv
IGNvdW50ID0gQ0ZEaWN0aW9uYXJ5R2V0Q291bnQoZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRh
Z0RpY3Rpb25hcnkpOwotICAgIFZlY3RvcjxDRlR5cGVSZWY+IGZvbnRGYW1pbHlWYWx1ZXMoY291
bnQpOwotICAgIENGRGljdGlvbmFyeUdldEtleXNBbmRWYWx1ZXMoZm9udEZhbWlseU5hbWVGb3JM
YW5ndWFnZVRhZ0RpY3Rpb25hcnksIG51bGxwdHIsIGZvbnRGYW1pbHlWYWx1ZXMuZGF0YSgpKTsK
LQotICAgIGZvciAoYXV0byBmb250IDogZm9udEZhbWlseVZhbHVlcykgewotICAgICAgICBpZiAo
IWZvbnQgfHwgQ0ZHZXRUeXBlSUQoZm9udCkgIT0gQ0ZTdHJpbmdHZXRUeXBlSUQoKSkKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpZiAoU3RyaW5nKHN0YXRpY19jYXN0PENGU3RyaW5n
UmVmPihmb250KSkgIT0gIlN5c3RlbSIpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1zdGF0aWMgYm9vbCBkaXNhYmxlU3RhdGljRm9udFJl
Z2lzdHJ5KCkKLXsKLSAgICByZXR1cm4gQ0ZQcmVmZXJlbmNlc0dldEFwcEJvb2xlYW5WYWx1ZShD
RlNUUigiV2ViS2l0RGlzYWJsZVN0YXRpY0ZvbnRSZWdpc3RyeSIpLCBrQ0ZQcmVmZXJlbmNlc0N1
cnJlbnRBcHBsaWNhdGlvbiwgbnVsbHB0cik7Ci19Ci0jZW5kaWYgLy8gSEFWRShTVEFUSUNfRk9O
VF9SRUdJU1RSWSkKLQogV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBXZWJQYWdlUHJveHk6OmNy
ZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MsIERyYXdpbmdBcmVhUHJv
eHkmIGRyYXdpbmdBcmVhLCBSZWZQdHI8QVBJOjpXZWJzaXRlUG9saWNpZXM+JiYgd2Vic2l0ZVBv
bGljaWVzKQogewogICAgIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKQEAg
LTc4OTIsMTMgKzc4NjMsMTEgQEAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBXZWJQYWdlUHJv
eHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHByb2MKICAgICB9CiAjZW5k
aWYKICNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotICAgIGlmIChkaXNhYmxlU3RhdGlj
Rm9udFJlZ2lzdHJ5KCkKLSAgICAgICAgfHwgcHJlZmVyZW5jZXMoKS5zaG91bGRBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cygpCi0gICAgICAgIHx8IChXZWJDb3JlOjpNYWNBcHBsaWNhdGlvbjo6aXNT
YWZhcmkoKSAmJiBjdXN0b21pemVkUmVhZGVyQ29uZmlndXJhdGlvbigpKSkgeworICAgIC8vaWYg
KHByZWZlcmVuY2VzKCkuc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSkgewogICAgICAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgZm9udE1hY2hFeHRlbnNpb25IYW5kbGU7CiAgICAg
ICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBs
ZS5mb250cyJfcywgV1RGOjpudWxsb3B0LCBmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7CiAgICAg
ICAgIHBhcmFtZXRlcnMuZm9udE1hY2hFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGZvbnRNYWNo
RXh0ZW5zaW9uSGFuZGxlKTsKLSAgICB9CisgICAgLy99CiAjZW5kaWYKICNpZiBIQVZFKEFQUF9B
Q0NFTlRfQ09MT1JTKQogICAgIHBhcmFtZXRlcnMuYWNjZW50Q29sb3IgPSBwYWdlQ2xpZW50KCku
YWNjZW50Q29sb3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKaW5kZXggZTYyYmMzNDVmMDcxLi5mOWE5MWE4MmM3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMDEzLDcgKzEwMTMsNyBAQCBX
ZWJQYWdlOjp+V2ViUGFnZSgpCiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEY6Om51
bGxvcHQpOwogICAgIH0KICNlbmRpZgotICAgIAorCiAjaWYgSEFWRShTVEFUSUNfRk9OVF9SRUdJ
U1RSWSkKICAgICBpZiAobV9mb250RXh0ZW5zaW9uKQogICAgICAgICBtX2ZvbnRFeHRlbnNpb24t
PnJldm9rZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422917</attachid>
            <date>2021-03-11 02:14:36 -0800</date>
            <delta_ts>2021-03-11 18:24:18 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-223062-20210311021435.patch</filename>
            <type>text/plain</type>
            <size>13075</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWNiMDI1ZGIxY2EwYTM5
NjkyMzM0MGFkNzFlNmY5ZmRiZTk2MmQ5Ni4uYWVjNzRmMWRlMWFkN2E0MDU0YmNkODc2Zjk3MWRi
YzVkNTVkNTE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAzLTExICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBN
b2JpbGVBc3NldCBmb250cyBhcmUgYnJva2VuIGluIFJlYWRlciBtb2RlIGluIFNhZmFyaQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDYyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNz
Y2hlbWVzL1dlYkNvcmUueGNzY2hlbWU6CisKIDIwMjEtMDMtMTEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbIG1hY09TIGRlYnVnIGFybTY0IF1mYXN0L2RvbS9S
YW5nZS9jb21wYXJlQm91bmRhcnlQb2ludHMtY29tcGFyZUhvdy1leGNlcHRpb24uaHRtbCBpcyBh
IGNvbnN0YW50IHRleHQgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZDNjYjI4ZjliNjI0ZGI1ZDNjMjBl
ZDZiMjM5MDBhMjYxNDBlMDcyLi5iNjFmM2QyMDZiN2EzNzBkNzE0ZDcxYzliYTNkMWEzNWNhY2Fi
YWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTExICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBNb2JpbGVBc3Nl
dCBmb250cyBhcmUgYnJva2VuIGluIFJlYWRlciBtb2RlIGluIFNhZmFyaQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFtZXRlcnMp
OgorICAgICAgICAoV2ViS2l0OjpjdXN0b21pemVkUmVhZGVyQ29uZmlndXJhdGlvbik6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6OmRpc2FibGVTdGF0aWNGb250UmVnaXN0cnkpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFdlYktpdC54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJLaXQueGNzY2hlbWU6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjp+V2ViUGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmdyYW50QWNjZXNz
VG9Bc3NldFNlcnZpY2VzKToKKwogMjAyMS0wMy0xMSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0
YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNzI0NjkpOiBbV1BFXVtH
VEtdIEVwaXBoYW55IFVJIHByb2Nlc3MgY3Jhc2hlcyB3aGVuIGRvd25sb2FkaW5nIFBERnMsIFdl
YktpdFNlY3VyaXR5T3JpZ2luIHNob3VsZCB1c2UgU2VjdXJpdHlPcmlnaW5EYXRhCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hl
bWVzL1dlYkNvcmUueGNzY2hlbWUgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94
Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKaW5kZXggMTU4MmUxYTNjNTZk
ZjllNzgyMDBkOTlhOTk4NjgwNTkxYjRjZGYwYi4uYzkxMTVlOWQyYjU2YmI2OGUwMzhlZTZiOTM2
YmQ3ZDQ1YTVkMGRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54
Y3NjaGVtZQpAQCAtNDAsNiArNDAsMTAgQEAKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5n
ID0gIllFUyIKICAgICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJpbnRlcm5hbCIKICAgICAg
IGFsbG93TG9jYXRpb25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8UGF0aFJ1bm5hYmxlCisg
ICAgICAgICBydW5uYWJsZURlYnVnZ2luZ01vZGUgPSAiMCIKKyAgICAgICAgIEZpbGVQYXRoID0g
Ii9Vc2Vycy9tbWF4ZmllbGQvQnVpbGQvUHJvZHVjdHMvRGVidWcvU2FmYXJpLmFwcCI+CisgICAg
ICA8L1BhdGhSdW5uYWJsZT4KICAgIDwvTGF1bmNoQWN0aW9uPgogICAgPFByb2ZpbGVBY3Rpb24K
ICAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxlYXNlIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKaW5kZXgg
M2NkNGI3ZTc0MWU5ZjIzMmQ5YTU4MWE2ZjdkMWZhMmZkZjdmNWQwNy4uOTA2MTk5MjJjMzgxYjIy
NGQ1Y2I2ZTVmMmFlZDYyMWE4NDEyMzlmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC01NDcsNyArNTQ3
LDcgQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFN5bnRoZXRpY0VkaXRpbmdDb21t
YW5kc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wp
OwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldENTU09NVmlld1Njcm9sbGluZ0FQSUVu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKLS8vIERlZmF1bHRzIHRvIGZhbHNlLgorLy8gRGVm
YXVsdHMgdG8gdHJ1ZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQ
T1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKFdL
UHJlZmVyZW5jZXNSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAppbmRleCAwYmIyYzUwNGM1MGY3N2JhYmY4NGJiNTA1N2E5YWE4NWI0NGIwODllLi4xMzUyNGNm
MDZiY2Y0ZjYyYTJiMWFlMzE0NTQ0NjFjY2IyZGU2NjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTc3NTgsMzUgKzc3NTgsNiBAQCBzdGF0aWMgY29uc3Qg
VmVjdG9yPEFTQ0lJTGl0ZXJhbD4mIG1lZGlhUmVsYXRlZElPS2l0Q2xhc3NlcygpCiB9CiAjZW5k
aWYKIAotI2lmIEhBVkUoU1RBVElDX0ZPTlRfUkVHSVNUUlkpCi1zdGF0aWMgYm9vbCBjdXN0b21p
emVkUmVhZGVyQ29uZmlndXJhdGlvbigpCi17Ci0gICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRv
cHRDRihDRlByZWZlcmVuY2VzQ29weUFwcFZhbHVlKENGU1RSKCJSZWFkZXJDb25maWd1cmF0aW9u
IiksIGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uKSk7Ci0gICAgaWYgKCFjb25maWd1
cmF0aW9uIHx8IENGR2V0VHlwZUlEKGNvbmZpZ3VyYXRpb24uZ2V0KCkpICE9IENGRGljdGlvbmFy
eUdldFR5cGVJRCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgYXV0byBmb250RmFtaWx5
TmFtZUZvckxhbmd1YWdlVGFnID0gQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoc3RhdGljX2Nhc3Q8Q0ZE
aWN0aW9uYXJ5UmVmPihjb25maWd1cmF0aW9uLmdldCgpKSwgQ0ZTVFIoImZvbnRGYW1pbHlOYW1l
Rm9yTGFuZ3VhZ2VUYWciKSk7Ci0gICAgaWYgKCFmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFn
IHx8IENGR2V0VHlwZUlEKGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWcpICE9IENGRGljdGlv
bmFyeUdldFR5cGVJRCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgYXV0byBmb250RmFt
aWx5TmFtZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PENGRGljdGlvbmFy
eVJlZj4oZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyk7Ci0gICAgYXV0byBjb3VudCA9IENG
RGljdGlvbmFyeUdldENvdW50KGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWdEaWN0aW9uYXJ5
KTsKLSAgICBWZWN0b3I8Q0ZUeXBlUmVmPiBmb250RmFtaWx5VmFsdWVzKGNvdW50KTsKLSAgICBD
RkRpY3Rpb25hcnlHZXRLZXlzQW5kVmFsdWVzKGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWdE
aWN0aW9uYXJ5LCBudWxscHRyLCBmb250RmFtaWx5VmFsdWVzLmRhdGEoKSk7Ci0KLSAgICBmb3Ig
KGF1dG8gZm9udCA6IGZvbnRGYW1pbHlWYWx1ZXMpIHsKLSAgICAgICAgaWYgKCFmb250IHx8IENG
R2V0VHlwZUlEKGZvbnQpICE9IENGU3RyaW5nR2V0VHlwZUlEKCkpCi0gICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgaWYgKFN0cmluZyhzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oZm9udCkp
ICE9ICJTeXN0ZW0iKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVy
biBmYWxzZTsKLX0KLQotc3RhdGljIGJvb2wgZGlzYWJsZVN0YXRpY0ZvbnRSZWdpc3RyeSgpCi17
Ci0gICAgcmV0dXJuIENGUHJlZmVyZW5jZXNHZXRBcHBCb29sZWFuVmFsdWUoQ0ZTVFIoIldlYktp
dERpc2FibGVTdGF0aWNGb250UmVnaXN0cnkiKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGlj
YXRpb24sIG51bGxwdHIpOwotfQotI2VuZGlmIC8vIEhBVkUoU1RBVElDX0ZPTlRfUkVHSVNUUlkp
Ci0KIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFt
ZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzLCBEcmF3aW5nQXJlYVByb3h5JiBkcmF3aW5n
QXJlYSwgUmVmUHRyPEFQSTo6V2Vic2l0ZVBvbGljaWVzPiYmIHdlYnNpdGVQb2xpY2llcykKIHsK
ICAgICBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CkBAIC03ODkyLDkgKzc4
NjMsNyBAQCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25Q
YXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYgcHJvYwogICAgIH0KICNlbmRpZgogI2lmIEhBVkUo
U1RBVElDX0ZPTlRfUkVHSVNUUlkpCi0gICAgaWYgKGRpc2FibGVTdGF0aWNGb250UmVnaXN0cnko
KQotICAgICAgICB8fCBwcmVmZXJlbmNlcygpLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCkKLSAgICAgICAgfHwgKFdlYkNvcmU6Ok1hY0FwcGxpY2F0aW9uOjppc1NhZmFyaSgpICYmIGN1
c3RvbWl6ZWRSZWFkZXJDb25maWd1cmF0aW9uKCkpKSB7CisgICAgaWYgKHByZWZlcmVuY2VzKCku
c2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSkgewogICAgICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUgZm9udE1hY2hFeHRlbnNpb25IYW5kbGU7CiAgICAgICAgIFNhbmRib3hFeHRl
bnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBsZS5mb250cyJfcywgV1RG
OjpudWxsb3B0LCBmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7CiAgICAgICAgIHBhcmFtZXRlcnMu
Zm9udE1hY2hFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGQzNWM0MmViMzFkODM0NWNlOWFlMDE1NTA3OGNkYmYzMWJjZTQwMGYuLmQxNTc2MWUyZGVm
MTE4NWY2ZDdkNmJjOTM3ZmE5ZTdjYzlkYzY2ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDE2LDYgKzQxNiw4IEBACiAJCTFDMEEx
OTVDMUM5MTZFMUIwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5U2NyaXB0U291
cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzBB
MTk1QjFDOTE2RTFCMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eVNjcmlwdFNv
dXJjZS5oICovOyB9OwogCQkxQzIwOTM2MDIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVk
U3RyaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QzIwOTM1RTIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQzIxODQwMjIyMzM4NzI4
MDBCQUM3MDAgLyogTlNBdHRyaWJ1dGVkU3RyaW5nUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyMTg0MDEyMjMzODcyODAwQkFDNzAwIC8q
IE5TQXR0cmlidXRlZFN0cmluZ1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkxQzgxODAyMTI1RkEyMzdEMDA2MDhCM0UgLyogbGliRm9u
dFJlZ2lzdHJ5LmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUM4MTgwMjAyNUZBMjM3RDAwNjA4QjNFIC8qIGxpYkZvbnRSZWdpc3RyeS5keWxp
YiAqLzsgfTsKKwkJMUM4MTgwMjIyNUZBMjM3RDAwNjA4QjNFIC8qIGxpYkZvbnRSZWdpc3RyeS5k
eWxpYiBpbiBDb3B5IFNoaW1zICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFD
ODE4MDIwMjVGQTIzN0QwMDYwOEIzRSAvKiBsaWJGb250UmVnaXN0cnkuZHlsaWIgKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoQ29kZVNpZ25PbkNvcHksICk7IH07IH07CiAJCTFDODkxRDY2
MTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0b3JVSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4OTFENjMxOUIxMjRGRjAwQkE3OUREIC8qIFdl
Ykluc3BlY3RvclVJLmggKi87IH07CiAJCTFDOEUyODIwMTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJ
bnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFDOEUyODFFMTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3IuaCAqLzsgfTsKIAkJMUM4
RTI4MzQxMjc1RDczODAwQkM3QkQwIC8qIFdlYkluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzhFMjgzMjEyNzVENzM4MDBCQzdC
RDAgLyogV2ViSW5zcGVjdG9yUHJveHkuaCAqLzsgfTsKQEAgLTIyNjYsNiArMjI2OCw3IEBACiAJ
CQlkc3RQYXRoID0gIiI7CiAJCQlkc3RTdWJmb2xkZXJTcGVjID0gMTA7CiAJCQlmaWxlcyA9ICgK
KwkJCQkxQzgxODAyMjI1RkEyMzdEMDA2MDhCM0UgLyogbGliRm9udFJlZ2lzdHJ5LmR5bGliIGlu
IENvcHkgU2hpbXMgKi8sCiAJCQkJMzdCMEQxODQxQzFFNDk5QTAwRDQwRDY0IC8qIFBsdWdpblBy
b2Nlc3NTaGltLmR5bGliIGluIENvcHkgU2hpbXMgKi8sCiAJCQkpOwogCQkJbmFtZSA9ICJDb3B5
IFNoaW1zIjsKQEAgLTI5NTQsNiArMjk1Nyw3IEBACiAJCTFDNzM5RTg1MjM0N0JDRjYwMEM2MjFF
QyAvKiBDb3JlVGV4dEhlbHBlcnMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb3JlVGV4dEhl
bHBlcnMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNzM5RTg3MjM0N0JEMEYw
MEM2MjFFQyAvKiBDb3JlVGV4dEhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZVRleHRIZWxw
ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNzdDMTk1MTI4OEE4NzIwMDZB
NzQyRiAvKiBXZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBXZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUM4MTgwMjAyNUZBMjM3RDAwNjA4QjNFIC8qIGxpYkZvbnRSZWdpc3RyeS5keWxp
YiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21w
aWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGliRm9udFJlZ2lzdHJ5LmR5bGliOyBwYXRoID0g
Li4vLi4vLi4vLi4vLi4vQnVpbGQvUHJvZHVjdHMvRGVidWcvbGliRm9udFJlZ2lzdHJ5LmR5bGli
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzg5MUQ2MjE5QjEyNEZGMDBCQTc5REQg
LyogV2ViSW5zcGVjdG9yVUkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViSW5zcGVjdG9yVUkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzg5
MUQ2MzE5QjEyNEZGMDBCQTc5REQgLyogV2ViSW5zcGVjdG9yVUkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yVUkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUM4OTFENjQxOUIxMjRGRjAwQkE3OUREIC8qIFdlYkluc3BlY3RvclVJLm1lc3Nh
Z2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmlu
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTk2Miw2ICs1OTY2LDcgQEAKIAkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCQkzNzY2RjlFRTE4
OUExMjQxMDAzQ0YxOUIgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCisJCQkJMUM4MTgwMjEyNUZBMjM3RDAwNjA4QjNFIC8qIGxpYkZvbnRSZWdpc3RyeS5keWxp
YiBpbiBGcmFtZXdvcmtzICovLAogCQkJCTM3NjZGOUYxMTg5QTEyNTQwMDNDRjE5QiAvKiBsaWJp
Y3Vjb3JlLmR5bGliIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJMzc2NkY5RUYxODlBMTI0NDAwM0NG
MTlCIC8qIFF1YXJ0ekNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJMzc2OTQ1
MjUxODRGQzZCNjAwQ0RFMjFGIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
LApAQCAtODgyOCw2ICs4ODMzLDcgQEAKIAkJNTc1MEYzMjkyMDMyRDRFMzAwMzg5MzQ3IC8qIEZy
YW1ld29ya3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CTFDODE4MDIwMjVGQTIzN0QwMDYwOEIzRSAvKiBsaWJGb250UmVnaXN0cnkuZHlsaWIgKi8sCiAJ
CQkJNTdBOUZGMTUyNTJDNkFFRjAwNkEyMDQwIC8qIGxpYldURi5hICovLAogCQkJCTU3NTBGMzJB
MjAzMkQ0RTUwMDM4OTM0NyAvKiBMb2NhbEF1dGhlbnRpY2F0aW9uLmZyYW1ld29yayAqLywKIAkJ
CQk1NzBEQUFCMDIzMDI3M0QyMDBFOEZDMDQgLyogTmVhckZpZWxkLmZyYW1ld29yayAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNz
Y2hlbWVzL1dlYktpdC54Y3NjaGVtZSBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai94
Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dlYktpdC54Y3NjaGVtZQppbmRleCA2MTAzOWIxYzcxNzM4
ZjMyMzNkYjhiMzU5ODQzYzQ0YzgzZWY5YzlmLi5jOTIxMjgyM2JjZTlkYjZlNDJkZWUxZDQwMzU4
ZmQwOTViNzMzNzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
eGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJLaXQueGNzY2hlbWUKKysrIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViS2l0Lnhjc2NoZW1l
CkBAIC0zMSw3ICszMSw3IEBACiAgICAgICA8L1Rlc3RhYmxlcz4KICAgIDwvVGVzdEFjdGlvbj4K
ICAgIDxMYXVuY2hBY3Rpb24KLSAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxlYXNlIgor
ICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIkRlYnVnIgogICAgICAgc2VsZWN0ZWREZWJ1Z2dl
cklkZW50aWZpZXIgPSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkRlYnVnZ2VyLkxMREIiCiAg
ICAgICBzZWxlY3RlZExhdW5jaGVySWRlbnRpZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5kYXRp
b24uTGF1bmNoZXIuTExEQiIKICAgICAgIGxhdW5jaFN0eWxlID0gIjAiCkBAIC00MCw2ICs0MCwx
MCBAQAogICAgICAgZGVidWdEb2N1bWVudFZlcnNpb25pbmcgPSAiWUVTIgogICAgICAgZGVidWdT
ZXJ2aWNlRXh0ZW5zaW9uID0gImludGVybmFsIgogICAgICAgYWxsb3dMb2NhdGlvblNpbXVsYXRp
b24gPSAiWUVTIj4KKyAgICAgIDxQYXRoUnVubmFibGUKKyAgICAgICAgIHJ1bm5hYmxlRGVidWdn
aW5nTW9kZSA9ICIwIgorICAgICAgICAgRmlsZVBhdGggPSAiL1VzZXJzL21tYXhmaWVsZC9CdWls
ZC9Qcm9kdWN0cy9EZWJ1Zy9TYWZhcmkuYXBwIj4KKyAgICAgIDwvUGF0aFJ1bm5hYmxlPgogICAg
PC9MYXVuY2hBY3Rpb24+CiAgICA8UHJvZmlsZUFjdGlvbgogICAgICAgYnVpbGRDb25maWd1cmF0
aW9uID0gIlJlbGVhc2UiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IGU2MmJjMzQ1ZjA3MTUzY2M3Mzk0MWRlOTk5NDc4MWYxMmNiOTNhNTAuLmY5
YTkxYTgyYzdkMTMyOWNhY2Q2ZDk0ZWExMmQ0MzAxY2FjZTM0MjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMDEzLDcgKzEwMTMsNyBAQCBX
ZWJQYWdlOjp+V2ViUGFnZSgpCiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEY6Om51
bGxvcHQpOwogICAgIH0KICNlbmRpZgotICAgIAorCiAjaWYgSEFWRShTVEFUSUNfRk9OVF9SRUdJ
U1RSWSkKICAgICBpZiAobV9mb250RXh0ZW5zaW9uKQogICAgICAgICBtX2ZvbnRFeHRlbnNpb24t
PnJldm9rZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KaW5kZXggNTUyYWFkMzg4NDU3ZjcxNDIwNDhhMjYxZmYyNmYyOWM0YmExOTFl
ZS4uM2NiZmZlYTkxZjA1YjE1MGM1N2NlM2RhMjNiZDYyMDNhOTU0OGEyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xNjUs
NiArMTY1LDEwIEBAIFNPRlRfTElOS19GUkFNRVdPUktfSU5fVU1CUkVMTEEoQXBwbGljYXRpb25T
ZXJ2aWNlcywgSElTZXJ2aWNlcykKIFNPRlRfTElOS19GVU5DVElPTl9NQVlfRkFJTF9GT1JfU09V
UkNFKFdlYktpdCwgSElTZXJ2aWNlcywgX0FYU2V0QXVkaXRUb2tlbklzQXV0aGVudGljYXRlZENh
bGxiYWNrLCB2b2lkLCAoQVhBdWRpdFRva2VuSXNBdXRoZW50aWNhdGVkQ2FsbGJhY2sgY2FsbGJh
Y2spLCAoY2FsbGJhY2spKQogI2VuZGlmCiAKK2V4dGVybiAiQyIgeworICAgIGJvb2wgWFRFbmFi
bGVVc2VyRm9udFJlZ2lzdHJ5KGJvb2wpOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0xMTUwLDYgKzExNTQsNyBAQCB2b2lkIFdlYlByb2Nl
c3M6OmdyYW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlJiYgbQogICAgICAgICByZXR1cm47CiAgICAgbV9hc3NldFNlcnZpY2VWMkV4dGVuc2lv
biA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZShXVEZNb3ZlKG1vYmlsZUFzc2V0VjJIYW5kbGUp
KTsKICAgICBtX2Fzc2V0U2VydmljZVYyRXh0ZW5zaW9uLT5jb25zdW1lKCk7CisgICAgWFRFbmFi
bGVVc2VyRm9udFJlZ2lzdHJ5KHRydWUpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OnJldm9rZUFj
Y2Vzc1RvQXNzZXRTZXJ2aWNlcygpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423003</attachid>
            <date>2021-03-11 18:24:19 -0800</date>
            <delta_ts>2021-03-11 19:17:33 -0800</delta_ts>
            <desc>Needs test</desc>
            <filename>bug-223062-20210311182418.patch</filename>
            <type>text/plain</type>
            <size>12571</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkY2VjNjAy
MzIxY2U0MGVjMWIzODI1MDMyODc5M2MwNmZmMmUxMTljLi5iZDA1MjU0Zjg5ZDAwMTc0Njk4MzI2
ZWI1YjRiMDhiNzJmZTA2ZTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9k
ZSBpbiBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oOgorCiAyMDIxLTAzLTEwICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcGx1bWJpbmcgZm9yIGBkZWZh
dWx0UGxheWJhY2tSYXRlYCB0byBBVktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZDNjYjI4ZjliNjI0ZGI1ZDNj
MjBlZDZiMjM5MDBhMjYxNDBlMDcyLi4zNWIxMjU2MzE2YzRhYzc3YmVkZjUwZTg2ZTA1NjJmYTA3
ODMyOTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAzLTExICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBNb2JpbGVB
c3NldCBmb250cyBhcmUgYnJva2VuIGluIFJlYWRlciBtb2RlIGluIFNhZmFyaQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDYyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV0tXZWJWaWV3IF9zd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lz
dHJ5XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1Vz
ZXJGb250UmVnaXN0cnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJLaXQ6OmN1c3RvbWl6ZWRSZWFkZXJDb25maWd1cmF0aW9uKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6ZGlzYWJsZVN0YXRpY0ZvbnRSZWdpc3RyeSk6IERlbGV0ZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6fldlYlBhZ2UpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c3dpdGNoRnJvbVN0
YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSk6CisKIDIwMjEtMDMtMTEgIE1pY2hh
ZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lP
TihyMjcyNDY5KTogW1dQRV1bR1RLXSBFcGlwaGFueSBVSSBwcm9jZXNzIGNyYXNoZXMgd2hlbiBk
b3dubG9hZGluZyBQREZzLCBXZWJLaXRTZWN1cml0eU9yaWdpbiBzaG91bGQgdXNlIFNlY3VyaXR5
T3JpZ2luRGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ29y
ZVRleHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgK
aW5kZXggNmY1NmExYWMxNjY2N2QzOGE0ODlmYjFmYTEyODhiOTE3Y2RiZjBjMi4uOWE2YThjOTk0
NzU4NWJjYjkxOGM0YmRiMjM1OWE1OTA5Y2EwMzE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oCkBAIC0xMzAsNiArMTMwLDcgQEAgQ1RGb250RGVzY3Jp
cHRvclJlZiBDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aEF0dHJpYnV0ZXNBbmRPcHRpb25zKENG
RGljdGlvbmFyeVIKIENURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRvckNyZWF0ZUxh
c3RSZXNvcnQoKTsKIAogQ0ZBcnJheVJlZiBDVEZvbnRNYW5hZ2VyQ3JlYXRlRm9udERlc2NyaXB0
b3JzRnJvbURhdGEoQ0ZEYXRhUmVmKTsKK2Jvb2wgQ1RGb250TWFuYWdlckVuYWJsZUFsbFVzZXJG
b250cyhib29sIHBvc3RGb250Q2hhbmdlTm90aWZpY2F0aW9uKTsKIAogdm9pZCBDVFBhcmFncmFw
aFN0eWxlU2V0Q29tcG9zaXRpb25MYW5ndWFnZShDVFBhcmFncmFwaFN0eWxlUmVmLCBDVENvbXBv
c2l0aW9uTGFuZ3VhZ2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCAzY2Q0YjdlNzQxZTlmMjMyZDlh
NTgxYTZmN2QxZmEyZmRmN2Y1ZDA3Li45MDYxOTkyMmMzODFiMjI0ZDVjYjZlNWYyYWVkNjIxYTg0
MTIzOWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTU0Nyw3ICs1NDcsNyBAQCBXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0U3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmKQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldENTU09NVmlld1Njcm9s
bGluZ0FQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCk7CiBXS19FWFBPUlQgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmKTsKIAotLy8gRGVmYXVsdHMgdG8gZmFsc2UuCisvLyBEZWZhdWx0cyB0byB0cnVlLgogV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoV0tQcmVmZXJlbmNlc1JlZik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4
IDY0ZTk0ZTZlMTQ5MjE1M2IzMTM1YTcyNmRhNTA2ODQ0MDVmNzhiOWIuLmEzZGRmMDM0ZjQ2MjFh
YmQ0ODE0YzY1ZDliMTE4MDY1NGVmMGUyM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMjIzOSw2ICsyMjM5LDEyIEBAIC0gKHZvaWQp
X3Jldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcwogICAgICAgICBfcGFnZS0+cmV2b2tlQWNjZXNz
VG9Bc3NldFNlcnZpY2VzKCk7CiB9CiAKKy0gKHZvaWQpX3N3aXRjaEZyb21TdGF0aWNGb250UmVn
aXN0cnlUb1VzZXJGb250UmVnaXN0cnkKK3sKKyAgICBpZiAoX3BhZ2UpCisgICAgICAgIF9wYWdl
LT5zd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KCk7Cit9CisK
IC0gKE5TQXJyYXkgKilfY2VydGlmaWNhdGVDaGFpbgogewogICAgIGlmIChXZWJLaXQ6OldlYkZy
YW1lUHJveHkqIG1haW5GcmFtZSA9IF9wYWdlLT5tYWluRnJhbWUoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDY1
ZDI2YTVkN2RjNzJjNDM2NTY5ZGU1NWNhNzVhY2NkN2YxMTVlODguLmQ1ZDc0OTZkMzBmOTJiOTUz
NWQ4MmMzYzdhNzg5ZDdjMjM2MzU5OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNDUwLDYgKzQ1MCw3IEBAIGZv
ciB0aGlzIHByb3BlcnR5LgogCiAtICh2b2lkKV9ncmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcyBX
S19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoMTQuMCkpOwogLSAodm9pZClf
cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcygxNC4wKSk7CistICh2b2lkKV9zd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5
VG9Vc2VyRm9udFJlZ2lzdHJ5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSkpOwog
CiBAZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBh
Z2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVBy
b3h5Q29jb2EubW0KaW5kZXggNDBiZjQ5ODY5ZGYyY2JjZGM4ZWVkYzk3YWVkYmMwNzNkZDJjMjI1
YS4uODJiYmUyMzBiZDJjYzMxZGU2MDI3NGFhZjgzNmYwZTQxNmM4MWViZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTYz
Nyw2ICs2MzcsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmdyYW50QWNjZXNzVG9Bc3NldFNlcnZp
Y2VzKCkKICAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6R3JhbnRBY2Nl
c3NUb0Fzc2V0U2VydmljZXMobW9iaWxlQXNzZXRIYW5kbGVWMiksIDApOwogfQogCit2b2lkIFdl
YlBhZ2VQcm94eTo6c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3Ry
eSgpCit7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9uSGFu
ZGxlOworICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNv
bS5hcHBsZS5mb250cyJfcywgV1RGOjpudWxsb3B0LCBmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7
CisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlN3aXRjaEZyb21TdGF0
aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoZm9udE1hY2hFeHRlbnNpb25IYW5kbGUp
LCAwKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OnJldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNl
cygpCiB7CiAgICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlJldm9rZUFj
Y2Vzc1RvQXNzZXRTZXJ2aWNlcygpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCmluZGV4IDBiYjJjNTA0YzUwZjc3YmFiZjg0YmI1MDU3YTlhYTg1YjQ0YjA4OWUu
LjEzNTI0Y2YwNmJjZjRmNjJhMmIxYWUzMTQ1NDQ2MWNjYjJkZTY2NTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNzc1OCwzNSArNzc1OCw2IEBAIHN0YXRp
YyBjb25zdCBWZWN0b3I8QVNDSUlMaXRlcmFsPiYgbWVkaWFSZWxhdGVkSU9LaXRDbGFzc2VzKCkK
IH0KICNlbmRpZgogCi0jaWYgSEFWRShTVEFUSUNfRk9OVF9SRUdJU1RSWSkKLXN0YXRpYyBib29s
IGN1c3RvbWl6ZWRSZWFkZXJDb25maWd1cmF0aW9uKCkKLXsKLSAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5QXBwVmFsdWUoQ0ZTVFIoIlJlYWRlckNvbmZp
Z3VyYXRpb24iKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24pKTsKLSAgICBpZiAo
IWNvbmZpZ3VyYXRpb24gfHwgQ0ZHZXRUeXBlSUQoY29uZmlndXJhdGlvbi5nZXQoKSkgIT0gQ0ZE
aWN0aW9uYXJ5R2V0VHlwZUlEKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBhdXRvIGZv
bnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWcgPSBDRkRpY3Rpb25hcnlHZXRWYWx1ZShzdGF0aWNf
Y2FzdDxDRkRpY3Rpb25hcnlSZWY+KGNvbmZpZ3VyYXRpb24uZ2V0KCkpLCBDRlNUUigiZm9udEZh
bWlseU5hbWVGb3JMYW5ndWFnZVRhZyIpKTsKLSAgICBpZiAoIWZvbnRGYW1pbHlOYW1lRm9yTGFu
Z3VhZ2VUYWcgfHwgQ0ZHZXRUeXBlSUQoZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZykgIT0g
Q0ZEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBhdXRv
IGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWdEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8Q0ZE
aWN0aW9uYXJ5UmVmPihmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnKTsKLSAgICBhdXRvIGNv
dW50ID0gQ0ZEaWN0aW9uYXJ5R2V0Q291bnQoZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZ0Rp
Y3Rpb25hcnkpOwotICAgIFZlY3RvcjxDRlR5cGVSZWY+IGZvbnRGYW1pbHlWYWx1ZXMoY291bnQp
OwotICAgIENGRGljdGlvbmFyeUdldEtleXNBbmRWYWx1ZXMoZm9udEZhbWlseU5hbWVGb3JMYW5n
dWFnZVRhZ0RpY3Rpb25hcnksIG51bGxwdHIsIGZvbnRGYW1pbHlWYWx1ZXMuZGF0YSgpKTsKLQot
ICAgIGZvciAoYXV0byBmb250IDogZm9udEZhbWlseVZhbHVlcykgewotICAgICAgICBpZiAoIWZv
bnQgfHwgQ0ZHZXRUeXBlSUQoZm9udCkgIT0gQ0ZTdHJpbmdHZXRUeXBlSUQoKSkKLSAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICBpZiAoU3RyaW5nKHN0YXRpY19jYXN0PENGU3RyaW5nUmVm
Pihmb250KSkgIT0gIlN5c3RlbSIpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCi1zdGF0aWMgYm9vbCBkaXNhYmxlU3RhdGljRm9udFJlZ2lz
dHJ5KCkKLXsKLSAgICByZXR1cm4gQ0ZQcmVmZXJlbmNlc0dldEFwcEJvb2xlYW5WYWx1ZShDRlNU
UigiV2ViS2l0RGlzYWJsZVN0YXRpY0ZvbnRSZWdpc3RyeSIpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJl
bnRBcHBsaWNhdGlvbiwgbnVsbHB0cik7Ci19Ci0jZW5kaWYgLy8gSEFWRShTVEFUSUNfRk9OVF9S
RUdJU1RSWSkKLQogV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBXZWJQYWdlUHJveHk6OmNyZWF0
aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MsIERyYXdpbmdBcmVhUHJveHkm
IGRyYXdpbmdBcmVhLCBSZWZQdHI8QVBJOjpXZWJzaXRlUG9saWNpZXM+JiYgd2Vic2l0ZVBvbGlj
aWVzKQogewogICAgIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKQEAgLTc4
OTIsOSArNzg2Myw3IEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5Ojpj
cmVhdGlvblBhcmFtZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jCiAgICAgfQogI2VuZGlmCiAj
aWYgSEFWRShTVEFUSUNfRk9OVF9SRUdJU1RSWSkKLSAgICBpZiAoZGlzYWJsZVN0YXRpY0ZvbnRS
ZWdpc3RyeSgpCi0gICAgICAgIHx8IHByZWZlcmVuY2VzKCkuc2hvdWxkQWxsb3dVc2VySW5zdGFs
bGVkRm9udHMoKQotICAgICAgICB8fCAoV2ViQ29yZTo6TWFjQXBwbGljYXRpb246OmlzU2FmYXJp
KCkgJiYgY3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24oKSkpIHsKKyAgICBpZiAocHJlZmVy
ZW5jZXMoKS5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKSB7CiAgICAgICAgIFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZSBmb250TWFjaEV4dGVuc2lvbkhhbmRsZTsKICAgICAgICAgU2Fu
ZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLmZvbnRz
Il9zLCBXVEY6Om51bGxvcHQsIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlKTsKICAgICAgICAgcGFy
YW1ldGVycy5mb250TWFjaEV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoZm9udE1hY2hFeHRlbnNp
b25IYW5kbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5N2I2
ZDEyOTYwNjliMWExMDQzZDk3NDU0YTFhYzMwNDE1MGM1MjQwLi5kYzM4N2ZmNGJlMDc2NmUyYmM0
NzBkNGY3NWYzYzdlMjdhZTgwMWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaApAQCAtMTc3Niw2ICsxNzc2LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBncmFudEFjY2Vz
c1RvQXNzZXRTZXJ2aWNlcygpOwogICAgIHZvaWQgcmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2Vz
KCk7CisgICAgdm9pZCBzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lz
dHJ5KCk7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIGdyYW50QWNjZXNzVG9QcmVm
ZXJlbmNlU2VydmljZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCBlNjJiYzM0NWYwNzE1M2NjNzM5NDFkZTk5OTQ3ODFmMTJjYjkzYTUwLi5m
OWE5MWE4MmM3ZDEzMjljYWNkNmQ5NGVhMTJkNDMwMWNhY2UzNDIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTAxMyw3ICsxMDEzLDcgQEAg
V2ViUGFnZTo6fldlYlBhZ2UoKQogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGOjpu
dWxsb3B0KTsKICAgICB9CiAjZW5kaWYKLSAgICAKKwogI2lmIEhBVkUoU1RBVElDX0ZPTlRfUkVH
SVNUUlkpCiAgICAgaWYgKG1fZm9udEV4dGVuc2lvbikKICAgICAgICAgbV9mb250RXh0ZW5zaW9u
LT5yZXZva2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDRiZTU1
ZGJlMWMwYWE4ZmE0NzEyZmFhNGNjZjlmZDU1NGQ5MmI5YmUuLjY2ZTRiMjM3NGRkNGQzMjI4YjE0
YWE4MDBlMWNkMjJhMjYxMjdkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aApAQCAtMzQxLDYgKzM0MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZ3JhbnRBY2Nlc3NUb0Fz
c2V0U2VydmljZXMoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJiBtb2JpbGVBc3Nl
dFYySGFuZGxlKTsKICAgICB2b2lkIHJldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpOworICAg
IHZvaWQgc3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeShXZWJL
aXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYmIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlKTsK
IAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHVwZGF0ZVBhZ2VTY3JlZW5Qcm9wZXJ0aWVz
KCk7CkBAIC03MDEsNiArNzAyLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUmVmUHRyPFNh
bmRib3hFeHRlbnNpb24+IG1fYXNzZXRTZXJ2aWNlVjJFeHRlbnNpb247CisgICAgUmVmUHRyPFNh
bmRib3hFeHRlbnNpb24+IG1fZm9udE1hY2hFeHRlbnNpb247CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICBIYXNoQ291bnRlZFNldDxTdHJpbmc+IG1fcGVuZGluZ1Bhc3RlYm9hcmRXcml0ZUNv
dW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4KaW5kZXggOWJjNmRmN2E5YjU5YTE3ZTNlY2MwYTY0ZDVmMThkNzU2ODkyNTg2MS4uYjRmNzdi
OThhMjIwYTBmYzhiMWYxNWZkYmUwMTM3NjNlNTE0OTk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTE2OCw2ICsxNjgsNyBAQCBt
ZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vdFJlZkNvdW50ZWQgewogCiAg
ICAgR3JhbnRBY2Nlc3NUb0Fzc2V0U2VydmljZXMoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGUgbW9iaWxlQXNzZXRWMkhhbmRsZSkKICAgICBSZXZva2VBY2Nlc3NUb0Fzc2V0U2Vydmlj
ZXMoKQorICAgIFN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnko
V2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgZm9udE1hY2hFeHRlbnNpb25IYW5kbGUp
CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBVbmJsb2NrU2VydmljZXNSZXF1aXJlZEJ5QWNj
ZXNzaWJpbGl0eShXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5IGhhbmRsZUFy
cmF5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0KaW5kZXggNTUyYWFkMzg4NDU3ZjcxNDIwNDhhMjYxZmYyNmYyOWM0YmExOTFlZS4uYjFj
YzcxNGE5ZDUwYWRmZjY5ZGNhZTI5ZjBiNDE3NDAzYTA4NDE3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xMzUsNiArMTM1
LDcgQEAKICNpbXBvcnQgIldlYlN3aXRjaGluZ0dQVUNsaWVudC5oIgogI2ltcG9ydCA8V2ViQ29y
ZS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTE1hbmFnZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2Ny
b2xsYmFyVGhlbWVNYWMuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaD4KICNp
bXBvcnQgPHBhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFj
L05TU2Nyb2xsZXJJbXBTUEkuaD4KICNlbmRpZgpAQCAtMTE2MCw2ICsxMTYxLDE3IEBAIHZvaWQg
V2ViUHJvY2Vzczo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkKICAgICBtX2Fzc2V0U2Vy
dmljZVYyRXh0ZW5zaW9uID0gbnVsbHB0cjsKIH0KIAordm9pZCBXZWJQcm9jZXNzOjpzd2l0Y2hG
cm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlJiYgZm9udE1hY2hFeHRlbnNpb25IYW5kbGUpCit7CisgICAgaWYgKG1f
Zm9udE1hY2hFeHRlbnNpb24pCisgICAgICAgIHJldHVybjsKKyAgICBtX2ZvbnRNYWNoRXh0ZW5z
aW9uID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlKFdURk1vdmUoZm9udE1hY2hFeHRlbnNpb25I
YW5kbGUpKTsKKyAgICBtX2ZvbnRNYWNoRXh0ZW5zaW9uLT5jb25zdW1lKCk7CisjaWYgSEFWRShT
VEFUSUNfRk9OVF9SRUdJU1RSWSkKKyAgICBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZvbnRz
KHRydWUpOworI2VuZGlmCit9CisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0U2NyZWVuUHJvcGVydGll
cyhjb25zdCBTY3JlZW5Qcm9wZXJ0aWVzJiBwcm9wZXJ0aWVzKQogewogICAgIFdlYkNvcmU6OnNl
dFNjcmVlblByb3BlcnRpZXMocHJvcGVydGllcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423005</attachid>
            <date>2021-03-11 19:17:35 -0800</date>
            <delta_ts>2021-03-11 19:32:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223062-20210311191734.patch</filename>
            <type>text/plain</type>
            <size>24660</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkY2VjNjAy
MzIxY2U0MGVjMWIzODI1MDMyODc5M2MwNmZmMmUxMTljLi5iZDA1MjU0Zjg5ZDAwMTc0Njk4MzI2
ZWI1YjRiMDhiNzJmZTA2ZTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9k
ZSBpbiBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oOgorCiAyMDIxLTAzLTEwICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcGx1bWJpbmcgZm9yIGBkZWZh
dWx0UGxheWJhY2tSYXRlYCB0byBBVktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZDNjYjI4ZjliNjI0ZGI1ZDNj
MjBlZDZiMjM5MDBhMjYxNDBlMDcyLi5hMWZkODBjOTA2ZWY1OTE0MmFhNWYzZDJkODJmOWE1YTU0
ZWFmZTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDIxLTAzLTExICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBNb2JpbGVB
c3NldCBmb250cyBhcmUgYnJva2VuIGluIFJlYWRlciBtb2RlIGluIFNhZmFyaQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDYyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGVyZSBpcyBhbiBBU0NJSS1h
cnQgZGVzY3JpcHRpb24gb2YgaG93IHZhcmlvdXMga2luZHMgb2YgaW5zdGFsbGVkIGZvbnRzIHdv
cmsgaW4gV2ViS2l0OgorCisgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKystLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBT
YWZhcmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3JtYWwgV0tXZWJWaWV3
cyAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICArPT09PT09PT09PT09PT09PT09PT09
PSsrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCisgICAgICAgIHwgUHJlaW5zdGFsbGVkIEZv
bnRzICAgfHwgSnVzdCB3b3JrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSnVzdCB3
b3JrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8IE1vYmls
ZUFzc2V0IEZvbnRzICAgIHx8IE5lZWRzIGFjY2VzcyB0byBtb2JpbGVhc3NldGQgICAgICAgICAg
ICB8IE5lZWRzIGFjY2VzcyB0byBtb2JpbGVhc3NldGQgYnV0IG5vdCAgICB8CisgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgfHwgKGFuZCBmb250ZCBmb3IgYW55IHN1YnNlcXVlbnQgcmVx
dWVzdHMgIHwgZm9udGQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAg
ICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBhZnRlciB0aGUgZmlyc3QgTW9iaWxlQXNzZXQg
Zm9udCBpcyAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IHVzZWQpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8IEFwcCBjYWxscyBfZ3JhbnRBY2Nlc3NUb0Fzc2V0U2VydmljZXMo
KSB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgdG8gdmVuZCB0aGUgc2FuZGJveCBleHRlbnNpb24gICAg
ICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBBcHAgY2FsbHMgX2dy
YW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IHRvIHZlbmQg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIHRvICAgICAgICB8IEFuZCB0aGVuIHRoZSBhcHAgbmVlZHMg
dG8gdXNlICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgbW9i
aWxlYXNzZXRkICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW5qZWN0ZWRCdW5kbGUgdG8g
YWN0aXZhdGUgdGhlIGZvbnRzIGluIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgd2ViIHByb2Nl
c3MgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgIHx8IFdlYiBwcm9jZXNzIGFsc28gbmVlZHMgYSBjYWxsIHRvICAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgfHwgQ1RGb250TWFuYWdlckVuYWJsZUFsbFVzZXJGb250cygpIGFuZCBhIHwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgICB8fCBzYW5kYm94IGV4dGVuc2lvbiB0byBhY2Nlc3MgZm9udGQgICAgICAg
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAg
IHwgICAgICAgICAgICAgICAgICAgICAgfHwgQWZ0ZXIgdGhpcyBjYWxsIGlzIG1hZGUsIGZvbnQg
cmVxdWVzdHMgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAg
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBnbyB0aHJvdWdoIGZvbnRkIChsaWtlIGZv
ciBub3JtYWwgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IFdLV2ViVmlld3MpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBBbmQgdGhlbiB0
aGUgYXBwIG5lZWRzIHRvIHVzZSAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IEluamVj
dGVkQnVuZGxlIHRvIGFjdGl2YXRlIHRoZSBmb250cyBpbiB8ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwg
dGhlIHdlYiBwcm9jZXNzICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8IFVzZXItaW5zdGFsbGVk
IEZvbnRzIHx8IEludGVudGlvbmFsbHkgZG9lc24ndCB3b3JrICAgICAgICAgICAgICB8IE5lZWRz
IGFjY2VzcyB0byBmb250ZC4gICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAg
ICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCBKdXN0IHdvcmtzICh3ZSBhbHJlYWR5IHZlbmQgdGhlIHNhbmRib3ggfAorICAgICAgICB8
ICAgICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IGV4dGVuc2lvbiB1cG9uIFdLV2ViVmlldyBjcmVhdGlvbikgICAgICB8CisgICAg
ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK
KworICAgICAgICBUaGUgcGFydCB0aGF0IHRoaXMgcGF0Y2ggZml4ZXMgaXMgdGhlICJXZWIgcHJv
Y2VzcyBhbHNvIG5lZWRzIGEgY2FsbCB0byBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZvbnRz
KCkKKyAgICAgICAgYW5kIGEgc2FuZGJveCBleHRlbnNpb24gdG8gYWNjZXNzIGZvbnRkIiB1bmRl
ciBNb2JpbGVBc3NldCBGb250cyAvIFNhZmFyaS4KKworICAgICAgICBGcm9tIGxvb2tpbmcgYXQg
dGhpcyBjaGFydCwgaXQgYmVjb21lcyBjbGVhciB0aGF0IGEgbmV3IG1lc3NhZ2UgaXMgbmVjZXNz
YXJ5IHRoYXQgZG9lczoKKyAgICAgICAgMS4gQWRkcyBhIHNhbmRib3ggZXh0ZW5zaW9uIHNvIHRo
ZSB3ZWIgcHJvY2VzcyBjYW4gYWNjZXNzIGZvbnRkCisgICAgICAgIDIuIENhbGxzIENURm9udE1h
bmFnZXJFbmFibGVBbGxVc2VyRm9udHMoKSB0byBjYXVzZSBwbGF0Zm9ybSBmb250IHJvdXRpbmVz
IHRvIHVzZSBmb250ZAorCisgICAgICAgIFNvIHRoYXQncyBleGFjdGx5IHdoYXQgdGhpcyBwYXRj
aCBkb2VzLiBJdCBhZGRzIG5ldyBXS1dlYlZpZXcgU1BJLAorICAgICAgICBfc3dpdGNoRnJvbVN0
YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSwgd2hpY2ggZG9lcyB0aGVzZSB0d28g
dGhpbmdzLgorCisgICAgICAgIEV2ZW4gd2hlbiB3ZSBzdGFydCB1c2luZyBmb250ZCwgdGhhdCBk
b2Vzbid0IGFsbG93IHVzZXItaW5zdGFsbGVkIGZvbnRzIGluIFdlYktpdCBpbiBTYWZhcmksIGJl
Y2F1c2Ugd2UnbGwgc3RpbGwKKyAgICAgICAgY29udGludWUgdG8gdXNlIGtDVEZvbnRVc2VySW5z
dGFsbGVkQXR0cmlidXRlIC8ga0NURm9udEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlLCBqdXN0IGxp
a2Ugd2UgZG8gaW4gQmlnIFN1ci4KKworICAgICAgICBUZXN0OiBXZWJLaXQuTW9iaWxlQXNzZXRT
YW5kYm94Q2hlY2sKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVm
UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX3N3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJG
b250UmVnaXN0cnldKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdp
c3RyeVRvVXNlckZvbnRSZWdpc3RyeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJz
KToKKyAgICAgICAgKFdlYktpdDo6Y3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpkaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp+V2Vi
UGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzd2l0
Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToKKwogMjAyMS0wMy0x
MSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBS
RUdSRVNTSU9OKHIyNzI0NjkpOiBbV1BFXVtHVEtdIEVwaXBoYW55IFVJIHByb2Nlc3MgY3Jhc2hl
cyB3aGVuIGRvd25sb2FkaW5nIFBERnMsIFdlYktpdFNlY3VyaXR5T3JpZ2luIHNob3VsZCB1c2Ug
U2VjdXJpdHlPcmlnaW5EYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jZi9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ29yZVRl
eHRTUEkuaAppbmRleCA2ZjU2YTFhYzE2NjY3ZDM4YTQ4OWZiMWZhMTI4OGI5MTdjZGJmMGMyLi45
YTZhOGM5OTQ3NTg1YmNiOTE4YzRiZGIyMzU5YTU5MDljYTAzMTlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgKQEAgLTEzMCw2ICsxMzAsNyBAQCBDVEZv
bnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlc0FuZE9w
dGlvbnMoQ0ZEaWN0aW9uYXJ5UgogQ1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnREZXNjcmlwdG9y
Q3JlYXRlTGFzdFJlc29ydCgpOwogCiBDRkFycmF5UmVmIENURm9udE1hbmFnZXJDcmVhdGVGb250
RGVzY3JpcHRvcnNGcm9tRGF0YShDRkRhdGFSZWYpOworYm9vbCBDVEZvbnRNYW5hZ2VyRW5hYmxl
QWxsVXNlckZvbnRzKGJvb2wgcG9zdEZvbnRDaGFuZ2VOb3RpZmljYXRpb24pOwogCiB2b2lkIENU
UGFyYWdyYXBoU3R5bGVTZXRDb21wb3NpdGlvbkxhbmd1YWdlKENUUGFyYWdyYXBoU3R5bGVSZWYs
IENUQ29tcG9zaXRpb25MYW5ndWFnZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IDNjZDRiN2U3NDFl
OWYyMzJkOWE1ODFhNmY3ZDFmYTJmZGY3ZjVkMDcuLjkwNjE5OTIyYzM4MWIyMjRkNWNiNmU1ZjJh
ZWQ2MjFhODQxMjM5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNTQ3LDcgKzU0Nyw3IEBAIFdLX0VY
UE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYpCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0Q1NTT01W
aWV3U2Nyb2xsaW5nQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYpOwogCi0vLyBEZWZhdWx0cyB0byBmYWxzZS4KKy8vIERlZmF1bHRzIHRvIHRy
dWUuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkQWxsb3dVc2VySW5zdGFs
bGVkRm9udHMoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdL
UHJlZmVyZW5jZXNHZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2Vz
UmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KaW5kZXggNjRlOTRlNmUxNDkyMTUzYjMxMzVhNzI2ZGE1MDY4NDQwNWY3OGI5Yi4uYTNkZGYw
MzRmNDYyMWFiZDQ4MTRjNjVkOWIxMTgwNjU0ZWYwZTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yMjM5LDYgKzIyMzksMTIgQEAg
LSAodm9pZClfcmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzCiAgICAgICAgIF9wYWdlLT5yZXZv
a2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMoKTsKIH0KIAorLSAodm9pZClfc3dpdGNoRnJvbVN0YXRp
Y0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeQoreworICAgIGlmIChfcGFnZSkKKyAgICAg
ICAgX3BhZ2UtPnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnko
KTsKK30KKwogLSAoTlNBcnJheSAqKV9jZXJ0aWZpY2F0ZUNoYWluCiB7CiAgICAgaWYgKFdlYktp
dDo6V2ViRnJhbWVQcm94eSogbWFpbkZyYW1lID0gX3BhZ2UtPm1haW5GcmFtZSgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgK
aW5kZXggNjVkMjZhNWQ3ZGM3MmM0MzY1NjlkZTU1Y2E3NWFjY2Q3ZjExNWU4OC4uZDVkNzQ5NmQz
MGY5MmI5NTM1ZDgyYzNjN2E3ODlkN2MyMzYzNTk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC00NTAsNiArNDUw
LDcgQEAgZm9yIHRoaXMgcHJvcGVydHkuCiAKIC0gKHZvaWQpX2dyYW50QWNjZXNzVG9Bc3NldFNl
cnZpY2VzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcygxNC4wKSk7CiAt
ICh2b2lkKV9yZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cyhXS19NQUNfVEJBKSwgaW9zKDE0LjApKTsKKy0gKHZvaWQpX3N3aXRjaEZyb21TdGF0aWNGb250
UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSk7CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA0MGJmNDk4NjlkZjJjYmNkYzhlZWRjOTdhZWRiYzA3
M2RkMmMyMjVhLi44MmJiZTIzMGJkMmNjMzFkZTYwMjc0YWFmODM2ZjBlNDE2YzgxZWJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bQpAQCAtNjM3LDYgKzYzNywxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z3JhbnRBY2Nlc3NUb0Fz
c2V0U2VydmljZXMoKQogICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpH
cmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcyhtb2JpbGVBc3NldEhhbmRsZVYyKSwgMCk7CiB9CiAK
K3ZvaWQgV2ViUGFnZVByb3h5Ojpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9u
dFJlZ2lzdHJ5KCkKK3sKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgZm9udE1hY2hFeHRl
bnNpb25IYW5kbGU7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExv
b2t1cCgiY29tLmFwcGxlLmZvbnRzIl9zLCBXVEY6Om51bGxvcHQsIGZvbnRNYWNoRXh0ZW5zaW9u
SGFuZGxlKTsKKyAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6U3dpdGNo
RnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeShmb250TWFjaEV4dGVuc2lv
bkhhbmRsZSksIDApOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmV2b2tlQWNjZXNzVG9Bc3Nl
dFNlcnZpY2VzKCkKIHsKICAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6
UmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMGJiMmM1MDRjNTBmNzdiYWJmODRiYjUwNTdhOWFhODVi
NDRiMDg5ZS4uMTM1MjRjZjA2YmNmNGY2MmEyYjFhZTMxNDU0NDYxY2NiMmRlNjY1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03NzU4LDM1ICs3NzU4LDYg
QEAgc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBtZWRpYVJlbGF0ZWRJT0tpdENs
YXNzZXMoKQogfQogI2VuZGlmCiAKLSNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotc3Rh
dGljIGJvb2wgY3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24oKQotewotICAgIGF1dG8gY29u
ZmlndXJhdGlvbiA9IGFkb3B0Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlBcHBWYWx1ZShDRlNUUigiUmVh
ZGVyQ29uZmlndXJhdGlvbiIpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBsaWNhdGlvbikpOwot
ICAgIGlmICghY29uZmlndXJhdGlvbiB8fCBDRkdldFR5cGVJRChjb25maWd1cmF0aW9uLmdldCgp
KSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyA9IENGRGljdGlvbmFyeUdldFZhbHVl
KHN0YXRpY19jYXN0PENGRGljdGlvbmFyeVJlZj4oY29uZmlndXJhdGlvbi5nZXQoKSksIENGU1RS
KCJmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnIikpOwotICAgIGlmICghZm9udEZhbWlseU5h
bWVGb3JMYW5ndWFnZVRhZyB8fCBDRkdldFR5cGVJRChmb250RmFtaWx5TmFtZUZvckxhbmd1YWdl
VGFnKSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZ0RpY3Rpb25hcnkgPSBzdGF0aWNf
Y2FzdDxDRkRpY3Rpb25hcnlSZWY+KGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWcpOwotICAg
IGF1dG8gY291bnQgPSBDRkRpY3Rpb25hcnlHZXRDb3VudChmb250RmFtaWx5TmFtZUZvckxhbmd1
YWdlVGFnRGljdGlvbmFyeSk7Ci0gICAgVmVjdG9yPENGVHlwZVJlZj4gZm9udEZhbWlseVZhbHVl
cyhjb3VudCk7Ci0gICAgQ0ZEaWN0aW9uYXJ5R2V0S2V5c0FuZFZhbHVlcyhmb250RmFtaWx5TmFt
ZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSwgbnVsbHB0ciwgZm9udEZhbWlseVZhbHVlcy5kYXRh
KCkpOwotCi0gICAgZm9yIChhdXRvIGZvbnQgOiBmb250RmFtaWx5VmFsdWVzKSB7Ci0gICAgICAg
IGlmICghZm9udCB8fCBDRkdldFR5cGVJRChmb250KSAhPSBDRlN0cmluZ0dldFR5cGVJRCgpKQot
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChTdHJpbmcoc3RhdGljX2Nhc3Q8Q0ZT
dHJpbmdSZWY+KGZvbnQpKSAhPSAiU3lzdGVtIikKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXN0YXRpYyBib29sIGRpc2FibGVTdGF0aWNG
b250UmVnaXN0cnkoKQotewotICAgIHJldHVybiBDRlByZWZlcmVuY2VzR2V0QXBwQm9vbGVhblZh
bHVlKENGU1RSKCJXZWJLaXREaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5IiksIGtDRlByZWZlcmVu
Y2VzQ3VycmVudEFwcGxpY2F0aW9uLCBudWxscHRyKTsKLX0KLSNlbmRpZiAvLyBIQVZFKFNUQVRJ
Q19GT05UX1JFR0lTVFJZKQotCiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94
eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcywgRHJhd2luZ0Fy
ZWFQcm94eSYgZHJhd2luZ0FyZWEsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xpY2llcz4mJiB3ZWJz
aXRlUG9saWNpZXMpCiB7CiAgICAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJz
OwpAQCAtNzg5Miw5ICs3ODYzLDcgQEAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBXZWJQYWdl
UHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHByb2MKICAgICB9CiAj
ZW5kaWYKICNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotICAgIGlmIChkaXNhYmxlU3Rh
dGljRm9udFJlZ2lzdHJ5KCkKLSAgICAgICAgfHwgcHJlZmVyZW5jZXMoKS5zaG91bGRBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250cygpCi0gICAgICAgIHx8IChXZWJDb3JlOjpNYWNBcHBsaWNhdGlvbjo6
aXNTYWZhcmkoKSAmJiBjdXN0b21pemVkUmVhZGVyQ29uZmlndXJhdGlvbigpKSkgeworICAgIGlm
IChwcmVmZXJlbmNlcygpLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpIHsKICAgICAg
ICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlOwogICAg
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBw
bGUuZm9udHMiX3MsIFdURjo6bnVsbG9wdCwgZm9udE1hY2hFeHRlbnNpb25IYW5kbGUpOwogICAg
ICAgICBwYXJhbWV0ZXJzLmZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShmb250TWFj
aEV4dGVuc2lvbkhhbmRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IDk3YjZkMTI5NjA2OWIxYTEwNDNkOTc0NTRhMWFjMzA0MTUwYzUyNDAuLmRjMzg3ZmY0YmUw
NzY2ZTJiYzQ3MGQ0Zjc1ZjNjN2UyN2FlODAxZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC0xNzc2LDYgKzE3NzYsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdy
YW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKCk7CiAgICAgdm9pZCByZXZva2VBY2Nlc3NUb0Fzc2V0
U2VydmljZXMoKTsKKyAgICB2b2lkIHN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJG
b250UmVnaXN0cnkoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgZ3JhbnRBY2Nl
c3NUb1ByZWZlcmVuY2VTZXJ2aWNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU2MmJjMzQ1ZjA3MTUzY2M3Mzk0MWRlOTk5NDc4MWYxMmNi
OTNhNTAuLmY5YTkxYTgyYzdkMTMyOWNhY2Q2ZDk0ZWExMmQ0MzAxY2FjZTM0MjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMDEzLDcgKzEw
MTMsNyBAQCBXZWJQYWdlOjp+V2ViUGFnZSgpCiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihXVEY6Om51bGxvcHQpOwogICAgIH0KICNlbmRpZgotICAgIAorCiAjaWYgSEFWRShTVEFUSUNf
Rk9OVF9SRUdJU1RSWSkKICAgICBpZiAobV9mb250RXh0ZW5zaW9uKQogICAgICAgICBtX2ZvbnRF
eHRlbnNpb24tPnJldm9rZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5k
ZXggNGJlNTVkYmUxYzBhYThmYTQ3MTJmYWE0Y2NmOWZkNTU0ZDkyYjliZS4uNjZlNGIyMzc0ZGQ0
ZDMyMjhiMTRhYTgwMGUxY2QyMmEyNjEyN2Q4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCkBAIC0zNDEsNiArMzQxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBncmFudEFj
Y2Vzc1RvQXNzZXRTZXJ2aWNlcyhXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYmIG1v
YmlsZUFzc2V0VjJIYW5kbGUpOwogICAgIHZvaWQgcmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2Vz
KCk7CisgICAgdm9pZCBzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lz
dHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYgZm9udE1hY2hFeHRlbnNpb25I
YW5kbGUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgdXBkYXRlUGFnZVNjcmVlblBy
b3BlcnRpZXMoKTsKQEAgLTcwMSw2ICs3MDIsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBS
ZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9hc3NldFNlcnZpY2VWMkV4dGVuc2lvbjsKKyAgICBS
ZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9mb250TWFjaEV4dGVuc2lvbjsKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQogICAgIEhhc2hDb3VudGVkU2V0PFN0cmluZz4gbV9wZW5kaW5nUGFzdGVib2Fy
ZFdyaXRlQ291bnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgppbmRleCA5YmM2ZGY3YTliNTlhMTdlM2VjYzBhNjRkNWYxOGQ3NTY4OTI1ODYx
Li5iNGY3N2I5OGEyMjBhMGZjOGIxZjE1ZmRiZTAxMzc2M2U1MTQ5OTQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMTY4LDYgKzE2
OCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgTm90UmVmQ291bnRl
ZCB7CiAKICAgICBHcmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcyhXZWJLaXQ6OlNhbmRib3hFeHRl
bnNpb246OkhhbmRsZSBtb2JpbGVBc3NldFYySGFuZGxlKQogICAgIFJldm9rZUFjY2Vzc1RvQXNz
ZXRTZXJ2aWNlcygpCisgICAgU3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRS
ZWdpc3RyeShXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBmb250TWFjaEV4dGVuc2lv
bkhhbmRsZSkKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFVuYmxvY2tTZXJ2aWNlc1JlcXVp
cmVkQnlBY2Nlc3NpYmlsaXR5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkg
aGFuZGxlQXJyYXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQppbmRleCA1NTJhYWQzODg0NTdmNzE0MjA0OGEyNjFmZjI2ZjI5YzRiYTE5
MWVlLi5iMWNjNzE0YTlkNTBhZGZmNjlkY2FlMjlmMGI0MTc0MDNhMDg0MTdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTEz
NSw2ICsxMzUsNyBAQAogI2ltcG9ydCAiV2ViU3dpdGNoaW5nR1BVQ2xpZW50LmgiCiAjaW1wb3J0
IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlci5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9TY3JvbGxiYXJUaGVtZU1hYy5oPgorI2ltcG9ydCA8cGFsL3NwaS9jZi9Db3JlVGV4dFNQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oPgogI2ltcG9ydCA8cGFs
L3NwaS9tYWMvTlNTY3JvbGxlckltcFNQSS5oPgogI2VuZGlmCkBAIC0xMTYwLDYgKzExNjEsMTcg
QEAgdm9pZCBXZWJQcm9jZXNzOjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMoKQogICAgIG1f
YXNzZXRTZXJ2aWNlVjJFeHRlbnNpb24gPSBudWxscHRyOwogfQogCit2b2lkIFdlYlByb2Nlc3M6
OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoV2ViS2l0OjpT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJiBmb250TWFjaEV4dGVuc2lvbkhhbmRsZSkKK3sKKyAg
ICBpZiAobV9mb250TWFjaEV4dGVuc2lvbikKKyAgICAgICAgcmV0dXJuOworICAgIG1fZm9udE1h
Y2hFeHRlbnNpb24gPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGUoV1RGTW92ZShmb250TWFjaEV4
dGVuc2lvbkhhbmRsZSkpOworICAgIG1fZm9udE1hY2hFeHRlbnNpb24tPmNvbnN1bWUoKTsKKyNp
ZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQorICAgIENURm9udE1hbmFnZXJFbmFibGVBbGxV
c2VyRm9udHModHJ1ZSk7CisjZW5kaWYKK30KKwogdm9pZCBXZWJQcm9jZXNzOjpzZXRTY3JlZW5Q
cm9wZXJ0aWVzKGNvbnN0IFNjcmVlblByb3BlcnRpZXMmIHByb3BlcnRpZXMpCiB7CiAgICAgV2Vi
Q29yZTo6c2V0U2NyZWVuUHJvcGVydGllcyhwcm9wZXJ0aWVzKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmMTczZTBhODYxZTJlNTczMTc2OTNm
NzUwNTdiMzQ2OWZlYWI2ZjQ1Li4xOGY2MTVhOTJiN2ZjZjY3NWVhYjgxYTk2OTU2NGNhNTk5OWMx
NGMxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjEtMDMtMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxk
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIE1vYmlsZUFzc2V0IGZvbnRzIGFyZSBicm9r
ZW4gaW4gUmVhZGVyIG1vZGUgaW4gU2FmYXJpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMwNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0ZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwog
MjAyMS0wMy0xMSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAog
ICAgICAgICBSRUdSRVNTSU9OKHIyNzI0NjkpOiBbV1BFXVtHVEtdIEVwaXBoYW55IFVJIHByb2Nl
c3MgY3Jhc2hlcyB3aGVuIGRvd25sb2FkaW5nIFBERnMsIFdlYktpdFNlY3VyaXR5T3JpZ2luIHNo
b3VsZCB1c2UgU2VjdXJpdHlPcmlnaW5EYXRhCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk1
NzM1OGFjOTgwNGI5ODU5YjcyZWIyNGQ4NmZjNWNhOWExYzI5NDguLjlmNDFiNjhmMjQ1NDIzNzUz
ODNjMzU1NGU3NjFlODQzZmEwNzViMzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTEs
NiArMTExLDcgQEAKIAkJMUM3MzRCNTMyMDc4OEM0ODAwRjQzMEVBIC8qIFN5c3RlbUNvbG9ycy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNzM0QjUy
MjA3ODhDNDgwMEY0MzBFQSAvKiBTeXN0ZW1Db2xvcnMubW0gKi87IH07CiAJCTFDNzkyMDFDMjM0
QkREOUIwMDFFQUYyMyAvKiBDb3B5UlRGLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUM3OTIwMUIyMzRCREQ5QjAwMUVBRjIzIC8qIENvcHlSVEYubW0g
Ki87IH07CiAJCTFDN0ZFQjIwMjA3QzBGMkUwMEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzdGRUIxRjIw
N0MwRjJEMDBEMjMyNzggLyogQmFja2dyb3VuZENvbG9yLm1tICovOyB9OworCQkxQzgxODAyNzI1
RkIwOUUyMDA2MDhCM0UgLyogRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4MTgwMjYyNUZCMDlFMjAwNjA4
QjNFIC8qIEZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbSAqLzsgfTsKIAkJMUM5MDQyMEMyMzI2
RTAzQzAwQkVGOTFFIC8qIFNlbGVjdGlvbkJ5V29yZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOTA0MjBCMjMyNkUwM0MwMEJFRjkxRSAvKiBTZWxl
Y3Rpb25CeVdvcmQubW0gKi87IH07CiAJCTFDOUVCODQxMUUzODBEQTEwMDVDNjQ0MiAvKiBDb21w
bGV4VGV4dENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUM5RUI4NDAxRTM4MERBMTAwNUM2NDQyIC8qIENvbXBsZXhUZXh0Q29udHJv
bGxlci5jcHAgKi87IH07CiAJCTFDQUNBREExMjMwNjIwQUUwMDA3RDU0QyAvKiBXS1dlYlZpZXdP
cGFxdWUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
Q0FDQURBMDIzMDYyMEFEMDAwN0Q1NEMgLyogV0tXZWJWaWV3T3BhcXVlLm1tICovOyB9OwpAQCAt
MTgxMyw2ICsxODE0LDcgQEAKIAkJMUM3MzRCNTIyMDc4OEM0ODAwRjQzMEVBIC8qIFN5c3RlbUNv
bG9ycy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbUNv
bG9ycy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM3OTIwMUIyMzRCREQ5QjAw
MUVBRjIzIC8qIENvcHlSVEYubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBDb3B5UlRGLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzdGRUIxRjIw
N0MwRjJEMDBEMjMyNzggLyogQmFja2dyb3VuZENvbG9yLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gQmFja2dyb3VuZENvbG9yLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQzgxODAyNjI1RkIwOUUyMDA2MDhCM0UgLyogRm9udFJlZ2lzdHJ5U2Fu
ZGJveENoZWNrLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRm9udFJlZ2lzdHJ5U2FuZGJveENo
ZWNrLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNDIwQjIzMjZFMDNDMDBC
RUY5MUUgLyogU2VsZWN0aW9uQnlXb3JkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU2VsZWN0aW9uQnlXb3JkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQzlFQjg0MDFFMzgwREExMDA1QzY0NDIgLyogQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbXBsZXhUZXh0Q29udHJv
bGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUNBREEwMjMwNjIwQUQw
MDA3RDU0QyAvKiBXS1dlYlZpZXdPcGFxdWUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXS1dlYlZpZXdPcGFxdWUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0zMjE2LDYgKzMyMTgsNyBAQAogCQkJCUMxNUNCQjJGMjNGMUZGMUEwMDMwMENDNyAv
KiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAqLywKIAkJCQlDMTY5MkRDOTIzRDEwREFF
MDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLywKIAkJCQlDMTNEODJEODI0MTZGMTMyMDBBNjI3OTMg
LyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLywKKwkJCQkxQzgxODAyNjI1RkIwOUUyMDA2MDhC
M0UgLyogRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tICovLAogCQkJCUUzOTRBRTZFMjNGMjMw
M0UwMDVCNDkzNiAvKiBHcmFudEFjY2Vzc1RvTW9iaWxlQXNzZXRzLm1tICovLAogCQkJCUUzNEE2
RDE4MjQxMkRFMzkwMDEyQUI2RSAvKiBHcmFudEFjY2Vzc1RvUHJlZmVyZW5jZXNTZXJ2aWNlLm1t
ICovLAogCQkJCUUzNUI5MDgxMjNGNjBERDAwMDAwMTFGRiAvKiBMb2NhbGl6ZWREZXZpY2VNb2Rl
bC5tbSAqLywKQEAgLTUzMTUsNiArNTMxOCw3IEBACiAJCQkJRjRCQzBCMTQyMTQ2Qzg0OTAwMkEw
NDc4IC8qIEZvY3VzUHJlc2VydmF0aW9uVGVzdHMubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRTky
QjhGQTIxNjRBMEMxMDA1QjY0RjAgLyogRm9udEF0dHJpYnV0ZXMubW0gaW4gU291cmNlcyAqLywK
IAkJCQlGNDU2QUIxQzIxM0VEQkEzMDBDQjJDRUYgLyogRm9udE1hbmFnZXJUZXN0cy5tbSBpbiBT
b3VyY2VzICovLAorCQkJCTFDODE4MDI3MjVGQjA5RTIwMDYwOEIzRSAvKiBGb250UmVnaXN0cnlT
YW5kYm94Q2hlY2subW0gaW4gU291cmNlcyAqLywKIAkJCQkxQ0Y1OUFFMzIxRTY4OTMyMDA2RTM3
RUMgLyogRm9yY2VMaWdodEFwcGVhcmFuY2VJbkJ1bmRsZS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTdDQ0U3RUY1MUE0MTFBRTYwMDQ0N0M0QyAvKiBGb3JjZVJlcGFpbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRjRGQTI4MkEyNENEMDEyNzAwNjE4QTQ2IC8qIEZvcm1WYWxpZGF0aW9uLm1tIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9Gb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9Gb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2NhMjZiODkx
YTYwY2QwYWM2Y2EzODQ0N2MwYTJkZGE0NWU5YmNhNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbQpA
QCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBX
S19IQVZFX0NfU1BJCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJU
ZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4K
KyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CisKK1RFU1QoV2ViS2l0LCBGb250
ZFNhbmRib3hDaGVjaykKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0
KCkucHJlZmVyZW5jZXMuX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzID0gTk87CisgICAg
YXV0byBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0
Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7Cisg
ICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29u
dGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0
aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBhdXRvIHNh
bmRib3hBY2Nlc3MgPSBbJl0geworICAgICAgICByZXR1cm4gW3dlYlZpZXcgc3RyaW5nQnlFdmFs
dWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy5pbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBB
Y2Nlc3NUb1hQQ1NlcnZpY2VOYW1lKCdjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQnLCAnY29t
LmFwcGxlLmZvbnRzJykiXS5ib29sVmFsdWU7CisgICAgfTsKKworICAgIEFTU0VSVF9GQUxTRShz
YW5kYm94QWNjZXNzKCkpOworCisgICAgW3dlYlZpZXcgX3N3aXRjaEZyb21TdGF0aWNGb250UmVn
aXN0cnlUb1VzZXJGb250UmVnaXN0cnldOworCisgICAgQVNTRVJUX1RSVUUoc2FuZGJveEFjY2Vz
cygpKTsKK30KKworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423007</attachid>
            <date>2021-03-11 19:32:04 -0800</date>
            <delta_ts>2021-03-11 23:01:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223062-20210311193203.patch</filename>
            <type>text/plain</type>
            <size>26648</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkY2VjNjAy
MzIxY2U0MGVjMWIzODI1MDMyODc5M2MwNmZmMmUxMTljLi5iZDA1MjU0Zjg5ZDAwMTc0Njk4MzI2
ZWI1YjRiMDhiNzJmZTA2ZTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9k
ZSBpbiBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oOgorCiAyMDIxLTAzLTEwICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcGx1bWJpbmcgZm9yIGBkZWZh
dWx0UGxheWJhY2tSYXRlYCB0byBBVktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZDNjYjI4ZjliNjI0ZGI1ZDNj
MjBlZDZiMjM5MDBhMjYxNDBlMDcyLi45YzNmOWQxNzViNzQzODhmZTExMjM0MGExY2U1NzBkNjA1
NGU3MTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDIxLTAzLTExICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBNb2JpbGVB
c3NldCBmb250cyBhcmUgYnJva2VuIGluIFJlYWRlciBtb2RlIGluIFNhZmFyaQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDYyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGVyZSBpcyBhbiBBU0NJSS1h
cnQgZGVzY3JpcHRpb24gb2YgaG93IHZhcmlvdXMga2luZHMgb2YgaW5zdGFsbGVkIGZvbnRzIHdv
cmsgaW4gV2ViS2l0OgorCisgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKystLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBT
YWZhcmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3JtYWwgV0tXZWJWaWV3
cyAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICArPT09PT09PT09PT09PT09PT09PT09
PSsrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCisgICAgICAgIHwgUHJlaW5zdGFsbGVkIEZv
bnRzICAgfHwgSnVzdCB3b3JrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSnVzdCB3
b3JrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8IE1vYmls
ZUFzc2V0IEZvbnRzICAgIHx8IE5lZWRzIGFjY2VzcyB0byBtb2JpbGVhc3NldGQgICAgICAgICAg
ICB8IE5lZWRzIGFjY2VzcyB0byBtb2JpbGVhc3NldGQgYnV0IG5vdCAgICB8CisgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgfHwgKGFuZCBmb250ZCBmb3IgYW55IHN1YnNlcXVlbnQgcmVx
dWVzdHMgIHwgZm9udGQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAg
ICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBhZnRlciB0aGUgZmlyc3QgTW9iaWxlQXNzZXQg
Zm9udCBpcyAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IHVzZWQpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8IEFwcCBjYWxscyBfZ3JhbnRBY2Nlc3NUb0Fzc2V0U2VydmljZXMo
KSB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgdG8gdmVuZCB0aGUgc2FuZGJveCBleHRlbnNpb24gICAg
ICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBBcHAgY2FsbHMgX2dy
YW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IHRvIHZlbmQg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIHRvICAgICAgICB8IEFuZCB0aGVuIHRoZSBhcHAgbmVlZHMg
dG8gdXNlICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgbW9i
aWxlYXNzZXRkICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW5qZWN0ZWRCdW5kbGUgdG8g
YWN0aXZhdGUgdGhlIGZvbnRzIGluIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgd2ViIHByb2Nl
c3MgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgIHx8IFdlYiBwcm9jZXNzIGFsc28gbmVlZHMgYSBjYWxsIHRvICAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgfHwgQ1RGb250TWFuYWdlckVuYWJsZUFsbFVzZXJGb250cygpIGFuZCBhIHwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgICB8fCBzYW5kYm94IGV4dGVuc2lvbiB0byBhY2Nlc3MgZm9udGQgICAgICAg
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAg
IHwgICAgICAgICAgICAgICAgICAgICAgfHwgQWZ0ZXIgdGhpcyBjYWxsIGlzIG1hZGUsIGZvbnQg
cmVxdWVzdHMgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAg
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBnbyB0aHJvdWdoIGZvbnRkIChsaWtlIGZv
ciBub3JtYWwgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IFdLV2ViVmlld3MpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBBbmQgdGhlbiB0
aGUgYXBwIG5lZWRzIHRvIHVzZSAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IEluamVj
dGVkQnVuZGxlIHRvIGFjdGl2YXRlIHRoZSBmb250cyBpbiB8ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwg
dGhlIHdlYiBwcm9jZXNzICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8IFVzZXItaW5zdGFsbGVk
IEZvbnRzIHx8IEludGVudGlvbmFsbHkgZG9lc24ndCB3b3JrICAgICAgICAgICAgICB8IE5lZWRz
IGFjY2VzcyB0byBmb250ZC4gICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAg
ICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCBKdXN0IHdvcmtzICh3ZSBhbHJlYWR5IHZlbmQgdGhlIHNhbmRib3ggfAorICAgICAgICB8
ICAgICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IGV4dGVuc2lvbiB1cG9uIFdLV2ViVmlldyBjcmVhdGlvbikgICAgICB8CisgICAg
ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK
KworICAgICAgICBUaGUgcGFydCB0aGF0IHRoaXMgcGF0Y2ggZml4ZXMgaXMgdGhlICJXZWIgcHJv
Y2VzcyBhbHNvIG5lZWRzIGEgY2FsbCB0byBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZvbnRz
KCkKKyAgICAgICAgYW5kIGEgc2FuZGJveCBleHRlbnNpb24gdG8gYWNjZXNzIGZvbnRkIiB1bmRl
ciBNb2JpbGVBc3NldCBGb250cyAvIFNhZmFyaS4KKworICAgICAgICBGcm9tIGxvb2tpbmcgYXQg
dGhpcyBjaGFydCwgaXQgYmVjb21lcyBjbGVhciB0aGF0IGEgbmV3IG1lc3NhZ2UgaXMgbmVjZXNz
YXJ5IHRoYXQgZG9lczoKKyAgICAgICAgMS4gQWRkcyBhIHNhbmRib3ggZXh0ZW5zaW9uIHNvIHRo
ZSB3ZWIgcHJvY2VzcyBjYW4gYWNjZXNzIGZvbnRkCisgICAgICAgIDIuIENhbGxzIENURm9udE1h
bmFnZXJFbmFibGVBbGxVc2VyRm9udHMoKSB0byBjYXVzZSBwbGF0Zm9ybSBmb250IHJvdXRpbmVz
IHRvIHVzZSBmb250ZAorCisgICAgICAgIFNvIHRoYXQncyBleGFjdGx5IHdoYXQgdGhpcyBwYXRj
aCBkb2VzLiBJdCBhZGRzIG5ldyBXS1dlYlZpZXcgU1BJLAorICAgICAgICBfc3dpdGNoRnJvbVN0
YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSwgd2hpY2ggZG9lcyB0aGVzZSB0d28g
dGhpbmdzLgorCisgICAgICAgIEV2ZW4gd2hlbiB3ZSBzdGFydCB1c2luZyBmb250ZCwgdGhhdCBk
b2Vzbid0IGFsbG93IHVzZXItaW5zdGFsbGVkIGZvbnRzIGluIFdlYktpdCBpbiBTYWZhcmksIGJl
Y2F1c2Ugd2UnbGwgc3RpbGwKKyAgICAgICAgY29udGludWUgdG8gdXNlIGtDVEZvbnRVc2VySW5z
dGFsbGVkQXR0cmlidXRlIC8ga0NURm9udEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlLCBqdXN0IGxp
a2Ugd2UgZG8gaW4gQmlnIFN1ci4KKworICAgICAgICBUZXN0OiBXZWJLaXQuTW9iaWxlQXNzZXRT
YW5kYm94Q2hlY2sKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVm
UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX3N3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJG
b250UmVnaXN0cnldKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdp
c3RyeVRvVXNlckZvbnRSZWdpc3RyeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJz
KToKKyAgICAgICAgKFdlYktpdDo6Y3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpkaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp+V2Vi
UGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzd2l0
Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NQbGF5U3RhdGlvbi5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVn
aXN0cnlUb1VzZXJGb250UmVnaXN0cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3Mvd2luL1dlYlBy
b2Nlc3NXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzd2l0Y2hGcm9tU3Rh
dGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToKKwogMjAyMS0wMy0xMSAgTWljaGFl
bCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9O
KHIyNzI0NjkpOiBbV1BFXVtHVEtdIEVwaXBoYW55IFVJIHByb2Nlc3MgY3Jhc2hlcyB3aGVuIGRv
d25sb2FkaW5nIFBERnMsIFdlYktpdFNlY3VyaXR5T3JpZ2luIHNob3VsZCB1c2UgU2VjdXJpdHlP
cmlnaW5EYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3Jl
VGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaApp
bmRleCA2ZjU2YTFhYzE2NjY3ZDM4YTQ4OWZiMWZhMTI4OGI5MTdjZGJmMGMyLi45YTZhOGM5OTQ3
NTg1YmNiOTE4YzRiZGIyMzU5YTU5MDljYTAzMTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgKQEAgLTEzMCw2ICsxMzAsNyBAQCBDVEZvbnREZXNjcmlw
dG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlc0FuZE9wdGlvbnMoQ0ZE
aWN0aW9uYXJ5UgogQ1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnREZXNjcmlwdG9yQ3JlYXRlTGFz
dFJlc29ydCgpOwogCiBDRkFycmF5UmVmIENURm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRv
cnNGcm9tRGF0YShDRkRhdGFSZWYpOworYm9vbCBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZv
bnRzKGJvb2wgcG9zdEZvbnRDaGFuZ2VOb3RpZmljYXRpb24pOwogCiB2b2lkIENUUGFyYWdyYXBo
U3R5bGVTZXRDb21wb3NpdGlvbkxhbmd1YWdlKENUUGFyYWdyYXBoU3R5bGVSZWYsIENUQ29tcG9z
aXRpb25MYW5ndWFnZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IDNjZDRiN2U3NDFlOWYyMzJkOWE1
ODFhNmY3ZDFmYTJmZGY3ZjVkMDcuLjkwNjE5OTIyYzM4MWIyMjRkNWNiNmU1ZjJhZWQ2MjFhODQx
MjM5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNTQ3LDcgKzU0Nyw3IEBAIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRTeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYpCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0Q1NTT01WaWV3U2Nyb2xs
aW5nQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdLX0VYUE9SVCBib29sIFdL
UHJlZmVyZW5jZXNHZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYpOwogCi0vLyBEZWZhdWx0cyB0byBmYWxzZS4KKy8vIERlZmF1bHRzIHRvIHRydWUuCiBXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXgg
NjRlOTRlNmUxNDkyMTUzYjMxMzVhNzI2ZGE1MDY4NDQwNWY3OGI5Yi4uYTNkZGYwMzRmNDYyMWFi
ZDQ4MTRjNjVkOWIxMTgwNjU0ZWYwZTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yMjM5LDYgKzIyMzksMTIgQEAgLSAodm9pZClf
cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzCiAgICAgICAgIF9wYWdlLT5yZXZva2VBY2Nlc3NU
b0Fzc2V0U2VydmljZXMoKTsKIH0KIAorLSAodm9pZClfc3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdp
c3RyeVRvVXNlckZvbnRSZWdpc3RyeQoreworICAgIGlmIChfcGFnZSkKKyAgICAgICAgX3BhZ2Ut
PnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoKTsKK30KKwog
LSAoTlNBcnJheSAqKV9jZXJ0aWZpY2F0ZUNoYWluCiB7CiAgICAgaWYgKFdlYktpdDo6V2ViRnJh
bWVQcm94eSogbWFpbkZyYW1lID0gX3BhZ2UtPm1haW5GcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNjVk
MjZhNWQ3ZGM3MmM0MzY1NjlkZTU1Y2E3NWFjY2Q3ZjExNWU4OC4uZDVkNzQ5NmQzMGY5MmI5NTM1
ZDgyYzNjN2E3ODlkN2MyMzYzNTk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC00NTAsNiArNDUwLDcgQEAgZm9y
IHRoaXMgcHJvcGVydHkuCiAKIC0gKHZvaWQpX2dyYW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcygxNC4wKSk7CiAtICh2b2lkKV9y
ZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKDE0LjApKTsKKy0gKHZvaWQpX3N3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlU
b1VzZXJGb250UmVnaXN0cnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSk7CiAK
IEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQppbmRleCA0MGJmNDk4NjlkZjJjYmNkYzhlZWRjOTdhZWRiYzA3M2RkMmMyMjVh
Li40Y2UxNmE0OWY1YjVkOWIzYTk2YzVlMDIzOWY1NjRjYmY5MjRkYzU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNjQy
LDYgKzY0MiwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZp
Y2VzKCkKICAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6UmV2b2tlQWNj
ZXNzVG9Bc3NldFNlcnZpY2VzKCksIDApOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c3dpdGNo
RnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSgpCit7CisgICAgU2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlOworICAgIFNhbmRib3hF
eHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBsZS5mb250cyJfcywg
V1RGOjpudWxsb3B0LCBmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7CisgICAgcHJvY2VzcygpLnNl
bmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1Vz
ZXJGb250UmVnaXN0cnkoZm9udE1hY2hFeHRlbnNpb25IYW5kbGUpLCAwKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMGJiMmM1MDRjNTBmNzdiYWJmODRi
YjUwNTdhOWFhODViNDRiMDg5ZS4uMTM1MjRjZjA2YmNmNGY2MmEyYjFhZTMxNDU0NDYxY2NiMmRl
NjY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03NzU4
LDM1ICs3NzU4LDYgQEAgc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBtZWRpYVJl
bGF0ZWRJT0tpdENsYXNzZXMoKQogfQogI2VuZGlmCiAKLSNpZiBIQVZFKFNUQVRJQ19GT05UX1JF
R0lTVFJZKQotc3RhdGljIGJvb2wgY3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24oKQotewot
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlBcHBWYWx1
ZShDRlNUUigiUmVhZGVyQ29uZmlndXJhdGlvbiIpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBs
aWNhdGlvbikpOwotICAgIGlmICghY29uZmlndXJhdGlvbiB8fCBDRkdldFR5cGVJRChjb25maWd1
cmF0aW9uLmdldCgpKSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyA9IENGRGljdGlv
bmFyeUdldFZhbHVlKHN0YXRpY19jYXN0PENGRGljdGlvbmFyeVJlZj4oY29uZmlndXJhdGlvbi5n
ZXQoKSksIENGU1RSKCJmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnIikpOwotICAgIGlmICgh
Zm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyB8fCBDRkdldFR5cGVJRChmb250RmFtaWx5TmFt
ZUZvckxhbmd1YWdlVGFnKSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZ0RpY3Rpb25h
cnkgPSBzdGF0aWNfY2FzdDxDRkRpY3Rpb25hcnlSZWY+KGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3Vh
Z2VUYWcpOwotICAgIGF1dG8gY291bnQgPSBDRkRpY3Rpb25hcnlHZXRDb3VudChmb250RmFtaWx5
TmFtZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSk7Ci0gICAgVmVjdG9yPENGVHlwZVJlZj4gZm9u
dEZhbWlseVZhbHVlcyhjb3VudCk7Ci0gICAgQ0ZEaWN0aW9uYXJ5R2V0S2V5c0FuZFZhbHVlcyhm
b250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSwgbnVsbHB0ciwgZm9udEZhbWls
eVZhbHVlcy5kYXRhKCkpOwotCi0gICAgZm9yIChhdXRvIGZvbnQgOiBmb250RmFtaWx5VmFsdWVz
KSB7Ci0gICAgICAgIGlmICghZm9udCB8fCBDRkdldFR5cGVJRChmb250KSAhPSBDRlN0cmluZ0dl
dFR5cGVJRCgpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChTdHJpbmcoc3Rh
dGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KGZvbnQpKSAhPSAiU3lzdGVtIikKLSAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXN0YXRpYyBib29sIGRp
c2FibGVTdGF0aWNGb250UmVnaXN0cnkoKQotewotICAgIHJldHVybiBDRlByZWZlcmVuY2VzR2V0
QXBwQm9vbGVhblZhbHVlKENGU1RSKCJXZWJLaXREaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5Iiks
IGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uLCBudWxscHRyKTsKLX0KLSNlbmRpZiAv
LyBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotCiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
IFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
cywgRHJhd2luZ0FyZWFQcm94eSYgZHJhd2luZ0FyZWEsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xp
Y2llcz4mJiB3ZWJzaXRlUG9saWNpZXMpCiB7CiAgICAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyBwYXJhbWV0ZXJzOwpAQCAtNzg5Miw5ICs3ODYzLDcgQEAgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyBXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHBy
b2MKICAgICB9CiAjZW5kaWYKICNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotICAgIGlm
IChkaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5KCkKLSAgICAgICAgfHwgcHJlZmVyZW5jZXMoKS5z
aG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpCi0gICAgICAgIHx8IChXZWJDb3JlOjpNYWNB
cHBsaWNhdGlvbjo6aXNTYWZhcmkoKSAmJiBjdXN0b21pemVkUmVhZGVyQ29uZmlndXJhdGlvbigp
KSkgeworICAgIGlmIChwcmVmZXJlbmNlcygpLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCkpIHsKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9u
SGFuZGxlOwogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9v
a3VwKCJjb20uYXBwbGUuZm9udHMiX3MsIFdURjo6bnVsbG9wdCwgZm9udE1hY2hFeHRlbnNpb25I
YW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJzLmZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlID0gV1RG
TW92ZShmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCmluZGV4IDk3YjZkMTI5NjA2OWIxYTEwNDNkOTc0NTRhMWFjMzA0MTUwYzUyNDAu
LmRjMzg3ZmY0YmUwNzY2ZTJiYzQ3MGQ0Zjc1ZjNjN2UyN2FlODAxZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNzc2LDYgKzE3NzYsNyBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGdyYW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKCk7CiAgICAgdm9pZCByZXZva2VB
Y2Nlc3NUb0Fzc2V0U2VydmljZXMoKTsKKyAgICB2b2lkIHN3aXRjaEZyb21TdGF0aWNGb250UmVn
aXN0cnlUb1VzZXJGb250UmVnaXN0cnkoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZv
aWQgZ3JhbnRBY2Nlc3NUb1ByZWZlcmVuY2VTZXJ2aWNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU2MmJjMzQ1ZjA3MTUzY2M3Mzk0MWRl
OTk5NDc4MWYxMmNiOTNhNTAuLmY5YTkxYTgyYzdkMTMyOWNhY2Q2ZDk0ZWExMmQ0MzAxY2FjZTM0
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBA
IC0xMDEzLDcgKzEwMTMsNyBAQCBXZWJQYWdlOjp+V2ViUGFnZSgpCiAgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihXVEY6Om51bGxvcHQpOwogICAgIH0KICNlbmRpZgotICAgIAorCiAjaWYg
SEFWRShTVEFUSUNfRk9OVF9SRUdJU1RSWSkKICAgICBpZiAobV9mb250RXh0ZW5zaW9uKQogICAg
ICAgICBtX2ZvbnRFeHRlbnNpb24tPnJldm9rZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKaW5kZXggNGJlNTVkYmUxYzBhYThmYTQ3MTJmYWE0Y2NmOWZkNTU0ZDkyYjliZS4u
NjZlNGIyMzc0ZGQ0ZDMyMjhiMTRhYTgwMGUxY2QyMmEyNjEyN2Q4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0zNDEsNiArMzQxLDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBncmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcyhXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246
OkhhbmRsZSYmIG1vYmlsZUFzc2V0VjJIYW5kbGUpOwogICAgIHZvaWQgcmV2b2tlQWNjZXNzVG9B
c3NldFNlcnZpY2VzKCk7CisgICAgdm9pZCBzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9V
c2VyRm9udFJlZ2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYgZm9udE1h
Y2hFeHRlbnNpb25IYW5kbGUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgdXBkYXRl
UGFnZVNjcmVlblByb3BlcnRpZXMoKTsKQEAgLTcwMSw2ICs3MDIsNyBAQCBwcml2YXRlOgogI2Vu
ZGlmCiAKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9hc3NldFNlcnZpY2VWMkV4dGVu
c2lvbjsKKyAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9mb250TWFjaEV4dGVuc2lvbjsK
IAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIEhhc2hDb3VudGVkU2V0PFN0cmluZz4gbV9wZW5k
aW5nUGFzdGVib2FyZFdyaXRlQ291bnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA5YmM2ZGY3YTliNTlhMTdlM2VjYzBhNjRkNWYx
OGQ3NTY4OTI1ODYxLi5iNGY3N2I5OGEyMjBhMGZjOGIxZjE1ZmRiZTAxMzc2M2U1MTQ5OTQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtMTY4LDYgKzE2OCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIg
Tm90UmVmQ291bnRlZCB7CiAKICAgICBHcmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcyhXZWJLaXQ6
OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBtb2JpbGVBc3NldFYySGFuZGxlKQogICAgIFJldm9r
ZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpCisgICAgU3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3Ry
eVRvVXNlckZvbnRSZWdpc3RyeShXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBmb250
TWFjaEV4dGVuc2lvbkhhbmRsZSkKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFVuYmxvY2tT
ZXJ2aWNlc1JlcXVpcmVkQnlBY2Nlc3NpYmlsaXR5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlQXJyYXkgaGFuZGxlQXJyYXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCA1NTJhYWQzODg0NTdmNzE0MjA0OGEyNjFm
ZjI2ZjI5YzRiYTE5MWVlLi5iMWNjNzE0YTlkNTBhZGZmNjlkY2FlMjlmMGI0MTc0MDNhMDg0MTdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0KQEAgLTEzNSw2ICsxMzUsNyBAQAogI2ltcG9ydCAiV2ViU3dpdGNoaW5nR1BVQ2xpZW50
LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxiYXJUaGVtZU1hYy5oPgorI2ltcG9ydCA8cGFsL3NwaS9j
Zi9Db3JlVGV4dFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oPgog
I2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTY3JvbGxlckltcFNQSS5oPgogI2VuZGlmCkBAIC0xMTYw
LDYgKzExNjEsMTcgQEAgdm9pZCBXZWJQcm9jZXNzOjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2Vydmlj
ZXMoKQogICAgIG1fYXNzZXRTZXJ2aWNlVjJFeHRlbnNpb24gPSBudWxscHRyOwogfQogCit2b2lk
IFdlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0
cnkoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJiBmb250TWFjaEV4dGVuc2lvbkhh
bmRsZSkKK3sKKyAgICBpZiAobV9mb250TWFjaEV4dGVuc2lvbikKKyAgICAgICAgcmV0dXJuOwor
ICAgIG1fZm9udE1hY2hFeHRlbnNpb24gPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGUoV1RGTW92
ZShmb250TWFjaEV4dGVuc2lvbkhhbmRsZSkpOworICAgIG1fZm9udE1hY2hFeHRlbnNpb24tPmNv
bnN1bWUoKTsKKyNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQorICAgIENURm9udE1hbmFn
ZXJFbmFibGVBbGxVc2VyRm9udHModHJ1ZSk7CisjZW5kaWYKK30KKwogdm9pZCBXZWJQcm9jZXNz
OjpzZXRTY3JlZW5Qcm9wZXJ0aWVzKGNvbnN0IFNjcmVlblByb3BlcnRpZXMmIHByb3BlcnRpZXMp
CiB7CiAgICAgV2ViQ29yZTo6c2V0U2NyZWVuUHJvcGVydGllcyhwcm9wZXJ0aWVzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcAppbmRleCAz
MjA2OTkxOGMyZmZiNjJjZGQwNDIxZTFjODkxZTQ1MmRlNzViOWUxLi5iYWQwMDE0NmQ4ODYzNTIz
MGIwYTU3MWE5OTM5YzIxY2Q4YTY0ODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwCkBAIC0xMzYsNCArMTM2LDggQEAgdm9pZCBXZWJQ
cm9jZXNzOjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMoKQogewogfQogCit2b2lkIFdlYlBy
b2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoV2Vi
S2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJikKK3sKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24v
V2ViUHJvY2Vzc1BsYXlTdGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5
c3RhdGlvbi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwCmluZGV4IDMzNmQ4ZWJkMDc2ZGUxMWI5
NjM0YTlhY2YyODcxYzdlZjk2ZDVhNWEuLjlkYjU5M2NiYzE1NjNmYzJmMmQwZTQzODkzYzQ5YWM5
NTJhMDVmYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlv
bi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwCkBAIC01Miw0ICs1Miw4IEBA
IHZvaWQgV2ViUHJvY2Vzczo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkKIHsKIH0KIAor
dm9pZCBXZWJQcm9jZXNzOjpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJl
Z2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpCit7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dp
bi9XZWJQcm9jZXNzV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJv
Y2Vzc1dpbi5jcHAKaW5kZXggYTA2Yjg4NzU3N2E1MTY4OWIwYmJjYmUzMDVhMzQ5MzMyZWM1MjVl
OS4uMDViMzVjYWQ1MGE4OTZmNTE1OGY5YzM5NmE4ZDljNzMwNzc0MTA1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzV2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NXaW4uY3BwCkBAIC01OSw0ICs1OSw4
IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkKIHsKIH0K
IAordm9pZCBXZWJQcm9jZXNzOjpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9u
dFJlZ2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpCit7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGYxNzNlMGE4NjFlMmU1NzMxNzY5M2Y3NTA1N2IzNDY5ZmVhYjZmNDUu
LjlmMzkxYTYwNmMyNDk0ZjQwYTIxM2E4NDIxYTNjYjcyOTVkZTk5YWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
MS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAg
ICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9kZSBp
biBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJv
eENoZWNrLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRp
b24vV2ViUHJvY2Vzc1BsYXlTdGF0aW9uLmNwcC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAz
LTExICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAgICAgICAg
IFJFR1JFU1NJT04ocjI3MjQ2OSk6IFtXUEVdW0dUS10gRXBpcGhhbnkgVUkgcHJvY2VzcyBjcmFz
aGVzIHdoZW4gZG93bmxvYWRpbmcgUERGcywgV2ViS2l0U2VjdXJpdHlPcmlnaW4gc2hvdWxkIHVz
ZSBTZWN1cml0eU9yaWdpbkRhdGEKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTU3MzU4YWM5
ODA0Yjk4NTliNzJlYjI0ZDg2ZmM1Y2E5YTFjMjk0OC4uOWY0MWI2OGYyNDU0MjM3NTM4M2MzNTU0
ZTc2MWU4NDNmYTA3NWIzNSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMSw2ICsxMTEs
NyBAQAogCQkxQzczNEI1MzIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM3MzRCNTIyMDc4OEM0
ODAwRjQzMEVBIC8qIFN5c3RlbUNvbG9ycy5tbSAqLzsgfTsKIAkJMUM3OTIwMUMyMzRCREQ5QjAw
MUVBRjIzIC8qIENvcHlSVEYubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQzc5MjAxQjIzNEJERDlCMDAxRUFGMjMgLyogQ29weVJURi5tbSAqLzsgfTsK
IAkJMUM3RkVCMjAyMDdDMEYyRTAwRDIzMjc4IC8qIEJhY2tncm91bmRDb2xvci5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDN0ZFQjFGMjA3QzBGMkQw
MEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gKi87IH07CisJCTFDODE4MDI3MjVGQjA5RTIw
MDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgxODAyNjI1RkIwOUUyMDA2MDhCM0UgLyog
Rm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tICovOyB9OwogCQkxQzkwNDIwQzIzMjZFMDNDMDBC
RUY5MUUgLyogU2VsZWN0aW9uQnlXb3JkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUM5MDQyMEIyMzI2RTAzQzAwQkVGOTFFIC8qIFNlbGVjdGlvbkJ5
V29yZC5tbSAqLzsgfTsKIAkJMUM5RUI4NDExRTM4MERBMTAwNUM2NDQyIC8qIENvbXBsZXhUZXh0
Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQzlFQjg0MDFFMzgwREExMDA1QzY0NDIgLyogQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cCAqLzsgfTsKIAkJMUNBQ0FEQTEyMzA2MjBBRTAwMDdENTRDIC8qIFdLV2ViVmlld09wYXF1ZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQUNBREEw
MjMwNjIwQUQwMDA3RDU0QyAvKiBXS1dlYlZpZXdPcGFxdWUubW0gKi87IH07CkBAIC0xODEzLDYg
KzE4MTQsNyBAQAogCQkxQzczNEI1MjIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtQ29sb3JzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzc5MjAxQjIzNEJERDlCMDAxRUFGMjMg
LyogQ29weVJURi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENv
cHlSVEYubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDN0ZFQjFGMjA3QzBGMkQw
MEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBCYWNrZ3JvdW5kQ29sb3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5kYm94Q2hl
Y2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA0MjBCMjMyNkUwM0MwMEJFRjkxRSAv
KiBTZWxlY3Rpb25CeVdvcmQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBTZWxlY3Rpb25CeVdvcmQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFD
OUVCODQwMUUzODBEQTEwMDVDNjQ0MiAvKiBDb21wbGV4VGV4dENvbnRyb2xsZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBQ0FEQTAyMzA2MjBBRDAwMDdENTRD
IC8qIFdLV2ViVmlld09wYXF1ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdLV2ViVmlld09wYXF1ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTMyMTYsNiArMzIxOCw3IEBACiAJCQkJQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2ts
aWdodExldmVsTm90aWZpY2F0aW9uLm1tICovLAogCQkJCUMxNjkyREM5MjNEMTBEQUUwMDZFODhG
NyAvKiBCYXR0ZXJ5Lm1tICovLAogCQkJCUMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFi
bGVBY2Nlc3NpYmlsaXR5Lm1tICovLAorCQkJCTFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBG
b250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gKi8sCiAJCQkJRTM5NEFFNkUyM0YyMzAzRTAwNUI0
OTM2IC8qIEdyYW50QWNjZXNzVG9Nb2JpbGVBc3NldHMubW0gKi8sCiAJCQkJRTM0QTZEMTgyNDEy
REUzOTAwMTJBQjZFIC8qIEdyYW50QWNjZXNzVG9QcmVmZXJlbmNlc1NlcnZpY2UubW0gKi8sCiAJ
CQkJRTM1QjkwODEyM0Y2MEREMDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLm1tICov
LApAQCAtNTMxNSw2ICs1MzE4LDcgQEAKIAkJCQlGNEJDMEIxNDIxNDZDODQ5MDAyQTA0NzggLyog
Rm9jdXNQcmVzZXJ2YXRpb25UZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJFOTJCOEZBMjE2
NEEwQzEwMDVCNjRGMCAvKiBGb250QXR0cmlidXRlcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0
NTZBQjFDMjEzRURCQTMwMENCMkNFRiAvKiBGb250TWFuYWdlclRlc3RzLm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJMUM4MTgwMjcyNUZCMDlFMjAwNjA4QjNFIC8qIEZvbnRSZWdpc3RyeVNhbmRib3hD
aGVjay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFDRjU5QUUzMjFFNjg5MzIwMDZFMzdFQyAvKiBG
b3JjZUxpZ2h0QXBwZWFyYW5jZUluQnVuZGxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdF
RjUxQTQxMUFFNjAwNDQ3QzRDIC8qIEZvcmNlUmVwYWludC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGNEZBMjgyQTI0Q0QwMTI3MDA2MThBNDYgLyogRm9ybVZhbGlkYXRpb24ubW0gaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZvbnRS
ZWdpc3RyeVNhbmRib3hDaGVjay5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0ZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Y2EyNmI4OTFhNjBjZDBh
YzZjYTM4NDQ3YzBhMmRkYTQ1ZTliY2E1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tCkBAIC0wLDAg
KzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVf
Q19TUEkKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dl
YlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oPgorI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKworVEVTVChXZWJLaXQsIEZvbnRkU2FuZGJv
eENoZWNrKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcmVm
ZXJlbmNlcy5fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPSBOTzsKKyAgICBhdXRvIGNv
bnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmpl
Y3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25m
aWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0Lmdl
dCgpOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIGF1dG8gc2FuZGJveEFj
Y2VzcyA9IFsmXSB7CisgICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1Rv
WFBDU2VydmljZU5hbWUoJ2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCcsICdjb20uYXBwbGUu
Zm9udHMnKSJdLmJvb2xWYWx1ZTsKKyAgICB9OworCisgICAgQVNTRVJUX0ZBTFNFKHNhbmRib3hB
Y2Nlc3MoKSk7CisKKyAgICBbd2ViVmlldyBfc3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRv
VXNlckZvbnRSZWdpc3RyeV07CisKKyAgICBBU1NFUlRfVFJVRShzYW5kYm94QWNjZXNzKCkpOwor
fQorCisjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423016</attachid>
            <date>2021-03-11 23:01:38 -0800</date>
            <delta_ts>2021-03-11 23:05:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223062-20210311230138.patch</filename>
            <type>text/plain</type>
            <size>27390</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkY2VjNjAy
MzIxY2U0MGVjMWIzODI1MDMyODc5M2MwNmZmMmUxMTljLi5iZDA1MjU0Zjg5ZDAwMTc0Njk4MzI2
ZWI1YjRiMDhiNzJmZTA2ZTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9k
ZSBpbiBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oOgorCiAyMDIxLTAzLTEwICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcGx1bWJpbmcgZm9yIGBkZWZh
dWx0UGxheWJhY2tSYXRlYCB0byBBVktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZDNjYjI4ZjliNjI0ZGI1ZDNj
MjBlZDZiMjM5MDBhMjYxNDBlMDcyLi45YzNmOWQxNzViNzQzODhmZTExMjM0MGExY2U1NzBkNjA1
NGU3MTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDIxLTAzLTExICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBNb2JpbGVB
c3NldCBmb250cyBhcmUgYnJva2VuIGluIFJlYWRlciBtb2RlIGluIFNhZmFyaQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDYyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGVyZSBpcyBhbiBBU0NJSS1h
cnQgZGVzY3JpcHRpb24gb2YgaG93IHZhcmlvdXMga2luZHMgb2YgaW5zdGFsbGVkIGZvbnRzIHdv
cmsgaW4gV2ViS2l0OgorCisgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKystLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBT
YWZhcmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3JtYWwgV0tXZWJWaWV3
cyAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICArPT09PT09PT09PT09PT09PT09PT09
PSsrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCisgICAgICAgIHwgUHJlaW5zdGFsbGVkIEZv
bnRzICAgfHwgSnVzdCB3b3JrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSnVzdCB3
b3JrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8IE1vYmls
ZUFzc2V0IEZvbnRzICAgIHx8IE5lZWRzIGFjY2VzcyB0byBtb2JpbGVhc3NldGQgICAgICAgICAg
ICB8IE5lZWRzIGFjY2VzcyB0byBtb2JpbGVhc3NldGQgYnV0IG5vdCAgICB8CisgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgfHwgKGFuZCBmb250ZCBmb3IgYW55IHN1YnNlcXVlbnQgcmVx
dWVzdHMgIHwgZm9udGQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAg
ICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBhZnRlciB0aGUgZmlyc3QgTW9iaWxlQXNzZXQg
Zm9udCBpcyAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IHVzZWQpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8IEFwcCBjYWxscyBfZ3JhbnRBY2Nlc3NUb0Fzc2V0U2VydmljZXMo
KSB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgdG8gdmVuZCB0aGUgc2FuZGJveCBleHRlbnNpb24gICAg
ICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBBcHAgY2FsbHMgX2dy
YW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IHRvIHZlbmQg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIHRvICAgICAgICB8IEFuZCB0aGVuIHRoZSBhcHAgbmVlZHMg
dG8gdXNlICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgbW9i
aWxlYXNzZXRkICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW5qZWN0ZWRCdW5kbGUgdG8g
YWN0aXZhdGUgdGhlIGZvbnRzIGluIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgd2ViIHByb2Nl
c3MgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgIHx8IFdlYiBwcm9jZXNzIGFsc28gbmVlZHMgYSBjYWxsIHRvICAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgfHwgQ1RGb250TWFuYWdlckVuYWJsZUFsbFVzZXJGb250cygpIGFuZCBhIHwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgICB8fCBzYW5kYm94IGV4dGVuc2lvbiB0byBhY2Nlc3MgZm9udGQgICAgICAg
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAg
IHwgICAgICAgICAgICAgICAgICAgICAgfHwgQWZ0ZXIgdGhpcyBjYWxsIGlzIG1hZGUsIGZvbnQg
cmVxdWVzdHMgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAg
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBnbyB0aHJvdWdoIGZvbnRkIChsaWtlIGZv
ciBub3JtYWwgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IFdLV2ViVmlld3MpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBBbmQgdGhlbiB0
aGUgYXBwIG5lZWRzIHRvIHVzZSAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IEluamVj
dGVkQnVuZGxlIHRvIGFjdGl2YXRlIHRoZSBmb250cyBpbiB8ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwg
dGhlIHdlYiBwcm9jZXNzICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8IFVzZXItaW5zdGFsbGVk
IEZvbnRzIHx8IEludGVudGlvbmFsbHkgZG9lc24ndCB3b3JrICAgICAgICAgICAgICB8IE5lZWRz
IGFjY2VzcyB0byBmb250ZC4gICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAg
ICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCBKdXN0IHdvcmtzICh3ZSBhbHJlYWR5IHZlbmQgdGhlIHNhbmRib3ggfAorICAgICAgICB8
ICAgICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IGV4dGVuc2lvbiB1cG9uIFdLV2ViVmlldyBjcmVhdGlvbikgICAgICB8CisgICAg
ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK
KworICAgICAgICBUaGUgcGFydCB0aGF0IHRoaXMgcGF0Y2ggZml4ZXMgaXMgdGhlICJXZWIgcHJv
Y2VzcyBhbHNvIG5lZWRzIGEgY2FsbCB0byBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZvbnRz
KCkKKyAgICAgICAgYW5kIGEgc2FuZGJveCBleHRlbnNpb24gdG8gYWNjZXNzIGZvbnRkIiB1bmRl
ciBNb2JpbGVBc3NldCBGb250cyAvIFNhZmFyaS4KKworICAgICAgICBGcm9tIGxvb2tpbmcgYXQg
dGhpcyBjaGFydCwgaXQgYmVjb21lcyBjbGVhciB0aGF0IGEgbmV3IG1lc3NhZ2UgaXMgbmVjZXNz
YXJ5IHRoYXQgZG9lczoKKyAgICAgICAgMS4gQWRkcyBhIHNhbmRib3ggZXh0ZW5zaW9uIHNvIHRo
ZSB3ZWIgcHJvY2VzcyBjYW4gYWNjZXNzIGZvbnRkCisgICAgICAgIDIuIENhbGxzIENURm9udE1h
bmFnZXJFbmFibGVBbGxVc2VyRm9udHMoKSB0byBjYXVzZSBwbGF0Zm9ybSBmb250IHJvdXRpbmVz
IHRvIHVzZSBmb250ZAorCisgICAgICAgIFNvIHRoYXQncyBleGFjdGx5IHdoYXQgdGhpcyBwYXRj
aCBkb2VzLiBJdCBhZGRzIG5ldyBXS1dlYlZpZXcgU1BJLAorICAgICAgICBfc3dpdGNoRnJvbVN0
YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSwgd2hpY2ggZG9lcyB0aGVzZSB0d28g
dGhpbmdzLgorCisgICAgICAgIEV2ZW4gd2hlbiB3ZSBzdGFydCB1c2luZyBmb250ZCwgdGhhdCBk
b2Vzbid0IGFsbG93IHVzZXItaW5zdGFsbGVkIGZvbnRzIGluIFdlYktpdCBpbiBTYWZhcmksIGJl
Y2F1c2Ugd2UnbGwgc3RpbGwKKyAgICAgICAgY29udGludWUgdG8gdXNlIGtDVEZvbnRVc2VySW5z
dGFsbGVkQXR0cmlidXRlIC8ga0NURm9udEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlLCBqdXN0IGxp
a2Ugd2UgZG8gaW4gQmlnIFN1ci4KKworICAgICAgICBUZXN0OiBXZWJLaXQuTW9iaWxlQXNzZXRT
YW5kYm94Q2hlY2sKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVm
UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX3N3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJG
b250UmVnaXN0cnldKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdp
c3RyeVRvVXNlckZvbnRSZWdpc3RyeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJz
KToKKyAgICAgICAgKFdlYktpdDo6Y3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpkaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp+V2Vi
UGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzd2l0
Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NQbGF5U3RhdGlvbi5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVn
aXN0cnlUb1VzZXJGb250UmVnaXN0cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3Mvd2luL1dlYlBy
b2Nlc3NXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzd2l0Y2hGcm9tU3Rh
dGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToKKwogMjAyMS0wMy0xMSAgTWljaGFl
bCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9O
KHIyNzI0NjkpOiBbV1BFXVtHVEtdIEVwaXBoYW55IFVJIHByb2Nlc3MgY3Jhc2hlcyB3aGVuIGRv
d25sb2FkaW5nIFBERnMsIFdlYktpdFNlY3VyaXR5T3JpZ2luIHNob3VsZCB1c2UgU2VjdXJpdHlP
cmlnaW5EYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3Jl
VGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaApp
bmRleCA2ZjU2YTFhYzE2NjY3ZDM4YTQ4OWZiMWZhMTI4OGI5MTdjZGJmMGMyLi45YTZhOGM5OTQ3
NTg1YmNiOTE4YzRiZGIyMzU5YTU5MDljYTAzMTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgKQEAgLTEzMCw2ICsxMzAsNyBAQCBDVEZvbnREZXNjcmlw
dG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlc0FuZE9wdGlvbnMoQ0ZE
aWN0aW9uYXJ5UgogQ1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnREZXNjcmlwdG9yQ3JlYXRlTGFz
dFJlc29ydCgpOwogCiBDRkFycmF5UmVmIENURm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRv
cnNGcm9tRGF0YShDRkRhdGFSZWYpOworYm9vbCBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZv
bnRzKGJvb2wgcG9zdEZvbnRDaGFuZ2VOb3RpZmljYXRpb24pOwogCiB2b2lkIENUUGFyYWdyYXBo
U3R5bGVTZXRDb21wb3NpdGlvbkxhbmd1YWdlKENUUGFyYWdyYXBoU3R5bGVSZWYsIENUQ29tcG9z
aXRpb25MYW5ndWFnZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IDNjZDRiN2U3NDFlOWYyMzJkOWE1
ODFhNmY3ZDFmYTJmZGY3ZjVkMDcuLjkwNjE5OTIyYzM4MWIyMjRkNWNiNmU1ZjJhZWQ2MjFhODQx
MjM5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNTQ3LDcgKzU0Nyw3IEBAIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRTeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYpCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0Q1NTT01WaWV3U2Nyb2xs
aW5nQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdLX0VYUE9SVCBib29sIFdL
UHJlZmVyZW5jZXNHZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYpOwogCi0vLyBEZWZhdWx0cyB0byBmYWxzZS4KKy8vIERlZmF1bHRzIHRvIHRydWUuCiBXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXgg
NjRlOTRlNmUxNDkyMTUzYjMxMzVhNzI2ZGE1MDY4NDQwNWY3OGI5Yi4uYTNkZGYwMzRmNDYyMWFi
ZDQ4MTRjNjVkOWIxMTgwNjU0ZWYwZTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yMjM5LDYgKzIyMzksMTIgQEAgLSAodm9pZClf
cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzCiAgICAgICAgIF9wYWdlLT5yZXZva2VBY2Nlc3NU
b0Fzc2V0U2VydmljZXMoKTsKIH0KIAorLSAodm9pZClfc3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdp
c3RyeVRvVXNlckZvbnRSZWdpc3RyeQoreworICAgIGlmIChfcGFnZSkKKyAgICAgICAgX3BhZ2Ut
PnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoKTsKK30KKwog
LSAoTlNBcnJheSAqKV9jZXJ0aWZpY2F0ZUNoYWluCiB7CiAgICAgaWYgKFdlYktpdDo6V2ViRnJh
bWVQcm94eSogbWFpbkZyYW1lID0gX3BhZ2UtPm1haW5GcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNjVk
MjZhNWQ3ZGM3MmM0MzY1NjlkZTU1Y2E3NWFjY2Q3ZjExNWU4OC4uZDVkNzQ5NmQzMGY5MmI5NTM1
ZDgyYzNjN2E3ODlkN2MyMzYzNTk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC00NTAsNiArNDUwLDcgQEAgZm9y
IHRoaXMgcHJvcGVydHkuCiAKIC0gKHZvaWQpX2dyYW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcygxNC4wKSk7CiAtICh2b2lkKV9y
ZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKDE0LjApKTsKKy0gKHZvaWQpX3N3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlU
b1VzZXJGb250UmVnaXN0cnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSk7CiAK
IEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQppbmRleCA0MGJmNDk4NjlkZjJjYmNkYzhlZWRjOTdhZWRiYzA3M2RkMmMyMjVh
Li40Y2UxNmE0OWY1YjVkOWIzYTk2YzVlMDIzOWY1NjRjYmY5MjRkYzU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNjQy
LDYgKzY0MiwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZp
Y2VzKCkKICAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6UmV2b2tlQWNj
ZXNzVG9Bc3NldFNlcnZpY2VzKCksIDApOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c3dpdGNo
RnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSgpCit7CisgICAgU2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlOworICAgIFNhbmRib3hF
eHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBsZS5mb250cyJfcywg
V1RGOjpudWxsb3B0LCBmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7CisgICAgcHJvY2VzcygpLnNl
bmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1Vz
ZXJGb250UmVnaXN0cnkoZm9udE1hY2hFeHRlbnNpb25IYW5kbGUpLCAwKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMGJiMmM1MDRjNTBmNzdiYWJmODRi
YjUwNTdhOWFhODViNDRiMDg5ZS4uMTM1MjRjZjA2YmNmNGY2MmEyYjFhZTMxNDU0NDYxY2NiMmRl
NjY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03NzU4
LDM1ICs3NzU4LDYgQEAgc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBtZWRpYVJl
bGF0ZWRJT0tpdENsYXNzZXMoKQogfQogI2VuZGlmCiAKLSNpZiBIQVZFKFNUQVRJQ19GT05UX1JF
R0lTVFJZKQotc3RhdGljIGJvb2wgY3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24oKQotewot
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlBcHBWYWx1
ZShDRlNUUigiUmVhZGVyQ29uZmlndXJhdGlvbiIpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBs
aWNhdGlvbikpOwotICAgIGlmICghY29uZmlndXJhdGlvbiB8fCBDRkdldFR5cGVJRChjb25maWd1
cmF0aW9uLmdldCgpKSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyA9IENGRGljdGlv
bmFyeUdldFZhbHVlKHN0YXRpY19jYXN0PENGRGljdGlvbmFyeVJlZj4oY29uZmlndXJhdGlvbi5n
ZXQoKSksIENGU1RSKCJmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnIikpOwotICAgIGlmICgh
Zm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyB8fCBDRkdldFR5cGVJRChmb250RmFtaWx5TmFt
ZUZvckxhbmd1YWdlVGFnKSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZ0RpY3Rpb25h
cnkgPSBzdGF0aWNfY2FzdDxDRkRpY3Rpb25hcnlSZWY+KGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3Vh
Z2VUYWcpOwotICAgIGF1dG8gY291bnQgPSBDRkRpY3Rpb25hcnlHZXRDb3VudChmb250RmFtaWx5
TmFtZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSk7Ci0gICAgVmVjdG9yPENGVHlwZVJlZj4gZm9u
dEZhbWlseVZhbHVlcyhjb3VudCk7Ci0gICAgQ0ZEaWN0aW9uYXJ5R2V0S2V5c0FuZFZhbHVlcyhm
b250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSwgbnVsbHB0ciwgZm9udEZhbWls
eVZhbHVlcy5kYXRhKCkpOwotCi0gICAgZm9yIChhdXRvIGZvbnQgOiBmb250RmFtaWx5VmFsdWVz
KSB7Ci0gICAgICAgIGlmICghZm9udCB8fCBDRkdldFR5cGVJRChmb250KSAhPSBDRlN0cmluZ0dl
dFR5cGVJRCgpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChTdHJpbmcoc3Rh
dGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KGZvbnQpKSAhPSAiU3lzdGVtIikKLSAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXN0YXRpYyBib29sIGRp
c2FibGVTdGF0aWNGb250UmVnaXN0cnkoKQotewotICAgIHJldHVybiBDRlByZWZlcmVuY2VzR2V0
QXBwQm9vbGVhblZhbHVlKENGU1RSKCJXZWJLaXREaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5Iiks
IGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uLCBudWxscHRyKTsKLX0KLSNlbmRpZiAv
LyBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotCiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
IFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
cywgRHJhd2luZ0FyZWFQcm94eSYgZHJhd2luZ0FyZWEsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xp
Y2llcz4mJiB3ZWJzaXRlUG9saWNpZXMpCiB7CiAgICAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyBwYXJhbWV0ZXJzOwpAQCAtNzg5Miw5ICs3ODYzLDcgQEAgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyBXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHBy
b2MKICAgICB9CiAjZW5kaWYKICNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotICAgIGlm
IChkaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5KCkKLSAgICAgICAgfHwgcHJlZmVyZW5jZXMoKS5z
aG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpCi0gICAgICAgIHx8IChXZWJDb3JlOjpNYWNB
cHBsaWNhdGlvbjo6aXNTYWZhcmkoKSAmJiBjdXN0b21pemVkUmVhZGVyQ29uZmlndXJhdGlvbigp
KSkgeworICAgIGlmIChwcmVmZXJlbmNlcygpLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCkpIHsKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9u
SGFuZGxlOwogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9v
a3VwKCJjb20uYXBwbGUuZm9udHMiX3MsIFdURjo6bnVsbG9wdCwgZm9udE1hY2hFeHRlbnNpb25I
YW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJzLmZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlID0gV1RG
TW92ZShmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCmluZGV4IDk3YjZkMTI5NjA2OWIxYTEwNDNkOTc0NTRhMWFjMzA0MTUwYzUyNDAu
LmRjMzg3ZmY0YmUwNzY2ZTJiYzQ3MGQ0Zjc1ZjNjN2UyN2FlODAxZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNzc2LDYgKzE3NzYsNyBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGdyYW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKCk7CiAgICAgdm9pZCByZXZva2VB
Y2Nlc3NUb0Fzc2V0U2VydmljZXMoKTsKKyAgICB2b2lkIHN3aXRjaEZyb21TdGF0aWNGb250UmVn
aXN0cnlUb1VzZXJGb250UmVnaXN0cnkoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZv
aWQgZ3JhbnRBY2Nlc3NUb1ByZWZlcmVuY2VTZXJ2aWNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU2MmJjMzQ1ZjA3MTUzY2M3Mzk0MWRl
OTk5NDc4MWYxMmNiOTNhNTAuLmY5YTkxYTgyYzdkMTMyOWNhY2Q2ZDk0ZWExMmQ0MzAxY2FjZTM0
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBA
IC0xMDEzLDcgKzEwMTMsNyBAQCBXZWJQYWdlOjp+V2ViUGFnZSgpCiAgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihXVEY6Om51bGxvcHQpOwogICAgIH0KICNlbmRpZgotICAgIAorCiAjaWYg
SEFWRShTVEFUSUNfRk9OVF9SRUdJU1RSWSkKICAgICBpZiAobV9mb250RXh0ZW5zaW9uKQogICAg
ICAgICBtX2ZvbnRFeHRlbnNpb24tPnJldm9rZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKaW5kZXggNGJlNTVkYmUxYzBhYThmYTQ3MTJmYWE0Y2NmOWZkNTU0ZDkyYjliZS4u
NjZlNGIyMzc0ZGQ0ZDMyMjhiMTRhYTgwMGUxY2QyMmEyNjEyN2Q4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0zNDEsNiArMzQxLDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBncmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcyhXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246
OkhhbmRsZSYmIG1vYmlsZUFzc2V0VjJIYW5kbGUpOwogICAgIHZvaWQgcmV2b2tlQWNjZXNzVG9B
c3NldFNlcnZpY2VzKCk7CisgICAgdm9pZCBzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9V
c2VyRm9udFJlZ2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYgZm9udE1h
Y2hFeHRlbnNpb25IYW5kbGUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgdXBkYXRl
UGFnZVNjcmVlblByb3BlcnRpZXMoKTsKQEAgLTcwMSw2ICs3MDIsNyBAQCBwcml2YXRlOgogI2Vu
ZGlmCiAKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9hc3NldFNlcnZpY2VWMkV4dGVu
c2lvbjsKKyAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9mb250TWFjaEV4dGVuc2lvbjsK
IAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIEhhc2hDb3VudGVkU2V0PFN0cmluZz4gbV9wZW5k
aW5nUGFzdGVib2FyZFdyaXRlQ291bnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA5YmM2ZGY3YTliNTlhMTdlM2VjYzBhNjRkNWYx
OGQ3NTY4OTI1ODYxLi5iNGY3N2I5OGEyMjBhMGZjOGIxZjE1ZmRiZTAxMzc2M2U1MTQ5OTQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtMTY4LDYgKzE2OCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIg
Tm90UmVmQ291bnRlZCB7CiAKICAgICBHcmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcyhXZWJLaXQ6
OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBtb2JpbGVBc3NldFYySGFuZGxlKQogICAgIFJldm9r
ZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpCisgICAgU3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3Ry
eVRvVXNlckZvbnRSZWdpc3RyeShXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBmb250
TWFjaEV4dGVuc2lvbkhhbmRsZSkKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFVuYmxvY2tT
ZXJ2aWNlc1JlcXVpcmVkQnlBY2Nlc3NpYmlsaXR5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlQXJyYXkgaGFuZGxlQXJyYXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCA1NTJhYWQzODg0NTdmNzE0MjA0OGEyNjFm
ZjI2ZjI5YzRiYTE5MWVlLi5iMWNjNzE0YTlkNTBhZGZmNjlkY2FlMjlmMGI0MTc0MDNhMDg0MTdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0KQEAgLTEzNSw2ICsxMzUsNyBAQAogI2ltcG9ydCAiV2ViU3dpdGNoaW5nR1BVQ2xpZW50
LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxiYXJUaGVtZU1hYy5oPgorI2ltcG9ydCA8cGFsL3NwaS9j
Zi9Db3JlVGV4dFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oPgog
I2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTY3JvbGxlckltcFNQSS5oPgogI2VuZGlmCkBAIC0xMTYw
LDYgKzExNjEsMTcgQEAgdm9pZCBXZWJQcm9jZXNzOjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2Vydmlj
ZXMoKQogICAgIG1fYXNzZXRTZXJ2aWNlVjJFeHRlbnNpb24gPSBudWxscHRyOwogfQogCit2b2lk
IFdlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0
cnkoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJiBmb250TWFjaEV4dGVuc2lvbkhh
bmRsZSkKK3sKKyAgICBpZiAobV9mb250TWFjaEV4dGVuc2lvbikKKyAgICAgICAgcmV0dXJuOwor
ICAgIG1fZm9udE1hY2hFeHRlbnNpb24gPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGUoV1RGTW92
ZShmb250TWFjaEV4dGVuc2lvbkhhbmRsZSkpOworICAgIG1fZm9udE1hY2hFeHRlbnNpb24tPmNv
bnN1bWUoKTsKKyNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQorICAgIENURm9udE1hbmFn
ZXJFbmFibGVBbGxVc2VyRm9udHModHJ1ZSk7CisjZW5kaWYKK30KKwogdm9pZCBXZWJQcm9jZXNz
OjpzZXRTY3JlZW5Qcm9wZXJ0aWVzKGNvbnN0IFNjcmVlblByb3BlcnRpZXMmIHByb3BlcnRpZXMp
CiB7CiAgICAgV2ViQ29yZTo6c2V0U2NyZWVuUHJvcGVydGllcyhwcm9wZXJ0aWVzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcAppbmRleCAz
MjA2OTkxOGMyZmZiNjJjZGQwNDIxZTFjODkxZTQ1MmRlNzViOWUxLi5iYWQwMDE0NmQ4ODYzNTIz
MGIwYTU3MWE5OTM5YzIxY2Q4YTY0ODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwCkBAIC0xMzYsNCArMTM2LDggQEAgdm9pZCBXZWJQ
cm9jZXNzOjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMoKQogewogfQogCit2b2lkIFdlYlBy
b2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoV2Vi
S2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJikKK3sKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24v
V2ViUHJvY2Vzc1BsYXlTdGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5
c3RhdGlvbi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwCmluZGV4IDMzNmQ4ZWJkMDc2ZGUxMWI5
NjM0YTlhY2YyODcxYzdlZjk2ZDVhNWEuLjlkYjU5M2NiYzE1NjNmYzJmMmQwZTQzODkzYzQ5YWM5
NTJhMDVmYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlv
bi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwCkBAIC01Miw0ICs1Miw4IEBA
IHZvaWQgV2ViUHJvY2Vzczo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkKIHsKIH0KIAor
dm9pZCBXZWJQcm9jZXNzOjpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJl
Z2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpCit7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dp
bi9XZWJQcm9jZXNzV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJv
Y2Vzc1dpbi5jcHAKaW5kZXggYTA2Yjg4NzU3N2E1MTY4OWIwYmJjYmUzMDVhMzQ5MzMyZWM1MjVl
OS4uMDViMzVjYWQ1MGE4OTZmNTE1OGY5YzM5NmE4ZDljNzMwNzc0MTA1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzV2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NXaW4uY3BwCkBAIC01OSw0ICs1OSw4
IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkKIHsKIH0K
IAordm9pZCBXZWJQcm9jZXNzOjpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9u
dFJlZ2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpCit7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGYxNzNlMGE4NjFlMmU1NzMxNzY5M2Y3NTA1N2IzNDY5ZmVhYjZmNDUu
LjlmMzkxYTYwNmMyNDk0ZjQwYTIxM2E4NDIxYTNjYjcyOTVkZTk5YWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
MS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAg
ICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9kZSBp
biBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJv
eENoZWNrLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRp
b24vV2ViUHJvY2Vzc1BsYXlTdGF0aW9uLmNwcC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAz
LTExICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAgICAgICAg
IFJFR1JFU1NJT04ocjI3MjQ2OSk6IFtXUEVdW0dUS10gRXBpcGhhbnkgVUkgcHJvY2VzcyBjcmFz
aGVzIHdoZW4gZG93bmxvYWRpbmcgUERGcywgV2ViS2l0U2VjdXJpdHlPcmlnaW4gc2hvdWxkIHVz
ZSBTZWN1cml0eU9yaWdpbkRhdGEKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTU3MzU4YWM5
ODA0Yjk4NTliNzJlYjI0ZDg2ZmM1Y2E5YTFjMjk0OC4uOWY0MWI2OGYyNDU0MjM3NTM4M2MzNTU0
ZTc2MWU4NDNmYTA3NWIzNSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMSw2ICsxMTEs
NyBAQAogCQkxQzczNEI1MzIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM3MzRCNTIyMDc4OEM0
ODAwRjQzMEVBIC8qIFN5c3RlbUNvbG9ycy5tbSAqLzsgfTsKIAkJMUM3OTIwMUMyMzRCREQ5QjAw
MUVBRjIzIC8qIENvcHlSVEYubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQzc5MjAxQjIzNEJERDlCMDAxRUFGMjMgLyogQ29weVJURi5tbSAqLzsgfTsK
IAkJMUM3RkVCMjAyMDdDMEYyRTAwRDIzMjc4IC8qIEJhY2tncm91bmRDb2xvci5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDN0ZFQjFGMjA3QzBGMkQw
MEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gKi87IH07CisJCTFDODE4MDI3MjVGQjA5RTIw
MDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgxODAyNjI1RkIwOUUyMDA2MDhCM0UgLyog
Rm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tICovOyB9OwogCQkxQzkwNDIwQzIzMjZFMDNDMDBC
RUY5MUUgLyogU2VsZWN0aW9uQnlXb3JkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUM5MDQyMEIyMzI2RTAzQzAwQkVGOTFFIC8qIFNlbGVjdGlvbkJ5
V29yZC5tbSAqLzsgfTsKIAkJMUM5RUI4NDExRTM4MERBMTAwNUM2NDQyIC8qIENvbXBsZXhUZXh0
Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQzlFQjg0MDFFMzgwREExMDA1QzY0NDIgLyogQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cCAqLzsgfTsKIAkJMUNBQ0FEQTEyMzA2MjBBRTAwMDdENTRDIC8qIFdLV2ViVmlld09wYXF1ZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQUNBREEw
MjMwNjIwQUQwMDA3RDU0QyAvKiBXS1dlYlZpZXdPcGFxdWUubW0gKi87IH07CkBAIC0xODEzLDYg
KzE4MTQsNyBAQAogCQkxQzczNEI1MjIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtQ29sb3JzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzc5MjAxQjIzNEJERDlCMDAxRUFGMjMg
LyogQ29weVJURi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENv
cHlSVEYubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDN0ZFQjFGMjA3QzBGMkQw
MEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBCYWNrZ3JvdW5kQ29sb3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5kYm94Q2hl
Y2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA0MjBCMjMyNkUwM0MwMEJFRjkxRSAv
KiBTZWxlY3Rpb25CeVdvcmQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBTZWxlY3Rpb25CeVdvcmQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFD
OUVCODQwMUUzODBEQTEwMDVDNjQ0MiAvKiBDb21wbGV4VGV4dENvbnRyb2xsZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBQ0FEQTAyMzA2MjBBRDAwMDdENTRD
IC8qIFdLV2ViVmlld09wYXF1ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdLV2ViVmlld09wYXF1ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTMyMTYsNiArMzIxOCw3IEBACiAJCQkJQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2ts
aWdodExldmVsTm90aWZpY2F0aW9uLm1tICovLAogCQkJCUMxNjkyREM5MjNEMTBEQUUwMDZFODhG
NyAvKiBCYXR0ZXJ5Lm1tICovLAogCQkJCUMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFi
bGVBY2Nlc3NpYmlsaXR5Lm1tICovLAorCQkJCTFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBG
b250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gKi8sCiAJCQkJRTM5NEFFNkUyM0YyMzAzRTAwNUI0
OTM2IC8qIEdyYW50QWNjZXNzVG9Nb2JpbGVBc3NldHMubW0gKi8sCiAJCQkJRTM0QTZEMTgyNDEy
REUzOTAwMTJBQjZFIC8qIEdyYW50QWNjZXNzVG9QcmVmZXJlbmNlc1NlcnZpY2UubW0gKi8sCiAJ
CQkJRTM1QjkwODEyM0Y2MEREMDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLm1tICov
LApAQCAtNTMxNSw2ICs1MzE4LDcgQEAKIAkJCQlGNEJDMEIxNDIxNDZDODQ5MDAyQTA0NzggLyog
Rm9jdXNQcmVzZXJ2YXRpb25UZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJFOTJCOEZBMjE2
NEEwQzEwMDVCNjRGMCAvKiBGb250QXR0cmlidXRlcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0
NTZBQjFDMjEzRURCQTMwMENCMkNFRiAvKiBGb250TWFuYWdlclRlc3RzLm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJMUM4MTgwMjcyNUZCMDlFMjAwNjA4QjNFIC8qIEZvbnRSZWdpc3RyeVNhbmRib3hD
aGVjay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFDRjU5QUUzMjFFNjg5MzIwMDZFMzdFQyAvKiBG
b3JjZUxpZ2h0QXBwZWFyYW5jZUluQnVuZGxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdF
RjUxQTQxMUFFNjAwNDQ3QzRDIC8qIEZvcmNlUmVwYWludC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGNEZBMjgyQTI0Q0QwMTI3MDA2MThBNDYgLyogRm9ybVZhbGlkYXRpb24ubW0gaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZvbnRS
ZWdpc3RyeVNhbmRib3hDaGVjay5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0ZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Y2EyNmI4OTFhNjBjZDBh
YzZjYTM4NDQ3YzBhMmRkYTQ1ZTliY2E1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tCkBAIC0wLDAg
KzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVf
Q19TUEkKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dl
YlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oPgorI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKworVEVTVChXZWJLaXQsIEZvbnRkU2FuZGJv
eENoZWNrKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcmVm
ZXJlbmNlcy5fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPSBOTzsKKyAgICBhdXRvIGNv
bnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmpl
Y3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25m
aWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0Lmdl
dCgpOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIGF1dG8gc2FuZGJveEFj
Y2VzcyA9IFsmXSB7CisgICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1Rv
WFBDU2VydmljZU5hbWUoJ2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCcsICdjb20uYXBwbGUu
Zm9udHMnKSJdLmJvb2xWYWx1ZTsKKyAgICB9OworCisgICAgQVNTRVJUX0ZBTFNFKHNhbmRib3hB
Y2Nlc3MoKSk7CisKKyAgICBbd2ViVmlldyBfc3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRv
VXNlckZvbnRSZWdpc3RyeV07CisKKyAgICBBU1NFUlRfVFJVRShzYW5kYm94QWNjZXNzKCkpOwor
fQorCisjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvTW9iaWxlQXNzZXRTYW5kYm94Q2hlY2subW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Nb2JpbGVBc3NldFNhbmRib3hDaGVjay5tbQppbmRleCA1
ZDc1ZTk1OWFjYjI1ZTQ2NTliMzY3MTRmNDZiODZjZmI4OTdkZjBjLi5jNzY2NTVjNjZkM2QxYzI4
MmEyMjA5ZjY0NjA3YjY2MjdjNTQyMjFmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9Nb2JpbGVBc3NldFNhbmRib3hDaGVjay5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Nb2JpbGVBc3NldFNhbmRib3hDaGVjay5tbQpAQCAtNDIs
NyArNDIsOSBAQCBURVNUKFdlYktpdCwgTW9iaWxlQXNzZXRTYW5kYm94Q2hlY2spCiAgICAgICAg
IHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93Lmlu
dGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvWFBDU2VydmljZU5hbWUoJ2NvbS5h
cHBsZS5XZWJLaXQuV2ViQ29udGVudCcsICdjb20uYXBwbGUubW9iaWxlYXNzZXRkLnYyJykiXS5i
b29sVmFsdWU7CiAgICAgfTsKIAorI2lmIEhBVkUoU1RBVElDX0ZPTlRfUkVHSVNUUlkpCiAgICAg
QVNTRVJUX0ZBTFNFKHNhbmRib3hBY2Nlc3MoKSk7CisjZW5kaWYKIAogICAgIFt3ZWJWaWV3IF9n
cmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlc107CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423017</attachid>
            <date>2021-03-11 23:05:31 -0800</date>
            <delta_ts>2021-03-11 23:39:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223062-20210311230530.patch</filename>
            <type>text/plain</type>
            <size>26688</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkY2VjNjAy
MzIxY2U0MGVjMWIzODI1MDMyODc5M2MwNmZmMmUxMTljLi5iZDA1MjU0Zjg5ZDAwMTc0Njk4MzI2
ZWI1YjRiMDhiNzJmZTA2ZTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9k
ZSBpbiBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oOgorCiAyMDIxLTAzLTEwICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcGx1bWJpbmcgZm9yIGBkZWZh
dWx0UGxheWJhY2tSYXRlYCB0byBBVktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZDNjYjI4ZjliNjI0ZGI1ZDNj
MjBlZDZiMjM5MDBhMjYxNDBlMDcyLi45YzNmOWQxNzViNzQzODhmZTExMjM0MGExY2U1NzBkNjA1
NGU3MTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDgzIEBACisyMDIxLTAzLTExICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBNb2JpbGVB
c3NldCBmb250cyBhcmUgYnJva2VuIGluIFJlYWRlciBtb2RlIGluIFNhZmFyaQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDYyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGVyZSBpcyBhbiBBU0NJSS1h
cnQgZGVzY3JpcHRpb24gb2YgaG93IHZhcmlvdXMga2luZHMgb2YgaW5zdGFsbGVkIGZvbnRzIHdv
cmsgaW4gV2ViS2l0OgorCisgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKystLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBT
YWZhcmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3JtYWwgV0tXZWJWaWV3
cyAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICArPT09PT09PT09PT09PT09PT09PT09
PSsrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCisgICAgICAgIHwgUHJlaW5zdGFsbGVkIEZv
bnRzICAgfHwgSnVzdCB3b3JrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSnVzdCB3
b3JrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8IE1vYmls
ZUFzc2V0IEZvbnRzICAgIHx8IE5lZWRzIGFjY2VzcyB0byBtb2JpbGVhc3NldGQgICAgICAgICAg
ICB8IE5lZWRzIGFjY2VzcyB0byBtb2JpbGVhc3NldGQgYnV0IG5vdCAgICB8CisgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgfHwgKGFuZCBmb250ZCBmb3IgYW55IHN1YnNlcXVlbnQgcmVx
dWVzdHMgIHwgZm9udGQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAg
ICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBhZnRlciB0aGUgZmlyc3QgTW9iaWxlQXNzZXQg
Zm9udCBpcyAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IHVzZWQpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8IEFwcCBjYWxscyBfZ3JhbnRBY2Nlc3NUb0Fzc2V0U2VydmljZXMo
KSB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgdG8gdmVuZCB0aGUgc2FuZGJveCBleHRlbnNpb24gICAg
ICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBBcHAgY2FsbHMgX2dy
YW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IHRvIHZlbmQg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIHRvICAgICAgICB8IEFuZCB0aGVuIHRoZSBhcHAgbmVlZHMg
dG8gdXNlICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgbW9i
aWxlYXNzZXRkICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW5qZWN0ZWRCdW5kbGUgdG8g
YWN0aXZhdGUgdGhlIGZvbnRzIGluIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgd2ViIHByb2Nl
c3MgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgIHx8IFdlYiBwcm9jZXNzIGFsc28gbmVlZHMgYSBjYWxsIHRvICAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgfHwgQ1RGb250TWFuYWdlckVuYWJsZUFsbFVzZXJGb250cygpIGFuZCBhIHwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgICB8fCBzYW5kYm94IGV4dGVuc2lvbiB0byBhY2Nlc3MgZm9udGQgICAgICAg
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAg
IHwgICAgICAgICAgICAgICAgICAgICAgfHwgQWZ0ZXIgdGhpcyBjYWxsIGlzIG1hZGUsIGZvbnQg
cmVxdWVzdHMgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAg
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBnbyB0aHJvdWdoIGZvbnRkIChsaWtlIGZv
ciBub3JtYWwgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IFdLV2ViVmlld3MpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBBbmQgdGhlbiB0
aGUgYXBwIG5lZWRzIHRvIHVzZSAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IEluamVj
dGVkQnVuZGxlIHRvIGFjdGl2YXRlIHRoZSBmb250cyBpbiB8ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwg
dGhlIHdlYiBwcm9jZXNzICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8IFVzZXItaW5zdGFsbGVk
IEZvbnRzIHx8IEludGVudGlvbmFsbHkgZG9lc24ndCB3b3JrICAgICAgICAgICAgICB8IE5lZWRz
IGFjY2VzcyB0byBmb250ZC4gICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAg
ICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCBKdXN0IHdvcmtzICh3ZSBhbHJlYWR5IHZlbmQgdGhlIHNhbmRib3ggfAorICAgICAgICB8
ICAgICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IGV4dGVuc2lvbiB1cG9uIFdLV2ViVmlldyBjcmVhdGlvbikgICAgICB8CisgICAg
ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK
KworICAgICAgICBUaGUgcGFydCB0aGF0IHRoaXMgcGF0Y2ggZml4ZXMgaXMgdGhlICJXZWIgcHJv
Y2VzcyBhbHNvIG5lZWRzIGEgY2FsbCB0byBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZvbnRz
KCkKKyAgICAgICAgYW5kIGEgc2FuZGJveCBleHRlbnNpb24gdG8gYWNjZXNzIGZvbnRkIiB1bmRl
ciBNb2JpbGVBc3NldCBGb250cyAvIFNhZmFyaS4KKworICAgICAgICBGcm9tIGxvb2tpbmcgYXQg
dGhpcyBjaGFydCwgaXQgYmVjb21lcyBjbGVhciB0aGF0IGEgbmV3IG1lc3NhZ2UgaXMgbmVjZXNz
YXJ5IHRoYXQgZG9lczoKKyAgICAgICAgMS4gQWRkcyBhIHNhbmRib3ggZXh0ZW5zaW9uIHNvIHRo
ZSB3ZWIgcHJvY2VzcyBjYW4gYWNjZXNzIGZvbnRkCisgICAgICAgIDIuIENhbGxzIENURm9udE1h
bmFnZXJFbmFibGVBbGxVc2VyRm9udHMoKSB0byBjYXVzZSBwbGF0Zm9ybSBmb250IHJvdXRpbmVz
IHRvIHVzZSBmb250ZAorCisgICAgICAgIFNvIHRoYXQncyBleGFjdGx5IHdoYXQgdGhpcyBwYXRj
aCBkb2VzLiBJdCBhZGRzIG5ldyBXS1dlYlZpZXcgU1BJLAorICAgICAgICBfc3dpdGNoRnJvbVN0
YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSwgd2hpY2ggZG9lcyB0aGVzZSB0d28g
dGhpbmdzLgorCisgICAgICAgIEV2ZW4gd2hlbiB3ZSBzdGFydCB1c2luZyBmb250ZCwgdGhhdCBk
b2Vzbid0IGFsbG93IHVzZXItaW5zdGFsbGVkIGZvbnRzIGluIFdlYktpdCBpbiBTYWZhcmksIGJl
Y2F1c2Ugd2UnbGwgc3RpbGwKKyAgICAgICAgY29udGludWUgdG8gdXNlIGtDVEZvbnRVc2VySW5z
dGFsbGVkQXR0cmlidXRlIC8ga0NURm9udEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlLCBqdXN0IGxp
a2Ugd2UgZG8gaW4gQmlnIFN1ci4KKworICAgICAgICBUZXN0OiBXZWJLaXQuTW9iaWxlQXNzZXRT
YW5kYm94Q2hlY2sKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVm
UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX3N3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJG
b250UmVnaXN0cnldKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdp
c3RyeVRvVXNlckZvbnRSZWdpc3RyeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJz
KToKKyAgICAgICAgKFdlYktpdDo6Y3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpkaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp+V2Vi
UGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzd2l0
Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NQbGF5U3RhdGlvbi5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVn
aXN0cnlUb1VzZXJGb250UmVnaXN0cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3Mvd2luL1dlYlBy
b2Nlc3NXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzd2l0Y2hGcm9tU3Rh
dGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToKKwogMjAyMS0wMy0xMSAgTWljaGFl
bCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9O
KHIyNzI0NjkpOiBbV1BFXVtHVEtdIEVwaXBoYW55IFVJIHByb2Nlc3MgY3Jhc2hlcyB3aGVuIGRv
d25sb2FkaW5nIFBERnMsIFdlYktpdFNlY3VyaXR5T3JpZ2luIHNob3VsZCB1c2UgU2VjdXJpdHlP
cmlnaW5EYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3Jl
VGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaApp
bmRleCA2ZjU2YTFhYzE2NjY3ZDM4YTQ4OWZiMWZhMTI4OGI5MTdjZGJmMGMyLi45YTZhOGM5OTQ3
NTg1YmNiOTE4YzRiZGIyMzU5YTU5MDljYTAzMTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgKQEAgLTEzMCw2ICsxMzAsNyBAQCBDVEZvbnREZXNjcmlw
dG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlc0FuZE9wdGlvbnMoQ0ZE
aWN0aW9uYXJ5UgogQ1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnREZXNjcmlwdG9yQ3JlYXRlTGFz
dFJlc29ydCgpOwogCiBDRkFycmF5UmVmIENURm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRv
cnNGcm9tRGF0YShDRkRhdGFSZWYpOworYm9vbCBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZv
bnRzKGJvb2wgcG9zdEZvbnRDaGFuZ2VOb3RpZmljYXRpb24pOwogCiB2b2lkIENUUGFyYWdyYXBo
U3R5bGVTZXRDb21wb3NpdGlvbkxhbmd1YWdlKENUUGFyYWdyYXBoU3R5bGVSZWYsIENUQ29tcG9z
aXRpb25MYW5ndWFnZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IDNjZDRiN2U3NDFlOWYyMzJkOWE1
ODFhNmY3ZDFmYTJmZGY3ZjVkMDcuLjkwNjE5OTIyYzM4MWIyMjRkNWNiNmU1ZjJhZWQ2MjFhODQx
MjM5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNTQ3LDcgKzU0Nyw3IEBAIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRTeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYpCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0Q1NTT01WaWV3U2Nyb2xs
aW5nQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdLX0VYUE9SVCBib29sIFdL
UHJlZmVyZW5jZXNHZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYpOwogCi0vLyBEZWZhdWx0cyB0byBmYWxzZS4KKy8vIERlZmF1bHRzIHRvIHRydWUuCiBXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXgg
NjRlOTRlNmUxNDkyMTUzYjMxMzVhNzI2ZGE1MDY4NDQwNWY3OGI5Yi4uYTNkZGYwMzRmNDYyMWFi
ZDQ4MTRjNjVkOWIxMTgwNjU0ZWYwZTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yMjM5LDYgKzIyMzksMTIgQEAgLSAodm9pZClf
cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzCiAgICAgICAgIF9wYWdlLT5yZXZva2VBY2Nlc3NU
b0Fzc2V0U2VydmljZXMoKTsKIH0KIAorLSAodm9pZClfc3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdp
c3RyeVRvVXNlckZvbnRSZWdpc3RyeQoreworICAgIGlmIChfcGFnZSkKKyAgICAgICAgX3BhZ2Ut
PnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoKTsKK30KKwog
LSAoTlNBcnJheSAqKV9jZXJ0aWZpY2F0ZUNoYWluCiB7CiAgICAgaWYgKFdlYktpdDo6V2ViRnJh
bWVQcm94eSogbWFpbkZyYW1lID0gX3BhZ2UtPm1haW5GcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNjVk
MjZhNWQ3ZGM3MmM0MzY1NjlkZTU1Y2E3NWFjY2Q3ZjExNWU4OC4uZDVkNzQ5NmQzMGY5MmI5NTM1
ZDgyYzNjN2E3ODlkN2MyMzYzNTk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC00NTAsNiArNDUwLDcgQEAgZm9y
IHRoaXMgcHJvcGVydHkuCiAKIC0gKHZvaWQpX2dyYW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcygxNC4wKSk7CiAtICh2b2lkKV9y
ZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKDE0LjApKTsKKy0gKHZvaWQpX3N3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlU
b1VzZXJGb250UmVnaXN0cnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSk7CiAK
IEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQppbmRleCA0MGJmNDk4NjlkZjJjYmNkYzhlZWRjOTdhZWRiYzA3M2RkMmMyMjVh
Li40Y2UxNmE0OWY1YjVkOWIzYTk2YzVlMDIzOWY1NjRjYmY5MjRkYzU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNjQy
LDYgKzY0MiwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZp
Y2VzKCkKICAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6UmV2b2tlQWNj
ZXNzVG9Bc3NldFNlcnZpY2VzKCksIDApOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6c3dpdGNo
RnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSgpCit7CisgICAgU2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlOworICAgIFNhbmRib3hF
eHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBsZS5mb250cyJfcywg
V1RGOjpudWxsb3B0LCBmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7CisgICAgcHJvY2VzcygpLnNl
bmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1Vz
ZXJGb250UmVnaXN0cnkoZm9udE1hY2hFeHRlbnNpb25IYW5kbGUpLCAwKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMGJiMmM1MDRjNTBmNzdiYWJmODRi
YjUwNTdhOWFhODViNDRiMDg5ZS4uMTM1MjRjZjA2YmNmNGY2MmEyYjFhZTMxNDU0NDYxY2NiMmRl
NjY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03NzU4
LDM1ICs3NzU4LDYgQEAgc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBtZWRpYVJl
bGF0ZWRJT0tpdENsYXNzZXMoKQogfQogI2VuZGlmCiAKLSNpZiBIQVZFKFNUQVRJQ19GT05UX1JF
R0lTVFJZKQotc3RhdGljIGJvb2wgY3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24oKQotewot
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlBcHBWYWx1
ZShDRlNUUigiUmVhZGVyQ29uZmlndXJhdGlvbiIpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBs
aWNhdGlvbikpOwotICAgIGlmICghY29uZmlndXJhdGlvbiB8fCBDRkdldFR5cGVJRChjb25maWd1
cmF0aW9uLmdldCgpKSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyA9IENGRGljdGlv
bmFyeUdldFZhbHVlKHN0YXRpY19jYXN0PENGRGljdGlvbmFyeVJlZj4oY29uZmlndXJhdGlvbi5n
ZXQoKSksIENGU1RSKCJmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnIikpOwotICAgIGlmICgh
Zm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyB8fCBDRkdldFR5cGVJRChmb250RmFtaWx5TmFt
ZUZvckxhbmd1YWdlVGFnKSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZ0RpY3Rpb25h
cnkgPSBzdGF0aWNfY2FzdDxDRkRpY3Rpb25hcnlSZWY+KGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3Vh
Z2VUYWcpOwotICAgIGF1dG8gY291bnQgPSBDRkRpY3Rpb25hcnlHZXRDb3VudChmb250RmFtaWx5
TmFtZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSk7Ci0gICAgVmVjdG9yPENGVHlwZVJlZj4gZm9u
dEZhbWlseVZhbHVlcyhjb3VudCk7Ci0gICAgQ0ZEaWN0aW9uYXJ5R2V0S2V5c0FuZFZhbHVlcyhm
b250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSwgbnVsbHB0ciwgZm9udEZhbWls
eVZhbHVlcy5kYXRhKCkpOwotCi0gICAgZm9yIChhdXRvIGZvbnQgOiBmb250RmFtaWx5VmFsdWVz
KSB7Ci0gICAgICAgIGlmICghZm9udCB8fCBDRkdldFR5cGVJRChmb250KSAhPSBDRlN0cmluZ0dl
dFR5cGVJRCgpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChTdHJpbmcoc3Rh
dGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KGZvbnQpKSAhPSAiU3lzdGVtIikKLSAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXN0YXRpYyBib29sIGRp
c2FibGVTdGF0aWNGb250UmVnaXN0cnkoKQotewotICAgIHJldHVybiBDRlByZWZlcmVuY2VzR2V0
QXBwQm9vbGVhblZhbHVlKENGU1RSKCJXZWJLaXREaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5Iiks
IGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uLCBudWxscHRyKTsKLX0KLSNlbmRpZiAv
LyBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotCiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
IFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
cywgRHJhd2luZ0FyZWFQcm94eSYgZHJhd2luZ0FyZWEsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xp
Y2llcz4mJiB3ZWJzaXRlUG9saWNpZXMpCiB7CiAgICAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyBwYXJhbWV0ZXJzOwpAQCAtNzg5Miw5ICs3ODYzLDcgQEAgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyBXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHBy
b2MKICAgICB9CiAjZW5kaWYKICNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotICAgIGlm
IChkaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5KCkKLSAgICAgICAgfHwgcHJlZmVyZW5jZXMoKS5z
aG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpCi0gICAgICAgIHx8IChXZWJDb3JlOjpNYWNB
cHBsaWNhdGlvbjo6aXNTYWZhcmkoKSAmJiBjdXN0b21pemVkUmVhZGVyQ29uZmlndXJhdGlvbigp
KSkgeworICAgIGlmIChwcmVmZXJlbmNlcygpLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCkpIHsKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9u
SGFuZGxlOwogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9v
a3VwKCJjb20uYXBwbGUuZm9udHMiX3MsIFdURjo6bnVsbG9wdCwgZm9udE1hY2hFeHRlbnNpb25I
YW5kbGUpOwogICAgICAgICBwYXJhbWV0ZXJzLmZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlID0gV1RG
TW92ZShmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCmluZGV4IDk3YjZkMTI5NjA2OWIxYTEwNDNkOTc0NTRhMWFjMzA0MTUwYzUyNDAu
LmRjMzg3ZmY0YmUwNzY2ZTJiYzQ3MGQ0Zjc1ZjNjN2UyN2FlODAxZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNzc2LDYgKzE3NzYsNyBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGdyYW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKCk7CiAgICAgdm9pZCByZXZva2VB
Y2Nlc3NUb0Fzc2V0U2VydmljZXMoKTsKKyAgICB2b2lkIHN3aXRjaEZyb21TdGF0aWNGb250UmVn
aXN0cnlUb1VzZXJGb250UmVnaXN0cnkoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZv
aWQgZ3JhbnRBY2Nlc3NUb1ByZWZlcmVuY2VTZXJ2aWNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU2MmJjMzQ1ZjA3MTUzY2M3Mzk0MWRl
OTk5NDc4MWYxMmNiOTNhNTAuLmY5YTkxYTgyYzdkMTMyOWNhY2Q2ZDk0ZWExMmQ0MzAxY2FjZTM0
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBA
IC0xMDEzLDcgKzEwMTMsNyBAQCBXZWJQYWdlOjp+V2ViUGFnZSgpCiAgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihXVEY6Om51bGxvcHQpOwogICAgIH0KICNlbmRpZgotICAgIAorCiAjaWYg
SEFWRShTVEFUSUNfRk9OVF9SRUdJU1RSWSkKICAgICBpZiAobV9mb250RXh0ZW5zaW9uKQogICAg
ICAgICBtX2ZvbnRFeHRlbnNpb24tPnJldm9rZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKaW5kZXggNGJlNTVkYmUxYzBhYThmYTQ3MTJmYWE0Y2NmOWZkNTU0ZDkyYjliZS4u
NjZlNGIyMzc0ZGQ0ZDMyMjhiMTRhYTgwMGUxY2QyMmEyNjEyN2Q4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0zNDEsNiArMzQxLDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBncmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcyhXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246
OkhhbmRsZSYmIG1vYmlsZUFzc2V0VjJIYW5kbGUpOwogICAgIHZvaWQgcmV2b2tlQWNjZXNzVG9B
c3NldFNlcnZpY2VzKCk7CisgICAgdm9pZCBzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9V
c2VyRm9udFJlZ2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYgZm9udE1h
Y2hFeHRlbnNpb25IYW5kbGUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgdXBkYXRl
UGFnZVNjcmVlblByb3BlcnRpZXMoKTsKQEAgLTcwMSw2ICs3MDIsNyBAQCBwcml2YXRlOgogI2Vu
ZGlmCiAKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9hc3NldFNlcnZpY2VWMkV4dGVu
c2lvbjsKKyAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9mb250TWFjaEV4dGVuc2lvbjsK
IAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIEhhc2hDb3VudGVkU2V0PFN0cmluZz4gbV9wZW5k
aW5nUGFzdGVib2FyZFdyaXRlQ291bnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA5YmM2ZGY3YTliNTlhMTdlM2VjYzBhNjRkNWYx
OGQ3NTY4OTI1ODYxLi5iNGY3N2I5OGEyMjBhMGZjOGIxZjE1ZmRiZTAxMzc2M2U1MTQ5OTQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtMTY4LDYgKzE2OCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIg
Tm90UmVmQ291bnRlZCB7CiAKICAgICBHcmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcyhXZWJLaXQ6
OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBtb2JpbGVBc3NldFYySGFuZGxlKQogICAgIFJldm9r
ZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpCisgICAgU3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3Ry
eVRvVXNlckZvbnRSZWdpc3RyeShXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBmb250
TWFjaEV4dGVuc2lvbkhhbmRsZSkKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFVuYmxvY2tT
ZXJ2aWNlc1JlcXVpcmVkQnlBY2Nlc3NpYmlsaXR5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlQXJyYXkgaGFuZGxlQXJyYXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCA1NTJhYWQzODg0NTdmNzE0MjA0OGEyNjFm
ZjI2ZjI5YzRiYTE5MWVlLi5iMWNjNzE0YTlkNTBhZGZmNjlkY2FlMjlmMGI0MTc0MDNhMDg0MTdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0KQEAgLTEzNSw2ICsxMzUsNyBAQAogI2ltcG9ydCAiV2ViU3dpdGNoaW5nR1BVQ2xpZW50
LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxiYXJUaGVtZU1hYy5oPgorI2ltcG9ydCA8cGFsL3NwaS9j
Zi9Db3JlVGV4dFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oPgog
I2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTY3JvbGxlckltcFNQSS5oPgogI2VuZGlmCkBAIC0xMTYw
LDYgKzExNjEsMTcgQEAgdm9pZCBXZWJQcm9jZXNzOjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2Vydmlj
ZXMoKQogICAgIG1fYXNzZXRTZXJ2aWNlVjJFeHRlbnNpb24gPSBudWxscHRyOwogfQogCit2b2lk
IFdlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0
cnkoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJiBmb250TWFjaEV4dGVuc2lvbkhh
bmRsZSkKK3sKKyAgICBpZiAobV9mb250TWFjaEV4dGVuc2lvbikKKyAgICAgICAgcmV0dXJuOwor
ICAgIG1fZm9udE1hY2hFeHRlbnNpb24gPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGUoV1RGTW92
ZShmb250TWFjaEV4dGVuc2lvbkhhbmRsZSkpOworICAgIG1fZm9udE1hY2hFeHRlbnNpb24tPmNv
bnN1bWUoKTsKKyNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQorICAgIENURm9udE1hbmFn
ZXJFbmFibGVBbGxVc2VyRm9udHModHJ1ZSk7CisjZW5kaWYKK30KKwogdm9pZCBXZWJQcm9jZXNz
OjpzZXRTY3JlZW5Qcm9wZXJ0aWVzKGNvbnN0IFNjcmVlblByb3BlcnRpZXMmIHByb3BlcnRpZXMp
CiB7CiAgICAgV2ViQ29yZTo6c2V0U2NyZWVuUHJvcGVydGllcyhwcm9wZXJ0aWVzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcAppbmRleCAz
MjA2OTkxOGMyZmZiNjJjZGQwNDIxZTFjODkxZTQ1MmRlNzViOWUxLi5iYWQwMDE0NmQ4ODYzNTIz
MGIwYTU3MWE5OTM5YzIxY2Q4YTY0ODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwCkBAIC0xMzYsNCArMTM2LDggQEAgdm9pZCBXZWJQ
cm9jZXNzOjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMoKQogewogfQogCit2b2lkIFdlYlBy
b2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoV2Vi
S2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJikKK3sKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24v
V2ViUHJvY2Vzc1BsYXlTdGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5
c3RhdGlvbi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwCmluZGV4IDMzNmQ4ZWJkMDc2ZGUxMWI5
NjM0YTlhY2YyODcxYzdlZjk2ZDVhNWEuLjlkYjU5M2NiYzE1NjNmYzJmMmQwZTQzODkzYzQ5YWM5
NTJhMDVmYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlv
bi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwCkBAIC01Miw0ICs1Miw4IEBA
IHZvaWQgV2ViUHJvY2Vzczo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkKIHsKIH0KIAor
dm9pZCBXZWJQcm9jZXNzOjpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJl
Z2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpCit7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dp
bi9XZWJQcm9jZXNzV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJv
Y2Vzc1dpbi5jcHAKaW5kZXggYTA2Yjg4NzU3N2E1MTY4OWIwYmJjYmUzMDVhMzQ5MzMyZWM1MjVl
OS4uMDViMzVjYWQ1MGE4OTZmNTE1OGY5YzM5NmE4ZDljNzMwNzc0MTA1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzV2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NXaW4uY3BwCkBAIC01OSw0ICs1OSw4
IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkKIHsKIH0K
IAordm9pZCBXZWJQcm9jZXNzOjpzd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9u
dFJlZ2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpCit7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGYxNzNlMGE4NjFlMmU1NzMxNzY5M2Y3NTA1N2IzNDY5ZmVhYjZmNDUu
LjlmMzkxYTYwNmMyNDk0ZjQwYTIxM2E4NDIxYTNjYjcyOTVkZTk5YWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
MS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAg
ICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9kZSBp
biBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJv
eENoZWNrLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRp
b24vV2ViUHJvY2Vzc1BsYXlTdGF0aW9uLmNwcC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAz
LTExICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAgICAgICAg
IFJFR1JFU1NJT04ocjI3MjQ2OSk6IFtXUEVdW0dUS10gRXBpcGhhbnkgVUkgcHJvY2VzcyBjcmFz
aGVzIHdoZW4gZG93bmxvYWRpbmcgUERGcywgV2ViS2l0U2VjdXJpdHlPcmlnaW4gc2hvdWxkIHVz
ZSBTZWN1cml0eU9yaWdpbkRhdGEKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTU3MzU4YWM5
ODA0Yjk4NTliNzJlYjI0ZDg2ZmM1Y2E5YTFjMjk0OC4uOWY0MWI2OGYyNDU0MjM3NTM4M2MzNTU0
ZTc2MWU4NDNmYTA3NWIzNSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMSw2ICsxMTEs
NyBAQAogCQkxQzczNEI1MzIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM3MzRCNTIyMDc4OEM0
ODAwRjQzMEVBIC8qIFN5c3RlbUNvbG9ycy5tbSAqLzsgfTsKIAkJMUM3OTIwMUMyMzRCREQ5QjAw
MUVBRjIzIC8qIENvcHlSVEYubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQzc5MjAxQjIzNEJERDlCMDAxRUFGMjMgLyogQ29weVJURi5tbSAqLzsgfTsK
IAkJMUM3RkVCMjAyMDdDMEYyRTAwRDIzMjc4IC8qIEJhY2tncm91bmRDb2xvci5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDN0ZFQjFGMjA3QzBGMkQw
MEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gKi87IH07CisJCTFDODE4MDI3MjVGQjA5RTIw
MDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgxODAyNjI1RkIwOUUyMDA2MDhCM0UgLyog
Rm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tICovOyB9OwogCQkxQzkwNDIwQzIzMjZFMDNDMDBC
RUY5MUUgLyogU2VsZWN0aW9uQnlXb3JkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUM5MDQyMEIyMzI2RTAzQzAwQkVGOTFFIC8qIFNlbGVjdGlvbkJ5
V29yZC5tbSAqLzsgfTsKIAkJMUM5RUI4NDExRTM4MERBMTAwNUM2NDQyIC8qIENvbXBsZXhUZXh0
Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQzlFQjg0MDFFMzgwREExMDA1QzY0NDIgLyogQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cCAqLzsgfTsKIAkJMUNBQ0FEQTEyMzA2MjBBRTAwMDdENTRDIC8qIFdLV2ViVmlld09wYXF1ZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQUNBREEw
MjMwNjIwQUQwMDA3RDU0QyAvKiBXS1dlYlZpZXdPcGFxdWUubW0gKi87IH07CkBAIC0xODEzLDYg
KzE4MTQsNyBAQAogCQkxQzczNEI1MjIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtQ29sb3JzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzc5MjAxQjIzNEJERDlCMDAxRUFGMjMg
LyogQ29weVJURi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENv
cHlSVEYubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDN0ZFQjFGMjA3QzBGMkQw
MEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBCYWNrZ3JvdW5kQ29sb3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5kYm94Q2hl
Y2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA0MjBCMjMyNkUwM0MwMEJFRjkxRSAv
KiBTZWxlY3Rpb25CeVdvcmQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBTZWxlY3Rpb25CeVdvcmQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFD
OUVCODQwMUUzODBEQTEwMDVDNjQ0MiAvKiBDb21wbGV4VGV4dENvbnRyb2xsZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBQ0FEQTAyMzA2MjBBRDAwMDdENTRD
IC8qIFdLV2ViVmlld09wYXF1ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdLV2ViVmlld09wYXF1ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTMyMTYsNiArMzIxOCw3IEBACiAJCQkJQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2ts
aWdodExldmVsTm90aWZpY2F0aW9uLm1tICovLAogCQkJCUMxNjkyREM5MjNEMTBEQUUwMDZFODhG
NyAvKiBCYXR0ZXJ5Lm1tICovLAogCQkJCUMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFi
bGVBY2Nlc3NpYmlsaXR5Lm1tICovLAorCQkJCTFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBG
b250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gKi8sCiAJCQkJRTM5NEFFNkUyM0YyMzAzRTAwNUI0
OTM2IC8qIEdyYW50QWNjZXNzVG9Nb2JpbGVBc3NldHMubW0gKi8sCiAJCQkJRTM0QTZEMTgyNDEy
REUzOTAwMTJBQjZFIC8qIEdyYW50QWNjZXNzVG9QcmVmZXJlbmNlc1NlcnZpY2UubW0gKi8sCiAJ
CQkJRTM1QjkwODEyM0Y2MEREMDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLm1tICov
LApAQCAtNTMxNSw2ICs1MzE4LDcgQEAKIAkJCQlGNEJDMEIxNDIxNDZDODQ5MDAyQTA0NzggLyog
Rm9jdXNQcmVzZXJ2YXRpb25UZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJFOTJCOEZBMjE2
NEEwQzEwMDVCNjRGMCAvKiBGb250QXR0cmlidXRlcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0
NTZBQjFDMjEzRURCQTMwMENCMkNFRiAvKiBGb250TWFuYWdlclRlc3RzLm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJMUM4MTgwMjcyNUZCMDlFMjAwNjA4QjNFIC8qIEZvbnRSZWdpc3RyeVNhbmRib3hD
aGVjay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFDRjU5QUUzMjFFNjg5MzIwMDZFMzdFQyAvKiBG
b3JjZUxpZ2h0QXBwZWFyYW5jZUluQnVuZGxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdF
RjUxQTQxMUFFNjAwNDQ3QzRDIC8qIEZvcmNlUmVwYWludC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGNEZBMjgyQTI0Q0QwMTI3MDA2MThBNDYgLyogRm9ybVZhbGlkYXRpb24ubW0gaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZvbnRS
ZWdpc3RyeVNhbmRib3hDaGVjay5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0ZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDc3ZTBlY2E4YTQ1ZmNk
N2JhYmVhNGY5NzhkMGE0YTY0ZjZjOGZhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tCkBAIC0wLDAg
KzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVf
Q19TUEkKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dl
YlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oPgorI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKworVEVTVChXZWJLaXQsIEZvbnRkU2FuZGJv
eENoZWNrKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcmVm
ZXJlbmNlcy5fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPSBOTzsKKyAgICBhdXRvIGNv
bnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmpl
Y3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25m
aWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0Lmdl
dCgpOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIGF1dG8gc2FuZGJveEFj
Y2VzcyA9IFsmXSB7CisgICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1Rv
WFBDU2VydmljZU5hbWUoJ2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCcsICdjb20uYXBwbGUu
Zm9udHMnKSJdLmJvb2xWYWx1ZTsKKyAgICB9OworCisjaWYgSEFWRShTVEFUSUNfRk9OVF9SRUdJ
U1RSWSkKKyAgICBBU1NFUlRfRkFMU0Uoc2FuZGJveEFjY2VzcygpKTsKKyNlbmRpZgorCisgICAg
W3dlYlZpZXcgX3N3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnld
OworCisgICAgQVNTRVJUX1RSVUUoc2FuZGJveEFjY2VzcygpKTsKK30KKworI2VuZGlmIC8vIFdL
X0hBVkVfQ19TUEkK
</data>
<flag name="review"
          id="442276"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423068</attachid>
            <date>2021-03-12 11:23:01 -0800</date>
            <delta_ts>2021-03-12 11:39:13 -0800</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-223062-20210312112300.patch</filename>
            <type>text/plain</type>
            <size>28098</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkY2VjNjAy
MzIxY2U0MGVjMWIzODI1MDMyODc5M2MwNmZmMmUxMTljLi5hZWY4ZTRmYTgxYTJhN2JlMGJjNmU5
ZTk2NDM2MjY3ZjJiYWVhODdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9k
ZSBpbiBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAg
ICAqIHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaDoKKwogMjAyMS0wMy0xMCAgRGV2aW4gUm91c3Nv
ICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHBsdW1iaW5nIGZvciBgZGVmYXVs
dFBsYXliYWNrUmF0ZWAgdG8gQVZLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYmQzY2IyOGY5YjYyNGRiNWQzYzIw
ZWQ2YjIzOTAwYTI2MTQwZTA3Mi4uY2YzNDA5MjIwZmI3ZTUxYjE0ZWE5OTljYTAwZTdmNmQxYjU4
ZmVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MyBAQAorMjAyMS0wMy0xMSAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gTW9iaWxlQXNz
ZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9kZSBpbiBTYWZhcmkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzA2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBIZXJlIGlzIGFuIEFTQ0lJLWFydCBk
ZXNjcmlwdGlvbiBvZiBob3cgdmFyaW91cyBraW5kcyBvZiBpbnN0YWxsZWQgZm9udHMgd29yayBp
biBXZWJLaXQ6CisKKyAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IFNhZmFy
aSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vcm1hbCBXS1dlYlZpZXdzICAg
ICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICs9PT09PT09PT09PT09PT09PT09PT09Kys9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PSsKKyAgICAgICAgfCBQcmVpbnN0YWxsZWQgRm9udHMg
ICB8fCBKdXN0IHdvcmtzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBKdXN0IHdvcmtz
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICArLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgIHwgTW9iaWxlQXNz
ZXQgRm9udHMgICAgfHwgTmVlZHMgYWNjZXNzIHRvIG1vYmlsZWFzc2V0ZCAgICAgICAgICAgIHwg
TmVlZHMgYWNjZXNzIHRvIG1vYmlsZWFzc2V0ZCBidXQgbm90ICAgIHwKKyAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICB8fCAoYW5kIGZvbnRkIGZvciBhbnkgc3Vic2VxdWVudCByZXF1ZXN0
cyAgfCBmb250ZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8
ICAgICAgICAgICAgICAgICAgICAgIHx8IGFmdGVyIHRoZSBmaXJzdCBNb2JpbGVBc3NldCBmb250
IGlzICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAg
ICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgdXNlZCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgQXBwIGNhbGxzIF9ncmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpIHwK
KyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCB0byB2ZW5kIHRoZSBzYW5kYm94IGV4dGVuc2lvbiAgICAgICAg
ICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IEFwcCBjYWxscyBfZ3JhbnRB
Y2Nlc3NUb0Fzc2V0U2VydmljZXMoKSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgdG8gdmVuZCB0aGUg
c2FuZGJveCBleHRlbnNpb24gdG8gICAgICAgIHwgQW5kIHRoZW4gdGhlIGFwcCBuZWVkcyB0byB1
c2UgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBtb2JpbGVh
c3NldGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBJbmplY3RlZEJ1bmRsZSB0byBhY3Rp
dmF0ZSB0aGUgZm9udHMgaW4gfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRoZSB3ZWIgcHJvY2VzcyAg
ICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg
fHwgV2ViIHByb2Nlc3MgYWxzbyBuZWVkcyBhIGNhbGwgdG8gICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAg
ICAgICB8fCBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZvbnRzKCkgYW5kIGEgfCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAg
ICAgICAgICAgIHx8IHNhbmRib3ggZXh0ZW5zaW9uIHRvIGFjY2VzcyBmb250ZCAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgICB8fCBBZnRlciB0aGlzIGNhbGwgaXMgbWFkZSwgZm9udCByZXF1
ZXN0cyAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IGdvIHRocm91Z2ggZm9udGQgKGxpa2UgZm9yIG5v
cm1hbCAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cisg
ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgV0tXZWJWaWV3cykgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IEFuZCB0aGVuIHRoZSBh
cHAgbmVlZHMgdG8gdXNlICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgSW5qZWN0ZWRC
dW5kbGUgdG8gYWN0aXZhdGUgdGhlIGZvbnRzIGluIHwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCB0aGUg
d2ViIHByb2Nlc3MgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgIHwgVXNlci1pbnN0YWxsZWQgRm9u
dHMgfHwgSW50ZW50aW9uYWxseSBkb2Vzbid0IHdvcmsgICAgICAgICAgICAgIHwgTmVlZHMgYWNj
ZXNzIHRvIGZvbnRkLiAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAg
ICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IEp1c3Qgd29ya3MgKHdlIGFscmVhZHkgdmVuZCB0aGUgc2FuZGJveCB8CisgICAgICAgIHwgICAg
ICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgZXh0ZW5zaW9uIHVwb24gV0tXZWJWaWV3IGNyZWF0aW9uKSAgICAgIHwKKyAgICAgICAg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworCisg
ICAgICAgIFRoZSBwYXJ0IHRoYXQgdGhpcyBwYXRjaCBmaXhlcyBpcyB0aGUgIldlYiBwcm9jZXNz
IGFsc28gbmVlZHMgYSBjYWxsIHRvIENURm9udE1hbmFnZXJFbmFibGVBbGxVc2VyRm9udHMoKQor
ICAgICAgICBhbmQgYSBzYW5kYm94IGV4dGVuc2lvbiB0byBhY2Nlc3MgZm9udGQiIHVuZGVyIE1v
YmlsZUFzc2V0IEZvbnRzIC8gU2FmYXJpLgorCisgICAgICAgIEZyb20gbG9va2luZyBhdCB0aGlz
IGNoYXJ0LCBpdCBiZWNvbWVzIGNsZWFyIHRoYXQgYSBuZXcgbWVzc2FnZSBpcyBuZWNlc3Nhcnkg
dGhhdCBkb2VzOgorICAgICAgICAxLiBBZGRzIGEgc2FuZGJveCBleHRlbnNpb24gc28gdGhlIHdl
YiBwcm9jZXNzIGNhbiBhY2Nlc3MgZm9udGQKKyAgICAgICAgMi4gQ2FsbHMgQ1RGb250TWFuYWdl
ckVuYWJsZUFsbFVzZXJGb250cygpIHRvIGNhdXNlIHBsYXRmb3JtIGZvbnQgcm91dGluZXMgdG8g
dXNlIGZvbnRkCisKKyAgICAgICAgU28gdGhhdCdzIGV4YWN0bHkgd2hhdCB0aGlzIHBhdGNoIGRv
ZXMuIEl0IGFkZHMgbmV3IFdLV2ViVmlldyBTUEksCisgICAgICAgIF9zd2l0Y2hGcm9tU3RhdGlj
Rm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5LCB3aGljaCBkb2VzIHRoZXNlIHR3byB0aGlu
Z3MuCisKKyAgICAgICAgRXZlbiB3aGVuIHdlIHN0YXJ0IHVzaW5nIGZvbnRkLCB0aGF0IGRvZXNu
J3QgYWxsb3cgdXNlci1pbnN0YWxsZWQgZm9udHMgaW4gV2ViS2l0IGluIFNhZmFyaSwgYmVjYXVz
ZSB3ZSdsbCBzdGlsbAorICAgICAgICBjb250aW51ZSB0byB1c2Uga0NURm9udFVzZXJJbnN0YWxs
ZWRBdHRyaWJ1dGUgLyBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUsIGp1c3QgbGlrZSB3
ZSBkbyBpbiBCaWcgU3VyLgorCisgICAgICAgIFRlc3Q6IFdlYktpdC5Nb2JpbGVBc3NldFNhbmRi
b3hDaGVjaworCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2
YXRlLmg6IENvcnJlY3QgdGhlIGNvbW1lbnQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfc3dpdGNoRnJvbVN0YXRpY0Zv
bnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeV0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQ
YWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpzd2l0Y2hG
cm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpj
cmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViS2l0OjpjdXN0b21pemVkUmVhZGVyQ29u
ZmlndXJhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OmRpc2FibGVTdGF0aWNGb250
UmVnaXN0cnkpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6On5XZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0
cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1Vz
ZXJGb250UmVnaXN0cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJv
Y2Vzc1BsYXlTdGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c3dpdGNo
RnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkpOgorCiAy
MDIxLTAzLTExICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjI3MjQ2OSk6IFtXUEVdW0dUS10gRXBpcGhhbnkgVUkgcHJvY2Vz
cyBjcmFzaGVzIHdoZW4gZG93bmxvYWRpbmcgUERGcywgV2ViS2l0U2VjdXJpdHlPcmlnaW4gc2hv
dWxkIHVzZSBTZWN1cml0eU9yaWdpbkRhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zi9Db3JlVGV4dFNQSS5oCmluZGV4IDZmNTZhMWFjMTY2NjdkMzhhNDg5ZmIxZmExMjg4YjkxN2Nk
YmYwYzIuLjlhNmE4Yzk5NDc1ODViY2I5MThjNGJkYjIzNTlhNTkwOWNhMDMxOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaApAQCAtMTMwLDYgKzEzMCw3
IEBAIENURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhBdHRyaWJ1
dGVzQW5kT3B0aW9ucyhDRkRpY3Rpb25hcnlSCiBDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERl
c2NyaXB0b3JDcmVhdGVMYXN0UmVzb3J0KCk7CiAKIENGQXJyYXlSZWYgQ1RGb250TWFuYWdlckNy
ZWF0ZUZvbnREZXNjcmlwdG9yc0Zyb21EYXRhKENGRGF0YVJlZik7Citib29sIENURm9udE1hbmFn
ZXJFbmFibGVBbGxVc2VyRm9udHMoYm9vbCBwb3N0Rm9udENoYW5nZU5vdGlmaWNhdGlvbik7CiAK
IHZvaWQgQ1RQYXJhZ3JhcGhTdHlsZVNldENvbXBvc2l0aW9uTGFuZ3VhZ2UoQ1RQYXJhZ3JhcGhT
dHlsZVJlZiwgQ1RDb21wb3NpdGlvbkxhbmd1YWdlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKaW5kZXggM2Nk
NGI3ZTc0MWU5ZjIzMmQ5YTU4MWE2ZjdkMWZhMmZkZjdmNWQwNy4uOTA2MTk5MjJjMzgxYjIyNGQ1
Y2I2ZTVmMmFlZDYyMWE4NDEyMzlmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC01NDcsNyArNTQ3LDcg
QEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFN5bnRoZXRpY0VkaXRpbmdDb21tYW5k
c0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpOwog
V0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKLS8vIERlZmF1bHRzIHRvIGZhbHNlLgorLy8gRGVmYXVs
dHMgdG8gdHJ1ZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGRBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKFdLUHJl
ZmVyZW5jZXNSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQppbmRleCA2NGU5NGU2ZTE0OTIxNTNiMzEzNWE3MjZkYTUwNjg0NDA1Zjc4Yjli
Li5hM2RkZjAzNGY0NjIxYWJkNDgxNGM2NWQ5YjExODA2NTRlZjBlMjNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTIyMzksNiArMjIz
OSwxMiBAQCAtICh2b2lkKV9yZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMKICAgICAgICAgX3Bh
Z2UtPnJldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpOwogfQogCistICh2b2lkKV9zd2l0Y2hG
cm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5Cit7CisgICAgaWYgKF9wYWdl
KQorICAgICAgICBfcGFnZS0+c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRS
ZWdpc3RyeSgpOworfQorCiAtIChOU0FycmF5ICopX2NlcnRpZmljYXRlQ2hhaW4KIHsKICAgICBp
ZiAoV2ViS2l0OjpXZWJGcmFtZVByb3h5KiBtYWluRnJhbWUgPSBfcGFnZS0+bWFpbkZyYW1lKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaAppbmRleCA2NWQyNmE1ZDdkYzcyYzQzNjU2OWRlNTVjYTc1YWNjZDdmMTE1ZTg4Li40
Nzc0OWFkZDRkMmUzNzQwZmQyYTg4MWU1YmRjMDY4Y2U4YjNiMzg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTQ1
MSw2ICs0NTEsMTYgQEAgZm9yIHRoaXMgcHJvcGVydHkuCiAtICh2b2lkKV9ncmFudEFjY2Vzc1Rv
QXNzZXRTZXJ2aWNlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoMTQu
MCkpOwogLSAodm9pZClfcmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcygxNC4wKSk7CiAKKy8qISBAYWJzdHJhY3QgSWYgdGhl
IFdLV2ViVmlldyB3YXMgY3JlYXRlZCB3aXRoIF9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250
cyA9IE5PLAorIHRoZSB3ZWIgcHJvY2VzcyB3aWxsIGF1dG9tYXRpY2FsbHkgdXNlIGFuIGluLXBy
b2Nlc3MgZm9udCByZWdpc3RyeSwgYW5kIGl0cyBzYW5kYm94Cisgd2lsbCBiZSByZXN0cmljdGVk
IHRvIGZvcmJpZCBhY2Nlc3MgdG8gZm9udGQuIE90aGVyd2lzZSwgdGhlIHdlYiBwcm9jZXNzIHdp
bGwgdXNlCisgZm9udGQgdG8gbG9vayB1cCBmb250cyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBpbi1w
cm9jZXNzIHJlZ2lzdHJ5LCBhbmQgdGhlIHdlYgorIHByb2Nlc3MncyBzYW5kYm94IHdpbGwgYXV0
b21hdGljYWxseSBiZSBleHRlbmRlZCB0byBhbGxvdyBhY2Nlc3MgdG8gZm9udGQuIFRoaXMKKyBt
ZXRob2QgcmVwcmVzZW50cyBhIG9uZS10aW1lLCB3ZWItcHJvY2Vzcy13aWRlIHN3aXRjaCBmcm9t
IHVzaW5nIHRoZSBpbi1wcm9jZXNzCisgZm9udCByZWdpc3RyeSB0byB1c2luZyBmb250ZCwgaW5j
bHVkaW5nIGdyYW50aW5nIHRoZSByZWxldmFudCBzYW5kYm94IGV4dGVuc2lvbi4KKyovCistICh2
b2lkKV9zd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5IFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSkpOworCiBAZW5kCiAKICNpZiBUQVJHRVRfT1Nf
SVBIT05FCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCmluZGV4IDQwYmY0OTg2OWRmMmNiY2RjOGVlZGM5N2FlZGJjMDczZGQyYzIyNWEu
LjI3MTM4MWZkM2RjMWU0YTExMmFkNzg4ZjY1MDc5M2Q0MWZkYTBiZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC02NDIs
NiArNjQyLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2Vydmlj
ZXMoKQogICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpSZXZva2VBY2Nl
c3NUb0Fzc2V0U2VydmljZXMoKSwgMCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpzd2l0Y2hG
cm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KCkKK3sKKyAgICBwcm9jZXNz
KCkuc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6U3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3Ry
eVRvVXNlckZvbnRSZWdpc3RyeShmb250ZE1hY2hFeHRlbnNpb25IYW5kbGUoKSksIDApOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAwYmIyYzUwNGM1MGY3
N2JhYmY4NGJiNTA1N2E5YWE4NWI0NGIwODllLi40MGIxM2RkNWU1MWJiOTBmYTI0NmM0YWY5ZDdk
YzVlNDkzZTVlNDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTc3NTgsMzUgKzc3NTgsNiBAQCBzdGF0aWMgY29uc3QgVmVjdG9yPEFTQ0lJTGl0ZXJhbD4m
IG1lZGlhUmVsYXRlZElPS2l0Q2xhc3NlcygpCiB9CiAjZW5kaWYKIAotI2lmIEhBVkUoU1RBVElD
X0ZPTlRfUkVHSVNUUlkpCi1zdGF0aWMgYm9vbCBjdXN0b21pemVkUmVhZGVyQ29uZmlndXJhdGlv
bigpCi17Ci0gICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHRDRihDRlByZWZlcmVuY2VzQ29w
eUFwcFZhbHVlKENGU1RSKCJSZWFkZXJDb25maWd1cmF0aW9uIiksIGtDRlByZWZlcmVuY2VzQ3Vy
cmVudEFwcGxpY2F0aW9uKSk7Ci0gICAgaWYgKCFjb25maWd1cmF0aW9uIHx8IENGR2V0VHlwZUlE
KGNvbmZpZ3VyYXRpb24uZ2V0KCkpICE9IENGRGljdGlvbmFyeUdldFR5cGVJRCgpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgYXV0byBmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnID0g
Q0ZEaWN0aW9uYXJ5R2V0VmFsdWUoc3RhdGljX2Nhc3Q8Q0ZEaWN0aW9uYXJ5UmVmPihjb25maWd1
cmF0aW9uLmdldCgpKSwgQ0ZTVFIoImZvbnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWciKSk7Ci0g
ICAgaWYgKCFmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnIHx8IENGR2V0VHlwZUlEKGZvbnRG
YW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWcpICE9IENGRGljdGlvbmFyeUdldFR5cGVJRCgpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgYXV0byBmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFn
RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PENGRGljdGlvbmFyeVJlZj4oZm9udEZhbWlseU5hbWVG
b3JMYW5ndWFnZVRhZyk7Ci0gICAgYXV0byBjb3VudCA9IENGRGljdGlvbmFyeUdldENvdW50KGZv
bnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWdEaWN0aW9uYXJ5KTsKLSAgICBWZWN0b3I8Q0ZUeXBl
UmVmPiBmb250RmFtaWx5VmFsdWVzKGNvdW50KTsKLSAgICBDRkRpY3Rpb25hcnlHZXRLZXlzQW5k
VmFsdWVzKGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3VhZ2VUYWdEaWN0aW9uYXJ5LCBudWxscHRyLCBm
b250RmFtaWx5VmFsdWVzLmRhdGEoKSk7Ci0KLSAgICBmb3IgKGF1dG8gZm9udCA6IGZvbnRGYW1p
bHlWYWx1ZXMpIHsKLSAgICAgICAgaWYgKCFmb250IHx8IENGR2V0VHlwZUlEKGZvbnQpICE9IENG
U3RyaW5nR2V0VHlwZUlEKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKFN0
cmluZyhzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oZm9udCkpICE9ICJTeXN0ZW0iKQotICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotc3RhdGlj
IGJvb2wgZGlzYWJsZVN0YXRpY0ZvbnRSZWdpc3RyeSgpCi17Ci0gICAgcmV0dXJuIENGUHJlZmVy
ZW5jZXNHZXRBcHBCb29sZWFuVmFsdWUoQ0ZTVFIoIldlYktpdERpc2FibGVTdGF0aWNGb250UmVn
aXN0cnkiKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24sIG51bGxwdHIpOwotfQot
I2VuZGlmIC8vIEhBVkUoU1RBVElDX0ZPTlRfUkVHSVNUUlkpCi0KIFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMgV2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFtZXRlcnMoV2ViUHJvY2Vzc1Byb3h5
JiBwcm9jZXNzLCBEcmF3aW5nQXJlYVByb3h5JiBkcmF3aW5nQXJlYSwgUmVmUHRyPEFQSTo6V2Vi
c2l0ZVBvbGljaWVzPiYmIHdlYnNpdGVQb2xpY2llcykKIHsKICAgICBXZWJQYWdlQ3JlYXRpb25Q
YXJhbWV0ZXJzIHBhcmFtZXRlcnM7CkBAIC03ODkyLDEzICs3ODYzLDggQEAgV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycyBXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNz
UHJveHkmIHByb2MKICAgICB9CiAjZW5kaWYKICNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZ
KQotICAgIGlmIChkaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5KCkKLSAgICAgICAgfHwgcHJlZmVy
ZW5jZXMoKS5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpCi0gICAgICAgIHx8IChXZWJD
b3JlOjpNYWNBcHBsaWNhdGlvbjo6aXNTYWZhcmkoKSAmJiBjdXN0b21pemVkUmVhZGVyQ29uZmln
dXJhdGlvbigpKSkgewotICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgZm9udE1hY2hF
eHRlbnNpb25IYW5kbGU7Ci0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZv
ck1hY2hMb29rdXAoImNvbS5hcHBsZS5mb250cyJfcywgV1RGOjpudWxsb3B0LCBmb250TWFjaEV4
dGVuc2lvbkhhbmRsZSk7Ci0gICAgICAgIHBhcmFtZXRlcnMuZm9udE1hY2hFeHRlbnNpb25IYW5k
bGUgPSBXVEZNb3ZlKGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlKTsKLSAgICB9CisgICAgaWYgKHBy
ZWZlcmVuY2VzKCkuc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSkKKyAgICAgICAgcGFy
YW1ldGVycy5mb250TWFjaEV4dGVuc2lvbkhhbmRsZSA9IGZvbnRkTWFjaEV4dGVuc2lvbkhhbmRs
ZSgpOwogI2VuZGlmCiAjaWYgSEFWRShBUFBfQUNDRU5UX0NPTE9SUykKICAgICBwYXJhbWV0ZXJz
LmFjY2VudENvbG9yID0gcGFnZUNsaWVudCgpLmFjY2VudENvbG9yKCk7CkBAIC0xMDQ0Myw2ICsx
MDQwOSwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJBcHBCb3VuZE5hdmlnYXRpb25EYXRh
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbAogfQogI2VuZGlmCiAKK1NhbmRib3hF
eHRlbnNpb246OkhhbmRsZSBXZWJQYWdlUHJveHk6OmZvbnRkTWFjaEV4dGVuc2lvbkhhbmRsZSgp
Cit7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxl
OworICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5h
cHBsZS5mb250cyJfcywgV1RGOjpudWxsb3B0LCBmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7Cisg
ICAgcmV0dXJuIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOTdiNmQxMjk2MDY5YjFhMTA0M2Q5NzQ1NGExYWMzMDQx
NTBjNTI0MC4uMDFjMGFhOWY4NGZjNDRhMTQxOGY3MjhmYjJlYjVkOTA3OWMzYzBmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE3NzYsNiArMTc3Niw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgZ3JhbnRBY2Nlc3NUb0Fzc2V0U2VydmljZXMoKTsKICAgICB2b2lk
IHJldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpOworICAgIHZvaWQgc3dpdGNoRnJvbVN0YXRp
Y0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSgpOwogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgdm9pZCBncmFudEFjY2Vzc1RvUHJlZmVyZW5jZVNlcnZpY2UoKTsKQEAgLTI0MTQsNiAr
MjQxNSw4IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
QXJyYXkgY3JlYXRlTmV0d29ya0V4dGVuc2lvbnNTYW5kYm94RXh0ZW5zaW9ucyhXZWJQcm9jZXNz
UHJveHkmKTsKIAorICAgIHN0YXRpYyBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgZm9udGRNYWNo
RXh0ZW5zaW9uSGFuZGxlKCk7CisKICAgICBjb25zdCBJZGVudGlmaWVyIG1faWRlbnRpZmllcjsK
ICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX3dlYlBhZ2VJRDsKICAgICBXZWFrUHRyPFBh
Z2VDbGllbnQ+IG1fcGFnZUNsaWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggZTYyYmMzNDVmMDcxNTNjYzczOTQxZGU5OTk0NzgxZjEyY2I5
M2E1MC4uZjlhOTFhODJjN2QxMzI5Y2FjZDZkOTRlYTEyZDQzMDFjYWNlMzQyMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEwMTMsNyArMTAx
Myw3IEBAIFdlYlBhZ2U6On5XZWJQYWdlKCkKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KFdURjo6bnVsbG9wdCk7CiAgICAgfQogI2VuZGlmCi0gICAgCisKICNpZiBIQVZFKFNUQVRJQ19G
T05UX1JFR0lTVFJZKQogICAgIGlmIChtX2ZvbnRFeHRlbnNpb24pCiAgICAgICAgIG1fZm9udEV4
dGVuc2lvbi0+cmV2b2tlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRl
eCA0YmU1NWRiZTFjMGFhOGZhNDcxMmZhYTRjY2Y5ZmQ1NTRkOTJiOWJlLi42NmU0YjIzNzRkZDRk
MzIyOGIxNGFhODAwZTFjZDIyYTI2MTI3ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKQEAgLTM0MSw2ICszNDEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdyYW50QWNj
ZXNzVG9Bc3NldFNlcnZpY2VzKFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYgbW9i
aWxlQXNzZXRWMkhhbmRsZSk7CiAgICAgdm9pZCByZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMo
KTsKKyAgICB2b2lkIHN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0
cnkoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJiBmb250TWFjaEV4dGVuc2lvbkhh
bmRsZSk7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCB1cGRhdGVQYWdlU2NyZWVuUHJv
cGVydGllcygpOwpAQCAtNzAxLDYgKzcwMiw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFJl
ZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX2Fzc2V0U2VydmljZVYyRXh0ZW5zaW9uOworICAgIFJl
ZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX2ZvbnRNYWNoRXh0ZW5zaW9uOwogCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAgICAgSGFzaENvdW50ZWRTZXQ8U3RyaW5nPiBtX3BlbmRpbmdQYXN0ZWJvYXJk
V3JpdGVDb3VudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluCmluZGV4IDliYzZkZjdhOWI1OWExN2UzZWNjMGE2NGQ1ZjE4ZDc1Njg5MjU4NjEu
LmI0Zjc3Yjk4YTIyMGEwZmM4YjFmMTVmZGJlMDEzNzYzZTUxNDk5NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0xNjgsNiArMTY4
LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciBOb3RSZWZDb3VudGVk
IHsKIAogICAgIEdyYW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKFdlYktpdDo6U2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlIG1vYmlsZUFzc2V0VjJIYW5kbGUpCiAgICAgUmV2b2tlQWNjZXNzVG9Bc3Nl
dFNlcnZpY2VzKCkKKyAgICBTd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJl
Z2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9u
SGFuZGxlKQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgVW5ibG9ja1NlcnZpY2VzUmVxdWly
ZWRCeUFjY2Vzc2liaWxpdHkoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBo
YW5kbGVBcnJheSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCmluZGV4IDU1MmFhZDM4ODQ1N2Y3MTQyMDQ4YTI2MWZmMjZmMjljNGJhMTkx
ZWUuLmIxY2M3MTRhOWQ1MGFkZmY2OWRjYWUyOWYwYjQxNzQwM2EwODQxN2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMTM1
LDYgKzEzNSw3IEBACiAjaW1wb3J0ICJXZWJTd2l0Y2hpbmdHUFVDbGllbnQuaCIKICNpbXBvcnQg
PFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xNYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1Njcm9sbGJhclRoZW1lTWFjLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NmL0NvcmVUZXh0U1BJ
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL21hYy9OU1Njcm9sbGVySW1wU1BJLmg+CiAjZW5kaWYKQEAgLTExNjAsNiArMTE2MSwxNyBA
QCB2b2lkIFdlYlByb2Nlc3M6OnJldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpCiAgICAgbV9h
c3NldFNlcnZpY2VWMkV4dGVuc2lvbiA9IG51bGxwdHI7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6
c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeShXZWJLaXQ6OlNh
bmRib3hFeHRlbnNpb246OkhhbmRsZSYmIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlKQoreworICAg
IGlmIChtX2ZvbnRNYWNoRXh0ZW5zaW9uKQorICAgICAgICByZXR1cm47CisgICAgbV9mb250TWFj
aEV4dGVuc2lvbiA9IFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZShXVEZNb3ZlKGZvbnRNYWNoRXh0
ZW5zaW9uSGFuZGxlKSk7CisgICAgbV9mb250TWFjaEV4dGVuc2lvbi0+Y29uc3VtZSgpOworI2lm
IEhBVkUoU1RBVElDX0ZPTlRfUkVHSVNUUlkpCisgICAgQ1RGb250TWFuYWdlckVuYWJsZUFsbFVz
ZXJGb250cyh0cnVlKTsKKyNlbmRpZgorfQorCiB2b2lkIFdlYlByb2Nlc3M6OnNldFNjcmVlblBy
b3BlcnRpZXMoY29uc3QgU2NyZWVuUHJvcGVydGllcyYgcHJvcGVydGllcykKIHsKICAgICBXZWJD
b3JlOjpzZXRTY3JlZW5Qcm9wZXJ0aWVzKHByb3BlcnRpZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwCmluZGV4IDMyMDY5OTE4YzJmZmI2
MmNkZDA0MjFlMWM4OTFlNDUyZGU3NWI5ZTEuLmJhZDAwMTQ2ZDg4NjM1MjMwYjBhNTcxYTk5Mzlj
MjFjZDhhNjQ4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dl
YlByb2Nlc3NHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ2xpYi9XZWJQ
cm9jZXNzR0xpYi5jcHAKQEAgLTEzNiw0ICsxMzYsOCBAQCB2b2lkIFdlYlByb2Nlc3M6OnJldm9r
ZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpCiB7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6c3dpdGNo
RnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeShXZWJLaXQ6OlNhbmRib3hF
eHRlbnNpb246OkhhbmRsZSYmKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzUGxh
eVN0YXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlBy
b2Nlc3NQbGF5U3RhdGlvbi5jcHAKaW5kZXggMzM2ZDhlYmQwNzZkZTExYjk2MzRhOWFjZjI4NzFj
N2VmOTZkNWE1YS4uOWRiNTkzY2JjMTU2M2ZjMmYyZDBlNDM4OTNjNDlhYzk1MmEwNWZiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NQ
bGF5U3RhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9u
L1dlYlByb2Nlc3NQbGF5U3RhdGlvbi5jcHAKQEAgLTUyLDQgKzUyLDggQEAgdm9pZCBXZWJQcm9j
ZXNzOjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMoKQogewogfQogCit2b2lkIFdlYlByb2Nl
c3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoV2ViS2l0
OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJikKK3sKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NX
aW4uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzV2luLmNwcApp
bmRleCBhMDZiODg3NTc3YTUxNjg5YjBiYmNiZTMwNWEzNDkzMzJlYzUyNWU5Li4wNWIzNWNhZDUw
YTg5NmY1MTU4ZjljMzk2YThkOWM3MzA3NzQxMDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dpbi5jcHAKQEAgLTU5LDQgKzU5LDggQEAgdm9pZCBXZWJQ
cm9jZXNzOjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMoKQogewogfQogCit2b2lkIFdlYlBy
b2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkoV2Vi
S2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJikKK3sKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggZjE3M2UwYTg2MWUyZTU3MzE3NjkzZjc1MDU3YjM0NjlmZWFiNmY0NS4uZTI1ZWRhY2UzMmZj
YTlhNTczYTU0YzdjNDA4NzA2ZGZiNDRkZjQzMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAzLTExICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBN
b2JpbGVBc3NldCBmb250cyBhcmUgYnJva2VuIGluIFJlYWRlciBtb2RlIGluIFNhZmFyaQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDYyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc1Bs
YXlTdGF0aW9uLmNwcC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAzLTExICBNaWNoYWVsIENh
dGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI3
MjQ2OSk6IFtXUEVdW0dUS10gRXBpcGhhbnkgVUkgcHJvY2VzcyBjcmFzaGVzIHdoZW4gZG93bmxv
YWRpbmcgUERGcywgV2ViS2l0U2VjdXJpdHlPcmlnaW4gc2hvdWxkIHVzZSBTZWN1cml0eU9yaWdp
bkRhdGEKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTU3MzU4YWM5ODA0Yjk4NTliNzJlYjI0
ZDg2ZmM1Y2E5YTFjMjk0OC4uOWY0MWI2OGYyNDU0MjM3NTM4M2MzNTU0ZTc2MWU4NDNmYTA3NWIz
NSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMSw2ICsxMTEsNyBAQAogCQkxQzczNEI1
MzIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM3MzRCNTIyMDc4OEM0ODAwRjQzMEVBIC8qIFN5
c3RlbUNvbG9ycy5tbSAqLzsgfTsKIAkJMUM3OTIwMUMyMzRCREQ5QjAwMUVBRjIzIC8qIENvcHlS
VEYubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzc5
MjAxQjIzNEJERDlCMDAxRUFGMjMgLyogQ29weVJURi5tbSAqLzsgfTsKIAkJMUM3RkVCMjAyMDdD
MEYyRTAwRDIzMjc4IC8qIEJhY2tncm91bmRDb2xvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDN0ZFQjFGMjA3QzBGMkQwMEQyMzI3OCAvKiBCYWNr
Z3JvdW5kQ29sb3IubW0gKi87IH07CisJCTFDODE4MDI3MjVGQjA5RTIwMDYwOEIzRSAvKiBGb250
UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQzgxODAyNjI1RkIwOUUyMDA2MDhCM0UgLyogRm9udFJlZ2lzdHJ5U2Fu
ZGJveENoZWNrLm1tICovOyB9OwogCQkxQzkwNDIwQzIzMjZFMDNDMDBCRUY5MUUgLyogU2VsZWN0
aW9uQnlXb3JkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUM5MDQyMEIyMzI2RTAzQzAwQkVGOTFFIC8qIFNlbGVjdGlvbkJ5V29yZC5tbSAqLzsgfTsK
IAkJMUM5RUI4NDExRTM4MERBMTAwNUM2NDQyIC8qIENvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzlFQjg0MDFF
MzgwREExMDA1QzY0NDIgLyogQ29tcGxleFRleHRDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJMUNB
Q0FEQTEyMzA2MjBBRTAwMDdENTRDIC8qIFdLV2ViVmlld09wYXF1ZS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQUNBREEwMjMwNjIwQUQwMDA3RDU0
QyAvKiBXS1dlYlZpZXdPcGFxdWUubW0gKi87IH07CkBAIC0xODEzLDYgKzE4MTQsNyBAQAogCQkx
QzczNEI1MjIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVtQ29sb3JzLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtQ29sb3JzLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQzc5MjAxQjIzNEJERDlCMDAxRUFGMjMgLyogQ29weVJURi5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENvcHlSVEYubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDN0ZFQjFGMjA3QzBGMkQwMEQyMzI3OCAvKiBCYWNr
Z3JvdW5kQ29sb3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBC
YWNrZ3JvdW5kQ29sb3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDODE4MDI2
MjVGQjA5RTIwMDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBGb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDOTA0MjBCMjMyNkUwM0MwMEJFRjkxRSAvKiBTZWxlY3Rpb25CeVdv
cmQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTZWxlY3Rpb25C
eVdvcmQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOUVCODQwMUUzODBEQTEw
MDVDNjQ0MiAvKiBDb21wbGV4VGV4dENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ29tcGxleFRleHRDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUNBQ0FEQTAyMzA2MjBBRDAwMDdENTRDIC8qIFdLV2ViVmlld09w
YXF1ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLV2ViVmll
d09wYXF1ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyMTYsNiArMzIxOCw3
IEBACiAJCQkJQzE1Q0JCMkYyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZp
Y2F0aW9uLm1tICovLAogCQkJCUMxNjkyREM5MjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1t
ICovLAogCQkJCUMxM0Q4MkQ4MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFibGVBY2Nlc3NpYmlsaXR5
Lm1tICovLAorCQkJCTFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5k
Ym94Q2hlY2subW0gKi8sCiAJCQkJRTM5NEFFNkUyM0YyMzAzRTAwNUI0OTM2IC8qIEdyYW50QWNj
ZXNzVG9Nb2JpbGVBc3NldHMubW0gKi8sCiAJCQkJRTM0QTZEMTgyNDEyREUzOTAwMTJBQjZFIC8q
IEdyYW50QWNjZXNzVG9QcmVmZXJlbmNlc1NlcnZpY2UubW0gKi8sCiAJCQkJRTM1QjkwODEyM0Y2
MEREMDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLm1tICovLApAQCAtNTMxNSw2ICs1
MzE4LDcgQEAKIAkJCQlGNEJDMEIxNDIxNDZDODQ5MDAyQTA0NzggLyogRm9jdXNQcmVzZXJ2YXRp
b25UZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJFOTJCOEZBMjE2NEEwQzEwMDVCNjRGMCAv
KiBGb250QXR0cmlidXRlcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0NTZBQjFDMjEzRURCQTMw
MENCMkNFRiAvKiBGb250TWFuYWdlclRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMUM4MTgw
MjcyNUZCMDlFMjAwNjA4QjNFIC8qIEZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTFDRjU5QUUzMjFFNjg5MzIwMDZFMzdFQyAvKiBGb3JjZUxpZ2h0QXBwZWFy
YW5jZUluQnVuZGxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRjUxQTQxMUFFNjAwNDQ3
QzRDIC8qIEZvcmNlUmVwYWludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNEZBMjgyQTI0Q0Qw
MTI3MDA2MThBNDYgLyogRm9ybVZhbGlkYXRpb24ubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZvbnRSZWdpc3RyeVNhbmRib3hD
aGVjay5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZvbnRSZWdpc3RyeVNh
bmRib3hDaGVjay5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDc3ZTBlY2E4YTQ1ZmNkN2JhYmVhNGY5NzhkMGE0
YTY0ZjZjOGZhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2ltcG9y
dCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBv
cnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2Vi
Vmlld1ByaXZhdGUuaD4KKworVEVTVChXZWJLaXQsIEZvbnRkU2FuZGJveENoZWNrKQoreworICAg
IGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcmVmZXJlbmNlcy5fc2hvdWxk
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPSBOTzsKKyAgICBhdXRvIGNvbnRleHQgPSBhZG9wdFdL
KFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3Qo
IkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgp
LnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0LmdldCgpOworICAgIGF1dG8g
d2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5T
TWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQo
KSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIGF1dG8gc2FuZGJveEFjY2VzcyA9IFsmXSB7Cisg
ICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2lu
ZG93LmludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvWFBDU2VydmljZU5hbWUo
J2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCcsICdjb20uYXBwbGUuZm9udHMnKSJdLmJvb2xW
YWx1ZTsKKyAgICB9OworCisjaWYgSEFWRShTVEFUSUNfRk9OVF9SRUdJU1RSWSkKKyAgICBBU1NF
UlRfRkFMU0Uoc2FuZGJveEFjY2VzcygpKTsKKyNlbmRpZgorCisgICAgW3dlYlZpZXcgX3N3aXRj
aEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnldOworCisgICAgQVNTRVJU
X1RSVUUoc2FuZGJveEFjY2VzcygpKTsKK30KKworI2VuZGlmIC8vIFdLX0hBVkVfQ19TUEkK
</data>
<flag name="commit-queue"
          id="442340"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423070</attachid>
            <date>2021-03-12 11:48:16 -0800</date>
            <delta_ts>2021-03-12 16:01:06 -0800</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-223062-20210312114815.patch</filename>
            <type>text/plain</type>
            <size>27923</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBkY2VjNjAy
MzIxY2U0MGVjMWIzODI1MDMyODc5M2MwNmZmMmUxMTljLi5hZWY4ZTRmYTgxYTJhN2JlMGJjNmU5
ZTk2NDM2MjY3ZjJiYWVhODdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0wMy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gTW9iaWxlQXNzZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9k
ZSBpbiBTYWZhcmkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAg
ICAqIHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaDoKKwogMjAyMS0wMy0xMCAgRGV2aW4gUm91c3Nv
ICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHBsdW1iaW5nIGZvciBgZGVmYXVs
dFBsYXliYWNrUmF0ZWAgdG8gQVZLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYmQzY2IyOGY5YjYyNGRiNWQzYzIw
ZWQ2YjIzOTAwYTI2MTQwZTA3Mi4uY2YzNDA5MjIwZmI3ZTUxYjE0ZWE5OTljYTAwZTdmNmQxYjU4
ZmVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MyBAQAorMjAyMS0wMy0xMSAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gTW9iaWxlQXNz
ZXQgZm9udHMgYXJlIGJyb2tlbiBpbiBSZWFkZXIgbW9kZSBpbiBTYWZhcmkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzA2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBIZXJlIGlzIGFuIEFTQ0lJLWFydCBk
ZXNjcmlwdGlvbiBvZiBob3cgdmFyaW91cyBraW5kcyBvZiBpbnN0YWxsZWQgZm9udHMgd29yayBp
biBXZWJLaXQ6CisKKyAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKworICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IFNhZmFy
aSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vcm1hbCBXS1dlYlZpZXdzICAg
ICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICs9PT09PT09PT09PT09PT09PT09PT09Kys9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PSsKKyAgICAgICAgfCBQcmVpbnN0YWxsZWQgRm9udHMg
ICB8fCBKdXN0IHdvcmtzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBKdXN0IHdvcmtz
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICArLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgIHwgTW9iaWxlQXNz
ZXQgRm9udHMgICAgfHwgTmVlZHMgYWNjZXNzIHRvIG1vYmlsZWFzc2V0ZCAgICAgICAgICAgIHwg
TmVlZHMgYWNjZXNzIHRvIG1vYmlsZWFzc2V0ZCBidXQgbm90ICAgIHwKKyAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICB8fCAoYW5kIGZvbnRkIGZvciBhbnkgc3Vic2VxdWVudCByZXF1ZXN0
cyAgfCBmb250ZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8
ICAgICAgICAgICAgICAgICAgICAgIHx8IGFmdGVyIHRoZSBmaXJzdCBNb2JpbGVBc3NldCBmb250
IGlzICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAg
ICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgdXNlZCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgQXBwIGNhbGxzIF9ncmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpIHwK
KyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCB0byB2ZW5kIHRoZSBzYW5kYm94IGV4dGVuc2lvbiAgICAgICAg
ICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IEFwcCBjYWxscyBfZ3JhbnRB
Y2Nlc3NUb0Fzc2V0U2VydmljZXMoKSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgdG8gdmVuZCB0aGUg
c2FuZGJveCBleHRlbnNpb24gdG8gICAgICAgIHwgQW5kIHRoZW4gdGhlIGFwcCBuZWVkcyB0byB1
c2UgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCBtb2JpbGVh
c3NldGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBJbmplY3RlZEJ1bmRsZSB0byBhY3Rp
dmF0ZSB0aGUgZm9udHMgaW4gfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRoZSB3ZWIgcHJvY2VzcyAg
ICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg
fHwgV2ViIHByb2Nlc3MgYWxzbyBuZWVkcyBhIGNhbGwgdG8gICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAg
ICAgICB8fCBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZvbnRzKCkgYW5kIGEgfCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAg
ICAgICAgICAgIHx8IHNhbmRib3ggZXh0ZW5zaW9uIHRvIGFjY2VzcyBmb250ZCAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgICB8fCBBZnRlciB0aGlzIGNhbGwgaXMgbWFkZSwgZm9udCByZXF1
ZXN0cyAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IGdvIHRocm91Z2ggZm9udGQgKGxpa2UgZm9yIG5v
cm1hbCAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cisg
ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgV0tXZWJWaWV3cykgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfAorICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHx8IEFuZCB0aGVuIHRoZSBh
cHAgbmVlZHMgdG8gdXNlICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8CisgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfHwgSW5qZWN0ZWRC
dW5kbGUgdG8gYWN0aXZhdGUgdGhlIGZvbnRzIGluIHwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8fCB0aGUg
d2ViIHByb2Nlc3MgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgIHwgVXNlci1pbnN0YWxsZWQgRm9u
dHMgfHwgSW50ZW50aW9uYWxseSBkb2Vzbid0IHdvcmsgICAgICAgICAgICAgIHwgTmVlZHMgYWNj
ZXNzIHRvIGZvbnRkLiAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAgICAgICAgICAgICAg
ICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IEp1c3Qgd29ya3MgKHdlIGFscmVhZHkgdmVuZCB0aGUgc2FuZGJveCB8CisgICAgICAgIHwgICAg
ICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgZXh0ZW5zaW9uIHVwb24gV0tXZWJWaWV3IGNyZWF0aW9uKSAgICAgIHwKKyAgICAgICAg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworCisg
ICAgICAgIFRoZSBwYXJ0IHRoYXQgdGhpcyBwYXRjaCBmaXhlcyBpcyB0aGUgIldlYiBwcm9jZXNz
IGFsc28gbmVlZHMgYSBjYWxsIHRvIENURm9udE1hbmFnZXJFbmFibGVBbGxVc2VyRm9udHMoKQor
ICAgICAgICBhbmQgYSBzYW5kYm94IGV4dGVuc2lvbiB0byBhY2Nlc3MgZm9udGQiIHVuZGVyIE1v
YmlsZUFzc2V0IEZvbnRzIC8gU2FmYXJpLgorCisgICAgICAgIEZyb20gbG9va2luZyBhdCB0aGlz
IGNoYXJ0LCBpdCBiZWNvbWVzIGNsZWFyIHRoYXQgYSBuZXcgbWVzc2FnZSBpcyBuZWNlc3Nhcnkg
dGhhdCBkb2VzOgorICAgICAgICAxLiBBZGRzIGEgc2FuZGJveCBleHRlbnNpb24gc28gdGhlIHdl
YiBwcm9jZXNzIGNhbiBhY2Nlc3MgZm9udGQKKyAgICAgICAgMi4gQ2FsbHMgQ1RGb250TWFuYWdl
ckVuYWJsZUFsbFVzZXJGb250cygpIHRvIGNhdXNlIHBsYXRmb3JtIGZvbnQgcm91dGluZXMgdG8g
dXNlIGZvbnRkCisKKyAgICAgICAgU28gdGhhdCdzIGV4YWN0bHkgd2hhdCB0aGlzIHBhdGNoIGRv
ZXMuIEl0IGFkZHMgbmV3IFdLV2ViVmlldyBTUEksCisgICAgICAgIF9zd2l0Y2hGcm9tU3RhdGlj
Rm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5LCB3aGljaCBkb2VzIHRoZXNlIHR3byB0aGlu
Z3MuCisKKyAgICAgICAgRXZlbiB3aGVuIHdlIHN0YXJ0IHVzaW5nIGZvbnRkLCB0aGF0IGRvZXNu
J3QgYWxsb3cgdXNlci1pbnN0YWxsZWQgZm9udHMgaW4gV2ViS2l0IGluIFNhZmFyaSwgYmVjYXVz
ZSB3ZSdsbCBzdGlsbAorICAgICAgICBjb250aW51ZSB0byB1c2Uga0NURm9udFVzZXJJbnN0YWxs
ZWRBdHRyaWJ1dGUgLyBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUsIGp1c3QgbGlrZSB3
ZSBkbyBpbiBCaWcgU3VyLgorCisgICAgICAgIFRlc3Q6IFdlYktpdC5Nb2JpbGVBc3NldFNhbmRi
b3hDaGVjaworCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2
YXRlLmg6IENvcnJlY3QgdGhlIGNvbW1lbnQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfc3dpdGNoRnJvbVN0YXRpY0Zv
bnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeV0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQ
YWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpzd2l0Y2hG
cm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpj
cmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViS2l0OjpjdXN0b21pemVkUmVhZGVyQ29u
ZmlndXJhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OmRpc2FibGVTdGF0aWNGb250
UmVnaXN0cnkpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6On5XZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0
cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1Vz
ZXJGb250UmVnaXN0cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJv
Y2Vzc1BsYXlTdGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c3dpdGNo
RnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0cnkpOgorCiAy
MDIxLTAzLTExICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjI3MjQ2OSk6IFtXUEVdW0dUS10gRXBpcGhhbnkgVUkgcHJvY2Vz
cyBjcmFzaGVzIHdoZW4gZG93bmxvYWRpbmcgUERGcywgV2ViS2l0U2VjdXJpdHlPcmlnaW4gc2hv
dWxkIHVzZSBTZWN1cml0eU9yaWdpbkRhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zi9Db3JlVGV4dFNQSS5oCmluZGV4IDZmNTZhMWFjMTY2NjdkMzhhNDg5ZmIxZmExMjg4YjkxN2Nk
YmYwYzIuLjlhNmE4Yzk5NDc1ODViY2I5MThjNGJkYjIzNTlhNTkwOWNhMDMxOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaApAQCAtMTMwLDYgKzEzMCw3
IEBAIENURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhBdHRyaWJ1
dGVzQW5kT3B0aW9ucyhDRkRpY3Rpb25hcnlSCiBDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERl
c2NyaXB0b3JDcmVhdGVMYXN0UmVzb3J0KCk7CiAKIENGQXJyYXlSZWYgQ1RGb250TWFuYWdlckNy
ZWF0ZUZvbnREZXNjcmlwdG9yc0Zyb21EYXRhKENGRGF0YVJlZik7Citib29sIENURm9udE1hbmFn
ZXJFbmFibGVBbGxVc2VyRm9udHMoYm9vbCBwb3N0Rm9udENoYW5nZU5vdGlmaWNhdGlvbik7CiAK
IHZvaWQgQ1RQYXJhZ3JhcGhTdHlsZVNldENvbXBvc2l0aW9uTGFuZ3VhZ2UoQ1RQYXJhZ3JhcGhT
dHlsZVJlZiwgQ1RDb21wb3NpdGlvbkxhbmd1YWdlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKaW5kZXggM2Nk
NGI3ZTc0MWU5ZjIzMmQ5YTU4MWE2ZjdkMWZhMmZkZjdmNWQwNy4uOTA2MTk5MjJjMzgxYjIyNGQ1
Y2I2ZTVmMmFlZDYyMWE4NDEyMzlmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC01NDcsNyArNTQ3LDcg
QEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFN5bnRoZXRpY0VkaXRpbmdDb21tYW5k
c0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpOwog
V0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKLS8vIERlZmF1bHRzIHRvIGZhbHNlLgorLy8gRGVmYXVs
dHMgdG8gdHJ1ZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGRBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKFdLUHJl
ZmVyZW5jZXNSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQppbmRleCA2NGU5NGU2ZTE0OTIxNTNiMzEzNWE3MjZkYTUwNjg0NDA1Zjc4Yjli
Li5hM2RkZjAzNGY0NjIxYWJkNDgxNGM2NWQ5YjExODA2NTRlZjBlMjNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTIyMzksNiArMjIz
OSwxMiBAQCAtICh2b2lkKV9yZXZva2VBY2Nlc3NUb0Fzc2V0U2VydmljZXMKICAgICAgICAgX3Bh
Z2UtPnJldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpOwogfQogCistICh2b2lkKV9zd2l0Y2hG
cm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5Cit7CisgICAgaWYgKF9wYWdl
KQorICAgICAgICBfcGFnZS0+c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRS
ZWdpc3RyeSgpOworfQorCiAtIChOU0FycmF5ICopX2NlcnRpZmljYXRlQ2hhaW4KIHsKICAgICBp
ZiAoV2ViS2l0OjpXZWJGcmFtZVByb3h5KiBtYWluRnJhbWUgPSBfcGFnZS0+bWFpbkZyYW1lKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaAppbmRleCA2NWQyNmE1ZDdkYzcyYzQzNjU2OWRlNTVjYTc1YWNjZDdmMTE1ZTg4Li40
Nzc0OWFkZDRkMmUzNzQwZmQyYTg4MWU1YmRjMDY4Y2U4YjNiMzg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTQ1
MSw2ICs0NTEsMTYgQEAgZm9yIHRoaXMgcHJvcGVydHkuCiAtICh2b2lkKV9ncmFudEFjY2Vzc1Rv
QXNzZXRTZXJ2aWNlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoMTQu
MCkpOwogLSAodm9pZClfcmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcygxNC4wKSk7CiAKKy8qISBAYWJzdHJhY3QgSWYgdGhl
IFdLV2ViVmlldyB3YXMgY3JlYXRlZCB3aXRoIF9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250
cyA9IE5PLAorIHRoZSB3ZWIgcHJvY2VzcyB3aWxsIGF1dG9tYXRpY2FsbHkgdXNlIGFuIGluLXBy
b2Nlc3MgZm9udCByZWdpc3RyeSwgYW5kIGl0cyBzYW5kYm94Cisgd2lsbCBiZSByZXN0cmljdGVk
IHRvIGZvcmJpZCBhY2Nlc3MgdG8gZm9udGQuIE90aGVyd2lzZSwgdGhlIHdlYiBwcm9jZXNzIHdp
bGwgdXNlCisgZm9udGQgdG8gbG9vayB1cCBmb250cyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBpbi1w
cm9jZXNzIHJlZ2lzdHJ5LCBhbmQgdGhlIHdlYgorIHByb2Nlc3MncyBzYW5kYm94IHdpbGwgYXV0
b21hdGljYWxseSBiZSBleHRlbmRlZCB0byBhbGxvdyBhY2Nlc3MgdG8gZm9udGQuIFRoaXMKKyBt
ZXRob2QgcmVwcmVzZW50cyBhIG9uZS10aW1lLCB3ZWItcHJvY2Vzcy13aWRlIHN3aXRjaCBmcm9t
IHVzaW5nIHRoZSBpbi1wcm9jZXNzCisgZm9udCByZWdpc3RyeSB0byB1c2luZyBmb250ZCwgaW5j
bHVkaW5nIGdyYW50aW5nIHRoZSByZWxldmFudCBzYW5kYm94IGV4dGVuc2lvbi4KKyovCistICh2
b2lkKV9zd2l0Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5IFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSkpOworCiBAZW5kCiAKICNpZiBUQVJHRVRfT1Nf
SVBIT05FCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCmluZGV4IDQwYmY0OTg2OWRmMmNiY2RjOGVlZGM5N2FlZGJjMDczZGQyYzIyNWEu
LmI4YTIxOWYyMjc2ZDlkZTQ4MWI5NzcxYTBiZTllN2I2NzJkNTA2ZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC02NDIs
NiArNjQyLDE4IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXZva2VBY2Nlc3NUb0Fzc2V0U2Vydmlj
ZXMoKQogICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpSZXZva2VBY2Nl
c3NUb0Fzc2V0U2VydmljZXMoKSwgMCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpzd2l0Y2hG
cm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KCkKK3sKKyAgICBwcm9jZXNz
KCkuc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6U3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3Ry
eVRvVXNlckZvbnRSZWdpc3RyeShmb250ZE1hY2hFeHRlbnNpb25IYW5kbGUoKSksIDApOworfQor
CitTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgV2ViUGFnZVByb3h5Ojpmb250ZE1hY2hFeHRlbnNp
b25IYW5kbGUoKQoreworICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBmb250TWFjaEV4dGVu
c2lvbkhhbmRsZTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9v
a3VwKCJjb20uYXBwbGUuZm9udHMiX3MsIFdURjo6bnVsbG9wdCwgZm9udE1hY2hFeHRlbnNpb25I
YW5kbGUpOworICAgIHJldHVybiBmb250TWFjaEV4dGVuc2lvbkhhbmRsZTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMGJiMmM1MDRjNTBmNzdiYWJmODRi
YjUwNTdhOWFhODViNDRiMDg5ZS4uMmQ4ZmMzOGEzMDVlNTU1MTljYzUxNDBmYTlmYTIyMjgwNGEw
NjE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03NzU4
LDM1ICs3NzU4LDYgQEAgc3RhdGljIGNvbnN0IFZlY3RvcjxBU0NJSUxpdGVyYWw+JiBtZWRpYVJl
bGF0ZWRJT0tpdENsYXNzZXMoKQogfQogI2VuZGlmCiAKLSNpZiBIQVZFKFNUQVRJQ19GT05UX1JF
R0lTVFJZKQotc3RhdGljIGJvb2wgY3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24oKQotewot
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0Q0YoQ0ZQcmVmZXJlbmNlc0NvcHlBcHBWYWx1
ZShDRlNUUigiUmVhZGVyQ29uZmlndXJhdGlvbiIpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBs
aWNhdGlvbikpOwotICAgIGlmICghY29uZmlndXJhdGlvbiB8fCBDRkdldFR5cGVJRChjb25maWd1
cmF0aW9uLmdldCgpKSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyA9IENGRGljdGlv
bmFyeUdldFZhbHVlKHN0YXRpY19jYXN0PENGRGljdGlvbmFyeVJlZj4oY29uZmlndXJhdGlvbi5n
ZXQoKSksIENGU1RSKCJmb250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnIikpOwotICAgIGlmICgh
Zm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZyB8fCBDRkdldFR5cGVJRChmb250RmFtaWx5TmFt
ZUZvckxhbmd1YWdlVGFnKSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGF1dG8gZm9udEZhbWlseU5hbWVGb3JMYW5ndWFnZVRhZ0RpY3Rpb25h
cnkgPSBzdGF0aWNfY2FzdDxDRkRpY3Rpb25hcnlSZWY+KGZvbnRGYW1pbHlOYW1lRm9yTGFuZ3Vh
Z2VUYWcpOwotICAgIGF1dG8gY291bnQgPSBDRkRpY3Rpb25hcnlHZXRDb3VudChmb250RmFtaWx5
TmFtZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSk7Ci0gICAgVmVjdG9yPENGVHlwZVJlZj4gZm9u
dEZhbWlseVZhbHVlcyhjb3VudCk7Ci0gICAgQ0ZEaWN0aW9uYXJ5R2V0S2V5c0FuZFZhbHVlcyhm
b250RmFtaWx5TmFtZUZvckxhbmd1YWdlVGFnRGljdGlvbmFyeSwgbnVsbHB0ciwgZm9udEZhbWls
eVZhbHVlcy5kYXRhKCkpOwotCi0gICAgZm9yIChhdXRvIGZvbnQgOiBmb250RmFtaWx5VmFsdWVz
KSB7Ci0gICAgICAgIGlmICghZm9udCB8fCBDRkdldFR5cGVJRChmb250KSAhPSBDRlN0cmluZ0dl
dFR5cGVJRCgpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChTdHJpbmcoc3Rh
dGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KGZvbnQpKSAhPSAiU3lzdGVtIikKLSAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXN0YXRpYyBib29sIGRp
c2FibGVTdGF0aWNGb250UmVnaXN0cnkoKQotewotICAgIHJldHVybiBDRlByZWZlcmVuY2VzR2V0
QXBwQm9vbGVhblZhbHVlKENGU1RSKCJXZWJLaXREaXNhYmxlU3RhdGljRm9udFJlZ2lzdHJ5Iiks
IGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uLCBudWxscHRyKTsKLX0KLSNlbmRpZiAv
LyBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQotCiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
IFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
cywgRHJhd2luZ0FyZWFQcm94eSYgZHJhd2luZ0FyZWEsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xp
Y2llcz4mJiB3ZWJzaXRlUG9saWNpZXMpCiB7CiAgICAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyBwYXJhbWV0ZXJzOwpAQCAtNzg5MiwxMyArNzg2Myw4IEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMgV2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFtZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiBw
cm9jCiAgICAgfQogI2VuZGlmCiAjaWYgSEFWRShTVEFUSUNfRk9OVF9SRUdJU1RSWSkKLSAgICBp
ZiAoZGlzYWJsZVN0YXRpY0ZvbnRSZWdpc3RyeSgpCi0gICAgICAgIHx8IHByZWZlcmVuY2VzKCku
c2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKQotICAgICAgICB8fCAoV2ViQ29yZTo6TWFj
QXBwbGljYXRpb246OmlzU2FmYXJpKCkgJiYgY3VzdG9taXplZFJlYWRlckNvbmZpZ3VyYXRpb24o
KSkpIHsKLSAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRNYWNoRXh0ZW5zaW9u
SGFuZGxlOwotICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9v
a3VwKCJjb20uYXBwbGUuZm9udHMiX3MsIFdURjo6bnVsbG9wdCwgZm9udE1hY2hFeHRlbnNpb25I
YW5kbGUpOwotICAgICAgICBwYXJhbWV0ZXJzLmZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxlID0gV1RG
TW92ZShmb250TWFjaEV4dGVuc2lvbkhhbmRsZSk7Ci0gICAgfQorICAgIGlmIChwcmVmZXJlbmNl
cygpLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpCisgICAgICAgIHBhcmFtZXRlcnMu
Zm9udE1hY2hFeHRlbnNpb25IYW5kbGUgPSBmb250ZE1hY2hFeHRlbnNpb25IYW5kbGUoKTsKICNl
bmRpZgogI2lmIEhBVkUoQVBQX0FDQ0VOVF9DT0xPUlMpCiAgICAgcGFyYW1ldGVycy5hY2NlbnRD
b2xvciA9IHBhZ2VDbGllbnQoKS5hY2NlbnRDb2xvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAppbmRleCA5N2I2ZDEyOTYwNjliMWExMDQzZDk3NDU0YTFhYzMwNDE1MGM1
MjQwLi4wMWMwYWE5Zjg0ZmM0NGExNDE4ZjcyOGZiMmViNWQ5MDc5YzNjMGYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTc3Niw2ICsxNzc2LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBncmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpOwogICAgIHZvaWQgcmV2
b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCk7CisgICAgdm9pZCBzd2l0Y2hGcm9tU3RhdGljRm9u
dFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KCk7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICB2b2lkIGdyYW50QWNjZXNzVG9QcmVmZXJlbmNlU2VydmljZSgpOwpAQCAtMjQxNCw2ICsyNDE1
LDggQEAgcHJpdmF0ZToKIAogICAgIHN0YXRpYyBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJh
eSBjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKFdlYlByb2Nlc3NQcm94
eSYpOwogCisgICAgc3RhdGljIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBmb250ZE1hY2hFeHRl
bnNpb25IYW5kbGUoKTsKKwogICAgIGNvbnN0IElkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogICAg
IFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG1fd2ViUGFnZUlEOwogICAgIFdlYWtQdHI8UGFnZUNs
aWVudD4gbV9wYWdlQ2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAppbmRleCBlNjJiYzM0NWYwNzE1M2NjNzM5NDFkZTk5OTQ3ODFmMTJjYjkzYTUw
Li5mOWE5MWE4MmM3ZDEzMjljYWNkNmQ5NGVhMTJkNDMwMWNhY2UzNDIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTAxMyw3ICsxMDEzLDcg
QEAgV2ViUGFnZTo6fldlYlBhZ2UoKQogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RG
OjpudWxsb3B0KTsKICAgICB9CiAjZW5kaWYKLSAgICAKKwogI2lmIEhBVkUoU1RBVElDX0ZPTlRf
UkVHSVNUUlkpCiAgICAgaWYgKG1fZm9udEV4dGVuc2lvbikKICAgICAgICAgbV9mb250RXh0ZW5z
aW9uLT5yZXZva2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDRi
ZTU1ZGJlMWMwYWE4ZmE0NzEyZmFhNGNjZjlmZDU1NGQ5MmI5YmUuLjY2ZTRiMjM3NGRkNGQzMjI4
YjE0YWE4MDBlMWNkMjJhMjYxMjdkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaApAQCAtMzQxLDYgKzM0MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZ3JhbnRBY2Nlc3NU
b0Fzc2V0U2VydmljZXMoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJiBtb2JpbGVB
c3NldFYySGFuZGxlKTsKICAgICB2b2lkIHJldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpOwor
ICAgIHZvaWQgc3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeShX
ZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYmIGZvbnRNYWNoRXh0ZW5zaW9uSGFuZGxl
KTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHVwZGF0ZVBhZ2VTY3JlZW5Qcm9wZXJ0
aWVzKCk7CkBAIC03MDEsNiArNzAyLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUmVmUHRy
PFNhbmRib3hFeHRlbnNpb24+IG1fYXNzZXRTZXJ2aWNlVjJFeHRlbnNpb247CisgICAgUmVmUHRy
PFNhbmRib3hFeHRlbnNpb24+IG1fZm9udE1hY2hFeHRlbnNpb247CiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICBIYXNoQ291bnRlZFNldDxTdHJpbmc+IG1fcGVuZGluZ1Bhc3RlYm9hcmRXcml0
ZUNvdW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KaW5kZXggOWJjNmRmN2E5YjU5YTE3ZTNlY2MwYTY0ZDVmMThkNzU2ODkyNTg2MS4uYjRm
NzdiOThhMjIwYTBmYzhiMWYxNWZkYmUwMTM3NjNlNTE0OTk0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTE2OCw2ICsxNjgsNyBA
QCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vdFJlZkNvdW50ZWQgewog
CiAgICAgR3JhbnRBY2Nlc3NUb0Fzc2V0U2VydmljZXMoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGUgbW9iaWxlQXNzZXRWMkhhbmRsZSkKICAgICBSZXZva2VBY2Nlc3NUb0Fzc2V0U2Vy
dmljZXMoKQorICAgIFN3aXRjaEZyb21TdGF0aWNGb250UmVnaXN0cnlUb1VzZXJGb250UmVnaXN0
cnkoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgZm9udE1hY2hFeHRlbnNpb25IYW5k
bGUpCiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBVbmJsb2NrU2VydmljZXNSZXF1aXJlZEJ5
QWNjZXNzaWJpbGl0eShXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5IGhhbmRs
ZUFycmF5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW0KaW5kZXggNTUyYWFkMzg4NDU3ZjcxNDIwNDhhMjYxZmYyNmYyOWM0YmExOTFlZS4u
YjFjYzcxNGE5ZDUwYWRmZjY5ZGNhZTI5ZjBiNDE3NDAzYTA4NDE3YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xMzUsNiAr
MTM1LDcgQEAKICNpbXBvcnQgIldlYlN3aXRjaGluZ0dQVUNsaWVudC5oIgogI2ltcG9ydCA8V2Vi
Q29yZS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTE1hbmFnZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUv
U2Nyb2xsYmFyVGhlbWVNYWMuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaD4K
ICNpbXBvcnQgPHBhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkv
bWFjL05TU2Nyb2xsZXJJbXBTUEkuaD4KICNlbmRpZgpAQCAtMTE2MCw2ICsxMTYxLDE3IEBAIHZv
aWQgV2ViUHJvY2Vzczo6cmV2b2tlQWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkKICAgICBtX2Fzc2V0
U2VydmljZVYyRXh0ZW5zaW9uID0gbnVsbHB0cjsKIH0KIAordm9pZCBXZWJQcm9jZXNzOjpzd2l0
Y2hGcm9tU3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KFdlYktpdDo6U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlJiYgZm9udE1hY2hFeHRlbnNpb25IYW5kbGUpCit7CisgICAgaWYg
KG1fZm9udE1hY2hFeHRlbnNpb24pCisgICAgICAgIHJldHVybjsKKyAgICBtX2ZvbnRNYWNoRXh0
ZW5zaW9uID0gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlKFdURk1vdmUoZm9udE1hY2hFeHRlbnNp
b25IYW5kbGUpKTsKKyAgICBtX2ZvbnRNYWNoRXh0ZW5zaW9uLT5jb25zdW1lKCk7CisjaWYgSEFW
RShTVEFUSUNfRk9OVF9SRUdJU1RSWSkKKyAgICBDVEZvbnRNYW5hZ2VyRW5hYmxlQWxsVXNlckZv
bnRzKHRydWUpOworI2VuZGlmCit9CisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0U2NyZWVuUHJvcGVy
dGllcyhjb25zdCBTY3JlZW5Qcm9wZXJ0aWVzJiBwcm9wZXJ0aWVzKQogewogICAgIFdlYkNvcmU6
OnNldFNjcmVlblByb3BlcnRpZXMocHJvcGVydGllcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHAKaW5kZXggMzIwNjk5MThjMmZmYjYyY2Rk
MDQyMWUxYzg5MWU0NTJkZTc1YjllMS4uYmFkMDAxNDZkODg2MzUyMzBiMGE1NzFhOTkzOWMyMWNk
OGE2NDgyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2dsaWIvV2ViUHJv
Y2Vzc0dMaWIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nl
c3NHTGliLmNwcApAQCAtMTM2LDQgKzEzNiw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmV2b2tlQWNj
ZXNzVG9Bc3NldFNlcnZpY2VzKCkKIHsKIH0KIAordm9pZCBXZWJQcm9jZXNzOjpzd2l0Y2hGcm9t
U3RhdGljRm9udFJlZ2lzdHJ5VG9Vc2VyRm9udFJlZ2lzdHJ5KFdlYktpdDo6U2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlJiYpCit7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NQbGF5U3Rh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vz
c1BsYXlTdGF0aW9uLmNwcAppbmRleCAzMzZkOGViZDA3NmRlMTFiOTYzNGE5YWNmMjg3MWM3ZWY5
NmQ1YTVhLi45ZGI1OTNjYmMxNTYzZmMyZjJkMGU0Mzg5M2M0OWFjOTUyYTA1ZmIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc1BsYXlT
dGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2Vi
UHJvY2Vzc1BsYXlTdGF0aW9uLmNwcApAQCAtNTIsNCArNTIsOCBAQCB2b2lkIFdlYlByb2Nlc3M6
OnJldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpCiB7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6
c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeShXZWJLaXQ6OlNh
bmRib3hFeHRlbnNpb246OkhhbmRsZSYmKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dpbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NXaW4uY3BwCmluZGV4
IGEwNmI4ODc1NzdhNTE2ODliMGJiY2JlMzA1YTM0OTMzMmVjNTI1ZTkuLjA1YjM1Y2FkNTBhODk2
ZjUxNThmOWMzOTZhOGQ5YzczMDc3NDEwNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL3dpbi9XZWJQcm9jZXNzV2luLmNwcApAQCAtNTksNCArNTksOCBAQCB2b2lkIFdlYlByb2Nl
c3M6OnJldm9rZUFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpCiB7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vz
czo6c3dpdGNoRnJvbVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeShXZWJLaXQ6
OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYmKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBm
MTczZTBhODYxZTJlNTczMTc2OTNmNzUwNTdiMzQ2OWZlYWI2ZjQ1Li5lMjVlZGFjZTMyZmNhOWE1
NzNhNTRjN2M0MDg3MDZkZmI0NGRmNDMwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDMtMTEgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIE1vYmls
ZUFzc2V0IGZvbnRzIGFyZSBicm9rZW4gaW4gUmVhZGVyIG1vZGUgaW4gU2FmYXJpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMwNjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9Gb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW06IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzUGxheVN0
YXRpb24uY3BwLgorICAgICAgICAoVEVTVCk6CisKIDIwMjEtMDMtMTEgIE1pY2hhZWwgQ2F0YW56
YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjcyNDY5
KTogW1dQRV1bR1RLXSBFcGlwaGFueSBVSSBwcm9jZXNzIGNyYXNoZXMgd2hlbiBkb3dubG9hZGlu
ZyBQREZzLCBXZWJLaXRTZWN1cml0eU9yaWdpbiBzaG91bGQgdXNlIFNlY3VyaXR5T3JpZ2luRGF0
YQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NTczNThhYzk4MDRiOTg1OWI3MmViMjRkODZm
YzVjYTlhMWMyOTQ4Li45ZjQxYjY4ZjI0NTQyMzc1MzgzYzM1NTRlNzYxZTg0M2ZhMDc1YjM1IDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTExLDYgKzExMSw3IEBACiAJCTFDNzM0QjUzMjA3
ODhDNDgwMEY0MzBFQSAvKiBTeXN0ZW1Db2xvcnMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzczNEI1MjIwNzg4QzQ4MDBGNDMwRUEgLyogU3lzdGVt
Q29sb3JzLm1tICovOyB9OwogCQkxQzc5MjAxQzIzNEJERDlCMDAxRUFGMjMgLyogQ29weVJURi5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNzkyMDFC
MjM0QkREOUIwMDFFQUYyMyAvKiBDb3B5UlRGLm1tICovOyB9OwogCQkxQzdGRUIyMDIwN0MwRjJF
MDBEMjMyNzggLyogQmFja2dyb3VuZENvbG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUM3RkVCMUYyMDdDMEYyRDAwRDIzMjc4IC8qIEJhY2tncm91
bmRDb2xvci5tbSAqLzsgfTsKKwkJMUM4MTgwMjcyNUZCMDlFMjAwNjA4QjNFIC8qIEZvbnRSZWdp
c3RyeVNhbmRib3hDaGVjay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFDODE4MDI2MjVGQjA5RTIwMDYwOEIzRSAvKiBGb250UmVnaXN0cnlTYW5kYm94
Q2hlY2subW0gKi87IH07CiAJCTFDOTA0MjBDMjMyNkUwM0MwMEJFRjkxRSAvKiBTZWxlY3Rpb25C
eVdvcmQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QzkwNDIwQjIzMjZFMDNDMDBCRUY5MUUgLyogU2VsZWN0aW9uQnlXb3JkLm1tICovOyB9OwogCQkx
QzlFQjg0MTFFMzgwREExMDA1QzY0NDIgLyogQ29tcGxleFRleHRDb250cm9sbGVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOUVCODQwMUUzODBE
QTEwMDVDNjQ0MiAvKiBDb21wbGV4VGV4dENvbnRyb2xsZXIuY3BwICovOyB9OwogCQkxQ0FDQURB
MTIzMDYyMEFFMDAwN0Q1NEMgLyogV0tXZWJWaWV3T3BhcXVlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBQ0FEQTAyMzA2MjBBRDAwMDdENTRDIC8q
IFdLV2ViVmlld09wYXF1ZS5tbSAqLzsgfTsKQEAgLTE4MTMsNiArMTgxNCw3IEBACiAJCTFDNzM0
QjUyMjA3ODhDNDgwMEY0MzBFQSAvKiBTeXN0ZW1Db2xvcnMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1Db2xvcnMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFDNzkyMDFCMjM0QkREOUIwMDFFQUYyMyAvKiBDb3B5UlRGLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ29weVJURi5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM3RkVCMUYyMDdDMEYyRDAwRDIzMjc4IC8qIEJhY2tncm91
bmRDb2xvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJhY2tn
cm91bmRDb2xvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4MTgwMjYyNUZC
MDlFMjAwNjA4QjNFIC8qIEZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IEZvbnRSZWdpc3RyeVNhbmRib3hDaGVjay5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUM5MDQyMEIyMzI2RTAzQzAwQkVGOTFFIC8qIFNlbGVjdGlvbkJ5V29yZC5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNlbGVjdGlvbkJ5V29y
ZC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5RUI4NDAxRTM4MERBMTAwNUM2
NDQyIC8qIENvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDb21wbGV4VGV4dENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0FDQURBMDIzMDYyMEFEMDAwN0Q1NEMgLyogV0tXZWJWaWV3T3BhcXVl
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tXZWJWaWV3T3Bh
cXVlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzIxNiw2ICszMjE4LDcgQEAK
IAkJCQlDMTVDQkIyRjIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRp
b24ubW0gKi8sCiAJCQkJQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gKi8s
CiAJCQkJQzEzRDgyRDgyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxpdHkubW0g
Ki8sCisJCQkJMUM4MTgwMjYyNUZCMDlFMjAwNjA4QjNFIC8qIEZvbnRSZWdpc3RyeVNhbmRib3hD
aGVjay5tbSAqLywKIAkJCQlFMzk0QUU2RTIzRjIzMDNFMDA1QjQ5MzYgLyogR3JhbnRBY2Nlc3NU
b01vYmlsZUFzc2V0cy5tbSAqLywKIAkJCQlFMzRBNkQxODI0MTJERTM5MDAxMkFCNkUgLyogR3Jh
bnRBY2Nlc3NUb1ByZWZlcmVuY2VzU2VydmljZS5tbSAqLywKIAkJCQlFMzVCOTA4MTIzRjYwREQw
MDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwubW0gKi8sCkBAIC01MzE1LDYgKzUzMTgs
NyBAQAogCQkJCUY0QkMwQjE0MjE0NkM4NDkwMDJBMDQ3OCAvKiBGb2N1c1ByZXNlcnZhdGlvblRl
c3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkU5MkI4RkEyMTY0QTBDMTAwNUI2NEYwIC8qIEZv
bnRBdHRyaWJ1dGVzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjQ1NkFCMUMyMTNFREJBMzAwQ0Iy
Q0VGIC8qIEZvbnRNYW5hZ2VyVGVzdHMubW0gaW4gU291cmNlcyAqLywKKwkJCQkxQzgxODAyNzI1
RkIwOUUyMDA2MDhCM0UgLyogRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNrLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUNGNTlBRTMyMUU2ODkzMjAwNkUzN0VDIC8qIEZvcmNlTGlnaHRBcHBlYXJhbmNl
SW5CdW5kbGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VGNTFBNDExQUU2MDA0NDdDNEMg
LyogRm9yY2VSZXBhaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY0RkEyODJBMjRDRDAxMjcw
MDYxOEE0NiAvKiBGb3JtVmFsaWRhdGlvbi5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJveENoZWNr
Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRm9udFJlZ2lzdHJ5U2FuZGJv
eENoZWNrLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0NzdlMGVjYThhNDVmY2Q3YmFiZWE0Zjk3OGQwYTRhNjRm
NmM4ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9Gb250UmVnaXN0cnlTYW5kYm94Q2hlY2subW0KQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQSQorCisjaW1wb3J0ICJQ
bGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8
V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3
UHJpdmF0ZS5oPgorCitURVNUKFdlYktpdCwgRm9udGRTYW5kYm94Q2hlY2spCit7CisgICAgYXV0
byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2Nd
IGluaXRdKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLnByZWZlcmVuY2VzLl9zaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cyA9IE5POworICAgIGF1dG8gY29udGV4dCA9IGFkb3B0V0soVGVz
dFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50
ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJv
Y2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFk
ZFRvV2luZG93OllFU10pOworCisgICAgYXV0byBzYW5kYm94QWNjZXNzID0gWyZdIHsKKyAgICAg
ICAgcmV0dXJuIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cu
aW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9YUENTZXJ2aWNlTmFtZSgnY29t
LmFwcGxlLldlYktpdC5XZWJDb250ZW50JywgJ2NvbS5hcHBsZS5mb250cycpIl0uYm9vbFZhbHVl
OworICAgIH07CisKKyNpZiBIQVZFKFNUQVRJQ19GT05UX1JFR0lTVFJZKQorICAgIEFTU0VSVF9G
QUxTRShzYW5kYm94QWNjZXNzKCkpOworI2VuZGlmCisKKyAgICBbd2ViVmlldyBfc3dpdGNoRnJv
bVN0YXRpY0ZvbnRSZWdpc3RyeVRvVXNlckZvbnRSZWdpc3RyeV07CisKKyAgICBBU1NFUlRfVFJV
RShzYW5kYm94QWNjZXNzKCkpOworfQorCisjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>