<?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>218165</bug_id>
          
          <creation_ts>2020-10-25 19:52:50 -0700</creation_ts>
          <short_desc>[LFC] Rename functions with ContentWidth/HeightAndMargin return type</short_desc>
          <delta_ts>2020-10-26 06:33:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1701347</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-10-25 19:52:50 -0700</bug_when>
    <thetext>inFlowNonReplacedWidthAndMargin -&gt; inFlowNonReplacedContentWidthAndMargin etc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701349</commentid>
    <comment_count>1</comment_count>
      <attachid>412287</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-10-25 19:56:16 -0700</bug_when>
    <thetext>Created attachment 412287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701432</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-26 06:32:29 -0700</bug_when>
    <thetext>Committed r268974: &lt;https://trac.webkit.org/changeset/268974&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412287.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701433</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-26 06:33:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/70677605&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412287</attachid>
            <date>2020-10-25 19:56:16 -0700</date>
            <delta_ts>2020-10-26 06:32:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218165-20201025195615.patch</filename>
            <type>text/plain</type>
            <size>38931</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4OTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZkOTQyNjhjYmE2OTVk
NDljMTI2Y2QyNjYwZjE1NTc5NjQ1ODZjMi4uYmZhZjZhODQ4NjI0NjBlZGUzYzVhZWNlMTVhOTIy
ZjdiZTE5ZGU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIwLTEwLTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gUmVuYW1lIGZ1bmN0
aW9ucyB3aXRoIENvbnRlbnRXaWR0aC9IZWlnaHRBbmRNYXJnaW4gcmV0dXJuIHR5cGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODE2NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEUuZy4gaW5saW5lQmxv
Y2tXaWR0aEFuZE1hcmdpbiBkb2VzIG5vdCBpbmRpY2F0ZSB3aGV0aGVyIGl0IGNvbXB1dGVzIGJv
cmRlciwgcGFkZGluZyBvciBjb250ZW50IGJveCB3aWR0aC4KKyAgICAgICAgTGV0J3MgcmVuYW1l
IEdlb21ldHJ5OjoqV2lkdGhBbmRNYXJnaW4gYW5kIEdlb21ldHJ5OjoqSGVpZ2h0QW5kTWFyZ2lu
IHRvIEdlb21ldHJ5OjoqQ29udGVudFdpZHRoQW5kTWFyZ2luIGFuZCBHZW9tZXRyeTo6KkNvbnRl
bnRIZWlnaHRBbmRNYXJnaW4uCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQu
aDoKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6b3V0T2ZG
bG93UmVwbGFjZWRWZXJ0aWNhbEdlb21ldHJ5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dSZXBsYWNlZEhvcml6
b250YWxHZW9tZXRyeSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6ZmxvYXRpbmdOb25SZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1hcmdpbik6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6
ZmxvYXRpbmdSZXBsYWNlZENvbnRlbnRIZWlnaHRBbmRNYXJnaW4gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5nUmVw
bGFjZWRDb250ZW50V2lkdGhBbmRNYXJnaW4pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpG
b3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5nQ29udGVudEhlaWdodEFuZE1hcmdp
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6ZmxvYXRpbmdDb250ZW50V2lkdGhBbmRNYXJnaW4pOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkQ29u
dGVudEhlaWdodEFuZE1hcmdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFjZWRDb250ZW50V2lkdGhBbmRN
YXJnaW4pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnk6OmZsb2F0aW5nTm9uUmVwbGFjZWRXaWR0aEFuZE1hcmdpbik6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6ZmxvYXRp
bmdSZXBsYWNlZEhlaWdodEFuZE1hcmdpbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6ZmxvYXRpbmdSZXBsYWNl
ZFdpZHRoQW5kTWFyZ2luKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpmbG9hdGluZ0hlaWdodEFuZE1hcmdpbiBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6ZmxvYXRpbmdXaWR0aEFuZE1hcmdpbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFjZWRI
ZWlnaHRBbmRNYXJnaW4gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkV2lkdGhBbmRNYXJn
aW4pOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aEFuZE1hcmdpbik6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW4pOgor
ICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5o
OgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6OmluRmxvd05vblJlcGxhY2VkQ29udGVudEhlaWdodEFuZE1hcmdp
bik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdl
b21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1hcmdpbik6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZs
b3dSZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1hcmdpbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dDb250ZW50SGVpZ2h0
QW5kTWFyZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6R2VvbWV0cnk6OmluRmxvd0NvbnRlbnRXaWR0aEFuZE1hcmdpbik6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRl
ZENvbnRlbnRXaWR0aEFuZE1hcmdpbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1h
cmdpbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZFdpZHRoQW5kTWFyZ2luKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
R2VvbWV0cnk6OmluRmxvd1JlcGxhY2VkV2lkdGhBbmRNYXJnaW4pOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5G
bG93SGVpZ2h0QW5kTWFyZ2luKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd1dpZHRoQW5kTWFyZ2luKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6R2VvbWV0cnk6OmNvbXB1dGVkV2lkdGhBbmRNYXJnaW4pOiBEZWxldGVkLgorICAgICAgICAq
IGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvdGFibGV3cmFwcGVyL1RhYmxlV3JhcHBlckJsb2NrRm9y
bWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZVdyYXBw
ZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlV2lkdGhBbmRNYXJnaW5Gb3JUYWJsZUJv
eCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW5Gb3JUYWJsZUJveCk6CisgICAgICAgICog
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVdp
ZHRoQW5kTWFyZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW4pOgorICAgICAgICAqIGxheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRy
eTo6aW5saW5lQmxvY2tDb250ZW50V2lkdGhBbmRNYXJnaW4pOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZUJsb2NrQ29u
dGVudEhlaWdodEFuZE1hcmdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lQmxvY2tXaWR0aEFuZE1hcmdp
bik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdD
b250ZXh0OjpHZW9tZXRyeTo6aW5saW5lQmxvY2tIZWlnaHRBbmRNYXJnaW4gY29uc3QpOiBEZWxl
dGVkLgorCiAyMDIwLTEwLTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFtMRkMgRGlzcGxheV0gTW92ZSBjb2RlIGZvciBwYWludGluZyBhIHNpbmds
ZSBEaXNwbGF5OjpCb3ggaW50byBpdHMgb3duIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9G
b3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDBlNTRhMDdhZjgxMzUwYWQ3Yjc0MmMxMTJkZjk5NTAw
ZWQwMzNkMTcuLjY3OTUxZDBlYzcwNDMzNTBlZjE5M2M4NjRmNWRjOWZiY2FlNTBmMmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCkBAIC0xMjYsMTEgKzEyNiwx
MSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIFZlcnRpY2FsR2VvbWV0cnkgb3V0T2ZGbG93VmVydGlj
YWxHZW9tZXRyeShjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25z
dCBWZXJ0aWNhbENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzJikg
Y29uc3Q7CiAgICAgICAgIEhvcml6b250YWxHZW9tZXRyeSBvdXRPZkZsb3dIb3Jpem9udGFsR2Vv
bWV0cnkoY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgY29uc3QgVmVy
dGljYWxDb25zdHJhaW50cyYsIGNvbnN0IE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzJik7CiAK
LSAgICAgICAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBmbG9hdGluZ0hlaWdodEFuZE1hcmdpbihj
b25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlkZGVu
VmVydGljYWxWYWx1ZXMmKSBjb25zdDsKLSAgICAgICAgQ29udGVudFdpZHRoQW5kTWFyZ2luIGZs
b2F0aW5nV2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFp
bnRzJiwgY29uc3QgT3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMmKTsKKyAgICAgICAgQ29udGVu
dEhlaWdodEFuZE1hcmdpbiBmbG9hdGluZ0NvbnRlbnRIZWlnaHRBbmRNYXJnaW4oY29uc3QgQm94
JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2Fs
VmFsdWVzJikgY29uc3Q7CisgICAgICAgIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBmbG9hdGluZ0Nv
bnRlbnRXaWR0aEFuZE1hcmdpbihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWlu
dHMmLCBjb25zdCBPdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYpOwogCi0gICAgICAgIENvbnRl
bnRIZWlnaHRBbmRNYXJnaW4gaW5saW5lUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4oY29uc3QgUmVw
bGFjZWRCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBPcHRpb25hbDxWZXJ0aWNh
bENvbnN0cmFpbnRzPiwgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzJikgY29uc3Q7Ci0g
ICAgICAgIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBpbmxpbmVSZXBsYWNlZFdpZHRoQW5kTWFyZ2lu
KGNvbnN0IFJlcGxhY2VkQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgT3B0aW9u
YWw8VmVydGljYWxDb25zdHJhaW50cz4sIGNvbnN0IE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVz
Jik7CisgICAgICAgIENvbnRlbnRIZWlnaHRBbmRNYXJnaW4gaW5saW5lUmVwbGFjZWRDb250ZW50
SGVpZ2h0QW5kTWFyZ2luKGNvbnN0IFJlcGxhY2VkQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0
cmFpbnRzJiwgT3B0aW9uYWw8VmVydGljYWxDb25zdHJhaW50cz4sIGNvbnN0IE92ZXJyaWRkZW5W
ZXJ0aWNhbFZhbHVlcyYpIGNvbnN0OworICAgICAgICBDb250ZW50V2lkdGhBbmRNYXJnaW4gaW5s
aW5lUmVwbGFjZWRDb250ZW50V2lkdGhBbmRNYXJnaW4oY29uc3QgUmVwbGFjZWRCb3gmLCBjb25z
dCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBPcHRpb25hbDxWZXJ0aWNhbENvbnN0cmFpbnRzPiwg
Y29uc3QgT3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMmKTsKIAogICAgICAgICBMYXlvdXRTaXpl
IGluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbk9mZnNldChjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9u
dGFsQ29uc3RyYWludHMmKSBjb25zdDsKIApAQCAtMTc3LDEwICsxNzcsMTAgQEAgcHJvdGVjdGVk
OgogICAgICAgICBWZXJ0aWNhbEdlb21ldHJ5IG91dE9mRmxvd05vblJlcGxhY2VkVmVydGljYWxH
ZW9tZXRyeShjb25zdCBDb250YWluZXJCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMm
LCBjb25zdCBWZXJ0aWNhbENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFs
dWVzJikgY29uc3Q7CiAgICAgICAgIEhvcml6b250YWxHZW9tZXRyeSBvdXRPZkZsb3dOb25SZXBs
YWNlZEhvcml6b250YWxHZW9tZXRyeShjb25zdCBDb250YWluZXJCb3gmLCBjb25zdCBIb3Jpem9u
dGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYpOwogCi0g
ICAgICAgIENvbnRlbnRIZWlnaHRBbmRNYXJnaW4gZmxvYXRpbmdSZXBsYWNlZEhlaWdodEFuZE1h
cmdpbihjb25zdCBSZXBsYWNlZEJveCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYsIGNv
bnN0IE92ZXJyaWRkZW5WZXJ0aWNhbFZhbHVlcyYpIGNvbnN0OwotICAgICAgICBDb250ZW50V2lk
dGhBbmRNYXJnaW4gZmxvYXRpbmdSZXBsYWNlZFdpZHRoQW5kTWFyZ2luKGNvbnN0IFJlcGxhY2Vk
Qm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlbkhvcml6
b250YWxWYWx1ZXMmKTsKKyAgICAgICAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBmbG9hdGluZ1Jl
cGxhY2VkQ29udGVudEhlaWdodEFuZE1hcmdpbihjb25zdCBSZXBsYWNlZEJveCYsIGNvbnN0IEhv
cml6b250YWxDb25zdHJhaW50cyYsIGNvbnN0IE92ZXJyaWRkZW5WZXJ0aWNhbFZhbHVlcyYpIGNv
bnN0OworICAgICAgICBDb250ZW50V2lkdGhBbmRNYXJnaW4gZmxvYXRpbmdSZXBsYWNlZENvbnRl
bnRXaWR0aEFuZE1hcmdpbihjb25zdCBSZXBsYWNlZEJveCYsIGNvbnN0IEhvcml6b250YWxDb25z
dHJhaW50cyYsIGNvbnN0IE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzJik7CiAKLSAgICAgICAg
Q29udGVudFdpZHRoQW5kTWFyZ2luIGZsb2F0aW5nTm9uUmVwbGFjZWRXaWR0aEFuZE1hcmdpbihj
b25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlkZGVu
SG9yaXpvbnRhbFZhbHVlcyYpOworICAgICAgICBDb250ZW50V2lkdGhBbmRNYXJnaW4gZmxvYXRp
bmdOb25SZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1hcmdpbihjb25zdCBCb3gmLCBjb25zdCBIb3Jp
em9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYpOwog
CiAgICAgICAgIExheW91dFVuaXQgc3RhdGljVmVydGljYWxQb3NpdGlvbkZvck91dE9mRmxvd1Bv
c2l0aW9uZWQoY29uc3QgQm94JiwgY29uc3QgVmVydGljYWxDb25zdHJhaW50cyYpIGNvbnN0Owog
ICAgICAgICBMYXlvdXRVbml0IHN0YXRpY0hvcml6b250YWxQb3NpdGlvbkZvck91dE9mRmxvd1Bv
c2l0aW9uZWQoY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJikgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRy
eS5jcHAKaW5kZXggMTRiODI3YjAyYjBkNDQzOGE3MDQwMjJkNzJmNjA4NWRhZThkZTM4ZC4uZDMz
NmJkNTIzMDUxNzgzNjJlMTRjMDQzYWM5YjU2OWU3NTdmYmZkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtNjM3LDcg
KzYzNyw3IEBAIFZlcnRpY2FsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpv
dXRPZkZsb3dSZXBsYWNlZFZlcnRpY2FsR2VvbWV0cnkoCiAKICAgICBhdXRvIHRvcCA9IGNvbXB1
dGVkVmFsdWUoc3R5bGUubG9naWNhbFRvcCgpLCBjb250YWluaW5nQmxvY2tXaWR0aCk7CiAgICAg
YXV0byBib3R0b20gPSBjb21wdXRlZFZhbHVlKHN0eWxlLmxvZ2ljYWxCb3R0b20oKSwgY29udGFp
bmluZ0Jsb2NrV2lkdGgpOwotICAgIGF1dG8gaGVpZ2h0ID0gaW5saW5lUmVwbGFjZWRIZWlnaHRB
bmRNYXJnaW4ocmVwbGFjZWRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25z
dHJhaW50cywgb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzKS5jb250ZW50SGVpZ2h0OworICAgIGF1
dG8gaGVpZ2h0ID0gaW5saW5lUmVwbGFjZWRDb250ZW50SGVpZ2h0QW5kTWFyZ2luKHJlcGxhY2Vk
Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHZlcnRpY2FsQ29uc3RyYWludHMsIG92ZXJyaWRk
ZW5WZXJ0aWNhbFZhbHVlcykuY29udGVudEhlaWdodDsKICAgICBhdXRvIGNvbXB1dGVkVmVydGlj
YWxNYXJnaW4gPSBHZW9tZXRyeTo6Y29tcHV0ZWRWZXJ0aWNhbE1hcmdpbihyZXBsYWNlZEJveCwg
aG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKICAgICBPcHRpb25hbDxMYXlvdXRVbml0PiB1c2VkTWFy
Z2luQmVmb3JlID0gY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbi5iZWZvcmU7CiAgICAgT3B0aW9uYWw8
TGF5b3V0VW5pdD4gdXNlZE1hcmdpbkFmdGVyID0gY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbi5hZnRl
cjsKQEAgLTcyNSw3ICs3MjUsNyBAQCBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRl
eHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dSZXBsYWNlZEhvcml6b250YWxHZW9tZQogICAgIGF1dG8g
Y29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luID0gR2VvbWV0cnk6OmNvbXB1dGVkSG9yaXpvbnRhbE1h
cmdpbihyZXBsYWNlZEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKICAgICBPcHRpb25hbDxM
YXlvdXRVbml0PiB1c2VkTWFyZ2luU3RhcnQgPSBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uc3Rh
cnQ7CiAgICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gdXNlZE1hcmdpbkVuZCA9IGNvbXB1dGVkSG9y
aXpvbnRhbE1hcmdpbi5lbmQ7Ci0gICAgYXV0byB3aWR0aCA9IGlubGluZVJlcGxhY2VkV2lkdGhB
bmRNYXJnaW4ocmVwbGFjZWRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25z
dHJhaW50cywgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMpLmNvbnRlbnRXaWR0aDsKKyAgICBh
dXRvIHdpZHRoID0gaW5saW5lUmVwbGFjZWRDb250ZW50V2lkdGhBbmRNYXJnaW4ocmVwbGFjZWRC
b3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cywgb3ZlcnJpZGRl
bkhvcml6b250YWxWYWx1ZXMpLmNvbnRlbnRXaWR0aDsKICAgICBhdXRvIHBhZGRpbmdMZWZ0ID0g
Ym94R2VvbWV0cnkucGFkZGluZ0xlZnQoKS52YWx1ZU9yKDApOwogICAgIGF1dG8gcGFkZGluZ1Jp
Z2h0ID0gYm94R2VvbWV0cnkucGFkZGluZ1JpZ2h0KCkudmFsdWVPcigwKTsKICAgICBhdXRvIGJv
cmRlckxlZnQgPSBib3hHZW9tZXRyeS5ib3JkZXJMZWZ0KCk7CkBAIC04NTEsNyArODUxLDcgQEAg
Q29udGVudEhlaWdodEFuZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXBs
aWNhdGVkQ2FzZXMoY29uc3QgQm94JgogICAgIHJldHVybiBDb250ZW50SGVpZ2h0QW5kTWFyZ2lu
IHsgKmhlaWdodCwgdXNlZFZlcnRpY2FsTWFyZ2luIH07CiB9CiAKLUNvbnRlbnRXaWR0aEFuZE1h
cmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5nTm9uUmVwbGFjZWRXaWR0
aEFuZE1hcmdpbihjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFp
bnRzJiBob3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFs
dWVzJiBvdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcykKK0NvbnRlbnRXaWR0aEFuZE1hcmdpbiBG
b3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5nTm9uUmVwbGFjZWRDb250ZW50V2lk
dGhBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6b250YWxDb25zdHJh
aW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBPdmVycmlkZGVuSG9yaXpvbnRhbFZh
bHVlcyYgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMpCiB7CiAgICAgQVNTRVJUKGxheW91dEJv
eC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpICYmICFsYXlvdXRCb3guaXNSZXBsYWNlZEJveCgpKTsK
IApAQCAtODczLDE3ICs4NzMsMTcgQEAgQ29udGVudFdpZHRoQW5kTWFyZ2luIEZvcm1hdHRpbmdD
b250ZXh0OjpHZW9tZXRyeTo6ZmxvYXRpbmdOb25SZXBsYWNlZFdpZHRoQW5kTWEKICAgICByZXR1
cm4gQ29udGVudFdpZHRoQW5kTWFyZ2luIHsgKndpZHRoLCB1c2VkSG9yaXpvbnRhbGxNYXJnaW4g
fTsKIH0KIAotQ29udGVudEhlaWdodEFuZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OmZsb2F0aW5nUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4oY29uc3QgUmVwbGFjZWRCb3gmIHJl
cGxhY2VkQm94LCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmIGhvcml6b250YWxDb25zdHJh
aW50cywgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzJiBvdmVycmlkZGVuVmVydGljYWxW
YWx1ZXMpIGNvbnN0CitDb250ZW50SGVpZ2h0QW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6ZmxvYXRpbmdSZXBsYWNlZENvbnRlbnRIZWlnaHRBbmRNYXJnaW4oY29uc3QgUmVw
bGFjZWRCb3gmIHJlcGxhY2VkQm94LCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmIGhvcml6
b250YWxDb25zdHJhaW50cywgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzJiBvdmVycmlk
ZGVuVmVydGljYWxWYWx1ZXMpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHJlcGxhY2VkQm94LmlzRmxv
YXRpbmdQb3NpdGlvbmVkKCkpOwogCiAgICAgLy8gMTAuNi4yIElubGluZSByZXBsYWNlZCBlbGVt
ZW50cywgYmxvY2stbGV2ZWwgcmVwbGFjZWQgZWxlbWVudHMgaW4gbm9ybWFsIGZsb3csICdpbmxp
bmUtYmxvY2snCiAgICAgLy8gcmVwbGFjZWQgZWxlbWVudHMgaW4gbm9ybWFsIGZsb3cgYW5kIGZs
b2F0aW5nIHJlcGxhY2VkIGVsZW1lbnRzCiAgICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdD
b250ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIltIZWlnaHRdW01hcmdpbl0gLT4gZmxvYXRpbmcgcmVw
bGFjZWQgLT4gcmVkaXJlY3RlZCB0byBpbmxpbmUgcmVwbGFjZWQiKTsKLSAgICByZXR1cm4gaW5s
aW5lUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4ocmVwbGFjZWRCb3gsIGhvcml6b250YWxDb25zdHJh
aW50cywgeyB9LCBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMpOworICAgIHJldHVybiBpbmxpbmVS
ZXBsYWNlZENvbnRlbnRIZWlnaHRBbmRNYXJnaW4ocmVwbGFjZWRCb3gsIGhvcml6b250YWxDb25z
dHJhaW50cywgeyB9LCBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMpOwogfQogCi1Db250ZW50V2lk
dGhBbmRNYXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpmbG9hdGluZ1JlcGxhY2Vk
V2lkdGhBbmRNYXJnaW4oY29uc3QgUmVwbGFjZWRCb3gmIHJlcGxhY2VkQm94LCBjb25zdCBIb3Jp
em9udGFsQ29uc3RyYWludHMmIGhvcml6b250YWxDb25zdHJhaW50cywgY29uc3QgT3ZlcnJpZGRl
bkhvcml6b250YWxWYWx1ZXMmIG92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzKQorQ29udGVudFdp
ZHRoQW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6ZmxvYXRpbmdSZXBsYWNl
ZENvbnRlbnRXaWR0aEFuZE1hcmdpbihjb25zdCBSZXBsYWNlZEJveCYgcmVwbGFjZWRCb3gsIGNv
bnN0IEhvcml6b250YWxDb25zdHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBP
dmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMpCiB7
CiAgICAgQVNTRVJUKHJlcGxhY2VkQm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpOwogCkBAIC04
OTUsNyArODk1LDcgQEAgQ29udGVudFdpZHRoQW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6ZmxvYXRpbmdSZXBsYWNlZFdpZHRoQW5kTWFyZ2kKIAogICAgIExPR19XSVRIX1NU
UkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbSGVpZ2h0XVtNYXJnaW5d
IC0+IGZsb2F0aW5nIHJlcGxhY2VkIC0+IHJlZGlyZWN0ZWQgdG8gaW5saW5lIHJlcGxhY2VkIik7
CiAgICAgYXV0byB1c2VkTWFyZ2luID0gVXNlZEhvcml6b250YWxNYXJnaW4geyBjb21wdXRlZEhv
cml6b250YWxNYXJnaW4uc3RhcnQudmFsdWVPcigwKSwgY29tcHV0ZWRIb3Jpem9udGFsTWFyZ2lu
LmVuZC52YWx1ZU9yKDApIH07Ci0gICAgcmV0dXJuIGlubGluZVJlcGxhY2VkV2lkdGhBbmRNYXJn
aW4ocmVwbGFjZWRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgeyB9LCB7IG92ZXJyaWRkZW5I
b3Jpem9udGFsVmFsdWVzLndpZHRoLCB1c2VkTWFyZ2luIH0pOworICAgIHJldHVybiBpbmxpbmVS
ZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1hcmdpbihyZXBsYWNlZEJveCwgaG9yaXpvbnRhbENvbnN0
cmFpbnRzLCB7IH0sIHsgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMud2lkdGgsIHVzZWRNYXJn
aW4gfSk7CiB9CiAKIFZlcnRpY2FsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5
OjpvdXRPZkZsb3dWZXJ0aWNhbEdlb21ldHJ5KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBjb25zdCBI
b3Jpem9udGFsQ29uc3RyYWludHMmIGhvcml6b250YWxDb25zdHJhaW50cywgY29uc3QgVmVydGlj
YWxDb25zdHJhaW50cyYgdmVydGljYWxDb25zdHJhaW50cywgY29uc3QgT3ZlcnJpZGRlblZlcnRp
Y2FsVmFsdWVzJiBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMpIGNvbnN0CkBAIC05MTYsMjUgKzkx
NiwyNSBAQCBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpv
dXRPZkZsb3dIb3Jpem9udGFsR2VvbWV0cnkoY29ucwogICAgIHJldHVybiBvdXRPZkZsb3dSZXBs
YWNlZEhvcml6b250YWxHZW9tZXRyeShkb3duY2FzdDxSZXBsYWNlZEJveD4obGF5b3V0Qm94KSwg
aG9yaXpvbnRhbENvbnN0cmFpbnRzLCB2ZXJ0aWNhbENvbnN0cmFpbnRzLCBvdmVycmlkZGVuSG9y
aXpvbnRhbFZhbHVlcyk7CiB9CiAKLUNvbnRlbnRIZWlnaHRBbmRNYXJnaW4gRm9ybWF0dGluZ0Nv
bnRleHQ6Okdlb21ldHJ5OjpmbG9hdGluZ0hlaWdodEFuZE1hcmdpbihjb25zdCBCb3gmIGxheW91
dEJveCwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiBob3Jpem9udGFsQ29uc3RyYWludHMs
IGNvbnN0IE92ZXJyaWRkZW5WZXJ0aWNhbFZhbHVlcyYgb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVz
KSBjb25zdAorQ29udGVudEhlaWdodEFuZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OmZsb2F0aW5nQ29udGVudEhlaWdodEFuZE1hcmdpbihjb25zdCBCb3gmIGxheW91dEJveCwg
Y29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiBob3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0
IE92ZXJyaWRkZW5WZXJ0aWNhbFZhbHVlcyYgb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzKSBjb25z
dAogewogICAgIEFTU0VSVChsYXlvdXRCb3guaXNGbG9hdGluZ1Bvc2l0aW9uZWQoKSk7CiAKICAg
ICBpZiAoIWxheW91dEJveC5pc1JlcGxhY2VkQm94KCkpCiAgICAgICAgIHJldHVybiBjb21wbGlj
YXRlZENhc2VzKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBvdmVycmlkZGVuVmVy
dGljYWxWYWx1ZXMpOwotICAgIHJldHVybiBmbG9hdGluZ1JlcGxhY2VkSGVpZ2h0QW5kTWFyZ2lu
KGRvd25jYXN0PFJlcGxhY2VkQm94PihsYXlvdXRCb3gpLCBob3Jpem9udGFsQ29uc3RyYWludHMs
IG92ZXJyaWRkZW5WZXJ0aWNhbFZhbHVlcyk7CisgICAgcmV0dXJuIGZsb2F0aW5nUmVwbGFjZWRD
b250ZW50SGVpZ2h0QW5kTWFyZ2luKGRvd25jYXN0PFJlcGxhY2VkQm94PihsYXlvdXRCb3gpLCBo
b3Jpem9udGFsQ29uc3RyYWludHMsIG92ZXJyaWRkZW5WZXJ0aWNhbFZhbHVlcyk7CiB9CiAKLUNv
bnRlbnRXaWR0aEFuZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmZsb2F0aW5n
V2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6b250YWxDb25z
dHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBPdmVycmlkZGVuSG9yaXpvbnRh
bFZhbHVlcyYgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMpCitDb250ZW50V2lkdGhBbmRNYXJn
aW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpmbG9hdGluZ0NvbnRlbnRXaWR0aEFuZE1h
cmdpbihjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiBo
b3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzJiBv
dmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcykKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzRmxv
YXRpbmdQb3NpdGlvbmVkKCkpOwogCiAgICAgaWYgKCFsYXlvdXRCb3guaXNSZXBsYWNlZEJveCgp
KQotICAgICAgICByZXR1cm4gZmxvYXRpbmdOb25SZXBsYWNlZFdpZHRoQW5kTWFyZ2luKGxheW91
dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBvdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyk7
Ci0gICAgcmV0dXJuIGZsb2F0aW5nUmVwbGFjZWRXaWR0aEFuZE1hcmdpbihkb3duY2FzdDxSZXBs
YWNlZEJveD4obGF5b3V0Qm94KSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBvdmVycmlkZGVuSG9y
aXpvbnRhbFZhbHVlcyk7CisgICAgICAgIHJldHVybiBmbG9hdGluZ05vblJlcGxhY2VkQ29udGVu
dFdpZHRoQW5kTWFyZ2luKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBvdmVycmlk
ZGVuSG9yaXpvbnRhbFZhbHVlcyk7CisgICAgcmV0dXJuIGZsb2F0aW5nUmVwbGFjZWRDb250ZW50
V2lkdGhBbmRNYXJnaW4oZG93bmNhc3Q8UmVwbGFjZWRCb3g+KGxheW91dEJveCksIGhvcml6b250
YWxDb25zdHJhaW50cywgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMpOwogfQogCi1Db250ZW50
SGVpZ2h0QW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFj
ZWRIZWlnaHRBbmRNYXJnaW4oY29uc3QgUmVwbGFjZWRCb3gmIHJlcGxhY2VkQm94LCBjb25zdCBI
b3Jpem9udGFsQ29uc3RyYWludHMmIGhvcml6b250YWxDb25zdHJhaW50cywgT3B0aW9uYWw8VmVy
dGljYWxDb25zdHJhaW50cz4gdmVydGljYWxDb25zdHJhaW50cywgY29uc3QgT3ZlcnJpZGRlblZl
cnRpY2FsVmFsdWVzJiBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMpIGNvbnN0CitDb250ZW50SGVp
Z2h0QW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFjZWRD
b250ZW50SGVpZ2h0QW5kTWFyZ2luKGNvbnN0IFJlcGxhY2VkQm94JiByZXBsYWNlZEJveCwgY29u
c3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiBob3Jpem9udGFsQ29uc3RyYWludHMsIE9wdGlvbmFs
PFZlcnRpY2FsQ29uc3RyYWludHM+IHZlcnRpY2FsQ29uc3RyYWludHMsIGNvbnN0IE92ZXJyaWRk
ZW5WZXJ0aWNhbFZhbHVlcyYgb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzKSBjb25zdAogewogICAg
IC8vIDEwLjYuMiBJbmxpbmUgcmVwbGFjZWQgZWxlbWVudHMsIGJsb2NrLWxldmVsIHJlcGxhY2Vk
IGVsZW1lbnRzIGluIG5vcm1hbCBmbG93LCAnaW5saW5lLWJsb2NrJyByZXBsYWNlZCBlbGVtZW50
cyBpbiBub3JtYWwgZmxvdyBhbmQgZmxvYXRpbmcgcmVwbGFjZWQgZWxlbWVudHMKICAgICAvLwpA
QCAtOTgwLDcgKzk4MCw3IEBAIENvbnRlbnRIZWlnaHRBbmRNYXJnaW4gRm9ybWF0dGluZ0NvbnRl
eHQ6Okdlb21ldHJ5OjppbmxpbmVSZXBsYWNlZEhlaWdodEFuZE1hcmdpCiAgICAgcmV0dXJuIHsg
KmhlaWdodCwgdXNlZFZlcnRpY2FsTWFyZ2luIH07CiB9CiAKLUNvbnRlbnRXaWR0aEFuZE1hcmdp
biBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkV2lkdGhBbmRNYXJn
aW4oY29uc3QgUmVwbGFjZWRCb3gmIHJlcGxhY2VkQm94LCBjb25zdCBIb3Jpem9udGFsQ29uc3Ry
YWludHMmIGhvcml6b250YWxDb25zdHJhaW50cywgT3B0aW9uYWw8VmVydGljYWxDb25zdHJhaW50
cz4gdmVydGljYWxDb25zdHJhaW50cywgY29uc3QgT3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMm
IG92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzKQorQ29udGVudFdpZHRoQW5kTWFyZ2luIEZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lUmVwbGFjZWRDb250ZW50V2lkdGhBbmRNYXJn
aW4oY29uc3QgUmVwbGFjZWRCb3gmIHJlcGxhY2VkQm94LCBjb25zdCBIb3Jpem9udGFsQ29uc3Ry
YWludHMmIGhvcml6b250YWxDb25zdHJhaW50cywgT3B0aW9uYWw8VmVydGljYWxDb25zdHJhaW50
cz4gdmVydGljYWxDb25zdHJhaW50cywgY29uc3QgT3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMm
IG92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzKQogewogICAgIC8vIDEwLjMuMiBJbmxpbmUsIHJl
cGxhY2VkIGVsZW1lbnRzCiAgICAgLy8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmlu
ZGV4IDU3NjMxMDU1MDQzN2ZhMWJjZTVjY2U2YjJiZmZjNzUwYjM4YjgxZjAuLjVkMmJiMTk2MTQ0
NzQ5ODBiNzEwODYxNTdlZjAzMjM4NjVkNmM2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmNwcApAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKGNvbnN0IEZsb2F0aW5nQ29udGV4dCYgZmxvYXRpCiAgICAg
ICAgIC8vIEZsb2F0IGF2b2lkZXJzJyBhdmFpbGFibGUgd2lkdGggbWlnaHQgYmUgc2hydW5rIGJ5
IGV4aXN0aW5nIGZsb2F0cyBpbiB0aGUgY29udGV4dC4KICAgICAgICAgYXZhaWxhYmxlV2lkdGhG
bG9hdEF2b2lkZXIgPSB1c2VkQXZhaWxhYmxlV2lkdGhGb3JGbG9hdEF2b2lkZXIoZmxvYXRpbmdD
b250ZXh0LCBsYXlvdXRCb3gsIGNvbnN0cmFpbnRzUGFpcik7CiAgICAgfQotICAgIGF1dG8gY29u
dGVudFdpZHRoQW5kTWFyZ2luID0gZ2VvbWV0cnkoKS5jb21wdXRlZFdpZHRoQW5kTWFyZ2luKGxh
eW91dEJveCwgY29uc3RyYWludHNQYWlyLmNvbnRhaW5pbmdCbG9jay5ob3Jpem9udGFsLCBhdmFp
bGFibGVXaWR0aEZsb2F0QXZvaWRlcik7CisgICAgYXV0byBjb250ZW50V2lkdGhBbmRNYXJnaW4g
PSBnZW9tZXRyeSgpLmNvbXB1dGVkQ29udGVudFdpZHRoQW5kTWFyZ2luKGxheW91dEJveCwgY29u
c3RyYWludHNQYWlyLmNvbnRhaW5pbmdCbG9jay5ob3Jpem9udGFsLCBhdmFpbGFibGVXaWR0aEZs
b2F0QXZvaWRlcik7CiAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUoKS5i
b3hHZW9tZXRyeShsYXlvdXRCb3gpOwogICAgIGJveEdlb21ldHJ5LnNldENvbnRlbnRCb3hXaWR0
aChjb250ZW50V2lkdGhBbmRNYXJnaW4uY29udGVudFdpZHRoKTsKICAgICBib3hHZW9tZXRyeS5z
ZXRIb3Jpem9udGFsTWFyZ2luKHsgY29udGVudFdpZHRoQW5kTWFyZ2luLnVzZWRNYXJnaW4uc3Rh
cnQsIGNvbnRlbnRXaWR0aEFuZE1hcmdpbi51c2VkTWFyZ2luLmVuZCB9KTsKQEAgLTMzMiwxMCAr
MzMyLDEwIEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1h
cmdpbihjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QKIHsKICAgICBhdXRvIGNvbXB1dGUgPSBb
Jl0oT3B0aW9uYWw8TGF5b3V0VW5pdD4gdXNlZEhlaWdodCkgLT4gQ29udGVudEhlaWdodEFuZE1h
cmdpbiB7CiAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbkZsb3coKSkKLSAgICAgICAgICAgIHJl
dHVybiBnZW9tZXRyeSgpLmluRmxvd0hlaWdodEFuZE1hcmdpbihsYXlvdXRCb3gsIGNvbnN0cmFp
bnRzLmhvcml6b250YWwsIHsgdXNlZEhlaWdodCB9KTsKKyAgICAgICAgICAgIHJldHVybiBnZW9t
ZXRyeSgpLmluRmxvd0NvbnRlbnRIZWlnaHRBbmRNYXJnaW4obGF5b3V0Qm94LCBjb25zdHJhaW50
cy5ob3Jpem9udGFsLCB7IHVzZWRIZWlnaHQgfSk7CiAKICAgICAgICAgaWYgKGxheW91dEJveC5p
c0Zsb2F0aW5nUG9zaXRpb25lZCgpKQotICAgICAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCkuZmxv
YXRpbmdIZWlnaHRBbmRNYXJnaW4obGF5b3V0Qm94LCBjb25zdHJhaW50cy5ob3Jpem9udGFsLCB7
IHVzZWRIZWlnaHQgfSk7CisgICAgICAgICAgICByZXR1cm4gZ2VvbWV0cnkoKS5mbG9hdGluZ0Nv
bnRlbnRIZWlnaHRBbmRNYXJnaW4obGF5b3V0Qm94LCBjb25zdHJhaW50cy5ob3Jpem9udGFsLCB7
IHVzZWRIZWlnaHQgfSk7CiAKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
IHJldHVybiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
bG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGIyZWJlN2IxYzk4
NGM0ZmMwNWVjNWM4YmI0ZTM2MmExZjgwMjYxNTguLmQ3OTNiM2ZiZTIzM2RjMDc0NTMzZTU0MzM3
ODkyYzMyZmIxNWExMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zv
cm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCkBAIC03Niw4ICs3
Niw4IEBAIHByb3RlY3RlZDoKICAgICBwdWJsaWM6CiAgICAgICAgIEdlb21ldHJ5KGNvbnN0IEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQmKTsKIAotICAgICAgICBDb250ZW50SGVpZ2h0QW5kTWFyZ2lu
IGluRmxvd0hlaWdodEFuZE1hcmdpbihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3Ry
YWludHMmLCBjb25zdCBPdmVycmlkZGVuVmVydGljYWxWYWx1ZXMmKTsKLSAgICAgICAgQ29udGVu
dFdpZHRoQW5kTWFyZ2luIGluRmxvd1dpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYsIGNvbnN0IEhv
cml6b250YWxDb25zdHJhaW50cyYsIGNvbnN0IE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzJik7
CisgICAgICAgIENvbnRlbnRIZWlnaHRBbmRNYXJnaW4gaW5GbG93Q29udGVudEhlaWdodEFuZE1h
cmdpbihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVy
cmlkZGVuVmVydGljYWxWYWx1ZXMmKTsKKyAgICAgICAgQ29udGVudFdpZHRoQW5kTWFyZ2luIGlu
Rmxvd0NvbnRlbnRXaWR0aEFuZE1hcmdpbihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29u
c3RyYWludHMmLCBjb25zdCBPdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYpOwogCiAgICAgICAg
IFBvaW50IHN0YXRpY1Bvc2l0aW9uKGNvbnN0IEJveCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJh
aW50cyYsIGNvbnN0IFZlcnRpY2FsQ29uc3RyYWludHMmKSBjb25zdDsKICAgICAgICAgTGF5b3V0
VW5pdCBzdGF0aWNWZXJ0aWNhbFBvc2l0aW9uKGNvbnN0IEJveCYsIGNvbnN0IFZlcnRpY2FsQ29u
c3RyYWludHMmKSBjb25zdDsKQEAgLTg1LDEyICs4NSwxMiBAQCBwcm90ZWN0ZWQ6CiAKICAgICAg
ICAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBpbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzKGNv
bnN0IEJveCYpOwogCi0gICAgICAgIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBjb21wdXRlZFdpZHRo
QW5kTWFyZ2luKGNvbnN0IEJveCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYsIE9wdGlv
bmFsPExheW91dFVuaXQ+IGF2YWlsYWJsZVdpZHRoRmxvYXRBdm9pZGVyKTsKKyAgICAgICAgQ29u
dGVudFdpZHRoQW5kTWFyZ2luIGNvbXB1dGVkQ29udGVudFdpZHRoQW5kTWFyZ2luKGNvbnN0IEJv
eCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYsIE9wdGlvbmFsPExheW91dFVuaXQ+IGF2
YWlsYWJsZVdpZHRoRmxvYXRBdm9pZGVyKTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIENvbnRl
bnRIZWlnaHRBbmRNYXJnaW4gaW5GbG93Tm9uUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4oY29uc3Qg
Qm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlblZlcnRp
Y2FsVmFsdWVzJik7Ci0gICAgICAgIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBpbkZsb3dOb25SZXBs
YWNlZFdpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50
cyYsIGNvbnN0IE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzJik7Ci0gICAgICAgIENvbnRlbnRX
aWR0aEFuZE1hcmdpbiBpbkZsb3dSZXBsYWNlZFdpZHRoQW5kTWFyZ2luKGNvbnN0IFJlcGxhY2Vk
Qm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlbkhvcml6
b250YWxWYWx1ZXMmKTsKKyAgICAgICAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBpbkZsb3dOb25S
ZXBsYWNlZENvbnRlbnRIZWlnaHRBbmRNYXJnaW4oY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRh
bENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzJik7CisgICAgICAg
IENvbnRlbnRXaWR0aEFuZE1hcmdpbiBpbkZsb3dOb25SZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1h
cmdpbihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVy
cmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYpOworICAgICAgICBDb250ZW50V2lkdGhBbmRNYXJnaW4g
aW5GbG93UmVwbGFjZWRDb250ZW50V2lkdGhBbmRNYXJnaW4oY29uc3QgUmVwbGFjZWRCb3gmLCBj
b25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlkZGVuSG9yaXpvbnRhbFZh
bHVlcyYpOwogCiAgICAgICAgIGNvbnN0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRp
bmdDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8QmxvY2tGb3JtYXR0aW5nQ29udGV4
dD4oRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpmb3JtYXR0aW5nQ29udGV4dCgpKTsgfQog
ICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5k
ZXggZmMyZGY1ZmNlNzlkMDlhMzIzMTFjOGY0MDRjMDI5MzUzYWEwMzg5Zi4uYThlNDViOWQ2MzYy
ZjVjMDE5ZmI4NTlhYmMwOTRkMTY4YmQ1MTI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0
aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtNDIsNyArNDIsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLUNvbnRlbnRIZWlnaHRBbmRNYXJnaW4gQmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd05vblJlcGxhY2VkSGVpZ2h0QW5kTWFy
Z2luKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmIGhv
cml6b250YWxDb25zdHJhaW50cywgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzJiBvdmVy
cmlkZGVuVmVydGljYWxWYWx1ZXMpCitDb250ZW50SGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZENvbnRlbnRIZWlnaHRBbmRN
YXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYg
aG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBPdmVycmlkZGVuVmVydGljYWxWYWx1ZXMmIG92
ZXJyaWRkZW5WZXJ0aWNhbFZhbHVlcykKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzSW5GbG93
KCkgJiYgIWxheW91dEJveC5pc1JlcGxhY2VkQm94KCkpOwogICAgIEFTU0VSVChsYXlvdXRCb3gu
aXNPdmVyZmxvd1Zpc2libGUoKSk7CkBAIC0xMTIsNyArMTEyLDcgQEAgQ29udGVudEhlaWdodEFu
ZE1hcmdpbiBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5GbG93Tm9uUmVwbGFj
ZWRIZWlnaHQKICAgICByZXR1cm4gY29tcHV0ZShvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMpOwog
fQogCi1Db250ZW50V2lkdGhBbmRNYXJnaW4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OmluRmxvd05vblJlcGxhY2VkV2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gs
IGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25z
dCBPdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMp
CitDb250ZW50V2lkdGhBbmRNYXJnaW4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
OmluRmxvd05vblJlcGxhY2VkQ29udGVudFdpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYgbGF5b3V0
Qm94LCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmIGhvcml6b250YWxDb25zdHJhaW50cywg
Y29uc3QgT3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMmIG92ZXJyaWRkZW5Ib3Jpem9udGFsVmFs
dWVzKQogewogICAgIEFTU0VSVChsYXlvdXRCb3guaXNJbkZsb3coKSk7CiAKQEAgLTIxMiw3ICsy
MTIsNyBAQCBDb250ZW50V2lkdGhBbmRNYXJnaW4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnk6OmluRmxvd05vblJlcGxhY2VkV2lkdGhBbgogICAgIHJldHVybiBjb250ZW50V2lkdGhB
bmRNYXJnaW47CiB9CiAKLUNvbnRlbnRXaWR0aEFuZE1hcmdpbiBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6aW5GbG93UmVwbGFjZWRXaWR0aEFuZE1hcmdpbihjb25zdCBSZXBsYWNl
ZEJveCYgcmVwbGFjZWRCb3gsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYgaG9yaXpvbnRh
bENvbnN0cmFpbnRzLCBjb25zdCBPdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYgb3ZlcnJpZGRl
bkhvcml6b250YWxWYWx1ZXMpCitDb250ZW50V2lkdGhBbmRNYXJnaW4gQmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6OmluRmxvd1JlcGxhY2VkQ29udGVudFdpZHRoQW5kTWFyZ2luKGNv
bnN0IFJlcGxhY2VkQm94JiByZXBsYWNlZEJveCwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRz
JiBob3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVz
JiBvdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcykKIHsKICAgICBBU1NFUlQocmVwbGFjZWRCb3gu
aXNJbkZsb3coKSk7CiAKQEAgLTIyMiw5ICsyMjIsOSBAQCBDb250ZW50V2lkdGhBbmRNYXJnaW4g
QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd1JlcGxhY2VkV2lkdGhBbmRN
YQogICAgIC8vIDIuIFRoZW4gdGhlIHJ1bGVzIGZvciBub24tcmVwbGFjZWQgYmxvY2stbGV2ZWwg
ZWxlbWVudHMgYXJlIGFwcGxpZWQgdG8gZGV0ZXJtaW5lIHRoZSBtYXJnaW5zLgogCiAgICAgLy8g
IzEKLSAgICBhdXRvIHVzZWRXaWR0aCA9IGlubGluZVJlcGxhY2VkV2lkdGhBbmRNYXJnaW4ocmVw
bGFjZWRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgeyB9LCBvdmVycmlkZGVuSG9yaXpvbnRh
bFZhbHVlcykuY29udGVudFdpZHRoOworICAgIGF1dG8gdXNlZFdpZHRoID0gaW5saW5lUmVwbGFj
ZWRDb250ZW50V2lkdGhBbmRNYXJnaW4ocmVwbGFjZWRCb3gsIGhvcml6b250YWxDb25zdHJhaW50
cywgeyB9LCBvdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcykuY29udGVudFdpZHRoOwogICAgIC8v
ICMyCi0gICAgYXV0byBub25SZXBsYWNlZFdpZHRoQW5kTWFyZ2luID0gaW5GbG93Tm9uUmVwbGFj
ZWRXaWR0aEFuZE1hcmdpbihyZXBsYWNlZEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBPdmVy
cmlkZGVuSG9yaXpvbnRhbFZhbHVlcyB7IHVzZWRXaWR0aCwgb3ZlcnJpZGRlbkhvcml6b250YWxW
YWx1ZXMubWFyZ2luIH0pOworICAgIGF1dG8gbm9uUmVwbGFjZWRXaWR0aEFuZE1hcmdpbiA9IGlu
Rmxvd05vblJlcGxhY2VkQ29udGVudFdpZHRoQW5kTWFyZ2luKHJlcGxhY2VkQm94LCBob3Jpem9u
dGFsQ29uc3RyYWludHMsIE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzIHsgdXNlZFdpZHRoLCBv
dmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcy5tYXJnaW4gfSk7CiAKICAgICBMT0dfV0lUSF9TVFJF
QU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVhbSA8PCAiW1dpZHRoXVtNYXJnaW5dIC0+
IGluZmxvdyByZXBsYWNlZCAtPiB3aWR0aCgiIDw8IHVzZWRXaWR0aCAgPDwgInB4KSBtYXJnaW4o
IiA8PCBub25SZXBsYWNlZFdpZHRoQW5kTWFyZ2luLnVzZWRNYXJnaW4uc3RhcnQgPDwgInB4LCAi
IDw8IG5vblJlcGxhY2VkV2lkdGhBbmRNYXJnaW4udXNlZE1hcmdpbi5lbmQgPDwgInB4KSAtPiBs
YXlvdXRCb3goIiA8PCAmcmVwbGFjZWRCb3ggPDwgIikiKTsKICAgICByZXR1cm4geyB1c2VkV2lk
dGgsIG5vblJlcGxhY2VkV2lkdGhBbmRNYXJnaW4udXNlZE1hcmdpbiB9OwpAQCAtMjU1LDE5ICsy
NTUsMTkgQEAgUG9pbnQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnN0YXRpY1Bv
c2l0aW9uKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBjb24KICAgICByZXR1cm4geyBzdGF0aWNIb3Jp
em9udGFsUG9zaXRpb24obGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpLCBzdGF0aWNW
ZXJ0aWNhbFBvc2l0aW9uKGxheW91dEJveCwgdmVydGljYWxDb25zdHJhaW50cykgfTsKIH0KIAot
Q29udGVudEhlaWdodEFuZE1hcmdpbiBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6
aW5GbG93SGVpZ2h0QW5kTWFyZ2luKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBjb25zdCBIb3Jpem9u
dGFsQ29uc3RyYWludHMmIGhvcml6b250YWxDb25zdHJhaW50cywgY29uc3QgT3ZlcnJpZGRlblZl
cnRpY2FsVmFsdWVzJiBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMpCitDb250ZW50SGVpZ2h0QW5k
TWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dDb250ZW50SGVp
Z2h0QW5kTWFyZ2luKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBjb25zdCBIb3Jpem9udGFsQ29uc3Ry
YWludHMmIGhvcml6b250YWxDb25zdHJhaW50cywgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFs
dWVzJiBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5p
c0luRmxvdygpKTsKIAogICAgIC8vIDEwLjYuMiBJbmxpbmUgcmVwbGFjZWQgZWxlbWVudHMsIGJs
b2NrLWxldmVsIHJlcGxhY2VkIGVsZW1lbnRzIGluIG5vcm1hbCBmbG93LCAnaW5saW5lLWJsb2Nr
JwogICAgIC8vIHJlcGxhY2VkIGVsZW1lbnRzIGluIG5vcm1hbCBmbG93IGFuZCBmbG9hdGluZyBy
ZXBsYWNlZCBlbGVtZW50cwogICAgIGlmIChsYXlvdXRCb3guaXNSZXBsYWNlZEJveCgpKQotICAg
ICAgICByZXR1cm4gaW5saW5lUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4oZG93bmNhc3Q8UmVwbGFj
ZWRCb3g+KGxheW91dEJveCksIGhvcml6b250YWxDb25zdHJhaW50cywgeyB9LCBvdmVycmlkZGVu
VmVydGljYWxWYWx1ZXMpOworICAgICAgICByZXR1cm4gaW5saW5lUmVwbGFjZWRDb250ZW50SGVp
Z2h0QW5kTWFyZ2luKGRvd25jYXN0PFJlcGxhY2VkQm94PihsYXlvdXRCb3gpLCBob3Jpem9udGFs
Q29uc3RyYWludHMsIHsgfSwgb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzKTsKIAogICAgIENvbnRl
bnRIZWlnaHRBbmRNYXJnaW4gY29udGVudEhlaWdodEFuZE1hcmdpbjsKICAgICBpZiAobGF5b3V0
Qm94LmlzT3ZlcmZsb3dWaXNpYmxlKCkgJiYgIWxheW91dEJveC5pc0RvY3VtZW50Qm94KCkpIHsK
ICAgICAgICAgLy8gVE9ETzogRmlndXJlIG91dCB0aGUgY2FzZSBmb3IgdGhlIGRvY3VtZW50IGVs
ZW1lbnQuIExldCdzIGp1c3QgY29tcGxpY2F0ZWQtY2FzZSBpdCBmb3Igbm93LgotICAgICAgICBj
b250ZW50SGVpZ2h0QW5kTWFyZ2luID0gaW5GbG93Tm9uUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4o
bGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIG92ZXJyaWRkZW5WZXJ0aWNhbFZhbHVl
cyk7CisgICAgICAgIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4gPSBpbkZsb3dOb25SZXBsYWNlZENv
bnRlbnRIZWlnaHRBbmRNYXJnaW4obGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIG92
ZXJyaWRkZW5WZXJ0aWNhbFZhbHVlcyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gMTAuNi42
IENvbXBsaWNhdGVkIGNhc2VzCiAgICAgICAgIC8vIEJsb2NrLWxldmVsLCBub24tcmVwbGFjZWQg
ZWxlbWVudHMgaW4gbm9ybWFsIGZsb3cgd2hlbiAnb3ZlcmZsb3cnIGRvZXMgbm90IGNvbXB1dGUg
dG8gJ3Zpc2libGUnIChleGNlcHQgaWYgdGhlICdvdmVyZmxvdycgcHJvcGVydHkncyB2YWx1ZSBo
YXMgYmVlbiBwcm9wYWdhdGVkIHRvIHRoZSB2aWV3cG9ydCkuCkBAIC0yODQsMjMgKzI4NCwyMyBA
QCBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5
OjppbkZsb3dIZWlnaHRBbmRNYXJnaW4oYwogICAgIHJldHVybiBjb250ZW50SGVpZ2h0QW5kTWFy
Z2luOwogfQogCi1Db250ZW50V2lkdGhBbmRNYXJnaW4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
R2VvbWV0cnk6OmluRmxvd1dpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBjb25z
dCBIb3Jpem9udGFsQ29uc3RyYWludHMmIGhvcml6b250YWxDb25zdHJhaW50cywgY29uc3QgT3Zl
cnJpZGRlbkhvcml6b250YWxWYWx1ZXMmIG92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzKQorQ29u
dGVudFdpZHRoQW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZs
b3dDb250ZW50V2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6
b250YWxDb25zdHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBPdmVycmlkZGVu
SG9yaXpvbnRhbFZhbHVlcyYgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMpCiB7CiAgICAgQVNT
RVJUKGxheW91dEJveC5pc0luRmxvdygpKTsKIAogICAgIGlmICghbGF5b3V0Qm94LmlzUmVwbGFj
ZWRCb3goKSkKLSAgICAgICAgcmV0dXJuIGluRmxvd05vblJlcGxhY2VkV2lkdGhBbmRNYXJnaW4o
bGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIG92ZXJyaWRkZW5Ib3Jpem9udGFsVmFs
dWVzKTsKLSAgICByZXR1cm4gaW5GbG93UmVwbGFjZWRXaWR0aEFuZE1hcmdpbihkb3duY2FzdDxS
ZXBsYWNlZEJveD4obGF5b3V0Qm94KSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBvdmVycmlkZGVu
SG9yaXpvbnRhbFZhbHVlcyk7CisgICAgICAgIHJldHVybiBpbkZsb3dOb25SZXBsYWNlZENvbnRl
bnRXaWR0aEFuZE1hcmdpbihsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgb3ZlcnJp
ZGRlbkhvcml6b250YWxWYWx1ZXMpOworICAgIHJldHVybiBpbkZsb3dSZXBsYWNlZENvbnRlbnRX
aWR0aEFuZE1hcmdpbihkb3duY2FzdDxSZXBsYWNlZEJveD4obGF5b3V0Qm94KSwgaG9yaXpvbnRh
bENvbnN0cmFpbnRzLCBvdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyk7CiB9CiAKLUNvbnRlbnRX
aWR0aEFuZE1hcmdpbiBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29tcHV0ZWRX
aWR0aEFuZE1hcmdpbihjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgSG9yaXpvbnRhbENvbnN0
cmFpbnRzJiBob3Jpem9udGFsQ29uc3RyYWludHMsIE9wdGlvbmFsPExheW91dFVuaXQ+IGF2YWls
YWJsZVdpZHRoRmxvYXRBdm9pZGVyKQorQ29udGVudFdpZHRoQW5kTWFyZ2luIEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZENvbnRlbnRXaWR0aEFuZE1hcmdpbihjb25z
dCBCb3gmIGxheW91dEJveCwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiBob3Jpem9udGFs
Q29uc3RyYWludHMsIE9wdGlvbmFsPExheW91dFVuaXQ+IGF2YWlsYWJsZVdpZHRoRmxvYXRBdm9p
ZGVyKQogewogICAgIGF1dG8gY29tcHV0ZSA9IFsmXSAoYXV0byBjb25zdHJhaW50c0ZvcldpZHRo
LCBPcHRpb25hbDxMYXlvdXRVbml0PiB1c2VkV2lkdGgpIHsKICAgICAgICAgaWYgKGxheW91dEJv
eC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpKQotICAgICAgICAgICAgcmV0dXJuIGZsb2F0aW5nV2lk
dGhBbmRNYXJnaW4obGF5b3V0Qm94LCBjb25zdHJhaW50c0ZvcldpZHRoLCB7IHVzZWRXaWR0aCwg
eyB9IH0pOworICAgICAgICAgICAgcmV0dXJuIGZsb2F0aW5nQ29udGVudFdpZHRoQW5kTWFyZ2lu
KGxheW91dEJveCwgY29uc3RyYWludHNGb3JXaWR0aCwgeyB1c2VkV2lkdGgsIHsgfSB9KTsKIAog
ICAgICAgICBpZiAobGF5b3V0Qm94LmlzSW5GbG93KCkpCi0gICAgICAgICAgICByZXR1cm4gaW5G
bG93V2lkdGhBbmRNYXJnaW4obGF5b3V0Qm94LCBjb25zdHJhaW50c0ZvcldpZHRoLCB7IHVzZWRX
aWR0aCwgeyB9IH0pOworICAgICAgICAgICAgcmV0dXJuIGluRmxvd0NvbnRlbnRXaWR0aEFuZE1h
cmdpbihsYXlvdXRCb3gsIGNvbnN0cmFpbnRzRm9yV2lkdGgsIHsgdXNlZFdpZHRoLCB7IH0gfSk7
CiAKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBDb250ZW50
V2lkdGhBbmRNYXJnaW4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Js
b2NrZm9ybWF0dGluZy90YWJsZXdyYXBwZXIvVGFibGVXcmFwcGVyQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL3RhYmxld3Jh
cHBlci9UYWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA3ZGQwOGJk
ZDIyZmI3NGI4NzE5MDM1ZjU1NmYyYjk0ZDEwMDY0N2NkLi5hYzZkZjY1Y2E0YmI3MTM2MDRlYWI3
MDAxNmNmN2RlZjFjMjJmMDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL3RhYmxld3JhcHBlci9UYWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL3RhYmxl
d3JhcHBlci9UYWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMjA1LDcg
KzIwNSw3IEBAIHZvaWQgVGFibGVXcmFwcGVyQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0
ZVdpZHRoQW5kTWFyZ2luRm9yVGFibGVCb3goY29uc3QKICAgICAgICAgICAgIHVzZWRXaWR0aCA9
ICpjb21wdXRlZE1pbldpZHRoOwogICAgIH0KIAotICAgIGF1dG8gY29udGVudFdpZHRoQW5kTWFy
Z2luID0gZ2VvbWV0cnkuaW5GbG93V2lkdGhBbmRNYXJnaW4odGFibGVCb3gsIGhvcml6b250YWxD
b25zdHJhaW50cywgT3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMgeyB1c2VkV2lkdGgsIHsgfSB9
KTsKKyAgICBhdXRvIGNvbnRlbnRXaWR0aEFuZE1hcmdpbiA9IGdlb21ldHJ5LmluRmxvd0NvbnRl
bnRXaWR0aEFuZE1hcmdpbih0YWJsZUJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBPdmVycmlk
ZGVuSG9yaXpvbnRhbFZhbHVlcyB7IHVzZWRXaWR0aCwgeyB9IH0pOwogCiAgICAgYXV0byYgYm94
R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUoKS5ib3hHZW9tZXRyeSh0YWJsZUJveCk7CiAgICAg
Ym94R2VvbWV0cnkuc2V0Q29udGVudEJveFdpZHRoKGNvbnRlbnRXaWR0aEFuZE1hcmdpbi5jb250
ZW50V2lkdGgpOwpAQCAtMjE3LDcgKzIxNyw3IEBAIHZvaWQgVGFibGVXcmFwcGVyQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdpbkZvclRhYmxlQm94KGNvbnN0CiAg
ICAgQVNTRVJUKHRhYmxlQm94LmlzVGFibGVCb3goKSk7CiAgICAgLy8gVGFibGUgaXMgYSBzcGVj
aWFsIEJGQyBjb250ZW50LiBJdHMgaGVpZ2h0IGlzIG1haW5seSBkcml2ZW4gYnkgdGhlIGNvbnRl
bnQuIENvbXB1dGVkIGhlaWdodCwgbWluLWhlaWdodCBhbmQgbWF4LWhlaWdodCBhcmUgYWxsCiAg
ICAgLy8gYWxyZWFkeSBiZWVuIHRha2VuIGludG8gYWNjb3VudCBkdXJpbmcgdGhlIFRGQyBsYXlv
dXQuCi0gICAgYXV0byBoZWlnaHRBbmRNYXJnaW4gPSBnZW9tZXRyeSgpLmluRmxvd0hlaWdodEFu
ZE1hcmdpbih0YWJsZUJveCwgY29uc3RyYWludHMuaG9yaXpvbnRhbCwgeyBxdWlya3MoKS5vdmVy
cmlkZGVuVGFibGVIZWlnaHQodGFibGVCb3gpIH0pOworICAgIGF1dG8gaGVpZ2h0QW5kTWFyZ2lu
ID0gZ2VvbWV0cnkoKS5pbkZsb3dDb250ZW50SGVpZ2h0QW5kTWFyZ2luKHRhYmxlQm94LCBjb25z
dHJhaW50cy5ob3Jpem9udGFsLCB7IHF1aXJrcygpLm92ZXJyaWRkZW5UYWJsZUhlaWdodCh0YWJs
ZUJveCkgfSk7CiAKICAgICBhdXRvIG1hcmdpbkNvbGxhcHNlID0gdGhpcy0+bWFyZ2luQ29sbGFw
c2UoKTsKICAgICBhdXRvIHZlcnRpY2FsTWFyZ2luID0gbWFyZ2luQ29sbGFwc2UuY29sbGFwc2Vk
VmVydGljYWxWYWx1ZXModGFibGVCb3gsIGhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRNYXJn
aW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDgyODEzNTg2NTRm
ZWU3YzlmODQ2OWI0ZmMzZDE3ZmU5OWY3ZTU3MDIuLjdkNzUxYjU4NjIzYzgyN2I3NDE2OTA5MWIw
YWM2MTljN2M5NmM4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAg
LTI5NywxMSArMjk3LDExIEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVX
aWR0aEFuZE1hcmdpbihjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QKIHsKICAgICBhdXRvIGNv
bXB1dGUgPSBbJl0oT3B0aW9uYWw8TGF5b3V0VW5pdD4gdXNlZFdpZHRoKSB7CiAgICAgICAgIGlm
IChsYXlvdXRCb3guaXNGbG9hdGluZ1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgICAgIHJldHVybiBn
ZW9tZXRyeSgpLmZsb2F0aW5nV2lkdGhBbmRNYXJnaW4obGF5b3V0Qm94LCBob3Jpem9udGFsQ29u
c3RyYWludHMsIHsgdXNlZFdpZHRoLCB7IH0gfSk7CisgICAgICAgICAgICByZXR1cm4gZ2VvbWV0
cnkoKS5mbG9hdGluZ0NvbnRlbnRXaWR0aEFuZE1hcmdpbihsYXlvdXRCb3gsIGhvcml6b250YWxD
b25zdHJhaW50cywgeyB1c2VkV2lkdGgsIHsgfSB9KTsKICAgICAgICAgaWYgKGxheW91dEJveC5p
c0lubGluZUJsb2NrQm94KCkpCi0gICAgICAgICAgICByZXR1cm4gZ2VvbWV0cnkoKS5pbmxpbmVC
bG9ja1dpZHRoQW5kTWFyZ2luKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCB7IHVz
ZWRXaWR0aCwgeyB9IH0pOworICAgICAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCkuaW5saW5lQmxv
Y2tDb250ZW50V2lkdGhBbmRNYXJnaW4obGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMs
IHsgdXNlZFdpZHRoLCB7IH0gfSk7CiAgICAgICAgIGlmIChsYXlvdXRCb3guaXNSZXBsYWNlZEJv
eCgpKQotICAgICAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCkuaW5saW5lUmVwbGFjZWRXaWR0aEFu
ZE1hcmdpbihkb3duY2FzdDxSZXBsYWNlZEJveD4obGF5b3V0Qm94KSwgaG9yaXpvbnRhbENvbnN0
cmFpbnRzLCB7IH0sIHsgdXNlZFdpZHRoLCB7IH0gfSk7CisgICAgICAgICAgICByZXR1cm4gZ2Vv
bWV0cnkoKS5pbmxpbmVSZXBsYWNlZENvbnRlbnRXaWR0aEFuZE1hcmdpbihkb3duY2FzdDxSZXBs
YWNlZEJveD4obGF5b3V0Qm94KSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCB7IH0sIHsgdXNlZFdp
ZHRoLCB7IH0gfSk7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1
cm4gQ29udGVudFdpZHRoQW5kTWFyZ2luIHsgfTsKICAgICB9OwpAQCAtMzI5LDExICszMjksMTEg
QEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdpbihj
b25zdCBCb3gmIGxheW91dEJveCwgY29uc3QKIHsKICAgICBhdXRvIGNvbXB1dGUgPSBbJl0oT3B0
aW9uYWw8TGF5b3V0VW5pdD4gdXNlZEhlaWdodCkgewogICAgICAgICBpZiAobGF5b3V0Qm94Lmlz
RmxvYXRpbmdQb3NpdGlvbmVkKCkpCi0gICAgICAgICAgICByZXR1cm4gZ2VvbWV0cnkoKS5mbG9h
dGluZ0hlaWdodEFuZE1hcmdpbihsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgeyB1
c2VkSGVpZ2h0IH0pOworICAgICAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCkuZmxvYXRpbmdDb250
ZW50SGVpZ2h0QW5kTWFyZ2luKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCB7IHVz
ZWRIZWlnaHQgfSk7CiAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbmxpbmVCbG9ja0JveCgpKQot
ICAgICAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCkuaW5saW5lQmxvY2tIZWlnaHRBbmRNYXJnaW4o
bGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHsgdXNlZEhlaWdodCB9KTsKKyAgICAg
ICAgICAgIHJldHVybiBnZW9tZXRyeSgpLmlubGluZUJsb2NrQ29udGVudEhlaWdodEFuZE1hcmdp
bihsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgeyB1c2VkSGVpZ2h0IH0pOwogICAg
ICAgICBpZiAobGF5b3V0Qm94LmlzUmVwbGFjZWRCb3goKSkKLSAgICAgICAgICAgIHJldHVybiBn
ZW9tZXRyeSgpLmlubGluZVJlcGxhY2VkSGVpZ2h0QW5kTWFyZ2luKGRvd25jYXN0PFJlcGxhY2Vk
Qm94PihsYXlvdXRCb3gpLCBob3Jpem9udGFsQ29uc3RyYWludHMsIHsgfSwgeyB1c2VkSGVpZ2h0
IH0pOworICAgICAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCkuaW5saW5lUmVwbGFjZWRDb250ZW50
SGVpZ2h0QW5kTWFyZ2luKGRvd25jYXN0PFJlcGxhY2VkQm94PihsYXlvdXRCb3gpLCBob3Jpem9u
dGFsQ29uc3RyYWludHMsIHsgfSwgeyB1c2VkSGVpZ2h0IH0pOwogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIENvbnRlbnRIZWlnaHRBbmRNYXJnaW4geyB9Owog
ICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCBkOTliZTI4MGUyYjUy
ZTgxOTNmMDBlNzg1ZjY4MDQ5Zjg4ZTgyMDU2Li43NGMyYjc3Njg2MGRlMTY4ZjczZTFjZDJhZDRl
YmJkNzk0MGVlMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTcwLDgg
KzcwLDggQEAgcHJpdmF0ZToKICAgICAgICAgSW5saW5lUmVjdCBjb21wdXRlZExpbmVMb2dpY2Fs
UmVjdChjb25zdCBMaW5lQm94JiwgY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JikgY29u
c3Q7CiAgICAgICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbFRvcEZvck5leHRMaW5lKGNvbnN0
IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIElubGluZUxheW91dFVuaXQgcHJldmlvdXNMaW5l
TG9naWNhbEJvdHRvbSwgY29uc3QgRmxvYXRpbmdDb250ZXh0JikgY29uc3Q7CiAKLSAgICAgICAg
Q29udGVudEhlaWdodEFuZE1hcmdpbiBpbmxpbmVCbG9ja0hlaWdodEFuZE1hcmdpbihjb25zdCBC
b3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMmLCBjb25zdCBPdmVycmlkZGVuVmVydGlj
YWxWYWx1ZXMmKSBjb25zdDsKLSAgICAgICAgQ29udGVudFdpZHRoQW5kTWFyZ2luIGlubGluZUJs
b2NrV2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRz
JiwgY29uc3QgT3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMmKTsKKyAgICAgICAgQ29udGVudEhl
aWdodEFuZE1hcmdpbiBpbmxpbmVCbG9ja0NvbnRlbnRIZWlnaHRBbmRNYXJnaW4oY29uc3QgQm94
JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2Fs
VmFsdWVzJikgY29uc3Q7CisgICAgICAgIENvbnRlbnRXaWR0aEFuZE1hcmdpbiBpbmxpbmVCbG9j
a0NvbnRlbnRXaWR0aEFuZE1hcmdpbihjb25zdCBCb3gmLCBjb25zdCBIb3Jpem9udGFsQ29uc3Ry
YWludHMmLCBjb25zdCBPdmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYpOwogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIElubGluZUZvcm1hdHRpbmdDb250ZXh0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCA2NTk5YzRm
YTVkZDI3Y2IxMjc1MzJkZTNkYmYxMjEyOWRhMDI4NzlhLi5lZDRiZWYzMDVkMjZjNzY1Yzk3NDk0
NTBkNzUwYjcyYTQxODU2YjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dEdlb21ldHJ5LmNwcApAQCAtNDU2LDcgKzQ1Niw3IEBAIElubGluZUxheW91dFVuaXQgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpsb2dpY2FsVG9wRm9yTmV4dExpbmUoY29u
c3QKICAgICByZXR1cm4gc3RkOjptYXgocHJldmlvdXNMaW5lTG9naWNhbEJvdHRvbSwgSW5saW5l
TGF5b3V0VW5pdChwb3NpdGlvbldpdGhDbGVhcmFuY2UtPnBvc2l0aW9uKSk7CiB9CiAKLUNvbnRl
bnRXaWR0aEFuZE1hcmdpbiBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGlu
ZUJsb2NrV2lkdGhBbmRNYXJnaW4oY29uc3QgQm94JiBmb3JtYXR0aW5nQ29udGV4dFJvb3QsIGNv
bnN0IEhvcml6b250YWxDb25zdHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBP
dmVycmlkZGVuSG9yaXpvbnRhbFZhbHVlcyYgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMpCitD
b250ZW50V2lkdGhBbmRNYXJnaW4gSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpp
bmxpbmVCbG9ja0NvbnRlbnRXaWR0aEFuZE1hcmdpbihjb25zdCBCb3gmIGZvcm1hdHRpbmdDb250
ZXh0Um9vdCwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiBob3Jpem9udGFsQ29uc3RyYWlu
dHMsIGNvbnN0IE92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVzJiBvdmVycmlkZGVuSG9yaXpvbnRh
bFZhbHVlcykKIHsKICAgICBBU1NFUlQoZm9ybWF0dGluZ0NvbnRleHRSb290LmlzSW5GbG93KCkp
OwogCkBAIC00NjQsNyArNDY0LDcgQEAgQ29udGVudFdpZHRoQW5kTWFyZ2luIElubGluZUZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lQmxvY2tXaWR0aEFuZE1hcmcKIAogICAgIC8v
IEV4YWN0bHkgYXMgaW5saW5lIHJlcGxhY2VkIGVsZW1lbnRzLgogICAgIGlmIChmb3JtYXR0aW5n
Q29udGV4dFJvb3QuaXNSZXBsYWNlZEJveCgpKQotICAgICAgICByZXR1cm4gaW5saW5lUmVwbGFj
ZWRXaWR0aEFuZE1hcmdpbihkb3duY2FzdDxSZXBsYWNlZEJveD4oZm9ybWF0dGluZ0NvbnRleHRS
b290KSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCB7IH0sIG92ZXJyaWRkZW5Ib3Jpem9udGFsVmFs
dWVzKTsKKyAgICAgICAgcmV0dXJuIGlubGluZVJlcGxhY2VkQ29udGVudFdpZHRoQW5kTWFyZ2lu
KGRvd25jYXN0PFJlcGxhY2VkQm94Pihmb3JtYXR0aW5nQ29udGV4dFJvb3QpLCBob3Jpem9udGFs
Q29uc3RyYWludHMsIHsgfSwgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMpOwogCiAgICAgLy8g
MTAuMy45ICdJbmxpbmUtYmxvY2snLCBub24tcmVwbGFjZWQgZWxlbWVudHMgaW4gbm9ybWFsIGZs
b3cKIApAQCAtNDgxLDEzICs0ODEsMTMgQEAgQ29udGVudFdpZHRoQW5kTWFyZ2luIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lQmxvY2tXaWR0aEFuZE1hcmcKICAgICBy
ZXR1cm4gQ29udGVudFdpZHRoQW5kTWFyZ2luIHsgKndpZHRoLCB7IGNvbXB1dGVkSG9yaXpvbnRh
bE1hcmdpbi5zdGFydC52YWx1ZU9yKDBfbHUpLCBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uZW5k
LnZhbHVlT3IoMF9sdSkgfSB9OwogfQogCi1Db250ZW50SGVpZ2h0QW5kTWFyZ2luIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5saW5lQmxvY2tIZWlnaHRBbmRNYXJnaW4oY29u
c3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYgaG9yaXpvbnRh
bENvbnN0cmFpbnRzLCBjb25zdCBPdmVycmlkZGVuVmVydGljYWxWYWx1ZXMmIG92ZXJyaWRkZW5W
ZXJ0aWNhbFZhbHVlcykgY29uc3QKK0NvbnRlbnRIZWlnaHRBbmRNYXJnaW4gSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbmxpbmVCbG9ja0NvbnRlbnRIZWlnaHRBbmRNYXJnaW4o
Y29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYgaG9yaXpv
bnRhbENvbnN0cmFpbnRzLCBjb25zdCBPdmVycmlkZGVuVmVydGljYWxWYWx1ZXMmIG92ZXJyaWRk
ZW5WZXJ0aWNhbFZhbHVlcykgY29uc3QKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzSW5GbG93
KCkpOwogCiAgICAgLy8gMTAuNi4yIElubGluZSByZXBsYWNlZCBlbGVtZW50cywgYmxvY2stbGV2
ZWwgcmVwbGFjZWQgZWxlbWVudHMgaW4gbm9ybWFsIGZsb3csICdpbmxpbmUtYmxvY2snIHJlcGxh
Y2VkIGVsZW1lbnRzIGluIG5vcm1hbCBmbG93IGFuZCBmbG9hdGluZyByZXBsYWNlZCBlbGVtZW50
cwogICAgIGlmIChsYXlvdXRCb3guaXNSZXBsYWNlZEJveCgpKQotICAgICAgICByZXR1cm4gaW5s
aW5lUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4oZG93bmNhc3Q8UmVwbGFjZWRCb3g+KGxheW91dEJv
eCksIGhvcml6b250YWxDb25zdHJhaW50cywgeyB9LCBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMp
OworICAgICAgICByZXR1cm4gaW5saW5lUmVwbGFjZWRDb250ZW50SGVpZ2h0QW5kTWFyZ2luKGRv
d25jYXN0PFJlcGxhY2VkQm94PihsYXlvdXRCb3gpLCBob3Jpem9udGFsQ29uc3RyYWludHMsIHsg
fSwgb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzKTsKIAogICAgIC8vIDEwLjYuNiBDb21wbGljYXRl
ZCBjYXNlcwogICAgIC8vIC0gJ0lubGluZS1ibG9jaycsIG5vbi1yZXBsYWNlZCBlbGVtZW50cy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>