<?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>42259</bug_id>
          
          <creation_ts>2010-07-14 07:14:44 -0700</creation_ts>
          <short_desc>[Chromium] &lt;input type=number&gt; UI implementation for Windows</short_desc>
          <delta_ts>2010-07-16 15:09:26 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Windows XP</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>42260</dependson>
          <blocked>38570</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>251171</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-14 07:14:44 -0700</bug_when>
    <thetext>[Chromium] &lt;input type=number&gt; UI implementation for Windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251730</commentid>
    <comment_count>1</comment_count>
      <attachid>61616</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-15 00:56:06 -0700</bug_when>
    <thetext>Created attachment 61616
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251996</commentid>
    <comment_count>2</comment_count>
      <attachid>61616</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2010-07-15 11:12:34 -0700</bug_when>
    <thetext>Comment on attachment 61616
Patch

WebCore/rendering/RenderThemeChromiumWin.cpp:498
 +      else if (isReadOnlyControl(o))
I think these two conditions might be clearer joined together as:

else if (isReadOnlyControl(o))
  result = (appearance == TextFieldPart || appearance == TextAreaPart || appearance == SearchFieldPart) ? ETS_READONLY : TS_DISABLED;

WebCore/rendering/RenderThemeChromiumWin.h:104
 +              NoneOrDownButton,
Nit: I don&apos;t see any reason not to do
    None,
    SpinButtonDown,
    SpinButtonUp,
...which seems clearer to me (even though I know the logic you have works correctly).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252249</commentid>
    <comment_count>3</comment_count>
      <attachid>61753</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-15 17:36:18 -0700</bug_when>
    <thetext>Created attachment 61753
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252250</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-15 17:37:12 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 61616 [details])
&gt; WebCore/rendering/RenderThemeChromiumWin.cpp:498
&gt;  +      else if (isReadOnlyControl(o))
&gt; I think these two conditions might be clearer joined together as:
&gt; 
&gt; else if (isReadOnlyControl(o))
&gt;   result = (appearance == TextFieldPart || appearance == TextAreaPart || appearance == SearchFieldPart) ? ETS_READONLY : TS_DISABLED;
&gt; 
&gt; WebCore/rendering/RenderThemeChromiumWin.h:104
&gt;  +              NoneOrDownButton,
&gt; Nit: I don&apos;t see any reason not to do
&gt;     None,
&gt;     SpinButtonDown,
&gt;     SpinButtonUp,
&gt; ...which seems clearer to me (even though I know the logic you have works correctly).

Peter, thank you for the comments.
They are reasonable.  I changed so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252598</commentid>
    <comment_count>5</comment_count>
      <attachid>61753</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-07-16 10:51:06 -0700</bug_when>
    <thetext>Comment on attachment 61753
Patch 2

WebCore/rendering/RenderThemeChromiumWin.cpp:685
 +      WebCore::ThemePainter upPainter(info.context, half);
nit: no need for the WebCore:: prefix, right?

WebCore/rendering/RenderThemeChromiumWin.cpp:694
 +      WebCore::ThemePainter downPainter(info.context, half);
ditto


R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252717</commentid>
    <comment_count>6</comment_count>
      <attachid>61753</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-16 15:05:58 -0700</bug_when>
    <thetext>Comment on attachment 61753
Patch 2

Clearing flags on attachment: 61753

Committed r63589: &lt;http://trac.webkit.org/changeset/63589&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252718</commentid>
    <comment_count>7</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-16 15:06:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252720</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-16 15:09:26 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 61753 [details])
&gt; WebCore/rendering/RenderThemeChromiumWin.cpp:685
&gt;  +      WebCore::ThemePainter upPainter(info.context, half);
&gt; nit: no need for the WebCore:: prefix, right?

Right.  Other functions have the same issues and I don&apos;t have a Windows develop machine at this moment.  So I committed this patch as is and will fix them later.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61616</attachid>
            <date>2010-07-15 00:56:06 -0700</date>
            <delta_ts>2010-07-15 17:36:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42259-20100715165604.patch</filename>
            <type>text/plain</type>
            <size>15962</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzMwMzA4MzU4ZDY4MjZmYzU1NmZkYThkMGRhYzQ5NTY1NDMyYTA0Zi4uODlmM2JjOWQ1OTYyOTA1
