<?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>191623</bug_id>
          
          <creation_ts>2018-11-13 21:29:34 -0800</creation_ts>
          <short_desc>[LFC][IFC] Construct dedicated runs when the inline element requires it (part 2)</short_desc>
          <delta_ts>2018-11-14 07:33:32 -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>1478326</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-11-13 21:29:34 -0800</bug_when>
    <thetext>expanding original breaking behavior with separate left/right</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478332</commentid>
    <comment_count>1</comment_count>
      <attachid>354769</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-11-13 21:48:38 -0800</bug_when>
    <thetext>Created attachment 354769
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478413</commentid>
    <comment_count>2</comment_count>
      <attachid>354769</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-11-14 06:44:46 -0800</bug_when>
    <thetext>Comment on attachment 354769
Patch

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

&gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:420
&gt; +    std::function&lt;void(const Box&amp;)&gt; collectInlineContentForSubtree = [&amp;](const Box&amp; root) {

We usually use WTF::Function in WebKit. Also invoking these has a cost since it involves a virtual function. It might be better to factor into a regular function when this becomes necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478428</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-11-14 07:31:25 -0800</bug_when>
    <thetext>Committed r238173: &lt;https://trac.webkit.org/changeset/238173&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478431</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-14 07:33:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/46062578&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354769</attachid>
            <date>2018-11-13 21:48:38 -0800</date>
            <delta_ts>2018-11-14 06:30:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191623-20181113214838.patch</filename>
            <type>text/plain</type>
            <size>15567</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc5YjRhMzYwMzM5ZmYw
ODAyYTIyMGFiNTFjYWRhYTY2ZDdiZmNlNi4uNDc5NmJmNjg1OTU3NmQzZTkwZTAyYzdmYjMzZTc3
OGE0YTdhNTQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE4LTExLTEzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBDb25zdHJ1
Y3QgZGVkaWNhdGVkIHJ1bnMgd2hlbiB0aGUgaW5saW5lIGVsZW1lbnQgcmVxdWlyZXMgaXQgKHBh
cnQgMikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MTYyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggZXhwYW5kcyB0aGUgYnJlYWtpbmcgYmVoYXZpb3VyIHRvIHN1cHBvcnQgc2VwYXJh
dGUgc3RhcnQvZW5kIGJyZWFrcy4KKworICAgICAgICA8c3Bhbj5wYXJlbnQgPC9zcGFuPjxzcGFu
IHN0eWxlPSJwYWRkaW5nOiAxMHB4OyI+c3RhcnQ8c3Bhbj4gbWlkZGxlIDwvc3Bhbj5lbmQ8L3Nw
YW4+PHNwYW4+IHBhcmVudDwvc3Bhbj4KKyAgICAgICAgCisgICAgICAgIGlucHV0IHRvIGxpbmUg
YnJlYWtpbmcgLT4gPHBhcmVudCBzdGFydCBtaWRkbGUgZW5kIHBhcmVudD4KKyAgICAgICAgb3V0
cHV0IG9mIGxpbmUgYnJlYWtpbmcgKGNvbnNpZGVyaW5nIGluZmluaXRlIGNvbnN0cmFpbnQpIC0+
IDxwYXJlbnQgc3RhcnQgbWlkZGxlIGVuZCBwYXJlbnQ+CisgICAgICAgIGR1ZSB0byBwYWRkaW5n
LCBmaW5hbCBydW5zIC0+IDxwYXJlbnQ+PHN0YXJ0IG1pZGRsZSBlbmQ+PHBhcmVudD4KKyAgICAg
ICAgCisgICAgICAgICJwYXJlbnQiIC0+IG4vYQorICAgICAgICAic3RhcnQiIC0+IEJyZWFrQXRT
dGFydAorICAgICAgICAiIG1pZGRsZSAiIC0+IG4vYQorICAgICAgICAiZW5kIiAtPiBCcmVha0F0
RW5kCisgICAgICAgICJwYXJlbnQiIC0+IG4vYQorCisgICAgICAgIEFub3RoZXIgZXhhbXBsZToK
KyAgICAgICAgPHNwYW4+cGFyZW50IDwvc3Bhbj48c3BhbiBzdHlsZT0icGFkZGluZy1yaWdodDog
MTBweDsiPnN0YXJ0PHNwYW4+IG1pZGRsZSA8L3NwYW4+ZW5kPC9zcGFuPjxzcGFuPiBwYXJlbnQ8
L3NwYW4+CisKKyAgICAgICAgbGluZSBicmVha2luZyAtPiA8cGFyZW50IHN0YXJ0IG1pZGRsZSBl
bmQgcGFyZW50PgorICAgICAgICBkdWUgdG8gcGFkZGluZy1yaWdodCwgZmluYWwgcnVucyAtPiA8
cGFyZW50IHN0YXJ0IG1pZGRsZSBlbmQ+PHBhcmVudD4KKyAgICAgICAgCisgICAgICAgICJwYXJl
bnQiIC0+IG4vYQorICAgICAgICAic3RhcnQiIC0+IG4vYQorICAgICAgICAiIG1pZGRsZSAiIC0+
IG4vYQorICAgICAgICAiZW5kIiAtPiBCcmVha0F0RW5kCisgICAgICAgICJwYXJlbnQiIC0+IG4v
YQorCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dDo6c3BsaXRJbmxpbmVSdW5JZk5lZWRlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb2xsZWN0SW5saW5lQ29udGVudCBjb25z
dCk6IE1vdmUgdG8gYSByZWN1cnNpdmUgYWxnb3JpdGhtICh3aGljaCBpcyBmaW5lLCBpbmxpbmUg
Y29udGVudHMgZG9uJ3QgdGVuZCB0byBiZSB0b28gZGVlcCkKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbnRlbnRSZXF1aXJlc1NlcGFyYXRlUnVu
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0lubGluZUZvcm1hdHRpbmdTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdTdGF0ZTo6ZGV0YWNoaW5nUnVsZXMgY29uc3QpOgorICAgICAgICAqIGxh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdTdGF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGU6Omxhc3RJbmxpbmVJdGVtIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlOjph
ZGREZXRhY2hpbmdSdWxlKToKKwogMjAxOC0xMS0xMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQ29uc3RydWN0IGRlZGljYXRlZCBydW5zIHdo
ZW4gdGhlIGlubGluZSBlbGVtZW50IHJlcXVpcmVzIGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCmluZGV4IDc4NGUxMWZlOWIxM2Y2NDkzZTc5MGYzODJjYzAwZTM0Y2VkOTI5
YWIuLmVhODgwYzdmMzFkZjAxYWExZTdlZmE0N2Q3YzFjYjgwYjAzYWQxN2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTEyNSwxNiArMTI1LDYgQEAgdm9pZCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6aW5pdGlhbGl6ZU5ld0xpbmUoTGluZSYgbGluZSkgY29uc3QK
ICAgICBsaW5lLmluaXQobG9naWNhbFJlY3QpOwogfQogCi1ib29sIElubGluZUZvcm1hdHRpbmdD
b250ZXh0Ojpjb250ZW50UmVxdWlyZXNTZXBhcmF0ZVJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxp
bmVJdGVtKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBUaGlzIGlzIHdheSB0b28gaW5lZmZpY2ll
bnQuIFdlIHNob3VsZCBwcmUtbWFyayB0aGUgcnVucyBpbnN0ZWFkIHdoaWxlIGZsYXR0ZW5pbmcg
dGhlIGlubGluZSBmb3JtYXR0aW5nIGNvbnRleHQuCi0gICAgZm9yIChhdXRvKiBpbmxpbmVDb250
YWluZXIgPSBpbmxpbmVJdGVtLmxheW91dEJveCgpLnBhcmVudCgpOyBpbmxpbmVDb250YWluZXIg
IT0gJnJvb3QoKTsgaW5saW5lQ29udGFpbmVyID0gaW5saW5lQ29udGFpbmVyLT5wYXJlbnQoKSkg
ewotICAgICAgICBpZiAoaW5saW5lQ29udGFpbmVyLT5pc1Bvc2l0aW9uZWQoKSkKLSAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZvaWQgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OnNwbGl0SW5saW5lUnVuSWZOZWVkZWQoY29uc3QgSW5saW5l
UnVuJiBpbmxpbmVSdW4sIElubGluZVJ1bnMmIHNwbGl0UnVucykgY29uc3QKIHsKICAgICBpZiAo
IWlubGluZVJ1bi5vdmVybGFwc011bHRpcGxlSW5saW5lSXRlbXMoKSkKQEAgLTE0OCw3ICsxMzgs
NyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpzcGxpdElubGluZVJ1bklmTmVlZGVk
KGNvbnN0IElubGluZVJ1biYgaW5saW5lUnVuLAogCiAgICAgLy8gMS4gU3RhcnQgd2l0aCB0aGUg
Zmlyc3QgaW5saW5lIGl0ZW0gKGVsZW1lbnQpIGFuZCB0cmF2ZXJzIHRoZSBsaXN0IHVudGlsCiAg
ICAgLy8gMi4gZWl0aGVyIGZpbmQgYW4gaW5saW5lIGl0ZW0gdGhhdCBuZWVkcyBhIGRlZGljYXRl
ZCBydW4gb3Igd2UgcmVhY2ggdGhlIGVuZCBvZiB0aGUgcnVuCi0gICAgLy8gMy4gU2hyaW5rIHRo
ZSBvcmlnaW5hbCBpbmxpbmUgcnVuIGFuZCBjcmVhdGUgYSBuZXcgb25lLgorICAgIC8vIDMuIENy
ZWF0ZSBkZWRpY2F0ZSBpbmxpbmUgcnVucy4KICAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0gaW5s
aW5lRm9ybWF0dGluZ1N0YXRlKCkuaW5saW5lQ29udGVudCgpOwogICAgIGF1dG8gdGV4dFV0aWwg
PSBUZXh0VXRpbCB7IGlubGluZUNvbnRlbnQgfTsKIApAQCAtMTcwLDI4ICsxNjAsNTYgQEAgdm9p
ZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6c3BsaXRJbmxpbmVSdW5JZk5lZWRlZChjb25zdCBJ
bmxpbmVSdW4mIGlubGluZVJ1biwKICAgICBmb3IgKGF1dG8gaXRlcmF0b3IgPSBpbmxpbmVDb250
ZW50LmZpbmQ8Y29uc3QgSW5saW5lSXRlbSYsIElubGluZUl0ZW1IYXNoVHJhbnNsYXRvcj4oaW5s
aW5lUnVuLmlubGluZUl0ZW0oKSk7IGl0ZXJhdG9yICE9IGlubGluZUNvbnRlbnQuZW5kKCkgJiYg
cmVtYW5pbmdMZW5ndGggPiAwOyArK2l0ZXJhdG9yKSB7CiAgICAgICAgIGF1dG8mIGlubGluZUl0
ZW0gPSAqKml0ZXJhdG9yOwogCi0gICAgICAgIGlmICghY29udGVudFJlcXVpcmVzU2VwYXJhdGVS
dW4oaW5saW5lSXRlbSkpIHsKLSAgICAgICAgICAgIHVuY29tbWl0dGVkTGVuZ3RoICs9IHN0ZDo6
bWluKHJlbWFuaW5nTGVuZ3RoLCBpbmxpbmVJdGVtLnRleHRDb250ZW50KCkubGVuZ3RoKCkgLSBz
dGFydFBvc2l0aW9uKTsKKyAgICAgICAgYXV0byBjdXJyZW50TGVuZ3RoID0gWyZdIHsKKyAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om1pbihyZW1hbmluZ0xlbmd0aCwgaW5saW5lSXRlbS50ZXh0Q29u
dGVudCgpLmxlbmd0aCgpIC0gc3RhcnRQb3NpdGlvbik7CisgICAgICAgIH07CisKKyAgICAgICAg
Ly8gMS4gSW5saW5lIGVsZW1lbnQgZG9lcyBub3QgcmVxdWlyZSBydW4gYnJlYWtpbmcgLT4gYWRk
IGN1cnJlbnQgaW5saW5lIGVsZW1lbnQgdG8gdW5jb21taXR0ZWQuIEp1bXAgdG8gdGhlIG5leHQg
ZWxlbWVudC4gCisgICAgICAgIC8vIDIuIEJyZWFrIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGlu
bGluZSBlbGVtZW50IC0+IGNvbW1pdCB3aGF0IHdlJ3ZlIGdvdCBzbyBmYXIuIEN1cnJlbnQgZWxl
bWVudCBiZWNvbWVzIHRoZSBmaXJzdCB1bmNvbW1pdHRlZC4KKyAgICAgICAgLy8gMy4gQnJlYWsg
YXQgdGhlIGVuZCBvZiB0aGUgaW5saW5lIGVsZW1lbnQgLT4gY29tbWl0IHdoYXQgd2UndmUgZ290
IHNvIGZhciBpbmNsdWRpbmcgdGhlIGN1cnJlbnQgZWxlbWVudC4KKyAgICAgICAgLy8gNC4gQnJl
YWsgYmVmb3JlL2FmdGVyIC0+IHJlcXVpcmVzIGRlZGljYXRlZCBydW4gLT4gY29tbWl0IHdoYXQg
d2UndmUgZ290IHNvIGZhciBhbmQgYWxzbyBjb21taXQgdGhlIGN1cnJlbnQgaW5saW5lIGVsZW1l
bnQgYXMgYSBzZXBhcmF0ZSBpbmxpbmUgcnVuLgorICAgICAgICBhdXRvIGRldGFjaGluZ1J1bGVz
ID0gaW5saW5lRm9ybWF0dGluZ1N0YXRlKCkuZGV0YWNoaW5nUnVsZXMoaW5saW5lSXRlbS5sYXlv
dXRCb3goKSk7CisKKyAgICAgICAgLy8gIzEKKyAgICAgICAgaWYgKCFkZXRhY2hpbmdSdWxlcykg
eworICAgICAgICAgICAgdW5jb21taXR0ZWRMZW5ndGggKz0gY3VycmVudExlbmd0aCgpOwogICAg
ICAgICAgICAgZmlyc3RVbmNvbW1pdHRlZElubGluZUl0ZW0gPSAhZmlyc3RVbmNvbW1pdHRlZElu
bGluZUl0ZW0gPyAmaW5saW5lSXRlbSA6IGZpcnN0VW5jb21taXR0ZWRJbmxpbmVJdGVtOwogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICAvLyBDb21taXQgdGhlIGl0
ZW1zIHRoYXQgZG9uJ3QgbmVlZCBkZWRpY2F0ZWQgcnVuLgotICAgICAgICBpZiAoZmlyc3RVbmNv
bW1pdHRlZElubGluZUl0ZW0pIHsKKyAgICAgICAgYXV0byBjb21taXQgPSBbJl0geworICAgICAg
ICAgICAgaWYgKCFmaXJzdFVuY29tbWl0dGVkSW5saW5lSXRlbSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKICAgICAgICAgICAgIGNvbnRlbnRTdGFydCA9IHNwbGl0KCpmaXJzdFVuY29tbWl0
dGVkSW5saW5lSXRlbSwgc3RhcnRQb3NpdGlvbiwgdW5jb21taXR0ZWRMZW5ndGgsIGNvbnRlbnRT
dGFydCk7CiAKICAgICAgICAgICAgIHJlbWFuaW5nTGVuZ3RoIC09IHVuY29tbWl0dGVkTGVuZ3Ro
OwogICAgICAgICAgICAgc3RhcnRQb3NpdGlvbiA9IDA7CiAgICAgICAgICAgICB1bmNvbW1pdHRl
ZExlbmd0aCA9IDA7CisgICAgICAgICAgICBmaXJzdFVuY29tbWl0dGVkSW5saW5lSXRlbSA9IG51
bGxwdHI7CisgICAgICAgIH07CisKKyAgICAgICAgLy8gIzIKKyAgICAgICAgaWYgKCpkZXRhY2hp
bmdSdWxlcyA9PSBJbmxpbmVGb3JtYXR0aW5nU3RhdGU6OkRldGFjaGluZ1J1bGU6OkJyZWFrQXRT
dGFydCkgeworICAgICAgICAgICAgY29tbWl0KCk7CisgICAgICAgICAgICBmaXJzdFVuY29tbWl0
dGVkSW5saW5lSXRlbSA9ICZpbmxpbmVJdGVtOworICAgICAgICAgICAgdW5jb21taXR0ZWRMZW5n
dGggPSBjdXJyZW50TGVuZ3RoKCk7CisgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQog
Ci0gICAgICAgIC8vIENyZWF0ZSBhIGRlZGljYXRlZCBydW4gZm9yIHRoaXMgaW5saW5lIGl0ZW0u
Ci0gICAgICAgIGF1dG8gbGVuZ3RoID0gc3RkOjptaW4ocmVtYW5pbmdMZW5ndGgsIGlubGluZUl0
ZW0udGV4dENvbnRlbnQoKS5sZW5ndGgoKSAtIHN0YXJ0UG9zaXRpb24pOwotICAgICAgICBjb250
ZW50U3RhcnQgPSBzcGxpdChpbmxpbmVJdGVtLCBzdGFydFBvc2l0aW9uLCBsZW5ndGgsIGNvbnRl
bnRTdGFydCk7CisgICAgICAgIC8vICMzCisgICAgICAgIGlmICgqZGV0YWNoaW5nUnVsZXMgPT0g
SW5saW5lRm9ybWF0dGluZ1N0YXRlOjpEZXRhY2hpbmdSdWxlOjpCcmVha0F0RW5kKSB7CisgICAg
ICAgICAgICBBU1NFUlQoZmlyc3RVbmNvbW1pdHRlZElubGluZUl0ZW0pOworICAgICAgICAgICAg
dW5jb21taXR0ZWRMZW5ndGggKz0gY3VycmVudExlbmd0aCgpOworICAgICAgICAgICAgY29tbWl0
KCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogCi0gICAgICAgIHN0YXJ0UG9z
aXRpb24gPSAwOwotICAgICAgICByZW1hbmluZ0xlbmd0aCAtPSBsZW5ndGg7Ci0gICAgICAgIGZp
cnN0VW5jb21taXR0ZWRJbmxpbmVJdGVtID0gbnVsbHB0cjsKKyAgICAgICAgLy8gIzQKKyAgICAg
ICAgY29tbWl0KCk7CisgICAgICAgIGZpcnN0VW5jb21taXR0ZWRJbmxpbmVJdGVtID0gJmlubGlu
ZUl0ZW07CisgICAgICAgIHVuY29tbWl0dGVkTGVuZ3RoID0gY3VycmVudExlbmd0aCgpOworICAg
ICAgICBjb21taXQoKTsKICAgICB9CiAKICAgICAvLyBFaXRoZXIgYWxsIGlubGluZSBlbGVtZW50
cyBuZWVkZWQgZGVkaWNhdGVkIHJ1bnMgb3IgbmVpdGhlciBvZiB0aGVtLgpAQCAtMzk3LDQwICs0
MTUsNjUgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0
aW9uKGNvbnN0IEJveCYpIGNvbnN0CiAKIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNv
bGxlY3RJbmxpbmVDb250ZW50KElubGluZVJ1blByb3ZpZGVyJiBpbmxpbmVSdW5Qcm92aWRlcikg
Y29uc3QKIHsKLSAgICBpZiAoIWlzPENvbnRhaW5lcj4ocm9vdCgpKSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgYXV0byYgZm9ybWF0dGluZ1Jvb3QgPSBkb3duY2FzdDxDb250YWluZXI+KHJvb3Qo
KSk7Ci0gICAgYXV0byogbGF5b3V0Qm94ID0gZm9ybWF0dGluZ1Jvb3QuZmlyc3RJbkZsb3dPckZs
b2F0aW5nQ2hpbGQoKTsKKyAgICBhdXRvJiBpbmxpbmVGb3JtYXR0aW5nU3RhdGUgPSB0aGlzLT5p
bmxpbmVGb3JtYXR0aW5nU3RhdGUoKTsKIAotICAgIHdoaWxlIChsYXlvdXRCb3gpIHsKLSAgICAg
ICAgQVNTRVJUKGxheW91dEJveC0+aXNEZXNjZW5kYW50T2YoZm9ybWF0dGluZ1Jvb3QpKTsKKyAg
ICBzdGQ6OmZ1bmN0aW9uPHZvaWQoY29uc3QgQm94Jik+IGNvbGxlY3RJbmxpbmVDb250ZW50Rm9y
U3VidHJlZSA9IFsmXShjb25zdCBCb3gmIHJvb3QpIHsKKyAgICAgICAgLy8gQ29sbGVjdCBpbmxp
bmUgY29udGVudCByZWN1cnNpdmVseSBhbmQgc2V0IGJyZWFraW5nIHJ1bGVzIGZvciB0aGUgaW5s
aW5lIGVsZW1lbnRzIChmb3IgcGFkZGluZ3MsIG1hcmdpbnMsIHBvc2l0aW9uZWQgZWxlbWVudCBl
dGMpLgogCi0gICAgICAgIGlmIChsYXlvdXRCb3gtPmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRl
eHQoKSkgewotICAgICAgICAgICAgaW5saW5lUnVuUHJvdmlkZXIuYXBwZW5kKCpsYXlvdXRCb3gp
OwotICAgICAgICAgICAgbGF5b3V0Qm94ID0gbGF5b3V0Qm94LT5uZXh0SW5GbG93T3JGbG9hdGlu
Z1NpYmxpbmcoKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAocm9vdC5lc3Rh
Ymxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkgJiYgJnJvb3QgIT0gJih0aGlzLT5yb290KCkpKSB7
CisgICAgICAgICAgICAvLyBTa2lwIGZvcm1hdHRpbmcgcm9vdCBzdWJ0cmVlLiBUaGV5IGFyZSBu
b3QgcGFydCBvZiB0aGlzIGlubGluZSBmb3JtYXR0aW5nIGNvbnRleHQuCisgICAgICAgICAgICBp
bmxpbmVSdW5Qcm92aWRlci5hcHBlbmQocm9vdCk7CisgICAgICAgICAgICBpbmxpbmVGb3JtYXR0
aW5nU3RhdGUuYWRkRGV0YWNoaW5nUnVsZShyb290LCB7IElubGluZUZvcm1hdHRpbmdTdGF0ZTo6
RGV0YWNoaW5nUnVsZTo6QnJlYWtBdFN0YXJ0LCBJbmxpbmVGb3JtYXR0aW5nU3RhdGU6OkRldGFj
aGluZ1J1bGU6OkJyZWFrQXRFbmQgfSk7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IAotICAgICAgICBpZiAoaXM8Q29udGFpbmVyPihsYXlvdXRCb3gpKSB7Ci0gICAgICAgICAgICBs
YXlvdXRCb3ggPSBkb3duY2FzdDxDb250YWluZXI+KCpsYXlvdXRCb3gpLmZpcnN0SW5GbG93T3JG
bG9hdGluZ0NoaWxkKCk7Ci0gICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCFpczxD
b250YWluZXI+KHJvb3QpKSB7CisgICAgICAgICAgICBpbmxpbmVSdW5Qcm92aWRlci5hcHBlbmQo
cm9vdCk7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBpbmxpbmVS
dW5Qcm92aWRlci5hcHBlbmQoKmxheW91dEJveCk7CisgICAgICAgIGF1dG8qIGxhc3RJbmxpbmVC
b3hCZWZvcmVDb250YWluZXIgPSBpbmxpbmVGb3JtYXR0aW5nU3RhdGUubGFzdElubGluZUl0ZW0o
KTsgCisgICAgICAgIGF1dG8qIGNoaWxkID0gZG93bmNhc3Q8Q29udGFpbmVyPihyb290KS5maXJz
dEluRmxvd09yRmxvYXRpbmdDaGlsZCgpOworICAgICAgICB3aGlsZSAoY2hpbGQpIHsKKyAgICAg
ICAgICAgIGNvbGxlY3RJbmxpbmVDb250ZW50Rm9yU3VidHJlZSgqY2hpbGQpOworICAgICAgICAg
ICAgY2hpbGQgPSBjaGlsZC0+bmV4dEluRmxvd09yRmxvYXRpbmdTaWJsaW5nKCk7CisgICAgICAg
IH0KIAotICAgICAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICAgICAgaWYgKGF1dG8qIG5leHRT
aWJsaW5nID0gbGF5b3V0Qm94LT5uZXh0SW5GbG93T3JGbG9hdGluZ1NpYmxpbmcoKSkgewotICAg
ICAgICAgICAgICAgIGxheW91dEJveCA9IG5leHRTaWJsaW5nOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQorICAgICAgICAvLyBTZXR1cCBicmVha2luZyBib3VuZGFyaWVz
IGZvciB0aGlzIHN1YnRyZWUuCisgICAgICAgIGF1dG8qIGxhc3REZXNjZW5kYW50SW5saW5lQm94
ID0gaW5saW5lRm9ybWF0dGluZ1N0YXRlLmxhc3RJbmxpbmVJdGVtKCk7CisgICAgICAgIC8vIEVt
cHR5IGNvbnRhaW5lcj8KKyAgICAgICAgaWYgKGxhc3RJbmxpbmVCb3hCZWZvcmVDb250YWluZXIg
PT0gbGFzdERlc2NlbmRhbnRJbmxpbmVCb3gpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgYXV0byByb290QnJlYWtzQXRTdGFydCA9IFsmXSB7CisgICAgICAgICAgICAvLyBGSVhNRTog
YWRkIHBhZGRpbmctaW5saW5lLXN0YXJ0LCBtYXJnaW4taW5saW5lLXN0YXJ0IGV0Yy4KKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfTsKKworICAgICAgICBhdXRvIHJvb3RCcmVh
a3NBdEVuZCA9IFsmXSB7CisgICAgICAgICAgICAvLyBGSVhNRTogYWRkIHBhZGRpbmctaW5saW5l
LWVuZCwgbWFyZ2luLWlubGluZS1lbmQgZXRjLgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICB9OworCisgICAgICAgIGlmIChyb290QnJlYWtzQXRTdGFydCgpKSB7CisgICAgICAg
ICAgICBJbmxpbmVJdGVtKiBmaXJzdERlc2NlbmRhbnRJbmxpbmVCb3ggPSBudWxscHRyOworICAg
ICAgICAgICAgYXV0byYgaW5saW5lQ29udGVudCA9IGlubGluZUZvcm1hdHRpbmdTdGF0ZS5pbmxp
bmVDb250ZW50KCk7CisKKyAgICAgICAgICAgIGlmIChsYXN0SW5saW5lQm94QmVmb3JlQ29udGFp
bmVyKSB7CisgICAgICAgICAgICAgICAgYXV0byBpdGVyYXRvciA9IGlubGluZUNvbnRlbnQuZmlu
ZDxjb25zdCBJbmxpbmVJdGVtJiwgSW5saW5lSXRlbUhhc2hUcmFuc2xhdG9yPigqbGFzdElubGlu
ZUJveEJlZm9yZUNvbnRhaW5lcik7CisgICAgICAgICAgICAgICAgZmlyc3REZXNjZW5kYW50SW5s
aW5lQm94ID0gKCorK2l0ZXJhdG9yKS5nZXQoKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgICAgIGZpcnN0RGVzY2VuZGFudElubGluZUJveCA9IGlubGluZUNvbnRlbnQuZmlyc3Qo
KS5nZXQoKTsKKworICAgICAgICAgICAgQVNTRVJUKGZpcnN0RGVzY2VuZGFudElubGluZUJveCk7
CisgICAgICAgICAgICBpbmxpbmVGb3JtYXR0aW5nU3RhdGUuYWRkRGV0YWNoaW5nUnVsZShmaXJz
dERlc2NlbmRhbnRJbmxpbmVCb3gtPmxheW91dEJveCgpLCBJbmxpbmVGb3JtYXR0aW5nU3RhdGU6
OkRldGFjaGluZ1J1bGU6OkJyZWFrQXRTdGFydCk7CisgICAgICAgIH0KIAotICAgICAgICAgICAg
bGF5b3V0Qm94ID0gbGF5b3V0Qm94LT5wYXJlbnQoKTsKKyAgICAgICAgaWYgKHJvb3RCcmVha3NB
dEVuZCgpKQorICAgICAgICAgICAgaW5saW5lRm9ybWF0dGluZ1N0YXRlLmFkZERldGFjaGluZ1J1
bGUobGFzdERlc2NlbmRhbnRJbmxpbmVCb3gtPmxheW91dEJveCgpLCBJbmxpbmVGb3JtYXR0aW5n
U3RhdGU6OkRldGFjaGluZ1J1bGU6OkJyZWFrQXRFbmQpOworICAgIH07CiAKLSAgICAgICAgICAg
IGlmIChsYXlvdXRCb3ggPT0gJmZvcm1hdHRpbmdSb290KQotICAgICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotICAgIH0KKyAgICBjb2xsZWN0SW5saW5lQ29udGVudEZvclN1YnRyZWUo
cm9vdCgpKTsKIH0KIAogRm9ybWF0dGluZ0NvbnRleHQ6Okluc3RyaW5zaWNXaWR0aENvbnN0cmFp
bnRzIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjppbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cygp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCBhM2MyMmE3MTRiOWQz
ODE0Y2MzYjUyYmE4NGYxNzg2ODBhNjE3NjI5Li5jMjRhZjVmOWNhYTI2ZjllODQ3MDAwNWZlODA4
NmY2MDc4ZmRjNWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTExNCw3
ICsxMTQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwZW5kQ29udGVudFRvTGluZShMaW5lJiwg
Y29uc3QgSW5saW5lTGluZUJyZWFrZXI6OlJ1biYpIGNvbnN0OwogICAgIHZvaWQgcG9zdFByb2Nl
c3NJbmxpbmVSdW5zKExpbmUmLCBJc0xhc3RMaW5lLCBMaW5lOjpSdW5SYW5nZSkgY29uc3Q7CiAg
ICAgdm9pZCBzcGxpdElubGluZVJ1bklmTmVlZGVkKGNvbnN0IElubGluZVJ1biYsIElubGluZVJ1
bnMmIHNwbGl0UnVucykgY29uc3Q7Ci0gICAgYm9vbCBjb250ZW50UmVxdWlyZXNTZXBhcmF0ZVJ1
bihjb25zdCBJbmxpbmVJdGVtJikgY29uc3Q7CiAKICAgICB2b2lkIGxheW91dEZvcm1hdHRpbmdD
b250ZXh0Um9vdChjb25zdCBCb3gmKSBjb25zdDsKICAgICB2b2lkIGNvbXB1dGVXaWR0aEFuZEhl
aWdodEZvclJlcGxhY2VkSW5saW5lQm94KGNvbnN0IEJveCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0
YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdTdGF0ZS5jcHAKaW5kZXggOTJkNzFhNDhjMDA4NDYzMjMyNDY5NzI1NWQ5YmI4YzEw
ZmEwMzc4ZS4uYWE0Mzk3MGE4N2YwZjlhN2ZjNjEyNjkyMzMxNDBkMDAwNTgxNmZhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ1N0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nU3RhdGUuY3BwCkBAIC01MCw2ICs1MCwxNSBAQCBzdGQ6OnVuaXF1
ZV9wdHI8Rm9ybWF0dGluZ0NvbnRleHQ+IElubGluZUZvcm1hdHRpbmdTdGF0ZTo6Zm9ybWF0dGlu
Z0NvbnRleHQoY29ucwogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPElubGluZUZvcm1hdHRp
bmdDb250ZXh0Pihmb3JtYXR0aW5nQ29udGV4dFJvb3QsICp0aGlzKTsKIH0KIAorc3RkOjpvcHRp
b25hbDxJbmxpbmVGb3JtYXR0aW5nU3RhdGU6OkRldGFjaGluZ1J1bGVzPiBJbmxpbmVGb3JtYXR0
aW5nU3RhdGU6OmRldGFjaGluZ1J1bGVzKGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAorewor
ICAgIGF1dG8gZGV0YWNoaW5nUnVsZXMgPSBtX2RldGFjaGluZ1J1bGVzLmdldCgmbGF5b3V0Qm94
KTsKKyAgICBpZiAoIWRldGFjaGluZ1J1bGVzKQorICAgICAgICByZXR1cm4geyB9OworCisgICAg
cmV0dXJuIGRldGFjaGluZ1J1bGVzOworfQorCiB9CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdTdGF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ1N0YXRlLmgKaW5kZXggYTc1MzU5NzFkMzFmODcyZGViOGM1NGI4MzRkMDdiODY2Y2E2ZTk3
Zi4uZjI0NDhhZGQ0OTIxNjFhZjNhYjg5OTIwODBmODEwMGY5OTdmYmZlYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0
YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ1N0YXRlLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJJbmxpbmVJdGVt
LmgiCiAjaW5jbHVkZSAiSW5saW5lUnVuLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgor
I2luY2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNw
YWNlIExheW91dCB7CkBAIC00NSwxMyArNDYsNDQgQEAgcHVibGljOgogICAgIHN0ZDo6dW5pcXVl
X3B0cjxGb3JtYXR0aW5nQ29udGV4dD4gZm9ybWF0dGluZ0NvbnRleHQoY29uc3QgQm94JiBmb3Jt
YXR0aW5nQ29udGV4dFJvb3QpIG92ZXJyaWRlOwogCiAgICAgSW5saW5lQ29udGVudCYgaW5saW5l
Q29udGVudCgpIHsgcmV0dXJuIG1faW5saW5lQ29udGVudDsgfQorICAgIElubGluZUl0ZW0qIGxh
c3RJbmxpbmVJdGVtKCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVDb250ZW50LmlzRW1wdHkoKSA/
IG51bGxwdHIgOiBtX2lubGluZUNvbnRlbnQubGFzdCgpLmdldCgpOyB9CisKKyAgICAvLyBEZXRh
Y2hpbmdSdWxlIGluZGljYXRlcyB3aGV0aGVyIHRoZSBpbmxpbmUgZWxlbWVudCBuZWVkcyB0byBi
ZSB3cmFwcGVkIGluIGEgZGVkaWNldGVkIHJ1biBvciBicmVhayBmcm9tIHByZXZpb3VzL25leHQg
cnVucy4KKyAgICAvLyA8c3Bhbj5zdGFydDwvc3Bhbj48c3BhbiBzdHlsZT0icG9zaXRpb246IHJl
bGF0aXZlOyI+IG1pZGRsZSA8L3NwYW4+PHNwYW4+ZW5kPC9zcGFuPgorICAgIC8vIGlucHV0IHRv
IGxpbmUgYnJlYWtpbmcgLT4gPHN0YXJ0IG1pZGRsZSBlbmQ+CisgICAgLy8gb3V0cHV0IG9mIGxp
bmUgYnJlYWtpbmcgKGNvbnNpZGVyaW5nIGluZmluaXRlIGNvbnN0cmFpbnQpIC0+IDxzdGFydCBt
aWRkbGUgZW5kPiAgCisgICAgLy8gZHVlIHRvIHRoZSBpbi1mbG93IHBvc2l0aW9uaW5nLCB0aGUg
ZmluYWwgcnVucyBhcmU6IDxzdGFydD48IG1pZGRsZSA+PGVuZD4KKyAgICAvLyAic3RhcnQiIC0+
IG4vYQorICAgIC8vICIgbWlkZGxlICIgLT4gQnJlYWtBdFN0YXJ0IGFuZCBCcmVha0F0RW5kCisg
ICAgLy8gImVuZCIgLT4gbi9hCisgICAgLy8KKyAgICAvLyA8c3Bhbj5wYXJlbnQgPC9zcGFuPjxz
cGFuIHN0eWxlPSJwYWRkaW5nOiAxMHB4OyI+c3RhcnQ8c3Bhbj4gbWlkZGxlIDwvc3Bhbj5lbmQ8
L3NwYW4+PHNwYW4+IHBhcmVudDwvc3Bhbj4KKyAgICAvLyBpbnB1dCB0byBsaW5lIGJyZWFraW5n
IC0+IDxwYXJlbnQgc3RhcnQgbWlkZGxlIGVuZCBwYXJlbnQ+CisgICAgLy8gb3V0cHV0IG9mIGxp
bmUgYnJlYWtpbmcgKGNvbnNpZGVyaW5nIGluZmluaXRlIGNvbnN0cmFpbnQpIC0+IDxwYXJlbnQg
c3RhcnQgbWlkZGxlIGVuZCBwYXJlbnQ+ICAKKyAgICAvLyBkdWUgdG8gcGFkZGluZywgZmluYWwg
cnVucyAtPiA8cGFyZW50PjxzdGFydCBtaWRkbGUgZW5kPjxwYXJlbnQ+CisgICAgLy8gInBhcmVu
dCIgLT4gbi9hCisgICAgLy8gInN0YXJ0IiAtPiBCcmVha0F0U3RhcnQKKyAgICAvLyAiIG1pZGRs
ZSAiIC0+IG4vYQorICAgIC8vICJlbmQiIC0+IEJyZWFrQXRFbmQKKyAgICAvLyAicGFyZW50IiAt
PiBuL2EKKyAgICBlbnVtIGNsYXNzIERldGFjaGluZ1J1bGUgeworICAgICAgICBCcmVha0F0U3Rh
cnQgPSAxIDw8IDAsCisgICAgICAgIEJyZWFrQXRFbmQgPSAxIDw8IDEKKyAgICB9OworICAgIHVz
aW5nIERldGFjaGluZ1J1bGVzID0gT3B0aW9uU2V0PERldGFjaGluZ1J1bGU+OworICAgIHN0ZDo6
b3B0aW9uYWw8RGV0YWNoaW5nUnVsZXM+IGRldGFjaGluZ1J1bGVzKGNvbnN0IEJveCYgbGF5b3V0
Qm94KSBjb25zdDsKKyAgICB2b2lkIGFkZERldGFjaGluZ1J1bGUoY29uc3QgQm94JiBsYXlvdXRC
b3gsIERldGFjaGluZ1J1bGVzIGRldGFjaGluZ1J1bGVzKSB7IG1fZGV0YWNoaW5nUnVsZXMuc2V0
KCZsYXlvdXRCb3gsIGRldGFjaGluZ1J1bGVzKTsgfQorCiAgICAgLy8gVGVtcAogICAgIElubGlu
ZVJ1bnMmIGlubGluZVJ1bnMoKSB7IHJldHVybiBtX2lubGluZVJ1bnM7IH0KICAgICB2b2lkIGFw
cGVuZElubGluZVJ1bihJbmxpbmVSdW4gaW5saW5lUnVuKSB7IG1faW5saW5lUnVucy5hcHBlbmQo
aW5saW5lUnVuKTsgfQogCiBwcml2YXRlOgorICAgIHVzaW5nIERldGFjaGluZ1J1bGVzRm9ySW5s
aW5lSXRlbXMgPSBIYXNoTWFwPGNvbnN0IEJveCosIERldGFjaGluZ1J1bGVzPjsKKwogICAgIElu
bGluZUNvbnRlbnQgbV9pbmxpbmVDb250ZW50OwogICAgIElubGluZVJ1bnMgbV9pbmxpbmVSdW5z
OworICAgIERldGFjaGluZ1J1bGVzRm9ySW5saW5lSXRlbXMgbV9kZXRhY2hpbmdSdWxlczsKIH07
CiAKIH0K
</data>
<flag name="review"
          id="371937"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>