<?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>203179</bug_id>
          
          <creation_ts>2019-10-18 19:47:14 -0700</creation_ts>
          <short_desc>Remove font-variant @font-face descriptor</short_desc>
          <delta_ts>2019-11-22 16:39:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jonlee</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</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>1581666</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-10-18 19:47:14 -0700</bug_when>
    <thetext>Remove font-variant @font-face descriptor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581667</commentid>
    <comment_count>1</comment_count>
      <attachid>381363</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-10-18 19:47:59 -0700</bug_when>
    <thetext>Created attachment 381363
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582704</commentid>
    <comment_count>2</comment_count>
      <attachid>381645</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-10-22 18:53:46 -0700</bug_when>
    <thetext>Created attachment 381645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582931</commentid>
    <comment_count>3</comment_count>
      <attachid>381710</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-10-23 12:01:37 -0700</bug_when>
    <thetext>Created attachment 381710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583614</commentid>
    <comment_count>4</comment_count>
      <attachid>381862</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-10-24 17:32:54 -0700</bug_when>
    <thetext>Created attachment 381862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591844</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-11-19 19:17:28 -0800</bug_when>
    <thetext>It sounds like all the indications we have, both internally to Apple and externally, is that this is safe to remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592149</commentid>
    <comment_count>6</comment_count>
      <attachid>381862</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-20 15:02:27 -0800</bug_when>
    <thetext>Comment on attachment 381862
Patch

Rejecting attachment 381862 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 381862, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=381862&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=203179&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Processing patch 381862 from bug 203179.
Fetching: https://bugs.webkit.org/attachment.cgi?id=381862
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Simon Fraser&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 40 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/css/CSSFontFace.cpp
patching file Source/WebCore/css/CSSFontFace.h
patching file Source/WebCore/css/CSSFontFaceSource.cpp
patching file Source/WebCore/css/CSSFontFaceSource.h
patching file Source/WebCore/css/CSSFontSelector.cpp
patching file Source/WebCore/css/FontFace.cpp
patching file Source/WebCore/css/FontFace.h
patching file Source/WebCore/css/FontFace.idl
patching file Source/WebCore/loader/cache/CachedFont.cpp
patching file Source/WebCore/loader/cache/CachedFont.h
patching file Source/WebCore/loader/cache/CachedSVGFont.cpp
patching file Source/WebCore/loader/cache/CachedSVGFont.h
patching file Source/WebCore/platform/graphics/FontCache.cpp
patching file Source/WebCore/platform/graphics/FontCache.h
Hunk #3 succeeded at 289 with fuzz 1.
patching file Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h
patching file Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp
Hunk #4 succeeded at 1292 (offset 1 line).
Hunk #5 succeeded at 1304 (offset 1 line).
Hunk #6 succeeded at 1339 (offset 1 line).
Hunk #7 succeeded at 1354 (offset 1 line).
Hunk #8 succeeded at 1483 (offset 1 line).
patching file Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h
patching file Source/WebCore/platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp
patching file Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp
Hunk #1 succeeded at 500 (offset 124 lines).
patching file Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp
patching file Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp
patching file Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h
patching file Source/WebCore/platform/graphics/win/FontCacheWin.cpp
patching file Source/WebCore/platform/graphics/win/FontCustomPlatformData.cpp
patching file Source/WebCore/platform/graphics/win/FontCustomPlatformData.h
patching file Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.cpp
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/css3/font-variant-font-face-all-expected.html
rm &apos;LayoutTests/css3/font-variant-font-face-all-expected.html&apos;
patching file LayoutTests/css3/font-variant-font-face-all.html
rm &apos;LayoutTests/css3/font-variant-font-face-all.html&apos;
patching file LayoutTests/css3/font-variant-font-face-override-expected.html
patching file LayoutTests/css3/font-variant-font-face-override.html
patching file LayoutTests/fast/text/font-face-empty-string-expected.txt
patching file LayoutTests/fast/text/font-face-empty-string.html
patching file LayoutTests/fast/text/font-face-javascript-expected.txt
Hunk #2 FAILED at 18.
1 out of 2 hunks FAILED -- saving rejects to file LayoutTests/fast/text/font-face-javascript-expected.txt.rej
patching file LayoutTests/fast/text/font-face-javascript.html
Hunk #2 FAILED at 26.
1 out of 3 hunks FAILED -- saving rejects to file LayoutTests/fast/text/font-face-javascript.html.rej
patching file LayoutTests/platform/gtk/TestExpectations
Hunk #1 succeeded at 846 (offset -10 lines).
patching file LayoutTests/platform/win/TestExpectations
Hunk #1 succeeded at 529 (offset -6 lines).
patching file LayoutTests/platform/wincairo/TestExpectations
Hunk #1 succeeded at 1172 (offset -10 lines).
patching file LayoutTests/platform/wpe/TestExpectations
Hunk #1 succeeded at 1585 (offset 53 lines).

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Simon Fraser&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: https://webkit-queues.webkit.org/results/13269971</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592626</commentid>
    <comment_count>7</comment_count>
      <attachid>384118</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-11-21 19:12:22 -0800</bug_when>
    <thetext>Created attachment 384118
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592642</commentid>
    <comment_count>8</comment_count>
      <attachid>384118</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-21 19:56:14 -0800</bug_when>
    <thetext>Comment on attachment 384118
Patch for committing

Clearing flags on attachment: 384118

Committed r252760: &lt;https://trac.webkit.org/changeset/252760&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593103</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-22 16:39:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/57445336&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381363</attachid>
            <date>2019-10-18 19:47:59 -0700</date>
            <delta_ts>2019-10-22 18:53:45 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-203179-20191018194758.patch</filename>
            <type>text/plain</type>
            <size>53255</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTA2OWFiNmY1MWM3Mzhm
ZmY1YzJmMmIyMDhiM2Q2YTJkZjg4MjI1My4uYTcyOWJjYTg3ZGExYWUyMDhhMmRmOTIxNzVjOGYw
OWQ0OTQ5NDliZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE5LTEwLTE4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGZv
bnQtdmFyaWFudCBAZm9udC1mYWNlIGRlc2NyaXB0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIHBlciBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLWRyYWZ0cy9pc3N1ZXMvMjUzMQorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgor
CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRGYWNlOjpmb250KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpzZXRWYXJpYW50
TGlnYXR1cmVzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpzZXRW
YXJpYW50UG9zaXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6
OnNldFZhcmlhbnRDYXBzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNl
OjpzZXRWYXJpYW50TnVtZXJpYyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250
RmFjZTo6c2V0VmFyaWFudEFsdGVybmF0ZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTRm9udEZhY2U6OnNldFZhcmlhbnRFYXN0QXNpYW4pOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy9DU1NGb250RmFjZS5oOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZVNvdXJjZTo6bG9hZCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250RmFjZVNvdXJjZTo6Zm9udCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNl
U291cmNlLmg6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmFkZEZvbnRGYWNlUnVsZSk6CisgICAgICAgICogY3Nz
L0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRGYWNlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udEZhY2U6OnNldFZhcmlhbnQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udEZhY2U6OnZhcmlhbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy9Gb250RmFjZS5oOgorICAgICAgICAqIGNzcy9Gb250RmFjZS5pZGw6CisgICAgICAgICogbG9h
ZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udDo6
Y3JlYXRlRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFG
cm9tQ3VzdG9tRGF0YSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuaDoKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRTVkdGb250OjpjcmVhdGVGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFNW
R0ZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkU1ZHRm9udC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXk6OkZvbnRQ
bGF0Zm9ybURhdGFDYWNoZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
Q2FjaGVLZXk6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRm
b3JtRGF0YUNhY2hlS2V5SGFzaDo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6
OmdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hl
Ojpmb250Rm9yRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Zm9udEZvckZhbWlseSk6CisgICAgICAg
IChXZWJDb3JlOjpGb250Q2FjaGU6OmdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhRm9yVGVzdGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cHJlcGFyZVBsYXRmb3JtRm9udCk6CisgICAgICAgIChXZWJD
b3JlOjpmb250V2l0aEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmNyZWF0
ZUZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpzeXN0ZW1G
YWxsYmFja0ZvckNoYXJhY3RlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udEZhbWlseVNwZWNpZmljYXRpb25Db3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
b250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0Ojpmb250UmFuZ2VzIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRh
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oOgorCiAyMDE5LTEwLTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJlZmFjdG9yIEFic3RyYWN0RXZlbnRMb29wIG91dCBvZiBXaW5kb3dFdmVudExvb3AK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCmluZGV4IDhkMjFiM2FiNzE5YzFkMmJmMTA0OTgx
YWRkMDVkNDc5YWIyNjYxNDcuLmViNTFmMjBjZGU5ZmZiOGMwMTRkNGZjMWNiNTQwYWQxNWYxNWFk
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcApAQCAtNDAsNyArNDAsNiBAQAogI2lu
Y2x1ZGUgIkZvbnRDYWNoZS5oIgogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1
ZGUgIkZvbnRGYWNlLmgiCi0jaW5jbHVkZSAiRm9udFZhcmlhbnRCdWlsZGVyLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCIKICNpbmNs
dWRlICJTdHlsZVByb3BlcnRpZXMuaCIKQEAgLTI3OCwxNDcgKzI3Nyw2IEBAIGJvb2wgQ1NTRm9u
dEZhY2U6OnNldFVuaWNvZGVSYW5nZShDU1NWYWx1ZSYgdW5pY29kZVJhbmdlKQogICAgIHJldHVy
biB0cnVlOwogfQogCi1ib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50TGlnYXR1cmVzKENTU1Zh
bHVlJiB2YXJpYW50TGlnYXR1cmVzKQotewotICAgIGF1dG8gbGlnYXR1cmVzID0gZXh0cmFjdEZv
bnRWYXJpYW50TGlnYXR1cmVzKHZhcmlhbnRMaWdhdHVyZXMpOwotCi0gICAgaWYgKG1fdmFyaWFu
dFNldHRpbmdzLmNvbW1vbkxpZ2F0dXJlcyA9PSBsaWdhdHVyZXMuY29tbW9uTGlnYXR1cmVzCi0g
ICAgICAgICYmIG1fdmFyaWFudFNldHRpbmdzLmRpc2NyZXRpb25hcnlMaWdhdHVyZXMgPT0gbGln
YXR1cmVzLmRpc2NyZXRpb25hcnlMaWdhdHVyZXMKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGlu
Z3MuaGlzdG9yaWNhbExpZ2F0dXJlcyA9PSBsaWdhdHVyZXMuaGlzdG9yaWNhbExpZ2F0dXJlcwot
ICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5jb250ZXh0dWFsQWx0ZXJuYXRlcyA9PSBsaWdh
dHVyZXMuY29udGV4dHVhbEFsdGVybmF0ZXMpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
bV92YXJpYW50U2V0dGluZ3MuY29tbW9uTGlnYXR1cmVzID0gbGlnYXR1cmVzLmNvbW1vbkxpZ2F0
dXJlczsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5kaXNjcmV0aW9uYXJ5TGlnYXR1cmVzID0gbGln
YXR1cmVzLmRpc2NyZXRpb25hcnlMaWdhdHVyZXM7Ci0gICAgbV92YXJpYW50U2V0dGluZ3MuaGlz
dG9yaWNhbExpZ2F0dXJlcyA9IGxpZ2F0dXJlcy5oaXN0b3JpY2FsTGlnYXR1cmVzOwotICAgIG1f
dmFyaWFudFNldHRpbmdzLmNvbnRleHR1YWxBbHRlcm5hdGVzID0gbGlnYXR1cmVzLmNvbnRleHR1
YWxBbHRlcm5hdGVzOwotCi0gICAgaWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAgbV9jc3ND
b25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5KENTU1Byb3BlcnR5Rm9u
dFZhcmlhbnRMaWdhdHVyZXMsICZ2YXJpYW50TGlnYXR1cmVzKTsKLQotICAgIGl0ZXJhdGVDbGll
bnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7Ci0gICAgICAgIGNsaWVudC5mb250
UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9KTsKLQotICAgIHJldHVybiB0cnVlOwotfQot
Ci1ib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50UG9zaXRpb24oQ1NTVmFsdWUmIHZhcmlhbnRQ
b3NpdGlvbikKLXsKLSAgICBpZiAoIWlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YXJpYW50UG9zaXRp
b24pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBGb250VmFyaWFudFBvc2l0aW9uIHBv
c2l0aW9uID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhcmlhbnRQb3NpdGlvbik7Ci0K
LSAgICBpZiAobV92YXJpYW50U2V0dGluZ3MucG9zaXRpb24gPT0gcG9zaXRpb24pCi0gICAgICAg
IHJldHVybiB0cnVlOwotCi0gICAgbV92YXJpYW50U2V0dGluZ3MucG9zaXRpb24gPSBwb3NpdGlv
bjsKLQotICAgIGlmIChtX2Nzc0Nvbm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+
bXV0YWJsZVByb3BlcnRpZXMoKS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50UG9z
aXRpb24sICZ2YXJpYW50UG9zaXRpb24pOwotCi0gICAgaXRlcmF0ZUNsaWVudHMobV9jbGllbnRz
LCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKLSAgICAgICAgY2xpZW50LmZvbnRQcm9wZXJ0eUNoYW5n
ZWQoKnRoaXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgQ1NTRm9u
dEZhY2U6OnNldFZhcmlhbnRDYXBzKENTU1ZhbHVlJiB2YXJpYW50Q2FwcykKLXsKLSAgICBpZiAo
IWlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YXJpYW50Q2FwcykpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIEZvbnRWYXJpYW50Q2FwcyBjYXBzID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWU+KHZhcmlhbnRDYXBzKTsKLQotICAgIGlmIChtX3ZhcmlhbnRTZXR0aW5ncy5jYXBzID09IGNh
cHMpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgbV92YXJpYW50U2V0dGluZ3MuY2FwcyA9
IGNhcHM7Ci0KLSAgICBpZiAobV9jc3NDb25uZWN0aW9uKQotICAgICAgICBtX2Nzc0Nvbm5lY3Rp
b24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkoQ1NTUHJvcGVydHlGb250VmFyaWFu
dENhcHMsICZ2YXJpYW50Q2Fwcyk7Ci0KLSAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsm
XShDbGllbnQmIGNsaWVudCkgewotICAgICAgICBjbGllbnQuZm9udFByb3BlcnR5Q2hhbmdlZCgq
dGhpcyk7Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBDU1NGb250RmFj
ZTo6c2V0VmFyaWFudE51bWVyaWMoQ1NTVmFsdWUmIHZhcmlhbnROdW1lcmljKQotewotICAgIGF1
dG8gbnVtZXJpYyA9IGV4dHJhY3RGb250VmFyaWFudE51bWVyaWModmFyaWFudE51bWVyaWMpOwot
Ci0gICAgaWYgKG1fdmFyaWFudFNldHRpbmdzLm51bWVyaWNGaWd1cmUgPT0gbnVtZXJpYy5maWd1
cmUKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3MubnVtZXJpY1NwYWNpbmcgPT0gbnVtZXJp
Yy5zcGFjaW5nCi0gICAgICAgICYmIG1fdmFyaWFudFNldHRpbmdzLm51bWVyaWNGcmFjdGlvbiA9
PSBudW1lcmljLmZyYWN0aW9uCi0gICAgICAgICYmIG1fdmFyaWFudFNldHRpbmdzLm51bWVyaWNP
cmRpbmFsID09IG51bWVyaWMub3JkaW5hbAotICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5u
dW1lcmljU2xhc2hlZFplcm8gPT0gbnVtZXJpYy5zbGFzaGVkWmVybykKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0KLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmljRmlndXJlID0gbnVtZXJpYy5m
aWd1cmU7Ci0gICAgbV92YXJpYW50U2V0dGluZ3MubnVtZXJpY1NwYWNpbmcgPSBudW1lcmljLnNw
YWNpbmc7Ci0gICAgbV92YXJpYW50U2V0dGluZ3MubnVtZXJpY0ZyYWN0aW9uID0gbnVtZXJpYy5m
cmFjdGlvbjsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmljT3JkaW5hbCA9IG51bWVyaWMu
b3JkaW5hbDsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmljU2xhc2hlZFplcm8gPSBudW1l
cmljLnNsYXNoZWRaZXJvOwotCi0gICAgaWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAgbV9j
c3NDb25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5KENTU1Byb3BlcnR5
Rm9udFZhcmlhbnROdW1lcmljLCAmdmFyaWFudE51bWVyaWMpOwotCi0gICAgaXRlcmF0ZUNsaWVu
dHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKLSAgICAgICAgY2xpZW50LmZvbnRQ
cm9wZXJ0eUNoYW5nZWQoKnRoaXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
LWJvb2wgQ1NTRm9udEZhY2U6OnNldFZhcmlhbnRBbHRlcm5hdGVzKENTU1ZhbHVlJiB2YXJpYW50
QWx0ZXJuYXRlcykKLXsKLSAgICBpZiAoIWlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YXJpYW50QWx0
ZXJuYXRlcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEZvbnRWYXJpYW50QWx0ZXJu
YXRlcyBhbHRlcm5hdGVzID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhcmlhbnRBbHRl
cm5hdGVzKTsKLQotICAgIGlmIChtX3ZhcmlhbnRTZXR0aW5ncy5hbHRlcm5hdGVzID09IGFsdGVy
bmF0ZXMpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgbV92YXJpYW50U2V0dGluZ3MuYWx0
ZXJuYXRlcyA9IGFsdGVybmF0ZXM7Ci0KLSAgICBpZiAobV9jc3NDb25uZWN0aW9uKQotICAgICAg
ICBtX2Nzc0Nvbm5lY3Rpb24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkoQ1NTUHJv
cGVydHlGb250VmFyaWFudEFsdGVybmF0ZXMsICZ2YXJpYW50QWx0ZXJuYXRlcyk7Ci0KLSAgICBp
dGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNsaWVudCkgewotICAgICAgICBj
bGllbnQuZm9udFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQotYm9vbCBDU1NGb250RmFjZTo6c2V0VmFyaWFudEVhc3RBc2lhbihDU1NWYWx1
ZSYgdmFyaWFudEVhc3RBc2lhbikKLXsKLSAgICBhdXRvIGVhc3RBc2lhbiA9IGV4dHJhY3RGb250
VmFyaWFudEVhc3RBc2lhbih2YXJpYW50RWFzdEFzaWFuKTsKLQotICAgIGlmIChtX3ZhcmlhbnRT
ZXR0aW5ncy5lYXN0QXNpYW5WYXJpYW50ID09IGVhc3RBc2lhbi52YXJpYW50Ci0gICAgICAgICYm
IG1fdmFyaWFudFNldHRpbmdzLmVhc3RBc2lhbldpZHRoID09IGVhc3RBc2lhbi53aWR0aAotICAg
ICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0QXNpYW5SdWJ5ID09IGVhc3RBc2lhbi5ydWJ5
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fdmFyaWFudFNldHRpbmdzLmVhc3RBc2lh
blZhcmlhbnQgPSBlYXN0QXNpYW4udmFyaWFudDsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0
QXNpYW5XaWR0aCA9IGVhc3RBc2lhbi53aWR0aDsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0
QXNpYW5SdWJ5ID0gZWFzdEFzaWFuLnJ1Ynk7Ci0KLSAgICBpZiAobV9jc3NDb25uZWN0aW9uKQot
ICAgICAgICBtX2Nzc0Nvbm5lY3Rpb24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHko
Q1NTUHJvcGVydHlGb250VmFyaWFudEVhc3RBc2lhbiwgJnZhcmlhbnRFYXN0QXNpYW4pOwotCi0g
ICAgaXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKLSAgICAg
ICAgY2xpZW50LmZvbnRQcm9wZXJ0eUNoYW5nZWQoKnRoaXMpOwotICAgIH0pOwotCi0gICAgcmV0
dXJuIHRydWU7Ci19Ci0KIHZvaWQgQ1NTRm9udEZhY2U6OnNldEZlYXR1cmVTZXR0aW5ncyhDU1NW
YWx1ZSYgZmVhdHVyZVNldHRpbmdzKQogewogICAgIC8vIENhbiBvbmx5IGNhbGwgdGhpcyB3aXRo
IGEgcHJpbWl0aXZlIHZhbHVlIG9mIG5vcm1hbCwgb3IgYSB2YWx1ZSBsaXN0IGNvbnRhaW5pbmcg
Zm9udCBmZWF0dXJlIHZhbHVlcy4KQEAgLTgyMCw3ICs2NzgsNyBAQCBSZWZQdHI8Rm9udD4gQ1NT
Rm9udEZhY2U6OmZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJv
b2wgc3ludAogICAgICAgICAgICAgcmV0dXJuIEZvbnQ6OmNyZWF0ZShGb250Q2FjaGU6OnNpbmds
ZXRvbigpLmxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoZm9udERlc2NyaXB0aW9uKS0+cGxhdGZvcm1E
YXRhKCksIEZvbnQ6Ok9yaWdpbjo6TG9jYWwsIEZvbnQ6OkludGVyc3RpdGlhbDo6WWVzLCB2aXNp
YmlsaXR5KTsKICAgICAgICAgfQogICAgICAgICBjYXNlIENTU0ZvbnRGYWNlU291cmNlOjpTdGF0
dXM6OlN1Y2Nlc3M6Ci0gICAgICAgICAgICBpZiAoUmVmUHRyPEZvbnQ+IHJlc3VsdCA9IHNvdXJj
ZS0+Zm9udChmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywg
bV9mZWF0dXJlU2V0dGluZ3MsIG1fdmFyaWFudFNldHRpbmdzLCBtX2ZvbnRTZWxlY3Rpb25DYXBh
YmlsaXRpZXMpKQorICAgICAgICAgICAgaWYgKFJlZlB0cjxGb250PiByZXN1bHQgPSBzb3VyY2Ut
PmZvbnQoZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIG1f
ZmVhdHVyZVNldHRpbmdzLCBtX2ZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMpKQogICAgICAgICAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBD
U1NGb250RmFjZVNvdXJjZTo6U3RhdHVzOjpGYWlsdXJlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2Uu
aAppbmRleCBmNTIyZGY0YmIxMjY3MjEwZTg2Zjg1MWI2ZWI2NjM2MTZlOGE0MGNmLi42YjU3Njdj
MDAwNDVkNGExMDg2MWY3ZWVhZTZiMzE5ZDNkOTBiMDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2UuaApAQCAtNzAsMTIgKzcwLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2VpZ2h0KENTU1Zh
bHVlJik7CiAgICAgdm9pZCBzZXRTdHJldGNoKENTU1ZhbHVlJik7CiAgICAgYm9vbCBzZXRVbmlj
b2RlUmFuZ2UoQ1NTVmFsdWUmKTsKLSAgICBib29sIHNldFZhcmlhbnRMaWdhdHVyZXMoQ1NTVmFs
dWUmKTsKLSAgICBib29sIHNldFZhcmlhbnRQb3NpdGlvbihDU1NWYWx1ZSYpOwotICAgIGJvb2wg
c2V0VmFyaWFudENhcHMoQ1NTVmFsdWUmKTsKLSAgICBib29sIHNldFZhcmlhbnROdW1lcmljKENT
U1ZhbHVlJik7Ci0gICAgYm9vbCBzZXRWYXJpYW50QWx0ZXJuYXRlcyhDU1NWYWx1ZSYpOwotICAg
IGJvb2wgc2V0VmFyaWFudEVhc3RBc2lhbihDU1NWYWx1ZSYpOwogICAgIHZvaWQgc2V0RmVhdHVy
ZVNldHRpbmdzKENTU1ZhbHVlJik7CiAgICAgdm9pZCBzZXRMb2FkaW5nQmVoYXZpb3IoQ1NTVmFs
dWUmKTsKIApAQCAtODgsOSArODIsNyBAQCBwdWJsaWM6CiAgICAgRm9udFNlbGVjdGlvbkNhcGFi
aWxpdGllcyBmb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzKCkgY29uc3QgeyByZXR1cm4gbV9mb250
U2VsZWN0aW9uQ2FwYWJpbGl0aWVzLmNvbXB1dGVGb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzKCk7
IH0KICAgICBjb25zdCBWZWN0b3I8VW5pY29kZVJhbmdlPiYgcmFuZ2VzKCkgY29uc3QgeyByZXR1
cm4gbV9yYW5nZXM7IH0KICAgICBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmZWF0dXJlU2V0
dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX2ZlYXR1cmVTZXR0aW5nczsgfQotICAgIGNvbnN0IEZv
bnRWYXJpYW50U2V0dGluZ3MmIHZhcmlhbnRTZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fdmFy
aWFudFNldHRpbmdzOyB9CiAgICAgRm9udExvYWRpbmdCZWhhdmlvciBsb2FkaW5nQmVoYXZpb3Io
KSBjb25zdCB7IHJldHVybiBtX2xvYWRpbmdCZWhhdmlvcjsgfQotICAgIHZvaWQgc2V0VmFyaWFu
dFNldHRpbmdzKGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIHZhcmlhbnRTZXR0aW5ncykgeyBt
X3ZhcmlhbnRTZXR0aW5ncyA9IHZhcmlhbnRTZXR0aW5nczsgfQogICAgIHZvaWQgc2V0V2VpZ2h0
KEZvbnRTZWxlY3Rpb25SYW5nZSB3ZWlnaHQpIHsgbV9mb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVz
LndlaWdodCA9IHdlaWdodDsgfQogICAgIHZvaWQgc2V0U3RyZXRjaChGb250U2VsZWN0aW9uUmFu
Z2Ugc3RyZXRjaCkgeyBtX2ZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMud2lkdGggPSBzdHJldGNo
OyB9CiAgICAgdm9pZCBzZXRTdHlsZShGb250U2VsZWN0aW9uUmFuZ2UgaXRhbGljKSB7IG1fZm9u
dFNlbGVjdGlvbkNhcGFiaWxpdGllcy5zbG9wZSA9IGl0YWxpYzsgfQpAQCAtMTg3LDcgKzE3OSw2
IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFVuaWNvZGVSYW5nZT4gbV9yYW5nZXM7CiAKICAgICBG
b250RmVhdHVyZVNldHRpbmdzIG1fZmVhdHVyZVNldHRpbmdzOwotICAgIEZvbnRWYXJpYW50U2V0
dGluZ3MgbV92YXJpYW50U2V0dGluZ3M7CiAgICAgRm9udExvYWRpbmdCZWhhdmlvciBtX2xvYWRp
bmdCZWhhdmlvciB7IEZvbnRMb2FkaW5nQmVoYXZpb3I6OkF1dG8gfTsKIAogICAgIFZlY3Rvcjxz
dGQ6OnVuaXF1ZV9wdHI8Q1NTRm9udEZhY2VTb3VyY2U+LCAwLCBDcmFzaE9uT3ZlcmZsb3csIDA+
IG1fc291cmNlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNv
dXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCmluZGV4
IDY3NDdhMjNmY2ZiOTAzNTgzMDViZDY4MDdjNWQwMmQ0ZTViMTkzNDEuLmI3MTM0ZjY5OWE0YTg3
ZGZmZmNjOTg0YzYwOGE2MDEyOTIyNTY3NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlU291cmNlLmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgQ1NTRm9udEZhY2VTb3VyY2U6
OmxvYWQoQ1NTRm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IpCiAgICAgICAgICAgICBmb250RGVz
Y3JpcHRpb24uc2V0Q29tcHV0ZWRTaXplKDEpOwogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9u
LnNldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKG1fZmFjZS5hbGxvd1VzZXJJbnN0YWxs
ZWRGb250cygpKTsKICAgICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd0Rl
c2lnblN5c3RlbVVJRm9udHMobV9mYWNlLnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygp
KTsKLSAgICAgICAgICAgIHN1Y2Nlc3MgPSBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JG
YW1pbHkoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwgbnVsbHB0ciwgbnVsbHB0
ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcygpLCB0cnVlKTsKKyAgICAgICAg
ICAgIHN1Y2Nlc3MgPSBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERl
c2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwgbnVsbHB0ciwgRm9udFNlbGVjdGlvblNwZWNp
ZmllZENhcGFiaWxpdGllcygpLCB0cnVlKTsKICAgICAgICAgICAgIGlmIChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYkFQSVN0YXRpc3RpY3NFbmFibGVkKCkpIHsK
ICAgICAgICAgICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmb250U2VsZWN0b3ItPmRvY3Vt
ZW50KCkpCiAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWQo
KS5sb2dGb250TG9hZCgqZG9jdW1lbnQsIG1fZmFtaWx5TmFtZU9yVVJJLnN0cmluZygpLCBzdWNj
ZXNzKTsKQEAgLTE5MCw3ICsxOTAsNyBAQCB2b2lkIENTU0ZvbnRGYWNlU291cmNlOjpsb2FkKENT
U0ZvbnRTZWxlY3RvciogZm9udFNlbGVjdG9yKQogICAgIH0KIH0KIAotUmVmUHRyPEZvbnQ+IENT
U0ZvbnRGYWNlU291cmNlOjpmb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0
aW9uLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250
RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRp
bmdzJiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFi
aWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKK1JlZlB0cjxGb250PiBDU1NGb250RmFjZVNv
dXJjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBz
eW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0
aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBBU1NFUlQoc3RhdHVzKCkgPT0gU3RhdHVz
OjpTdWNjZXNzKTsKIApAQCAtMjA0LDEyICsyMDQsMTIgQEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRG
YWNlU291cmNlOjpmb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBi
b28KICAgICAgICAgaWYgKG1faW1tZWRpYXRlU291cmNlKSB7CiAgICAgICAgICAgICBpZiAoIW1f
aW1tZWRpYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YSkKICAgICAgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICAgICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoQ2FjaGVkRm9udDo6cGxh
dGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoKm1faW1tZWRpYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSwgZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRG
YWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGll
cyksIEZvbnQ6Ok9yaWdpbjo6UmVtb3RlKTsKKyAgICAgICAgICAgIHJldHVybiBGb250OjpjcmVh
dGUoQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoKm1faW1tZWRpYXRlRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSwgZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50
aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKSwgRm9u
dDo6T3JpZ2luOjpSZW1vdGUpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gV2UncmUgbG9jYWwu
IEp1c3QgcmV0dXJuIGEgRm9udCBmcm9tIHRoZSBub3JtYWwgY2FjaGUuCiAgICAgICAgIC8vIFdl
IGRvbid0IHdhbnQgdG8gY2hlY2sgYWx0ZXJuYXRlIGZvbnQgZmFtaWx5IG5hbWVzIGhlcmUsIHNv
IHBhc3MgdHJ1ZSBhcyB0aGUgY2hlY2tpbmdBbHRlcm5hdGVOYW1lIHBhcmFtZXRlci4KLSAgICAg
ICAgcmV0dXJuIEZvbnRDYWNoZTo6c2luZ2xldG9uKCkuZm9udEZvckZhbWlseShmb250RGVzY3Jp
cHRpb24sIG1fZmFtaWx5TmFtZU9yVVJJLCAmZm9udEZhY2VGZWF0dXJlcywgJmZvbnRGYWNlVmFy
aWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcywgdHJ1ZSk7CisgICAgICAgIHJldHVy
biBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBt
X2ZhbWlseU5hbWVPclVSSSwgJmZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
LCB0cnVlKTsKICAgICB9CiAKICAgICBpZiAobV9mb250KSB7CkBAIC0yMTcsNyArMjE3LDcgQEAg
UmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlU291cmNlOjpmb250KGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgZm9udERlc2NyaXB0aW9uLCBib28KICAgICAgICAgQVNTRVJUX1VOVVNFRChzdWNjZXNzLCBz
dWNjZXNzKTsKIAogICAgICAgICBBU1NFUlQoc3RhdHVzKCkgPT0gU3RhdHVzOjpTdWNjZXNzKTsK
LSAgICAgICAgYXV0byByZXN1bHQgPSBtX2ZvbnQtPmNyZWF0ZUZvbnQoZm9udERlc2NyaXB0aW9u
LCBtX2ZhbWlseU5hbWVPclVSSSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250
RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRp
ZXMpOworICAgICAgICBhdXRvIHJlc3VsdCA9IG1fZm9udC0+Y3JlYXRlRm9udChmb250RGVzY3Jp
cHRpb24sIG1fZmFtaWx5TmFtZU9yVVJJLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMs
IGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKICAgICAgICAgQVNTRVJU
KHJlc3VsdCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpAQCAtMjMwLDcgKzIzMCw3
IEBAIFJlZlB0cjxGb250PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25zdCBGb250RGVzY3Jp
cHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IGlmICghbV9pbkRvY3VtZW50Q3VzdG9tUGxhdGZvcm1EYXRhKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICByZXR1cm4gRm9udDo6Y3JlYXRlKG1faW5Eb2N1bWVudEN1c3RvbVBsYXRmb3Jt
RGF0YS0+Zm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5
bnRoZXRpY0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3Ms
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzKSwgRm9udDo6T3JpZ2luOjpSZW1vdGUpOworICAgIHJldHVy
biBGb250OjpjcmVhdGUobV9pbkRvY3VtZW50Q3VzdG9tUGxhdGZvcm1EYXRhLT5mb250UGxhdGZv
cm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBm
b250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZvbnQ6Ok9yaWdpbjo6UmVt
b3RlKTsKICNlbmRpZgogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNvdXJjZS5oCmluZGV4IDI5MWIyNDgwOTI2MzdmY2I0Yzc3MDhmNDUzNzc3
NjA5MThlZDRkMzUuLmU0YTJlZDk2ODYyMjE3OGE4OTkyN2EzZTJlYzNiOTk1YzY4ZjI5NTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCkBAIC03MCw3ICs3MCw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIG9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmco
Q1NTRm9udFNlbGVjdG9yJik7CiAKICAgICB2b2lkIGxvYWQoQ1NTRm9udFNlbGVjdG9yKik7Ci0g
ICAgUmVmUHRyPEZvbnQ+IGZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBzeW50aGV0
aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYs
IGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzKTsKKyAgICBSZWZQdHI8Rm9udD4gZm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBi
b29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVy
ZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7CiAKICAgICBi
b29sIHJlcXVpcmVzRXh0ZXJuYWxSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udDsgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDVlYjhiYTQ0NGQxNzdk
Yjc0MGU0NzhhOWQwNjQ2NjcwZDJkMTU2YTQuLjY2ZWQ0MjgxN2RmM2ZhMDdmMzQ0NWMyMjZhMGRj
MGU1ZDNiZTNiYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCkBAIC0x
NjMsMTIgKzE2Myw2IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUoU3R5
bGVSdWxlRm9udEZhY2UmIGZvbnRGYWNlUnVsZSwgYm9vbCBpc0luCiAgICAgUmVmUHRyPENTU1Zh
bHVlPiBzcmMgPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5U3JjKTsKICAg
ICBSZWZQdHI8Q1NTVmFsdWU+IHVuaWNvZGVSYW5nZSA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoQ1NTUHJvcGVydHlVbmljb2RlUmFuZ2UpOwogICAgIFJlZlB0cjxDU1NWYWx1ZT4gZmVhdHVy
ZVNldHRpbmdzID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRGZWF0
dXJlU2V0dGluZ3MpOwotICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFyaWFudExpZ2F0dXJlcyA9IHN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJlcyk7
Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2YXJpYW50UG9zaXRpb24gPSBzdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnRQb3NpdGlvbik7Ci0gICAgUmVmUHRyPENT
U1ZhbHVlPiB2YXJpYW50Q2FwcyA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVy
dHlGb250VmFyaWFudENhcHMpOwotICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFyaWFudE51bWVyaWMg
PSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnROdW1lcmlj
KTsKLSAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhcmlhbnRBbHRlcm5hdGVzID0gc3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50QWx0ZXJuYXRlcyk7Ci0gICAgUmVm
UHRyPENTU1ZhbHVlPiB2YXJpYW50RWFzdEFzaWFuID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50RWFzdEFzaWFuKTsKICAgICBSZWZQdHI8Q1NTVmFsdWU+
IGxvYWRpbmdCZWhhdmlvciA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlG
b250RGlzcGxheSk7CiAgICAgaWYgKCFpczxDU1NWYWx1ZUxpc3Q+KGZvbnRGYW1pbHkpIHx8ICFp
czxDU1NWYWx1ZUxpc3Q+KHNyYykgfHwgKHVuaWNvZGVSYW5nZSAmJiAhaXM8Q1NTVmFsdWVMaXN0
PigqdW5pY29kZVJhbmdlKSkpCiAgICAgICAgIHJldHVybjsKQEAgLTE5NiwxOCArMTkwLDYgQEAg
dm9pZCBDU1NGb250U2VsZWN0b3I6OmFkZEZvbnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSYg
Zm9udEZhY2VSdWxlLCBib29sIGlzSW4KICAgICAgICAgZm9udEZhY2UtPnNldFN0cmV0Y2goKmZv
bnRTdHJldGNoKTsKICAgICBpZiAocmFuZ2VMaXN0ICYmICFmb250RmFjZS0+c2V0VW5pY29kZVJh
bmdlKCpyYW5nZUxpc3QpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKHZhcmlhbnRMaWdhdHVy
ZXMgJiYgIWZvbnRGYWNlLT5zZXRWYXJpYW50TGlnYXR1cmVzKCp2YXJpYW50TGlnYXR1cmVzKSkK
LSAgICAgICAgcmV0dXJuOwotICAgIGlmICh2YXJpYW50UG9zaXRpb24gJiYgIWZvbnRGYWNlLT5z
ZXRWYXJpYW50UG9zaXRpb24oKnZhcmlhbnRQb3NpdGlvbikpCi0gICAgICAgIHJldHVybjsKLSAg
ICBpZiAodmFyaWFudENhcHMgJiYgIWZvbnRGYWNlLT5zZXRWYXJpYW50Q2FwcygqdmFyaWFudENh
cHMpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKHZhcmlhbnROdW1lcmljICYmICFmb250RmFj
ZS0+c2V0VmFyaWFudE51bWVyaWMoKnZhcmlhbnROdW1lcmljKSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIGlmICh2YXJpYW50QWx0ZXJuYXRlcyAmJiAhZm9udEZhY2UtPnNldFZhcmlhbnRBbHRlcm5h
dGVzKCp2YXJpYW50QWx0ZXJuYXRlcykpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAodmFyaWFu
dEVhc3RBc2lhbiAmJiAhZm9udEZhY2UtPnNldFZhcmlhbnRFYXN0QXNpYW4oKnZhcmlhbnRFYXN0
QXNpYW4pKQotICAgICAgICByZXR1cm47CiAgICAgaWYgKGZlYXR1cmVTZXR0aW5ncykKICAgICAg
ICAgZm9udEZhY2UtPnNldEZlYXR1cmVTZXR0aW5ncygqZmVhdHVyZVNldHRpbmdzKTsKICAgICBp
ZiAobG9hZGluZ0JlaGF2aW9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRG
YWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKaW5kZXggYTJlOTNlOGVk
Y2E5NWZhMmRlYTYyODM5MTVjYmVlMDk5NTUwZWI0OS4uNDk1YzBjZDIxMjY0NjY0YzZhMzdhY2Fh
OGZjNDA1Njg5NGE0YWFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuY3BwCkBAIC0zNyw3ICszNyw2
IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJGb250VmFyaWFudEJ1aWxkZXIu
aCIKICNpbmNsdWRlICJKU0ZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiUXVpcmtzLmgiCiAjaW5jbHVk
ZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCkBAIC0xMDEsOSArMTAwLDYgQEAgRXhjZXB0aW9uT3I8UmVm
PEZvbnRGYWNlPj4gRm9udEZhY2U6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgZmEKICAgICBhdXRvIHNldFVuaWNvZGVSYW5nZVJlc3VsdCA9IHJlc3VsdC0+c2V0VW5p
Y29kZVJhbmdlKGRlc2NyaXB0b3JzLnVuaWNvZGVSYW5nZS5pc0VtcHR5KCkgPyAiVSswLTEwRkZG
RiJfcyA6IGRlc2NyaXB0b3JzLnVuaWNvZGVSYW5nZSk7CiAgICAgaWYgKHNldFVuaWNvZGVSYW5n
ZVJlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIHNldFVuaWNvZGVSYW5nZVJl
c3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7Ci0gICAgYXV0byBzZXRWYXJpYW50UmVzdWx0ID0gcmVz
dWx0LT5zZXRWYXJpYW50KGRlc2NyaXB0b3JzLnZhcmlhbnQuaXNFbXB0eSgpID8gIm5vcm1hbCJf
cyA6IGRlc2NyaXB0b3JzLnZhcmlhbnQpOwotICAgIGlmIChzZXRWYXJpYW50UmVzdWx0Lmhhc0V4
Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gc2V0VmFyaWFudFJlc3VsdC5yZWxlYXNlRXhjZXB0
aW9uKCk7CiAgICAgYXV0byBzZXRGZWF0dXJlU2V0dGluZ3NSZXN1bHQgPSByZXN1bHQtPnNldEZl
YXR1cmVTZXR0aW5ncyhkZXNjcmlwdG9ycy5mZWF0dXJlU2V0dGluZ3MuaXNFbXB0eSgpID8gIm5v
cm1hbCJfcyA6IGRlc2NyaXB0b3JzLmZlYXR1cmVTZXR0aW5ncyk7CiAgICAgaWYgKHNldEZlYXR1
cmVTZXR0aW5nc1Jlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIHNldEZlYXR1
cmVTZXR0aW5nc1Jlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CkBAIC0yMTgsNjEgKzIxNCw2IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IEZvbnRGYWNlOjpzZXRVbmljb2RlUmFuZ2UoY29uc3QgU3RyaW5n
JiB1bmljb2RlUmFuZ2UpCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4g
Rm9udEZhY2U6OnNldFZhcmlhbnQoY29uc3QgU3RyaW5nJiB2YXJpYW50KQotewotICAgIGlmICh2
YXJpYW50LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9y
IH07Ci0KLSAgICBhdXRvIHN0eWxlID0gTXV0YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7
Ci0gICAgYXV0byByZXN1bHQgPSBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoc3R5bGUsIENTU1Byb3Bl
cnR5Rm9udFZhcmlhbnQsIHZhcmlhbnQsIHRydWUsIEhUTUxTdGFuZGFyZE1vZGUpOwotICAgIGlm
IChyZXN1bHQgPT0gQ1NTUGFyc2VyOjpQYXJzZVJlc3VsdDo6RXJyb3IpCi0gICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBTeW50YXhFcnJvciB9OwotCi0gICAgLy8gRklYTUU6IFdvdWxkIGJlIG11
Y2ggYmV0dGVyIHRvIHN0YWdlIHRoZSBuZXcgc2V0dGluZ3MgYW5kIHNldCB0aGVtIGFsbCBhdCBv
bmNlCi0gICAgLy8gaW5zdGVhZCBvZiB0aGlzIGRhbmNlIHdoZXJlIHdlIG1ha2UgYSBiYWNrdXAg
YW5kIHJldmVydCB0byBpdCBpZiBzb21ldGhpbmcgZmFpbHMuCi0gICAgRm9udFZhcmlhbnRTZXR0
aW5ncyBiYWNrdXAgPSBtX2JhY2tpbmctPnZhcmlhbnRTZXR0aW5ncygpOwotCi0gICAgYXV0byBu
b3JtYWwgPSBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShD
U1NWYWx1ZU5vcm1hbCk7Ci0gICAgYm9vbCBzdWNjZXNzID0gdHJ1ZTsKLQotICAgIGlmIChhdXRv
IHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFu
dExpZ2F0dXJlcykpCi0gICAgICAgIHN1Y2Nlc3MgJj0gbV9iYWNraW5nLT5zZXRWYXJpYW50TGln
YXR1cmVzKCp2YWx1ZSk7Ci0gICAgZWxzZQotICAgICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRM
aWdhdHVyZXMobm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3Bl
cnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudFBvc2l0aW9uKSkKLSAgICAgICAgc3Vj
Y2VzcyAmPSBtX2JhY2tpbmctPnNldFZhcmlhbnRQb3NpdGlvbigqdmFsdWUpOwotICAgIGVsc2UK
LSAgICAgICAgbV9iYWNraW5nLT5zZXRWYXJpYW50UG9zaXRpb24obm9ybWFsKTsKLQotICAgIGlm
IChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250
VmFyaWFudENhcHMpKQotICAgICAgICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFyaWFudENh
cHMoKnZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFyaWFudENhcHMo
bm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFs
dWUoQ1NTUHJvcGVydHlGb250VmFyaWFudE51bWVyaWMpKQotICAgICAgICBzdWNjZXNzICY9IG1f
YmFja2luZy0+c2V0VmFyaWFudE51bWVyaWMoKnZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIG1f
YmFja2luZy0+c2V0VmFyaWFudE51bWVyaWMobm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVl
ID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudEFsdGVy
bmF0ZXMpKQotICAgICAgICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFyaWFudEFsdGVybmF0
ZXMoKnZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFyaWFudEFsdGVy
bmF0ZXMobm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5
Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudEVhc3RBc2lhbikpCi0gICAgICAgIHN1Y2Nl
c3MgJj0gbV9iYWNraW5nLT5zZXRWYXJpYW50RWFzdEFzaWFuKCp2YWx1ZSk7Ci0gICAgZWxzZQot
ICAgICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRFYXN0QXNpYW4obm9ybWFsKTsKLQotICAgIGlm
ICghc3VjY2VzcykgewotICAgICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRTZXR0aW5ncyhiYWNr
dXApOwotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IgfTsKLSAgICB9Ci0K
LSAgICByZXR1cm4geyB9OwotfQotCiBFeGNlcHRpb25Pcjx2b2lkPiBGb250RmFjZTo6c2V0RmVh
dHVyZVNldHRpbmdzKGNvbnN0IFN0cmluZyYgZmVhdHVyZVNldHRpbmdzKQogewogICAgIGlmIChm
ZWF0dXJlU2V0dGluZ3MuaXNFbXB0eSgpKQpAQCAtNDAyLDEyICszNDMsNiBAQCBTdHJpbmcgRm9u
dEZhY2U6OnVuaWNvZGVSYW5nZSgpIGNvbnN0CiAgICAgcmV0dXJuIHZhbHVlcy0+Y3NzVGV4dCgp
OwogfQogCi1TdHJpbmcgRm9udEZhY2U6OnZhcmlhbnQoKSBjb25zdAotewotICAgIG1fYmFja2lu
Zy0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwotICAgIHJldHVybiBjb21wdXRlRm9udFZhcmlhbnQo
bV9iYWNraW5nLT52YXJpYW50U2V0dGluZ3MoKSktPmNzc1RleHQoKTsKLX0KLQogU3RyaW5nIEZv
bnRGYWNlOjpmZWF0dXJlU2V0dGluZ3MoKSBjb25zdAogewogICAgIG1fYmFja2luZy0+dXBkYXRl
U3R5bGVJZk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaAppbmRleCBkYzdiMWFjNjliYzUwMzIz
Yjc3NmU5ZTFlZDg4MDJhNGFjMTFhMGU3Li5jYmVkYTVjNjQ0YWQwN2I2MTc4NGFmYWI4ZWFlYTM1
OWVmMDBhYmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaApAQCAtNDgsNyArNDgsNiBAQCBwdWJsaWM6
CiAgICAgICAgIFN0cmluZyB3ZWlnaHQ7CiAgICAgICAgIFN0cmluZyBzdHJldGNoOwogICAgICAg
ICBTdHJpbmcgdW5pY29kZVJhbmdlOwotICAgICAgICBTdHJpbmcgdmFyaWFudDsKICAgICAgICAg
U3RyaW5nIGZlYXR1cmVTZXR0aW5nczsKICAgICAgICAgU3RyaW5nIGRpc3BsYXk7CiAgICAgfTsK
QEAgLTYzLDcgKzYyLDYgQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFdlaWdo
dChjb25zdCBTdHJpbmcmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRTdHJldGNoKGNvbnN0
IFN0cmluZyYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFVuaWNvZGVSYW5nZShjb25zdCBT
dHJpbmcmKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRWYXJpYW50KGNvbnN0IFN0cmluZyYp
OwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEZlYXR1cmVTZXR0aW5ncyhjb25zdCBTdHJpbmcm
KTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXREaXNwbGF5KGNvbnN0IFN0cmluZyYpOwogCkBA
IC03Miw3ICs3MCw2IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgd2VpZ2h0KCkgY29uc3Q7CiAgICAg
U3RyaW5nIHN0cmV0Y2goKSBjb25zdDsKICAgICBTdHJpbmcgdW5pY29kZVJhbmdlKCkgY29uc3Q7
Ci0gICAgU3RyaW5nIHZhcmlhbnQoKSBjb25zdDsKICAgICBTdHJpbmcgZmVhdHVyZVNldHRpbmdz
KCkgY29uc3Q7CiAgICAgU3RyaW5nIGRpc3BsYXkoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFj
ZS5pZGwKaW5kZXggMjAwMmQzMzhmMzA3MGVkOTNmMmIzMzg2ZmYzZjA4Y2ZlMDBmNDJlNy4uMmNi
YzA3ZTZlYzkwMzNlNjk5NzgxMTZmNjdmNmI1ZDMxN2FlZmNmOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZh
Y2UuaWRsCkBAIC0zNyw3ICszNyw2IEBAIGRpY3Rpb25hcnkgRm9udEZhY2VEZXNjcmlwdG9ycyB7
CiAgICAgRE9NU3RyaW5nIHdlaWdodCA9ICJub3JtYWwiOwogICAgIERPTVN0cmluZyBzdHJldGNo
ID0gIm5vcm1hbCI7CiAgICAgRE9NU3RyaW5nIHVuaWNvZGVSYW5nZSA9ICJVKzAtMTBGRkZGIjsK
LSAgICBET01TdHJpbmcgdmFyaWFudCA9ICJub3JtYWwiOwogICAgIERPTVN0cmluZyBmZWF0dXJl
U2V0dGluZ3MgPSAibm9ybWFsIjsKICAgICBET01TdHJpbmcgZGlzcGxheSA9ICJhdXRvIjsKIH07
CkBAIC01Miw3ICs1MSw2IEBAIGRpY3Rpb25hcnkgRm9udEZhY2VEZXNjcmlwdG9ycyB7CiAgICAg
YXR0cmlidXRlIERPTVN0cmluZyB3ZWlnaHQ7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJl
dGNoOwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdW5pY29kZVJhbmdlOwotICAgIGF0dHJpYnV0
ZSBET01TdHJpbmcgdmFyaWFudDsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZlYXR1cmVTZXR0
aW5nczsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRpc3BsYXk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAppbmRleCAwODUxNTA4NTRhNzUyMjE5OTU3YzAy
OWY0ODEyNDY5ODg1MjRiOGMyLi4zZjQ2OTljZjgzMjk4ZjA0ZTI3NGFlMDBlZjk1YTU1NDc1YTY1
ZjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCkBAIC0x
MjQsMjAgKzEyNCwyMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4g
Q2FjaGVkRm9udDo6Y3JlYXRlQ3VzdG9tRm9udERhdGEoU2hhcmVkQgogICAgIHJldHVybiBjcmVh
dGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKGJ5dGVzLCBpdGVtSW5Db2xsZWN0aW9uKTsKIH0KIAot
UmVmUHRyPEZvbnQ+IENhY2hlZEZvbnQ6OmNyZWF0ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmLCBib29sIHN5bnRoZXRpY0JvbGQs
IGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250RmFj
ZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZhcmlhbnRTZXR0
aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxp
dGllcykKK1JlZlB0cjxGb250PiBDYWNoZWRGb250OjpjcmVhdGVGb250KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiwgYm9vbCBzeW50aGV0
aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYg
Zm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250
RmFjZUNhcGFiaWxpdGllcykKIHsKLSAgICByZXR1cm4gRm9udDo6Y3JlYXRlKHBsYXRmb3JtRGF0
YUZyb21DdXN0b21EYXRhKGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGlj
SXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZh
Y2VDYXBhYmlsaXRpZXMpLCBGb250OjpPcmlnaW46OlJlbW90ZSk7CisgICAgcmV0dXJuIEZvbnQ6
OmNyZWF0ZShwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRo
ZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBh
YmlsaXRpZXMpLCBGb250OjpPcmlnaW46OlJlbW90ZSk7CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEg
Q2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0
aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRG
ZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGlu
Z3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBDYWNoZWRGb250
OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnRE
ZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0
aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBBU1NFUlQobV9mb250Q3VzdG9tUGxhdGZv
cm1EYXRhKTsKLSAgICByZXR1cm4gcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoKm1fZm9udEN1
c3RvbVBsYXRmb3JtRGF0YSwgZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRGYWNl
RmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyk7
CisgICAgcmV0dXJuIHBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKCptX2ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEsIGZvbnREZXNjcmlwdGlvbiwgYm9sZCwgaXRhbGljLCBmb250RmFjZUZlYXR1cmVz
LCBmb250RmFjZUNhcGFiaWxpdGllcyk7CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEgQ2FjaGVkRm9u
dDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSYgZm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRp
b24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZv
bnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFu
dFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2Fw
YWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFGcm9t
Q3VzdG9tRGF0YShGb250Q3VzdG9tUGxhdGZvcm1EYXRhJiBmb250Q3VzdG9tUGxhdGZvcm1EYXRh
LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29s
IGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsK
LSAgICByZXR1cm4gZm9udEN1c3RvbVBsYXRmb3JtRGF0YS5mb250UGxhdGZvcm1EYXRhKGZvbnRE
ZXNjcmlwdGlvbiwgYm9sZCwgaXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlh
bnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgIHJldHVybiBmb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFs
aWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAogdm9pZCBD
YWNoZWRGb250OjphbGxDbGllbnRzUmVtb3ZlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZEZvbnQuaAppbmRleCA1ODBlOWJlOTI1NjA1Y2IyZWMzYWU3ZTBhODUwY2I5NjY5YmVh
ODU4Li4xNDU3MmUxY2JiMmQ0NTM2NTI2NjU4YTZiNTVkYmYxZWQwYzQyMzE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmgKQEAgLTUzLDEyICs1MywxMiBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgZW5zdXJlQ3VzdG9tRm9udERhdGEoY29uc3QgQXRvbVN0
cmluZyYgcmVtb3RlVVJJKTsKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGE+IGNyZWF0ZUN1c3RvbUZvbnREYXRhKFNoYXJlZEJ1ZmZlciYsIGNvbnN0IFN0
cmluZyYgaXRlbUluQ29sbGVjdGlvbiwgYm9vbCYgd3JhcHBpbmcpOwotICAgIHN0YXRpYyBGb250
UGxhdGZvcm1EYXRhIHBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEmLCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBj
b25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOworICAgIHN0YXRpYyBGb250UGxhdGZv
cm1EYXRhIHBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEm
LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBG
b250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7
CiAKLSAgICB2aXJ0dWFsIFJlZlB0cjxGb250PiBjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZv
bnRWYXJpYW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsK
KyAgICB2aXJ0dWFsIFJlZlB0cjxGb250PiBjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlv
biYsIGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29s
IHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rp
b25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgRm9udFBsYXRmb3Jt
RGF0YSBwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBi
b29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3Qg
Rm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMp
OworICAgIEZvbnRQbGF0Zm9ybURhdGEgcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1
cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiAgICAg
Ym9vbCBlbnN1cmVDdXN0b21Gb250RGF0YShTaGFyZWRCdWZmZXIqIGRhdGEpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAKaW5kZXggZWQyODhjMWU4
Y2EwYzJmMDZmZDA5NDM0ZGVkMjAzZmE5YTdkNWM1My4uMDEyZDJmMzFmZTFjZTk5YTc3ZTg1NWZj
NmVjZWZiODZmMDc2ZGViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFNWR0ZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRTVkdGb250LmNwcApAQCAtNDgsMTcgKzQ4LDE3IEBAIENhY2hlZFNWR0ZvbnQ6OkNhY2hlZFNW
R0ZvbnQoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgUEFMOjpTZXNzaW9u
CiB7CiB9CiAKLVJlZlB0cjxGb250PiBDYWNoZWRTVkdGb250OjpjcmVhdGVGb250KGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiByZW1vdGVV
UkksIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMsIGNvbnN0IEZvbnRG
ZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGlu
Z3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorUmVmUHRyPEZvbnQ+IENhY2hlZFNWR0ZvbnQ6
OmNyZWF0ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0
IEF0b21TdHJpbmcmIHJlbW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRp
Y0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsK
ICAgICBBU1NFUlQoZmlyc3RGb250RmFjZShyZW1vdGVVUkkpKTsKLSAgICByZXR1cm4gQ2FjaGVk
Rm9udDo6Y3JlYXRlRm9udChmb250RGVzY3JpcHRpb24sIHJlbW90ZVVSSSwgc3ludGhldGljQm9s
ZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0
aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgIHJldHVybiBDYWNoZWRGb250OjpjcmVh
dGVGb250KGZvbnREZXNjcmlwdGlvbiwgcmVtb3RlVVJJLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0
aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAot
Rm9udFBsYXRmb3JtRGF0YSBDYWNoZWRTVkdGb250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0
YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29s
IGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgY29u
c3QgRm9udFZhcmlhbnRTZXR0aW5ncyYgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxl
Y3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCitGb250UGxh
dGZvcm1EYXRhIENhY2hlZFNWR0ZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIGJvbGQsIGJvb2wgaXRhbGlj
LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0
aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogewogICAgIGlm
IChtX2V4dGVybmFsU1ZHRG9jdW1lbnQpCiAgICAgICAgIHJldHVybiBGb250UGxhdGZvcm1EYXRh
KGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpLCBib2xkLCBpdGFsaWMpOwotICAg
IHJldHVybiBDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShmb250RGVzY3Jp
cHRpb24sIGJvbGQsIGl0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0
dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKKyAgICByZXR1cm4gQ2FjaGVkRm9udDo6cGxh
dGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZv
bnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAogYm9vbCBDYWNoZWRT
VkdGb250OjplbnN1cmVDdXN0b21Gb250RGF0YShjb25zdCBBdG9tU3RyaW5nJiByZW1vdGVVUkkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQuaAppbmRleCA0MmNm
MTM0Nzg5YmYzN2I2MGVlODUwYTcxNzhjODUyNTBjNTBkMTExLi5hZmRkZDZkYWZkNjQ3NDMxMTAy
YWY3MTVlZGEwZDg2NTY2M2VhYWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkU1ZHRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRTVkdGb250LmgKQEAgLTM5LDEwICszOSwxMCBAQCBwdWJsaWM6CiAKICAgICBib29sIGVu
c3VyZUN1c3RvbUZvbnREYXRhKGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVSSSkgb3ZlcnJpZGU7
CiAKLSAgICBSZWZQdHI8Rm9udD4gY3JlYXRlRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBj
b25zdCBBdG9tU3RyaW5nJiByZW1vdGVVUkksIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50
aGV0aWNJdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBjb25zdCBGb250VmFyaWFu
dFNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcykgb3ZlcnJpZGU7
CisgICAgUmVmUHRyPEZvbnQ+IGNyZWF0ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29u
c3QgQXRvbVN0cmluZyYgcmVtb3RlVVJJLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhl
dGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNp
ZmllZENhcGFiaWxpdGllcykgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgRm9udFBsYXRmb3Jt
RGF0YSBwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBi
b29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3Qg
Rm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMp
OworICAgIEZvbnRQbGF0Zm9ybURhdGEgcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1
cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiAgICAg
U1ZHRm9udEVsZW1lbnQqIGdldFNWR0ZvbnRCeUlkKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCA4
MmYwYjYxOTk4YzY5MGM0ZmQxYzIxODNhNDEwYTkyNjA0ZGQyYTZiLi43ZmNhYTQ0ZDU0YTM4NzQy
ZjdkZDU4NzQwMDZhYTQzNzZlMjU4NDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTczLDExICs3MywxMCBAQCBzdHJ1Y3QgRm9udFBs
YXRmb3JtRGF0YUNhY2hlS2V5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoKSB7IH0KLSAgICBGb250UGxhdGZvcm1E
YXRhQ2FjaGVLZXkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3JpcHRp
b24mIGRlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1
cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywg
Rm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykK
KyAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBj
b25zdCBGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVz
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogICAgICAgICA6IG1fZm9udERlc2NyaXB0aW9uS2V5KGRl
c2NyaXB0aW9uKQogICAgICAgICAsIG1fZmFtaWx5KGZhbWlseSkKICAgICAgICAgLCBtX2ZvbnRG
YWNlRmVhdHVyZXMoZm9udEZhY2VGZWF0dXJlcyA/ICpmb250RmFjZUZlYXR1cmVzIDogRm9udEZl
YXR1cmVTZXR0aW5ncygpKQotICAgICAgICAsIG1fZm9udEZhY2VWYXJpYW50U2V0dGluZ3MoZm9u
dEZhY2VWYXJpYW50U2V0dGluZ3MgPyAqZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgOiBGb250VmFy
aWFudFNldHRpbmdzKCkpCiAgICAgICAgICwgbV9mb250RmFjZUNhcGFiaWxpdGllcyhmb250RmFj
ZUNhcGFiaWxpdGllcykKICAgICB7IH0KIApAQCAtOTEsNyArOTAsNiBAQCBwdWJsaWM6CiAgICAg
ewogICAgICAgICBpZiAobV9mb250RGVzY3JpcHRpb25LZXkgIT0gb3RoZXIubV9mb250RGVzY3Jp
cHRpb25LZXkKICAgICAgICAgICAgIHx8IG1fZm9udEZhY2VGZWF0dXJlcyAhPSBvdGhlci5tX2Zv
bnRGYWNlRmVhdHVyZXMKLSAgICAgICAgICAgIHx8IG1fZm9udEZhY2VWYXJpYW50U2V0dGluZ3Mg
IT0gb3RoZXIubV9mb250RmFjZVZhcmlhbnRTZXR0aW5ncwogICAgICAgICAgICAgfHwgbV9mb250
RmFjZUNhcGFiaWxpdGllcyAhPSBvdGhlci5tX2ZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBpZiAobV9mYW1pbHkuaW1wbCgpID09IG90aGVy
Lm1fZmFtaWx5LmltcGwoKSkKQEAgLTEwNCw3ICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgRm9udERl
c2NyaXB0aW9uS2V5IG1fZm9udERlc2NyaXB0aW9uS2V5OwogICAgIEF0b21TdHJpbmcgbV9mYW1p
bHk7CiAgICAgRm9udEZlYXR1cmVTZXR0aW5ncyBtX2ZvbnRGYWNlRmVhdHVyZXM7Ci0gICAgRm9u
dFZhcmlhbnRTZXR0aW5ncyBtX2ZvbnRGYWNlVmFyaWFudFNldHRpbmdzOwogICAgIEZvbnRTZWxl
Y3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgbV9mb250RmFjZUNhcGFiaWxpdGllczsKIH07CiAK
QEAgLTExNSw3ICsxMTIsNiBAQCBzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5SGFzaCB7
CiAgICAgICAgIGhhc2hlci5hZGQoRm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZmFtaWx5TmFtZUhh
c2goZm9udEtleS5tX2ZhbWlseSkpOwogICAgICAgICBoYXNoZXIuYWRkKGZvbnRLZXkubV9mb250
RGVzY3JpcHRpb25LZXkuY29tcHV0ZUhhc2goKSk7CiAgICAgICAgIGhhc2hlci5hZGQoZm9udEtl
eS5tX2ZvbnRGYWNlRmVhdHVyZXMuaGFzaCgpKTsKLSAgICAgICAgaGFzaGVyLmFkZChmb250S2V5
Lm1fZm9udEZhY2VWYXJpYW50U2V0dGluZ3MudW5pcXVlVmFsdWUoKSk7CiAgICAgICAgIGlmIChh
dXRvIHdlaWdodCA9IGZvbnRLZXkubV9mb250RmFjZUNhcGFiaWxpdGllcy53ZWlnaHQpCiAgICAg
ICAgICAgICBoYXNoZXIuYWRkKHdlaWdodC0+dW5pcXVlVmFsdWUoKSk7CiAgICAgICAgIGVsc2UK
QEAgLTIwMCw3ICsxOTYsNyBAQCBjb25zdCBBdG9tU3RyaW5nJiBGb250Q2FjaGU6OmFsdGVybmF0
ZUZhbWlseU5hbWUoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5TmFtZSkKIH0KIAogRm9udFBsYXRm
b3JtRGF0YSogRm9udENhY2hlOjpnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBwYXNzZWRGYW1p
bHlOYW1lLAotICAgIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMs
IGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29s
IGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKKyAgICBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBm
b250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzLCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKIHsKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2soZm9udExvY2spOwpA
QCAtMjIyLDE5ICsyMTgsMTkgQEAgRm9udFBsYXRmb3JtRGF0YSogRm9udENhY2hlOjpnZXRDYWNo
ZWRGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm8KICAgICAgICAgaW5p
dGlhbGl6ZWQgPSB0cnVlOwogICAgIH0KIAotICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSBr
ZXkoZmFtaWx5TmFtZSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFj
ZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0Zm9y
bURhdGFDYWNoZUtleSBrZXkoZmFtaWx5TmFtZSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZl
YXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcyk7CiAKICAgICBhdXRvIGFkZFJlc3VsdCA9IGZv
bnRQbGF0Zm9ybURhdGFDYWNoZSgpLmFkZChrZXksIG51bGxwdHIpOwogICAgIEZvbnRQbGF0Zm9y
bURhdGFDYWNoZTo6aXRlcmF0b3IgaXQgPSBhZGRSZXN1bHQuaXRlcmF0b3I7CiAgICAgaWYgKGFk
ZFJlc3VsdC5pc05ld0VudHJ5KSB7Ci0gICAgICAgIGl0LT52YWx1ZSA9IGNyZWF0ZUZvbnRQbGF0
Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBmYW1pbHlOYW1lLCBmb250RmFjZUZlYXR1cmVzLCBm
b250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgICAgICBp
dC0+dmFsdWUgPSBjcmVhdGVGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5
TmFtZSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogCiAgICAgICAg
IGlmICghaXQtPnZhbHVlICYmICFjaGVja2luZ0FsdGVybmF0ZU5hbWUpIHsKICAgICAgICAgICAg
IC8vIFdlIHdlcmUgdW5hYmxlIHRvIGZpbmQgYSBmb250LiAgV2UgaGF2ZSBhIHNtYWxsIHNldCBv
ZiBmb250cyB0aGF0IHdlIGFsaWFzIHRvIG90aGVyIG5hbWVzLAogICAgICAgICAgICAgLy8gZS5n
LiwgQXJpYWwvSGVsdmV0aWNhLCBDb3VyaWVyL0NvdXJpZXIgTmV3LCBldGMuICBUcnkgbG9va2lu
ZyB1cCB0aGUgZm9udCB1bmRlciB0aGUgYWxpYXNlZCBuYW1lLgogICAgICAgICAgICAgY29uc3Qg
QXRvbVN0cmluZyYgYWx0ZXJuYXRlTmFtZSA9IGFsdGVybmF0ZUZhbWlseU5hbWUoZmFtaWx5TmFt
ZSk7CiAgICAgICAgICAgICBpZiAoIWFsdGVybmF0ZU5hbWUuaXNOdWxsKCkpIHsKLSAgICAgICAg
ICAgICAgICBGb250UGxhdGZvcm1EYXRhKiBmb250UGxhdGZvcm1EYXRhRm9yQWx0ZXJuYXRlTmFt
ZSA9IGdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBhbHRlcm5hdGVO
YW1lLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VD
YXBhYmlsaXRpZXMsIHRydWUpOworICAgICAgICAgICAgICAgIEZvbnRQbGF0Zm9ybURhdGEqIGZv
bnRQbGF0Zm9ybURhdGFGb3JBbHRlcm5hdGVOYW1lID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0
YShmb250RGVzY3JpcHRpb24sIGFsdGVybmF0ZU5hbWUsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzLCB0cnVlKTsKICAgICAgICAgICAgICAgICAvLyBMb29rdXAgdGhlIGtl
eSBpbiB0aGUgaGFzaCB0YWJsZSBhZ2FpbiBhcyB0aGUgcHJldmlvdXMgaXRlcmF0b3IgbWF5IGhh
dmUKICAgICAgICAgICAgICAgICAvLyBiZWVuIGludmFsaWRhdGVkIGJ5IHRoZSByZWN1cnNpdmUg
Y2FsbCB0byBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKCkuCiAgICAgICAgICAgICAgICAgaXQg
PSBmb250UGxhdGZvcm1EYXRhQ2FjaGUoKS5maW5kKGtleSk7CkBAIC0zMTYsMTIgKzMxMiwxMiBA
QCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0SW5hY3RpdmVGb250RGF0YSA9IDIwMDsKIGNvbnN0IHVu
c2lnbmVkIGNNYXhVbmRlck1lbW9yeVByZXNzdXJlSW5hY3RpdmVGb250RGF0YSA9IDUwOwogY29u
c3QgdW5zaWduZWQgY1RhcmdldFVuZGVyTWVtb3J5UHJlc3N1cmVJbmFjdGl2ZUZvbnREYXRhID0g
MzA7CiAKLVJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERl
c2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlh
bnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZp
ZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMsIGJvb2wgY2hlY2tpbmdBbHRlcm5h
dGVOYW1lKQorUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6Zm9udEZvckZhbWlseShjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBj
b25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9u
U3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGNoZWNraW5n
QWx0ZXJuYXRlTmFtZSkKIHsKICAgICBpZiAoIW1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKLSAgICBpZiAoYXV0byogcGxh
dGZvcm1EYXRhID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZh
bWlseSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNl
Q2FwYWJpbGl0aWVzLCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpKQorICAgIGlmIChhdXRvKiBwbGF0
Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFt
aWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcywgY2hlY2tpbmdBbHRl
cm5hdGVOYW1lKSkKICAgICAgICAgcmV0dXJuIGZvbnRGb3JQbGF0Zm9ybURhdGEoKnBsYXRmb3Jt
RGF0YSk7CiAKICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggMGEzYTMzZjkzYjFmNTVhZGU3OTNhNWZmNDU3OGRj
MWYyNDRlZTZjZC4uOTBkZTg0MjlkMGJiMDBiZThlMThjM2IyZjJjNTcwY2M5YzcyOTk2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTIxMyw3
ICsyMTMsNyBAQCBwdWJsaWM6CiAgICAgLy8gSXQgY29tZXMgaW50byBwbGF5IHdoZW4geW91IGNy
ZWF0ZSBhbiBAZm9udC1mYWNlIHdoaWNoIHNoYXJlcyBhIGZhbWlseSBuYW1lIGFzIGEgcHJlaW5z
dGFsbGVkIGZvbnQuCiAgICAgVmVjdG9yPEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXM+IGdldEZv
bnRTZWxlY3Rpb25DYXBhYmlsaXRpZXNJbkZhbWlseShjb25zdCBBdG9tU3RyaW5nJiwgQWxsb3dV
c2VySW5zdGFsbGVkRm9udHMpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEZvbnQ+IGZv
bnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYsIGNv
bnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMgPSBudWxscHRyLCBjb25z
dCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncyA9IG51bGxwdHIs
IEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMg
PSB7IH0sIGJvb2wgY2hlY2tpbmdBbHRlcm5hdGVOYW1lID0gZmFsc2UpOworICAgIFdFQkNPUkVf
RVhQT1JUIFJlZlB0cjxGb250PiBmb250Rm9yRmFtaWx5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYs
IGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZl
YXR1cmVzID0gbnVsbHB0ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250
RmFjZUNhcGFiaWxpdGllcyA9IHsgfSwgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUgPSBmYWxz
ZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVmPEZvbnQ+IGxhc3RSZXNvcnRGYWxsYmFja0ZvbnQo
Y29uc3QgRm9udERlc2NyaXB0aW9uJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVmPEZvbnQ+IGZv
bnRGb3JQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOwogICAgIFJlZlB0cjxG
b250PiBzaW1pbGFyRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5n
JiBmYW1pbHkpOwpAQCAtMjYzLDEzICsyNjMsMTMgQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHB1cmdlSW5hY3RpdmVGb250RGF0YUlmTmVlZGVkKCk7CiAKICAgICAvLyBGSVhN
RTogVGhpcyBtZXRob2Qgc2hvdWxkIGV2ZW50dWFsbHkgYmUgcmVtb3ZlZC4KLSAgICBGb250UGxh
dGZvcm1EYXRhKiBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlv
biYsIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyog
Zm9udEZhY2VGZWF0dXJlcyA9IG51bGxwdHIsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZv
bnRGYWNlVmFyaWFudFNldHRpbmdzID0gbnVsbHB0ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENh
cGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcyA9IHsgfSwgYm9vbCBjaGVja2luZ0FsdGVy
bmF0ZU5hbWUgPSBmYWxzZSk7CisgICAgRm9udFBsYXRmb3JtRGF0YSogZ2V0Q2FjaGVkRm9udFBs
YXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1p
bHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMgPSBudWxscHRy
LCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
ID0geyB9LCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSA9IGZhbHNlKTsKIAogICAgIC8vIFRo
ZXNlIG1ldGhvZHMgYXJlIGltcGxlbWVudGVkIGJ5IGVhY2ggcGxhdGZvcm0uCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAgICAgRm9udFBsYXRmb3JtRGF0YSogZ2V0Q3VzdG9tRmFsbGJhY2tGb250KGNv
bnN0IFVJbnQzMiwgY29uc3QgRm9udERlc2NyaXB0aW9uJik7CiAjZW5kaWYKLSAgICBXRUJDT1JF
X0VYUE9SVCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udFBsYXRm
b3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHks
IGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRW
YXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3Bl
Y2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udFBsYXRmb3Jt
RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNv
bnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogICAgIAogICAgIHN0
YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBhbHRlcm5hdGVGYW1pbHlOYW1lKGNvbnN0IEF0b21TdHJp
bmcmKTsKICAgICBzdGF0aWMgY29uc3QgQXRvbVN0cmluZyYgcGxhdGZvcm1BbHRlcm5hdGVGYW1p
bHlOYW1lKGNvbnN0IEF0b21TdHJpbmcmKTsKQEAgLTI5MCw3ICsyOTAsNyBAQCBwcml2YXRlOgog
CiBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3Jl
YXRlRm9udFBsYXRmb3JtRGF0YUZvclRlc3RpbmcoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKIHsKLSAgICByZXR1cm4gY3Jl
YXRlRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgbnVsbHB0ciwgbnVs
bHB0ciwgeyB9KTsKKyAgICByZXR1cm4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3Jp
cHRpb24sIGZhbWlseSwgbnVsbHB0ciwgeyB9KTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCA1NWJiNmJhZGRiMDQ2ZmE5YTJjMDEyNmY2Njk4
MzE3MDIyZDNmOGM5Li5jZGM2NTBkYTQ0ZmIzY2YxMjQ3NmZjYmYxNDJlNDc2ZTQ1YzUwYWYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC01MzAsNyArNTMwLDcgQEAgc3RydWN0IEZvbnRU
eXBlIHsKICAgICBib29sIGFhdFNoYXBpbmcgeyBmYWxzZSB9OwogfTsKIAotUmV0YWluUHRyPENU
Rm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25z
dCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgRm9udEZlYXR1cmVTZXR0
aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZh
Y2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9u
dEZhY2VDYXBhYmlsaXRpZXMsIGJvb2wgYXBwbHlXZWlnaHRXaWR0aFNsb3BlVmFyaWF0aW9ucykK
K1JldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdp
bmFsRm9udCwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEZv
bnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZp
ZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMsIGJvb2wgYXBwbHlXZWlnaHRXaWR0
aFNsb3BlVmFyaWF0aW9ucykKIHsKICAgICBpZiAoIW9yaWdpbmFsRm9udCkKICAgICAgICAgcmV0
dXJuIG9yaWdpbmFsRm9udDsKQEAgLTU2OSw4ICs1NjksNyBAQCBSZXRhaW5QdHI8Q1RGb250UmVm
PiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNvbnN0IEZvbnRE
ZXNjcgogICAgIGJvb2wgdmFyaWFudFNldHRpbmdzSXNOb3JtYWwgPSB2YXJpYW50U2V0dGluZ3Mu
aXNBbGxOb3JtYWwoKTsKICAgICBib29sIGRvbnROZWVkVG9BcHBseU9wdGljYWxTaXppbmcgPSBm
b250T3B0aWNhbFNpemluZyA9PSBGb250T3B0aWNhbFNpemluZzo6RW5hYmxlZCAmJiAhZm9yY2VP
cHRpY2FsU2l6aW5nT247CiAgICAgYm9vbCBmb250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJlcyA9
ICFmb250RmFjZUZlYXR1cmVzIHx8IGZvbnRGYWNlRmVhdHVyZXMtPmlzRW1wdHkoKTsKLSAgICBi
b29sIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMgPSAhZm9udEZhY2VWYXJpYW50U2V0
dGluZ3MgfHwgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MtPmlzQWxsTm9ybWFsKCk7Ci0gICAgaWYg
KG5vRm9udEZlYXR1cmVTZXR0aW5ncyAmJiBub0ZvbnRWYXJpYXRpb25TZXR0aW5ncyAmJiB0ZXh0
UmVuZGVyaW5nTW9kZUlzQXV0byAmJiB2YXJpYW50U2V0dGluZ3NJc05vcm1hbCAmJiBkb250TmVl
ZFRvQXBwbHlPcHRpY2FsU2l6aW5nICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeUZlYXR1cmVzICYm
IGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMpIHsKKyAgICBpZiAobm9Gb250RmVhdHVy
ZVNldHRpbmdzICYmIG5vRm9udFZhcmlhdGlvblNldHRpbmdzICYmIHRleHRSZW5kZXJpbmdNb2Rl
SXNBdXRvICYmIHZhcmlhbnRTZXR0aW5nc0lzTm9ybWFsICYmIGRvbnROZWVkVG9BcHBseU9wdGlj
YWxTaXppbmcgJiYgZm9udEZhY2VEb2VzbnRTcGVjaWZ5RmVhdHVyZXMpIHsKICNpZiBIQVZFKENU
Rk9OVENSRUFURUZPUkNIQVJBQ1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJT04pCiAgICAgICAgIHJl
dHVybiBvcmlnaW5hbEZvbnQ7CiAjZWxzZQpAQCAtNTg0LDggKzU4Myw3IEBAIFJldGFpblB0cjxD
VEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9udCwgY29u
c3QgRm9udERlc2NyCiAgICAgLy8gU3RlcCAxOiBDb3JlVGV4dCBoYW5kbGVzIGRlZmF1bHQgZmVh
dHVyZXMgKHN1Y2ggYXMgcmVxdWlyZWQgbGlnYXR1cmVzKS4KIAogICAgIC8vIFN0ZXAgMjogQ29u
c3VsdCB3aXRoIGZvbnQtdmFyaWFudC0qIGluc2lkZSBAZm9udC1mYWNlCi0gICAgaWYgKGZvbnRG
YWNlVmFyaWFudFNldHRpbmdzKQotICAgICAgICBmZWF0dXJlc1RvQmVBcHBsaWVkID0gY29tcHV0
ZUZlYXR1cmVTZXR0aW5nc0Zyb21WYXJpYW50cygqZm9udEZhY2VWYXJpYW50U2V0dGluZ3MpOwor
ICAgIC8vIFRoaXMgbm8gbG9uZ2VyIGhhcHBlbnMgYW55IG1vcmU6IGh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy8yNTMxCiAKICAgICAvLyBTdGVwIDM6IENvbnN1bHQg
d2l0aCBmb250LWZlYXR1cmUtc2V0dGluZ3MgaW5zaWRlIEBmb250LWZhY2UKICAgICBpZiAoZm9u
dEZhY2VGZWF0dXJlcykgewpAQCAtMTI5Nyw3ICsxMjk1LDcgQEAgc3RhdGljIFJldGFpblB0cjxD
VEZvbnRSZWY+IGZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoY29uc3QgQXRvbVN0cmluZyYgZmFt
aWx5LAogICAgIHJldHVybiBudWxscHRyOwogfQogCi1zdGF0aWMgUmV0YWluUHRyPENURm9udFJl
Zj4gZm9udFdpdGhGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9u
dEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50
U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBh
YmlsaXRpZXMsIGZsb2F0IHNpemUpCitzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gZm9udFdp
dGhGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24m
IGZvbnREZXNjcmlwdGlvbiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0
dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxp
dGllcywgZmxvYXQgc2l6ZSkKIHsKICAgICBpZiAoZmFtaWx5LmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CkBAIC0xMzA5LDcgKzEzMDcsNyBAQCBzdGF0aWMgUmV0YWluUHRyPENU
Rm9udFJlZj4gZm9udFdpdGhGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBG
b250RAogICAgICAgICBpZiAoIWZvbnRMb29rdXAucmVzdWx0KQogICAgICAgICAgICAgZm9udExv
b2t1cCA9IHBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHkoZmFtaWx5LCBmb250RGVzY3JpcHRp
b24uZm9udFNlbGVjdGlvblJlcXVlc3QoKSwgc2l6ZSwgZm9udERlc2NyaXB0aW9uLnNob3VsZEFs
bG93VXNlckluc3RhbGxlZEZvbnRzKCkpOwogICAgIH0KLSAgICByZXR1cm4gcHJlcGFyZVBsYXRm
b3JtRm9udChmb250TG9va3VwLnJlc3VsdC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFj
ZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMs
ICFmb250TG9va3VwLmNyZWF0ZWRGcm9tUG9zdFNjcmlwdE5hbWUpOworICAgIHJldHVybiBwcmVw
YXJlUGxhdGZvcm1Gb250KGZvbnRMb29rdXAucmVzdWx0LmdldCgpLCBmb250RGVzY3JpcHRpb24s
IGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCAhZm9udExvb2t1cC5jcmVh
dGVkRnJvbVBvc3RTY3JpcHROYW1lKTsKIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTEzNDQs
MTEgKzEzNDIsMTEgQEAgc3RhdGljIHZvaWQgYXV0b0FjdGl2YXRlRm9udChjb25zdCBTdHJpbmcm
IG5hbWUsIENHRmxvYXQgc2l6ZSkKIH0KICNlbmRpZgogCi1zdGQ6OnVuaXF1ZV9wdHI8Rm9udFBs
YXRmb3JtRGF0YT4gRm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNv
bnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJp
YW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lm
aWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorc3RkOjp1bmlxdWVfcHRyPEZv
bnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5
LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0
aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogewogICAgIGZs
b2F0IHNpemUgPSBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKTsKIAotICAgIGF1
dG8gZm9udCA9IGZvbnRXaXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFj
ZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMs
IHNpemUpOworICAgIGF1dG8gZm9udCA9IGZvbnRXaXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2Ny
aXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcywgc2l6ZSk7CiAK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYgKCFmb250KSB7CkBAIC0xMzU5LDcgKzEzNTcsNyBA
QCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gRm9udENhY2hlOjpjcmVhdGVGb250
UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZQogICAgICAgICAvLyBJZ25vcmUgdGhlIHJlc3VsdCBi
ZWNhdXNlIHdlIHdhbnQgdG8gdXNlIG91ciBvd24gYWxnb3JpdGhtIHRvIGFjdHVhbGx5IGZpbmQg
dGhlIGZvbnQuCiAgICAgICAgIGF1dG9BY3RpdmF0ZUZvbnQoZmFtaWx5LnN0cmluZygpLCBzaXpl
KTsKIAotICAgICAgICBmb250ID0gZm9udFdpdGhGYW1pbHkoZmFtaWx5LCBmb250RGVzY3JpcHRp
b24sIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNh
cGFiaWxpdGllcywgc2l6ZSk7CisgICAgICAgIGZvbnQgPSBmb250V2l0aEZhbWlseShmYW1pbHks
IGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMs
IHNpemUpOwogICAgIH0KICNlbmRpZgogCkBAIC0xNDg4LDcgKzE0ODYsNyBAQCBSZWZQdHI8Rm9u
dD4gRm9udENhY2hlOjpzeXN0ZW1GYWxsYmFja0ZvckNoYXJhY3RlcnMoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiBkZXNjcgogICAgICAgICBtX2ZvbnROYW1lc1JlcXVpcmluZ1N5c3RlbUZhbGxiYWNr
Rm9yUHJld2FybWluZy5hZGQoZnVsbE5hbWUpOwogCiAgICAgYXV0byByZXN1bHQgPSBsb29rdXBG
YWxsYmFja0ZvbnQocGxhdGZvcm1EYXRhLmZvbnQoKSwgZGVzY3JpcHRpb24ud2VpZ2h0KCksIGRl
c2NyaXB0aW9uLmxvY2FsZSgpLCBkZXNjcmlwdGlvbi5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRG
b250cygpLCBjaGFyYWN0ZXJzLCBsZW5ndGgpOwotICAgIHJlc3VsdCA9IHByZXBhcmVQbGF0Zm9y
bUZvbnQocmVzdWx0LmdldCgpLCBkZXNjcmlwdGlvbiwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9KTsK
KyAgICByZXN1bHQgPSBwcmVwYXJlUGxhdGZvcm1Gb250KHJlc3VsdC5nZXQoKSwgZGVzY3JpcHRp
b24sIG51bGxwdHIsIHsgfSk7CiAKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIGxh
c3RSZXNvcnRGYWxsYmFja0ZvbnQoZGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKaW5k
ZXggOGRhNTU4ZTE1ZTEzNDFjZmI3MTVmNzJiMmJlYzE4MDhjOTNjNjU1YS4uOTRjMzI3MzViMDU4
YzJkOGI3ZTZkZWEwOTQ5NzE2OGFmZTVjYjRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCkBAIC01
MCw3ICs1MCw3IEBAIHN0cnVjdCBTeW50aGVzaXNQYWlyIHsKICAgICBib29sIG5lZWRzU3ludGhl
dGljT2JsaXF1ZTsKIH07CiAKLVJldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZv
bnQoQ1RGb250UmVmLCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBGb250RmVhdHVyZVNl
dHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250
RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBm
b250RmFjZUNhcGFiaWxpdGllcywgYm9vbCBhcHBseVdlaWdodFdpZHRoU2xvcGVWYXJpYXRpb25z
ID0gdHJ1ZSk7CitSZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9u
dFJlZiwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyog
Zm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250
RmFjZUNhcGFiaWxpdGllcywgYm9vbCBhcHBseVdlaWdodFdpZHRoU2xvcGVWYXJpYXRpb25zID0g
dHJ1ZSk7CiBTeW50aGVzaXNQYWlyIGNvbXB1dGVOZWNlc3NhcnlTeW50aGVzaXMoQ1RGb250UmVm
LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGlzUGxhdGZvcm1Gb250ID0gZmFsc2UpOwog
UmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNv
bnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgZmxvYXQgc2l6
ZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZv
cm1Gb250V2l0aEZhbWlseShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rpb25S
ZXF1ZXN0LCBUZXh0UmVuZGVyaW5nTW9kZSwgZmxvYXQgc2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RmFtaWx5U3BlY2lmaWNhdGlv
bkNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3BwCmluZGV4IDBkZTkzNGE3YjM4NDEwMGVl
Yjc2ZDc3ZjQ1NmExODJmYmJhYmNlY2MuLmMyNDg1Mjk0NGMyMjM0ZTMwZWU1MzUyNDk0MDAxYWM4
MTlkMmM4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRl
eHQuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgRm9udFJhbmdlcyBGb250RmFtaWx5U3BlY2lmaWNh
dGlvbkNvcmVUZXh0Ojpmb250UmFuZ2VzKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm8KICAgICAg
ICAgICAgIGZvbnRGb3JTeW50aGVzaXNDb21wdXRhdGlvbiA9IHBoeXNpY2FsRm9udDsKICNlbmRp
ZgogCi0gICAgICAgIGZvbnQgPSBwcmVwYXJlUGxhdGZvcm1Gb250KGZvbnQuZ2V0KCksIGZvbnRE
ZXNjcmlwdGlvbiwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9KTsKKyAgICAgICAgZm9udCA9IHByZXBh
cmVQbGF0Zm9ybUZvbnQoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCBudWxscHRyLCB7IH0p
OwogCiAgICAgICAgIGF1dG8gW3N5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWVdID0gY29t
cHV0ZU5lY2Vzc2FyeVN5bnRoZXNpcyhmb250Rm9yU3ludGhlc2lzQ29tcHV0YXRpb24uZ2V0KCks
IGZvbnREZXNjcmlwdGlvbikuYm9sZE9ibGlxdWVQYWlyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmNwcAppbmRleCA1MDc5MzhiZTExMDVjZjQyNjA0NTU5MTNiMGM1ZTk5ZDRmNTRmOWU3
Li4yMTlhOTk1YjhhNGM1NWZjYjE5YzVlODE0YWZkODNkNGU0YzgyMThiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuY3BwCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSA9IGRl
ZmF1bHQ7CiAKLUZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBs
YXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBi
b2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0
dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYgZm9udEZhY2VWYXJpYW50U2V0dGluZ3Ms
IEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMp
CitGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURh
dGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9v
bCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7
CiAgICAgYXV0byBhdHRyaWJ1dGVzID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxl
KGtDRkFsbG9jYXRvckRlZmF1bHQsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywg
JmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKICAgICBhZGRBdHRyaWJ1dGVzRm9y
V2ViRm9udHMoYXR0cmlidXRlcy5nZXQoKSwgZm9udERlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKCkpOwpAQCAtNDYsNyArNDYsNyBAQCBGb250UGxhdGZvcm1EYXRhIEZv
bnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0
aW9uJgogICAgIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IGZvbnREZXNjcmlwdGlvbi5v
cmllbnRhdGlvbigpOwogICAgIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50ID0gZm9udERl
c2NyaXB0aW9uLndpZHRoVmFyaWFudCgpOwogICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnQg
PSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhGb250RGVzY3JpcHRvcihtb2RpZmllZEZvbnREZXNj
cmlwdG9yLmdldCgpLCBzaXplLCBudWxscHRyKSk7Ci0gICAgZm9udCA9IHByZXBhcmVQbGF0Zm9y
bUZvbnQoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCAmZm9udEZhY2VGZWF0dXJlcywgJmZv
bnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyk7CisgICAgZm9udCA9
IHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCAmZm9udEZh
Y2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogICAgIEFTU0VSVChmb250KTsKICAg
ICByZXR1cm4gRm9udFBsYXRmb3JtRGF0YShmb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMs
IG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIGZvbnREZXNjcmlwdGlvbi50ZXh0UmVuZGVyaW5n
TW9kZSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiMjAzZmFiMzZjZjQ3
ODgzNWUwMDdlODkyYjQxMGNiN2ZiZWI4YjIuLjYwNzhlMjVmYTFkODJiY2VjOWI0Y2M3YmM3MmU1
ZTdmMjhlYTcwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtNTAsNyArNTAsNyBA
QCBwdWJsaWM6CiAKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCi0gICAgRm9udFBs
YXRmb3JtRGF0YSBmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wg
Ym9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVh
dHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdz
LCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
KTsKKyAgICBGb250UGxhdGZvcm1EYXRhIGZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBm
b250RmFjZUNhcGFiaWxpdGllcyk7CiAKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zvcm1hdChj
b25zdCBTdHJpbmcmKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381645</attachid>
            <date>2019-10-22 18:53:46 -0700</date>
            <delta_ts>2019-10-23 12:01:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203179-20191022185345.patch</filename>
            <type>text/plain</type>
            <size>65222</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGQ3NWZlY2IyNzIzNzNi
MzZmYjg5NDdjYTdkMGIwYWFkOTkxN2FlMS4uNmI4YjkwZjc1ZWEyY2I2ZjA1NWY2NDcyYjVhNWVl
OTExM2Q2NzcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE5LTEwLTIyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGZv
bnQtdmFyaWFudCBAZm9udC1mYWNlIGRlc2NyaXB0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIHBlciBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLWRyYWZ0cy9pc3N1ZXMvMjUzMQorCisgICAgICAgIERlbGV0ZWQgcmVsZXZhbnQgdGVzdHMu
CisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Rm9udEZhY2U6OmZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OnNldFZhcmlh
bnRMaWdhdHVyZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OnNl
dFZhcmlhbnRQb3NpdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFj
ZTo6c2V0VmFyaWFudENhcHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZh
Y2U6OnNldFZhcmlhbnROdW1lcmljKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRGYWNlOjpzZXRWYXJpYW50QWx0ZXJuYXRlcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NGb250RmFjZTo6c2V0VmFyaWFudEVhc3RBc2lhbik6IERlbGV0ZWQuCisgICAgICAgICog
Y3NzL0NTU0ZvbnRGYWNlLmg6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU291cmNlOjpsb2FkKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRGYWNlU291cmNlOjpmb250KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZh
Y2VTb3VyY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udEZhY2VSdWxlKToKKyAgICAgICAgKiBj
c3MvRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZhY2U6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250RmFjZTo6c2V0VmFyaWFudCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpGb250RmFjZTo6dmFyaWFudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
Y3NzL0ZvbnRGYWNlLmg6CisgICAgICAgICogY3NzL0ZvbnRGYWNlLmlkbDoKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGb250
OjpjcmVhdGVGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0
YUZyb21DdXN0b21EYXRhKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5oOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFNWR0ZvbnQ6OmNyZWF0ZUZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
U1ZHRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEpOgorICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRTVkdGb250Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleTo6Rm9u
dFBsYXRmb3JtRGF0YUNhY2hlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURh
dGFDYWNoZUtleTo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxh
dGZvcm1EYXRhQ2FjaGVLZXlIYXNoOjpoYXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNo
ZTo6Z2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2Fj
aGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Z2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGFGb3JUZXN0aW5n
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwcmVwYXJlUGxhdGZvcm1Gb250KToKKyAgICAgICAgKFdl
YkNvcmU6OmZvbnRXaXRoRmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Y3Jl
YXRlRm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OnN5c3Rl
bUZhbGxiYWNrRm9yQ2hhcmFjdGVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQ6OmZvbnRSYW5nZXMgY29uc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURh
dGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmg6CisKIDIwMTktMTAtMjIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBub3QgaW5jbHVkZSBJUEMgTWVzc2Fn
ZXMgaGVhZGVycyBpbiBvdGhlciBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcApp
bmRleCBmMWJjZTA3MDEwODg3YjJhY2Y0MGE2Mzg4MzUzMTVmNWFiNDNlMzEzLi45Y2U0NjhkZGM2
ZDcwYjAzMjNhZmQyOTcyYzUzNTY2YWJiOTNiNTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZS5jcHAKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRl
ICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGb250RmFjZS5oIgotI2luY2x1ZGUgIkZv
bnRWYXJpYW50QnVpbGRlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5
bGVCdWlsZGVyQ29udmVydGVyLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCkBAIC0y
NzgsMTQ3ICsyNzcsNiBAQCBib29sIENTU0ZvbnRGYWNlOjpzZXRVbmljb2RlUmFuZ2UoQ1NTVmFs
dWUmIHVuaWNvZGVSYW5nZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDU1NGb250RmFj
ZTo6c2V0VmFyaWFudExpZ2F0dXJlcyhDU1NWYWx1ZSYgdmFyaWFudExpZ2F0dXJlcykKLXsKLSAg
ICBhdXRvIGxpZ2F0dXJlcyA9IGV4dHJhY3RGb250VmFyaWFudExpZ2F0dXJlcyh2YXJpYW50TGln
YXR1cmVzKTsKLQotICAgIGlmIChtX3ZhcmlhbnRTZXR0aW5ncy5jb21tb25MaWdhdHVyZXMgPT0g
bGlnYXR1cmVzLmNvbW1vbkxpZ2F0dXJlcwotICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5k
aXNjcmV0aW9uYXJ5TGlnYXR1cmVzID09IGxpZ2F0dXJlcy5kaXNjcmV0aW9uYXJ5TGlnYXR1cmVz
Ci0gICAgICAgICYmIG1fdmFyaWFudFNldHRpbmdzLmhpc3RvcmljYWxMaWdhdHVyZXMgPT0gbGln
YXR1cmVzLmhpc3RvcmljYWxMaWdhdHVyZXMKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3Mu
Y29udGV4dHVhbEFsdGVybmF0ZXMgPT0gbGlnYXR1cmVzLmNvbnRleHR1YWxBbHRlcm5hdGVzKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fdmFyaWFudFNldHRpbmdzLmNvbW1vbkxpZ2F0
dXJlcyA9IGxpZ2F0dXJlcy5jb21tb25MaWdhdHVyZXM7Ci0gICAgbV92YXJpYW50U2V0dGluZ3Mu
ZGlzY3JldGlvbmFyeUxpZ2F0dXJlcyA9IGxpZ2F0dXJlcy5kaXNjcmV0aW9uYXJ5TGlnYXR1cmVz
OwotICAgIG1fdmFyaWFudFNldHRpbmdzLmhpc3RvcmljYWxMaWdhdHVyZXMgPSBsaWdhdHVyZXMu
aGlzdG9yaWNhbExpZ2F0dXJlczsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5jb250ZXh0dWFsQWx0
ZXJuYXRlcyA9IGxpZ2F0dXJlcy5jb250ZXh0dWFsQWx0ZXJuYXRlczsKLQotICAgIGlmIChtX2Nz
c0Nvbm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRpZXMo
KS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50TGlnYXR1cmVzLCAmdmFyaWFudExp
Z2F0dXJlcyk7Ci0KLSAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNs
aWVudCkgewotICAgICAgICBjbGllbnQuZm9udFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7Ci0gICAg
fSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBDU1NGb250RmFjZTo6c2V0VmFyaWFu
dFBvc2l0aW9uKENTU1ZhbHVlJiB2YXJpYW50UG9zaXRpb24pCi17Ci0gICAgaWYgKCFpczxDU1NQ
cmltaXRpdmVWYWx1ZT4odmFyaWFudFBvc2l0aW9uKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgRm9udFZhcmlhbnRQb3NpdGlvbiBwb3NpdGlvbiA9IGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPih2YXJpYW50UG9zaXRpb24pOwotCi0gICAgaWYgKG1fdmFyaWFudFNldHRpbmdzLnBv
c2l0aW9uID09IHBvc2l0aW9uKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fdmFyaWFu
dFNldHRpbmdzLnBvc2l0aW9uID0gcG9zaXRpb247Ci0KLSAgICBpZiAobV9jc3NDb25uZWN0aW9u
KQotICAgICAgICBtX2Nzc0Nvbm5lY3Rpb24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVy
dHkoQ1NTUHJvcGVydHlGb250VmFyaWFudFBvc2l0aW9uLCAmdmFyaWFudFBvc2l0aW9uKTsKLQot
ICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7Ci0gICAg
ICAgIGNsaWVudC5mb250UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9KTsKLQotICAgIHJl
dHVybiB0cnVlOwotfQotCi1ib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50Q2FwcyhDU1NWYWx1
ZSYgdmFyaWFudENhcHMpCi17Ci0gICAgaWYgKCFpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFyaWFu
dENhcHMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBGb250VmFyaWFudENhcHMgY2Fw
cyA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YXJpYW50Q2Fwcyk7Ci0KLSAgICBpZiAo
bV92YXJpYW50U2V0dGluZ3MuY2FwcyA9PSBjYXBzKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQot
ICAgIG1fdmFyaWFudFNldHRpbmdzLmNhcHMgPSBjYXBzOwotCi0gICAgaWYgKG1fY3NzQ29ubmVj
dGlvbikKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFBy
b3BlcnR5KENTU1Byb3BlcnR5Rm9udFZhcmlhbnRDYXBzLCAmdmFyaWFudENhcHMpOwotCi0gICAg
aXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKLSAgICAgICAg
Y2xpZW50LmZvbnRQcm9wZXJ0eUNoYW5nZWQoKnRoaXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KLWJvb2wgQ1NTRm9udEZhY2U6OnNldFZhcmlhbnROdW1lcmljKENTU1ZhbHVl
JiB2YXJpYW50TnVtZXJpYykKLXsKLSAgICBhdXRvIG51bWVyaWMgPSBleHRyYWN0Rm9udFZhcmlh
bnROdW1lcmljKHZhcmlhbnROdW1lcmljKTsKLQotICAgIGlmIChtX3ZhcmlhbnRTZXR0aW5ncy5u
dW1lcmljRmlndXJlID09IG51bWVyaWMuZmlndXJlCi0gICAgICAgICYmIG1fdmFyaWFudFNldHRp
bmdzLm51bWVyaWNTcGFjaW5nID09IG51bWVyaWMuc3BhY2luZwotICAgICAgICAmJiBtX3Zhcmlh
bnRTZXR0aW5ncy5udW1lcmljRnJhY3Rpb24gPT0gbnVtZXJpYy5mcmFjdGlvbgotICAgICAgICAm
JiBtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmljT3JkaW5hbCA9PSBudW1lcmljLm9yZGluYWwKLSAg
ICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3MubnVtZXJpY1NsYXNoZWRaZXJvID09IG51bWVyaWMu
c2xhc2hlZFplcm8pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgbV92YXJpYW50U2V0dGlu
Z3MubnVtZXJpY0ZpZ3VyZSA9IG51bWVyaWMuZmlndXJlOwotICAgIG1fdmFyaWFudFNldHRpbmdz
Lm51bWVyaWNTcGFjaW5nID0gbnVtZXJpYy5zcGFjaW5nOwotICAgIG1fdmFyaWFudFNldHRpbmdz
Lm51bWVyaWNGcmFjdGlvbiA9IG51bWVyaWMuZnJhY3Rpb247Ci0gICAgbV92YXJpYW50U2V0dGlu
Z3MubnVtZXJpY09yZGluYWwgPSBudW1lcmljLm9yZGluYWw7Ci0gICAgbV92YXJpYW50U2V0dGlu
Z3MubnVtZXJpY1NsYXNoZWRaZXJvID0gbnVtZXJpYy5zbGFzaGVkWmVybzsKLQotICAgIGlmICht
X2Nzc0Nvbm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRp
ZXMoKS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50TnVtZXJpYywgJnZhcmlhbnRO
dW1lcmljKTsKLQotICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xp
ZW50KSB7Ci0gICAgICAgIGNsaWVudC5mb250UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9
KTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50
QWx0ZXJuYXRlcyhDU1NWYWx1ZSYgdmFyaWFudEFsdGVybmF0ZXMpCi17Ci0gICAgaWYgKCFpczxD
U1NQcmltaXRpdmVWYWx1ZT4odmFyaWFudEFsdGVybmF0ZXMpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBGb250VmFyaWFudEFsdGVybmF0ZXMgYWx0ZXJuYXRlcyA9IGRvd25jYXN0PENT
U1ByaW1pdGl2ZVZhbHVlPih2YXJpYW50QWx0ZXJuYXRlcyk7Ci0KLSAgICBpZiAobV92YXJpYW50
U2V0dGluZ3MuYWx0ZXJuYXRlcyA9PSBhbHRlcm5hdGVzKQotICAgICAgICByZXR1cm4gdHJ1ZTsK
LQotICAgIG1fdmFyaWFudFNldHRpbmdzLmFsdGVybmF0ZXMgPSBhbHRlcm5hdGVzOwotCi0gICAg
aWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uLT5tdXRhYmxlUHJv
cGVydGllcygpLnNldFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFZhcmlhbnRBbHRlcm5hdGVzLCAm
dmFyaWFudEFsdGVybmF0ZXMpOwotCi0gICAgaXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0o
Q2xpZW50JiBjbGllbnQpIHsKLSAgICAgICAgY2xpZW50LmZvbnRQcm9wZXJ0eUNoYW5nZWQoKnRo
aXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgQ1NTRm9udEZhY2U6
OnNldFZhcmlhbnRFYXN0QXNpYW4oQ1NTVmFsdWUmIHZhcmlhbnRFYXN0QXNpYW4pCi17Ci0gICAg
YXV0byBlYXN0QXNpYW4gPSBleHRyYWN0Rm9udFZhcmlhbnRFYXN0QXNpYW4odmFyaWFudEVhc3RB
c2lhbik7Ci0KLSAgICBpZiAobV92YXJpYW50U2V0dGluZ3MuZWFzdEFzaWFuVmFyaWFudCA9PSBl
YXN0QXNpYW4udmFyaWFudAotICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0QXNpYW5X
aWR0aCA9PSBlYXN0QXNpYW4ud2lkdGgKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3MuZWFz
dEFzaWFuUnVieSA9PSBlYXN0QXNpYW4ucnVieSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAg
ICBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0QXNpYW5WYXJpYW50ID0gZWFzdEFzaWFuLnZhcmlhbnQ7
Ci0gICAgbV92YXJpYW50U2V0dGluZ3MuZWFzdEFzaWFuV2lkdGggPSBlYXN0QXNpYW4ud2lkdGg7
Ci0gICAgbV92YXJpYW50U2V0dGluZ3MuZWFzdEFzaWFuUnVieSA9IGVhc3RBc2lhbi5ydWJ5Owot
Ci0gICAgaWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uLT5tdXRh
YmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFZhcmlhbnRFYXN0QXNp
YW4sICZ2YXJpYW50RWFzdEFzaWFuKTsKLQotICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywg
WyZdKENsaWVudCYgY2xpZW50KSB7Ci0gICAgICAgIGNsaWVudC5mb250UHJvcGVydHlDaGFuZ2Vk
KCp0aGlzKTsKLSAgICB9KTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIENTU0ZvbnRG
YWNlOjpzZXRGZWF0dXJlU2V0dGluZ3MoQ1NTVmFsdWUmIGZlYXR1cmVTZXR0aW5ncykKIHsKICAg
ICAvLyBDYW4gb25seSBjYWxsIHRoaXMgd2l0aCBhIHByaW1pdGl2ZSB2YWx1ZSBvZiBub3JtYWws
IG9yIGEgdmFsdWUgbGlzdCBjb250YWluaW5nIGZvbnQgZmVhdHVyZSB2YWx1ZXMuCkBAIC04MTMs
NyArNjcxLDcgQEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlOjpmb250KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIHN5bnQKICAgICAgICAgICAgIHJldHVybiBG
b250OjpjcmVhdGUoRm9udENhY2hlOjpzaW5nbGV0b24oKS5sYXN0UmVzb3J0RmFsbGJhY2tGb250
KGZvbnREZXNjcmlwdGlvbiktPnBsYXRmb3JtRGF0YSgpLCBGb250OjpPcmlnaW46OkxvY2FsLCBG
b250OjpJbnRlcnN0aXRpYWw6OlllcywgdmlzaWJpbGl0eSk7CiAgICAgICAgIH0KICAgICAgICAg
Y2FzZSBDU1NGb250RmFjZVNvdXJjZTo6U3RhdHVzOjpTdWNjZXNzOgotICAgICAgICAgICAgaWYg
KFJlZlB0cjxGb250PiByZXN1bHQgPSBzb3VyY2UtPmZvbnQoZm9udERlc2NyaXB0aW9uLCBzeW50
aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIG1fZmVhdHVyZVNldHRpbmdzLCBtX3ZhcmlhbnRT
ZXR0aW5ncywgbV9mb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzKSkKKyAgICAgICAgICAgIGlmIChS
ZWZQdHI8Rm9udD4gcmVzdWx0ID0gc291cmNlLT5mb250KGZvbnREZXNjcmlwdGlvbiwgc3ludGhl
dGljQm9sZCwgc3ludGhldGljSXRhbGljLCBtX2ZlYXR1cmVTZXR0aW5ncywgbV9mb250U2VsZWN0
aW9uQ2FwYWJpbGl0aWVzKSkKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTRm9udEZhY2VTb3VyY2U6OlN0YXR1czo6RmFp
bHVyZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKaW5kZXggNzcxNDMwMGFjZmMyNTM5OTEzNDhm
NWZhYTFjMmI3NTIzNWYyNjM0YS4uODU5OTdhZGQyMDllYzEzN2U3NTRjMTI0ZTgwMzc1NTFhNWM1
NDdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKQEAgLTY5LDEyICs2OSw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFdlaWdodChDU1NWYWx1ZSYpOwogICAgIHZvaWQgc2V0U3RyZXRjaChD
U1NWYWx1ZSYpOwogICAgIGJvb2wgc2V0VW5pY29kZVJhbmdlKENTU1ZhbHVlJik7Ci0gICAgYm9v
bCBzZXRWYXJpYW50TGlnYXR1cmVzKENTU1ZhbHVlJik7Ci0gICAgYm9vbCBzZXRWYXJpYW50UG9z
aXRpb24oQ1NTVmFsdWUmKTsKLSAgICBib29sIHNldFZhcmlhbnRDYXBzKENTU1ZhbHVlJik7Ci0g
ICAgYm9vbCBzZXRWYXJpYW50TnVtZXJpYyhDU1NWYWx1ZSYpOwotICAgIGJvb2wgc2V0VmFyaWFu
dEFsdGVybmF0ZXMoQ1NTVmFsdWUmKTsKLSAgICBib29sIHNldFZhcmlhbnRFYXN0QXNpYW4oQ1NT
VmFsdWUmKTsKICAgICB2b2lkIHNldEZlYXR1cmVTZXR0aW5ncyhDU1NWYWx1ZSYpOwogICAgIHZv
aWQgc2V0TG9hZGluZ0JlaGF2aW9yKENTU1ZhbHVlJik7CiAKQEAgLTg3LDkgKzgxLDcgQEAgcHVi
bGljOgogICAgIEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMgZm9udFNlbGVjdGlvbkNhcGFiaWxp
dGllcygpIGNvbnN0IHsgcmV0dXJuIG1fZm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcy5jb21wdXRl
Rm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcygpOyB9CiAgICAgY29uc3QgVmVjdG9yPFVuaWNvZGVS
YW5nZT4mIHJhbmdlcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFuZ2VzOyB9CiAgICAgY29uc3QgRm9u
dEZlYXR1cmVTZXR0aW5ncyYgZmVhdHVyZVNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0
dXJlU2V0dGluZ3M7IH0KLSAgICBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiB2YXJpYW50U2V0
dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhbnRTZXR0aW5nczsgfQogICAgIEZvbnRMb2Fk
aW5nQmVoYXZpb3IgbG9hZGluZ0JlaGF2aW9yKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkaW5nQmVo
YXZpb3I7IH0KLSAgICB2b2lkIHNldFZhcmlhbnRTZXR0aW5ncyhjb25zdCBGb250VmFyaWFudFNl
dHRpbmdzJiB2YXJpYW50U2V0dGluZ3MpIHsgbV92YXJpYW50U2V0dGluZ3MgPSB2YXJpYW50U2V0
dGluZ3M7IH0KICAgICB2b2lkIHNldFdlaWdodChGb250U2VsZWN0aW9uUmFuZ2Ugd2VpZ2h0KSB7
IG1fZm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcy53ZWlnaHQgPSB3ZWlnaHQ7IH0KICAgICB2b2lk
IHNldFN0cmV0Y2goRm9udFNlbGVjdGlvblJhbmdlIHN0cmV0Y2gpIHsgbV9mb250U2VsZWN0aW9u
Q2FwYWJpbGl0aWVzLndpZHRoID0gc3RyZXRjaDsgfQogICAgIHZvaWQgc2V0U3R5bGUoRm9udFNl
bGVjdGlvblJhbmdlIGl0YWxpYykgeyBtX2ZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMuc2xvcGUg
PSBpdGFsaWM7IH0KQEAgLTE4NSw3ICsxNzcsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxVbmlj
b2RlUmFuZ2U+IG1fcmFuZ2VzOwogCiAgICAgRm9udEZlYXR1cmVTZXR0aW5ncyBtX2ZlYXR1cmVT
ZXR0aW5nczsKLSAgICBGb250VmFyaWFudFNldHRpbmdzIG1fdmFyaWFudFNldHRpbmdzOwogICAg
IEZvbnRMb2FkaW5nQmVoYXZpb3IgbV9sb2FkaW5nQmVoYXZpb3IgeyBGb250TG9hZGluZ0JlaGF2
aW9yOjpBdXRvIH07CiAKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENTU0ZvbnRGYWNlU291
cmNlPiwgMCwgQ3Jhc2hPbk92ZXJmbG93LCAwPiBtX3NvdXJjZXM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU291cmNlLmNwcAppbmRleCA4ODAyNjA2ZmMzN2Q4YzQ5NDBhZjBiOTZkZTgz
M2NiYzY5N2U1MzY1Li5mNDI3ZmZiYWQ3MjNmOGJmNWViODgyOTdkZDg5MTUzZDczMGFkZjZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKQEAgLTE3OSw3ICsxNzks
NyBAQCB2b2lkIENTU0ZvbnRGYWNlU291cmNlOjpsb2FkKENTU0ZvbnRTZWxlY3RvciogZm9udFNl
bGVjdG9yKQogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldE9uZUZhbWlseShtX2ZhbWls
eU5hbWVPclVSSSk7CiAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXpl
KDEpOwogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKG1fZmFjZS5hbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKLSAgICAgICAgICAg
IHN1Y2Nlc3MgPSBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2Ny
aXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwgbnVsbHB0ciwgbnVsbHB0ciwgRm9udFNlbGVjdGlv
blNwZWNpZmllZENhcGFiaWxpdGllcygpLCB0cnVlKTsKKyAgICAgICAgICAgIHN1Y2Nlc3MgPSBG
b250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBtX2Zh
bWlseU5hbWVPclVSSSwgbnVsbHB0ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cygpLCB0cnVlKTsKICAgICAgICAgICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLndlYkFQSVN0YXRpc3RpY3NFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAg
ICBpZiAoYXV0byogZG9jdW1lbnQgPSBmb250U2VsZWN0b3ItPmRvY3VtZW50KCkpCiAgICAgICAg
ICAgICAgICAgICAgIFJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWQoKS5sb2dGb250TG9hZCgq
ZG9jdW1lbnQsIG1fZmFtaWx5TmFtZU9yVVJJLnN0cmluZygpLCBzdWNjZXNzKTsKQEAgLTE4OSw3
ICsxODksNyBAQCB2b2lkIENTU0ZvbnRGYWNlU291cmNlOjpsb2FkKENTU0ZvbnRTZWxlY3Rvciog
Zm9udFNlbGVjdG9yKQogICAgIH0KIH0KIAotUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlU291cmNl
Ojpmb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIHN5bnRo
ZXRpY0JvbGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdz
JiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZh
cmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFj
ZUNhcGFiaWxpdGllcykKK1JlZlB0cjxGb250PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25z
dCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VG
ZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFi
aWxpdGllcykKIHsKICAgICBBU1NFUlQoc3RhdHVzKCkgPT0gU3RhdHVzOjpTdWNjZXNzKTsKIApA
QCAtMjAzLDEyICsyMDMsMTIgQEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlU291cmNlOjpmb250
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib28KICAgICAgICAgaWYg
KG1faW1tZWRpYXRlU291cmNlKSB7CiAgICAgICAgICAgICBpZiAoIW1faW1tZWRpYXRlRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAg
ICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1
c3RvbURhdGEoKm1faW1tZWRpYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YSwgZm9udERlc2NyaXB0
aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZv
bnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZvbnQ6Ok9yaWdp
bjo6UmVtb3RlKTsKKyAgICAgICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoQ2FjaGVkRm9udDo6
cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoKm1faW1tZWRpYXRlRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSwgZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZv
bnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKSwgRm9udDo6T3JpZ2luOjpSZW1v
dGUpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gV2UncmUgbG9jYWwuIEp1c3QgcmV0dXJuIGEg
Rm9udCBmcm9tIHRoZSBub3JtYWwgY2FjaGUuCiAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8g
Y2hlY2sgYWx0ZXJuYXRlIGZvbnQgZmFtaWx5IG5hbWVzIGhlcmUsIHNvIHBhc3MgdHJ1ZSBhcyB0
aGUgY2hlY2tpbmdBbHRlcm5hdGVOYW1lIHBhcmFtZXRlci4KLSAgICAgICAgcmV0dXJuIEZvbnRD
YWNoZTo6c2luZ2xldG9uKCkuZm9udEZvckZhbWlseShmb250RGVzY3JpcHRpb24sIG1fZmFtaWx5
TmFtZU9yVVJJLCAmZm9udEZhY2VGZWF0dXJlcywgJmZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBm
b250RmFjZUNhcGFiaWxpdGllcywgdHJ1ZSk7CisgICAgICAgIHJldHVybiBGb250Q2FjaGU6OnNp
bmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVPclVS
SSwgJmZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCB0cnVlKTsKICAgICB9
CiAKICAgICBpZiAobV9mb250KSB7CkBAIC0yMTYsNyArMjE2LDcgQEAgUmVmUHRyPEZvbnQ+IENT
U0ZvbnRGYWNlU291cmNlOjpmb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0
aW9uLCBib28KICAgICAgICAgQVNTRVJUX1VOVVNFRChzdWNjZXNzLCBzdWNjZXNzKTsKIAogICAg
ICAgICBBU1NFUlQoc3RhdHVzKCkgPT0gU3RhdHVzOjpTdWNjZXNzKTsKLSAgICAgICAgYXV0byBy
ZXN1bHQgPSBtX2ZvbnQtPmNyZWF0ZUZvbnQoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVP
clVSSSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBm
b250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgICAgICBh
dXRvIHJlc3VsdCA9IG1fZm9udC0+Y3JlYXRlRm9udChmb250RGVzY3JpcHRpb24sIG1fZmFtaWx5
TmFtZU9yVVJJLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVy
ZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKICAgICAgICAgQVNTRVJUKHJlc3VsdCk7CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpAQCAtMjI5LDcgKzIyOSw3IEBAIFJlZlB0cjxGb250
PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgYm9vCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghbV9pbkRvY3Vt
ZW50Q3VzdG9tUGxhdGZvcm1EYXRhKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICByZXR1
cm4gRm9udDo6Y3JlYXRlKG1faW5Eb2N1bWVudEN1c3RvbVBsYXRmb3JtRGF0YS0+Zm9udFBsYXRm
b3JtRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywg
Zm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJp
bGl0aWVzKSwgRm9udDo6T3JpZ2luOjpSZW1vdGUpOworICAgIHJldHVybiBGb250OjpjcmVhdGUo
bV9pbkRvY3VtZW50Q3VzdG9tUGxhdGZvcm1EYXRhLT5mb250UGxhdGZvcm1EYXRhKGZvbnREZXNj
cmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVz
LCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZvbnQ6Ok9yaWdpbjo6UmVtb3RlKTsKICNlbmRpZgog
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNv
dXJjZS5oCmluZGV4IDI5MWIyNDgwOTI2MzdmY2I0Yzc3MDhmNDUzNzc3NjA5MThlZDRkMzUuLmU0
YTJlZDk2ODYyMjE3OGE4OTkyN2EzZTJlYzNiOTk1YzY4ZjI5NTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNvdXJjZS5oCkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IG9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmcoQ1NTRm9udFNlbGVjdG9y
Jik7CiAKICAgICB2b2lkIGxvYWQoQ1NTRm9udFNlbGVjdG9yKik7Ci0gICAgUmVmUHRyPEZvbnQ+
IGZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5
bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJp
YW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICBS
ZWZQdHI8Rm9udD4gZm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIHN5bnRoZXRpY0Jv
bGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7CiAKICAgICBib29sIHJlcXVpcmVzRXh0
ZXJuYWxSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udDsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDVlYjhiYTQ0NGQxNzdkYjc0MGU0NzhhOWQwNjQ2
NjcwZDJkMTU2YTQuLjY2ZWQ0MjgxN2RmM2ZhMDdmMzQ0NWMyMjZhMGRjMGU1ZDNiZTNiYjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCkBAIC0xNjMsMTIgKzE2Myw2IEBA
IHZvaWQgQ1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2Um
IGZvbnRGYWNlUnVsZSwgYm9vbCBpc0luCiAgICAgUmVmUHRyPENTU1ZhbHVlPiBzcmMgPSBzdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5U3JjKTsKICAgICBSZWZQdHI8Q1NTVmFs
dWU+IHVuaWNvZGVSYW5nZSA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlV
bmljb2RlUmFuZ2UpOwogICAgIFJlZlB0cjxDU1NWYWx1ZT4gZmVhdHVyZVNldHRpbmdzID0gc3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRGZWF0dXJlU2V0dGluZ3MpOwot
ICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFyaWFudExpZ2F0dXJlcyA9IHN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJlcyk7Ci0gICAgUmVmUHRyPENT
U1ZhbHVlPiB2YXJpYW50UG9zaXRpb24gPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1By
b3BlcnR5Rm9udFZhcmlhbnRQb3NpdGlvbik7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2YXJpYW50
Q2FwcyA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudENh
cHMpOwotICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFyaWFudE51bWVyaWMgPSBzdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnROdW1lcmljKTsKLSAgICBSZWZQdHI8
Q1NTVmFsdWU+IHZhcmlhbnRBbHRlcm5hdGVzID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShD
U1NQcm9wZXJ0eUZvbnRWYXJpYW50QWx0ZXJuYXRlcyk7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2
YXJpYW50RWFzdEFzaWFuID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZv
bnRWYXJpYW50RWFzdEFzaWFuKTsKICAgICBSZWZQdHI8Q1NTVmFsdWU+IGxvYWRpbmdCZWhhdmlv
ciA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250RGlzcGxheSk7CiAg
ICAgaWYgKCFpczxDU1NWYWx1ZUxpc3Q+KGZvbnRGYW1pbHkpIHx8ICFpczxDU1NWYWx1ZUxpc3Q+
KHNyYykgfHwgKHVuaWNvZGVSYW5nZSAmJiAhaXM8Q1NTVmFsdWVMaXN0PigqdW5pY29kZVJhbmdl
KSkpCiAgICAgICAgIHJldHVybjsKQEAgLTE5NiwxOCArMTkwLDYgQEAgdm9pZCBDU1NGb250U2Vs
ZWN0b3I6OmFkZEZvbnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSYgZm9udEZhY2VSdWxlLCBi
b29sIGlzSW4KICAgICAgICAgZm9udEZhY2UtPnNldFN0cmV0Y2goKmZvbnRTdHJldGNoKTsKICAg
ICBpZiAocmFuZ2VMaXN0ICYmICFmb250RmFjZS0+c2V0VW5pY29kZVJhbmdlKCpyYW5nZUxpc3Qp
KQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKHZhcmlhbnRMaWdhdHVyZXMgJiYgIWZvbnRGYWNl
LT5zZXRWYXJpYW50TGlnYXR1cmVzKCp2YXJpYW50TGlnYXR1cmVzKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIGlmICh2YXJpYW50UG9zaXRpb24gJiYgIWZvbnRGYWNlLT5zZXRWYXJpYW50UG9zaXRp
b24oKnZhcmlhbnRQb3NpdGlvbikpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAodmFyaWFudENh
cHMgJiYgIWZvbnRGYWNlLT5zZXRWYXJpYW50Q2FwcygqdmFyaWFudENhcHMpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKHZhcmlhbnROdW1lcmljICYmICFmb250RmFjZS0+c2V0VmFyaWFudE51
bWVyaWMoKnZhcmlhbnROdW1lcmljKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICh2YXJpYW50
QWx0ZXJuYXRlcyAmJiAhZm9udEZhY2UtPnNldFZhcmlhbnRBbHRlcm5hdGVzKCp2YXJpYW50QWx0
ZXJuYXRlcykpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAodmFyaWFudEVhc3RBc2lhbiAmJiAh
Zm9udEZhY2UtPnNldFZhcmlhbnRFYXN0QXNpYW4oKnZhcmlhbnRFYXN0QXNpYW4pKQotICAgICAg
ICByZXR1cm47CiAgICAgaWYgKGZlYXR1cmVTZXR0aW5ncykKICAgICAgICAgZm9udEZhY2UtPnNl
dEZlYXR1cmVTZXR0aW5ncygqZmVhdHVyZVNldHRpbmdzKTsKICAgICBpZiAobG9hZGluZ0JlaGF2
aW9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKaW5kZXggYTJlOTNlOGVkY2E5NWZhMmRlYTYyODM5
MTVjYmVlMDk5NTUwZWI0OS4uNDk1YzBjZDIxMjY0NjY0YzZhMzdhY2FhOGZjNDA1Njg5NGE0YWFh
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAi
Q1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKLSNpbmNsdWRlICJGb250VmFyaWFudEJ1aWxkZXIuaCIKICNpbmNsdWRlICJK
U0ZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiUXVpcmtzLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0
aWVzLmgiCkBAIC0xMDEsOSArMTAwLDYgQEAgRXhjZXB0aW9uT3I8UmVmPEZvbnRGYWNlPj4gRm9u
dEZhY2U6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZmEKICAgICBh
dXRvIHNldFVuaWNvZGVSYW5nZVJlc3VsdCA9IHJlc3VsdC0+c2V0VW5pY29kZVJhbmdlKGRlc2Ny
aXB0b3JzLnVuaWNvZGVSYW5nZS5pc0VtcHR5KCkgPyAiVSswLTEwRkZGRiJfcyA6IGRlc2NyaXB0
b3JzLnVuaWNvZGVSYW5nZSk7CiAgICAgaWYgKHNldFVuaWNvZGVSYW5nZVJlc3VsdC5oYXNFeGNl
cHRpb24oKSkKICAgICAgICAgcmV0dXJuIHNldFVuaWNvZGVSYW5nZVJlc3VsdC5yZWxlYXNlRXhj
ZXB0aW9uKCk7Ci0gICAgYXV0byBzZXRWYXJpYW50UmVzdWx0ID0gcmVzdWx0LT5zZXRWYXJpYW50
KGRlc2NyaXB0b3JzLnZhcmlhbnQuaXNFbXB0eSgpID8gIm5vcm1hbCJfcyA6IGRlc2NyaXB0b3Jz
LnZhcmlhbnQpOwotICAgIGlmIChzZXRWYXJpYW50UmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQotICAg
ICAgICByZXR1cm4gc2V0VmFyaWFudFJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgYXV0
byBzZXRGZWF0dXJlU2V0dGluZ3NSZXN1bHQgPSByZXN1bHQtPnNldEZlYXR1cmVTZXR0aW5ncyhk
ZXNjcmlwdG9ycy5mZWF0dXJlU2V0dGluZ3MuaXNFbXB0eSgpID8gIm5vcm1hbCJfcyA6IGRlc2Ny
aXB0b3JzLmZlYXR1cmVTZXR0aW5ncyk7CiAgICAgaWYgKHNldEZlYXR1cmVTZXR0aW5nc1Jlc3Vs
dC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIHNldEZlYXR1cmVTZXR0aW5nc1Jlc3Vs
dC5yZWxlYXNlRXhjZXB0aW9uKCk7CkBAIC0yMTgsNjEgKzIxNCw2IEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IEZvbnRGYWNlOjpzZXRVbmljb2RlUmFuZ2UoY29uc3QgU3RyaW5nJiB1bmljb2RlUmFuZ2Up
CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gRm9udEZhY2U6OnNldFZh
cmlhbnQoY29uc3QgU3RyaW5nJiB2YXJpYW50KQotewotICAgIGlmICh2YXJpYW50LmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07Ci0KLSAgICBhdXRv
IHN0eWxlID0gTXV0YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7Ci0gICAgYXV0byByZXN1
bHQgPSBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoc3R5bGUsIENTU1Byb3BlcnR5Rm9udFZhcmlhbnQs
IHZhcmlhbnQsIHRydWUsIEhUTUxTdGFuZGFyZE1vZGUpOwotICAgIGlmIChyZXN1bHQgPT0gQ1NT
UGFyc2VyOjpQYXJzZVJlc3VsdDo6RXJyb3IpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBT
eW50YXhFcnJvciB9OwotCi0gICAgLy8gRklYTUU6IFdvdWxkIGJlIG11Y2ggYmV0dGVyIHRvIHN0
YWdlIHRoZSBuZXcgc2V0dGluZ3MgYW5kIHNldCB0aGVtIGFsbCBhdCBvbmNlCi0gICAgLy8gaW5z
dGVhZCBvZiB0aGlzIGRhbmNlIHdoZXJlIHdlIG1ha2UgYSBiYWNrdXAgYW5kIHJldmVydCB0byBp
dCBpZiBzb21ldGhpbmcgZmFpbHMuCi0gICAgRm9udFZhcmlhbnRTZXR0aW5ncyBiYWNrdXAgPSBt
X2JhY2tpbmctPnZhcmlhbnRTZXR0aW5ncygpOwotCi0gICAgYXV0byBub3JtYWwgPSBDU1NWYWx1
ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCk7
Ci0gICAgYm9vbCBzdWNjZXNzID0gdHJ1ZTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUt
PmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJlcykpCi0g
ICAgICAgIHN1Y2Nlc3MgJj0gbV9iYWNraW5nLT5zZXRWYXJpYW50TGlnYXR1cmVzKCp2YWx1ZSk7
Ci0gICAgZWxzZQotICAgICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRMaWdhdHVyZXMobm9ybWFs
KTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NT
UHJvcGVydHlGb250VmFyaWFudFBvc2l0aW9uKSkKLSAgICAgICAgc3VjY2VzcyAmPSBtX2JhY2tp
bmctPnNldFZhcmlhbnRQb3NpdGlvbigqdmFsdWUpOwotICAgIGVsc2UKLSAgICAgICAgbV9iYWNr
aW5nLT5zZXRWYXJpYW50UG9zaXRpb24obm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0g
c3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudENhcHMpKQot
ICAgICAgICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFyaWFudENhcHMoKnZhbHVlKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFyaWFudENhcHMobm9ybWFsKTsKLQotICAg
IGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlG
b250VmFyaWFudE51bWVyaWMpKQotICAgICAgICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFy
aWFudE51bWVyaWMoKnZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFy
aWFudE51bWVyaWMobm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFBy
b3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudEFsdGVybmF0ZXMpKQotICAgICAg
ICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFyaWFudEFsdGVybmF0ZXMoKnZhbHVlKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFyaWFudEFsdGVybmF0ZXMobm9ybWFsKTsK
LQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJv
cGVydHlGb250VmFyaWFudEVhc3RBc2lhbikpCi0gICAgICAgIHN1Y2Nlc3MgJj0gbV9iYWNraW5n
LT5zZXRWYXJpYW50RWFzdEFzaWFuKCp2YWx1ZSk7Ci0gICAgZWxzZQotICAgICAgICBtX2JhY2tp
bmctPnNldFZhcmlhbnRFYXN0QXNpYW4obm9ybWFsKTsKLQotICAgIGlmICghc3VjY2Vzcykgewot
ICAgICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRTZXR0aW5ncyhiYWNrdXApOwotICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IgfTsKLSAgICB9Ci0KLSAgICByZXR1cm4geyB9
OwotfQotCiBFeGNlcHRpb25Pcjx2b2lkPiBGb250RmFjZTo6c2V0RmVhdHVyZVNldHRpbmdzKGNv
bnN0IFN0cmluZyYgZmVhdHVyZVNldHRpbmdzKQogewogICAgIGlmIChmZWF0dXJlU2V0dGluZ3Mu
aXNFbXB0eSgpKQpAQCAtNDAyLDEyICszNDMsNiBAQCBTdHJpbmcgRm9udEZhY2U6OnVuaWNvZGVS
YW5nZSgpIGNvbnN0CiAgICAgcmV0dXJuIHZhbHVlcy0+Y3NzVGV4dCgpOwogfQogCi1TdHJpbmcg
Rm9udEZhY2U6OnZhcmlhbnQoKSBjb25zdAotewotICAgIG1fYmFja2luZy0+dXBkYXRlU3R5bGVJ
Zk5lZWRlZCgpOwotICAgIHJldHVybiBjb21wdXRlRm9udFZhcmlhbnQobV9iYWNraW5nLT52YXJp
YW50U2V0dGluZ3MoKSktPmNzc1RleHQoKTsKLX0KLQogU3RyaW5nIEZvbnRGYWNlOjpmZWF0dXJl
U2V0dGluZ3MoKSBjb25zdAogewogICAgIG1fYmFja2luZy0+dXBkYXRlU3R5bGVJZk5lZWRlZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZhY2UuaAppbmRleCBkYzdiMWFjNjliYzUwMzIzYjc3NmU5ZTFlZDg4MDJh
NGFjMTFhMGU3Li5jYmVkYTVjNjQ0YWQwN2I2MTc4NGFmYWI4ZWFlYTM1OWVmMDBhYmU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udEZhY2UuaApAQCAtNDgsNyArNDgsNiBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmlu
ZyB3ZWlnaHQ7CiAgICAgICAgIFN0cmluZyBzdHJldGNoOwogICAgICAgICBTdHJpbmcgdW5pY29k
ZVJhbmdlOwotICAgICAgICBTdHJpbmcgdmFyaWFudDsKICAgICAgICAgU3RyaW5nIGZlYXR1cmVT
ZXR0aW5nczsKICAgICAgICAgU3RyaW5nIGRpc3BsYXk7CiAgICAgfTsKQEAgLTYzLDcgKzYyLDYg
QEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFdlaWdodChjb25zdCBTdHJpbmcm
KTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRTdHJldGNoKGNvbnN0IFN0cmluZyYpOwogICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFVuaWNvZGVSYW5nZShjb25zdCBTdHJpbmcmKTsKLSAgICBF
eGNlcHRpb25Pcjx2b2lkPiBzZXRWYXJpYW50KGNvbnN0IFN0cmluZyYpOwogICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldEZlYXR1cmVTZXR0aW5ncyhjb25zdCBTdHJpbmcmKTsKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzZXREaXNwbGF5KGNvbnN0IFN0cmluZyYpOwogCkBAIC03Miw3ICs3MCw2IEBA
IHB1YmxpYzoKICAgICBTdHJpbmcgd2VpZ2h0KCkgY29uc3Q7CiAgICAgU3RyaW5nIHN0cmV0Y2go
KSBjb25zdDsKICAgICBTdHJpbmcgdW5pY29kZVJhbmdlKCkgY29uc3Q7Ci0gICAgU3RyaW5nIHZh
cmlhbnQoKSBjb25zdDsKICAgICBTdHJpbmcgZmVhdHVyZVNldHRpbmdzKCkgY29uc3Q7CiAgICAg
U3RyaW5nIGRpc3BsYXkoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0ZvbnRGYWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5pZGwKaW5kZXggMjAw
MmQzMzhmMzA3MGVkOTNmMmIzMzg2ZmYzZjA4Y2ZlMDBmNDJlNy4uMmNiYzA3ZTZlYzkwMzNlNjk5
NzgxMTZmNjdmNmI1ZDMxN2FlZmNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRGYWNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaWRsCkBAIC0zNyw3
ICszNyw2IEBAIGRpY3Rpb25hcnkgRm9udEZhY2VEZXNjcmlwdG9ycyB7CiAgICAgRE9NU3RyaW5n
IHdlaWdodCA9ICJub3JtYWwiOwogICAgIERPTVN0cmluZyBzdHJldGNoID0gIm5vcm1hbCI7CiAg
ICAgRE9NU3RyaW5nIHVuaWNvZGVSYW5nZSA9ICJVKzAtMTBGRkZGIjsKLSAgICBET01TdHJpbmcg
dmFyaWFudCA9ICJub3JtYWwiOwogICAgIERPTVN0cmluZyBmZWF0dXJlU2V0dGluZ3MgPSAibm9y
bWFsIjsKICAgICBET01TdHJpbmcgZGlzcGxheSA9ICJhdXRvIjsKIH07CkBAIC01Miw3ICs1MSw2
IEBAIGRpY3Rpb25hcnkgRm9udEZhY2VEZXNjcmlwdG9ycyB7CiAgICAgYXR0cmlidXRlIERPTVN0
cmluZyB3ZWlnaHQ7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJldGNoOwogICAgIGF0dHJp
YnV0ZSBET01TdHJpbmcgdW5pY29kZVJhbmdlOwotICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFy
aWFudDsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZlYXR1cmVTZXR0aW5nczsKICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGRpc3BsYXk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRGb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRGb250LmNwcAppbmRleCAwODUxNTA4NTRhNzUyMjE5OTU3YzAyOWY0ODEyNDY5ODg1MjRi
OGMyLi4zZjQ2OTljZjgzMjk4ZjA0ZTI3NGFlMDBlZjk1YTU1NDc1YTY1ZjNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCkBAIC0xMjQsMjAgKzEyNCwyMCBA
QCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4gQ2FjaGVkRm9udDo6Y3Jl
YXRlQ3VzdG9tRm9udERhdGEoU2hhcmVkQgogICAgIHJldHVybiBjcmVhdGVGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKGJ5dGVzLCBpdGVtSW5Db2xsZWN0aW9uKTsKIH0KIAotUmVmUHRyPEZvbnQ+IENh
Y2hlZEZvbnQ6OmNyZWF0ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRp
b24sIGNvbnN0IEF0b21TdHJpbmcmLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGlj
SXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVzLCBjb25z
dCBGb250VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKK1JlZlB0cjxG
b250PiBDYWNoZWRGb250OjpjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERl
c2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5
bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJl
cywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGll
cykKIHsKLSAgICByZXR1cm4gRm9udDo6Y3JlYXRlKHBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRh
KGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFj
ZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMp
LCBGb250OjpPcmlnaW46OlJlbW90ZSk7CisgICAgcmV0dXJuIEZvbnQ6OmNyZWF0ZShwbGF0Zm9y
bURhdGFGcm9tQ3VzdG9tRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRo
ZXRpY0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpLCBGb250
OjpPcmlnaW46OlJlbW90ZSk7CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEgQ2FjaGVkRm9udDo6cGxh
dGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3Jp
cHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3Mm
IGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFy
aWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNl
Q2FwYWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFG
cm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9v
bCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VG
ZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFi
aWxpdGllcykKIHsKICAgICBBU1NFUlQobV9mb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKLSAgICBy
ZXR1cm4gcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoKm1fZm9udEN1c3RvbVBsYXRmb3JtRGF0
YSwgZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRG
YWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyk7CisgICAgcmV0dXJuIHBs
YXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKCptX2ZvbnRDdXN0b21QbGF0Zm9ybURhdGEsIGZvbnRE
ZXNjcmlwdGlvbiwgYm9sZCwgaXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFi
aWxpdGllcyk7CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEgQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRh
RnJvbUN1c3RvbURhdGEoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSYgZm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwg
Ym9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMs
IGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorRm9u
dFBsYXRmb3JtRGF0YSBDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShGb250
Q3VzdG9tUGxhdGZvcm1EYXRhJiBmb250Q3VzdG9tUGxhdGZvcm1EYXRhLCBjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNp
ZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKLSAgICByZXR1cm4gZm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5mb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgYm9s
ZCwgaXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9u
dEZhY2VDYXBhYmlsaXRpZXMpOworICAgIHJldHVybiBmb250Q3VzdG9tUGxhdGZvcm1EYXRhLmZv
bnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRGYWNlRmVh
dHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAogdm9pZCBDYWNoZWRGb250OjphbGxD
bGllbnRzUmVtb3ZlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkRm9udC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuaApp
bmRleCA1ODBlOWJlOTI1NjA1Y2IyZWMzYWU3ZTBhODUwY2I5NjY5YmVhODU4Li4xNDU3MmUxY2Ji
MmQ0NTM2NTI2NjU4YTZiNTVkYmYxZWQwYzQyMzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRGb250LmgKQEAgLTUzLDEyICs1MywxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIGJvb2wgZW5zdXJlQ3VzdG9tRm9udERhdGEoY29uc3QgQXRvbVN0cmluZyYgcmVtb3RlVVJJ
KTsKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZvbnRDdXN0b21QbGF0Zm9ybURhdGE+IGNy
ZWF0ZUN1c3RvbUZvbnREYXRhKFNoYXJlZEJ1ZmZlciYsIGNvbnN0IFN0cmluZyYgaXRlbUluQ29s
bGVjdGlvbiwgYm9vbCYgd3JhcHBpbmcpOwotICAgIHN0YXRpYyBGb250UGxhdGZvcm1EYXRhIHBs
YXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEmLCBjb25zdCBG
b250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVy
ZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVj
aWZpZWRDYXBhYmlsaXRpZXMpOworICAgIHN0YXRpYyBGb250UGxhdGZvcm1EYXRhIHBsYXRmb3Jt
RGF0YUZyb21DdXN0b21EYXRhKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEmLCBjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7CiAKLSAgICB2aXJ0dWFs
IFJlZlB0cjxGb250PiBjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0
b21TdHJpbmcmIHJlbW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0
YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGlu
Z3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICB2aXJ0dWFsIFJl
ZlB0cjxGb250PiBjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21T
dHJpbmcmIHJlbW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxp
YywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBh
YmlsaXRpZXMpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgRm9udFBsYXRmb3JtRGF0YSBwbGF0Zm9ybURh
dGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wg
aXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0
aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0
Zm9ybURhdGEgcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiAgICAgYm9vbCBlbnN1cmVDdXN0
b21Gb250RGF0YShTaGFyZWRCdWZmZXIqIGRhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAKaW5kZXggZWQyODhjMWU4Y2EwYzJmMDZmZDA5NDM0
ZGVkMjAzZmE5YTdkNWM1My4uMDEyZDJmMzFmZTFjZTk5YTc3ZTg1NWZjNmVjZWZiODZmMDc2ZGVi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcApA
QCAtNDgsMTcgKzQ4LDE3IEBAIENhY2hlZFNWR0ZvbnQ6OkNhY2hlZFNWR0ZvbnQoQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgUEFMOjpTZXNzaW9uCiB7CiB9CiAKLVJlZlB0
cjxGb250PiBDYWNoZWRTVkdGb250OjpjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiByZW1vdGVVUkksIGJvb2wgc3ludGhl
dGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3Mm
IGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFy
aWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNl
Q2FwYWJpbGl0aWVzKQorUmVmUHRyPEZvbnQ+IENhY2hlZFNWR0ZvbnQ6OmNyZWF0ZUZvbnQoY29u
c3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIHJl
bW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNp
ZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBBU1NFUlQoZmly
c3RGb250RmFjZShyZW1vdGVVUkkpKTsKLSAgICByZXR1cm4gQ2FjaGVkRm9udDo6Y3JlYXRlRm9u
dChmb250RGVzY3JpcHRpb24sIHJlbW90ZVVSSSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRh
bGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VD
YXBhYmlsaXRpZXMpOworICAgIHJldHVybiBDYWNoZWRGb250OjpjcmVhdGVGb250KGZvbnREZXNj
cmlwdGlvbiwgcmVtb3RlVVJJLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRG
YWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAotRm9udFBsYXRmb3JtRGF0
YSBDYWNoZWRTVkdGb250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRT
ZXR0aW5ncyYgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRD
YXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCitGb250UGxhdGZvcm1EYXRhIENhY2hl
ZFNWR0ZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgZm9udERlc2NyaXB0aW9uLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVh
dHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2Fw
YWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogewogICAgIGlmIChtX2V4dGVybmFsU1ZH
RG9jdW1lbnQpCiAgICAgICAgIHJldHVybiBGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlv
bi5jb21wdXRlZFBpeGVsU2l6ZSgpLCBib2xkLCBpdGFsaWMpOwotICAgIHJldHVybiBDYWNoZWRG
b250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShmb250RGVzY3JpcHRpb24sIGJvbGQsIGl0
YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNl
Q2FwYWJpbGl0aWVzKTsKKyAgICByZXR1cm4gQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1
c3RvbURhdGEoZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMs
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAogYm9vbCBDYWNoZWRTVkdGb250OjplbnN1cmVD
dXN0b21Gb250RGF0YShjb25zdCBBdG9tU3RyaW5nJiByZW1vdGVVUkkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQuaAppbmRleCA0MmNmMTM0Nzg5YmYzN2I2MGVl
ODUwYTcxNzhjODUyNTBjNTBkMTExLi5hZmRkZDZkYWZkNjQ3NDMxMTAyYWY3MTVlZGEwZDg2NTY2
M2VhYWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZH
Rm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmgK
QEAgLTM5LDEwICszOSwxMCBAQCBwdWJsaWM6CiAKICAgICBib29sIGVuc3VyZUN1c3RvbUZvbnRE
YXRhKGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVSSSkgb3ZlcnJpZGU7CiAKLSAgICBSZWZQdHI8
Rm9udD4gY3JlYXRlRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5n
JiByZW1vdGVVUkksIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMsIGNv
bnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiwgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcykgb3ZlcnJpZGU7CisgICAgUmVmUHRyPEZv
bnQ+IGNyZWF0ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYg
cmVtb3RlVVJJLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25z
dCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cykgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgRm9udFBsYXRmb3JtRGF0YSBwbGF0Zm9ybURh
dGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wg
aXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0
aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0
Zm9ybURhdGEgcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiAgICAgU1ZHRm9udEVsZW1lbnQq
IGdldFNWR0ZvbnRCeUlkKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCA4MmYwYjYxOTk4YzY5MGM0
ZmQxYzIxODNhNDEwYTkyNjA0ZGQyYTZiLi43ZmNhYTQ0ZDU0YTM4NzQyZjdkZDU4NzQwMDZhYTQz
NzZlMjU4NDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5jcHAKQEAgLTczLDExICs3MywxMCBAQCBzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hl
S2V5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250UGxh
dGZvcm1EYXRhQ2FjaGVLZXkoKSB7IH0KLSAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29u
c3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250
VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNw
ZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKKyAgICBGb250UGxhdGZv
cm1EYXRhQ2FjaGVLZXkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3Jp
cHRpb24mIGRlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZl
YXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJp
bGl0aWVzKQogICAgICAgICA6IG1fZm9udERlc2NyaXB0aW9uS2V5KGRlc2NyaXB0aW9uKQogICAg
ICAgICAsIG1fZmFtaWx5KGZhbWlseSkKICAgICAgICAgLCBtX2ZvbnRGYWNlRmVhdHVyZXMoZm9u
dEZhY2VGZWF0dXJlcyA/ICpmb250RmFjZUZlYXR1cmVzIDogRm9udEZlYXR1cmVTZXR0aW5ncygp
KQotICAgICAgICAsIG1fZm9udEZhY2VWYXJpYW50U2V0dGluZ3MoZm9udEZhY2VWYXJpYW50U2V0
dGluZ3MgPyAqZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgOiBGb250VmFyaWFudFNldHRpbmdzKCkp
CiAgICAgICAgICwgbV9mb250RmFjZUNhcGFiaWxpdGllcyhmb250RmFjZUNhcGFiaWxpdGllcykK
ICAgICB7IH0KIApAQCAtOTEsNyArOTAsNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAo
bV9mb250RGVzY3JpcHRpb25LZXkgIT0gb3RoZXIubV9mb250RGVzY3JpcHRpb25LZXkKICAgICAg
ICAgICAgIHx8IG1fZm9udEZhY2VGZWF0dXJlcyAhPSBvdGhlci5tX2ZvbnRGYWNlRmVhdHVyZXMK
LSAgICAgICAgICAgIHx8IG1fZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgIT0gb3RoZXIubV9mb250
RmFjZVZhcmlhbnRTZXR0aW5ncwogICAgICAgICAgICAgfHwgbV9mb250RmFjZUNhcGFiaWxpdGll
cyAhPSBvdGhlci5tX2ZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICBpZiAobV9mYW1pbHkuaW1wbCgpID09IG90aGVyLm1fZmFtaWx5LmltcGwo
KSkKQEAgLTEwNCw3ICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgRm9udERlc2NyaXB0aW9uS2V5IG1f
Zm9udERlc2NyaXB0aW9uS2V5OwogICAgIEF0b21TdHJpbmcgbV9mYW1pbHk7CiAgICAgRm9udEZl
YXR1cmVTZXR0aW5ncyBtX2ZvbnRGYWNlRmVhdHVyZXM7Ci0gICAgRm9udFZhcmlhbnRTZXR0aW5n
cyBtX2ZvbnRGYWNlVmFyaWFudFNldHRpbmdzOwogICAgIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRD
YXBhYmlsaXRpZXMgbV9mb250RmFjZUNhcGFiaWxpdGllczsKIH07CiAKQEAgLTExNSw3ICsxMTIs
NiBAQCBzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5SGFzaCB7CiAgICAgICAgIGhhc2hl
ci5hZGQoRm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZmFtaWx5TmFtZUhhc2goZm9udEtleS5tX2Zh
bWlseSkpOwogICAgICAgICBoYXNoZXIuYWRkKGZvbnRLZXkubV9mb250RGVzY3JpcHRpb25LZXku
Y29tcHV0ZUhhc2goKSk7CiAgICAgICAgIGhhc2hlci5hZGQoZm9udEtleS5tX2ZvbnRGYWNlRmVh
dHVyZXMuaGFzaCgpKTsKLSAgICAgICAgaGFzaGVyLmFkZChmb250S2V5Lm1fZm9udEZhY2VWYXJp
YW50U2V0dGluZ3MudW5pcXVlVmFsdWUoKSk7CiAgICAgICAgIGlmIChhdXRvIHdlaWdodCA9IGZv
bnRLZXkubV9mb250RmFjZUNhcGFiaWxpdGllcy53ZWlnaHQpCiAgICAgICAgICAgICBoYXNoZXIu
YWRkKHdlaWdodC0+dW5pcXVlVmFsdWUoKSk7CiAgICAgICAgIGVsc2UKQEAgLTIwMCw3ICsxOTYs
NyBAQCBjb25zdCBBdG9tU3RyaW5nJiBGb250Q2FjaGU6OmFsdGVybmF0ZUZhbWlseU5hbWUoY29u
c3QgQXRvbVN0cmluZyYgZmFtaWx5TmFtZSkKIH0KIAogRm9udFBsYXRmb3JtRGF0YSogRm9udENh
Y2hlOjpnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBwYXNzZWRGYW1pbHlOYW1lLAotICAgIGNv
bnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJp
YW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lm
aWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGNoZWNraW5nQWx0ZXJu
YXRlTmFtZSkKKyAgICBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVz
LCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
LCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2soZm9udExvY2spOwpAQCAtMjIyLDE5ICsyMTgs
MTkgQEAgRm9udFBsYXRmb3JtRGF0YSogRm9udENhY2hlOjpnZXRDYWNoZWRGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm8KICAgICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVl
OwogICAgIH0KIAotICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSBrZXkoZmFtaWx5TmFtZSwg
Zm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5n
cywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSBr
ZXkoZmFtaWx5TmFtZSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFj
ZUNhcGFiaWxpdGllcyk7CiAKICAgICBhdXRvIGFkZFJlc3VsdCA9IGZvbnRQbGF0Zm9ybURhdGFD
YWNoZSgpLmFkZChrZXksIG51bGxwdHIpOwogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZTo6aXRl
cmF0b3IgaXQgPSBhZGRSZXN1bHQuaXRlcmF0b3I7CiAgICAgaWYgKGFkZFJlc3VsdC5pc05ld0Vu
dHJ5KSB7Ci0gICAgICAgIGl0LT52YWx1ZSA9IGNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoZm9udERl
c2NyaXB0aW9uLCBmYW1pbHlOYW1lLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRT
ZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgICAgICBpdC0+dmFsdWUgPSBjcmVh
dGVGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5TmFtZSwgZm9udEZhY2VG
ZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogCiAgICAgICAgIGlmICghaXQtPnZhbHVl
ICYmICFjaGVja2luZ0FsdGVybmF0ZU5hbWUpIHsKICAgICAgICAgICAgIC8vIFdlIHdlcmUgdW5h
YmxlIHRvIGZpbmQgYSBmb250LiAgV2UgaGF2ZSBhIHNtYWxsIHNldCBvZiBmb250cyB0aGF0IHdl
IGFsaWFzIHRvIG90aGVyIG5hbWVzLAogICAgICAgICAgICAgLy8gZS5nLiwgQXJpYWwvSGVsdmV0
aWNhLCBDb3VyaWVyL0NvdXJpZXIgTmV3LCBldGMuICBUcnkgbG9va2luZyB1cCB0aGUgZm9udCB1
bmRlciB0aGUgYWxpYXNlZCBuYW1lLgogICAgICAgICAgICAgY29uc3QgQXRvbVN0cmluZyYgYWx0
ZXJuYXRlTmFtZSA9IGFsdGVybmF0ZUZhbWlseU5hbWUoZmFtaWx5TmFtZSk7CiAgICAgICAgICAg
ICBpZiAoIWFsdGVybmF0ZU5hbWUuaXNOdWxsKCkpIHsKLSAgICAgICAgICAgICAgICBGb250UGxh
dGZvcm1EYXRhKiBmb250UGxhdGZvcm1EYXRhRm9yQWx0ZXJuYXRlTmFtZSA9IGdldENhY2hlZEZv
bnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBhbHRlcm5hdGVOYW1lLCBmb250RmFjZUZl
YXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHRy
dWUpOworICAgICAgICAgICAgICAgIEZvbnRQbGF0Zm9ybURhdGEqIGZvbnRQbGF0Zm9ybURhdGFG
b3JBbHRlcm5hdGVOYW1lID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRp
b24sIGFsdGVybmF0ZU5hbWUsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
LCB0cnVlKTsKICAgICAgICAgICAgICAgICAvLyBMb29rdXAgdGhlIGtleSBpbiB0aGUgaGFzaCB0
YWJsZSBhZ2FpbiBhcyB0aGUgcHJldmlvdXMgaXRlcmF0b3IgbWF5IGhhdmUKICAgICAgICAgICAg
ICAgICAvLyBiZWVuIGludmFsaWRhdGVkIGJ5IHRoZSByZWN1cnNpdmUgY2FsbCB0byBnZXRDYWNo
ZWRGb250UGxhdGZvcm1EYXRhKCkuCiAgICAgICAgICAgICAgICAgaXQgPSBmb250UGxhdGZvcm1E
YXRhQ2FjaGUoKS5maW5kKGtleSk7CkBAIC0zMTYsMTIgKzMxMiwxMiBAQCBjb25zdCB1bnNpZ25l
ZCBjVGFyZ2V0SW5hY3RpdmVGb250RGF0YSA9IDIwMDsKIGNvbnN0IHVuc2lnbmVkIGNNYXhVbmRl
ck1lbW9yeVByZXNzdXJlSW5hY3RpdmVGb250RGF0YSA9IDUwOwogY29uc3QgdW5zaWduZWQgY1Rh
cmdldFVuZGVyTWVtb3J5UHJlc3N1cmVJbmFjdGl2ZUZvbnREYXRhID0gMzA7CiAKLVJlZlB0cjxG
b250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVT
ZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9u
dEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMg
Zm9udEZhY2VDYXBhYmlsaXRpZXMsIGJvb2wgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKQorUmVmUHRy
PEZvbnQ+IEZvbnRDYWNoZTo6Zm9udEZvckZhbWlseShjb25zdCBGb250RGVzY3JpcHRpb24mIGZv
bnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVy
ZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkK
IHsKICAgICBpZiAoIW1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3B1cmdlVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKLSAgICBpZiAoYXV0byogcGxhdGZvcm1EYXRhID0gZ2V0
Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VG
ZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBj
aGVja2luZ0FsdGVybmF0ZU5hbWUpKQorICAgIGlmIChhdXRvKiBwbGF0Zm9ybURhdGEgPSBnZXRD
YWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5LCBmb250RmFjZUZl
YXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcywgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKSkKICAg
ICAgICAgcmV0dXJuIGZvbnRGb3JQbGF0Zm9ybURhdGEoKnBsYXRmb3JtRGF0YSk7CiAKICAgICBy
ZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmgKaW5kZXggMTdkMzI1NzcyMGJhM2U5MWMzMTQyMGMzZTUzNzgyNzY2OGIwNzQ2Zi4uZWY4
NjY0ZGFjN2M5OGYzNWY5ODZiYzc2YTZmMTU3MDliODQ4NDAwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTIxMiw3ICsyMTIsNyBAQCBwdWJs
aWM6CiAgICAgLy8gSXQgY29tZXMgaW50byBwbGF5IHdoZW4geW91IGNyZWF0ZSBhbiBAZm9udC1m
YWNlIHdoaWNoIHNoYXJlcyBhIGZhbWlseSBuYW1lIGFzIGEgcHJlaW5zdGFsbGVkIGZvbnQuCiAg
ICAgVmVjdG9yPEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXM+IGdldEZvbnRTZWxlY3Rpb25DYXBh
YmlsaXRpZXNJbkZhbWlseShjb25zdCBBdG9tU3RyaW5nJiwgQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEZvbnQ+IGZvbnRGb3JGYW1pbHkoY29u
c3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IEZvbnRGZWF0dXJl
U2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMgPSBudWxscHRyLCBjb25zdCBGb250VmFyaWFudFNl
dHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncyA9IG51bGxwdHIsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMgPSB7IH0sIGJvb2wgY2hl
Y2tpbmdBbHRlcm5hdGVOYW1lID0gZmFsc2UpOworICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxG
b250PiBmb250Rm9yRmFtaWx5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJp
bmcmLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzID0gbnVsbHB0
ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGll
cyA9IHsgfSwgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUgPSBmYWxzZSk7CiAgICAgV0VCQ09S
RV9FWFBPUlQgUmVmPEZvbnQ+IGxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoY29uc3QgRm9udERlc2Ny
aXB0aW9uJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVmPEZvbnQ+IGZvbnRGb3JQbGF0Zm9ybURh
dGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOwogICAgIFJlZlB0cjxGb250PiBzaW1pbGFyRm9u
dChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHkpOwpAQCAt
MjYyLDEzICsyNjIsMTMgQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHB1cmdl
SW5hY3RpdmVGb250RGF0YUlmTmVlZGVkKCk7CiAKICAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qg
c2hvdWxkIGV2ZW50dWFsbHkgYmUgcmVtb3ZlZC4KLSAgICBGb250UGxhdGZvcm1EYXRhKiBnZXRD
YWNoZWRGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21T
dHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJl
cyA9IG51bGxwdHIsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNl
dHRpbmdzID0gbnVsbHB0ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250
RmFjZUNhcGFiaWxpdGllcyA9IHsgfSwgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUgPSBmYWxz
ZSk7CisgICAgRm9udFBsYXRmb3JtRGF0YSogZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRG
ZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMgPSBudWxscHRyLCBGb250U2VsZWN0aW9u
U3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzID0geyB9LCBib29sIGNo
ZWNraW5nQWx0ZXJuYXRlTmFtZSA9IGZhbHNlKTsKIAogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJl
IGltcGxlbWVudGVkIGJ5IGVhY2ggcGxhdGZvcm0uCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
Rm9udFBsYXRmb3JtRGF0YSogZ2V0Q3VzdG9tRmFsbGJhY2tGb250KGNvbnN0IFVJbnQzMiwgY29u
c3QgRm9udERlc2NyaXB0aW9uJik7CiAjZW5kaWYKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnVu
aXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0
dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3Mq
IGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0
aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnVuaXF1
ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250
RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJl
U2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmls
aXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogICAgIAogICAgIHN0YXRpYyBjb25zdCBBdG9t
U3RyaW5nJiBhbHRlcm5hdGVGYW1pbHlOYW1lKGNvbnN0IEF0b21TdHJpbmcmKTsKICAgICBzdGF0
aWMgY29uc3QgQXRvbVN0cmluZyYgcGxhdGZvcm1BbHRlcm5hdGVGYW1pbHlOYW1lKGNvbnN0IEF0
b21TdHJpbmcmKTsKQEAgLTI4OSw3ICsyODksNyBAQCBwcml2YXRlOgogCiBpbmxpbmUgc3RkOjp1
bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3Jt
RGF0YUZvclRlc3RpbmcoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
bnN0IEF0b21TdHJpbmcmIGZhbWlseSkKIHsKLSAgICByZXR1cm4gY3JlYXRlRm9udFBsYXRmb3Jt
RGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9KTsKKyAg
ICByZXR1cm4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwg
bnVsbHB0ciwgeyB9KTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVU
ZXh0LmNwcAppbmRleCAxNmNiNTE4NDdhZWMxM2RlYjE5MjkwMGE4Mzc3YmY2ZWM2ZjMyM2M5Li5i
ODczNWRmZDU1ODM1ZjBlNzU2Y2NkMWUwNGM3OWFlNDljNTgzYTVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwCkBAIC01MzAsNyArNTMwLDcgQEAgc3RydWN0IEZvbnRUeXBlIHsKICAgICBib29s
IGFhdFNoYXBpbmcgeyBmYWxzZSB9OwogfTsKIAotUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFy
ZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBGb250RGVzY3JpcHRp
b24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VG
ZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGlu
Z3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRp
ZXMsIGJvb2wgYXBwbHlXZWlnaHRXaWR0aFNsb3BlVmFyaWF0aW9ucykKK1JldGFpblB0cjxDVEZv
bnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9udCwgY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGlu
Z3MqIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMg
Zm9udEZhY2VDYXBhYmlsaXRpZXMsIGJvb2wgYXBwbHlXZWlnaHRXaWR0aFNsb3BlVmFyaWF0aW9u
cykKIHsKICAgICBpZiAoIW9yaWdpbmFsRm9udCkKICAgICAgICAgcmV0dXJuIG9yaWdpbmFsRm9u
dDsKQEAgLTU2OSw4ICs1NjksNyBAQCBSZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZv
cm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNvbnN0IEZvbnREZXNjcgogICAgIGJvb2wg
dmFyaWFudFNldHRpbmdzSXNOb3JtYWwgPSB2YXJpYW50U2V0dGluZ3MuaXNBbGxOb3JtYWwoKTsK
ICAgICBib29sIGRvbnROZWVkVG9BcHBseU9wdGljYWxTaXppbmcgPSBmb250T3B0aWNhbFNpemlu
ZyA9PSBGb250T3B0aWNhbFNpemluZzo6RW5hYmxlZCAmJiAhZm9yY2VPcHRpY2FsU2l6aW5nT247
CiAgICAgYm9vbCBmb250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJlcyA9ICFmb250RmFjZUZlYXR1
cmVzIHx8IGZvbnRGYWNlRmVhdHVyZXMtPmlzRW1wdHkoKTsKLSAgICBib29sIGZvbnRGYWNlRG9l
c250U3BlY2lmeVZhcmlhdGlvbnMgPSAhZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgfHwgZm9udEZh
Y2VWYXJpYW50U2V0dGluZ3MtPmlzQWxsTm9ybWFsKCk7Ci0gICAgaWYgKG5vRm9udEZlYXR1cmVT
ZXR0aW5ncyAmJiBub0ZvbnRWYXJpYXRpb25TZXR0aW5ncyAmJiB0ZXh0UmVuZGVyaW5nTW9kZUlz
QXV0byAmJiB2YXJpYW50U2V0dGluZ3NJc05vcm1hbCAmJiBkb250TmVlZFRvQXBwbHlPcHRpY2Fs
U2l6aW5nICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeUZlYXR1cmVzICYmIGZvbnRGYWNlRG9lc250
U3BlY2lmeVZhcmlhdGlvbnMpIHsKKyAgICBpZiAobm9Gb250RmVhdHVyZVNldHRpbmdzICYmIG5v
Rm9udFZhcmlhdGlvblNldHRpbmdzICYmIHRleHRSZW5kZXJpbmdNb2RlSXNBdXRvICYmIHZhcmlh
bnRTZXR0aW5nc0lzTm9ybWFsICYmIGRvbnROZWVkVG9BcHBseU9wdGljYWxTaXppbmcgJiYgZm9u
dEZhY2VEb2VzbnRTcGVjaWZ5RmVhdHVyZXMpIHsKICNpZiBIQVZFKENURk9OVENSRUFURUZPUkNI
QVJBQ1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJT04pCiAgICAgICAgIHJldHVybiBvcmlnaW5hbEZv
bnQ7CiAjZWxzZQpAQCAtNTg0LDggKzU4Myw3IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IHByZXBh
cmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9udCwgY29uc3QgRm9udERlc2NyCiAg
ICAgLy8gU3RlcCAxOiBDb3JlVGV4dCBoYW5kbGVzIGRlZmF1bHQgZmVhdHVyZXMgKHN1Y2ggYXMg
cmVxdWlyZWQgbGlnYXR1cmVzKS4KIAogICAgIC8vIFN0ZXAgMjogQ29uc3VsdCB3aXRoIGZvbnQt
dmFyaWFudC0qIGluc2lkZSBAZm9udC1mYWNlCi0gICAgaWYgKGZvbnRGYWNlVmFyaWFudFNldHRp
bmdzKQotICAgICAgICBmZWF0dXJlc1RvQmVBcHBsaWVkID0gY29tcHV0ZUZlYXR1cmVTZXR0aW5n
c0Zyb21WYXJpYW50cygqZm9udEZhY2VWYXJpYW50U2V0dGluZ3MpOworICAgIC8vIFRoaXMgbm8g
bG9uZ2VyIGhhcHBlbnMgYW55IG1vcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJh
ZnRzL2lzc3Vlcy8yNTMxCiAKICAgICAvLyBTdGVwIDM6IENvbnN1bHQgd2l0aCBmb250LWZlYXR1
cmUtc2V0dGluZ3MgaW5zaWRlIEBmb250LWZhY2UKICAgICBpZiAoZm9udEZhY2VGZWF0dXJlcykg
ewpAQCAtMTI5Myw3ICsxMjkxLDcgQEAgc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnRX
aXRoRmFtaWx5U3BlY2lhbENhc2UoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LAogICAgIHJldHVy
biBudWxscHRyOwogfQogCi1zdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gZm9udFdpdGhGYW1p
bHkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnRE
ZXNjcmlwdGlvbiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywg
Y29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRT
ZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMsIGZsb2F0
IHNpemUpCitzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gZm9udFdpdGhGYW1pbHkoY29uc3Qg
QXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlv
biwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgZmxvYXQgc2l6
ZSkKIHsKICAgICBpZiAoZmFtaWx5LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CkBAIC0xMzA1LDcgKzEzMDMsNyBAQCBzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gZm9udFdp
dGhGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RAogICAgICAgICBp
ZiAoIWZvbnRMb29rdXAucmVzdWx0KQogICAgICAgICAgICAgZm9udExvb2t1cCA9IHBsYXRmb3Jt
Rm9udExvb2t1cFdpdGhGYW1pbHkoZmFtaWx5LCBmb250RGVzY3JpcHRpb24uZm9udFNlbGVjdGlv
blJlcXVlc3QoKSwgc2l6ZSwgZm9udERlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKCkpOwogICAgIH0KLSAgICByZXR1cm4gcHJlcGFyZVBsYXRmb3JtRm9udChmb250TG9v
a3VwLnJlc3VsdC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250
RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMsICFmb250TG9va3VwLmNy
ZWF0ZWRGcm9tUG9zdFNjcmlwdE5hbWUpOworICAgIHJldHVybiBwcmVwYXJlUGxhdGZvcm1Gb250
KGZvbnRMb29rdXAucmVzdWx0LmdldCgpLCBmb250RGVzY3JpcHRpb24sIGZvbnRGYWNlRmVhdHVy
ZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCAhZm9udExvb2t1cC5jcmVhdGVkRnJvbVBvc3RTY3Jp
cHROYW1lKTsKIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTEzNDAsMTEgKzEzMzgsMTEgQEAg
c3RhdGljIHZvaWQgYXV0b0FjdGl2YXRlRm9udChjb25zdCBTdHJpbmcmIG5hbWUsIENHRmxvYXQg
c2l6ZSkKIH0KICNlbmRpZgogCi1zdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gRm9u
dENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJl
U2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZv
bnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVz
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+
IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24m
IGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVh
dHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2Fw
YWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogewogICAgIGZsb2F0IHNpemUgPSBmb250
RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKTsKIAotICAgIGF1dG8gZm9udCA9IGZvbnRX
aXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250
RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHNpemUpOworICAgIGF1
dG8gZm9udCA9IGZvbnRXaXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFj
ZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcywgc2l6ZSk7CiAKICNpZiBQTEFURk9STShN
QUMpCiAgICAgaWYgKCFmb250KSB7CkBAIC0xMzU1LDcgKzEzNTMsNyBAQCBzdGQ6OnVuaXF1ZV9w
dHI8Rm9udFBsYXRmb3JtRGF0YT4gRm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNv
bnN0IEZvbnREZQogICAgICAgICAvLyBJZ25vcmUgdGhlIHJlc3VsdCBiZWNhdXNlIHdlIHdhbnQg
dG8gdXNlIG91ciBvd24gYWxnb3JpdGhtIHRvIGFjdHVhbGx5IGZpbmQgdGhlIGZvbnQuCiAgICAg
ICAgIGF1dG9BY3RpdmF0ZUZvbnQoZmFtaWx5LnN0cmluZygpLCBzaXplKTsKIAotICAgICAgICBm
b250ID0gZm9udFdpdGhGYW1pbHkoZmFtaWx5LCBmb250RGVzY3JpcHRpb24sIGZvbnRGYWNlRmVh
dHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcywgc2l6
ZSk7CisgICAgICAgIGZvbnQgPSBmb250V2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNjcmlwdGlv
biwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHNpemUpOwogICAgIH0K
ICNlbmRpZgogCkBAIC0xNDg0LDcgKzE0ODIsNyBAQCBSZWZQdHI8Rm9udD4gRm9udENhY2hlOjpz
eXN0ZW1GYWxsYmFja0ZvckNoYXJhY3RlcnMoY29uc3QgRm9udERlc2NyaXB0aW9uJiBkZXNjcgog
ICAgICAgICBtX2ZvbnROYW1lc1JlcXVpcmluZ1N5c3RlbUZhbGxiYWNrRm9yUHJld2FybWluZy5h
ZGQoZnVsbE5hbWUpOwogCiAgICAgYXV0byByZXN1bHQgPSBsb29rdXBGYWxsYmFja0ZvbnQocGxh
dGZvcm1EYXRhLmZvbnQoKSwgZGVzY3JpcHRpb24ud2VpZ2h0KCksIGRlc2NyaXB0aW9uLmxvY2Fs
ZSgpLCBkZXNjcmlwdGlvbi5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpLCBjaGFyYWN0
ZXJzLCBsZW5ndGgpOwotICAgIHJlc3VsdCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQocmVzdWx0Lmdl
dCgpLCBkZXNjcmlwdGlvbiwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9KTsKKyAgICByZXN1bHQgPSBw
cmVwYXJlUGxhdGZvcm1Gb250KHJlc3VsdC5nZXQoKSwgZGVzY3JpcHRpb24sIG51bGxwdHIsIHsg
fSk7CiAKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIGxhc3RSZXNvcnRGYWxsYmFj
a0ZvbnQoZGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKaW5kZXggOGRhNTU4ZTE1ZTEz
NDFjZmI3MTVmNzJiMmJlYzE4MDhjOTNjNjU1YS4uOTRjMzI3MzViMDU4YzJkOGI3ZTZkZWEwOTQ5
NzE2OGFmZTVjYjRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCkBAIC01MCw3ICs1MCw3IEBAIHN0
cnVjdCBTeW50aGVzaXNQYWlyIHsKICAgICBib29sIG5lZWRzU3ludGhldGljT2JsaXF1ZTsKIH07
CiAKLVJldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmLCBj
b25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFj
ZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0
aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxp
dGllcywgYm9vbCBhcHBseVdlaWdodFdpZHRoU2xvcGVWYXJpYXRpb25zID0gdHJ1ZSk7CitSZXRh
aW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiwgY29uc3QgRm9u
dERlc2NyaXB0aW9uJiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJl
cywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGll
cywgYm9vbCBhcHBseVdlaWdodFdpZHRoU2xvcGVWYXJpYXRpb25zID0gdHJ1ZSk7CiBTeW50aGVz
aXNQYWlyIGNvbXB1dGVOZWNlc3NhcnlTeW50aGVzaXMoQ1RGb250UmVmLCBjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBib29sIGlzUGxhdGZvcm1Gb250ID0gZmFsc2UpOwogUmV0YWluUHRyPENURm9u
dFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcm
IGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgZmxvYXQgc2l6ZSwgQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMpOwogUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWls
eShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rpb25SZXF1ZXN0LCBUZXh0UmVu
ZGVyaW5nTW9kZSwgZmxvYXQgc2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlTcGVjaWZp
Y2F0aW9uQ29yZVRleHQuY3BwCmluZGV4IDBkZTkzNGE3YjM4NDEwMGVlYjc2ZDc3ZjQ1NmExODJm
YmJhYmNlY2MuLmMyNDg1Mjk0NGMyMjM0ZTMwZWU1MzUyNDk0MDAxYWM4MTlkMmM4YTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlT
cGVjaWZpY2F0aW9uQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3BwCkBAIC0xMDgs
NyArMTA4LDcgQEAgRm9udFJhbmdlcyBGb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0Ojpm
b250UmFuZ2VzKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm8KICAgICAgICAgICAgIGZvbnRGb3JT
eW50aGVzaXNDb21wdXRhdGlvbiA9IHBoeXNpY2FsRm9udDsKICNlbmRpZgogCi0gICAgICAgIGZv
bnQgPSBwcmVwYXJlUGxhdGZvcm1Gb250KGZvbnQuZ2V0KCksIGZvbnREZXNjcmlwdGlvbiwgbnVs
bHB0ciwgbnVsbHB0ciwgeyB9KTsKKyAgICAgICAgZm9udCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQo
Zm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCBudWxscHRyLCB7IH0pOwogCiAgICAgICAgIGF1
dG8gW3N5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWVdID0gY29tcHV0ZU5lY2Vzc2FyeVN5
bnRoZXNpcyhmb250Rm9yU3ludGhlc2lzQ29tcHV0YXRpb24uZ2V0KCksIGZvbnREZXNjcmlwdGlv
bikuYm9sZE9ibGlxdWVQYWlyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAppbmRl
eCA1MDc5MzhiZTExMDVjZjQyNjA0NTU5MTNiMGM1ZTk5ZDRmNTRmOWU3Li4yMTlhOTk1YjhhNGM1
NWZjYjE5YzVlODE0YWZkODNkNGU0YzgyMThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
Y3BwCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRm9udEN1c3RvbVBs
YXRmb3JtRGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSA9IGRlZmF1bHQ7CiAKLUZvbnRQ
bGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxp
YywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9u
dFZhcmlhbnRTZXR0aW5ncyYgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCitGb250UGxhdGZvcm1E
YXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERl
c2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0
IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVj
aWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7CiAgICAgYXV0byBhdHRy
aWJ1dGVzID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRl
ZmF1bHQsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9u
YXJ5VmFsdWVDYWxsQmFja3MpKTsKICAgICBhZGRBdHRyaWJ1dGVzRm9yV2ViRm9udHMoYXR0cmli
dXRlcy5nZXQoKSwgZm9udERlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCkpOwpAQCAtNDYsNyArNDYsNyBAQCBGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9y
bURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJgogICAgIEZvbnRP
cmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IGZvbnREZXNjcmlwdGlvbi5vcmllbnRhdGlvbigpOwog
ICAgIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50ID0gZm9udERlc2NyaXB0aW9uLndpZHRo
VmFyaWFudCgpOwogICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnQgPSBhZG9wdENGKENURm9u
dENyZWF0ZVdpdGhGb250RGVzY3JpcHRvcihtb2RpZmllZEZvbnREZXNjcmlwdG9yLmdldCgpLCBz
aXplLCBudWxscHRyKSk7Ci0gICAgZm9udCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udC5nZXQo
KSwgZm9udERlc2NyaXB0aW9uLCAmZm9udEZhY2VGZWF0dXJlcywgJmZvbnRGYWNlVmFyaWFudFNl
dHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyk7CisgICAgZm9udCA9IHByZXBhcmVQbGF0Zm9y
bUZvbnQoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCAmZm9udEZhY2VGZWF0dXJlcywgZm9u
dEZhY2VDYXBhYmlsaXRpZXMpOwogICAgIEFTU0VSVChmb250KTsKICAgICByZXR1cm4gRm9udFBs
YXRmb3JtRGF0YShmb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIG9yaWVudGF0aW9uLCB3
aWR0aFZhcmlhbnQsIGZvbnREZXNjcmlwdGlvbi50ZXh0UmVuZGVyaW5nTW9kZSgpKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiMjAzZmFiMzZjZjQ3ODgzNWUwMDdlODkyYjQx
MGNiN2ZiZWI4YjIuLjYwNzhlMjVmYTFkODJiY2VjOWI0Y2M3YmM3MmU1ZTdmMjhlYTcwYWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAKICAg
ICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCi0gICAgRm9udFBsYXRmb3JtRGF0YSBmb250
UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgYm9sZCwgYm9vbCBpdGFs
aWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZv
bnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9u
U3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKKyAgICBGb250UGxh
dGZvcm1EYXRhIGZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBi
b2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0
dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxp
dGllcyk7CiAKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zvcm1hdChjb25zdCBTdHJpbmcmKTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGUxMGIwZmE2NzU0ZThkYTgwMDc0M2ZlMzU3M2E0MWU1ZTA3N2YzZjUuLjUwYjk4
ODQ0NmJhMDAxZDUxNWUyM2Q4M2ZjMmNjZDhlMDg2NTk2ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxOS0xMC0yMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBmb250LXZhcmlhbnQgQGZvbnQtZmFjZSBkZXNjcmlwdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMxNzkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWxldGUgdGVzdHMg
Zm9yIHRoZSByZW1vdmVkIGZlYXR1cmUuCisKKyAgICAgICAgKiBjc3MzL2ZvbnQtdmFyaWFudC1m
b250LWZhY2Utb3ZlcnJpZGUtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBjc3MzL2ZvbnQtdmFy
aWFudC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1m
YWNlLWVtcHR5LXN0cmluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQt
ZmFjZS1lbXB0eS1zdHJpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1mYWNlLWph
dmFzY3JpcHQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvdGV4dC9mb250LWZhY2UtamF2
YXNjcmlwdC5odG1sOgorCiAyMDE5LTEwLTIyICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgU1ZHMjogQWRkIGJvdW5kaW5nLWJveCBrZXl3b3JkIHRvIHBvaW50ZXIt
ZXZlbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZvbnQtdmFyaWFudC1mb250LWZh
Y2Utb3ZlcnJpZGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50
LWZvbnQtZmFjZS1vdmVycmlkZS1leHBlY3RlZC5odG1sCmluZGV4IGE5NDE0YmE4MmFkMmMxNWYx
ZGE4NzAzOTUyMDM1MGI1MWFmNDhiZmYuLmFkZTZmY2U1OWU4OWQzMGVjOTM3YzY0ZTBkZDFhNWY2
NzM4NWJlNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQt
ZmFjZS1vdmVycmlkZS1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NzczMvZm9udC12
YXJpYW50LWZvbnQtZmFjZS1vdmVycmlkZS1leHBlY3RlZC5odG1sCkBAIC0xNiwxMSArMTYsNyBA
QAogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsb2NhbCBmb250IGZlYXR1cmUgc3R5bGVzIGNh
biBvdmVycmlkZSB0aGUgZm9udCBmZWF0dXJlIHN0eWxlcyBkZWNsYXJlZCBpbiBAZm9udC1mYWNl
IGJsb2Nrcy4KIDxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdE9URjsiPkFB
PC9kaXY+CiA8ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5CQjwv
ZGl2PgotPGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L2Rp
dj4KLTxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdE9URjsiPkJCPC9kaXY+
Ci08ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RUVEY7Ij5BQTwvZGl2Pgot
PGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0VFRGOyI+QkI8L2Rpdj4KIDxk
aXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdFRURjsiPkFBPC9kaXY+CiA8ZGl2
IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RUVEY7Ij5CQjwvZGl2PgogPC9ib2R5
PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVycmlkZS5odG1s
IGIvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJyaWRlLmh0bWwK
aW5kZXggZmNlMmIwMjA1NjcxMzJhNDk2MDIwYzU1MDU4MzZmNmI4NWE1MDg2Yy4uOTM0ZGZmMzM1
NjRlYzQzMjM2ODMzYjVkZjQxMTg1ZTBkNzRkYjIyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Y3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJyaWRlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJyaWRlLmh0bWwKQEAgLTcsMzIgKzcs
MTggQEAKICAgICBzcmM6IHVybCgicmVzb3VyY2VzL0ZvbnRXaXRoRmVhdHVyZXMub3RmIikgZm9y
bWF0KCJvcGVudHlwZSIpOwogICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogInRpdGwiIDE7CiB9
Ci1AZm9udC1mYWNlIHsKLSAgICBmb250LWZhbWlseTogIkZvbnRGZWF0dXJlc1Rlc3RPVEYyIjsK
LSAgICBzcmM6IHVybCgicmVzb3VyY2VzL0ZvbnRXaXRoRmVhdHVyZXMub3RmIikgZm9ybWF0KCJv
cGVudHlwZSIpOwotICAgIGZvbnQtdmFyaWFudC1jYXBzOiB0aXRsaW5nLWNhcHM7Ci19CiBAZm9u
dC1mYWNlIHsKICAgICBmb250LWZhbWlseTogIkZvbnRGZWF0dXJlc1Rlc3RUVEYiOwogICAgIHNy
YzogdXJsKCJyZXNvdXJjZXMvRm9udFdpdGhGZWF0dXJlcy50dGYiKSBmb3JtYXQoInRydWV0eXBl
Iik7CiAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAidGl0bCIgMTsKIH0KLUBmb250LWZhY2Ug
ewotICAgIGZvbnQtZmFtaWx5OiAiRm9udEZlYXR1cmVzVGVzdFRURjIiOwotICAgIHNyYzogdXJs
KCJyZXNvdXJjZXMvRm9udFdpdGhGZWF0dXJlcy50dGYiKSBmb3JtYXQoInRydWV0eXBlIik7Ci0g
ICAgZm9udC12YXJpYW50LWNhcHM6IHRpdGxpbmctY2FwczsKLX0KIDwvc3R5bGU+CiA8L2hlYWQ+
CiA8Ym9keT4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgbG9jYWwgZm9udCBmZWF0dXJlIHN0
eWxlcyBjYW4gb3ZlcnJpZGUgdGhlIGZvbnQgZmVhdHVyZSBzdHlsZXMgZGVjbGFyZWQgaW4gQGZv
bnQtZmFjZSBibG9ja3MuCiA8ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RP
VEY7Ij5PTzwvZGl2PgogPGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0T1RG
OyBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICd0aXRsJyAwOyI+T088L2Rpdj4KLTxkaXYgc3R5bGU9
ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdE9URjI7Ij5PTzwvZGl2PgotPGRpdiBzdHlsZT0i
Zm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0T1RGMjsgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAn
dGl0bCcgMDsiPk9PPC9kaXY+CiA8ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rl
c3RUVEY7Ij5hYTwvZGl2PgogPGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0
VFRGOyBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICd0aXRsJyAwOyI+YWE8L2Rpdj4KLTxkaXYgc3R5
bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdFRURjI7Ij5hYTwvZGl2PgotPGRpdiBzdHls
ZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0VFRGMjsgZm9udC1mZWF0dXJlLXNldHRpbmdz
OiAndGl0bCcgMDsiPmFhPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Zv
bnQtZmFjZS1lbXB0eS1zdHJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2ZvbnQtZmFjZS1lbXB0eS1zdHJpbmctZXhwZWN0ZWQudHh0CmluZGV4IDhmN2NjZTNjYjg2MWYy
N2E2ODE0Y2NjYWEzYmY1ODgxMDE5OWY1OTUuLjc5NzVkNDFjMjFhODBkOWUwODlhY2E5ZjI2MDcx
YWI3M2EzNGI5NzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2Ut
ZW1wdHktc3RyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9u
dC1mYWNlLWVtcHR5LXN0cmluZy1leHBlY3RlZC50eHQKQEAgLTEyLDkgKzEyLDYgQEAgUEFTUyBm
b250ZmFjZS53ZWlnaHQgPSAnJyB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJp
bmcgZGlkIG5vdCBtYXRjaAogUEFTUyBmb250ZmFjZSA9IG5ldyBGb250RmFjZSgnV2ViRm9udCcs
ICd1cmwoXCdhc2RmXCcpJywge3VuaWNvZGVSYW5nZTogJyd9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KIFBBU1MgZm9udGZhY2UudW5pY29kZVJhbmdlIGlzICJVKzAtMTBmZmZmIgogUEFTUyBm
b250ZmFjZS51bmljb2RlUmFuZ2UgPSAnJyB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRo
ZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCi1QQVNTIGZvbnRm
YWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChcJ2FzZGZcJyknLCB7dmFyaWFudDog
Jyd9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgZm9udGZhY2UudmFyaWFudCBpcyAi
bm9ybWFsIgotUEFTUyBmb250ZmFjZS52YXJpYW50ID0gJycgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uLgog
UEFTUyBmb250ZmFjZSA9IG5ldyBGb250RmFjZSgnV2ViRm9udCcsICd1cmwoXCdhc2RmXCcpJywg
e2ZlYXR1cmVTZXR0aW5nczogJyd9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgZm9u
dGZhY2UuZmVhdHVyZVNldHRpbmdzIGlzICJub3JtYWwiCiBQQVNTIGZvbnRmYWNlLmZlYXR1cmVT
ZXR0aW5ncyA9ICcnIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQg
bm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9mb250LWZhY2UtZW1wdHktc3RyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvZm9udC1mYWNlLWVtcHR5LXN0cmluZy5odG1sCmluZGV4IDBhOTBlMWNhMjNiZjdlZGNj
MjBkMzIwMjlmYmQ0MzU1ZDNlMmJmYzIuLjMxZWQ2NjJlMjhiYjA3ZTRlZGRmOTkzNmJiMTNjMmVl
MTBiMTZhZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtZW1w
dHktc3RyaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1lbXB0
eS1zdHJpbmcuaHRtbApAQCAtMTcsOSArMTcsNiBAQCBzaG91bGRUaHJvdygiZm9udGZhY2Uud2Vp
Z2h0ID0gJyciKTsKIHNob3VsZE5vdFRocm93KCJmb250ZmFjZSA9IG5ldyBGb250RmFjZSgnV2Vi
Rm9udCcsICd1cmwoXFxcJ2FzZGZcXFwnKScsIHt1bmljb2RlUmFuZ2U6ICcnfSkiKTsKIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZm9udGZhY2UudW5pY29kZVJhbmdlIiwgIlUrMC0xMGZmZmYiKTsK
IHNob3VsZFRocm93KCJmb250ZmFjZS51bmljb2RlUmFuZ2UgPSAnJyIpOwotc2hvdWxkTm90VGhy
b3coImZvbnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChcXFwnYXNkZlxcXCcp
Jywge3ZhcmlhbnQ6ICcnfSkiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiZm9udGZhY2UudmFy
aWFudCIsICJub3JtYWwiKTsKLXNob3VsZFRocm93KCJmb250ZmFjZS52YXJpYW50ID0gJyciKTsK
IHNob3VsZE5vdFRocm93KCJmb250ZmFjZSA9IG5ldyBGb250RmFjZSgnV2ViRm9udCcsICd1cmwo
XFxcJ2FzZGZcXFwnKScsIHtmZWF0dXJlU2V0dGluZ3M6ICcnfSkiKTsKIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZm9udGZhY2UuZmVhdHVyZVNldHRpbmdzIiwgIm5vcm1hbCIpOwogc2hvdWxkVGhy
b3coImZvbnRmYWNlLmZlYXR1cmVTZXR0aW5ncyA9ICcnIik7CkBAIC0yOCw0ICsyNSw0IEBAIHNo
b3VsZFRocm93KCJmb250ZmFjZS5mYW1pbHkgPSAnJyIpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+Ci08
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlwdC1leHBlY3RlZC50eHQK
aW5kZXggMTdkMDQyMWU5NjkyZTI1ZWU2OGVmY2FmODRlYTc1N2M3NmU3YTMwNy4uMzU5YmFhOWRh
NDRlNjY2NDZhYjUyMDhkOTBiODk5ZWRjNjEwZTM3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0zLDcg
KzMsNiBAQCBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScs
IHt9KS5zdHlsZSBpcyAibm9ybWFsIgogUEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywg
J3VybChcJ2FzZGZcJyknLCB7fSkud2VpZ2h0IGlzICJub3JtYWwiCiBQQVNTIG5ldyBGb250RmFj
ZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHt9KS5zdHJldGNoIGlzICJub3JtYWwi
CiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHt9KS51
bmljb2RlUmFuZ2UgaXMgIlUrMC0xMGZmZmYiCi1QQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25h
bWUnLCAndXJsKFwnYXNkZlwnKScsIHt9KS52YXJpYW50IGlzICJub3JtYWwiCiBQQVNTIG5ldyBG
b250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHt9KS5mZWF0dXJlU2V0dGlu
Z3MgaXMgIm5vcm1hbCIKIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdh
c2RmXCcpJywgeydzdHlsZSc6ICdub3JtYWwnfSkuc3R5bGUgaXMgIm5vcm1hbCIKIFBBU1MgbmV3
IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeydzdHlsZSc6ICdpbmhl
cml0J30pLnN0eWxlIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQg
bm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KQEAgLTE5LDIyICsxOCwxNyBAQCBQQVNT
IG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHsnd2VpZ2h0Jzog
J2luaGVyaXQnfSkud2VpZ2h0CiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJs
KFwnYXNkZlwnKScsIHsnc3RyZXRjaCc6ICd1bHRyYS1leHBhbmRlZCd9KS5zdHJldGNoIGlzICJ1
bHRyYS1leHBhbmRlZCIKIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdh
c2RmXCcpJywgeyd1bmljb2RlUmFuZ2UnOiAnVSsyNid9KS51bmljb2RlUmFuZ2UgaXMgIlUrMjYt
MjYiCiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHsn
dW5pY29kZVJhbmdlJzogJ1UrMC03Rid9KS51bmljb2RlUmFuZ2UgaXMgIlUrMC03ZiIKLVBBU1Mg
bmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeyd2YXJpYW50Jzog
J3ZhcmlhbnRfbmFtZSd9KS52YXJpYW50IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhl
IHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KLVBBU1MgbmV3IEZv
bnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeyd2YXJpYW50JzogJ3NtYWxs
LWNhcHMnfSkudmFyaWFudCBpcyAic21hbGwtY2FwcyIKLVBBU1MgbmV3IEZvbnRGYWNlKCdmYW1p
bHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeyd2YXJpYW50JzogJ3NtYWxsLWNhcHMgY29tbW9u
LWxpZ2F0dXJlcyd9KS52YXJpYW50IGlzICJjb21tb24tbGlnYXR1cmVzIHNtYWxsLWNhcHMiCiBQ
QVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHsnZmVhdHVy
ZVNldHRpbmdzJzogJ1wndGl0bFwnJ30pLmZlYXR1cmVTZXR0aW5ncyBpcyAiXCJ0aXRsXCIiCiBQ
QVNTIGV2ZXJ5dGhpbmcuc3R5bGUgaXMgIml0YWxpYyIKIFBBU1MgZXZlcnl0aGluZy53ZWlnaHQg
aXMgImJvbGQiCiBQQVNTIGV2ZXJ5dGhpbmcuc3RyZXRjaCBpcyAiZXh0cmEtZXhwYW5kZWQiCiBQ
QVNTIGV2ZXJ5dGhpbmcudW5pY29kZVJhbmdlIGlzICJVKzI2LTI2IgotUEFTUyBldmVyeXRoaW5n
LnZhcmlhbnQgaXMgInNtYWxsLWNhcHMiCiBQQVNTIGV2ZXJ5dGhpbmcuZmVhdHVyZVNldHRpbmdz
IGlzICJcInRpdGxcIiIKIFBBU1MgZXZlcnl0aGluZy5mYW1pbHkgaXMgIm90aGVyX2ZhbWlseV9u
YW1lIgogUEFTUyBldmVyeXRoaW5nLnN0eWxlIGlzICJub3JtYWwiCiBQQVNTIGV2ZXJ5dGhpbmcu
d2VpZ2h0IGlzICIzMDAiCiBQQVNTIGV2ZXJ5dGhpbmcuc3RyZXRjaCBpcyAiY29uZGVuc2VkIgog
UEFTUyBldmVyeXRoaW5nLnVuaWNvZGVSYW5nZSBpcyAiVSswLTdmIgotUEFTUyBldmVyeXRoaW5n
LnZhcmlhbnQgaXMgInN0YWNrZWQtZnJhY3Rpb25zIgogUEFTUyBldmVyeXRoaW5nLmZlYXR1cmVT
ZXR0aW5ncyBpcyAiXCJzbWNwXCIiCiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAn
dXJsKFwnYXNkZlwnKScsIHt9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgbmV3IEZv
bnRGYWNlKCdmYW1pbHlfbmFtZScsIG5ld0FycmF5QnVmZmVyLCB7fSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWph
dmFzY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlw
dC5odG1sCmluZGV4IDgxYTQzYWI5Yjk1NzI4M2Y3ZTE2ZDg5Y2Q4YmUzNjU5NjgyOThhNjEuLmUz
NWU0NzgxYWEzYjQ2NzVmOTllMDljOWVjYjYxYjNmOGVmNGIwZmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlwdC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlwdC5odG1sCkBAIC0xMCw3ICsxMCw2IEBA
IHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwo
XFwnYXNkZlxcJyknLCB7fSkuc3R5bGUiCiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBGb250
RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcpJywge30pLndlaWdodCIsICJub3Jt
YWwiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScs
ICd1cmwoXFwnYXNkZlxcJyknLCB7fSkuc3RyZXRjaCIsICJub3JtYWwiKTsKIHNob3VsZEJlRXF1
YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJykn
LCB7fSkudW5pY29kZVJhbmdlIiwgIlUrMC0xMGZmZmYiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7fSkudmFy
aWFudCIsICJub3JtYWwiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdm
YW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7fSkuZmVhdHVyZVNldHRpbmdzIiwgIm5v
cm1hbCIpOwogCiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBGb250RmFjZSgnZmFtaWx5X25h
bWUnLCAndXJsKFxcJ2FzZGZcXCcpJywgeydzdHlsZSc6ICdub3JtYWwnfSkuc3R5bGUiLCAibm9y
bWFsIik7CkBAIC0yNywxNyArMjYsMTMgQEAgc2hvdWxkVGhyb3coIm5ldyBGb250RmFjZSgnZmFt
aWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcpJywgeyd3ZWlnaHQnOiAnaW5oZXJpdCcKIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNk
ZlxcJyknLCB7J3N0cmV0Y2gnOiAndWx0cmEtZXhwYW5kZWQnfSkuc3RyZXRjaCIsICJ1bHRyYS1l
eHBhbmRlZCIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9u
YW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHsndW5pY29kZVJhbmdlJzogJ1UrMjYnfSkudW5pY29k
ZVJhbmdlIiwgIlUrMjYtMjYiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNl
KCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7J3VuaWNvZGVSYW5nZSc6ICdVKzAt
N0YnfSkudW5pY29kZVJhbmdlIiwgIlUrMC03ZiIpOwotc2hvdWxkVGhyb3coIm5ldyBGb250RmFj
ZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcpJywgeyd2YXJpYW50JzogJ3ZhcmlhbnRf
bmFtZSd9KS52YXJpYW50Iik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBGb250RmFjZSgn
ZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcpJywgeyd2YXJpYW50JzogJ3NtYWxsLWNhcHMn
fSkudmFyaWFudCIsICJzbWFsbC1jYXBzIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBG
b250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcpJywgeyd2YXJpYW50JzogJ3Nt
YWxsLWNhcHMgY29tbW9uLWxpZ2F0dXJlcyd9KS52YXJpYW50IiwgImNvbW1vbi1saWdhdHVyZXMg
c21hbGwtY2FwcyIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWls
eV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHsnZmVhdHVyZVNldHRpbmdzJzogJ1xcJ3RpdGxc
XCcnfSkuZmVhdHVyZVNldHRpbmdzIiwgIlwidGl0bFwiIik7CiAKLXZhciBldmVyeXRoaW5nID0g
bmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeydzdHlsZSc6ICdp
dGFsaWMnLCAnd2VpZ2h0JzogJ2JvbGQnLCAnc3RyZXRjaCc6ICdleHRyYS1leHBhbmRlZCcsICd1
bmljb2RlUmFuZ2UnOiAnVSsyNicsICd2YXJpYW50JzogJ3NtYWxsLWNhcHMnLCAnZmVhdHVyZVNl
dHRpbmdzJzogJ1wndGl0bFwnJ30pOwordmFyIGV2ZXJ5dGhpbmcgPSBuZXcgRm9udEZhY2UoJ2Zh
bWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3N0eWxlJzogJ2l0YWxpYycsICd3ZWlnaHQn
OiAnYm9sZCcsICdzdHJldGNoJzogJ2V4dHJhLWV4cGFuZGVkJywgJ3VuaWNvZGVSYW5nZSc6ICdV
KzI2JywgJ2ZlYXR1cmVTZXR0aW5ncyc6ICdcJ3RpdGxcJyd9KTsKIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZXZlcnl0aGluZy5zdHlsZSIsICJpdGFsaWMiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZXZlcnl0aGluZy53ZWlnaHQiLCAiYm9sZCIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJl
dmVyeXRoaW5nLnN0cmV0Y2giLCAiZXh0cmEtZXhwYW5kZWQiKTsKIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZXZlcnl0aGluZy51bmljb2RlUmFuZ2UiLCAiVSsyNi0yNiIpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJldmVyeXRoaW5nLnZhcmlhbnQiLCAic21hbGwtY2FwcyIpOwogc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLmZlYXR1cmVTZXR0aW5ncyIsICJcInRpdGxcIiIpOwog
CiBldmVyeXRoaW5nLmZhbWlseSA9ICJvdGhlcl9mYW1pbHlfbmFtZSI7CkBAIC01MCw4ICs0NSw2
IEBAIGV2ZXJ5dGhpbmcuc3RyZXRjaCA9ICJjb25kZW5zZWQiOwogc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJldmVyeXRoaW5nLnN0cmV0Y2giLCAiY29uZGVuc2VkIik7CiBldmVyeXRoaW5nLnVuaWNv
ZGVSYW5nZSA9ICJVKzAtN0YiOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLnVu
aWNvZGVSYW5nZSIsICJVKzAtN2YiKTsKLWV2ZXJ5dGhpbmcudmFyaWFudCA9ICJzdGFja2VkLWZy
YWN0aW9ucyI7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZXJ5dGhpbmcudmFyaWFudCIsICJz
dGFja2VkLWZyYWN0aW9ucyIpOwogZXZlcnl0aGluZy5mZWF0dXJlU2V0dGluZ3MgPSAiJ3NtY3An
IjsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlcnl0aGluZy5mZWF0dXJlU2V0dGluZ3MiLCAi
XCJzbWNwXCIiKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381710</attachid>
            <date>2019-10-23 12:01:37 -0700</date>
            <delta_ts>2019-10-24 17:32:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203179-20191023120137.patch</filename>
            <type>text/plain</type>
            <size>91482</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGQ3NWZlY2IyNzIzNzNi
MzZmYjg5NDdjYTdkMGIwYWFkOTkxN2FlMS4uNmI4YjkwZjc1ZWEyY2I2ZjA1NWY2NDcyYjVhNWVl
OTExM2Q2NzcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE5LTEwLTIyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGZv
bnQtdmFyaWFudCBAZm9udC1mYWNlIGRlc2NyaXB0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIHBlciBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLWRyYWZ0cy9pc3N1ZXMvMjUzMQorCisgICAgICAgIERlbGV0ZWQgcmVsZXZhbnQgdGVzdHMu
CisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Rm9udEZhY2U6OmZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OnNldFZhcmlh
bnRMaWdhdHVyZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OnNl
dFZhcmlhbnRQb3NpdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFj
ZTo6c2V0VmFyaWFudENhcHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZh
Y2U6OnNldFZhcmlhbnROdW1lcmljKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRGYWNlOjpzZXRWYXJpYW50QWx0ZXJuYXRlcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NGb250RmFjZTo6c2V0VmFyaWFudEVhc3RBc2lhbik6IERlbGV0ZWQuCisgICAgICAgICog
Y3NzL0NTU0ZvbnRGYWNlLmg6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU291cmNlOjpsb2FkKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRGYWNlU291cmNlOjpmb250KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZh
Y2VTb3VyY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udEZhY2VSdWxlKToKKyAgICAgICAgKiBj
c3MvRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZhY2U6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250RmFjZTo6c2V0VmFyaWFudCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpGb250RmFjZTo6dmFyaWFudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
Y3NzL0ZvbnRGYWNlLmg6CisgICAgICAgICogY3NzL0ZvbnRGYWNlLmlkbDoKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGb250
OjpjcmVhdGVGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0
YUZyb21DdXN0b21EYXRhKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5oOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFNWR0ZvbnQ6OmNyZWF0ZUZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
U1ZHRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEpOgorICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRTVkdGb250Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleTo6Rm9u
dFBsYXRmb3JtRGF0YUNhY2hlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURh
dGFDYWNoZUtleTo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxh
dGZvcm1EYXRhQ2FjaGVLZXlIYXNoOjpoYXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNo
ZTo6Z2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2Fj
aGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Z2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGFGb3JUZXN0aW5n
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwcmVwYXJlUGxhdGZvcm1Gb250KToKKyAgICAgICAgKFdl
YkNvcmU6OmZvbnRXaXRoRmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Y3Jl
YXRlRm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OnN5c3Rl
bUZhbGxiYWNrRm9yQ2hhcmFjdGVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQ6OmZvbnRSYW5nZXMgY29uc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURh
dGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmg6CisKIDIwMTktMTAtMjIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBub3QgaW5jbHVkZSBJUEMgTWVzc2Fn
ZXMgaGVhZGVycyBpbiBvdGhlciBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcApp
bmRleCBmMWJjZTA3MDEwODg3YjJhY2Y0MGE2Mzg4MzUzMTVmNWFiNDNlMzEzLi45Y2U0NjhkZGM2
ZDcwYjAzMjNhZmQyOTcyYzUzNTY2YWJiOTNiNTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZS5jcHAKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRl
ICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGb250RmFjZS5oIgotI2luY2x1ZGUgIkZv
bnRWYXJpYW50QnVpbGRlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5
bGVCdWlsZGVyQ29udmVydGVyLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCkBAIC0y
NzgsMTQ3ICsyNzcsNiBAQCBib29sIENTU0ZvbnRGYWNlOjpzZXRVbmljb2RlUmFuZ2UoQ1NTVmFs
dWUmIHVuaWNvZGVSYW5nZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDU1NGb250RmFj
ZTo6c2V0VmFyaWFudExpZ2F0dXJlcyhDU1NWYWx1ZSYgdmFyaWFudExpZ2F0dXJlcykKLXsKLSAg
ICBhdXRvIGxpZ2F0dXJlcyA9IGV4dHJhY3RGb250VmFyaWFudExpZ2F0dXJlcyh2YXJpYW50TGln
YXR1cmVzKTsKLQotICAgIGlmIChtX3ZhcmlhbnRTZXR0aW5ncy5jb21tb25MaWdhdHVyZXMgPT0g
bGlnYXR1cmVzLmNvbW1vbkxpZ2F0dXJlcwotICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5k
aXNjcmV0aW9uYXJ5TGlnYXR1cmVzID09IGxpZ2F0dXJlcy5kaXNjcmV0aW9uYXJ5TGlnYXR1cmVz
Ci0gICAgICAgICYmIG1fdmFyaWFudFNldHRpbmdzLmhpc3RvcmljYWxMaWdhdHVyZXMgPT0gbGln
YXR1cmVzLmhpc3RvcmljYWxMaWdhdHVyZXMKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3Mu
Y29udGV4dHVhbEFsdGVybmF0ZXMgPT0gbGlnYXR1cmVzLmNvbnRleHR1YWxBbHRlcm5hdGVzKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fdmFyaWFudFNldHRpbmdzLmNvbW1vbkxpZ2F0
dXJlcyA9IGxpZ2F0dXJlcy5jb21tb25MaWdhdHVyZXM7Ci0gICAgbV92YXJpYW50U2V0dGluZ3Mu
ZGlzY3JldGlvbmFyeUxpZ2F0dXJlcyA9IGxpZ2F0dXJlcy5kaXNjcmV0aW9uYXJ5TGlnYXR1cmVz
OwotICAgIG1fdmFyaWFudFNldHRpbmdzLmhpc3RvcmljYWxMaWdhdHVyZXMgPSBsaWdhdHVyZXMu
aGlzdG9yaWNhbExpZ2F0dXJlczsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5jb250ZXh0dWFsQWx0
ZXJuYXRlcyA9IGxpZ2F0dXJlcy5jb250ZXh0dWFsQWx0ZXJuYXRlczsKLQotICAgIGlmIChtX2Nz
c0Nvbm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRpZXMo
KS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50TGlnYXR1cmVzLCAmdmFyaWFudExp
Z2F0dXJlcyk7Ci0KLSAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNs
aWVudCkgewotICAgICAgICBjbGllbnQuZm9udFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7Ci0gICAg
fSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBDU1NGb250RmFjZTo6c2V0VmFyaWFu
dFBvc2l0aW9uKENTU1ZhbHVlJiB2YXJpYW50UG9zaXRpb24pCi17Ci0gICAgaWYgKCFpczxDU1NQ
cmltaXRpdmVWYWx1ZT4odmFyaWFudFBvc2l0aW9uKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgRm9udFZhcmlhbnRQb3NpdGlvbiBwb3NpdGlvbiA9IGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPih2YXJpYW50UG9zaXRpb24pOwotCi0gICAgaWYgKG1fdmFyaWFudFNldHRpbmdzLnBv
c2l0aW9uID09IHBvc2l0aW9uKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fdmFyaWFu
dFNldHRpbmdzLnBvc2l0aW9uID0gcG9zaXRpb247Ci0KLSAgICBpZiAobV9jc3NDb25uZWN0aW9u
KQotICAgICAgICBtX2Nzc0Nvbm5lY3Rpb24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVy
dHkoQ1NTUHJvcGVydHlGb250VmFyaWFudFBvc2l0aW9uLCAmdmFyaWFudFBvc2l0aW9uKTsKLQot
ICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7Ci0gICAg
ICAgIGNsaWVudC5mb250UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9KTsKLQotICAgIHJl
dHVybiB0cnVlOwotfQotCi1ib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50Q2FwcyhDU1NWYWx1
ZSYgdmFyaWFudENhcHMpCi17Ci0gICAgaWYgKCFpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFyaWFu
dENhcHMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBGb250VmFyaWFudENhcHMgY2Fw
cyA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YXJpYW50Q2Fwcyk7Ci0KLSAgICBpZiAo
bV92YXJpYW50U2V0dGluZ3MuY2FwcyA9PSBjYXBzKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQot
ICAgIG1fdmFyaWFudFNldHRpbmdzLmNhcHMgPSBjYXBzOwotCi0gICAgaWYgKG1fY3NzQ29ubmVj
dGlvbikKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFBy
b3BlcnR5KENTU1Byb3BlcnR5Rm9udFZhcmlhbnRDYXBzLCAmdmFyaWFudENhcHMpOwotCi0gICAg
aXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKLSAgICAgICAg
Y2xpZW50LmZvbnRQcm9wZXJ0eUNoYW5nZWQoKnRoaXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KLWJvb2wgQ1NTRm9udEZhY2U6OnNldFZhcmlhbnROdW1lcmljKENTU1ZhbHVl
JiB2YXJpYW50TnVtZXJpYykKLXsKLSAgICBhdXRvIG51bWVyaWMgPSBleHRyYWN0Rm9udFZhcmlh
bnROdW1lcmljKHZhcmlhbnROdW1lcmljKTsKLQotICAgIGlmIChtX3ZhcmlhbnRTZXR0aW5ncy5u
dW1lcmljRmlndXJlID09IG51bWVyaWMuZmlndXJlCi0gICAgICAgICYmIG1fdmFyaWFudFNldHRp
bmdzLm51bWVyaWNTcGFjaW5nID09IG51bWVyaWMuc3BhY2luZwotICAgICAgICAmJiBtX3Zhcmlh
bnRTZXR0aW5ncy5udW1lcmljRnJhY3Rpb24gPT0gbnVtZXJpYy5mcmFjdGlvbgotICAgICAgICAm
JiBtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmljT3JkaW5hbCA9PSBudW1lcmljLm9yZGluYWwKLSAg
ICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3MubnVtZXJpY1NsYXNoZWRaZXJvID09IG51bWVyaWMu
c2xhc2hlZFplcm8pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgbV92YXJpYW50U2V0dGlu
Z3MubnVtZXJpY0ZpZ3VyZSA9IG51bWVyaWMuZmlndXJlOwotICAgIG1fdmFyaWFudFNldHRpbmdz
Lm51bWVyaWNTcGFjaW5nID0gbnVtZXJpYy5zcGFjaW5nOwotICAgIG1fdmFyaWFudFNldHRpbmdz
Lm51bWVyaWNGcmFjdGlvbiA9IG51bWVyaWMuZnJhY3Rpb247Ci0gICAgbV92YXJpYW50U2V0dGlu
Z3MubnVtZXJpY09yZGluYWwgPSBudW1lcmljLm9yZGluYWw7Ci0gICAgbV92YXJpYW50U2V0dGlu
Z3MubnVtZXJpY1NsYXNoZWRaZXJvID0gbnVtZXJpYy5zbGFzaGVkWmVybzsKLQotICAgIGlmICht
X2Nzc0Nvbm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRp
ZXMoKS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50TnVtZXJpYywgJnZhcmlhbnRO
dW1lcmljKTsKLQotICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xp
ZW50KSB7Ci0gICAgICAgIGNsaWVudC5mb250UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9
KTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50
QWx0ZXJuYXRlcyhDU1NWYWx1ZSYgdmFyaWFudEFsdGVybmF0ZXMpCi17Ci0gICAgaWYgKCFpczxD
U1NQcmltaXRpdmVWYWx1ZT4odmFyaWFudEFsdGVybmF0ZXMpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBGb250VmFyaWFudEFsdGVybmF0ZXMgYWx0ZXJuYXRlcyA9IGRvd25jYXN0PENT
U1ByaW1pdGl2ZVZhbHVlPih2YXJpYW50QWx0ZXJuYXRlcyk7Ci0KLSAgICBpZiAobV92YXJpYW50
U2V0dGluZ3MuYWx0ZXJuYXRlcyA9PSBhbHRlcm5hdGVzKQotICAgICAgICByZXR1cm4gdHJ1ZTsK
LQotICAgIG1fdmFyaWFudFNldHRpbmdzLmFsdGVybmF0ZXMgPSBhbHRlcm5hdGVzOwotCi0gICAg
aWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uLT5tdXRhYmxlUHJv
cGVydGllcygpLnNldFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFZhcmlhbnRBbHRlcm5hdGVzLCAm
dmFyaWFudEFsdGVybmF0ZXMpOwotCi0gICAgaXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0o
Q2xpZW50JiBjbGllbnQpIHsKLSAgICAgICAgY2xpZW50LmZvbnRQcm9wZXJ0eUNoYW5nZWQoKnRo
aXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgQ1NTRm9udEZhY2U6
OnNldFZhcmlhbnRFYXN0QXNpYW4oQ1NTVmFsdWUmIHZhcmlhbnRFYXN0QXNpYW4pCi17Ci0gICAg
YXV0byBlYXN0QXNpYW4gPSBleHRyYWN0Rm9udFZhcmlhbnRFYXN0QXNpYW4odmFyaWFudEVhc3RB
c2lhbik7Ci0KLSAgICBpZiAobV92YXJpYW50U2V0dGluZ3MuZWFzdEFzaWFuVmFyaWFudCA9PSBl
YXN0QXNpYW4udmFyaWFudAotICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0QXNpYW5X
aWR0aCA9PSBlYXN0QXNpYW4ud2lkdGgKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3MuZWFz
dEFzaWFuUnVieSA9PSBlYXN0QXNpYW4ucnVieSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAg
ICBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0QXNpYW5WYXJpYW50ID0gZWFzdEFzaWFuLnZhcmlhbnQ7
Ci0gICAgbV92YXJpYW50U2V0dGluZ3MuZWFzdEFzaWFuV2lkdGggPSBlYXN0QXNpYW4ud2lkdGg7
Ci0gICAgbV92YXJpYW50U2V0dGluZ3MuZWFzdEFzaWFuUnVieSA9IGVhc3RBc2lhbi5ydWJ5Owot
Ci0gICAgaWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uLT5tdXRh
YmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFZhcmlhbnRFYXN0QXNp
YW4sICZ2YXJpYW50RWFzdEFzaWFuKTsKLQotICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywg
WyZdKENsaWVudCYgY2xpZW50KSB7Ci0gICAgICAgIGNsaWVudC5mb250UHJvcGVydHlDaGFuZ2Vk
KCp0aGlzKTsKLSAgICB9KTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIENTU0ZvbnRG
YWNlOjpzZXRGZWF0dXJlU2V0dGluZ3MoQ1NTVmFsdWUmIGZlYXR1cmVTZXR0aW5ncykKIHsKICAg
ICAvLyBDYW4gb25seSBjYWxsIHRoaXMgd2l0aCBhIHByaW1pdGl2ZSB2YWx1ZSBvZiBub3JtYWws
IG9yIGEgdmFsdWUgbGlzdCBjb250YWluaW5nIGZvbnQgZmVhdHVyZSB2YWx1ZXMuCkBAIC04MTMs
NyArNjcxLDcgQEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlOjpmb250KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIHN5bnQKICAgICAgICAgICAgIHJldHVybiBG
b250OjpjcmVhdGUoRm9udENhY2hlOjpzaW5nbGV0b24oKS5sYXN0UmVzb3J0RmFsbGJhY2tGb250
KGZvbnREZXNjcmlwdGlvbiktPnBsYXRmb3JtRGF0YSgpLCBGb250OjpPcmlnaW46OkxvY2FsLCBG
b250OjpJbnRlcnN0aXRpYWw6OlllcywgdmlzaWJpbGl0eSk7CiAgICAgICAgIH0KICAgICAgICAg
Y2FzZSBDU1NGb250RmFjZVNvdXJjZTo6U3RhdHVzOjpTdWNjZXNzOgotICAgICAgICAgICAgaWYg
KFJlZlB0cjxGb250PiByZXN1bHQgPSBzb3VyY2UtPmZvbnQoZm9udERlc2NyaXB0aW9uLCBzeW50
aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIG1fZmVhdHVyZVNldHRpbmdzLCBtX3ZhcmlhbnRT
ZXR0aW5ncywgbV9mb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzKSkKKyAgICAgICAgICAgIGlmIChS
ZWZQdHI8Rm9udD4gcmVzdWx0ID0gc291cmNlLT5mb250KGZvbnREZXNjcmlwdGlvbiwgc3ludGhl
dGljQm9sZCwgc3ludGhldGljSXRhbGljLCBtX2ZlYXR1cmVTZXR0aW5ncywgbV9mb250U2VsZWN0
aW9uQ2FwYWJpbGl0aWVzKSkKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTRm9udEZhY2VTb3VyY2U6OlN0YXR1czo6RmFp
bHVyZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKaW5kZXggNzcxNDMwMGFjZmMyNTM5OTEzNDhm
NWZhYTFjMmI3NTIzNWYyNjM0YS4uODU5OTdhZGQyMDllYzEzN2U3NTRjMTI0ZTgwMzc1NTFhNWM1
NDdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKQEAgLTY5LDEyICs2OSw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFdlaWdodChDU1NWYWx1ZSYpOwogICAgIHZvaWQgc2V0U3RyZXRjaChD
U1NWYWx1ZSYpOwogICAgIGJvb2wgc2V0VW5pY29kZVJhbmdlKENTU1ZhbHVlJik7Ci0gICAgYm9v
bCBzZXRWYXJpYW50TGlnYXR1cmVzKENTU1ZhbHVlJik7Ci0gICAgYm9vbCBzZXRWYXJpYW50UG9z
aXRpb24oQ1NTVmFsdWUmKTsKLSAgICBib29sIHNldFZhcmlhbnRDYXBzKENTU1ZhbHVlJik7Ci0g
ICAgYm9vbCBzZXRWYXJpYW50TnVtZXJpYyhDU1NWYWx1ZSYpOwotICAgIGJvb2wgc2V0VmFyaWFu
dEFsdGVybmF0ZXMoQ1NTVmFsdWUmKTsKLSAgICBib29sIHNldFZhcmlhbnRFYXN0QXNpYW4oQ1NT
VmFsdWUmKTsKICAgICB2b2lkIHNldEZlYXR1cmVTZXR0aW5ncyhDU1NWYWx1ZSYpOwogICAgIHZv
aWQgc2V0TG9hZGluZ0JlaGF2aW9yKENTU1ZhbHVlJik7CiAKQEAgLTg3LDkgKzgxLDcgQEAgcHVi
bGljOgogICAgIEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMgZm9udFNlbGVjdGlvbkNhcGFiaWxp
dGllcygpIGNvbnN0IHsgcmV0dXJuIG1fZm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcy5jb21wdXRl
Rm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcygpOyB9CiAgICAgY29uc3QgVmVjdG9yPFVuaWNvZGVS
YW5nZT4mIHJhbmdlcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFuZ2VzOyB9CiAgICAgY29uc3QgRm9u
dEZlYXR1cmVTZXR0aW5ncyYgZmVhdHVyZVNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0
dXJlU2V0dGluZ3M7IH0KLSAgICBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiB2YXJpYW50U2V0
dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhbnRTZXR0aW5nczsgfQogICAgIEZvbnRMb2Fk
aW5nQmVoYXZpb3IgbG9hZGluZ0JlaGF2aW9yKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkaW5nQmVo
YXZpb3I7IH0KLSAgICB2b2lkIHNldFZhcmlhbnRTZXR0aW5ncyhjb25zdCBGb250VmFyaWFudFNl
dHRpbmdzJiB2YXJpYW50U2V0dGluZ3MpIHsgbV92YXJpYW50U2V0dGluZ3MgPSB2YXJpYW50U2V0
dGluZ3M7IH0KICAgICB2b2lkIHNldFdlaWdodChGb250U2VsZWN0aW9uUmFuZ2Ugd2VpZ2h0KSB7
IG1fZm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcy53ZWlnaHQgPSB3ZWlnaHQ7IH0KICAgICB2b2lk
IHNldFN0cmV0Y2goRm9udFNlbGVjdGlvblJhbmdlIHN0cmV0Y2gpIHsgbV9mb250U2VsZWN0aW9u
Q2FwYWJpbGl0aWVzLndpZHRoID0gc3RyZXRjaDsgfQogICAgIHZvaWQgc2V0U3R5bGUoRm9udFNl
bGVjdGlvblJhbmdlIGl0YWxpYykgeyBtX2ZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMuc2xvcGUg
PSBpdGFsaWM7IH0KQEAgLTE4NSw3ICsxNzcsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxVbmlj
b2RlUmFuZ2U+IG1fcmFuZ2VzOwogCiAgICAgRm9udEZlYXR1cmVTZXR0aW5ncyBtX2ZlYXR1cmVT
ZXR0aW5nczsKLSAgICBGb250VmFyaWFudFNldHRpbmdzIG1fdmFyaWFudFNldHRpbmdzOwogICAg
IEZvbnRMb2FkaW5nQmVoYXZpb3IgbV9sb2FkaW5nQmVoYXZpb3IgeyBGb250TG9hZGluZ0JlaGF2
aW9yOjpBdXRvIH07CiAKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENTU0ZvbnRGYWNlU291
cmNlPiwgMCwgQ3Jhc2hPbk92ZXJmbG93LCAwPiBtX3NvdXJjZXM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU291cmNlLmNwcAppbmRleCA4ODAyNjA2ZmMzN2Q4YzQ5NDBhZjBiOTZkZTgz
M2NiYzY5N2U1MzY1Li5mNDI3ZmZiYWQ3MjNmOGJmNWViODgyOTdkZDg5MTUzZDczMGFkZjZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKQEAgLTE3OSw3ICsxNzks
NyBAQCB2b2lkIENTU0ZvbnRGYWNlU291cmNlOjpsb2FkKENTU0ZvbnRTZWxlY3RvciogZm9udFNl
bGVjdG9yKQogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldE9uZUZhbWlseShtX2ZhbWls
eU5hbWVPclVSSSk7CiAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXpl
KDEpOwogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKG1fZmFjZS5hbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKLSAgICAgICAgICAg
IHN1Y2Nlc3MgPSBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2Ny
aXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwgbnVsbHB0ciwgbnVsbHB0ciwgRm9udFNlbGVjdGlv
blNwZWNpZmllZENhcGFiaWxpdGllcygpLCB0cnVlKTsKKyAgICAgICAgICAgIHN1Y2Nlc3MgPSBG
b250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBtX2Zh
bWlseU5hbWVPclVSSSwgbnVsbHB0ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cygpLCB0cnVlKTsKICAgICAgICAgICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLndlYkFQSVN0YXRpc3RpY3NFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAg
ICBpZiAoYXV0byogZG9jdW1lbnQgPSBmb250U2VsZWN0b3ItPmRvY3VtZW50KCkpCiAgICAgICAg
ICAgICAgICAgICAgIFJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWQoKS5sb2dGb250TG9hZCgq
ZG9jdW1lbnQsIG1fZmFtaWx5TmFtZU9yVVJJLnN0cmluZygpLCBzdWNjZXNzKTsKQEAgLTE4OSw3
ICsxODksNyBAQCB2b2lkIENTU0ZvbnRGYWNlU291cmNlOjpsb2FkKENTU0ZvbnRTZWxlY3Rvciog
Zm9udFNlbGVjdG9yKQogICAgIH0KIH0KIAotUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlU291cmNl
Ojpmb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIHN5bnRo
ZXRpY0JvbGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdz
JiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZh
cmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFj
ZUNhcGFiaWxpdGllcykKK1JlZlB0cjxGb250PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25z
dCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VG
ZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFi
aWxpdGllcykKIHsKICAgICBBU1NFUlQoc3RhdHVzKCkgPT0gU3RhdHVzOjpTdWNjZXNzKTsKIApA
QCAtMjAzLDEyICsyMDMsMTIgQEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlU291cmNlOjpmb250
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib28KICAgICAgICAgaWYg
KG1faW1tZWRpYXRlU291cmNlKSB7CiAgICAgICAgICAgICBpZiAoIW1faW1tZWRpYXRlRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAg
ICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1
c3RvbURhdGEoKm1faW1tZWRpYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YSwgZm9udERlc2NyaXB0
aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZv
bnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZvbnQ6Ok9yaWdp
bjo6UmVtb3RlKTsKKyAgICAgICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoQ2FjaGVkRm9udDo6
cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoKm1faW1tZWRpYXRlRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSwgZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZv
bnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKSwgRm9udDo6T3JpZ2luOjpSZW1v
dGUpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gV2UncmUgbG9jYWwuIEp1c3QgcmV0dXJuIGEg
Rm9udCBmcm9tIHRoZSBub3JtYWwgY2FjaGUuCiAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8g
Y2hlY2sgYWx0ZXJuYXRlIGZvbnQgZmFtaWx5IG5hbWVzIGhlcmUsIHNvIHBhc3MgdHJ1ZSBhcyB0
aGUgY2hlY2tpbmdBbHRlcm5hdGVOYW1lIHBhcmFtZXRlci4KLSAgICAgICAgcmV0dXJuIEZvbnRD
YWNoZTo6c2luZ2xldG9uKCkuZm9udEZvckZhbWlseShmb250RGVzY3JpcHRpb24sIG1fZmFtaWx5
TmFtZU9yVVJJLCAmZm9udEZhY2VGZWF0dXJlcywgJmZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBm
b250RmFjZUNhcGFiaWxpdGllcywgdHJ1ZSk7CisgICAgICAgIHJldHVybiBGb250Q2FjaGU6OnNp
bmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVPclVS
SSwgJmZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCB0cnVlKTsKICAgICB9
CiAKICAgICBpZiAobV9mb250KSB7CkBAIC0yMTYsNyArMjE2LDcgQEAgUmVmUHRyPEZvbnQ+IENT
U0ZvbnRGYWNlU291cmNlOjpmb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0
aW9uLCBib28KICAgICAgICAgQVNTRVJUX1VOVVNFRChzdWNjZXNzLCBzdWNjZXNzKTsKIAogICAg
ICAgICBBU1NFUlQoc3RhdHVzKCkgPT0gU3RhdHVzOjpTdWNjZXNzKTsKLSAgICAgICAgYXV0byBy
ZXN1bHQgPSBtX2ZvbnQtPmNyZWF0ZUZvbnQoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVP
clVSSSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBm
b250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgICAgICBh
dXRvIHJlc3VsdCA9IG1fZm9udC0+Y3JlYXRlRm9udChmb250RGVzY3JpcHRpb24sIG1fZmFtaWx5
TmFtZU9yVVJJLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVy
ZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKICAgICAgICAgQVNTRVJUKHJlc3VsdCk7CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpAQCAtMjI5LDcgKzIyOSw3IEBAIFJlZlB0cjxGb250
PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgYm9vCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghbV9pbkRvY3Vt
ZW50Q3VzdG9tUGxhdGZvcm1EYXRhKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICByZXR1
cm4gRm9udDo6Y3JlYXRlKG1faW5Eb2N1bWVudEN1c3RvbVBsYXRmb3JtRGF0YS0+Zm9udFBsYXRm
b3JtRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywg
Zm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJp
bGl0aWVzKSwgRm9udDo6T3JpZ2luOjpSZW1vdGUpOworICAgIHJldHVybiBGb250OjpjcmVhdGUo
bV9pbkRvY3VtZW50Q3VzdG9tUGxhdGZvcm1EYXRhLT5mb250UGxhdGZvcm1EYXRhKGZvbnREZXNj
cmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVz
LCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZvbnQ6Ok9yaWdpbjo6UmVtb3RlKTsKICNlbmRpZgog
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNv
dXJjZS5oCmluZGV4IDI5MWIyNDgwOTI2MzdmY2I0Yzc3MDhmNDUzNzc3NjA5MThlZDRkMzUuLmU0
YTJlZDk2ODYyMjE3OGE4OTkyN2EzZTJlYzNiOTk1YzY4ZjI5NTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNvdXJjZS5oCkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IG9wcG9ydHVuaXN0aWNhbGx5U3RhcnRGb250RGF0YVVSTExvYWRpbmcoQ1NTRm9udFNlbGVjdG9y
Jik7CiAKICAgICB2b2lkIGxvYWQoQ1NTRm9udFNlbGVjdG9yKik7Ci0gICAgUmVmUHRyPEZvbnQ+
IGZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5
bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJp
YW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICBS
ZWZQdHI8Rm9udD4gZm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIHN5bnRoZXRpY0Jv
bGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7CiAKICAgICBib29sIHJlcXVpcmVzRXh0
ZXJuYWxSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udDsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDVlYjhiYTQ0NGQxNzdkYjc0MGU0NzhhOWQwNjQ2
NjcwZDJkMTU2YTQuLjY2ZWQ0MjgxN2RmM2ZhMDdmMzQ0NWMyMjZhMGRjMGU1ZDNiZTNiYjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCkBAIC0xNjMsMTIgKzE2Myw2IEBA
IHZvaWQgQ1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2Um
IGZvbnRGYWNlUnVsZSwgYm9vbCBpc0luCiAgICAgUmVmUHRyPENTU1ZhbHVlPiBzcmMgPSBzdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5U3JjKTsKICAgICBSZWZQdHI8Q1NTVmFs
dWU+IHVuaWNvZGVSYW5nZSA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlV
bmljb2RlUmFuZ2UpOwogICAgIFJlZlB0cjxDU1NWYWx1ZT4gZmVhdHVyZVNldHRpbmdzID0gc3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRGZWF0dXJlU2V0dGluZ3MpOwot
ICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFyaWFudExpZ2F0dXJlcyA9IHN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJlcyk7Ci0gICAgUmVmUHRyPENT
U1ZhbHVlPiB2YXJpYW50UG9zaXRpb24gPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1By
b3BlcnR5Rm9udFZhcmlhbnRQb3NpdGlvbik7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2YXJpYW50
Q2FwcyA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudENh
cHMpOwotICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFyaWFudE51bWVyaWMgPSBzdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnROdW1lcmljKTsKLSAgICBSZWZQdHI8
Q1NTVmFsdWU+IHZhcmlhbnRBbHRlcm5hdGVzID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShD
U1NQcm9wZXJ0eUZvbnRWYXJpYW50QWx0ZXJuYXRlcyk7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2
YXJpYW50RWFzdEFzaWFuID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZv
bnRWYXJpYW50RWFzdEFzaWFuKTsKICAgICBSZWZQdHI8Q1NTVmFsdWU+IGxvYWRpbmdCZWhhdmlv
ciA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250RGlzcGxheSk7CiAg
ICAgaWYgKCFpczxDU1NWYWx1ZUxpc3Q+KGZvbnRGYW1pbHkpIHx8ICFpczxDU1NWYWx1ZUxpc3Q+
KHNyYykgfHwgKHVuaWNvZGVSYW5nZSAmJiAhaXM8Q1NTVmFsdWVMaXN0PigqdW5pY29kZVJhbmdl
KSkpCiAgICAgICAgIHJldHVybjsKQEAgLTE5NiwxOCArMTkwLDYgQEAgdm9pZCBDU1NGb250U2Vs
ZWN0b3I6OmFkZEZvbnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSYgZm9udEZhY2VSdWxlLCBi
b29sIGlzSW4KICAgICAgICAgZm9udEZhY2UtPnNldFN0cmV0Y2goKmZvbnRTdHJldGNoKTsKICAg
ICBpZiAocmFuZ2VMaXN0ICYmICFmb250RmFjZS0+c2V0VW5pY29kZVJhbmdlKCpyYW5nZUxpc3Qp
KQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKHZhcmlhbnRMaWdhdHVyZXMgJiYgIWZvbnRGYWNl
LT5zZXRWYXJpYW50TGlnYXR1cmVzKCp2YXJpYW50TGlnYXR1cmVzKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIGlmICh2YXJpYW50UG9zaXRpb24gJiYgIWZvbnRGYWNlLT5zZXRWYXJpYW50UG9zaXRp
b24oKnZhcmlhbnRQb3NpdGlvbikpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAodmFyaWFudENh
cHMgJiYgIWZvbnRGYWNlLT5zZXRWYXJpYW50Q2FwcygqdmFyaWFudENhcHMpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKHZhcmlhbnROdW1lcmljICYmICFmb250RmFjZS0+c2V0VmFyaWFudE51
bWVyaWMoKnZhcmlhbnROdW1lcmljKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICh2YXJpYW50
QWx0ZXJuYXRlcyAmJiAhZm9udEZhY2UtPnNldFZhcmlhbnRBbHRlcm5hdGVzKCp2YXJpYW50QWx0
ZXJuYXRlcykpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAodmFyaWFudEVhc3RBc2lhbiAmJiAh
Zm9udEZhY2UtPnNldFZhcmlhbnRFYXN0QXNpYW4oKnZhcmlhbnRFYXN0QXNpYW4pKQotICAgICAg
ICByZXR1cm47CiAgICAgaWYgKGZlYXR1cmVTZXR0aW5ncykKICAgICAgICAgZm9udEZhY2UtPnNl
dEZlYXR1cmVTZXR0aW5ncygqZmVhdHVyZVNldHRpbmdzKTsKICAgICBpZiAobG9hZGluZ0JlaGF2
aW9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKaW5kZXggYTJlOTNlOGVkY2E5NWZhMmRlYTYyODM5
MTVjYmVlMDk5NTUwZWI0OS4uNDk1YzBjZDIxMjY0NjY0YzZhMzdhY2FhOGZjNDA1Njg5NGE0YWFh
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAi
Q1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKLSNpbmNsdWRlICJGb250VmFyaWFudEJ1aWxkZXIuaCIKICNpbmNsdWRlICJK
U0ZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiUXVpcmtzLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0
aWVzLmgiCkBAIC0xMDEsOSArMTAwLDYgQEAgRXhjZXB0aW9uT3I8UmVmPEZvbnRGYWNlPj4gRm9u
dEZhY2U6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZmEKICAgICBh
dXRvIHNldFVuaWNvZGVSYW5nZVJlc3VsdCA9IHJlc3VsdC0+c2V0VW5pY29kZVJhbmdlKGRlc2Ny
aXB0b3JzLnVuaWNvZGVSYW5nZS5pc0VtcHR5KCkgPyAiVSswLTEwRkZGRiJfcyA6IGRlc2NyaXB0
b3JzLnVuaWNvZGVSYW5nZSk7CiAgICAgaWYgKHNldFVuaWNvZGVSYW5nZVJlc3VsdC5oYXNFeGNl
cHRpb24oKSkKICAgICAgICAgcmV0dXJuIHNldFVuaWNvZGVSYW5nZVJlc3VsdC5yZWxlYXNlRXhj
ZXB0aW9uKCk7Ci0gICAgYXV0byBzZXRWYXJpYW50UmVzdWx0ID0gcmVzdWx0LT5zZXRWYXJpYW50
KGRlc2NyaXB0b3JzLnZhcmlhbnQuaXNFbXB0eSgpID8gIm5vcm1hbCJfcyA6IGRlc2NyaXB0b3Jz
LnZhcmlhbnQpOwotICAgIGlmIChzZXRWYXJpYW50UmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQotICAg
ICAgICByZXR1cm4gc2V0VmFyaWFudFJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgYXV0
byBzZXRGZWF0dXJlU2V0dGluZ3NSZXN1bHQgPSByZXN1bHQtPnNldEZlYXR1cmVTZXR0aW5ncyhk
ZXNjcmlwdG9ycy5mZWF0dXJlU2V0dGluZ3MuaXNFbXB0eSgpID8gIm5vcm1hbCJfcyA6IGRlc2Ny
aXB0b3JzLmZlYXR1cmVTZXR0aW5ncyk7CiAgICAgaWYgKHNldEZlYXR1cmVTZXR0aW5nc1Jlc3Vs
dC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIHNldEZlYXR1cmVTZXR0aW5nc1Jlc3Vs
dC5yZWxlYXNlRXhjZXB0aW9uKCk7CkBAIC0yMTgsNjEgKzIxNCw2IEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IEZvbnRGYWNlOjpzZXRVbmljb2RlUmFuZ2UoY29uc3QgU3RyaW5nJiB1bmljb2RlUmFuZ2Up
CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gRm9udEZhY2U6OnNldFZh
cmlhbnQoY29uc3QgU3RyaW5nJiB2YXJpYW50KQotewotICAgIGlmICh2YXJpYW50LmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07Ci0KLSAgICBhdXRv
IHN0eWxlID0gTXV0YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7Ci0gICAgYXV0byByZXN1
bHQgPSBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoc3R5bGUsIENTU1Byb3BlcnR5Rm9udFZhcmlhbnQs
IHZhcmlhbnQsIHRydWUsIEhUTUxTdGFuZGFyZE1vZGUpOwotICAgIGlmIChyZXN1bHQgPT0gQ1NT
UGFyc2VyOjpQYXJzZVJlc3VsdDo6RXJyb3IpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBT
eW50YXhFcnJvciB9OwotCi0gICAgLy8gRklYTUU6IFdvdWxkIGJlIG11Y2ggYmV0dGVyIHRvIHN0
YWdlIHRoZSBuZXcgc2V0dGluZ3MgYW5kIHNldCB0aGVtIGFsbCBhdCBvbmNlCi0gICAgLy8gaW5z
dGVhZCBvZiB0aGlzIGRhbmNlIHdoZXJlIHdlIG1ha2UgYSBiYWNrdXAgYW5kIHJldmVydCB0byBp
dCBpZiBzb21ldGhpbmcgZmFpbHMuCi0gICAgRm9udFZhcmlhbnRTZXR0aW5ncyBiYWNrdXAgPSBt
X2JhY2tpbmctPnZhcmlhbnRTZXR0aW5ncygpOwotCi0gICAgYXV0byBub3JtYWwgPSBDU1NWYWx1
ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCk7
Ci0gICAgYm9vbCBzdWNjZXNzID0gdHJ1ZTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUt
PmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJlcykpCi0g
ICAgICAgIHN1Y2Nlc3MgJj0gbV9iYWNraW5nLT5zZXRWYXJpYW50TGlnYXR1cmVzKCp2YWx1ZSk7
Ci0gICAgZWxzZQotICAgICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRMaWdhdHVyZXMobm9ybWFs
KTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NT
UHJvcGVydHlGb250VmFyaWFudFBvc2l0aW9uKSkKLSAgICAgICAgc3VjY2VzcyAmPSBtX2JhY2tp
bmctPnNldFZhcmlhbnRQb3NpdGlvbigqdmFsdWUpOwotICAgIGVsc2UKLSAgICAgICAgbV9iYWNr
aW5nLT5zZXRWYXJpYW50UG9zaXRpb24obm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0g
c3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudENhcHMpKQot
ICAgICAgICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFyaWFudENhcHMoKnZhbHVlKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFyaWFudENhcHMobm9ybWFsKTsKLQotICAg
IGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlG
b250VmFyaWFudE51bWVyaWMpKQotICAgICAgICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFy
aWFudE51bWVyaWMoKnZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFy
aWFudE51bWVyaWMobm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFBy
b3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudEFsdGVybmF0ZXMpKQotICAgICAg
ICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFyaWFudEFsdGVybmF0ZXMoKnZhbHVlKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFyaWFudEFsdGVybmF0ZXMobm9ybWFsKTsK
LQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJv
cGVydHlGb250VmFyaWFudEVhc3RBc2lhbikpCi0gICAgICAgIHN1Y2Nlc3MgJj0gbV9iYWNraW5n
LT5zZXRWYXJpYW50RWFzdEFzaWFuKCp2YWx1ZSk7Ci0gICAgZWxzZQotICAgICAgICBtX2JhY2tp
bmctPnNldFZhcmlhbnRFYXN0QXNpYW4obm9ybWFsKTsKLQotICAgIGlmICghc3VjY2Vzcykgewot
ICAgICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRTZXR0aW5ncyhiYWNrdXApOwotICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IgfTsKLSAgICB9Ci0KLSAgICByZXR1cm4geyB9
OwotfQotCiBFeGNlcHRpb25Pcjx2b2lkPiBGb250RmFjZTo6c2V0RmVhdHVyZVNldHRpbmdzKGNv
bnN0IFN0cmluZyYgZmVhdHVyZVNldHRpbmdzKQogewogICAgIGlmIChmZWF0dXJlU2V0dGluZ3Mu
aXNFbXB0eSgpKQpAQCAtNDAyLDEyICszNDMsNiBAQCBTdHJpbmcgRm9udEZhY2U6OnVuaWNvZGVS
YW5nZSgpIGNvbnN0CiAgICAgcmV0dXJuIHZhbHVlcy0+Y3NzVGV4dCgpOwogfQogCi1TdHJpbmcg
Rm9udEZhY2U6OnZhcmlhbnQoKSBjb25zdAotewotICAgIG1fYmFja2luZy0+dXBkYXRlU3R5bGVJ
Zk5lZWRlZCgpOwotICAgIHJldHVybiBjb21wdXRlRm9udFZhcmlhbnQobV9iYWNraW5nLT52YXJp
YW50U2V0dGluZ3MoKSktPmNzc1RleHQoKTsKLX0KLQogU3RyaW5nIEZvbnRGYWNlOjpmZWF0dXJl
U2V0dGluZ3MoKSBjb25zdAogewogICAgIG1fYmFja2luZy0+dXBkYXRlU3R5bGVJZk5lZWRlZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZhY2UuaAppbmRleCBkYzdiMWFjNjliYzUwMzIzYjc3NmU5ZTFlZDg4MDJh
NGFjMTFhMGU3Li5jYmVkYTVjNjQ0YWQwN2I2MTc4NGFmYWI4ZWFlYTM1OWVmMDBhYmU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udEZhY2UuaApAQCAtNDgsNyArNDgsNiBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmlu
ZyB3ZWlnaHQ7CiAgICAgICAgIFN0cmluZyBzdHJldGNoOwogICAgICAgICBTdHJpbmcgdW5pY29k
ZVJhbmdlOwotICAgICAgICBTdHJpbmcgdmFyaWFudDsKICAgICAgICAgU3RyaW5nIGZlYXR1cmVT
ZXR0aW5nczsKICAgICAgICAgU3RyaW5nIGRpc3BsYXk7CiAgICAgfTsKQEAgLTYzLDcgKzYyLDYg
QEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFdlaWdodChjb25zdCBTdHJpbmcm
KTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRTdHJldGNoKGNvbnN0IFN0cmluZyYpOwogICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFVuaWNvZGVSYW5nZShjb25zdCBTdHJpbmcmKTsKLSAgICBF
eGNlcHRpb25Pcjx2b2lkPiBzZXRWYXJpYW50KGNvbnN0IFN0cmluZyYpOwogICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldEZlYXR1cmVTZXR0aW5ncyhjb25zdCBTdHJpbmcmKTsKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzZXREaXNwbGF5KGNvbnN0IFN0cmluZyYpOwogCkBAIC03Miw3ICs3MCw2IEBA
IHB1YmxpYzoKICAgICBTdHJpbmcgd2VpZ2h0KCkgY29uc3Q7CiAgICAgU3RyaW5nIHN0cmV0Y2go
KSBjb25zdDsKICAgICBTdHJpbmcgdW5pY29kZVJhbmdlKCkgY29uc3Q7Ci0gICAgU3RyaW5nIHZh
cmlhbnQoKSBjb25zdDsKICAgICBTdHJpbmcgZmVhdHVyZVNldHRpbmdzKCkgY29uc3Q7CiAgICAg
U3RyaW5nIGRpc3BsYXkoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0ZvbnRGYWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5pZGwKaW5kZXggMjAw
MmQzMzhmMzA3MGVkOTNmMmIzMzg2ZmYzZjA4Y2ZlMDBmNDJlNy4uMmNiYzA3ZTZlYzkwMzNlNjk5
NzgxMTZmNjdmNmI1ZDMxN2FlZmNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRGYWNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaWRsCkBAIC0zNyw3
ICszNyw2IEBAIGRpY3Rpb25hcnkgRm9udEZhY2VEZXNjcmlwdG9ycyB7CiAgICAgRE9NU3RyaW5n
IHdlaWdodCA9ICJub3JtYWwiOwogICAgIERPTVN0cmluZyBzdHJldGNoID0gIm5vcm1hbCI7CiAg
ICAgRE9NU3RyaW5nIHVuaWNvZGVSYW5nZSA9ICJVKzAtMTBGRkZGIjsKLSAgICBET01TdHJpbmcg
dmFyaWFudCA9ICJub3JtYWwiOwogICAgIERPTVN0cmluZyBmZWF0dXJlU2V0dGluZ3MgPSAibm9y
bWFsIjsKICAgICBET01TdHJpbmcgZGlzcGxheSA9ICJhdXRvIjsKIH07CkBAIC01Miw3ICs1MSw2
IEBAIGRpY3Rpb25hcnkgRm9udEZhY2VEZXNjcmlwdG9ycyB7CiAgICAgYXR0cmlidXRlIERPTVN0
cmluZyB3ZWlnaHQ7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJldGNoOwogICAgIGF0dHJp
YnV0ZSBET01TdHJpbmcgdW5pY29kZVJhbmdlOwotICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFy
aWFudDsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZlYXR1cmVTZXR0aW5nczsKICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGRpc3BsYXk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRGb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRGb250LmNwcAppbmRleCAwODUxNTA4NTRhNzUyMjE5OTU3YzAyOWY0ODEyNDY5ODg1MjRi
OGMyLi4zZjQ2OTljZjgzMjk4ZjA0ZTI3NGFlMDBlZjk1YTU1NDc1YTY1ZjNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCkBAIC0xMjQsMjAgKzEyNCwyMCBA
QCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4gQ2FjaGVkRm9udDo6Y3Jl
YXRlQ3VzdG9tRm9udERhdGEoU2hhcmVkQgogICAgIHJldHVybiBjcmVhdGVGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKGJ5dGVzLCBpdGVtSW5Db2xsZWN0aW9uKTsKIH0KIAotUmVmUHRyPEZvbnQ+IENh
Y2hlZEZvbnQ6OmNyZWF0ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRp
b24sIGNvbnN0IEF0b21TdHJpbmcmLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGlj
SXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVzLCBjb25z
dCBGb250VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKK1JlZlB0cjxG
b250PiBDYWNoZWRGb250OjpjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERl
c2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5
bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJl
cywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGll
cykKIHsKLSAgICByZXR1cm4gRm9udDo6Y3JlYXRlKHBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRh
KGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFj
ZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMp
LCBGb250OjpPcmlnaW46OlJlbW90ZSk7CisgICAgcmV0dXJuIEZvbnQ6OmNyZWF0ZShwbGF0Zm9y
bURhdGFGcm9tQ3VzdG9tRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRo
ZXRpY0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpLCBGb250
OjpPcmlnaW46OlJlbW90ZSk7CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEgQ2FjaGVkRm9udDo6cGxh
dGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3Jp
cHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3Mm
IGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFy
aWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNl
Q2FwYWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFG
cm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9v
bCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VG
ZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFi
aWxpdGllcykKIHsKICAgICBBU1NFUlQobV9mb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKLSAgICBy
ZXR1cm4gcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoKm1fZm9udEN1c3RvbVBsYXRmb3JtRGF0
YSwgZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRG
YWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyk7CisgICAgcmV0dXJuIHBs
YXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKCptX2ZvbnRDdXN0b21QbGF0Zm9ybURhdGEsIGZvbnRE
ZXNjcmlwdGlvbiwgYm9sZCwgaXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFi
aWxpdGllcyk7CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEgQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRh
RnJvbUN1c3RvbURhdGEoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSYgZm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwg
Ym9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMs
IGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorRm9u
dFBsYXRmb3JtRGF0YSBDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShGb250
Q3VzdG9tUGxhdGZvcm1EYXRhJiBmb250Q3VzdG9tUGxhdGZvcm1EYXRhLCBjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNp
ZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKLSAgICByZXR1cm4gZm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5mb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgYm9s
ZCwgaXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9u
dEZhY2VDYXBhYmlsaXRpZXMpOworICAgIHJldHVybiBmb250Q3VzdG9tUGxhdGZvcm1EYXRhLmZv
bnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRGYWNlRmVh
dHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAogdm9pZCBDYWNoZWRGb250OjphbGxD
bGllbnRzUmVtb3ZlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkRm9udC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuaApp
bmRleCA1ODBlOWJlOTI1NjA1Y2IyZWMzYWU3ZTBhODUwY2I5NjY5YmVhODU4Li4xNDU3MmUxY2Ji
MmQ0NTM2NTI2NjU4YTZiNTVkYmYxZWQwYzQyMzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRGb250LmgKQEAgLTUzLDEyICs1MywxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIGJvb2wgZW5zdXJlQ3VzdG9tRm9udERhdGEoY29uc3QgQXRvbVN0cmluZyYgcmVtb3RlVVJJ
KTsKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEZvbnRDdXN0b21QbGF0Zm9ybURhdGE+IGNy
ZWF0ZUN1c3RvbUZvbnREYXRhKFNoYXJlZEJ1ZmZlciYsIGNvbnN0IFN0cmluZyYgaXRlbUluQ29s
bGVjdGlvbiwgYm9vbCYgd3JhcHBpbmcpOwotICAgIHN0YXRpYyBGb250UGxhdGZvcm1EYXRhIHBs
YXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEmLCBjb25zdCBG
b250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVy
ZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVj
aWZpZWRDYXBhYmlsaXRpZXMpOworICAgIHN0YXRpYyBGb250UGxhdGZvcm1EYXRhIHBsYXRmb3Jt
RGF0YUZyb21DdXN0b21EYXRhKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEmLCBjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7CiAKLSAgICB2aXJ0dWFs
IFJlZlB0cjxGb250PiBjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0
b21TdHJpbmcmIHJlbW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0
YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGlu
Z3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICB2aXJ0dWFsIFJl
ZlB0cjxGb250PiBjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21T
dHJpbmcmIHJlbW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxp
YywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBh
YmlsaXRpZXMpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgRm9udFBsYXRmb3JtRGF0YSBwbGF0Zm9ybURh
dGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wg
aXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0
aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0
Zm9ybURhdGEgcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiAgICAgYm9vbCBlbnN1cmVDdXN0
b21Gb250RGF0YShTaGFyZWRCdWZmZXIqIGRhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAKaW5kZXggZWQyODhjMWU4Y2EwYzJmMDZmZDA5NDM0
ZGVkMjAzZmE5YTdkNWM1My4uMDEyZDJmMzFmZTFjZTk5YTc3ZTg1NWZjNmVjZWZiODZmMDc2ZGVi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcApA
QCAtNDgsMTcgKzQ4LDE3IEBAIENhY2hlZFNWR0ZvbnQ6OkNhY2hlZFNWR0ZvbnQoQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgUEFMOjpTZXNzaW9uCiB7CiB9CiAKLVJlZlB0
cjxGb250PiBDYWNoZWRTVkdGb250OjpjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiByZW1vdGVVUkksIGJvb2wgc3ludGhl
dGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3Mm
IGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFy
aWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNl
Q2FwYWJpbGl0aWVzKQorUmVmUHRyPEZvbnQ+IENhY2hlZFNWR0ZvbnQ6OmNyZWF0ZUZvbnQoY29u
c3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIHJl
bW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNp
ZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBBU1NFUlQoZmly
c3RGb250RmFjZShyZW1vdGVVUkkpKTsKLSAgICByZXR1cm4gQ2FjaGVkRm9udDo6Y3JlYXRlRm9u
dChmb250RGVzY3JpcHRpb24sIHJlbW90ZVVSSSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRh
bGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VD
YXBhYmlsaXRpZXMpOworICAgIHJldHVybiBDYWNoZWRGb250OjpjcmVhdGVGb250KGZvbnREZXNj
cmlwdGlvbiwgcmVtb3RlVVJJLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRG
YWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAotRm9udFBsYXRmb3JtRGF0
YSBDYWNoZWRTVkdGb250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRT
ZXR0aW5ncyYgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRD
YXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCitGb250UGxhdGZvcm1EYXRhIENhY2hl
ZFNWR0ZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgZm9udERlc2NyaXB0aW9uLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVh
dHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2Fw
YWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogewogICAgIGlmIChtX2V4dGVybmFsU1ZH
RG9jdW1lbnQpCiAgICAgICAgIHJldHVybiBGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlv
bi5jb21wdXRlZFBpeGVsU2l6ZSgpLCBib2xkLCBpdGFsaWMpOwotICAgIHJldHVybiBDYWNoZWRG
b250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShmb250RGVzY3JpcHRpb24sIGJvbGQsIGl0
YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNl
Q2FwYWJpbGl0aWVzKTsKKyAgICByZXR1cm4gQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1
c3RvbURhdGEoZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMs
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAogYm9vbCBDYWNoZWRTVkdGb250OjplbnN1cmVD
dXN0b21Gb250RGF0YShjb25zdCBBdG9tU3RyaW5nJiByZW1vdGVVUkkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQuaAppbmRleCA0MmNmMTM0Nzg5YmYzN2I2MGVl
ODUwYTcxNzhjODUyNTBjNTBkMTExLi5hZmRkZDZkYWZkNjQ3NDMxMTAyYWY3MTVlZGEwZDg2NTY2
M2VhYWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZH
Rm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmgK
QEAgLTM5LDEwICszOSwxMCBAQCBwdWJsaWM6CiAKICAgICBib29sIGVuc3VyZUN1c3RvbUZvbnRE
YXRhKGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVSSSkgb3ZlcnJpZGU7CiAKLSAgICBSZWZQdHI8
Rm9udD4gY3JlYXRlRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5n
JiByZW1vdGVVUkksIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMsIGNv
bnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiwgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcykgb3ZlcnJpZGU7CisgICAgUmVmUHRyPEZv
bnQ+IGNyZWF0ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYg
cmVtb3RlVVJJLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25z
dCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cykgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgRm9udFBsYXRmb3JtRGF0YSBwbGF0Zm9ybURh
dGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wg
aXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0
aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0
Zm9ybURhdGEgcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiAgICAgU1ZHRm9udEVsZW1lbnQq
IGdldFNWR0ZvbnRCeUlkKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCA4MmYwYjYxOTk4YzY5MGM0
ZmQxYzIxODNhNDEwYTkyNjA0ZGQyYTZiLi43ZmNhYTQ0ZDU0YTM4NzQyZjdkZDU4NzQwMDZhYTQz
NzZlMjU4NDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5jcHAKQEAgLTczLDExICs3MywxMCBAQCBzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hl
S2V5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250UGxh
dGZvcm1EYXRhQ2FjaGVLZXkoKSB7IH0KLSAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29u
c3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250
VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNw
ZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKKyAgICBGb250UGxhdGZv
cm1EYXRhQ2FjaGVLZXkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3Jp
cHRpb24mIGRlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZl
YXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJp
bGl0aWVzKQogICAgICAgICA6IG1fZm9udERlc2NyaXB0aW9uS2V5KGRlc2NyaXB0aW9uKQogICAg
ICAgICAsIG1fZmFtaWx5KGZhbWlseSkKICAgICAgICAgLCBtX2ZvbnRGYWNlRmVhdHVyZXMoZm9u
dEZhY2VGZWF0dXJlcyA/ICpmb250RmFjZUZlYXR1cmVzIDogRm9udEZlYXR1cmVTZXR0aW5ncygp
KQotICAgICAgICAsIG1fZm9udEZhY2VWYXJpYW50U2V0dGluZ3MoZm9udEZhY2VWYXJpYW50U2V0
dGluZ3MgPyAqZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgOiBGb250VmFyaWFudFNldHRpbmdzKCkp
CiAgICAgICAgICwgbV9mb250RmFjZUNhcGFiaWxpdGllcyhmb250RmFjZUNhcGFiaWxpdGllcykK
ICAgICB7IH0KIApAQCAtOTEsNyArOTAsNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAo
bV9mb250RGVzY3JpcHRpb25LZXkgIT0gb3RoZXIubV9mb250RGVzY3JpcHRpb25LZXkKICAgICAg
ICAgICAgIHx8IG1fZm9udEZhY2VGZWF0dXJlcyAhPSBvdGhlci5tX2ZvbnRGYWNlRmVhdHVyZXMK
LSAgICAgICAgICAgIHx8IG1fZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgIT0gb3RoZXIubV9mb250
RmFjZVZhcmlhbnRTZXR0aW5ncwogICAgICAgICAgICAgfHwgbV9mb250RmFjZUNhcGFiaWxpdGll
cyAhPSBvdGhlci5tX2ZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICBpZiAobV9mYW1pbHkuaW1wbCgpID09IG90aGVyLm1fZmFtaWx5LmltcGwo
KSkKQEAgLTEwNCw3ICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgRm9udERlc2NyaXB0aW9uS2V5IG1f
Zm9udERlc2NyaXB0aW9uS2V5OwogICAgIEF0b21TdHJpbmcgbV9mYW1pbHk7CiAgICAgRm9udEZl
YXR1cmVTZXR0aW5ncyBtX2ZvbnRGYWNlRmVhdHVyZXM7Ci0gICAgRm9udFZhcmlhbnRTZXR0aW5n
cyBtX2ZvbnRGYWNlVmFyaWFudFNldHRpbmdzOwogICAgIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRD
YXBhYmlsaXRpZXMgbV9mb250RmFjZUNhcGFiaWxpdGllczsKIH07CiAKQEAgLTExNSw3ICsxMTIs
NiBAQCBzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5SGFzaCB7CiAgICAgICAgIGhhc2hl
ci5hZGQoRm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZmFtaWx5TmFtZUhhc2goZm9udEtleS5tX2Zh
bWlseSkpOwogICAgICAgICBoYXNoZXIuYWRkKGZvbnRLZXkubV9mb250RGVzY3JpcHRpb25LZXku
Y29tcHV0ZUhhc2goKSk7CiAgICAgICAgIGhhc2hlci5hZGQoZm9udEtleS5tX2ZvbnRGYWNlRmVh
dHVyZXMuaGFzaCgpKTsKLSAgICAgICAgaGFzaGVyLmFkZChmb250S2V5Lm1fZm9udEZhY2VWYXJp
YW50U2V0dGluZ3MudW5pcXVlVmFsdWUoKSk7CiAgICAgICAgIGlmIChhdXRvIHdlaWdodCA9IGZv
bnRLZXkubV9mb250RmFjZUNhcGFiaWxpdGllcy53ZWlnaHQpCiAgICAgICAgICAgICBoYXNoZXIu
YWRkKHdlaWdodC0+dW5pcXVlVmFsdWUoKSk7CiAgICAgICAgIGVsc2UKQEAgLTIwMCw3ICsxOTYs
NyBAQCBjb25zdCBBdG9tU3RyaW5nJiBGb250Q2FjaGU6OmFsdGVybmF0ZUZhbWlseU5hbWUoY29u
c3QgQXRvbVN0cmluZyYgZmFtaWx5TmFtZSkKIH0KIAogRm9udFBsYXRmb3JtRGF0YSogRm9udENh
Y2hlOjpnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBwYXNzZWRGYW1pbHlOYW1lLAotICAgIGNv
bnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJp
YW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lm
aWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGNoZWNraW5nQWx0ZXJu
YXRlTmFtZSkKKyAgICBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVz
LCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
LCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2soZm9udExvY2spOwpAQCAtMjIyLDE5ICsyMTgs
MTkgQEAgRm9udFBsYXRmb3JtRGF0YSogRm9udENhY2hlOjpnZXRDYWNoZWRGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm8KICAgICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVl
OwogICAgIH0KIAotICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSBrZXkoZmFtaWx5TmFtZSwg
Zm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5n
cywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSBr
ZXkoZmFtaWx5TmFtZSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFj
ZUNhcGFiaWxpdGllcyk7CiAKICAgICBhdXRvIGFkZFJlc3VsdCA9IGZvbnRQbGF0Zm9ybURhdGFD
YWNoZSgpLmFkZChrZXksIG51bGxwdHIpOwogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZTo6aXRl
cmF0b3IgaXQgPSBhZGRSZXN1bHQuaXRlcmF0b3I7CiAgICAgaWYgKGFkZFJlc3VsdC5pc05ld0Vu
dHJ5KSB7Ci0gICAgICAgIGl0LT52YWx1ZSA9IGNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoZm9udERl
c2NyaXB0aW9uLCBmYW1pbHlOYW1lLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRT
ZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgICAgICBpdC0+dmFsdWUgPSBjcmVh
dGVGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5TmFtZSwgZm9udEZhY2VG
ZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogCiAgICAgICAgIGlmICghaXQtPnZhbHVl
ICYmICFjaGVja2luZ0FsdGVybmF0ZU5hbWUpIHsKICAgICAgICAgICAgIC8vIFdlIHdlcmUgdW5h
YmxlIHRvIGZpbmQgYSBmb250LiAgV2UgaGF2ZSBhIHNtYWxsIHNldCBvZiBmb250cyB0aGF0IHdl
IGFsaWFzIHRvIG90aGVyIG5hbWVzLAogICAgICAgICAgICAgLy8gZS5nLiwgQXJpYWwvSGVsdmV0
aWNhLCBDb3VyaWVyL0NvdXJpZXIgTmV3LCBldGMuICBUcnkgbG9va2luZyB1cCB0aGUgZm9udCB1
bmRlciB0aGUgYWxpYXNlZCBuYW1lLgogICAgICAgICAgICAgY29uc3QgQXRvbVN0cmluZyYgYWx0
ZXJuYXRlTmFtZSA9IGFsdGVybmF0ZUZhbWlseU5hbWUoZmFtaWx5TmFtZSk7CiAgICAgICAgICAg
ICBpZiAoIWFsdGVybmF0ZU5hbWUuaXNOdWxsKCkpIHsKLSAgICAgICAgICAgICAgICBGb250UGxh
dGZvcm1EYXRhKiBmb250UGxhdGZvcm1EYXRhRm9yQWx0ZXJuYXRlTmFtZSA9IGdldENhY2hlZEZv
bnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBhbHRlcm5hdGVOYW1lLCBmb250RmFjZUZl
YXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHRy
dWUpOworICAgICAgICAgICAgICAgIEZvbnRQbGF0Zm9ybURhdGEqIGZvbnRQbGF0Zm9ybURhdGFG
b3JBbHRlcm5hdGVOYW1lID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRp
b24sIGFsdGVybmF0ZU5hbWUsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
LCB0cnVlKTsKICAgICAgICAgICAgICAgICAvLyBMb29rdXAgdGhlIGtleSBpbiB0aGUgaGFzaCB0
YWJsZSBhZ2FpbiBhcyB0aGUgcHJldmlvdXMgaXRlcmF0b3IgbWF5IGhhdmUKICAgICAgICAgICAg
ICAgICAvLyBiZWVuIGludmFsaWRhdGVkIGJ5IHRoZSByZWN1cnNpdmUgY2FsbCB0byBnZXRDYWNo
ZWRGb250UGxhdGZvcm1EYXRhKCkuCiAgICAgICAgICAgICAgICAgaXQgPSBmb250UGxhdGZvcm1E
YXRhQ2FjaGUoKS5maW5kKGtleSk7CkBAIC0zMTYsMTIgKzMxMiwxMiBAQCBjb25zdCB1bnNpZ25l
ZCBjVGFyZ2V0SW5hY3RpdmVGb250RGF0YSA9IDIwMDsKIGNvbnN0IHVuc2lnbmVkIGNNYXhVbmRl
ck1lbW9yeVByZXNzdXJlSW5hY3RpdmVGb250RGF0YSA9IDUwOwogY29uc3QgdW5zaWduZWQgY1Rh
cmdldFVuZGVyTWVtb3J5UHJlc3N1cmVJbmFjdGl2ZUZvbnREYXRhID0gMzA7CiAKLVJlZlB0cjxG
b250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVT
ZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9u
dEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMg
Zm9udEZhY2VDYXBhYmlsaXRpZXMsIGJvb2wgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKQorUmVmUHRy
PEZvbnQ+IEZvbnRDYWNoZTo6Zm9udEZvckZhbWlseShjb25zdCBGb250RGVzY3JpcHRpb24mIGZv
bnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVy
ZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkK
IHsKICAgICBpZiAoIW1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3B1cmdlVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKLSAgICBpZiAoYXV0byogcGxhdGZvcm1EYXRhID0gZ2V0
Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VG
ZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBj
aGVja2luZ0FsdGVybmF0ZU5hbWUpKQorICAgIGlmIChhdXRvKiBwbGF0Zm9ybURhdGEgPSBnZXRD
YWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5LCBmb250RmFjZUZl
YXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcywgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKSkKICAg
ICAgICAgcmV0dXJuIGZvbnRGb3JQbGF0Zm9ybURhdGEoKnBsYXRmb3JtRGF0YSk7CiAKICAgICBy
ZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmgKaW5kZXggMTdkMzI1NzcyMGJhM2U5MWMzMTQyMGMzZTUzNzgyNzY2OGIwNzQ2Zi4uZWY4
NjY0ZGFjN2M5OGYzNWY5ODZiYzc2YTZmMTU3MDliODQ4NDAwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTIxMiw3ICsyMTIsNyBAQCBwdWJs
aWM6CiAgICAgLy8gSXQgY29tZXMgaW50byBwbGF5IHdoZW4geW91IGNyZWF0ZSBhbiBAZm9udC1m
YWNlIHdoaWNoIHNoYXJlcyBhIGZhbWlseSBuYW1lIGFzIGEgcHJlaW5zdGFsbGVkIGZvbnQuCiAg
ICAgVmVjdG9yPEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXM+IGdldEZvbnRTZWxlY3Rpb25DYXBh
YmlsaXRpZXNJbkZhbWlseShjb25zdCBBdG9tU3RyaW5nJiwgQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEZvbnQ+IGZvbnRGb3JGYW1pbHkoY29u
c3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IEZvbnRGZWF0dXJl
U2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMgPSBudWxscHRyLCBjb25zdCBGb250VmFyaWFudFNl
dHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncyA9IG51bGxwdHIsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMgPSB7IH0sIGJvb2wgY2hl
Y2tpbmdBbHRlcm5hdGVOYW1lID0gZmFsc2UpOworICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxG
b250PiBmb250Rm9yRmFtaWx5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJp
bmcmLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzID0gbnVsbHB0
ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGll
cyA9IHsgfSwgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUgPSBmYWxzZSk7CiAgICAgV0VCQ09S
RV9FWFBPUlQgUmVmPEZvbnQ+IGxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoY29uc3QgRm9udERlc2Ny
aXB0aW9uJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVmPEZvbnQ+IGZvbnRGb3JQbGF0Zm9ybURh
dGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOwogICAgIFJlZlB0cjxGb250PiBzaW1pbGFyRm9u
dChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHkpOwpAQCAt
MjYyLDEzICsyNjIsMTMgQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHB1cmdl
SW5hY3RpdmVGb250RGF0YUlmTmVlZGVkKCk7CiAKICAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qg
c2hvdWxkIGV2ZW50dWFsbHkgYmUgcmVtb3ZlZC4KLSAgICBGb250UGxhdGZvcm1EYXRhKiBnZXRD
YWNoZWRGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21T
dHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJl
cyA9IG51bGxwdHIsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNl
dHRpbmdzID0gbnVsbHB0ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250
RmFjZUNhcGFiaWxpdGllcyA9IHsgfSwgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUgPSBmYWxz
ZSk7CisgICAgRm9udFBsYXRmb3JtRGF0YSogZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRG
ZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMgPSBudWxscHRyLCBGb250U2VsZWN0aW9u
U3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzID0geyB9LCBib29sIGNo
ZWNraW5nQWx0ZXJuYXRlTmFtZSA9IGZhbHNlKTsKIAogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJl
IGltcGxlbWVudGVkIGJ5IGVhY2ggcGxhdGZvcm0uCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
Rm9udFBsYXRmb3JtRGF0YSogZ2V0Q3VzdG9tRmFsbGJhY2tGb250KGNvbnN0IFVJbnQzMiwgY29u
c3QgRm9udERlc2NyaXB0aW9uJik7CiAjZW5kaWYKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnVu
aXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0
dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3Mq
IGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0
aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnVuaXF1
ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250
RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJl
U2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmls
aXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogICAgIAogICAgIHN0YXRpYyBjb25zdCBBdG9t
U3RyaW5nJiBhbHRlcm5hdGVGYW1pbHlOYW1lKGNvbnN0IEF0b21TdHJpbmcmKTsKICAgICBzdGF0
aWMgY29uc3QgQXRvbVN0cmluZyYgcGxhdGZvcm1BbHRlcm5hdGVGYW1pbHlOYW1lKGNvbnN0IEF0
b21TdHJpbmcmKTsKQEAgLTI4OSw3ICsyODksNyBAQCBwcml2YXRlOgogCiBpbmxpbmUgc3RkOjp1
bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3Jt
RGF0YUZvclRlc3RpbmcoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
bnN0IEF0b21TdHJpbmcmIGZhbWlseSkKIHsKLSAgICByZXR1cm4gY3JlYXRlRm9udFBsYXRmb3Jt
RGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9KTsKKyAg
ICByZXR1cm4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwg
bnVsbHB0ciwgeyB9KTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAppbmRleCAxOGYzNDA1MGFhOWUzYjc0MzRhNjI3YTA3N2NkMmNjZjJmOTlj
OWZiLi45MWFjZTE4NWUzZjAxODQwNzQ0ZjUzMzljZTUyZWNhZmFmMGI1ZjE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC00Niw3ICs0Niw3IEBAIHN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIHsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZUX0Zh
Y2UsIFNoYXJlZEJ1ZmZlciYpOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgPSBkZWZh
dWx0OwotICAgIEZvbnRQbGF0Zm9ybURhdGEgZm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRD
YXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0Zm9ybURhdGEgZm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVh
dHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7CiAgICAg
c3RhdGljIGJvb2wgc3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5nJik7CiAKIHByaXZhdGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9G
b250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggMTZjYjUxODQ3YWVjMTNkZWIxOTI5MDBhODM3N2Jm
NmVjNmYzMjNjOS4uYjg3MzVkZmQ1NTgzNWYwZTc1NmNjZDFlMDRjNzlhZTQ5YzU4M2E1YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hl
Q29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtNTMwLDcgKzUzMCw3IEBAIHN0cnVjdCBGb250VHlw
ZSB7CiAgICAgYm9vbCBhYXRTaGFwaW5nIHsgZmFsc2UgfTsKIH07CiAKLVJldGFpblB0cjxDVEZv
bnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9udCwgY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGlu
Z3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNl
VmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzLCBib29sIGFwcGx5V2VpZ2h0V2lkdGhTbG9wZVZhcmlhdGlvbnMpCitS
ZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5h
bEZvbnQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBGb250
RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVk
Q2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGFwcGx5V2VpZ2h0V2lkdGhT
bG9wZVZhcmlhdGlvbnMpCiB7CiAgICAgaWYgKCFvcmlnaW5hbEZvbnQpCiAgICAgICAgIHJldHVy
biBvcmlnaW5hbEZvbnQ7CkBAIC01NjksOCArNTY5LDcgQEAgUmV0YWluUHRyPENURm9udFJlZj4g
cHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBGb250RGVz
Y3IKICAgICBib29sIHZhcmlhbnRTZXR0aW5nc0lzTm9ybWFsID0gdmFyaWFudFNldHRpbmdzLmlz
QWxsTm9ybWFsKCk7CiAgICAgYm9vbCBkb250TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nID0gZm9u
dE9wdGljYWxTaXppbmcgPT0gRm9udE9wdGljYWxTaXppbmc6OkVuYWJsZWQgJiYgIWZvcmNlT3B0
aWNhbFNpemluZ09uOwogICAgIGJvb2wgZm9udEZhY2VEb2VzbnRTcGVjaWZ5RmVhdHVyZXMgPSAh
Zm9udEZhY2VGZWF0dXJlcyB8fCBmb250RmFjZUZlYXR1cmVzLT5pc0VtcHR5KCk7Ci0gICAgYm9v
bCBmb250RmFjZURvZXNudFNwZWNpZnlWYXJpYXRpb25zID0gIWZvbnRGYWNlVmFyaWFudFNldHRp
bmdzIHx8IGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLT5pc0FsbE5vcm1hbCgpOwotICAgIGlmIChu
b0ZvbnRGZWF0dXJlU2V0dGluZ3MgJiYgbm9Gb250VmFyaWF0aW9uU2V0dGluZ3MgJiYgdGV4dFJl
bmRlcmluZ01vZGVJc0F1dG8gJiYgdmFyaWFudFNldHRpbmdzSXNOb3JtYWwgJiYgZG9udE5lZWRU
b0FwcGx5T3B0aWNhbFNpemluZyAmJiBmb250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJlcyAmJiBm
b250RmFjZURvZXNudFNwZWNpZnlWYXJpYXRpb25zKSB7CisgICAgaWYgKG5vRm9udEZlYXR1cmVT
ZXR0aW5ncyAmJiBub0ZvbnRWYXJpYXRpb25TZXR0aW5ncyAmJiB0ZXh0UmVuZGVyaW5nTW9kZUlz
QXV0byAmJiB2YXJpYW50U2V0dGluZ3NJc05vcm1hbCAmJiBkb250TmVlZFRvQXBwbHlPcHRpY2Fs
U2l6aW5nICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeUZlYXR1cmVzKSB7CiAjaWYgSEFWRShDVEZP
TlRDUkVBVEVGT1JDSEFSQUNURVJTV0lUSExBTkdVQUdFQU5ET1BUSU9OKQogICAgICAgICByZXR1
cm4gb3JpZ2luYWxGb250OwogI2Vsc2UKQEAgLTU4NCw4ICs1ODMsNyBAQCBSZXRhaW5QdHI8Q1RG
b250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNvbnN0
IEZvbnREZXNjcgogICAgIC8vIFN0ZXAgMTogQ29yZVRleHQgaGFuZGxlcyBkZWZhdWx0IGZlYXR1
cmVzIChzdWNoIGFzIHJlcXVpcmVkIGxpZ2F0dXJlcykuCiAKICAgICAvLyBTdGVwIDI6IENvbnN1
bHQgd2l0aCBmb250LXZhcmlhbnQtKiBpbnNpZGUgQGZvbnQtZmFjZQotICAgIGlmIChmb250RmFj
ZVZhcmlhbnRTZXR0aW5ncykKLSAgICAgICAgZmVhdHVyZXNUb0JlQXBwbGllZCA9IGNvbXB1dGVG
ZWF0dXJlU2V0dGluZ3NGcm9tVmFyaWFudHMoKmZvbnRGYWNlVmFyaWFudFNldHRpbmdzKTsKKyAg
ICAvLyBUaGlzIG5vIGxvbmdlciBoYXBwZW5zIGFueSBtb3JlOiBodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMjUzMQogCiAgICAgLy8gU3RlcCAzOiBDb25zdWx0IHdp
dGggZm9udC1mZWF0dXJlLXNldHRpbmdzIGluc2lkZSBAZm9udC1mYWNlCiAgICAgaWYgKGZvbnRG
YWNlRmVhdHVyZXMpIHsKQEAgLTEyOTMsNyArMTI5MSw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q1RG
b250UmVmPiBmb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcmIGZhbWls
eSwKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+
IGZvbnRXaXRoRmFtaWx5KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udERlc2Ny
aXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRG
YWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNl
dHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJp
bGl0aWVzLCBmbG9hdCBzaXplKQorc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnRXaXRo
RmFtaWx5KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBm
b250RGVzY3JpcHRpb24sIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVy
ZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRp
ZXMsIGZsb2F0IHNpemUpCiB7CiAgICAgaWYgKGZhbWlseS5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwpAQCAtMTMwNSw3ICsxMzAzLDcgQEAgc3RhdGljIFJldGFpblB0cjxDVEZv
bnRSZWY+IGZvbnRXaXRoRmFtaWx5KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9u
dEQKICAgICAgICAgaWYgKCFmb250TG9va3VwLnJlc3VsdCkKICAgICAgICAgICAgIGZvbnRMb29r
dXAgPSBwbGF0Zm9ybUZvbnRMb29rdXBXaXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2NyaXB0aW9u
LmZvbnRTZWxlY3Rpb25SZXF1ZXN0KCksIHNpemUsIGZvbnREZXNjcmlwdGlvbi5zaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cygpKTsKICAgICB9Ci0gICAgcmV0dXJuIHByZXBhcmVQbGF0Zm9y
bUZvbnQoZm9udExvb2t1cC5yZXN1bHQuZ2V0KCksIGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VG
ZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCAh
Zm9udExvb2t1cC5jcmVhdGVkRnJvbVBvc3RTY3JpcHROYW1lKTsKKyAgICByZXR1cm4gcHJlcGFy
ZVBsYXRmb3JtRm9udChmb250TG9va3VwLnJlc3VsdC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCBm
b250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcywgIWZvbnRMb29rdXAuY3JlYXRl
ZEZyb21Qb3N0U2NyaXB0TmFtZSk7CiB9CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC0xMzQwLDEx
ICsxMzM4LDExIEBAIHN0YXRpYyB2b2lkIGF1dG9BY3RpdmF0ZUZvbnQoY29uc3QgU3RyaW5nJiBu
YW1lLCBDR0Zsb2F0IHNpemUpCiB9CiAjZW5kaWYKIAotc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0
Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25z
dCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFu
dFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmll
ZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKK3N0ZDo6dW5pcXVlX3B0cjxGb250
UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9u
dERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwg
Y29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlv
blNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBmbG9h
dCBzaXplID0gZm9udERlc2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCk7CiAKLSAgICBhdXRv
IGZvbnQgPSBmb250V2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VG
ZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBz
aXplKTsKKyAgICBhdXRvIGZvbnQgPSBmb250V2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNjcmlw
dGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHNpemUpOwogCiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIGlmICghZm9udCkgewpAQCAtMTM1NSw3ICsxMzUzLDcgQEAg
c3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBs
YXRmb3JtRGF0YShjb25zdCBGb250RGUKICAgICAgICAgLy8gSWdub3JlIHRoZSByZXN1bHQgYmVj
YXVzZSB3ZSB3YW50IHRvIHVzZSBvdXIgb3duIGFsZ29yaXRobSB0byBhY3R1YWxseSBmaW5kIHRo
ZSBmb250LgogICAgICAgICBhdXRvQWN0aXZhdGVGb250KGZhbWlseS5zdHJpbmcoKSwgc2l6ZSk7
CiAKLSAgICAgICAgZm9udCA9IGZvbnRXaXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2NyaXB0aW9u
LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBh
YmlsaXRpZXMsIHNpemUpOworICAgICAgICBmb250ID0gZm9udFdpdGhGYW1pbHkoZmFtaWx5LCBm
b250RGVzY3JpcHRpb24sIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBz
aXplKTsKICAgICB9CiAjZW5kaWYKIApAQCAtMTQ4NCw3ICsxNDgyLDcgQEAgUmVmUHRyPEZvbnQ+
IEZvbnRDYWNoZTo6c3lzdGVtRmFsbGJhY2tGb3JDaGFyYWN0ZXJzKGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYgZGVzY3IKICAgICAgICAgbV9mb250TmFtZXNSZXF1aXJpbmdTeXN0ZW1GYWxsYmFja0Zv
clByZXdhcm1pbmcuYWRkKGZ1bGxOYW1lKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gbG9va3VwRmFs
bGJhY2tGb250KHBsYXRmb3JtRGF0YS5mb250KCksIGRlc2NyaXB0aW9uLndlaWdodCgpLCBkZXNj
cmlwdGlvbi5sb2NhbGUoKSwgZGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMoKSwgY2hhcmFjdGVycywgbGVuZ3RoKTsKLSAgICByZXN1bHQgPSBwcmVwYXJlUGxhdGZvcm1G
b250KHJlc3VsdC5nZXQoKSwgZGVzY3JpcHRpb24sIG51bGxwdHIsIG51bGxwdHIsIHsgfSk7Cisg
ICAgcmVzdWx0ID0gcHJlcGFyZVBsYXRmb3JtRm9udChyZXN1bHQuZ2V0KCksIGRlc2NyaXB0aW9u
LCBudWxscHRyLCB7IH0pOwogCiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBsYXN0
UmVzb3J0RmFsbGJhY2tGb250KGRlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCmluZGV4
IDhkYTU1OGUxNWUxMzQxY2ZiNzE1ZjcyYjJiZWMxODA4YzkzYzY1NWEuLjk0YzMyNzM1YjA1OGMy
ZDhiN2U2ZGVhMDk0OTcxNjhhZmU1Y2I0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaApAQCAtNTAs
NyArNTAsNyBAQCBzdHJ1Y3QgU3ludGhlc2lzUGFpciB7CiAgICAgYm9vbCBuZWVkc1N5bnRoZXRp
Y09ibGlxdWU7CiB9OwogCi1SZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250
KENURm9udFJlZiwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgRm9udEZlYXR1cmVTZXR0
aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZh
Y2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9u
dEZhY2VDYXBhYmlsaXRpZXMsIGJvb2wgYXBwbHlXZWlnaHRXaWR0aFNsb3BlVmFyaWF0aW9ucyA9
IHRydWUpOworUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRS
ZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZv
bnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZh
Y2VDYXBhYmlsaXRpZXMsIGJvb2wgYXBwbHlXZWlnaHRXaWR0aFNsb3BlVmFyaWF0aW9ucyA9IHRy
dWUpOwogU3ludGhlc2lzUGFpciBjb21wdXRlTmVjZXNzYXJ5U3ludGhlc2lzKENURm9udFJlZiwg
Y29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBpc1BsYXRmb3JtRm9udCA9IGZhbHNlKTsKIFJl
dGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShjb25z
dCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGZsb2F0IHNpemUs
IEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKIFJldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3Jt
Rm9udFdpdGhGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVx
dWVzdCwgVGV4dFJlbmRlcmluZ01vZGUsIGZsb2F0IHNpemUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udEZhbWlseVNwZWNpZmljYXRpb25D
b3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmNwcAppbmRleCAwZGU5MzRhN2IzODQxMDBlZWI3
NmQ3N2Y0NTZhMTgyZmJiYWJjZWNjLi5jMjQ4NTI5NDRjMjIzNGUzMGVlNTM1MjQ5NDAwMWFjODE5
ZDJjOGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0
LmNwcApAQCAtMTA4LDcgKzEwOCw3IEBAIEZvbnRSYW5nZXMgRm9udEZhbWlseVNwZWNpZmljYXRp
b25Db3JlVGV4dDo6Zm9udFJhbmdlcyhjb25zdCBGb250RGVzY3JpcHRpb24mIGZvCiAgICAgICAg
ICAgICBmb250Rm9yU3ludGhlc2lzQ29tcHV0YXRpb24gPSBwaHlzaWNhbEZvbnQ7CiAjZW5kaWYK
IAotICAgICAgICBmb250ID0gcHJlcGFyZVBsYXRmb3JtRm9udChmb250LmdldCgpLCBmb250RGVz
Y3JpcHRpb24sIG51bGxwdHIsIG51bGxwdHIsIHsgfSk7CisgICAgICAgIGZvbnQgPSBwcmVwYXJl
UGxhdGZvcm1Gb250KGZvbnQuZ2V0KCksIGZvbnREZXNjcmlwdGlvbiwgbnVsbHB0ciwgeyB9KTsK
IAogICAgICAgICBhdXRvIFtzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlXSA9IGNvbXB1
dGVOZWNlc3NhcnlTeW50aGVzaXMoZm9udEZvclN5bnRoZXNpc0NvbXB1dGF0aW9uLmdldCgpLCBm
b250RGVzY3JpcHRpb24pLmJvbGRPYmxpcXVlUGFpcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVl
VHlwZS5jcHAKaW5kZXggNzFhNGFiMmY0ODI1ZjFhNTQzMTkxODAzNGIzNTMxZWNkYThhMGYyNC4u
ZGQyZjI1NTAzNjgwNGEyYjM0NjliYWM4YTE4YTA0NDg0N2Q0YmYxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRD
YWNoZUZyZWVUeXBlLmNwcApAQCAtMzc2LDcgKzM3Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp
c0NvbW1vbmx5VXNlZEdlbmVyaWNGYW1pbHkoY29uc3QgU3RyaW5nJiBmYW1pbHlOYW1lU3RyaW5n
KQogICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHlOYW1lU3Ry
aW5nLCAiY3Vyc2l2ZSIpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4g
Rm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0
dXJlU2V0dGluZ3MqLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiwgRm9udFNlbGVjdGlvblNw
ZWNpZmllZENhcGFiaWxpdGllcykKK3N0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBG
b250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBm
b250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1
cmVTZXR0aW5ncyosIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpCiB7CiAgICAg
Ly8gVGhlIENTUyBmb250IG1hdGNoaW5nIGFsZ29yaXRobSAoaHR0cDovL3d3dy53My5vcmcvVFIv
Y3NzMy1mb250cy8jZm9udC1tYXRjaGluZy1hbGdvcml0aG0pCiAgICAgLy8gc2F5cyB0aGF0IHdl
IG11c3QgZmluZCBhbiBleGFjdCBtYXRjaCBmb3IgZm9udCBmYW1pbHksIHNsYW50IChpdGFsaWMg
b3Igb2JsaXF1ZSBjYW4gYmUgdXNlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFGcmVlVHlwZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhRnJlZVR5cGUuY3BwCmluZGV4IDU4OTQzZDJhOTBkZmM1NTAxZjJkY2FhOGVjZjBl
OTBlMWFjN2Y3MGQuLmVhZmQ5NmQ3YzczNjI0Nzc0YjE5NzNjYmI3NzIxNTE1ZDNjY2M3YjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGFGcmVlVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udEN1c3RvbVBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcApA
QCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgRmNQYXR0ZXJuKiBkZWZhdWx0Rm9udGNvbmZpZ09wdGlv
bnMoKQogICAgIHJldHVybiBwYXR0ZXJuOwogfQogCi1Gb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0
b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBk
ZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0
aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVk
Q2FwYWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpm
b250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGJvb2wg
Ym9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2VsZWN0
aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQogewogICAgIGF1dG8qIGZyZWVUeXBlRmFjZSA9IHN0
YXRpY19jYXN0PEZUX0ZhY2U+KGNhaXJvX2ZvbnRfZmFjZV9nZXRfdXNlcl9kYXRhKG1fZm9udEZh
Y2UuZ2V0KCksICZmcmVlVHlwZUZhY2VLZXkpKTsKICAgICBBU1NFUlQoZnJlZVR5cGVGYWNlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAppbmRleCA1MDc5MzhiZTExMDVjZjQyNjA0NTU5
MTNiMGM1ZTk5ZDRmNTRmOWU3Li4yMTlhOTk1YjhhNGM1NWZjYjE5YzVlODE0YWZkODNkNGU0Yzgy
MThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBAIC0zNSw3ICszNSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6fkZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoKSA9IGRlZmF1bHQ7CiAKLUZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnRE
ZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0
aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYgZm9udEZh
Y2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9u
dEZhY2VDYXBhYmlsaXRpZXMpCitGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRp
b24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZv
bnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZh
Y2VDYXBhYmlsaXRpZXMpCiB7CiAgICAgYXV0byBhdHRyaWJ1dGVzID0gYWRvcHRDRihDRkRpY3Rp
b25hcnlDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDAsICZrQ0ZUeXBlRGljdGlv
bmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKICAg
ICBhZGRBdHRyaWJ1dGVzRm9yV2ViRm9udHMoYXR0cmlidXRlcy5nZXQoKSwgZm9udERlc2NyaXB0
aW9uLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpOwpAQCAtNDYsNyArNDYsNyBAQCBG
b250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEo
Y29uc3QgRm9udERlc2NyaXB0aW9uJgogICAgIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9
IGZvbnREZXNjcmlwdGlvbi5vcmllbnRhdGlvbigpOwogICAgIEZvbnRXaWR0aFZhcmlhbnQgd2lk
dGhWYXJpYW50ID0gZm9udERlc2NyaXB0aW9uLndpZHRoVmFyaWFudCgpOwogICAgIFJldGFpblB0
cjxDVEZvbnRSZWY+IGZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhGb250RGVzY3JpcHRv
cihtb2RpZmllZEZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBudWxscHRyKSk7Ci0gICAgZm9u
dCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCAmZm9u
dEZhY2VGZWF0dXJlcywgJmZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxp
dGllcyk7CisgICAgZm9udCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udC5nZXQoKSwgZm9udERl
c2NyaXB0aW9uLCAmZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogICAg
IEFTU0VSVChmb250KTsKICAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0YShmb250LmdldCgpLCBz
aXplLCBib2xkLCBpdGFsaWMsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIGZvbnREZXNjcmlw
dGlvbi50ZXh0UmVuZGVyaW5nTW9kZSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IGFiMjAzZmFiMzZjZjQ3ODgzNWUwMDdlODkyYjQxMGNiN2ZiZWI4YjIuLjYwNzhlMjVmYTFk
ODJiY2VjOWI0Y2M3YmM3MmU1ZTdmMjhlYTcwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpOwogCi0gICAgRm9udFBsYXRmb3JtRGF0YSBmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYsIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0
dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRG
YWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZv
bnRGYWNlQ2FwYWJpbGl0aWVzKTsKKyAgICBGb250UGxhdGZvcm1EYXRhIGZvbnRQbGF0Zm9ybURh
dGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNp
ZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcyk7CiAKICAgICBzdGF0aWMgYm9v
bCBzdXBwb3J0c0Zvcm1hdChjb25zdCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYWNoZVdpbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENhY2hlV2luLmNwcAppbmRleCBiYzk1Zjk1
N2VlODNiY2I4NGY2ZjI0N2NhMTEyY2E3NTBmNGRlOTg5Li4wYTBkYzEyNjg5YzM5NTljOWIzNGEz
ODBiYWQzNDRiNGVmOWI2ZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udENhY2hlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vRm9udENhY2hlV2luLmNwcApAQCAtNjE3LDcgKzYxNyw3IEBAIFZlY3Rv
cjxGb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzPiBGb250Q2FjaGU6OmdldEZvbnRTZWxlY3Rpb25D
YXBhYmlsaXRpZXNJbkZhbWlsCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RkOjp1bmlxdWVf
cHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShj
b25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYg
ZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiwgY29uc3QgRm9udFZhcmlhbnRTZXR0
aW5ncyosIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpCitzdGQ6OnVuaXF1ZV9w
dHI8Rm9udFBsYXRmb3JtRGF0YT4gRm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBm
YW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqLCBGb250U2VsZWN0aW9uU3BlY2lmaWVk
Q2FwYWJpbGl0aWVzKQogewogICAgIGJvb2wgaXNMdWNpZGFHcmFuZGUgPSBlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICJsdWNpZGEgZ3JhbmRlIik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmNwcAppbmRleCBlYTUzMDEwODZlYzc4OGY3ZDIwMjg2NDBiYmNiYTE1YzU4
MDRhOWU4Li42NmU4ZjE0M2E4NzA5NmQ2ODgyMjQxNmMxZDBhNWE3ZTExYzM2ZGRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBAIC00Niw3ICs0Niw3IEBAIEZvbnRDdXN0b21QbGF0
Zm9ybURhdGE6On5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkKICAgICAgICAgUmVtb3ZlRm9udE1l
bVJlc291cmNlRXgobV9mb250UmVmZXJlbmNlKTsKIH0KIAotRm9udFBsYXRmb3JtRGF0YSBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgZm9udERlc2NyaXB0aW9uLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVh
dHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMpCitGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9y
bURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3Jp
cHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3Mm
LCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQogewogICAgIGludCBzaXplID0g
Zm9udERlc2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCk7CiAgICAgRm9udFJlbmRlcmluZ01v
ZGUgcmVuZGVyaW5nTW9kZSA9IGZvbnREZXNjcmlwdGlvbi5yZW5kZXJpbmdNb2RlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlYWI4MDZlNDJjMDYyZDU1OTc4OTk0NTJlZmU3NDc0
ZTU5OWY5MmUxLi4xYjJmZjJiNzQ3YzliOWM5MWMwNmNlYTViMGE5NjYxYTMwNTJiYjY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogCiAgICAg
fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKIAotICAgIEZvbnRQbGF0Zm9ybURhdGEgZm9udFBs
YXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGlj
LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYs
IEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0Zm9ybURh
dGEgZm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJv
b2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNp
ZmllZENhcGFiaWxpdGllcyk7CiAKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zvcm1hdChjb25z
dCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmNwcAppbmRl
eCBlZWVhZmViZDkzM2NhOWM3OGRkMDUxNDEzZDIzMzQ0Y2E4NTNiMDEzLi5kYTljMTg2OTliNjE5
ZjQ4ZGM5YTliZTM2ZjljNjRhYWZmZmNmNjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YUNhaXJvLmNwcApAQCAtMzgsNyArMzgsNyBAQCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpCiAgICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4
KG1fZm9udFJlZmVyZW5jZSk7CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2Fw
YWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250
UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29s
IGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllcykKIHsKICAgICBpbnQgc2l6ZSA9IGZvbnREZXNjcmlw
dGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpOwogICAgIEZvbnRSZW5kZXJpbmdNb2RlIHJlbmRlcmlu
Z01vZGUgPSBmb250RGVzY3JpcHRpb24ucmVuZGVyaW5nTW9kZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUxMGIwZmE2
NzU0ZThkYTgwMDc0M2ZlMzU3M2E0MWU1ZTA3N2YzZjUuLjJiY2Q3NWQ1MmZhZTJhYjMyNGJjNzA4
MDhlOWNiOTg5ZmIzZTVjOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0xMC0yMiAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBm
b250LXZhcmlhbnQgQGZvbnQtZmFjZSBkZXNjcmlwdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMxNzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWxldGUgdGVzdHMgZm9yIHRoZSByZW1vdmVkIGZl
YXR1cmUuCisKKyAgICAgICAgKiBjc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2UtYWxsLWV4cGVj
dGVkLmh0bWw6IERlbGV0ZWQuCisgICAgICAgICogY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNl
LWFsbC5odG1sOiBEZWxldGVkLgorICAgICAgICAqIGNzczMvZm9udC12YXJpYW50LWZvbnQtZmFj
ZS1vdmVycmlkZS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMvZm9udC12YXJpYW50LWZv
bnQtZmFjZS1vdmVycmlkZS5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC9mb250LWZhY2UtZW1w
dHktc3RyaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1mYWNlLWVt
cHR5LXN0cmluZy5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlw
dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0
Lmh0bWw6CisKIDIwMTktMTAtMjIgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBTVkcyOiBBZGQgYm91bmRpbmctYm94IGtleXdvcmQgdG8gcG9pbnRlci1ldmVudHMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1h
bGwtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzQ0MTQ5Mzdm
MjU1YjA0YmE3MTQ0Mzg2MjM4YzQ4NjFjMjNkZmE5MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZvbnQtdmFyaWFudC1mb250
LWZhY2UtYWxsLWV4cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c3R5bGU+Ci1AZm9udC1mYWNlIHsKLSAg
ICBmb250LWZhbWlseTogIkZvbnRGZWF0dXJlc1Rlc3RPVEYiOwotICAgIHNyYzogdXJsKCJyZXNv
dXJjZXMvRm9udFdpdGhGZWF0dXJlcy5vdGYiKSBmb3JtYXQoIm9wZW50eXBlIik7Ci19Ci1AZm9u
dC1mYWNlIHsKLSAgICBmb250LWZhbWlseTogIkZvbnRGZWF0dXJlc1Rlc3RUVEYiOwotICAgIHNy
YzogdXJsKCJyZXNvdXJjZXMvRm9udFdpdGhGZWF0dXJlcy50dGYiKSBmb3JtYXQoInRydWV0eXBl
Iik7Ci19Ci0uZm9udFdpdGhGZWF0dXJlc1RURiB7Ci0gICAgZm9udC1mYW1pbHk6ICJGb250V2l0
aEZlYXR1cmVzVFRGIjsKLX0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRoaXMgdGVz
dCBpcyBhIGR1bXAtcmVuZGVyLXRyZWUgdGVzdCB3aGljaCBtYWtlcyBzdXJlIHRoYXQgdGhlIGZv
bGxvd2luZyBwcm9wZXJ0aWVzIGFyZSBhcHByb3ByaWF0ZWx5IGFwcGxpZWQ6PC9wPgotPHVsPgot
PGxpPi13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczwvbGk+Ci08bGk+LXdlYmtpdC1mb250
LXZhcmlhbnQtcG9zaXRpb248L2xpPgotPGxpPi13ZWJraXQtZm9udC12YXJpYW50LWNhcHM8L2xp
PgotPGxpPi13ZWJraXQtZm9udC12YXJpYW50LW51bWVyaWM8L2xpPgotPGxpPi13ZWJraXQtZm9u
dC12YXJpYW50LWFsdGVybmF0ZXM8L2xpPgotPGxpPi13ZWJraXQtZm9udC12YXJpYW50LWVhc3Qt
YXNpYW48L2xpPgotPC91bD4KLVRoZSB0ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBhIHBhcnRpY3Vs
YXIgc2VxdWVuY2Ugb2YgY2hlY2tzIGFuZCB4IGNoYXJhY3RlcnMgYmVsb3cuIE5vdGUgdGhhdCBz
b21lIHggY2hhcmFjdGVycyBhcmUgZXhwZWN0ZWQuCi08ZGl2IGlkPSJpbnNlcnRpb25wb2ludCI+
PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+
Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5CQjwvc3Bh
bj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9z
cGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QkI8
L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5B
QTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsi
PkJCPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RG
OyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RP
VEY7Ij5CQjwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVz
dE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNU
ZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJl
c1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1
cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVh
dHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRG
ZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9u
dEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBG
b250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6
IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWls
eTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFt
aWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1m
YW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250
LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZv
bnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxl
PSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5
bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBz
dHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFu
IHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNw
YW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08
c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4K
LTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFu
PgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3Nw
YW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwv
c3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFB
PC9zcGFuPgotPC9kaXY+Ci08ZGl2IGlkPSJpbnNlcnRpb25Qb2ludDIiPjxzcGFuIHN0eWxlPSJm
b250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdFRURjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9
ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QkI8L3NwYW4+Ci08c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0
eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkJCPC9zcGFuPgotPHNwYW4g
c3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3Bh
biBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5CQjwvc3Bhbj4KLTxz
cGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgot
PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QkI8L3NwYW4+
Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bh
bj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9z
cGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8
L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5B
QTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsi
PkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RG
OyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RP
VEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVz
dE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNU
ZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJl
c1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1
cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVh
dHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRG
ZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9u
dEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBG
b250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6
IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWls
eTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFt
aWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1m
YW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250
LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZv
bnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxl
PSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5
bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBz
dHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFu
IHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPC9k
aXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZvbnQt
dmFyaWFudC1mb250LWZhY2UtYWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZvbnQtdmFyaWFu
dC1mb250LWZhY2UtYWxsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0NWZk
MjYyMmI4ZWQxNDRiZTU2MDE3Yjg2NmNiYTllNGEzMzdlNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQt
Zm9udC1mYWNlLWFsbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA1ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VGhpcyB0ZXN0
IGlzIGEgZHVtcC1yZW5kZXItdHJlZSB0ZXN0IHdoaWNoIG1ha2VzIHN1cmUgdGhhdCB0aGUgZm9s
bG93aW5nIHByb3BlcnRpZXMgYXJlIGFwcHJvcHJpYXRlbHkgYXBwbGllZDo8L3A+Ci08dWw+Ci08
bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzPC9saT4KLTxsaT4td2Via2l0LWZvbnQt
dmFyaWFudC1wb3NpdGlvbjwvbGk+Ci08bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtY2FwczwvbGk+
Ci08bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtbnVtZXJpYzwvbGk+Ci08bGk+LXdlYmtpdC1mb250
LXZhcmlhbnQtYWx0ZXJuYXRlczwvbGk+Ci08bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtZWFzdC1h
c2lhbjwvbGk+Ci08L3VsPgotVGhlIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIGEgcGFydGljdWxh
ciBzZXF1ZW5jZSBvZiBjaGVja3MgYW5kIHggY2hhcmFjdGVycyBiZWxvdy4gTm90ZSB0aGF0IHNv
bWUgeCBjaGFyYWN0ZXJzIGFyZSBleHBlY3RlZC4KLTxkaXYgaWQ9Imluc2VydGlvblBvaW50Ij48
L2Rpdj4KLTxkaXYgaWQ9Imluc2VydGlvblBvaW50MiI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIGlu
c2VydGlvblBvaW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImluc2VydGlvblBvaW50Iik7
Ci12YXIgaW5zZXJ0aW9uUG9pbnQyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImluc2VydGlv
blBvaW50MiIpOwotCi12YXIgc3R5bGVOb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5
bGUiKTsKLWRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVOb2RlKTsKLQotZnVuY3Rpb24g
YWRkRWxlbWVudChwb2ludFRvSW5zZXJ0LCBmb250RmFtaWx5LCBleHRlbnNpb24sIGZvcm1hdCwg
cHJvcGVydHksIHZhbHVlLCB0ZXh0KSB7Ci0gICAgc3R5bGVOb2RlLnNoZWV0Lmluc2VydFJ1bGUo
IkBmb250LWZhY2UgeyBmb250LWZhbWlseTogIiArIGZvbnRGYW1pbHkgKyAiXyIgKyBwcm9wZXJ0
eSArICJfIiArIHZhbHVlICsgIjsgc3JjOiB1cmwoJ3Jlc291cmNlcy9Gb250V2l0aEZlYXR1cmVz
LiIgKyBleHRlbnNpb24gKyAiJykgZm9ybWF0KCciICsgZm9ybWF0ICsgIicpOyAiICsgcHJvcGVy
dHkgKyAiOiAiICsgdmFsdWUgKyAiOyB9IiwgMCk7Ci0gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gICAgZWxlbWVudC50ZXh0Q29udGVudCA9IHRleHQg
KyB0ZXh0OwotICAgIGVsZW1lbnQuc3R5bGUuZm9udEZhbWlseSA9IGZvbnRGYW1pbHkgKyAiXyIg
KyBwcm9wZXJ0eSArICJfIiArIHZhbHVlOwotICAgIHBvaW50VG9JbnNlcnQuYXBwZW5kQ2hpbGQo
ZWxlbWVudCk7Ci0gICAgcG9pbnRUb0luc2VydC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSgiICIpKTsKLX0KLQotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0
dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMi
LCAiY29tbW9uLWxpZ2F0dXJlcyIsICJDIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAi
Rm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWxp
Z2F0dXJlcyIsICJuby1jb21tb24tbGlnYXR1cmVzIiwgIkMiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0
aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250
LXZhcmlhbnQtbGlnYXR1cmVzIiwgImRpc2NyZXRpb25hcnktbGlnYXR1cmVzIiwgIkUiKTsKLWFk
ZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJv
cGVudHlwZSIsICJmb250LXZhcmlhbnQtbGlnYXR1cmVzIiwgIm5vLWRpc2NyZXRpb25hcnktbGln
YXR1cmVzIiwgIkUiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNU
ZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtbGlnYXR1cmVzIiwgImhp
c3RvcmljYWwtbGlnYXR1cmVzIiwgIkYiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJG
b250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtbGln
YXR1cmVzIiwgIm5vLWhpc3RvcmljYWwtbGlnYXR1cmVzIiwgIkYiKTsKLWFkZEVsZW1lbnQoaW5z
ZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJm
b250LXZhcmlhbnQtbGlnYXR1cmVzIiwgImNvbnRleHR1YWwiLCAiRyIpOwotYWRkRWxlbWVudChp
bnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwg
ImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAibm8tY29udGV4dHVhbCIsICJHIik7Ci1hZGRFbGVt
ZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5
cGUiLCAiZm9udC12YXJpYW50LXBvc2l0aW9uIiwgInN1YiIsICJIIik7Ci1hZGRFbGVtZW50KGlu
c2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAi
Zm9udC12YXJpYW50LXBvc2l0aW9uIiwgInN1cGVyIiwgIkkiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0
aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250
LXZhcmlhbnQtY2FwcyIsICJzbWFsbC1jYXBzIiwgIkoiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9u
UG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZh
cmlhbnQtY2FwcyIsICJhbGwtc21hbGwtY2FwcyIsICJKIik7Ci1hZGRFbGVtZW50KGluc2VydGlv
blBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12
YXJpYW50LWNhcHMiLCAicGV0aXRlLWNhcHMiLCAiTCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Q
b2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFy
aWFudC1jYXBzIiwgImFsbC1wZXRpdGUtY2FwcyIsICJMIik7Ci1hZGRFbGVtZW50KGluc2VydGlv
blBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12
YXJpYW50LWNhcHMiLCAidW5pY2FzZSIsICJOIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50
LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50
LWNhcHMiLCAidGl0bGluZy1jYXBzIiwgIk8iKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQs
ICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQt
bnVtZXJpYyIsICJsaW5pbmctbnVtcyIsICJQIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50
LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50
LW51bWVyaWMiLCAib2xkc3R5bGUtbnVtcyIsICJRIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBv
aW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJp
YW50LW51bWVyaWMiLCAicHJvcG9ydGlvbmFsLW51bXMiLCAiUiIpOwotYWRkRWxlbWVudChpbnNl
cnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZv
bnQtdmFyaWFudC1udW1lcmljIiwgInRhYnVsYXItbnVtcyIsICJTIik7Ci1hZGRFbGVtZW50KGlu
c2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAi
Zm9udC12YXJpYW50LW51bWVyaWMiLCAiZGlhZ29uYWwtZnJhY3Rpb25zIiwgIlQiKTsKLS8vYWRk
RWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9w
ZW50eXBlIiwgImZvbnQtdmFyaWFudC1udW1lcmljIiwgInN0YWNrZWQtZnJhY3Rpb25zIiwgIlUi
KTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90
ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJvcmRpbmFsIiwgIlYiKTsK
LWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIs
ICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJzbGFzaGVkLXplcm8iLCAiVyIp
OwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3Rm
IiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1hbHRlcm5hdGVzIiwgImhpc3RvcmljYWwtZm9y
bXMiLCAiWCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RP
VEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIiwgImppczc4
IiwgIlkiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RG
IiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJqaXM4MyIs
ICJaIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIs
ICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAiamlzOTAiLCAi
YSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAi
b3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIiwgImppczA0IiwgImIi
KTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90
ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJzaW1wbGlmaWVkIiwg
ImMiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwg
Im90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJ0cmFkaXRpb25h
bCIsICJkIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9U
RiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAiZnVsbC13
aWR0aCIsICJlIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVz
dE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAicHJv
cG9ydGlvbmFsLXdpZHRoIiwgImYiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250
RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1h
c2lhbiIsICJydWJ5IiwgImciKTsKLQotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250
RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbGlnYXR1
cmVzIiwgImNvbW1vbi1saWdhdHVyZXMiLCAiQyIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2lu
dDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlh
bnQtbGlnYXR1cmVzIiwgIm5vLWNvbW1vbi1saWdhdHVyZXMiLCAiQyIpOwotYWRkRWxlbWVudChp
bnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIs
ICJmb250LXZhcmlhbnQtbGlnYXR1cmVzIiwgImRpc2NyZXRpb25hcnktbGlnYXR1cmVzIiwgIkci
KTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0
dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWxpZ2F0dXJlcyIsICJuby1kaXNjcmV0aW9u
YXJ5LWxpZ2F0dXJlcyIsICJHIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRG
ZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVy
ZXMiLCAiaGlzdG9yaWNhbC1saWdhdHVyZXMiLCAiSSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Q
b2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZh
cmlhbnQtbGlnYXR1cmVzIiwgIm5vLWhpc3RvcmljYWwtbGlnYXR1cmVzIiwgIkkiKTsKLWFkZEVs
ZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1
ZXR5cGUiLCAiZm9udC12YXJpYW50LWxpZ2F0dXJlcyIsICJjb250ZXh0dWFsIiwgIkwiKTsKLWFk
ZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAi
dHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWxpZ2F0dXJlcyIsICJuby1jb250ZXh0dWFsIiwgIkwi
KTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0
dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LXBvc2l0aW9uIiwgInN1YiIsICJPIik7Ci1h
ZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwg
InRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1wb3NpdGlvbiIsICJzdXBlciIsICJQIik7Ci1hZGRF
bGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRy
dWV0eXBlIiwgImZvbnQtdmFyaWFudC1jYXBzIiwgInNtYWxsLWNhcHMiLCAiUyIpOwotYWRkRWxl
bWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVl
dHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIsICJhbGwtc21hbGwtY2FwcyIsICJTIik7Ci1hZGRF
bGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRy
dWV0eXBlIiwgImZvbnQtdmFyaWFudC1jYXBzIiwgInBldGl0ZS1jYXBzIiwgIlQiKTsKLWFkZEVs
ZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1
ZXR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMiLCAiYWxsLXBldGl0ZS1jYXBzIiwgIlQiKTsKLWFk
ZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAi
dHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMiLCAidW5pY2FzZSIsICJZIik7Ci1hZGRFbGVt
ZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0
eXBlIiwgImZvbnQtdmFyaWFudC1jYXBzIiwgInRpdGxpbmctY2FwcyIsICJhIik7Ci1hZGRFbGVt
ZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0
eXBlIiwgImZvbnQtdmFyaWFudC1udW1lcmljIiwgImxpbmluZy1udW1zIiwgImMiKTsKLWFkZEVs
ZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1
ZXR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMiLCAib2xkc3R5bGUtbnVtcyIsICJkIik7Ci1h
ZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwg
InRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1udW1lcmljIiwgInByb3BvcnRpb25hbC1udW1zIiwg
ImYiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIs
ICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMiLCAidGFidWxhci1udW1z
IiwgImciKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRU
RiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMiLCAiZGlhZ29uYWwt
ZnJhY3Rpb25zIiwgImkiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1
cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMiLCAi
c3RhY2tlZC1mcmFjdGlvbnMiLCAiaiIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJG
b250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbnVt
ZXJpYyIsICJvcmRpbmFsIiwgIlEiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9u
dEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LW51bWVy
aWMiLCAic2xhc2hlZC16ZXJvIiwgImsiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAi
Rm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWFs
dGVybmF0ZXMiLCAiaGlzdG9yaWNhbC1mb3JtcyIsICJLIik7Ci1hZGRFbGVtZW50KGluc2VydGlv
blBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQt
dmFyaWFudC1lYXN0LWFzaWFuIiwgImppczc4IiwgIm0iKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9u
UG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12
YXJpYW50LWVhc3QtYXNpYW4iLCAiamlzODMiLCAibiIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Q
b2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZh
cmlhbnQtZWFzdC1hc2lhbiIsICJqaXM5MCIsICJvIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBv
aW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQtdmFy
aWFudC1lYXN0LWFzaWFuIiwgImppczA0IiwgInAiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9p
bnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJp
YW50LWVhc3QtYXNpYW4iLCAic2ltcGxpZmllZCIsICJxIik7Ci1hZGRFbGVtZW50KGluc2VydGlv
blBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQt
dmFyaWFudC1lYXN0LWFzaWFuIiwgInRyYWRpdGlvbmFsIiwgInIiKTsKLWFkZEVsZW1lbnQoaW5z
ZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAi
Zm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAiZnVsbC13aWR0aCIsICJ0Iik7Ci1hZGRFbGVtZW50
KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0eXBl
IiwgImZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIiwgInByb3BvcnRpb25hbC13aWR0aCIsICJ1Iik7
Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRm
IiwgInRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIiwgInJ1YnkiLCAidiIpOwot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L2ZvbnQtdmFyaWFudC1mb250LWZhY2Utb3ZlcnJpZGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVycmlkZS1leHBlY3RlZC5odG1sCmlu
ZGV4IGE5NDE0YmE4MmFkMmMxNWYxZGE4NzAzOTUyMDM1MGI1MWFmNDhiZmYuLmFkZTZmY2U1OWU4
OWQzMGVjOTM3YzY0ZTBkZDFhNWY2NzM4NWJlNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Nz
czMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVycmlkZS1leHBlY3RlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVycmlkZS1leHBlY3RlZC5o
dG1sCkBAIC0xNiwxMSArMTYsNyBAQAogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsb2NhbCBm
b250IGZlYXR1cmUgc3R5bGVzIGNhbiBvdmVycmlkZSB0aGUgZm9udCBmZWF0dXJlIHN0eWxlcyBk
ZWNsYXJlZCBpbiBAZm9udC1mYWNlIGJsb2Nrcy4KIDxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9u
dEZlYXR1cmVzVGVzdE9URjsiPkFBPC9kaXY+CiA8ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRG
ZWF0dXJlc1Rlc3RPVEY7Ij5CQjwvZGl2PgotPGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250RmVh
dHVyZXNUZXN0T1RGOyI+QUE8L2Rpdj4KLTxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1
cmVzVGVzdE9URjsiPkJCPC9kaXY+Ci08ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJl
c1Rlc3RUVEY7Ij5BQTwvZGl2PgotPGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNU
ZXN0VFRGOyI+QkI8L2Rpdj4KIDxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVz
dFRURjsiPkFBPC9kaXY+CiA8ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RU
VEY7Ij5CQjwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZv
bnQtZmFjZS1vdmVycmlkZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9u
dC1mYWNlLW92ZXJyaWRlLmh0bWwKaW5kZXggZmNlMmIwMjA1NjcxMzJhNDk2MDIwYzU1MDU4MzZm
NmI4NWE1MDg2Yy4uOTM0ZGZmMzM1NjRlYzQzMjM2ODMzYjVkZjQxMTg1ZTBkNzRkYjIyMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJyaWRl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJy
aWRlLmh0bWwKQEAgLTcsMzIgKzcsMTggQEAKICAgICBzcmM6IHVybCgicmVzb3VyY2VzL0ZvbnRX
aXRoRmVhdHVyZXMub3RmIikgZm9ybWF0KCJvcGVudHlwZSIpOwogICAgIGZvbnQtZmVhdHVyZS1z
ZXR0aW5nczogInRpdGwiIDE7CiB9Ci1AZm9udC1mYWNlIHsKLSAgICBmb250LWZhbWlseTogIkZv
bnRGZWF0dXJlc1Rlc3RPVEYyIjsKLSAgICBzcmM6IHVybCgicmVzb3VyY2VzL0ZvbnRXaXRoRmVh
dHVyZXMub3RmIikgZm9ybWF0KCJvcGVudHlwZSIpOwotICAgIGZvbnQtdmFyaWFudC1jYXBzOiB0
aXRsaW5nLWNhcHM7Ci19CiBAZm9udC1mYWNlIHsKICAgICBmb250LWZhbWlseTogIkZvbnRGZWF0
dXJlc1Rlc3RUVEYiOwogICAgIHNyYzogdXJsKCJyZXNvdXJjZXMvRm9udFdpdGhGZWF0dXJlcy50
dGYiKSBmb3JtYXQoInRydWV0eXBlIik7CiAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAidGl0
bCIgMTsKIH0KLUBmb250LWZhY2UgewotICAgIGZvbnQtZmFtaWx5OiAiRm9udEZlYXR1cmVzVGVz
dFRURjIiOwotICAgIHNyYzogdXJsKCJyZXNvdXJjZXMvRm9udFdpdGhGZWF0dXJlcy50dGYiKSBm
b3JtYXQoInRydWV0eXBlIik7Ci0gICAgZm9udC12YXJpYW50LWNhcHM6IHRpdGxpbmctY2FwczsK
LX0KIDwvc3R5bGU+CiA8L2hlYWQ+CiA8Ym9keT4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
bG9jYWwgZm9udCBmZWF0dXJlIHN0eWxlcyBjYW4gb3ZlcnJpZGUgdGhlIGZvbnQgZmVhdHVyZSBz
dHlsZXMgZGVjbGFyZWQgaW4gQGZvbnQtZmFjZSBibG9ja3MuCiA8ZGl2IHN0eWxlPSJmb250OiA0
MHB4IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5PTzwvZGl2PgogPGRpdiBzdHlsZT0iZm9udDogNDBw
eCBGb250RmVhdHVyZXNUZXN0T1RGOyBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICd0aXRsJyAwOyI+
T088L2Rpdj4KLTxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdE9URjI7Ij5P
TzwvZGl2PgotPGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0T1RGMjsgZm9u
dC1mZWF0dXJlLXNldHRpbmdzOiAndGl0bCcgMDsiPk9PPC9kaXY+CiA8ZGl2IHN0eWxlPSJmb250
OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RUVEY7Ij5hYTwvZGl2PgogPGRpdiBzdHlsZT0iZm9udDog
NDBweCBGb250RmVhdHVyZXNUZXN0VFRGOyBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICd0aXRsJyAw
OyI+YWE8L2Rpdj4KLTxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdFRURjI7
Ij5hYTwvZGl2PgotPGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0VFRGMjsg
Zm9udC1mZWF0dXJlLXNldHRpbmdzOiAndGl0bCcgMDsiPmFhPC9kaXY+CiA8L2JvZHk+Ci08L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1lbXB0eS1zdHJpbmctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1lbXB0eS1zdHJpbmctZXhwZWN0ZWQudHh0
CmluZGV4IDhmN2NjZTNjYjg2MWYyN2E2ODE0Y2NjYWEzYmY1ODgxMDE5OWY1OTUuLjc5NzVkNDFj
MjFhODBkOWUwODlhY2E5ZjI2MDcxYWI3M2EzNGI5NzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9mb250LWZhY2UtZW1wdHktc3RyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWVtcHR5LXN0cmluZy1leHBlY3RlZC50eHQKQEAg
LTEyLDkgKzEyLDYgQEAgUEFTUyBmb250ZmFjZS53ZWlnaHQgPSAnJyB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaAogUEFTUyBmb250ZmFjZSA9IG5l
dyBGb250RmFjZSgnV2ViRm9udCcsICd1cmwoXCdhc2RmXCcpJywge3VuaWNvZGVSYW5nZTogJyd9
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgZm9udGZhY2UudW5pY29kZVJhbmdlIGlz
ICJVKzAtMTBmZmZmIgogUEFTUyBmb250ZmFjZS51bmljb2RlUmFuZ2UgPSAnJyB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQg
cGF0dGVybi4uCi1QQVNTIGZvbnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChc
J2FzZGZcJyknLCB7dmFyaWFudDogJyd9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1Mg
Zm9udGZhY2UudmFyaWFudCBpcyAibm9ybWFsIgotUEFTUyBmb250ZmFjZS52YXJpYW50ID0gJycg
dGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhl
IGV4cGVjdGVkIHBhdHRlcm4uLgogUEFTUyBmb250ZmFjZSA9IG5ldyBGb250RmFjZSgnV2ViRm9u
dCcsICd1cmwoXCdhc2RmXCcpJywge2ZlYXR1cmVTZXR0aW5nczogJyd9KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KIFBBU1MgZm9udGZhY2UuZmVhdHVyZVNldHRpbmdzIGlzICJub3JtYWwiCiBQ
QVNTIGZvbnRmYWNlLmZlYXR1cmVTZXR0aW5ncyA9ICcnIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtZW1wdHktc3RyaW5nLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWVtcHR5LXN0cmluZy5odG1sCmlu
ZGV4IDBhOTBlMWNhMjNiZjdlZGNjMjBkMzIwMjlmYmQ0MzU1ZDNlMmJmYzIuLjMxZWQ2NjJlMjhi
YjA3ZTRlZGRmOTkzNmJiMTNjMmVlMTBiMTZhZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9mb250LWZhY2UtZW1wdHktc3RyaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2ZvbnQtZmFjZS1lbXB0eS1zdHJpbmcuaHRtbApAQCAtMTcsOSArMTcsNiBAQCBzaG91
bGRUaHJvdygiZm9udGZhY2Uud2VpZ2h0ID0gJyciKTsKIHNob3VsZE5vdFRocm93KCJmb250ZmFj
ZSA9IG5ldyBGb250RmFjZSgnV2ViRm9udCcsICd1cmwoXFxcJ2FzZGZcXFwnKScsIHt1bmljb2Rl
UmFuZ2U6ICcnfSkiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZm9udGZhY2UudW5pY29kZVJh
bmdlIiwgIlUrMC0xMGZmZmYiKTsKIHNob3VsZFRocm93KCJmb250ZmFjZS51bmljb2RlUmFuZ2Ug
PSAnJyIpOwotc2hvdWxkTm90VGhyb3coImZvbnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250
JywgJ3VybChcXFwnYXNkZlxcXCcpJywge3ZhcmlhbnQ6ICcnfSkiKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygiZm9udGZhY2UudmFyaWFudCIsICJub3JtYWwiKTsKLXNob3VsZFRocm93KCJmb250
ZmFjZS52YXJpYW50ID0gJyciKTsKIHNob3VsZE5vdFRocm93KCJmb250ZmFjZSA9IG5ldyBGb250
RmFjZSgnV2ViRm9udCcsICd1cmwoXFxcJ2FzZGZcXFwnKScsIHtmZWF0dXJlU2V0dGluZ3M6ICcn
fSkiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZm9udGZhY2UuZmVhdHVyZVNldHRpbmdzIiwg
Im5vcm1hbCIpOwogc2hvdWxkVGhyb3coImZvbnRmYWNlLmZlYXR1cmVTZXR0aW5ncyA9ICcnIik7
CkBAIC0yOCw0ICsyNSw0IEBAIHNob3VsZFRocm93KCJmb250ZmFjZS5mYW1pbHkgPSAnJyIpOwog
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZh
c2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtamF2
YXNjcmlwdC1leHBlY3RlZC50eHQKaW5kZXggMTdkMDQyMWU5NjkyZTI1ZWU2OGVmY2FmODRlYTc1
N2M3NmU3YTMwNy4uMzU5YmFhOWRhNDRlNjY2NDZhYjUyMDhkOTBiODk5ZWRjNjEwZTM3NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWphdmFzY3JpcHQt
ZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsNiBAQCBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25h
bWUnLCAndXJsKFwnYXNkZlwnKScsIHt9KS5zdHlsZSBpcyAibm9ybWFsIgogUEFTUyBuZXcgRm9u
dEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7fSkud2VpZ2h0IGlzICJub3Jt
YWwiCiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHt9
KS5zdHJldGNoIGlzICJub3JtYWwiCiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAn
dXJsKFwnYXNkZlwnKScsIHt9KS51bmljb2RlUmFuZ2UgaXMgIlUrMC0xMGZmZmYiCi1QQVNTIG5l
dyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHt9KS52YXJpYW50IGlz
ICJub3JtYWwiCiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwn
KScsIHt9KS5mZWF0dXJlU2V0dGluZ3MgaXMgIm5vcm1hbCIKIFBBU1MgbmV3IEZvbnRGYWNlKCdm
YW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeydzdHlsZSc6ICdub3JtYWwnfSkuc3R5bGUg
aXMgIm5vcm1hbCIKIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2Rm
XCcpJywgeydzdHlsZSc6ICdpbmhlcml0J30pLnN0eWxlIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KQEAg
LTE5LDIyICsxOCwxNyBAQCBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwn
YXNkZlwnKScsIHsnd2VpZ2h0JzogJ2luaGVyaXQnfSkud2VpZ2h0CiBQQVNTIG5ldyBGb250RmFj
ZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHsnc3RyZXRjaCc6ICd1bHRyYS1leHBh
bmRlZCd9KS5zdHJldGNoIGlzICJ1bHRyYS1leHBhbmRlZCIKIFBBU1MgbmV3IEZvbnRGYWNlKCdm
YW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeyd1bmljb2RlUmFuZ2UnOiAnVSsyNid9KS51
bmljb2RlUmFuZ2UgaXMgIlUrMjYtMjYiCiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUn
LCAndXJsKFwnYXNkZlwnKScsIHsndW5pY29kZVJhbmdlJzogJ1UrMC03Rid9KS51bmljb2RlUmFu
Z2UgaXMgIlUrMC03ZiIKLVBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdh
c2RmXCcpJywgeyd2YXJpYW50JzogJ3ZhcmlhbnRfbmFtZSd9KS52YXJpYW50IHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBw
YXR0ZXJuLi4KLVBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcp
Jywgeyd2YXJpYW50JzogJ3NtYWxsLWNhcHMnfSkudmFyaWFudCBpcyAic21hbGwtY2FwcyIKLVBB
U1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeyd2YXJpYW50
JzogJ3NtYWxsLWNhcHMgY29tbW9uLWxpZ2F0dXJlcyd9KS52YXJpYW50IGlzICJjb21tb24tbGln
YXR1cmVzIHNtYWxsLWNhcHMiCiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJs
KFwnYXNkZlwnKScsIHsnZmVhdHVyZVNldHRpbmdzJzogJ1wndGl0bFwnJ30pLmZlYXR1cmVTZXR0
aW5ncyBpcyAiXCJ0aXRsXCIiCiBQQVNTIGV2ZXJ5dGhpbmcuc3R5bGUgaXMgIml0YWxpYyIKIFBB
U1MgZXZlcnl0aGluZy53ZWlnaHQgaXMgImJvbGQiCiBQQVNTIGV2ZXJ5dGhpbmcuc3RyZXRjaCBp
cyAiZXh0cmEtZXhwYW5kZWQiCiBQQVNTIGV2ZXJ5dGhpbmcudW5pY29kZVJhbmdlIGlzICJVKzI2
LTI2IgotUEFTUyBldmVyeXRoaW5nLnZhcmlhbnQgaXMgInNtYWxsLWNhcHMiCiBQQVNTIGV2ZXJ5
dGhpbmcuZmVhdHVyZVNldHRpbmdzIGlzICJcInRpdGxcIiIKIFBBU1MgZXZlcnl0aGluZy5mYW1p
bHkgaXMgIm90aGVyX2ZhbWlseV9uYW1lIgogUEFTUyBldmVyeXRoaW5nLnN0eWxlIGlzICJub3Jt
YWwiCiBQQVNTIGV2ZXJ5dGhpbmcud2VpZ2h0IGlzICIzMDAiCiBQQVNTIGV2ZXJ5dGhpbmcuc3Ry
ZXRjaCBpcyAiY29uZGVuc2VkIgogUEFTUyBldmVyeXRoaW5nLnVuaWNvZGVSYW5nZSBpcyAiVSsw
LTdmIgotUEFTUyBldmVyeXRoaW5nLnZhcmlhbnQgaXMgInN0YWNrZWQtZnJhY3Rpb25zIgogUEFT
UyBldmVyeXRoaW5nLmZlYXR1cmVTZXR0aW5ncyBpcyAiXCJzbWNwXCIiCiBQQVNTIG5ldyBGb250
RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScsIHt9KSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsIG5ld0FycmF5QnVmZmVy
LCB7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZm9udC1mYWNlLWphdmFzY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9mb250LWZhY2UtamF2YXNjcmlwdC5odG1sCmluZGV4IDgxYTQzYWI5Yjk1NzI4M2Y3ZTE2ZDg5
Y2Q4YmUzNjU5NjgyOThhNjEuLmUzNWU0NzgxYWEzYjQ2NzVmOTllMDljOWVjYjYxYjNmOGVmNGIw
ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlw
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlwdC5o
dG1sCkBAIC0xMCw3ICsxMCw2IEBAIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNl
KCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7fSkuc3R5bGUiCiBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcp
Jywge30pLndlaWdodCIsICJub3JtYWwiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZv
bnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7fSkuc3RyZXRjaCIsICJu
b3JtYWwiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFt
ZScsICd1cmwoXFwnYXNkZlxcJyknLCB7fSkudW5pY29kZVJhbmdlIiwgIlUrMC0xMGZmZmYiKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwo
XFwnYXNkZlxcJyknLCB7fSkudmFyaWFudCIsICJub3JtYWwiKTsKIHNob3VsZEJlRXF1YWxUb1N0
cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7fSku
ZmVhdHVyZVNldHRpbmdzIiwgIm5vcm1hbCIpOwogCiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5l
dyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcpJywgeydzdHlsZSc6ICdu
b3JtYWwnfSkuc3R5bGUiLCAibm9ybWFsIik7CkBAIC0yNywxNyArMjYsMTMgQEAgc2hvdWxkVGhy
b3coIm5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcpJywgeyd3ZWln
aHQnOiAnaW5oZXJpdCcKIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1p
bHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7J3N0cmV0Y2gnOiAndWx0cmEtZXhwYW5kZWQn
fSkuc3RyZXRjaCIsICJ1bHRyYS1leHBhbmRlZCIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJu
ZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHsndW5pY29kZVJh
bmdlJzogJ1UrMjYnfSkudW5pY29kZVJhbmdlIiwgIlUrMjYtMjYiKTsKIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7
J3VuaWNvZGVSYW5nZSc6ICdVKzAtN0YnfSkudW5pY29kZVJhbmdlIiwgIlUrMC03ZiIpOwotc2hv
dWxkVGhyb3coIm5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcpJywg
eyd2YXJpYW50JzogJ3ZhcmlhbnRfbmFtZSd9KS52YXJpYW50Iik7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoIm5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcpJywgeyd2
YXJpYW50JzogJ3NtYWxsLWNhcHMnfSkudmFyaWFudCIsICJzbWFsbC1jYXBzIik7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoIm5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZc
XCcpJywgeyd2YXJpYW50JzogJ3NtYWxsLWNhcHMgY29tbW9uLWxpZ2F0dXJlcyd9KS52YXJpYW50
IiwgImNvbW1vbi1saWdhdHVyZXMgc21hbGwtY2FwcyIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHsnZmVhdHVy
ZVNldHRpbmdzJzogJ1xcJ3RpdGxcXCcnfSkuZmVhdHVyZVNldHRpbmdzIiwgIlwidGl0bFwiIik7
CiAKLXZhciBldmVyeXRoaW5nID0gbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdh
c2RmXCcpJywgeydzdHlsZSc6ICdpdGFsaWMnLCAnd2VpZ2h0JzogJ2JvbGQnLCAnc3RyZXRjaCc6
ICdleHRyYS1leHBhbmRlZCcsICd1bmljb2RlUmFuZ2UnOiAnVSsyNicsICd2YXJpYW50JzogJ3Nt
YWxsLWNhcHMnLCAnZmVhdHVyZVNldHRpbmdzJzogJ1wndGl0bFwnJ30pOwordmFyIGV2ZXJ5dGhp
bmcgPSBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3N0eWxl
JzogJ2l0YWxpYycsICd3ZWlnaHQnOiAnYm9sZCcsICdzdHJldGNoJzogJ2V4dHJhLWV4cGFuZGVk
JywgJ3VuaWNvZGVSYW5nZSc6ICdVKzI2JywgJ2ZlYXR1cmVTZXR0aW5ncyc6ICdcJ3RpdGxcJyd9
KTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlcnl0aGluZy5zdHlsZSIsICJpdGFsaWMiKTsK
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlcnl0aGluZy53ZWlnaHQiLCAiYm9sZCIpOwogc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLnN0cmV0Y2giLCAiZXh0cmEtZXhwYW5kZWQi
KTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlcnl0aGluZy51bmljb2RlUmFuZ2UiLCAiVSsy
Ni0yNiIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLnZhcmlhbnQiLCAic21h
bGwtY2FwcyIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLmZlYXR1cmVTZXR0
aW5ncyIsICJcInRpdGxcIiIpOwogCiBldmVyeXRoaW5nLmZhbWlseSA9ICJvdGhlcl9mYW1pbHlf
bmFtZSI7CkBAIC01MCw4ICs0NSw2IEBAIGV2ZXJ5dGhpbmcuc3RyZXRjaCA9ICJjb25kZW5zZWQi
Owogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLnN0cmV0Y2giLCAiY29uZGVuc2Vk
Iik7CiBldmVyeXRoaW5nLnVuaWNvZGVSYW5nZSA9ICJVKzAtN0YiOwogc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJldmVyeXRoaW5nLnVuaWNvZGVSYW5nZSIsICJVKzAtN2YiKTsKLWV2ZXJ5dGhpbmcu
dmFyaWFudCA9ICJzdGFja2VkLWZyYWN0aW9ucyI7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2
ZXJ5dGhpbmcudmFyaWFudCIsICJzdGFja2VkLWZyYWN0aW9ucyIpOwogZXZlcnl0aGluZy5mZWF0
dXJlU2V0dGluZ3MgPSAiJ3NtY3AnIjsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlcnl0aGlu
Zy5mZWF0dXJlU2V0dGluZ3MiLCAiXCJzbWNwXCIiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1NmJiMDA0M2U1N2Q1YWUxNzVkYWVjMWI5NGEyMmI0
MmJmYWEzNGIyLi4xYmM3MDhmMGVlNDM4MzkwNmNiNDY3NjMwN2RmOTQwNzBmZmRkM2IzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODU2LDcgKzg1Niw2
IEBAIHdlYmtpdC5vcmcvYi8xNTI2MTggZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvc3lzdGVtLWxh
bmd1YWdlL2RlY2xhcmF0aXZlLWxhbmd1YWdlCiAKICMgVGhpcyBwb3J0IGRvZXNuJ3Qgc3VwcG9y
dCBzbWFsbC1jYXBzIHN5bnRoZXNpcy4KIHdlYmtpdC5vcmcvYi8xNTI2MjAgY3NzMy9mb250LXZh
cmlhbnQtYWxsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNTI2MjAg
Y3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLWFsbC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMTUyNjIwIGNzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVycmlk
ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTUyNjIwIGNzczMvZm9u
dC12YXJpYW50LXBldGl0ZS1jYXBzLXN5bnRoZXNpcy1jb3ZlcmFnZS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTUyNjIwIGNzczMvZm9udC12YXJpYW50LXBldGl0ZS1j
YXBzLXN5bnRoZXNpcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE5MjhlMzkwMmZjYjgyNjRlOTM5MzViYzBk
OGVmNWViNWMyMDZlM2EuLjJlODk4NTM2NGE3MDU1ZTk1MDdhNzgxOGNkMDJkODZmYzk4NDlhMDUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC01MjEsNyAr
NTIxLDYgQEAgZmFzdC9jc3MvZHJhZ2dhYmxlLXJlZ2lvbi1wYXJzZXIuaHRtbCBbIFNraXAgXQog
Y3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVyaW5nLmh0bWwgWyBTa2lwIF0KIAogd2Vi
a2l0Lm9yZy9iLzE0OTc3MSBjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy1mb250LWZhY2UtcmVu
ZGVyaW5nLmh0bWwgWyBTa2lwIF0gIyBXb250Rml4Ci13ZWJraXQub3JnL2IvMTQ5NzcxIGNzczMv
Zm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwuaHRtbCBbIFNraXAgXSAjIFdvbnRGaXgKIHdlYmtp
dC5vcmcvYi8xNDk3NzEgY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJyaWRlLmh0bWwg
WyBTa2lwIF0gIyBXb250Rml4CiB3ZWJraXQub3JnL2IvMTQ5Nzc0IGNzczMvZm9udC12YXJpYW50
LXBldGl0ZS1jYXBzLXN5bnRoZXNpcy1jb3ZlcmFnZS5odG1sIFsgU2tpcCBdICMgV29udEZpeAog
d2Via2l0Lm9yZy9iLzE0OTc3NCBjc3MzL2ZvbnQtdmFyaWFudC1wZXRpdGUtY2Fwcy1zeW50aGVz
aXMuaHRtbCBbIFNraXAgXSAjIFdvbnRGaXgKQEAgLTQ0OTMsNCArNDQ5Miw0IEBAIHdlYmtpdC5v
cmcvYi8yMDI5NTEgZmFzdC9jYW52YXMvZHJhd0ltYWdlLWFuaW1hdGVkLWdpZi1kcmF3cy1maXJz
dC1mcmFtZS1hbmQtbm8tCiAKIHdlYmtpdC5vcmcvYi8yMDI5NTIgaHR0cC90ZXN0cy9zZWN1cml0
eS9uYXZpZ2F0ZS13aGVuLXJlc3RvcmluZy1jYWNoZWQtcGFnZS5odG1sIFsgVGltZW91dCBdCiAK
LXdlYmtpdC5vcmcvYi8yMDI5NTMgaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9ub24t
ZG9jdW1lbnQtbWl4ZWQtY29udGVudC1ibG9ja2VkLWh0dHBzLXdpdGgtZW1iZWRkZWQtaHR0cC13
aXRoLWVtYmVkZGVkLWh0dHBzLmh0dHBzLmh0bWwgWyBUaW1lb3V0IF0KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2IvMjAyOTUzIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvbm9uLWRvY3VtZW50LW1peGVkLWNvbnRlbnQtYmxvY2tlZC1odHRwcy13aXRoLWVt
YmVkZGVkLWh0dHAtd2l0aC1lbWJlZGRlZC1odHRwcy5odHRwcy5odG1sIFsgVGltZW91dCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBl
MWI3ZWUxYjlkOTA2NDFjNTkxYTQ4MDFmMjQ5NDM1NDA2YjZkNmFmLi43NDQ4MjllYzNkNWFjMGMx
MmM5NjU5MmE4ZjRlYTNhNjE1MTk0NDlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExODIsNyArMTE4Miw2IEBAIGNzczMvZm9udC12
YXJpYW50LXN5bnRoZXNpcy1qZGFnZ2V0dC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAjIEZv
bnQgZmVhdHVyZSBzZXR0aW5ncyBpcyBub3QgaW1wbGVtZW50ZWQuCiBjc3MzL2ZvbnQtZmVhdHVy
ZS1zZXR0aW5ncy1yZW5kZXJpbmcuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE0OTc3MSBj
c3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy1mb250LWZhY2UtcmVuZGVyaW5nLmh0bWwgWyBTa2lw
IF0KLXdlYmtpdC5vcmcvYi8xNDk3NzEgY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLWFsbC5o
dG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTQ5NzcxIGNzczMvZm9udC12YXJpYW50LWZvbnQt
ZmFjZS1vdmVycmlkZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTQ5Nzc0IGNzczMvZm9u
dC12YXJpYW50LXBldGl0ZS1jYXBzLXN5bnRoZXNpcy1jb3ZlcmFnZS5odG1sIFsgU2tpcCBdCiB3
ZWJraXQub3JnL2IvMTQ5Nzc0IGNzczMvZm9udC12YXJpYW50LXBldGl0ZS1jYXBzLXN5bnRoZXNp
cy5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDZmYTJhZjBkNmZjYzRlODFkZDAxN2I1ZDEzYTBkMWE1NWUzYzlkNmIuLmZlOTliYmJh
MTY5MGJhMDg1MGZiNGNiZjNjNThmNWE5NWVlOTdjMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dwZS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNTMyLDcgKzE1MzIsNiBAQCBCdWcoV1BFKSBjc3Mz
L2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy1mb250LWZhY2UtcmVuZGVyaW5nLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlCiBCdWcoV1BFKSBjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy1yZW5kZXJpbmcu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogQnVnKFdQRSkgY3NzMy9mb250LXN5bnRoZXNpcy1z
bWFsbC1jYXBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIEJ1ZyhXUEUpIGNzczMvZm9udC12
YXJpYW50LWFsbC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1CdWcoV1BFKSBjc3MzL2ZvbnQt
dmFyaWFudC1mb250LWZhY2UtYWxsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIEJ1ZyhXUEUp
IGNzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVycmlkZS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBCdWcoV1BFKSBjc3MzL2ZvbnQtdmFyaWFudC1wZXRpdGUtY2Fwcy1zeW50aGVzaXMt
Y292ZXJhZ2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogQnVnKFdQRSkgY3NzMy9mb250LXZh
cmlhbnQtcGV0aXRlLWNhcHMtc3ludGhlc2lzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381862</attachid>
            <date>2019-10-24 17:32:54 -0700</date>
            <delta_ts>2019-11-20 15:02:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203179-20191024173253.patch</filename>
            <type>text/plain</type>
            <size>90913</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY0MWU5ODdjZWEwYzc2
M2FjZGFkZWZjNWE1NzUzMTU5MWI2YWI5ZS4uNmIyNzYxZTIzZGVhOTM4OGZlZGE4NGFiNTMzNjJh
OTgwYTY1NjhhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE5LTEwLTI0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGZv
bnQtdmFyaWFudCBAZm9udC1mYWNlIGRlc2NyaXB0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIHBlciBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLWRyYWZ0cy9pc3N1ZXMvMjUzMQorCisgICAgICAgIERlbGV0ZWQgcmVsZXZhbnQgdGVzdHMu
CisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Rm9udEZhY2U6OmZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OnNldFZhcmlh
bnRMaWdhdHVyZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OnNl
dFZhcmlhbnRQb3NpdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFj
ZTo6c2V0VmFyaWFudENhcHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZh
Y2U6OnNldFZhcmlhbnROdW1lcmljKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRGYWNlOjpzZXRWYXJpYW50QWx0ZXJuYXRlcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NGb250RmFjZTo6c2V0VmFyaWFudEVhc3RBc2lhbik6IERlbGV0ZWQuCisgICAgICAgICog
Y3NzL0NTU0ZvbnRGYWNlLmg6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU291cmNlOjpsb2FkKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRGYWNlU291cmNlOjpmb250KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZh
Y2VTb3VyY2UuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udEZhY2VSdWxlKToKKyAgICAgICAgKiBj
c3MvRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZhY2U6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250RmFjZTo6c2V0VmFyaWFudCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpGb250RmFjZTo6dmFyaWFudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
Y3NzL0ZvbnRGYWNlLmg6CisgICAgICAgICogY3NzL0ZvbnRGYWNlLmlkbDoKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGb250
OjpjcmVhdGVGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0
YUZyb21DdXN0b21EYXRhKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5oOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFNWR0ZvbnQ6OmNyZWF0ZUZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
U1ZHRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEpOgorICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRTVkdGb250Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleTo6Rm9u
dFBsYXRmb3JtRGF0YUNhY2hlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURh
dGFDYWNoZUtleTo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxh
dGZvcm1EYXRhQ2FjaGVLZXlIYXNoOjpoYXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNo
ZTo6Z2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2Fj
aGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Z2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGFGb3JUZXN0aW5n
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwcmVwYXJlUGxhdGZvcm1Gb250KToKKyAgICAgICAgKFdl
YkNvcmU6OmZvbnRXaXRoRmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Y3Jl
YXRlRm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OnN5c3Rl
bUZhbGxiYWNrRm9yQ2hhcmFjdGVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQ6OmZvbnRSYW5nZXMgY29uc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURh
dGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmg6CisKIDIwMTktMTAtMjMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQWRkIGEgbWVjaGFuaXNtIHRvIGZpbmQgYW5kIG1hbmlwdWxhdGUgdGV4dCBieSBw
YXJhZ3JhcGhzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCBmMWJjZTA3MDEwODg3
YjJhY2Y0MGE2Mzg4MzUzMTVmNWFiNDNlMzEzLi45Y2U0NjhkZGM2ZDcwYjAzMjNhZmQyOTcyYzUz
NTY2YWJiOTNiNTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTQwLDcgKzQw
LDYgQEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24u
aCIKICNpbmNsdWRlICJGb250RmFjZS5oIgotI2luY2x1ZGUgIkZvbnRWYXJpYW50QnVpbGRlci5o
IgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVCdWlsZGVyQ29udmVydGVy
LmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCkBAIC0yNzgsMTQ3ICsyNzcsNiBAQCBi
b29sIENTU0ZvbnRGYWNlOjpzZXRVbmljb2RlUmFuZ2UoQ1NTVmFsdWUmIHVuaWNvZGVSYW5nZSkK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDU1NGb250RmFjZTo6c2V0VmFyaWFudExpZ2F0
dXJlcyhDU1NWYWx1ZSYgdmFyaWFudExpZ2F0dXJlcykKLXsKLSAgICBhdXRvIGxpZ2F0dXJlcyA9
IGV4dHJhY3RGb250VmFyaWFudExpZ2F0dXJlcyh2YXJpYW50TGlnYXR1cmVzKTsKLQotICAgIGlm
IChtX3ZhcmlhbnRTZXR0aW5ncy5jb21tb25MaWdhdHVyZXMgPT0gbGlnYXR1cmVzLmNvbW1vbkxp
Z2F0dXJlcwotICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5kaXNjcmV0aW9uYXJ5TGlnYXR1
cmVzID09IGxpZ2F0dXJlcy5kaXNjcmV0aW9uYXJ5TGlnYXR1cmVzCi0gICAgICAgICYmIG1fdmFy
aWFudFNldHRpbmdzLmhpc3RvcmljYWxMaWdhdHVyZXMgPT0gbGlnYXR1cmVzLmhpc3RvcmljYWxM
aWdhdHVyZXMKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3MuY29udGV4dHVhbEFsdGVybmF0
ZXMgPT0gbGlnYXR1cmVzLmNvbnRleHR1YWxBbHRlcm5hdGVzKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLQotICAgIG1fdmFyaWFudFNldHRpbmdzLmNvbW1vbkxpZ2F0dXJlcyA9IGxpZ2F0dXJlcy5j
b21tb25MaWdhdHVyZXM7Ci0gICAgbV92YXJpYW50U2V0dGluZ3MuZGlzY3JldGlvbmFyeUxpZ2F0
dXJlcyA9IGxpZ2F0dXJlcy5kaXNjcmV0aW9uYXJ5TGlnYXR1cmVzOwotICAgIG1fdmFyaWFudFNl
dHRpbmdzLmhpc3RvcmljYWxMaWdhdHVyZXMgPSBsaWdhdHVyZXMuaGlzdG9yaWNhbExpZ2F0dXJl
czsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5jb250ZXh0dWFsQWx0ZXJuYXRlcyA9IGxpZ2F0dXJl
cy5jb250ZXh0dWFsQWx0ZXJuYXRlczsKLQotICAgIGlmIChtX2Nzc0Nvbm5lY3Rpb24pCi0gICAg
ICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRpZXMoKS5zZXRQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUZvbnRWYXJpYW50TGlnYXR1cmVzLCAmdmFyaWFudExpZ2F0dXJlcyk7Ci0KLSAgICBp
dGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNsaWVudCkgewotICAgICAgICBj
bGllbnQuZm9udFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQotYm9vbCBDU1NGb250RmFjZTo6c2V0VmFyaWFudFBvc2l0aW9uKENTU1ZhbHVl
JiB2YXJpYW50UG9zaXRpb24pCi17Ci0gICAgaWYgKCFpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFy
aWFudFBvc2l0aW9uKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgRm9udFZhcmlhbnRQ
b3NpdGlvbiBwb3NpdGlvbiA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YXJpYW50UG9z
aXRpb24pOwotCi0gICAgaWYgKG1fdmFyaWFudFNldHRpbmdzLnBvc2l0aW9uID09IHBvc2l0aW9u
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fdmFyaWFudFNldHRpbmdzLnBvc2l0aW9u
ID0gcG9zaXRpb247Ci0KLSAgICBpZiAobV9jc3NDb25uZWN0aW9uKQotICAgICAgICBtX2Nzc0Nv
bm5lY3Rpb24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkoQ1NTUHJvcGVydHlGb250
VmFyaWFudFBvc2l0aW9uLCAmdmFyaWFudFBvc2l0aW9uKTsKLQotICAgIGl0ZXJhdGVDbGllbnRz
KG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7Ci0gICAgICAgIGNsaWVudC5mb250UHJv
cGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9KTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1i
b29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50Q2FwcyhDU1NWYWx1ZSYgdmFyaWFudENhcHMpCi17
Ci0gICAgaWYgKCFpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFyaWFudENhcHMpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICBGb250VmFyaWFudENhcHMgY2FwcyA9IGRvd25jYXN0PENTU1By
aW1pdGl2ZVZhbHVlPih2YXJpYW50Q2Fwcyk7Ci0KLSAgICBpZiAobV92YXJpYW50U2V0dGluZ3Mu
Y2FwcyA9PSBjYXBzKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fdmFyaWFudFNldHRp
bmdzLmNhcHMgPSBjYXBzOwotCi0gICAgaWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAgbV9j
c3NDb25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5KENTU1Byb3BlcnR5
Rm9udFZhcmlhbnRDYXBzLCAmdmFyaWFudENhcHMpOwotCi0gICAgaXRlcmF0ZUNsaWVudHMobV9j
bGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKLSAgICAgICAgY2xpZW50LmZvbnRQcm9wZXJ0
eUNoYW5nZWQoKnRoaXMpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wg
Q1NTRm9udEZhY2U6OnNldFZhcmlhbnROdW1lcmljKENTU1ZhbHVlJiB2YXJpYW50TnVtZXJpYykK
LXsKLSAgICBhdXRvIG51bWVyaWMgPSBleHRyYWN0Rm9udFZhcmlhbnROdW1lcmljKHZhcmlhbnRO
dW1lcmljKTsKLQotICAgIGlmIChtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmljRmlndXJlID09IG51
bWVyaWMuZmlndXJlCi0gICAgICAgICYmIG1fdmFyaWFudFNldHRpbmdzLm51bWVyaWNTcGFjaW5n
ID09IG51bWVyaWMuc3BhY2luZwotICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmlj
RnJhY3Rpb24gPT0gbnVtZXJpYy5mcmFjdGlvbgotICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5n
cy5udW1lcmljT3JkaW5hbCA9PSBudW1lcmljLm9yZGluYWwKLSAgICAgICAgJiYgbV92YXJpYW50
U2V0dGluZ3MubnVtZXJpY1NsYXNoZWRaZXJvID09IG51bWVyaWMuc2xhc2hlZFplcm8pCi0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgbV92YXJpYW50U2V0dGluZ3MubnVtZXJpY0ZpZ3VyZSA9
IG51bWVyaWMuZmlndXJlOwotICAgIG1fdmFyaWFudFNldHRpbmdzLm51bWVyaWNTcGFjaW5nID0g
bnVtZXJpYy5zcGFjaW5nOwotICAgIG1fdmFyaWFudFNldHRpbmdzLm51bWVyaWNGcmFjdGlvbiA9
IG51bWVyaWMuZnJhY3Rpb247Ci0gICAgbV92YXJpYW50U2V0dGluZ3MubnVtZXJpY09yZGluYWwg
PSBudW1lcmljLm9yZGluYWw7Ci0gICAgbV92YXJpYW50U2V0dGluZ3MubnVtZXJpY1NsYXNoZWRa
ZXJvID0gbnVtZXJpYy5zbGFzaGVkWmVybzsKLQotICAgIGlmIChtX2Nzc0Nvbm5lY3Rpb24pCi0g
ICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRpZXMoKS5zZXRQcm9wZXJ0eShD
U1NQcm9wZXJ0eUZvbnRWYXJpYW50TnVtZXJpYywgJnZhcmlhbnROdW1lcmljKTsKLQotICAgIGl0
ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7Ci0gICAgICAgIGNs
aWVudC5mb250UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9KTsKLQotICAgIHJldHVybiB0
cnVlOwotfQotCi1ib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50QWx0ZXJuYXRlcyhDU1NWYWx1
ZSYgdmFyaWFudEFsdGVybmF0ZXMpCi17Ci0gICAgaWYgKCFpczxDU1NQcmltaXRpdmVWYWx1ZT4o
dmFyaWFudEFsdGVybmF0ZXMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBGb250VmFy
aWFudEFsdGVybmF0ZXMgYWx0ZXJuYXRlcyA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2
YXJpYW50QWx0ZXJuYXRlcyk7Ci0KLSAgICBpZiAobV92YXJpYW50U2V0dGluZ3MuYWx0ZXJuYXRl
cyA9PSBhbHRlcm5hdGVzKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fdmFyaWFudFNl
dHRpbmdzLmFsdGVybmF0ZXMgPSBhbHRlcm5hdGVzOwotCi0gICAgaWYgKG1fY3NzQ29ubmVjdGlv
bikKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFByb3Bl
cnR5KENTU1Byb3BlcnR5Rm9udFZhcmlhbnRBbHRlcm5hdGVzLCAmdmFyaWFudEFsdGVybmF0ZXMp
OwotCi0gICAgaXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsK
LSAgICAgICAgY2xpZW50LmZvbnRQcm9wZXJ0eUNoYW5nZWQoKnRoaXMpOwotICAgIH0pOwotCi0g
ICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgQ1NTRm9udEZhY2U6OnNldFZhcmlhbnRFYXN0QXNp
YW4oQ1NTVmFsdWUmIHZhcmlhbnRFYXN0QXNpYW4pCi17Ci0gICAgYXV0byBlYXN0QXNpYW4gPSBl
eHRyYWN0Rm9udFZhcmlhbnRFYXN0QXNpYW4odmFyaWFudEVhc3RBc2lhbik7Ci0KLSAgICBpZiAo
bV92YXJpYW50U2V0dGluZ3MuZWFzdEFzaWFuVmFyaWFudCA9PSBlYXN0QXNpYW4udmFyaWFudAot
ICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0QXNpYW5XaWR0aCA9PSBlYXN0QXNpYW4u
d2lkdGgKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3MuZWFzdEFzaWFuUnVieSA9PSBlYXN0
QXNpYW4ucnVieSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBtX3ZhcmlhbnRTZXR0aW5n
cy5lYXN0QXNpYW5WYXJpYW50ID0gZWFzdEFzaWFuLnZhcmlhbnQ7Ci0gICAgbV92YXJpYW50U2V0
dGluZ3MuZWFzdEFzaWFuV2lkdGggPSBlYXN0QXNpYW4ud2lkdGg7Ci0gICAgbV92YXJpYW50U2V0
dGluZ3MuZWFzdEFzaWFuUnVieSA9IGVhc3RBc2lhbi5ydWJ5OwotCi0gICAgaWYgKG1fY3NzQ29u
bmVjdGlvbikKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNl
dFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFZhcmlhbnRFYXN0QXNpYW4sICZ2YXJpYW50RWFzdEFz
aWFuKTsKLQotICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50
KSB7Ci0gICAgICAgIGNsaWVudC5mb250UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9KTsK
LQotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIENTU0ZvbnRGYWNlOjpzZXRGZWF0dXJlU2V0
dGluZ3MoQ1NTVmFsdWUmIGZlYXR1cmVTZXR0aW5ncykKIHsKICAgICAvLyBDYW4gb25seSBjYWxs
IHRoaXMgd2l0aCBhIHByaW1pdGl2ZSB2YWx1ZSBvZiBub3JtYWwsIG9yIGEgdmFsdWUgbGlzdCBj
b250YWluaW5nIGZvbnQgZmVhdHVyZSB2YWx1ZXMuCkBAIC04MTMsNyArNjcxLDcgQEAgUmVmUHRy
PEZvbnQ+IENTU0ZvbnRGYWNlOjpmb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2Ny
aXB0aW9uLCBib29sIHN5bnQKICAgICAgICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoRm9udENh
Y2hlOjpzaW5nbGV0b24oKS5sYXN0UmVzb3J0RmFsbGJhY2tGb250KGZvbnREZXNjcmlwdGlvbikt
PnBsYXRmb3JtRGF0YSgpLCBGb250OjpPcmlnaW46OkxvY2FsLCBGb250OjpJbnRlcnN0aXRpYWw6
OlllcywgdmlzaWJpbGl0eSk7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBDU1NGb250RmFjZVNv
dXJjZTo6U3RhdHVzOjpTdWNjZXNzOgotICAgICAgICAgICAgaWYgKFJlZlB0cjxGb250PiByZXN1
bHQgPSBzb3VyY2UtPmZvbnQoZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0
aWNJdGFsaWMsIG1fZmVhdHVyZVNldHRpbmdzLCBtX3ZhcmlhbnRTZXR0aW5ncywgbV9mb250U2Vs
ZWN0aW9uQ2FwYWJpbGl0aWVzKSkKKyAgICAgICAgICAgIGlmIChSZWZQdHI8Rm9udD4gcmVzdWx0
ID0gc291cmNlLT5mb250KGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGlj
SXRhbGljLCBtX2ZlYXR1cmVTZXR0aW5ncywgbV9mb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgQ1NTRm9udEZhY2VTb3VyY2U6OlN0YXR1czo6RmFpbHVyZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlLmgKaW5kZXggNzcxNDMwMGFjZmMyNTM5OTEzNDhmNWZhYTFjMmI3NTIzNWYyNjM0
YS4uODU5OTdhZGQyMDllYzEzN2U3NTRjMTI0ZTgwMzc1NTFhNWM1NDdmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlLmgKQEAgLTY5LDEyICs2OSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdl
aWdodChDU1NWYWx1ZSYpOwogICAgIHZvaWQgc2V0U3RyZXRjaChDU1NWYWx1ZSYpOwogICAgIGJv
b2wgc2V0VW5pY29kZVJhbmdlKENTU1ZhbHVlJik7Ci0gICAgYm9vbCBzZXRWYXJpYW50TGlnYXR1
cmVzKENTU1ZhbHVlJik7Ci0gICAgYm9vbCBzZXRWYXJpYW50UG9zaXRpb24oQ1NTVmFsdWUmKTsK
LSAgICBib29sIHNldFZhcmlhbnRDYXBzKENTU1ZhbHVlJik7Ci0gICAgYm9vbCBzZXRWYXJpYW50
TnVtZXJpYyhDU1NWYWx1ZSYpOwotICAgIGJvb2wgc2V0VmFyaWFudEFsdGVybmF0ZXMoQ1NTVmFs
dWUmKTsKLSAgICBib29sIHNldFZhcmlhbnRFYXN0QXNpYW4oQ1NTVmFsdWUmKTsKICAgICB2b2lk
IHNldEZlYXR1cmVTZXR0aW5ncyhDU1NWYWx1ZSYpOwogICAgIHZvaWQgc2V0TG9hZGluZ0JlaGF2
aW9yKENTU1ZhbHVlJik7CiAKQEAgLTg3LDkgKzgxLDcgQEAgcHVibGljOgogICAgIEZvbnRTZWxl
Y3Rpb25DYXBhYmlsaXRpZXMgZm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcygpIGNvbnN0IHsgcmV0
dXJuIG1fZm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcy5jb21wdXRlRm9udFNlbGVjdGlvbkNhcGFi
aWxpdGllcygpOyB9CiAgICAgY29uc3QgVmVjdG9yPFVuaWNvZGVSYW5nZT4mIHJhbmdlcygpIGNv
bnN0IHsgcmV0dXJuIG1fcmFuZ2VzOyB9CiAgICAgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYg
ZmVhdHVyZVNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlU2V0dGluZ3M7IH0KLSAg
ICBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiB2YXJpYW50U2V0dGluZ3MoKSBjb25zdCB7IHJl
dHVybiBtX3ZhcmlhbnRTZXR0aW5nczsgfQogICAgIEZvbnRMb2FkaW5nQmVoYXZpb3IgbG9hZGlu
Z0JlaGF2aW9yKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkaW5nQmVoYXZpb3I7IH0KLSAgICB2b2lk
IHNldFZhcmlhbnRTZXR0aW5ncyhjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiB2YXJpYW50U2V0
dGluZ3MpIHsgbV92YXJpYW50U2V0dGluZ3MgPSB2YXJpYW50U2V0dGluZ3M7IH0KICAgICB2b2lk
IHNldFdlaWdodChGb250U2VsZWN0aW9uUmFuZ2Ugd2VpZ2h0KSB7IG1fZm9udFNlbGVjdGlvbkNh
cGFiaWxpdGllcy53ZWlnaHQgPSB3ZWlnaHQ7IH0KICAgICB2b2lkIHNldFN0cmV0Y2goRm9udFNl
bGVjdGlvblJhbmdlIHN0cmV0Y2gpIHsgbV9mb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzLndpZHRo
ID0gc3RyZXRjaDsgfQogICAgIHZvaWQgc2V0U3R5bGUoRm9udFNlbGVjdGlvblJhbmdlIGl0YWxp
YykgeyBtX2ZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMuc2xvcGUgPSBpdGFsaWM7IH0KQEAgLTE4
NSw3ICsxNzcsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxVbmljb2RlUmFuZ2U+IG1fcmFuZ2Vz
OwogCiAgICAgRm9udEZlYXR1cmVTZXR0aW5ncyBtX2ZlYXR1cmVTZXR0aW5nczsKLSAgICBGb250
VmFyaWFudFNldHRpbmdzIG1fdmFyaWFudFNldHRpbmdzOwogICAgIEZvbnRMb2FkaW5nQmVoYXZp
b3IgbV9sb2FkaW5nQmVoYXZpb3IgeyBGb250TG9hZGluZ0JlaGF2aW9yOjpBdXRvIH07CiAKICAg
ICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENTU0ZvbnRGYWNlU291cmNlPiwgMCwgQ3Jhc2hPbk92
ZXJmbG93LCAwPiBtX3NvdXJjZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2VTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNl
LmNwcAppbmRleCA4ODAyNjA2ZmMzN2Q4YzQ5NDBhZjBiOTZkZTgzM2NiYzY5N2U1MzY1Li5mNDI3
ZmZiYWQ3MjNmOGJmNWViODgyOTdkZDg5MTUzZDczMGFkZjZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNvdXJjZS5jcHAKQEAgLTE3OSw3ICsxNzksNyBAQCB2b2lkIENTU0ZvbnRG
YWNlU291cmNlOjpsb2FkKENTU0ZvbnRTZWxlY3RvciogZm9udFNlbGVjdG9yKQogICAgICAgICAg
ICAgZm9udERlc2NyaXB0aW9uLnNldE9uZUZhbWlseShtX2ZhbWlseU5hbWVPclVSSSk7CiAgICAg
ICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXplKDEpOwogICAgICAgICAgICAg
Zm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKG1fZmFjZS5h
bGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKLSAgICAgICAgICAgIHN1Y2Nlc3MgPSBGb250Q2Fj
aGU6OnNpbmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5h
bWVPclVSSSwgbnVsbHB0ciwgbnVsbHB0ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxp
dGllcygpLCB0cnVlKTsKKyAgICAgICAgICAgIHN1Y2Nlc3MgPSBGb250Q2FjaGU6OnNpbmdsZXRv
bigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwgbnVs
bHB0ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcygpLCB0cnVlKTsKICAgICAg
ICAgICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYkFQ
SVN0YXRpc3RpY3NFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoYXV0byogZG9jdW1l
bnQgPSBmb250U2VsZWN0b3ItPmRvY3VtZW50KCkpCiAgICAgICAgICAgICAgICAgICAgIFJlc291
cmNlTG9hZE9ic2VydmVyOjpzaGFyZWQoKS5sb2dGb250TG9hZCgqZG9jdW1lbnQsIG1fZmFtaWx5
TmFtZU9yVVJJLnN0cmluZygpLCBzdWNjZXNzKTsKQEAgLTE4OSw3ICsxODksNyBAQCB2b2lkIENT
U0ZvbnRGYWNlU291cmNlOjpsb2FkKENTU0ZvbnRTZWxlY3RvciogZm9udFNlbGVjdG9yKQogICAg
IH0KIH0KIAotUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlU291cmNlOjpmb250KGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVz
LCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKK1Jl
ZlB0cjxGb250PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24m
IGZvbnREZXNjcmlwdGlvbiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxp
YywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBB
U1NFUlQoc3RhdHVzKCkgPT0gU3RhdHVzOjpTdWNjZXNzKTsKIApAQCAtMjAzLDEyICsyMDMsMTIg
QEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlU291cmNlOjpmb250KGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYgZm9udERlc2NyaXB0aW9uLCBib28KICAgICAgICAgaWYgKG1faW1tZWRpYXRlU291cmNl
KSB7CiAgICAgICAgICAgICBpZiAoIW1faW1tZWRpYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgICAgIHJldHVybiBGb250
OjpjcmVhdGUoQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoKm1faW1tZWRp
YXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YSwgZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xk
LCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRp
bmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZvbnQ6Ok9yaWdpbjo6UmVtb3RlKTsKKyAgICAg
ICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1
c3RvbURhdGEoKm1faW1tZWRpYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YSwgZm9udERlc2NyaXB0
aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZv
bnRGYWNlQ2FwYWJpbGl0aWVzKSwgRm9udDo6T3JpZ2luOjpSZW1vdGUpOwogICAgICAgICB9CiAK
ICAgICAgICAgLy8gV2UncmUgbG9jYWwuIEp1c3QgcmV0dXJuIGEgRm9udCBmcm9tIHRoZSBub3Jt
YWwgY2FjaGUuCiAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gY2hlY2sgYWx0ZXJuYXRlIGZv
bnQgZmFtaWx5IG5hbWVzIGhlcmUsIHNvIHBhc3MgdHJ1ZSBhcyB0aGUgY2hlY2tpbmdBbHRlcm5h
dGVOYW1lIHBhcmFtZXRlci4KLSAgICAgICAgcmV0dXJuIEZvbnRDYWNoZTo6c2luZ2xldG9uKCku
Zm9udEZvckZhbWlseShmb250RGVzY3JpcHRpb24sIG1fZmFtaWx5TmFtZU9yVVJJLCAmZm9udEZh
Y2VGZWF0dXJlcywgJmZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGll
cywgdHJ1ZSk7CisgICAgICAgIHJldHVybiBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JG
YW1pbHkoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwgJmZvbnRGYWNlRmVhdHVy
ZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCB0cnVlKTsKICAgICB9CiAKICAgICBpZiAobV9mb250
KSB7CkBAIC0yMTYsNyArMjE2LDcgQEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlU291cmNlOjpm
b250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib28KICAgICAgICAg
QVNTRVJUX1VOVVNFRChzdWNjZXNzLCBzdWNjZXNzKTsKIAogICAgICAgICBBU1NFUlQoc3RhdHVz
KCkgPT0gU3RhdHVzOjpTdWNjZXNzKTsKLSAgICAgICAgYXV0byByZXN1bHQgPSBtX2ZvbnQtPmNy
ZWF0ZUZvbnQoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwgc3ludGhldGljQm9s
ZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0
aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgICAgICBhdXRvIHJlc3VsdCA9IG1fZm9u
dC0+Y3JlYXRlRm9udChmb250RGVzY3JpcHRpb24sIG1fZmFtaWx5TmFtZU9yVVJJLCBzeW50aGV0
aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJp
bGl0aWVzKTsKICAgICAgICAgQVNTRVJUKHJlc3VsdCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQpAQCAtMjI5LDcgKzIyOSw3IEBAIFJlZlB0cjxGb250PiBDU1NGb250RmFjZVNvdXJj
ZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghbV9pbkRvY3VtZW50Q3VzdG9tUGxhdGZvcm1E
YXRhKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICByZXR1cm4gRm9udDo6Y3JlYXRlKG1f
aW5Eb2N1bWVudEN1c3RvbVBsYXRmb3JtRGF0YS0+Zm9udFBsYXRmb3JtRGF0YShmb250RGVzY3Jp
cHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywg
Zm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKSwgRm9udDo6T3Jp
Z2luOjpSZW1vdGUpOworICAgIHJldHVybiBGb250OjpjcmVhdGUobV9pbkRvY3VtZW50Q3VzdG9t
UGxhdGZvcm1EYXRhLT5mb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGlj
Qm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxp
dGllcyksIEZvbnQ6Ok9yaWdpbjo6UmVtb3RlKTsKICNlbmRpZgogCiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3Vy
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oCmluZGV4IDI5MWIy
NDgwOTI2MzdmY2I0Yzc3MDhmNDUzNzc3NjA5MThlZDRkMzUuLmU0YTJlZDk2ODYyMjE3OGE4OTky
N2EzZTJlYzNiOTk1YzY4ZjI5NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250RmFjZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJj
ZS5oCkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG9wcG9ydHVuaXN0aWNhbGx5
U3RhcnRGb250RGF0YVVSTExvYWRpbmcoQ1NTRm9udFNlbGVjdG9yJik7CiAKICAgICB2b2lkIGxv
YWQoQ1NTRm9udFNlbGVjdG9yKik7Ci0gICAgUmVmUHRyPEZvbnQ+IGZvbnQoY29uc3QgRm9udERl
c2NyaXB0aW9uJiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICBSZWZQdHI8Rm9udD4gZm9udChj
b25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGlj
SXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmll
ZENhcGFiaWxpdGllcyk7CiAKICAgICBib29sIHJlcXVpcmVzRXh0ZXJuYWxSZXNvdXJjZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZm9udDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udFNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3Iu
Y3BwCmluZGV4IDNjZWU1ZTgwNDAyNWY2NTYxNzY4MWQ2ZDViOWQzOWJhMjU1OGQ2ZWUuLjk3NzVj
OGYyNmQ2YjVkYTZlNWRlOTljM2YwNWY3OTQzZTcyZTg2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwCkBAIC0xNjIsMTIgKzE2Miw2IEBAIHZvaWQgQ1NTRm9udFNlbGVj
dG9yOjphZGRGb250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2UmIGZvbnRGYWNlUnVsZSwgYm9v
bCBpc0luCiAgICAgUmVmUHRyPENTU1ZhbHVlPiBzcmMgPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKENTU1Byb3BlcnR5U3JjKTsKICAgICBSZWZQdHI8Q1NTVmFsdWU+IHVuaWNvZGVSYW5nZSA9
IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlVbmljb2RlUmFuZ2UpOwogICAg
IFJlZlB0cjxDU1NWYWx1ZT4gZmVhdHVyZVNldHRpbmdzID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZShDU1NQcm9wZXJ0eUZvbnRGZWF0dXJlU2V0dGluZ3MpOwotICAgIFJlZlB0cjxDU1NWYWx1
ZT4gdmFyaWFudExpZ2F0dXJlcyA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVy
dHlGb250VmFyaWFudExpZ2F0dXJlcyk7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2YXJpYW50UG9z
aXRpb24gPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnRQ
b3NpdGlvbik7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2YXJpYW50Q2FwcyA9IHN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudENhcHMpOwotICAgIFJlZlB0cjxD
U1NWYWx1ZT4gdmFyaWFudE51bWVyaWMgPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1By
b3BlcnR5Rm9udFZhcmlhbnROdW1lcmljKTsKLSAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhcmlhbnRB
bHRlcm5hdGVzID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRWYXJp
YW50QWx0ZXJuYXRlcyk7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2YXJpYW50RWFzdEFzaWFuID0g
c3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50RWFzdEFzaWFu
KTsKICAgICBSZWZQdHI8Q1NTVmFsdWU+IGxvYWRpbmdCZWhhdmlvciA9IHN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250RGlzcGxheSk7CiAgICAgaWYgKCFpczxDU1NWYWx1
ZUxpc3Q+KGZvbnRGYW1pbHkpIHx8ICFpczxDU1NWYWx1ZUxpc3Q+KHNyYykgfHwgKHVuaWNvZGVS
YW5nZSAmJiAhaXM8Q1NTVmFsdWVMaXN0PigqdW5pY29kZVJhbmdlKSkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTE5NSwxOCArMTg5LDYgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmFkZEZvbnRGYWNl
UnVsZShTdHlsZVJ1bGVGb250RmFjZSYgZm9udEZhY2VSdWxlLCBib29sIGlzSW4KICAgICAgICAg
Zm9udEZhY2UtPnNldFN0cmV0Y2goKmZvbnRTdHJldGNoKTsKICAgICBpZiAocmFuZ2VMaXN0ICYm
ICFmb250RmFjZS0+c2V0VW5pY29kZVJhbmdlKCpyYW5nZUxpc3QpKQogICAgICAgICByZXR1cm47
Ci0gICAgaWYgKHZhcmlhbnRMaWdhdHVyZXMgJiYgIWZvbnRGYWNlLT5zZXRWYXJpYW50TGlnYXR1
cmVzKCp2YXJpYW50TGlnYXR1cmVzKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICh2YXJpYW50
UG9zaXRpb24gJiYgIWZvbnRGYWNlLT5zZXRWYXJpYW50UG9zaXRpb24oKnZhcmlhbnRQb3NpdGlv
bikpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAodmFyaWFudENhcHMgJiYgIWZvbnRGYWNlLT5z
ZXRWYXJpYW50Q2FwcygqdmFyaWFudENhcHMpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKHZh
cmlhbnROdW1lcmljICYmICFmb250RmFjZS0+c2V0VmFyaWFudE51bWVyaWMoKnZhcmlhbnROdW1l
cmljKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICh2YXJpYW50QWx0ZXJuYXRlcyAmJiAhZm9u
dEZhY2UtPnNldFZhcmlhbnRBbHRlcm5hdGVzKCp2YXJpYW50QWx0ZXJuYXRlcykpCi0gICAgICAg
IHJldHVybjsKLSAgICBpZiAodmFyaWFudEVhc3RBc2lhbiAmJiAhZm9udEZhY2UtPnNldFZhcmlh
bnRFYXN0QXNpYW4oKnZhcmlhbnRFYXN0QXNpYW4pKQotICAgICAgICByZXR1cm47CiAgICAgaWYg
KGZlYXR1cmVTZXR0aW5ncykKICAgICAgICAgZm9udEZhY2UtPnNldEZlYXR1cmVTZXR0aW5ncygq
ZmVhdHVyZVNldHRpbmdzKTsKICAgICBpZiAobG9hZGluZ0JlaGF2aW9yKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250
RmFjZS5jcHAKaW5kZXggYTJlOTNlOGVkY2E5NWZhMmRlYTYyODM5MTVjYmVlMDk5NTUwZWI0OS4u
NDk1YzBjZDIxMjY0NjY0YzZhMzdhY2FhOGZjNDA1Njg5NGE0YWFhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9u
dEZhY2UuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAj
aW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNs
dWRlICJGb250VmFyaWFudEJ1aWxkZXIuaCIKICNpbmNsdWRlICJKU0ZvbnRGYWNlLmgiCiAjaW5j
bHVkZSAiUXVpcmtzLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCkBAIC0xMDEsOSAr
MTAwLDYgQEAgRXhjZXB0aW9uT3I8UmVmPEZvbnRGYWNlPj4gRm9udEZhY2U6OmNyZWF0ZShEb2N1
bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZmEKICAgICBhdXRvIHNldFVuaWNvZGVSYW5n
ZVJlc3VsdCA9IHJlc3VsdC0+c2V0VW5pY29kZVJhbmdlKGRlc2NyaXB0b3JzLnVuaWNvZGVSYW5n
ZS5pc0VtcHR5KCkgPyAiVSswLTEwRkZGRiJfcyA6IGRlc2NyaXB0b3JzLnVuaWNvZGVSYW5nZSk7
CiAgICAgaWYgKHNldFVuaWNvZGVSYW5nZVJlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAg
cmV0dXJuIHNldFVuaWNvZGVSYW5nZVJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7Ci0gICAgYXV0
byBzZXRWYXJpYW50UmVzdWx0ID0gcmVzdWx0LT5zZXRWYXJpYW50KGRlc2NyaXB0b3JzLnZhcmlh
bnQuaXNFbXB0eSgpID8gIm5vcm1hbCJfcyA6IGRlc2NyaXB0b3JzLnZhcmlhbnQpOwotICAgIGlm
IChzZXRWYXJpYW50UmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gc2V0VmFy
aWFudFJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgYXV0byBzZXRGZWF0dXJlU2V0dGlu
Z3NSZXN1bHQgPSByZXN1bHQtPnNldEZlYXR1cmVTZXR0aW5ncyhkZXNjcmlwdG9ycy5mZWF0dXJl
U2V0dGluZ3MuaXNFbXB0eSgpID8gIm5vcm1hbCJfcyA6IGRlc2NyaXB0b3JzLmZlYXR1cmVTZXR0
aW5ncyk7CiAgICAgaWYgKHNldEZlYXR1cmVTZXR0aW5nc1Jlc3VsdC5oYXNFeGNlcHRpb24oKSkK
ICAgICAgICAgcmV0dXJuIHNldEZlYXR1cmVTZXR0aW5nc1Jlc3VsdC5yZWxlYXNlRXhjZXB0aW9u
KCk7CkBAIC0yMTgsNjEgKzIxNCw2IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEZvbnRGYWNlOjpzZXRV
bmljb2RlUmFuZ2UoY29uc3QgU3RyaW5nJiB1bmljb2RlUmFuZ2UpCiAgICAgcmV0dXJuIHsgfTsK
IH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gRm9udEZhY2U6OnNldFZhcmlhbnQoY29uc3QgU3RyaW5n
JiB2YXJpYW50KQotewotICAgIGlmICh2YXJpYW50LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07Ci0KLSAgICBhdXRvIHN0eWxlID0gTXV0YWJsZVN0
eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7Ci0gICAgYXV0byByZXN1bHQgPSBDU1NQYXJzZXI6OnBh
cnNlVmFsdWUoc3R5bGUsIENTU1Byb3BlcnR5Rm9udFZhcmlhbnQsIHZhcmlhbnQsIHRydWUsIEhU
TUxTdGFuZGFyZE1vZGUpOwotICAgIGlmIChyZXN1bHQgPT0gQ1NTUGFyc2VyOjpQYXJzZVJlc3Vs
dDo6RXJyb3IpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBTeW50YXhFcnJvciB9OwotCi0g
ICAgLy8gRklYTUU6IFdvdWxkIGJlIG11Y2ggYmV0dGVyIHRvIHN0YWdlIHRoZSBuZXcgc2V0dGlu
Z3MgYW5kIHNldCB0aGVtIGFsbCBhdCBvbmNlCi0gICAgLy8gaW5zdGVhZCBvZiB0aGlzIGRhbmNl
IHdoZXJlIHdlIG1ha2UgYSBiYWNrdXAgYW5kIHJldmVydCB0byBpdCBpZiBzb21ldGhpbmcgZmFp
bHMuCi0gICAgRm9udFZhcmlhbnRTZXR0aW5ncyBiYWNrdXAgPSBtX2JhY2tpbmctPnZhcmlhbnRT
ZXR0aW5ncygpOwotCi0gICAgYXV0byBub3JtYWwgPSBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigp
LmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vcm1hbCk7Ci0gICAgYm9vbCBzdWNjZXNz
ID0gdHJ1ZTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFs
dWUoQ1NTUHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJlcykpCi0gICAgICAgIHN1Y2Nlc3MgJj0g
bV9iYWNraW5nLT5zZXRWYXJpYW50TGlnYXR1cmVzKCp2YWx1ZSk7Ci0gICAgZWxzZQotICAgICAg
ICBtX2JhY2tpbmctPnNldFZhcmlhbnRMaWdhdHVyZXMobm9ybWFsKTsKLQotICAgIGlmIChhdXRv
IHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFu
dFBvc2l0aW9uKSkKLSAgICAgICAgc3VjY2VzcyAmPSBtX2JhY2tpbmctPnNldFZhcmlhbnRQb3Np
dGlvbigqdmFsdWUpOwotICAgIGVsc2UKLSAgICAgICAgbV9iYWNraW5nLT5zZXRWYXJpYW50UG9z
aXRpb24obm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5
Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudENhcHMpKQotICAgICAgICBzdWNjZXNzICY9
IG1fYmFja2luZy0+c2V0VmFyaWFudENhcHMoKnZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIG1f
YmFja2luZy0+c2V0VmFyaWFudENhcHMobm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0g
c3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudE51bWVyaWMp
KQotICAgICAgICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFyaWFudE51bWVyaWMoKnZhbHVl
KTsKLSAgICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFyaWFudE51bWVyaWMobm9ybWFs
KTsKLQotICAgIGlmIChhdXRvIHZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NT
UHJvcGVydHlGb250VmFyaWFudEFsdGVybmF0ZXMpKQotICAgICAgICBzdWNjZXNzICY9IG1fYmFj
a2luZy0+c2V0VmFyaWFudEFsdGVybmF0ZXMoKnZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIG1f
YmFja2luZy0+c2V0VmFyaWFudEFsdGVybmF0ZXMobm9ybWFsKTsKLQotICAgIGlmIChhdXRvIHZh
bHVlID0gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudEVh
c3RBc2lhbikpCi0gICAgICAgIHN1Y2Nlc3MgJj0gbV9iYWNraW5nLT5zZXRWYXJpYW50RWFzdEFz
aWFuKCp2YWx1ZSk7Ci0gICAgZWxzZQotICAgICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRFYXN0
QXNpYW4obm9ybWFsKTsKLQotICAgIGlmICghc3VjY2VzcykgewotICAgICAgICBtX2JhY2tpbmct
PnNldFZhcmlhbnRTZXR0aW5ncyhiYWNrdXApOwotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
U3ludGF4RXJyb3IgfTsKLSAgICB9Ci0KLSAgICByZXR1cm4geyB9OwotfQotCiBFeGNlcHRpb25P
cjx2b2lkPiBGb250RmFjZTo6c2V0RmVhdHVyZVNldHRpbmdzKGNvbnN0IFN0cmluZyYgZmVhdHVy
ZVNldHRpbmdzKQogewogICAgIGlmIChmZWF0dXJlU2V0dGluZ3MuaXNFbXB0eSgpKQpAQCAtNDAy
LDEyICszNDMsNiBAQCBTdHJpbmcgRm9udEZhY2U6OnVuaWNvZGVSYW5nZSgpIGNvbnN0CiAgICAg
cmV0dXJuIHZhbHVlcy0+Y3NzVGV4dCgpOwogfQogCi1TdHJpbmcgRm9udEZhY2U6OnZhcmlhbnQo
KSBjb25zdAotewotICAgIG1fYmFja2luZy0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwotICAgIHJl
dHVybiBjb21wdXRlRm9udFZhcmlhbnQobV9iYWNraW5nLT52YXJpYW50U2V0dGluZ3MoKSktPmNz
c1RleHQoKTsKLX0KLQogU3RyaW5nIEZvbnRGYWNlOjpmZWF0dXJlU2V0dGluZ3MoKSBjb25zdAog
ewogICAgIG1fYmFja2luZy0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2Uu
aAppbmRleCBkYzdiMWFjNjliYzUwMzIzYjc3NmU5ZTFlZDg4MDJhNGFjMTFhMGU3Li5jYmVkYTVj
NjQ0YWQwN2I2MTc4NGFmYWI4ZWFlYTM1OWVmMDBhYmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaApA
QCAtNDgsNyArNDgsNiBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyB3ZWlnaHQ7CiAgICAgICAg
IFN0cmluZyBzdHJldGNoOwogICAgICAgICBTdHJpbmcgdW5pY29kZVJhbmdlOwotICAgICAgICBT
dHJpbmcgdmFyaWFudDsKICAgICAgICAgU3RyaW5nIGZlYXR1cmVTZXR0aW5nczsKICAgICAgICAg
U3RyaW5nIGRpc3BsYXk7CiAgICAgfTsKQEAgLTYzLDcgKzYyLDYgQEAgcHVibGljOgogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldFdlaWdodChjb25zdCBTdHJpbmcmKTsKICAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRTdHJldGNoKGNvbnN0IFN0cmluZyYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldFVuaWNvZGVSYW5nZShjb25zdCBTdHJpbmcmKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBz
ZXRWYXJpYW50KGNvbnN0IFN0cmluZyYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEZlYXR1
cmVTZXR0aW5ncyhjb25zdCBTdHJpbmcmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXREaXNw
bGF5KGNvbnN0IFN0cmluZyYpOwogCkBAIC03Miw3ICs3MCw2IEBAIHB1YmxpYzoKICAgICBTdHJp
bmcgd2VpZ2h0KCkgY29uc3Q7CiAgICAgU3RyaW5nIHN0cmV0Y2goKSBjb25zdDsKICAgICBTdHJp
bmcgdW5pY29kZVJhbmdlKCkgY29uc3Q7Ci0gICAgU3RyaW5nIHZhcmlhbnQoKSBjb25zdDsKICAg
ICBTdHJpbmcgZmVhdHVyZVNldHRpbmdzKCkgY29uc3Q7CiAgICAgU3RyaW5nIGRpc3BsYXkoKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5pZGwKaW5kZXggMjAwMmQzMzhmMzA3MGVkOTNmMmIz
Mzg2ZmYzZjA4Y2ZlMDBmNDJlNy4uMmNiYzA3ZTZlYzkwMzNlNjk5NzgxMTZmNjdmNmI1ZDMxN2Fl
ZmNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaWRsCkBAIC0zNyw3ICszNyw2IEBAIGRpY3Rpb25h
cnkgRm9udEZhY2VEZXNjcmlwdG9ycyB7CiAgICAgRE9NU3RyaW5nIHdlaWdodCA9ICJub3JtYWwi
OwogICAgIERPTVN0cmluZyBzdHJldGNoID0gIm5vcm1hbCI7CiAgICAgRE9NU3RyaW5nIHVuaWNv
ZGVSYW5nZSA9ICJVKzAtMTBGRkZGIjsKLSAgICBET01TdHJpbmcgdmFyaWFudCA9ICJub3JtYWwi
OwogICAgIERPTVN0cmluZyBmZWF0dXJlU2V0dGluZ3MgPSAibm9ybWFsIjsKICAgICBET01TdHJp
bmcgZGlzcGxheSA9ICJhdXRvIjsKIH07CkBAIC01Miw3ICs1MSw2IEBAIGRpY3Rpb25hcnkgRm9u
dEZhY2VEZXNjcmlwdG9ycyB7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyB3ZWlnaHQ7CiAgICAg
YXR0cmlidXRlIERPTVN0cmluZyBzdHJldGNoOwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdW5p
Y29kZVJhbmdlOwotICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFyaWFudDsKICAgICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGZlYXR1cmVTZXR0aW5nczsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRp
c3BsYXk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRG
b250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAppbmRl
eCAwODUxNTA4NTRhNzUyMjE5OTU3YzAyOWY0ODEyNDY5ODg1MjRiOGMyLi4zZjQ2OTljZjgzMjk4
ZjA0ZTI3NGFlMDBlZjk1YTU1NDc1YTY1ZjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZEZvbnQuY3BwCkBAIC0xMjQsMjAgKzEyNCwyMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4gQ2FjaGVkRm9udDo6Y3JlYXRlQ3VzdG9tRm9udERhdGEo
U2hhcmVkQgogICAgIHJldHVybiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKGJ5dGVzLCBp
dGVtSW5Db2xsZWN0aW9uKTsKIH0KIAotUmVmUHRyPEZvbnQ+IENhY2hlZEZvbnQ6OmNyZWF0ZUZv
bnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJp
bmcmLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250
RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRp
bmdzJiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFi
aWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKK1JlZlB0cjxGb250PiBDYWNoZWRGb250Ojpj
cmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBB
dG9tU3RyaW5nJiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNw
ZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKLSAgICByZXR1cm4g
Rm9udDo6Y3JlYXRlKHBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGZvbnREZXNjcmlwdGlvbiwg
c3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFj
ZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpLCBGb250OjpPcmlnaW46OlJl
bW90ZSk7CisgICAgcmV0dXJuIEZvbnQ6OmNyZWF0ZShwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0
YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywgZm9udEZh
Y2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpLCBGb250OjpPcmlnaW46OlJlbW90ZSk7
CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEgQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3Rv
bURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwg
Ym9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMs
IGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorRm9u
dFBsYXRmb3JtRGF0YSBDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxp
YywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBB
U1NFUlQobV9mb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKLSAgICByZXR1cm4gcGxhdGZvcm1EYXRh
RnJvbUN1c3RvbURhdGEoKm1fZm9udEN1c3RvbVBsYXRmb3JtRGF0YSwgZm9udERlc2NyaXB0aW9u
LCBib2xkLCBpdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdz
LCBmb250RmFjZUNhcGFiaWxpdGllcyk7CisgICAgcmV0dXJuIHBsYXRmb3JtRGF0YUZyb21DdXN0
b21EYXRhKCptX2ZvbnRDdXN0b21QbGF0Zm9ybURhdGEsIGZvbnREZXNjcmlwdGlvbiwgYm9sZCwg
aXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcyk7CiB9CiAKLUZv
bnRQbGF0Zm9ybURhdGEgQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSYgZm9udEN1c3RvbVBsYXRmb3JtRGF0YSwgY29uc3QgRm9udERl
c2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0
IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50
U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVk
Q2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBDYWNo
ZWRGb250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShGb250Q3VzdG9tUGxhdGZvcm1EYXRh
JiBmb250Q3VzdG9tUGxhdGZvcm1EYXRhLCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBm
b250RmFjZUNhcGFiaWxpdGllcykKIHsKLSAgICByZXR1cm4gZm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5mb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgYm9sZCwgaXRhbGljLCBmb250RmFj
ZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMp
OworICAgIHJldHVybiBmb250Q3VzdG9tUGxhdGZvcm1EYXRhLmZvbnRQbGF0Zm9ybURhdGEoZm9u
dERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2Fw
YWJpbGl0aWVzKTsKIH0KIAogdm9pZCBDYWNoZWRGb250OjphbGxDbGllbnRzUmVtb3ZlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuaAppbmRleCA1ODBlOWJlOTI1NjA1
Y2IyZWMzYWU3ZTBhODUwY2I5NjY5YmVhODU4Li4xNDU3MmUxY2JiMmQ0NTM2NTI2NjU4YTZiNTVk
YmYxZWQwYzQyMzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmgK
QEAgLTUzLDEyICs1MywxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgZW5zdXJlQ3Vz
dG9tRm9udERhdGEoY29uc3QgQXRvbVN0cmluZyYgcmVtb3RlVVJJKTsKICAgICBzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPEZvbnRDdXN0b21QbGF0Zm9ybURhdGE+IGNyZWF0ZUN1c3RvbUZvbnREYXRh
KFNoYXJlZEJ1ZmZlciYsIGNvbnN0IFN0cmluZyYgaXRlbUluQ29sbGVjdGlvbiwgYm9vbCYgd3Jh
cHBpbmcpOwotICAgIHN0YXRpYyBGb250UGxhdGZvcm1EYXRhIHBsYXRmb3JtRGF0YUZyb21DdXN0
b21EYXRhKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEmLCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBi
b29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3Qg
Rm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMp
OworICAgIHN0YXRpYyBGb250UGxhdGZvcm1EYXRhIHBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRh
KEZvbnRDdXN0b21QbGF0Zm9ybURhdGEmLCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJv
bGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlv
blNwZWNpZmllZENhcGFiaWxpdGllcyk7CiAKLSAgICB2aXJ0dWFsIFJlZlB0cjxGb250PiBjcmVh
dGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVS
SSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZl
YXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9u
U3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICB2aXJ0dWFsIFJlZlB0cjxGb250PiBjcmVhdGVG
b250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVSSSwg
Ym9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1
cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiBwcm90
ZWN0ZWQ6Ci0gICAgRm9udFBsYXRmb3JtRGF0YSBwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShj
b25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250
RmVhdHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rp
b25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0Zm9ybURhdGEgcGxhdGZvcm1E
YXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29s
IGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZp
ZWRDYXBhYmlsaXRpZXMpOwogCiAgICAgYm9vbCBlbnN1cmVDdXN0b21Gb250RGF0YShTaGFyZWRC
dWZmZXIqIGRhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkU1ZHRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZH
Rm9udC5jcHAKaW5kZXggZWQyODhjMWU4Y2EwYzJmMDZmZDA5NDM0ZGVkMjAzZmE5YTdkNWM1My4u
MDEyZDJmMzFmZTFjZTk5YTc3ZTg1NWZjNmVjZWZiODZmMDc2ZGViNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcApAQCAtNDgsMTcgKzQ4LDE3IEBA
IENhY2hlZFNWR0ZvbnQ6OkNhY2hlZFNWR0ZvbnQoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCwgY29uc3QgUEFMOjpTZXNzaW9uCiB7CiB9CiAKLVJlZlB0cjxGb250PiBDYWNoZWRTVkdG
b250OjpjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBj
b25zdCBBdG9tU3RyaW5nJiByZW1vdGVVUkksIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50
aGV0aWNJdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMs
IGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorUmVm
UHRyPEZvbnQ+IENhY2hlZFNWR0ZvbnQ6OmNyZWF0ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVSSSwgYm9vbCBzeW50
aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBm
b250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBBU1NFUlQoZmlyc3RGb250RmFjZShyZW1vdGVV
UkkpKTsKLSAgICByZXR1cm4gQ2FjaGVkRm9udDo6Y3JlYXRlRm9udChmb250RGVzY3JpcHRpb24s
IHJlbW90ZVVSSSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1
cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAg
IHJldHVybiBDYWNoZWRGb250OjpjcmVhdGVGb250KGZvbnREZXNjcmlwdGlvbiwgcmVtb3RlVVJJ
LCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzKTsKIH0KIAotRm9udFBsYXRmb3JtRGF0YSBDYWNoZWRTVkdGb250Ojpw
bGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyYgZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYgZm9udEZhY2VW
YXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZh
Y2VDYXBhYmlsaXRpZXMpCitGb250UGxhdGZvcm1EYXRhIENhY2hlZFNWR0ZvbnQ6OnBsYXRmb3Jt
RGF0YUZyb21DdXN0b21EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9u
LCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250
RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNl
Q2FwYWJpbGl0aWVzKQogewogICAgIGlmIChtX2V4dGVybmFsU1ZHRG9jdW1lbnQpCiAgICAgICAg
IHJldHVybiBGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFBpeGVsU2l6
ZSgpLCBib2xkLCBpdGFsaWMpOwotICAgIHJldHVybiBDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFG
cm9tQ3VzdG9tRGF0YShmb250RGVzY3JpcHRpb24sIGJvbGQsIGl0YWxpYywgZm9udEZhY2VGZWF0
dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKKyAg
ICByZXR1cm4gQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoZm9udERlc2Ny
aXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0
aWVzKTsKIH0KIAogYm9vbCBDYWNoZWRTVkdGb250OjplbnN1cmVDdXN0b21Gb250RGF0YShjb25z
dCBBdG9tU3RyaW5nJiByZW1vdGVVUkkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFNWR0ZvbnQuaAppbmRleCA0MmNmMTM0Nzg5YmYzN2I2MGVlODUwYTcxNzhjODUyNTBjNTBk
MTExLi5hZmRkZDZkYWZkNjQ3NDMxMTAyYWY3MTVlZGEwZDg2NTY2M2VhYWM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmgKQEAgLTM5LDEwICszOSwxMCBA
QCBwdWJsaWM6CiAKICAgICBib29sIGVuc3VyZUN1c3RvbUZvbnREYXRhKGNvbnN0IEF0b21TdHJp
bmcmIHJlbW90ZVVSSSkgb3ZlcnJpZGU7CiAKLSAgICBSZWZQdHI8Rm9udD4gY3JlYXRlRm9udChj
b25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiByZW1vdGVVUkksIGJvb2wg
c3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0
dGluZ3MmLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmll
ZENhcGFiaWxpdGllcykgb3ZlcnJpZGU7CisgICAgUmVmUHRyPEZvbnQ+IGNyZWF0ZUZvbnQoY29u
c3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgcmVtb3RlVVJJLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcykgb3ZlcnJpZGU7CiAKIHBy
aXZhdGU6Ci0gICAgRm9udFBsYXRmb3JtRGF0YSBwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShj
b25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250
RmVhdHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rp
b25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0Zm9ybURhdGEgcGxhdGZvcm1E
YXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29s
IGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZp
ZWRDYXBhYmlsaXRpZXMpOwogCiAgICAgU1ZHRm9udEVsZW1lbnQqIGdldFNWR0ZvbnRCeUlkKGNv
bnN0IFN0cmluZyYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmNwcAppbmRleCA4MmYwYjYxOTk4YzY5MGM0ZmQxYzIxODNhNDEwYTkyNjA0
ZGQyYTZiLi43ZmNhYTQ0ZDU0YTM4NzQyZjdkZDU4NzQwMDZhYTQzNzZlMjU4NDhjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTczLDEx
ICs3MywxMCBAQCBzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXko
KSB7IH0KLSAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29uc3QgQXRvbVN0cmluZyYgZmFt
aWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVy
ZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBm
b250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cyBmb250RmFjZUNhcGFiaWxpdGllcykKKyAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29u
c3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0
aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogICAgICAgICA6
IG1fZm9udERlc2NyaXB0aW9uS2V5KGRlc2NyaXB0aW9uKQogICAgICAgICAsIG1fZmFtaWx5KGZh
bWlseSkKICAgICAgICAgLCBtX2ZvbnRGYWNlRmVhdHVyZXMoZm9udEZhY2VGZWF0dXJlcyA/ICpm
b250RmFjZUZlYXR1cmVzIDogRm9udEZlYXR1cmVTZXR0aW5ncygpKQotICAgICAgICAsIG1fZm9u
dEZhY2VWYXJpYW50U2V0dGluZ3MoZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgPyAqZm9udEZhY2VW
YXJpYW50U2V0dGluZ3MgOiBGb250VmFyaWFudFNldHRpbmdzKCkpCiAgICAgICAgICwgbV9mb250
RmFjZUNhcGFiaWxpdGllcyhmb250RmFjZUNhcGFiaWxpdGllcykKICAgICB7IH0KIApAQCAtOTEs
NyArOTAsNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAobV9mb250RGVzY3JpcHRpb25L
ZXkgIT0gb3RoZXIubV9mb250RGVzY3JpcHRpb25LZXkKICAgICAgICAgICAgIHx8IG1fZm9udEZh
Y2VGZWF0dXJlcyAhPSBvdGhlci5tX2ZvbnRGYWNlRmVhdHVyZXMKLSAgICAgICAgICAgIHx8IG1f
Zm9udEZhY2VWYXJpYW50U2V0dGluZ3MgIT0gb3RoZXIubV9mb250RmFjZVZhcmlhbnRTZXR0aW5n
cwogICAgICAgICAgICAgfHwgbV9mb250RmFjZUNhcGFiaWxpdGllcyAhPSBvdGhlci5tX2ZvbnRG
YWNlQ2FwYWJpbGl0aWVzKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBpZiAo
bV9mYW1pbHkuaW1wbCgpID09IG90aGVyLm1fZmFtaWx5LmltcGwoKSkKQEAgLTEwNCw3ICsxMDIs
NiBAQCBwdWJsaWM6CiAgICAgRm9udERlc2NyaXB0aW9uS2V5IG1fZm9udERlc2NyaXB0aW9uS2V5
OwogICAgIEF0b21TdHJpbmcgbV9mYW1pbHk7CiAgICAgRm9udEZlYXR1cmVTZXR0aW5ncyBtX2Zv
bnRGYWNlRmVhdHVyZXM7Ci0gICAgRm9udFZhcmlhbnRTZXR0aW5ncyBtX2ZvbnRGYWNlVmFyaWFu
dFNldHRpbmdzOwogICAgIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgbV9mb250
RmFjZUNhcGFiaWxpdGllczsKIH07CiAKQEAgLTExNSw3ICsxMTIsNiBAQCBzdHJ1Y3QgRm9udFBs
YXRmb3JtRGF0YUNhY2hlS2V5SGFzaCB7CiAgICAgICAgIGhhc2hlci5hZGQoRm9udENhc2NhZGVE
ZXNjcmlwdGlvbjo6ZmFtaWx5TmFtZUhhc2goZm9udEtleS5tX2ZhbWlseSkpOwogICAgICAgICBo
YXNoZXIuYWRkKGZvbnRLZXkubV9mb250RGVzY3JpcHRpb25LZXkuY29tcHV0ZUhhc2goKSk7CiAg
ICAgICAgIGhhc2hlci5hZGQoZm9udEtleS5tX2ZvbnRGYWNlRmVhdHVyZXMuaGFzaCgpKTsKLSAg
ICAgICAgaGFzaGVyLmFkZChmb250S2V5Lm1fZm9udEZhY2VWYXJpYW50U2V0dGluZ3MudW5pcXVl
VmFsdWUoKSk7CiAgICAgICAgIGlmIChhdXRvIHdlaWdodCA9IGZvbnRLZXkubV9mb250RmFjZUNh
cGFiaWxpdGllcy53ZWlnaHQpCiAgICAgICAgICAgICBoYXNoZXIuYWRkKHdlaWdodC0+dW5pcXVl
VmFsdWUoKSk7CiAgICAgICAgIGVsc2UKQEAgLTIwMCw3ICsxOTYsNyBAQCBjb25zdCBBdG9tU3Ry
aW5nJiBGb250Q2FjaGU6OmFsdGVybmF0ZUZhbWlseU5hbWUoY29uc3QgQXRvbVN0cmluZyYgZmFt
aWx5TmFtZSkKIH0KIAogRm9udFBsYXRmb3JtRGF0YSogRm9udENhY2hlOjpnZXRDYWNoZWRGb250
UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25z
dCBBdG9tU3RyaW5nJiBwYXNzZWRGYW1pbHlOYW1lLAotICAgIGNvbnN0IEZvbnRGZWF0dXJlU2V0
dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRG
YWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZv
bnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKKyAgICBjb25z
dCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3Bl
Y2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGNoZWNraW5nQWx0
ZXJuYXRlTmFtZSkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGF1dG8gbG9ja2Vy
ID0gaG9sZExvY2soZm9udExvY2spOwpAQCAtMjIyLDE5ICsyMTgsMTkgQEAgRm9udFBsYXRmb3Jt
RGF0YSogRm9udENhY2hlOjpnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZm8KICAgICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwogICAgIH0KIAotICAgIEZv
bnRQbGF0Zm9ybURhdGFDYWNoZUtleSBrZXkoZmFtaWx5TmFtZSwgZm9udERlc2NyaXB0aW9uLCBm
b250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmls
aXRpZXMpOworICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSBrZXkoZmFtaWx5TmFtZSwgZm9u
dERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcyk7CiAK
ICAgICBhdXRvIGFkZFJlc3VsdCA9IGZvbnRQbGF0Zm9ybURhdGFDYWNoZSgpLmFkZChrZXksIG51
bGxwdHIpOwogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZTo6aXRlcmF0b3IgaXQgPSBhZGRSZXN1
bHQuaXRlcmF0b3I7CiAgICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5KSB7Ci0gICAgICAgIGl0
LT52YWx1ZSA9IGNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBmYW1pbHlO
YW1lLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VD
YXBhYmlsaXRpZXMpOworICAgICAgICBpdC0+dmFsdWUgPSBjcmVhdGVGb250UGxhdGZvcm1EYXRh
KGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5TmFtZSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VD
YXBhYmlsaXRpZXMpOwogCiAgICAgICAgIGlmICghaXQtPnZhbHVlICYmICFjaGVja2luZ0FsdGVy
bmF0ZU5hbWUpIHsKICAgICAgICAgICAgIC8vIFdlIHdlcmUgdW5hYmxlIHRvIGZpbmQgYSBmb250
LiAgV2UgaGF2ZSBhIHNtYWxsIHNldCBvZiBmb250cyB0aGF0IHdlIGFsaWFzIHRvIG90aGVyIG5h
bWVzLAogICAgICAgICAgICAgLy8gZS5nLiwgQXJpYWwvSGVsdmV0aWNhLCBDb3VyaWVyL0NvdXJp
ZXIgTmV3LCBldGMuICBUcnkgbG9va2luZyB1cCB0aGUgZm9udCB1bmRlciB0aGUgYWxpYXNlZCBu
YW1lLgogICAgICAgICAgICAgY29uc3QgQXRvbVN0cmluZyYgYWx0ZXJuYXRlTmFtZSA9IGFsdGVy
bmF0ZUZhbWlseU5hbWUoZmFtaWx5TmFtZSk7CiAgICAgICAgICAgICBpZiAoIWFsdGVybmF0ZU5h
bWUuaXNOdWxsKCkpIHsKLSAgICAgICAgICAgICAgICBGb250UGxhdGZvcm1EYXRhKiBmb250UGxh
dGZvcm1EYXRhRm9yQWx0ZXJuYXRlTmFtZSA9IGdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoZm9u
dERlc2NyaXB0aW9uLCBhbHRlcm5hdGVOYW1lLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZh
cmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHRydWUpOworICAgICAgICAgICAg
ICAgIEZvbnRQbGF0Zm9ybURhdGEqIGZvbnRQbGF0Zm9ybURhdGFGb3JBbHRlcm5hdGVOYW1lID0g
Z2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGFsdGVybmF0ZU5hbWUs
IGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCB0cnVlKTsKICAgICAgICAg
ICAgICAgICAvLyBMb29rdXAgdGhlIGtleSBpbiB0aGUgaGFzaCB0YWJsZSBhZ2FpbiBhcyB0aGUg
cHJldmlvdXMgaXRlcmF0b3IgbWF5IGhhdmUKICAgICAgICAgICAgICAgICAvLyBiZWVuIGludmFs
aWRhdGVkIGJ5IHRoZSByZWN1cnNpdmUgY2FsbCB0byBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRh
KCkuCiAgICAgICAgICAgICAgICAgaXQgPSBmb250UGxhdGZvcm1EYXRhQ2FjaGUoKS5maW5kKGtl
eSk7CkBAIC0zMTYsMTIgKzMxMiwxMiBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0SW5hY3RpdmVG
b250RGF0YSA9IDIwMDsKIGNvbnN0IHVuc2lnbmVkIGNNYXhVbmRlck1lbW9yeVByZXNzdXJlSW5h
Y3RpdmVGb250RGF0YSA9IDUwOwogY29uc3QgdW5zaWduZWQgY1RhcmdldFVuZGVyTWVtb3J5UHJl
c3N1cmVJbmFjdGl2ZUZvbnREYXRhID0gMzA7CiAKLVJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZv
bnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0
IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VG
ZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGlu
Z3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRp
ZXMsIGJvb2wgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKQorUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6
Zm9udEZvckZhbWlseShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29u
c3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFj
ZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2Fw
YWJpbGl0aWVzLCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKIHsKICAgICBpZiAoIW1fcHVy
Z2VUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAKLSAgICBpZiAoYXV0byogcGxhdGZvcm1EYXRhID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3Jt
RGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VW
YXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBjaGVja2luZ0FsdGVybmF0ZU5h
bWUpKQorICAgIGlmIChhdXRvKiBwbGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1E
YXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNh
cGFiaWxpdGllcywgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKSkKICAgICAgICAgcmV0dXJuIGZvbnRG
b3JQbGF0Zm9ybURhdGEoKnBsYXRmb3JtRGF0YSk7CiAKICAgICByZXR1cm4gbnVsbHB0cjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggMTdkMzI1
NzcyMGJhM2U5MWMzMTQyMGMzZTUzNzgyNzY2OGIwNzQ2Zi4uZWY4NjY0ZGFjN2M5OGYzNWY5ODZi
Yzc2YTZmMTU3MDliODQ4NDAwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmgKQEAgLTIxMiw3ICsyMTIsNyBAQCBwdWJsaWM6CiAgICAgLy8gSXQgY29t
ZXMgaW50byBwbGF5IHdoZW4geW91IGNyZWF0ZSBhbiBAZm9udC1mYWNlIHdoaWNoIHNoYXJlcyBh
IGZhbWlseSBuYW1lIGFzIGEgcHJlaW5zdGFsbGVkIGZvbnQuCiAgICAgVmVjdG9yPEZvbnRTZWxl
Y3Rpb25DYXBhYmlsaXRpZXM+IGdldEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXNJbkZhbWlseShj
b25zdCBBdG9tU3RyaW5nJiwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogCi0gICAgV0VCQ09S
RV9FWFBPUlQgUmVmUHRyPEZvbnQ+IGZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNl
RmVhdHVyZXMgPSBudWxscHRyLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZh
cmlhbnRTZXR0aW5ncyA9IG51bGxwdHIsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRp
ZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMgPSB7IH0sIGJvb2wgY2hlY2tpbmdBbHRlcm5hdGVOYW1l
ID0gZmFsc2UpOworICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxGb250PiBmb250Rm9yRmFtaWx5
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBGb250RmVh
dHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzID0gbnVsbHB0ciwgRm9udFNlbGVjdGlvblNw
ZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcyA9IHsgfSwgYm9vbCBjaGVj
a2luZ0FsdGVybmF0ZU5hbWUgPSBmYWxzZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVmPEZvbnQ+
IGxhc3RSZXNvcnRGYWxsYmFja0ZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJik7CiAgICAgV0VC
Q09SRV9FWFBPUlQgUmVmPEZvbnQ+IGZvbnRGb3JQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYpOwogICAgIFJlZlB0cjxGb250PiBzaW1pbGFyRm9udChjb25zdCBGb250RGVzY3Jp
cHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHkpOwpAQCAtMjYyLDEzICsyNjIsMTMgQEAg
cHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHB1cmdlSW5hY3RpdmVGb250RGF0YUlm
TmVlZGVkKCk7CiAKICAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qgc2hvdWxkIGV2ZW50dWFsbHkg
YmUgcmVtb3ZlZC4KLSAgICBGb250UGxhdGZvcm1EYXRhKiBnZXRDYWNoZWRGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcyA9IG51bGxwdHIsIGNvbnN0
IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzID0gbnVsbHB0ciwg
Rm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcyA9
IHsgfSwgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUgPSBmYWxzZSk7CisgICAgRm9udFBsYXRm
b3JtRGF0YSogZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24m
LCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZv
bnRGYWNlRmVhdHVyZXMgPSBudWxscHRyLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0
aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzID0geyB9LCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFt
ZSA9IGZhbHNlKTsKIAogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIGltcGxlbWVudGVkIGJ5IGVh
Y2ggcGxhdGZvcm0uCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgRm9udFBsYXRmb3JtRGF0YSog
Z2V0Q3VzdG9tRmFsbGJhY2tGb250KGNvbnN0IFVJbnQzMiwgY29uc3QgRm9udERlc2NyaXB0aW9u
Jik7CiAjZW5kaWYKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRm
b3JtRGF0YT4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBj
b25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRG
YWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNl
dHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJp
bGl0aWVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3Jt
RGF0YT4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25z
dCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNl
RmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBh
YmlsaXRpZXMpOwogICAgIAogICAgIHN0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBhbHRlcm5hdGVG
YW1pbHlOYW1lKGNvbnN0IEF0b21TdHJpbmcmKTsKICAgICBzdGF0aWMgY29uc3QgQXRvbVN0cmlu
ZyYgcGxhdGZvcm1BbHRlcm5hdGVGYW1pbHlOYW1lKGNvbnN0IEF0b21TdHJpbmcmKTsKQEAgLTI4
OSw3ICsyODksNyBAQCBwcml2YXRlOgogCiBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0
Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YUZvclRlc3RpbmcoY29u
c3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZh
bWlseSkKIHsKLSAgICByZXR1cm4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRp
b24sIGZhbWlseSwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9KTsKKyAgICByZXR1cm4gY3JlYXRlRm9u
dFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgbnVsbHB0ciwgeyB9KTsKIH0K
IAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRl
eCAxOGYzNDA1MGFhOWUzYjc0MzRhNjI3YTA3N2NkMmNjZjJmOTljOWZiLi45MWFjZTE4NWUzZjAx
ODQwNzQ0ZjUzMzljZTUyZWNhZmFmMGI1ZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCkBAIC00Niw3ICs0Niw3IEBAIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKIHB1
YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciYp
OwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgPSBkZWZhdWx0OwotICAgIEZvbnRQbGF0
Zm9ybURhdGEgZm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJv
bGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZh
cmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOworICAg
IEZvbnRQbGF0Zm9ybURhdGEgZm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24m
LCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7CiAgICAgc3RhdGljIGJvb2wgc3VwcG9y
dHNGb3JtYXQoY29uc3QgU3RyaW5nJik7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5j
cHAKaW5kZXggMTZjYjUxODQ3YWVjMTNkZWIxOTI5MDBhODM3N2JmNmVjNmYzMjNjOS4uYjg3MzVk
ZmQ1NTgzNWYwZTc1NmNjZDFlMDRjNzlhZTQ5YzU4M2E1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0
LmNwcApAQCAtNTMwLDcgKzUzMCw3IEBAIHN0cnVjdCBGb250VHlwZSB7CiAgICAgYm9vbCBhYXRT
aGFwaW5nIHsgZmFsc2UgfTsKIH07CiAKLVJldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0
Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9udCwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBm
b250RGVzY3JpcHRpb24sIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVy
ZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBG
b250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBi
b29sIGFwcGx5V2VpZ2h0V2lkdGhTbG9wZVZhcmlhdGlvbnMpCitSZXRhaW5QdHI8Q1RGb250UmVm
PiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBm
b250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzLCBib29sIGFwcGx5V2VpZ2h0V2lkdGhTbG9wZVZhcmlhdGlvbnMpCiB7
CiAgICAgaWYgKCFvcmlnaW5hbEZvbnQpCiAgICAgICAgIHJldHVybiBvcmlnaW5hbEZvbnQ7CkBA
IC01NjksOCArNTY5LDcgQEAgUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9u
dChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBGb250RGVzY3IKICAgICBib29sIHZhcmlh
bnRTZXR0aW5nc0lzTm9ybWFsID0gdmFyaWFudFNldHRpbmdzLmlzQWxsTm9ybWFsKCk7CiAgICAg
Ym9vbCBkb250TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nID0gZm9udE9wdGljYWxTaXppbmcgPT0g
Rm9udE9wdGljYWxTaXppbmc6OkVuYWJsZWQgJiYgIWZvcmNlT3B0aWNhbFNpemluZ09uOwogICAg
IGJvb2wgZm9udEZhY2VEb2VzbnRTcGVjaWZ5RmVhdHVyZXMgPSAhZm9udEZhY2VGZWF0dXJlcyB8
fCBmb250RmFjZUZlYXR1cmVzLT5pc0VtcHR5KCk7Ci0gICAgYm9vbCBmb250RmFjZURvZXNudFNw
ZWNpZnlWYXJpYXRpb25zID0gIWZvbnRGYWNlVmFyaWFudFNldHRpbmdzIHx8IGZvbnRGYWNlVmFy
aWFudFNldHRpbmdzLT5pc0FsbE5vcm1hbCgpOwotICAgIGlmIChub0ZvbnRGZWF0dXJlU2V0dGlu
Z3MgJiYgbm9Gb250VmFyaWF0aW9uU2V0dGluZ3MgJiYgdGV4dFJlbmRlcmluZ01vZGVJc0F1dG8g
JiYgdmFyaWFudFNldHRpbmdzSXNOb3JtYWwgJiYgZG9udE5lZWRUb0FwcGx5T3B0aWNhbFNpemlu
ZyAmJiBmb250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJlcyAmJiBmb250RmFjZURvZXNudFNwZWNp
ZnlWYXJpYXRpb25zKSB7CisgICAgaWYgKG5vRm9udEZlYXR1cmVTZXR0aW5ncyAmJiBub0ZvbnRW
YXJpYXRpb25TZXR0aW5ncyAmJiB0ZXh0UmVuZGVyaW5nTW9kZUlzQXV0byAmJiB2YXJpYW50U2V0
dGluZ3NJc05vcm1hbCAmJiBkb250TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nICYmIGZvbnRGYWNl
RG9lc250U3BlY2lmeUZlYXR1cmVzKSB7CiAjaWYgSEFWRShDVEZPTlRDUkVBVEVGT1JDSEFSQUNU
RVJTV0lUSExBTkdVQUdFQU5ET1BUSU9OKQogICAgICAgICByZXR1cm4gb3JpZ2luYWxGb250Owog
I2Vsc2UKQEAgLTU4NCw4ICs1ODMsNyBAQCBSZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxh
dGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNvbnN0IEZvbnREZXNjcgogICAgIC8v
IFN0ZXAgMTogQ29yZVRleHQgaGFuZGxlcyBkZWZhdWx0IGZlYXR1cmVzIChzdWNoIGFzIHJlcXVp
cmVkIGxpZ2F0dXJlcykuCiAKICAgICAvLyBTdGVwIDI6IENvbnN1bHQgd2l0aCBmb250LXZhcmlh
bnQtKiBpbnNpZGUgQGZvbnQtZmFjZQotICAgIGlmIChmb250RmFjZVZhcmlhbnRTZXR0aW5ncykK
LSAgICAgICAgZmVhdHVyZXNUb0JlQXBwbGllZCA9IGNvbXB1dGVGZWF0dXJlU2V0dGluZ3NGcm9t
VmFyaWFudHMoKmZvbnRGYWNlVmFyaWFudFNldHRpbmdzKTsKKyAgICAvLyBUaGlzIG5vIGxvbmdl
ciBoYXBwZW5zIGFueSBtb3JlOiBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9p
c3N1ZXMvMjUzMQogCiAgICAgLy8gU3RlcCAzOiBDb25zdWx0IHdpdGggZm9udC1mZWF0dXJlLXNl
dHRpbmdzIGluc2lkZSBAZm9udC1mYWNlCiAgICAgaWYgKGZvbnRGYWNlRmVhdHVyZXMpIHsKQEAg
LTEyOTMsNyArMTI5MSw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q1RGb250UmVmPiBmb250V2l0aEZh
bWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwKICAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAotc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnRXaXRoRmFtaWx5KGNv
bnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3Jp
cHRpb24sIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0
IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0
aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBmbG9hdCBzaXpl
KQorc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnRXaXRoRmFtaWx5KGNvbnN0IEF0b21T
dHJpbmcmIGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
bnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMsIGZsb2F0IHNpemUpCiB7
CiAgICAgaWYgKGZhbWlseS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAt
MTMwNSw3ICsxMzAzLDcgQEAgc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnRXaXRoRmFt
aWx5KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEQKICAgICAgICAgaWYgKCFm
b250TG9va3VwLnJlc3VsdCkKICAgICAgICAgICAgIGZvbnRMb29rdXAgPSBwbGF0Zm9ybUZvbnRM
b29rdXBXaXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2NyaXB0aW9uLmZvbnRTZWxlY3Rpb25SZXF1
ZXN0KCksIHNpemUsIGZvbnREZXNjcmlwdGlvbi5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250
cygpKTsKICAgICB9Ci0gICAgcmV0dXJuIHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udExvb2t1cC5y
ZXN1bHQuZ2V0KCksIGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VW
YXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCAhZm9udExvb2t1cC5jcmVhdGVk
RnJvbVBvc3RTY3JpcHROYW1lKTsKKyAgICByZXR1cm4gcHJlcGFyZVBsYXRmb3JtRm9udChmb250
TG9va3VwLnJlc3VsdC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBm
b250RmFjZUNhcGFiaWxpdGllcywgIWZvbnRMb29rdXAuY3JlYXRlZEZyb21Qb3N0U2NyaXB0TmFt
ZSk7CiB9CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC0xMzQwLDExICsxMzM4LDExIEBAIHN0YXRp
YyB2b2lkIGF1dG9BY3RpdmF0ZUZvbnQoY29uc3QgU3RyaW5nJiBuYW1lLCBDR0Zsb2F0IHNpemUp
CiB9CiAjZW5kaWYKIAotc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNo
ZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFj
ZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250
RmFjZUNhcGFiaWxpdGllcykKK3N0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBGb250
Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVT
ZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxp
dGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBmbG9hdCBzaXplID0gZm9udERlc2Ny
aXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCk7CiAKLSAgICBhdXRvIGZvbnQgPSBmb250V2l0aEZh
bWlseShmYW1pbHksIGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VW
YXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBzaXplKTsKKyAgICBhdXRvIGZv
bnQgPSBmb250V2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0
dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHNpemUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIGlmICghZm9udCkgewpAQCAtMTM1NSw3ICsxMzUzLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEZv
bnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBG
b250RGUKICAgICAgICAgLy8gSWdub3JlIHRoZSByZXN1bHQgYmVjYXVzZSB3ZSB3YW50IHRvIHVz
ZSBvdXIgb3duIGFsZ29yaXRobSB0byBhY3R1YWxseSBmaW5kIHRoZSBmb250LgogICAgICAgICBh
dXRvQWN0aXZhdGVGb250KGZhbWlseS5zdHJpbmcoKSwgc2l6ZSk7CiAKLSAgICAgICAgZm9udCA9
IGZvbnRXaXRoRmFtaWx5KGZhbWlseSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVz
LCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMsIHNpemUpOwor
ICAgICAgICBmb250ID0gZm9udFdpdGhGYW1pbHkoZmFtaWx5LCBmb250RGVzY3JpcHRpb24sIGZv
bnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBzaXplKTsKICAgICB9CiAjZW5k
aWYKIApAQCAtMTQ4NCw3ICsxNDgyLDcgQEAgUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6c3lzdGVt
RmFsbGJhY2tGb3JDaGFyYWN0ZXJzKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3IKICAgICAg
ICAgbV9mb250TmFtZXNSZXF1aXJpbmdTeXN0ZW1GYWxsYmFja0ZvclByZXdhcm1pbmcuYWRkKGZ1
bGxOYW1lKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gbG9va3VwRmFsbGJhY2tGb250KHBsYXRmb3Jt
RGF0YS5mb250KCksIGRlc2NyaXB0aW9uLndlaWdodCgpLCBkZXNjcmlwdGlvbi5sb2NhbGUoKSwg
ZGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSwgY2hhcmFjdGVycywg
bGVuZ3RoKTsKLSAgICByZXN1bHQgPSBwcmVwYXJlUGxhdGZvcm1Gb250KHJlc3VsdC5nZXQoKSwg
ZGVzY3JpcHRpb24sIG51bGxwdHIsIG51bGxwdHIsIHsgfSk7CisgICAgcmVzdWx0ID0gcHJlcGFy
ZVBsYXRmb3JtRm9udChyZXN1bHQuZ2V0KCksIGRlc2NyaXB0aW9uLCBudWxscHRyLCB7IH0pOwog
CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBsYXN0UmVzb3J0RmFsbGJhY2tGb250
KGRlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCmluZGV4IDhkYTU1OGUxNWUxMzQxY2Zi
NzE1ZjcyYjJiZWMxODA4YzkzYzY1NWEuLjk0YzMyNzM1YjA1OGMyZDhiN2U2ZGVhMDk0OTcxNjhh
ZmU1Y2I0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaApAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3Qg
U3ludGhlc2lzUGFpciB7CiAgICAgYm9vbCBuZWVkc1N5bnRoZXRpY09ibGlxdWU7CiB9OwogCi1S
ZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiwgY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0
dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3Ms
IEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMs
IGJvb2wgYXBwbHlXZWlnaHRXaWR0aFNsb3BlVmFyaWF0aW9ucyA9IHRydWUpOworUmV0YWluUHRy
PENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMsIGJv
b2wgYXBwbHlXZWlnaHRXaWR0aFNsb3BlVmFyaWF0aW9ucyA9IHRydWUpOwogU3ludGhlc2lzUGFp
ciBjb21wdXRlTmVjZXNzYXJ5U3ludGhlc2lzKENURm9udFJlZiwgY29uc3QgRm9udERlc2NyaXB0
aW9uJiwgYm9vbCBpc1BsYXRmb3JtRm9udCA9IGZhbHNlKTsKIFJldGFpblB0cjxDVEZvbnRSZWY+
IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShjb25zdCBBdG9tU3RyaW5nJiBmYW1p
bHksIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKTsKIFJldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHkoY29u
c3QgQXRvbVN0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCwgVGV4dFJlbmRlcmlu
Z01vZGUsIGZsb2F0IHNpemUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udEZhbWlseVNwZWNpZmljYXRpb25Db3JlVGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RmFtaWx5U3BlY2lmaWNhdGlv
bkNvcmVUZXh0LmNwcAppbmRleCAwZGU5MzRhN2IzODQxMDBlZWI3NmQ3N2Y0NTZhMTgyZmJiYWJj
ZWNjLi5jMjQ4NTI5NDRjMjIzNGUzMGVlNTM1MjQ5NDAwMWFjODE5ZDJjOGE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RmFtaWx5U3BlY2lm
aWNhdGlvbkNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmNwcApAQCAtMTA4LDcgKzEw
OCw3IEBAIEZvbnRSYW5nZXMgRm9udEZhbWlseVNwZWNpZmljYXRpb25Db3JlVGV4dDo6Zm9udFJh
bmdlcyhjb25zdCBGb250RGVzY3JpcHRpb24mIGZvCiAgICAgICAgICAgICBmb250Rm9yU3ludGhl
c2lzQ29tcHV0YXRpb24gPSBwaHlzaWNhbEZvbnQ7CiAjZW5kaWYKIAotICAgICAgICBmb250ID0g
cHJlcGFyZVBsYXRmb3JtRm9udChmb250LmdldCgpLCBmb250RGVzY3JpcHRpb24sIG51bGxwdHIs
IG51bGxwdHIsIHsgfSk7CisgICAgICAgIGZvbnQgPSBwcmVwYXJlUGxhdGZvcm1Gb250KGZvbnQu
Z2V0KCksIGZvbnREZXNjcmlwdGlvbiwgbnVsbHB0ciwgeyB9KTsKIAogICAgICAgICBhdXRvIFtz
eW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlXSA9IGNvbXB1dGVOZWNlc3NhcnlTeW50aGVz
aXMoZm9udEZvclN5bnRoZXNpc0NvbXB1dGF0aW9uLmdldCgpLCBmb250RGVzY3JpcHRpb24pLmJv
bGRPYmxpcXVlUGFpcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAKaW5kZXggNzFh
NGFiMmY0ODI1ZjFhNTQzMTkxODAzNGIzNTMxZWNkYThhMGYyNC4uZGQyZjI1NTAzNjgwNGEyYjM0
NjliYWM4YTE4YTA0NDg0N2Q0YmYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZyZWVUeXBlLmNwcApA
QCAtMzc2LDcgKzM3Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0NvbW1vbmx5VXNlZEdlbmVy
aWNGYW1pbHkoY29uc3QgU3RyaW5nJiBmYW1pbHlOYW1lU3RyaW5nKQogICAgICAgICB8fCBlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHlOYW1lU3RyaW5nLCAiY3Vyc2l2ZSIpOwog
fQogCi1zdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gRm9udENhY2hlOjpjcmVhdGVG
b250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBj
b25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqLCBjb25z
dCBGb250VmFyaWFudFNldHRpbmdzKiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cykKK3N0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6OmNyZWF0ZUZv
bnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
bnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyosIEZvbnRT
ZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpCiB7CiAgICAgLy8gVGhlIENTUyBmb250IG1h
dGNoaW5nIGFsZ29yaXRobSAoaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mb250cy8jZm9udC1t
YXRjaGluZy1hbGdvcml0aG0pCiAgICAgLy8gc2F5cyB0aGF0IHdlIG11c3QgZmluZCBhbiBleGFj
dCBtYXRjaCBmb3IgZm9udCBmYW1pbHksIHNsYW50IChpdGFsaWMgb3Igb2JsaXF1ZSBjYW4gYmUg
dXNlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFGcmVlVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhRnJlZVR5cGUu
Y3BwCmluZGV4IDU4OTQzZDJhOTBkZmM1NTAxZjJkY2FhOGVjZjBlOTBlMWFjN2Y3MGQuLmVhZmQ5
NmQ3YzczNjI0Nzc0YjE5NzNjYmI3NzIxNTE1ZDNjY2M3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFG
cmVlVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5
cGUvRm9udEN1c3RvbVBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcApAQCAtNzUsNyArNzUsNyBAQCBz
dGF0aWMgRmNQYXR0ZXJuKiBkZWZhdWx0Rm9udGNvbmZpZ09wdGlvbnMoKQogICAgIHJldHVybiBw
YXR0ZXJuOwogfQogCi1Gb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZv
bnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgYm9vbCBi
b2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRW
YXJpYW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQorRm9u
dFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMs
IGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzKQogewogICAgIGF1dG8qIGZyZWVUeXBlRmFjZSA9IHN0YXRpY19jYXN0PEZUX0ZhY2U+
KGNhaXJvX2ZvbnRfZmFjZV9nZXRfdXNlcl9kYXRhKG1fZm9udEZhY2UuZ2V0KCksICZmcmVlVHlw
ZUZhY2VLZXkpKTsKICAgICBBU1NFUlQoZnJlZVR5cGVGYWNlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmNwcAppbmRleCA1MDc5MzhiZTExMDVjZjQyNjA0NTU5MTNiMGM1ZTk5ZDRmNTRmOWU3
Li4yMTlhOTk1YjhhNGM1NWZjYjE5YzVlODE0YWZkODNkNGU0YzgyMThiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuY3BwCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSA9IGRl
ZmF1bHQ7CiAKLUZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBs
YXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBi
b2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0
dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYgZm9udEZhY2VWYXJpYW50U2V0dGluZ3Ms
IEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMp
CitGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURh
dGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9v
bCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7
CiAgICAgYXV0byBhdHRyaWJ1dGVzID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxl
KGtDRkFsbG9jYXRvckRlZmF1bHQsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywg
JmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKICAgICBhZGRBdHRyaWJ1dGVzRm9y
V2ViRm9udHMoYXR0cmlidXRlcy5nZXQoKSwgZm9udERlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKCkpOwpAQCAtNDYsNyArNDYsNyBAQCBGb250UGxhdGZvcm1EYXRhIEZv
bnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0
aW9uJgogICAgIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IGZvbnREZXNjcmlwdGlvbi5v
cmllbnRhdGlvbigpOwogICAgIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50ID0gZm9udERl
c2NyaXB0aW9uLndpZHRoVmFyaWFudCgpOwogICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnQg
PSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhGb250RGVzY3JpcHRvcihtb2RpZmllZEZvbnREZXNj
cmlwdG9yLmdldCgpLCBzaXplLCBudWxscHRyKSk7Ci0gICAgZm9udCA9IHByZXBhcmVQbGF0Zm9y
bUZvbnQoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCAmZm9udEZhY2VGZWF0dXJlcywgJmZv
bnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyk7CisgICAgZm9udCA9
IHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLCAmZm9udEZh
Y2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogICAgIEFTU0VSVChmb250KTsKICAg
ICByZXR1cm4gRm9udFBsYXRmb3JtRGF0YShmb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMs
IG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIGZvbnREZXNjcmlwdGlvbi50ZXh0UmVuZGVyaW5n
TW9kZSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiMjAzZmFiMzZjZjQ3
ODgzNWUwMDdlODkyYjQxMGNiN2ZiZWI4YjIuLjYwNzhlMjVmYTFkODJiY2VjOWI0Y2M3YmM3MmU1
ZTdmMjhlYTcwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtNTAsNyArNTAsNyBA
QCBwdWJsaWM6CiAKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCi0gICAgRm9udFBs
YXRmb3JtRGF0YSBmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wg
Ym9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVh
dHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdz
LCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
KTsKKyAgICBGb250UGxhdGZvcm1EYXRhIGZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBm
b250RmFjZUNhcGFiaWxpdGllcyk7CiAKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zvcm1hdChj
b25zdCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDYWNoZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udENhY2hlV2luLmNwcAppbmRleCBiYzk1Zjk1N2VlODNiY2I4NGY2ZjI0N2Nh
MTEyY2E3NTBmNGRlOTg5Li4wYTBkYzEyNjg5YzM5NTljOWIzNGEzODBiYWQzNDRiNGVmOWI2ZWFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENh
Y2hlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dENhY2hlV2luLmNwcApAQCAtNjE3LDcgKzYxNyw3IEBAIFZlY3RvcjxGb250U2VsZWN0aW9uQ2Fw
YWJpbGl0aWVzPiBGb250Q2FjaGU6OmdldEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXNJbkZhbWls
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURh
dGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRp
b24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250
RmVhdHVyZVNldHRpbmdzKiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyosIEZvbnRTZWxlY3Rp
b25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpCitzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0
YT4gRm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRG
ZWF0dXJlU2V0dGluZ3MqLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQogewog
ICAgIGJvb2wgaXNMdWNpZGFHcmFuZGUgPSBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShm
YW1pbHksICJsdWNpZGEgZ3JhbmRlIik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcApp
bmRleCBlYTUzMDEwODZlYzc4OGY3ZDIwMjg2NDBiYmNiYTE1YzU4MDRhOWU4Li42NmU4ZjE0M2E4
NzA5NmQ2ODgyMjQxNmMxZDBhNWE3ZTExYzM2ZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuY3BwCkBAIC00Niw3ICs0Niw3IEBAIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6On5Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKCkKICAgICAgICAgUmVtb3ZlRm9udE1lbVJlc291cmNlRXgobV9mb250
UmVmZXJlbmNlKTsKIH0KIAotRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
Ojpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9u
LCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgY29u
c3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRp
ZXMpCitGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9y
bURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwg
Ym9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3Bl
Y2lmaWVkQ2FwYWJpbGl0aWVzKQogewogICAgIGludCBzaXplID0gZm9udERlc2NyaXB0aW9uLmNv
bXB1dGVkUGl4ZWxTaXplKCk7CiAgICAgRm9udFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9
IGZvbnREZXNjcmlwdGlvbi5yZW5kZXJpbmdNb2RlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aAppbmRleCBlYWI4MDZlNDJjMDYyZDU1OTc4OTk0NTJlZmU3NDc0ZTU5OWY5MmUxLi4xYjJmZjJi
NzQ3YzliOWM5MWMwNmNlYTViMGE5NjYxYTMwNTJiYjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogCiAgICAgfkZvbnRDdXN0b21QbGF0Zm9y
bURhdGEoKTsKIAotICAgIEZvbnRQbGF0Zm9ybURhdGEgZm9udFBsYXRmb3JtRGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVy
ZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVj
aWZpZWRDYXBhYmlsaXRpZXMpOworICAgIEZvbnRQbGF0Zm9ybURhdGEgZm9udFBsYXRmb3JtRGF0
YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBG
b250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7
CiAKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zvcm1hdChjb25zdCBTdHJpbmcmKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGFDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmNwcAppbmRleCBlZWVhZmViZDkzM2NhOWM3
OGRkMDUxNDEzZDIzMzQ0Y2E4NTNiMDEzLi5kYTljMTg2OTliNjE5ZjQ4ZGM5YTliZTM2ZjljNjRh
YWZmZmNmNjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmNwcApAQCAt
MzgsNyArMzgsNyBAQCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSgpCiAgICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KG1fZm9udFJlZmVyZW5jZSk7
CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRm
b3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xk
LCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJp
YW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQorRm9udFBs
YXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIGJvbGQsIGJvb2wgaXRhbGlj
LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFi
aWxpdGllcykKIHsKICAgICBpbnQgc2l6ZSA9IGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFBpeGVs
U2l6ZSgpOwogICAgIEZvbnRSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUgPSBmb250RGVzY3Jp
cHRpb24ucmVuZGVyaW5nTW9kZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM4NTVhNzkwMWI3ZGZlN2FlMjBkNDJkZTY1
OTI2ZTM0YmI3NDczYmUuLjRmN2U2MDQzYzFiZGU3OGU2ZTFlZDIyZTNiNzg3YTEwNzI1MjhkZWUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0xMC0yNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxt
bWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBmb250LXZhcmlhbnQgQGZvbnQt
ZmFjZSBkZXNjcmlwdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDMxNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBEZWxldGUgdGVzdHMgZm9yIHRoZSByZW1vdmVkIGZlYXR1cmUuCisKKyAgICAgICAg
KiBjc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2UtYWxsLWV4cGVjdGVkLmh0bWw6IERlbGV0ZWQu
CisgICAgICAgICogY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLWFsbC5odG1sOiBEZWxldGVk
LgorICAgICAgICAqIGNzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVycmlkZS1leHBlY3Rl
ZC5odG1sOgorICAgICAgICAqIGNzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVycmlkZS5o
dG1sOgorICAgICAgICAqIGZhc3QvdGV4dC9mb250LWZhY2UtZW1wdHktc3RyaW5nLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1mYWNlLWVtcHR5LXN0cmluZy5odG1sOgor
ICAgICAgICAqIGZhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlwdC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0Lmh0bWw6CisKIDIwMTktMTAt
MjQgIFJ1c3NlbGwgRXBzdGVpbiAgPHJlcHN0ZWluQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMjUxNTM2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9mb250LXZhcmlhbnQtZm9udC1mYWNlLWFsbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLWFsbC1leHBlY3RlZC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3NDQxNDkzN2YyNTViMDRiYTcxNDQzODYyMzhjNDg2MWMyM2Rm
YTkwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwtZXhwZWN0ZWQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzdHlsZT4KLUBmb250LWZhY2UgewotICAgIGZvbnQtZmFtaWx5OiAiRm9udEZlYXR1cmVz
VGVzdE9URiI7Ci0gICAgc3JjOiB1cmwoInJlc291cmNlcy9Gb250V2l0aEZlYXR1cmVzLm90ZiIp
IGZvcm1hdCgib3BlbnR5cGUiKTsKLX0KLUBmb250LWZhY2UgewotICAgIGZvbnQtZmFtaWx5OiAi
Rm9udEZlYXR1cmVzVGVzdFRURiI7Ci0gICAgc3JjOiB1cmwoInJlc291cmNlcy9Gb250V2l0aEZl
YXR1cmVzLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsKLX0KLS5mb250V2l0aEZlYXR1cmVzVFRG
IHsKLSAgICBmb250LWZhbWlseTogIkZvbnRXaXRoRmVhdHVyZXNUVEYiOwotfQotPC9zdHlsZT4K
LTwvaGVhZD4KLTxib2R5PgotPHA+VGhpcyB0ZXN0IGlzIGEgZHVtcC1yZW5kZXItdHJlZSB0ZXN0
IHdoaWNoIG1ha2VzIHN1cmUgdGhhdCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIGFwcHJv
cHJpYXRlbHkgYXBwbGllZDo8L3A+Ci08dWw+Ci08bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtbGln
YXR1cmVzPC9saT4KLTxsaT4td2Via2l0LWZvbnQtdmFyaWFudC1wb3NpdGlvbjwvbGk+Ci08bGk+
LXdlYmtpdC1mb250LXZhcmlhbnQtY2FwczwvbGk+Ci08bGk+LXdlYmtpdC1mb250LXZhcmlhbnQt
bnVtZXJpYzwvbGk+Ci08bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtYWx0ZXJuYXRlczwvbGk+Ci08
bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtZWFzdC1hc2lhbjwvbGk+Ci08L3VsPgotVGhlIHRlc3Qg
cGFzc2VzIGlmIHRoZXJlIGlzIGEgcGFydGljdWxhciBzZXF1ZW5jZSBvZiBjaGVja3MgYW5kIHgg
Y2hhcmFjdGVycyBiZWxvdy4gTm90ZSB0aGF0IHNvbWUgeCBjaGFyYWN0ZXJzIGFyZSBleHBlY3Rl
ZC4KLTxkaXYgaWQ9Imluc2VydGlvbnBvaW50Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZv
bnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTog
Rm9udEZlYXR1cmVzVGVzdE9URjsiPkJCPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5
OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1p
bHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5CQjwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZh
bWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQt
ZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QkI8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9u
dC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJm
b250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkJCPC9zcGFuPgotPHNwYW4gc3R5bGU9
ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0
eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4g
c3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3Bh
biBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxz
cGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgot
PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+
Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bh
bj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9z
cGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8
L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5B
QTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsi
PkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RG
OyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RP
VEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVz
dE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNU
ZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJl
c1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1
cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVh
dHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRG
ZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9u
dEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBG
b250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6
IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWls
eTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFt
aWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08L2Rpdj4KLTxkaXYgaWQ9Imlu
c2VydGlvblBvaW50MiI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0
VFRGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rl
c3RPVEY7Ij5CQjwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVz
VGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVy
ZXNUZXN0T1RGOyI+QkI8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0
dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZl
YXR1cmVzVGVzdE9URjsiPkJCPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250
RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZv
bnRGZWF0dXJlc1Rlc3RPVEY7Ij5CQjwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTog
Rm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5
OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1p
bHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZh
bWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQt
ZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9u
dC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJm
b250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9
ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0
eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4g
c3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3Bh
biBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxz
cGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgot
PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+
Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bh
bj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9z
cGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8
L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5B
QTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsi
PkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RG
OyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RP
VEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVz
dE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNU
ZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJl
c1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1
cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVh
dHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwuaHRtbCBi
L0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzQ1ZmQyNjIyYjhlZDE0NGJlNTYwMTdiODY2Y2JhOWU0
YTMzN2U0ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9jc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2UtYWxsLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxMDUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
PC9oZWFkPgotPGJvZHk+Ci08cD5UaGlzIHRlc3QgaXMgYSBkdW1wLXJlbmRlci10cmVlIHRlc3Qg
d2hpY2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBhcmUgYXBwcm9w
cmlhdGVseSBhcHBsaWVkOjwvcD4KLTx1bD4KLTxsaT4td2Via2l0LWZvbnQtdmFyaWFudC1saWdh
dHVyZXM8L2xpPgotPGxpPi13ZWJraXQtZm9udC12YXJpYW50LXBvc2l0aW9uPC9saT4KLTxsaT4t
d2Via2l0LWZvbnQtdmFyaWFudC1jYXBzPC9saT4KLTxsaT4td2Via2l0LWZvbnQtdmFyaWFudC1u
dW1lcmljPC9saT4KLTxsaT4td2Via2l0LWZvbnQtdmFyaWFudC1hbHRlcm5hdGVzPC9saT4KLTxs
aT4td2Via2l0LWZvbnQtdmFyaWFudC1lYXN0LWFzaWFuPC9saT4KLTwvdWw+Ci1UaGUgdGVzdCBw
YXNzZXMgaWYgdGhlcmUgaXMgYSBwYXJ0aWN1bGFyIHNlcXVlbmNlIG9mIGNoZWNrcyBhbmQgeCBj
aGFyYWN0ZXJzIGJlbG93LiBOb3RlIHRoYXQgc29tZSB4IGNoYXJhY3RlcnMgYXJlIGV4cGVjdGVk
LgotPGRpdiBpZD0iaW5zZXJ0aW9uUG9pbnQiPjwvZGl2PgotPGRpdiBpZD0iaW5zZXJ0aW9uUG9p
bnQyIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgaW5zZXJ0aW9uUG9pbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaW5zZXJ0aW9uUG9pbnQiKTsKLXZhciBpbnNlcnRpb25Qb2ludDIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaW5zZXJ0aW9uUG9pbnQyIik7Ci0KLXZhciBzdHlsZU5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwotZG9jdW1lbnQuaGVhZC5hcHBlbmRD
aGlsZChzdHlsZU5vZGUpOwotCi1mdW5jdGlvbiBhZGRFbGVtZW50KHBvaW50VG9JbnNlcnQsIGZv
bnRGYW1pbHksIGV4dGVuc2lvbiwgZm9ybWF0LCBwcm9wZXJ0eSwgdmFsdWUsIHRleHQpIHsKLSAg
ICBzdHlsZU5vZGUuc2hlZXQuaW5zZXJ0UnVsZSgiQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAi
ICsgZm9udEZhbWlseSArICJfIiArIHByb3BlcnR5ICsgIl8iICsgdmFsdWUgKyAiOyBzcmM6IHVy
bCgncmVzb3VyY2VzL0ZvbnRXaXRoRmVhdHVyZXMuIiArIGV4dGVuc2lvbiArICInKSBmb3JtYXQo
JyIgKyBmb3JtYXQgKyAiJyk7ICIgKyBwcm9wZXJ0eSArICI6ICIgKyB2YWx1ZSArICI7IH0iLCAw
KTsKLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAg
ICBlbGVtZW50LnRleHRDb250ZW50ID0gdGV4dCArIHRleHQ7Ci0gICAgZWxlbWVudC5zdHlsZS5m
b250RmFtaWx5ID0gZm9udEZhbWlseSArICJfIiArIHByb3BlcnR5ICsgIl8iICsgdmFsdWU7Ci0g
ICAgcG9pbnRUb0luc2VydC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICBwb2ludFRvSW5zZXJ0
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIikpOwotfQotCi1hZGRFbGVt
ZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5
cGUiLCAiZm9udC12YXJpYW50LWxpZ2F0dXJlcyIsICJjb21tb24tbGlnYXR1cmVzIiwgIkMiKTsK
LWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIs
ICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtbGlnYXR1cmVzIiwgIm5vLWNvbW1vbi1saWdhdHVy
ZXMiLCAiQyIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RP
VEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAiZGlzY3Jl
dGlvbmFyeS1saWdhdHVyZXMiLCAiRSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZv
bnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1saWdh
dHVyZXMiLCAibm8tZGlzY3JldGlvbmFyeS1saWdhdHVyZXMiLCAiRSIpOwotYWRkRWxlbWVudChp
bnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwg
ImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAiaGlzdG9yaWNhbC1saWdhdHVyZXMiLCAiRiIpOwot
YWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwg
Im9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAibm8taGlzdG9yaWNhbC1saWdh
dHVyZXMiLCAiRiIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rl
c3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAiY29u
dGV4dHVhbCIsICJHIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVz
VGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWxpZ2F0dXJlcyIsICJu
by1jb250ZXh0dWFsIiwgIkciKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVh
dHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtcG9zaXRpb24i
LCAic3ViIiwgIkgiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNU
ZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtcG9zaXRpb24iLCAic3Vw
ZXIiLCAiSSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RP
VEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1jYXBzIiwgInNtYWxsLWNhcHMi
LCAiSiIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYi
LCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1jYXBzIiwgImFsbC1zbWFsbC1jYXBz
IiwgIkoiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RG
IiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIsICJwZXRpdGUtY2FwcyIs
ICJMIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIs
ICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMiLCAiYWxsLXBldGl0ZS1jYXBz
IiwgIkwiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RG
IiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIsICJ1bmljYXNlIiwgIk4i
KTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90
ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIsICJ0aXRsaW5nLWNhcHMiLCAiTyIp
OwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3Rm
IiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1udW1lcmljIiwgImxpbmluZy1udW1zIiwgIlAi
KTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90
ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJvbGRzdHlsZS1udW1zIiwg
IlEiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwg
Im90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJwcm9wb3J0aW9uYWwt
bnVtcyIsICJSIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVz
dE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMiLCAidGFidWxh
ci1udW1zIiwgIlMiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNU
ZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJkaWFn
b25hbC1mcmFjdGlvbnMiLCAiVCIpOwotLy9hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9u
dEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LW51bWVy
aWMiLCAic3RhY2tlZC1mcmFjdGlvbnMiLCAiVSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2lu
dCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFu
dC1udW1lcmljIiwgIm9yZGluYWwiLCAiViIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwg
IkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1u
dW1lcmljIiwgInNsYXNoZWQtemVybyIsICJXIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50
LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50
LWFsdGVybmF0ZXMiLCAiaGlzdG9yaWNhbC1mb3JtcyIsICJYIik7Ci1hZGRFbGVtZW50KGluc2Vy
dGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9u
dC12YXJpYW50LWVhc3QtYXNpYW4iLCAiamlzNzgiLCAiWSIpOwotYWRkRWxlbWVudChpbnNlcnRp
b25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQt
dmFyaWFudC1lYXN0LWFzaWFuIiwgImppczgzIiwgIloiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9u
UG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZh
cmlhbnQtZWFzdC1hc2lhbiIsICJqaXM5MCIsICJhIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBv
aW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJp
YW50LWVhc3QtYXNpYW4iLCAiamlzMDQiLCAiYiIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2lu
dCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFu
dC1lYXN0LWFzaWFuIiwgInNpbXBsaWZpZWQiLCAiYyIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Q
b2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFy
aWFudC1lYXN0LWFzaWFuIiwgInRyYWRpdGlvbmFsIiwgImQiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0
aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250
LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJmdWxsLXdpZHRoIiwgImUiKTsKLWFkZEVsZW1lbnQoaW5z
ZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJm
b250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJwcm9wb3J0aW9uYWwtd2lkdGgiLCAiZiIpOwotYWRk
RWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9w
ZW50eXBlIiwgImZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIiwgInJ1YnkiLCAiZyIpOwotCi1hZGRF
bGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRy
dWV0eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAiY29tbW9uLWxpZ2F0dXJlcyIsICJD
Iik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAi
dHRmIiwgInRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAibm8tY29tbW9uLWxp
Z2F0dXJlcyIsICJDIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJl
c1Rlc3RUVEYiLCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAi
ZGlzY3JldGlvbmFyeS1saWdhdHVyZXMiLCAiRyIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2lu
dDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlh
bnQtbGlnYXR1cmVzIiwgIm5vLWRpc2NyZXRpb25hcnktbGlnYXR1cmVzIiwgIkciKTsKLWFkZEVs
ZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1
ZXR5cGUiLCAiZm9udC12YXJpYW50LWxpZ2F0dXJlcyIsICJoaXN0b3JpY2FsLWxpZ2F0dXJlcyIs
ICJJIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYi
LCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAibm8taGlzdG9y
aWNhbC1saWdhdHVyZXMiLCAiSSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250
RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbGlnYXR1
cmVzIiwgImNvbnRleHR1YWwiLCAiTCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJG
b250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbGln
YXR1cmVzIiwgIm5vLWNvbnRleHR1YWwiLCAiTCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2lu
dDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlh
bnQtcG9zaXRpb24iLCAic3ViIiwgIk8iKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAi
Rm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LXBv
c2l0aW9uIiwgInN1cGVyIiwgIlAiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9u
dEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMi
LCAic21hbGwtY2FwcyIsICJTIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRG
ZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1jYXBzIiwg
ImFsbC1zbWFsbC1jYXBzIiwgIlMiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9u
dEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMi
LCAicGV0aXRlLWNhcHMiLCAiVCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250
RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIs
ICJhbGwtcGV0aXRlLWNhcHMiLCAiVCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJG
b250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtY2Fw
cyIsICJ1bmljYXNlIiwgIlkiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZl
YXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMiLCAi
dGl0bGluZy1jYXBzIiwgImEiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZl
YXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMi
LCAibGluaW5nLW51bXMiLCAiYyIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250
RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJp
YyIsICJvbGRzdHlsZS1udW1zIiwgImQiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAi
Rm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LW51
bWVyaWMiLCAicHJvcG9ydGlvbmFsLW51bXMiLCAiZiIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Q
b2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZh
cmlhbnQtbnVtZXJpYyIsICJ0YWJ1bGFyLW51bXMiLCAiZyIpOwotYWRkRWxlbWVudChpbnNlcnRp
b25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250
LXZhcmlhbnQtbnVtZXJpYyIsICJkaWFnb25hbC1mcmFjdGlvbnMiLCAiaSIpOwotYWRkRWxlbWVu
dChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlw
ZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJzdGFja2VkLWZyYWN0aW9ucyIsICJqIik7Ci1h
ZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwg
InRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1udW1lcmljIiwgIm9yZGluYWwiLCAiUSIpOwotYWRk
RWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0
cnVldHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJzbGFzaGVkLXplcm8iLCAiayIpOwot
YWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIs
ICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtYWx0ZXJuYXRlcyIsICJoaXN0b3JpY2FsLWZvcm1z
IiwgIksiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRU
RiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAiamlzNzgi
LCAibSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRG
IiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJqaXM4MyIs
ICJuIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYi
LCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIiwgImppczkwIiwg
Im8iKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIs
ICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAiamlzMDQiLCAi
cCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwg
InR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJzaW1wbGlmaWVk
IiwgInEiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRU
RiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAidHJhZGl0
aW9uYWwiLCAiciIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNU
ZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJm
dWxsLXdpZHRoIiwgInQiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1
cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4i
LCAicHJvcG9ydGlvbmFsLXdpZHRoIiwgInUiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQy
LCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50
LWVhc3QtYXNpYW4iLCAicnVieSIsICJ2Iik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVy
cmlkZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1m
YWNlLW92ZXJyaWRlLWV4cGVjdGVkLmh0bWwKaW5kZXggYTk0MTRiYTgyYWQyYzE1ZjFkYTg3MDM5
NTIwMzUwYjUxYWY0OGJmZi4uYWRlNmZjZTU5ZTg5ZDMwZWM5MzdjNjRlMGRkMWE1ZjY3Mzg1YmU3
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92
ZXJyaWRlLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQt
Zm9udC1mYWNlLW92ZXJyaWRlLWV4cGVjdGVkLmh0bWwKQEAgLTE2LDExICsxNiw3IEBACiBUaGlz
IHRlc3QgbWFrZXMgc3VyZSB0aGF0IGxvY2FsIGZvbnQgZmVhdHVyZSBzdHlsZXMgY2FuIG92ZXJy
aWRlIHRoZSBmb250IGZlYXR1cmUgc3R5bGVzIGRlY2xhcmVkIGluIEBmb250LWZhY2UgYmxvY2tz
LgogPGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L2Rpdj4K
IDxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdE9URjsiPkJCPC9kaXY+Ci08
ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvZGl2PgotPGRp
diBzdHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0T1RGOyI+QkI8L2Rpdj4KLTxkaXYg
c3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdFRURjsiPkFBPC9kaXY+Ci08ZGl2IHN0
eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RUVEY7Ij5CQjwvZGl2PgogPGRpdiBzdHls
ZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0VFRGOyI+QUE8L2Rpdj4KIDxkaXYgc3R5bGU9
ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdFRURjsiPkJCPC9kaXY+CiA8L2JvZHk+Ci08L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJyaWRlLmh0bWwgYi9MYXlv
dXRUZXN0cy9jc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbAppbmRleCBm
Y2UyYjAyMDU2NzEzMmE0OTYwMjBjNTUwNTgzNmY2Yjg1YTUwODZjLi45MzRkZmYzMzU2NGVjNDMy
MzY4MzNiNWRmNDExODVlMGQ3NGRiMjIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2Zv
bnQtdmFyaWFudC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2ZvbnQtdmFyaWFudC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbApAQCAtNywzMiArNywxOCBAQAog
ICAgIHNyYzogdXJsKCJyZXNvdXJjZXMvRm9udFdpdGhGZWF0dXJlcy5vdGYiKSBmb3JtYXQoIm9w
ZW50eXBlIik7CiAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAidGl0bCIgMTsKIH0KLUBmb250
LWZhY2UgewotICAgIGZvbnQtZmFtaWx5OiAiRm9udEZlYXR1cmVzVGVzdE9URjIiOwotICAgIHNy
YzogdXJsKCJyZXNvdXJjZXMvRm9udFdpdGhGZWF0dXJlcy5vdGYiKSBmb3JtYXQoIm9wZW50eXBl
Iik7Ci0gICAgZm9udC12YXJpYW50LWNhcHM6IHRpdGxpbmctY2FwczsKLX0KIEBmb250LWZhY2Ug
ewogICAgIGZvbnQtZmFtaWx5OiAiRm9udEZlYXR1cmVzVGVzdFRURiI7CiAgICAgc3JjOiB1cmwo
InJlc291cmNlcy9Gb250V2l0aEZlYXR1cmVzLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsKICAg
ICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICJ0aXRsIiAxOwogfQotQGZvbnQtZmFjZSB7Ci0gICAg
Zm9udC1mYW1pbHk6ICJGb250RmVhdHVyZXNUZXN0VFRGMiI7Ci0gICAgc3JjOiB1cmwoInJlc291
cmNlcy9Gb250V2l0aEZlYXR1cmVzLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsKLSAgICBmb250
LXZhcmlhbnQtY2FwczogdGl0bGluZy1jYXBzOwotfQogPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5
PgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsb2NhbCBmb250IGZlYXR1cmUgc3R5bGVzIGNh
biBvdmVycmlkZSB0aGUgZm9udCBmZWF0dXJlIHN0eWxlcyBkZWNsYXJlZCBpbiBAZm9udC1mYWNl
IGJsb2Nrcy4KIDxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdE9URjsiPk9P
PC9kaXY+CiA8ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RPVEY7IGZvbnQt
ZmVhdHVyZS1zZXR0aW5nczogJ3RpdGwnIDA7Ij5PTzwvZGl2PgotPGRpdiBzdHlsZT0iZm9udDog
NDBweCBGb250RmVhdHVyZXNUZXN0T1RGMjsiPk9PPC9kaXY+Ci08ZGl2IHN0eWxlPSJmb250OiA0
MHB4IEZvbnRGZWF0dXJlc1Rlc3RPVEYyOyBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICd0aXRsJyAw
OyI+T088L2Rpdj4KIDxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdFRURjsi
PmFhPC9kaXY+CiA8ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RUVEY7IGZv
bnQtZmVhdHVyZS1zZXR0aW5nczogJ3RpdGwnIDA7Ij5hYTwvZGl2PgotPGRpdiBzdHlsZT0iZm9u
dDogNDBweCBGb250RmVhdHVyZXNUZXN0VFRGMjsiPmFhPC9kaXY+Ci08ZGl2IHN0eWxlPSJmb250
OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RUVEYyOyBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICd0aXRs
JyAwOyI+YWE8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNl
LWVtcHR5LXN0cmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1m
YWNlLWVtcHR5LXN0cmluZy1leHBlY3RlZC50eHQKaW5kZXggOGY3Y2NlM2NiODYxZjI3YTY4MTRj
Y2NhYTNiZjU4ODEwMTk5ZjU5NS4uNzk3NWQ0MWMyMWE4MGQ5ZTA4OWFjYTlmMjYwNzFhYjczYTM0
Yjk3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1lbXB0eS1z
dHJpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2Ut
ZW1wdHktc3RyaW5nLWV4cGVjdGVkLnR4dApAQCAtMTIsOSArMTIsNiBAQCBQQVNTIGZvbnRmYWNl
LndlaWdodCA9ICcnIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQg
bm90IG1hdGNoCiBQQVNTIGZvbnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChc
J2FzZGZcJyknLCB7dW5pY29kZVJhbmdlOiAnJ30pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgog
UEFTUyBmb250ZmFjZS51bmljb2RlUmFuZ2UgaXMgIlUrMC0xMGZmZmYiCiBQQVNTIGZvbnRmYWNl
LnVuaWNvZGVSYW5nZSA9ICcnIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmlu
ZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KLVBBU1MgZm9udGZhY2UgPSBu
ZXcgRm9udEZhY2UoJ1dlYkZvbnQnLCAndXJsKFwnYXNkZlwnKScsIHt2YXJpYW50OiAnJ30pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBmb250ZmFjZS52YXJpYW50IGlzICJub3JtYWwi
Ci1QQVNTIGZvbnRmYWNlLnZhcmlhbnQgPSAnJyB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCiBQQVNTIGZv
bnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChcJ2FzZGZcJyknLCB7ZmVhdHVy
ZVNldHRpbmdzOiAnJ30pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBmb250ZmFjZS5m
ZWF0dXJlU2V0dGluZ3MgaXMgIm5vcm1hbCIKIFBBU1MgZm9udGZhY2UuZmVhdHVyZVNldHRpbmdz
ID0gJycgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0
Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2ZvbnQtZmFjZS1lbXB0eS1zdHJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9m
b250LWZhY2UtZW1wdHktc3RyaW5nLmh0bWwKaW5kZXggMGE5MGUxY2EyM2JmN2VkY2MyMGQzMjAy
OWZiZDQzNTVkM2UyYmZjMi4uMzFlZDY2MmUyOGJiMDdlNGVkZGY5OTM2YmIxM2MyZWUxMGIxNmFl
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1lbXB0eS1zdHJp
bmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWVtcHR5LXN0cmlu
Zy5odG1sCkBAIC0xNyw5ICsxNyw2IEBAIHNob3VsZFRocm93KCJmb250ZmFjZS53ZWlnaHQgPSAn
JyIpOwogc2hvdWxkTm90VGhyb3coImZvbnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250Jywg
J3VybChcXFwnYXNkZlxcXCcpJywge3VuaWNvZGVSYW5nZTogJyd9KSIpOwogc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJmb250ZmFjZS51bmljb2RlUmFuZ2UiLCAiVSswLTEwZmZmZiIpOwogc2hvdWxk
VGhyb3coImZvbnRmYWNlLnVuaWNvZGVSYW5nZSA9ICcnIik7Ci1zaG91bGROb3RUaHJvdygiZm9u
dGZhY2UgPSBuZXcgRm9udEZhY2UoJ1dlYkZvbnQnLCAndXJsKFxcXCdhc2RmXFxcJyknLCB7dmFy
aWFudDogJyd9KSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250ZmFjZS52YXJpYW50Iiwg
Im5vcm1hbCIpOwotc2hvdWxkVGhyb3coImZvbnRmYWNlLnZhcmlhbnQgPSAnJyIpOwogc2hvdWxk
Tm90VGhyb3coImZvbnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChcXFwnYXNk
ZlxcXCcpJywge2ZlYXR1cmVTZXR0aW5nczogJyd9KSIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJmb250ZmFjZS5mZWF0dXJlU2V0dGluZ3MiLCAibm9ybWFsIik7CiBzaG91bGRUaHJvdygiZm9u
dGZhY2UuZmVhdHVyZVNldHRpbmdzID0gJyciKTsKQEAgLTI4LDQgKzI1LDQgQEAgc2hvdWxkVGhy
b3coImZvbnRmYWNlLmZhbWlseSA9ICcnIik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dAppbmRleCAx
N2QwNDIxZTk2OTJlMjVlZTY4ZWZjYWY4NGVhNzU3Yzc2ZTdhMzA3Li4zNTliYWE5ZGE0NGU2NjY0
NmFiNTIwOGQ5MGI4OTllZGM2MTBlMzc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZm9udC1mYWNlLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlwdC1leHBlY3RlZC50eHQKQEAgLTMsNyArMyw2IEBA
IFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywge30pLnN0
eWxlIGlzICJub3JtYWwiCiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwn
YXNkZlwnKScsIHt9KS53ZWlnaHQgaXMgIm5vcm1hbCIKIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1p
bHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywge30pLnN0cmV0Y2ggaXMgIm5vcm1hbCIKIFBBU1Mg
bmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywge30pLnVuaWNvZGVS
YW5nZSBpcyAiVSswLTEwZmZmZiIKLVBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1
cmwoXCdhc2RmXCcpJywge30pLnZhcmlhbnQgaXMgIm5vcm1hbCIKIFBBU1MgbmV3IEZvbnRGYWNl
KCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywge30pLmZlYXR1cmVTZXR0aW5ncyBpcyAi
bm9ybWFsIgogUEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJykn
LCB7J3N0eWxlJzogJ25vcm1hbCd9KS5zdHlsZSBpcyAibm9ybWFsIgogUEFTUyBuZXcgRm9udEZh
Y2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3N0eWxlJzogJ2luaGVyaXQnfSku
c3R5bGUgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0
Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uLgpAQCAtMTksMjIgKzE4LDE3IEBAIFBBU1MgbmV3IEZv
bnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeyd3ZWlnaHQnOiAnaW5oZXJp
dCd9KS53ZWlnaHQKIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2Rm
XCcpJywgeydzdHJldGNoJzogJ3VsdHJhLWV4cGFuZGVkJ30pLnN0cmV0Y2ggaXMgInVsdHJhLWV4
cGFuZGVkIgogUEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJykn
LCB7J3VuaWNvZGVSYW5nZSc6ICdVKzI2J30pLnVuaWNvZGVSYW5nZSBpcyAiVSsyNi0yNiIKIFBB
U1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeyd1bmljb2Rl
UmFuZ2UnOiAnVSswLTdGJ30pLnVuaWNvZGVSYW5nZSBpcyAiVSswLTdmIgotUEFTUyBuZXcgRm9u
dEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3ZhcmlhbnQnOiAndmFyaWFu
dF9uYW1lJ30pLnZhcmlhbnQgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5n
IGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uLgotUEFTUyBuZXcgRm9udEZhY2Uo
J2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3ZhcmlhbnQnOiAnc21hbGwtY2Fwcyd9
KS52YXJpYW50IGlzICJzbWFsbC1jYXBzIgotUEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1l
JywgJ3VybChcJ2FzZGZcJyknLCB7J3ZhcmlhbnQnOiAnc21hbGwtY2FwcyBjb21tb24tbGlnYXR1
cmVzJ30pLnZhcmlhbnQgaXMgImNvbW1vbi1saWdhdHVyZXMgc21hbGwtY2FwcyIKIFBBU1MgbmV3
IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeydmZWF0dXJlU2V0dGlu
Z3MnOiAnXCd0aXRsXCcnfSkuZmVhdHVyZVNldHRpbmdzIGlzICJcInRpdGxcIiIKIFBBU1MgZXZl
cnl0aGluZy5zdHlsZSBpcyAiaXRhbGljIgogUEFTUyBldmVyeXRoaW5nLndlaWdodCBpcyAiYm9s
ZCIKIFBBU1MgZXZlcnl0aGluZy5zdHJldGNoIGlzICJleHRyYS1leHBhbmRlZCIKIFBBU1MgZXZl
cnl0aGluZy51bmljb2RlUmFuZ2UgaXMgIlUrMjYtMjYiCi1QQVNTIGV2ZXJ5dGhpbmcudmFyaWFu
dCBpcyAic21hbGwtY2FwcyIKIFBBU1MgZXZlcnl0aGluZy5mZWF0dXJlU2V0dGluZ3MgaXMgIlwi
dGl0bFwiIgogUEFTUyBldmVyeXRoaW5nLmZhbWlseSBpcyAib3RoZXJfZmFtaWx5X25hbWUiCiBQ
QVNTIGV2ZXJ5dGhpbmcuc3R5bGUgaXMgIm5vcm1hbCIKIFBBU1MgZXZlcnl0aGluZy53ZWlnaHQg
aXMgIjMwMCIKIFBBU1MgZXZlcnl0aGluZy5zdHJldGNoIGlzICJjb25kZW5zZWQiCiBQQVNTIGV2
ZXJ5dGhpbmcudW5pY29kZVJhbmdlIGlzICJVKzAtN2YiCi1QQVNTIGV2ZXJ5dGhpbmcudmFyaWFu
dCBpcyAic3RhY2tlZC1mcmFjdGlvbnMiCiBQQVNTIGV2ZXJ5dGhpbmcuZmVhdHVyZVNldHRpbmdz
IGlzICJcInNtY3BcIiIKIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdh
c2RmXCcpJywge30pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBuZXcgRm9udEZhY2Uo
J2ZhbWlseV9uYW1lJywgbmV3QXJyYXlCdWZmZXIsIHt9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlw
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0Lmh0bWwK
aW5kZXggODFhNDNhYjliOTU3MjgzZjdlMTZkODljZDhiZTM2NTk2ODI5OGE2MS4uZTM1ZTQ3ODFh
YTNiNDY3NWY5OWUwOWM5ZWNiNjFiM2Y4ZWY0YjBmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0Lmh0bWwKQEAgLTEwLDcgKzEwLDYgQEAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2Rm
XFwnKScsIHt9KS5zdHlsZSIKIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdm
YW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7fSkud2VpZ2h0IiwgIm5vcm1hbCIpOwog
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChc
XCdhc2RmXFwnKScsIHt9KS5zdHJldGNoIiwgIm5vcm1hbCIpOwogc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHt9KS51
bmljb2RlUmFuZ2UiLCAiVSswLTEwZmZmZiIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcg
Rm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHt9KS52YXJpYW50Iiwg
Im5vcm1hbCIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9u
YW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHt9KS5mZWF0dXJlU2V0dGluZ3MiLCAibm9ybWFsIik7
CiAKIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1
cmwoXFwnYXNkZlxcJyknLCB7J3N0eWxlJzogJ25vcm1hbCd9KS5zdHlsZSIsICJub3JtYWwiKTsK
QEAgLTI3LDE3ICsyNiwxMyBAQCBzaG91bGRUaHJvdygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFt
ZScsICd1cmwoXFwnYXNkZlxcJyknLCB7J3dlaWdodCc6ICdpbmhlcml0Jwogc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScs
IHsnc3RyZXRjaCc6ICd1bHRyYS1leHBhbmRlZCd9KS5zdHJldGNoIiwgInVsdHJhLWV4cGFuZGVk
Iik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAn
dXJsKFxcJ2FzZGZcXCcpJywgeyd1bmljb2RlUmFuZ2UnOiAnVSsyNid9KS51bmljb2RlUmFuZ2Ui
LCAiVSsyNi0yNiIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWls
eV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHsndW5pY29kZVJhbmdlJzogJ1UrMC03Rid9KS51
bmljb2RlUmFuZ2UiLCAiVSswLTdmIik7Ci1zaG91bGRUaHJvdygibmV3IEZvbnRGYWNlKCdmYW1p
bHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7J3ZhcmlhbnQnOiAndmFyaWFudF9uYW1lJ30p
LnZhcmlhbnQiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlf
bmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7J3ZhcmlhbnQnOiAnc21hbGwtY2Fwcyd9KS52YXJp
YW50IiwgInNtYWxsLWNhcHMiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNl
KCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJyknLCB7J3ZhcmlhbnQnOiAnc21hbGwtY2Fw
cyBjb21tb24tbGlnYXR1cmVzJ30pLnZhcmlhbnQiLCAiY29tbW9uLWxpZ2F0dXJlcyBzbWFsbC1j
YXBzIik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUn
LCAndXJsKFxcJ2FzZGZcXCcpJywgeydmZWF0dXJlU2V0dGluZ3MnOiAnXFwndGl0bFxcJyd9KS5m
ZWF0dXJlU2V0dGluZ3MiLCAiXCJ0aXRsXCIiKTsKIAotdmFyIGV2ZXJ5dGhpbmcgPSBuZXcgRm9u
dEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3N0eWxlJzogJ2l0YWxpYycs
ICd3ZWlnaHQnOiAnYm9sZCcsICdzdHJldGNoJzogJ2V4dHJhLWV4cGFuZGVkJywgJ3VuaWNvZGVS
YW5nZSc6ICdVKzI2JywgJ3ZhcmlhbnQnOiAnc21hbGwtY2FwcycsICdmZWF0dXJlU2V0dGluZ3Mn
OiAnXCd0aXRsXCcnfSk7Cit2YXIgZXZlcnl0aGluZyA9IG5ldyBGb250RmFjZSgnZmFtaWx5X25h
bWUnLCAndXJsKFwnYXNkZlwnKScsIHsnc3R5bGUnOiAnaXRhbGljJywgJ3dlaWdodCc6ICdib2xk
JywgJ3N0cmV0Y2gnOiAnZXh0cmEtZXhwYW5kZWQnLCAndW5pY29kZVJhbmdlJzogJ1UrMjYnLCAn
ZmVhdHVyZVNldHRpbmdzJzogJ1wndGl0bFwnJ30pOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJl
dmVyeXRoaW5nLnN0eWxlIiwgIml0YWxpYyIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVy
eXRoaW5nLndlaWdodCIsICJib2xkIik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZXJ5dGhp
bmcuc3RyZXRjaCIsICJleHRyYS1leHBhbmRlZCIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJl
dmVyeXRoaW5nLnVuaWNvZGVSYW5nZSIsICJVKzI2LTI2Iik7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoImV2ZXJ5dGhpbmcudmFyaWFudCIsICJzbWFsbC1jYXBzIik7CiBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImV2ZXJ5dGhpbmcuZmVhdHVyZVNldHRpbmdzIiwgIlwidGl0bFwiIik7CiAKIGV2ZXJ5
dGhpbmcuZmFtaWx5ID0gIm90aGVyX2ZhbWlseV9uYW1lIjsKQEAgLTUwLDggKzQ1LDYgQEAgZXZl
cnl0aGluZy5zdHJldGNoID0gImNvbmRlbnNlZCI7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2
ZXJ5dGhpbmcuc3RyZXRjaCIsICJjb25kZW5zZWQiKTsKIGV2ZXJ5dGhpbmcudW5pY29kZVJhbmdl
ID0gIlUrMC03RiI7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZXJ5dGhpbmcudW5pY29kZVJh
bmdlIiwgIlUrMC03ZiIpOwotZXZlcnl0aGluZy52YXJpYW50ID0gInN0YWNrZWQtZnJhY3Rpb25z
IjsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlcnl0aGluZy52YXJpYW50IiwgInN0YWNrZWQt
ZnJhY3Rpb25zIik7CiBldmVyeXRoaW5nLmZlYXR1cmVTZXR0aW5ncyA9ICInc21jcCciOwogc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLmZlYXR1cmVTZXR0aW5ncyIsICJcInNtY3Bc
IiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFi
MGM0NmZjYzc4YTU5MjMxNjgyNzM4Y2YwMjNmMjE2N2IzZDA4OGMuLjZlOTZiYjFhNDU1NTg0OThi
YjJmNGU5N2UzMGE4Mzc4NDNiYzIxZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCkBAIC04NTYsNyArODU2LDYgQEAgd2Via2l0Lm9yZy9iLzE1MjYxOCBmYXN0
L3RleHQvaW50ZXJuYXRpb25hbC9zeXN0ZW0tbGFuZ3VhZ2UvZGVjbGFyYXRpdmUtbGFuZ3VhZ2UK
IAogIyBUaGlzIHBvcnQgZG9lc24ndCBzdXBwb3J0IHNtYWxsLWNhcHMgc3ludGhlc2lzLgogd2Vi
a2l0Lm9yZy9iLzE1MjYyMCBjc3MzL2ZvbnQtdmFyaWFudC1hbGwuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzE1MjYyMCBjc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2Ut
YWxsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTI2MjAgY3NzMy9m
b250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJyaWRlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi8xNTI2MjAgY3NzMy9mb250LXZhcmlhbnQtcGV0aXRlLWNhcHMtc3ludGhl
c2lzLWNvdmVyYWdlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTI2
MjAgY3NzMy9mb250LXZhcmlhbnQtcGV0aXRlLWNhcHMtc3ludGhlc2lzLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZGEzNWVjMDA0ZTZjMGQ2YjM0MjMyOTQ3N2RhMDE4NzU5MGY5NDMxYy4uOGZkMjlhYTYwMzFj
YzEwMjJiOGNmODEzYzkxYmEzN2JkZmViZDM3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTUzNSw3ICs1MzUsNiBAQCBmYXN0L2Nzcy9kcmFnZ2FibGUt
cmVnaW9uLXBhcnNlci5odG1sIFsgU2tpcCBdCiBjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy1y
ZW5kZXJpbmcuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMTQ5NzcxIGNzczMvZm9udC1m
ZWF0dXJlLXNldHRpbmdzLWZvbnQtZmFjZS1yZW5kZXJpbmcuaHRtbCBbIFNraXAgXSAjIFdvbnRG
aXgKLXdlYmtpdC5vcmcvYi8xNDk3NzEgY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLWFsbC5o
dG1sIFsgU2tpcCBdICMgV29udEZpeAogd2Via2l0Lm9yZy9iLzE0OTc3MSBjc3MzL2ZvbnQtdmFy
aWFudC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbCBbIFNraXAgXSAjIFdvbnRGaXgKIHdlYmtpdC5v
cmcvYi8xNDk3NzQgY3NzMy9mb250LXZhcmlhbnQtcGV0aXRlLWNhcHMtc3ludGhlc2lzLWNvdmVy
YWdlLmh0bWwgWyBTa2lwIF0gIyBXb250Rml4CiB3ZWJraXQub3JnL2IvMTQ5Nzc0IGNzczMvZm9u
dC12YXJpYW50LXBldGl0ZS1jYXBzLXN5bnRoZXNpcy5odG1sIFsgU2tpcCBdICMgV29udEZpeApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
ZTFiN2VlMWI5ZDkwNjQxYzU5MWE0ODAxZjI0OTQzNTQwNmI2ZDZhZi4uNzQ0ODI5ZWMzZDVhYzBj
MTJjOTY1OTJhOGY0ZWEzYTYxNTE5NDQ5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMTgyLDcgKzExODIsNiBAQCBjc3MzL2ZvbnQt
dmFyaWFudC1zeW50aGVzaXMtamRhZ2dldHQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIyBG
b250IGZlYXR1cmUgc2V0dGluZ3MgaXMgbm90IGltcGxlbWVudGVkLgogY3NzMy9mb250LWZlYXR1
cmUtc2V0dGluZ3MtcmVuZGVyaW5nLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xNDk3NzEg
Y3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtZm9udC1mYWNlLXJlbmRlcmluZy5odG1sIFsgU2tp
cCBdCi13ZWJraXQub3JnL2IvMTQ5NzcxIGNzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwu
aHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE0OTc3MSBjc3MzL2ZvbnQtdmFyaWFudC1mb250
LWZhY2Utb3ZlcnJpZGUuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE0OTc3NCBjc3MzL2Zv
bnQtdmFyaWFudC1wZXRpdGUtY2Fwcy1zeW50aGVzaXMtY292ZXJhZ2UuaHRtbCBbIFNraXAgXQog
d2Via2l0Lm9yZy9iLzE0OTc3NCBjc3MzL2ZvbnQtdmFyaWFudC1wZXRpdGUtY2Fwcy1zeW50aGVz
aXMuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA2ZmEyYWYwZDZmY2M0ZTgxZGQwMTdiNWQxM2EwZDFhNTVlM2M5ZDZiLi5mZTk5YmJi
YTE2OTBiYTA4NTBmYjRjYmYzYzU4ZjVhOTVlZTk3YzAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTUzMiw3ICsxNTMyLDYgQEAgQnVnKFdQRSkgY3Nz
My9mb250LWZlYXR1cmUtc2V0dGluZ3MtZm9udC1mYWNlLXJlbmRlcmluZy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZQogQnVnKFdQRSkgY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVyaW5n
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIEJ1ZyhXUEUpIGNzczMvZm9udC1zeW50aGVzaXMt
c21hbGwtY2Fwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBCdWcoV1BFKSBjc3MzL2ZvbnQt
dmFyaWFudC1hbGwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotQnVnKFdQRSkgY3NzMy9mb250
LXZhcmlhbnQtZm9udC1mYWNlLWFsbC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBCdWcoV1BF
KSBjc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogQnVnKFdQRSkgY3NzMy9mb250LXZhcmlhbnQtcGV0aXRlLWNhcHMtc3ludGhlc2lz
LWNvdmVyYWdlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIEJ1ZyhXUEUpIGNzczMvZm9udC12
YXJpYW50LXBldGl0ZS1jYXBzLXN5bnRoZXNpcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCg==
</data>
<flag name="review"
          id="397605"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="399772"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384118</attachid>
            <date>2019-11-21 19:12:22 -0800</date>
            <delta_ts>2019-11-21 19:56:14 -0800</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-203179-20191121191222.patch</filename>
            <type>text/plain</type>
            <size>91006</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyNzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFmZmY0ZGM1ZjQyNzY1
MjllOTJlNjQ1NjJiYmQwOWNmOWQyMWFjNy4uOTA5OTJmMDI2ZTIwNTk2NGRkMzU4Zjg3ODRmYThh
YzcxNTk1YjNiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE5LTExLTIxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGZv
bnQtdmFyaWFudCBAZm9udC1mYWNlIGRlc2NyaXB0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNp
bW9uIEZyYXNlci4KKworICAgICAgICBBcyBwZXIgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3
Zy1kcmFmdHMvaXNzdWVzLzI1MzEKKworICAgICAgICBEZWxldGVkIHJlbGV2YW50IHRlc3RzLgor
CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRGYWNlOjpmb250KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpzZXRWYXJpYW50
TGlnYXR1cmVzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpzZXRW
YXJpYW50UG9zaXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6
OnNldFZhcmlhbnRDYXBzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNl
OjpzZXRWYXJpYW50TnVtZXJpYyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250
RmFjZTo6c2V0VmFyaWFudEFsdGVybmF0ZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTRm9udEZhY2U6OnNldFZhcmlhbnRFYXN0QXNpYW4pOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy9DU1NGb250RmFjZS5oOgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZVNvdXJjZTo6bG9hZCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250RmFjZVNvdXJjZTo6Zm9udCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNl
U291cmNlLmg6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmFkZEZvbnRGYWNlUnVsZSk6CisgICAgICAgICogY3Nz
L0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRGYWNlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udEZhY2U6OnNldFZhcmlhbnQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udEZhY2U6OnZhcmlhbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy9Gb250RmFjZS5oOgorICAgICAgICAqIGNzcy9Gb250RmFjZS5pZGw6CisgICAgICAgICogbG9h
ZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udDo6
Y3JlYXRlRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGb250OjpwbGF0Zm9ybURhdGFG
cm9tQ3VzdG9tRGF0YSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuaDoKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRTVkdGb250OjpjcmVhdGVGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFNW
R0ZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkU1ZHRm9udC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXk6OkZvbnRQ
bGF0Zm9ybURhdGFDYWNoZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
Q2FjaGVLZXk6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRm
b3JtRGF0YUNhY2hlS2V5SGFzaDo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6
OmdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hl
Ojpmb250Rm9yRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Zm9udEZvckZhbWlseSk6CisgICAgICAg
IChXZWJDb3JlOjpGb250Q2FjaGU6OmdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhRm9yVGVzdGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cHJlcGFyZVBsYXRmb3JtRm9udCk6CisgICAgICAgIChXZWJD
b3JlOjpmb250V2l0aEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmNyZWF0
ZUZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpzeXN0ZW1G
YWxsYmFja0ZvckNoYXJhY3RlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udEZhbWlseVNwZWNpZmljYXRpb25Db3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
b250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0Ojpmb250UmFuZ2VzIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRh
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oOgorCiAyMDE5LTExLTIxICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAg
ICAgICAgSWdub3JlIHRoZSByZXF1ZXN0cyB0byBlbnRlci9leGl0IHZpZGVvIGZ1bGxzY3JlZW4v
cGljdHVyZS1pbi1waWN0dXJlIGlmIHRoZSByZXF1ZXN0aW5nIG1vZGUgaXMgdGhlIHNhbWUgYXMg
dGhlIGN1cnJlbnQgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKaW5kZXggOTgyOTcz
YTdiMDk0Njg2ZmNiOTY1MmE3NWY3YWJiNWVkZmMzMGM4My4uMmQ0MjliY2NlZTUxMTc1ZTFhN2I5
ZmZjZDFjMTE5NTVjNmVmOWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC00
MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiRm9udERlc2Ny
aXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udEZhY2UuaCIKLSNpbmNsdWRlICJGb250VmFyaWFudEJ1
aWxkZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlQnVpbGRlckNv
bnZlcnRlci5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgpAQCAtMjc4LDE0NyArMjc3
LDYgQEAgYm9vbCBDU1NGb250RmFjZTo6c2V0VW5pY29kZVJhbmdlKENTU1ZhbHVlJiB1bmljb2Rl
UmFuZ2UpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgQ1NTRm9udEZhY2U6OnNldFZhcmlh
bnRMaWdhdHVyZXMoQ1NTVmFsdWUmIHZhcmlhbnRMaWdhdHVyZXMpCi17Ci0gICAgYXV0byBsaWdh
dHVyZXMgPSBleHRyYWN0Rm9udFZhcmlhbnRMaWdhdHVyZXModmFyaWFudExpZ2F0dXJlcyk7Ci0K
LSAgICBpZiAobV92YXJpYW50U2V0dGluZ3MuY29tbW9uTGlnYXR1cmVzID09IGxpZ2F0dXJlcy5j
b21tb25MaWdhdHVyZXMKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3MuZGlzY3JldGlvbmFy
eUxpZ2F0dXJlcyA9PSBsaWdhdHVyZXMuZGlzY3JldGlvbmFyeUxpZ2F0dXJlcwotICAgICAgICAm
JiBtX3ZhcmlhbnRTZXR0aW5ncy5oaXN0b3JpY2FsTGlnYXR1cmVzID09IGxpZ2F0dXJlcy5oaXN0
b3JpY2FsTGlnYXR1cmVzCi0gICAgICAgICYmIG1fdmFyaWFudFNldHRpbmdzLmNvbnRleHR1YWxB
bHRlcm5hdGVzID09IGxpZ2F0dXJlcy5jb250ZXh0dWFsQWx0ZXJuYXRlcykKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0KLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5jb21tb25MaWdhdHVyZXMgPSBsaWdh
dHVyZXMuY29tbW9uTGlnYXR1cmVzOwotICAgIG1fdmFyaWFudFNldHRpbmdzLmRpc2NyZXRpb25h
cnlMaWdhdHVyZXMgPSBsaWdhdHVyZXMuZGlzY3JldGlvbmFyeUxpZ2F0dXJlczsKLSAgICBtX3Zh
cmlhbnRTZXR0aW5ncy5oaXN0b3JpY2FsTGlnYXR1cmVzID0gbGlnYXR1cmVzLmhpc3RvcmljYWxM
aWdhdHVyZXM7Ci0gICAgbV92YXJpYW50U2V0dGluZ3MuY29udGV4dHVhbEFsdGVybmF0ZXMgPSBs
aWdhdHVyZXMuY29udGV4dHVhbEFsdGVybmF0ZXM7Ci0KLSAgICBpZiAobV9jc3NDb25uZWN0aW9u
KQotICAgICAgICBtX2Nzc0Nvbm5lY3Rpb24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVy
dHkoQ1NTUHJvcGVydHlGb250VmFyaWFudExpZ2F0dXJlcywgJnZhcmlhbnRMaWdhdHVyZXMpOwot
Ci0gICAgaXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKLSAg
ICAgICAgY2xpZW50LmZvbnRQcm9wZXJ0eUNoYW5nZWQoKnRoaXMpOwotICAgIH0pOwotCi0gICAg
cmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgQ1NTRm9udEZhY2U6OnNldFZhcmlhbnRQb3NpdGlvbihD
U1NWYWx1ZSYgdmFyaWFudFBvc2l0aW9uKQotewotICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFs
dWU+KHZhcmlhbnRQb3NpdGlvbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEZvbnRW
YXJpYW50UG9zaXRpb24gcG9zaXRpb24gPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFy
aWFudFBvc2l0aW9uKTsKLQotICAgIGlmIChtX3ZhcmlhbnRTZXR0aW5ncy5wb3NpdGlvbiA9PSBw
b3NpdGlvbikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5w
b3NpdGlvbiA9IHBvc2l0aW9uOwotCi0gICAgaWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAg
bV9jc3NDb25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5KENTU1Byb3Bl
cnR5Rm9udFZhcmlhbnRQb3NpdGlvbiwgJnZhcmlhbnRQb3NpdGlvbik7Ci0KLSAgICBpdGVyYXRl
Q2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNsaWVudCkgewotICAgICAgICBjbGllbnQu
Zm9udFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQotYm9vbCBDU1NGb250RmFjZTo6c2V0VmFyaWFudENhcHMoQ1NTVmFsdWUmIHZhcmlhbnRD
YXBzKQotewotICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhcmlhbnRDYXBzKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgRm9udFZhcmlhbnRDYXBzIGNhcHMgPSBkb3duY2Fz
dDxDU1NQcmltaXRpdmVWYWx1ZT4odmFyaWFudENhcHMpOwotCi0gICAgaWYgKG1fdmFyaWFudFNl
dHRpbmdzLmNhcHMgPT0gY2FwcykKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBtX3Zhcmlh
bnRTZXR0aW5ncy5jYXBzID0gY2FwczsKLQotICAgIGlmIChtX2Nzc0Nvbm5lY3Rpb24pCi0gICAg
ICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRpZXMoKS5zZXRQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUZvbnRWYXJpYW50Q2FwcywgJnZhcmlhbnRDYXBzKTsKLQotICAgIGl0ZXJhdGVDbGll
bnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7Ci0gICAgICAgIGNsaWVudC5mb250
UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9KTsKLQotICAgIHJldHVybiB0cnVlOwotfQot
Ci1ib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50TnVtZXJpYyhDU1NWYWx1ZSYgdmFyaWFudE51
bWVyaWMpCi17Ci0gICAgYXV0byBudW1lcmljID0gZXh0cmFjdEZvbnRWYXJpYW50TnVtZXJpYyh2
YXJpYW50TnVtZXJpYyk7Ci0KLSAgICBpZiAobV92YXJpYW50U2V0dGluZ3MubnVtZXJpY0ZpZ3Vy
ZSA9PSBudW1lcmljLmZpZ3VyZQotICAgICAgICAmJiBtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmlj
U3BhY2luZyA9PSBudW1lcmljLnNwYWNpbmcKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3Mu
bnVtZXJpY0ZyYWN0aW9uID09IG51bWVyaWMuZnJhY3Rpb24KLSAgICAgICAgJiYgbV92YXJpYW50
U2V0dGluZ3MubnVtZXJpY09yZGluYWwgPT0gbnVtZXJpYy5vcmRpbmFsCi0gICAgICAgICYmIG1f
dmFyaWFudFNldHRpbmdzLm51bWVyaWNTbGFzaGVkWmVybyA9PSBudW1lcmljLnNsYXNoZWRaZXJv
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIG1fdmFyaWFudFNldHRpbmdzLm51bWVyaWNG
aWd1cmUgPSBudW1lcmljLmZpZ3VyZTsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmljU3Bh
Y2luZyA9IG51bWVyaWMuc3BhY2luZzsKLSAgICBtX3ZhcmlhbnRTZXR0aW5ncy5udW1lcmljRnJh
Y3Rpb24gPSBudW1lcmljLmZyYWN0aW9uOwotICAgIG1fdmFyaWFudFNldHRpbmdzLm51bWVyaWNP
cmRpbmFsID0gbnVtZXJpYy5vcmRpbmFsOwotICAgIG1fdmFyaWFudFNldHRpbmdzLm51bWVyaWNT
bGFzaGVkWmVybyA9IG51bWVyaWMuc2xhc2hlZFplcm87Ci0KLSAgICBpZiAobV9jc3NDb25uZWN0
aW9uKQotICAgICAgICBtX2Nzc0Nvbm5lY3Rpb24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJv
cGVydHkoQ1NTUHJvcGVydHlGb250VmFyaWFudE51bWVyaWMsICZ2YXJpYW50TnVtZXJpYyk7Ci0K
LSAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNsaWVudCkgewotICAg
ICAgICBjbGllbnQuZm9udFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7Ci0gICAgfSk7Ci0KLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBDU1NGb250RmFjZTo6c2V0VmFyaWFudEFsdGVybmF0ZXMo
Q1NTVmFsdWUmIHZhcmlhbnRBbHRlcm5hdGVzKQotewotICAgIGlmICghaXM8Q1NTUHJpbWl0aXZl
VmFsdWU+KHZhcmlhbnRBbHRlcm5hdGVzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
Rm9udFZhcmlhbnRBbHRlcm5hdGVzIGFsdGVybmF0ZXMgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZT4odmFyaWFudEFsdGVybmF0ZXMpOwotCi0gICAgaWYgKG1fdmFyaWFudFNldHRpbmdzLmFs
dGVybmF0ZXMgPT0gYWx0ZXJuYXRlcykKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBtX3Zh
cmlhbnRTZXR0aW5ncy5hbHRlcm5hdGVzID0gYWx0ZXJuYXRlczsKLQotICAgIGlmIChtX2Nzc0Nv
bm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRpZXMoKS5z
ZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50QWx0ZXJuYXRlcywgJnZhcmlhbnRBbHRl
cm5hdGVzKTsKLQotICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xp
ZW50KSB7Ci0gICAgICAgIGNsaWVudC5mb250UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKLSAgICB9
KTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50
RWFzdEFzaWFuKENTU1ZhbHVlJiB2YXJpYW50RWFzdEFzaWFuKQotewotICAgIGF1dG8gZWFzdEFz
aWFuID0gZXh0cmFjdEZvbnRWYXJpYW50RWFzdEFzaWFuKHZhcmlhbnRFYXN0QXNpYW4pOwotCi0g
ICAgaWYgKG1fdmFyaWFudFNldHRpbmdzLmVhc3RBc2lhblZhcmlhbnQgPT0gZWFzdEFzaWFuLnZh
cmlhbnQKLSAgICAgICAgJiYgbV92YXJpYW50U2V0dGluZ3MuZWFzdEFzaWFuV2lkdGggPT0gZWFz
dEFzaWFuLndpZHRoCi0gICAgICAgICYmIG1fdmFyaWFudFNldHRpbmdzLmVhc3RBc2lhblJ1Ynkg
PT0gZWFzdEFzaWFuLnJ1YnkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgbV92YXJpYW50
U2V0dGluZ3MuZWFzdEFzaWFuVmFyaWFudCA9IGVhc3RBc2lhbi52YXJpYW50OwotICAgIG1fdmFy
aWFudFNldHRpbmdzLmVhc3RBc2lhbldpZHRoID0gZWFzdEFzaWFuLndpZHRoOwotICAgIG1fdmFy
aWFudFNldHRpbmdzLmVhc3RBc2lhblJ1YnkgPSBlYXN0QXNpYW4ucnVieTsKLQotICAgIGlmICht
X2Nzc0Nvbm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRp
ZXMoKS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50RWFzdEFzaWFuLCAmdmFyaWFu
dEVhc3RBc2lhbik7Ci0KLSAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQm
IGNsaWVudCkgewotICAgICAgICBjbGllbnQuZm9udFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7Ci0g
ICAgfSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBDU1NGb250RmFjZTo6c2V0RmVh
dHVyZVNldHRpbmdzKENTU1ZhbHVlJiBmZWF0dXJlU2V0dGluZ3MpCiB7CiAgICAgLy8gQ2FuIG9u
bHkgY2FsbCB0aGlzIHdpdGggYSBwcmltaXRpdmUgdmFsdWUgb2Ygbm9ybWFsLCBvciBhIHZhbHVl
IGxpc3QgY29udGFpbmluZyBmb250IGZlYXR1cmUgdmFsdWVzLgpAQCAtODEzLDcgKzY3MSw3IEBA
IFJlZlB0cjxGb250PiBDU1NGb250RmFjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZv
bnREZXNjcmlwdGlvbiwgYm9vbCBzeW50CiAgICAgICAgICAgICByZXR1cm4gRm9udDo6Y3JlYXRl
KEZvbnRDYWNoZTo6c2luZ2xldG9uKCkubGFzdFJlc29ydEZhbGxiYWNrRm9udChmb250RGVzY3Jp
cHRpb24pLT5wbGF0Zm9ybURhdGEoKSwgRm9udDo6T3JpZ2luOjpMb2NhbCwgRm9udDo6SW50ZXJz
dGl0aWFsOjpZZXMsIHZpc2liaWxpdHkpOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQ1NTRm9u
dEZhY2VTb3VyY2U6OlN0YXR1czo6U3VjY2VzczoKLSAgICAgICAgICAgIGlmIChSZWZQdHI8Rm9u
dD4gcmVzdWx0ID0gc291cmNlLT5mb250KGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwg
c3ludGhldGljSXRhbGljLCBtX2ZlYXR1cmVTZXR0aW5ncywgbV92YXJpYW50U2V0dGluZ3MsIG1f
Zm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcykpCisgICAgICAgICAgICBpZiAoUmVmUHRyPEZvbnQ+
IHJlc3VsdCA9IHNvdXJjZS0+Zm9udChmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5
bnRoZXRpY0l0YWxpYywgbV9mZWF0dXJlU2V0dGluZ3MsIG1fZm9udFNlbGVjdGlvbkNhcGFiaWxp
dGllcykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIENTU0ZvbnRGYWNlU291cmNlOjpTdGF0dXM6OkZhaWx1cmU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5oCmluZGV4IDc3MTQzMDBhY2ZjMjUzOTkxMzQ4ZjVmYWExYzJiNzUy
MzVmMjYzNGEuLjg1OTk3YWRkMjA5ZWMxMzdlNzU0YzEyNGU4MDM3NTUxYTVjNTQ3ZmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5oCkBAIC02OSwxMiArNjksNiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRXZWlnaHQoQ1NTVmFsdWUmKTsKICAgICB2b2lkIHNldFN0cmV0Y2goQ1NTVmFsdWUmKTsK
ICAgICBib29sIHNldFVuaWNvZGVSYW5nZShDU1NWYWx1ZSYpOwotICAgIGJvb2wgc2V0VmFyaWFu
dExpZ2F0dXJlcyhDU1NWYWx1ZSYpOwotICAgIGJvb2wgc2V0VmFyaWFudFBvc2l0aW9uKENTU1Zh
bHVlJik7Ci0gICAgYm9vbCBzZXRWYXJpYW50Q2FwcyhDU1NWYWx1ZSYpOwotICAgIGJvb2wgc2V0
VmFyaWFudE51bWVyaWMoQ1NTVmFsdWUmKTsKLSAgICBib29sIHNldFZhcmlhbnRBbHRlcm5hdGVz
KENTU1ZhbHVlJik7Ci0gICAgYm9vbCBzZXRWYXJpYW50RWFzdEFzaWFuKENTU1ZhbHVlJik7CiAg
ICAgdm9pZCBzZXRGZWF0dXJlU2V0dGluZ3MoQ1NTVmFsdWUmKTsKICAgICB2b2lkIHNldExvYWRp
bmdCZWhhdmlvcihDU1NWYWx1ZSYpOwogCkBAIC04Nyw5ICs4MSw3IEBAIHB1YmxpYzoKICAgICBG
b250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzIGZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMoKSBjb25z
dCB7IHJldHVybiBtX2ZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMuY29tcHV0ZUZvbnRTZWxlY3Rp
b25DYXBhYmlsaXRpZXMoKTsgfQogICAgIGNvbnN0IFZlY3RvcjxVbmljb2RlUmFuZ2U+JiByYW5n
ZXMoKSBjb25zdCB7IHJldHVybiBtX3JhbmdlczsgfQogICAgIGNvbnN0IEZvbnRGZWF0dXJlU2V0
dGluZ3MmIGZlYXR1cmVTZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fZmVhdHVyZVNldHRpbmdz
OyB9Ci0gICAgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYgdmFyaWFudFNldHRpbmdzKCkgY29u
c3QgeyByZXR1cm4gbV92YXJpYW50U2V0dGluZ3M7IH0KICAgICBGb250TG9hZGluZ0JlaGF2aW9y
IGxvYWRpbmdCZWhhdmlvcigpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZGluZ0JlaGF2aW9yOyB9Ci0g
ICAgdm9pZCBzZXRWYXJpYW50U2V0dGluZ3MoY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYgdmFy
aWFudFNldHRpbmdzKSB7IG1fdmFyaWFudFNldHRpbmdzID0gdmFyaWFudFNldHRpbmdzOyB9CiAg
ICAgdm9pZCBzZXRXZWlnaHQoRm9udFNlbGVjdGlvblJhbmdlIHdlaWdodCkgeyBtX2ZvbnRTZWxl
Y3Rpb25DYXBhYmlsaXRpZXMud2VpZ2h0ID0gd2VpZ2h0OyB9CiAgICAgdm9pZCBzZXRTdHJldGNo
KEZvbnRTZWxlY3Rpb25SYW5nZSBzdHJldGNoKSB7IG1fZm9udFNlbGVjdGlvbkNhcGFiaWxpdGll
cy53aWR0aCA9IHN0cmV0Y2g7IH0KICAgICB2b2lkIHNldFN0eWxlKEZvbnRTZWxlY3Rpb25SYW5n
ZSBpdGFsaWMpIHsgbV9mb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzLnNsb3BlID0gaXRhbGljOyB9
CkBAIC0xODUsNyArMTc3LDYgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8VW5pY29kZVJhbmdlPiBt
X3JhbmdlczsKIAogICAgIEZvbnRGZWF0dXJlU2V0dGluZ3MgbV9mZWF0dXJlU2V0dGluZ3M7Ci0g
ICAgRm9udFZhcmlhbnRTZXR0aW5ncyBtX3ZhcmlhbnRTZXR0aW5nczsKICAgICBGb250TG9hZGlu
Z0JlaGF2aW9yIG1fbG9hZGluZ0JlaGF2aW9yIHsgRm9udExvYWRpbmdCZWhhdmlvcjo6QXV0byB9
OwogCiAgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxDU1NGb250RmFjZVNvdXJjZT4sIDAsIENy
YXNoT25PdmVyZmxvdywgMD4gbV9zb3VyY2VzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVNvdXJjZS5jcHAKaW5kZXggODgwMjYwNmZjMzdkOGM0OTQwYWYwYjk2ZGU4MzNjYmM2OTdlNTM2
NS4uZjQyN2ZmYmFkNzIzZjhiZjVlYjg4Mjk3ZGQ4OTE1M2Q3MzBhZGY2YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCkBAIC0xNzksNyArMTc5LDcgQEAgdm9pZCBD
U1NGb250RmFjZVNvdXJjZTo6bG9hZChDU1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvcikKICAg
ICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRPbmVGYW1pbHkobV9mYW1pbHlOYW1lT3JVUkkp
OwogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldENvbXB1dGVkU2l6ZSgxKTsKICAgICAg
ICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyht
X2ZhY2UuYWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7Ci0gICAgICAgICAgICBzdWNjZXNzID0g
Rm9udENhY2hlOjpzaW5nbGV0b24oKS5mb250Rm9yRmFtaWx5KGZvbnREZXNjcmlwdGlvbiwgbV9m
YW1pbHlOYW1lT3JVUkksIG51bGxwdHIsIG51bGxwdHIsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRD
YXBhYmlsaXRpZXMoKSwgdHJ1ZSk7CisgICAgICAgICAgICBzdWNjZXNzID0gRm9udENhY2hlOjpz
aW5nbGV0b24oKS5mb250Rm9yRmFtaWx5KGZvbnREZXNjcmlwdGlvbiwgbV9mYW1pbHlOYW1lT3JV
UkksIG51bGxwdHIsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMoKSwgdHJ1ZSk7
CiAgICAgICAgICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS53ZWJBUElTdGF0aXN0aWNzRW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKGF1dG8q
IGRvY3VtZW50ID0gZm9udFNlbGVjdG9yLT5kb2N1bWVudCgpKQogICAgICAgICAgICAgICAgICAg
ICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkKCkubG9nRm9udExvYWQoKmRvY3VtZW50LCBt
X2ZhbWlseU5hbWVPclVSSS5zdHJpbmcoKSwgc3VjY2Vzcyk7CkBAIC0xODksNyArMTg5LDcgQEAg
dm9pZCBDU1NGb250RmFjZVNvdXJjZTo6bG9hZChDU1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3Rv
cikKICAgICB9CiB9CiAKLVJlZlB0cjxGb250PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25z
dCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VG
ZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYgZm9udEZhY2VWYXJpYW50U2V0dGlu
Z3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRp
ZXMpCitSZWZQdHI8Rm9udD4gQ1NTRm9udEZhY2VTb3VyY2U6OmZvbnQoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0
aWNJdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7
CiAgICAgQVNTRVJUKHN0YXR1cygpID09IFN0YXR1czo6U3VjY2Vzcyk7CiAKQEAgLTIwMywxMiAr
MjAzLDEyIEBAIFJlZlB0cjxGb250PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vCiAgICAgICAgIGlmIChtX2ltbWVkaWF0
ZVNvdXJjZSkgewogICAgICAgICAgICAgaWYgKCFtX2ltbWVkaWF0ZUZvbnRDdXN0b21QbGF0Zm9y
bURhdGEpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICByZXR1
cm4gRm9udDo6Y3JlYXRlKENhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKCpt
X2ltbWVkaWF0ZUZvbnRDdXN0b21QbGF0Zm9ybURhdGEsIGZvbnREZXNjcmlwdGlvbiwgc3ludGhl
dGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlh
bnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpLCBGb250OjpPcmlnaW46OlJlbW90ZSk7
CisgICAgICAgICAgICByZXR1cm4gRm9udDo6Y3JlYXRlKENhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0
YUZyb21DdXN0b21EYXRhKCptX2ltbWVkaWF0ZUZvbnRDdXN0b21QbGF0Zm9ybURhdGEsIGZvbnRE
ZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1
cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZvbnQ6Ok9yaWdpbjo6UmVtb3RlKTsKICAgICAg
ICAgfQogCiAgICAgICAgIC8vIFdlJ3JlIGxvY2FsLiBKdXN0IHJldHVybiBhIEZvbnQgZnJvbSB0
aGUgbm9ybWFsIGNhY2hlLgogICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGNoZWNrIGFsdGVy
bmF0ZSBmb250IGZhbWlseSBuYW1lcyBoZXJlLCBzbyBwYXNzIHRydWUgYXMgdGhlIGNoZWNraW5n
QWx0ZXJuYXRlTmFtZSBwYXJhbWV0ZXIuCi0gICAgICAgIHJldHVybiBGb250Q2FjaGU6OnNpbmds
ZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwg
JmZvbnRGYWNlRmVhdHVyZXMsICZmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBh
YmlsaXRpZXMsIHRydWUpOworICAgICAgICByZXR1cm4gRm9udENhY2hlOjpzaW5nbGV0b24oKS5m
b250Rm9yRmFtaWx5KGZvbnREZXNjcmlwdGlvbiwgbV9mYW1pbHlOYW1lT3JVUkksICZmb250RmFj
ZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcywgdHJ1ZSk7CiAgICAgfQogCiAgICAgaWYg
KG1fZm9udCkgewpAQCAtMjE2LDcgKzIxNiw3IEBAIFJlZlB0cjxGb250PiBDU1NGb250RmFjZVNv
dXJjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vCiAg
ICAgICAgIEFTU0VSVF9VTlVTRUQoc3VjY2Vzcywgc3VjY2Vzcyk7CiAKICAgICAgICAgQVNTRVJU
KHN0YXR1cygpID09IFN0YXR1czo6U3VjY2Vzcyk7Ci0gICAgICAgIGF1dG8gcmVzdWx0ID0gbV9m
b250LT5jcmVhdGVGb250KGZvbnREZXNjcmlwdGlvbiwgbV9mYW1pbHlOYW1lT3JVUkksIHN5bnRo
ZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJp
YW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKTsKKyAgICAgICAgYXV0byByZXN1bHQg
PSBtX2ZvbnQtPmNyZWF0ZUZvbnQoZm9udERlc2NyaXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwg
c3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFj
ZUNhcGFiaWxpdGllcyk7CiAgICAgICAgIEFTU0VSVChyZXN1bHQpOwogICAgICAgICByZXR1cm4g
cmVzdWx0OwogICAgIH0KQEAgLTIyOSw3ICsyMjksNyBAQCBSZWZQdHI8Rm9udD4gQ1NTRm9udEZh
Y2VTb3VyY2U6OmZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJv
bwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoIW1faW5Eb2N1bWVudEN1c3RvbVBs
YXRmb3JtRGF0YSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgcmV0dXJuIEZvbnQ6OmNy
ZWF0ZShtX2luRG9jdW1lbnRDdXN0b21QbGF0Zm9ybURhdGEtPmZvbnRQbGF0Zm9ybURhdGEoZm9u
dERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVh
dHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZv
bnQ6Ok9yaWdpbjo6UmVtb3RlKTsKKyAgICByZXR1cm4gRm9udDo6Y3JlYXRlKG1faW5Eb2N1bWVu
dEN1c3RvbVBsYXRmb3JtRGF0YS0+Zm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIHN5
bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VD
YXBhYmlsaXRpZXMpLCBGb250OjpPcmlnaW46OlJlbW90ZSk7CiAjZW5kaWYKIAogICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuaAppbmRl
eCAyOTFiMjQ4MDkyNjM3ZmNiNGM3NzA4ZjQ1Mzc3NzYwOTE4ZWQ0ZDM1Li5lNGEyZWQ5Njg2MjIx
NzhhODk5MjdhM2UyZWMzYjk5NWM2OGYyOTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2VTb3VyY2UuaApAQCAtNzAsNyArNzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvcHBvcnR1bmlz
dGljYWxseVN0YXJ0Rm9udERhdGFVUkxMb2FkaW5nKENTU0ZvbnRTZWxlY3RvciYpOwogCiAgICAg
dm9pZCBsb2FkKENTU0ZvbnRTZWxlY3RvciopOwotICAgIFJlZlB0cjxGb250PiBmb250KGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFs
aWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdz
JiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7CisgICAgUmVmUHRyPEZvbnQ+
IGZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5
bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiAgICAgYm9vbCByZXF1aXJlc0V4dGVybmFsUmVzb3Vy
Y2UoKSBjb25zdCB7IHJldHVybiBtX2ZvbnQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNl
bGVjdG9yLmNwcAppbmRleCBiNDk1MDgzOWQ5MmZlODI3ZGE3NGExYWI4MWM1N2MxM2RlZjU0YzU4
Li4wNmViZjhiOWU4MWE4ZjA0MmYwOGQ0Y2U0YjQ2YWFhMTVkMjRhMDg2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcApAQCAtMTYyLDEyICsxNjIsNiBAQCB2b2lkIENTU0Zv
bnRTZWxlY3Rvcjo6YWRkRm9udEZhY2VSdWxlKFN0eWxlUnVsZUZvbnRGYWNlJiBmb250RmFjZVJ1
bGUsIGJvb2wgaXNJbgogICAgIFJlZlB0cjxDU1NWYWx1ZT4gc3JjID0gc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZShDU1NQcm9wZXJ0eVNyYyk7CiAgICAgUmVmUHRyPENTU1ZhbHVlPiB1bmljb2Rl
UmFuZ2UgPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5VW5pY29kZVJhbmdl
KTsKICAgICBSZWZQdHI8Q1NTVmFsdWU+IGZlYXR1cmVTZXR0aW5ncyA9IHN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250RmVhdHVyZVNldHRpbmdzKTsKLSAgICBSZWZQdHI8
Q1NTVmFsdWU+IHZhcmlhbnRMaWdhdHVyZXMgPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENT
U1Byb3BlcnR5Rm9udFZhcmlhbnRMaWdhdHVyZXMpOwotICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFy
aWFudFBvc2l0aW9uID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRW
YXJpYW50UG9zaXRpb24pOwotICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFyaWFudENhcHMgPSBzdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnRDYXBzKTsKLSAgICBS
ZWZQdHI8Q1NTVmFsdWU+IHZhcmlhbnROdW1lcmljID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50TnVtZXJpYyk7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2
YXJpYW50QWx0ZXJuYXRlcyA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlG
b250VmFyaWFudEFsdGVybmF0ZXMpOwotICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFyaWFudEVhc3RB
c2lhbiA9IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250VmFyaWFudEVh
c3RBc2lhbik7CiAgICAgUmVmUHRyPENTU1ZhbHVlPiBsb2FkaW5nQmVoYXZpb3IgPSBzdHlsZS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udERpc3BsYXkpOwogICAgIGlmICghaXM8
Q1NTVmFsdWVMaXN0Pihmb250RmFtaWx5KSB8fCAhaXM8Q1NTVmFsdWVMaXN0PihzcmMpIHx8ICh1
bmljb2RlUmFuZ2UgJiYgIWlzPENTU1ZhbHVlTGlzdD4oKnVuaWNvZGVSYW5nZSkpKQogICAgICAg
ICByZXR1cm47CkBAIC0xOTUsMTggKzE4OSw2IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjphZGRG
b250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2UmIGZvbnRGYWNlUnVsZSwgYm9vbCBpc0luCiAg
ICAgICAgIGZvbnRGYWNlLT5zZXRTdHJldGNoKCpmb250U3RyZXRjaCk7CiAgICAgaWYgKHJhbmdl
TGlzdCAmJiAhZm9udEZhY2UtPnNldFVuaWNvZGVSYW5nZSgqcmFuZ2VMaXN0KSkKICAgICAgICAg
cmV0dXJuOwotICAgIGlmICh2YXJpYW50TGlnYXR1cmVzICYmICFmb250RmFjZS0+c2V0VmFyaWFu
dExpZ2F0dXJlcygqdmFyaWFudExpZ2F0dXJlcykpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAo
dmFyaWFudFBvc2l0aW9uICYmICFmb250RmFjZS0+c2V0VmFyaWFudFBvc2l0aW9uKCp2YXJpYW50
UG9zaXRpb24pKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKHZhcmlhbnRDYXBzICYmICFmb250
RmFjZS0+c2V0VmFyaWFudENhcHMoKnZhcmlhbnRDYXBzKSkKLSAgICAgICAgcmV0dXJuOwotICAg
IGlmICh2YXJpYW50TnVtZXJpYyAmJiAhZm9udEZhY2UtPnNldFZhcmlhbnROdW1lcmljKCp2YXJp
YW50TnVtZXJpYykpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAodmFyaWFudEFsdGVybmF0ZXMg
JiYgIWZvbnRGYWNlLT5zZXRWYXJpYW50QWx0ZXJuYXRlcygqdmFyaWFudEFsdGVybmF0ZXMpKQot
ICAgICAgICByZXR1cm47Ci0gICAgaWYgKHZhcmlhbnRFYXN0QXNpYW4gJiYgIWZvbnRGYWNlLT5z
ZXRWYXJpYW50RWFzdEFzaWFuKCp2YXJpYW50RWFzdEFzaWFuKSkKLSAgICAgICAgcmV0dXJuOwog
ICAgIGlmIChmZWF0dXJlU2V0dGluZ3MpCiAgICAgICAgIGZvbnRGYWNlLT5zZXRGZWF0dXJlU2V0
dGluZ3MoKmZlYXR1cmVTZXR0aW5ncyk7CiAgICAgaWYgKGxvYWRpbmdCZWhhdmlvcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvRm9udEZhY2UuY3BwCmluZGV4IGEyZTkzZThlZGNhOTVmYTJkZWE2MjgzOTE1Y2JlZTA5OTU1
MGViNDkuLjQ5NWMwY2QyMTI2NDY2NGM2YTM3YWNhYThmYzQwNTY4OTRhNGFhYTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0ZvbnRGYWNlLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIkNTU1ZhbHVlUG9v
bC5oIgogI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
Ci0jaW5jbHVkZSAiRm9udFZhcmlhbnRCdWlsZGVyLmgiCiAjaW5jbHVkZSAiSlNGb250RmFjZS5o
IgogI2luY2x1ZGUgIlF1aXJrcy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgpAQCAt
MTAxLDkgKzEwMCw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxGb250RmFjZT4+IEZvbnRGYWNlOjpjcmVh
dGUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGZhCiAgICAgYXV0byBzZXRVbmlj
b2RlUmFuZ2VSZXN1bHQgPSByZXN1bHQtPnNldFVuaWNvZGVSYW5nZShkZXNjcmlwdG9ycy51bmlj
b2RlUmFuZ2UuaXNFbXB0eSgpID8gIlUrMC0xMEZGRkYiX3MgOiBkZXNjcmlwdG9ycy51bmljb2Rl
UmFuZ2UpOwogICAgIGlmIChzZXRVbmljb2RlUmFuZ2VSZXN1bHQuaGFzRXhjZXB0aW9uKCkpCiAg
ICAgICAgIHJldHVybiBzZXRVbmljb2RlUmFuZ2VSZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOwot
ICAgIGF1dG8gc2V0VmFyaWFudFJlc3VsdCA9IHJlc3VsdC0+c2V0VmFyaWFudChkZXNjcmlwdG9y
cy52YXJpYW50LmlzRW1wdHkoKSA/ICJub3JtYWwiX3MgOiBkZXNjcmlwdG9ycy52YXJpYW50KTsK
LSAgICBpZiAoc2V0VmFyaWFudFJlc3VsdC5oYXNFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJu
IHNldFZhcmlhbnRSZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOwogICAgIGF1dG8gc2V0RmVhdHVy
ZVNldHRpbmdzUmVzdWx0ID0gcmVzdWx0LT5zZXRGZWF0dXJlU2V0dGluZ3MoZGVzY3JpcHRvcnMu
ZmVhdHVyZVNldHRpbmdzLmlzRW1wdHkoKSA/ICJub3JtYWwiX3MgOiBkZXNjcmlwdG9ycy5mZWF0
dXJlU2V0dGluZ3MpOwogICAgIGlmIChzZXRGZWF0dXJlU2V0dGluZ3NSZXN1bHQuaGFzRXhjZXB0
aW9uKCkpCiAgICAgICAgIHJldHVybiBzZXRGZWF0dXJlU2V0dGluZ3NSZXN1bHQucmVsZWFzZUV4
Y2VwdGlvbigpOwpAQCAtMjE4LDYxICsyMTQsNiBAQCBFeGNlcHRpb25Pcjx2b2lkPiBGb250RmFj
ZTo6c2V0VW5pY29kZVJhbmdlKGNvbnN0IFN0cmluZyYgdW5pY29kZVJhbmdlKQogICAgIHJldHVy
biB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEZvbnRGYWNlOjpzZXRWYXJpYW50KGNvbnN0
IFN0cmluZyYgdmFyaWFudCkKLXsKLSAgICBpZiAodmFyaWFudC5pc0VtcHR5KCkpCi0gICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBTeW50YXhFcnJvciB9OwotCi0gICAgYXV0byBzdHlsZSA9IE11
dGFibGVTdHlsZVByb3BlcnRpZXM6OmNyZWF0ZSgpOwotICAgIGF1dG8gcmVzdWx0ID0gQ1NTUGFy
c2VyOjpwYXJzZVZhbHVlKHN0eWxlLCBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50LCB2YXJpYW50LCB0
cnVlLCBIVE1MU3RhbmRhcmRNb2RlKTsKLSAgICBpZiAocmVzdWx0ID09IENTU1BhcnNlcjo6UGFy
c2VSZXN1bHQ6OkVycm9yKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3Ig
fTsKLQotICAgIC8vIEZJWE1FOiBXb3VsZCBiZSBtdWNoIGJldHRlciB0byBzdGFnZSB0aGUgbmV3
IHNldHRpbmdzIGFuZCBzZXQgdGhlbSBhbGwgYXQgb25jZQotICAgIC8vIGluc3RlYWQgb2YgdGhp
cyBkYW5jZSB3aGVyZSB3ZSBtYWtlIGEgYmFja3VwIGFuZCByZXZlcnQgdG8gaXQgaWYgc29tZXRo
aW5nIGZhaWxzLgotICAgIEZvbnRWYXJpYW50U2V0dGluZ3MgYmFja3VwID0gbV9iYWNraW5nLT52
YXJpYW50U2V0dGluZ3MoKTsKLQotICAgIGF1dG8gbm9ybWFsID0gQ1NTVmFsdWVQb29sOjpzaW5n
bGV0b24oKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOwotICAgIGJvb2wg
c3VjY2VzcyA9IHRydWU7Ci0KLSAgICBpZiAoYXV0byB2YWx1ZSA9IHN0eWxlLT5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnRMaWdhdHVyZXMpKQotICAgICAgICBzdWNj
ZXNzICY9IG1fYmFja2luZy0+c2V0VmFyaWFudExpZ2F0dXJlcygqdmFsdWUpOwotICAgIGVsc2UK
LSAgICAgICAgbV9iYWNraW5nLT5zZXRWYXJpYW50TGlnYXR1cmVzKG5vcm1hbCk7Ci0KLSAgICBp
ZiAoYXV0byB2YWx1ZSA9IHN0eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9u
dFZhcmlhbnRQb3NpdGlvbikpCi0gICAgICAgIHN1Y2Nlc3MgJj0gbV9iYWNraW5nLT5zZXRWYXJp
YW50UG9zaXRpb24oKnZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIG1fYmFja2luZy0+c2V0VmFy
aWFudFBvc2l0aW9uKG5vcm1hbCk7Ci0KLSAgICBpZiAoYXV0byB2YWx1ZSA9IHN0eWxlLT5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnRDYXBzKSkKLSAgICAgICAgc3Vj
Y2VzcyAmPSBtX2JhY2tpbmctPnNldFZhcmlhbnRDYXBzKCp2YWx1ZSk7Ci0gICAgZWxzZQotICAg
ICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRDYXBzKG5vcm1hbCk7Ci0KLSAgICBpZiAoYXV0byB2
YWx1ZSA9IHN0eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnRO
dW1lcmljKSkKLSAgICAgICAgc3VjY2VzcyAmPSBtX2JhY2tpbmctPnNldFZhcmlhbnROdW1lcmlj
KCp2YWx1ZSk7Ci0gICAgZWxzZQotICAgICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnROdW1lcmlj
KG5vcm1hbCk7Ci0KLSAgICBpZiAoYXV0byB2YWx1ZSA9IHN0eWxlLT5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnRBbHRlcm5hdGVzKSkKLSAgICAgICAgc3VjY2VzcyAm
PSBtX2JhY2tpbmctPnNldFZhcmlhbnRBbHRlcm5hdGVzKCp2YWx1ZSk7Ci0gICAgZWxzZQotICAg
ICAgICBtX2JhY2tpbmctPnNldFZhcmlhbnRBbHRlcm5hdGVzKG5vcm1hbCk7Ci0KLSAgICBpZiAo
YXV0byB2YWx1ZSA9IHN0eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZh
cmlhbnRFYXN0QXNpYW4pKQotICAgICAgICBzdWNjZXNzICY9IG1fYmFja2luZy0+c2V0VmFyaWFu
dEVhc3RBc2lhbigqdmFsdWUpOwotICAgIGVsc2UKLSAgICAgICAgbV9iYWNraW5nLT5zZXRWYXJp
YW50RWFzdEFzaWFuKG5vcm1hbCk7Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpIHsKLSAgICAgICAgbV9i
YWNraW5nLT5zZXRWYXJpYW50U2V0dGluZ3MoYmFja3VwKTsKLSAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IFN5bnRheEVycm9yIH07Ci0gICAgfQotCi0gICAgcmV0dXJuIHsgfTsKLX0KLQogRXhj
ZXB0aW9uT3I8dm9pZD4gRm9udEZhY2U6OnNldEZlYXR1cmVTZXR0aW5ncyhjb25zdCBTdHJpbmcm
IGZlYXR1cmVTZXR0aW5ncykKIHsKICAgICBpZiAoZmVhdHVyZVNldHRpbmdzLmlzRW1wdHkoKSkK
QEAgLTQwMiwxMiArMzQzLDYgQEAgU3RyaW5nIEZvbnRGYWNlOjp1bmljb2RlUmFuZ2UoKSBjb25z
dAogICAgIHJldHVybiB2YWx1ZXMtPmNzc1RleHQoKTsKIH0KIAotU3RyaW5nIEZvbnRGYWNlOjp2
YXJpYW50KCkgY29uc3QKLXsKLSAgICBtX2JhY2tpbmctPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsK
LSAgICByZXR1cm4gY29tcHV0ZUZvbnRWYXJpYW50KG1fYmFja2luZy0+dmFyaWFudFNldHRpbmdz
KCkpLT5jc3NUZXh0KCk7Ci19Ci0KIFN0cmluZyBGb250RmFjZTo6ZmVhdHVyZVNldHRpbmdzKCkg
Y29uc3QKIHsKICAgICBtX2JhY2tpbmctPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRGYWNlLmgKaW5kZXggZGM3YjFhYzY5YmM1MDMyM2I3NzZlOWUxZWQ4ODAyYTRhYzExYTBlNy4u
Y2JlZGE1YzY0NGFkMDdiNjE3ODRhZmFiOGVhZWEzNTllZjAwYWJlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRG
YWNlLmgKQEAgLTQ4LDcgKzQ4LDYgQEAgcHVibGljOgogICAgICAgICBTdHJpbmcgd2VpZ2h0Owog
ICAgICAgICBTdHJpbmcgc3RyZXRjaDsKICAgICAgICAgU3RyaW5nIHVuaWNvZGVSYW5nZTsKLSAg
ICAgICAgU3RyaW5nIHZhcmlhbnQ7CiAgICAgICAgIFN0cmluZyBmZWF0dXJlU2V0dGluZ3M7CiAg
ICAgICAgIFN0cmluZyBkaXNwbGF5OwogICAgIH07CkBAIC02Myw3ICs2Miw2IEBAIHB1YmxpYzoK
ICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRXZWlnaHQoY29uc3QgU3RyaW5nJik7CiAgICAgRXhj
ZXB0aW9uT3I8dm9pZD4gc2V0U3RyZXRjaChjb25zdCBTdHJpbmcmKTsKICAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRVbmljb2RlUmFuZ2UoY29uc3QgU3RyaW5nJik7Ci0gICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0VmFyaWFudChjb25zdCBTdHJpbmcmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBz
ZXRGZWF0dXJlU2V0dGluZ3MoY29uc3QgU3RyaW5nJik7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4g
c2V0RGlzcGxheShjb25zdCBTdHJpbmcmKTsKIApAQCAtNzIsNyArNzAsNiBAQCBwdWJsaWM6CiAg
ICAgU3RyaW5nIHdlaWdodCgpIGNvbnN0OwogICAgIFN0cmluZyBzdHJldGNoKCkgY29uc3Q7CiAg
ICAgU3RyaW5nIHVuaWNvZGVSYW5nZSgpIGNvbnN0OwotICAgIFN0cmluZyB2YXJpYW50KCkgY29u
c3Q7CiAgICAgU3RyaW5nIGZlYXR1cmVTZXR0aW5ncygpIGNvbnN0OwogICAgIFN0cmluZyBkaXNw
bGF5KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaWRsCmluZGV4IDIwMDJkMzM4ZjMwNzBl
ZDkzZjJiMzM4NmZmM2YwOGNmZTAwZjQyZTcuLjJjYmMwN2U2ZWM5MDMzZTY5OTc4MTE2ZjY3ZjZi
NWQzMTdhZWZjZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmlkbApAQCAtMzcsNyArMzcsNiBAQCBk
aWN0aW9uYXJ5IEZvbnRGYWNlRGVzY3JpcHRvcnMgewogICAgIERPTVN0cmluZyB3ZWlnaHQgPSAi
bm9ybWFsIjsKICAgICBET01TdHJpbmcgc3RyZXRjaCA9ICJub3JtYWwiOwogICAgIERPTVN0cmlu
ZyB1bmljb2RlUmFuZ2UgPSAiVSswLTEwRkZGRiI7Ci0gICAgRE9NU3RyaW5nIHZhcmlhbnQgPSAi
bm9ybWFsIjsKICAgICBET01TdHJpbmcgZmVhdHVyZVNldHRpbmdzID0gIm5vcm1hbCI7CiAgICAg
RE9NU3RyaW5nIGRpc3BsYXkgPSAiYXV0byI7CiB9OwpAQCAtNTIsNyArNTEsNiBAQCBkaWN0aW9u
YXJ5IEZvbnRGYWNlRGVzY3JpcHRvcnMgewogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgd2VpZ2h0
OwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyZXRjaDsKICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHVuaWNvZGVSYW5nZTsKLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhcmlhbnQ7CiAgICAg
YXR0cmlidXRlIERPTVN0cmluZyBmZWF0dXJlU2V0dGluZ3M7CiAgICAgYXR0cmlidXRlIERPTVN0
cmluZyBkaXNwbGF5OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5j
cHAKaW5kZXggMDg1MTUwODU0YTc1MjIxOTk1N2MwMjlmNDgxMjQ2OTg4NTI0YjhjMi4uM2Y0Njk5
Y2Y4MzI5OGYwNGUyNzRhZTAwZWY5NWE1NTQ3NWE2NWYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRGb250LmNwcApAQCAtMTI0LDIwICsxMjQsMjAgQEAgc3RkOjp1bmlx
dWVfcHRyPEZvbnRDdXN0b21QbGF0Zm9ybURhdGE+IENhY2hlZEZvbnQ6OmNyZWF0ZUN1c3RvbUZv
bnREYXRhKFNoYXJlZEIKICAgICByZXR1cm4gY3JlYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YShi
eXRlcywgaXRlbUluQ29sbGVjdGlvbik7CiB9CiAKLVJlZlB0cjxGb250PiBDYWNoZWRGb250Ojpj
cmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBB
dG9tU3RyaW5nJiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlh
bnRTZXR0aW5ncyYgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZp
ZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCitSZWZQdHI8Rm9udD4gQ2FjaGVk
Rm9udDo6Y3JlYXRlRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwg
Y29uc3QgQXRvbVN0cmluZyYsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFs
aWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxl
Y3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7Ci0gICAg
cmV0dXJuIEZvbnQ6OmNyZWF0ZShwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShmb250RGVzY3Jp
cHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywg
Zm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKSwgRm9udDo6T3Jp
Z2luOjpSZW1vdGUpOworICAgIHJldHVybiBGb250OjpjcmVhdGUocGxhdGZvcm1EYXRhRnJvbUN1
c3RvbURhdGEoZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMs
IGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKSwgRm9udDo6T3JpZ2luOjpS
ZW1vdGUpOwogfQogCi1Gb250UGxhdGZvcm1EYXRhIENhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0YUZy
b21DdXN0b21EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29s
IGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZl
YXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZhcmlhbnRTZXR0aW5n
cywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGll
cykKK0ZvbnRQbGF0Zm9ybURhdGEgQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURh
dGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9v
bCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7
CiAgICAgQVNTRVJUKG1fZm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7Ci0gICAgcmV0dXJuIHBsYXRm
b3JtRGF0YUZyb21DdXN0b21EYXRhKCptX2ZvbnRDdXN0b21QbGF0Zm9ybURhdGEsIGZvbnREZXNj
cmlwdGlvbiwgYm9sZCwgaXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRT
ZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOworICAgIHJldHVybiBwbGF0Zm9ybURhdGFG
cm9tQ3VzdG9tRGF0YSgqbV9mb250Q3VzdG9tUGxhdGZvcm1EYXRhLCBmb250RGVzY3JpcHRpb24s
IGJvbGQsIGl0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwog
fQogCi1Gb250UGxhdGZvcm1EYXRhIENhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21E
YXRhKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEmIGZvbnRDdXN0b21QbGF0Zm9ybURhdGEsIGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIGJvbGQsIGJvb2wgaXRhbGlj
LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250
VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNw
ZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKK0ZvbnRQbGF0Zm9ybURh
dGEgQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSYgZm9udEN1c3RvbVBsYXRmb3JtRGF0YSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBm
b250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJl
U2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmls
aXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7Ci0gICAgcmV0dXJuIGZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuZm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGJvbGQsIGl0YWxpYywg
Zm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJp
bGl0aWVzKTsKKyAgICByZXR1cm4gZm9udEN1c3RvbVBsYXRmb3JtRGF0YS5mb250UGxhdGZvcm1E
YXRhKGZvbnREZXNjcmlwdGlvbiwgYm9sZCwgaXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250
RmFjZUNhcGFiaWxpdGllcyk7CiB9CiAKIHZvaWQgQ2FjaGVkRm9udDo6YWxsQ2xpZW50c1JlbW92
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmgKaW5kZXggNTgwZTli
ZTkyNTYwNWNiMmVjM2FlN2UwYTg1MGNiOTY2OWJlYTg1OC4uMTQ1NzJlMWNiYjJkNDUzNjUyNjY1
OGE2YjU1ZGJmMWVkMGM0MjMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZEZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
Rm9udC5oCkBAIC01MywxMiArNTMsMTIgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGVu
c3VyZUN1c3RvbUZvbnREYXRhKGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVSSSk7CiAgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9tUGxhdGZvcm1EYXRhPiBjcmVhdGVDdXN0b21G
b250RGF0YShTaGFyZWRCdWZmZXImLCBjb25zdCBTdHJpbmcmIGl0ZW1JbkNvbGxlY3Rpb24sIGJv
b2wmIHdyYXBwaW5nKTsKLSAgICBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YSBwbGF0Zm9ybURhdGFG
cm9tQ3VzdG9tRGF0YShGb250Q3VzdG9tUGxhdGZvcm1EYXRhJiwgY29uc3QgRm9udERlc2NyaXB0
aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYs
IGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzKTsKKyAgICBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YSBwbGF0Zm9ybURhdGFGcm9tQ3Vz
dG9tRGF0YShGb250Q3VzdG9tUGxhdGZvcm1EYXRhJiwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwg
Ym9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRT
ZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCi0gICAgdmlydHVhbCBSZWZQdHI8Rm9u
dD4gY3JlYXRlRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBy
ZW1vdGVVUkksIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMsIGNvbnN0
IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiwgRm9udFNl
bGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyk7CisgICAgdmlydHVhbCBSZWZQdHI8Rm9udD4g
Y3JlYXRlRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiByZW1v
dGVVUkksIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMsIGNvbnN0IEZv
bnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsK
IAogcHJvdGVjdGVkOgotICAgIEZvbnRQbGF0Zm9ybURhdGEgcGxhdGZvcm1EYXRhRnJvbUN1c3Rv
bURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICBGb250UGxhdGZvcm1EYXRhIHBs
YXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgYm9s
ZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2VsZWN0aW9u
U3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKIAogICAgIGJvb2wgZW5zdXJlQ3VzdG9tRm9udERhdGEo
U2hhcmVkQnVmZmVyKiBkYXRhKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFNWR0ZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFNWR0ZvbnQuY3BwCmluZGV4IGVkMjg4YzFlOGNhMGMyZjA2ZmQwOTQzNGRlZDIwM2ZhOWE3
ZDVjNTMuLjAxMmQyZjMxZmUxY2U5OWE3N2U4NTVmYzZlY2VmYjg2ZjA3NmRlYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAKQEAgLTQ4LDE3ICs0
OCwxNyBAQCBDYWNoZWRTVkdGb250OjpDYWNoZWRTVkdGb250KENhY2hlZFJlc291cmNlUmVxdWVz
dCYmIHJlcXVlc3QsIGNvbnN0IFBBTDo6U2Vzc2lvbgogewogfQogCi1SZWZQdHI8Rm9udD4gQ2Fj
aGVkU1ZHRm9udDo6Y3JlYXRlRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlw
dGlvbiwgY29uc3QgQXRvbVN0cmluZyYgcmVtb3RlVVJJLCBib29sIHN5bnRoZXRpY0JvbGQsIGJv
b2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZl
YXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZhcmlhbnRTZXR0aW5n
cywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGll
cykKK1JlZlB0cjxGb250PiBDYWNoZWRTVkdGb250OjpjcmVhdGVGb250KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiByZW1vdGVVUkksIGJv
b2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJl
U2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmls
aXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7CiAgICAgQVNTRVJUKGZpcnN0Rm9udEZhY2Uo
cmVtb3RlVVJJKSk7Ci0gICAgcmV0dXJuIENhY2hlZEZvbnQ6OmNyZWF0ZUZvbnQoZm9udERlc2Ny
aXB0aW9uLCByZW1vdGVVUkksIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywgZm9udEZh
Y2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
KTsKKyAgICByZXR1cm4gQ2FjaGVkRm9udDo6Y3JlYXRlRm9udChmb250RGVzY3JpcHRpb24sIHJl
bW90ZVVSSSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVz
LCBmb250RmFjZUNhcGFiaWxpdGllcyk7CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGEgQ2FjaGVkU1ZH
Rm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBm
b250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJl
U2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZv
bnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVz
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBDYWNoZWRTVkdGb250Ojpw
bGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyYgZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBm
b250RmFjZUNhcGFiaWxpdGllcykKIHsKICAgICBpZiAobV9leHRlcm5hbFNWR0RvY3VtZW50KQog
ICAgICAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQ
aXhlbFNpemUoKSwgYm9sZCwgaXRhbGljKTsKLSAgICByZXR1cm4gQ2FjaGVkRm9udDo6cGxhdGZv
cm1EYXRhRnJvbUN1c3RvbURhdGEoZm9udERlc2NyaXB0aW9uLCBib2xkLCBpdGFsaWMsIGZvbnRG
YWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGll
cyk7CisgICAgcmV0dXJuIENhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGZv
bnREZXNjcmlwdGlvbiwgYm9sZCwgaXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNh
cGFiaWxpdGllcyk7CiB9CiAKIGJvb2wgQ2FjaGVkU1ZHRm9udDo6ZW5zdXJlQ3VzdG9tRm9udERh
dGEoY29uc3QgQXRvbVN0cmluZyYgcmVtb3RlVVJJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRTVkdGb250LmgKaW5kZXggNDJjZjEzNDc4OWJmMzdiNjBlZTg1MGE3MTc4Yzg1
MjUwYzUwZDExMS4uYWZkZGQ2ZGFmZDY0NzQzMTEwMmFmNzE1ZWRhMGQ4NjU2NjNlYWFjNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5oCkBAIC0zOSwxMCAr
MzksMTAgQEAgcHVibGljOgogCiAgICAgYm9vbCBlbnN1cmVDdXN0b21Gb250RGF0YShjb25zdCBB
dG9tU3RyaW5nJiByZW1vdGVVUkkpIG92ZXJyaWRlOwogCi0gICAgUmVmUHRyPEZvbnQ+IGNyZWF0
ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgcmVtb3RlVVJJ
LCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljSXRhbGljLCBjb25zdCBGb250RmVh
dHVyZVNldHRpbmdzJiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMpIG92ZXJyaWRlOworICAgIFJlZlB0cjxGb250PiBjcmVhdGVG
b250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmIHJlbW90ZVVSSSwg
Ym9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY0l0YWxpYywgY29uc3QgRm9udEZlYXR1
cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpIG92ZXJyaWRl
OwogCiBwcml2YXRlOgotICAgIEZvbnRQbGF0Zm9ybURhdGEgcGxhdGZvcm1EYXRhRnJvbUN1c3Rv
bURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICBGb250UGxhdGZvcm1EYXRhIHBs
YXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgYm9s
ZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2VsZWN0aW9u
U3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKIAogICAgIFNWR0ZvbnRFbGVtZW50KiBnZXRTVkdGb250
QnlJZChjb25zdCBTdHJpbmcmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKaW5kZXggODJmMGI2MTk5OGM2OTBjNGZkMWMyMTgzYTQx
MGE5MjYwNGRkMmE2Yi4uN2ZjYWE0NGQ1NGEzODc0MmY3ZGQ1ODc0MDA2YWE0Mzc2ZTI1ODQ4YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBA
IC03MywxMSArNzMsMTAgQEAgc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YUNh
Y2hlS2V5KCkgeyB9Ci0gICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5KGNvbnN0IEF0b21TdHJp
bmcmIGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgY29uc3QgRm9u
dEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0
aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBh
YmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCisgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hl
S2V5KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiBkZXNj
cmlwdGlvbiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKICAg
ICAgICAgOiBtX2ZvbnREZXNjcmlwdGlvbktleShkZXNjcmlwdGlvbikKICAgICAgICAgLCBtX2Zh
bWlseShmYW1pbHkpCiAgICAgICAgICwgbV9mb250RmFjZUZlYXR1cmVzKGZvbnRGYWNlRmVhdHVy
ZXMgPyAqZm9udEZhY2VGZWF0dXJlcyA6IEZvbnRGZWF0dXJlU2V0dGluZ3MoKSkKLSAgICAgICAg
LCBtX2ZvbnRGYWNlVmFyaWFudFNldHRpbmdzKGZvbnRGYWNlVmFyaWFudFNldHRpbmdzID8gKmZv
bnRGYWNlVmFyaWFudFNldHRpbmdzIDogRm9udFZhcmlhbnRTZXR0aW5ncygpKQogICAgICAgICAs
IG1fZm9udEZhY2VDYXBhYmlsaXRpZXMoZm9udEZhY2VDYXBhYmlsaXRpZXMpCiAgICAgeyB9CiAK
QEAgLTkxLDcgKzkwLDYgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKG1fZm9udERlc2Ny
aXB0aW9uS2V5ICE9IG90aGVyLm1fZm9udERlc2NyaXB0aW9uS2V5CiAgICAgICAgICAgICB8fCBt
X2ZvbnRGYWNlRmVhdHVyZXMgIT0gb3RoZXIubV9mb250RmFjZUZlYXR1cmVzCi0gICAgICAgICAg
ICB8fCBtX2ZvbnRGYWNlVmFyaWFudFNldHRpbmdzICE9IG90aGVyLm1fZm9udEZhY2VWYXJpYW50
U2V0dGluZ3MKICAgICAgICAgICAgIHx8IG1fZm9udEZhY2VDYXBhYmlsaXRpZXMgIT0gb3RoZXIu
bV9mb250RmFjZUNhcGFiaWxpdGllcykKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgaWYgKG1fZmFtaWx5LmltcGwoKSA9PSBvdGhlci5tX2ZhbWlseS5pbXBsKCkpCkBAIC0xMDQs
NyArMTAyLDYgQEAgcHVibGljOgogICAgIEZvbnREZXNjcmlwdGlvbktleSBtX2ZvbnREZXNjcmlw
dGlvbktleTsKICAgICBBdG9tU3RyaW5nIG1fZmFtaWx5OwogICAgIEZvbnRGZWF0dXJlU2V0dGlu
Z3MgbV9mb250RmFjZUZlYXR1cmVzOwotICAgIEZvbnRWYXJpYW50U2V0dGluZ3MgbV9mb250RmFj
ZVZhcmlhbnRTZXR0aW5nczsKICAgICBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVz
IG1fZm9udEZhY2VDYXBhYmlsaXRpZXM7CiB9OwogCkBAIC0xMTUsNyArMTEyLDYgQEAgc3RydWN0
IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleUhhc2ggewogICAgICAgICBoYXNoZXIuYWRkKEZvbnRD
YXNjYWRlRGVzY3JpcHRpb246OmZhbWlseU5hbWVIYXNoKGZvbnRLZXkubV9mYW1pbHkpKTsKICAg
ICAgICAgaGFzaGVyLmFkZChmb250S2V5Lm1fZm9udERlc2NyaXB0aW9uS2V5LmNvbXB1dGVIYXNo
KCkpOwogICAgICAgICBoYXNoZXIuYWRkKGZvbnRLZXkubV9mb250RmFjZUZlYXR1cmVzLmhhc2go
KSk7Ci0gICAgICAgIGhhc2hlci5hZGQoZm9udEtleS5tX2ZvbnRGYWNlVmFyaWFudFNldHRpbmdz
LnVuaXF1ZVZhbHVlKCkpOwogICAgICAgICBpZiAoYXV0byB3ZWlnaHQgPSBmb250S2V5Lm1fZm9u
dEZhY2VDYXBhYmlsaXRpZXMud2VpZ2h0KQogICAgICAgICAgICAgaGFzaGVyLmFkZCh3ZWlnaHQt
PnVuaXF1ZVZhbHVlKCkpOwogICAgICAgICBlbHNlCkBAIC0yMDAsNyArMTk2LDcgQEAgY29uc3Qg
QXRvbVN0cmluZyYgRm9udENhY2hlOjphbHRlcm5hdGVGYW1pbHlOYW1lKGNvbnN0IEF0b21TdHJp
bmcmIGZhbWlseU5hbWUpCiB9CiAKIEZvbnRQbGF0Zm9ybURhdGEqIEZvbnRDYWNoZTo6Z2V0Q2Fj
aGVkRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlv
biwgY29uc3QgQXRvbVN0cmluZyYgcGFzc2VkRmFtaWx5TmFtZSwKLSAgICBjb25zdCBGb250RmVh
dHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdz
KiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxp
dGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCisg
ICAgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgYm9vbCBjaGVj
a2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBhdXRv
IGxvY2tlciA9IGhvbGRMb2NrKGZvbnRMb2NrKTsKQEAgLTIyMiwxOSArMjE4LDE5IEBAIEZvbnRQ
bGF0Zm9ybURhdGEqIEZvbnRDYWNoZTo6Z2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mIGZvCiAgICAgICAgIGluaXRpYWxpemVkID0gdHJ1ZTsKICAgICB9CiAK
LSAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkga2V5KGZhbWlseU5hbWUsIGZvbnREZXNjcmlw
dGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNl
Q2FwYWJpbGl0aWVzKTsKKyAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkga2V5KGZhbWlseU5h
bWUsIGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRp
ZXMpOwogCiAgICAgYXV0byBhZGRSZXN1bHQgPSBmb250UGxhdGZvcm1EYXRhQ2FjaGUoKS5hZGQo
a2V5LCBudWxscHRyKTsKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGU6Oml0ZXJhdG9yIGl0ID0g
YWRkUmVzdWx0Lml0ZXJhdG9yOwogICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkgewotICAg
ICAgICBpdC0+dmFsdWUgPSBjcmVhdGVGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwg
ZmFtaWx5TmFtZSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZv
bnRGYWNlQ2FwYWJpbGl0aWVzKTsKKyAgICAgICAgaXQtPnZhbHVlID0gY3JlYXRlRm9udFBsYXRm
b3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseU5hbWUsIGZvbnRGYWNlRmVhdHVyZXMsIGZv
bnRGYWNlQ2FwYWJpbGl0aWVzKTsKIAogICAgICAgICBpZiAoIWl0LT52YWx1ZSAmJiAhY2hlY2tp
bmdBbHRlcm5hdGVOYW1lKSB7CiAgICAgICAgICAgICAvLyBXZSB3ZXJlIHVuYWJsZSB0byBmaW5k
IGEgZm9udC4gIFdlIGhhdmUgYSBzbWFsbCBzZXQgb2YgZm9udHMgdGhhdCB3ZSBhbGlhcyB0byBv
dGhlciBuYW1lcywKICAgICAgICAgICAgIC8vIGUuZy4sIEFyaWFsL0hlbHZldGljYSwgQ291cmll
ci9Db3VyaWVyIE5ldywgZXRjLiAgVHJ5IGxvb2tpbmcgdXAgdGhlIGZvbnQgdW5kZXIgdGhlIGFs
aWFzZWQgbmFtZS4KICAgICAgICAgICAgIGNvbnN0IEF0b21TdHJpbmcmIGFsdGVybmF0ZU5hbWUg
PSBhbHRlcm5hdGVGYW1pbHlOYW1lKGZhbWlseU5hbWUpOwogICAgICAgICAgICAgaWYgKCFhbHRl
cm5hdGVOYW1lLmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICAgICAgRm9udFBsYXRmb3JtRGF0YSog
Zm9udFBsYXRmb3JtRGF0YUZvckFsdGVybmF0ZU5hbWUgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1E
YXRhKGZvbnREZXNjcmlwdGlvbiwgYWx0ZXJuYXRlTmFtZSwgZm9udEZhY2VGZWF0dXJlcywgZm9u
dEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCB0cnVlKTsKKyAgICAg
ICAgICAgICAgICBGb250UGxhdGZvcm1EYXRhKiBmb250UGxhdGZvcm1EYXRhRm9yQWx0ZXJuYXRl
TmFtZSA9IGdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBhbHRlcm5h
dGVOYW1lLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxpdGllcywgdHJ1ZSk7CiAg
ICAgICAgICAgICAgICAgLy8gTG9va3VwIHRoZSBrZXkgaW4gdGhlIGhhc2ggdGFibGUgYWdhaW4g
YXMgdGhlIHByZXZpb3VzIGl0ZXJhdG9yIG1heSBoYXZlCiAgICAgICAgICAgICAgICAgLy8gYmVl
biBpbnZhbGlkYXRlZCBieSB0aGUgcmVjdXJzaXZlIGNhbGwgdG8gZ2V0Q2FjaGVkRm9udFBsYXRm
b3JtRGF0YSgpLgogICAgICAgICAgICAgICAgIGl0ID0gZm9udFBsYXRmb3JtRGF0YUNhY2hlKCku
ZmluZChrZXkpOwpAQCAtMzE2LDEyICszMTIsMTIgQEAgY29uc3QgdW5zaWduZWQgY1RhcmdldElu
YWN0aXZlRm9udERhdGEgPSAyMDA7CiBjb25zdCB1bnNpZ25lZCBjTWF4VW5kZXJNZW1vcnlQcmVz
c3VyZUluYWN0aXZlRm9udERhdGEgPSA1MDsKIGNvbnN0IHVuc2lnbmVkIGNUYXJnZXRVbmRlck1l
bW9yeVByZXNzdXJlSW5hY3RpdmVGb250RGF0YSA9IDMwOwogCi1SZWZQdHI8Rm9udD4gRm9udENh
Y2hlOjpmb250Rm9yRmFtaWx5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9u
LCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZv
bnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFu
dFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2Fw
YWJpbGl0aWVzLCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKK1JlZlB0cjxGb250PiBGb250
Q2FjaGU6OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRp
b24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyog
Zm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250
RmFjZUNhcGFiaWxpdGllcywgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYg
KCFtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogCi0gICAgaWYgKGF1dG8qIHBsYXRmb3JtRGF0YSA9IGdldENhY2hlZEZvbnRQ
bGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBmYW1pbHksIGZvbnRGYWNlRmVhdHVyZXMsIGZv
bnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcywgY2hlY2tpbmdBbHRl
cm5hdGVOYW1lKSkKKyAgICBpZiAoYXV0byogcGxhdGZvcm1EYXRhID0gZ2V0Q2FjaGVkRm9udFBs
YXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0dXJlcywgZm9u
dEZhY2VDYXBhYmlsaXRpZXMsIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkpCiAgICAgICAgIHJldHVy
biBmb250Rm9yUGxhdGZvcm1EYXRhKCpwbGF0Zm9ybURhdGEpOwogCiAgICAgcmV0dXJuIG51bGxw
dHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fj
aGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4
IGIwNTRhOGNmYjlhODkyODI4N2IwNDYxY2IwNTI2ZjIwYTNhZDFjYzguLmZlOTczZmNmNzliOTlj
MTg1N2VhZWI4ZjViOWZhNTQ4ZDM5YTRkYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC0yMTIsNyArMjEyLDcgQEAgcHVibGljOgogICAgIC8v
IEl0IGNvbWVzIGludG8gcGxheSB3aGVuIHlvdSBjcmVhdGUgYW4gQGZvbnQtZmFjZSB3aGljaCBz
aGFyZXMgYSBmYW1pbHkgbmFtZSBhcyBhIHByZWluc3RhbGxlZCBmb250LgogICAgIFZlY3RvcjxG
b250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzPiBnZXRGb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzSW5G
YW1pbHkoY29uc3QgQXRvbVN0cmluZyYsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKIAotICAg
IFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxGb250PiBmb250Rm9yRmFtaWx5KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBm
b250RmFjZUZlYXR1cmVzID0gbnVsbHB0ciwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9u
dEZhY2VWYXJpYW50U2V0dGluZ3MgPSBudWxscHRyLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2Fw
YWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzID0geyB9LCBib29sIGNoZWNraW5nQWx0ZXJu
YXRlTmFtZSA9IGZhbHNlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8Rm9udD4gZm9udEZv
ckZhbWlseShjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiwgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcyA9IG51bGxwdHIsIEZvbnRTZWxl
Y3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMgPSB7IH0sIGJv
b2wgY2hlY2tpbmdBbHRlcm5hdGVOYW1lID0gZmFsc2UpOwogICAgIFdFQkNPUkVfRVhQT1JUIFJl
ZjxGb250PiBsYXN0UmVzb3J0RmFsbGJhY2tGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxGb250PiBmb250Rm9yUGxhdGZvcm1EYXRhKGNvbnN0IEZv
bnRQbGF0Zm9ybURhdGEmKTsKICAgICBSZWZQdHI8Rm9udD4gc2ltaWxhckZvbnQoY29uc3QgRm9u
dERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5KTsKQEAgLTI2MiwxMyArMjYy
LDEzIEBAIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwdXJnZUluYWN0aXZlRm9u
dERhdGFJZk5lZWRlZCgpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgbWV0aG9kIHNob3VsZCBldmVu
dHVhbGx5IGJlIHJlbW92ZWQuCi0gICAgRm9udFBsYXRmb3JtRGF0YSogZ2V0Q2FjaGVkRm9udFBs
YXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1p
bHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMgPSBudWxscHRy
LCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncyA9IG51
bGxwdHIsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmls
aXRpZXMgPSB7IH0sIGJvb2wgY2hlY2tpbmdBbHRlcm5hdGVOYW1lID0gZmFsc2UpOworICAgIEZv
bnRQbGF0Zm9ybURhdGEqIGdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzKiBmb250RmFjZUZlYXR1cmVzID0gbnVsbHB0ciwgRm9udFNlbGVjdGlvblNwZWNpZmllZENh
cGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcyA9IHsgfSwgYm9vbCBjaGVja2luZ0FsdGVy
bmF0ZU5hbWUgPSBmYWxzZSk7CiAKICAgICAvLyBUaGVzZSBtZXRob2RzIGFyZSBpbXBsZW1lbnRl
ZCBieSBlYWNoIHBsYXRmb3JtLgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIEZvbnRQbGF0Zm9y
bURhdGEqIGdldEN1c3RvbUZhbGxiYWNrRm9udChjb25zdCBVSW50MzIsIGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYpOwogI2VuZGlmCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RkOjp1bmlxdWVfcHRyPEZv
bnRQbGF0Zm9ybURhdGE+IGNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0
aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdz
KiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZh
cmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFj
ZUNhcGFiaWxpdGllcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RkOjp1bmlxdWVfcHRyPEZvbnRQ
bGF0Zm9ybURhdGE+IGNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBm
b250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzKTsKICAgICAKICAgICBzdGF0aWMgY29uc3QgQXRvbVN0cmluZyYgYWx0
ZXJuYXRlRmFtaWx5TmFtZShjb25zdCBBdG9tU3RyaW5nJik7CiAgICAgc3RhdGljIGNvbnN0IEF0
b21TdHJpbmcmIHBsYXRmb3JtQWx0ZXJuYXRlRmFtaWx5TmFtZShjb25zdCBBdG9tU3RyaW5nJik7
CkBAIC0yODksNyArMjg5LDcgQEAgcHJpdmF0ZToKIAogaW5saW5lIHN0ZDo6dW5pcXVlX3B0cjxG
b250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGFGb3JUZXN0
aW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3Ry
aW5nJiBmYW1pbHkpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoZm9udERl
c2NyaXB0aW9uLCBmYW1pbHksIG51bGxwdHIsIG51bGxwdHIsIHsgfSk7CisgICAgcmV0dXJuIGNy
ZWF0ZUZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBmYW1pbHksIG51bGxwdHIsIHsg
fSk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpICYmICFVU0UoRlJFRVRZUEUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggMThmMzQwNTBhYTllM2I3NDM0YTYyN2EwNzdjZDJj
Y2YyZjk5YzlmYi4uOTFhY2UxODVlM2YwMTg0MDc0NGY1MzM5Y2U1MmVjYWZhZjBiNWYxNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtNDYsNyArNDYsNyBAQCBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSB7CiBwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YShGVF9GYWNlLCBTaGFyZWRCdWZmZXImKTsKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgp
ID0gZGVmYXVsdDsKLSAgICBGb250UGxhdGZvcm1EYXRhIGZvbnRQbGF0Zm9ybURhdGEoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1
cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3Bl
Y2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICBGb250UGxhdGZvcm1EYXRhIGZvbnRQbGF0Zm9ybURh
dGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMp
OwogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRm9ybWF0KGNvbnN0IFN0cmluZyYpOwogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhY2hlQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCmluZGV4IDViMTgxMTg5NjMxODFmMmM1OWI5YmM3
ZDdiZmVkOWNmOTMwZGNhMjYuLmEwMjUyYzUzZTc4ZjI4MDZmNmE1MDE1MzY4YjMyODg1YzdiMzUx
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDYWNoZUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKQEAgLTUzMCw3ICs1MzAsNyBAQCBzdHJ1Y3Qg
Rm9udFR5cGUgewogICAgIGJvb2wgYWF0U2hhcGluZyB7IGZhbHNlIH07CiB9OwogCi1SZXRhaW5Q
dHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQs
IGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVy
ZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBm
b250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cyBmb250RmFjZUNhcGFiaWxpdGllcywgYm9vbCBhcHBseVdlaWdodFdpZHRoU2xvcGVWYXJpYXRp
b25zKQorUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYg
b3JpZ2luYWxGb250LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgRm9udFNlbGVjdGlvblNw
ZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgYm9vbCBhcHBseVdlaWdo
dFdpZHRoU2xvcGVWYXJpYXRpb25zKQogewogICAgIGlmICghb3JpZ2luYWxGb250KQogICAgICAg
ICByZXR1cm4gb3JpZ2luYWxGb250OwpAQCAtNTY5LDggKzU2OSw3IEBAIFJldGFpblB0cjxDVEZv
bnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9udCwgY29uc3Qg
Rm9udERlc2NyCiAgICAgYm9vbCB2YXJpYW50U2V0dGluZ3NJc05vcm1hbCA9IHZhcmlhbnRTZXR0
aW5ncy5pc0FsbE5vcm1hbCgpOwogICAgIGJvb2wgZG9udE5lZWRUb0FwcGx5T3B0aWNhbFNpemlu
ZyA9IGZvbnRPcHRpY2FsU2l6aW5nID09IEZvbnRPcHRpY2FsU2l6aW5nOjpFbmFibGVkICYmICFm
b3JjZU9wdGljYWxTaXppbmdPbjsKICAgICBib29sIGZvbnRGYWNlRG9lc250U3BlY2lmeUZlYXR1
cmVzID0gIWZvbnRGYWNlRmVhdHVyZXMgfHwgZm9udEZhY2VGZWF0dXJlcy0+aXNFbXB0eSgpOwot
ICAgIGJvb2wgZm9udEZhY2VEb2VzbnRTcGVjaWZ5VmFyaWF0aW9ucyA9ICFmb250RmFjZVZhcmlh
bnRTZXR0aW5ncyB8fCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncy0+aXNBbGxOb3JtYWwoKTsKLSAg
ICBpZiAobm9Gb250RmVhdHVyZVNldHRpbmdzICYmIG5vRm9udFZhcmlhdGlvblNldHRpbmdzICYm
IHRleHRSZW5kZXJpbmdNb2RlSXNBdXRvICYmIHZhcmlhbnRTZXR0aW5nc0lzTm9ybWFsICYmIGRv
bnROZWVkVG9BcHBseU9wdGljYWxTaXppbmcgJiYgZm9udEZhY2VEb2VzbnRTcGVjaWZ5RmVhdHVy
ZXMgJiYgZm9udEZhY2VEb2VzbnRTcGVjaWZ5VmFyaWF0aW9ucykgeworICAgIGlmIChub0ZvbnRG
ZWF0dXJlU2V0dGluZ3MgJiYgbm9Gb250VmFyaWF0aW9uU2V0dGluZ3MgJiYgdGV4dFJlbmRlcmlu
Z01vZGVJc0F1dG8gJiYgdmFyaWFudFNldHRpbmdzSXNOb3JtYWwgJiYgZG9udE5lZWRUb0FwcGx5
T3B0aWNhbFNpemluZyAmJiBmb250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJlcykgewogI2lmIEhB
VkUoQ1RGT05UQ1JFQVRFRk9SQ0hBUkFDVEVSU1dJVEhMQU5HVUFHRUFORE9QVElPTikKICAgICAg
ICAgcmV0dXJuIG9yaWdpbmFsRm9udDsKICNlbHNlCkBAIC01ODQsOCArNTgzLDcgQEAgUmV0YWlu
UHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250
LCBjb25zdCBGb250RGVzY3IKICAgICAvLyBTdGVwIDE6IENvcmVUZXh0IGhhbmRsZXMgZGVmYXVs
dCBmZWF0dXJlcyAoc3VjaCBhcyByZXF1aXJlZCBsaWdhdHVyZXMpLgogCiAgICAgLy8gU3RlcCAy
OiBDb25zdWx0IHdpdGggZm9udC12YXJpYW50LSogaW5zaWRlIEBmb250LWZhY2UKLSAgICBpZiAo
Zm9udEZhY2VWYXJpYW50U2V0dGluZ3MpCi0gICAgICAgIGZlYXR1cmVzVG9CZUFwcGxpZWQgPSBj
b21wdXRlRmVhdHVyZVNldHRpbmdzRnJvbVZhcmlhbnRzKCpmb250RmFjZVZhcmlhbnRTZXR0aW5n
cyk7CisgICAgLy8gVGhpcyBubyBsb25nZXIgaGFwcGVucyBhbnkgbW9yZTogaHR0cHM6Ly9naXRo
dWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzI1MzEKIAogICAgIC8vIFN0ZXAgMzogQ29u
c3VsdCB3aXRoIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBpbnNpZGUgQGZvbnQtZmFjZQogICAgIGlm
IChmb250RmFjZUZlYXR1cmVzKSB7CkBAIC0xMjk0LDcgKzEyOTIsNyBAQCBzdGF0aWMgUmV0YWlu
UHRyPENURm9udFJlZj4gZm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShjb25zdCBBdG9tU3RyaW5n
JiBmYW1pbHksCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXN0YXRpYyBSZXRhaW5QdHI8Q1RG
b250UmVmPiBmb250V2l0aEZhbWlseShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdz
KiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZh
cmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFj
ZUNhcGFiaWxpdGllcywgZmxvYXQgc2l6ZSkKK3N0YXRpYyBSZXRhaW5QdHI8Q1RGb250UmVmPiBm
b250V2l0aEZhbWlseShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFj
ZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2Fw
YWJpbGl0aWVzLCBmbG9hdCBzaXplKQogewogICAgIGlmIChmYW1pbHkuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTEzMDYsNyArMTMwNCw3IEBAIHN0YXRpYyBSZXRhaW5Q
dHI8Q1RGb250UmVmPiBmb250V2l0aEZhbWlseShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNv
bnN0IEZvbnRECiAgICAgICAgIGlmICghZm9udExvb2t1cC5yZXN1bHQpCiAgICAgICAgICAgICBm
b250TG9va3VwID0gcGxhdGZvcm1Gb250TG9va3VwV2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNj
cmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpLCBzaXplLCBmb250RGVzY3JpcHRpb24uc2hv
dWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7CiAgICAgfQotICAgIHJldHVybiBwcmVwYXJl
UGxhdGZvcm1Gb250KGZvbnRMb29rdXAucmVzdWx0LmdldCgpLCBmb250RGVzY3JpcHRpb24sIGZv
bnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxp
dGllcywgIWZvbnRMb29rdXAuY3JlYXRlZEZyb21Qb3N0U2NyaXB0TmFtZSk7CisgICAgcmV0dXJu
IHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udExvb2t1cC5yZXN1bHQuZ2V0KCksIGZvbnREZXNjcmlw
dGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VDYXBhYmlsaXRpZXMsICFmb250TG9va3Vw
LmNyZWF0ZWRGcm9tUG9zdFNjcmlwdE5hbWUpOwogfQogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAt
MTM0MSwxMSArMTMzOSwxMSBAQCBzdGF0aWMgdm9pZCBhdXRvQWN0aXZhdGVGb250KGNvbnN0IFN0
cmluZyYgbmFtZSwgQ0dGbG9hdCBzaXplKQogfQogI2VuZGlmCiAKLXN0ZDo6dW5pcXVlX3B0cjxG
b250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWls
eSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9u
dFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCitzdGQ6OnVuaXF1ZV9w
dHI8Rm9udFBsYXRmb3JtRGF0YT4gRm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBm
YW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRT
ZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpCiB7CiAg
ICAgZmxvYXQgc2l6ZSA9IGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpOwogCi0g
ICAgYXV0byBmb250ID0gZm9udFdpdGhGYW1pbHkoZmFtaWx5LCBmb250RGVzY3JpcHRpb24sIGZv
bnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxp
dGllcywgc2l6ZSk7CisgICAgYXV0byBmb250ID0gZm9udFdpdGhGYW1pbHkoZmFtaWx5LCBmb250
RGVzY3JpcHRpb24sIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBzaXpl
KTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIWZvbnQpIHsKQEAgLTEzNTYsNyArMTM1
NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6OmNyZWF0
ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlCiAgICAgICAgIC8vIElnbm9yZSB0aGUgcmVz
dWx0IGJlY2F1c2Ugd2Ugd2FudCB0byB1c2Ugb3VyIG93biBhbGdvcml0aG0gdG8gYWN0dWFsbHkg
ZmluZCB0aGUgZm9udC4KICAgICAgICAgYXV0b0FjdGl2YXRlRm9udChmYW1pbHkuc3RyaW5nKCks
IHNpemUpOwogCi0gICAgICAgIGZvbnQgPSBmb250V2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNj
cmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzLCBzaXplKTsKKyAgICAgICAgZm9udCA9IGZvbnRXaXRoRmFtaWx5KGZh
bWlseSwgZm9udERlc2NyaXB0aW9uLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZUNhcGFiaWxp
dGllcywgc2l6ZSk7CiAgICAgfQogI2VuZGlmCiAKQEAgLTE0ODUsNyArMTQ4Myw3IEBAIFJlZlB0
cjxGb250PiBGb250Q2FjaGU6OnN5c3RlbUZhbGxiYWNrRm9yQ2hhcmFjdGVycyhjb25zdCBGb250
RGVzY3JpcHRpb24mIGRlc2NyCiAgICAgICAgIG1fZm9udE5hbWVzUmVxdWlyaW5nU3lzdGVtRmFs
bGJhY2tGb3JQcmV3YXJtaW5nLmFkZChmdWxsTmFtZSk7CiAKICAgICBhdXRvIHJlc3VsdCA9IGxv
b2t1cEZhbGxiYWNrRm9udChwbGF0Zm9ybURhdGEuZm9udCgpLCBkZXNjcmlwdGlvbi53ZWlnaHQo
KSwgZGVzY3JpcHRpb24ubG9jYWxlKCksIGRlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKCksIGNoYXJhY3RlcnMsIGxlbmd0aCk7Ci0gICAgcmVzdWx0ID0gcHJlcGFyZVBs
YXRmb3JtRm9udChyZXN1bHQuZ2V0KCksIGRlc2NyaXB0aW9uLCBudWxscHRyLCBudWxscHRyLCB7
IH0pOworICAgIHJlc3VsdCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQocmVzdWx0LmdldCgpLCBkZXNj
cmlwdGlvbiwgbnVsbHB0ciwgeyB9KTsKIAogICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1
cm4gbGFzdFJlc29ydEZhbGxiYWNrRm9udChkZXNjcmlwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
aAppbmRleCA4ZGE1NThlMTVlMTM0MWNmYjcxNWY3MmIyYmVjMTgwOGM5M2M2NTVhLi45NGMzMjcz
NWIwNThjMmQ4YjdlNmRlYTA5NDk3MTY4YWZlNWNiNGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgK
QEAgLTUwLDcgKzUwLDcgQEAgc3RydWN0IFN5bnRoZXNpc1BhaXIgewogICAgIGJvb2wgbmVlZHNT
eW50aGV0aWNPYmxpcXVlOwogfTsKIAotUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRm
b3JtRm9udChDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEZvbnRGZWF0
dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3Mq
IGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0
aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGFwcGx5V2VpZ2h0V2lkdGhTbG9wZVZhcmlh
dGlvbnMgPSB0cnVlKTsKK1JldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQo
Q1RGb250UmVmLCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzKiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVz
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGFwcGx5V2VpZ2h0V2lkdGhTbG9wZVZhcmlhdGlv
bnMgPSB0cnVlKTsKIFN5bnRoZXNpc1BhaXIgY29tcHV0ZU5lY2Vzc2FyeVN5bnRoZXNpcyhDVEZv
bnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgaXNQbGF0Zm9ybUZvbnQgPSBmYWxz
ZSk7CiBSZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENh
c2UoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBmbG9h
dCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiBSZXRhaW5QdHI8Q1RGb250UmVmPiBw
bGF0Zm9ybUZvbnRXaXRoRmFtaWx5KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgRm9udFNlbGVj
dGlvblJlcXVlc3QsIFRleHRSZW5kZXJpbmdNb2RlLCBmbG9hdCBzaXplKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlTcGVjaWZp
Y2F0aW9uQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udEZhbWlseVNwZWNpZmljYXRpb25Db3JlVGV4dC5jcHAKaW5kZXggMGRlOTM0YTdiMzg0
MTAwZWViNzZkNzdmNDU2YTE4MmZiYmFiY2VjYy4uYzI0ODUyOTQ0YzIyMzRlMzBlZTUzNTI0OTQw
MDFhYzgxOWQyYzhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udEZhbWlseVNwZWNpZmljYXRpb25Db3JlVGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udEZhbWlseVNwZWNpZmljYXRpb25D
b3JlVGV4dC5jcHAKQEAgLTEwOCw3ICsxMDgsNyBAQCBGb250UmFuZ2VzIEZvbnRGYW1pbHlTcGVj
aWZpY2F0aW9uQ29yZVRleHQ6OmZvbnRSYW5nZXMoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmbwog
ICAgICAgICAgICAgZm9udEZvclN5bnRoZXNpc0NvbXB1dGF0aW9uID0gcGh5c2ljYWxGb250Owog
I2VuZGlmCiAKLSAgICAgICAgZm9udCA9IHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udC5nZXQoKSwg
Zm9udERlc2NyaXB0aW9uLCBudWxscHRyLCBudWxscHRyLCB7IH0pOworICAgICAgICBmb250ID0g
cHJlcGFyZVBsYXRmb3JtRm9udChmb250LmdldCgpLCBmb250RGVzY3JpcHRpb24sIG51bGxwdHIs
IHsgfSk7CiAKICAgICAgICAgYXV0byBbc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZV0g
PSBjb21wdXRlTmVjZXNzYXJ5U3ludGhlc2lzKGZvbnRGb3JTeW50aGVzaXNDb21wdXRhdGlvbi5n
ZXQoKSwgZm9udERlc2NyaXB0aW9uKS5ib2xkT2JsaXF1ZVBhaXIoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENh
Y2hlRnJlZVR5cGUuY3BwCmluZGV4IGYxYWU5NGQwYWY3YzkzYTM5ZjM1NDY5YWYzMjc2YTkxMzQ0
ZTNlMGEuLmNhZTM2YWQ1MGI5M2Y4MzcwZjMwM2Y1NDhkNzVkOTU2YzY5NDA3ZjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDYWNoZUZy
ZWVUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlw
ZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAKQEAgLTUwMCw3ICs1MDAsNyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgaXNDb21tb25seVVzZWRHZW5lcmljRmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5TmFt
ZVN0cmluZykKICAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5
TmFtZVN0cmluZywgImN1cnNpdmUiKTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9y
bURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3Jp
cHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBG
b250RmVhdHVyZVNldHRpbmdzKiwgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyosIEZvbnRTZWxl
Y3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpCitzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3Jt
RGF0YT4gRm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZv
bnRGZWF0dXJlU2V0dGluZ3MqLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQog
ewogICAgIC8vIFRoZSBDU1MgZm9udCBtYXRjaGluZyBhbGdvcml0aG0gKGh0dHA6Ly93d3cudzMu
b3JnL1RSL2NzczMtZm9udHMvI2ZvbnQtbWF0Y2hpbmctYWxnb3JpdGhtKQogICAgIC8vIHNheXMg
dGhhdCB3ZSBtdXN0IGZpbmQgYW4gZXhhY3QgbWF0Y2ggZm9yIGZvbnQgZmFtaWx5LCBzbGFudCAo
aXRhbGljIG9yIG9ibGlxdWUgY2FuIGJlIHVzZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhRnJlZVR5
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcAppbmRleCA1ODk0M2QyYTkwZGZjNTUwMWYyZGNh
YThlY2YwZTkwZTFhYzdmNzBkLi5lYWZkOTZkN2M3MzYyNDc3NGIxOTczY2JiNzcyMTUxNWQzY2Nj
N2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlw
ZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFGcmVlVHlw
ZS5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgc3RhdGljIEZjUGF0dGVybiogZGVmYXVsdEZvbnRjb25m
aWdPcHRpb25zKCkKICAgICByZXR1cm4gcGF0dGVybjsKIH0KIAotRm9udFBsYXRmb3JtRGF0YSBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYgZGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0
dXJlU2V0dGluZ3MmLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNw
ZWNpZmllZENhcGFiaWxpdGllcykKK0ZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcykKIHsKICAgICBhdXRvKiBmcmVlVHlwZUZh
Y2UgPSBzdGF0aWNfY2FzdDxGVF9GYWNlPihjYWlyb19mb250X2ZhY2VfZ2V0X3VzZXJfZGF0YSht
X2ZvbnRGYWNlLmdldCgpLCAmZnJlZVR5cGVGYWNlS2V5KSk7CiAgICAgQVNTRVJUKGZyZWVUeXBl
RmFjZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKaW5kZXggNTA3OTM4YmUxMTA1Y2Y0
MjYwNDU1OTEzYjBjNWU5OWQ0ZjU0ZjllNy4uMjE5YTk5NWI4YTRjNTVmY2IxOWM1ZTgxNGFmZDgz
ZDRlNGM4MjE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcApAQCAtMzUsNyArMzUs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6On5Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhKCkgPSBkZWZhdWx0OwogCi1Gb250UGxhdGZvcm1EYXRhIEZvbnRD
dXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0
dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3Mm
IGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0
aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERl
c2NyaXB0aW9uLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzJiBmb250RmFjZUZlYXR1cmVzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVz
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQogewogICAgIGF1dG8gYXR0cmlidXRlcyA9IGFkb3B0Q0Yo
Q0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAwLCAma0NGVHlw
ZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tz
KSk7CiAgICAgYWRkQXR0cmlidXRlc0ZvcldlYkZvbnRzKGF0dHJpYnV0ZXMuZ2V0KCksIGZvbnRE
ZXNjcmlwdGlvbi5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKQEAgLTQ2LDcgKzQ2
LDcgQEAgRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZv
cm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYKICAgICBGb250T3JpZW50YXRpb24gb3JpZW50
YXRpb24gPSBmb250RGVzY3JpcHRpb24ub3JpZW50YXRpb24oKTsKICAgICBGb250V2lkdGhWYXJp
YW50IHdpZHRoVmFyaWFudCA9IGZvbnREZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQoKTsKICAgICBS
ZXRhaW5QdHI8Q1RGb250UmVmPiBmb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVXaXRoRm9udERl
c2NyaXB0b3IobW9kaWZpZWRGb250RGVzY3JpcHRvci5nZXQoKSwgc2l6ZSwgbnVsbHB0cikpOwot
ICAgIGZvbnQgPSBwcmVwYXJlUGxhdGZvcm1Gb250KGZvbnQuZ2V0KCksIGZvbnREZXNjcmlwdGlv
biwgJmZvbnRGYWNlRmVhdHVyZXMsICZmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VD
YXBhYmlsaXRpZXMpOworICAgIGZvbnQgPSBwcmVwYXJlUGxhdGZvcm1Gb250KGZvbnQuZ2V0KCks
IGZvbnREZXNjcmlwdGlvbiwgJmZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlQ2FwYWJpbGl0aWVz
KTsKICAgICBBU1NFUlQoZm9udCk7CiAgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoZm9udC5n
ZXQoKSwgc2l6ZSwgYm9sZCwgaXRhbGljLCBvcmllbnRhdGlvbiwgd2lkdGhWYXJpYW50LCBmb250
RGVzY3JpcHRpb24udGV4dFJlbmRlcmluZ01vZGUoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaAppbmRleCBhYjIwM2ZhYjM2Y2Y0Nzg4MzVlMDA3ZTg5MmI0MTBjYjdmYmViOGIyLi42MDc4
ZTI1ZmExZDgyYmNlYzliNGNjN2JjNzJlNWU3ZjI4ZWE3MGFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogCiAgICAgfkZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoKTsKIAotICAgIEZvbnRQbGF0Zm9ybURhdGEgZm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVh
dHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdz
JiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxp
dGllcyBmb250RmFjZUNhcGFiaWxpdGllcyk7CisgICAgRm9udFBsYXRmb3JtRGF0YSBmb250UGxh
dGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMs
IGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVyZXMsIEZvbnRTZWxlY3Rp
b25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMpOwogCiAgICAgc3Rh
dGljIGJvb2wgc3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q2FjaGVXaW4uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYWNoZVdpbi5jcHAKaW5kZXgg
YmM5NWY5NTdlZTgzYmNiODRmNmYyNDdjYTExMmNhNzUwZjRkZTk4OS4uMGEwZGMxMjY4OWMzOTU5
YzliMzRhMzgwYmFkMzQ0YjRlZjliNmVhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYWNoZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYWNoZVdpbi5jcHAKQEAgLTYxNyw3ICs2MTcsNyBA
QCBWZWN0b3I8Rm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcz4gRm9udENhY2hlOjpnZXRGb250U2Vs
ZWN0aW9uQ2FwYWJpbGl0aWVzSW5GYW1pbAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0ZDo6
dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9y
bURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21T
dHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyosIGNvbnN0IEZvbnRWYXJp
YW50U2V0dGluZ3MqLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQorc3RkOjp1
bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3Jt
RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0
cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiwgRm9udFNlbGVjdGlvblNw
ZWNpZmllZENhcGFiaWxpdGllcykKIHsKICAgICBib29sIGlzTHVjaWRhR3JhbmRlID0gZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAibHVjaWRhIGdyYW5kZSIpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKaW5kZXggMjI4NzY0YzgwMTZmNWFiYmQyMGE3NjJlODlk
OGY3YjU3Zjc4YmY0My4uMTQwZWMxNmViMTVkNmZjOWZkYTQwYmNiNTFiYmEwZmYwYWMzM2IzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcApAQCAtNDYsNyArNDYsNyBAQCBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpCiAgICAgICAgIFJlbW92
ZUZvbnRNZW1SZXNvdXJjZUV4KG1fZm9udFJlZmVyZW5jZSk7CiB9CiAKLUZvbnRQbGF0Zm9ybURh
dGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmLCBGb250U2Vs
ZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQorRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNl
dHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcykKIHsKICAgICBpbnQg
c2l6ZSA9IGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpOwogICAgIEZvbnRSZW5k
ZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUgPSBmb250RGVzY3JpcHRpb24ucmVuZGVyaW5nTW9kZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZWFiODA2ZTQyYzA2MmQ1NTk3ODk5NDUy
ZWZlNzQ3NGU1OTlmOTJlMS4uMWIyZmYyYjc0N2M5YjljOTFjMDZjZWE1YjBhOTY2MWEzMDUyYmI2
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoK
IAogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CiAKLSAgICBGb250UGxhdGZvcm1EYXRh
IGZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBib2xkLCBib29s
IGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIGNvbnN0IEZvbnRWYXJpYW50U2V0
dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKTsKKyAgICBGb250UGxh
dGZvcm1EYXRhIGZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBi
b2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rp
b25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpOwogCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGb3Jt
YXQoY29uc3QgU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5j
cHAKaW5kZXggZWVlYWZlYmQ5MzNjYTljNzhkZDA1MTQxM2QyMzM0NGNhODUzYjAxMy4uZGE5YzE4
Njk5YjYxOWY0OGRjOWE5YmUzNmY5YzY0YWFmZmZjZjYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGFDYWlyby5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKQogICAgICAgICBSZW1vdmVGb250TWVtUmVz
b3VyY2VFeChtX2ZvbnRSZWZlcmVuY2UpOwogfQogCi1Gb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0
b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBm
b250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJl
U2V0dGluZ3MmLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNp
ZmllZENhcGFiaWxpdGllcykKK0ZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlv
biwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpCiB7CiAgICAgaW50IHNpemUgPSBmb250
RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKTsKICAgICBGb250UmVuZGVyaW5nTW9kZSBy
ZW5kZXJpbmdNb2RlID0gZm9udERlc2NyaXB0aW9uLnJlbmRlcmluZ01vZGUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBj
M2FhN2Q4Y2ExNDNiYzhlYTVkNTJhYTNjZjkzNDdjZTk1NmZhODI5Li5hZTczOTVmYWRjNmE5NDJk
MmU4NmFhM2MyMzA0NmRlNGI5OGI3NzcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMTEt
MjEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgZm9udC12YXJpYW50IEBmb250LWZhY2UgZGVzY3JpcHRvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTc5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIERlbGV0ZSB0ZXN0cyBmb3IgdGhlIHJlbW92
ZWQgZmVhdHVyZS4KKworICAgICAgICAqIGNzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwt
ZXhwZWN0ZWQuaHRtbDogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MzL2ZvbnQtdmFyaWFudC1mb250
LWZhY2UtYWxsLmh0bWw6IERlbGV0ZWQuCisgICAgICAgICogY3NzMy9mb250LXZhcmlhbnQtZm9u
dC1mYWNlLW92ZXJyaWRlLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogY3NzMy9mb250LXZhcmlh
bnQtZm9udC1mYWNlLW92ZXJyaWRlLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtZmFj
ZS1lbXB0eS1zdHJpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvdGV4dC9mb250LWZh
Y2UtZW1wdHktc3RyaW5nLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZh
c2NyaXB0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3RleHQvZm9udC1mYWNlLWphdmFz
Y3JpcHQuaHRtbDoKKwogMjAxOS0xMS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgaW4gYWdhaW4sIHJlZ3Jlc3Npb24g
aXMgbm90IGNhdXNlZCBieSBpdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZh
cmlhbnQtZm9udC1mYWNlLWFsbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mb250
LXZhcmlhbnQtZm9udC1mYWNlLWFsbC1leHBlY3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3NDQxNDkzN2YyNTViMDRiYTcxNDQzODYyMzhjNDg2MWMyM2RmYTkwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Nz
czMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDk5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzdHls
ZT4KLUBmb250LWZhY2UgewotICAgIGZvbnQtZmFtaWx5OiAiRm9udEZlYXR1cmVzVGVzdE9URiI7
Ci0gICAgc3JjOiB1cmwoInJlc291cmNlcy9Gb250V2l0aEZlYXR1cmVzLm90ZiIpIGZvcm1hdCgi
b3BlbnR5cGUiKTsKLX0KLUBmb250LWZhY2UgewotICAgIGZvbnQtZmFtaWx5OiAiRm9udEZlYXR1
cmVzVGVzdFRURiI7Ci0gICAgc3JjOiB1cmwoInJlc291cmNlcy9Gb250V2l0aEZlYXR1cmVzLnR0
ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsKLX0KLS5mb250V2l0aEZlYXR1cmVzVFRGIHsKLSAgICBm
b250LWZhbWlseTogIkZvbnRXaXRoRmVhdHVyZXNUVEYiOwotfQotPC9zdHlsZT4KLTwvaGVhZD4K
LTxib2R5PgotPHA+VGhpcyB0ZXN0IGlzIGEgZHVtcC1yZW5kZXItdHJlZSB0ZXN0IHdoaWNoIG1h
a2VzIHN1cmUgdGhhdCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIGFwcHJvcHJpYXRlbHkg
YXBwbGllZDo8L3A+Ci08dWw+Ci08bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzPC9s
aT4KLTxsaT4td2Via2l0LWZvbnQtdmFyaWFudC1wb3NpdGlvbjwvbGk+Ci08bGk+LXdlYmtpdC1m
b250LXZhcmlhbnQtY2FwczwvbGk+Ci08bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtbnVtZXJpYzwv
bGk+Ci08bGk+LXdlYmtpdC1mb250LXZhcmlhbnQtYWx0ZXJuYXRlczwvbGk+Ci08bGk+LXdlYmtp
dC1mb250LXZhcmlhbnQtZWFzdC1hc2lhbjwvbGk+Ci08L3VsPgotVGhlIHRlc3QgcGFzc2VzIGlm
IHRoZXJlIGlzIGEgcGFydGljdWxhciBzZXF1ZW5jZSBvZiBjaGVja3MgYW5kIHggY2hhcmFjdGVy
cyBiZWxvdy4gTm90ZSB0aGF0IHNvbWUgeCBjaGFyYWN0ZXJzIGFyZSBleHBlY3RlZC4KLTxkaXYg
aWQ9Imluc2VydGlvbnBvaW50Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJl
c1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1
cmVzVGVzdE9URjsiPkJCPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVh
dHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRG
ZWF0dXJlc1Rlc3RPVEY7Ij5CQjwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9u
dEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBG
b250RmVhdHVyZXNUZXN0T1RGOyI+QkI8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6
IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWls
eTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkJCPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFt
aWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1m
YW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250
LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZv
bnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxl
PSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5
bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBz
dHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFu
IHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNw
YW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08
c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4K
LTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFu
PgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3Nw
YW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwv
c3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFB
PC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+
QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7
Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9U
RjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0
T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rl
c3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVz
VGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVy
ZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0
dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZl
YXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250
RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08L2Rpdj4KLTxkaXYgaWQ9Imluc2VydGlvblBv
aW50MiI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0VFRGOyI+QUE8
L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5C
Qjwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsi
PkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RG
OyI+QkI8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RP
VEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVz
dE9URjsiPkJCPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNU
ZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJl
c1Rlc3RPVEY7Ij5CQjwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1
cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVh
dHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRG
ZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9u
dEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBG
b250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6
IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWls
eTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFt
aWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1m
YW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250
LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZv
bnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxl
PSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5
bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08c3BhbiBz
dHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4KLTxzcGFu
IHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFuPgotPHNw
YW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3NwYW4+Ci08
c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvc3Bhbj4K
LTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFBPC9zcGFu
PgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L3Nw
YW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwv
c3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9URjsiPkFB
PC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0T1RGOyI+
QUE8L3NwYW4+Ci08c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEZvbnRGZWF0dXJlc1Rlc3RPVEY7
Ij5BQTwvc3Bhbj4KLTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogRm9udEZlYXR1cmVzVGVzdE9U
RjsiPkFBPC9zcGFuPgotPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBGb250RmVhdHVyZXNUZXN0
T1RGOyI+QUE8L3NwYW4+Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzQ1ZmQyNjIyYjhlZDE0NGJlNTYwMTdiODY2Y2JhOWU0YTMzN2U0ZS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9jc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2UtYWxsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwxMDUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPC9oZWFkPgot
PGJvZHk+Ci08cD5UaGlzIHRlc3QgaXMgYSBkdW1wLXJlbmRlci10cmVlIHRlc3Qgd2hpY2ggbWFr
ZXMgc3VyZSB0aGF0IHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBhcmUgYXBwcm9wcmlhdGVseSBh
cHBsaWVkOjwvcD4KLTx1bD4KLTxsaT4td2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXM8L2xp
PgotPGxpPi13ZWJraXQtZm9udC12YXJpYW50LXBvc2l0aW9uPC9saT4KLTxsaT4td2Via2l0LWZv
bnQtdmFyaWFudC1jYXBzPC9saT4KLTxsaT4td2Via2l0LWZvbnQtdmFyaWFudC1udW1lcmljPC9s
aT4KLTxsaT4td2Via2l0LWZvbnQtdmFyaWFudC1hbHRlcm5hdGVzPC9saT4KLTxsaT4td2Via2l0
LWZvbnQtdmFyaWFudC1lYXN0LWFzaWFuPC9saT4KLTwvdWw+Ci1UaGUgdGVzdCBwYXNzZXMgaWYg
dGhlcmUgaXMgYSBwYXJ0aWN1bGFyIHNlcXVlbmNlIG9mIGNoZWNrcyBhbmQgeCBjaGFyYWN0ZXJz
IGJlbG93LiBOb3RlIHRoYXQgc29tZSB4IGNoYXJhY3RlcnMgYXJlIGV4cGVjdGVkLgotPGRpdiBp
ZD0iaW5zZXJ0aW9uUG9pbnQiPjwvZGl2PgotPGRpdiBpZD0iaW5zZXJ0aW9uUG9pbnQyIj48L2Rp
dj4KLTxzY3JpcHQ+Ci12YXIgaW5zZXJ0aW9uUG9pbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaW5zZXJ0aW9uUG9pbnQiKTsKLXZhciBpbnNlcnRpb25Qb2ludDIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaW5zZXJ0aW9uUG9pbnQyIik7Ci0KLXZhciBzdHlsZU5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwotZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHls
ZU5vZGUpOwotCi1mdW5jdGlvbiBhZGRFbGVtZW50KHBvaW50VG9JbnNlcnQsIGZvbnRGYW1pbHks
IGV4dGVuc2lvbiwgZm9ybWF0LCBwcm9wZXJ0eSwgdmFsdWUsIHRleHQpIHsKLSAgICBzdHlsZU5v
ZGUuc2hlZXQuaW5zZXJ0UnVsZSgiQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAiICsgZm9udEZh
bWlseSArICJfIiArIHByb3BlcnR5ICsgIl8iICsgdmFsdWUgKyAiOyBzcmM6IHVybCgncmVzb3Vy
Y2VzL0ZvbnRXaXRoRmVhdHVyZXMuIiArIGV4dGVuc2lvbiArICInKSBmb3JtYXQoJyIgKyBmb3Jt
YXQgKyAiJyk7ICIgKyBwcm9wZXJ0eSArICI6ICIgKyB2YWx1ZSArICI7IH0iLCAwKTsKLSAgICB2
YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAgICBlbGVtZW50
LnRleHRDb250ZW50ID0gdGV4dCArIHRleHQ7Ci0gICAgZWxlbWVudC5zdHlsZS5mb250RmFtaWx5
ID0gZm9udEZhbWlseSArICJfIiArIHByb3BlcnR5ICsgIl8iICsgdmFsdWU7Ci0gICAgcG9pbnRU
b0luc2VydC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICBwb2ludFRvSW5zZXJ0LmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIikpOwotfQotCi1hZGRFbGVtZW50KGluc2Vy
dGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9u
dC12YXJpYW50LWxpZ2F0dXJlcyIsICJjb21tb24tbGlnYXR1cmVzIiwgIkMiKTsKLWFkZEVsZW1l
bnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlw
ZSIsICJmb250LXZhcmlhbnQtbGlnYXR1cmVzIiwgIm5vLWNvbW1vbi1saWdhdHVyZXMiLCAiQyIp
OwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3Rm
IiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAiZGlzY3JldGlvbmFyeS1s
aWdhdHVyZXMiLCAiRSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJl
c1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAi
bm8tZGlzY3JldGlvbmFyeS1saWdhdHVyZXMiLCAiRSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Q
b2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFy
aWFudC1saWdhdHVyZXMiLCAiaGlzdG9yaWNhbC1saWdhdHVyZXMiLCAiRiIpOwotYWRkRWxlbWVu
dChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBl
IiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAibm8taGlzdG9yaWNhbC1saWdhdHVyZXMiLCAi
RiIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAi
b3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAiY29udGV4dHVhbCIs
ICJHIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIs
ICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWxpZ2F0dXJlcyIsICJuby1jb250ZXh0
dWFsIiwgIkciKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0
T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtcG9zaXRpb24iLCAic3ViIiwg
IkgiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwg
Im90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtcG9zaXRpb24iLCAic3VwZXIiLCAiSSIp
OwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3Rm
IiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1jYXBzIiwgInNtYWxsLWNhcHMiLCAiSiIpOwot
YWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwg
Im9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1jYXBzIiwgImFsbC1zbWFsbC1jYXBzIiwgIkoiKTsK
LWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIs
ICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIsICJwZXRpdGUtY2FwcyIsICJMIik7Ci1h
ZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAi
b3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMiLCAiYWxsLXBldGl0ZS1jYXBzIiwgIkwiKTsK
LWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIs
ICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIsICJ1bmljYXNlIiwgIk4iKTsKLWFkZEVs
ZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVu
dHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIsICJ0aXRsaW5nLWNhcHMiLCAiTyIpOwotYWRkRWxl
bWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50
eXBlIiwgImZvbnQtdmFyaWFudC1udW1lcmljIiwgImxpbmluZy1udW1zIiwgIlAiKTsKLWFkZEVs
ZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVu
dHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJvbGRzdHlsZS1udW1zIiwgIlEiKTsKLWFk
ZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJv
cGVudHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJwcm9wb3J0aW9uYWwtbnVtcyIsICJS
Iik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJv
dGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMiLCAidGFidWxhci1udW1zIiwg
IlMiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwg
Im90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJkaWFnb25hbC1mcmFj
dGlvbnMiLCAiVCIpOwotLy9hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZlYXR1cmVz
VGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMiLCAic3Rh
Y2tlZC1mcmFjdGlvbnMiLCAiVSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRG
ZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1udW1lcmlj
IiwgIm9yZGluYWwiLCAiViIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0
dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1udW1lcmljIiwg
InNsYXNoZWQtemVybyIsICJXIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9udEZl
YXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWFsdGVybmF0
ZXMiLCAiaGlzdG9yaWNhbC1mb3JtcyIsICJYIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50
LCAiRm9udEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50
LWVhc3QtYXNpYW4iLCAiamlzNzgiLCAiWSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwg
IkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1l
YXN0LWFzaWFuIiwgImppczgzIiwgIloiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQsICJG
b250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQtZWFz
dC1hc2lhbiIsICJqaXM5MCIsICJhIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50LCAiRm9u
dEZlYXR1cmVzVGVzdE9URiIsICJvdGYiLCAib3BlbnR5cGUiLCAiZm9udC12YXJpYW50LWVhc3Qt
YXNpYW4iLCAiamlzMDQiLCAiYiIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZvbnRG
ZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1lYXN0LWFz
aWFuIiwgInNpbXBsaWZpZWQiLCAiYyIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludCwgIkZv
bnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwgImZvbnQtdmFyaWFudC1lYXN0
LWFzaWFuIiwgInRyYWRpdGlvbmFsIiwgImQiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQs
ICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlhbnQt
ZWFzdC1hc2lhbiIsICJmdWxsLXdpZHRoIiwgImUiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9p
bnQsICJGb250RmVhdHVyZXNUZXN0T1RGIiwgIm90ZiIsICJvcGVudHlwZSIsICJmb250LXZhcmlh
bnQtZWFzdC1hc2lhbiIsICJwcm9wb3J0aW9uYWwtd2lkdGgiLCAiZiIpOwotYWRkRWxlbWVudChp
bnNlcnRpb25Qb2ludCwgIkZvbnRGZWF0dXJlc1Rlc3RPVEYiLCAib3RmIiwgIm9wZW50eXBlIiwg
ImZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIiwgInJ1YnkiLCAiZyIpOwotCi1hZGRFbGVtZW50KGlu
c2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0eXBlIiwg
ImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAiY29tbW9uLWxpZ2F0dXJlcyIsICJDIik7Ci1hZGRF
bGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRy
dWV0eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAibm8tY29tbW9uLWxpZ2F0dXJlcyIs
ICJDIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYi
LCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAiZGlzY3JldGlv
bmFyeS1saWdhdHVyZXMiLCAiRyIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250
RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbGlnYXR1
cmVzIiwgIm5vLWRpc2NyZXRpb25hcnktbGlnYXR1cmVzIiwgIkciKTsKLWFkZEVsZW1lbnQoaW5z
ZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAi
Zm9udC12YXJpYW50LWxpZ2F0dXJlcyIsICJoaXN0b3JpY2FsLWxpZ2F0dXJlcyIsICJJIik7Ci1h
ZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwg
InRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1saWdhdHVyZXMiLCAibm8taGlzdG9yaWNhbC1saWdh
dHVyZXMiLCAiSSIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNU
ZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbGlnYXR1cmVzIiwgImNv
bnRleHR1YWwiLCAiTCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVy
ZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbGlnYXR1cmVzIiwg
Im5vLWNvbnRleHR1YWwiLCAiTCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250
RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtcG9zaXRp
b24iLCAic3ViIiwgIk8iKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1
cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LXBvc2l0aW9uIiwg
InN1cGVyIiwgIlAiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVz
VGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMiLCAic21hbGwt
Y2FwcyIsICJTIik7Ci1hZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rl
c3RUVEYiLCAidHRmIiwgInRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1jYXBzIiwgImFsbC1zbWFs
bC1jYXBzIiwgIlMiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVz
VGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMiLCAicGV0aXRl
LWNhcHMiLCAiVCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNU
ZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIsICJhbGwtcGV0
aXRlLWNhcHMiLCAiVCIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVy
ZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtY2FwcyIsICJ1bmlj
YXNlIiwgIlkiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVz
dFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWNhcHMiLCAidGl0bGluZy1j
YXBzIiwgImEiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVz
dFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMiLCAibGluaW5n
LW51bXMiLCAiYyIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNU
ZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJvbGRz
dHlsZS1udW1zIiwgImQiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1
cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LW51bWVyaWMiLCAi
cHJvcG9ydGlvbmFsLW51bXMiLCAiZiIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJG
b250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtbnVt
ZXJpYyIsICJ0YWJ1bGFyLW51bXMiLCAiZyIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIs
ICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQt
bnVtZXJpYyIsICJkaWFnb25hbC1mcmFjdGlvbnMiLCAiaSIpOwotYWRkRWxlbWVudChpbnNlcnRp
b25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIsICJmb250
LXZhcmlhbnQtbnVtZXJpYyIsICJzdGFja2VkLWZyYWN0aW9ucyIsICJqIik7Ci1hZGRFbGVtZW50
KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwgInRydWV0eXBl
IiwgImZvbnQtdmFyaWFudC1udW1lcmljIiwgIm9yZGluYWwiLCAiUSIpOwotYWRkRWxlbWVudChp
bnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlwZSIs
ICJmb250LXZhcmlhbnQtbnVtZXJpYyIsICJzbGFzaGVkLXplcm8iLCAiayIpOwotYWRkRWxlbWVu
dChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0cnVldHlw
ZSIsICJmb250LXZhcmlhbnQtYWx0ZXJuYXRlcyIsICJoaXN0b3JpY2FsLWZvcm1zIiwgIksiKTsK
LWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYi
LCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAiamlzNzgiLCAibSIpOwot
YWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIs
ICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJqaXM4MyIsICJuIik7Ci1h
ZGRFbGVtZW50KGluc2VydGlvblBvaW50MiwgIkZvbnRGZWF0dXJlc1Rlc3RUVEYiLCAidHRmIiwg
InRydWV0eXBlIiwgImZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIiwgImppczkwIiwgIm8iKTsKLWFk
ZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYiLCAi
dHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAiamlzMDQiLCAicCIpOwotYWRk
RWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwgInR0ZiIsICJ0
cnVldHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJzaW1wbGlmaWVkIiwgInEiKTsK
LWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRURiIsICJ0dGYi
LCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAidHJhZGl0aW9uYWwiLCAi
ciIpOwotYWRkRWxlbWVudChpbnNlcnRpb25Qb2ludDIsICJGb250RmVhdHVyZXNUZXN0VFRGIiwg
InR0ZiIsICJ0cnVldHlwZSIsICJmb250LXZhcmlhbnQtZWFzdC1hc2lhbiIsICJmdWxsLXdpZHRo
IiwgInQiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZlYXR1cmVzVGVzdFRU
RiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNpYW4iLCAicHJvcG9y
dGlvbmFsLXdpZHRoIiwgInUiKTsKLWFkZEVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQyLCAiRm9udEZl
YXR1cmVzVGVzdFRURiIsICJ0dGYiLCAidHJ1ZXR5cGUiLCAiZm9udC12YXJpYW50LWVhc3QtYXNp
YW4iLCAicnVieSIsICJ2Iik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1vdmVycmlkZS1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJy
aWRlLWV4cGVjdGVkLmh0bWwKaW5kZXggYTk0MTRiYTgyYWQyYzE1ZjFkYTg3MDM5NTIwMzUwYjUx
YWY0OGJmZi4uYWRlNmZjZTU5ZTg5ZDMwZWM5MzdjNjRlMGRkMWE1ZjY3Mzg1YmU3NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJyaWRlLWV4
cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNl
LW92ZXJyaWRlLWV4cGVjdGVkLmh0bWwKQEAgLTE2LDExICsxNiw3IEBACiBUaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IGxvY2FsIGZvbnQgZmVhdHVyZSBzdHlsZXMgY2FuIG92ZXJyaWRlIHRoZSBm
b250IGZlYXR1cmUgc3R5bGVzIGRlY2xhcmVkIGluIEBmb250LWZhY2UgYmxvY2tzLgogPGRpdiBz
dHlsZT0iZm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0T1RGOyI+QUE8L2Rpdj4KIDxkaXYgc3R5
bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdE9URjsiPkJCPC9kaXY+Ci08ZGl2IHN0eWxl
PSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RPVEY7Ij5BQTwvZGl2PgotPGRpdiBzdHlsZT0i
Zm9udDogNDBweCBGb250RmVhdHVyZXNUZXN0T1RGOyI+QkI8L2Rpdj4KLTxkaXYgc3R5bGU9ImZv
bnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdFRURjsiPkFBPC9kaXY+Ci08ZGl2IHN0eWxlPSJmb250
OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RUVEY7Ij5CQjwvZGl2PgogPGRpdiBzdHlsZT0iZm9udDog
NDBweCBGb250RmVhdHVyZXNUZXN0VFRGOyI+QUE8L2Rpdj4KIDxkaXYgc3R5bGU9ImZvbnQ6IDQw
cHggRm9udEZlYXR1cmVzVGVzdFRURjsiPkJCPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLW92ZXJyaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbAppbmRleCBmY2UyYjAyMDU2
NzEzMmE0OTYwMjBjNTUwNTgzNmY2Yjg1YTUwODZjLi45MzRkZmYzMzU2NGVjNDMyMzY4MzNiNWRm
NDExODVlMGQ3NGRiMjIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZvbnQtdmFyaWFu
dC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZvbnQtdmFy
aWFudC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbApAQCAtNywzMiArNywxOCBAQAogICAgIHNyYzog
dXJsKCJyZXNvdXJjZXMvRm9udFdpdGhGZWF0dXJlcy5vdGYiKSBmb3JtYXQoIm9wZW50eXBlIik7
CiAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAidGl0bCIgMTsKIH0KLUBmb250LWZhY2Ugewot
ICAgIGZvbnQtZmFtaWx5OiAiRm9udEZlYXR1cmVzVGVzdE9URjIiOwotICAgIHNyYzogdXJsKCJy
ZXNvdXJjZXMvRm9udFdpdGhGZWF0dXJlcy5vdGYiKSBmb3JtYXQoIm9wZW50eXBlIik7Ci0gICAg
Zm9udC12YXJpYW50LWNhcHM6IHRpdGxpbmctY2FwczsKLX0KIEBmb250LWZhY2UgewogICAgIGZv
bnQtZmFtaWx5OiAiRm9udEZlYXR1cmVzVGVzdFRURiI7CiAgICAgc3JjOiB1cmwoInJlc291cmNl
cy9Gb250V2l0aEZlYXR1cmVzLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsKICAgICBmb250LWZl
YXR1cmUtc2V0dGluZ3M6ICJ0aXRsIiAxOwogfQotQGZvbnQtZmFjZSB7Ci0gICAgZm9udC1mYW1p
bHk6ICJGb250RmVhdHVyZXNUZXN0VFRGMiI7Ci0gICAgc3JjOiB1cmwoInJlc291cmNlcy9Gb250
V2l0aEZlYXR1cmVzLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsKLSAgICBmb250LXZhcmlhbnQt
Y2FwczogdGl0bGluZy1jYXBzOwotfQogPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5PgogVGhpcyB0
ZXN0IG1ha2VzIHN1cmUgdGhhdCBsb2NhbCBmb250IGZlYXR1cmUgc3R5bGVzIGNhbiBvdmVycmlk
ZSB0aGUgZm9udCBmZWF0dXJlIHN0eWxlcyBkZWNsYXJlZCBpbiBAZm9udC1mYWNlIGJsb2Nrcy4K
IDxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdE9URjsiPk9PPC9kaXY+CiA8
ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RPVEY7IGZvbnQtZmVhdHVyZS1z
ZXR0aW5nczogJ3RpdGwnIDA7Ij5PTzwvZGl2PgotPGRpdiBzdHlsZT0iZm9udDogNDBweCBGb250
RmVhdHVyZXNUZXN0T1RGMjsiPk9PPC9kaXY+Ci08ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRG
ZWF0dXJlc1Rlc3RPVEYyOyBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICd0aXRsJyAwOyI+T088L2Rp
dj4KIDxkaXYgc3R5bGU9ImZvbnQ6IDQwcHggRm9udEZlYXR1cmVzVGVzdFRURjsiPmFhPC9kaXY+
CiA8ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZvbnRGZWF0dXJlc1Rlc3RUVEY7IGZvbnQtZmVhdHVy
ZS1zZXR0aW5nczogJ3RpdGwnIDA7Ij5hYTwvZGl2PgotPGRpdiBzdHlsZT0iZm9udDogNDBweCBG
b250RmVhdHVyZXNUZXN0VFRGMjsiPmFhPC9kaXY+Ci08ZGl2IHN0eWxlPSJmb250OiA0MHB4IEZv
bnRGZWF0dXJlc1Rlc3RUVEYyOyBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICd0aXRsJyAwOyI+YWE8
L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWVtcHR5LXN0
cmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWVtcHR5
LXN0cmluZy1leHBlY3RlZC50eHQKaW5kZXggOGY3Y2NlM2NiODYxZjI3YTY4MTRjY2NhYTNiZjU4
ODEwMTk5ZjU5NS4uNzk3NWQ0MWMyMWE4MGQ5ZTA4OWFjYTlmMjYwNzFhYjczYTM0Yjk3NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1lbXB0eS1zdHJpbmctZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtZW1wdHktc3Ry
aW5nLWV4cGVjdGVkLnR4dApAQCAtMTIsOSArMTIsNiBAQCBQQVNTIGZvbnRmYWNlLndlaWdodCA9
ICcnIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNo
CiBQQVNTIGZvbnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChcJ2FzZGZcJykn
LCB7dW5pY29kZVJhbmdlOiAnJ30pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBmb250
ZmFjZS51bmljb2RlUmFuZ2UgaXMgIlUrMC0xMGZmZmYiCiBQQVNTIGZvbnRmYWNlLnVuaWNvZGVS
YW5nZSA9ICcnIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90
IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KLVBBU1MgZm9udGZhY2UgPSBuZXcgRm9udEZh
Y2UoJ1dlYkZvbnQnLCAndXJsKFwnYXNkZlwnKScsIHt2YXJpYW50OiAnJ30pIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgotUEFTUyBmb250ZmFjZS52YXJpYW50IGlzICJub3JtYWwiCi1QQVNTIGZv
bnRmYWNlLnZhcmlhbnQgPSAnJyB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJp
bmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCiBQQVNTIGZvbnRmYWNlID0g
bmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChcJ2FzZGZcJyknLCB7ZmVhdHVyZVNldHRpbmdz
OiAnJ30pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBmb250ZmFjZS5mZWF0dXJlU2V0
dGluZ3MgaXMgIm5vcm1hbCIKIFBBU1MgZm9udGZhY2UuZmVhdHVyZVNldHRpbmdzID0gJycgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4
cGVjdGVkIHBhdHRlcm4uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQt
ZmFjZS1lbXB0eS1zdHJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2Ut
ZW1wdHktc3RyaW5nLmh0bWwKaW5kZXggMGE5MGUxY2EyM2JmN2VkY2MyMGQzMjAyOWZiZDQzNTVk
M2UyYmZjMi4uMzFlZDY2MmUyOGJiMDdlNGVkZGY5OTM2YmIxM2MyZWUxMGIxNmFlOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1lbXB0eS1zdHJpbmcuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLWVtcHR5LXN0cmluZy5odG1sCkBA
IC0xNyw5ICsxNyw2IEBAIHNob3VsZFRocm93KCJmb250ZmFjZS53ZWlnaHQgPSAnJyIpOwogc2hv
dWxkTm90VGhyb3coImZvbnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChcXFwn
YXNkZlxcXCcpJywge3VuaWNvZGVSYW5nZTogJyd9KSIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJmb250ZmFjZS51bmljb2RlUmFuZ2UiLCAiVSswLTEwZmZmZiIpOwogc2hvdWxkVGhyb3coImZv
bnRmYWNlLnVuaWNvZGVSYW5nZSA9ICcnIik7Ci1zaG91bGROb3RUaHJvdygiZm9udGZhY2UgPSBu
ZXcgRm9udEZhY2UoJ1dlYkZvbnQnLCAndXJsKFxcXCdhc2RmXFxcJyknLCB7dmFyaWFudDogJyd9
KSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250ZmFjZS52YXJpYW50IiwgIm5vcm1hbCIp
Owotc2hvdWxkVGhyb3coImZvbnRmYWNlLnZhcmlhbnQgPSAnJyIpOwogc2hvdWxkTm90VGhyb3co
ImZvbnRmYWNlID0gbmV3IEZvbnRGYWNlKCdXZWJGb250JywgJ3VybChcXFwnYXNkZlxcXCcpJywg
e2ZlYXR1cmVTZXR0aW5nczogJyd9KSIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb250ZmFj
ZS5mZWF0dXJlU2V0dGluZ3MiLCAibm9ybWFsIik7CiBzaG91bGRUaHJvdygiZm9udGZhY2UuZmVh
dHVyZVNldHRpbmdzID0gJyciKTsKQEAgLTI4LDQgKzI1LDQgQEAgc2hvdWxkVGhyb3coImZvbnRm
YWNlLmZhbWlseSA9ICcnIik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvZm9udC1mYWNlLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dAppbmRleCA3MWNkYTdhMTAz
ZmMyZGRhZmJjM2ZhNjg0YzgyMmYxNjFhYmM4NWZkLi5iZDUyODVkYjBkMzg4NjI1YWI0MzQwMjI2
MzNiM2RlZWQ0MGYzOTQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1m
YWNlLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9m
b250LWZhY2UtamF2YXNjcmlwdC1leHBlY3RlZC50eHQKQEAgLTMsNyArMyw2IEBAIFBBU1MgbmV3
IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywge30pLnN0eWxlIGlzICJu
b3JtYWwiCiBQQVNTIG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwnKScs
IHt9KS53ZWlnaHQgaXMgIm5vcm1hbCIKIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScs
ICd1cmwoXCdhc2RmXCcpJywge30pLnN0cmV0Y2ggaXMgIm5vcm1hbCIKIFBBU1MgbmV3IEZvbnRG
YWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywge30pLnVuaWNvZGVSYW5nZSBpcyAi
VSswLTEwZmZmZiIKLVBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2Rm
XCcpJywge30pLnZhcmlhbnQgaXMgIm5vcm1hbCIKIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlf
bmFtZScsICd1cmwoXCdhc2RmXCcpJywge30pLmZlYXR1cmVTZXR0aW5ncyBpcyAibm9ybWFsIgog
UEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3N0eWxl
JzogJ25vcm1hbCd9KS5zdHlsZSBpcyAibm9ybWFsIgogUEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWls
eV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3N0eWxlJzogJ2luaGVyaXQnfSkuc3R5bGUgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4
cGVjdGVkIHBhdHRlcm4uLgpAQCAtMTksMjIgKzE4LDE3IEBAIFBBU1MgbmV3IEZvbnRGYWNlKCdm
YW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeyd3ZWlnaHQnOiAnaW5oZXJpdCd9KS53ZWln
aHQKIFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeydz
dHJldGNoJzogJ3VsdHJhLWV4cGFuZGVkJ30pLnN0cmV0Y2ggaXMgInVsdHJhLWV4cGFuZGVkIgog
UEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3VuaWNv
ZGVSYW5nZSc6ICdVKzI2J30pLnVuaWNvZGVSYW5nZSBpcyAiVSsyNiIKIFBBU1MgbmV3IEZvbnRG
YWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeyd1bmljb2RlUmFuZ2UnOiAnVSsw
LTdGJ30pLnVuaWNvZGVSYW5nZSBpcyAiVSswLTdmIgotUEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWls
eV9uYW1lJywgJ3VybChcJ2FzZGZcJyknLCB7J3ZhcmlhbnQnOiAndmFyaWFudF9uYW1lJ30pLnZh
cmlhbnQgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0
Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uLgotUEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1l
JywgJ3VybChcJ2FzZGZcJyknLCB7J3ZhcmlhbnQnOiAnc21hbGwtY2Fwcyd9KS52YXJpYW50IGlz
ICJzbWFsbC1jYXBzIgotUEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcJ2Fz
ZGZcJyknLCB7J3ZhcmlhbnQnOiAnc21hbGwtY2FwcyBjb21tb24tbGlnYXR1cmVzJ30pLnZhcmlh
bnQgaXMgImNvbW1vbi1saWdhdHVyZXMgc21hbGwtY2FwcyIKIFBBU1MgbmV3IEZvbnRGYWNlKCdm
YW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywgeydmZWF0dXJlU2V0dGluZ3MnOiAnXCd0aXRs
XCcnfSkuZmVhdHVyZVNldHRpbmdzIGlzICJcInRpdGxcIiIKIFBBU1MgZXZlcnl0aGluZy5zdHls
ZSBpcyAiaXRhbGljIgogUEFTUyBldmVyeXRoaW5nLndlaWdodCBpcyAiYm9sZCIKIFBBU1MgZXZl
cnl0aGluZy5zdHJldGNoIGlzICJleHRyYS1leHBhbmRlZCIKIFBBU1MgZXZlcnl0aGluZy51bmlj
b2RlUmFuZ2UgaXMgIlUrMjYiCi1QQVNTIGV2ZXJ5dGhpbmcudmFyaWFudCBpcyAic21hbGwtY2Fw
cyIKIFBBU1MgZXZlcnl0aGluZy5mZWF0dXJlU2V0dGluZ3MgaXMgIlwidGl0bFwiIgogUEFTUyBl
dmVyeXRoaW5nLmZhbWlseSBpcyAib3RoZXJfZmFtaWx5X25hbWUiCiBQQVNTIGV2ZXJ5dGhpbmcu
c3R5bGUgaXMgIm5vcm1hbCIKIFBBU1MgZXZlcnl0aGluZy53ZWlnaHQgaXMgIjMwMCIKIFBBU1Mg
ZXZlcnl0aGluZy5zdHJldGNoIGlzICJjb25kZW5zZWQiCiBQQVNTIGV2ZXJ5dGhpbmcudW5pY29k
ZVJhbmdlIGlzICJVKzAtN2YiCi1QQVNTIGV2ZXJ5dGhpbmcudmFyaWFudCBpcyAic3RhY2tlZC1m
cmFjdGlvbnMiCiBQQVNTIGV2ZXJ5dGhpbmcuZmVhdHVyZVNldHRpbmdzIGlzICJcInNtY3BcIiIK
IFBBU1MgbmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXCdhc2RmXCcpJywge30pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywg
bmV3QXJyYXlCdWZmZXIsIHt9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9mb250LWZhY2UtamF2YXNjcmlwdC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1qYXZhc2NyaXB0Lmh0bWwKaW5kZXggZTM0NDZkYmIw
Mzc4NTdhYWYwZDY2ZDYwZDdhNzQwYTE2NTdmODg3Ni4uZThjNTU1YzUzYzUwNjlkYzExYjc4MTFm
N2UzNDk3NWU0NzU5YmFlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQt
ZmFjZS1qYXZhc2NyaXB0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFj
ZS1qYXZhc2NyaXB0Lmh0bWwKQEAgLTEwLDcgKzEwLDYgQEAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHt9KS5zdHls
ZSIKIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1
cmwoXFwnYXNkZlxcJyknLCB7fSkud2VpZ2h0IiwgIm5vcm1hbCIpOwogc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHt9
KS5zdHJldGNoIiwgIm5vcm1hbCIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZh
Y2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHt9KS51bmljb2RlUmFuZ2UiLCAi
VSswLTEwZmZmZiIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWls
eV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHt9KS52YXJpYW50IiwgIm5vcm1hbCIpOwogc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdh
c2RmXFwnKScsIHt9KS5mZWF0dXJlU2V0dGluZ3MiLCAibm9ybWFsIik7CiAKIHNob3VsZEJlRXF1
YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNkZlxcJykn
LCB7J3N0eWxlJzogJ25vcm1hbCd9KS5zdHlsZSIsICJub3JtYWwiKTsKQEAgLTI3LDE3ICsyNiwx
MyBAQCBzaG91bGRUaHJvdygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNk
ZlxcJyknLCB7J3dlaWdodCc6ICdpbmhlcml0Jwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcg
Rm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdhc2RmXFwnKScsIHsnc3RyZXRjaCc6ICd1
bHRyYS1leHBhbmRlZCd9KS5zdHJldGNoIiwgInVsdHJhLWV4cGFuZGVkIik7CiBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcp
Jywgeyd1bmljb2RlUmFuZ2UnOiAnVSsyNid9KS51bmljb2RlUmFuZ2UiLCAiVSsyNiIpOwogc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1lJywgJ3VybChcXCdh
c2RmXFwnKScsIHsndW5pY29kZVJhbmdlJzogJ1UrMC03Rid9KS51bmljb2RlUmFuZ2UiLCAiVSsw
LTdmIik7Ci1zaG91bGRUaHJvdygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwn
YXNkZlxcJyknLCB7J3ZhcmlhbnQnOiAndmFyaWFudF9uYW1lJ30pLnZhcmlhbnQiKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1cmwoXFwnYXNk
ZlxcJyknLCB7J3ZhcmlhbnQnOiAnc21hbGwtY2Fwcyd9KS52YXJpYW50IiwgInNtYWxsLWNhcHMi
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEZvbnRGYWNlKCdmYW1pbHlfbmFtZScsICd1
cmwoXFwnYXNkZlxcJyknLCB7J3ZhcmlhbnQnOiAnc21hbGwtY2FwcyBjb21tb24tbGlnYXR1cmVz
J30pLnZhcmlhbnQiLCAiY29tbW9uLWxpZ2F0dXJlcyBzbWFsbC1jYXBzIik7CiBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFxcJ2FzZGZcXCcp
JywgeydmZWF0dXJlU2V0dGluZ3MnOiAnXFwndGl0bFxcJyd9KS5mZWF0dXJlU2V0dGluZ3MiLCAi
XCJ0aXRsXCIiKTsKIAotdmFyIGV2ZXJ5dGhpbmcgPSBuZXcgRm9udEZhY2UoJ2ZhbWlseV9uYW1l
JywgJ3VybChcJ2FzZGZcJyknLCB7J3N0eWxlJzogJ2l0YWxpYycsICd3ZWlnaHQnOiAnYm9sZCcs
ICdzdHJldGNoJzogJ2V4dHJhLWV4cGFuZGVkJywgJ3VuaWNvZGVSYW5nZSc6ICdVKzI2JywgJ3Zh
cmlhbnQnOiAnc21hbGwtY2FwcycsICdmZWF0dXJlU2V0dGluZ3MnOiAnXCd0aXRsXCcnfSk7Cit2
YXIgZXZlcnl0aGluZyA9IG5ldyBGb250RmFjZSgnZmFtaWx5X25hbWUnLCAndXJsKFwnYXNkZlwn
KScsIHsnc3R5bGUnOiAnaXRhbGljJywgJ3dlaWdodCc6ICdib2xkJywgJ3N0cmV0Y2gnOiAnZXh0
cmEtZXhwYW5kZWQnLCAndW5pY29kZVJhbmdlJzogJ1UrMjYnLCAnZmVhdHVyZVNldHRpbmdzJzog
J1wndGl0bFwnJ30pOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLnN0eWxlIiwg
Iml0YWxpYyIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLndlaWdodCIsICJi
b2xkIik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZXJ5dGhpbmcuc3RyZXRjaCIsICJleHRy
YS1leHBhbmRlZCIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVyeXRoaW5nLnVuaWNvZGVS
YW5nZSIsICJVKzI2Iik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZXJ5dGhpbmcudmFyaWFu
dCIsICJzbWFsbC1jYXBzIik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZXJ5dGhpbmcuZmVh
dHVyZVNldHRpbmdzIiwgIlwidGl0bFwiIik7CiAKIGV2ZXJ5dGhpbmcuZmFtaWx5ID0gIm90aGVy
X2ZhbWlseV9uYW1lIjsKQEAgLTUwLDggKzQ1LDYgQEAgZXZlcnl0aGluZy5zdHJldGNoID0gImNv
bmRlbnNlZCI7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZXJ5dGhpbmcuc3RyZXRjaCIsICJj
b25kZW5zZWQiKTsKIGV2ZXJ5dGhpbmcudW5pY29kZVJhbmdlID0gIlUrMC03RiI7CiBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImV2ZXJ5dGhpbmcudW5pY29kZVJhbmdlIiwgIlUrMC03ZiIpOwotZXZl
cnl0aGluZy52YXJpYW50ID0gInN0YWNrZWQtZnJhY3Rpb25zIjsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygiZXZlcnl0aGluZy52YXJpYW50IiwgInN0YWNrZWQtZnJhY3Rpb25zIik7CiBldmVyeXRo
aW5nLmZlYXR1cmVTZXR0aW5ncyA9ICInc21jcCciOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJl
dmVyeXRoaW5nLmZlYXR1cmVTZXR0aW5ncyIsICJcInNtY3BcIiIpOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg2MmZjNWM1MGMwMDU4NDA1YzVlOWVj
NzY0N2U5YmNlNzE5ZWE3ZDIuLjU4YWFiN2QxZGM4MWUzMGE1MzFiYmQ2M2Y1MjE0NzdkNTg5ZmNk
ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC04NDYs
NyArODQ2LDYgQEAgd2Via2l0Lm9yZy9iLzE1MjYxOCBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9z
eXN0ZW0tbGFuZ3VhZ2UvZGVjbGFyYXRpdmUtbGFuZ3VhZ2UKIAogIyBUaGlzIHBvcnQgZG9lc24n
dCBzdXBwb3J0IHNtYWxsLWNhcHMgc3ludGhlc2lzLgogd2Via2l0Lm9yZy9iLzE1MjYyMCBjc3Mz
L2ZvbnQtdmFyaWFudC1hbGwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9i
LzE1MjYyMCBjc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2UtYWxsLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTI2MjAgY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNl
LW92ZXJyaWRlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTI2MjAg
Y3NzMy9mb250LXZhcmlhbnQtcGV0aXRlLWNhcHMtc3ludGhlc2lzLWNvdmVyYWdlLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTI2MjAgY3NzMy9mb250LXZhcmlhbnQt
cGV0aXRlLWNhcHMtc3ludGhlc2lzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODU2MTYzOTI0YTdmYTEwMzkz
YmQ5NTQ2NjZlZmY3ZTg5OTU2NDcwMy4uZTM0ZjlkMGE2Mzg0NDY2ZDhjNjE4MjRhOGQ2NTZiYjNl
ZDU0MDRiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTUyOSw3ICs1MjksNiBAQCBmYXN0L2Nzcy9kcmFnZ2FibGUtcmVnaW9uLXBhcnNlci5odG1sIFsg
U2tpcCBdCiBjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy1yZW5kZXJpbmcuaHRtbCBbIFNraXAg
XQogCiB3ZWJraXQub3JnL2IvMTQ5NzcxIGNzczMvZm9udC1mZWF0dXJlLXNldHRpbmdzLWZvbnQt
ZmFjZS1yZW5kZXJpbmcuaHRtbCBbIFNraXAgXSAjIFdvbnRGaXgKLXdlYmtpdC5vcmcvYi8xNDk3
NzEgY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLWFsbC5odG1sIFsgU2tpcCBdICMgV29udEZp
eAogd2Via2l0Lm9yZy9iLzE0OTc3MSBjc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2Utb3ZlcnJp
ZGUuaHRtbCBbIFNraXAgXSAjIFdvbnRGaXgKIHdlYmtpdC5vcmcvYi8xNDk3NzQgY3NzMy9mb250
LXZhcmlhbnQtcGV0aXRlLWNhcHMtc3ludGhlc2lzLWNvdmVyYWdlLmh0bWwgWyBTa2lwIF0gIyBX
b250Rml4CiB3ZWJraXQub3JnL2IvMTQ5Nzc0IGNzczMvZm9udC12YXJpYW50LXBldGl0ZS1jYXBz
LXN5bnRoZXNpcy5odG1sIFsgU2tpcCBdICMgV29udEZpeApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOTlhZjI3MDBjYzljZDkzOTZjYTVi
YzgyNzEwNDlhZTkzYjE0YjE4Yi4uOWMxMzNjNTg4ZWJhNDQ5OWM3YTVhZWE1ZGYyZjljZmI1ODdl
NTA1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xMTcyLDcgKzExNzIsNiBAQCBjc3MzL2ZvbnQtdmFyaWFudC1zeW50aGVzaXMtamRh
Z2dldHQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIyBGb250IGZlYXR1cmUgc2V0dGluZ3Mg
aXMgbm90IGltcGxlbWVudGVkLgogY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVyaW5n
Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xNDk3NzEgY3NzMy9mb250LWZlYXR1cmUtc2V0
dGluZ3MtZm9udC1mYWNlLXJlbmRlcmluZy5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTQ5
NzcxIGNzczMvZm9udC12YXJpYW50LWZvbnQtZmFjZS1hbGwuaHRtbCBbIFNraXAgXQogd2Via2l0
Lm9yZy9iLzE0OTc3MSBjc3MzL2ZvbnQtdmFyaWFudC1mb250LWZhY2Utb3ZlcnJpZGUuaHRtbCBb
IFNraXAgXQogd2Via2l0Lm9yZy9iLzE0OTc3NCBjc3MzL2ZvbnQtdmFyaWFudC1wZXRpdGUtY2Fw
cy1zeW50aGVzaXMtY292ZXJhZ2UuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE0OTc3NCBj
c3MzL2ZvbnQtdmFyaWFudC1wZXRpdGUtY2Fwcy1zeW50aGVzaXMuaHRtbCBbIFNraXAgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjNTMyZjk2ZTA1NTY3
MzRiMzk1MjVhYWU0YmI1MmZhZGNiNzA1MjU2Li41ZmZlYjZjZTg3MjZiYmRkM2E2OWU5NzRhYWVl
MjY2MjI4NTFmMDYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTU4NSw3ICsxNTg1LDYgQEAgQnVnKFdQRSkgY3NzMy9mb250LWZlYXR1cmUtc2V0dGlu
Z3MtZm9udC1mYWNlLXJlbmRlcmluZy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZQogQnVnKFdQRSkg
Y3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVyaW5nLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIEJ1ZyhXUEUpIGNzczMvZm9udC1zeW50aGVzaXMtc21hbGwtY2Fwcy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBCdWcoV1BFKSBjc3MzL2ZvbnQtdmFyaWFudC1hbGwuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotQnVnKFdQRSkgY3NzMy9mb250LXZhcmlhbnQtZm9udC1mYWNlLWFs
bC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBCdWcoV1BFKSBjc3MzL2ZvbnQtdmFyaWFudC1m
b250LWZhY2Utb3ZlcnJpZGUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogQnVnKFdQRSkgY3Nz
My9mb250LXZhcmlhbnQtcGV0aXRlLWNhcHMtc3ludGhlc2lzLWNvdmVyYWdlLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIEJ1ZyhXUEUpIGNzczMvZm9udC12YXJpYW50LXBldGl0ZS1jYXBzLXN5
bnRoZXNpcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>