<?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>132348</bug_id>
          
          <creation_ts>2014-04-29 12:28:29 -0700</creation_ts>
          <short_desc>NeverDestroyed objects should be constructable through std::initializer_list</short_desc>
          <delta_ts>2017-07-21 20:23:35 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>132345</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>andersca</cc>
    
    <cc>darin</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1005055</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-04-29 12:28:29 -0700</bug_when>
    <thetext>NeverDestroyed objects should be constructable through std::initializer_list</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005062</commentid>
    <comment_count>1</comment_count>
      <attachid>230401</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-04-29 12:35:57 -0700</bug_when>
    <thetext>Created attachment 230401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005150</commentid>
    <comment_count>2</comment_count>
      <attachid>230401</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-29 15:08:32 -0700</bug_when>
    <thetext>Comment on attachment 230401
Patch

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

&gt; Source/WTF/wtf/NeverDestroyed.h:57
&gt; +    template&lt;typename U&gt;
&gt; +    NeverDestroyed(std::initializer_list&lt;U&gt; list)

This header needs to include &lt;initializer_list&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005181</commentid>
    <comment_count>3</comment_count>
      <attachid>230401</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-29 16:02:46 -0700</bug_when>
    <thetext>Comment on attachment 230401
Patch

Need the include.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005307</commentid>
    <comment_count>4</comment_count>
      <attachid>230463</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-04-29 23:45:06 -0700</bug_when>
    <thetext>Created attachment 230463
Patch

Still relies on the patch in bug #132345.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005387</commentid>
    <comment_count>5</comment_count>
      <attachid>230463</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-30 09:20:27 -0700</bug_when>
    <thetext>Comment on attachment 230463
Patch

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

&gt; Source/WebCore/editing/EditingStyle.cpp:754
&gt; +    static NeverDestroyed&lt;Vector&lt;std::unique_ptr&lt;HTMLElementEquivalent&gt;&gt;&gt; equivalents = {
&gt; +        std::make_unique&lt;HTMLElementEquivalent&gt;(CSSPropertyFontWeight, CSSValueBold, HTMLNames::bTag),
&gt; +        std::make_unique&lt;HTMLElementEquivalent&gt;(CSSPropertyFontWeight, CSSValueBold, HTMLNames::strongTag),
&gt; +        std::make_unique&lt;HTMLElementEquivalent&gt;(CSSPropertyVerticalAlign, CSSValueSub, HTMLNames::subTag),
&gt; +        std::make_unique&lt;HTMLElementEquivalent&gt;(CSSPropertyVerticalAlign, CSSValueSuper, HTMLNames::supTag),
&gt; +        std::make_unique&lt;HTMLElementEquivalent&gt;(CSSPropertyFontStyle, CSSValueItalic, HTMLNames::iTag),
&gt; +        std::make_unique&lt;HTMLElementEquivalent&gt;(CSSPropertyFontStyle, CSSValueItalic, HTMLNames::emTag),
&gt; +        std::unique_ptr&lt;HTMLElementEquivalent&gt;(std::make_unique&lt;HTMLTextDecorationEquivalent&gt;(CSSValueUnderline, HTMLNames::uTag)),
&gt; +        std::unique_ptr&lt;HTMLElementEquivalent&gt;(std::make_unique&lt;HTMLTextDecorationEquivalent&gt;(CSSValueLineThrough, HTMLNames::sTag)),
&gt; +        std::unique_ptr&lt;HTMLElementEquivalent&gt;(std::make_unique&lt;HTMLTextDecorationEquivalent&gt;(CSSValueLineThrough, HTMLNames::strikeTag)),
&gt; +    };

Anders has suggested that we not make initializer lists support move semantics--I think he’s right and so we should not make this change here.

The explicit cast to a different type of unique_ptr is also quite ugly.

Maybe there’s some other improvement we can make here, but we shouldn’t do exactly this.

&gt; Source/WebCore/editing/EditingStyle.cpp:787
&gt; +        std::make_unique&lt;HTMLAttributeEquivalent&gt;(CSSPropertyColor, HTMLNames::fontTag, HTMLNames::colorAttr),
&gt; +        std::make_unique&lt;HTMLAttributeEquivalent&gt;(CSSPropertyFontFamily, HTMLNames::fontTag, HTMLNames::faceAttr),
&gt; +        std::unique_ptr&lt;HTMLAttributeEquivalent&gt;(std::make_unique&lt;HTMLFontSizeEquivalent&gt;()),
&gt; +        std::unique_ptr&lt;HTMLAttributeEquivalent&gt;(std::make_unique&lt;HTMLAttributeEquivalent&gt;(CSSPropertyDirection, HTMLNames::dirAttr)),
&gt; +        std::unique_ptr&lt;HTMLAttributeEquivalent&gt;(std::make_unique&lt;HTMLAttributeEquivalent&gt;(CSSPropertyUnicodeBidi, HTMLNames::dirAttr)),

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1331264</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-07-21 20:23:35 -0700</bug_when>
    <thetext>*** Bug 157452 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230401</attachid>
            <date>2014-04-29 12:35:57 -0700</date>
            <delta_ts>2014-04-29 23:45:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132348-20140429123534.patch</filename>
            <type>text/plain</type>
            <size>9967</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNjc5NTApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTA0LTI5ICBaYW4gRG9iZXJzZWsgIDx6ZG9i
ZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBOZXZlckRlc3Ryb3llZCBvYmplY3RzIHNob3Vs
ZCBiZSBjb25zdHJ1Y3RhYmxlIHRocm91Z2ggc3RkOjppbml0aWFsaXplcl9saXN0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzIzNDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9OZXZlckRlc3Ry
b3llZC5oOgorICAgICAgICAoV1RGOjpOZXZlckRlc3Ryb3llZDo6TmV2ZXJEZXN0cm95ZWQpOiBB
ZGQgYSBjb25zdHJ1Y3RvciB0ZW1wbGF0ZSB0aGF0IHRha2VzIGluCisgICAgICAgIGEgc3RkOjpp
bml0aWFsaXplcl9saXN0IGFuZCBtb3ZlcyBpdCBmb3J3YXJkIHRvIHRoZSB3cmFwcGVkIHR5cGUn
cyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byB1c2UgdGhl
IGxpc3QgaW5pdGlhbGl6YXRpb24gc3ludGF4IHRvIGNvbnN0cnVjdCBOZXZlckRlc3Ryb3llZAor
ICAgICAgICBvYmplY3RzIHRoYXQgd3JhcCB0eXBlcyB3aGljaCBjYW4gYmUgaW5pdGlhbGl6ZWQg
d2l0aCBzdGQ6OmluaXRpYWxpemVyX2xpc3QuCisKIDIwMTQtMDQtMjUgIEZpbGlwIFBpemxvICA8
ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBGaWd1cmUgb3V0IGhvdyBtYW55IGNvcmVzIGFy
ZSBhdmFpbGFibGUgZm9yIHJlYWxzaWVzLgpJbmRleDogU291cmNlL1dURi93dGYvTmV2ZXJEZXN0
cm95ZWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9OZXZlckRlc3Ryb3llZC5oCShy
ZXZpc2lvbiAxNjc5NDIpCisrKyBTb3VyY2UvV1RGL3d0Zi9OZXZlckRlc3Ryb3llZC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Myw2ICs1MywxMiBAQCBwdWJsaWM6CiAgICAgICAgIE1heWJlUmVsYXg8
VD4obmV3IChhc1B0cigpKSBUKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOwogICAgIH0K
IAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgTmV2ZXJEZXN0cm95ZWQoc3RkOjppbml0
aWFsaXplcl9saXN0PFU+IGxpc3QpCisgICAgeworICAgICAgICBNYXliZVJlbGF4PFQ+KG5ldyAo
YXNQdHIoKSkgVChzdGQ6Om1vdmUobGlzdCkpKTsKKyAgICB9CisKICAgICBvcGVyYXRvciBUJigp
IHsgcmV0dXJuICphc1B0cigpOyB9CiAgICAgVCYgZ2V0KCkgeyByZXR1cm4gKmFzUHRyKCk7IH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY3OTUwKQorKysgU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTQtMDQtMjkgIFphbiBE
b2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIE5ldmVyRGVzdHJveWVk
IG9iamVjdHMgc2hvdWxkIGJlIGNvbnN0cnVjdGFibGUgdGhyb3VnaCBzdGQ6OmluaXRpYWxpemVy
X2xpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
MjM0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVz
ZSBsaXN0IGluaXRpYWxpemF0aW9uIGZvciB0aGUgZmV3IE5ldmVyRGVzdHJveWVkPFZlY3RvcjxU
Pj4gc3RhdGljIG9iamVjdHMuCisKKyAgICAgICAgKiBlZGl0aW5nL0FsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bWFya2VyVHlwZXNGb3JBdXRvY29ycmVj
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjptYXJrZXJUeXBlc0ZvclJlcGxhY2VtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Om1hcmtlclR5cGVzRm9yQXBwbGllZERpY3RhdGlvbkFsdGVybmF0aXZl
KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpodG1sRWxlbWVudEVxdWl2YWxlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Omh0bWxBdHRyaWJ1
dGVFcXVpdmFsZW50cyk6CisKIDIwMTQtMDQtMjkgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2lPU10gUmVtb3ZlIHdvcmthcm91bmQgZm9yIDxyZGFyOi8vcHJv
YmxlbS8xNjU3ODcyNz4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZl
VGV4dENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE2Nzk0MikKKysrIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTg2LDMxICs4NiwyOSBAQCBwcml2YXRlOgogCiBzdGF0aWMgY29uc3QgVmVjdG9y
PERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlPiYgbWFya2VyVHlwZXNGb3JBdXRvY29ycmVjdGlv
bigpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxEb2N1bWVudE1hcmtlcjo6
TWFya2VyVHlwZT4+IG1hcmtlclR5cGVzRm9yQXV0b0NvcnJlY3Rpb247Ci0gICAgaWYgKG1hcmtl
clR5cGVzRm9yQXV0b0NvcnJlY3Rpb24uZ2V0KCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1hcmtl
clR5cGVzRm9yQXV0b0NvcnJlY3Rpb24uZ2V0KCkuYXBwZW5kKERvY3VtZW50TWFya2VyOjpSZXBs
YWNlbWVudCk7Ci0gICAgICAgIG1hcmtlclR5cGVzRm9yQXV0b0NvcnJlY3Rpb24uZ2V0KCkuYXBw
ZW5kKERvY3VtZW50TWFya2VyOjpDb3JyZWN0aW9uSW5kaWNhdG9yKTsKLSAgICAgICAgbWFya2Vy
VHlwZXNGb3JBdXRvQ29ycmVjdGlvbi5nZXQoKS5hcHBlbmQoRG9jdW1lbnRNYXJrZXI6OlNwZWxs
Q2hlY2tpbmdFeGVtcHRpb24pOwotICAgICAgICBtYXJrZXJUeXBlc0ZvckF1dG9Db3JyZWN0aW9u
LmdldCgpLmFwcGVuZChEb2N1bWVudE1hcmtlcjo6QXV0b2NvcnJlY3RlZCk7Ci0gICAgfQorICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8RG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+
PiBtYXJrZXJUeXBlc0ZvckF1dG9Db3JyZWN0aW9uID0geworICAgICAgICBEb2N1bWVudE1hcmtl
cjo6UmVwbGFjZW1lbnQsCisgICAgICAgIERvY3VtZW50TWFya2VyOjpDb3JyZWN0aW9uSW5kaWNh
dG9yLAorICAgICAgICBEb2N1bWVudE1hcmtlcjo6U3BlbGxDaGVja2luZ0V4ZW1wdGlvbiwKKyAg
ICAgICAgRG9jdW1lbnRNYXJrZXI6OkF1dG9jb3JyZWN0ZWQKKyAgICB9OwogICAgIHJldHVybiBt
YXJrZXJUeXBlc0ZvckF1dG9Db3JyZWN0aW9uOwogfQogCiBzdGF0aWMgY29uc3QgVmVjdG9yPERv
Y3VtZW50TWFya2VyOjpNYXJrZXJUeXBlPiYgbWFya2VyVHlwZXNGb3JSZXBsYWNlbWVudCgpCiB7
Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxEb2N1bWVudE1hcmtlcjo6TWFya2Vy
VHlwZT4+IG1hcmtlclR5cGVzRm9yUmVwbGFjZW1lbnQ7Ci0gICAgaWYgKG1hcmtlclR5cGVzRm9y
UmVwbGFjZW1lbnQuZ2V0KCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1hcmtlclR5cGVzRm9yUmVw
bGFjZW1lbnQuZ2V0KCkuYXBwZW5kKERvY3VtZW50TWFya2VyOjpSZXBsYWNlbWVudCk7Ci0gICAg
ICAgIG1hcmtlclR5cGVzRm9yUmVwbGFjZW1lbnQuZ2V0KCkuYXBwZW5kKERvY3VtZW50TWFya2Vy
OjpTcGVsbENoZWNraW5nRXhlbXB0aW9uKTsKLSAgICB9CisgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFZlY3RvcjxEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZT4+IG1hcmtlclR5cGVzRm9yUmVw
bGFjZW1lbnQgPSB7CisgICAgICAgIERvY3VtZW50TWFya2VyOjpSZXBsYWNlbWVudCwKKyAgICAg
ICAgRG9jdW1lbnRNYXJrZXI6OlNwZWxsQ2hlY2tpbmdFeGVtcHRpb24KKyAgICB9OwogICAgIHJl
dHVybiBtYXJrZXJUeXBlc0ZvclJlcGxhY2VtZW50OwogfQogCiBzdGF0aWMgY29uc3QgVmVjdG9y
PERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlPiYgbWFya2VyVHlwZXNGb3JBcHBsaWVkRGljdGF0
aW9uQWx0ZXJuYXRpdmUoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8RG9j
dW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+PiBtYXJrZXJUeXBlc0ZvckFwcGxpZWREaWN0YXRpb25B
bHRlcm5hdGl2ZTsKLSAgICBpZiAobWFya2VyVHlwZXNGb3JBcHBsaWVkRGljdGF0aW9uQWx0ZXJu
YXRpdmUuZ2V0KCkuaXNFbXB0eSgpKQotICAgICAgICBtYXJrZXJUeXBlc0ZvckFwcGxpZWREaWN0
YXRpb25BbHRlcm5hdGl2ZS5nZXQoKS5hcHBlbmQoRG9jdW1lbnRNYXJrZXI6OlNwZWxsQ2hlY2tp
bmdFeGVtcHRpb24pOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8RG9jdW1lbnRN
YXJrZXI6Ok1hcmtlclR5cGU+PiBtYXJrZXJUeXBlc0ZvckFwcGxpZWREaWN0YXRpb25BbHRlcm5h
dGl2ZSA9IHsKKyAgICAgICAgRG9jdW1lbnRNYXJrZXI6OlNwZWxsQ2hlY2tpbmdFeGVtcHRpb24K
KyAgICB9OwogICAgIHJldHVybiBtYXJrZXJUeXBlc0ZvckFwcGxpZWREaWN0YXRpb25BbHRlcm5h
dGl2ZTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcAko
cmV2aXNpb24gMTY3OTQyKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NDAsMjIgKzc0MCwxOSBAQCBib29sIEVkaXRpbmdTdHls
ZTo6Y29uZmxpY3RzV2l0aElubGluZVN0CiAKIHN0YXRpYyBjb25zdCBWZWN0b3I8c3RkOjp1bmlx
dWVfcHRyPEhUTUxFbGVtZW50RXF1aXZhbGVudD4+JiBodG1sRWxlbWVudEVxdWl2YWxlbnRzKCkK
IHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxIVE1M
RWxlbWVudEVxdWl2YWxlbnQ+Pj4gSFRNTEVsZW1lbnRFcXVpdmFsZW50czsKKyAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxIVE1MRWxlbWVudEVxdWl2YWxl
bnQ+Pj4gZXF1aXZhbGVudHMgPSB7CisgICAgICAgIHN0ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1l
bnRFcXVpdmFsZW50PihDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsIENTU1ZhbHVlQm9sZCwgSFRNTE5h
bWVzOjpiVGFnKSwKKyAgICAgICAgc3RkOjptYWtlX3VuaXF1ZTxIVE1MRWxlbWVudEVxdWl2YWxl
bnQ+KENTU1Byb3BlcnR5Rm9udFdlaWdodCwgQ1NTVmFsdWVCb2xkLCBIVE1MTmFtZXM6OnN0cm9u
Z1RhZyksCisgICAgICAgIHN0ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1lbnRFcXVpdmFsZW50PihD
U1NQcm9wZXJ0eVZlcnRpY2FsQWxpZ24sIENTU1ZhbHVlU3ViLCBIVE1MTmFtZXM6OnN1YlRhZyks
CisgICAgICAgIHN0ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1lbnRFcXVpdmFsZW50PihDU1NQcm9w
ZXJ0eVZlcnRpY2FsQWxpZ24sIENTU1ZhbHVlU3VwZXIsIEhUTUxOYW1lczo6c3VwVGFnKSwKKyAg
ICAgICAgc3RkOjptYWtlX3VuaXF1ZTxIVE1MRWxlbWVudEVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5
Rm9udFN0eWxlLCBDU1NWYWx1ZUl0YWxpYywgSFRNTE5hbWVzOjppVGFnKSwKKyAgICAgICAgc3Rk
OjptYWtlX3VuaXF1ZTxIVE1MRWxlbWVudEVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5Rm9udFN0eWxl
LCBDU1NWYWx1ZUl0YWxpYywgSFRNTE5hbWVzOjplbVRhZyksCisgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxIVE1MRWxlbWVudEVxdWl2YWxlbnQ+KHN0ZDo6bWFrZV91bmlxdWU8SFRNTFRleHREZWNv
cmF0aW9uRXF1aXZhbGVudD4oQ1NTVmFsdWVVbmRlcmxpbmUsIEhUTUxOYW1lczo6dVRhZykpLAor
ICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8SFRNTEVsZW1lbnRFcXVpdmFsZW50PihzdGQ6Om1ha2Vf
dW5pcXVlPEhUTUxUZXh0RGVjb3JhdGlvbkVxdWl2YWxlbnQ+KENTU1ZhbHVlTGluZVRocm91Z2gs
IEhUTUxOYW1lczo6c1RhZykpLAorICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8SFRNTEVsZW1lbnRF
cXVpdmFsZW50PihzdGQ6Om1ha2VfdW5pcXVlPEhUTUxUZXh0RGVjb3JhdGlvbkVxdWl2YWxlbnQ+
KENTU1ZhbHVlTGluZVRocm91Z2gsIEhUTUxOYW1lczo6c3RyaWtlVGFnKSksCisgICAgfTsKIAot
ICAgIGlmICghSFRNTEVsZW1lbnRFcXVpdmFsZW50cy5nZXQoKS5zaXplKCkpIHsKLSAgICAgICAg
SFRNTEVsZW1lbnRFcXVpdmFsZW50cy5nZXQoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxIVE1M
RWxlbWVudEVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5Rm9udFdlaWdodCwgQ1NTVmFsdWVCb2xkLCBI
VE1MTmFtZXM6OmJUYWcpKTsKLSAgICAgICAgSFRNTEVsZW1lbnRFcXVpdmFsZW50cy5nZXQoKS5h
cHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxIVE1MRWxlbWVudEVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5
Rm9udFdlaWdodCwgQ1NTVmFsdWVCb2xkLCBIVE1MTmFtZXM6OnN0cm9uZ1RhZykpOwotICAgICAg
ICBIVE1MRWxlbWVudEVxdWl2YWxlbnRzLmdldCgpLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEhU
TUxFbGVtZW50RXF1aXZhbGVudD4oQ1NTUHJvcGVydHlWZXJ0aWNhbEFsaWduLCBDU1NWYWx1ZVN1
YiwgSFRNTE5hbWVzOjpzdWJUYWcpKTsKLSAgICAgICAgSFRNTEVsZW1lbnRFcXVpdmFsZW50cy5n
ZXQoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxIVE1MRWxlbWVudEVxdWl2YWxlbnQ+KENTU1By
b3BlcnR5VmVydGljYWxBbGlnbiwgQ1NTVmFsdWVTdXBlciwgSFRNTE5hbWVzOjpzdXBUYWcpKTsK
LSAgICAgICAgSFRNTEVsZW1lbnRFcXVpdmFsZW50cy5nZXQoKS5hcHBlbmQoc3RkOjptYWtlX3Vu
aXF1ZTxIVE1MRWxlbWVudEVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5Rm9udFN0eWxlLCBDU1NWYWx1
ZUl0YWxpYywgSFRNTE5hbWVzOjppVGFnKSk7Ci0gICAgICAgIEhUTUxFbGVtZW50RXF1aXZhbGVu
dHMuZ2V0KCkuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1lbnRFcXVpdmFsZW50PihD
U1NQcm9wZXJ0eUZvbnRTdHlsZSwgQ1NTVmFsdWVJdGFsaWMsIEhUTUxOYW1lczo6ZW1UYWcpKTsK
LQotICAgICAgICBIVE1MRWxlbWVudEVxdWl2YWxlbnRzLmdldCgpLmFwcGVuZChzdGQ6Om1ha2Vf
dW5pcXVlPEhUTUxUZXh0RGVjb3JhdGlvbkVxdWl2YWxlbnQ+KENTU1ZhbHVlVW5kZXJsaW5lLCBI
VE1MTmFtZXM6OnVUYWcpKTsKLSAgICAgICAgSFRNTEVsZW1lbnRFcXVpdmFsZW50cy5nZXQoKS5h
cHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxIVE1MVGV4dERlY29yYXRpb25FcXVpdmFsZW50PihDU1NW
YWx1ZUxpbmVUaHJvdWdoLCBIVE1MTmFtZXM6OnNUYWcpKTsKLSAgICAgICAgSFRNTEVsZW1lbnRF
cXVpdmFsZW50cy5nZXQoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxIVE1MVGV4dERlY29yYXRp
b25FcXVpdmFsZW50PihDU1NWYWx1ZUxpbmVUaHJvdWdoLCBIVE1MTmFtZXM6OnN0cmlrZVRhZykp
OwotICAgIH0KLQotICAgIHJldHVybiBIVE1MRWxlbWVudEVxdWl2YWxlbnRzOworICAgIHJldHVy
biBlcXVpdmFsZW50czsKIH0KIAogCkBAIC03NzksMjAgKzc3NiwxNyBAQCBib29sIEVkaXRpbmdT
dHlsZTo6Y29uZmxpY3RzV2l0aEltcGxpY2l0CiAKIHN0YXRpYyBjb25zdCBWZWN0b3I8c3RkOjp1
bmlxdWVfcHRyPEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50Pj4mIGh0bWxBdHRyaWJ1dGVFcXVpdmFs
ZW50cygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxzdGQ6OnVuaXF1ZV9w
dHI8SFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnQ+Pj4gSFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnRzOwot
Ci0gICAgaWYgKCFIVE1MQXR0cmlidXRlRXF1aXZhbGVudHMuZ2V0KCkuc2l6ZSgpKSB7CisgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SFRNTEF0dHJpYnV0
ZUVxdWl2YWxlbnQ+Pj4gZXF1aXZhbGVudHMgPSB7CiAgICAgICAgIC8vIGVsZW1lbnRJc1N0eWxl
ZFNwYW5PckhUTUxFcXVpdmFsZW50IGRlcGVuZHMgb24gdGhlIGZhY3QgZWFjaCBIVE1MQXR0cml1
dGVFcXVpdmFsZW50IG1hdGNoZXMgZXhhY3RseSBvbmUgYXR0cmlidXRlCiAgICAgICAgIC8vIG9m
IGV4YWN0bHkgb25lIGVsZW1lbnQgZXhjZXB0IGRpckF0dHIuCi0gICAgICAgIEhUTUxBdHRyaWJ1
dGVFcXVpdmFsZW50cy5nZXQoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxIVE1MQXR0cmlidXRl
RXF1aXZhbGVudD4oQ1NTUHJvcGVydHlDb2xvciwgSFRNTE5hbWVzOjpmb250VGFnLCBIVE1MTmFt
ZXM6OmNvbG9yQXR0cikpOwotICAgICAgICBIVE1MQXR0cmlidXRlRXF1aXZhbGVudHMuZ2V0KCku
YXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnQ+KENTU1Byb3Bl
cnR5Rm9udEZhbWlseSwgSFRNTE5hbWVzOjpmb250VGFnLCBIVE1MTmFtZXM6OmZhY2VBdHRyKSk7
Ci0gICAgICAgIEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50cy5nZXQoKS5hcHBlbmQoc3RkOjptYWtl
X3VuaXF1ZTxIVE1MRm9udFNpemVFcXVpdmFsZW50PigpKTsKLQotICAgICAgICBIVE1MQXR0cmli
dXRlRXF1aXZhbGVudHMuZ2V0KCkuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SFRNTEF0dHJpYnV0
ZUVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5RGlyZWN0aW9uLCBIVE1MTmFtZXM6OmRpckF0dHIpKTsK
LSAgICAgICAgSFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnRzLmdldCgpLmFwcGVuZChzdGQ6Om1ha2Vf
dW5pcXVlPEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50PihDU1NQcm9wZXJ0eVVuaWNvZGVCaWRpLCBI
VE1MTmFtZXM6OmRpckF0dHIpKTsKLSAgICB9CisgICAgICAgIHN0ZDo6bWFrZV91bmlxdWU8SFRN
TEF0dHJpYnV0ZUVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5Q29sb3IsIEhUTUxOYW1lczo6Zm9udFRh
ZywgSFRNTE5hbWVzOjpjb2xvckF0dHIpLAorICAgICAgICBzdGQ6Om1ha2VfdW5pcXVlPEhUTUxB
dHRyaWJ1dGVFcXVpdmFsZW50PihDU1NQcm9wZXJ0eUZvbnRGYW1pbHksIEhUTUxOYW1lczo6Zm9u
dFRhZywgSFRNTE5hbWVzOjpmYWNlQXR0ciksCisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxIVE1M
QXR0cmlidXRlRXF1aXZhbGVudD4oc3RkOjptYWtlX3VuaXF1ZTxIVE1MRm9udFNpemVFcXVpdmFs
ZW50PigpKSwKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50
PihzdGQ6Om1ha2VfdW5pcXVlPEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50PihDU1NQcm9wZXJ0eURp
cmVjdGlvbiwgSFRNTE5hbWVzOjpkaXJBdHRyKSksCisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxI
VE1MQXR0cmlidXRlRXF1aXZhbGVudD4oc3RkOjptYWtlX3VuaXF1ZTxIVE1MQXR0cmlidXRlRXF1
aXZhbGVudD4oQ1NTUHJvcGVydHlVbmljb2RlQmlkaSwgSFRNTE5hbWVzOjpkaXJBdHRyKSksCisg
ICAgfTsKIAotICAgIHJldHVybiBIVE1MQXR0cmlidXRlRXF1aXZhbGVudHM7CisgICAgcmV0dXJu
IGVxdWl2YWxlbnRzOwogfQogCiBib29sIEVkaXRpbmdTdHlsZTo6Y29uZmxpY3RzV2l0aEltcGxp
Y2l0U3R5bGVPZkF0dHJpYnV0ZXMoSFRNTEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230463</attachid>
            <date>2014-04-29 23:45:06 -0700</date>
            <delta_ts>2014-04-30 09:20:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132348-20140429234443.patch</filename>
            <type>text/plain</type>
            <size>10157</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNjc5ODQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTA0LTI5ICBaYW4gRG9iZXJzZWsgIDx6ZG9i
ZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBOZXZlckRlc3Ryb3llZCBvYmplY3RzIHNob3Vs
ZCBiZSBjb25zdHJ1Y3RhYmxlIHRocm91Z2ggc3RkOjppbml0aWFsaXplcl9saXN0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzIzNDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9OZXZlckRlc3Ry
b3llZC5oOgorICAgICAgICAoV1RGOjpOZXZlckRlc3Ryb3llZDo6TmV2ZXJEZXN0cm95ZWQpOiBB
ZGQgYSBjb25zdHJ1Y3RvciB0ZW1wbGF0ZSB0aGF0IHRha2VzIGluCisgICAgICAgIGEgc3RkOjpp
bml0aWFsaXplcl9saXN0IGFuZCBtb3ZlcyBpdCBmb3J3YXJkIHRvIHRoZSB3cmFwcGVkIHR5cGUn
cyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byB1c2UgdGhl
IGxpc3QgaW5pdGlhbGl6YXRpb24gc3ludGF4IHRvIGNvbnN0cnVjdCBOZXZlckRlc3Ryb3llZAor
ICAgICAgICBvYmplY3RzIHRoYXQgd3JhcCB0eXBlcyB3aGljaCBjYW4gYmUgaW5pdGlhbGl6ZWQg
d2l0aCBzdGQ6OmluaXRpYWxpemVyX2xpc3QuCisKIDIwMTQtMDQtMjkgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbV2luQ2Fpcm9dIFN3aXRj
aCB2aWRlbyBmcm9tIEdTdHJlYW1lciB0byBNZWRpYSBGb3VuZGF0aW9uLgpJbmRleDogU291cmNl
L1dURi93dGYvTmV2ZXJEZXN0cm95ZWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9O
ZXZlckRlc3Ryb3llZC5oCShyZXZpc2lvbiAxNjc5ODQpCisrKyBTb3VyY2UvV1RGL3d0Zi9OZXZl
ckRlc3Ryb3llZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIE5l
dmVyRGVzdHJveWVkX2gKICNkZWZpbmUgTmV2ZXJEZXN0cm95ZWRfaAogCisjaW5jbHVkZSA8aW5p
dGlhbGl6ZXJfbGlzdD4KICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KICNpbmNsdWRlIDx1dGlsaXR5
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNTMsNiArNTQsMTIgQEAgcHVibGlj
OgogICAgICAgICBNYXliZVJlbGF4PFQ+KG5ldyAoYXNQdHIoKSkgVChzdGQ6OmZvcndhcmQ8QXJn
cz4oYXJncykuLi4pKTsKICAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgorICAgIE5l
dmVyRGVzdHJveWVkKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxVPiBsaXN0KQorICAgIHsKKyAgICAg
ICAgTWF5YmVSZWxheDxUPihuZXcgKGFzUHRyKCkpIFQoc3RkOjptb3ZlKGxpc3QpKSk7CisgICAg
fQorCiAgICAgb3BlcmF0b3IgVCYoKSB7IHJldHVybiAqYXNQdHIoKTsgfQogICAgIFQmIGdldCgp
IHsgcmV0dXJuICphc1B0cigpOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Nzk4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIw
IEBACisyMDE0LTA0LTI5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBOZXZlckRlc3Ryb3llZCBvYmplY3RzIHNob3VsZCBiZSBjb25zdHJ1Y3RhYmxlIHRo
cm91Z2ggc3RkOjppbml0aWFsaXplcl9saXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzIzNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVc2UgbGlzdCBpbml0aWFsaXphdGlvbiBmb3IgdGhlIGZldyBO
ZXZlckRlc3Ryb3llZDxWZWN0b3I8VD4+IHN0YXRpYyBvYmplY3RzLgorCisgICAgICAgICogZWRp
dGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1h
cmtlclR5cGVzRm9yQXV0b2NvcnJlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6bWFya2VyVHlw
ZXNGb3JSZXBsYWNlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjptYXJrZXJUeXBlc0ZvckFwcGxp
ZWREaWN0YXRpb25BbHRlcm5hdGl2ZSk6CisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6aHRtbEVsZW1lbnRFcXVpdmFsZW50cyk6CisgICAgICAg
IChXZWJDb3JlOjpodG1sQXR0cmlidXRlRXF1aXZhbGVudHMpOgorCiAyMDE0LTA0LTI5ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTY3OTYyIGFuZCByMTY3OTc1LgpJbmRleDogU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCShyZXZpc2lv
biAxNjc5ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRy
b2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NiwzMSArODYsMjkgQEAgcHJpdmF0ZToKIAog
c3RhdGljIGNvbnN0IFZlY3RvcjxEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZT4mIG1hcmtlclR5
cGVzRm9yQXV0b2NvcnJlY3Rpb24oKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0
b3I8RG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+PiBtYXJrZXJUeXBlc0ZvckF1dG9Db3JyZWN0
aW9uOwotICAgIGlmIChtYXJrZXJUeXBlc0ZvckF1dG9Db3JyZWN0aW9uLmdldCgpLmlzRW1wdHko
KSkgewotICAgICAgICBtYXJrZXJUeXBlc0ZvckF1dG9Db3JyZWN0aW9uLmdldCgpLmFwcGVuZChE
b2N1bWVudE1hcmtlcjo6UmVwbGFjZW1lbnQpOwotICAgICAgICBtYXJrZXJUeXBlc0ZvckF1dG9D
b3JyZWN0aW9uLmdldCgpLmFwcGVuZChEb2N1bWVudE1hcmtlcjo6Q29ycmVjdGlvbkluZGljYXRv
cik7Ci0gICAgICAgIG1hcmtlclR5cGVzRm9yQXV0b0NvcnJlY3Rpb24uZ2V0KCkuYXBwZW5kKERv
Y3VtZW50TWFya2VyOjpTcGVsbENoZWNraW5nRXhlbXB0aW9uKTsKLSAgICAgICAgbWFya2VyVHlw
ZXNGb3JBdXRvQ29ycmVjdGlvbi5nZXQoKS5hcHBlbmQoRG9jdW1lbnRNYXJrZXI6OkF1dG9jb3Jy
ZWN0ZWQpOwotICAgIH0KKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPERvY3VtZW50
TWFya2VyOjpNYXJrZXJUeXBlPj4gbWFya2VyVHlwZXNGb3JBdXRvQ29ycmVjdGlvbiA9IHsKKyAg
ICAgICAgRG9jdW1lbnRNYXJrZXI6OlJlcGxhY2VtZW50LAorICAgICAgICBEb2N1bWVudE1hcmtl
cjo6Q29ycmVjdGlvbkluZGljYXRvciwKKyAgICAgICAgRG9jdW1lbnRNYXJrZXI6OlNwZWxsQ2hl
Y2tpbmdFeGVtcHRpb24sCisgICAgICAgIERvY3VtZW50TWFya2VyOjpBdXRvY29ycmVjdGVkCisg
ICAgfTsKICAgICByZXR1cm4gbWFya2VyVHlwZXNGb3JBdXRvQ29ycmVjdGlvbjsKIH0KIAogc3Rh
dGljIGNvbnN0IFZlY3RvcjxEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZT4mIG1hcmtlclR5cGVz
Rm9yUmVwbGFjZW1lbnQoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8RG9j
dW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+PiBtYXJrZXJUeXBlc0ZvclJlcGxhY2VtZW50OwotICAg
IGlmIChtYXJrZXJUeXBlc0ZvclJlcGxhY2VtZW50LmdldCgpLmlzRW1wdHkoKSkgewotICAgICAg
ICBtYXJrZXJUeXBlc0ZvclJlcGxhY2VtZW50LmdldCgpLmFwcGVuZChEb2N1bWVudE1hcmtlcjo6
UmVwbGFjZW1lbnQpOwotICAgICAgICBtYXJrZXJUeXBlc0ZvclJlcGxhY2VtZW50LmdldCgpLmFw
cGVuZChEb2N1bWVudE1hcmtlcjo6U3BlbGxDaGVja2luZ0V4ZW1wdGlvbik7Ci0gICAgfQorICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8RG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+
PiBtYXJrZXJUeXBlc0ZvclJlcGxhY2VtZW50ID0geworICAgICAgICBEb2N1bWVudE1hcmtlcjo6
UmVwbGFjZW1lbnQsCisgICAgICAgIERvY3VtZW50TWFya2VyOjpTcGVsbENoZWNraW5nRXhlbXB0
aW9uCisgICAgfTsKICAgICByZXR1cm4gbWFya2VyVHlwZXNGb3JSZXBsYWNlbWVudDsKIH0KIAog
c3RhdGljIGNvbnN0IFZlY3RvcjxEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZT4mIG1hcmtlclR5
cGVzRm9yQXBwbGllZERpY3RhdGlvbkFsdGVybmF0aXZlKCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8VmVjdG9yPERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlPj4gbWFya2VyVHlwZXNG
b3JBcHBsaWVkRGljdGF0aW9uQWx0ZXJuYXRpdmU7Ci0gICAgaWYgKG1hcmtlclR5cGVzRm9yQXBw
bGllZERpY3RhdGlvbkFsdGVybmF0aXZlLmdldCgpLmlzRW1wdHkoKSkKLSAgICAgICAgbWFya2Vy
VHlwZXNGb3JBcHBsaWVkRGljdGF0aW9uQWx0ZXJuYXRpdmUuZ2V0KCkuYXBwZW5kKERvY3VtZW50
TWFya2VyOjpTcGVsbENoZWNraW5nRXhlbXB0aW9uKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8VmVjdG9yPERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlPj4gbWFya2VyVHlwZXNGb3JBcHBs
aWVkRGljdGF0aW9uQWx0ZXJuYXRpdmUgPSB7CisgICAgICAgIERvY3VtZW50TWFya2VyOjpTcGVs
bENoZWNraW5nRXhlbXB0aW9uCisgICAgfTsKICAgICByZXR1cm4gbWFya2VyVHlwZXNGb3JBcHBs
aWVkRGljdGF0aW9uQWx0ZXJuYXRpdmU7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdGluZ1N0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRpbmdTdHlsZS5jcHAJKHJldmlzaW9uIDE2Nzk4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdGluZ1N0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzQxLDIyICs3NDEsMTkg
QEAgYm9vbCBFZGl0aW5nU3R5bGU6OmNvbmZsaWN0c1dpdGhJbmxpbmVTdAogCiBzdGF0aWMgY29u
c3QgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxIVE1MRWxlbWVudEVxdWl2YWxlbnQ+PiYgaHRtbEVs
ZW1lbnRFcXVpdmFsZW50cygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3Rvcjxz
dGQ6OnVuaXF1ZV9wdHI8SFRNTEVsZW1lbnRFcXVpdmFsZW50Pj4+IEhUTUxFbGVtZW50RXF1aXZh
bGVudHM7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8
SFRNTEVsZW1lbnRFcXVpdmFsZW50Pj4+IGVxdWl2YWxlbnRzID0geworICAgICAgICBzdGQ6Om1h
a2VfdW5pcXVlPEhUTUxFbGVtZW50RXF1aXZhbGVudD4oQ1NTUHJvcGVydHlGb250V2VpZ2h0LCBD
U1NWYWx1ZUJvbGQsIEhUTUxOYW1lczo6YlRhZyksCisgICAgICAgIHN0ZDo6bWFrZV91bmlxdWU8
SFRNTEVsZW1lbnRFcXVpdmFsZW50PihDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsIENTU1ZhbHVlQm9s
ZCwgSFRNTE5hbWVzOjpzdHJvbmdUYWcpLAorICAgICAgICBzdGQ6Om1ha2VfdW5pcXVlPEhUTUxF
bGVtZW50RXF1aXZhbGVudD4oQ1NTUHJvcGVydHlWZXJ0aWNhbEFsaWduLCBDU1NWYWx1ZVN1Yiwg
SFRNTE5hbWVzOjpzdWJUYWcpLAorICAgICAgICBzdGQ6Om1ha2VfdW5pcXVlPEhUTUxFbGVtZW50
RXF1aXZhbGVudD4oQ1NTUHJvcGVydHlWZXJ0aWNhbEFsaWduLCBDU1NWYWx1ZVN1cGVyLCBIVE1M
TmFtZXM6OnN1cFRhZyksCisgICAgICAgIHN0ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1lbnRFcXVp
dmFsZW50PihDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgQ1NTVmFsdWVJdGFsaWMsIEhUTUxOYW1lczo6
aVRhZyksCisgICAgICAgIHN0ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1lbnRFcXVpdmFsZW50PihD
U1NQcm9wZXJ0eUZvbnRTdHlsZSwgQ1NTVmFsdWVJdGFsaWMsIEhUTUxOYW1lczo6ZW1UYWcpLAor
ICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8SFRNTEVsZW1lbnRFcXVpdmFsZW50PihzdGQ6Om1ha2Vf
dW5pcXVlPEhUTUxUZXh0RGVjb3JhdGlvbkVxdWl2YWxlbnQ+KENTU1ZhbHVlVW5kZXJsaW5lLCBI
VE1MTmFtZXM6OnVUYWcpKSwKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxFbGVtZW50RXF1
aXZhbGVudD4oc3RkOjptYWtlX3VuaXF1ZTxIVE1MVGV4dERlY29yYXRpb25FcXVpdmFsZW50PihD
U1NWYWx1ZUxpbmVUaHJvdWdoLCBIVE1MTmFtZXM6OnNUYWcpKSwKKyAgICAgICAgc3RkOjp1bmlx
dWVfcHRyPEhUTUxFbGVtZW50RXF1aXZhbGVudD4oc3RkOjptYWtlX3VuaXF1ZTxIVE1MVGV4dERl
Y29yYXRpb25FcXVpdmFsZW50PihDU1NWYWx1ZUxpbmVUaHJvdWdoLCBIVE1MTmFtZXM6OnN0cmlr
ZVRhZykpLAorICAgIH07CiAKLSAgICBpZiAoIUhUTUxFbGVtZW50RXF1aXZhbGVudHMuZ2V0KCku
c2l6ZSgpKSB7Ci0gICAgICAgIEhUTUxFbGVtZW50RXF1aXZhbGVudHMuZ2V0KCkuYXBwZW5kKHN0
ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1lbnRFcXVpdmFsZW50PihDU1NQcm9wZXJ0eUZvbnRXZWln
aHQsIENTU1ZhbHVlQm9sZCwgSFRNTE5hbWVzOjpiVGFnKSk7Ci0gICAgICAgIEhUTUxFbGVtZW50
RXF1aXZhbGVudHMuZ2V0KCkuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1lbnRFcXVp
dmFsZW50PihDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsIENTU1ZhbHVlQm9sZCwgSFRNTE5hbWVzOjpz
dHJvbmdUYWcpKTsKLSAgICAgICAgSFRNTEVsZW1lbnRFcXVpdmFsZW50cy5nZXQoKS5hcHBlbmQo
c3RkOjptYWtlX3VuaXF1ZTxIVE1MRWxlbWVudEVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5VmVydGlj
YWxBbGlnbiwgQ1NTVmFsdWVTdWIsIEhUTUxOYW1lczo6c3ViVGFnKSk7Ci0gICAgICAgIEhUTUxF
bGVtZW50RXF1aXZhbGVudHMuZ2V0KCkuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1l
bnRFcXVpdmFsZW50PihDU1NQcm9wZXJ0eVZlcnRpY2FsQWxpZ24sIENTU1ZhbHVlU3VwZXIsIEhU
TUxOYW1lczo6c3VwVGFnKSk7Ci0gICAgICAgIEhUTUxFbGVtZW50RXF1aXZhbGVudHMuZ2V0KCku
YXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SFRNTEVsZW1lbnRFcXVpdmFsZW50PihDU1NQcm9wZXJ0
eUZvbnRTdHlsZSwgQ1NTVmFsdWVJdGFsaWMsIEhUTUxOYW1lczo6aVRhZykpOwotICAgICAgICBI
VE1MRWxlbWVudEVxdWl2YWxlbnRzLmdldCgpLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEhUTUxF
bGVtZW50RXF1aXZhbGVudD4oQ1NTUHJvcGVydHlGb250U3R5bGUsIENTU1ZhbHVlSXRhbGljLCBI
VE1MTmFtZXM6OmVtVGFnKSk7Ci0KLSAgICAgICAgSFRNTEVsZW1lbnRFcXVpdmFsZW50cy5nZXQo
KS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxIVE1MVGV4dERlY29yYXRpb25FcXVpdmFsZW50PihD
U1NWYWx1ZVVuZGVybGluZSwgSFRNTE5hbWVzOjp1VGFnKSk7Ci0gICAgICAgIEhUTUxFbGVtZW50
RXF1aXZhbGVudHMuZ2V0KCkuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SFRNTFRleHREZWNvcmF0
aW9uRXF1aXZhbGVudD4oQ1NTVmFsdWVMaW5lVGhyb3VnaCwgSFRNTE5hbWVzOjpzVGFnKSk7Ci0g
ICAgICAgIEhUTUxFbGVtZW50RXF1aXZhbGVudHMuZ2V0KCkuYXBwZW5kKHN0ZDo6bWFrZV91bmlx
dWU8SFRNTFRleHREZWNvcmF0aW9uRXF1aXZhbGVudD4oQ1NTVmFsdWVMaW5lVGhyb3VnaCwgSFRN
TE5hbWVzOjpzdHJpa2VUYWcpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gSFRNTEVsZW1lbnRFcXVp
dmFsZW50czsKKyAgICByZXR1cm4gZXF1aXZhbGVudHM7CiB9CiAKIApAQCAtNzgwLDIwICs3Nzcs
MTcgQEAgYm9vbCBFZGl0aW5nU3R5bGU6OmNvbmZsaWN0c1dpdGhJbXBsaWNpdAogCiBzdGF0aWMg
Y29uc3QgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxIVE1MQXR0cmlidXRlRXF1aXZhbGVudD4+JiBo
dG1sQXR0cmlidXRlRXF1aXZhbGVudHMoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxW
ZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50Pj4+IEhUTUxBdHRy
aWJ1dGVFcXVpdmFsZW50czsKLQotICAgIGlmICghSFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnRzLmdl
dCgpLnNpemUoKSkgeworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8c3RkOjp1bmlx
dWVfcHRyPEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50Pj4+IGVxdWl2YWxlbnRzID0gewogICAgICAg
ICAvLyBlbGVtZW50SXNTdHlsZWRTcGFuT3JIVE1MRXF1aXZhbGVudCBkZXBlbmRzIG9uIHRoZSBm
YWN0IGVhY2ggSFRNTEF0dHJpdXRlRXF1aXZhbGVudCBtYXRjaGVzIGV4YWN0bHkgb25lIGF0dHJp
YnV0ZQogICAgICAgICAvLyBvZiBleGFjdGx5IG9uZSBlbGVtZW50IGV4Y2VwdCBkaXJBdHRyLgot
ICAgICAgICBIVE1MQXR0cmlidXRlRXF1aXZhbGVudHMuZ2V0KCkuYXBwZW5kKHN0ZDo6bWFrZV91
bmlxdWU8SFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5Q29sb3IsIEhUTUxOYW1l
czo6Zm9udFRhZywgSFRNTE5hbWVzOjpjb2xvckF0dHIpKTsKLSAgICAgICAgSFRNTEF0dHJpYnV0
ZUVxdWl2YWxlbnRzLmdldCgpLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEhUTUxBdHRyaWJ1dGVF
cXVpdmFsZW50PihDU1NQcm9wZXJ0eUZvbnRGYW1pbHksIEhUTUxOYW1lczo6Zm9udFRhZywgSFRN
TE5hbWVzOjpmYWNlQXR0cikpOwotICAgICAgICBIVE1MQXR0cmlidXRlRXF1aXZhbGVudHMuZ2V0
KCkuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SFRNTEZvbnRTaXplRXF1aXZhbGVudD4oKSk7Ci0K
LSAgICAgICAgSFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnRzLmdldCgpLmFwcGVuZChzdGQ6Om1ha2Vf
dW5pcXVlPEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50PihDU1NQcm9wZXJ0eURpcmVjdGlvbiwgSFRN
TE5hbWVzOjpkaXJBdHRyKSk7Ci0gICAgICAgIEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50cy5nZXQo
KS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxIVE1MQXR0cmlidXRlRXF1aXZhbGVudD4oQ1NTUHJv
cGVydHlVbmljb2RlQmlkaSwgSFRNTE5hbWVzOjpkaXJBdHRyKSk7Ci0gICAgfQorICAgICAgICBz
dGQ6Om1ha2VfdW5pcXVlPEhUTUxBdHRyaWJ1dGVFcXVpdmFsZW50PihDU1NQcm9wZXJ0eUNvbG9y
LCBIVE1MTmFtZXM6OmZvbnRUYWcsIEhUTUxOYW1lczo6Y29sb3JBdHRyKSwKKyAgICAgICAgc3Rk
OjptYWtlX3VuaXF1ZTxIVE1MQXR0cmlidXRlRXF1aXZhbGVudD4oQ1NTUHJvcGVydHlGb250RmFt
aWx5LCBIVE1MTmFtZXM6OmZvbnRUYWcsIEhUTUxOYW1lczo6ZmFjZUF0dHIpLAorICAgICAgICBz
dGQ6OnVuaXF1ZV9wdHI8SFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnQ+KHN0ZDo6bWFrZV91bmlxdWU8
SFRNTEZvbnRTaXplRXF1aXZhbGVudD4oKSksCisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxIVE1M
QXR0cmlidXRlRXF1aXZhbGVudD4oc3RkOjptYWtlX3VuaXF1ZTxIVE1MQXR0cmlidXRlRXF1aXZh
bGVudD4oQ1NTUHJvcGVydHlEaXJlY3Rpb24sIEhUTUxOYW1lczo6ZGlyQXR0cikpLAorICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnQ+KHN0ZDo6bWFrZV91bmlx
dWU8SFRNTEF0dHJpYnV0ZUVxdWl2YWxlbnQ+KENTU1Byb3BlcnR5VW5pY29kZUJpZGksIEhUTUxO
YW1lczo6ZGlyQXR0cikpLAorICAgIH07CiAKLSAgICByZXR1cm4gSFRNTEF0dHJpYnV0ZUVxdWl2
YWxlbnRzOworICAgIHJldHVybiBlcXVpdmFsZW50czsKIH0KIAogYm9vbCBFZGl0aW5nU3R5bGU6
OmNvbmZsaWN0c1dpdGhJbXBsaWNpdFN0eWxlT2ZBdHRyaWJ1dGVzKEhUTUxFbGVtZW50KiBlbGVt
ZW50KSBjb25zdAo=
</data>
<flag name="review"
          id="254848"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>