<?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>123467</bug_id>
          
          <creation_ts>2013-10-29 14:02:18 -0700</creation_ts>
          <short_desc>Manage SVGPathByteStream through std::unique_ptr</short_desc>
          <delta_ts>2013-10-31 08:27:45 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>fmalita</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>944597</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-29 14:02:18 -0700</bug_when>
    <thetext>Manage SVGPathByteStream through std::unique_ptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944605</commentid>
    <comment_count>1</comment_count>
      <attachid>215426</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-29 14:17:37 -0700</bug_when>
    <thetext>Created attachment 215426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944894</commentid>
    <comment_count>2</comment_count>
      <attachid>215426</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-30 07:25:51 -0700</bug_when>
    <thetext>Comment on attachment 215426
Patch

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

Patch looks good but I&apos;d like to see a new iteration that doesn&apos;t change the createPath overload to take a raw pointer.

&gt; Source/WebCore/svg/SVGAnimatedPath.cpp:38
&gt; +    std::unique_ptr&lt;SVGPathByteStream&gt; byteStream = std::make_unique&lt;SVGPathByteStream&gt;();

Use auto here.

&gt; Source/WebCore/svg/SVGAnimatedPath.cpp:50
&gt; +    std::unique_ptr&lt;SVGPathByteStream&gt; byteStream = std::make_unique&lt;SVGPathByteStream&gt;();

Use auto here.

&gt; Source/WebCore/svg/SVGAnimatedType.cpp:183
&gt; -PassOwnPtr&lt;SVGAnimatedType&gt; SVGAnimatedType::createPath(PassOwnPtr&lt;SVGPathByteStream&gt; path)
&gt; +PassOwnPtr&lt;SVGAnimatedType&gt; SVGAnimatedType::createPath(SVGPathByteStream* path)

I don&apos;t understand this change. This should take a unique_ptr and call .release() on it.

&gt; Source/WebCore/svg/SVGPathByteStream.h:54
&gt; +    std::unique_ptr&lt;SVGPathByteStream&gt; copy()

This can be const.

&gt; Source/WebCore/svg/SVGPathUtilities.cpp:151
&gt; +    std::unique_ptr&lt;SVGPathByteStream&gt; appendedByteStream = std::make_unique&lt;SVGPathByteStream&gt;();

Auto.

&gt; Source/WebCore/svg/SVGPathUtilities.cpp:273
&gt; +    std::unique_ptr&lt;SVGPathByteStream&gt; fromStreamCopy = fromStream-&gt;copy();

Auto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945018</commentid>
    <comment_count>3</comment_count>
      <attachid>215426</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-30 10:57:43 -0700</bug_when>
    <thetext>Comment on attachment 215426
Patch

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

&gt;&gt; Source/WebCore/svg/SVGPathByteStream.h:54
&gt;&gt; +    std::unique_ptr&lt;SVGPathByteStream&gt; copy()
&gt; 
&gt; This can be const.

That enforces constness on the m_data member and calls the non-existent SVGPathByteStream(const Data&amp;) constructor, causing compilation failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945044</commentid>
    <comment_count>4</comment_count>
      <attachid>215532</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-30 11:10:48 -0700</bug_when>
    <thetext>Created attachment 215532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945207</commentid>
    <comment_count>5</comment_count>
      <attachid>215426</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-30 15:28:27 -0700</bug_when>
    <thetext>Comment on attachment 215426
Patch

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

&gt;&gt;&gt; Source/WebCore/svg/SVGPathByteStream.h:54
&gt;&gt;&gt; +    std::unique_ptr&lt;SVGPathByteStream&gt; copy()
&gt;&gt; 
&gt;&gt; This can be const.
&gt; 
&gt; That enforces constness on the m_data member and calls the non-existent SVGPathByteStream(const Data&amp;) constructor, causing compilation failures.

Why does the SVGPathByteStream need to take a non-const reference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945471</commentid>
    <comment_count>6</comment_count>
      <attachid>215426</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-31 02:27:04 -0700</bug_when>
    <thetext>Comment on attachment 215426
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/svg/SVGPathByteStream.h:54
&gt;&gt;&gt;&gt; +    std::unique_ptr&lt;SVGPathByteStream&gt; copy()
&gt;&gt;&gt; 
&gt;&gt;&gt; This can be const.
&gt;&gt; 
&gt;&gt; That enforces constness on the m_data member and calls the non-existent SVGPathByteStream(const Data&amp;) constructor, causing compilation failures.
&gt; 
&gt; Why does the SVGPathByteStream need to take a non-const reference?

No need actually, the constructor can work with a const reference. copy() can be const as well then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945475</commentid>
    <comment_count>7</comment_count>
      <attachid>215638</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-31 02:44:17 -0700</bug_when>
    <thetext>Created attachment 215638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945525</commentid>
    <comment_count>8</comment_count>
      <attachid>215638</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-31 08:27:38 -0700</bug_when>
    <thetext>Comment on attachment 215638
Patch

Clearing flags on attachment: 215638

Committed r158359: &lt;http://trac.webkit.org/changeset/158359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945526</commentid>
    <comment_count>9</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-10-31 08:27:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215426</attachid>
            <date>2013-10-29 14:17:37 -0700</date>
            <delta_ts>2013-10-31 02:27:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123467-20131029141734.patch</filename>
            <type>text/plain</type>
            <size>10836</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWI2ZGFjN2FjMDhhNmRm
