<?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>50048</bug_id>
          
          <creation_ts>2010-11-24 18:14:33 -0800</creation_ts>
          <short_desc>Need to initialize destination variables before calling GL</short_desc>
          <delta_ts>2010-12-02 23:25:29 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</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>0</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>313578</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2010-11-24 18:14:33 -0800</bug_when>
    <thetext>Need to initialize variables before calling GL because if GL has lost the context then those variables will remain uninitialized.

For example

  GLsize len;
  glGetProgramiv(service_id_, GL_INFO_LOG_LENGTH, &amp;len);
  char* dst = new char[len];

In the case above, if GL has lost the const, len will be uninitialized and quite possibly try to allocate a large amount of memory which may easily cause a crash. The solution is to always initialized the variables.

  GLsize len = 0;  &lt;-----
  glGetProgramiv(service_id_, GL_INFO_LOG_LENGTH, &amp;len);
  char* dst = new char[len];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313579</commentid>
    <comment_count>1</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2010-11-24 18:15:15 -0800</bug_when>
    <thetext>I have a patch to fix the places in WebKit where this is an issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314087</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-11-26 12:49:55 -0800</bug_when>
    <thetext>It would be great if you could submit your patch. Run prepare-ChangeLog, edit the modified ChangeLogs appropriately, and webkit-patch upload to upload it. See http://webkit.org/coding/contributing.html .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314700</commentid>
    <comment_count>3</comment_count>
      <attachid>75075</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2010-11-29 15:57:19 -0800</bug_when>
    <thetext>Created attachment 75075
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314749</commentid>
    <comment_count>4</comment_count>
      <attachid>75075</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-11-29 17:11:20 -0800</bug_when>
    <thetext>Comment on attachment 75075
Patch

The code changes look fine, and sorry for the nitpick, but could you please change your editor&apos;s settings to not modify existing whitespace, and regenerate the patch? I&apos;ve been advised by other WebKit reviewers that whitespace changes should not be done in conjunction with code changes. It would be great if you would file a separate bug and submit a patch just for the whitespace cleanups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316584</commentid>
    <comment_count>5</comment_count>
      <attachid>75447</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2010-12-02 18:20:45 -0800</bug_when>
    <thetext>Created attachment 75447
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316633</commentid>
    <comment_count>6</comment_count>
      <attachid>75447</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-02 20:01:03 -0800</bug_when>
    <thetext>Comment on attachment 75447
Patch

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

&gt; WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:846
&gt; +    m_maxTextureSize = 0;

I&apos;m surprised this isn&apos;t initialized in the constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316690</commentid>
    <comment_count>7</comment_count>
      <attachid>75447</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-02 23:25:24 -0800</bug_when>
    <thetext>Comment on attachment 75447
Patch

Clearing flags on attachment: 75447

Committed r73244: &lt;http://trac.webkit.org/changeset/73244&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316691</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-02 23:25:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75075</attachid>
            <date>2010-11-29 15:57:19 -0800</date>
            <delta_ts>2010-12-02 18:20:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50048-20101129155717.patch</filename>
            <type>text/plain</type>
            <size>16735</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3Mjg0NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDYgQEAKKzIwMTAtMTEtMjkgIEdyZWdnIFRhdmFyZXMgIDxnbWFuQGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmVl
ZCB0byBpbml0aWFsaXplIGRlc3RpbmF0aW9uIHZhcmlhYmxlcyBiZWZvcmUgY2FsbGluZyBHTAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTAwNDgKKwor
ICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBkb2VzIG5vdCBjaGFuZ2UgZnVuY3Rpb25hbGl0
eS4gSnVzdCBmaXhlZCBidWdzIHJlbGF0ZWQgdG8gbG9zdCBjb250ZXh0IGluIEdMCisKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpibGVuZEZ1bmMpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpkZWxldGVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpkZWxldGVTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpkZWxldGVUZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dDo6ZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVJbmRleEFycmF5UHJlY2lz
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlUmVu
ZGVyaW5nU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpl
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldEF0dGFjaGVkU2hhZGVycyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OmdldEJ1ZmZlclBhcmFtZXRlcik6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcik6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFVuaWZvcm0pOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkZXRhY2hBbmRSZW1vdmVB
bGxPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0
Qm9vbGVhblBhcmFtZXRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldEZsb2F0UGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dDo6Z2V0TG9uZ1BhcmFtZXRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OmdldFVuc2lnbmVkTG9uZ1BhcmFtZXRlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpsb2FkU2hhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OmNyZWF0ZVNo
YWRlclByb2dyYW0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hy
b21pdW06OnByZXBhcmVUb0RyYXdMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjppbml0aWFsaXplU2hhcmVkT2JqZWN0cyk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJh
d2luZ0J1ZmZlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6cmVz
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6Y29tbWl0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRyYXdpbmdCdWZmZXI6OmJpbmQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dwdS9TaGFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZGVyOjpsb2FkUHJvZ3Jh
bSk6CisKIDIwMTAtMTEtMjkgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpJbmRleDogV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkocmV2aXNpb24gNzI3MTEp
CisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgpAQCAtOTYsNyArOTYsNyBAQCBQYXNzT3duUHRyPFdlYkdMUmVuZGVyaW5n
Q29udGV4dD4gV2ViR0xSCiAgICAgICAgIGNhbnZhcy0+ZGlzcGF0Y2hFdmVudChXZWJHTENvbnRl
eHRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9yRXZl
bnQsIGZhbHNlLCB0cnVlLCAiQ291bGQgbm90IGNyZWF0ZSBhIFdlYkdMIGNvbnRleHQuIikpOwog
ICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgICAgIAorCiAgICAgcmV0dXJuIG5ldyBXZWJH
TFJlbmRlcmluZ0NvbnRleHQoY2FudmFzLCBjb250ZXh0KTsKIH0KIApAQCAtNDAzLDcgKzQwMyw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpibGVuZEZ1bmModW4KICAgICAgICAgcmV0
dXJuOwogICAgIG1fY29udGV4dC0+YmxlbmRGdW5jKHNmYWN0b3IsIGRmYWN0b3IpOwogICAgIGNs
ZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7Ci19ICAgICAgIAorfQogCiB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6YmxlbmRGdW5jU2VwYXJhdGUodW5zaWduZWQgbG9uZyBzcmNSR0Is
IHVuc2lnbmVkIGxvbmcgZHN0UkdCLCB1bnNpZ25lZCBsb25nIHNyY0FscGhhLCB1bnNpZ25lZCBs
b25nIGRzdEFscGhhKQogewpAQCAtNjYzLDcgKzY2Myw3IEBAIFBhc3NSZWZQdHI8V2ViR0xCdWZm
ZXI+IFdlYkdMUmVuZGVyaW5nQ28KICAgICBhZGRPYmplY3Qoby5nZXQoKSk7CiAgICAgcmV0dXJu
IG87CiB9Ci0gICAgICAgIAorCiBQYXNzUmVmUHRyPFdlYkdMRnJhbWVidWZmZXI+IFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6Y3JlYXRlRnJhbWVidWZmZXIoKQogewogICAgIGlmIChpc0NvbnRleHRM
b3N0KCkpCkBAIC03MDksNyArNzA5LDcgQEAgUGFzc1JlZlB0cjxXZWJHTFNoYWRlcj4gV2ViR0xS
ZW5kZXJpbmdDbwogICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX0VOVU0pOwogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAg
CisKICAgICBSZWZQdHI8V2ViR0xTaGFkZXI+IG8gPSBXZWJHTFNoYWRlcjo6Y3JlYXRlKHRoaXMs
IHN0YXRpY19jYXN0PEdyYXBoaWNzQ29udGV4dDNEOjpXZWJHTEVudW1UeXBlPih0eXBlKSk7CiAg
ICAgYWRkT2JqZWN0KG8uZ2V0KCkpOwogICAgIHJldHVybiBvOwpAQCAtNzI3LDcgKzcyNyw3IEBA
IHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkZWxldGVCdWZmZXIKIHsKICAgICBpZiAoaXND
b250ZXh0TG9zdCgpIHx8ICFidWZmZXIpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGJ1
ZmZlci0+ZGVsZXRlT2JqZWN0KCk7CiAKICAgICBpZiAoIWlzR0xFUzJDb21wbGlhbnQoKSkgewpA
QCAtNzg1LDcgKzc4NSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkZWxldGVTaGFk
ZXIKIHsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICFzaGFkZXIpCiAgICAgICAgIHJldHVy
bjsKLSAgICAKKwogICAgIHNoYWRlci0+ZGVsZXRlT2JqZWN0KCk7CiB9CiAKQEAgLTc5Myw3ICs3
OTMsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZGVsZXRlVGV4dHVyCiB7CiAgICAg
aWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdGV4dHVyZSkKICAgICAgICAgcmV0dXJuOwotICAgIAor
CiAgICAgdGV4dHVyZS0+ZGVsZXRlT2JqZWN0KCk7CiAgICAgaWYgKG1fZnJhbWVidWZmZXJCaW5k
aW5nKQogICAgICAgICBtX2ZyYW1lYnVmZmVyQmluZGluZy0+cmVtb3ZlQXR0YWNobWVudCh0ZXh0
dXJlKTsKQEAgLTg1OSw3ICs4NTksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZGlz
YWJsZVZlcnRlCiAgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAor
CiAgICAgaWYgKGluZGV4IDwgbV92ZXJ0ZXhBdHRyaWJTdGF0ZS5zaXplKCkpCiAgICAgICAgIG1f
dmVydGV4QXR0cmliU3RhdGVbaW5kZXhdLmVuYWJsZWQgPSBmYWxzZTsKIApAQCAtOTgzLDggKzk4
Myw4IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUluZGUKICAgICAgICAg
ICAgICAgICBsYXN0SW5kZXggPSAqcDsKICAgICAgICAgICAgICsrcDsKICAgICAgICAgfQotICAg
IH0gICAgCi0gICAgICAgIAorICAgIH0KKwogICAgIC8vIFRoZW4gc2V0IHRoZSBsYXN0IGluZGV4
IGluIHRoZSBpbmRleCBhcnJheSBhbmQgbWFrZSBzdXJlIGl0IGlzIHZhbGlkLgogICAgIG51bUVs
ZW1lbnRzUmVxdWlyZWQgPSBsYXN0SW5kZXggKyAxOwogICAgIHJldHVybiBudW1FbGVtZW50c1Jl
cXVpcmVkID4gMDsKQEAgLTEwMjcsMTAgKzEwMjcsMTAgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnZhbGlkYXRlUmVuZAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAg
IAorCiAgICAgaWYgKHNtYWxsZXN0TnVtRWxlbWVudHMgPT0gTE9OR19NQVgpCiAgICAgICAgIHNt
YWxsZXN0TnVtRWxlbWVudHMgPSAwOwotICAgIAorCiAgICAgcmV0dXJuIG51bUVsZW1lbnRzUmVx
dWlyZWQgPD0gc21hbGxlc3ROdW1FbGVtZW50czsKIH0KIApAQCAtMTE4MCwxMiArMTE4MCwxMiBA
QCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZW5hYmxlVmVydGV4CiAgICAgICAgIG1fY29u
dGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUp
OwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAorCiAgICAgaWYgKGluZGV4ID49IG1fdmVy
dGV4QXR0cmliU3RhdGUuc2l6ZSgpKQogICAgICAgICBtX3ZlcnRleEF0dHJpYlN0YXRlLnJlc2l6
ZShpbmRleCArIDEpOwotICAgICAgICAKKwogICAgIG1fdmVydGV4QXR0cmliU3RhdGVbaW5kZXhd
LmVuYWJsZWQgPSB0cnVlOwotICAgIAorCiAgICAgbV9jb250ZXh0LT5lbmFibGVWZXJ0ZXhBdHRy
aWJBcnJheShpbmRleCk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0K
QEAgLTEzNzUsNyArMTM3NSw3IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRBdHRh
Y2hlZFMKICAgICBtX2NvbnRleHQtPmdldFByb2dyYW1pdihvYmplY3RPclplcm8ocHJvZ3JhbSks
IEdyYXBoaWNzQ29udGV4dDNEOjpBVFRBQ0hFRF9TSEFERVJTLCAmbnVtU2hhZGVycyk7CiAgICAg
aWYgKG51bVNoYWRlcnMpIHsKICAgICAgICAgT3duQXJyYXlQdHI8dW5zaWduZWQgaW50PiBzaGFk
ZXJzKG5ldyB1bnNpZ25lZCBpbnRbbnVtU2hhZGVyc10pOwotICAgICAgICBpbnQgY291bnQ7Cisg
ICAgICAgIGludCBjb3VudCA9IDA7CiAgICAgICAgIG1fY29udGV4dC0+Z2V0QXR0YWNoZWRTaGFk
ZXJzKG9iamVjdE9yWmVybyhwcm9ncmFtKSwgbnVtU2hhZGVycywgJmNvdW50LCBzaGFkZXJzLmdl
dCgpKTsKICAgICAgICAgaWYgKGNvdW50ICE9IG51bVNoYWRlcnMpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC0xNDE1LDcgKzE0MTUsNyBAQCBXZWJHTEdldEluZm8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0OjpnZXRCCiAgICAgfQogCiAgICAgV2ViR0xTdGF0ZVJlc3RvcmVyKHRoaXMsIGZh
bHNlKTsKLSAgICBpbnQgdmFsdWU7CisgICAgaW50IHZhbHVlID0gMDsKICAgICBtX2NvbnRleHQt
PmdldEJ1ZmZlclBhcmFtZXRlcml2KHRhcmdldCwgcG5hbWUsICZ2YWx1ZSk7CiAgICAgaWYgKHBu
YW1lID09IEdyYXBoaWNzQ29udGV4dDNEOjpCVUZGRVJfU0laRSkKICAgICAgICAgcmV0dXJuIFdl
YkdMR2V0SW5mbyhzdGF0aWNfY2FzdDxsb25nPih2YWx1ZSkpOwpAQCAtMTQ1OSw3ICsxNDU5LDcg
QEAgV2ViR0xHZXRJbmZvIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RgogCiAgICAgaWYgKHBu
YW1lICE9IEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9O
QU1FKSB7CiAgICAgICAgIFdlYkdMU3RhdGVSZXN0b3Jlcih0aGlzLCBmYWxzZSk7Ci0gICAgICAg
IGludCB2YWx1ZTsKKyAgICAgICAgaW50IHZhbHVlID0gMDsKICAgICAgICAgbV9jb250ZXh0LT5n
ZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXJpdih0YXJnZXQsIGF0dGFjaG1lbnQsIHBu
YW1lLCAmdmFsdWUpOwogICAgICAgICBpZiAocG5hbWUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZS
QU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpCiAgICAgICAgICAgICByZXR1cm4gV2Vi
R0xHZXRJbmZvKHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KHZhbHVlKSk7CkBAIC0xODY2LDcg
KzE4NjYsNyBAQCBXZWJHTEdldEluZm8gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRVCiAgICAg
ICAgIHJldHVybiBXZWJHTEdldEluZm8oKTsKICAgICB9CiAgICAgbG9uZyBsb2NhdGlvbiA9IHVu
aWZvcm1Mb2NhdGlvbi0+bG9jYXRpb24oKTsKLSAgICAKKwogICAgIFdlYkdMU3RhdGVSZXN0b3Jl
cih0aGlzLCBmYWxzZSk7CiAgICAgLy8gRklYTUU6IG1ha2UgdGhpcyBtb3JlIGVmZmljaWVudCB1
c2luZyBXZWJHTFVuaWZvcm1Mb2NhdGlvbiBhbmQgY2FjaGluZyB0eXBlcyBpbiBpdAogICAgIGlu
dCBhY3RpdmVVbmlmb3JtcyA9IDA7CkBAIC0zMjk4LDcgKzMyOTgsNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6ZGV0YWNoQW5kUmVtCiAgICAgSGFzaFNldDxSZWZQdHI8V2ViR0xPYmpl
Y3Q+ID46Oml0ZXJhdG9yIHBlbmQgPSBtX2NhbnZhc09iamVjdHMuZW5kKCk7CiAgICAgZm9yIChI
YXNoU2V0PFJlZlB0cjxXZWJHTE9iamVjdD4gPjo6aXRlcmF0b3IgaXQgPSBtX2NhbnZhc09iamVj
dHMuYmVnaW4oKTsgaXQgIT0gcGVuZDsgKytpdCkKICAgICAgICAgKCppdCktPmRldGFjaENvbnRl
eHQoKTsKLSAgICAgICAgCisKICAgICBtX2NhbnZhc09iamVjdHMuY2xlYXIoKTsKIH0KIApAQCAt
MzM1Miw3ICszMzUyLDcgQEAgV2ViR0xTaGFkZXIqIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Zmlu
ZAogCiBXZWJHTEdldEluZm8gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRCb29sZWFuUGFyYW1l
dGVyKHVuc2lnbmVkIGxvbmcgcG5hbWUpCiB7Ci0gICAgdW5zaWduZWQgY2hhciB2YWx1ZTsKKyAg
ICB1bnNpZ25lZCBjaGFyIHZhbHVlID0gMDsKICAgICBtX2NvbnRleHQtPmdldEJvb2xlYW52KHBu
YW1lLCAmdmFsdWUpOwogICAgIHJldHVybiBXZWJHTEdldEluZm8oc3RhdGljX2Nhc3Q8Ym9vbD4o
dmFsdWUpKTsKIH0KQEAgLTMzNzMsNyArMzM3Myw3IEBAIFdlYkdMR2V0SW5mbyBXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OmdldEIKIAogV2ViR0xHZXRJbmZvIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
Z2V0RmxvYXRQYXJhbWV0ZXIodW5zaWduZWQgbG9uZyBwbmFtZSkKIHsKLSAgICBmbG9hdCB2YWx1
ZTsKKyAgICBmbG9hdCB2YWx1ZSA9IDA7CiAgICAgbV9jb250ZXh0LT5nZXRGbG9hdHYocG5hbWUs
ICZ2YWx1ZSk7CiAgICAgcmV0dXJuIFdlYkdMR2V0SW5mbyhzdGF0aWNfY2FzdDxmbG9hdD4odmFs
dWUpKTsKIH0KQEAgLTMzODUsMTQgKzMzODUsMTQgQEAgV2ViR0xHZXRJbmZvIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0SQogCiBXZWJHTEdldEluZm8gV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRMb25nUGFyYW1ldGVyKHVuc2lnbmVkIGxvbmcgcG5hbWUpCiB7Ci0gICAgaW50IHZhbHVlOwor
ICAgIGludCB2YWx1ZSA9IDA7CiAgICAgbV9jb250ZXh0LT5nZXRJbnRlZ2VydihwbmFtZSwgJnZh
bHVlKTsKICAgICByZXR1cm4gV2ViR0xHZXRJbmZvKHN0YXRpY19jYXN0PGxvbmc+KHZhbHVlKSk7
CiB9CiAKIFdlYkdMR2V0SW5mbyBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFVuc2lnbmVkTG9u
Z1BhcmFtZXRlcih1bnNpZ25lZCBsb25nIHBuYW1lKQogewotICAgIGludCB2YWx1ZTsKKyAgICBp
bnQgdmFsdWUgPSAwOwogICAgIG1fY29udGV4dC0+Z2V0SW50ZWdlcnYocG5hbWUsICZ2YWx1ZSk7
CiAgICAgdW5zaWduZWQgaW50IHVWYWx1ZSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4odmFs
dWUpOwogICAgIHJldHVybiBXZWJHTEdldEluZm8oc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4o
dVZhbHVlKSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
Q2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDcyNzExKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTksNyArNTksNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9hZFNoYWRlcihHcmFwaGljc0NvbnRl
CiAgICAgU3RyaW5nIHNvdXJjZVN0cmluZyhzaGFkZXJTb3VyY2UpOwogICAgIEdMQyhjb250ZXh0
LCBjb250ZXh0LT5zaGFkZXJTb3VyY2Uoc2hhZGVyLCBzb3VyY2VTdHJpbmcpKTsKICAgICBHTEMo
Y29udGV4dCwgY29udGV4dC0+Y29tcGlsZVNoYWRlcihzaGFkZXIpKTsKLSAgICBpbnQgY29tcGls
ZWQ7CisgICAgaW50IGNvbXBpbGVkID0gMDsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+Z2V0
U2hhZGVyaXYoc2hhZGVyLCBHcmFwaGljc0NvbnRleHQzRDo6Q09NUElMRV9TVEFUVVMsICZjb21w
aWxlZCkpOwogICAgIGlmICghY29tcGlsZWQpIHsKICAgICAgICAgR0xDKGNvbnRleHQsIGNvbnRl
eHQtPmRlbGV0ZVNoYWRlcihzaGFkZXIpKTsKQEAgLTIyOCw3ICsyMjgsNyBAQCB1bnNpZ25lZCBM
YXllckNocm9taXVtOjpjcmVhdGVTaGFkZXJQcm9nCiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQt
PmJpbmRBdHRyaWJMb2NhdGlvbihwcm9ncmFtT2JqZWN0LCBzX3RleENvb3JkQXR0cmliTG9jYXRp
b24sICJhX3RleENvb3JkIikpOwogCiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPmxpbmtQcm9n
cmFtKHByb2dyYW1PYmplY3QpKTsKLSAgICBpbnQgbGlua2VkOworICAgIGludCBsaW5rZWQgPSAw
OwogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT5nZXRQcm9ncmFtaXYocHJvZ3JhbU9iamVjdCwg
R3JhcGhpY3NDb250ZXh0M0Q6OkxJTktfU1RBVFVTLCAmbGlua2VkKSk7CiAgICAgaWYgKCFsaW5r
ZWQpIHsKICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gbGluayBzaGFkZXIgcHJvZ3JhbSIp
OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAkocmV2aXNpb24gNzI3MTEpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE3Nyw3ICsxNzcsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJv
bWl1bTo6dXNlU2hhZGVyKHVuCiAvLyByb290IGxheWVyIHRleHR1cmUuIEl0IHJlc2l6ZXMgdGhl
IHJvb3QgbGF5ZXIgdGV4dHVyZSBhbmQgc2Nyb2xscyBpdHMKIC8vIGNvbnRlbnRzIGFzIG5lZWRl
ZC4gSXQgYWxzbyBzZXRzIHVwIGNvbW1vbiBHTCBzdGF0ZSB1c2VkIGJ5IHRoZSByZXN0CiAvLyBv
ZiB0aGUgbGF5ZXIgZHJhd2luZyBjb2RlLgotdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnBy
ZXBhcmVUb0RyYXdMYXllcnMoY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QsIGNvbnN0IEludFJl
Y3QmIGNvbnRlbnRSZWN0LCAKK3ZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpwcmVwYXJlVG9E
cmF3TGF5ZXJzKGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0LCBjb25zdCBJbnRSZWN0JiBjb250
ZW50UmVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEludFBvaW50JiBzY3JvbGxQb3NpdGlvbikKIHsKICAgICBBU1NFUlQobV9oYXJkd2Fy
ZUNvbXBvc2l0aW5nKTsKQEAgLTE4OCw3ICsxODgsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJv
bWl1bTo6cHJlcGFyZVRvRHJhCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAKICAgICBHTEMo
bV9jb250ZXh0LCBtX2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhU
VVJFXzJELCBtX3Jvb3RMYXllclRleHR1cmVJZCkpOwotICAgIAorCiAgICAgYm9vbCBza2lwU2Ny
b2xsID0gZmFsc2U7CiAKICAgICAvLyBJZiB0aGUgc2l6ZSBvZiB0aGUgdmlzaWJsZSBhcmVhIGhh
cyBjaGFuZ2VkIHRoZW4gYWxsb2NhdGUgYSBuZXcgdGV4dHVyZQpAQCAtMjIxLDggKzIyMSw4IEBA
IHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpwcmVwYXJlVG9EcmEKICAgICBHTEMobV9jb250
ZXh0LCBtX2NvbnRleHQtPmRpc2FibGUoR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX1RFU1QpKTsK
ICAgICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPmRpc2FibGUoR3JhcGhpY3NDb250ZXh0M0Q6
OkNVTExfRkFDRSkpOwogCi0gICAgLy8gQmxlbmRpbmcgZGlzYWJsZWQgYnkgZGVmYXVsdC4gUm9v
dCBsYXllciBhbHBoYSBjaGFubmVsIG9uIFdpbmRvd3MgaXMgaW5jb3JyZWN0IHdoZW4gU2tpYSB1
c2VzIENsZWFyVHlwZS4gCi0gICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT5kaXNhYmxlKEdy
YXBoaWNzQ29udGV4dDNEOjpCTEVORCkpOyAKKyAgICAvLyBCbGVuZGluZyBkaXNhYmxlZCBieSBk
ZWZhdWx0LiBSb290IGxheWVyIGFscGhhIGNoYW5uZWwgb24gV2luZG93cyBpcyBpbmNvcnJlY3Qg
d2hlbiBTa2lhIHVzZXMgQ2xlYXJUeXBlLgorICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+
ZGlzYWJsZShHcmFwaGljc0NvbnRleHQzRDo6QkxFTkQpKTsKIAogICAgIGlmIChtX3Njcm9sbFBv
c2l0aW9uID09IEludFBvaW50KC0xLCAtMSkpIHsKICAgICAgICAgbV9zY3JvbGxQb3NpdGlvbiA9
IHNjcm9sbFBvc2l0aW9uOwpAQCAtNzk3LDYgKzc5Nyw3IEBAIGJvb2wgTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjppbml0aWFsaXplU2gKICAgICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPnRleFBh
cmFtZXRlcmkoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNE
OjpURVhUVVJFX01BR19GSUxURVIsIEdyYXBoaWNzQ29udGV4dDNEOjpORUFSRVNUKSk7CiAKICAg
ICAvLyBHZXQgdGhlIG1heCB0ZXh0dXJlIHNpemUgc3VwcG9ydGVkIGJ5IHRoZSBzeXN0ZW0uCisg
ICAgbV9tYXhUZXh0dXJlU2l6ZSA9IDA7CiAgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT5n
ZXRJbnRlZ2VydihHcmFwaGljc0NvbnRleHQzRDo6TUFYX1RFWFRVUkVfU0laRSwgJm1fbWF4VGV4
dHVyZVNpemUpKTsKIAogICAgIC8vIENyZWF0ZSBhbiBGQk8gZm9yIGRvaW5nIG9mZnNjcmVlbiBy
ZW5kZXJpbmcuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVm
ZmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3
aW5nQnVmZmVyLmNwcAkocmV2aXNpb24gNzI3MTEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9EcmF3aW5nQnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMzYgKzQ5LDM2
IEBAIHZvaWQgRHJhd2luZ0J1ZmZlcjo6Y2xlYXIoKQogewogICAgIGlmICghbV9jb250ZXh0KQog
ICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCiAgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBtX2NvbnRleHQtPmRlbGV0ZVRleHR1cmUobV9jb2xvckJ1ZmZlcik7CiAg
ICAgbV9jb2xvckJ1ZmZlciA9IDA7Ci0gICAgCisKICAgICBpZiAobV9tdWx0aXNhbXBsZUNvbG9y
QnVmZmVyKSB7CiAgICAgICAgIG1fY29udGV4dC0+ZGVsZXRlUmVuZGVyYnVmZmVyKG1fbXVsdGlz
YW1wbGVDb2xvckJ1ZmZlcik7CiAgICAgICAgIG1fbXVsdGlzYW1wbGVDb2xvckJ1ZmZlciA9IDA7
CiAgICAgfQotICAgIAorCiAgICAgaWYgKG1fbXVsdGlzYW1wbGVEZXB0aFN0ZW5jaWxCdWZmZXIp
IHsKICAgICAgICAgbV9jb250ZXh0LT5kZWxldGVSZW5kZXJidWZmZXIobV9tdWx0aXNhbXBsZURl
cHRoU3RlbmNpbEJ1ZmZlcik7CiAgICAgICAgIG1fbXVsdGlzYW1wbGVEZXB0aFN0ZW5jaWxCdWZm
ZXIgPSAwOwogICAgIH0KLSAgICAKKwogICAgIGlmIChtX2RlcHRoU3RlbmNpbEJ1ZmZlcikgewog
ICAgICAgICBtX2NvbnRleHQtPmRlbGV0ZVJlbmRlcmJ1ZmZlcihtX2RlcHRoU3RlbmNpbEJ1ZmZl
cik7CiAgICAgICAgIG1fZGVwdGhTdGVuY2lsQnVmZmVyID0gMDsKICAgICB9Ci0gICAgCisKICAg
ICBpZiAobV9tdWx0aXNhbXBsZUZCTykgewogICAgICAgICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1
ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVIsIG1fbXVsdGlzYW1wbGVGQk8pOwog
ICAgICAgICBtX2NvbnRleHQtPmRlbGV0ZUZyYW1lYnVmZmVyKG1fbXVsdGlzYW1wbGVGQk8pOwog
ICAgICAgICBtX211bHRpc2FtcGxlRkJPID0gMDsKICAgICB9Ci0gICAgICAgIAorCiAgICAgbV9j
b250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBt
X2Zibyk7CiAgICAgbV9jb250ZXh0LT5kZWxldGVGcmFtZWJ1ZmZlcihtX2Zibyk7CiAgICAgbV9m
Ym8gPSAwOwotICAgIAorCiAgICAgbV9jb250ZXh0LmNsZWFyKCk7CiB9CiAKQEAgLTkwLDkgKzkw
LDkgQEAgdm9pZCBEcmF3aW5nQnVmZmVyOjpyZXNldChjb25zdCBJbnRTaXplJgogCiAgICAgaWYg
KCFtX2NvbnRleHQpCiAgICAgICAgIHJldHVybjsKLSAgICAgICAgCisKICAgICBtX2NvbnRleHQt
Pm1ha2VDb250ZXh0Q3VycmVudCgpOwotICAgIAorCiAgICAgY29uc3QgR3JhcGhpY3NDb250ZXh0
M0Q6OkF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMgPSBtX2NvbnRleHQtPmdldENvbnRleHRBdHRyaWJ1
dGVzKCk7CiAgICAgdW5zaWduZWQgbG9uZyBpbnRlcm5hbENvbG9yRm9ybWF0LCBjb2xvckZvcm1h
dCwgaW50ZXJuYWxEZXB0aFN0ZW5jaWxGb3JtYXQgPSAwOwogICAgIGlmIChhdHRyaWJ1dGVzLmFs
cGhhKSB7CkBAIC0xMTMsMTMgKzExMywxMyBAQCB2b2lkIERyYXdpbmdCdWZmZXI6OnJlc2V0KGNv
bnN0IEludFNpemUmCiAKICAgICAvLyByZXNpemUgbXVsdGlzYW1wbGUgRkJPCiAgICAgaWYgKG11
bHRpc2FtcGxlKCkpIHsKLSAgICAgICAgaW50IG1heFNhbXBsZUNvdW50OwotICAgICAgICAKKyAg
ICAgICAgaW50IG1heFNhbXBsZUNvdW50ID0gMDsKKwogICAgICAgICBtX2NvbnRleHQtPmdldElu
dGVnZXJ2KEV4dGVuc2lvbnMzRDo6TUFYX1NBTVBMRVMsICZtYXhTYW1wbGVDb3VudCk7CiAgICAg
ICAgIGludCBzYW1wbGVDb3VudCA9IHN0ZDo6bWluKDgsIG1heFNhbXBsZUNvdW50KTsKICAgICAg
ICAgaWYgKHNhbXBsZUNvdW50ID4gbWF4U2FtcGxlQ291bnQpCiAgICAgICAgICAgICBzYW1wbGVD
b3VudCA9IG1heFNhbXBsZUNvdW50OwotICAgICAgICAKKwogICAgICAgICBtX2NvbnRleHQtPmJp
bmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVIsIG1fbXVsdGlzYW1w
bGVGQk8pOwogCiAgICAgICAgIG1fY29udGV4dC0+YmluZFJlbmRlcmJ1ZmZlcihHcmFwaGljc0Nv
bnRleHQzRDo6UkVOREVSQlVGRkVSLCBtX211bHRpc2FtcGxlQ29sb3JCdWZmZXIpOwpAQCAtMjE5
LDcgKzIxOSw3IEBAIHZvaWQgRHJhd2luZ0J1ZmZlcjo6cmVzZXQoY29uc3QgSW50U2l6ZSYKICAg
ICAgICAgbV9jb250ZXh0LT5kaXNhYmxlKEdyYXBoaWNzQ29udGV4dDNEOjpESVRIRVIpOwogCiAg
ICAgbV9jb250ZXh0LT5mbHVzaCgpOwotICAgIAorCiAgICAgZGlkUmVzZXQoKTsKIH0KIApAQCAt
MjI3LDIwICsyMjcsMjAgQEAgdm9pZCBEcmF3aW5nQnVmZmVyOjpjb21taXQobG9uZyB4LCBsb25n
IAogewogICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCiAg
ICAgaWYgKHdpZHRoIDwgMCkKICAgICAgICAgd2lkdGggPSBtX3NpemUud2lkdGgoKTsKICAgICBp
ZiAoaGVpZ2h0IDwgMCkKICAgICAgICAgaGVpZ2h0ID0gbV9zaXplLmhlaWdodCgpOwotICAgICAg
ICAKKwogICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7Ci0gICAgCisKICAgICBp
ZiAobV9tdWx0aXNhbXBsZUZCTykgewogICAgICAgICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1ZmZl
cihFeHRlbnNpb25zM0Q6OlJFQURfRlJBTUVCVUZGRVIsIG1fbXVsdGlzYW1wbGVGQk8pOwogICAg
ICAgICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1ZmZlcihFeHRlbnNpb25zM0Q6OkRSQVdfRlJBTUVC
VUZGRVIsIG1fZmJvKTsKICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCktPmJsaXRG
cmFtZWJ1ZmZlcih4LCB5LCB3aWR0aCwgaGVpZ2h0LCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCBHcmFw
aGljc0NvbnRleHQzRDo6Q09MT1JfQlVGRkVSX0JJVCwgR3JhcGhpY3NDb250ZXh0M0Q6OkxJTkVB
Uik7CiAgICAgfQotICAgIAorCiAgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhp
Y3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBtX2Zibyk7CiB9CiAKQEAgLTI0OCw3ICsyNDgsNyBA
QCB2b2lkIERyYXdpbmdCdWZmZXI6OmJpbmQoKQogewogICAgIGlmICghbV9jb250ZXh0KQogICAg
ICAgICByZXR1cm47Ci0gICAgICAgIAorCiAgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIo
R3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBtX211bHRpc2FtcGxlRkJPID8gbV9tdWx0
aXNhbXBsZUZCTyA6IG1fZmJvKTsKICAgICBtX2NvbnRleHQtPnZpZXdwb3J0KDAsIDAsIG1fc2l6
ZS53aWR0aCgpLCBtX3NpemUuaGVpZ2h0KCkpOwogfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvU2hhZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9TaGFkZXIuY3BwCShyZXZpc2lvbiA3MjcxMSkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDcg
QEAgdW5zaWduZWQgU2hhZGVyOjpsb2FkUHJvZ3JhbShHcmFwaGljc0NvbgogICAgIGNvbnRleHQt
PmF0dGFjaFNoYWRlcihwcm9ncmFtLCB2ZXJ0ZXhTaGFkZXIpOwogICAgIGNvbnRleHQtPmF0dGFj
aFNoYWRlcihwcm9ncmFtLCBmcmFnbWVudFNoYWRlcik7CiAgICAgY29udGV4dC0+bGlua1Byb2dy
YW0ocHJvZ3JhbSk7Ci0gICAgaW50IGxpbmtTdGF0dXM7CisgICAgaW50IGxpbmtTdGF0dXMgPSAw
OwogICAgIGNvbnRleHQtPmdldFByb2dyYW1pdihwcm9ncmFtLCBHcmFwaGljc0NvbnRleHQzRDo6
TElOS19TVEFUVVMsICZsaW5rU3RhdHVzKTsKICAgICBpZiAoIWxpbmtTdGF0dXMpCiAgICAgICAg
IGNvbnRleHQtPmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75447</attachid>
            <date>2010-12-02 18:20:45 -0800</date>
            <delta_ts>2010-12-02 23:25:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50048-20101202182044.patch</filename>
            <type>text/plain</type>
            <size>8671</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzIyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTAtMTItMDIgIEdyZWdnIFRhdmFyZXMgIDxnbWFuQGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmVl
ZCB0byBpbml0aWFsaXplIGRlc3RpbmF0aW9uIHZhcmlhYmxlcyBiZWZvcmUgY2FsbGluZyBHTAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTAwNDgKKwor
ICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4K
KworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xGcmFtZWJ1ZmZlcjo6aW5pdGlhbGl6ZVJlbmRlcmJ1ZmZlcnMpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFByb2dyYW06OmNhY2hlQWN0aXZlQXR0cmliTG9jYXRpb25zKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpnZXRBdHRhY2hlZFNoYWRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRCdWZmZXJQYXJhbWV0ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQ
YXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRC
b29sZWFuUGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4
dDo6Z2V0RmxvYXRQYXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpnZXRMb25nUGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0VW5zaWduZWRMb25nUGFyYW1ldGVyKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmxvYWRTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlU2hh
ZGVyUHJvZ3JhbSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJv
bWl1bTo6aW5pdGlhbGl6ZVNoYXJlZE9iamVjdHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dwdS9EcmF3aW5nQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYXdpbmdCdWZm
ZXI6OnJlc2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRlcjo6bG9hZFByb2dyYW0pOgorCiAyMDEwLTEyLTAyICBE
YW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2
ZSBIeWF0dC4KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcAko
cmV2aXNpb24gNzMyMTUpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzMsNyArMjMzLDcgQEAgYm9vbCBXZWJHTEZyYW1lYnVm
ZmVyOjppbml0aWFsaXplUmVuZGVyYgogCiAgICAgZmxvYXQgY29sb3JDbGVhclZhbHVlW10gPSB7
MCwgMCwgMCwgMH0sIGRlcHRoQ2xlYXJWYWx1ZSA9IDA7CiAgICAgaW50IHN0ZW5jaWxDbGVhclZh
bHVlID0gMDsKLSAgICB1bnNpZ25lZCBjaGFyIGNvbG9yTWFza1tdID0gezEsIDEsIDEsIDF9LCBk
ZXB0aE1hc2sgPSAxOworICAgIHVuc2lnbmVkIGNoYXIgY29sb3JNYXNrW10gPSB7MCwgMCwgMCwg
MH0sIGRlcHRoTWFzayA9IDA7CiAgICAgdW5zaWduZWQgaW50IHN0ZW5jaWxNYXNrID0gMHhmZmZm
ZmZmZjsKICAgICBib29sIGlzU2Npc3NvckVuYWJsZWQgPSBmYWxzZTsKICAgICBib29sIGlzRGl0
aGVyRW5hYmxlZCA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dy
YW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmNw
cAkocmV2aXNpb24gNzMyMTUpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY3LDcgKzY3LDcgQEAgYm9vbCBXZWJHTFByb2dyYW06OmNh
Y2hlQWN0aXZlQXR0cmliTG9jYQogICAgIGlmICghb2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBHcmFwaGljc0NvbnRleHQzRCogY29udGV4dDNkID0gY29udGV4dCgpLT5ncmFw
aGljc0NvbnRleHQzRCgpOwotICAgIGludCBsaW5rU3RhdHVzOworICAgIGludCBsaW5rU3RhdHVz
ID0gMDsKICAgICBjb250ZXh0M2QtPmdldFByb2dyYW1pdihvYmplY3QoKSwgR3JhcGhpY3NDb250
ZXh0M0Q6OkxJTktfU1RBVFVTLCAmbGlua1N0YXR1cyk7CiAgICAgaWYgKCFsaW5rU3RhdHVzKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiA3MzIxNSkKKysrIFdlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM3NSw3
ICsxMzc1LDcgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEF0dGFjaGVkUwogICAg
IG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KG9iamVjdE9yWmVybyhwcm9ncmFtKSwgR3JhcGhpY3ND
b250ZXh0M0Q6OkFUVEFDSEVEX1NIQURFUlMsICZudW1TaGFkZXJzKTsKICAgICBpZiAobnVtU2hh
ZGVycykgewogICAgICAgICBPd25BcnJheVB0cjx1bnNpZ25lZCBpbnQ+IHNoYWRlcnMobmV3IHVu
c2lnbmVkIGludFtudW1TaGFkZXJzXSk7Ci0gICAgICAgIGludCBjb3VudDsKKyAgICAgICAgaW50
IGNvdW50ID0gMDsKICAgICAgICAgbV9jb250ZXh0LT5nZXRBdHRhY2hlZFNoYWRlcnMob2JqZWN0
T3JaZXJvKHByb2dyYW0pLCBudW1TaGFkZXJzLCAmY291bnQsIHNoYWRlcnMuZ2V0KCkpOwogICAg
ICAgICBpZiAoY291bnQgIT0gbnVtU2hhZGVycykKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
QEAgLTE0MTUsNyArMTQxNSw3IEBAIFdlYkdMR2V0SW5mbyBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmdldEIKICAgICB9CiAKICAgICBXZWJHTFN0YXRlUmVzdG9yZXIodGhpcywgZmFsc2UpOwotICAg
IGludCB2YWx1ZTsKKyAgICBpbnQgdmFsdWUgPSAwOwogICAgIG1fY29udGV4dC0+Z2V0QnVmZmVy
UGFyYW1ldGVyaXYodGFyZ2V0LCBwbmFtZSwgJnZhbHVlKTsKICAgICBpZiAocG5hbWUgPT0gR3Jh
cGhpY3NDb250ZXh0M0Q6OkJVRkZFUl9TSVpFKQogICAgICAgICByZXR1cm4gV2ViR0xHZXRJbmZv
KHN0YXRpY19jYXN0PGxvbmc+KHZhbHVlKSk7CkBAIC0xNDU5LDcgKzE0NTksNyBAQCBXZWJHTEdl
dEluZm8gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRGCiAKICAgICBpZiAocG5hbWUgIT0gR3Jh
cGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpIHsKICAg
ICAgICAgV2ViR0xTdGF0ZVJlc3RvcmVyKHRoaXMsIGZhbHNlKTsKLSAgICAgICAgaW50IHZhbHVl
OworICAgICAgICBpbnQgdmFsdWUgPSAwOwogICAgICAgICBtX2NvbnRleHQtPmdldEZyYW1lYnVm
ZmVyQXR0YWNobWVudFBhcmFtZXRlcml2KHRhcmdldCwgYXR0YWNobWVudCwgcG5hbWUsICZ2YWx1
ZSk7CiAgICAgICAgIGlmIChwbmFtZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJf
QVRUQUNITUVOVF9PQkpFQ1RfVFlQRSkKICAgICAgICAgICAgIHJldHVybiBXZWJHTEdldEluZm8o
c3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4odmFsdWUpKTsKQEAgLTMzNTIsNyArMzM1Miw3IEBA
IFdlYkdMU2hhZGVyKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmZpbmQKIAogV2ViR0xHZXRJbmZv
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0Qm9vbGVhblBhcmFtZXRlcih1bnNpZ25lZCBsb25n
IHBuYW1lKQogewotICAgIHVuc2lnbmVkIGNoYXIgdmFsdWU7CisgICAgdW5zaWduZWQgY2hhciB2
YWx1ZSA9IDA7CiAgICAgbV9jb250ZXh0LT5nZXRCb29sZWFudihwbmFtZSwgJnZhbHVlKTsKICAg
ICByZXR1cm4gV2ViR0xHZXRJbmZvKHN0YXRpY19jYXN0PGJvb2w+KHZhbHVlKSk7CiB9CkBAIC0z
MzczLDcgKzMzNzMsNyBAQCBXZWJHTEdldEluZm8gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRC
CiAKIFdlYkdMR2V0SW5mbyBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEZsb2F0UGFyYW1ldGVy
KHVuc2lnbmVkIGxvbmcgcG5hbWUpCiB7Ci0gICAgZmxvYXQgdmFsdWU7CisgICAgZmxvYXQgdmFs
dWUgPSAwOwogICAgIG1fY29udGV4dC0+Z2V0RmxvYXR2KHBuYW1lLCAmdmFsdWUpOwogICAgIHJl
dHVybiBXZWJHTEdldEluZm8oc3RhdGljX2Nhc3Q8ZmxvYXQ+KHZhbHVlKSk7CiB9CkBAIC0zMzg1
LDE0ICszMzg1LDE0IEBAIFdlYkdMR2V0SW5mbyBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEkK
IAogV2ViR0xHZXRJbmZvIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0TG9uZ1BhcmFtZXRlcih1
bnNpZ25lZCBsb25nIHBuYW1lKQogewotICAgIGludCB2YWx1ZTsKKyAgICBpbnQgdmFsdWUgPSAw
OwogICAgIG1fY29udGV4dC0+Z2V0SW50ZWdlcnYocG5hbWUsICZ2YWx1ZSk7CiAgICAgcmV0dXJu
IFdlYkdMR2V0SW5mbyhzdGF0aWNfY2FzdDxsb25nPih2YWx1ZSkpOwogfQogCiBXZWJHTEdldElu
Zm8gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRVbnNpZ25lZExvbmdQYXJhbWV0ZXIodW5zaWdu
ZWQgbG9uZyBwbmFtZSkKIHsKLSAgICBpbnQgdmFsdWU7CisgICAgaW50IHZhbHVlID0gMDsKICAg
ICBtX2NvbnRleHQtPmdldEludGVnZXJ2KHBuYW1lLCAmdmFsdWUpOwogICAgIHVuc2lnbmVkIGlu
dCB1VmFsdWUgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHZhbHVlKTsKICAgICByZXR1cm4g
V2ViR0xHZXRJbmZvKHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KHVWYWx1ZSkpOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21p
dW0uY3BwCShyZXZpc2lvbiA3MzIxNSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5LDcgKzU5LDcgQEAg
c3RhdGljIHVuc2lnbmVkIGxvYWRTaGFkZXIoR3JhcGhpY3NDb250ZQogICAgIFN0cmluZyBzb3Vy
Y2VTdHJpbmcoc2hhZGVyU291cmNlKTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+c2hhZGVy
U291cmNlKHNoYWRlciwgc291cmNlU3RyaW5nKSk7CiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQt
PmNvbXBpbGVTaGFkZXIoc2hhZGVyKSk7Ci0gICAgaW50IGNvbXBpbGVkOworICAgIGludCBjb21w
aWxlZCA9IDA7CiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPmdldFNoYWRlcml2KHNoYWRlciwg
R3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBJTEVfU1RBVFVTLCAmY29tcGlsZWQpKTsKICAgICBpZiAo
IWNvbXBpbGVkKSB7CiAgICAgICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT5kZWxldGVTaGFkZXIo
c2hhZGVyKSk7CkBAIC0yMjgsNyArMjI4LDcgQEAgdW5zaWduZWQgTGF5ZXJDaHJvbWl1bTo6Y3Jl
YXRlU2hhZGVyUHJvZwogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT5iaW5kQXR0cmliTG9jYXRp
b24ocHJvZ3JhbU9iamVjdCwgc190ZXhDb29yZEF0dHJpYkxvY2F0aW9uLCAiYV90ZXhDb29yZCIp
KTsKIAogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT5saW5rUHJvZ3JhbShwcm9ncmFtT2JqZWN0
KSk7Ci0gICAgaW50IGxpbmtlZDsKKyAgICBpbnQgbGlua2VkID0gMDsKICAgICBHTEMoY29udGV4
dCwgY29udGV4dC0+Z2V0UHJvZ3JhbWl2KHByb2dyYW1PYmplY3QsIEdyYXBoaWNzQ29udGV4dDNE
OjpMSU5LX1NUQVRVUywgJmxpbmtlZCkpOwogICAgIGlmICghbGlua2VkKSB7CiAgICAgICAgIExP
R19FUlJPUigiRmFpbGVkIHRvIGxpbmsgc2hhZGVyIHByb2dyYW0iKTsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVy
ZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDczMjE1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC04NDMsNiArODQzLDcgQEAgYm9vbCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmluaXRpYWxpemVT
aAogICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0Nv
bnRleHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfTUFHX0ZJTFRF
UiwgR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1QpKTsKIAogICAgIC8vIEdldCB0aGUgbWF4IHRl
eHR1cmUgc2l6ZSBzdXBwb3J0ZWQgYnkgdGhlIHN5c3RlbS4KKyAgICBtX21heFRleHR1cmVTaXpl
ID0gMDsKICAgICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPmdldEludGVnZXJ2KEdyYXBoaWNz
Q29udGV4dDNEOjpNQVhfVEVYVFVSRV9TSVpFLCAmbV9tYXhUZXh0dXJlU2l6ZSkpOwogCiAgICAg
Ly8gQ3JlYXRlIGFuIEZCTyBmb3IgZG9pbmcgb2Zmc2NyZWVuIHJlbmRlcmluZy4KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3BwCShyZXZp
c2lvbiA3MzIxNSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZm
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBEcmF3aW5nQnVm
ZmVyOjpyZXNldChjb25zdCBJbnRTaXplJgogCiAgICAgLy8gcmVzaXplIG11bHRpc2FtcGxlIEZC
TwogICAgIGlmIChtdWx0aXNhbXBsZSgpKSB7Ci0gICAgICAgIGludCBtYXhTYW1wbGVDb3VudDsK
KyAgICAgICAgaW50IG1heFNhbXBsZUNvdW50ID0gMDsKICAgICAgICAgCiAgICAgICAgIG1fY29u
dGV4dC0+Z2V0SW50ZWdlcnYoRXh0ZW5zaW9uczNEOjpNQVhfU0FNUExFUywgJm1heFNhbXBsZUNv
dW50KTsKICAgICAgICAgaW50IHNhbXBsZUNvdW50ID0gc3RkOjptaW4oOCwgbWF4U2FtcGxlQ291
bnQpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuY3BwCShyZXZp
c2lvbiA3MzIxNSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDcgQEAgdW5zaWduZWQgU2hhZGVyOjpsb2FkUHJv
Z3JhbShHcmFwaGljc0NvbgogICAgIGNvbnRleHQtPmF0dGFjaFNoYWRlcihwcm9ncmFtLCB2ZXJ0
ZXhTaGFkZXIpOwogICAgIGNvbnRleHQtPmF0dGFjaFNoYWRlcihwcm9ncmFtLCBmcmFnbWVudFNo
YWRlcik7CiAgICAgY29udGV4dC0+bGlua1Byb2dyYW0ocHJvZ3JhbSk7Ci0gICAgaW50IGxpbmtT
dGF0dXM7CisgICAgaW50IGxpbmtTdGF0dXMgPSAwOwogICAgIGNvbnRleHQtPmdldFByb2dyYW1p
dihwcm9ncmFtLCBHcmFwaGljc0NvbnRleHQzRDo6TElOS19TVEFUVVMsICZsaW5rU3RhdHVzKTsK
ICAgICBpZiAoIWxpbmtTdGF0dXMpCiAgICAgICAgIGNvbnRleHQtPmRlbGV0ZVByb2dyYW0ocHJv
Z3JhbSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>