<?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>194490</bug_id>
          
          <creation_ts>2019-02-10 21:53:09 -0800</creation_ts>
          <short_desc>[LFC] FormattingContext::Geometry::floatingHeightAndMargin should take UsedHorizontalValues</short_desc>
          <delta_ts>2019-02-11 08:24:35 -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>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>1504796</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-02-10 21:53:09 -0800</bug_when>
    <thetext>we need to be able to pass in nullopt containing block width value while computing intrinsic widths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504797</commentid>
    <comment_count>1</comment_count>
      <attachid>361659</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-02-10 21:57:51 -0800</bug_when>
    <thetext>Created attachment 361659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504871</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-02-11 08:23:11 -0800</bug_when>
    <thetext>Committed r241264: &lt;https://trac.webkit.org/changeset/241264&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504874</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-11 08:24:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/47965367&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361659</attachid>
            <date>2019-02-10 21:57:51 -0800</date>
            <delta_ts>2019-02-11 07:45:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.txt</filename>
            <type>text/plain</type>
            <size>23783</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZjkwMTZlNGVjNC4uMTc0ZjkyZDA0MGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOS0wMi0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgor
CisgICAgICAgIFtMRkNdIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6ZmxvYXRpbmdIZWln
aHRBbmRNYXJnaW4gc2hvdWxkIHRha2UgVXNlZEhvcml6b250YWxWYWx1ZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDQ5MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRp
b24gZm9yIGFkZGluZyBmbG9hdGluZyBwcmVmZXJyZWQgd2lkdGggY29tcHV0YXRpb24gc3VwcG9y
dC4gSXQgcmVxdWlyZXMgaGVpZ2h0IGNvbXB1dGFpdG9uCisgICAgICAgIHdoaWNoIHVzZXMgY29u
dGFpbmluZyBibG9jayB3aWR0aCB0byByZXNvbHZlIHZlcnRpY2FsIG1hcmdpbnMuCisKKyAgICAg
ICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUJvcmRlckFuZFBhZGRpbmcgY29uc3QpOgor
ICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9G
b3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNlZFZlcnRpY2Fs
R2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6
R2VvbWV0cnk6Om91dE9mRmxvd1JlcGxhY2VkVmVydGljYWxHZW9tZXRyeSk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29tcGxpY2F0ZWRD
YXNlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6ZmxvYXRpbmdIZWlnaHRBbmRNYXJnaW4pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkSGVpZ2h0QW5kTWFy
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5Ojpjb21wdXRlZFZlcnRpY2FsTWFyZ2luKToKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGlu
Z0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5n
Q29udGV4dDo6UXVpcmtzOjpoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhG
aXhlZEhlaWdodCk6CisgICAgICAgICogbGF5b3V0L0xheW91dFVuaXRzLmg6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OlVzZWRIb3Jpem9udGFsVmFsdWVzOjpVc2VkSG9yaXpvbnRhbFZhbHVl
cyk6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdpbiBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5GbG93
Tm9uUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5GbG93SGVpZ2h0QW5kTWFyZ2luKToK
KyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRR
dWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpRdWlya3M6OnN0cmV0Y2hlZEluRmxvd0hlaWdodCk6CisgICAgICAgICogbGF5b3V0L2Js
b2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OnBvc2l0aXZl
TmVnYXRpdmVWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6ZXN0aW1hdGVkTWFyZ2luQmVmb3JlKToKKyAgICAg
ICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlv
dXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdpbiBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6
aW5saW5lQmxvY2tIZWlnaHRBbmRNYXJnaW4pOgorCiAyMDE5LTAyLTEwICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gRm9ybWF0dGluZ0NvbnRleHQ6Omlu
dHJpbnNpY1dpZHRoQ29uc3RyYWludHMgc2hvdWxkIGNvbXB1dGUgYW5kIHNhdmUgdGhlIGludHJp
bnNpYyB3aWR0aHMgY29uc2lzdGVudGx5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0
aW5nQ29udGV4dC5jcHAKaW5kZXggY2Q5NGUyNTFkZWQuLjg5NDRjM2Q2ZjU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTEyOSw3ICsxMjksNyBA
QCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlQm9yZGVyQW5kUGFkZGluZyhjb25zdCBC
b3gmIGxheW91dEJveCkgY29uc3QKICAgICBhdXRvJiBkaXNwbGF5Qm94ID0gbGF5b3V0U3RhdGUu
ZGlzcGxheUJveEZvckxheW91dEJveChsYXlvdXRCb3gpOwogICAgIGF1dG8gY29udGFpbmluZ0Js
b2NrV2lkdGggPSBsYXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpsYXlvdXRCb3gu
Y29udGFpbmluZ0Jsb2NrKCkpLmNvbnRlbnRCb3hXaWR0aCgpOwogICAgIGRpc3BsYXlCb3guc2V0
Qm9yZGVyKEdlb21ldHJ5Ojpjb21wdXRlZEJvcmRlcihsYXlvdXRCb3gpKTsKLSAgICBkaXNwbGF5
Qm94LnNldFBhZGRpbmcoR2VvbWV0cnk6OmNvbXB1dGVkUGFkZGluZyhsYXlvdXRCb3gsIFVzZWRI
b3Jpem9udGFsVmFsdWVzIHsgY29udGFpbmluZ0Jsb2NrV2lkdGgsIHsgfSwgeyB9IH0pKTsKKyAg
ICBkaXNwbGF5Qm94LnNldFBhZGRpbmcoR2VvbWV0cnk6OmNvbXB1dGVkUGFkZGluZyhsYXlvdXRC
b3gsIFVzZWRIb3Jpem9udGFsVmFsdWVzIHsgY29udGFpbmluZ0Jsb2NrV2lkdGggfSkpOwogfQog
CiB2b2lkIEZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRPdXRPZkZsb3dEZXNjZW5kYW50cyhjb25z
dCBCb3gmIGxheW91dEJveCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdD
b250ZXh0LmgKaW5kZXggYTgxNzQyYTRjOWYuLmJjM2I0MzdmODAzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgIHN0YXRpYyBWZXJ0aWNhbEdlb21ldHJ5IG91dE9mRmxvd1ZlcnRpY2FsR2VvbWV0
cnkoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmLCBVc2VkVmVydGljYWxWYWx1ZXMpOwog
ICAgICAgICBzdGF0aWMgSG9yaXpvbnRhbEdlb21ldHJ5IG91dE9mRmxvd0hvcml6b250YWxHZW9t
ZXRyeShMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIFVzZWRIb3Jpem9udGFsVmFsdWVzKTsKIAot
ICAgICAgICBzdGF0aWMgSGVpZ2h0QW5kTWFyZ2luIGZsb2F0aW5nSGVpZ2h0QW5kTWFyZ2luKGNv
bnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94JiwgVXNlZFZlcnRpY2FsVmFsdWVzKTsKKyAgICAg
ICAgc3RhdGljIEhlaWdodEFuZE1hcmdpbiBmbG9hdGluZ0hlaWdodEFuZE1hcmdpbihjb25zdCBM
YXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIFVzZWRWZXJ0aWNhbFZhbHVlcywgVXNlZEhvcml6b250
YWxWYWx1ZXMpOwogICAgICAgICBzdGF0aWMgV2lkdGhBbmRNYXJnaW4gZmxvYXRpbmdXaWR0aEFu
ZE1hcmdpbihMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIFVzZWRIb3Jpem9udGFsVmFsdWVzKTsK
IAogICAgICAgICBzdGF0aWMgSGVpZ2h0QW5kTWFyZ2luIGlubGluZVJlcGxhY2VkSGVpZ2h0QW5k
TWFyZ2luKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94JiwgVXNlZFZlcnRpY2FsVmFsdWVz
KTsKQEAgLTg5LDE0ICs4OSwxNCBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgc3RhdGljIExheW91
dFNpemUgaW5GbG93UG9zaXRpb25lZFBvc2l0aW9uT2Zmc2V0KGNvbnN0IExheW91dFN0YXRlJiwg
Y29uc3QgQm94Jik7CiAKLSAgICAgICAgc3RhdGljIEhlaWdodEFuZE1hcmdpbiBjb21wbGljYXRl
ZENhc2VzKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94JiwgVXNlZFZlcnRpY2FsVmFsdWVz
KTsKKyAgICAgICAgc3RhdGljIEhlaWdodEFuZE1hcmdpbiBjb21wbGljYXRlZENhc2VzKGNvbnN0
IExheW91dFN0YXRlJiwgY29uc3QgQm94JiwgVXNlZFZlcnRpY2FsVmFsdWVzLCBVc2VkSG9yaXpv
bnRhbFZhbHVlcyk7CiAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IHNocmlua1RvRml0V2lkdGgo
TGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmLCBVc2VkSG9yaXpvbnRhbFZhbHVlcyk7CiAKICAgICAg
ICAgc3RhdGljIEVkZ2VzIGNvbXB1dGVkQm9yZGVyKGNvbnN0IEJveCYpOwogICAgICAgICBzdGF0
aWMgT3B0aW9uYWw8RWRnZXM+IGNvbXB1dGVkUGFkZGluZyhjb25zdCBCb3gmLCBVc2VkSG9yaXpv
bnRhbFZhbHVlcyk7CiAKICAgICAgICAgc3RhdGljIENvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbiBj
b21wdXRlZEhvcml6b250YWxNYXJnaW4oY29uc3QgQm94JiwgVXNlZEhvcml6b250YWxWYWx1ZXMp
OwotICAgICAgICBzdGF0aWMgQ29tcHV0ZWRWZXJ0aWNhbE1hcmdpbiBjb21wdXRlZFZlcnRpY2Fs
TWFyZ2luKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7CisgICAgICAgIHN0YXRpYyBD
b21wdXRlZFZlcnRpY2FsTWFyZ2luIGNvbXB1dGVkVmVydGljYWxNYXJnaW4oY29uc3QgQm94Jiwg
VXNlZEhvcml6b250YWxWYWx1ZXMpOwogCiAgICAgICAgIHN0YXRpYyBPcHRpb25hbDxMYXlvdXRV
bml0PiBjb21wdXRlZFZhbHVlSWZOb3RBdXRvKGNvbnN0IExlbmd0aCYgZ2VvbWV0cnlQcm9wZXJ0
eSwgTGF5b3V0VW5pdCBjb250YWluaW5nQmxvY2tXaWR0aCk7CiAgICAgICAgIHN0YXRpYyBPcHRp
b25hbDxMYXlvdXRVbml0PiBmaXhlZFZhbHVlKGNvbnN0IExlbmd0aCYgZ2VvbWV0cnlQcm9wZXJ0
eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRH
ZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHAKaW5kZXggYjdlZGY0ZmUzNmQuLjBjMmQ4NzJlOTdlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC0yOTUs
NyArMjk1LDcgQEAgVmVydGljYWxHZW9tZXRyeSBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
Om91dE9mRmxvd05vblJlcGxhY2VkVmVydGljYWxHZW9tZXQKICAgICBhdXRvIGJvdHRvbSA9IGNv
bXB1dGVkVmFsdWVJZk5vdEF1dG8oc3R5bGUubG9naWNhbEJvdHRvbSgpLCBjb250YWluaW5nQmxv
Y2tXaWR0aCk7CiAgICAgYXV0byBpc1N0YXRpY2FsbHlQb3NpdGlvbmVkID0gIXRvcCAmJiAhYm90
dG9tOwogICAgIGF1dG8gaGVpZ2h0ID0gdXNlZFZhbHVlcy5oZWlnaHQgPyB1c2VkVmFsdWVzLmhl
aWdodC52YWx1ZSgpIDogY29tcHV0ZWRIZWlnaHRWYWx1ZShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94
LCBIZWlnaHRUeXBlOjpOb3JtYWwpOwotICAgIGF1dG8gY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbiA9
IEdlb21ldHJ5Ojpjb21wdXRlZFZlcnRpY2FsTWFyZ2luKGxheW91dFN0YXRlLCBsYXlvdXRCb3gp
OworICAgIGF1dG8gY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbiA9IEdlb21ldHJ5Ojpjb21wdXRlZFZl
cnRpY2FsTWFyZ2luKGxheW91dEJveCwgVXNlZEhvcml6b250YWxWYWx1ZXMgeyBjb250YWluaW5n
QmxvY2tXaWR0aCB9KTsKICAgICBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVl
cyB1c2VkVmVydGljYWxNYXJnaW47IAogICAgIGF1dG8gcGFkZGluZ1RvcCA9IGRpc3BsYXlCb3gu
cGFkZGluZ1RvcCgpLnZhbHVlT3IoMCk7CiAgICAgYXV0byBwYWRkaW5nQm90dG9tID0gZGlzcGxh
eUJveC5wYWRkaW5nQm90dG9tKCkudmFsdWVPcigwKTsKQEAgLTU2MCw3ICs1NjAsNyBAQCBWZXJ0
aWNhbEdlb21ldHJ5IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6b3V0T2ZGbG93UmVwbGFj
ZWRWZXJ0aWNhbEdlb21ldHJ5KAogICAgIGF1dG8gYm90dG9tID0gY29tcHV0ZWRWYWx1ZUlmTm90
QXV0byhzdHlsZS5sb2dpY2FsQm90dG9tKCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKICAgICBh
dXRvIGlzU3RhdGljYWxseVBvc2l0aW9uZWQgPSAhdG9wICYmICFib3R0b207CiAgICAgYXV0byBo
ZWlnaHQgPSBpbmxpbmVSZXBsYWNlZEhlaWdodEFuZE1hcmdpbihsYXlvdXRTdGF0ZSwgbGF5b3V0
Qm94LCB1c2VkVmFsdWVzKS5oZWlnaHQ7Ci0gICAgYXV0byBjb21wdXRlZFZlcnRpY2FsTWFyZ2lu
ID0gR2VvbWV0cnk6OmNvbXB1dGVkVmVydGljYWxNYXJnaW4obGF5b3V0U3RhdGUsIGxheW91dEJv
eCk7CisgICAgYXV0byBjb21wdXRlZFZlcnRpY2FsTWFyZ2luID0gR2VvbWV0cnk6OmNvbXB1dGVk
VmVydGljYWxNYXJnaW4obGF5b3V0Qm94LCBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7IGNvbnRhaW5p
bmdCbG9ja1dpZHRoIH0pOwogICAgIE9wdGlvbmFsPExheW91dFVuaXQ+IHVzZWRNYXJnaW5CZWZv
cmUgPSBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmJlZm9yZTsKICAgICBPcHRpb25hbDxMYXlvdXRV
bml0PiB1c2VkTWFyZ2luQWZ0ZXIgPSBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmFmdGVyOwogICAg
IGF1dG8gcGFkZGluZ1RvcCA9IGRpc3BsYXlCb3gucGFkZGluZ1RvcCgpLnZhbHVlT3IoMCk7CkBA
IC03MjcsNyArNzI3LDcgQEAgSG9yaXpvbnRhbEdlb21ldHJ5IEZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6b3V0T2ZGbG93UmVwbGFjZWRIb3Jpem9udGFsR2VvbWUKICAgICByZXR1cm4geyAq
bGVmdCwgKnJpZ2h0LCB7IHdpZHRoLCB7ICp1c2VkTWFyZ2luU3RhcnQsICp1c2VkTWFyZ2luRW5k
IH0sIGNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbiB9IH07CiB9CiAKLUhlaWdodEFuZE1hcmdpbiBG
b3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXBsaWNhdGVkQ2FzZXMoY29uc3QgTGF5b3V0
U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gmIGxheW91dEJveCwgVXNlZFZlcnRpY2FsVmFs
dWVzIHVzZWRWYWx1ZXMpCitIZWlnaHRBbmRNYXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5Ojpjb21wbGljYXRlZENhc2VzKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29u
c3QgQm94JiBsYXlvdXRCb3gsIFVzZWRWZXJ0aWNhbFZhbHVlcyB1c2VkVmFsdWVzLCBVc2VkSG9y
aXpvbnRhbFZhbHVlcyB1c2VkSG9yaXpvbnRhbFZhbHVlcykKIHsKICAgICBBU1NFUlQoIWxheW91
dEJveC5yZXBsYWNlZCgpKTsKICAgICAvLyBUT0RPOiBVc2UgY29tcGxpY2F0ZWQtY2FzZSBmb3Ig
ZG9jdW1lbnQgcmVuZGVyZXIgZm9yIG5vdyAoc2VlIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdl
b21ldHJ5OjppbkZsb3dIZWlnaHRBbmRNYXJnaW4pLgpAQCAtNzQzLDcgKzc0Myw3IEBAIEhlaWdo
dEFuZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXBsaWNhdGVkQ2FzZXMo
Y29uc3QgTGF5b3V0U3RhdGUmCiAgICAgLy8gMi4gSWYgJ2hlaWdodCcgaXMgJ2F1dG8nLCB0aGUg
aGVpZ2h0IGRlcGVuZHMgb24gdGhlIGVsZW1lbnQncyBkZXNjZW5kYW50cyBwZXIgMTAuNi43Lgog
CiAgICAgYXV0byBoZWlnaHQgPSB1c2VkVmFsdWVzLmhlaWdodCA/IHVzZWRWYWx1ZXMuaGVpZ2h0
LnZhbHVlKCkgOiBjb21wdXRlZEhlaWdodFZhbHVlKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIEhl
aWdodFR5cGU6Ok5vcm1hbCk7Ci0gICAgYXV0byBjb21wdXRlZFZlcnRpY2FsTWFyZ2luID0gR2Vv
bWV0cnk6OmNvbXB1dGVkVmVydGljYWxNYXJnaW4obGF5b3V0U3RhdGUsIGxheW91dEJveCk7Cisg
ICAgYXV0byBjb21wdXRlZFZlcnRpY2FsTWFyZ2luID0gR2VvbWV0cnk6OmNvbXB1dGVkVmVydGlj
YWxNYXJnaW4obGF5b3V0Qm94LCB1c2VkSG9yaXpvbnRhbFZhbHVlcyk7CiAgICAgLy8gIzEKICAg
ICBhdXRvIHVzZWRWZXJ0aWNhbE1hcmdpbiA9IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFw
c2VkVmFsdWVzIHsgY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbi5iZWZvcmUudmFsdWVPcigwKSwgY29t
cHV0ZWRWZXJ0aWNhbE1hcmdpbi5hZnRlci52YWx1ZU9yKDApIH07IAogICAgIC8vICMyCkBAIC04
MjMsMTMgKzgyMywxMyBAQCBIb3Jpem9udGFsR2VvbWV0cnkgRm9ybWF0dGluZ0NvbnRleHQ6Okdl
b21ldHJ5OjpvdXRPZkZsb3dIb3Jpem9udGFsR2VvbWV0cnkoTGF5bwogICAgIHJldHVybiBvdXRP
ZkZsb3dSZXBsYWNlZEhvcml6b250YWxHZW9tZXRyeShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCB1
c2VkVmFsdWVzKTsKIH0KIAotSGVpZ2h0QW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6ZmxvYXRpbmdIZWlnaHRBbmRNYXJnaW4oY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0
YXRlLCBjb25zdCBCb3gmIGxheW91dEJveCwgVXNlZFZlcnRpY2FsVmFsdWVzIHVzZWRWYWx1ZXMp
CitIZWlnaHRBbmRNYXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpmbG9hdGluZ0hl
aWdodEFuZE1hcmdpbihjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYg
bGF5b3V0Qm94LCBVc2VkVmVydGljYWxWYWx1ZXMgdXNlZFZlcnRpY2FsVmFsdWVzLCBVc2VkSG9y
aXpvbnRhbFZhbHVlcyB1c2VkSG9yaXpvbnRhbFZhbHVlcykKIHsKICAgICBBU1NFUlQobGF5b3V0
Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpOwogCiAgICAgaWYgKCFsYXlvdXRCb3gucmVwbGFj
ZWQoKSkKLSAgICAgICAgcmV0dXJuIGNvbXBsaWNhdGVkQ2FzZXMobGF5b3V0U3RhdGUsIGxheW91
dEJveCwgdXNlZFZhbHVlcyk7Ci0gICAgcmV0dXJuIGZsb2F0aW5nUmVwbGFjZWRIZWlnaHRBbmRN
YXJnaW4obGF5b3V0U3RhdGUsIGxheW91dEJveCwgdXNlZFZhbHVlcyk7CisgICAgICAgIHJldHVy
biBjb21wbGljYXRlZENhc2VzKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIHVzZWRWZXJ0aWNhbFZh
bHVlcywgdXNlZEhvcml6b250YWxWYWx1ZXMpOworICAgIHJldHVybiBmbG9hdGluZ1JlcGxhY2Vk
SGVpZ2h0QW5kTWFyZ2luKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIHVzZWRWZXJ0aWNhbFZhbHVl
cyk7CiB9CiAKIFdpZHRoQW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Zmxv
YXRpbmdXaWR0aEFuZE1hcmdpbihMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYg
bGF5b3V0Qm94LCBVc2VkSG9yaXpvbnRhbFZhbHVlcyB1c2VkVmFsdWVzKQpAQCAtODU2LDcgKzg1
Niw4IEBAIEhlaWdodEFuZE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGlu
ZVJlcGxhY2VkSGVpZ2h0QW5kTWFyZ2luKGNvbnN0CiAgICAgLy8gICAgdGhlIGhlaWdodCBvZiB0
aGUgbGFyZ2VzdCByZWN0YW5nbGUgdGhhdCBoYXMgYSAyOjEgcmF0aW8sIGhhcyBhIGhlaWdodCBu
b3QgZ3JlYXRlciB0aGFuIDE1MHB4LCBhbmQgaGFzIGEgd2lkdGggbm90IGdyZWF0ZXIgdGhhbiB0
aGUgZGV2aWNlIHdpZHRoLgogCiAgICAgLy8gIzEKLSAgICBhdXRvIGNvbXB1dGVkVmVydGljYWxN
YXJnaW4gPSBHZW9tZXRyeTo6Y29tcHV0ZWRWZXJ0aWNhbE1hcmdpbihsYXlvdXRTdGF0ZSwgbGF5
b3V0Qm94KTsKKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1dpZHRoID0gbGF5b3V0U3RhdGUuZGlz
cGxheUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKS5jb250ZW50
Qm94V2lkdGgoKTsKKyAgICBhdXRvIGNvbXB1dGVkVmVydGljYWxNYXJnaW4gPSBHZW9tZXRyeTo6
Y29tcHV0ZWRWZXJ0aWNhbE1hcmdpbihsYXlvdXRCb3gsIFVzZWRIb3Jpem9udGFsVmFsdWVzIHsg
Y29udGFpbmluZ0Jsb2NrV2lkdGggfSk7CiAgICAgYXV0byB1c2VkVmVydGljYWxNYXJnaW4gPSBV
c2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcyB7IGNvbXB1dGVkVmVydGljYWxN
YXJnaW4uYmVmb3JlLnZhbHVlT3IoMCksIGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYWZ0ZXIudmFs
dWVPcigwKSB9OwogICAgIGF1dG8mIHN0eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7CiAgICAgYXV0
byByZXBsYWNlZCA9IGxheW91dEJveC5yZXBsYWNlZCgpOwpAQCAtMTA2NCwxMSArMTA2NSwxMCBA
QCBDb21wdXRlZEhvcml6b250YWxNYXJnaW4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpj
b21wdXRlZEhvcml6b250YWxNYXJnaW4oYwogICAgIHJldHVybiB7IGNvbXB1dGVkVmFsdWVJZk5v
dEF1dG8oc3R5bGUubWFyZ2luU3RhcnQoKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpLCBjb21wdXRl
ZFZhbHVlSWZOb3RBdXRvKHN0eWxlLm1hcmdpbkVuZCgpLCBjb250YWluaW5nQmxvY2tXaWR0aCkg
fTsKIH0KIAotQ29tcHV0ZWRWZXJ0aWNhbE1hcmdpbiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OmNvbXB1dGVkVmVydGljYWxNYXJnaW4oY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRl
LCBjb25zdCBCb3gmIGxheW91dEJveCkKK0NvbXB1dGVkVmVydGljYWxNYXJnaW4gRm9ybWF0dGlu
Z0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZFZlcnRpY2FsTWFyZ2luKGNvbnN0IEJveCYgbGF5
b3V0Qm94LCBVc2VkSG9yaXpvbnRhbFZhbHVlcyB1c2VkVmFsdWVzKQogewogICAgIGF1dG8mIHN0
eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7Ci0gICAgYXV0byBjb250YWluaW5nQmxvY2tXaWR0aCA9
IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmxheW91dEJveC5jb250YWluaW5n
QmxvY2soKSkuY29udGVudEJveFdpZHRoKCk7Ci0KKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1dp
ZHRoID0gdXNlZFZhbHVlcy5jb250YWluaW5nQmxvY2tXaWR0aC52YWx1ZU9yKDApOwogICAgIHJl
dHVybiB7IGNvbXB1dGVkVmFsdWVJZk5vdEF1dG8oc3R5bGUubWFyZ2luQmVmb3JlKCksIGNvbnRh
aW5pbmdCbG9ja1dpZHRoKSwgY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhzdHlsZS5tYXJnaW5BZnRl
cigpLCBjb250YWluaW5nQmxvY2tXaWR0aCkgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKaW5kZXggNTEwYjk3MDRlYzcuLjll
NzQ2OTkxZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0Nv
bnRleHRRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29u
dGV4dFF1aXJrcy5jcHAKQEAgLTUxLDcgKzUxLDggQEAgTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29u
dGV4dDo6UXVpcmtzOjpoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXgK
ICAgICAgICAgaWYgKGNvbnRhaW5pbmdCbG9jay0+aXNCb2R5Qm94KCkgfHwgY29udGFpbmluZ0Js
b2NrLT5pc0RvY3VtZW50Qm94KCkpIHsKICAgICAgICAgICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBs
YXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpjb250YWluaW5nQmxvY2spOwogCi0g
ICAgICAgICAgICBhdXRvIHZlcnRpY2FsTWFyZ2luID0gR2VvbWV0cnk6OmNvbXB1dGVkVmVydGlj
YWxNYXJnaW4obGF5b3V0U3RhdGUsICpjb250YWluaW5nQmxvY2spOworICAgICAgICAgICAgYXV0
byB1c2VkVmFsdWVzID0gVXNlZEhvcml6b250YWxWYWx1ZXMgeyBsYXlvdXRTdGF0ZS5kaXNwbGF5
Qm94Rm9yTGF5b3V0Qm94KCpjb250YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpKS5jb250
ZW50Qm94V2lkdGgoKSB9OworICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbE1hcmdpbiA9IEdlb21l
dHJ5Ojpjb21wdXRlZFZlcnRpY2FsTWFyZ2luKCpjb250YWluaW5nQmxvY2ssIHVzZWRWYWx1ZXMp
OwogICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbFBhZGRpbmcgPSBkaXNwbGF5Qm94LnBhZGRpbmdU
b3AoKS52YWx1ZU9yKDApICsgZGlzcGxheUJveC5wYWRkaW5nQm90dG9tKCkudmFsdWVPcigwKTsK
ICAgICAgICAgICAgIGF1dG8gdmVydGljYWxCb3JkZXIgPSBkaXNwbGF5Qm94LmJvcmRlclRvcCgp
ICsgZGlzcGxheUJveC5ib3JkZXJCb3R0b20oKTsKICAgICAgICAgICAgIGJvZHlBbmREb2N1bWVu
dFZlcnRpY2FsTWFyZ2luUGFkZGluZ0FuZEJvcmRlciArPSB2ZXJ0aWNhbE1hcmdpbi5iZWZvcmUu
dmFsdWVPcigwKSArIHZlcnRpY2FsTWFyZ2luLmFmdGVyLnZhbHVlT3IoMCkgKyB2ZXJ0aWNhbFBh
ZGRpbmcgKyB2ZXJ0aWNhbEJvcmRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9MYXlvdXRVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFVuaXRzLmgKaW5k
ZXggZmUxYWYzZmJmNzYuLjA4OTI3YmZmYjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvTGF5b3V0VW5pdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5p
dHMuaApAQCAtMTI1LDE0ICsxMjUsMTkgQEAgc3RydWN0IFZlcnRpY2FsR2VvbWV0cnkgewogfTsK
IAogc3RydWN0IFVzZWRIb3Jpem9udGFsVmFsdWVzIHsKLSAgICBleHBsaWNpdCBVc2VkSG9yaXpv
bnRhbFZhbHVlcyhPcHRpb25hbDxMYXlvdXRVbml0PiBjb250YWluaW5nQmxvY2tXaWR0aCwgT3B0
aW9uYWw8TGF5b3V0VW5pdD4gd2lkdGgsIE9wdGlvbmFsPFVzZWRIb3Jpem9udGFsTWFyZ2luPiBt
YXJnaW4pCisgICAgZXhwbGljaXQgVXNlZEhvcml6b250YWxWYWx1ZXMoKQorICAgICAgICB7Cisg
ICAgICAgIH0KKworICAgIGV4cGxpY2l0IFVzZWRIb3Jpem9udGFsVmFsdWVzKExheW91dFVuaXQg
Y29udGFpbmluZ0Jsb2NrV2lkdGgpCiAgICAgICAgIDogY29udGFpbmluZ0Jsb2NrV2lkdGgoY29u
dGFpbmluZ0Jsb2NrV2lkdGgpCi0gICAgICAgICwgd2lkdGgod2lkdGgpCi0gICAgICAgICwgbWFy
Z2luKG1hcmdpbikKICAgICAgICAgewogICAgICAgICB9CiAKLSAgICBleHBsaWNpdCBVc2VkSG9y
aXpvbnRhbFZhbHVlcygpCisgICAgZXhwbGljaXQgVXNlZEhvcml6b250YWxWYWx1ZXMoT3B0aW9u
YWw8TGF5b3V0VW5pdD4gY29udGFpbmluZ0Jsb2NrV2lkdGgsIE9wdGlvbmFsPExheW91dFVuaXQ+
IHdpZHRoLCBPcHRpb25hbDxVc2VkSG9yaXpvbnRhbE1hcmdpbj4gbWFyZ2luKQorICAgICAgICA6
IGNvbnRhaW5pbmdCbG9ja1dpZHRoKGNvbnRhaW5pbmdCbG9ja1dpZHRoKQorICAgICAgICAsIHdp
ZHRoKHdpZHRoKQorICAgICAgICAsIG1hcmdpbihtYXJnaW4pCiAgICAgICAgIHsKICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Js
b2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA0ZjBjOWUzNDFmMC4uYzU0
OWMyMWYyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRp
bmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMzQxLDcgKzM0
MSw3IEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdp
bihjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKICAgICAgICAgICAgIHJldHVybiBHZW9tZXRy
eTo6aW5GbG93SGVpZ2h0QW5kTWFyZ2luKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIHVzZWRWYWx1
ZXMpOwogCiAgICAgICAgIGlmIChsYXlvdXRCb3guaXNGbG9hdGluZ1Bvc2l0aW9uZWQoKSkKLSAg
ICAgICAgICAgIHJldHVybiBHZW9tZXRyeTo6ZmxvYXRpbmdIZWlnaHRBbmRNYXJnaW4obGF5b3V0
U3RhdGUsIGxheW91dEJveCwgdXNlZFZhbHVlcyk7CisgICAgICAgICAgICByZXR1cm4gR2VvbWV0
cnk6OmZsb2F0aW5nSGVpZ2h0QW5kTWFyZ2luKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIHVzZWRW
YWx1ZXMsIFVzZWRIb3Jpem9udGFsVmFsdWVzIHsgbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxh
eW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKS5jb250ZW50Qm94V2lkdGgoKSB9
KTsKIAogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIHsgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tG
b3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9j
a2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCA3ZTM3
ZWJiYjcwNy4uMTQ4NTQyYjQzNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
bG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHRHZW9tZXRyeS5jcHAKQEAgLTU4LDcgKzU4LDggQEAgSGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmcK
ICAgICAgICAgLy8gYW5kIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBib3hlcyBhcmUgY29uc2lkZXJl
ZCB3aXRob3V0IHRoZWlyIG9mZnNldCkuIE5vdGUgdGhhdCB0aGUgY2hpbGQgYm94IG1heSBiZSBh
biBhbm9ueW1vdXMgYmxvY2sgYm94LgogCiAgICAgICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBsYXlv
dXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7Ci0gICAgICAgIGF1dG8g
Y29tcHV0ZWRWZXJ0aWNhbE1hcmdpbiA9IEdlb21ldHJ5Ojpjb21wdXRlZFZlcnRpY2FsTWFyZ2lu
KGxheW91dFN0YXRlLCBsYXlvdXRCb3gpOworICAgICAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja1dp
ZHRoID0gbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRh
aW5pbmdCbG9jaygpKS5jb250ZW50Qm94V2lkdGgoKTsKKyAgICAgICAgYXV0byBjb21wdXRlZFZl
cnRpY2FsTWFyZ2luID0gR2VvbWV0cnk6OmNvbXB1dGVkVmVydGljYWxNYXJnaW4obGF5b3V0Qm94
LCBVc2VkSG9yaXpvbnRhbFZhbHVlcyB7IGNvbnRhaW5pbmdCbG9ja1dpZHRoIH0pOwogICAgICAg
ICBhdXRvIG5vbkNvbGxhcHNlZE1hcmdpbiA9IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFw
c2VkVmFsdWVzIHsgY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbi5iZWZvcmUudmFsdWVPcigwKSwgY29t
cHV0ZWRWZXJ0aWNhbE1hcmdpbi5hZnRlci52YWx1ZU9yKDApIH07IAogICAgICAgICBhdXRvIGJv
cmRlckFuZFBhZGRpbmdUb3AgPSBkaXNwbGF5Qm94LmJvcmRlclRvcCgpICsgZGlzcGxheUJveC5w
YWRkaW5nVG9wKCkudmFsdWVPcigwKTsKICAgICAgICAgYXV0byBoZWlnaHQgPSB1c2VkVmFsdWVz
LmhlaWdodCA/IHVzZWRWYWx1ZXMuaGVpZ2h0LnZhbHVlKCkgOiBjb21wdXRlZEhlaWdodFZhbHVl
KGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIEhlaWdodFR5cGU6Ok5vcm1hbCk7CkBAIC0yNTgsNyAr
MjU5LDggQEAgSGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5
OjppbkZsb3dIZWlnaHRBbmRNYXJnaW4oY29uc3QgTGEKICAgICBlbHNlIHsKICAgICAgICAgLy8g
MTAuNi42IENvbXBsaWNhdGVkIGNhc2VzCiAgICAgICAgIC8vIEJsb2NrLWxldmVsLCBub24tcmVw
bGFjZWQgZWxlbWVudHMgaW4gbm9ybWFsIGZsb3cgd2hlbiAnb3ZlcmZsb3cnIGRvZXMgbm90IGNv
bXB1dGUgdG8gJ3Zpc2libGUnIChleGNlcHQgaWYgdGhlICdvdmVyZmxvdycgcHJvcGVydHkncyB2
YWx1ZSBoYXMgYmVlbiBwcm9wYWdhdGVkIHRvIHRoZSB2aWV3cG9ydCkuCi0gICAgICAgIGhlaWdo
dEFuZE1hcmdpbiA9IGNvbXBsaWNhdGVkQ2FzZXMobGF5b3V0U3RhdGUsIGxheW91dEJveCwgdXNl
ZFZhbHVlcyk7CisgICAgICAgIGF1dG8gdXNlZEhvcml6b250YWxWYWx1ZXMgPSBVc2VkSG9yaXpv
bnRhbFZhbHVlcyB7IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmxheW91dEJv
eC5jb250YWluaW5nQmxvY2soKSkuY29udGVudEJveFdpZHRoKCkgfTsKKyAgICAgICAgaGVpZ2h0
QW5kTWFyZ2luID0gY29tcGxpY2F0ZWRDYXNlcyhsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCB1c2Vk
VmFsdWVzLCB1c2VkSG9yaXpvbnRhbFZhbHVlcyk7CiAgICAgfQogCiAgICAgaWYgKCFRdWlya3M6
Om5lZWRzU3RyZXRjaGluZyhsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dFF1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCmluZGV4IGMyOWY0OTEzZjU0Li4wMDQ0YjZmZGU0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9j
a0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCkBAIC02OCw3
ICs2OCw4IEBAIEhlaWdodEFuZE1hcmdpbiBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6
OnN0cmV0Y2hlZEluRmxvd0hlaWdodChjb25zdCBMYXlvCiAgICAgYXV0byYgZG9jdW1lbnRCb3gg
PSBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpID8gbGF5b3V0Qm94IDogKmxheW91dEJveC5wYXJl
bnQoKTsKICAgICBhdXRvJiBkb2N1bWVudEJveERpc3BsYXlCb3ggPSBsYXlvdXRTdGF0ZS5kaXNw
bGF5Qm94Rm9yTGF5b3V0Qm94KGRvY3VtZW50Qm94KTsKIAotICAgIGF1dG8gc3RyZWNoZWRIZWln
aHQgPSBsYXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGluaXRpYWxDb250YWluaW5n
QmxvY2sobGF5b3V0Qm94KSkuY29udGVudEJveEhlaWdodCgpOworICAgIGF1dG8mIGluaXRpYWxD
b250YWluaW5nQmxvY2tEaXNwbGF5Qm94ID0gbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91
dEJveChpbml0aWFsQ29udGFpbmluZ0Jsb2NrKGxheW91dEJveCkpOworICAgIGF1dG8gc3RyZWNo
ZWRIZWlnaHQgPSBpbml0aWFsQ29udGFpbmluZ0Jsb2NrRGlzcGxheUJveC5jb250ZW50Qm94SGVp
Z2h0KCk7CiAgICAgc3RyZWNoZWRIZWlnaHQgLT0gZG9jdW1lbnRCb3hEaXNwbGF5Qm94LnZlcnRp
Y2FsQm9yZGVyKCkgKyBkb2N1bWVudEJveERpc3BsYXlCb3gudmVydGljYWxQYWRkaW5nKCkudmFs
dWVPcigwKTsKIAogICAgIExheW91dFVuaXQgdG90YWxWZXJ0aWNhbE1hcmdpbjsKQEAgLTgwLDcg
KzgxLDcgQEAgSGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6
c3RyZXRjaGVkSW5GbG93SGVpZ2h0KGNvbnN0IExheW8KICAgICAgICAgLy8gSGVyZSBpcyB0aGUg
cXVpcmt5IHBhcnQgZm9yIGJvZHkgYm94OgogICAgICAgICAvLyBTdHJldGNoIHRoZSBib2R5IHVz
aW5nIHRoZSBpbml0aWFsIGNvbnRhaW5pbmcgYmxvY2sncyBoZWlnaHQgYW5kIHNocmluayBpdCB3
aXRoIGRvY3VtZW50IGJveCdzIG1hcmdpbi9ib3JkZXIvcGFkZGluZy4KICAgICAgICAgLy8gVGhp
cyBsb29rcyBleHRyZW1lbHkgb2RkIHdoZW4gaHRtbCBoYXMgbm9uLWF1dG8gaGVpZ2h0LgotICAg
ICAgICBhdXRvIGRvY3VtZW50Qm94VmVydGljYWxNYXJnaW4gPSBHZW9tZXRyeTo6Y29tcHV0ZWRW
ZXJ0aWNhbE1hcmdpbihsYXlvdXRTdGF0ZSwgZG9jdW1lbnRCb3gpOworICAgICAgICBhdXRvIGRv
Y3VtZW50Qm94VmVydGljYWxNYXJnaW4gPSBHZW9tZXRyeTo6Y29tcHV0ZWRWZXJ0aWNhbE1hcmdp
bihkb2N1bWVudEJveCwgVXNlZEhvcml6b250YWxWYWx1ZXMgeyBpbml0aWFsQ29udGFpbmluZ0Js
b2NrRGlzcGxheUJveC5jb250ZW50Qm94V2lkdGgoKSB9KTsKICAgICAgICAgc3RyZWNoZWRIZWln
aHQgLT0gKGRvY3VtZW50Qm94VmVydGljYWxNYXJnaW4uYmVmb3JlLnZhbHVlT3IoMCkgKyBkb2N1
bWVudEJveFZlcnRpY2FsTWFyZ2luLmFmdGVyLnZhbHVlT3IoMCkpOwogCiAgICAgICAgIGF1dG8m
IGJvZHlCb3hEaXNwbGF5Qm94ID0gbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveChs
YXlvdXRCb3gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9j
a2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAKaW5kZXggZjdiMWMwMjNlOWQuLmZj
OWVmODE3NzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0
aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
bG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAKQEAgLTUxOSw3ICs1MTksOCBA
QCBQb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW46OlZhbHVlcyBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZQogICAgICAgICByZXR1cm4gbWFyZ2luVHlwZSA9PSBN
YXJnaW5UeXBlOjpCZWZvcmUgPyBwb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4uYmVm
b3JlIDogcG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luLmFmdGVyOyAKICAgICB9CiAg
ICAgLy8gVGhpcyBpcyB0aGUgZXN0aW1hdGUgcGF0aC4gV2UgZG9uJ3QgeWV0IGhhdmUgcG9zaXRp
dmUvbmVnYXRpdmUgbWFyZ2luIGNvbXB1dGVkLgotICAgIGF1dG8gY29tcHV0ZWRWZXJ0aWNhbE1h
cmdpbiA9IEdlb21ldHJ5Ojpjb21wdXRlZFZlcnRpY2FsTWFyZ2luKGxheW91dFN0YXRlLCBsYXlv
dXRCb3gpOworICAgIGF1dG8gdXNlZFZhbHVlcyA9IFVzZWRIb3Jpem9udGFsVmFsdWVzIHsgbGF5
b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9j
aygpKS5jb250ZW50Qm94V2lkdGgoKSB9OworICAgIGF1dG8gY29tcHV0ZWRWZXJ0aWNhbE1hcmdp
biA9IEdlb21ldHJ5Ojpjb21wdXRlZFZlcnRpY2FsTWFyZ2luKGxheW91dEJveCwgdXNlZFZhbHVl
cyk7CiAgICAgYXV0byBub25Db2xsYXBzZWRNYXJnaW4gPSBVc2VkVmVydGljYWxNYXJnaW46Ok5v
bkNvbGxhcHNlZFZhbHVlcyB7IGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYmVmb3JlLnZhbHVlT3Io
MCksIGNvbXB1dGVkVmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVPcigwKSB9OyAKIAogICAgIGlm
IChtYXJnaW5UeXBlID09IE1hcmdpblR5cGU6OkJlZm9yZSkKQEAgLTU4Niw3ICs1ODcsOCBAQCBF
c3RpbWF0ZWRNYXJnaW5CZWZvcmUgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFw
c2U6OmVzdGltYXRlZE1hcmdpbkJlZgogICAgIEFTU0VSVChsYXlvdXRCb3guaXNJbkZsb3coKSB8
fCBsYXlvdXRCb3guaXNGbG9hdGluZ1Bvc2l0aW9uZWQoKSk7CiAgICAgQVNTRVJUKCFsYXlvdXRC
b3gucmVwbGFjZWQoKSk7CiAgICAgCi0gICAgYXV0byBjb21wdXRlZFZlcnRpY2FsTWFyZ2luID0g
R2VvbWV0cnk6OmNvbXB1dGVkVmVydGljYWxNYXJnaW4obGF5b3V0U3RhdGUsIGxheW91dEJveCk7
CisgICAgYXV0byB1c2VkVmFsdWVzID0gVXNlZEhvcml6b250YWxWYWx1ZXMgeyBsYXlvdXRTdGF0
ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCkpLmNv
bnRlbnRCb3hXaWR0aCgpIH07CisgICAgYXV0byBjb21wdXRlZFZlcnRpY2FsTWFyZ2luID0gR2Vv
bWV0cnk6OmNvbXB1dGVkVmVydGljYWxNYXJnaW4obGF5b3V0Qm94LCB1c2VkVmFsdWVzKTsKICAg
ICBhdXRvIG5vbkNvbGxhcHNlZE1hcmdpbiA9IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFw
c2VkVmFsdWVzIHsgY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbi5iZWZvcmUudmFsdWVPcigwKSwgY29t
cHV0ZWRWZXJ0aWNhbE1hcmdpbi5hZnRlci52YWx1ZU9yKDApIH07CiAgICAgYXV0byBtYXJnaW5z
Q29sbGFwc2VUaHJvdWdoID0gTWFyZ2luQ29sbGFwc2U6Om1hcmdpbnNDb2xsYXBzZVRocm91Z2go
bGF5b3V0U3RhdGUsIGxheW91dEJveCk7CiAgICAgYXV0byBwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2lu
QmVmb3JlID0gTWFyZ2luQ29sbGFwc2U6OnBvc2l0aXZlTmVnYXRpdmVNYXJnaW5CZWZvcmUobGF5
b3V0U3RhdGUsIGxheW91dEJveCwgbm9uQ29sbGFwc2VkTWFyZ2luKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA4MDNhNDZiNzU3YS4uMzhhNTJjYjBiOTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgdm9pZCBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0KCkgY29uc3QKIAogICAgIExPR19XSVRIX1NU
UkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbU3RhcnRdIC0+IGlubGlu
ZSBmb3JtYXR0aW5nIGNvbnRleHQgLT4gZm9ybWF0dGluZyByb290KCIgPDwgJnJvb3QoKSA8PCAi
KSIpOwogICAgIGF1dG8mIHJvb3QgPSBkb3duY2FzdDxDb250YWluZXI+KHRoaXMtPnJvb3QoKSk7
Ci0gICAgYXV0byB1c2VkVmFsdWVzID0gVXNlZEhvcml6b250YWxWYWx1ZXMgeyBsYXlvdXRTdGF0
ZSgpLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gocm9vdCkuY29udGVudEJveFdpZHRoKCksIHsgfSwg
eyB9IH07CisgICAgYXV0byB1c2VkVmFsdWVzID0gVXNlZEhvcml6b250YWxWYWx1ZXMgeyBsYXlv
dXRTdGF0ZSgpLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gocm9vdCkuY29udGVudEJveFdpZHRoKCkg
fTsKICAgICBhdXRvKiBsYXlvdXRCb3ggPSByb290LmZpcnN0SW5GbG93T3JGbG9hdGluZ0NoaWxk
KCk7CiAgICAgLy8gQ29tcHV0ZSB3aWR0aC9oZWlnaHQgZm9yIG5vbi10ZXh0IGNvbnRlbnQgYW5k
IG1hcmdpbi9ib3JkZXIvcGFkZGluZyBmb3IgaW5saW5lIGNvbnRhaW5lcnMuCiAgICAgd2hpbGUg
KGxheW91dEJveCkgewpAQCAtMjA0LDcgKzIwNCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0
CiAKICAgICBIZWlnaHRBbmRNYXJnaW4gaGVpZ2h0QW5kTWFyZ2luOwogICAgIGlmIChsYXlvdXRC
b3guaXNGbG9hdGluZ1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgaGVpZ2h0QW5kTWFyZ2luID0gR2Vv
bWV0cnk6OmZsb2F0aW5nSGVpZ2h0QW5kTWFyZ2luKGxheW91dFN0YXRlLCBsYXlvdXRCb3gsIHsg
fSk7CisgICAgICAgIGhlaWdodEFuZE1hcmdpbiA9IEdlb21ldHJ5OjpmbG9hdGluZ0hlaWdodEFu
ZE1hcmdpbihsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCB7IH0sIFVzZWRIb3Jpem9udGFsVmFsdWVz
IHsgbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5p
bmdCbG9jaygpKS5jb250ZW50Qm94V2lkdGgoKSB9KTsKICAgICBlbHNlIGlmIChsYXlvdXRCb3gu
aXNJbmxpbmVCbG9ja0JveCgpKQogICAgICAgICBoZWlnaHRBbmRNYXJnaW4gPSBHZW9tZXRyeTo6
aW5saW5lQmxvY2tIZWlnaHRBbmRNYXJnaW4obGF5b3V0U3RhdGUsIGxheW91dEJveCk7CiAgICAg
ZWxzZSBpZiAobGF5b3V0Qm94LnJlcGxhY2VkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IGU4OTljZjYxNTgwLi45MzIyMWEzNmY2ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAg
LTczLDcgKzczLDggQEAgSGVpZ2h0QW5kTWFyZ2luIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6aW5saW5lQmxvY2tIZWlnaHRBbmRNYXJnaW4oY28KIAogICAgIC8vIDEwLjYuNiBD
b21wbGljYXRlZCBjYXNlcwogICAgIC8vIC0gJ0lubGluZS1ibG9jaycsIG5vbi1yZXBsYWNlZCBl
bGVtZW50cy4KLSAgICByZXR1cm4gY29tcGxpY2F0ZWRDYXNlcyhsYXlvdXRTdGF0ZSwgbGF5b3V0
Qm94LCB7IH0pOworICAgIGF1dG8gdXNlZEhvcml6b250YWxWYWx1ZXMgPSBVc2VkSG9yaXpvbnRh
bFZhbHVlcyB7IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmxheW91dEJveC5j
b250YWluaW5nQmxvY2soKSkuY29udGVudEJveFdpZHRoKCkgfTsKKyAgICByZXR1cm4gY29tcGxp
Y2F0ZWRDYXNlcyhsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCB7IH0sIHVzZWRIb3Jpem9udGFsVmFs
dWVzKTsKIH0KIAogfQo=
</data>
<flag name="review"
          id="378313"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>