MWMyYmZiNGU5Njc1MjdiZDg4MDBmYTZlNS4uNTU2MTM4ODgwZjkxZDlmN2Q1NGEzNmUzNjgzM2Fh
YjRhOWE3YmIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTEwLTI5ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNYW5hZ2UgU1ZHUGF0
aEJ5dGVTdHJlYW0gdGhyb3VnaCBzdGQ6OnVuaXF1ZV9wdHIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ2NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbmFnZSBTVkdQYXRoQnl0ZVN0cmVhbSBvYmpl
Y3RzIHRocm91Z2ggc3RkOjp1bmlxdWVfcHRyLiBDb25zdHJ1Y3RvcnMgZm9yIHRoZSBjbGFzcyBh
cmUgbWFkZSBwdWJsaWMKKyAgICAgICAgc28gc3RkOjptYWtlX3VuaXF1ZSBjYW4gYmUgdXNlZCB3
aXRoIHRoZSBjbGFzcy4KKworICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFBhdGguY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6OnN0YXJ0QW5p
bVZhbEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFBhdGhBbmltYXRv
cjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkVHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVBhdGgpOiBB
Y2NlcHQgYSBuYWtlZCBwb2ludGVyIHRvIHRoZSBTVkdQYXRoQnl0ZVN0cmVhbSBvYmplY3QgYXMg
dGhlCisgICAgICAgIHBhcmFtZXRlciByYXRoZXIgdGhhbiBhIHNtYXJ0IHBvaW50ZXIgdGhhdCB0
aGVuIHJlcXVpcmVzIGxlYWtpbmcgdGhlIHBvaW50ZXIgdG8gdGhlIG1hbmFnZWQgb2JqZWN0Lgor
ICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFR5cGUuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEJ5
dGVTdHJlYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhCeXRlU3RyZWFtOjpTVkdQYXRo
Qnl0ZVN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoQnl0ZVN0cmVhbTo6Y29weSk6
CisgICAgICAgICogc3ZnL1NWR1BhdGhCeXRlU3RyZWFtQnVpbGRlci5jcHA6IFJlbW92ZSBhbiB1
bm5lY2Vzc2FyeSBpbmNsdWRlLgorICAgICAgICAqIHN2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxk
ZXIuaDogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR1BhdGhFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1BhdGhFbGVtZW50OjpTVkdQYXRoRWxlbWVudCk6CisgICAgICAgICogc3Zn
L1NWR1BhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6YXBwZW5kU1ZHUGF0aEJ5dGVTdHJlYW1Gcm9tU1ZHUGF0aFNlZyk6
CisgICAgICAgIChXZWJDb3JlOjphZGRUb1NWR1BhdGhCeXRlU3RyZWFtKToKKwogMjAxMy0xMC0y
NyAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgRml4IDQgYXNz
ZXJ0aW5nIFNWRyB0ZXN0cyBhZnRlciByMTU4MDk3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkUGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZWRQYXRoLmNwcAppbmRleCBlNTk1ZjM0ZWMwODVhNTk1ZDM2NzdjZWUyNWRhNTdlYWFhNjBmYzBj
Li5iYWM5OWJjMGE2ZWVhZjZjNGFlYmVhY2Y4N2UxZjE5MDQyYzQ1YzE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQYXRoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQW5pbWF0ZWRQYXRoLmNwcApAQCAtMzUsNyArMzUsNyBAQCBTVkdBbmltYXRlZFBh
dGhBbmltYXRvcjo6U1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3IoU1ZHQW5pbWF0aW9uRWxlbWVudCog
YW5pbWF0aW9uRQogCiBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRQYXRo
QW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0g
ICAgT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBieXRlU3RyZWFtID0gU1ZHUGF0aEJ5dGVTdHJl
YW06OmNyZWF0ZSgpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gYnl0
ZVN0cmVhbSA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHUGF0aEJ5dGVTdHJlYW0+KCk7CiAgICAgYnVp
bGRTVkdQYXRoQnl0ZVN0cmVhbUZyb21TdHJpbmcoc3RyaW5nLCBieXRlU3RyZWFtLmdldCgpLCBV
bmFsdGVyZWRQYXJzaW5nKTsKICAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVQYXRo
KGJ5dGVTdHJlYW0ucmVsZWFzZSgpKTsKIH0KQEAgLTQ3LDcgKzQ3LDcgQEAgUGFzc093blB0cjxT
VkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkUGF0aEFuaW1hdG9yOjpzdGFydEFuaW1WYWxBbmlt
YXRpb24oY29uc3QKICAgICBjb25zdCBTVkdQYXRoU2VnTGlzdCYgYmFzZVZhbHVlID0gcHJvcGVy
dHktPmN1cnJlbnRCYXNlVmFsdWUoKTsKIAogICAgIC8vIEJ1aWxkIGluaXRpYWwgcGF0aCBieXRl
IHN0cmVhbS4KLSAgICBPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGJ5dGVTdHJlYW0gPSBTVkdQ
YXRoQnl0ZVN0cmVhbTo6Y3JlYXRlKCk7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNWR1BhdGhCeXRl
U3RyZWFtPiBieXRlU3RyZWFtID0gc3RkOjptYWtlX3VuaXF1ZTxTVkdQYXRoQnl0ZVN0cmVhbT4o
KTsKICAgICBidWlsZFNWR1BhdGhCeXRlU3RyZWFtRnJvbVNWR1BhdGhTZWdMaXN0KGJhc2VWYWx1
ZSwgYnl0ZVN0cmVhbS5nZXQoKSwgVW5hbHRlcmVkUGFyc2luZyk7CiAKICAgICBWZWN0b3I8UmVm
UHRyPFNWR0FuaW1hdGVkUGF0aFNlZ0xpc3RQcm9wZXJ0eVRlYXJPZmY+PiByZXN1bHQ7CkBAIC0x
MTIsNyArMTEyLDcgQEAgdm9pZCBTVkdBbmltYXRlZFBhdGhBbmltYXRvcjo6Y2FsY3VsYXRlQW5p
bWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50YWdlLCB1bnNpZ25lZAogICAgIFNWR1BhdGhCeXRlU3Ry
ZWFtKiB0b0F0RW5kT2ZEdXJhdGlvblBhdGggPSB0b0F0RW5kT2ZEdXJhdGlvbi0+cGF0aCgpOwog
ICAgIFNWR1BhdGhCeXRlU3RyZWFtKiBhbmltYXRlZFBhdGggPSBhbmltYXRlZC0+cGF0aCgpOwog
Ci0gICAgT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiB1bmRlcmx5aW5nUGF0aDsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IHVuZGVybHlpbmdQYXRoOwogICAgIGJvb2wg
aXNUb0FuaW1hdGlvbiA9IG1fYW5pbWF0aW9uRWxlbWVudC0+YW5pbWF0aW9uTW9kZSgpID09IFRv
QW5pbWF0aW9uOwogICAgIGlmIChpc1RvQW5pbWF0aW9uKSB7CiAgICAgICAgIHVuZGVybHlpbmdQ
YXRoID0gYW5pbWF0ZWRQYXRoLT5jb3B5KCk7CkBAIC0xMjAsNyArMTIwLDcgQEAgdm9pZCBTVkdB
bmltYXRlZFBhdGhBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50
YWdlLCB1bnNpZ25lZAogICAgIH0KIAogICAgIC8vIENhY2hlIHRoZSBjdXJyZW50IGFuaW1hdGVk
IHZhbHVlIGJlZm9yZSB0aGUgYnVpbGRBbmltYXRlZFNWR1BhdGhCeXRlU3RyZWFtKCkgY2xlYXJz
IGFuaW1hdGVkUGF0aC4KLSAgICBPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGxhc3RBbmltYXRl
ZFBhdGg7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBsYXN0QW5pbWF0
ZWRQYXRoOwogICAgIGlmICghZnJvbVBhdGgtPnNpemUoKSB8fCAobV9hbmltYXRpb25FbGVtZW50
LT5pc0FkZGl0aXZlKCkgJiYgIWlzVG9BbmltYXRpb24pKQogICAgICAgICBsYXN0QW5pbWF0ZWRQ
YXRoID0gYW5pbWF0ZWRQYXRoLT5jb3B5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
VHlwZS5jcHAKaW5kZXggYjNmZDdhMGViN2FjZmRjMTI0MjU0MzBlNTg5YWU2ODE1MzEzZTFiMi4u
M2JmMWFiMDZiNTBkYTc5MWQyZGExZDk4ZDIwZmYyZGZjNzZhZGQ2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAKQEAgLTE4MCwxMSArMTgwLDExIEBAIFBhc3NPd25QdHI8
U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZU51bWJlck9wdGlvbmFsTnVt
YmVyKHBhaXI8ZmxvCiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZS5yZWxlYXNlKCk7CiB9CiAKLVBh
c3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVBhdGgoUGFz
c093blB0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gcGF0aCkKK1Bhc3NPd25QdHI8U1ZHQW5pbWF0ZWRU
eXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVBhdGgoU1ZHUGF0aEJ5dGVTdHJlYW0qIHBhdGgp
CiB7CiAgICAgQVNTRVJUKHBhdGgpOwogICAgIE93blB0cjxTVkdBbmltYXRlZFR5cGU+IGFuaW1h
dGVkVHlwZSA9IGFkb3B0UHRyKG5ldyBTVkdBbmltYXRlZFR5cGUoQW5pbWF0ZWRQYXRoKSk7Ci0g
ICAgYW5pbWF0ZWRUeXBlLT5tX2RhdGEucGF0aCA9IHBhdGgubGVha1B0cigpOworICAgIGFuaW1h
dGVkVHlwZS0+bV9kYXRhLnBhdGggPSBwYXRoOwogICAgIHJldHVybiBhbmltYXRlZFR5cGUucmVs
ZWFzZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRU
eXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlLmgKaW5kZXggNTM3NmI4
ZjI0MGUwMTkxYWY0YWUwMGE5MWQwZTk1OTBkM2VjNWFjMy4uN2NmZmFmYjI4ZTA0ODZlNmRmZTUy
ZmVjZThjZmU2NzZjYzdhNzc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuaApA
QCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0
ZWRUeXBlPiBjcmVhdGVOdW1iZXIoZmxvYXQqKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxTVkdB
bmltYXRlZFR5cGU+IGNyZWF0ZU51bWJlckxpc3QoU1ZHTnVtYmVyTGlzdCopOwogICAgIHN0YXRp
YyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlTnVtYmVyT3B0aW9uYWxOdW1iZXIo
c3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4qKTsKLSAgICBzdGF0aWMgUGFzc093blB0cjxTVkdBbmlt
YXRlZFR5cGU+IGNyZWF0ZVBhdGgoUGFzc093blB0cjxTVkdQYXRoQnl0ZVN0cmVhbT4pOworICAg
IHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlUGF0aChTVkdQYXRoQnl0
ZVN0cmVhbSopOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRl
UG9pbnRMaXN0KFNWR1BvaW50TGlzdCopOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1h
dGVkVHlwZT4gY3JlYXRlUHJlc2VydmVBc3BlY3RSYXRpbyhTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
Kik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVSZWN0KEZs
b2F0UmVjdCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3Ry
ZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAppbmRleCA1MjNm
YWVjOWY3ZTU4MDcxMWEzZTVlZDRlM2MwMTA1MTI4OGU3YmEzLi43MjA2NjU2ZjRhNjFlN2Y5MWQ3
ODliOTMwMDAyYzlmNjA2NzI3YzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aEJ5dGVTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJl
YW0uaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDYsMTkgKzQ1LDE3IEBAIHR5
cGVkZWYgdW5pb24gewogY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0gewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR1BhdGhCeXRl
U3RyZWFtPiBjcmVhdGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTVkdQ
YXRoQnl0ZVN0cmVhbSk7Ci0gICAgfQorICAgIHR5cGVkZWYgVmVjdG9yPHVuc2lnbmVkIGNoYXI+
IERhdGE7CisgICAgdHlwZWRlZiBEYXRhOjpjb25zdF9pdGVyYXRvciBEYXRhSXRlcmF0b3I7CiAK
LSAgICBQYXNzT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBjb3B5KCkKKyAgICBTVkdQYXRoQnl0
ZVN0cmVhbSgpIHsgfQorICAgIFNWR1BhdGhCeXRlU3RyZWFtKERhdGEmIGRhdGEpIDogbV9kYXRh
KGRhdGEpIHsgfQorCisgICAgc3RkOjp1bmlxdWVfcHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBjb3B5
KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgU1ZHUGF0aEJ5dGVTdHJlYW0o
bV9kYXRhKSk7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFNWR1BhdGhCeXRlU3Ry
ZWFtPihtX2RhdGEpOwogICAgIH0KIAotICAgIHR5cGVkZWYgVmVjdG9yPHVuc2lnbmVkIGNoYXI+
IERhdGE7Ci0gICAgdHlwZWRlZiBEYXRhOjpjb25zdF9pdGVyYXRvciBEYXRhSXRlcmF0b3I7Ci0K
ICAgICBEYXRhSXRlcmF0b3IgYmVnaW4oKSB7IHJldHVybiBtX2RhdGEuYmVnaW4oKTsgfQogICAg
IERhdGFJdGVyYXRvciBlbmQoKSB7IHJldHVybiBtX2RhdGEuZW5kKCk7IH0KICAgICB2b2lkIGFw
cGVuZCh1bnNpZ25lZCBjaGFyIGJ5dGUpIHsgbV9kYXRhLmFwcGVuZChieXRlKTsgfQpAQCAtNzUs
MTIgKzcyLDYgQEAgcHVibGljOgogICAgIHZvaWQgcmVzaXplKHVuc2lnbmVkKSB7IH0KIAogcHJp
dmF0ZToKLSAgICBTVkdQYXRoQnl0ZVN0cmVhbSgpIHsgfQotICAgIFNWR1BhdGhCeXRlU3RyZWFt
KERhdGEmIGRhdGEpCi0gICAgICAgIDogbV9kYXRhKGRhdGEpCi0gICAgewotICAgIH0KLQogICAg
IERhdGEgbV9kYXRhOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhCeXRlU3RyZWFtQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVT
dHJlYW1CdWlsZGVyLmNwcAppbmRleCBjZjkzOWYwNzRmY2U0YWVkYTQ5Njg0NjIyMjFjNTZhYjZk
N2Y5MzVkLi5lZGEyYzI2ZWNkYTg2NGMwM2QxMjVmNWE0ZTJmZTUxYjk5ZjRkNWY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyLmNwcApAQCAtMjUs
NyArMjUsNiBAQAogI2luY2x1ZGUgIlNWR1BhdGhQYXJzZXIuaCIKICNpbmNsdWRlICJTVkdQYXRo
U2VnLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFN0cmluZ1NvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyLmgKaW5kZXggMzdjNzkwNmE4NmRjZmRmNjMxNzgzNzFk
ZTNhODNiNGZjYzRjYTAzOC4uNWIyYjQ3MTNkMGZmODE5MzZhOWVhNjllZjU4YzNiNTgzOWYxN2Rl
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtQnVpbGRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuaApA
QCAtMjQsNyArMjQsNiBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJTVkdQ
YXRoQnl0ZVN0cmVhbS5oIgogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgotI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCmluZGV4
IGI4N2JjMjY4NmJmYWRhODI5NzIwMWFhMGU3MjNlYzZjZDBjMGVjMDAuLmZjMjFiZjc2ZWQ4OWM2
YWY4NGIwZDk0NGQxZDY0Mjk2NDA0YWVkNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVt
ZW50LmNwcApAQCAtODQsNyArODQsNyBAQCBFTkRfUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElF
UwogCiBpbmxpbmUgU1ZHUGF0aEVsZW1lbnQ6OlNWR1BhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKICAgICA6IFNWR0dyYXBoaWNzRWxl
bWVudCh0YWdOYW1lLCBkb2N1bWVudCkKLSAgICAsIG1fcGF0aEJ5dGVTdHJlYW0oU1ZHUGF0aEJ5
dGVTdHJlYW06OmNyZWF0ZSgpKQorICAgICwgbV9wYXRoQnl0ZVN0cmVhbShzdGQ6Om1ha2VfdW5p
cXVlPFNWR1BhdGhCeXRlU3RyZWFtPigpKQogICAgICwgbV9wYXRoU2VnTGlzdChQYXRoU2VnVW5h
bHRlcmVkUm9sZSkKICAgICAsIG1faXNBbmltVmFsT2JzZXJ2ZWQoZmFsc2UpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoRWxlbWVudC5oCmluZGV4IGU5ZjQ1OTcyMzQ2YjYwN2E2NDQzYjhjMTk4ODIy
YzQ3YmQzODgzMGIuLjQ3ZWNjZmI3MDMwOTc4MmY0NDljZTE4MjNkMWY5NzQyMmU2MmRhYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCkBAIC0xMjYsNyArMTI2LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGludmFsaWRhdGVNUGF0aERlcGVuZGVuY2llcygpOwogCiBwcml2YXRlOgot
ICAgIE93blB0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gbV9wYXRoQnl0ZVN0cmVhbTsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IG1fcGF0aEJ5dGVTdHJlYW07CiAgICAgbXV0
YWJsZSBTVkdTeW5jaHJvbml6YWJsZUFuaW1hdGVkUHJvcGVydHk8U1ZHUGF0aFNlZ0xpc3Q+IG1f
cGF0aFNlZ0xpc3Q7CiAgICAgYm9vbCBtX2lzQW5pbVZhbE9ic2VydmVkOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmNwcAppbmRleCAwOTJiYTRkNThjMjMxNTgzNTJjMGZm
OGExYzkyN2RhYWY2MjcxZGQ4Li42MzY2NTc0ZWRjOWEwMTY0OGFhOGNkZDBkYjZiZmNhNzNiZGE1
YWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwCkBAIC0xNDgsNyAr
MTQ4LDcgQEAgYm9vbCBhcHBlbmRTVkdQYXRoQnl0ZVN0cmVhbUZyb21TVkdQYXRoU2VnKFBhc3NS
ZWZQdHI8U1ZHUGF0aFNlZz4gcGF0aFNlZywgU1ZHUGEKIAogICAgIFNWR1BhdGhTZWdMaXN0IGFw
cGVuZGVkSXRlbUxpc3QoUGF0aFNlZ1VuYWx0ZXJlZFJvbGUpOwogICAgIGFwcGVuZGVkSXRlbUxp
c3QuYXBwZW5kKHBhdGhTZWcpOwotICAgIE93blB0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gYXBwZW5k
ZWRCeXRlU3RyZWFtID0gU1ZHUGF0aEJ5dGVTdHJlYW06OmNyZWF0ZSgpOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gYXBwZW5kZWRCeXRlU3RyZWFtID0gc3RkOjptYWtl
X3VuaXF1ZTxTVkdQYXRoQnl0ZVN0cmVhbT4oKTsKIAogICAgIFNWR1BhdGhCeXRlU3RyZWFtQnVp
bGRlciogYnVpbGRlciA9IGdsb2JhbFNWR1BhdGhCeXRlU3RyZWFtQnVpbGRlcihhcHBlbmRlZEJ5
dGVTdHJlYW0uZ2V0KCkpOwogICAgIE93blB0cjxTVkdQYXRoU2VnTGlzdFNvdXJjZT4gc291cmNl
ID0gU1ZHUGF0aFNlZ0xpc3RTb3VyY2U6OmNyZWF0ZShhcHBlbmRlZEl0ZW1MaXN0KTsKQEAgLTI3
MCw3ICsyNzAsNyBAQCBib29sIGFkZFRvU1ZHUGF0aEJ5dGVTdHJlYW0oU1ZHUGF0aEJ5dGVTdHJl
YW0qIGZyb21TdHJlYW0sIFNWR1BhdGhCeXRlU3RyZWFtKiBieQogCiAgICAgU1ZHUGF0aEJ5dGVT
dHJlYW1CdWlsZGVyKiBidWlsZGVyID0gZ2xvYmFsU1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyKGZy
b21TdHJlYW0pOwogCi0gICAgT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBmcm9tU3RyZWFtQ29w
eSA9IGZyb21TdHJlYW0tPmNvcHkoKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHUGF0aEJ5dGVT
dHJlYW0+IGZyb21TdHJlYW1Db3B5ID0gZnJvbVN0cmVhbS0+Y29weSgpOwogICAgIGZyb21TdHJl
YW0tPmNsZWFyKCk7CiAKICAgICBPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW1Tb3VyY2U+IGZyb21T
b3VyY2UgPSBTVkdQYXRoQnl0ZVN0cmVhbVNvdXJjZTo6Y3JlYXRlKGZyb21TdHJlYW1Db3B5Lmdl
dCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215532</attachid>
            <date>2013-10-30 11:10:48 -0700</date>
            <delta_ts>2013-10-31 02:44:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123467-20131030111047.patch</filename>
            <type>text/plain</type>
            <size>11234</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4MjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjMyNjhkM2Y3YzA5M2M4