ZDdjZTQwOGMwNDExMzNjYzRkYmRiMDAyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0wNy0xNSAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSA8aW5wdXQgdHlwZT1udW1iZXI+IFVJ
IGltcGxlbWVudGF0aW9uIGZvciBXaW5kb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1OQorCisgICAgICAgIE5vIGFkZGl0aW9uYWwgdGVzdHMu
ICBFeGlzdGluZyB0ZXN0cyBjb3ZlciB0aGlzIGNoYW5nZSBhbmQgd2UnbGwKKyAgICAgICAgdXBk
YXRlIGV4cGVjdGF0aW9ucy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVt
QnJpZGdlLmg6IEFkZCBwYWludFNwaW5CdXR0b24oKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNo
cm9taXVtV2luOjpkZXRlcm1pbmVTdGF0ZSk6CisgICAgICAgICBBZGQgQ29udHJvbFN1YlBhcnQg
cGFyYW1ldGVyIGFuZCBhZGQgc3VwcG9ydCBmb3Igc3BpbiBidXR0b25zLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6ZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKTogZGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtV2luOjpnZXRUaGVtZURh
dGEpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1XaW46OmFk
anVzdElubmVyU3BpbkJ1dHRvblN0eWxlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZUNocm9taXVtV2luOjpwYWludElubmVyU3BpbkJ1dHRvbik6IEFkZGVkLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmg6CisgICAgICAgICAgRGVjbGFy
ZSBDb250cm9sU3VicGFydCwgYW5kIGFkZCBpdCB0byBzb21lIGZ1bmN0aW9ucy4KKwogMjAxMC0w
Ny0xNCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgYnVpbGQgZml4IGZvciByNjMzMDAuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0No
cm9taXVtQnJpZGdlLmgKaW5kZXggMzI4NGFhZTkxYTliMmRlZjg2MzE0NmRlNjBhMWZmYzkyMGZl
NzZmYi4uMmQ5Njk1ZWUyYjdmNTc0ZWFjY2Y4Y2YwNmUwZmUwNGJhMWQ3OTc3NiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaApAQCAtMjQxLDYgKzI0MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGludCBw
YXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsIGNvbnN0IEludFJlY3QmKTsKICAgICAg
ICAgc3RhdGljIHZvaWQgcGFpbnRTY3JvbGxiYXJUcmFjaygKICAgICAgICAgICAgIEdyYXBoaWNz
Q29udGV4dCosIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsIGNvbnN0IElu
dFJlY3QmLCBjb25zdCBJbnRSZWN0JiBhbGlnblJlY3QpOworICAgICAgICBzdGF0aWMgdm9pZCBw
YWludFNwaW5CdXR0b24oCisgICAgICAgICAgICBHcmFwaGljc0NvbnRleHQqLCBpbnQgcGFydCwg
aW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgICAgIHN0
YXRpYyB2b2lkIHBhaW50VGV4dEZpZWxkKAogICAgICAgICAgICAgR3JhcGhpY3NDb250ZXh0Kiwg
aW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwgY29uc3QgSW50UmVjdCYsIGNv
bnN0IENvbG9yJiwgYm9vbCBmaWxsQ29udGVudEFyZWEsIGJvb2wgZHJhd0VkZ2VzKTsKICAgICAg
ICAgc3RhdGljIHZvaWQgcGFpbnRUcmFja2JhcigKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bVdpbi5jcHAKaW5kZXggMTE3MmY5Njk1ZGYxZDdkY2E2YWY4NjdjZWRjNGM0
N2I2N2UxMDMyYi4uMmJmYjM2MzFiMWM5ZjFjODUzMTNlMTUyNDhjMjJlYWNhMzE5MzZkMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHAKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHAKQEAgLTQ4Nyw3
ICs0ODcsNyBAQCBkb3VibGUgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6Y2FyZXRCbGlua0ludGVy
dmFsSW50ZXJuYWwoKSBjb25zdAogICAgIHJldHVybiBibGlua0ludGVydmFsOwogfQogCi11bnNp
Z25lZCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpkZXRlcm1pbmVTdGF0ZShSZW5kZXJPYmplY3Qq
IG8pCit1bnNpZ25lZCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpkZXRlcm1pbmVTdGF0ZShSZW5k
ZXJPYmplY3QqIG8sIENvbnRyb2xTdWJQYXJ0IHN1YlBhcnQpCiB7CiAgICAgdW5zaWduZWQgcmVz
dWx0ID0gVFNfTk9STUFMOwogICAgIENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBvLT5zdHlsZSgp
LT5hcHBlYXJhbmNlKCk7CkBAIC00OTUsMTEgKzQ5NSwxNCBAQCB1bnNpZ25lZCBSZW5kZXJUaGVt
ZUNocm9taXVtV2luOjpkZXRlcm1pbmVTdGF0ZShSZW5kZXJPYmplY3QqIG8pCiAgICAgICAgIHJl
c3VsdCA9IFRTX0RJU0FCTEVEOwogICAgIGVsc2UgaWYgKGlzUmVhZE9ubHlDb250cm9sKG8pICYm
IChUZXh0RmllbGRQYXJ0ID09IGFwcGVhcmFuY2UgfHwgVGV4dEFyZWFQYXJ0ID09IGFwcGVhcmFu
Y2UgfHwgU2VhcmNoRmllbGRQYXJ0ID09IGFwcGVhcmFuY2UpKQogICAgICAgICByZXN1bHQgPSBF
VFNfUkVBRE9OTFk7IC8vIFJlYWRvbmx5IGlzIHN1cHBvcnRlZCBvbiB0ZXh0ZmllbGRzLgotICAg
IGVsc2UgaWYgKGlzUHJlc3NlZChvKSkgLy8gQWN0aXZlIG92ZXJyaWRlcyBob3ZlciBhbmQgZm9j
dXNlZC4KKyAgICBlbHNlIGlmIChpc1JlYWRPbmx5Q29udHJvbChvKSkKKyAgICAgICAgIHJlc3Vs
dCA9IFRTX0RJU0FCTEVEOworICAgIC8vIEFjdGl2ZSBvdmVycmlkZXMgaG92ZXIgYW5kIGZvY3Vz
ZWQuCisgICAgZWxzZSBpZiAoaXNQcmVzc2VkKG8pICYmIChzdWJQYXJ0ID09IFVwQnV0dG9uKSA9
PSBpc1NwaW5VcEJ1dHRvblBhcnRQcmVzc2VkKG8pKQogICAgICAgICByZXN1bHQgPSBUU19QUkVT
U0VEOwogICAgIGVsc2UgaWYgKHN1cHBvcnRzRm9jdXMoYXBwZWFyYW5jZSkgJiYgaXNGb2N1c2Vk
KG8pKQogICAgICAgICByZXN1bHQgPSBFVFNfRk9DVVNFRDsKLSAgICBlbHNlIGlmIChpc0hvdmVy
ZWQobykpCisgICAgZWxzZSBpZiAoaXNIb3ZlcmVkKG8pICYmIChzdWJQYXJ0ID09IFVwQnV0dG9u
KSA9PSBpc1NwaW5VcEJ1dHRvblBhcnRIb3ZlcmVkKG8pKQogICAgICAgICByZXN1bHQgPSBUU19I
T1Q7CiAKICAgICAvLyBDQlNfVU5DSEVDS0VEKjogMS00CkBAIC01MjYsNyArNTI5LDcgQEAgdW5z
aWduZWQgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6ZGV0ZXJtaW5lU2xpZGVyVGh1bWJTdGF0ZShS
ZW5kZXJPYmplY3QqIG8pCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdW5zaWduZWQgUmVuZGVy
VGhlbWVDaHJvbWl1bVdpbjo6ZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKFJlbmRlck9iamVjdCogbykK
K3Vuc2lnbmVkIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OmRldGVybWluZUNsYXNzaWNTdGF0ZShS
ZW5kZXJPYmplY3QqIG8sIENvbnRyb2xTdWJQYXJ0IHN1YlBhcnQpCiB7CiAgICAgdW5zaWduZWQg
cmVzdWx0ID0gMDsKIApAQCAtNTQ4LDEzICs1NTEsMTQgQEAgdW5zaWduZWQgUmVuZGVyVGhlbWVD
aHJvbWl1bVdpbjo6ZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKFJlbmRlck9iamVjdCogbykKICAgICAg
ICAgZWxzZSBpZiAoaXNIb3ZlcmVkKG8pKQogICAgICAgICAgICAgcmVzdWx0ID0gREZDU19IT1Q7
CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKCFpc0VuYWJsZWQobykpCisgICAgICAgIGlmICgh
aXNFbmFibGVkKG8pIHx8IGlzUmVhZE9ubHlDb250cm9sKG8pKQogICAgICAgICAgICAgcmVzdWx0
ID0gREZDU19JTkFDVElWRTsKLSAgICAgICAgZWxzZSBpZiAoaXNQcmVzc2VkKG8pKSAvLyBBY3Rp
dmUgc3VwZXJzZWRlcyBob3ZlcgorICAgICAgICAvLyBBY3RpdmUgc3VwZXJzZWRlcyBob3Zlcgor
ICAgICAgICBlbHNlIGlmIChpc1ByZXNzZWQobykgJiYgKHN1YlBhcnQgPT0gVXBCdXR0b24pID09
IGlzU3BpblVwQnV0dG9uUGFydFByZXNzZWQobykpCiAgICAgICAgICAgICByZXN1bHQgPSBERkNT
X1BVU0hFRDsKICAgICAgICAgZWxzZSBpZiAoc3VwcG9ydHNGb2N1cyhwYXJ0KSAmJiBpc0ZvY3Vz
ZWQobykpIC8vIFNvIGRvZXMgZm9jdXNlZAogICAgICAgICAgICAgcmVzdWx0ID0gMDsKLSAgICAg
ICAgZWxzZSBpZiAoaXNIb3ZlcmVkKG8pKQorICAgICAgICBlbHNlIGlmIChpc0hvdmVyZWQobykg
JiYgKHN1YlBhcnQgPT0gVXBCdXR0b24pID09IGlzU3BpblVwQnV0dG9uUGFydEhvdmVyZWQobykp
CiAgICAgICAgICAgICByZXN1bHQgPSBERkNTX0hPVDsKICAgICAgICAgLy8gQ2xhc3NpYyB0aGVt
ZSBjYW4ndCByZXByZXNlbnQgaW5kZXRlcm1pbmF0ZSBzdGF0ZXMuIFVzZSB1bmNoZWNrZWQgYXBw
ZWFyYW5jZS4KICAgICAgICAgaWYgKGlzQ2hlY2tlZChvKSAmJiAhaXNJbmRldGVybWluYXRlKG8p
KQpAQCAtNTYzLDcgKzU2Nyw3IEBAIHVuc2lnbmVkIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OmRl
dGVybWluZUNsYXNzaWNTdGF0ZShSZW5kZXJPYmplY3QqIG8pCiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIAotVGhlbWVEYXRhIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OmdldFRoZW1lRGF0YShSZW5k
ZXJPYmplY3QqIG8pCitUaGVtZURhdGEgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6Z2V0VGhlbWVE
YXRhKFJlbmRlck9iamVjdCogbywgQ29udHJvbFN1YlBhcnQgc3ViUGFydCkKIHsKICAgICBUaGVt
ZURhdGEgcmVzdWx0OwogICAgIHN3aXRjaCAoby0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpKSB7CkBA
IC02MDgsOSArNjEyLDE0IEBAIFRoZW1lRGF0YSBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpnZXRU
aGVtZURhdGEoUmVuZGVyT2JqZWN0KiBvKQogICAgICAgICByZXN1bHQubV9wYXJ0ID0gRVBfRURJ
VFRFWFQ7CiAgICAgICAgIHJlc3VsdC5tX3N0YXRlID0gZGV0ZXJtaW5lU3RhdGUobyk7CiAgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgSW5uZXJTcGluQnV0dG9uUGFydDoKKyAgICAgICAgcmVzdWx0
Lm1fcGFydCA9IHN1YlBhcnQgPT0gVXBCdXR0b24gPyBTUE5QX1VQIDogU1BOUF9ET1dOOworICAg
ICAgICByZXN1bHQubV9zdGF0ZSA9IGRldGVybWluZVN0YXRlKG8sIHN1YlBhcnQpOworICAgICAg
ICByZXN1bHQubV9jbGFzc2ljU3RhdGUgPSBzdWJQYXJ0ID09IFVwQnV0dG9uID8gREZDU19TQ1JP
TExVUCA6IERGQ1NfU0NST0xMRE9XTjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgcmVz
dWx0Lm1fY2xhc3NpY1N0YXRlIHw9IGRldGVybWluZUNsYXNzaWNTdGF0ZShvKTsKKyAgICByZXN1
bHQubV9jbGFzc2ljU3RhdGUgfD0gZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKG8sIHN1YlBhcnQpOwog
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTY2Miw2ICs2NzEsMzcgQEAgYm9vbCBSZW5kZXJU
aGVtZUNocm9taXVtV2luOjpwYWludFRleHRGaWVsZEludGVybmFsKFJlbmRlck9iamVjdCogbywK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6YWRq
dXN0SW5uZXJTcGluQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBz
dHlsZSwgRWxlbWVudCopIGNvbnN0Cit7CisgICAgaW50IHdpZHRoID0gU2Nyb2xsYmFyVGhlbWU6
Om5hdGl2ZVRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygpOworICAgIHN0eWxlLT5zZXRXaWR0
aChMZW5ndGgod2lkdGgsIEZpeGVkKSk7CisgICAgc3R5bGUtPnNldE1pbldpZHRoKExlbmd0aCh3
aWR0aCwgRml4ZWQpKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludElu
bmVyU3BpbkJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBpbmZv
LCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIEludFJlY3QgaGFsZiA9IHJlY3Q7CisKKyAg
ICBoYWxmLnNldEhlaWdodChyZWN0LmhlaWdodCgpIC8gMik7CisgICAgY29uc3QgVGhlbWVEYXRh
JiB1cFRoZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvYmplY3QsIFVwQnV0dG9uKTsKKyAgICBXZWJD
b3JlOjpUaGVtZVBhaW50ZXIgdXBQYWludGVyKGluZm8uY29udGV4dCwgaGFsZik7CisgICAgQ2hy
b21pdW1CcmlkZ2U6OnBhaW50U3BpbkJ1dHRvbih1cFBhaW50ZXIuY29udGV4dCgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBUaGVtZURhdGEubV9wYXJ0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBUaGVtZURhdGEubV9zdGF0ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwVGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBQYWludGVyLmRyYXdSZWN0
KCkpOworCisgICAgaGFsZi5zZXRZKHJlY3QueSgpICsgcmVjdC5oZWlnaHQoKSAvIDIpOworICAg
IGNvbnN0IFRoZW1lRGF0YSYgZG93blRoZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvYmplY3QsIE5v
bmVPckRvd25CdXR0b24pOworICAgIFdlYkNvcmU6OlRoZW1lUGFpbnRlciBkb3duUGFpbnRlcihp
bmZvLmNvbnRleHQsIGhhbGYpOworICAgIENocm9taXVtQnJpZGdlOjpwYWludFNwaW5CdXR0b24o
ZG93blBhaW50ZXIuY29udGV4dCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG93blRoZW1lRGF0YS5tX3BhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkb3duVGhlbWVEYXRhLm1fc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb3duVGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZG93blBhaW50ZXIuZHJhd1JlY3QoKSk7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKIAogLy8gTVNETiBzYXlzIHRoYXQg
dXBkYXRlIGludGVydmFscyBmb3IgdGhlIGJhciBpcyAzMG1zLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5oCmluZGV4IGM2Yzk1ZTY5OGNhOWVmNmFjNjkxMGJjZDUx
ZTAyNWE5ODUwOTZmZmEuLmM1NjdhYjIxYmI2ZmVmMjVjMzVjZGU5YTkxOGQwNTc0YjVlMWFhNmQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmgKQEAgLTg2LDYg
Kzg2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBTZWUgY29tbWVudCBpbiBS
ZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6c2V0RGVmYXVsdEZvbnRTaXplKCkgcmVnYXJkaW5nIHVn
bGluZXNzIG9mIHRoaXMgaGFjay4KICAgICAgICAgc3RhdGljIHZvaWQgc2V0RGVmYXVsdEZvbnRT
aXplKGludCk7CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkanVzdElubmVyU3BpbkJ1dHRvblN0
eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKKyAg
ICAgICAgdmlydHVhbCBib29sIHBhaW50SW5uZXJTcGluQnV0dG9uKFJlbmRlck9iamVjdCosIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAogI2lmIEVOQUJMRShQUk9HUkVTU19U
QUcpCiAgICAgICAgIHZpcnR1YWwgZG91YmxlIGFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJv
Z3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MqKSBjb25zdDsKQEAgLTk4LDE0ICsxMDAsMTkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2
YWxJbnRlcm5hbCgpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgZW51bSBDb250cm9s
U3ViUGFydCB7CisgICAgICAgICAgICBOb25lT3JEb3duQnV0dG9uLAorICAgICAgICAgICAgVXBC
dXR0b24sCisgICAgICAgIH07CisKICAgICAgICAgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbigpIHsg
fQogICAgICAgICB2aXJ0dWFsIH5SZW5kZXJUaGVtZUNocm9taXVtV2luKCkgeyB9CiAKLSAgICAg
ICAgdW5zaWduZWQgZGV0ZXJtaW5lU3RhdGUoUmVuZGVyT2JqZWN0Kik7CisgICAgICAgIHVuc2ln
bmVkIGRldGVybWluZVN0YXRlKFJlbmRlck9iamVjdCosIENvbnRyb2xTdWJQYXJ0ID0gTm9uZU9y
RG93bkJ1dHRvbik7CiAgICAgICAgIHVuc2lnbmVkIGRldGVybWluZVNsaWRlclRodW1iU3RhdGUo
UmVuZGVyT2JqZWN0Kik7Ci0gICAgICAgIHVuc2lnbmVkIGRldGVybWluZUNsYXNzaWNTdGF0ZShS
ZW5kZXJPYmplY3QqKTsKKyAgICAgICAgdW5zaWduZWQgZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKFJl
bmRlck9iamVjdCosIENvbnRyb2xTdWJQYXJ0ID0gTm9uZU9yRG93bkJ1dHRvbik7CiAKLSAgICAg
ICAgVGhlbWVEYXRhIGdldFRoZW1lRGF0YShSZW5kZXJPYmplY3QqKTsKKyAgICAgICAgVGhlbWVE
YXRhIGdldFRoZW1lRGF0YShSZW5kZXJPYmplY3QqLCBDb250cm9sU3ViUGFydCA9IE5vbmVPckRv
d25CdXR0b24pOwogCiAgICAgICAgIGJvb2wgcGFpbnRUZXh0RmllbGRJbnRlcm5hbChSZW5kZXJP
YmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JiwgYm9vbCk7CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDg1MGRmMDRjNTQ4OTZlNzlhZTc1YTc5MjU3ZTYzODFmODAxZDIyYzMu
LjQ1ZDlhM2RhOTBmNWJjZGEyZTgxZDI4OTljODI3MzE4ZTAwN2Y4NWYgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
Q2hyb21pdW1dIDxpbnB1dCB0eXBlPW51bWJlcj4gVUkgaW1wbGVtZW50YXRpb24gZm9yIFdpbmRv
d3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMjU5
CisKKyAgICAgICAgKiBwdWJsaWMvV2ViVGhlbWVFbmdpbmUuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViVGhlbWVFbmdpbmU6OnBhaW50U3BpbkJ1dHRvbik6IEFkZGVkLgorICAgICAgICAqIHNyYy9D
aHJvbWl1bUJyaWRnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bUJyaWRnZTo6cGFp
bnRTcGluQnV0dG9uKToKKyAgICAgICAgICBBZGRlZC4gSXQgY2FsbHMgV2ViVGhlbWVFbmdpbmU6
OnBhaW50U3BpbkJ1dHRvbigpLgorCiAyMDEwLTA3LTE0ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rp
dmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRz
a3kuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlRoZW1lRW5naW5lLmgg
Yi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlRoZW1lRW5naW5lLmgKaW5kZXggOTYzOGMyZmJi
MjVmYjk0ZTUwNDliOWJmODBjNzJhYzJiYzA3MmExZS4uYWI1OWZhMjgwYmQ3ZWQ3MDAzYWU5YzNj
ZWFkMWYxMDI2NzQzYzUxMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJU
aGVtZUVuZ2luZS5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVGhlbWVFbmdpbmUu
aApAQCAtNjgsNiArNjgsMTAgQEAgcHVibGljOgogICAgICAgICBXZWJDYW52YXMqLCBpbnQgcGFy
dCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLAogICAgICAgICBjb25zdCBXZWJSZWN0Jiwg
Y29uc3QgV2ViUmVjdCYgYWxpZ25SZWN0KSA9IDA7CiAKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRT
cGluQnV0dG9uKAorICAgICAgICBXZWJDYW52YXMqLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQg
Y2xhc3NpY1N0YXRlLAorICAgICAgICBjb25zdCBXZWJSZWN0Jikge30KKwogICAgIHZpcnR1YWwg
dm9pZCBwYWludFRleHRGaWVsZCgKICAgICAgICAgV2ViQ2FudmFzKiwgaW50IHBhcnQsIGludCBz
dGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwKICAgICAgICAgY29uc3QgV2ViUmVjdCYsIFdlYkNvbG9y
LCBib29sIGZpbGxDb250ZW50QXJlYSwgYm9vbCBkcmF3RWRnZXMpID0gMDsKZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21pdW1CcmlkZ2UuY3BwIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWl1bUJyaWRnZS5jcHAKaW5kZXggNTEyNGE3Zjc1ODAxYjJmYzI1OTc5OGVlOTIy
MjFjN2NjMmY1NzM2Zi4uMzMzMDIwZjE1MzI2ZWFjZDQ0ZDhlNWVmY2M2YTg0ZDNhNjhlMDE1ZSAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWl1bUJyaWRnZS5jcHAKKysrIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWl1bUJyaWRnZS5jcHAKQEAgLTY5MSw2ICs2OTEsMTQg
QEAgdm9pZCBDaHJvbWl1bUJyaWRnZTo6cGFpbnRTY3JvbGxiYXJUcmFjaygKICAgICAgICAgYWxp
Z25SZWN0KTsKIH0KIAordm9pZCBDaHJvbWl1bUJyaWRnZTo6cGFpbnRTcGluQnV0dG9uKAorICAg
IEdyYXBoaWNzQ29udGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3Rh
dGUsCisgICAgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICB3ZWJLaXRDbGllbnQoKS0+dGhl
bWVFbmdpbmUoKS0+cGFpbnRTcGluQnV0dG9uKAorICAgICAgICBnYy0+cGxhdGZvcm1Db250ZXh0
KCktPmNhbnZhcygpLCBwYXJ0LCBzdGF0ZSwgY2xhc3NpY1N0YXRlLCByZWN0KTsKK30KKwogdm9p
ZCBDaHJvbWl1bUJyaWRnZTo6cGFpbnRUZXh0RmllbGQoCiAgICAgR3JhcGhpY3NDb250ZXh0KiBn
YywgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwKICAgICBjb25zdCBJbnRS
ZWN0JiByZWN0LCBjb25zdCBDb2xvciYgY29sb3IsIGJvb2wgZmlsbENvbnRlbnRBcmVhLApkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGQ5ZjgyNDZkZmE1ZGU0ZjE2YTc1YWZlMmUwM2RjZTlmMjE5ZjdlMTEuLmUwZjE1ZDFlZTg5
OGRmZDE3OWExMTFiNjBmNmI3NTBmN2JmNmFjZGMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0No
YW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
MC0wNy0xNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSA8aW5wdXQgdHlw
ZT1udW1iZXI+IFVJIGltcGxlbWVudGF0aW9uIGZvciBXaW5kb3dzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1OQorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuY3BwOgorICAgICAgICAoV2ViVGhl
bWVFbmdpbmVEUlQ6OnBhaW50U3BpbkJ1dHRvbik6CisgICAgICAgICBBZGRlZC4gQ2hlY2sgc3Rh
dGUgY29uc2lzdGVuY3kgYW5kIHVzZSBleGlzdGluZyBhcnJvdyBwYWludGluZyBjb2RlLgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmg6CisKIDIw
MTAtMDctMTMgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmNwcCBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmNwcAppbmRleCBjMjhkYTFmODBm
OWE5Y2U4YzY5ZGIyZmNhY2Y1Yjk1MTU2YWE1ODBkLi5lZjZjMjZhZTEzZTdlZjdhNTE1ZmVmZGEx
MjAxZDc2YmZkOTc1MDcxIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuY3BwCkBAIC01ODMsNiArNTgzLDY0IEBA
IHZvaWQgV2ViVGhlbWVFbmdpbmVEUlQ6OnBhaW50U2Nyb2xsYmFyVHJhY2soV2ViQ2FudmFzKiBj
YW52YXMsCiAgICAgZHJhd0NvbnRyb2woY2FudmFzLCByZWN0LCBjdHlwZSwgY3N0YXRlKTsKIH0K
IAordm9pZCBXZWJUaGVtZUVuZ2luZURSVDo6cGFpbnRTcGluQnV0dG9uKFdlYkNhbnZhcyogY2Fu
dmFzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwYXJ0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdGF0ZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY2xhc3NpY1N0YXRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlJlY3QmIHJlY3Qp
Cit7CisgICAgV2ViVGhlbWVDb250cm9sRFJUOjpUeXBlIGN0eXBlID0gV2ViVGhlbWVDb250cm9s
RFJUOjpVbmtub3duVHlwZTsKKyAgICBXZWJUaGVtZUNvbnRyb2xEUlQ6OlN0YXRlIGNzdGF0ZSA9
IFdlYlRoZW1lQ29udHJvbERSVDo6VW5rbm93blN0YXRlOworCisgICAgaWYgKHBhcnQgPT0gU1BO
UF9VUCkgeworICAgICAgICBjdHlwZSA9IFdlYlRoZW1lQ29udHJvbERSVDo6VXBBcnJvd1R5cGU7
CisgICAgICAgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICAgICAgY2FzZSBVUFNfTk9STUFMOgorICAg
ICAgICAgICAgQVNTRVJUKGNsYXNzaWNTdGF0ZSA9PSBERkNTX1NDUk9MTFVQKTsKKyAgICAgICAg
ICAgIGNzdGF0ZSA9IFdlYlRoZW1lQ29udHJvbERSVDo6Tm9ybWFsU3RhdGU7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBVUFNfRElTQUJMRUQ6CisgICAgICAgICAgICBBU1NFUlQo
Y2xhc3NpY1N0YXRlID09IChERkNTX1NDUk9MTFVQIHwgREZDU19JTkFDVElWRSkpOworICAgICAg
ICAgICAgY3N0YXRlID0gV2ViVGhlbWVDb250cm9sRFJUOjpEaXNhYmxlZFN0YXRlOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgVVBTX1BSRVNTRUQ6CisgICAgICAgICAgICBBU1NF
UlQoY2xhc3NpY1N0YXRlID09IChERkNTX1NDUk9MTFVQIHwgREZDU19QVVNIRUQpKTsKKyAgICAg
ICAgICAgIGNzdGF0ZSA9IFdlYlRoZW1lQ29udHJvbERSVDo6UHJlc3NlZFN0YXRlOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgVVBTX0hPVDoKKyAgICAgICAgICAgIEFTU0VSVChj
bGFzc2ljU3RhdGUgPT0gKERGQ1NfU0NST0xMVVAgfCBERkNTX0hPVCkpOworICAgICAgICAgICAg
Y3N0YXRlID0gV2ViVGhlbWVDb250cm9sRFJUOjpIb3ZlclN0YXRlOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAocGFydCA9PSBTUE5QX0RPV04pIHsKKyAgICAgICAg
Y3R5cGUgPSBXZWJUaGVtZUNvbnRyb2xEUlQ6OkRvd25BcnJvd1R5cGU7CisgICAgICAgIHN3aXRj
aCAoc3RhdGUpIHsKKyAgICAgICAgY2FzZSBETlNfTk9STUFMOgorICAgICAgICAgICAgQVNTRVJU
KGNsYXNzaWNTdGF0ZSA9PSBERkNTX1NDUk9MTERPV04pOworICAgICAgICAgICAgY3N0YXRlID0g
V2ViVGhlbWVDb250cm9sRFJUOjpOb3JtYWxTdGF0ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIEROU19ESVNBQkxFRDoKKyAgICAgICAgICAgIEFTU0VSVChjbGFzc2ljU3RhdGUg
PT0gKERGQ1NfU0NST0xMRE9XTiB8IERGQ1NfSU5BQ1RJVkUpKTsKKyAgICAgICAgICAgIGNzdGF0
ZSA9IFdlYlRoZW1lQ29udHJvbERSVDo6RGlzYWJsZWRTdGF0ZTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIEROU19QUkVTU0VEOgorICAgICAgICAgICAgQVNTRVJUKGNsYXNzaWNT
dGF0ZSA9PSAoREZDU19TQ1JPTExET1dOIHwgREZDU19QVVNIRUQpKTsKKyAgICAgICAgICAgIGNz
dGF0ZSA9IFdlYlRoZW1lQ29udHJvbERSVDo6UHJlc3NlZFN0YXRlOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgRE5TX0hPVDoKKyAgICAgICAgICAgIEFTU0VSVChjbGFzc2ljU3Rh
dGUgPT0gKERGQ1NfU0NST0xMRE9XTiB8IERGQ1NfSE9UKSk7CisgICAgICAgICAgICBjc3RhdGUg
PSBXZWJUaGVtZUNvbnRyb2xEUlQ6OkhvdmVyU3RhdGU7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICB9CisgICAgfSBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGRyYXdD
b250cm9sKGNhbnZhcywgcmVjdCwgY3R5cGUsIGNzdGF0ZSk7Cit9CisKIHZvaWQgV2ViVGhlbWVF
bmdpbmVEUlQ6OnBhaW50VGV4dEZpZWxkKFdlYkNhbnZhcyogY2FudmFzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBhcnQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3RhdGUsCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaAppbmRleCA4OTgwNWIx
NzNlODAyMzVhMWM3N2UwZTQxZmQ5MDY1MTJlOTU5MTI0Li5jNzMxNTQwNTQwZmJlYTEwYjVjOTNi
MzFjMTllYjIyYjYxYjA0YjBiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTc1LDYgKzc1LDEwIEBAIHB1
YmxpYzoKICAgICAgICAgV2ViS2l0OjpXZWJDYW52YXMqLCBpbnQgcGFydCwgaW50IHN0YXRlLCBp
bnQgY2xhc3NpY1N0YXRlLAogICAgICAgICBjb25zdCBXZWJLaXQ6OldlYlJlY3QmLCBjb25zdCBX
ZWJLaXQ6OldlYlJlY3QmIGFsaWduUmVjdCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRTcGlu
QnV0dG9uKAorICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyosIGludCBwYXJ0LCBpbnQgc3RhdGUs
IGludCBjbGFzc2ljU3RhdGUsCisgICAgICAgIGNvbnN0IFdlYktpdDo6V2ViUmVjdCYpOworCiAg
ICAgdmlydHVhbCB2b2lkIHBhaW50VGV4dEZpZWxkKAogICAgICAgICBXZWJLaXQ6OldlYkNhbnZh
cyosIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCiAgICAgICAgIGNvbnN0
IFdlYktpdDo6V2ViUmVjdCYsIFdlYktpdDo6V2ViQ29sb3IsIGJvb2wgZmlsbENvbnRlbnRBcmVh
LAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61753</attachid>
            <date>2010-07-15 17:36:18 -0700</date>
            <delta_ts>2010-07-16 15:05:57 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-42259-20100716093615.patch</filename>
            <type>text/plain</type>
            <size>16020</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzMwMzA4MzU4ZDY4MjZmYzU1NmZkYThkMGRhYzQ5NTY1NDMyYTA0Zi4uODlmM2JjOWQ1OTYyOTA1
