<?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>79759</bug_id>
          
          <creation_ts>2012-02-28 00:14:27 -0800</creation_ts>
          <short_desc>[EFL] Implementation of missing functions in GraphicsContext3DPrivate</short_desc>
          <delta_ts>2012-03-04 18:44:00 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</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>
          <dependson>62961</dependson>
          <blocked>79766</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Hyowon Kim">hw1008.kim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>noam</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>566450</commentid>
    <comment_count>0</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2012-02-28 00:14:27 -0800</bug_when>
    <thetext>The implementation of GC3DPrivate has splited into three patches in order to keep it simple and short.

1. Bug 62961 is the initial implementation including simple functions which only call GL functions through Evas_GL_API.

2. This patch contains the implementation of a little complicated functions such as getActiveAttrib(), getShaderSource() and so on.

3. The last patch for GC3DPrivate is going to include initialization and destruction using Evas_GL APIs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566455</commentid>
    <comment_count>1</comment_count>
      <attachid>129204</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2012-02-28 00:21:37 -0800</bug_when>
    <thetext>Created attachment 129204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566665</commentid>
    <comment_count>2</comment_count>
      <attachid>129204</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-02-28 07:39:27 -0800</bug_when>
    <thetext>Comment on attachment 129204
Patch

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

LGTM, except a couple of nitpicks - please fix before committing.

&gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:434
&gt; +    if (m_syntheticErrors.size() &gt; 0) {

Use .isEmpty()

&gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:463
&gt; +        *value /= 4;

Comment for why this is /4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567349</commentid>
    <comment_count>3</comment_count>
      <attachid>129380</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2012-02-28 21:18:18 -0800</bug_when>
    <thetext>Created attachment 129380
modified patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567350</commentid>
    <comment_count>4</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2012-02-28 21:19:17 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 129204 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=129204&amp;action=review
&gt; LGTM, except a couple of nitpicks - please fix before committing.
&gt; &gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:434
&gt; &gt; +    if (m_syntheticErrors.size() &gt; 0) {
&gt; Use .isEmpty()
&gt; &gt; Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp:463
&gt; &gt; +        *value /= 4;
&gt; Comment for why this is /4

It&apos;s a really important finding!

I was a little confused about OpenGL ES 2 compliance.

Evas_GL offers the OpenGL ES 2 interface, so I removed codes for desktop-GL in getIntegerv() like GraphicsContext3DOpenGLES.cpp.

Please review this modification again. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567358</commentid>
    <comment_count>5</comment_count>
      <attachid>129380</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-02-28 21:36:03 -0800</bug_when>
    <thetext>Comment on attachment 129380
modified patch

LGTM, please have one of the EFL committers set the cq flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570346</commentid>
    <comment_count>6</comment_count>
      <attachid>129380</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-04 18:43:51 -0800</bug_when>
    <thetext>Comment on attachment 129380
modified patch

Clearing flags on attachment: 129380

Committed r109694: &lt;http://trac.webkit.org/changeset/109694&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570347</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-04 18:44:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129204</attachid>
            <date>2012-02-28 00:21:37 -0800</date>
            <delta_ts>2012-02-28 21:18:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79759-20120228172136.patch</filename>
            <type>text/plain</type>
            <size>7839</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWYzZGI3ODE3OTkxN2Uz
YzBjMjE0MzYwZmI2ZDIwMWFhMWQwZjc4ZS4uZTI2MzcxOTEyN2EzMGE0NDA1YjQ0YTk5ODcxNmQ1
ZjRiN2Q2NzQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAyLTI3ICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1l
bnRhdGlvbiBvZiBtaXNzaW5nIGZ1bmN0aW9ucyBpbiBHcmFwaGljc0NvbnRleHQzRFByaXZhdGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NzU5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGluaXRp
YWwgcGF0Y2ggKEJ1ZyA2Mjk2MSkgb25seSBjb250YWlucyBpbXBsZW1lbnRhdGlvbnMgZm9yIHNp
bXBsZSBmdW5jdGlvbnMKKyAgICAgICAgd2hpY2ggY2FsbCBHTCBmdW5jdGlvbnMgdGhyb3VnaCBF
dmFzX0dMX0FQSS4KKyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1lbnRzIGEgbGl0dGxlIGNvbXBs
aWNhdGVkIGZ1bmN0aW9ucyBzdWNoIGFzIGdldEFjdGl2ZUF0dHJpYigpLAorICAgICAgICBnZXRT
aGFkZXJTb3VyY2UoKSBhbmQgc28gb24uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBiZWhh
dmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZTo6Z2V0QWN0aXZlQXR0cmliKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEUHJpdmF0ZTo6Z2V0QWN0aXZlVW5pZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRFByaXZhdGU6OmdldEVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0SW50ZWdlcnYpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZXRQcm9ncmFtSW5mb0xvZyk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmdldFNoYWRlckluZm9Mb2cpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZXRTaGFkZXJTb3VyY2UpOgor
CiAyMDEyLTAyLTI3ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0Zvcm1zXSBNYWtlIG9yZGVyIG9mIGF0dHJpYnV0ZS9tZXRob2QgaW4gSFRNTElucHV0
RWxlbWVudC5pZGwgYXMgc2FtZSBhcyBzcGVjaWZpY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQz
RFByaXZhdGUuY3BwCmluZGV4IGY4OTI1NjRiZTRhZDQ4YmVhNjZmZGQ4MzJiNjVmYjVjNDQzYWYw
NjEuLmFiMjFiNzRmNjg4ZWU1NTQ5ZTAxYTVlOThhMTU0OTJkMTY3ODI4YzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzRFBy
aXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFw
aGljc0NvbnRleHQzRFByaXZhdGUuY3BwCkBAIC0zMzYsMTQgKzMzNiw2OCBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2VuZXJhdGVNaXBtYXAoR0MzRGVudW0gdGFyZ2V0KQogCiBi
b29sIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0QWN0aXZlQXR0cmliKFBsYXRmb3JtM0RP
YmplY3QgcHJvZ3JhbSwgR0MzRHVpbnQgaW5kZXgsIEFjdGl2ZUluZm8mIGluZm8pCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFwcm9ncmFtKSB7
CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdMX0lOVkFMSURfVkFMVUUpOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CisKKyAgICBH
TGludCBtYXhOYW1lTGVuZ3RoID0gMDsKKyAgICBtX2FwaS0+Z2xHZXRQcm9ncmFtaXYocHJvZ3Jh
bSwgR0xfQUNUSVZFX0FUVFJJQlVURV9NQVhfTEVOR1RILCAmbWF4TmFtZUxlbmd0aCk7CisgICAg
aWYgKCFtYXhOYW1lTGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBPd25BcnJh
eVB0cjxjaGFyPiBuYW1lID0gYWRvcHRBcnJheVB0cihuZXcgY2hhclttYXhOYW1lTGVuZ3RoXSk7
CisgICAgaWYgKCFuYW1lKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdMX09VVF9PRl9N
RU1PUlkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgR0xzaXplaSBsZW5n
dGggPSAwOworICAgIEdMaW50IHNpemUgPSAwOworICAgIEdMZW51bSB0eXBlID0gMDsKKyAgICBt
X2FwaS0+Z2xHZXRBY3RpdmVBdHRyaWIocHJvZ3JhbSwgaW5kZXgsIG1heE5hbWVMZW5ndGgsICZs
ZW5ndGgsICZzaXplLCAmdHlwZSwgbmFtZS5nZXQoKSk7CisgICAgaWYgKCFsZW5ndGgpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGluZm8ubmFtZSA9IFN0cmluZzo6ZnJvbVVURjgobmFt
ZS5nZXQoKSwgbGVuZ3RoKTsKKyAgICBpbmZvLnR5cGUgPSB0eXBlOworICAgIGluZm8uc2l6ZSA9
IHNpemU7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlOjpnZXRBY3RpdmVVbmlmb3JtKFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgR0MzRHVpbnQg
aW5kZXgsIEFjdGl2ZUluZm8mIGluZm8pCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKCFwcm9ncmFtKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVy
cm9yKEdMX0lOVkFMSURfVkFMVUUpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CisKKyAgICBHTGludCBtYXhOYW1lTGVuZ3RoID0gMDsK
KyAgICBtX2FwaS0+Z2xHZXRQcm9ncmFtaXYocHJvZ3JhbSwgR0xfQUNUSVZFX1VOSUZPUk1fTUFY
X0xFTkdUSCwgJm1heE5hbWVMZW5ndGgpOworICAgIGlmICghbWF4TmFtZUxlbmd0aCkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgT3duQXJyYXlQdHI8Y2hhcj4gbmFtZSA9IGFkb3B0QXJy
YXlQdHIobmV3IGNoYXJbbWF4TmFtZUxlbmd0aF0pOworICAgIGlmICghbmFtZSkgeworICAgICAg
ICBzeW50aGVzaXplR0xFcnJvcihHTF9PVVRfT0ZfTUVNT1JZKTsKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KKworICAgIEdMc2l6ZWkgbGVuZ3RoID0gMDsKKyAgICBHTGludCBzaXplID0g
MDsKKyAgICBHTGVudW0gdHlwZSA9IDA7CisgICAgbV9hcGktPmdsR2V0QWN0aXZlVW5pZm9ybShw
cm9ncmFtLCBpbmRleCwgbWF4TmFtZUxlbmd0aCwgJmxlbmd0aCwgJnNpemUsICZ0eXBlLCBuYW1l
LmdldCgpKTsKKyAgICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
aW5mby5uYW1lID0gU3RyaW5nOjpmcm9tVVRGOChuYW1lLmdldCgpLCBsZW5ndGgpOworICAgIGlu
Zm8udHlwZSA9IHR5cGU7CisgICAgaW5mby5zaXplID0gc2l6ZTsKKyAgICByZXR1cm4gdHJ1ZTsK
IH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmdldEF0dGFjaGVkU2hhZGVycyhQ
bGF0Zm9ybTNET2JqZWN0IHByb2dyYW0sIEdDM0RzaXplaSBtYXhDb3VudCwgR0MzRHNpemVpKiBj
b3VudCwgUGxhdGZvcm0zRE9iamVjdCogc2hhZGVycykKQEAgLTM3Nyw4ICs0MzEsMTQgQEAgR3Jh
cGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZXRD
b250ZXh0QXR0cmlidXRlcygpCiAKIEdDM0RlbnVtIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6
Z2V0RXJyb3IoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAg
aWYgKG1fc3ludGhldGljRXJyb3JzLnNpemUoKSA+IDApIHsKKyAgICAgICAgR0MzRGVudW0gZXJy
b3IgPSBtX3N5bnRoZXRpY0Vycm9ycy5maXJzdCgpOworICAgICAgICBtX3N5bnRoZXRpY0Vycm9y
cy5yZW1vdmUobV9zeW50aGV0aWNFcnJvcnMuYmVnaW4oKSk7CisgICAgICAgIHJldHVybiBlcnJv
cjsKKyAgICB9CisKKyAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKKyAgICByZXR1cm4gbV9hcGkt
PmdsR2V0RXJyb3IoKTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmdldEZs
b2F0dihHQzNEZW51bSBwYXJhbU5hbWUsIEdDM0RmbG9hdCogdmFsdWUpCkBAIC0zOTUsNyArNDU1
LDI0IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXJpdihHQzNEZW51bSB0YXJnCiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlOjpnZXRJbnRlZ2VydihHQzNEZW51bSBwYXJhbU5hbWUsIEdDM0RpbnQqIHZhbHVlKQog
ewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CisKKyAg
ICBzd2l0Y2ggKHBhcmFtTmFtZSkgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9G
UkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlM6CisgICAgICAgIG1fYXBpLT5nbEdldEludGVnZXJ2KEdM
X01BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlMsIHZhbHVlKTsKKyAgICAgICAgKnZhbHVlIC89
IDQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9WRVJU
RVhfVU5JRk9STV9WRUNUT1JTOgorICAgICAgICBtX2FwaS0+Z2xHZXRJbnRlZ2VydihHTF9NQVhf
VkVSVEVYX1VOSUZPUk1fVkVDVE9SUywgdmFsdWUpOworICAgICAgICAqdmFsdWUgLz0gNDsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1ZBUllJTkdfVkVD
VE9SUzoKKyAgICAgICAgbV9hcGktPmdsR2V0SW50ZWdlcnYoR0xfTUFYX1ZBUllJTkdfVkVDVE9S
UywgdmFsdWUpOworICAgICAgICAqdmFsdWUgLz0gNDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVm
YXVsdDoKKyAgICAgICAgbV9hcGktPmdsR2V0SW50ZWdlcnYocGFyYW1OYW1lLCB2YWx1ZSk7Cisg
ICAgfQogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0UHJvZ3JhbWl2KFBs
YXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgR0MzRGVudW0gcGFyYW1OYW1lLCBHQzNEaW50KiB2YWx1
ZSkKQEAgLTQwNiw4ICs0ODMsMjMgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6Omdl
dFByb2dyYW1pdihQbGF0Zm9ybTNET2JqZWN0IHByb2dyYW0sIEdDM0RlbnVtIHAKIAogU3RyaW5n
IEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0UHJvZ3JhbUluZm9Mb2coUGxhdGZvcm0zRE9i
amVjdCBwcm9ncmFtKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmlu
ZygpOworICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOworCisgICAgR0xpbnQgbG9nTGVuZ3RoID0g
MDsKKyAgICBtX2FwaS0+Z2xHZXRQcm9ncmFtaXYocHJvZ3JhbSwgR3JhcGhpY3NDb250ZXh0M0Q6
OklORk9fTE9HX0xFTkdUSCwgJmxvZ0xlbmd0aCk7CisgICAgaWYgKCFsb2dMZW5ndGgpCisgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIE93bkFycmF5UHRyPGNoYXI+IGxvZyA9IGFkb3B0
QXJyYXlQdHIobmV3IGNoYXJbbG9nTGVuZ3RoXSk7CisgICAgaWYgKCFsb2cpCisgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKKworICAgIEdMaW50IHJldHVybmVkTG9nTGVuZ3RoID0gMDsKKyAgICBt
X2FwaS0+Z2xHZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtLCBsb2dMZW5ndGgsICZyZXR1cm5lZExv
Z0xlbmd0aCwgbG9nLmdldCgpKTsKKyAgICBBU1NFUlQobG9nTGVuZ3RoID09IHJldHVybmVkTG9n
TGVuZ3RoICsgMSk7CisKKyAgICBTdHJpbmcgcmVzdWx0ID0gU3RyaW5nOjpmcm9tVVRGOChsb2cu
Z2V0KCksIHJldHVybmVkTG9nTGVuZ3RoKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiB2b2lk
IEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyaXYoR0Mz
RGVudW0gdGFyZ2V0LCBHQzNEZW51bSBwYXJhbU5hbWUsIEdDM0RpbnQqIHZhbHVlKQpAQCAtNDI0
LDE0ICs1MTYsNDQgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmdldFNoYWRlcml2
KFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVyLCBHQzNEZW51bSBwYXIKIAogU3RyaW5nIEdyYXBoaWNz
Q29udGV4dDNEUHJpdmF0ZTo6Z2V0U2hhZGVySW5mb0xvZyhQbGF0Zm9ybTNET2JqZWN0IHNoYWRl
cikKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBt
YWtlQ29udGV4dEN1cnJlbnQoKTsKKworICAgIEdMaW50IGxvZ0xlbmd0aCA9IDA7CisgICAgbV9h
cGktPmdsR2V0U2hhZGVyaXYoc2hhZGVyLCBHcmFwaGljc0NvbnRleHQzRDo6SU5GT19MT0dfTEVO
R1RILCAmbG9nTGVuZ3RoKTsKKyAgICBpZiAobG9nTGVuZ3RoIDw9IDEpCisgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKKworICAgIE93bkFycmF5UHRyPGNoYXI+IGxvZyA9IGFkb3B0QXJyYXlQdHIo
bmV3IGNoYXJbbG9nTGVuZ3RoXSk7CisgICAgaWYgKCFsb2cpCisgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKKworICAgIEdMaW50IHJldHVybmVkTG9nTGVuZ3RoID0gMDsKKyAgICBtX2FwaS0+Z2xH
ZXRTaGFkZXJJbmZvTG9nKHNoYWRlciwgbG9nTGVuZ3RoLCAmcmV0dXJuZWRMb2dMZW5ndGgsIGxv
Zy5nZXQoKSk7CisgICAgQVNTRVJUKGxvZ0xlbmd0aCA9PSByZXR1cm5lZExvZ0xlbmd0aCArIDEp
OworCisgICAgU3RyaW5nIHJlc3VsdCA9IFN0cmluZzo6ZnJvbVVURjgobG9nLmdldCgpLCByZXR1
cm5lZExvZ0xlbmd0aCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogU3RyaW5nIEdyYXBoaWNz
Q29udGV4dDNEUHJpdmF0ZTo6Z2V0U2hhZGVyU291cmNlKFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVy
KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIG1h
a2VDb250ZXh0Q3VycmVudCgpOworCisgICAgR0xpbnQgbG9nTGVuZ3RoID0gMDsKKyAgICBtX2Fw
aS0+Z2xHZXRTaGFkZXJpdihzaGFkZXIsIEdMX1NIQURFUl9TT1VSQ0VfTEVOR1RILCAmbG9nTGVu
Z3RoKTsKKyAgICBpZiAobG9nTGVuZ3RoIDw9IDEpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
KworICAgIE93bkFycmF5UHRyPGNoYXI+IGxvZyA9IGFkb3B0QXJyYXlQdHIobmV3IGNoYXJbbG9n
TGVuZ3RoXSk7CisgICAgaWYgKCFsb2cpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAg
IEdMaW50IHJldHVybmVkTG9nTGVuZ3RoID0gMDsKKyAgICBtX2FwaS0+Z2xHZXRTaGFkZXJTb3Vy
Y2Uoc2hhZGVyLCBsb2dMZW5ndGgsICZyZXR1cm5lZExvZ0xlbmd0aCwgbG9nLmdldCgpKTsKKyAg
ICBBU1NFUlQobG9nTGVuZ3RoID09IHJldHVybmVkTG9nTGVuZ3RoICsgMSk7CisKKyAgICBTdHJp
bmcgcmVzdWx0ID0gU3RyaW5nOjpmcm9tVVRGOChsb2cuZ2V0KCksIHJldHVybmVkTG9nTGVuZ3Ro
KTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiBTdHJpbmcgR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlOjpnZXRTdHJpbmcoR0MzRGVudW0gbmFtZSkK
</data>
<flag name="review"
          id="131818"
          type_id="1"
          status="+"
          setter="noam"
    />
    <flag name="commit-queue"
          id="131819"
          type_id="3"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129380</attachid>
            <date>2012-02-28 21:18:18 -0800</date>
            <delta_ts>2012-03-04 18:43:51 -0800</delta_ts>
            <desc>modified patch</desc>
            <filename>bugzilla_20120229_2.patch</filename>
            <type>text/plain</type>
            <size>7143</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlZjNkYjc4Li43OTgxMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTItMDItMjggIEh5b3dvbiBLaW0gIDxodzEwMDgua2ltQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdIEltcGxlbWVudGF0aW9uIG9mIG1pc3NpbmcgZnVuY3Rpb25zIGluIEdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzk3NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgaW5pdGlhbCBwYXRjaCAoQnVnIDYyOTYxKSBvbmx5IGNvbnRhaW5zIGlt
cGxlbWVudGF0aW9ucyBmb3Igc2ltcGxlIGZ1bmN0aW9ucworICAgICAgICB3aGljaCBjYWxsIEdM
IGZ1bmN0aW9ucyB0aHJvdWdoIEV2YXNfR0xfQVBJLgorICAgICAgICBUaGlzIHBhdGNoIGltcGxl
bWVudHMgYSBsaXR0bGUgY29tcGxpY2F0ZWQgZnVuY3Rpb25zIHN1Y2ggYXMgZ2V0QWN0aXZlQXR0
cmliKCksCisgICAgICAgIGdldFNoYWRlclNvdXJjZSgpIGFuZCBzbyBvbi4KKworICAgICAgICBO
byBuZXcgdGVzdHMuIE5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZXRBY3RpdmVBdHRyaWIpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZXRBY3RpdmVVbmlmb3JtKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0RXJyb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZXRJbnRlZ2Vydik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmdldFByb2dyYW1JbmZv
TG9nKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0U2hh
ZGVySW5mb0xvZyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6
OmdldFNoYWRlclNvdXJjZSk6CisKIDIwMTItMDItMjcgIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2lu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbRm9ybXNdIE1ha2Ugb3JkZXIgb2YgYXR0cmlidXRl
L21ldGhvZCBpbiBIVE1MSW5wdXRFbGVtZW50LmlkbCBhcyBzYW1lIGFzIHNwZWNpZmljYXRpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGlj
c0NvbnRleHQzRFByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWZsL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKaW5kZXggZjg5MjU2NC4uZTEwMDNkOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNz
Q29udGV4dDNEUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZWZsL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKQEAgLTMzNiwxNCArMzM2LDY4IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZW5lcmF0ZU1pcG1hcChHQzNEZW51bSB0
YXJnZXQpCiAKIGJvb2wgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZXRBY3RpdmVBdHRyaWIo
UGxhdGZvcm0zRE9iamVjdCBwcm9ncmFtLCBHQzNEdWludCBpbmRleCwgQWN0aXZlSW5mbyYgaW5m
bykKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAo
IXByb2dyYW0pIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR0xfSU5WQUxJRF9WQUxVRSk7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBtYWtlQ29udGV4dEN1cnJlbnQo
KTsKKworICAgIEdMaW50IG1heE5hbWVMZW5ndGggPSAwOworICAgIG1fYXBpLT5nbEdldFByb2dy
YW1pdihwcm9ncmFtLCBHTF9BQ1RJVkVfQVRUUklCVVRFX01BWF9MRU5HVEgsICZtYXhOYW1lTGVu
Z3RoKTsKKyAgICBpZiAoIW1heE5hbWVMZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIE93bkFycmF5UHRyPGNoYXI+IG5hbWUgPSBhZG9wdEFycmF5UHRyKG5ldyBjaGFyW21heE5h
bWVMZW5ndGhdKTsKKyAgICBpZiAoIW5hbWUpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3Io
R0xfT1VUX09GX01FTU9SWSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBH
THNpemVpIGxlbmd0aCA9IDA7CisgICAgR0xpbnQgc2l6ZSA9IDA7CisgICAgR0xlbnVtIHR5cGUg
PSAwOworICAgIG1fYXBpLT5nbEdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCBpbmRleCwgbWF4TmFt
ZUxlbmd0aCwgJmxlbmd0aCwgJnNpemUsICZ0eXBlLCBuYW1lLmdldCgpKTsKKyAgICBpZiAoIWxl
bmd0aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaW5mby5uYW1lID0gU3RyaW5nOjpm
cm9tVVRGOChuYW1lLmdldCgpLCBsZW5ndGgpOworICAgIGluZm8udHlwZSA9IHR5cGU7CisgICAg
aW5mby5zaXplID0gc2l6ZTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBHcmFwaGljc0Nv
bnRleHQzRFByaXZhdGU6OmdldEFjdGl2ZVVuaWZvcm0oUGxhdGZvcm0zRE9iamVjdCBwcm9ncmFt
LCBHQzNEdWludCBpbmRleCwgQWN0aXZlSW5mbyYgaW5mbykKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIXByb2dyYW0pIHsKKyAgICAgICAgc3lu
dGhlc2l6ZUdMRXJyb3IoR0xfSU5WQUxJRF9WQUxVRSk7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKKworICAgIEdMaW50IG1heE5hbWVM
ZW5ndGggPSAwOworICAgIG1fYXBpLT5nbEdldFByb2dyYW1pdihwcm9ncmFtLCBHTF9BQ1RJVkVf
VU5JRk9STV9NQVhfTEVOR1RILCAmbWF4TmFtZUxlbmd0aCk7CisgICAgaWYgKCFtYXhOYW1lTGVu
Z3RoKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBPd25BcnJheVB0cjxjaGFyPiBuYW1l
ID0gYWRvcHRBcnJheVB0cihuZXcgY2hhclttYXhOYW1lTGVuZ3RoXSk7CisgICAgaWYgKCFuYW1l
KSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdMX09VVF9PRl9NRU1PUlkpOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgR0xzaXplaSBsZW5ndGggPSAwOworICAgIEdM
aW50IHNpemUgPSAwOworICAgIEdMZW51bSB0eXBlID0gMDsKKyAgICBtX2FwaS0+Z2xHZXRBY3Rp
dmVVbmlmb3JtKHByb2dyYW0sIGluZGV4LCBtYXhOYW1lTGVuZ3RoLCAmbGVuZ3RoLCAmc2l6ZSwg
JnR5cGUsIG5hbWUuZ2V0KCkpOworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBpbmZvLm5hbWUgPSBTdHJpbmc6OmZyb21VVEY4KG5hbWUuZ2V0KCksIGxlbmd0
aCk7CisgICAgaW5mby50eXBlID0gdHlwZTsKKyAgICBpbmZvLnNpemUgPSBzaXplOworICAgIHJl
dHVybiB0cnVlOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0QXR0YWNo
ZWRTaGFkZXJzKFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgR0MzRHNpemVpIG1heENvdW50LCBH
QzNEc2l6ZWkqIGNvdW50LCBQbGF0Zm9ybTNET2JqZWN0KiBzaGFkZXJzKQpAQCAtMzc3LDggKzQz
MSwxNCBAQCBHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyBHcmFwaGljc0NvbnRleHQzRFBy
aXZhdGU6OmdldENvbnRleHRBdHRyaWJ1dGVzKCkKIAogR0MzRGVudW0gR3JhcGhpY3NDb250ZXh0
M0RQcml2YXRlOjpnZXRFcnJvcigpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1
cm4gMDsKKyAgICBpZiAoIW1fc3ludGhldGljRXJyb3JzLmlzRW1wdHkoKSkgeworICAgICAgICBH
QzNEZW51bSBlcnJvciA9IG1fc3ludGhldGljRXJyb3JzLmZpcnN0KCk7CisgICAgICAgIG1fc3lu
dGhldGljRXJyb3JzLnJlbW92ZShtX3N5bnRoZXRpY0Vycm9ycy5iZWdpbigpKTsKKyAgICAgICAg
cmV0dXJuIGVycm9yOworICAgIH0KKworICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOworICAgIHJl
dHVybiBtX2FwaS0+Z2xHZXRFcnJvcigpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZTo6Z2V0RmxvYXR2KEdDM0RlbnVtIHBhcmFtTmFtZSwgR0MzRGZsb2F0KiB2YWx1ZSkKQEAg
LTM5NSw3ICs0NTUsOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0RnJhbWVi
dWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXYoR0MzRGVudW0gdGFyZwogCiB2b2lkIEdyYXBoaWNz
Q29udGV4dDNEUHJpdmF0ZTo6Z2V0SW50ZWdlcnYoR0MzRGVudW0gcGFyYW1OYW1lLCBHQzNEaW50
KiB2YWx1ZSkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1ha2VDb250ZXh0Q3VycmVu
dCgpOworICAgIG1fYXBpLT5nbEdldEludGVnZXJ2KHBhcmFtTmFtZSwgdmFsdWUpOwogfQogCiB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Z2V0UHJvZ3JhbWl2KFBsYXRmb3JtM0RPYmpl
Y3QgcHJvZ3JhbSwgR0MzRGVudW0gcGFyYW1OYW1lLCBHQzNEaW50KiB2YWx1ZSkKQEAgLTQwNiw4
ICs0NjcsMjMgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmdldFByb2dyYW1pdihQ
bGF0Zm9ybTNET2JqZWN0IHByb2dyYW0sIEdDM0RlbnVtIHAKIAogU3RyaW5nIEdyYXBoaWNzQ29u
dGV4dDNEUHJpdmF0ZTo6Z2V0UHJvZ3JhbUluZm9Mb2coUGxhdGZvcm0zRE9iamVjdCBwcm9ncmFt
KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIG1h
a2VDb250ZXh0Q3VycmVudCgpOworCisgICAgR0xpbnQgbG9nTGVuZ3RoID0gMDsKKyAgICBtX2Fw
aS0+Z2xHZXRQcm9ncmFtaXYocHJvZ3JhbSwgR3JhcGhpY3NDb250ZXh0M0Q6OklORk9fTE9HX0xF
TkdUSCwgJmxvZ0xlbmd0aCk7CisgICAgaWYgKCFsb2dMZW5ndGgpCisgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKKworICAgIE93bkFycmF5UHRyPGNoYXI+IGxvZyA9IGFkb3B0QXJyYXlQdHIobmV3
IGNoYXJbbG9nTGVuZ3RoXSk7CisgICAgaWYgKCFsb2cpCisgICAgICAgIHJldHVybiBTdHJpbmco
KTsKKworICAgIEdMaW50IHJldHVybmVkTG9nTGVuZ3RoID0gMDsKKyAgICBtX2FwaS0+Z2xHZXRQ
cm9ncmFtSW5mb0xvZyhwcm9ncmFtLCBsb2dMZW5ndGgsICZyZXR1cm5lZExvZ0xlbmd0aCwgbG9n
LmdldCgpKTsKKyAgICBBU1NFUlQobG9nTGVuZ3RoID09IHJldHVybmVkTG9nTGVuZ3RoICsgMSk7
CisKKyAgICBTdHJpbmcgcmVzdWx0ID0gU3RyaW5nOjpmcm9tVVRGOChsb2cuZ2V0KCksIHJldHVy
bmVkTG9nTGVuZ3RoKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEUHJpdmF0ZTo6Z2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyaXYoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEZW51bSBwYXJhbU5hbWUsIEdDM0RpbnQqIHZhbHVlKQpAQCAtNDI0LDE0ICs1MDAsNDQg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmdldFNoYWRlcml2KFBsYXRmb3JtM0RP
YmplY3Qgc2hhZGVyLCBHQzNEZW51bSBwYXIKIAogU3RyaW5nIEdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZTo6Z2V0U2hhZGVySW5mb0xvZyhQbGF0Zm9ybTNET2JqZWN0IHNoYWRlcikKIHsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKKworICAgIEdMaW50IGxvZ0xlbmd0aCA9IDA7CisgICAgbV9hcGktPmdsR2V0U2hh
ZGVyaXYoc2hhZGVyLCBHcmFwaGljc0NvbnRleHQzRDo6SU5GT19MT0dfTEVOR1RILCAmbG9nTGVu
Z3RoKTsKKyAgICBpZiAobG9nTGVuZ3RoIDw9IDEpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
KworICAgIE93bkFycmF5UHRyPGNoYXI+IGxvZyA9IGFkb3B0QXJyYXlQdHIobmV3IGNoYXJbbG9n
TGVuZ3RoXSk7CisgICAgaWYgKCFsb2cpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAg
IEdMaW50IHJldHVybmVkTG9nTGVuZ3RoID0gMDsKKyAgICBtX2FwaS0+Z2xHZXRTaGFkZXJJbmZv
TG9nKHNoYWRlciwgbG9nTGVuZ3RoLCAmcmV0dXJuZWRMb2dMZW5ndGgsIGxvZy5nZXQoKSk7Cisg
ICAgQVNTRVJUKGxvZ0xlbmd0aCA9PSByZXR1cm5lZExvZ0xlbmd0aCArIDEpOworCisgICAgU3Ry
aW5nIHJlc3VsdCA9IFN0cmluZzo6ZnJvbVVURjgobG9nLmdldCgpLCByZXR1cm5lZExvZ0xlbmd0
aCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogU3RyaW5nIEdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZTo6Z2V0U2hhZGVyU291cmNlKFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVyKQogewotICAgIG5v
dEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpOworCisgICAgR0xpbnQgbG9nTGVuZ3RoID0gMDsKKyAgICBtX2FwaS0+Z2xHZXRTaGFk
ZXJpdihzaGFkZXIsIEdMX1NIQURFUl9TT1VSQ0VfTEVOR1RILCAmbG9nTGVuZ3RoKTsKKyAgICBp
ZiAobG9nTGVuZ3RoIDw9IDEpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIE93bkFy
cmF5UHRyPGNoYXI+IGxvZyA9IGFkb3B0QXJyYXlQdHIobmV3IGNoYXJbbG9nTGVuZ3RoXSk7Cisg
ICAgaWYgKCFsb2cpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIEdMaW50IHJldHVy
bmVkTG9nTGVuZ3RoID0gMDsKKyAgICBtX2FwaS0+Z2xHZXRTaGFkZXJTb3VyY2Uoc2hhZGVyLCBs
b2dMZW5ndGgsICZyZXR1cm5lZExvZ0xlbmd0aCwgbG9nLmdldCgpKTsKKyAgICBBU1NFUlQobG9n
TGVuZ3RoID09IHJldHVybmVkTG9nTGVuZ3RoICsgMSk7CisKKyAgICBTdHJpbmcgcmVzdWx0ID0g
U3RyaW5nOjpmcm9tVVRGOChsb2cuZ2V0KCksIHJldHVybmVkTG9nTGVuZ3RoKTsKKyAgICByZXR1
cm4gcmVzdWx0OwogfQogCiBTdHJpbmcgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpnZXRTdHJp
bmcoR0MzRGVudW0gbmFtZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>