OTMxZjY4Njc5MjU1ZDZlNWRlMWE3MTJiOS4uMjVlODRhMGQxYzY1OTk3N2U3YzE0YmRlYjBhNDM2
ZGY5M2U4NzcwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTEwLTMwICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNYW5hZ2UgU1ZHUGF0
aEJ5dGVTdHJlYW0gdGhyb3VnaCBzdGQ6OnVuaXF1ZV9wdHIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ2NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbmFnZSBTVkdQYXRoQnl0ZVN0cmVhbSBvYmpl
Y3RzIHRocm91Z2ggc3RkOjp1bmlxdWVfcHRyLiBDb25zdHJ1Y3RvcnMgZm9yIHRoZSBjbGFzcyBh
cmUgbWFkZSBwdWJsaWMKKyAgICAgICAgc28gc3RkOjptYWtlX3VuaXF1ZSBjYW4gYmUgdXNlZCB3
aXRoIHRoZSBjbGFzcy4KKworICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFBhdGguY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6OnN0YXJ0QW5p
bVZhbEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFBhdGhBbmltYXRv
cjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkVHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVBhdGgpOgor
ICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFR5cGUuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEJ5
dGVTdHJlYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhCeXRlU3RyZWFtOjpTVkdQYXRo
Qnl0ZVN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoQnl0ZVN0cmVhbTo6Y29weSk6
CisgICAgICAgICogc3ZnL1NWR1BhdGhCeXRlU3RyZWFtQnVpbGRlci5jcHA6IFJlbW92ZSBhbiB1
bm5lY2Vzc2FyeSBpbmNsdWRlLgorICAgICAgICAqIHN2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxk
ZXIuaDogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR1BhdGhFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1BhdGhFbGVtZW50OjpTVkdQYXRoRWxlbWVudCk6CisgICAgICAgICogc3Zn
L1NWR1BhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6YXBwZW5kU1ZHUGF0aEJ5dGVTdHJlYW1Gcm9tU1ZHUGF0aFNlZyk6
CisgICAgICAgIChXZWJDb3JlOjphZGRUb1NWR1BhdGhCeXRlU3RyZWFtKToKKwogMjAxMy0xMC0z
MCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBTaW1w
bGVMaW5lTGF5b3V0OjpMYXlvdXQgYSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkUGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQ
YXRoLmNwcAppbmRleCBlNTk1ZjM0ZWMwODVhNTk1ZDM2NzdjZWUyNWRhNTdlYWFhNjBmYzBjLi4x
MzI5MDNiZjE3MjFmNDcwNThhNTQyOGRmM2ZiZDhmNDBiNWQwZjhlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQYXRoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRQYXRoLmNwcApAQCAtMzUsOSArMzUsOSBAQCBTVkdBbmltYXRlZFBhdGhB
bmltYXRvcjo6U1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3IoU1ZHQW5pbWF0aW9uRWxlbWVudCogYW5p
bWF0aW9uRQogCiBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRQYXRoQW5p
bWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAg
T3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBieXRlU3RyZWFtID0gU1ZHUGF0aEJ5dGVTdHJlYW06
OmNyZWF0ZSgpOworICAgIGF1dG8gYnl0ZVN0cmVhbSA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHUGF0
aEJ5dGVTdHJlYW0+KCk7CiAgICAgYnVpbGRTVkdQYXRoQnl0ZVN0cmVhbUZyb21TdHJpbmcoc3Ry
aW5nLCBieXRlU3RyZWFtLmdldCgpLCBVbmFsdGVyZWRQYXJzaW5nKTsKLSAgICByZXR1cm4gU1ZH
QW5pbWF0ZWRUeXBlOjpjcmVhdGVQYXRoKGJ5dGVTdHJlYW0ucmVsZWFzZSgpKTsKKyAgICByZXR1
cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVQYXRoKHN0ZDo6bW92ZShieXRlU3RyZWFtKSk7CiB9
CiAKIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFBhdGhBbmltYXRvcjo6
c3RhcnRBbmltVmFsQW5pbWF0aW9uKGNvbnN0IFNWR0VsZW1lbnRBbmltYXRlZFByb3BlcnR5TGlz
dCYgYW5pbWF0ZWRUeXBlcykKQEAgLTQ3LDcgKzQ3LDcgQEAgUGFzc093blB0cjxTVkdBbmltYXRl
ZFR5cGU+IFNWR0FuaW1hdGVkUGF0aEFuaW1hdG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24oY29u
c3QKICAgICBjb25zdCBTVkdQYXRoU2VnTGlzdCYgYmFzZVZhbHVlID0gcHJvcGVydHktPmN1cnJl
bnRCYXNlVmFsdWUoKTsKIAogICAgIC8vIEJ1aWxkIGluaXRpYWwgcGF0aCBieXRlIHN0cmVhbS4K
LSAgICBPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGJ5dGVTdHJlYW0gPSBTVkdQYXRoQnl0ZVN0
cmVhbTo6Y3JlYXRlKCk7CisgICAgYXV0byBieXRlU3RyZWFtID0gc3RkOjptYWtlX3VuaXF1ZTxT
VkdQYXRoQnl0ZVN0cmVhbT4oKTsKICAgICBidWlsZFNWR1BhdGhCeXRlU3RyZWFtRnJvbVNWR1Bh
dGhTZWdMaXN0KGJhc2VWYWx1ZSwgYnl0ZVN0cmVhbS5nZXQoKSwgVW5hbHRlcmVkUGFyc2luZyk7
CiAKICAgICBWZWN0b3I8UmVmUHRyPFNWR0FuaW1hdGVkUGF0aFNlZ0xpc3RQcm9wZXJ0eVRlYXJP
ZmY+PiByZXN1bHQ7CkBAIC02Miw3ICs2Miw3IEBAIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBl
PiBTVkdBbmltYXRlZFBhdGhBbmltYXRvcjo6c3RhcnRBbmltVmFsQW5pbWF0aW9uKGNvbnN0CiAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXN1bHRTaXplOyArK2kpCiAgICAgICAgIHJlc3Vs
dFtpXS0+YW5pbWF0aW9uU3RhcnRlZChieXRlU3RyZWFtLmdldCgpLCAmYmFzZVZhbHVlKTsKIAot
ICAgIHJldHVybiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVBhdGgoYnl0ZVN0cmVhbS5yZWxlYXNl
KCkpOworICAgIHJldHVybiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVBhdGgoc3RkOjptb3ZlKGJ5
dGVTdHJlYW0pKTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZFBhdGhBbmltYXRvcjo6c3RvcEFuaW1W
YWxBbmltYXRpb24oY29uc3QgU1ZHRWxlbWVudEFuaW1hdGVkUHJvcGVydHlMaXN0JiBhbmltYXRl
ZFR5cGVzKQpAQCAtMTEyLDcgKzExMiw3IEBAIHZvaWQgU1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6
OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUoZmxvYXQgcGVyY2VudGFnZSwgdW5zaWduZWQKICAgICBT
VkdQYXRoQnl0ZVN0cmVhbSogdG9BdEVuZE9mRHVyYXRpb25QYXRoID0gdG9BdEVuZE9mRHVyYXRp
b24tPnBhdGgoKTsKICAgICBTVkdQYXRoQnl0ZVN0cmVhbSogYW5pbWF0ZWRQYXRoID0gYW5pbWF0
ZWQtPnBhdGgoKTsKIAotICAgIE93blB0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gdW5kZXJseWluZ1Bh
dGg7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNWR1BhdGhCeXRlU3RyZWFtPiB1bmRlcmx5aW5nUGF0
aDsKICAgICBib29sIGlzVG9BbmltYXRpb24gPSBtX2FuaW1hdGlvbkVsZW1lbnQtPmFuaW1hdGlv
bk1vZGUoKSA9PSBUb0FuaW1hdGlvbjsKICAgICBpZiAoaXNUb0FuaW1hdGlvbikgewogICAgICAg
ICB1bmRlcmx5aW5nUGF0aCA9IGFuaW1hdGVkUGF0aC0+Y29weSgpOwpAQCAtMTIwLDcgKzEyMCw3
IEBAIHZvaWQgU1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUo
ZmxvYXQgcGVyY2VudGFnZSwgdW5zaWduZWQKICAgICB9CiAKICAgICAvLyBDYWNoZSB0aGUgY3Vy
cmVudCBhbmltYXRlZCB2YWx1ZSBiZWZvcmUgdGhlIGJ1aWxkQW5pbWF0ZWRTVkdQYXRoQnl0ZVN0
cmVhbSgpIGNsZWFycyBhbmltYXRlZFBhdGguCi0gICAgT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFt
PiBsYXN0QW5pbWF0ZWRQYXRoOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTVkdQYXRoQnl0ZVN0cmVh
bT4gbGFzdEFuaW1hdGVkUGF0aDsKICAgICBpZiAoIWZyb21QYXRoLT5zaXplKCkgfHwgKG1fYW5p
bWF0aW9uRWxlbWVudC0+aXNBZGRpdGl2ZSgpICYmICFpc1RvQW5pbWF0aW9uKSkKICAgICAgICAg
bGFzdEFuaW1hdGVkUGF0aCA9IGFuaW1hdGVkUGF0aC0+Y29weSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZFR5cGUuY3BwCmluZGV4IGIzZmQ3YTBlYjdhY2ZkYzEyNDI1NDMwZTU4OWFl
NjgxNTMxM2UxYjIuLjI0MjZjYWRjZjUxZTE5YTk4MzdlZTEyYjIxNDcyZTlhNDRhNDYxM2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuY3BwCkBAIC0xODAsMTEgKzE4MCwxMSBA
QCBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVOdW1i
ZXJPcHRpb25hbE51bWJlcihwYWlyPGZsbwogICAgIHJldHVybiBhbmltYXRlZFR5cGUucmVsZWFz
ZSgpOwogfQogCi1QYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpj
cmVhdGVQYXRoKFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IHBhdGgpCitQYXNzT3duUHRy
PFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVQYXRoKHN0ZDo6dW5pcXVl
X3B0cjxTVkdQYXRoQnl0ZVN0cmVhbT4mJiBwYXRoKQogewogICAgIEFTU0VSVChwYXRoKTsKICAg
ICBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBhbmltYXRlZFR5cGUgPSBhZG9wdFB0cihuZXcgU1ZH
QW5pbWF0ZWRUeXBlKEFuaW1hdGVkUGF0aCkpOwotICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLnBh
dGggPSBwYXRoLmxlYWtQdHIoKTsKKyAgICBhbmltYXRlZFR5cGUtPm1fZGF0YS5wYXRoID0gcGF0
aC5yZWxlYXNlKCk7CiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZS5yZWxlYXNlKCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuaAppbmRleCA1Mzc2YjhmMjQwZTAxOTFhZjRhZTAw
YTkxZDBlOTU5MGQzZWM1YWMzLi5kYmMzZjkzOTAwZWMwNDA3MGM1NTE0ZjA4YTIwODQ1ODJhZjgy
ZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5oCkBAIC01Miw3ICs1Miw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZU51
bWJlcihmbG9hdCopOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3Jl
YXRlTnVtYmVyTGlzdChTVkdOdW1iZXJMaXN0Kik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZH
QW5pbWF0ZWRUeXBlPiBjcmVhdGVOdW1iZXJPcHRpb25hbE51bWJlcihzdGQ6OnBhaXI8ZmxvYXQs
IGZsb2F0PiopOwotICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRl
UGF0aChQYXNzT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPik7CisgICAgc3RhdGljIFBhc3NPd25Q
dHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVQYXRoKHN0ZDo6dW5pcXVlX3B0cjxTVkdQYXRoQnl0
ZVN0cmVhbT4mJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVh
dGVQb2ludExpc3QoU1ZHUG9pbnRMaXN0Kik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5p
bWF0ZWRUeXBlPiBjcmVhdGVQcmVzZXJ2ZUFzcGVjdFJhdGlvKFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8qKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZVJlY3Qo
RmxvYXRSZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVT
dHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCmluZGV4IDUy
M2ZhZWM5ZjdlNTgwNzExYTNlNWVkNGUzYzAxMDUxMjg4ZTdiYTMuLjcyMDY2NTZmNGE2MWU3Zjkx
ZDc4OWI5MzAwMDJjOWY2MDY3MjdjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXRoQnl0ZVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0
cmVhbS5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NiwxOSArNDUsMTcgQEAg
dHlwZWRlZiB1bmlvbiB7CiBjbGFzcyBTVkdQYXRoQnl0ZVN0cmVhbSB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5
dGVTdHJlYW0+IGNyZWF0ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNW
R1BhdGhCeXRlU3RyZWFtKTsKLSAgICB9CisgICAgdHlwZWRlZiBWZWN0b3I8dW5zaWduZWQgY2hh
cj4gRGF0YTsKKyAgICB0eXBlZGVmIERhdGE6OmNvbnN0X2l0ZXJhdG9yIERhdGFJdGVyYXRvcjsK
IAotICAgIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNvcHkoKQorICAgIFNWR1BhdGhC
eXRlU3RyZWFtKCkgeyB9CisgICAgU1ZHUGF0aEJ5dGVTdHJlYW0oRGF0YSYgZGF0YSkgOiBtX2Rh
dGEoZGF0YSkgeyB9CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNv
cHkoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTVkdQYXRoQnl0ZVN0cmVh
bShtX2RhdGEpKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8U1ZHUGF0aEJ5dGVT
dHJlYW0+KG1fZGF0YSk7CiAgICAgfQogCi0gICAgdHlwZWRlZiBWZWN0b3I8dW5zaWduZWQgY2hh
cj4gRGF0YTsKLSAgICB0eXBlZGVmIERhdGE6OmNvbnN0X2l0ZXJhdG9yIERhdGFJdGVyYXRvcjsK
LQogICAgIERhdGFJdGVyYXRvciBiZWdpbigpIHsgcmV0dXJuIG1fZGF0YS5iZWdpbigpOyB9CiAg
ICAgRGF0YUl0ZXJhdG9yIGVuZCgpIHsgcmV0dXJuIG1fZGF0YS5lbmQoKTsgfQogICAgIHZvaWQg
YXBwZW5kKHVuc2lnbmVkIGNoYXIgYnl0ZSkgeyBtX2RhdGEuYXBwZW5kKGJ5dGUpOyB9CkBAIC03
NSwxMiArNzIsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXNpemUodW5zaWduZWQpIHsgfQogCiBw
cml2YXRlOgotICAgIFNWR1BhdGhCeXRlU3RyZWFtKCkgeyB9Ci0gICAgU1ZHUGF0aEJ5dGVTdHJl
YW0oRGF0YSYgZGF0YSkKLSAgICAgICAgOiBtX2RhdGEoZGF0YSkKLSAgICB7Ci0gICAgfQotCiAg
ICAgRGF0YSBtX2RhdGE7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aEJ5dGVTdHJlYW1CdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0
ZVN0cmVhbUJ1aWxkZXIuY3BwCmluZGV4IGNmOTM5ZjA3NGZjZTRhZWRhNDk2ODQ2MjIyMWM1NmFi
NmQ3ZjkzNWQuLmVkYTJjMjZlY2RhODY0YzAzZDEyNWY1YTRlMmZlNTFiOTlmNGQ1ZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuY3BwCkBAIC0y
NSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiU1ZHUGF0aFBhcnNlci5oIgogI2luY2x1ZGUgIlNWR1Bh
dGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU3RyaW5nU291cmNlLmgiCi0jaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuaAppbmRleCAzN2M3OTA2YTg2ZGNmZGY2MzE3ODM3
MWRlM2E4M2I0ZmNjNGNhMDM4Li41YjJiNDcxM2QwZmY4MTkzNmE5ZWE2OWVmNThjM2I1ODM5ZjE3
ZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW1CdWls
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtQnVpbGRlci5o
CkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIlNW
R1BhdGhCeXRlU3RyZWFtLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCi0jaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKaW5k
ZXggYjg3YmMyNjg2YmZhZGE4Mjk3MjAxYWEwZTcyM2VjNmNkMGMwZWMwMC4uZmMyMWJmNzZlZDg5
YzZhZjg0YjBkOTQ0ZDFkNjQyOTY0MDRhZWQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVs
ZW1lbnQuY3BwCkBAIC04NCw3ICs4NCw3IEBAIEVORF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJU
SUVTCiAKIGlubGluZSBTVkdQYXRoRWxlbWVudDo6U1ZHUGF0aEVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIDogU1ZHR3JhcGhpY3NF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQotICAgICwgbV9wYXRoQnl0ZVN0cmVhbShTVkdQYXRo
Qnl0ZVN0cmVhbTo6Y3JlYXRlKCkpCisgICAgLCBtX3BhdGhCeXRlU3RyZWFtKHN0ZDo6bWFrZV91
bmlxdWU8U1ZHUGF0aEJ5dGVTdHJlYW0+KCkpCiAgICAgLCBtX3BhdGhTZWdMaXN0KFBhdGhTZWdV
bmFsdGVyZWRSb2xlKQogICAgICwgbV9pc0FuaW1WYWxPYnNlcnZlZChmYWxzZSkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKaW5kZXggZTlmNDU5NzIzNDZiNjA3YTY0NDNiOGMxOTg4
MjJjNDdiZDM4ODMwYi4uNDdlY2NmYjcwMzA5NzgyZjQ0OWNlMTgyM2QxZjk3NDIyZTYyZGFhNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKQEAgLTEyNiw3ICsxMjYsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgaW52YWxpZGF0ZU1QYXRoRGVwZW5kZW5jaWVzKCk7CiAKIHByaXZhdGU6
Ci0gICAgT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBtX3BhdGhCeXRlU3RyZWFtOworICAgIHN0
ZDo6dW5pcXVlX3B0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gbV9wYXRoQnl0ZVN0cmVhbTsKICAgICBt
dXRhYmxlIFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eTxTVkdQYXRoU2VnTGlzdD4g
bV9wYXRoU2VnTGlzdDsKICAgICBib29sIG1faXNBbmltVmFsT2JzZXJ2ZWQ7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwCmluZGV4IDA5MmJhNGQ1OGMyMzE1ODM1MmMw
ZmY4YTFjOTI3ZGFhZjYyNzFkZDguLmU4NmU3NGFmMzkwOGU2YWQyMmY3ODMxN2VmOWM1NDc2NzAy
ODE1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5jcHAKQEAgLTE0OCw3
ICsxNDgsNyBAQCBib29sIGFwcGVuZFNWR1BhdGhCeXRlU3RyZWFtRnJvbVNWR1BhdGhTZWcoUGFz
c1JlZlB0cjxTVkdQYXRoU2VnPiBwYXRoU2VnLCBTVkdQYQogCiAgICAgU1ZHUGF0aFNlZ0xpc3Qg
YXBwZW5kZWRJdGVtTGlzdChQYXRoU2VnVW5hbHRlcmVkUm9sZSk7CiAgICAgYXBwZW5kZWRJdGVt
TGlzdC5hcHBlbmQocGF0aFNlZyk7Ci0gICAgT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBhcHBl
bmRlZEJ5dGVTdHJlYW0gPSBTVkdQYXRoQnl0ZVN0cmVhbTo6Y3JlYXRlKCk7CisgICAgYXV0byBh
cHBlbmRlZEJ5dGVTdHJlYW0gPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR1BhdGhCeXRlU3RyZWFtPigp
OwogCiAgICAgU1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyKiBidWlsZGVyID0gZ2xvYmFsU1ZHUGF0
aEJ5dGVTdHJlYW1CdWlsZGVyKGFwcGVuZGVkQnl0ZVN0cmVhbS5nZXQoKSk7CiAgICAgT3duUHRy
PFNWR1BhdGhTZWdMaXN0U291cmNlPiBzb3VyY2UgPSBTVkdQYXRoU2VnTGlzdFNvdXJjZTo6Y3Jl
YXRlKGFwcGVuZGVkSXRlbUxpc3QpOwpAQCAtMjcwLDcgKzI3MCw3IEBAIGJvb2wgYWRkVG9TVkdQ
YXRoQnl0ZVN0cmVhbShTVkdQYXRoQnl0ZVN0cmVhbSogZnJvbVN0cmVhbSwgU1ZHUGF0aEJ5dGVT
dHJlYW0qIGJ5CiAKICAgICBTVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIqIGJ1aWxkZXIgPSBnbG9i
YWxTVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIoZnJvbVN0cmVhbSk7CiAKLSAgICBPd25QdHI8U1ZH
UGF0aEJ5dGVTdHJlYW0+IGZyb21TdHJlYW1Db3B5ID0gZnJvbVN0cmVhbS0+Y29weSgpOworICAg
IGF1dG8gZnJvbVN0cmVhbUNvcHkgPSBmcm9tU3RyZWFtLT5jb3B5KCk7CiAgICAgZnJvbVN0cmVh
bS0+Y2xlYXIoKTsKIAogICAgIE93blB0cjxTVkdQYXRoQnl0ZVN0cmVhbVNvdXJjZT4gZnJvbVNv
dXJjZSA9IFNWR1BhdGhCeXRlU3RyZWFtU291cmNlOjpjcmVhdGUoZnJvbVN0cmVhbUNvcHkuZ2V0
KCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215638</attachid>
            <date>2013-10-31 02:44:17 -0700</date>
            <delta_ts>2013-10-31 08:27:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123467-20131031024416.patch</filename>
            <type>text/plain</type>
            <size>11300</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4MjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjMyNjhkM2Y3YzA5M2M4