ZDdjZTQwOGMwNDExMzNjYzRkYmRiMDAyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0wNy0xNSAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSA8aW5wdXQgdHlwZT1udW1iZXI+IFVJ
IGltcGxlbWVudGF0aW9uIGZvciBXaW5kb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1OQorCisgICAgICAgIE5vIGFkZGl0aW9uYWwgdGVzdHMu
ICBFeGlzdGluZyB0ZXN0cyBjb3ZlciB0aGlzIGNoYW5nZSBhbmQgd2UnbGwKKyAgICAgICAgdXBk
YXRlIGV4cGVjdGF0aW9ucy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVt
QnJpZGdlLmg6IEFkZCBwYWludFNwaW5CdXR0b24oKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNo
cm9taXVtV2luOjpkZXRlcm1pbmVTdGF0ZSk6CisgICAgICAgICBBZGQgQ29udHJvbFN1YlBhcnQg
cGFyYW1ldGVyIGFuZCBhZGQgc3VwcG9ydCBmb3Igc3BpbiBidXR0b25zLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6ZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKTogZGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtV2luOjpnZXRUaGVtZURh
dGEpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1XaW46OmFk
anVzdElubmVyU3BpbkJ1dHRvblN0eWxlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZUNocm9taXVtV2luOjpwYWludElubmVyU3BpbkJ1dHRvbik6IEFkZGVkLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmg6CisgICAgICAgICAgRGVjbGFy
ZSBDb250cm9sU3VicGFydCwgYW5kIGFkZCBpdCB0byBzb21lIGZ1bmN0aW9ucy4KKwogMjAxMC0w
Ny0xNCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgYnVpbGQgZml4IGZvciByNjMzMDAuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0No
cm9taXVtQnJpZGdlLmgKaW5kZXggMzI4NGFhZTkxYTliMmRlZjg2MzE0NmRlNjBhMWZmYzkyMGZl
NzZmYi4uMmQ5Njk1ZWUyYjdmNTc0ZWFjY2Y4Y2YwNmUwZmUwNGJhMWQ3OTc3NiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaApAQCAtMjQxLDYgKzI0MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGludCBw
YXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsIGNvbnN0IEludFJlY3QmKTsKICAgICAg
ICAgc3RhdGljIHZvaWQgcGFpbnRTY3JvbGxiYXJUcmFjaygKICAgICAgICAgICAgIEdyYXBoaWNz
Q29udGV4dCosIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsIGNvbnN0IElu
dFJlY3QmLCBjb25zdCBJbnRSZWN0JiBhbGlnblJlY3QpOworICAgICAgICBzdGF0aWMgdm9pZCBw
YWludFNwaW5CdXR0b24oCisgICAgICAgICAgICBHcmFwaGljc0NvbnRleHQqLCBpbnQgcGFydCwg
aW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgICAgIHN0
YXRpYyB2b2lkIHBhaW50VGV4dEZpZWxkKAogICAgICAgICAgICAgR3JhcGhpY3NDb250ZXh0Kiwg
aW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwgY29uc3QgSW50UmVjdCYsIGNv
bnN0IENvbG9yJiwgYm9vbCBmaWxsQ29udGVudEFyZWEsIGJvb2wgZHJhd0VkZ2VzKTsKICAgICAg
ICAgc3RhdGljIHZvaWQgcGFpbnRUcmFja2JhcigKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bVdpbi5jcHAKaW5kZXggMTE3MmY5Njk1ZGYxZDdkY2E2YWY4NjdjZWRjNGM0
N2I2N2UxMDMyYi4uMjAwYzA0MDgwOWM1NmQ0ZGI0NjI4YjhjMzFlMzYxZjAwMjFkN2EyNyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHAKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHAKQEAgLTQ4Nywx
OSArNDg3LDIwIEBAIGRvdWJsZSBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpjYXJldEJsaW5rSW50
ZXJ2YWxJbnRlcm5hbCgpIGNvbnN0CiAgICAgcmV0dXJuIGJsaW5rSW50ZXJ2YWw7CiB9CiAKLXVu
c2lnbmVkIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OmRldGVybWluZVN0YXRlKFJlbmRlck9iamVj
dCogbykKK3Vuc2lnbmVkIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OmRldGVybWluZVN0YXRlKFJl
bmRlck9iamVjdCogbywgQ29udHJvbFN1YlBhcnQgc3ViUGFydCkKIHsKICAgICB1bnNpZ25lZCBy
ZXN1bHQgPSBUU19OT1JNQUw7CiAgICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IG8tPnN0eWxl
KCktPmFwcGVhcmFuY2UoKTsKICAgICBpZiAoIWlzRW5hYmxlZChvKSkKICAgICAgICAgcmVzdWx0
ID0gVFNfRElTQUJMRUQ7Ci0gICAgZWxzZSBpZiAoaXNSZWFkT25seUNvbnRyb2wobykgJiYgKFRl
eHRGaWVsZFBhcnQgPT0gYXBwZWFyYW5jZSB8fCBUZXh0QXJlYVBhcnQgPT0gYXBwZWFyYW5jZSB8
fCBTZWFyY2hGaWVsZFBhcnQgPT0gYXBwZWFyYW5jZSkpCi0gICAgICAgIHJlc3VsdCA9IEVUU19S
RUFET05MWTsgLy8gUmVhZG9ubHkgaXMgc3VwcG9ydGVkIG9uIHRleHRmaWVsZHMuCi0gICAgZWxz
ZSBpZiAoaXNQcmVzc2VkKG8pKSAvLyBBY3RpdmUgb3ZlcnJpZGVzIGhvdmVyIGFuZCBmb2N1c2Vk
LgorICAgIGVsc2UgaWYgKGlzUmVhZE9ubHlDb250cm9sKG8pKQorICAgICAgICByZXN1bHQgPSAo
YXBwZWFyYW5jZSA9PSBUZXh0RmllbGRQYXJ0IHx8IGFwcGVhcmFuY2UgPT0gVGV4dEFyZWFQYXJ0
IHx8IGFwcGVhcmFuY2UgPT0gU2VhcmNoRmllbGRQYXJ0KSA/IEVUU19SRUFET05MWSA6IFRTX0RJ
U0FCTEVEOworICAgIC8vIEFjdGl2ZSBvdmVycmlkZXMgaG92ZXIgYW5kIGZvY3VzZWQuCisgICAg
ZWxzZSBpZiAoaXNQcmVzc2VkKG8pICYmIChzdWJQYXJ0ID09IFNwaW5CdXR0b25VcCkgPT0gaXNT
cGluVXBCdXR0b25QYXJ0UHJlc3NlZChvKSkKICAgICAgICAgcmVzdWx0ID0gVFNfUFJFU1NFRDsK
ICAgICBlbHNlIGlmIChzdXBwb3J0c0ZvY3VzKGFwcGVhcmFuY2UpICYmIGlzRm9jdXNlZChvKSkK
ICAgICAgICAgcmVzdWx0ID0gRVRTX0ZPQ1VTRUQ7Ci0gICAgZWxzZSBpZiAoaXNIb3ZlcmVkKG8p
KQorICAgIGVsc2UgaWYgKGlzSG92ZXJlZChvKSAmJiAoc3ViUGFydCA9PSBTcGluQnV0dG9uVXAp
ID09IGlzU3BpblVwQnV0dG9uUGFydEhvdmVyZWQobykpCiAgICAgICAgIHJlc3VsdCA9IFRTX0hP
VDsKIAogICAgIC8vIENCU19VTkNIRUNLRUQqOiAxLTQKQEAgLTUyNiw3ICs1MjcsNyBAQCB1bnNp
Z25lZCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpkZXRlcm1pbmVTbGlkZXJUaHVtYlN0YXRlKFJl
bmRlck9iamVjdCogbykKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi11bnNpZ25lZCBSZW5kZXJU
aGVtZUNocm9taXVtV2luOjpkZXRlcm1pbmVDbGFzc2ljU3RhdGUoUmVuZGVyT2JqZWN0KiBvKQor
dW5zaWduZWQgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6ZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKFJl
bmRlck9iamVjdCogbywgQ29udHJvbFN1YlBhcnQgc3ViUGFydCkKIHsKICAgICB1bnNpZ25lZCBy
ZXN1bHQgPSAwOwogCkBAIC01NDgsMTMgKzU0OSwxNCBAQCB1bnNpZ25lZCBSZW5kZXJUaGVtZUNo
cm9taXVtV2luOjpkZXRlcm1pbmVDbGFzc2ljU3RhdGUoUmVuZGVyT2JqZWN0KiBvKQogICAgICAg
ICBlbHNlIGlmIChpc0hvdmVyZWQobykpCiAgICAgICAgICAgICByZXN1bHQgPSBERkNTX0hPVDsK
ICAgICB9IGVsc2UgewotICAgICAgICBpZiAoIWlzRW5hYmxlZChvKSkKKyAgICAgICAgaWYgKCFp
c0VuYWJsZWQobykgfHwgaXNSZWFkT25seUNvbnRyb2wobykpCiAgICAgICAgICAgICByZXN1bHQg
PSBERkNTX0lOQUNUSVZFOwotICAgICAgICBlbHNlIGlmIChpc1ByZXNzZWQobykpIC8vIEFjdGl2
ZSBzdXBlcnNlZGVzIGhvdmVyCisgICAgICAgIC8vIEFjdGl2ZSBzdXBlcnNlZGVzIGhvdmVyCisg
ICAgICAgIGVsc2UgaWYgKGlzUHJlc3NlZChvKSAmJiAoc3ViUGFydCA9PSBTcGluQnV0dG9uVXAp
ID09IGlzU3BpblVwQnV0dG9uUGFydFByZXNzZWQobykpCiAgICAgICAgICAgICByZXN1bHQgPSBE
RkNTX1BVU0hFRDsKICAgICAgICAgZWxzZSBpZiAoc3VwcG9ydHNGb2N1cyhwYXJ0KSAmJiBpc0Zv
Y3VzZWQobykpIC8vIFNvIGRvZXMgZm9jdXNlZAogICAgICAgICAgICAgcmVzdWx0ID0gMDsKLSAg
ICAgICAgZWxzZSBpZiAoaXNIb3ZlcmVkKG8pKQorICAgICAgICBlbHNlIGlmIChpc0hvdmVyZWQo
bykgJiYgKHN1YlBhcnQgPT0gU3BpbkJ1dHRvblVwKSA9PSBpc1NwaW5VcEJ1dHRvblBhcnRIb3Zl
cmVkKG8pKQogICAgICAgICAgICAgcmVzdWx0ID0gREZDU19IT1Q7CiAgICAgICAgIC8vIENsYXNz
aWMgdGhlbWUgY2FuJ3QgcmVwcmVzZW50IGluZGV0ZXJtaW5hdGUgc3RhdGVzLiBVc2UgdW5jaGVj
a2VkIGFwcGVhcmFuY2UuCiAgICAgICAgIGlmIChpc0NoZWNrZWQobykgJiYgIWlzSW5kZXRlcm1p
bmF0ZShvKSkKQEAgLTU2Myw3ICs1NjUsNyBAQCB1bnNpZ25lZCBSZW5kZXJUaGVtZUNocm9taXVt
V2luOjpkZXRlcm1pbmVDbGFzc2ljU3RhdGUoUmVuZGVyT2JqZWN0KiBvKQogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLVRoZW1lRGF0YSBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpnZXRUaGVtZURh
dGEoUmVuZGVyT2JqZWN0KiBvKQorVGhlbWVEYXRhIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46Omdl
dFRoZW1lRGF0YShSZW5kZXJPYmplY3QqIG8sIENvbnRyb2xTdWJQYXJ0IHN1YlBhcnQpCiB7CiAg
ICAgVGhlbWVEYXRhIHJlc3VsdDsKICAgICBzd2l0Y2ggKG8tPnN0eWxlKCktPmFwcGVhcmFuY2Uo
KSkgewpAQCAtNjA4LDkgKzYxMCwxNCBAQCBUaGVtZURhdGEgUmVuZGVyVGhlbWVDaHJvbWl1bVdp
bjo6Z2V0VGhlbWVEYXRhKFJlbmRlck9iamVjdCogbykKICAgICAgICAgcmVzdWx0Lm1fcGFydCA9
IEVQX0VESVRURVhUOwogICAgICAgICByZXN1bHQubV9zdGF0ZSA9IGRldGVybWluZVN0YXRlKG8p
OwogICAgICAgICBicmVhazsKKyAgICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6CisgICAgICAg
IHJlc3VsdC5tX3BhcnQgPSBzdWJQYXJ0ID09IFNwbkJ1dHRvblVwID8gU1BOUF9VUCA6IFNQTlBf
RE9XTjsKKyAgICAgICAgcmVzdWx0Lm1fc3RhdGUgPSBkZXRlcm1pbmVTdGF0ZShvLCBzdWJQYXJ0
KTsKKyAgICAgICAgcmVzdWx0Lm1fY2xhc3NpY1N0YXRlID0gc3ViUGFydCA9PSBTcGluQnV0dG9u
VXAgPyBERkNTX1NDUk9MTFVQIDogREZDU19TQ1JPTExET1dOOworICAgICAgICBicmVhazsKICAg
ICB9CiAKLSAgICByZXN1bHQubV9jbGFzc2ljU3RhdGUgfD0gZGV0ZXJtaW5lQ2xhc3NpY1N0YXRl
KG8pOworICAgIHJlc3VsdC5tX2NsYXNzaWNTdGF0ZSB8PSBkZXRlcm1pbmVDbGFzc2ljU3RhdGUo
bywgc3ViUGFydCk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNjYyLDYgKzY2OSwzNyBA
QCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50VGV4dEZpZWxkSW50ZXJuYWwoUmVu
ZGVyT2JqZWN0KiBvLAogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBSZW5kZXJUaGVtZUNo
cm9taXVtV2luOjphZGp1c3RJbm5lclNwaW5CdXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwg
UmVuZGVyU3R5bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QKK3sKKyAgICBpbnQgd2lkdGggPSBT
Y3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNzKCk7CisgICAg
c3R5bGUtPnNldFdpZHRoKExlbmd0aCh3aWR0aCwgRml4ZWQpKTsKKyAgICBzdHlsZS0+c2V0TWlu
V2lkdGgoTGVuZ3RoKHdpZHRoLCBGaXhlZCkpOworfQorCitib29sIFJlbmRlclRoZW1lQ2hyb21p
dW1XaW46OnBhaW50SW5uZXJTcGluQnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQ
YWludEluZm8mIGluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgSW50UmVjdCBoYWxm
ID0gcmVjdDsKKworICAgIGhhbGYuc2V0SGVpZ2h0KHJlY3QuaGVpZ2h0KCkgLyAyKTsKKyAgICBj
b25zdCBUaGVtZURhdGEmIHVwVGhlbWVEYXRhID0gZ2V0VGhlbWVEYXRhKG9iamVjdCwgU3BpbkJ1
dHRvblVwKTsKKyAgICBXZWJDb3JlOjpUaGVtZVBhaW50ZXIgdXBQYWludGVyKGluZm8uY29udGV4
dCwgaGFsZik7CisgICAgQ2hyb21pdW1CcmlkZ2U6OnBhaW50U3BpbkJ1dHRvbih1cFBhaW50ZXIu
Y29udGV4dCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBUaGVtZURh
dGEubV9wYXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBUaGVtZURh
dGEubV9zdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwVGhlbWVE
YXRhLm1fY2xhc3NpY1N0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dXBQYWludGVyLmRyYXdSZWN0KCkpOworCisgICAgaGFsZi5zZXRZKHJlY3QueSgpICsgcmVjdC5o
ZWlnaHQoKSAvIDIpOworICAgIGNvbnN0IFRoZW1lRGF0YSYgZG93blRoZW1lRGF0YSA9IGdldFRo
ZW1lRGF0YShvYmplY3QsIFNwaW5CdXR0b25Eb3duKTsKKyAgICBXZWJDb3JlOjpUaGVtZVBhaW50
ZXIgZG93blBhaW50ZXIoaW5mby5jb250ZXh0LCBoYWxmKTsKKyAgICBDaHJvbWl1bUJyaWRnZTo6
cGFpbnRTcGluQnV0dG9uKGRvd25QYWludGVyLmNvbnRleHQoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvd25UaGVtZURhdGEubV9wYXJ0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG93blRoZW1lRGF0YS5tX3N0YXRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG93blRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25QYWludGVyLmRyYXdSZWN0KCkp
OworICAgIHJldHVybiBmYWxzZTsKK30KKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAKIC8v
IE1TRE4gc2F5cyB0aGF0IHVwZGF0ZSBpbnRlcnZhbHMgZm9yIHRoZSBiYXIgaXMgMzBtcy4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uaAppbmRleCBjNmM5NWU2OThj
YTllZjZhYzY5MTBiY2Q1MWUwMjVhOTg1MDk2ZmZhLi42NjFiNjIzOWRmNTRjYmE4MDIzNTU4YmFi
YWVmYWZjZWQ4ODMyNGE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUNocm9taXVtV2luLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bVdpbi5oCkBAIC04Niw2ICs4Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8g
U2VlIGNvbW1lbnQgaW4gUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnNldERlZmF1bHRGb250U2l6
ZSgpIHJlZ2FyZGluZyB1Z2xpbmVzcyBvZiB0aGlzIGhhY2suCiAgICAgICAgIHN0YXRpYyB2b2lk
IHNldERlZmF1bHRGb250U2l6ZShpbnQpOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJ
bm5lclNwaW5CdXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVt
ZW50KikgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludElubmVyU3BpbkJ1dHRvbihS
ZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAKICNpZiBF
TkFCTEUoUFJPR1JFU1NfVEFHKQogICAgICAgICB2aXJ0dWFsIGRvdWJsZSBhbmltYXRpb25SZXBl
YXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzKikgY29uc3Q7CkBAIC05OCwx
NCArMTAwLDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBkb3VibGUg
Y2FyZXRCbGlua0ludGVydmFsSW50ZXJuYWwoKSBjb25zdDsKIAogICAgIHByaXZhdGU6CisgICAg
ICAgIGVudW0gQ29udHJvbFN1YlBhcnQgeworICAgICAgICAgICAgTm9uZSwKKyAgICAgICAgICAg
IFNwaW5CdXR0b25Eb3duLAorICAgICAgICAgICAgU3BpbkJ1dHRvblVwLAorICAgICAgICB9Owor
CiAgICAgICAgIFJlbmRlclRoZW1lQ2hyb21pdW1XaW4oKSB7IH0KICAgICAgICAgdmlydHVhbCB+
UmVuZGVyVGhlbWVDaHJvbWl1bVdpbigpIHsgfQogCi0gICAgICAgIHVuc2lnbmVkIGRldGVybWlu
ZVN0YXRlKFJlbmRlck9iamVjdCopOworICAgICAgICB1bnNpZ25lZCBkZXRlcm1pbmVTdGF0ZShS
ZW5kZXJPYmplY3QqLCBDb250cm9sU3ViUGFydCA9IE5vbmUpOwogICAgICAgICB1bnNpZ25lZCBk
ZXRlcm1pbmVTbGlkZXJUaHVtYlN0YXRlKFJlbmRlck9iamVjdCopOwotICAgICAgICB1bnNpZ25l
ZCBkZXRlcm1pbmVDbGFzc2ljU3RhdGUoUmVuZGVyT2JqZWN0Kik7CisgICAgICAgIHVuc2lnbmVk
IGRldGVybWluZUNsYXNzaWNTdGF0ZShSZW5kZXJPYmplY3QqLCBDb250cm9sU3ViUGFydCA9IE5v
bmUpOwogCi0gICAgICAgIFRoZW1lRGF0YSBnZXRUaGVtZURhdGEoUmVuZGVyT2JqZWN0Kik7Cisg
ICAgICAgIFRoZW1lRGF0YSBnZXRUaGVtZURhdGEoUmVuZGVyT2JqZWN0KiwgQ29udHJvbFN1YlBh
cnQgPSBOb25lKTsKIAogICAgICAgICBib29sIHBhaW50VGV4dEZpZWxkSW50ZXJuYWwoUmVuZGVy
T2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgIH07
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCA4NTBkZjA0YzU0ODk2ZTc5YWU3NWE3OTI1N2U2MzgxZjgwMWQyMmMz
Li40NWQ5YTNkYTkwZjViY2RhMmU4MWQyODk5YzgyNzMxOGUwMDdmODVmIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxMC0wNy0xNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W0Nocm9taXVtXSA8aW5wdXQgdHlwZT1udW1iZXI+IFVJIGltcGxlbWVudGF0aW9uIGZvciBXaW5k
b3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1
OQorCisgICAgICAgICogcHVibGljL1dlYlRoZW1lRW5naW5lLmg6CisgICAgICAgIChXZWJLaXQ6
OldlYlRoZW1lRW5naW5lOjpwYWludFNwaW5CdXR0b24pOiBBZGRlZC4KKyAgICAgICAgKiBzcmMv
Q2hyb21pdW1CcmlkZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1CcmlkZ2U6OnBh
aW50U3BpbkJ1dHRvbik6CisgICAgICAgICAgQWRkZWQuIEl0IGNhbGxzIFdlYlRoZW1lRW5naW5l
OjpwYWludFNwaW5CdXR0b24oKS4KKwogMjAxMC0wNy0xNCAgUGF2ZWwgUG9kaXZpbG92ICA8cG9k
aXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0
c2t5LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUaGVtZUVuZ2luZS5o
IGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUaGVtZUVuZ2luZS5oCmluZGV4IDk2MzhjMmZi
YjI1ZmI5NGU1MDQ5YjliZjgwYzcyYWMyYmMwNzJhMWUuLmFiNTlmYTI4MGJkN2VkNzAwM2FlOWMz
Y2VhZDFmMTAyNjc0M2M1MTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
VGhlbWVFbmdpbmUuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlRoZW1lRW5naW5l
LmgKQEAgLTY4LDYgKzY4LDEwIEBAIHB1YmxpYzoKICAgICAgICAgV2ViQ2FudmFzKiwgaW50IHBh
cnQsIGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwKICAgICAgICAgY29uc3QgV2ViUmVjdCYs
IGNvbnN0IFdlYlJlY3QmIGFsaWduUmVjdCkgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIHBhaW50
U3BpbkJ1dHRvbigKKyAgICAgICAgV2ViQ2FudmFzKiwgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50
IGNsYXNzaWNTdGF0ZSwKKyAgICAgICAgY29uc3QgV2ViUmVjdCYpIHt9CisKICAgICB2aXJ0dWFs
IHZvaWQgcGFpbnRUZXh0RmllbGQoCiAgICAgICAgIFdlYkNhbnZhcyosIGludCBwYXJ0LCBpbnQg
c3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCiAgICAgICAgIGNvbnN0IFdlYlJlY3QmLCBXZWJDb2xv
ciwgYm9vbCBmaWxsQ29udGVudEFyZWEsIGJvb2wgZHJhd0VkZ2VzKSA9IDA7CmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9taXVtQnJpZGdlLmNwcCBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvQ2hyb21pdW1CcmlkZ2UuY3BwCmluZGV4IDUxMjRhN2Y3NTgwMWIyZmMyNTk3OThlZTky
MjIxYzdjYzJmNTczNmYuLjMzMzAyMGYxNTMyNmVhY2Q0NGQ4ZTVlZmNjNmE4NGQzYTY4ZTAxNWUg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21pdW1CcmlkZ2UuY3BwCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21pdW1CcmlkZ2UuY3BwCkBAIC02OTEsNiArNjkxLDE0
IEBAIHZvaWQgQ2hyb21pdW1CcmlkZ2U6OnBhaW50U2Nyb2xsYmFyVHJhY2soCiAgICAgICAgIGFs
aWduUmVjdCk7CiB9CiAKK3ZvaWQgQ2hyb21pdW1CcmlkZ2U6OnBhaW50U3BpbkJ1dHRvbigKKyAg
ICBHcmFwaGljc0NvbnRleHQqIGdjLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0
YXRlLAorICAgIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgd2ViS2l0Q2xpZW50KCktPnRo
ZW1lRW5naW5lKCktPnBhaW50U3BpbkJ1dHRvbigKKyAgICAgICAgZ2MtPnBsYXRmb3JtQ29udGV4
dCgpLT5jYW52YXMoKSwgcGFydCwgc3RhdGUsIGNsYXNzaWNTdGF0ZSwgcmVjdCk7Cit9CisKIHZv
aWQgQ2hyb21pdW1CcmlkZ2U6OnBhaW50VGV4dEZpZWxkKAogICAgIEdyYXBoaWNzQ29udGV4dCog
Z2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCiAgICAgY29uc3QgSW50
UmVjdCYgcmVjdCwgY29uc3QgQ29sb3ImIGNvbG9yLCBib29sIGZpbGxDb250ZW50QXJlYSwKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpp
bmRleCBkOWY4MjQ2ZGZhNWRlNGYxNmE3NWFmZTJlMDNkY2U5ZjIxOWY3ZTExLi5lMGYxNWQxZWU4
OThkZmQxNzlhMTExYjYwZjZiNzUwZjdiZjZhY2RjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTAtMDctMTUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gPGlucHV0IHR5
cGU9bnVtYmVyPiBVSSBpbXBsZW1lbnRhdGlvbiBmb3IgV2luZG93cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIyNTkKKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmNwcDoKKyAgICAgICAgKFdlYlRo
ZW1lRW5naW5lRFJUOjpwYWludFNwaW5CdXR0b24pOgorICAgICAgICAgQWRkZWQuIENoZWNrIHN0
YXRlIGNvbnNpc3RlbmN5IGFuZCB1c2UgZXhpc3RpbmcgYXJyb3cgcGFpbnRpbmcgY29kZS4KKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oOgorCiAy
MDEwLTA3LTEzICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5jcHAgYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5jcHAKaW5kZXggYzI4ZGExZjgw
ZjlhOWNlOGM2OWRiMmZjYWNmNWI5NTE1NmFhNTgwZC4uZWY2YzI2YWUxM2U3ZWY3YTUxNWZlZmRh
MTIwMWQ3NmJmZDk3NTA3MSAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmNwcApAQCAtNTgzLDYgKzU4Myw2NCBA
QCB2b2lkIFdlYlRoZW1lRW5naW5lRFJUOjpwYWludFNjcm9sbGJhclRyYWNrKFdlYkNhbnZhcyog
Y2FudmFzLAogICAgIGRyYXdDb250cm9sKGNhbnZhcywgcmVjdCwgY3R5cGUsIGNzdGF0ZSk7CiB9
CiAKK3ZvaWQgV2ViVGhlbWVFbmdpbmVEUlQ6OnBhaW50U3BpbkJ1dHRvbihXZWJDYW52YXMqIGNh
bnZhcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGFydCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RhdGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsYXNzaWNTdGF0ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJSZWN0JiByZWN0
KQoreworICAgIFdlYlRoZW1lQ29udHJvbERSVDo6VHlwZSBjdHlwZSA9IFdlYlRoZW1lQ29udHJv
bERSVDo6VW5rbm93blR5cGU7CisgICAgV2ViVGhlbWVDb250cm9sRFJUOjpTdGF0ZSBjc3RhdGUg
PSBXZWJUaGVtZUNvbnRyb2xEUlQ6OlVua25vd25TdGF0ZTsKKworICAgIGlmIChwYXJ0ID09IFNQ
TlBfVVApIHsKKyAgICAgICAgY3R5cGUgPSBXZWJUaGVtZUNvbnRyb2xEUlQ6OlVwQXJyb3dUeXBl
OworICAgICAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgICAgIGNhc2UgVVBTX05PUk1BTDoKKyAg
ICAgICAgICAgIEFTU0VSVChjbGFzc2ljU3RhdGUgPT0gREZDU19TQ1JPTExVUCk7CisgICAgICAg
ICAgICBjc3RhdGUgPSBXZWJUaGVtZUNvbnRyb2xEUlQ6Ok5vcm1hbFN0YXRlOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgVVBTX0RJU0FCTEVEOgorICAgICAgICAgICAgQVNTRVJU
KGNsYXNzaWNTdGF0ZSA9PSAoREZDU19TQ1JPTExVUCB8IERGQ1NfSU5BQ1RJVkUpKTsKKyAgICAg
ICAgICAgIGNzdGF0ZSA9IFdlYlRoZW1lQ29udHJvbERSVDo6RGlzYWJsZWRTdGF0ZTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFVQU19QUkVTU0VEOgorICAgICAgICAgICAgQVNT
RVJUKGNsYXNzaWNTdGF0ZSA9PSAoREZDU19TQ1JPTExVUCB8IERGQ1NfUFVTSEVEKSk7CisgICAg
ICAgICAgICBjc3RhdGUgPSBXZWJUaGVtZUNvbnRyb2xEUlQ6OlByZXNzZWRTdGF0ZTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFVQU19IT1Q6CisgICAgICAgICAgICBBU1NFUlQo
Y2xhc3NpY1N0YXRlID09IChERkNTX1NDUk9MTFVQIHwgREZDU19IT1QpKTsKKyAgICAgICAgICAg
IGNzdGF0ZSA9IFdlYlRoZW1lQ29udHJvbERSVDo6SG92ZXJTdGF0ZTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKHBhcnQgPT0gU1BOUF9ET1dOKSB7CisgICAgICAg
IGN0eXBlID0gV2ViVGhlbWVDb250cm9sRFJUOjpEb3duQXJyb3dUeXBlOworICAgICAgICBzd2l0
Y2ggKHN0YXRlKSB7CisgICAgICAgIGNhc2UgRE5TX05PUk1BTDoKKyAgICAgICAgICAgIEFTU0VS
VChjbGFzc2ljU3RhdGUgPT0gREZDU19TQ1JPTExET1dOKTsKKyAgICAgICAgICAgIGNzdGF0ZSA9
IFdlYlRoZW1lQ29udHJvbERSVDo6Tm9ybWFsU3RhdGU7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBETlNfRElTQUJMRUQ6CisgICAgICAgICAgICBBU1NFUlQoY2xhc3NpY1N0YXRl
ID09IChERkNTX1NDUk9MTERPV04gfCBERkNTX0lOQUNUSVZFKSk7CisgICAgICAgICAgICBjc3Rh
dGUgPSBXZWJUaGVtZUNvbnRyb2xEUlQ6OkRpc2FibGVkU3RhdGU7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBETlNfUFJFU1NFRDoKKyAgICAgICAgICAgIEFTU0VSVChjbGFzc2lj
U3RhdGUgPT0gKERGQ1NfU0NST0xMRE9XTiB8IERGQ1NfUFVTSEVEKSk7CisgICAgICAgICAgICBj
c3RhdGUgPSBXZWJUaGVtZUNvbnRyb2xEUlQ6OlByZXNzZWRTdGF0ZTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIEROU19IT1Q6CisgICAgICAgICAgICBBU1NFUlQoY2xhc3NpY1N0
YXRlID09IChERkNTX1NDUk9MTERPV04gfCBERkNTX0hPVCkpOworICAgICAgICAgICAgY3N0YXRl
ID0gV2ViVGhlbWVDb250cm9sRFJUOjpIb3ZlclN0YXRlOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgfQorICAgIH0gZWxzZQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBkcmF3
Q29udHJvbChjYW52YXMsIHJlY3QsIGN0eXBlLCBjc3RhdGUpOworfQorCiB2b2lkIFdlYlRoZW1l
RW5naW5lRFJUOjpwYWludFRleHRGaWVsZChXZWJDYW52YXMqIGNhbnZhcywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwYXJ0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0YXRlLApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKaW5kZXggODk4MDVi
MTczZTgwMjM1YTFjNzdlMGU0MWZkOTA2NTEyZTk1OTEyNC4uYzczMTU0MDU0MGZiZWExMGI1Yzkz
YjMxYzE5ZWIyMmI2MWIwNGIwYiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCkBAIC03NSw2ICs3NSwxMCBAQCBw
dWJsaWM6CiAgICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiwgaW50IHBhcnQsIGludCBzdGF0ZSwg
aW50IGNsYXNzaWNTdGF0ZSwKICAgICAgICAgY29uc3QgV2ViS2l0OjpXZWJSZWN0JiwgY29uc3Qg
V2ViS2l0OjpXZWJSZWN0JiBhbGlnblJlY3QpOwogCisgICAgdmlydHVhbCB2b2lkIHBhaW50U3Bp
bkJ1dHRvbigKKyAgICAgICAgV2ViS2l0OjpXZWJDYW52YXMqLCBpbnQgcGFydCwgaW50IHN0YXRl
LCBpbnQgY2xhc3NpY1N0YXRlLAorICAgICAgICBjb25zdCBXZWJLaXQ6OldlYlJlY3QmKTsKKwog
ICAgIHZpcnR1YWwgdm9pZCBwYWludFRleHRGaWVsZCgKICAgICAgICAgV2ViS2l0OjpXZWJDYW52
YXMqLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLAogICAgICAgICBjb25z
dCBXZWJLaXQ6OldlYlJlY3QmLCBXZWJLaXQ6OldlYkNvbG9yLCBib29sIGZpbGxDb250ZW50QXJl
YSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>