OTMxZjY4Njc5MjU1ZDZlNWRlMWE3MTJiOS4uMzZmYzA3NjdjZjE4NTdiYTU2OGFhNzEyYzVjMjZm
ZTI4OWQzZjVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTEwLTMwICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNYW5hZ2UgU1ZHUGF0
aEJ5dGVTdHJlYW0gdGhyb3VnaCBzdGQ6OnVuaXF1ZV9wdHIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ2NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbmFnZSBTVkdQYXRoQnl0ZVN0cmVhbSBvYmpl
Y3RzIHRocm91Z2ggc3RkOjp1bmlxdWVfcHRyLiBDb25zdHJ1Y3RvcnMgZm9yIHRoZSBjbGFzcyBh
cmUgbWFkZSBwdWJsaWMKKyAgICAgICAgc28gc3RkOjptYWtlX3VuaXF1ZSBjYW4gYmUgdXNlZCB3
aXRoIHRoZSBjbGFzcy4KKworICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFBhdGguY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6OnN0YXJ0QW5p
bVZhbEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFBhdGhBbmltYXRv
cjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkVHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVBhdGgpOgor
ICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFR5cGUuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEJ5
dGVTdHJlYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhCeXRlU3RyZWFtOjpTVkdQYXRo
Qnl0ZVN0cmVhbSk6IFRha2VzIGEgY29uc3QgRGF0YSBvYmplY3QgdGhhdCdzIHRoZW4gY29waWVk
LgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEJ5dGVTdHJlYW06OmNvcHkpOiBNYWRlIGNvbnN0
LgorICAgICAgICAqIHN2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuY3BwOiBSZW1vdmUgYW4g
dW5uZWNlc3NhcnkgaW5jbHVkZS4KKyAgICAgICAgKiBzdmcvU1ZHUGF0aEJ5dGVTdHJlYW1CdWls
ZGVyLmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6U1ZHUGF0aEVsZW1lbnQpOgorICAgICAgICAqIHN2
Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoVXRpbGl0aWVzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZFNWR1BhdGhCeXRlU3RyZWFtRnJvbVNWR1BhdGhTZWcp
OgorICAgICAgICAoV2ViQ29yZTo6YWRkVG9TVkdQYXRoQnl0ZVN0cmVhbSk6CisKIDIwMTMtMTAt
MzAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgU2lt
cGxlTGluZUxheW91dDo6TGF5b3V0IGEgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZFBhdGguY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
UGF0aC5jcHAKaW5kZXggZTU5NWYzNGVjMDg1YTU5NWQzNjc3Y2VlMjVkYTU3ZWFhYTYwZmMwYy4u
MTMyOTAzYmYxNzIxZjQ3MDU4YTU0MjhkZjNmYmQ4ZjQwYjVkMGY4ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkUGF0aC5jcHAKQEAgLTM1LDkgKzM1LDkgQEAgU1ZHQW5pbWF0ZWRQYXRo
QW5pbWF0b3I6OlNWR0FuaW1hdGVkUGF0aEFuaW1hdG9yKFNWR0FuaW1hdGlvbkVsZW1lbnQqIGFu
aW1hdGlvbkUKIAogUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkUGF0aEFu
aW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewotICAg
IE93blB0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gYnl0ZVN0cmVhbSA9IFNWR1BhdGhCeXRlU3RyZWFt
OjpjcmVhdGUoKTsKKyAgICBhdXRvIGJ5dGVTdHJlYW0gPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR1Bh
dGhCeXRlU3RyZWFtPigpOwogICAgIGJ1aWxkU1ZHUGF0aEJ5dGVTdHJlYW1Gcm9tU3RyaW5nKHN0
cmluZywgYnl0ZVN0cmVhbS5nZXQoKSwgVW5hbHRlcmVkUGFyc2luZyk7Ci0gICAgcmV0dXJuIFNW
R0FuaW1hdGVkVHlwZTo6Y3JlYXRlUGF0aChieXRlU3RyZWFtLnJlbGVhc2UoKSk7CisgICAgcmV0
dXJuIFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlUGF0aChzdGQ6Om1vdmUoYnl0ZVN0cmVhbSkpOwog
fQogCiBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6
OnN0YXJ0QW5pbVZhbEFuaW1hdGlvbihjb25zdCBTVkdFbGVtZW50QW5pbWF0ZWRQcm9wZXJ0eUxp
c3QmIGFuaW1hdGVkVHlwZXMpCkBAIC00Nyw3ICs0Nyw3IEBAIFBhc3NPd25QdHI8U1ZHQW5pbWF0
ZWRUeXBlPiBTVkdBbmltYXRlZFBhdGhBbmltYXRvcjo6c3RhcnRBbmltVmFsQW5pbWF0aW9uKGNv
bnN0CiAgICAgY29uc3QgU1ZHUGF0aFNlZ0xpc3QmIGJhc2VWYWx1ZSA9IHByb3BlcnR5LT5jdXJy
ZW50QmFzZVZhbHVlKCk7CiAKICAgICAvLyBCdWlsZCBpbml0aWFsIHBhdGggYnl0ZSBzdHJlYW0u
Ci0gICAgT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBieXRlU3RyZWFtID0gU1ZHUGF0aEJ5dGVT
dHJlYW06OmNyZWF0ZSgpOworICAgIGF1dG8gYnl0ZVN0cmVhbSA9IHN0ZDo6bWFrZV91bmlxdWU8
U1ZHUGF0aEJ5dGVTdHJlYW0+KCk7CiAgICAgYnVpbGRTVkdQYXRoQnl0ZVN0cmVhbUZyb21TVkdQ
YXRoU2VnTGlzdChiYXNlVmFsdWUsIGJ5dGVTdHJlYW0uZ2V0KCksIFVuYWx0ZXJlZFBhcnNpbmcp
OwogCiAgICAgVmVjdG9yPFJlZlB0cjxTVkdBbmltYXRlZFBhdGhTZWdMaXN0UHJvcGVydHlUZWFy
T2ZmPj4gcmVzdWx0OwpAQCAtNjIsNyArNjIsNyBAQCBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlw
ZT4gU1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6OnN0YXJ0QW5pbVZhbEFuaW1hdGlvbihjb25zdAog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVzdWx0U2l6ZTsgKytpKQogICAgICAgICByZXN1
bHRbaV0tPmFuaW1hdGlvblN0YXJ0ZWQoYnl0ZVN0cmVhbS5nZXQoKSwgJmJhc2VWYWx1ZSk7CiAK
LSAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVQYXRoKGJ5dGVTdHJlYW0ucmVsZWFz
ZSgpKTsKKyAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVQYXRoKHN0ZDo6bW92ZShi
eXRlU3RyZWFtKSk7CiB9CiAKIHZvaWQgU1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3I6OnN0b3BBbmlt
VmFsQW5pbWF0aW9uKGNvbnN0IFNWR0VsZW1lbnRBbmltYXRlZFByb3BlcnR5TGlzdCYgYW5pbWF0
ZWRUeXBlcykKQEAgLTExMiw3ICsxMTIsNyBAQCB2b2lkIFNWR0FuaW1hdGVkUGF0aEFuaW1hdG9y
OjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKGZsb2F0IHBlcmNlbnRhZ2UsIHVuc2lnbmVkCiAgICAg
U1ZHUGF0aEJ5dGVTdHJlYW0qIHRvQXRFbmRPZkR1cmF0aW9uUGF0aCA9IHRvQXRFbmRPZkR1cmF0
aW9uLT5wYXRoKCk7CiAgICAgU1ZHUGF0aEJ5dGVTdHJlYW0qIGFuaW1hdGVkUGF0aCA9IGFuaW1h
dGVkLT5wYXRoKCk7CiAKLSAgICBPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IHVuZGVybHlpbmdQ
YXRoOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gdW5kZXJseWluZ1Bh
dGg7CiAgICAgYm9vbCBpc1RvQW5pbWF0aW9uID0gbV9hbmltYXRpb25FbGVtZW50LT5hbmltYXRp
b25Nb2RlKCkgPT0gVG9BbmltYXRpb247CiAgICAgaWYgKGlzVG9BbmltYXRpb24pIHsKICAgICAg
ICAgdW5kZXJseWluZ1BhdGggPSBhbmltYXRlZFBhdGgtPmNvcHkoKTsKQEAgLTEyMCw3ICsxMjAs
NyBAQCB2b2lkIFNWR0FuaW1hdGVkUGF0aEFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZFZhbHVl
KGZsb2F0IHBlcmNlbnRhZ2UsIHVuc2lnbmVkCiAgICAgfQogCiAgICAgLy8gQ2FjaGUgdGhlIGN1
cnJlbnQgYW5pbWF0ZWQgdmFsdWUgYmVmb3JlIHRoZSBidWlsZEFuaW1hdGVkU1ZHUGF0aEJ5dGVT
dHJlYW0oKSBjbGVhcnMgYW5pbWF0ZWRQYXRoLgotICAgIE93blB0cjxTVkdQYXRoQnl0ZVN0cmVh
bT4gbGFzdEFuaW1hdGVkUGF0aDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHUGF0aEJ5dGVTdHJl
YW0+IGxhc3RBbmltYXRlZFBhdGg7CiAgICAgaWYgKCFmcm9tUGF0aC0+c2l6ZSgpIHx8IChtX2Fu
aW1hdGlvbkVsZW1lbnQtPmlzQWRkaXRpdmUoKSAmJiAhaXNUb0FuaW1hdGlvbikpCiAgICAgICAg
IGxhc3RBbmltYXRlZFBhdGggPSBhbmltYXRlZFBhdGgtPmNvcHkoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRUeXBlLmNwcAppbmRleCBiM2ZkN2EwZWI3YWNmZGMxMjQyNTQzMGU1ODlh
ZTY4MTUzMTNlMWIyLi41YTE3ZjFiYjRhMGNlM2EzOTAxODU1ZDczODY3NGM1ZjNjZWE5MTg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlLmNwcApAQCAtMTgwLDExICsxODAsMTEg
QEAgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTnVt
YmVyT3B0aW9uYWxOdW1iZXIocGFpcjxmbG8KICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlLnJlbGVh
c2UoKTsKIH0KIAotUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkVHlwZTo6
Y3JlYXRlUGF0aChQYXNzT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBwYXRoKQorUGFzc093blB0
cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlUGF0aChzdGQ6OnVuaXF1
ZV9wdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IHBhdGgpCiB7CiAgICAgQVNTRVJUKHBhdGgpOwogICAg
IE93blB0cjxTVkdBbmltYXRlZFR5cGU+IGFuaW1hdGVkVHlwZSA9IGFkb3B0UHRyKG5ldyBTVkdB
bmltYXRlZFR5cGUoQW5pbWF0ZWRQYXRoKSk7Ci0gICAgYW5pbWF0ZWRUeXBlLT5tX2RhdGEucGF0
aCA9IHBhdGgubGVha1B0cigpOworICAgIGFuaW1hdGVkVHlwZS0+bV9kYXRhLnBhdGggPSBwYXRo
LnJlbGVhc2UoKTsKICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlLnJlbGVhc2UoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5oCmluZGV4IDUzNzZiOGYyNDBlMDE5MWFmNGFlMDBh
OTFkMGU5NTkwZDNlYzVhYzMuLjhhYzc0YTEyNDIwMzYwNDEwZmUyNGZkYjNkYzllNWYwZDM1NzQw
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlLmgKQEAgLTUyLDcgKzUyLDcgQEAg
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlTnVt
YmVyKGZsb2F0Kik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVh
dGVOdW1iZXJMaXN0KFNWR051bWJlckxpc3QqKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxTVkdB
bmltYXRlZFR5cGU+IGNyZWF0ZU51bWJlck9wdGlvbmFsTnVtYmVyKHN0ZDo6cGFpcjxmbG9hdCwg
ZmxvYXQ+Kik7Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVQ
YXRoKFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+KTsKKyAgICBzdGF0aWMgUGFzc093blB0
cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZVBhdGgoc3RkOjp1bmlxdWVfcHRyPFNWR1BhdGhCeXRl
U3RyZWFtPik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVQ
b2ludExpc3QoU1ZHUG9pbnRMaXN0Kik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0
ZWRUeXBlPiBjcmVhdGVQcmVzZXJ2ZUFzcGVjdFJhdGlvKFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8q
KTsKICAgICBzdGF0aWMgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZVJlY3QoRmxv
YXRSZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJl
YW0uaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCmluZGV4IDUyM2Zh
ZWM5ZjdlNTgwNzExYTNlNWVkNGUzYzAxMDUxMjg4ZTdiYTMuLjcxNTI4NWI4MzhmYmYxOGRjNmFi
Y2UwMDI4MDZmNGJjZGYxMDM4MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQnl0ZVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVh
bS5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NiwxOSArNDUsMTcgQEAgdHlw
ZWRlZiB1bmlvbiB7CiBjbGFzcyBTVkdQYXRoQnl0ZVN0cmVhbSB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVT
dHJlYW0+IGNyZWF0ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNWR1Bh
dGhCeXRlU3RyZWFtKTsKLSAgICB9CisgICAgdHlwZWRlZiBWZWN0b3I8dW5zaWduZWQgY2hhcj4g
RGF0YTsKKyAgICB0eXBlZGVmIERhdGE6OmNvbnN0X2l0ZXJhdG9yIERhdGFJdGVyYXRvcjsKIAot
ICAgIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNvcHkoKQorICAgIFNWR1BhdGhCeXRl
U3RyZWFtKCkgeyB9CisgICAgU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgRGF0YSYgZGF0YSkgOiBt
X2RhdGEoZGF0YSkgeyB9CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+
IGNvcHkoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTVkdQYXRo
Qnl0ZVN0cmVhbShtX2RhdGEpKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8U1ZH
UGF0aEJ5dGVTdHJlYW0+KG1fZGF0YSk7CiAgICAgfQogCi0gICAgdHlwZWRlZiBWZWN0b3I8dW5z
aWduZWQgY2hhcj4gRGF0YTsKLSAgICB0eXBlZGVmIERhdGE6OmNvbnN0X2l0ZXJhdG9yIERhdGFJ
dGVyYXRvcjsKLQogICAgIERhdGFJdGVyYXRvciBiZWdpbigpIHsgcmV0dXJuIG1fZGF0YS5iZWdp
bigpOyB9CiAgICAgRGF0YUl0ZXJhdG9yIGVuZCgpIHsgcmV0dXJuIG1fZGF0YS5lbmQoKTsgfQog
ICAgIHZvaWQgYXBwZW5kKHVuc2lnbmVkIGNoYXIgYnl0ZSkgeyBtX2RhdGEuYXBwZW5kKGJ5dGUp
OyB9CkBAIC03NSwxMiArNzIsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXNpemUodW5zaWduZWQp
IHsgfQogCiBwcml2YXRlOgotICAgIFNWR1BhdGhCeXRlU3RyZWFtKCkgeyB9Ci0gICAgU1ZHUGF0
aEJ5dGVTdHJlYW0oRGF0YSYgZGF0YSkKLSAgICAgICAgOiBtX2RhdGEoZGF0YSkKLSAgICB7Ci0g
ICAgfQotCiAgICAgRGF0YSBtX2RhdGE7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuY3BwCmluZGV4IGNmOTM5ZjA3NGZjZTRhZWRhNDk2ODQ2
MjIyMWM1NmFiNmQ3ZjkzNWQuLmVkYTJjMjZlY2RhODY0YzAzZDEyNWY1YTRlMmZlNTFiOTlmNGQ1
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIu
Y3BwCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiU1ZHUGF0aFBhcnNlci5oIgogI2luY2x1
ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU3RyaW5nU291cmNlLmgiCi0jaW5j
bHVkZSA8d3RmL093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIuaAppbmRleCAzN2M3OTA2YTg2ZGNm
ZGY2MzE3ODM3MWRlM2E4M2I0ZmNjNGNhMDM4Li41YjJiNDcxM2QwZmY4MTkzNmE5ZWE2OWVmNThj
M2I1ODM5ZjE3ZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVT
dHJlYW1CdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFt
QnVpbGRlci5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2lu
Y2x1ZGUgIlNWR1BhdGhCeXRlU3RyZWFtLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVu
dC5jcHAKaW5kZXggYjg3YmMyNjg2YmZhZGE4Mjk3MjAxYWEwZTcyM2VjNmNkMGMwZWMwMC4uZmMy
MWJmNzZlZDg5YzZhZjg0YjBkOTQ0ZDFkNjQyOTY0MDRhZWQ3MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aEVsZW1lbnQuY3BwCkBAIC04NCw3ICs4NCw3IEBAIEVORF9SRUdJU1RFUl9BTklNQVRF
RF9QUk9QRVJUSUVTCiAKIGlubGluZSBTVkdQYXRoRWxlbWVudDo6U1ZHUGF0aEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIDogU1ZH
R3JhcGhpY3NFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQotICAgICwgbV9wYXRoQnl0ZVN0cmVh
bShTVkdQYXRoQnl0ZVN0cmVhbTo6Y3JlYXRlKCkpCisgICAgLCBtX3BhdGhCeXRlU3RyZWFtKHN0
ZDo6bWFrZV91bmlxdWU8U1ZHUGF0aEJ5dGVTdHJlYW0+KCkpCiAgICAgLCBtX3BhdGhTZWdMaXN0
KFBhdGhTZWdVbmFsdGVyZWRSb2xlKQogICAgICwgbV9pc0FuaW1WYWxPYnNlcnZlZChmYWxzZSkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKaW5kZXggZTlmNDU5NzIzNDZiNjA3YTY0
NDNiOGMxOTg4MjJjNDdiZDM4ODMwYi4uNDdlY2NmYjcwMzA5NzgyZjQ0OWNlMTgyM2QxZjk3NDIy
ZTYyZGFhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKQEAgLTEyNiw3ICsxMjYs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgaW52YWxpZGF0ZU1QYXRoRGVwZW5kZW5jaWVzKCk7CiAK
IHByaXZhdGU6Ci0gICAgT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBtX3BhdGhCeXRlU3RyZWFt
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gbV9wYXRoQnl0ZVN0cmVh
bTsKICAgICBtdXRhYmxlIFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eTxTVkdQYXRo
U2VnTGlzdD4gbV9wYXRoU2VnTGlzdDsKICAgICBib29sIG1faXNBbmltVmFsT2JzZXJ2ZWQ7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwCmluZGV4IDA5MmJhNGQ1OGMy
MzE1ODM1MmMwZmY4YTFjOTI3ZGFhZjYyNzFkZDguLmU4NmU3NGFmMzkwOGU2YWQyMmY3ODMxN2Vm
OWM1NDc2NzAyODE1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVXRp
bGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5jcHAK
QEAgLTE0OCw3ICsxNDgsNyBAQCBib29sIGFwcGVuZFNWR1BhdGhCeXRlU3RyZWFtRnJvbVNWR1Bh
dGhTZWcoUGFzc1JlZlB0cjxTVkdQYXRoU2VnPiBwYXRoU2VnLCBTVkdQYQogCiAgICAgU1ZHUGF0
aFNlZ0xpc3QgYXBwZW5kZWRJdGVtTGlzdChQYXRoU2VnVW5hbHRlcmVkUm9sZSk7CiAgICAgYXBw
ZW5kZWRJdGVtTGlzdC5hcHBlbmQocGF0aFNlZyk7Ci0gICAgT3duUHRyPFNWR1BhdGhCeXRlU3Ry
ZWFtPiBhcHBlbmRlZEJ5dGVTdHJlYW0gPSBTVkdQYXRoQnl0ZVN0cmVhbTo6Y3JlYXRlKCk7Cisg
ICAgYXV0byBhcHBlbmRlZEJ5dGVTdHJlYW0gPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR1BhdGhCeXRl
U3RyZWFtPigpOwogCiAgICAgU1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyKiBidWlsZGVyID0gZ2xv
YmFsU1ZHUGF0aEJ5dGVTdHJlYW1CdWlsZGVyKGFwcGVuZGVkQnl0ZVN0cmVhbS5nZXQoKSk7CiAg
ICAgT3duUHRyPFNWR1BhdGhTZWdMaXN0U291cmNlPiBzb3VyY2UgPSBTVkdQYXRoU2VnTGlzdFNv
dXJjZTo6Y3JlYXRlKGFwcGVuZGVkSXRlbUxpc3QpOwpAQCAtMjcwLDcgKzI3MCw3IEBAIGJvb2wg
YWRkVG9TVkdQYXRoQnl0ZVN0cmVhbShTVkdQYXRoQnl0ZVN0cmVhbSogZnJvbVN0cmVhbSwgU1ZH
UGF0aEJ5dGVTdHJlYW0qIGJ5CiAKICAgICBTVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIqIGJ1aWxk
ZXIgPSBnbG9iYWxTVkdQYXRoQnl0ZVN0cmVhbUJ1aWxkZXIoZnJvbVN0cmVhbSk7CiAKLSAgICBP
d25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGZyb21TdHJlYW1Db3B5ID0gZnJvbVN0cmVhbS0+Y29w
eSgpOworICAgIGF1dG8gZnJvbVN0cmVhbUNvcHkgPSBmcm9tU3RyZWFtLT5jb3B5KCk7CiAgICAg
ZnJvbVN0cmVhbS0+Y2xlYXIoKTsKIAogICAgIE93blB0cjxTVkdQYXRoQnl0ZVN0cmVhbVNvdXJj
ZT4gZnJvbVNvdXJjZSA9IFNWR1BhdGhCeXRlU3RyZWFtU291cmNlOjpjcmVhdGUoZnJvbVN0cmVh
bUNvcHkuZ2V0KCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>